25 Configuring Dynamic Quota

Learn how to configure dynamic quota in Pricing Design Center (PDC) to allocate the available quota dynamically for each parallel session of a subscriber based on the rules you configure.

Topics in this document:

Configuring Dynamic Quota

Note:

You can use Dynamic Quota Configuration only in Oracle Communications Elastic Charging Engine (ECE).

Dynamic quota allows you to allocate the available quota dynamically for each parallel session of a subscriber based on the rules you configure. This enables the subscribers to run concurrent online charging sessions effortlessly. This also enables you to optimize the network usage effectively. For more information on dynamic quota, see "Managing Dynamic Quotas for Online Sessions" in ECE Implementing Charging.

You can define the rules for determining the dynamic quota allocation by configuring dynamic quota selectors in PDC. The rules can reference any of, or a combination of, the event, service, and customer attributes, and profile attribute specifications. You can configure the dynamic quota selector for each service and event combination.

ECE evaluates the rules defined in the dynamic quota selector at run time to derive the quota to be allocated for a session and the quota attributes, such as quota holding time (QHT), volume quota threshold (VQT), and quota validity time (VT). Dynamic quotas change in real time based on the dynamic quota selector rules as ECE grants and redistributes the quotas.

You configure dynamic quota selectors by importing the rules in XML files by using the ImportExportPricing utility. You can use the SampleDynamicQuotaSelector.xml file in the PDC_home/apps/Samples/Examples directory (where PDC_home is the directory in which the PDC software is installed) to create the XML files for configuring dynamic quota selectors. See "Configuring Dynamic Quota Selectors" for more information.

Table 25-1 lists the elements that are supported in the dynamic quota selector XML file, the usage of each element, and a description of how to specify each element in the XML file.

Table 25-1 Elements Supported in the Dynamic Quota Selector XML File

Element Syntax Description

dynamicQuotaSelectors

<dynamicQuotaSelectors>DynamicQuotaSelector</dynamicQuotaSelectors>

DynamicQuotaSelector specifies the root element of the DynamicQuotaSelector.xml file.

name

<name>DynamicQuotaConfiguration</name>

DynamicQuotaConfiguration specifies the dynamic quota selector name. For example, Generic Selector ABC.

description

<description>DynamicQuotaSelectorDescription</description> 

DynamicQuotaSelectorDescription specifies the description of the dynamic quota selector.

priceListName

<priceListName>PriceListName </priceListName> 

PriceListName specifies the price list name. The valid value is Default.

applicableToName

<applicableToName>ApplicableToName</applicableToName> 

ApplicableToName specifies the service name. The attributes of this service are used in the rules.

eventSpecName

<eventSpecName>EventName</eventSpecName>

EventName specifies the name of an event. The attributes of this event are used in the rules.

validityPeriod

<validFrom>Validfromdate</validFrom>

Validfromdate specifies the date from which the rule is valid. The valid format is YYYYMMDD.

Note: It is mandatory to mention the date from when the rule is valid. If no date is specified, the rule is valid from immediate effect.

applicableToAllChildEvent

<applicableToAllChildEvent>ChildEventsOption</applicableToAllChildEvent>

Specifies whether the dynamic quota selector is applicable to the child events, where ChildEventsOption is:

  • True if the dynamic quota selector applies to all the child events.

  • False if the dynamic quota selector applies to only the specific event type.

rule

<rule>
  <ruleName>RuleName</ruleName>
  <ruleOrder>RuleOrder</ruleOrder>
  <configuration>DyamicQuotaConfiguration</configuration>
  <requestedUnits>RequestedUnitsForAllocation</requestedUnits>
  <dynamicQuotaFieldToValueExpression>FieldToValueExpression</dynamicQuotaFieldToValueExpression>
  <dynamicQuotaComplexExpression>ComplexExpression</dynamicQuotaComplexExpression>
</rule>

Specifies the rules for allocating dynamic quotas, where:

  • RuleName specifies the rule name.

  • RuleOrder specifies the order in which the rules must be applied.

  • DyamicQuotaConfiguration contains the configurations for dynamic quotas.

  • RequestedUnitsForAllocation contains the requested units for allocating dynamic quotas.

  • FieldToValueExpression contains the attributes used for deriving the quota.

  • ComplexExpression contains the complex conditions for deriving the quota.

Note: You can add multiple rules in the dynamic quota selector.

Each rule in the dynamic quota selector can refer to a different attribute. For example, Rule 1 can use an event attribute, Rule 2 can use a balance expression, and Rule 3 can use a service attribute.

DyamicQuotaConfiguration

<configuration>
  <key>key</key>
  <value>value</value>
  <unit>unit</unit>
</configuration>

Specifies the quota attribute configurations, where:

  • key specifies the quota attribute. The valid values are:

    VOLUME_QUOTA_THRESHOLD. Specifies how long a granted quota can be idle before the reservation is released.

    QUOTA_HOLDING_TIME. Specifies how much of the granted quota must be consumed before a subscriber can request additional quota. This attribute is configured per service, event, and number of granted units.

    VALIDITY_TIME. Specifies whether validity time can be set to a fixed value per service-event combination at runtime. This attribute is independent of the number of units in the granted quota.

  • value specifies the quota attribute value.

  • unit specifies the unit for measurement. The valid values are:

    Seconds

    Minutes

    Hours

    Days

    Bytes

    Kbytes

    Mbytes

    Gbytes

    None

