Balance Reservations and Session Management

After a subscriber has been authenticated, MATRIXX Charging Application retrieves all of the data required during rating and performs an authorization check before calculating rates. The authorization check determines the amount that is authorized for consumption. This amount is reserved during service usage to ensure that other sessions impacting the same balances do not consume more than is available.

Balance reservations secure the integrity of balances during rating. Before rating occurs, MATRIXX Charging Application calculates the charge for the requested usage amount. If the authorization check is valid, it reserves the amount from a subscriber's balance, creates the session, and sends the details back to the requesting network application so usage can occur.

Reservations can be made against multiple balances simultaneously, and reservations can be made against the same balance for multiple simultaneous events against that balance. To handle both situations, the amount reserved is made against a balance's unreserved amount. This guarantees the amount reserved is available and is not being consumed by other events currently in progress against that balance. For example, say a prepaid subscriber downloads a movie while browsing the Internet. This creates two different data sessions (billable events) for the subscriber against the same data balance: one for the Internet session and one for the download operation. To ensure enough megabytes are in the subscriber's prepaid balance to handle both sessions, an amount is reserved from the unreserved balance to authorize each session. When the Internet connection is made, the authorized amount of megabytes are reserved to secure the duration of the session. This guarantees that a sufficient balance amount to handle the authorized amount. Then, when the authorization request is received for the data download session, the unreserved balance is examined again and the download session is authorized if enough megabytes are in the balance to handle the authorized amount.

Figure 1 shows a prepaid megabytes balance that has 3 events in progress against it. Each event reserves an amount from the unreserved balance, which increases the volume of the reserved balance and decreases the available balance left for reservations. Note that the unreserved balance is the total balance amount available, taking credit limits into consideration.

Figure 1. Balance Reservations

The reserved balance amount is based on the calculated charge for the usage requested. If a subscriber uses the entire reserved balance before a transaction is complete and a re-authorization request is received from the network, MATRIXX Charging Application tries to re-authorize more of the available balance amount before allowing the usage to continue. If the request also contains a report of a used quantity, it is charged against the available balance before the re-authorization is made. When the session ends, the final charges are applied and the balance is replenished with any unused reservation amount.

Service providers can define a minimum amount that must be available for service usage to occur. In an authorization request, if the amount authorized is less than the minimum balance amount available, the usage is not authorized. A session is not created, and instead, a denial message is returned to the network so subscriber usage is disallowed. Similarly, if a balance amount is used completely or at a credit limit, further usage is not authorized. Reservations prevent a customer's balance from going above a set credit limit. All credit limits are monitored in real-time against subscriber balances. For an authorized session, MATRIXX Charging Application calculates rates in real-time throughout the session (for each message). The result of the request (success or fail) is sent to the Transaction Server so it can be logged for audit trail purposes. In a re-authorization request during a session, if the incremental new amount authorized is less than the minimum balance, an additional amount is not authorized.