Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
SYSTEMS AND METHODS FOR MOBILE SUBSCRIBER PROVISIONING AND RECOVERY
Document Type and Number:
WIPO Patent Application WO/2019/229650
Kind Code:
A1
Abstract:
A system and method for recovery of airtime or mobile bundle advances is provided. In a method, a loan status query request is received, the loan status query request having been transmitted in response to a billing gateway detecting a subscriber requesting to purchase a mobile bundle from a mobile bundle vendor in exchange for an amount of money. The request includes a subscriber identifier and a usage amount of a particular category of mobile telephone network utilisation associated with the mobile bundle. A loan status associated with the subscriber identifier is queried to ascertain whether an outstanding loan, having a loan value, is associated with the subscriber identifier. If one or more predefined conditions are met, including if the loan status indicates an outstanding loan, a mobile bundle value is determined based on the usage amount and is used to at least partially recover the outstanding loan.

Inventors:
HAIDAR BASSIM SAID (GB)
Application Number:
PCT/IB2019/054410
Publication Date:
December 05, 2019
Filing Date:
May 28, 2019
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CHANNEL TECH FZE (AE)
International Classes:
H04W4/24; H04L12/14; H04M15/00; H04W8/20; H04W88/18
Foreign References:
US6226364B12001-05-01
US6115601A2000-09-05
KR20130089941A2013-08-13
JP2001127918A2001-05-11
US20050119943A12005-06-02
Download PDF:
Claims:
CLAIMS:

1 . A computer-implemented method conducted by a server computer in a mobile telephone network including a billing gateway configured to maintain a subscriber account against which charges for a subscriber’s telephonic transactions are recorded and a category account against which a particular category of mobile telephone network utilisation is recorded, the method comprising:

receiving, from the billing gateway, a loan status query request, the loan status query request having been generated and transmitted in response to the billing gateway detecting a subscriber requesting to purchase a mobile bundle from a mobile bundle vendor in exchange for an amount of money, wherein a mobile bundle purchase from a mobile bundle vendor causes provisioning of a usage amount of the particular category of mobile telephone network utilisation associated with the mobile bundle to the category account and bypasses the subscriber account, wherein in response to the detection provisioning of the usage amount to the category account is suspended, and wherein the loan status query request includes a subscriber identifier and the usage amount;

querying a loan status associated with the subscriber identifier, the loan status indicating whether or not there is an outstanding loan associated with the subscriber identifier, wherein the outstanding loan is associated with a loan value; and,

if one or more predefined conditions are met, at least including if the loan status indicates an outstanding loan, determining a mobile bundle value based on the usage amount and using the mobile bundle value to at least partially recover the outstanding loan.

2. The method as claimed in claim 1 , wherein using the mobile bundle value to at least partially recover the outstanding loan is instead of provisioning the usage amount of the particular category of mobile telephone network utilisation.

3. The method as claimed in claim 1 , wherein determining the mobile bundle value includes converting the usage amount to the mobile bundle value, wherein the conversion is based on the amount of money exchanged for the mobile bundle.

4. The method as claimed in claim 1 , wherein querying the loan status includes querying a loan account associated with the subscriber identifier, and wherein the loan account having a non-zero balance indicates that there is an outstanding loan associated with the subscriber identifier.

5. The method as claimed in claim 4, wherein using the mobile bundle value to at least partially recover the outstanding loan includes crediting the loan account with an amount based on one or both of the mobile bundle value and loan value.

6. The method as claimed in claim 1 , including provisioning a secondary usage amount of the particular category of mobile telephone network utilisation.

7. The method as claimed in claim 6, wherein the quantity of the secondary usage amount is based on the difference between the mobile bundle value and the loan value.

8. The method as claimed in claim 6, wherein the quantity of the secondary usage amount is based on a credit limit associated with the subscriber identifier.

9. The method as claimed in claim 6, wherein the secondary usage amount is either the same as or less than the usage amount.

10. The method as claimed in claim 8, wherein if the credit limit is below a predetermined threshold, the secondary usage amount is not provisioned.

1 1 . The method as claimed in claim 6, wherein provisioning a secondary usage amount of the particular category of mobile telephone network utilisation includes crediting the category account with the secondary usage amount to enable the particular category of mobile telephone network utilisation for the subscriber.

12. The method as claimed in claim 1 , wherein the one or more predefined conditions include a notification status indicating that the subscriber has been notified that mobile bundle purchases can be used to recover outstanding loans.

13. The method as claimed in claim 12, wherein the method includes querying a notification status associated with the subscriber identifier, wherein the notification status indicates whether or not the subscriber associated with the subscriber identifier has been notified that mobile bundle purchases can be used to recover outstanding loans.

14. The method as claimed in claim 12, wherein if the notification status indicates that the subscriber has not been notified that mobile bundle purchases can be used to recover outstanding loans, the method includes:

transmitting a notification message to a mobile handset associated with the subscriber identifier which notifies the subscriber that mobile bundle purchases can be used to recover outstanding loans; and,

provisioning the usage amount of the particular category of mobile telephone network utilisation.

15. The method as claimed in claim 1 , wherein the method includes, if the loan status does not indicate an outstanding loan, provisioning the usage amount of the particular category of mobile telephone network utilisation.

16. A system including a server computer in a mobile telephone network including a billing gateway configured to maintain a subscriber account against which charges for a subscriber’s telephonic transactions are recorded and a category account against which a particular category of mobile telephone network utilisation is recorded, the server computer comprising:

a memory for storing computer-readable program code and a processor for executing the computer-readable program code;

a loan status query request receiving component for receiving, from the billing gateway, a loan status query request, the loan status query request having been generated and transmitted in response to the billing gateway detecting a subscriber requesting to purchase a mobile bundle from a mobile bundle vendor in exchange for an amount of money, wherein a mobile bundle purchase from a mobile bundle vendor causes provisioning of a usage amount of the particular category of mobile telephone network utilisation associated with the mobile bundle to the category account and bypasses the subscriber account, wherein in response to the detection provisioning of the usage amount to the category account is suspended, and wherein the loan status query request includes a subscriber identifier and the usage amount;

a loan status querying component for querying a loan status associated with the subscriber identifier, the loan status indicating whether or not there is an outstanding loan associated with the subscriber identifier, wherein the outstanding loan is associated with a loan value; and, a loan recovery component for, if one or more predefined conditions are met, at least including if the loan status indicates an outstanding loan, determining a mobile bundle value based on the usage amount and using the mobile bundle value to at least partially recover the outstanding loan.

