The present invention relates to wireless communication networks and particularly relates to account-balance inquiries for wireless services.
Account-balance inquiries provide users of communication services, such as prepaid services, the ability to determine the amount of credit remaining in their accounts. While knowing the credit balance remaining in his or her account provides a user with some sense of whether or when to replenish the account, it is recognized herein that merely knowing the balance provides the user with little practical insight into the amount or extent of service usage available to the user, in view of the remaining balance.
Conventional balance inquiries by a prepaid customer or other communication-service subscriber do not return an available service amount. Rather, they return a monetary amount that does not consider service usage rules or tariff plans that control service ratings. This conventional approach makes it difficult for the user to assess the sufficiency of his or her remaining account balance. Embodiments of the present invention are directed to a method, and apparatus for determining available service amounts corresponding to remaining account credit, based on considering the applicable tariff plans.
According to one or more embodiments, a method of operation by a computer node associated with a communication service provider includes determining an available balance in a user account used to pay for a communication service provided by the communication service provider. The method also includes translating the available balance into an available service amount for the communication service, according to a tariff plan applicable for the communication service and a charging interval unit applicable for the communication service. The available service amount may include the number of whole charging interval units covered by the available balance of the user account. The method further includes transmitting balance information, for forwarding to a user device associated with the user account, indicating the available service amount. This method may be performed in response to receiving a balance inquiry for the user account.
In one or more other embodiments, a computer node includes communication circuitry and processing circuitry. The processing circuitry is configured to determine an available balance in a user account used to pay for a communication service provided by the communication service provider and translate the available balance into an available service amount for the communication service, according to a tariff plan applicable for the communication service and a charging interval unit applicable for the communication service. The processing circuitry is also configured to transmit balance information via the communication circuitry, for forwarding to a user device associated with the user account. The balance information indicates the available service amount.
In yet other embodiments, a computer node includes a determining module configured to determine an available balance in a user account used to pay for a communication service provided by a communication service provider and a translating module configured to translate the available balance into an available service amount for the communication service, according to a tariff plan applicable for the communication service and a charging interval unit applicable for the communication service. The computer node also includes a transmitting module configured to transmit balance information, for forwarding to a user device associated with the user account. The balance information indicates the available service amount.
Other embodiments may include a device, network node, apparatus or computer readable medium to carry out the methods described above.
Among the various advantages provided by the method and apparatus contemplated herein, an end user can know at a given point in time how many service units are currently available to the user, based on the available account balances. The end user, therefore, has an accurate view of the sufficiency of his or her account balance with respect to the amount of communication service or services covered by the balance, based on the applicable serving ratings.
Of course, the present invention is not limited to the above features and advantages. Indeed, those skilled in the art will recognize additional features and advantages upon reading the following detailed description, and upon viewing the accompanying drawings.
In the illustrated example embodiment, the computer node 10 includes communication circuitry 30 comprising transmitter circuitry 32 and receiver circuitry 34. In at least one embodiment, the transmitter circuitry 32 and the receiver circuitry 34 comprise interface circuits for a computer-data network, e.g., Ethernet-based interface circuitry. More broadly, the communication circuitry 30 comprises physical-layer interface circuitry supporting wired and/or wireless communications according to the applicable communication protocol(s).
The computer node 10 further includes processing circuitry 36 that is configured to determine an available balance in a user account 12 used to pay for a communication service provided by the communication service provider 20, translate the available balance into an available service amount for the communication service, according to a tariff plan applicable for the communication service and a charging interval unit applicable for the communication service, and transmit balance information via the communication circuitry 30, for forwarding to a user device 14 associated with the user account 12. Advantageously, the balance information indicates the available service amount. Correspondingly, the user device 14 displays such information to the user via an included display screen or otherwise makes such information available to the user of the user device 14.
In one or more embodiments, the processing circuitry 36 is configured to perform the determining, translating, and transmitting operations responsive to receiving, via the communication circuitry 30, a balance inquiry for the user account 12. For example, the user device 14 originates a balance inquiry, based on user input, causing the communication network 22 to send inquiry signaling towards the computer node 10. The balance inquiry received at the computer node 10 comprises, in one or more embodiments, a Representational State Transfer (REST) based request corresponding to an Unstructured Supplementary Service Data (USSD) based request originating from the user device 14.
In the same embodiment(s), or in one or more other embodiments, the processing circuitry 36 is configured to perform the determining, translating, and transmitting operations responsive to at least one of the available balance falling to a level corresponding to a minimum chargeable service usage, or a periodic trigger.
The processing circuitry 36 is configured to determine the available balance in the user account 12 by one of determining a monetary amount remaining in a prepaid account or determining a remaining monetary credit in an offline billing account. In either case, the processing circuitry 36 is configured to translate the available balance by determining, as the available service amount, the number of whole charging interval units covered by the available balance, based on rating each charging interval unit according to the tariff plan. In some embodiments, or in some cases, the processing circuitry 36 is configured to determine the available balance in the user account 12 by determining an aggregate available balance across two or more accounts chargeable for the use of the communication service by the user.
For example, the “communication service” may be two or more types of communication services chargeable against the user account. For such scenarios, the processing circuitry 36 is configured to translate the available balance by translating the available balance into a corresponding available service amount for each of the two or more types of communication services, according to a corresponding tariff plan and a corresponding charging interval unit for each of the two or more types of communication services. Correspondingly, the processing circuitry 36 is configured to transmit the balance information by transmitting, via the communication circuitry 30, the corresponding available service amounts for each of the two or more types of communication services.
Further, the processing circuitry 36 is configured to transmit balance information via the communication circuitry 30, for forwarding to the user device 14 associated with the user account 12. Advantageously, the balance information indicates the available service amount, for one or more communication services.
The processing circuitry 36 comprises, for example, one or more microprocessor-based circuits, Digital Signal Processors (DSPs), Field Programmable Gate Arrays (FPGAs), Application Specific Integrated Circuit(s) (ASICs), or other types of digital circuitry. In general, the processing circuitry 36 comprises fixed circuitry, programmatically-configured circuitry, or some combination of fixed circuitry and programmatically-configured circuitry. In at least one embodiment, the processing circuitry 36 comprises one or more microprocessors or other digital processors that are configured to implement at least some of the functionality described herein for the computer node 10, based on the execution of computer program instructions from a stored computer program. In that regard, to the extent that the processing circuitry 36 uses general-purpose processors, such processors are specially adapted, based on their execution of the stored computer program instructions.
For example, the processing circuitry 36 includes or is associated with storage 40, comprising one or more types of computer-readable media, such as volatile storage for working memory and program execution, and non-volatile storage for longer-term storage of computer program instructions and various configuration data or other operational information. In the example illustration, the storage 40 stores one or more computer programs 42, tariff information for rating one or more communication services, e.g., in terms of cost per interval of service consumption, related service charging information 46, and user account information/database 48, which, for example, holds monetary or other credit balance information for user accounts, which may be prepaid accounts and/or offline credit accounts. At least some such information may not be stored local to the computer node 10, and instead is accessible to the computer node 10 via the interface network/node 24 and/or the other nodes 26. Non-limiting examples of voltage storage include SRAM and DRAM, while examples of volatile storage include FLASH memory and disk storage.
In another aspect of the computer node 10, the node 10 comprises a number of functional processing units or modules, such as may be implemented via configuration of one or more digital processing circuits that embody the processing circuitry 36. In an example configuration, the computer node 10 includes a determining module 50 configured to determine an available balance in a user account 12 used to pay for a communication service provided by a communication service provider 20, and a translating module 52 configured to translate the available balance into an available service amount for the communication service, according to a tariff plan applicable for the communication service and a charging interval unit applicable for the communication service. Further, the computer node 10 includes a transmitting module 56, e.g., as part of a communication mode 54 that also includes a receiving module 58. The transmitting module 56 is configured to transmit balance information, for forwarding to a user device 14 associated with the user account 12. The balance information indicates the available service amount.
A message parser 80 operates on balance-inquiry messages incoming from the communication channel framework, providing parsed balance/inquiries to a rating and charging engine 84, which operates as an example of the computer node 10 introduced in
A USSD request 302 from the user device 14 may include a code allocated for a balance inquiry (e.g., *102#). The USSD request 302 is sent to an HLR/VLR 18, which processes the request and sends a corresponding USSD Request 304 to an SS7 GW 332. The SS7 GW 332 processes the USSD Request 304 and sends a corresponding USSD Request 306 to a USSD connector 334. The USSD connector 334, upon getting the USSD Request 306, sends a Representational State Transfer (REST) message 308 with the balance inquiry to the message parser 80, which is part of a message processing system that parses the message for the rating and charging engine 84. In this case, the message parser 80 understands the code to be for a balance inquiry, and hence calls the REST API implementation for the balance inquiry to send a REST balance inquiry 310 to the rating and charging engine 84, which, in processing 312, determines the available account balance(s) and determines the corresponding available service amount(s).
The rating and charging engine 84 sends such information towards the user device 14, via a REST Balance Response 314. Rather than containing, or merely containing, the account balance(s) of the user account(s) 12 that are associated with the user device 14, the REST Balance Response indicates the amount of service available, based on the account balance(s), for one or more communication services, e.g., for all of the communication services that can be paid for via the applicable user account(s). In any case, in the example signal flow, the message renderer 82 sends the balance response in a REST Response Message 316 to the USSD connector 334, which sends a USSD response 318 to the SS7 GW 332. The SS7 GW 332 sends a USSD response 320 to HLR/VLR 18, which provides a USSD response 322 back to the user device 14.
The signaling diagram of
Whether performed by the rating and charging engine 84, or by another embodiment of the computer node 10, the method 400 of
The method 400 includes determining an available balance in a user account 12 used to pay for a communication service provided by a communication service provider 20 (block 402). The method 400 also includes translating the available balance into an available service amount for the communication service, according to a tariff plan applicable for the communication service and a charging interval unit applicable for the communication service (block 404). The charging interval unit defines the usage increments by which usage of the communication service is metered and charged, e.g., minutes or other temporal units for voice services, and megabytes or other data-volume units for data-related services.
The method 400 further includes transmitting balance information, for forwarding to the user device 14 associated with the user account 12 (block 406). The balance information indicates the available service amount.
The determining, translating and transmitting operations may be responsive to receiving a balance inquiry for the user account 12. Receiving the balance inquiry may include receiving a REST-based request corresponding to USSD based request originating from the user device 14. Additionally, or alternatively, the determining, translating and transmitting operations are performed on a triggered basis, such as responsive to the available balance falling to a level corresponding to a minimum chargeable service usage. Other possible triggered bases include periodic triggering.
In some embodiments, determining the available balance in the user account 14 includes either determining a monetary amount remaining in a prepaid account or determining a remaining monetary credit in an offline billing account. That is, while the method and apparatus disclosed herein are advantageous for use with prepaid accounts, they are not limited to prepaid accounts. Regardless of the particular type of user account involved, translating the available balance may include determining, as the available service amount, the number of whole charging interval units covered by the available balance. Such a determination is based, for example, on rating each charging interval unit according to the applicable tariff plan. That is, the computer node 10 uses the tariff plan to determine the monetary or credit “cost” per charging interval unit for the communication service in question, and then determines the integer number of charging interval units covered by the available balance.
In some embodiments, or in some operational scenarios, the “communication service” is two or more communication services chargeable against the user account 12. That is, for a given user account 12, there may be more than one communication service chargeable against the account 12, and the computer node 10 may determine the available amount of service for each such communication service. Thus, translating the available balance may include translating the available balance into a corresponding available service amount for each of the two or more types of communication services, according to a corresponding tariff plan and a corresponding charging interval unit for each of the two or more types of communication services. Transmitting the balance information then includes transmitting the corresponding available service amounts for each of the two or more types of communication services.
The embodiments described herein may be used for balance inquiries for prepaid service for wireless devices. A balance inquiry may be tied to a prepaid SIM card, and there can be a dedicated number the user can call for a balance inquiry. The computer node 10 may compute the balance information when triggered by an inquiry from the user, or it may compute the balance information on a periodic basis or in response to configured thresholds. The computed balance information may be delivered via SMS.
The computed balance information depends on the applicable tariffs or other service “ratings”, which may vary based on location, business rules, ongoing promotions, time, day (weekend), roaming (home versus visited networks), or the called numbers or communication-session participants. The rate may also be fixed, but with prepaid phones, these factors may be more dynamic than when the user is part of a set plan for a dedicated network. In any case, the computer node 10 contains or has access to the applicable rating rules and applicable rating variables—e.g., current user location, time, network loading, promotions, etc. For example, in networks based on Third Generation Partnership Project (3GPP) specifications, the applicable protocols provide for supplying the computer node 10 with all applicable rating parameters.
In block 502, the computer node 10 selects the tariff plan applicable at time T to the involved communication service and it initializes a number of variables: Maximum_Allowed_Service_Units=0; Account_Balance=sum of all possible balances at time “T” that can be consumed by the involved communication service as per the rate plan configuration; and Balance_Depleted_Flag=0. Processing repeats while Account_Balance>=0 and Balance_Depleted_Flag=0 (decision block 504).
The computer node 10 determines the charging interval unit applicable to the service and determines the minimum number of charging interval units that can be rated, which may be one charging interval unit or may be more than one. The minimum number of charging interval units that can be rated is represented by Charging_Interval_Units.
The computer node 10 then determines the monetary or credit cost of Charging_Interval_Units, based on the rating rules and rating parameters applicable for the user device 14 at time T (Block 506). The computer node 10 compares the Computed_Price to the Account_Balance. If Account_Balance>Computed_Price (decision block 508), then Maximum_Allowed_Service_Units=Maximum_Allowed_Service_Units+Charging_Interval_Units. The computer node 10 correspondingly updates the Account_Balance to reflect the “consumption”. That is, the computer node 10 updates the Available_Balance as Available_Balance=Available_Balance−Computed Price (block 512). However, if the value of the Available_Balance is insufficient to cover the Computed_Price (no from Block 512), the computer node 10 sets the Balance_Depleted flag to 1 (Block 510), which causes processing to skip from Block 504 to Block 514. Block 514 involves the computer node 10 reporting the available service amount as the computed value of Maximum_Allowed_Service_Units. That value can be understood as the Charging_Interval_Units multiplied by the number of times that processing passes through Block 512. To the extent that the initial Account_Balance is insufficient to cover the “cost” the Charging_Interval_Units, the Maximum_Allowed_Service_Units will be zero.
A prepaid or other accounts system may maintain one or more account balances for a given subscriber/user, and provide for service consumption using more than one account balance, e.g., an aggregation of account balances. Example balances may include the main account balance, a promotional balance, fee unit balance, etc. If “B” denotes a balance, then multiple balances can be represented by “Bi” where i=1, 2, 3 . . . n.
A prepaid or offline billing system may offer multiple communication services, such as Voice, Data, and SMS. In general, if “S” denotes a service, then multiple services can be represented by “Si” where i=1, 2, 3 . . . m.
The various services Si, i=1, 2, 3 . . . m are provided to the user with a defined price. The price for consuming the service is called a rate plan, which can be regarded as tariff information. For service Si, the price may be calculated as per rate plan “RPi” where i=1, 2, 3 . . . m, then the service Si is charged by a rate plan RPi. That is, a Service “Si” charged by rate plan “RPi” can be paid for via one or more balances “Bi” where i=1, 2, 3 . . . n. The rate plan may define the charging interval unit used for metering the service in question and may define the minimum number of charging interval units that can be rated. If the user account balance(s) are not sufficient to cover the minimum ratable consumption for the involved communication service, then the amount of service available may be reported as zero.
For every rate plan, there may exist a configuration that indicates the minimum number of units that can be rated—the minimum number of charging interval units. Any charging request will be made to conform to the minimum chargeable amount. If there is a balance that is not sufficient, the price for a charging interval unit will be kept as is. If “CI” denotes a charging interval, then for rate plan “RPi” where i=1, 2, 3 . . . m, there will be a corresponding “Cli” where i=1, 2, 3 . . . m.
Considering all the above parameters, a prepaid charging structure can be defined as follows. A given service “Si”, subscribed with rate plan “RPi” with charging interval “CIi” where i=1, 2, 3 . . . m, can be charged from balances “Bj” where j is in {1, 2, 3 . . . n}. That is, the parameters {Si, RPi, CIi}, where “i is in {1, 2, 3, . . . m}”, can consume from {Bj} where j is in {1, 2, 3 . . . n}. For example, service S1 with rate plan RP1 having Charging Interval CI1 can consume from balance B1, or {S1, RPLCI1} can consume from {B1}. Service S2 with rate plan RP2 having Charging Interval CI2 can consume from balance B2, or {S2, RP2, CI2} can consume from {B2}. Service S3 with rate plan RP3 having Charging Interval CI3 can consume from balance B1, B2, B3, or {S3, RP3, CI3} can consume from {B1, B2, B3}
The algorithm 600 of
If Account_Balance>=Charge_For_This_CI (decision block 612), then Maximum_Allowed_Service_Units=Maximum_Allowed_Service_Unis+Number of Base Units in CI(i), and Account_Balance=Account_Balance−Charge_For_This_CI (block 616). Otherwise, Balance_Depleted=1 (block 614). The maximum allowed service units for service S(i)=Maximum_Allowed_Service_Units; (block 618). The i is then incremented (block 620).
The communication service S1 is chargeable to accounts 730 and 732, meaning that determining the available amount of service for service S1 considers both balances, e.g., the aggregate balance if both accounts are based on the same monetary or credit units. However, the service S2 is chargeable only to account 734, meaning that the available service amount for the service S2 considers only the balance B3. Similarly, the service S(M) is chargeable only to the account 736, meaning that the available service amount for the service S(M) considers only the balance B(M). Note that the rate plans RP1 through RP(M) may be parameterized for prevailing conditions or circumstances, such as time, network loading, roaming status of the user 702, location of the user 702, applicable business or vendor promotions, etc.
Notably, modifications and other embodiments of the disclosed invention(s) will come to mind to one skilled in the art having the benefit of the teachings presented in the foregoing descriptions and the associated drawings. Therefore, it is to be understood that the invention(s) is/are not to be limited to the specific embodiments disclosed and that modifications and other embodiments are intended to be included within the scope of this disclosure. Although specific terms may be employed herein, they are used in a generic and descriptive sense only and not for purposes of limitation.
Filing Document | Filing Date | Country | Kind |
---|---|---|---|
PCT/IN2018/050866 | 12/21/2018 | WO | 00 |