Note: You must add the DyamicQuotaConfiguration element for each valid quota attribute.

RequestedUnitsForAllocation

<requestedUnits>
  <fieldName>fieldname</fieldname>
  <unit>unit</unit>
  <dynamicQuotaBinaryExpression>dynamicQuotaBinaryExpression</dynamicQuotaBinaryExpression>
</requestedUnits>

<requestedUnits>
  <fieldName>fieldname</fieldname>
  <unit>unit</unit>
  <numberExpression>numberExpression</numberExpression>
</requestedUnits>

Specifies the details about the requested units, where:

  • fieldName specifies the fully qualified requested attribute field name. This is specified in the event specification. For example, EventDelayedSessionTelcoGsm.REQUESTED_UNITS.INPUT_VOLUME.

  • unit specifies the unit for measurement. The valid values are:

    Seconds

    Minutes

    Hours

    Days

    Bytes

    Kbytes

    Mbytes

    Gbytes

    None

  • dynamicQuotaBinaryExpression specifies the condition for deriving the quota.

  • numberExpression specifies a valid number; for example, 10.0.

dynamicQuotaBinaryExpression

<dynamicQuotaBinaryExpression>
 <leftOperand>
  <numberExpression>numberExpression</numberExpression>
  <balanceExpression>balanceExpression</balanceExpression>
 </leftOperand>

 <rightOperand>
  <balanceExpression>balanceExpression</balanceExpression>
  <numberExpression>numberExpression</numberExpression>
 </rightOperand>
 <dynamicQuotaBinaryOperator>Operator</dynamicQuotaBinaryOperator>
</dynamicQuotaBinaryExpression>

Specifies the condition for deriving the quota, where:

  • numberExpression specifies a valid number; for example, 10.0.

  • balanceExpression specifies the currency or noncurrency balance element defined in PDC.

  • Operator specifies the arithmetic operators. The valid values are:

    Add

    Subtract

    Multiply

    Divide

FieldToValueExpression

<dynamicQuotaFieldToValueExpression>
    <separator>Delimiter</separator>
    <operation>Operator</operation>
    <fieldName>FieldName</fieldName>
    <fieldKind>FieldKind</fieldKind>
    <fieldValue>FieldValue</fieldValue>
</dynamicQuotaFieldToValueExpression>

Specifies the attributes used for deriving the quota, where:

  • Delimiter specifies the character that is used to separate the field values.

    Note: This is applicable only when the operator is IN_LIST.

  • Operator specifies the operator to be used in the expression. The valid values are:

    EQUAL_TO

    NOT_EQUAL_TO

    GREATER_THAN

    GREATER_THAN_EQUAL

    LESS_THAN

    LESS_THAN_EQUAL

    IN_LIST

    CONTAINS

  • FieldName specifies the fully qualified field name. For example, EventSessionTelcoGsm.REQUESTED_UNITS.NUMBER_OF_UNITS.

  • FieldKind specifies the type of attributes. The valid values are:

    PRODUCT_SPEC_FIELD

    EVENT_SPEC_FIELD

    CUSTOMER_SPEC_FIELD

    PROFILE_SPEC_FIELD

  • FieldValue specifies the field value that is used to track the balance impacts.

Note: You can add multiple FieldToValueExpression elements in a rule to derive the quota based on a combination of attributes.

ComplexExpression

<dynamicQuotaComplexExpression>
   <operator>Operator</operator>
   <value>Value</value>
   <dynamicQuotaBinaryExpression>dynamicQuotaBinaryExpression</dynamicQuotaBinaryExpression>
</dynamicQuotaComplexExpression>

Specifies complex conditions for deriving the quota, where:

  • Operator specifies the operator to be used in the expression. The valid values are:

    EQUAL_TO

    NOT_EQUAL_TO

    GREATER_THAN

    GREATER_THAN_EQUAL

    LESS_THAN

    LESS_THAN_EQUAL

  • Value is a numeric value. For example, 0.004.

  • dynamicQuotaBinaryExpression specifies the condition for deriving the quota.

Configuring Dynamic Quota Selectors

To configure a dynamic quota selector:

  1. Make a copy of the PDC_home/apps/Samples/Examples/Sample_DynamicQuotaSelector.xml file to customize.

  2. Open the file in a text editor or XML editor.

  3. Add or modify the elements as required. See Table 25-1 for the usage and description of each element.

  4. Save and close the file.

    Note:

    You can save the file with a different name.

  5. Go to the directory where you have saved the file.

  6. Import the dynamic quota selector from the customized XML file into the PDC database by running the following command:

    ImportExportPricing -import -config FileOrDirectoryName

    where FileOrDirectoryName is the name of the customized XML file, such as Dynamic_QuotaSelector.xml. Alternatively, enter the path to the directory containing multiple XML files to import.

    The dynamic quota selector is imported into the PDC database and published to ECE.