17. A computer program product comprising a computer-readable medium having stored computer-readable program code for performing, at a server computer in a mobile telephone network including a billing gateway configured to maintain a subscriber account against which charges for a subscriber’s telephonic transactions are recorded and a category account against which a particular category of mobile telephone network utilisation is recorded, the steps of: receiving, from the billing gateway, a loan status query request, the loan status query request having been generated and transmitted in response to the billing gateway detecting a subscriber requesting to purchase a mobile bundle from a mobile bundle vendor in exchange for an amount of money, wherein a mobile bundle purchase from a mobile bundle vendor causes provisioning of a usage amount of the particular category of mobile telephone network utilisation associated with the mobile bundle to the category account and bypasses the subscriber account, wherein in response to the detection provisioning of the usage amount to the category account is suspended, and wherein the loan status query request includes a subscriber identifier and the usage amount;

querying a loan status associated with the subscriber identifier, the loan status indicating whether or not there is an outstanding loan associated with the subscriber identifier, wherein the outstanding loan is associated with a loan value; and,

if one or more predefined conditions are met, at least including if the loan status indicates an outstanding loan, determining a mobile bundle value based on the usage amount and using the mobile bundle value to at least partially recover the outstanding loan.

Description:
SYSTEMS AND METHODS FOR MOBILE SUBSCRIBER PROVISIONING AND RECOVERY

CROSS-REFERENCE TO RELATED APPLICATIONS

This application claims priority from South African patent application number 2018/03572 filed on 30 May 2018, which is incorporated by reference herein.

FIELD OF THE INVENTION

This invention relates to systems and methods for mobile subscriber provisioning. In particular, although not exclusively, the invention relates to the recovery of airtime or mobile bundle advances provided to mobile subscribers.

BACKGROUND TO THE INVENTION

A“prepaid mobile subscriber”, or simply“subscriber”, may be any user of a prepaid mobile communication service hosted on a mobile telephone network. The prepaid mobile subscriber may have a communication device with which the prepaid mobile subscriber may be able to conduct telephonic transactions such as making phone calls, sending short messaging service (SMS) messages, using mobile data and the like. The conducting of transactions over a mobile telephone network incurs charges for the subscriber. These charges may be recorded against an account associated with the subscriber. Typically, on prepaid accounts, the prepaid services require the balance of the subscriber’s account to be positive for the subscriber to be able to conduct telephonic transactions. The positive balance of a prepaid subscriber’s account is typically colloquially referred to as“airtime” against which transactions are recorded.

In some cases, subscribers may choose to purchase so-called“mobile bundles” such as SMS, data or voice minute bundles. Subscribers can purchase such bundles using their airtime. Each mobile bundle is associated with a particular category of mobile telephone network utilisation, such as sending SMS messages, sending and receiving data packets or making telephone calls. Mobile bundles are typically associated with a usage amount or limit, such as 30 SMS messages, 500 MB of data or 100 voice minutes and utilisation of the mobile telephone network in a particular category may be recorded against (or deducted from) the relevant mobile bundle usage amount, as opposed to being deducted from the subscriber’s account. Typically, once a mobile bundle’s usage limit has been reached, further utilisation of the mobile telephone network within that category will be deducted from the subscriber’s positive account balance (i.e. from the subscriber’s airtime). Once the balance of the subscriber’s account approaches or reaches zero, the subscriber may be barred from conducting further telephonic transactions.

Should the subscriber wish to conduct further telephonic transactions once his or her airtime has been depleted, the subscriber may have to perform an“airtime top-up” so as to increase the balance of the subscriber’s account. Similarly, once a mobile bundle has been depleted, the subscriber may need to purchase another mobile bundle. An airtime top-up may be performed by, for example, purchasing vouchers or tokens which can be exchanged for an amount of airtime. Mobile bundles may be subsequently purchased using the airtime.

In practice there can be cases where, for a variety of reasons, a subscriber is unable to purchase vouchers or tokens to top-up the balance of the subscriber’s account or to purchase further mobile bundles after depletion. In some cases,“out of bundle” utilisation of the mobile telephone network in a particular category (i.e. sending SMS messages after depletion of an SMS bundle) may incur much higher costs than“in bundle” utilisation. This may lead to unsuspecting subscribers having their airtime depleted rapidly as they continue to utilise the mobile telephone network in categories for which associated mobile bundles have been depleted.

This may leave subscribers without means to conduct further telephonic transactions until they are able to purchase airtime vouchers or tokens.

There exist systems and methods in which an account associated with a subscriber who is eligible for an airtime advance is credited with a amount of airtime advance to enable use of the mobile telephone network in advance of payment.

However, technical difficulties associated with the recovery of such airtime advances remain. For example, increasingly subscribers are being provided with mechanisms by way of which they may directly purchase bundles using money, as opposed to airtime. This functionality may be provided by so-called special tariff vouchers (STVs) which may be associated with a usage amount of a particular category of mobile telephone network utilisation and which can be purchased by subscribers using money, typically from a mobile bundle vendor platform, such as an internet banking portal, or the like. Such vouchers have the effect of allowing subscribers to directly purchase a specific bundle, bypassing the subscriber’s account. This bypassing of the subscriber account can make recovery of airtime advances difficult, if not impossible.

There is accordingly scope for improvement.

The preceding discussion of the background to the invention is intended only to facilitate an understanding of the present invention. It should be appreciated that the discussion is not an acknowledgment or admission that any of the material referred to was part of the common general knowledge in the art as at the priority date of the application.

SUMMARY OF THE INVENTION

In accordance with an aspect of the present invention there is provided a computer-implemented method conducted by a server computer in a mobile telephone network including a billing gateway configured to maintain a subscriber account against which charges for a subscriber’s telephonic transactions are recorded and a category account against which a particular category of mobile telephone network utilisation is recorded, the method comprising: receiving, from the billing gateway, a loan status query request, the loan status query request having been generated and transmitted in response to the billing gateway detecting a subscriber requesting to purchase a mobile bundle from a mobile bundle vendor in exchange for an amount of money, wherein a mobile bundle purchase from a mobile bundle vendor causes provisioning of a usage amount of the particular category of mobile telephone network utilisation associated with the mobile bundle to the category account and bypasses the subscriber account, wherein in response to the detection provisioning of the usage amount to the category account is suspended, and wherein the loan status query request includes a subscriber identifier and the usage amount; querying a loan status associated with the subscriber identifier, the loan status indicating whether or not there is an outstanding loan associated with the subscriber identifier, wherein the outstanding loan is associated with a loan value; and, if one or more predefined conditions are met, at least including if the loan status indicates an outstanding loan, determining a mobile bundle value based on the usage amount and using the mobile bundle value to at least partially recover the outstanding loan.

