Usage Rating with Beats

A beat is a measurement unit on which you can apply usage rates. For example, charging $5.00 for every 5 megabytes used means you have a beat of 5 megabytes. The unit for the rating formula is the beat, and the quantity applied to the formula is the number of beats.

Understanding Beats

During rating, all rating formulas that impact the same balance instance are combined to form a single formula whose scale basis is quantity. If a combination of formulas with beats is applied, the largest beat is used. If the usage quantity does not equal the beat quantity, the usage quantity is rounded up to the next integral beat. For example, if a rate charges $0.10 for every 1KB and has a beat of 5KB, every 5KB a $0.50 charge is applied. If the total event quantity is 22KB, it is rounded up to the next integral beat amount, which is 25KB. The unused 3KB is forfeited.

Caching Unused Beat Usage

To implement beats, MATRIXX Charging Application caches the unused, rounded up, beat amount so it is still available to use if an additional request is received. For example, if a context uses 1KB and the beat is 10KB, 10KB is charged to the balance but 9KB is cached and available to use. When additional usage occurs, the 9KB is used before charging the balance. For example, if 3KB is then used, it is subtracted from the cache, which becomes 6KB. If 8KB is then used, the 6KB are subtracted from the cache, zeroing-out the amount, and the other 2KB of usage is charged to the balance as another 10KB beat. This results in a beat cache of 8KB. Because the beat cache is used and subtracted during later usage, the subscriber only notices the last one on the bill. For example, say a 12345678 Byte download was used, but the beat rounding of 10KB (10240 bytes) means that the subscriber sees 12350000 when the context is closed because the final cache of 4322 Bytes (50000-5678).

If a request for service cannot be authorized in full, any amount remaining in the beat cache might be added to the partial authorization. For example, if a network reports 9.5MB of usage, and the subscriber has one applicable offer that charges using a beat of 1MB against a single balance with 10MB available, 10MB is charged for only 9.5MB of usage. If the network then requests additional service, the subscriber is authorized to use the remaining 0.5MB of the 10MB that was charged.

Beat Groups

Services that use the Diameter Multiple Service Credit Control (MSCC) application can have beat groups defined for them. A beat group identifies two or more service contexts that can share the same beat cache amount during the same usage session. For example, say a beat group has two service contexts: A and B. If the beat is 5KB and context A has a total usage amount of 3KB, the 3KB is charged to the balance and 2KB is available for further usage by context A or by context B. When the beat cache is fully consumed, the cycle continues with each additional beat applied for usage during that session. After charging a full beat for usage by a service context, any unused part of that beat is applied toward later usage in the same service context or beat group. This includes usage after re-authorizations when reporting QHT and FINAL.

If a session includes interim messages from the Diameter Credit-Control application and a beat rounds up the usage quantity, the rounded quantity is charged for only the first time, and not recharged for any further interim and stop messages.

Partial Beat Rating

During rating, there are several situations in which a partial beat might be authorized or rated if partial-beat rating is enabled in the service type definition:
  • If the entire usage cannot be authorized or charged and the amount that can be charged or authorized is not an integral number of beats, the last beat is a partial beat. This can occur when there is not enough available balance to pay for the usage.
  • If an event segment boundary falls between beat boundaries, the beat is split and each part of the beat is rated with the segment to which it belongs. Usage is segmented when different rates are applied or different balances are impacted for different portions of the usage.

    If no existing balances are valid but the balance being used during usage was an on-demand periodic balance, a new on-demand entry is created to charge for the remaining beat amount. If it is not an on-demand periodic balance and there are no other valid balances, further usage is not authorized.

Applying and Disabling Beats

You can disable partial beat rounding for a service or service context, which might be required in some circumstances, such as when authorizing pre-rated amounts. For example, say a subscriber has a rate plan that charges $0.15 per SMS and a credit limit of $1. If there is an authorization request for 7 SMS, internally, the Charging Server authorizes 6.666 units to equal the $1 credit limit. If partial beat rounding is enabled, this amount is rounded up to 7, which is more than the subscriber can afford. If partial beat rounding is not enabled, it only authorizes 6.

You can also disable beats completely to support decentralized rating, where the rated quantity is predetermined by the Diameter client. In such cases, the Diameter CC-Money AVP has the rated amount. Because this quantity amount is predetermined, beats are not applied during rating.

The following rules are used during rating to determine how to apply beats when multiple rating formulas are applied.
  • If some rating formulas define beats and some do not, beats are used.
  • If multiple rating formulas define a beat, the largest beat of any of the formulas is used.
  • If no formulas applied have a beat, no beat rounding of the quantity is done.

You can also specify whether to use beats for rating formulas and rate tables when you create a product catalog. If a beat is applied to both a rating formula and a rate table, the rating formula beat is used. You can define beats, including the beat amount, measurement unit, and beat groups, and whether to allow partial-beat authorization and rating, or beatless rating as part of defining a service type.

For more information about defining beats for service types, enabling partial beat rounding, and disabling beats all together, see the discussion about defining a service type in My MATRIXX Help.

Parallel Rating Using Secondary Beats

You can implement a second, parallel usage rating using price components with secondary beats. For details, see the discussion about using secondary beats.