Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
TYPE CLASSIFICATION-BASED PROVISIONING OF NETWORK USAGE ADVANCES IN A MOBILE NETWORK
Document Type and Number:
WIPO Patent Application WO/2021/240253
Kind Code:
A1
Abstract:
A computer-implemented method, system and computer program product for type classification-based provisioning of network usage advances in a mobile network are provided. The method includes receiving a trigger notification in response to detection of a first predefined condition associated with an account, the notification including a subscriber identifier and a type classification associated with the account. The method includes retrieving credit data associated with the type classification from a subscriber record associated with the subscriber identifier. The method includes using the retrieved credit data to determine data elements associated with a network usage advance, the data elements including a quantity value of the network usage advance. The method includes transmitting an instruction including the data elements to cause provisioning of a network usage advance to an account associated with the subscriber identifier and the type classification.

Inventors:
CHATZISTAMATIOU ANTONIOS (AE)
Application Number:
PCT/IB2021/052835
Publication Date:
December 02, 2021
Filing Date:
April 06, 2021
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
CHANNEL TECH FZE (AE)
International Classes:
H04W4/24; H04L12/14; H04W4/50; H04W8/20
Foreign References:
US7545761B12009-06-09
US20110145086A12011-06-16
US20090081991A12009-03-26
US20020115424A12002-08-22
KR20100003746A2010-01-12
Download PDF:
Claims:
CLAIMS: 1. A computer-implemented method comprising: receiving a trigger notification in response to detection of a first predefined condition associated with an account, the trigger notification including a subscriber identifier and a type classification associated with the account; retrieving credit data associated with the type classification from a subscriber record associated with the subscriber identifier; using the retrieved credit data to determine data elements associated with a network usage advance, the data elements including a quantity value of the network usage advance; and, transmitting an instruction including the data elements to cause provisioning of a network usage advance to an account associated with the subscriber identifier and the type classification. 2. The method as claimed in claim 1, wherein the subscriber identifier is associated with one or more accounts of a first type classification and one or more accounts of a second type classification, wherein the one or more accounts of the first type classification are airtime accounts and the one or more accounts of the second type classification are bundle accounts. 3. The method as claimed in claim 2, wherein the one or more accounts of the first type classification include one or more of: a main account of the first type classification; a dedicated account of the first type classification; and a loan tracking account of the first type classification, and wherein the one or more accounts of the second type classification include one or more of: a main account of the second type classification; a dedicated account of the second type classification; and a loan tracking account of the second type classification. 4. The method as claimed in claim 2, wherein the subscriber record includes credit data associated with the first type classification and credit data associated with the second type classification. 5. The method as claimed in claim 4, wherein the credit data associated with the first type classification includes a total credit limit value denominated in a first value denomination and the credit data associated with the second type classification includes a total credit limit value denominated in a second value denomination. 6. The method as claimed in claim 4, wherein the credit limit values represent a value of a network usage advance for which a subscriber associated with the subscriber identifier is eligible in advance of payment. 7. The method as claimed in claim 4, including performing credit scoring operations to update the credit data associated with the first type classification and the credit data associated with the second type classification. 8. The method as claimed in claim 7, wherein performing credit scoring operations to update the credit data associated with the first type classification includes evaluating parameters associated with the one or more accounts of the first type classification associated with the subscriber identifier; and, wherein performing credit scoring operations to update the credit data associated with the second type classification includes evaluating parameters associated with the one or more accounts of the second type classification associated with the subscriber identifier. 9. The method as claimed in claim 1, wherein using the retrieved credit data to determine data elements associated with the network usage advance includes determining the quantity value of a network usage advance, wherein the denomination of the quantity value is based on the type classification. 10. The method as claimed in claim 1, wherein the instruction is transmitted to a provisioning and recovery node within the intelligent network (IN) and includes the type classification and subscriber identifier. 11. The method as claimed in claim 1, including: transmitting a network usage advance prompt to a communication device associated with the subscriber identifier, the network usage advance prompt including the quantity value of the network usage advance and prompting the subscriber to either accept or reject the network usage advance; and, receiving an acceptance or rejection of the network usage advance from the communication device. 12. The method as claimed in claim 1, including updating the credit data associated with the type classification in response to transmitting the instruction to cause provisioning of the network usage advance to an account associated with the subscriber identifier and the type classification, wherein updating the credit data associated with the type classification includes deducting the quantity value of the network usage advance from the total credit limit value. 13. The method as claimed in claim 1, wherein the trigger notification is received in response to a triggering node in an intelligent network (IN) of a mobile network detecting the first predefined condition associated with the account. 14. A system comprising: a processor and a memory configured to provide computer program instructions to the processor to execute functions of components; a trigger notification receiving component for receiving a trigger notification in response to detection of a first predefined condition associated with an account, the trigger notification including a subscriber identifier and a type classification associated with the account; a credit data retrieving component for retrieving credit data associated with the type classification from a subscriber record associated with the subscriber identifier; a data element determining component for using the retrieved credit data to determine data elements associated with a network usage advance, the data elements including a quantity value of the network usage advance; and, an instruction transmitting component for transmitting an instruction including the data elements to cause provisioning of a network usage advance to an account associated with the subscriber identifier and the type classification. 15. A computer program product comprising a computer-readable medium having stored computer-readable program code for performing the steps of: receiving a trigger notification in response to detection of a first predefined condition associated with an account, the trigger notification including a subscriber identifier and a type classification associated with the account; retrieving credit data associated with the type classification from a subscriber record associated with the subscriber identifier; using the retrieved credit data to determine data elements associated with a network usage advance, the data elements including a quantity value of the network usage advance; and, transmitting an instruction including the data elements to cause provisioning of a network usage advance to an account associated with the subscriber identifier and the type classification.
Description:
TYPE CLASSIFICATION-BASED PROVISIONING OF NETWORK USAGE ADVANCES IN A MOBILE NETWORK CROSS-REFERENCE(S) TO RELATED APPLICATIONS This application claims priority from South African provisional patent application number 2020/03191 filed on 29 May 2020, which is incorporated by reference herein. FIELD OF THE INVENTION This invention relates to type classification-based provisioning of network usage advances in a mobile network. BACKGROUND TO THE INVENTION A prepaid mobile subscriber is typically required to pre-pay for any telephonic transaction conducted on a mobile network via their communication device, such as a mobile handset. Pre- payment is typically by purchasing airtime, which can then be used to transact on (or use) the mobile network until depletion. There are facilities available to prepaid mobile subscribers by way of which airtime and/or mobile bundles can be provisioned to the prepaid subscriber in advance of received payment (e.g. on credit). These advances (termed “network usage advances” herein) may be beneficial to prepaid subscribers in that such subscribers may continue to conduct telephonic transactions on the mobile network even after their airtime and/or mobile bundles have been depleted. Typically, eligibility to receive such network usage advances is determined by credit scoring subscribers by evaluating criteria associated with the relevant subscriber’s main airtime account. Criteria for evaluating the credit score of a subscriber might include, for example: number of calls received by the subscriber; number of calls received by the subscriber from unique callers; historical subscriber spend; recent subscriber spend; length of subscriber’s services; age of subscriber; subscriber top-ups over a specified time period; number of network usage advances; number of outstanding network usage advances; average recovery time for network usage advances; average subscriber spend, and the like. However, the introduction and rising popularity of so-called special tariff vouchers (STVs) or bundle recharges which directly provision mobile bundles to dedicated accounts associated with a subscriber, thus bypassing the subscriber’s main airtime account, have introduced new ways for subscribers to interact with mobile networks. 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 invention there is provided a computer-implemented method comprising: receiving a trigger notification in response to detection of a first predefined condition associated with an account, the trigger notification including a subscriber identifier and a type classification associated with the account; retrieving credit data associated with the type classification from a subscriber record associated with the subscriber identifier; using the retrieved credit data to determine data elements associated with a network usage advance, the data elements including a quantity value of the network usage advance; and, transmitting an instruction including the data elements to cause provisioning of a network usage advance to an account associated with the subscriber identifier and the type classification. The subscriber identifier may be associated with one or more accounts of a first type classification and one or more accounts of a second type classification, wherein the one or more accounts of the first type classification are airtime accounts and the one or more accounts of the second type classification are bundle accounts. The bundle accounts may be data bundle accounts. The first type classification may be an airtime type classification and the second type classification may be a data type classification. The one or more accounts of the first type classification may include one or more of: a main account of the first type classification; a dedicated account of the first type classification; and a loan tracking account of the first type classification, and wherein the one or more accounts of the second type classification may include one or more of: a main account of the second type classification; a dedicated account of the second type classification; and a loan tracking account of the second type classification. The subscriber record may include credit data associated with the first type classification and credit data associated with the second type classification, wherein the credit data associated with the first type classification includes a total credit limit value denominated in a first value denomination and the credit data associated with the second type classification includes a total credit limit value denominated in a second value denomination, wherein the credit limit values represent a value of a network usage advance for which a subscriber associated with the subscriber identifier is eligible in advance of payment. In the case of the first type classification being an airtime type classification the first value denomination may be an airtime or currency value denomination. In the case of the second type classification being a data type classification the second value denomination may be a denomination in bytes. The method may include performing credit scoring operations to update the credit data associated with the first type classification and the credit data associated with the second type classification; wherein performing credit scoring operations to update the credit data associated with the first type classification includes evaluating parameters associated with the one or more accounts of the first type classification associated with the subscriber identifier; and, wherein performing credit scoring operations to update the credit data associated with the second type classification includes evaluating parameters associated with the one or more accounts of the second type classification associated with the subscriber identifier. The credit scoring operations may be performed continually to produce updated credit data associated with each of the first and second type classifications. Using the retrieved credit data to determine data elements associated with the network usage advance may include determining the quantity value of a network usage advance, wherein the denomination of the quantity value is based on the type classification. The instruction may be transmitted to a provisioning and recovery node within the intelligent network (IN) and may include the type classification and subscriber identifier. The method may include: transmitting a network usage advance prompt to a communication device associated with the subscriber identifier, the network usage advance prompt including the quantity value of the network usage advance and prompting the subscriber to either accept or reject the network usage advance; and, receiving an acceptance or rejection of the network usage advance from the communication device. The method may include updating the credit data associated with the type classification in response to transmitting the instruction to cause provisioning of the network usage advance to an account associated with the subscriber identifier and the type classification, wherein updating the credit data associated with the type classification includes deducting the quantity value of the network usage advance from the total credit limit value. The trigger notification may be received in response to a triggering node in an intelligent network ĨIN) of a mobile network detecting the first predefined condition associated with the account. In accordance with a further aspect of the invention there is provided a system comprising: a processor and a memory configured to provide computer program instructions to the processor to execute functions of components; a trigger notification receiving component for receiving a trigger notification in response to detection of a first predefined condition associated with an account, the trigger notification including a subscriber identifier and a type classification associated with the account; a credit data retrieving component for retrieving credit data associated with the type classification from a subscriber record associated with the subscriber identifier; a data element determining component for using the retrieved credit data to determine data elements associated with a network usage advance, the data elements including a quantity value of the network usage advance; and, an instruction transmitting component for transmitting an instruction including the data elements to cause provisioning of a network usage advance to an account associated with the subscriber identifier and the type classification. The system may include an extracting component for extracting the type classification and subscriber identifier from the trigger notification. In accordance with a further aspect of the invention there is provided a computer program product comprising a computer-readable medium having stored computer-readable program code for performing the steps of: receiving a trigger notification in response to detection of a first predefined condition associated with an account, the trigger notification including a subscriber identifier and a type classification associated with the account; retrieving credit data associated with the type classification from a subscriber record associated with the subscriber identifier; using the retrieved credit data to determine data elements associated with a network usage advance, the data elements including a quantity value of the network usage advance; and, transmitting an instruction including the data elements to cause provisioning of a network usage advance to an account associated with the subscriber identifier and the type classification. 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 example system for type classification-based provisioning of network usage advances in a mobile network according to aspects of the present disclosure; Figure 2A is a schematic diagram which illustrates an exemplary data structure which may be maintained by a charging system according to aspects of the present disclosure; Figure 2B is a schematic diagram which illustrates another exemplary data structure which may be maintained by the charging system according to aspects of the present disclosure; Figure 3 is a schematic diagram which illustrates an example implementation of a subscriber database according to aspects of the present disclosure; Figure 4 is a flow diagram which illustrates an example method for type classification- based provisioning of network usage advances in a mobile network, including subscriber record maintenance operations; Figure 5 is a schematic diagram which illustrates an example data set associated with a subscriber; Figure 6 is a swim-lane a flow diagram which illustrates an example method for type classification-based provisioning of network usage advances in a mobile network according to aspects of the present disclosure; Figure 7 is a flow diagram which illustrates an example method for type classification- based recovery of network usage advances in a mobile network according to aspects of the present disclosure; Figure 8 is a block diagram which illustrates exemplary components which may be provided by a system for type classification-based provisioning of network usage advances in a mobile network according to aspects of the present disclosure; and, Figure 9 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 disclosure relate to airtime and mobile bundle (collectively “network usage”) advance systems and methods in which a service provider may maintain a service provider platform which provides a network usage advance service to participating mobile network operators (MNOs). A network usage advance may be a provision of services to a prepaid mobile subscriber before payment has been received or in advance of payment. A network usage advance may for example enable mobile telephone network usage by an associated prepaid subscriber in advance of received payment. In particular, aspects of the present disclosure provide for type classification-based provisioning of network usage advances in a mobile network. A given prepaid mobile subscriber may have an airtime account in which a value of airtime is stored (an account of a first type) and optionally one or more accounts each of different types, for example: a data bundle account in which a value of data is stored (an account of a second type); an SMS bundle account in which a number or value of SMS messages is stored (an account of a third type); a voice minute bundle account in which a value of voice minutes is stored (an account of a fourth type); and the like. The value of the account may be denominated in a different value depending on the account type. For example, the value of the airtime account may be denominated in a value of local currency (e.g. ZAR); the value of the data bundle account may be denominated in bytes (or kB, MB, GB, etc.); the value of the SMS bundle account may be denominated in a quantity of SMS messages; and the value of the voice minute account may be denominated in minutes and seconds. The different types of accounts and their associated value denominations may be referred to herein as a “type classification”. Example type classifications may thus include: “airtime”, “data”, “SMS”, “voice” and the like. Type classification-based provisioning of network usage advances may therefore refer to the provisioning of network usage advances based on the different type classifications of accounts. As will be explained below, type classification-based provisioning of network usage advances can result in a computationally more efficient network usage advance service, may expand the number of users of mobile advances, and the like. Figure 1 is a schematic diagram which illustrates an example system (100) for type classification- based provisioning of network usage advances in a mobile network. The system (100) may include a server computer (102) and an MNO platform (104). The server computer may be provided by a third party service provider which provides network usage advance services to the MNO and its prepaid subscribers. The server computer may implement the functionality of a service provider platform. In other implementations, the server computer may be built-in to or integrated with the MNO platform (without the need for a third party service provider). The system may further include communication devices (106), such as mobile handsets, associated with prepaid mobile subscribers who typically purchase airtime and mobile bundles to make use of a mobile telephone network (110) provided by the MNO. The server computer (102) may be provided by any suitable computing device or devices. The server computer (102) may be configured to interface with the MNO platform (104). For example, the server computer may be configured to interface with an intelligent network (IN) and/or charging system of the MNO platform via an appropriate IN integration component. Interfacing with the IN and/or charging system may enable the server computer to access and update selected data records stored therein. The server computer (102) may be in communication with the communication devices (106) via the mobile telephone network (110) via which data and/or messages may be transmitted to and received from the respective communication devices. The server computer may for example be configured to receive network usage advance requests from the communication devices and to transmit notifications relating to network usage advance requests to the communication devices. The MNO platform (104) and mobile telephone network (110) may collectively provide the infrastructure by way of which communication devices can communicate with each other and the broader public switched telephone network (PSTN) and the Internet. The mobile telephone network may for example include one or more base station subsystems while the MNO platform may provide back-end systems such as a USSD/GPRS gateway, SMSC and associated components (VLR, HLR, etc.). The MNO platform (104) may include an IN (114) and a charging system (116). The IN (114) may be implemented according to any suitable network architecture (e.g. that specified in the ITU-T Q.1200 series recommendations, or the like). The IN (114) may allow the MNO to provide various value-added services, such as network usage advance services, in addition to the standard telecom services such as PSTN, GSM, etc. The IN may include one or more network nodes on the service layer, distinct from the switching layer of the core network, as opposed to solutions based on intelligence in the core switches or equipment. The IN may be supported by the Signalling System #7 (SS7) protocol between network switching centres and other network nodes owned by network operators. The charging system (116) may be implemented as a node within the IN (114) that is responsible for collecting data on service usage and to generate reports thereon for billing, either on demand or automatically. The charging system (116) may be implemented as a high-throughput database that maintains multiple accounts for each subscriber. The purpose, type and usage of the accounts may be defined by the MNO. In some implementations, the charging system may be an online charging system (OCS). Each subscriber may be associated with one or more of: a main airtime account, a dedicated airtime account, an airtime loan tracking account, a main data bundle account, a dedicated data bundle account, a data bundle loan tracking account, a main SMS bundle account, a dedicated SMS bundle account, a SMS bundle loan tracking account, a main voice minutes bundle account, a dedicated voice minutes bundle account, a voice minutes bundle loan tracking account and one or more fee tracking accounts (e.g. one fee tracking account associated with each of the airtime, data, SMS and voice type classifications). The subscriber may be associated, mutatis mutandis, with one or more of a main account, a dedicated account, a loan tracking account, and/or a fee tracking account of another type classification not previously described. The main airtime account, dedicated airtime account, airtime loan tracking account and airtime fee tracking account may be associated with a first type classification, in this case being an airtime type classification. These accounts may have their value denominated in a value of airtime, which may be equivalent to a value of local currency (e.g. ZAR, NGN, USD, etc.). The main data bundle account, dedicated data bundle account, data bundle loan tracking account and data bundle fee tracking account may be associated with a second type classification, in this case being a data type classification. These accounts may have their value denominated in bytes. The main SMS bundle account, dedicated SMS bundle account, SMS bundle loan tracking account and SMS bundle fee tracking account may be associated with a third type classification, in this case being an SMS type classification. These accounts may have their value denominated in a number of SMS messages. The main voice minutes bundle account, dedicated voice minutes bundle account, voice minutes bundle loan tracking account and voice minutes bundle fee tracking account may be associated with a fourth type classification, in this case being a voice type classification. These accounts may have their value denominated in minutes and/or seconds. Airtime top-ups may be provisioned to the main airtime account and usage of the mobile telephone network (110) (such as making phone calls, sending SMS messages, transmitting and receiving data packets) may typically be charged against the main airtime account. Airtime advances may be provisioned either to the main airtime account or, in some implementations, to the dedicated airtime account (which operates as a dedicated loan account). Once the network usage advance has been provisioned, further use of the mobile telephone network may be charged against the main airtime account or dedicated airtime account, as the case may be (until the balance thereof has been depleted). Data bundles purchased by the subscriber may be provisioned to the main data bundle account after which the transmission and reception of data packets by the subscriber’s communication device via the mobile network may be recorded against (or deducted from) the main data bundle account. Data bundle advances may be provisioned either to the main data bundle account or, in some implementations, to the dedicated data bundle account. Once provisioned, further transmission/reception of data packets may be recorded against the main data bundle account or the dedicated data bundle account, as the case may be, until the balance thereof has been depleted to zero. The same may apply, mutatis mutandis, for the SMS, voice minute bundle accounts and accounts of other type classifications. The tracking accounts may be used to keep track of amounts owed by subscribers in respect of network usage advances that the subscribers have requested and received. A non-zero balance of any one of the tracking accounts (be it loan tracking or fee tracking) may indicate an outstanding network usage advance. The value or amount of balance may indicate the amount in respect of which the network usage advance is owed by the subscriber. The accounts described herein may be implemented as fields of a high-throughput database. The fields may be associated with a subscriber identifier and can be updated or modified in real-time in response to network usage or top-up events. Different fields of the database may represent different accounts associated with a particular subscriber. In some implementations, the charging system may include or be embodied by a data structure, such as a table maintained by relational database management system (RDBMS), having for example rows which are associated with subscribers (identified by way of a subscriber identifier, such as an MSISDN or other suitable identifier) and columns which are associated with accounts, such as each of the respective accounts described in the foregoing. An exemplary data structure (200) which may be maintained by the charging system (116) is illustrated in Figure 2A and includes: a subscriber identifier column (202); a main airtime account column (204); a dedicated airtime account column (206); an airtime loan tracking account column (208); an airtime fee tracking account column (210); a main data bundle account column (212); a dedicated data bundle account column (214); an data bundle loan tracking account column (216); and, a data bundle fee tracking account column (218). Accounts associated with SMS bundles and voice minute bundles are not illustrated for simplicity. Rows (220, 222, 224, 226) of the table may relate to individual entities (such as subscribers), identified by their relevant identifier (such as a subscriber identifier). While the exemplary data structure of Figure 2A includes dedicated account columns (206, 214), it should be appreciated that other implementations may not require these dedicated accounts and network usage advances may be provisioned to the relevant main accounts or to other accounts instead. It can be appreciated that the use of a table or collection of tables as a data structure is purely exemplary and that other data structures, such as a graph database or the like, may also suffice. In some implementations, the charging system may be configured to prevent or prohibit the balance of the main accounts (and possibly the other accounts) of the data structure from being negative. In other implementations, a service class associated with the subscriber identifier may be toggled to temporarily allow for the balance of the main accounts (and possibly the other accounts) to be adjusted to a negative value (or to retain a negative value). The charging system (116) may also maintain one or more service provider accounts. The charging system may maintain one or more accounts for each of the applicable type classifications. For example, the charging system may maintain one or more airtime accounts, one or more data bundle accounts, one or more SMS bundle accounts and one or more voice minute accounts. The charging system may maintain a disbursement account and a recovery account for each type classification. The value denominations of the accounts may be based on their respective type classification (e.g. ZAR for airtime, bytes for data, number of SMS messages for SMS and minutes/seconds for voice). The accounts may be associated with a service provider identifier which uniquely identifies the service provider. In some implementations, the charging system may include a service provider account table having rows which are associated with service providers (identified by way of a service provider identifier) and columns which are associated with accounts. An exemplary data structure (240) which may be maintained by the charging system (116) is illustrated in Figure 2B and includes a row for the service provider and columns for each of a service provider identifier (242), an airtime disbursement account (244), an airtime recovery account (246), a data bundle disbursement account (248) and a data bundle recovery account (249). Accounts associated with SMS bundles and voice minute bundles are not illustrated for simplicity. In other implementations, the service provider account data may be stored in the same table as the subscriber account data, with different rules being used to interpret the columns different for service providers as compared to subscribers. It can be appreciated that the use of a table or collection of tables as a data structure is purely exemplary and that other data structures, such as a graph database or the like, may also suffice. Returning to Figure 1, the system (100) may include a triggering node (118) and a provisioning and recovery node (120). In some implementations, the triggering node (118) and provisioning and recovery node (120) may be provided by nodes of the IN (114). The triggering node (118) may be configured to monitor components or nodes of the MNO platform and to detect predefined events. The triggering node (118) may for example be configured to monitor the charging system (116) for the occurrence of predefined events. In some implementations, the triggering node (118) may be configured to monitor fields of the charging system. The predefined events may be low balance events, such as the value of a particular field falling below a predefined threshold. The triggering node (118) may be configured to derive a subscriber identifier and a type classification from an account at which the predefined event is detected. The triggering node (118) may be configured to output a trigger notification in response to detecting a predefined event. The triggering node (118) may be configured to include the subscriber identifier and the type classification associated with the predefined event. The provisioning and recovery node (120) may be configured to provision airtime and/or mobile bundles to appropriate accounts of subscribers pursuant to top-up events and/or the provisioning of network usage advances. The provisioning and recovery node (120) may be configured to manipulate (e.g. access, change and/or update) fields of the charging system (116) so as to effect the provisioning of airtime and/or mobile bundles. In some implementations, the provisioning and recovery node (120) may be configured to query one or both of the loan tracking account and fee tracking account or a relevant type classification upon a subscriber top-up event of the associated type classification (e.g. airtime purchase or mobile bundle purchase, etc.) and to divert some or all of the amount associated with the top up to one or both of the tracking accounts and/or relevant service provider account in order to effect partial or complete recovery of the outstanding network usage advance represented by these accounts. The system (100) may include a subscriber database (122) in which a record (124) associated with each subscriber is stored. The subscriber database (122) may be provided by the MNO platform (104) or by the service provider. In some cases, each of the MNO platform and service provider may provide their own subscriber database. Each subscriber record (124) may include and be associated with a subscriber identifier. In some implementations, each subscriber record includes one or more sets of credit data. Each set of credit data may be associated with a different type classification. For example, the subscriber record may include one or more of credit data associated with the airtime type classification, credit data associated with the data type classification, credit data associated with the SMS type classification, credit data associated with the voice type classification and the like. Each of the sets of credit data may include a total credit limit value denominated in a value that is associated with the corresponding type classification. For example, the credit data associated with the airtime type classification may include a total credit limit value denominated in a value of airtime and the credit data associated with the data type classification may include a total credit limit value denominated in a value of bytes, etc. Each of the credit limit values represents a value of a network usage advance for which a subscriber associated with the subscriber identifier is eligible in advance of payment. The subscriber database may for example be implemented as one or more tables in a RDBMS. An example of part of such a table is illustrated in Figure 3, in which rows correspond to different subscribers and columns correspond to fields for storing data records in association with each subscriber. In the example illustrated in Figure 3, a subscriber identifier column (250) is illustrated together with a column (252) for storing credit data (in the example illustration being a total credit limit) associated with an airtime type classification and a column (254) for storing credit data (also being a total credit limit) associated with a data type classification. Other types of credit data (for example an eligibility indicator, credit score, etc.) as well as credit data for the SMS and voice type classifications is not illustrated for simplicity. It can be appreciated that the use of a table or collection of tables as a data structure is purely exemplary and that other data structures, such as a graph database or the like, may also suffice. Returning to Figure 1, the MNO platform (104) may include a front-end API (126) by way of which the server computer (102) may interface with components or nodes of the MNO platform, such as the charging system (116), triggering node (118) and provisioning and recovery node (120) and subscriber database (122). The front-end API may interface with or provide access to the IN integration component for aspects of the interface. The system (100) described above may implement methods for type classification-based provisioning of network usage advances in a mobile network. Figure 4 is a flow diagram which illustrates an example method for type classification-based provisioning of network usage advances in a mobile network. The flow diagram of Figure 4 illustrates example subscriber record maintenance operations which may be conducted pursuant to performing type classification- based provisioning of network usage advances in a mobile network. The method may be conducted by the server computer (102). The method may include continually performing credit scoring operations to update credit data associated with each of the type classifications. This may include evaluating parameters associated with the one or more accounts of a particular type classification (e.g. airtime, data, etc.) associated with the subscriber identifier for updating the credit limit data of the corresponding type classification. For example, the method may include compiling (302) a data set for each subscriber of an eligible subscriber base. Compiling the data sets may include compiling (304) subsets of data for each applicable type classification. The type classification subsets may include data points that are relevant to that type classification. For example, as seen in Figure 5, an airtime type classification subset (201) within a data set for a subscriber (221) may include data points relating to the one or more airtime accounts (204, 206, 208, 210) associated with the relevant subscriber; a data type classification subset (203) may include data points relating to the one or more data bundle accounts associated with the relevant subscriber and the like (205, 207). Returning to Figure 4, the method may include processing (306) the data sets to obtain credit data relating to each subscriber in the eligible subscriber base. Processing the data sets may include, for each data set of a particular subscriber, separately processing (308) each of the subsets of data and outputting discrete sets of credit data relating to each of the subsets of data. Each set of credit data may be associated with the type classification associated with the subset of data on which it is based. The credit data output may include one or more of: an eligibility indication (e.g. in the form of ‘yes’ or ‘no’, ‘y’ or ‘n’, ‘true’ or ‘false’, etc.) indicating whether the subscriber is eligible for a network usage advance associated with the relevant type classification (e.g. airtime, data bundle, SMS bundle, voice minute bundle, etc.); a total credit limit value indicating the total amount or value of the network usage advance of the relevant type classification for which the subscriber is eligible; and, other relevant data, such as a date stamp, expiry date, refresh interval, etc. The processing of data sets may use proprietary algorithms of the service provider. In some cases, different algorithms may be used for the different subsets of data. In other words, each type classification may have its own specialist algorithm which is executed on the subset of data points associated with that type classification. The method may include updating (310) a subscriber database (122) to store the credit data of a particular subscriber in a record (124) associated with the particular subscriber. Updating the subscriber database may include storing (312) each discrete set of credit data in its corresponding field in the subscriber record (124) based on the associated type classification. The method may repeat (314) periodically such that changing subscriber behaviour results in changes to the credit data associated with the subscriber. By separately processing subsets of data associated with each of the relevant type classifications, different categories of subscribers can be more comprehensively accommodated. For example, there may be subscribers who only purchase and consume airtime. If these subscribers top-up often and have a long association with the MNO, they may have airtime credit data which indicates they that are eligible for airtime advances up to a value of, for example, ZAR100. However, because such subscribers do not purchase mobile bundles, credit data associated with these type classifications may indicate that they are not eligible for mobile bundle advances or that they are only eligible for very low value mobile bundle advances. On the other hand, there may be subscribers who never purchase airtime, and instead buy only, e.g., data bundles using special tariff vouchers such that no airtime ever passes through their airtime accounts. Credit data associated with these types of subscribers may indicate that they are eligible for data bundle advances only and the value of such advances may be relatively high. The generating and maintaining of credit data associated with respective type classifications may in turn permit computationally efficient network usage advance provisioning and recovery. Figure 6 is a swim-lane flow diagram which illustrates an example method for type classification-based provisioning of network usage advances in a mobile network (110), in which swim-lanes delineate operations, steps or procedures performed by respective nodes or devices. It should be appreciated that the delineation is that of one example embodiment and that in other embodiments the steps, operations or procedures may be performed by other nodes or devices. The method may include a triggering node (118) monitoring (402) accounts associated with prepaid mobile subscribers for predefined conditions or events. Monitoring the accounts may include monitoring fields of a charging system (116) for the predefined conditions, where each field represents an account associated with a subscriber identifier and in turn a prepaid mobile subscriber. Each subscriber identifier may be associated with one or more accounts of each type classification, such as: one or more airtime accounts and one or more data bundle accounts (and in some cases one or more SMS bundle accounts and/or one or more voice minute bundle accounts too). The one or more airtime accounts may for example include one or more of: a main airtime account; a dedicated airtime account; an airtime loan tracking account; and an airtime fee tracking account. The one or more data bundle accounts may for example include one or more of: a main data bundle account; a dedicated data bundle account; a data bundle tracking loan account; and, a data bundle fee tracking account. The one or more airtime accounts may be associated with an airtime type classification and the one or more data bundle accounts may be associated with a data type classification. The one or more SMS bundle accounts may be associated with an SMS type classification and the one or more voice minute accounts may be associated with a voice type classification. The triggering node (118) may at some stage detect (404) occurrence of the first predefined condition in respect of an account associated with a subscriber identifier. The detection may be in real time (e.g. upon occurrence of the relevant event) as a result of the continual monitoring by the triggering node. The first predefined condition may be a low balance event detected on an account associated with the subscriber identifier. For example, during a call, the subscriber’s main airtime account balance may drop below a predefined threshold (e.g. ZAR5), which may satisfy the first predefined condition and be detected by the triggering module as it occurs. Similarly, while transmitting/receiving data packets, the subscriber’s main data bundle account balance may drop below a predefined threshold (e.g. 5 MB), which may satisfy the first predefined condition and be detected by the triggering module as it occurs. In some implementations, the first predefined condition may include a network usage advance request received from a communication device associated with the subscriber identifier. In response to detecting the occurrence of the first predefined condition, the triggering node may compile (406) a trigger notification including particulars of the detection. The trigger notification may for example include the type classification of the account in respect of which the first predefined condition was detected and the subscriber identifier associated with the account in respect of which the first predefined condition was detected. The trigger notification may also include other data, for example, a time stamp, a description of the condition detected, an account identifier or description of the account in respect of which the first predefined condition was detected and the like. The triggering node (118) may transmit (408) the trigger notification to the server computer (102). Transmission may be by way of a front-end API (126) and/or IN integration component via which the server computer interfaces with the MNO platform. The server computer (102) may receive (410) the trigger notification. The server computer (102) may extract (412) the type classification and subscriber identifier from the trigger notification. This may include analysing or parsing the trigger notification to identify and extract the relevant data. In another embodiment, the server computer may monitor the accounts directly by way of the front-end API, in which embodiment receiving the trigger notification may include detecting the predefined condition. The server computer (102) may retrieve (414) credit data associated with the type classification from a subscriber record (124) associated with the subscriber identifier. This may include querying a subscriber database (122) to extract the credit data from the relevant subscriber record. The subscriber record may include credit data associated with each type classification. The credit data associated with each type classification may include one or more of a total credit limit value associated with that type classification, an eligibility indication and optionally other relevant data. Each of the total credit limit values may have a different denomination, depending on the type classification with which it is associated. For example, the credit data associated with the airtime type classification may include a total credit limit value denominated in a value of airtime. The credit data associated with the data type classification may include a total credit limit value denominated in a value of bytes, etc. Each of the credit limit values represent a value of a network usage advance for which a subscriber associated with the subscriber identifier is eligible in advance of payment. The server computer (102) may use the retrieved credit data to determine (416) data elements associated with a network usage advance for provisioning to the subscriber. The data elements may include a quantity value of the network usage advance and may be associated with the type classification of the account against which the occurrence of the first predefined condition was detected. The quantity value may be in the denomination of the type classification with which it is associated. The data elements may include particulars of a fee to be levied for provision of the network usage advance. The fee may be in the denomination of the type classification with which it is associated (e.g. in bytes for a data type classification, in minutes/seconds for a voice type classification, etc.) or may be denominated in a value of currency. The data elements may include a repayment due date and other data associated with the network usage advance to be provisioned. Determining the data elements may include inputting the credit data into an algorithm and receiving the data elements as outputs of the algorithm. In some implementations, determining the data elements may include determining data elements associated with a plurality of network usage advances. For example, in the case of a data bundle advance, quantity values of 100MB, 75MB and 50MB may be determined (together with associated data) for presentation to and selection by the subscriber. In some cases, the server computer (102) may transmit (418) a network usage advance prompt to a communication device (106) associated with the subscriber identifier. The network usage advance prompt may include some of all of the data elements associated with the network usage advance, such as the quantity value of the network usage advance, fee, etc. and may prompt the subscriber to either accept or reject the network usage advance. The quantity value and fee presented to the subscriber may be in the denomination associated with the type classification of the network usage advance that is to be provisioned. For example, in the case of a data bundle advance, the subscriber may be presented with the option of accepting a data bundle advance of 100MB with a fee of 10MB to be levied. Where data elements associated with a plurality of network usage advances are determined, the plurality of data elements may be presented to the subscriber in the prompt for acceptance. The prompt may be transmitted via SMS, MMS, USSD, IVR, application notification or the like. The server computer (102) may receive (420) an acceptance (and optionally a selection of one of a plurality of network usage advances presented to the subscriber) or rejection of the network usage advance from the communication device (106). In other cases, the server computer may automatically provision a network usage advance without prompting the subscriber for his/her acceptance or rejection. The server computer (102) may cause provisioning to the subscriber of a network usage advance defined by or in accordance with the data elements. This may include transmitting (422) an instruction to a provisioning and recovery node (120) to cause provisioning of a network usage advance to an account associated with the subscriber identifier and the type classification. The instruction may include one or more of the data elements (or a subset thereof, such as the quantity value and fee, if any), subscriber identifier and type classification. Transmission may be by way of the front-end API (126) and/or IN integration component via which the server computer interfaces with the MNO platform. The provisioning and recovery node (120) may be a node of the intelligent network (114) of the mobile network. The provisioning and recovery node (120) may receive (424) the instruction and interact (426) with the charging system (116) to cause provisioning of the network usage advance specified by the instruction. Interacting with the charging system (116) may include updating values in the appropriate fields associated with the subscriber identifier. Interacting with the charging system may for example include recording the quantity value in either the main account or dedicated account and optionally the loan tracking account associated with the relevant type classification. Interacting with the charging system may include recording the fee value in the fee tracking account associated with the type value. Interacting with the charging system may include recording the quantity value against a service provider account associated with the type classification which funds the network usage advance. The service provider may for example have a disbursement account and a recovery account associated with each type classification and recording the quantity value against the service provider account associated with the type classification may include deducting the quantity value from the disbursement account associated with the type classification. Interacting with the charging system (116) may therefore include transferring value from a service provider account associated with the type classification to a subscriber account associated with the type classification so as to provision to the subscriber a network usage advance associated with the type classification. In response to provisioning of the network usage advance, the provisioning and recovery node (120) may transmit (430) a status update message to the server computer indicating the success or failure of the provisioning. The server computer (102) may receive (432) the status notification and may transmit a corresponding notification to the communication device of the subscriber indicating the success or failure of the provisioning. The server computer may update (434) the credit data associated with the type classification in response to provisioning of the network usage advance. This may be in response to the server computer transmitting the instruction to the provisioning and recovery node to cause provisioning of the network usage advance to an account associated with the subscriber identifier and the type classification or in response to receiving the status update message. Updating the credit data may include deducting the quantity value of the network usage advance having been provisioned from the total credit limit value associated with the type classification. In other words, if the type classification of a given network usage advance is a data type classification, updating the credit data may include retrieving the total credit limit associated with data bundles (e.g.500 MB) from the subscriber record, deducting from this value the quantity value of the data bundle advance just provisioned to the subscriber (e.g.100 MB) to determine the difference (e.g.400 MB) and returning and storing the difference in the subscriber record as the updated credit limit value associated with data bundle advances. The difference (i.e.400 MB) indicates the value of data bundle advances still available to the subscriber before repayment is required. The provision of the network usage advance to the subscriber may allow the subscriber to continue to use the mobile network in accordance with the type classification of the provisioned network usage advance. In other words, if a data bundle advance is provisioned, transmission and reception of data packets may be permitted until the balance of the relevant data bundle account is depleted. If an airtime advance is provisioned, making phone calls, transmitting SMS messages and/or transmitting/receiving data packets may be permitted until the balance of the relevant airtime account is depleted. In the example embodiment described above, the triggering node and provisioning and recovery node are indicated as being separate nodes. However, in other embodiment, the functionality of these nodes may be achieved by a single node. Such functionality may in general be attributed to the IN (114) and/or the charging system (116). Figure 7 is a flow diagram which illustrates an example method for type classification-based recovery of network usage advances in a mobile network (110). The method may be conducted by one or more nodes on the IN of the mobile network or by the server computer. In some cases different steps, operations or procedures may be conducted by different nodes or devices. The method may include monitoring (502) the charging system (116) for the occurrence of a second predefined condition, in this case being a top-up, recharge or other deposit event in which an account associated with a subscriber is credited with an amount of value. The method may include detecting (504) the occurrence of the second predefined condition. Detecting the occurrence of the predefined event may include determining (506) the type classification of the account with which the second predefined condition is associated. The monitoring and detecting may be conducted by a triggering node forming part of an IN of the mobile network and may include transmitting a detection notification including the particulars of the detection to another node or device. The method may include checking (508) for outstanding network usage advances associated with the type classification of the account associated with the second predefined condition. This may include querying the balance of loan accounts associated with the determined type classification. For example, in the case of an airtime type classification, checking for outstanding network usage advances may include querying the balance of an airtime fee tracking account and/or an airtime loan tracking account. In the case of a data type classification, checking for outstanding network usage advances may include querying the balance of a data bundle fee tracking account and/or a data bundle loan tracking account. A positive balance on one of these accounts may indicate an outstanding network usage advance. It should however be appreciated that only accounts associated with the determined type classification of the account associated with the second predefined condition are checked. If (510) an outstanding network usage advance associated with the determined type classification is detected, the method may include diverting (512) the or part of the amount of value associated with the second predefined condition towards partial or full recovery of the outstanding network usage advance. Whether or not part or all of the amount of value is used and whether or not full or partial recovery is effected will depend on the amount of value as compared to the balance of the relevant loan account or accounts. Diverting the or part of the amount of value may include interacting (514) with the charging system (116) to cause diversion or redirection of the or part of the amount of value to a recovery account associated with the type classification and service provider. Interacting with the charging system (116) may include updating values in the appropriate fields associated with the subscriber identifier and the service provider respectively so as to cause recovery of the or part of the outstanding network usage advance. Such a type classification-based recovery of the outstanding network usage may be more computationally efficient (or less onerous on the charging system) in that a conversion from one type classification to another (and its associated operations on or demands of the charging system) can be obviated. In other words, instead of converting a data bundle purchased by way of an STV token, for example, into a value of airtime in order to recover a network usage advance valued in airtime, the value of the data bundle (in bytes) can be used directly to recover an outstanding network usage advance also denominated in bytes. This may alleviate load on the charging system and/or other components or nodes of the MNO platform, which in the context of a mobile network processing transactions for tens to hundreds of millions of subscribers, can lead to a non-insignificant improvement in computational efficiency. Various components may be provided for implementing the methods described above with reference to Figures 4 to 7. Figure 8 is a block diagram which illustrates exemplary components which may be provided by a system for type classification-based provisioning of network usage advances in a mobile network. The system includes a server computer (102) which may provide or form a part of a service provider platform or which may form part of an MNO platform (104). The server computer (102) may include a processor (602) 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 (604) and instructions may be provided to the processor (602) 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 trigger notification receiving component (606) arranged to receive a trigger notification having been generated in response to a triggering node in an IN of a mobile network detecting a first predefined condition associated with an account associated with a subscriber identifier. The trigger notification may include the subscriber identifier, a type classification associated with the account and optionally other data. The server computer (102) may include an extracting component (608) arranged to extract the type classification, subscriber identifier and optionally other data from the trigger notification. The server computer (102) may include a credit data retrieving component (610) arranged to retrieve credit data associated with the type classification from a subscriber record (124) associated with the subscriber identifier. The server computer (102) may include a data element determining component (612) arranged to use the retrieved credit data to determine data elements associated with a network usage advance. The data elements may include a quantity value of the network usage advance and optionally other data. The server computer (102) may include an instruction transmitting component (614) arranged to transmit an instruction including the data elements. The instruction may be configured or arranged to cause provisioning of a network usage advance to an account associated with the subscriber identifier and the type classification. The server computer may include a recovery component (616) arranged to divert the or part of an amount of value associated with a deposit event associated with the subscriber identifier and a type classification towards recovery of an outstanding network usage advance associated with the type classification. The server computer (102) may include credit data components (618) associated with each of the plurality of type classifications, each credit data component being configured to update credit data associated with the respective type classification based on processing a subset of data relating to the relevant type classification. Aspects of the present disclosure may provide a flexi-loans service that includes a telco allowance-based recovery method. The service described herein can target and be offered to an MNO’s prepaid subscribers who are regularly topping up/recharge their accounts with Special Tariff Vouchers (STVs), which include telco allowance in the form of MBs, GBs etc., but do not affect their main airtime account. As a result, often these subscribers are excluded from the qualified base of normal network usage advance service. In this case, specific data bundles (telco allowance in MBs or GBs) will be offered to these subscribers in the form of an advance, and the respective telco allowance (MBs or GBs) plus a fee (again in the form of MBs or GBs) will be recovered during their next purchase of an STV/mobile bundle. The flexi loans service described herein may be offered in parallel with normal network usage advance service (or ACS service) that typically is based on the provision and the recovery of airtime advances, that include an exclusive or inclusive fee, and a Total Credit Limit (TCL) that is calculated for each subscriber based on airtime recharges, airtime consumption etc. The flexi loans service implements and applies a dual TCL method, where subscribers who regularly use STVs/Data packages to top up their account are segmented for Flexi Loans service (Data-only bands) and an additional Flexi Loans TCL (in the form of MBs or GBs and not Airtime) is calculated based on STV recharges, recoveries etc. Flexi loans service is accessible from the same pull and push channels (and short codes) that the normal ACS implements, ex. SMS, USSD, IVR etc. ACS-only eligible subscribers view the normal ACS menus, while Flexi Loans service’s eligible subscribers view also the respective Flexi Loans menu options. Subscribers who are eligible for flexi loans service and their data balance drops below a specific threshold (ex. 200MB), receive a data loan offer (e.g. as per the table below) based on their flexi loans service TCL. The communication towards the subscriber is performed only in Data allowance (MBs and/or GBs) and not in monetary value. The systems and methods described herein may implement a telco allowance-based recovery method in which any given data loan (from Table above) is recovered in the form of data allowance (i.e. MBs) that is purchased through STVs/Data packages. For example, a user with an open Flexi Loan of 500MB (from Table above), tops up with a data package/STV of 1 GB (1024 MB). The allowance of the data plan of 1 GB, is used to recover the 500MB data loan plus its equivalent fee of 15% data allowance (extra 75MB). In this case the recovered data will be 575MB and user will end up with 1024MB – 575MB = 449 MB in his/her data account. The recovered principal amount (data telco allowance in MBs, ex. 500MB in above example) is transferred back to the service provider’s loan disbursement account, while the recovered fee amount (data telco allowance in MBs, ex.75MB in above example) is transferred to the service provider’s collection (recovery) account. The recovered fee may be shared between the MNO and the service provider on a monthly basis, e.g., based on the monthly MB yield (price per MB). Figure 9 illustrates an example of a computing device (800) in which various aspects of the disclosure may be implemented. The computing device (800) 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 (800) 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 (800) to facilitate the functions described herein. The computing device (800) may include subsystems or components interconnected via a communication infrastructure (805) (for example, a communications bus, a network, etc.). The computing device (800) may include one or more processors (810) and at least one memory component in the form of computer-readable media. The one or more processors (810) 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 (800) 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 (815), 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 (815) including operating system software. The memory components may also include secondary memory (820). The secondary memory (820) may include a fixed disk (821), such as a hard disk drive, and, optionally, one or more storage interfaces (822) for interfacing with storage components (823), 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 (800) may include an external communications interface (830) for operation of the computing device (800) in a networked environment enabling transfer of data between multiple computing devices (800) and/or the Internet. Data transferred via the external communications interface (830) may be in the form of signals, which may be electronic, electromagnetic, optical, radio, or other types of signal. The external communications interface (830) may enable communication of data between the computing device (800) and other computing devices including servers and external storage facilities. Web services may be accessible by and/or from the computing device (800) via the communications interface (830). The external communications interface (830) 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 (830) 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 (800). One or more subscriber identity modules may be removable from or embedded in the computing device (800). 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 (810). A computer program product may be provided by a non-transient or non-transitory computer- readable medium, or may be provided via a signal or other transient or transitory means via the communications interface (830). Interconnection via the communication infrastructure (805) allows the one or more processors (810) 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 (800) either directly or via an I/O controller (835). One or more displays (845) (which may be touch-sensitive displays) may be coupled to or integrally formed with the computing device (800) via a display or video adapter (840). 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 or non-transitory 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. Some portions of this description describe the embodiments of the invention in terms of algorithms and symbolic representations of operations on information. These algorithmic descriptions and representations, such as accompanying flow diagrams, are commonly used by those skilled in the data processing arts to convey the substance of their work effectively to others skilled in the art. These operations, while described functionally, computationally, or logically, are understood to be implemented by computer programs or equivalent electrical circuits, microcode, or the like. The described operations may be embodied in software, firmware, hardware, or any combinations thereof. 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 set forth in any accompanying claims. Finally, throughout the specification and any accompanying claims, unless the context 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.