Further features provide for using the mobile bundle value to at least partially recover the outstanding loan to be instead of provisioning the usage amount of the particular category of mobile telephone network utilisation; for determining the mobile bundle value to include converting the usage amount to the mobile bundle value, and for the conversion to be based on the amount of money exchanged for the mobile bundle.

Still further features provide for querying the loan status to include querying a loan account associated with the subscriber identifier, and for the loan account having a non-zero balance to indicate that there is an outstanding loan associated with the subscriber identifier; and for using the mobile bundle value to at least partially recover the outstanding loan to include crediting the loan account with an amount based on one or both of the mobile bundle value and loan value.

Yet further features provide for the method to include provisioning a secondary usage amount of the particular category of mobile telephone network utilisation; for the quantity of the secondary usage amount to be based on the difference between the mobile bundle value and the loan value; for the quantity of the secondary usage amount to be based on a credit limit associated with the subscriber identifier; for the secondary usage amount to be either the same as or less than the usage amount; for, if the credit limit is below a predetermined threshold, the secondary usage amount is not to be provisioned; and for provisioning a secondary usage amount of the particular category of mobile telephone network utilisation to include crediting the category account with the secondary usage amount to enable the particular category of mobile telephone network utilisation for the subscriber.

Further features provide for the one or more predefined conditions to include a notification status indicating that the subscriber has been notified that mobile bundle purchases can be used to recover outstanding loans; for the method to include querying a notification status associated with the subscriber identifier, for the notification status to indicate whether or not the subscriber associated with the subscriber identifier has been notified that mobile bundle purchases can be used to recover outstanding loans; and for, if the notification status indicates that the subscriber has not been notified that mobile bundle purchases can be used to recover outstanding loans, the method to include: transmitting a notification message to a mobile handset associated with the subscriber identifier which notifies the subscriber that mobile bundle purchases can be used to recover outstanding loans; and, provisioning the usage amount of the particular category of mobile telephone network utilisation.

A still further feature provides for the method to include, if the loan status does not indicate an outstanding loan, provisioning the usage amount of the particular category of mobile telephone network utilisation. Further features provide for the mobile bundle value to be expressed in the same unit of value as the loan value; for the money, mobile bundle value and loan value to be expressed in the same unit of value; and for the unit of value to be a local currency.

In accordance with a further aspect of the present invention there is provided a system including a server computer in a mobile telephone network including a billing gateway configured to maintain a subscriber account against which charges for a subscriber’s telephonic transactions are recorded and a category account against which a particular category of mobile telephone network utilisation is recorded, the server computer comprising: a memory for storing computer- readable program code and a processor for executing the computer-readable program code; a loan status query request receiving component for receiving, from the billing gateway, a loan status query request, the loan status query request having been generated and transmitted in response to the billing gateway detecting a subscriber requesting to purchase a mobile bundle from a mobile bundle vendor in exchange for an amount of money, wherein a mobile bundle purchase from a mobile bundle vendor causes provisioning of a usage amount of the particular category of mobile telephone network utilisation associated with the mobile bundle to the category account and bypasses the subscriber account, wherein in response to the detection provisioning of the usage amount to the category account is suspended, and wherein the loan status query request includes a subscriber identifier and the usage amount; a loan status querying component for querying a loan status associated with the subscriber identifier, the loan status indicating whether or not there is an outstanding loan associated with the subscriber identifier, wherein the outstanding loan is associated with a loan value; and, a loan recovery component for, if one or more predefined conditions are met, at least including if the loan status indicates an outstanding loan, determining a mobile bundle value based on the usage amount and using the mobile bundle value to at least partially recover the outstanding loan.

In accordance with a further aspect of the present invention there is provided a computer program product comprising a computer-readable medium having stored computer-readable program code for performing, at a server computer in a mobile telephone network including a billing gateway configured to maintain a subscriber account against which charges for a subscriber’s telephonic transactions are recorded and a category account against which a particular category of mobile telephone network utilisation is recorded, the steps of: receiving, from the billing gateway, a loan status query request, the loan status query request having been generated and transmitted in response to the billing gateway detecting a subscriber requesting to purchase a mobile bundle from a mobile bundle vendor in exchange for an amount of money, wherein a mobile bundle purchase from a mobile bundle vendor causes provisioning of a usage amount of the particular category of mobile telephone network utilisation associated with the mobile bundle to the category account and bypasses the subscriber account, wherein in response to the detection provisioning of the usage amount to the category account is suspended, and wherein the loan status query request includes a subscriber identifier and the usage amount; querying a loan status associated with the subscriber identifier, the loan status indicating whether or not there is an outstanding loan associated with the subscriber identifier, wherein the outstanding loan is associated with a loan value; and, if one or more predefined conditions are met, at least including if the loan status indicates an outstanding loan, determining a mobile bundle value based on the usage amount and using the mobile bundle value to at least partially recover the outstanding loan.

Further features provide for the computer-readable medium to be a non-transitory computer- readable medium and for the computer-readable program code to be executable by a processing circuit.

Embodiments of the invention will now be described, by way of example only, with reference to the accompanying drawings.

BRIEF DESCRIPTION OF THE DRAWINGS

In the drawings:

Figure 1 is a schematic diagram which illustrates an exemplary system for mobile subscriber provisioning;

Figure 2 is a flow diagram which illustrates an exemplary method for mobile subscriber provisioning;

Figure 3 is a flow diagram which illustrates an exemplary method for the recovery of airtime or mobile bundle advances provided to mobile subscribers according to aspects of the present disclosure;

Figure 4 is a block diagram which illustrates exemplary components which may be provided by a system for the recovery of airtime or mobile bundle advances provided to mobile subscribers according to aspects of the present disclosure; and,

Figure 5 illustrates an example of a computing device in which various aspects of the disclosure may be implemented.

DETAILED DESCRIPTION WITH REFERENCE TO THE DRAWINGS

Aspects of the present application relate to an airtime and mobile bundle advance service platform (ASP). The ASP may provide a value added service, which may be termed an“airtime and mobile bundle advance service” (AS), to eligible prepaid subscribers of a mobile telephone network. The ASP may be configured to provision an amount of airtime (termed“an amount of airtime advance”) and/or mobile bundles to a subscriber in advance of payment (i.e. on credit). Aspects of the present disclosure may enable recovery of such loans by converting mobile bundle purchases made by subscribers with outstanding loans into airtime, money or other subscriber account value which can be applied against the outstanding loan amount.

