AQM Quota Allocation

Adaptive Quota Management (AQM) allocates the maximum quota to each flow considering the current quota consumption velocity by the flow against balances, the global quota consumption from all users and devices against balances, and the time the asset should be available for use. In addition to quota consumption velocity, AQM considers pricing when allocating quota.

A balance may be shared or unshared:
  • Unshared balance — An unshared balance is reserved by exactly one flow, and AQM attempts to grant quota so that a threshold is reached or crossed to within one beat of the threshold amount.
  • Shared balance — A shared balance is reserved by multiple flows. The behavior of one flow can affect the threshold accuracy of other flows. In this case, AQM tries to grant minimal quotas near each threshold so that, collectively, the flows cross the threshold at about the same time.

During AQM, if a balance is reserved by two or more flows, it is a shared balance. If all flows reauthorize in one message, the first flow appears to have a reserved amount of zero (0) and the balance is considered unshared.

MATRIXX Charging Application calculates the individual session per-balance velocity and the global per-balance velocity. These values affect the AQM algorithms and are recalculated anytime session activity reports usage or significantly affects the session. MATRIXX Charging Application measures balance velocity by sampling the gross amount associated with each reservation and computing the change in that value over time.
Note: Velocity cannot be calculated for a context if it does not have a reservation. This is true for other balances or meters in the wallet, and other periods in the same balance or meter. Each context sees only the change in amount between its own requests. For example, if context A is granted 60 seconds of quota and then context B is granted 30 seconds of quota, context B may come back in 30 seconds with context A not having used any quota, and therefore, the velocity appears lower than it is.
AQM monitors quota velocity (average used quantity over time) and balance velocity (the change in the gross balance over time). AQM tracks previous velocities and uses that information to determine a weighted moving average to lessen the impact of usage volatility. Note that velocity is not controlled by AQM, but rather by factors such as the following:
  • Type of content (such as video, audio, or text)
  • Radio Access Technology (such as 4G or 3G)
  • Connection strength (such as strong or weak)
  • QoS (such as throttled or unthrottled)
Important: When a balance or meter is used in the current period, when entering the next period in the same balance or meter, the balance velocity at the start of the next period is calculated to be about the same as the velocity at the end of the current period.

If a quota request is in one Credit-Control-Request (CCR) or multiple CCRs, AQM manages quota allocation with the same process. LTE uses a single request for multiple services. GPRS uses multiple requests.

When determining the quota amount and Quota Validity Time (QVT), AQM uses the highest minimum values of the balances to determine the lower limit and the lowest maximum values to determine the upper limit. If two balances are affected for a flow, the quota is allocated based on the lowest threshold of the two balances. For example, if Balance_A has a credit limit of 100 MB and Balance_B has a credit limit of 150 MB, the quota is allocated based on the Balance_A credit limit (100 MB).

Note: When usage is denied, the denial does not include the QVT and a RAR or Notify request due to expiration of QVT is not scheduled (one might be scheduled due to session inactivity). MATRIXX supports Diameter Credit Control Application (DCCA) graceful service termination. Final-Unit-Indication (FUI) with actions of REDIRECT or RESTRICT_ACCESS can include a validity time. Denial includes this as its QVT without regard to boundary times, and service is paused (not terminated) while user access is redirected or restricted. A RAR or Notify request might be scheduled when that validity time expires and might be sent sooner if triggered by actions such as a SubMan request, which might resume service if this addresses the denial.

Thresholds include credit limits and soft thresholds. If notifications are disabled for a threshold, that threshold does not affect AQM.