Several mobile network operators offer a special tariff voucher (STV) facility, whereby the subscribers can directly purchase mobile bundles or services (such as data bundles, SMS bundles, voice minutes bundles, etc.) without topping up with airtime. As a result, open or pending loans cannot be recovered since there is no money available in the account. This loophole can be exploited by subscribers and may eventually lead to higher loan default rates.

Aspects of the present disclosure provide a solution which addresses the loan recovery risks associated with STV usage by the end-user, while keeping the customer experience uninterrupted. Aspects of the present disclosure enable mobile bundles (or other allowances) purchased via STV to be converted into a money equivalent, which is then topped-up in the subscriber account, triggering the loan recovery instances. Based on the credit limit after recovery, the subscriber may be offered a bundle completion solution (which could be the same STV product that they had initially requested).

Figure 1 is a schematic diagram which illustrates an exemplary system (100) for mobile subscriber provisioning. The system may include a server computer (102) which may interface with a mobile operator platform (104) providing a mobile telephone network (106). The mobile operator platform (104) may be provided by a mobile network operator (108) and may include a communication gateway (1 10) via which communication with mobile handsets (1 12) of subscribers on the network (106) may be enabled. The mobile operator platform (104) may also include a billing gateway (1 14) which may be configured to maintain subscriber accounts against which charges for the subscribers’ telephonic transactions may be recorded. The billing gateway may include a top-up system and an Integrated Network (IN).

In particular, each subscriber may be associated with a subscriber identifier and a subscriber account. The subscriber account may include one or more sub-accounts. For example, the subscriber account may include one or more of the group of: a main account, a dedicated account, a loan account (which may also be termed a tracking account), a fee account and one or more category accounts. The main account, dedicated account, and one or more category accounts may each be capable of having a positive balance against which charges for telephonic transactions are recorded (e.g. by way of a debit). The loan account and fee accounts may have negative balances which indicate outstanding loans and outstanding fees respectively. Generally, a non-zero balance in respect of the loan account or fee account may indicate an outstanding loan.

The main account, dedicated account, fee account and loan account may all make use of the same unit of value, which in some implementations may be expressed in terms of local currency. For example, a balance in any one of these accounts, which may be termed the value of the respective account may be denominated in terms of the unit of value of a local currency, such as ZAR, USD, etc.

The balance of the main account may be increased by subscribers purchasing tokens in exchange for money. The tokens may be associated with a value which corresponds to the amount by which the main account will be increased upon the subscriber redeeming the token. Main account value may be referred to as airtime, and increasing the amount of main account value may be referred to as an airtime recharge or top-up.

Value may be transferred between any one of the main account, dedicated account, fee account and loan account by way of debit or credit operations between.

Each of the one or more category accounts may be associated with a particular category of mobile telephone network utilisation and a positive balance of each of these accounts may be reflected as a usage amount in respect of the associated category of utilisation. A conversion from the particular usage amount to the subscriber account value or vice versa may be required to transfer value between a category account and one of the main account, dedicated account, fee account or loan account.

The system may include one or more mobile bundle vendor platforms (1 16) via which subscribers can purchase mobile bundles in exchange for an amount of money. Each mobile bundle may be associated with a category of mobile telephone network utilisation and a usage amount in respect of that category of utilisation. Purchasing a mobile bundle may cause a category account associated with the category of mobile telephone network utilisation of the mobile bundle to increase by the usage amount to allow the subscriber to use the mobile telephone network for that particular category of utilisation in accordance with the usage amount.

The server computer (102) may be any appropriate computing device configured to perform a server role. The server computer (102) may interface with the mobile operator platform (104) to enable communication between the server computer and various components of the mobile operator platform. The server computer (102) may host an airtime and mobile bundle advance service platform, which in turn may provide the airtime and mobile bundle advance service to eligible subscribers. The airtime and mobile bundle advance service may enable the provisioning of airtime and/or mobile bundles to eligible subscribers in advance of payment (i.e. on credit). On accepting or making use of such an advance, the server computer (102) may update a loan status associated with the subscriber to indicate the existence of an outstanding loan. The status may prevail until the full value of the advance, as well as a fee, has been recovered from the subscriber. The subscriber may be required to repay the value associated with the advance and, in some cases, the fee as well. This may be done by way of an airtime top-up or recharge or through the purchase of mobile bundles.

The server computer (102) may be maintained or operated by a third party service provider or by the mobile network operator (108).

The system (100) described above may implement a method for mobile subscriber provisioning. The system (100) may in particular implement a method for the provisioning of airtime and/or mobile bundle advances to eligible subscribers and the subsequent recovery of such advances (or values associated with such advances) from the subscribers in question. An exemplary method for mobile subscriber provisioning is illustrated in the flow diagram of Figure 2. The method may be conducted by a server computer (102) which interfaces with a mobile operator platform (104).

The method may include receiving (202) an eligibility check request. The eligibility check request may be received from a billing gateway (1 14) of the mobile operator platform (104). The eligibility check request may request the server computer (102) to evaluate the eligibility of a subscriber to be provided with a mobile bundle or airtime advance.

It is anticipated that there are a plurality of triggers that could cause the billing gateway to generate and transmit the eligibility request. The eligibility check request may include a subscriber identifier which uniquely identifies the subscriber with which the request is associated. The eligibility check request may also include details of the trigger (e.g. subscriber account balance, details of the mobile bundle requested, details of the amount of airtime or usage amount that is to be advanced and the like).

A first exemplary trigger may be termed a“bundle completion trigger”. The trigger may include the billing gateway (1 14) receiving a bundle purchase request from a mobile handset (1 12) of a subscriber or as a consequence of an automated bundle renewal event. The mobile bundle request may be associated with a value, such as an amount of airtime (e.g. ZAR50), and may request the conversion of a corresponding amount of subscriber value associated with a subscriber account into a usage amount (e.g. 500 MB) associated with a particular category of mobile telephone network utilisation (e.g. the exchange of data messages for internet browsing, etc.) with which the mobile bundle (in this example being a data bundle) is associated. In simpler terms, the mobile bundle request may request the purchase of a 500 MB data bundle, which costs R50.

In response to receiving the mobile bundle request, the billing gateway (1 14) may determine that the balance of the subscriber account is insufficient for the purchase of the bundle. In other words, the subscriber account value with which the mobile bundle is associated may be greater than the balance of the subscriber account (the subscriber has insufficient airtime).

In response to determining that the balance of the subscriber account is insufficient for the purchase of the bundle, the billing gateway (1 14) may generate and transmit an eligibility check request message to the server computer (102) to determine whether or not the subscriber associated with the mobile handset (1 12) is eligible for the provisioning of the particular mobile bundle in advance of payment.

A second exemplary trigger may be termed a“low balance trigger”. The trigger may include the billing gateway (1 14) determining that the balance of the subscriber account has dropped below a predetermined threshold. In other words, the billing gateway (1 14) may determine that the subscriber’s airtime balance is running low and that the subscriber may soon be unable to utilise the mobile telephone network (106). In response to determining that the balance of the subscriber account has dropped below a predetermined threshold, the billing gateway (1 14) may generate and transmit an eligibility check request message to the server computer (102) to determine whether or not the subscriber associated with the mobile handset (1 12) is eligible for the provisioning of airtime in advance of payment.

A third exemplary trigger may be termed a“zero data trigger”. The trigger may include the billing gateway (1 14) determining that the usage amount balance of data account associated with the subscriber has dropped below a predetermined threshold or been depleted. In response to determining that the usage amount balance of the data account associated with the subscriber has dropped below a predetermined threshold or been depleted, the billing gateway (1 14) may generate and transmit an eligibility check request message to the server computer (102) to determine whether or not the subscriber associated with the mobile handset (1 12) is eligible for the provisioning of a data usage amount in advance of payment. Similar triggers may be provided for other categories of network utilisation (e.g. SMS, voice calls, etc.). The eligibility check request message may be included in a failed data trigger message transmitted from the billing gateway (1 14) to the server computer (102).

Returning to the method at the server computer (102), the method may include querying (204) a credit limit associated with the subscriber identifier. The credit limit, which may be termed a total credit limit (TCL), may be determined and evaluated from time to time by a risk component of the airtime and mobile bundle advance service platform.

The method may include evaluating (206) the eligibility of the subscriber for the airtime or mobile bundle advance, as the case may be. The evaluation may be based on one or more of the trigger details included in the eligibility check request, the credit limit associated with the subscriber identifier, the subscriber’s main account status and the available balance in the subscriber’s main account. Evaluating (206) the eligibility may include determining (208) one or more amounts of airtime or usage amounts of a particular category of network utilisation, as the case may be, in respect of which the subscriber is eligible for in advance of payment.

If the subscriber is not eligible for an advance, the subscriber may be notified accordingly and the method may terminate (21 1 ).

If (210), the subscriber is eligible for the airtime or mobile bundle advance, the method may include generating and transmitting (212) an airtime or mobile bundle advance notification message to the mobile handset (1 12) of the subscriber. Transmitting the message may include establishing an unstructured supplementary service data (USSD) session with the mobile handset (1 12). The USSD session may be established via a communication gateway (1 10) of the mobile operator platform. The message may include the one or more amounts of airtime or usage amounts of a particular category of network utilisation, as the case may be, and may prompt the subscriber for his or her selection of one of these amounts. For example, the subscriber may be offered ZAR 10, ZAR 20 or ZAR 30 in advance of payment and may be able to select from one of these. In the case of a USSD message, the subscriber may be able to respond by entering a character associated with the selected amount. In some cases, the message may be transmitted in one or more data packets. For example, in the case of a zero data trigger, the subscriber may be redirected to a website, or out-of-data landing page which displays the message and via which the subscriber can input an advance amount selection. The out of data landing page is described in greater detail below.

The method may include monitoring (214) the USSD session for a timeout. A timeout may occur if a response to the notification message is not received within a predefined time period. If (216) a timeout occurs, the method may include transmitting (218) the notification message via another communication channel. For example the notification message may be transmitted to the mobile handset (1 12) as a SMS message, data message, interactive voice response (IVR) communication or the like.

The method may include receiving (219) an advance amount selection message from the mobile handset (1 12). The message may include the subscriber’s selection of the amount of airtime or mobile bundle usage amount, as the case may be, and may be received via the USSD session or via another communication channel. If the subscriber declines to accept an advance, the method may terminate.

The method may include provisioning (220) the airtime or mobile bundle advance, as the case may be, in accordance with the subscriber’s amount selection. Provisioning (220) the airtime or mobile bundle advance may include using or instructing the billing gateway (1 14) to provision the advance. Provisioning the advance may have the effect of allowing the subscriber to transact on the mobile telephone network (106) further. If a mobile bundle was advanced, the further transactions may be limited to the particular category of mobile telephone network utilisation with which the mobile bundle is associated and may be limited by the usage amount which was advanced to the subscriber in respect of the particular category of utilisation.

Provisioning (220) the airtime or mobile bundle advance may include receiving (222) confirmation of the provision of the advance from the billing gateway (1 14) and transmitting (224) an advance confirmation message to the mobile handset (1 12) which confirms provision of the advance. The message may be sent via any appropriate communication channel.

Provisioning (220) the airtime or mobile bundle advance may include recording the value of the advance against a loan account associated with the subscriber identifier or otherwise indicating that there is an outstanding loan associated therewith. In some implementations, a fee may be levied for providing the advance and provisioning the advance may include recording a fee amount against a fee account associated with the subscriber identifier. The loan amount and fee amount are amounts which the subscriber owes to the service provider and/or mobile network operator and are required to be paid back by the subscriber. The outstanding amounts can be paid back by the subscriber conducting an airtime recharge or top-up, with the amount associated with the recharge or top up being allocated towards recovery of the loan.

It may however be the case that subscribers avoid repaying loans by not recharging or topping up with airtime. Aspects of the present disclosure are directed towards the recovery of outstanding loan amounts through the conversion of so-called special tariff vouchers, typically used for the purchase of mobile bundles directly from mobile bundle vendors in exchange for money (as opposed to, for example, the exchange of airtime), into airtime to be applied towards the recovery of the outstanding loan amounts.

Figure 3 is a flow diagram which illustrates an exemplary method for the recovery of airtime or mobile bundle advances provided to mobile subscribers according to aspects of the present disclosure. The method may be conducted at the server computer (102).

The method may commence as a subscriber purchases a mobile bundle from a mobile bundle vendor platform (1 16) in exchange for money. The purchasing of mobile bundles for money should be distinguished from the purchasing of mobile bundles using airtime. But for the disclosure herein, the former may allow a subscriber to continue to transact on a mobile telephone network (106) without ever paying back an outstanding loan. This is because the subscriber purchases the mobile bundle from the mobile bundle vendor who then causes a category account associated with the particular category of mobile telephone network utilisation with which the mobile bundle is associated to be increased in accordance with the usage amount of the mobile bundle. In other words, the category account may be credited by completely bypassing the other accounts (such as the main account, dedicated account, loan account, fee account, etc.).

The method may include receiving (302) a loan status query request. The loan status query request may have been generated and transmitted to the server computer (102) in response to a subscriber requesting to purchase a mobile bundle from a mobile bundle vendor platform (1 16) in exchange for an amount of money. The loan status query request may be received from the billing gateway (1 14), which in turn may have received a mobile bundle purchase instruction from the mobile bundle vendor platform (1 16) or the mobile handset (1 12) of the subscriber (e.g. where the subscriber inputs a token linked to the mobile bundle, such as by dialling a short code followed by the token). The loan status query request may be received in response to the billing gateway (1 14) detecting a subscriber requesting to purchase the mobile bundle from the mobile bundle vendor in exchange for an amount of money. The billing gateway may for example detect the mobile bundle purchase instruction from the mobile bundle vendor or mobile handset, as the case may be. Alternatively, the loan status query request may be received from the mobile bundle vendor platform directly.

The loan status query request may include a subscriber identifier and a usage amount of a particular category of mobile telephone network utilisation associated with the mobile bundle. For example, the subscriber identifier may be an MSISDN. In the case of a data bundle, the usage amount may be 1 GB and the particular category of mobile telephone network utilisation may be transmitting and receiving of data packets. In the case of an SMS bundle, the usage amount may be 500 SMS messages and the particular category of mobile telephone network utilisation may be sending SMS messages. A mobile bundle purchase from a mobile bundle vendor platform may cause provisioning of a usage amount of the particular category of mobile telephone network utilisation associated with the mobile bundle to an appropriate category account, bypassing the subscriber account (or sub accounts thereof) altogether. The method may, however, include suspending provisioning of the usage amount to the category account pending a response to the loan status query request. Suspending provisioning of the usage amount to the category account may be performed by either the billing gateway or the server computer (e.g. by instructing the billing gateway accordingly) and may be automatically in response to the detection.

The method may include querying (303) a loan status associated with the subscriber identifier. The loan status may indicate whether or not there is an outstanding loan associated with the subscriber identifier. Any outstanding loans may be associated with a loan value, which may for example be expressed in a particular unit of value.

Querying (303) the loan status may include querying (304) a loan account associated with the subscriber identifier and the balance of the loan account may indicate the loan status. For example, the loan account having a non-zero balance (e.g. a negative balance indicating an amount owing by the subscriber to the mobile network operator/service provider) may be determined as indicating that there is an outstanding loan associated with the subscriber identifier. Querying (303) the loan status may include querying a fee account associated with the subscriber identifier and the balance of the fee account may indicate the loan status. Where both accounts have non-zero balances, the outstanding amount may be the combination of balances of the loan account and fee account.

The method may include querying (306) a notification status associated with the subscriber identifier. The notification status may indicate whether or not the subscriber associated with the subscriber identifier has been notified that mobile bundle purchases can be used to recover outstanding loans. The notification status may indicate a‘y’ or a‘n’ for example.

As will be explained in greater detail below, if one or more predefined conditions are met, the method may include determining a mobile bundle value based on the usage amount and using the mobile bundle value to at least partially recover the outstanding loan. One predefined condition may be that the loan status indicates an outstanding loan. Another predefined condition may be that the notification status indicates that the subscriber has been notified that mobile bundle purchases can be used to recover outstanding loans.

If (308) the loan status does not indicate an outstanding loan, the method may include provisioning (310) the usage amount of the particular category of mobile telephone network utilisation.

If (308) the loan status does indicate an outstanding loan and if (312) the notification status indicates that the subscriber has not been notified that mobile bundle purchases can be used to recover outstanding loans, the method may include transmitting (314) a notification message to a mobile handset (1 12) associated with the subscriber identifier which notifies the subscriber that mobile bundle purchases can be used to recover outstanding loans. This means that on the first STV top-up instance by the subscriber with an outstanding loan, he/she will be notified that the next STV top-up will be converted into money or airtime, which will be used for loan repayment.

The method may include then provisioning (310) the usage amount of the particular category of mobile telephone network utilisation.

If (308) the loan status indicates an outstanding loan and if (312) the notification status indicates that the subscriber has been notified that mobile bundle purchases can be used to recover outstanding loans, the method may include determining (316) a mobile bundle value based on the usage amount for use in at least partially recovering the outstanding loan. Determining the mobile bundle value may include querying a mobile bundle catalogue for which lists usage amounts and their corresponding values.

The mobile bundle value may be expressed in the same unit of value as the loan value. In some cases, the mobile bundle value and loan value may be expressed in the same unit of value as the money, i.e. as a local currency (e.g. if the local currency is ZAR the mobile bundle value may be expressed in ZAR).

Determining (316) the mobile bundle value may include converting (318) the usage amount to the mobile bundle value. The conversion may be based on the amount of money exchanged for the mobile bundle. Conversion may have the effect that the mobile bundle is no longer capable of being used to provision the usage amount of the particular category of mobile telephone network utilisation. In some implementations a conversion matrix of STV to money or airtime equivalent may be maintained. The conversion matrix may be used to convert the usage amount to the mobile bundle value.

The method may include using (320) the mobile bundle value to at least partially recover the outstanding loan. It should be appreciated that using the mobile bundle value to at least partially recover the outstanding loan may occur instead of provisioning the usage amount of the particular category of mobile telephone network utilisation.

Using (320) the mobile bundle value to at least partially recover the outstanding loan may include crediting (322) the loan account with an amount based on one or both of the mobile bundle value and loan value. For example, if the mobile bundle value is greater than the loan value, the full loan amount may be recovered using the mobile bundle value. If the mobile bundle value is less than the loan value, the outstanding loan amount may be only partially recovered. Recovering the outstanding loan may include recovering outstanding amounts in the loan account and/or the fee account. Where both accounts have amounts outstanding, the outstanding amount in the loan account may be recovered before the outstanding amount in the fee account or vice versa.

In some cases, the method may include provisioning (324) a secondary usage amount of the particular category of mobile telephone network utilisation. This may be subject to the mobile bundle value and loan value. For example, provisioning of the secondary usage amount may only occur if the mobile bundle value is greater than the loan value. In some cases, the quantity of the secondary usage amount is based on one or both of the difference between the mobile bundle value and the loan value and a credit limit associated with the subscriber identifier. Depending on the above factors, the secondary usage amount is either the same as or less than the usage amount. For example, if the shortfall for purchasing the bundle is covered by the credit limit, then the subscriber may be offered an appropriate loan for the full usage amount (i.e. the original usage amount requested). Otherwise, if the shortfall for purchasing the bundle is not covered by the credit limit, then the subscriber may be offered a mobile bundle having a lower usage amount.

In some cases, if the credit limit is below a predetermined threshold, the secondary usage amount may not be provisioned.

Provisioning (324) the secondary usage amount of the particular category of mobile telephone network utilisation may include crediting a category account with which the mobile bundle is associated with the secondary usage amount to enable the particular category of mobile telephone network utilisation for the subscriber.

Provisioning (324) the secondary usage amount of the particular category of mobile telephone network utilisation may include offering the subscriber loan products available in a pre-defined bundle catalogue (based on the subscriber’s credit limit).

Various components may be provided for implementing the methods described above. Figure 4 is a block diagram which illustrates exemplary components which may be provided by a system (400) for mobile subscriber provisioning. The system (400) may include a server computer (102).

The server computer (102) may include a processor (402) for executing the functions of components described below, which may be provided by hardware or by software units executing on the server computer (102). The software units may be stored in a memory component (404) and instructions may be provided to the processor (402) to carry out the functionality of the described components. In some cases, for example in a cloud computing implementation, software units arranged to manage and/or process data on behalf of the server computer (102) may be provided remotely.

The server computer (102) may include a loan status query request receiving component (406) which may be arranged to receive a loan status query request. The loan status query request may have been generated and transmitted in response to a subscriber requesting to purchase a mobile bundle from a mobile bundle vendor in exchange for an amount of money. The loan status query request may include a subscriber identifier and a usage amount of a particular category of mobile telephone network utilisation associated with the mobile bundle.

The server computer (102) may include a loan status querying component (408) which may be arranged to query a loan status associated with the subscriber identifier. The loan status may indicate whether or not there is an outstanding loan associated with the subscriber identifier. The outstanding loan may be associated with a loan value.

The server computer (102) may include a loan recovery component (410). The loan recovery component (410) may be arranged to determine a mobile bundle value based on the usage amount and use the mobile bundle value to at least partially recover the outstanding loan. The loan recovery component may include a predefined conditions evaluating component for evaluating one or more predefined conditions before determining the mobile bundle value and using it to recover the loan. The one or more predefined conditions may at least include the loan status indicating an outstanding loan and may further include a notification status indicating that the subscriber has been notified that mobile bundles can be used to recover outstanding loans.

Aspects of the present disclosure may in particular enable the recovery of such outstanding loans by the conversion of so-called“special tariff vouchers” purchased by subscribers for the provision of a particular category of mobile telephone network utilisation (e.g. SMS, data, voice utilisation, etc.).

Above, an out-of-data landing page was briefly discussed. It is anticipated that functionality of such a landing page may include:

In this specification the term “airtime” may relate to the positive balance of the subscriber’s account balance and against which charges for the subscriber’s telephonic transactions may be debited. A subscriber may“recharge” or“top up” airtime by, for example, purchasing airtime vouchers from a retailer, purchasing additional airtime using internet or mobile banking, or the like. Such recharges or top-ups may be recorded as credit transactions against the subscriber’s account and may operate to increase the balance of the subscriber’s account.

Transactions that may be performed or conducted on a mobile telephone network may be categorised according to the manner in which the mobile telephone network is utilised. Different categories of utilisation may include SMS messaging, data utilisation (e.g. internet browsing, etc.), making and receiving voice calls, USSD sessions and the like.

The term“airtime advance” may include any on-credit provisioning of airtime made in favour of a subscriber account so as to increase a balance of the account associated with the subscriber and allow the subscriber to transact on the mobile telephone network. An“airtime advance” may be a loan of an amount of airtime made to the subscriber by an MNO or other service provider and which the subscriber is obliged pay back at a later stage (in some cases along with a fee).

Similarly, the term“mobile bundle advance” may include the on-credit (i.e. ahead of payment) provisioning of a usage limit in respect of one or more categories of mobile telephone network utilisation. In particular, “mobile bundle advance” may include the on-credit provisioning of a usage limit in respect of one or more categories of mobile telephone network utilisation for pre paid (as opposed to post-paid or contract) subscribers. Exemplary categories of utilisation may include sending SMS messages, transmitting and receiving data messages and making voice calls. The usage limit associated with each category of utilisation may for example be a number of SMS messages, an amount of data (e.g. in bytes) and a number of minutes for which voice calls may be made. The term“money” may include any item or verifiable record that is generally accepted as payment for goods and services and repayment of debts in a particular country or socio-economic context and may include any currency established by government regulation, including, for example so- called fiat money.

As used herein, the term“positive balance” in respect of an account may indicate an amount in favour of the subscriber. That is, the amount of positive balance may be owed by the mobile network operator or service provider to the subscriber. So where a subscriber main account has a positive balance, for example, the subscriber may be able to transact on the mobile telephone network against that positive balance until it is depleted. These transactions may be recorded against the main account by way of a series of debit operations until the account has been depleted.

A“negative balance”, on the other hand, may indicate an amount in favour of the mobile network operator or service provider. That is, the amount of negative balance may be owed by the subscriber to the mobile network operator or service provider. So in the case where a subscriber loan account or fee account has a negative balance, the subscriber may be indebted to the mobile network operator or service provider by the amount of the negative balance. Contributions by the subscriber towards paying back the outstanding loan, to raise the negative balance to zero, may be recorded against the loan account or fee account by way of one or more credit operations until the respective account balance has been raised to zero.

Figure 5 illustrates an example of a computing device (500) in which various aspects of the disclosure may be implemented. The computing device (500) may be embodied as any form of data processing device including a personal computing device (e.g. laptop or desktop computer), a server computer (which may be self-contained, physically distributed over a number of locations), a client computer, or a communication device, such as a mobile phone (e.g. cellular telephone), satellite phone, tablet computer, personal digital assistant or the like. Different embodiments of the computing device may dictate the inclusion or exclusion of various components or subsystems described below.

The computing device (500) may be suitable for storing and executing computer program code. The various participants and elements in the previously described system diagrams may use any suitable number of subsystems or components of the computing device (500) to facilitate the functions described herein. The computing device (500) may include subsystems or components interconnected via a communication infrastructure (505) (for example, a communications bus, a network, etc.). The computing device (500) may include one or more processors (510) and at least one memory component in the form of computer-readable media. The one or more processors (510) may include one or more of: CPUs, graphical processing units (GPUs), microprocessors, field programmable gate arrays (FPGAs), application specific integrated circuits (ASICs) and the like. In some configurations, a number of processors may be provided and may be arranged to carry out calculations simultaneously. In some implementations various subsystems or components of the computing device (500) may be distributed over a number of physical locations (e.g. in a distributed, cluster or cloud-based computing configuration) and appropriate software units may be arranged to manage and/or process data on behalf of remote devices.

The memory components may include system memory (515), which may include read only memory (ROM) and random access memory (RAM). A basic input/output system (BIOS) may be stored in ROM. System software may be stored in the system memory (515) including operating system software. The memory components may also include secondary memory (520). The secondary memory (520) may include a fixed disk (521 ), such as a hard disk drive, and, optionally, one or more storage interfaces (522) for interfacing with storage components (523), such as removable storage components (e.g. magnetic tape, optical disk, flash memory drive, external hard drive, removable memory chip, etc.), network attached storage components (e.g. NAS drives), remote storage components (e.g. cloud-based storage) or the like.

The computing device (500) may include an external communications interface (530) for operation of the computing device (500) in a networked environment enabling transfer of data between multiple computing devices (500) and/or the Internet. Data transferred via the external communications interface (530) may be in the form of signals, which may be electronic, electromagnetic, optical, radio, or other types of signal. The external communications interface (530) may enable communication of data between the computing device (500) and other computing devices including servers and external storage facilities. Web services may be accessible by and/or from the computing device (500) via the communications interface (530).

The external communications interface (530) may be configured for connection to wireless communication channels (e.g., a cellular telephone network, wireless local area network (e.g. using Wi-Fi™), satellite-phone network, Satellite Internet Network, etc.) and may include an associated wireless transfer element, such as an antenna and associated circuitry. The external communications interface (530) may include a subscriber identity module (SIM) in the form of an integrated circuit that stores an international mobile subscriber identity and the related key used to identify and authenticate a subscriber using the computing device (500). One or more subscriber identity modules may be removable from or embedded in the computing device (500).

The external communications interface (530) may further include a contactless element (550), which is typically implemented in the form of a semiconductor chip (or other data storage element) with an associated wireless transfer element, such as an antenna. The contactless element (550) may be associated with (e.g., embedded within) the computing device (500) and data or control instructions transmitted via a cellular network may be applied to the contactless element (550) by means of a contactless element interface (not shown). The contactless element interface may function to permit the exchange of data and/or control instructions between computing device circuitry (and hence the cellular network) and the contactless element (550). The contactless element (550) may be capable of transferring and receiving data using a near field communications capability (or near field communications medium) typically in accordance with a standardized protocol or data transfer mechanism (e.g., ISO 14443/NFC). Near field communications capability may include a short-range communications capability, such as radio frequency identification (RFID), Bluetooth™, infra-red, or other data transfer capability that can be used to exchange data between the computing device (500) and an interrogation device. Thus, the computing device (500) may be capable of communicating and transferring data and/or control instructions via both a cellular network and near field communications capability.

The computer-readable media in the form of the various memory components may provide storage of computer-executable instructions, data structures, program modules, software units and other data. A computer program product may be provided by a computer-readable medium having stored computer-readable program code executable by the central processor (510). A computer program product may be provided by a non-transient computer-readable medium, or may be provided via a signal or other transient means via the communications interface (530).

Interconnection via the communication infrastructure (505) allows the one or more processors (510) to communicate with each subsystem or component and to control the execution of instructions from the memory components, as well as the exchange of information between subsystems or components. Peripherals (such as printers, scanners, cameras, or the like) and input/output (I/O) devices (such as a mouse, touchpad, keyboard, microphone, touch-sensitive display, input buttons, speakers and the like) may couple to or be integrally formed with the computing device (500) either directly or via an I/O controller (535). One or more displays (545) (which may be touch-sensitive displays) may be coupled to or integrally formed with the computing device (500) via a display (545) or video adapter (540).

The computing device (500) may include a geographical location element (555) which is arranged to determine the geographical location of the computing device (500). The geographical location element (555) may for example be implemented by way of a global positioning system (GPS), or similar, receiver module. In some implementations the geographical location element (555) may implement an indoor positioning system, using for example communication channels such as cellular telephone or Wi-Fi™ networks and/or beacons (e.g. Bluetooth™ Low Energy (BLE) beacons, iBeacons™, etc.) to determine or approximate the geographical location of the computing device (500). In some implementations, the geographical location element (555) may implement inertial navigation to track and determine the geographical location of the communication device using an initial set point and inertial measurement data.

The foregoing description has been presented for the purpose of illustration; it is not intended to be exhaustive or to limit the invention to the precise forms disclosed. Persons skilled in the relevant art can appreciate that many modifications and variations are possible in light of the above disclosure.

Any of the steps, operations, components or processes described herein may be performed or implemented with one or more hardware or software units, alone or in combination with other devices. In one embodiment, a software unit is implemented with a computer program product comprising a non-transient computer-readable medium containing computer program code, which can be executed by a processor for performing any or all of the steps, operations, or processes described. Software units or functions described in this application may be implemented as computer program code using any suitable computer language such as, for example, Java™, C++, or Perl™ using, for example, conventional or object-oriented techniques. The computer program code may be stored as a series of instructions, or commands on a non-transitory computer-readable medium, such as a random access memory (RAM), a read-only memory (ROM), a magnetic medium such as a hard-drive, or an optical medium such as a CD-ROM. Any such computer-readable medium may also reside on or within a single computational apparatus, and may be present on or within different computational apparatuses within a system or network. Flowchart illustrations and block diagrams of methods, systems, and computer program products according to embodiments are used herein. Each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, may provide functions which may be implemented by computer readable program instructions. In some alternative implementations, the functions identified by the blocks may take place in a different order to that shown in the flowchart illustrations.

The language used in the specification has been principally selected for readability and instructional purposes, and it may not have been selected to delineate or circumscribe the inventive subject matter. It is therefore intended that the scope of the invention be limited not by this detailed description, but rather by any claims that issue on an application based hereon. Accordingly, the disclosure of the embodiments of the invention is intended to be illustrative, but not limiting, of the scope of the invention, which is set forth in the following claims.

Finally, throughout the specification and claims unless the contents requires otherwise the word ‘comprise’ or variations such as ‘comprises’ or ‘comprising’ will be understood to imply the inclusion of a stated integer or group of integers but not the exclusion of any other integer or group of integers.