OA18992A - Method to push toll-free applications to a user device - Google Patents

Method to push toll-free applications to a user device Download PDF

Info

Publication number
OA18992A
OA18992A OA1201600216 OA18992A OA 18992 A OA18992 A OA 18992A OA 1201600216 OA1201600216 OA 1201600216 OA 18992 A OA18992 A OA 18992A
Authority
OA
OAPI
Prior art keywords
data
application
data traffic
electronic device
network
Prior art date
Application number
OA1201600216
Inventor
Subash Mandanapu
Original Assignee
Orange
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Orange filed Critical Orange
Publication of OA18992A publication Critical patent/OA18992A/en

Links

Abstract

The present system relates to a server for providing data connectivity to an electronic device, the server comprising a memory storing data connectivity policy information for the electronic device, the data connectivity policy information defining a data traffic threshold marking a change in data traffic billing for data traffic the electronic device may exchange with one or more service providers over a telecommunication network, a receiver configured to monitor, via data connections over the telecommunication network, data traffic from instances of one or more applications installed on the electronic device; a usage monitor configured to maintain a first quantity indicative of the data traffic monitored via the data connections, and a data connectivity policy manager configured to detect that the first quantity exceeds the data traffic threshold of the data connectivity policy; determine from the data traffic that caused the detection a first application requesting such data traffic, retrieve a second application linked to the first application, the second application being characterized with data traffic billing specific to the second application, present the second application to the electronic device.

Description

METHOD TO PUSH TOLL-FREE APPLICATIONS TO A USER DEVICE
BACKGROUND
Field
[0001] The present application relates generally to acquiring access to a data network and more specifically to Systems, methods, and devices for toll-free application data network access.
Description of Related Technology
[0002] In many télécommunication Systems, the operators of a network control which electronic devices can access the network as well as the degree of access permitted. The access may be controlled by a subscription. The subscription is generally an agreement between a user of the electronic device and a network operator. The agreement typically includes payment for access.
[0003] As devices become more robust, the content availabîe for display via the devices also increases. The devices may process more data in a faster way to provide enhanced user expériences. For example, electronic devices such as smartphones are capable of downloading high-definition video content via a cellular/LTE/3G connection for display on the smartphone.
[0004] While the devices may be consuming more data, the users must account for the increased data obtained via the network. To help curb the overall network impact, some network operators hâve introduced limited data plans, through e.g. an allowed quantity per month. These limited plans allow a fixed quantity of data access for a device. Should a particular device consume more than the plan amount, the user of such a device is either cutoff from further access or permitted additional access at an extra, perhaps, cost.
[0005] Furthermore, some devices are availabîe without a data plan. Such devices may be configured to execute applications such as a video or music player. These devices may attach to a data network using a Wi-Fi network, but, due to the lack of a contract, are unable to access the data network via cellular/LTE/3G connections.
[0006] To avoid the burden of limited data plans to the users, some network operators and telcos hâve partnered with third party companies to offer toll-free (e.g., no charge) or discounted connectivity for applications. For example, the companies may offer prepaid applications that would allow a user to access and use an application for a certain amount of time or data, even in a roaming situation. The data connectivity of such an application is then charged to the third party company providing the application.
[0007] A problem nevertheless arises when the user of an electronic device is not aware that his electronic device is about to use up ail its data plan. Furthermore, the user may not be aware either that the application he is currently using has a toll-free version. Accordingly, devices, Systems, and methods for alerting a user of existing toll-free application data network access are désirable.
SUMMARY OF CERTAIN INNOVATIVE ASPECTS
[0008] In one innovative aspect, there is a server for providing data connectivity to an electronic device, the server comprising a memory storing data connectivity policy information for the electronic device, the data connectivity policy information defining a data traffic threshold marking a change in data traffîc billing for data traffic the electronic device may exchange with one or more service providers over a télécommunication network, a receiver configured to monitor, via data connections over the télécommunication network, data traffic from instances of one or more applications installée! on the electronic device; a usage monitor configured to maintain a first quantity indicative of the data traffic monitored via the data connections, and; a data connectivity policy manager configured to detect that the first quantity exceeds the data traffic threshold ofthe data connectivity policy, détermine from the data traffic that caused the détection a first application requesting such data traffic, retrieve a second application linked to the first application, the second application being characterized with data traffic billing spécifie to the second application, présent the second application to the electronic device .
[0009] Thanks to the présent system, the user may enjoy further data connectivity with his favorite application, i.e. the one that caused the exhaust the data traffic limitations, i.e. the threshold, as an alternative function of the application is pushed to his communication device. By alternative, one may understand an application that has operator spécifie billing (conditions), i.e. that will be billed differently than through the user regular data plan, relîeving the burden on his exhausted data plan.
[0010] In another innovative aspect, there is a method for providing an application to an electronic device in a télécommunication network, the method being carried out by an access control server of the télécommunication network and comprising monîtoring, via data connections over the télécommunication network, data traffic from instances of one or more applications installed on the electronic device; maintaining a first quantity indicative of the data traffic monitored via the data connections; detecting that the first quantity exceeds the data traffic threshold of a data connectivity policy associated to the electronic device, the data connectivity policy defining a data traffic threshold marking a change in data traffic billing for data traffic the electronic device may exchange with one or more service providers over the télécommunication network; determining from the data traffic that caused the détection a first application requestïng such data traffic; retrieving a second application linked to the first application, the second application being characterized with data traffic billing spécifie to the second application; and, presenting the second application to the electronic device.
[0011J In a further innovative aspect, there is a computer-readable storage medium comprising instructions exécutable by a processor of an apparatus. The instructions cause the apparatus to perform the method of providing an application to an electronic device as described above.
[0012] The Systems, methods, and devices of the invention each hâve several aspects, no single one of which is solely responsible for its désirable attributes. Without limiting the scope of this invention as expressed by the claims which follow, some features will now be discussed briefly. After considering this discussion, and particularly after reading the section entitled Detailed Description one will understand how the features of this invention provide advantages that include secure toll-free cross carrier data network access.
BRIEF DESCRIPTION OFTHE DRAWINGS
[0013] FIG. 1 is a functional block diagram of an example communication network system.
[0014] FIG. 2 is a functional block diagram of an example of a communication device.
[0015] FIG. 3 is a functional block diagram of an example of an application wrapper.
[0016] FIG. 4 is a functional block diagram of an example Wholesale server.
[0017] FIG. 5 is a message diagram for provisioning a toll-free application.
[0018] FIG. 6 is a message diagram for obtaining a Wholesale data connection.
|0019] FIG. 7 is a message diagram for obtaining a prepaid application.
[0020] FIG. 8 is a process flow diagram for an example method of obtaining a prepaid application.
DETAILED DESCRIPTION OF CERTAIN ILLUSTRATIVE EMBODIMENTS
[0021] In one aspect, an architecture comprising a first application operable to request data connection to a télécommunication network in a client/server mode is provided. The architecture also includes a wrapper for the first application and operable to detect triggering of the first application (or intercept first request for data from server), send an authorîzation request to a billing server in the télécommunication network, the authorization comprising an application identifier and an operator identifier for requesting spécial handling of the first application data connection from the operator, and, upon receipt of an authorization from the billing server, authorizing data connection to the network from the first application.
[0022] In another aspect, an operator server for monitoring data activity from a subscriber communication device is provided. The operator server is operable to store data connectivity policy information for a communication device, the data connectivity policy information including a data traffic threshold the communication device may exchange with one or more service providers over a télécommunication network. The data traffic threshold marks a change in data traffic billing for the electronic device. The operator server is further operable to monitor, via data connections to a télécommunication network, data traffic from instances of one or more applications installed on the electronic device. A first quantity indicative of the data traffic monitored via the data connections is maintained by the server. When the first quantity exceeds the data traffic threshold, the server is further operable to retrieve from the data that caused the first quantity to exceed the data traffic threshold an application requesting such data traffic. Another application linked to the retrieved application is then pushed to the communication device. The other application may be associated to operator spécifie billing conditions, e.g. data traffic that is spécifie to that application, like prepaid or discounted. The user can still enjoy the benefit of the application that would otherwise be charged under the subscriber's data connectivity policy, beyond the data traffic threshold. This generally corresponds to charges outside the subscriber's data plan for instance, and can lead to heavy costs for the user of the device.
[0023] Some network operators may fïnd a benefit in partnering with third party companies to offer toll-free (e.g., no charge) or discounted connectivity for applications. By toll-free application, also referred as prepaid application here after, one may understand that the connectivity needed by such an application is paid by a third party company, instead of the regular data plan of the user. For example, the companies may offer prepaid applications that would allow a user to access and use an application for a certain amount of time or data, even in a roaming situation. Such an application could allow for instance access to a content source controlled by a third party company, the actual billing of the access being handled between the network operator and the third party company, transparently to the user.
[0024] The Systems and methods described herein provide the management ofthe tollfree connectivity without the need for user interaction. This is achieved in-part via an application wrapper that is associated with a regular application. The wrapper is generally arranged to detect triggering of the application. Once triggered, the wrapper may send a request to the network to identify a (data traffic) billing plan spécifie to the application. The wrapper may receive authorization from the network and execute the application normally under the billing plan spécifie to the application. The wrapper may report monitored data usage for the application to the network. Through the use of wrapper, the billing of the application may not be charged to the user or charged at a discounted rate.
[0025] In the présent System, a subscriber or user to a network has access to content/servîce providers through data connections enabled thanks to a data connectivity policy, also referred to as the subscription or data plan of the user. The data plan may defined a data connectivity policy which may be for instance a data traffic (quantity) threshold like 4 Gb per month. The data plan may define other conditions data traffic thresholds per application, like x Gb of streaming (application) from a content provider A, y GB of data traffic for a game application PlayGames ... Such gaming or streaming application may be data consuming
[0026J As one example, consider a content provider or third party company like
MegaSports. MegaSports may develop and provide an application which may execute on mobile devices but requires access to a data or télécommunication network to obtain the content. A user A may use profusely the MegaSports application to stream sports games on his communication device. Every month, the user A exceeds his data plan due to his intensive usage of the MegaSports application. Any data connection activities (i.e. data traffic) by the device beyond the data traffic threshold of 4 Gb per month may be charged to the user at a high cost. He then may be tempted to walk away from the MegaSports application.
[0027] To help with its customers, MegaSports may negotiate a global Wholesale data access deal with a network provider like SuperTelco, which for the sake of simplicity is the network operator the user A is a subscriber of. SuperTelco is also referred to as the home network to the user A and his electronic device. The deal may specify various data access limits for traffic associated with the wrapped application. Examples of these limits may include one or more of a maximum data limit, per data unit (e.g., byte, megabyte, gigabyte) price, and géographie coverage, service level agreements (SLAs) on mobile, fixed, per user limits, etc. SuperTelco may provide an API/wrapperto MegaSports’ application.
[0028] The distribution of the MegaSports application may remain an issue. MegaSports may distribute the application through multiple distribution channels including application stores, SIM cards, hardware attachment (e.g., earphones, sensor, etc.), and the like. MegaSports may nevertheless try to reach customers who need the prepaid application the most, i.e. a customer like user A, who exceeds hîs data plan regularly. Thanks to the present system, the SuperTelco server may monîtor the data connections of the user A communication device. The monitoring may include maintaining a first quantity indicative of the data traffic resulting from the data connections. Exceeding the data traffic threshold defined in the data connectivîty policy for user A may be seen as a triggering event for switching to prepaid applications. Indeed, exceeded the 4 Gb per month may cause for instance billing conditions outside the data plan. To do so, the operator server may analyze the data traffic causing the triggering event. The analysis may include retrieving the application responsible for the data traffic that caused the triggering event, here MegaSports for instance. The server will then retrieve and present or push a prepaid version of MegaSports, e.g. the wrapped version, as an alternative to the user A current version of the application. When user A tries to use the prepaid MegaSports application after downloading it on his communication device, SuperTelco may identify the application traffic as related to a prepaid version of MegaSports and manage the session until the negotiated quota expires. This may include refraining from billing the user for application traffic for the
MegaSports application, even if the user has exhausted his data plan, i.e. passed the data traffic threshold. Thanks to the détection of the needs for a prepaid version of the
MegaSports application, user A may use the application further without causing excessive charges beyond his data plan.
[0029] When the electronic device of user A is visiting and accessing a partner network (i.e. roaming outside its home network), such as OtherTelco, the data traffic from the user A communication device may be charged on his data plan at a higher cost or simply may not be covered by the data plan. The data connectivity policy may run out, i.e. be exceeded, immediately or fairly shortly after data connections are made while roaming. The monitoring of the first quantity may be carried out at the partner network level or Consolidated at the home network level. The operator server of the visited network may be able to push the prepaid version of the MegaSports application as with the previous example ofthe home network.
[0030] One may note that the push may be direct through the network operator server, home or visited, or indirect through the service provider, being notified of the application that caused the exceeding ofthe data traffic threshold for the communication device.
[0031] Once the user starts using the prepaid MegaSports application in the visited network, its data connection requests may be routed to SuperTelco to validate access (e.g., via APIs). Once validated SuperTelco can provide OtherTelco with SLAs and per user quota limits. OtherTelco may manage the end user session including allowing traffic to and from the MegaSports application based on the provided information. Upon completion of a user session or another designated time, OtherTelco may send a clearance request to SuperTelco. The clearance request may include the amount owed to OtherTelco for allowing the application traffic for the MegaSports application. SuperTelco may then settle the charges to OtherTelco.
[0032] One non-limiting advantage of the described aspects is the ability to provide a data rich application in way that does not require the user to pay for accessing. The bargain of receiving the user's usage data in exchange for free data access subsidized by the application provider may be an attractive bargain.
[0033] A further non-limiting advantage of the described aspects is the transparency to the user and the application provider, ln part because the application wrapper in its prepaid version forms a contain within which the application can execute, the functions of the application may be monitored and enhanced to provide the toll-free expérience without the need for further user or application provider configurations.
[0034] Another non-limiting advantage of the described aspects is the application can access a network controlled by a Wholesale network operator who has negotiated the wrapped application with the application provider. The application may also access a network controlled by a partner network operator (e.g., roaming). In such implémentations, the partner may allow the application toll-free access and instead of charging the user, the partner can reconcile the cost of the access with the Wholesale operator. Furthermore, devices without a traditional cellular data plan may use aspects described to use a data rich application.
[0035] A further non-limiting advantage of the described aspects includes the provision of a toll-free version (if available) of an application when the system detects that an application generating data traffic to and from an electronic device has cause the device to exceed its subscription plan. The user of the electronic device may further continue the usage of the application under operator spécifie billing conditions (prepaid or discounted) different than his regular data plan.
[0036] An electronic device subscriber to an operator network may be associated to a data connectivity policy defining conditions under which the device may exchange data traffic with one or more service provider over the network. Within these conditions, data traffic may be billed to the user of the electronic device at a fixed or advantageous cost. Outside these conditions, data may still be exchanged but under different billing schemes, generally much higher. The conditions may comprise one or more data traffic thresholds marking each a change in data traffic billings. The data traffic thresholds may define a quantity or a duration of data traffic. To détermine which application may cause the electronic device to no longer match the conditions of the data connectivity policy (e.g. exceeds the data traffic threshold), a first quantity indicative of the data traffic exchanged with the electronic device is provisioned at the operator network level. The first quantity is obtained through the monitoring of the data connections from instances of one or more applications installed on the electronic device. As data traffic is measured, the operator server will check if the first quantity still matches the conditions of the data connectivity policies. When further data traffic causes the first quantity to fall outside the conditions, the data is inspected to détermine which application on the electronic device is responsible for the triggering event. In the present system, the operator server has access to an application database linking a regular application {i.e. non prepaid) to alternative prepaid versions. The alternative prepaid versions may include applications providing features and services similar to the regular application.
[0037] Various aspects of the novel Systems, apparatuses, and methods are described more fully hereinafter with reference to the accompanying drawings. The teachings disclosure may, however, be embodied in many different forms and should not be construed as limited to any spécifie structure or function presented throughout this disclosure. Rather, these aspects are provided so that this disclosure will be thorough and complété, and will fully convey the scope of the disclosure to those skilled in the art. Based on the teachings herein one skilled in the art should appreciate that the scope of the disclosure is intended to cover any aspect of the novel Systems, apparatuses, and methods disclosed herein, whether implemented independently of or combined with any other aspect ofthe invention. For example, an apparatus may be implemented or a method may be practiced using any number of the aspects set forth herein. In addition, the scope of the invention is intended to cover such an apparatus or method which is practiced using other structure, functionality, or structure and functionality in addition to or other than the various aspects ofthe invention set forth herein. It should be understood that any aspect disclosed herein may be embodied by one or more éléments of a claim.
[0038] Although particular aspects are described herein, many variations and permutations of these aspects fall within the scope of the disclosure. Although some benefits and advantages of the preferred aspects are mentioned, the scope of the disclosure is not intended to be limited to particular benefits, uses, or objectives. Rather, aspects of the disclosure are intended to be broadly applicable to different data access technologies, system configurations, networks, and transmission protocols, some of which are illustrated by way of example in the figures and in the following description of the preferred aspects. The detailed description and drawings are merely illustrative of the disclosure rather than limiting, the scope of the disclosure being defined by the appended claims and équivalents thereof.
[0039] FIG. 1 is a functional block diagram of an example communication network system. The system 100 includes a communication device 200. The communication device
200 may be an electronic communication device such as a mobile phone, a Smart phone, a tablet computer, a personal computer, a game console, a set-top box, or other communication device configured to transmit/receive data.
[0040] The communication device 200 may include an application 218. An application may generally refer to an installed capability for the communication device 200. More generally, the expressions application or application program (AP) in the present description may be taken in a very general sense, and may be seen as any tool that fonctions and is operated by means of a computer, with the purpose of performing one or more fonctions or tasks for a user or another application program. To interact with and control an AP, a graphical user interface (GUI) of the AP may be displayed on the display of the electronic device. Example applications include a web browser, a movie viewer, a music player, a newsreader, a document editor, or other functional additions to the communication device 200. The application 218 may be installed on the communication device 200 by the manufacturer, a network operator providing service for the device, and/or a user of the communication device 200. The application 218 may be installed once hardware is attached to the communication device 200. For example, attaching a sensor to the communication device 200 may cause the execution/installation of the application 218. The installation may be performed at the time of manufacture, via over the air provisioning, via storage coupled to the communication device 200 such as a SIM card, or other suitable installation means.
[0041] Once an application 218 has been pushed in its prepaid version to the communication device 200, the application may be wrapped by a wrapper 300 (not shown in FIG. 2). The wrapper may be considered a container for the application 112. The application 218 may be exécutable without a wrapper (as it is a regular application to begin with), but the wrapper may provide additional functionality for the application 218 without requiring the application developer to know the details of the wrapper interface. For example, an application developer may generate a new interactive game. Standing alone, the application may request network access for playing the game. In a wrapped mode, the application may request network access via the wrapper for playing the game. The wrapper may intercept the network access request and perform additional processing related thereto such as associating the application to operator spécifie billing, i.e. data traffic billing spécifie to that application.
(0042] The communication device 200 may be configured to access a network 130 via an access point 120. The access point 120 may be a Wi-Fi access point, a cellular access point, an LTE or other 3G access point, a radio access point, a wired access point (e.g., Ethernet), or other network portai. Accordingly, the network 130 may be a packet switched network, a public network, a wide-area network, a private area network, a mesh network, a cellular network, a radio network, a local area network, or other such communication network configured to transmit and receive data between devices.
[0043] The access point 120 may be configured to permit certain communication devices access to the network 130. The access point 120 may perform authorizatîon for the communication device before allowing access to the network 130. The communication device 200 may provide information to the access point 120 which may be used to détermine whether or not to allow the communication device 200 to access the network 130. The access point 120 is generally associated with an entity such as a network operator. The network operator is the entity which détermines which electronic devices may access the network 130. For example, a télécommunications company may construct a radio tower access point to allow customers with a valid subscription to access a network. In such cases, the télécommunications company may wish to limit or otherwise control who can access the network.
[0044] FIG. 1 shows an access control server 400 in data communication with the network 130. The access control server 400 is configured to provide access to electronic or communication devices on a subscription basis. The access control server 400 may receive information regarding communication devices and/or applications which are allocated an amount of network access, based on a data connectivity policy for each communication device. Accordingly, when a communication device requests access via the access point 120, the access point 120 may inquire with the access control server 400 as to whether the communication device is authorized for network access. For example, a détermination as to whether the communication device 200 has a valid subscription may be performed. In the event the communication device is not authorized, the access point 120 may décliné the network access to the communication device 200. The network operator managing the access control server 400 will be referred to as the home network operator to the communication device 200.
[0045] The access control server 400 is in further communication with a billing server 150. The billing server 150 is configured to receive information regarding access for the access control server 400. Where the access point 120 is operated by an entity other than the home network operator, the operator of the network access point 120 may request compensation for allowing the communication device 200 to access the network. The billing server 150 may be configured to facilitate this reimbursement by reconciling the usage authorized by the access control server 400 with the operator of the network access point 120. In some implémentations, the billing server 150 may be configured to generate a billing request to a third-party such as the application developer. The billing request may indicate an amount requested. In some implémentations, the billing server 150 may be configured to generate a billing request to an account associated with the communication device 200.
[0046] The access control server 400 may also hâve a Wholesale function, to enable prepaid (wrapped) applications to get access to the network 130 on a Wholesale basis. The home network operator may also be seen as a Wholesale operator.
[0047] The access control operator server 400 is further configured to communicate with a packet inspector 160. As shown in FIG. 1, the packet inspecter 160 is in direct communication with the access control server 400. In some implémentations, the packet inspector 160 may be coupled via the network to the access control server 400. In some implémentations, the packet inspector 160 may be integrated as part of the access control server 400.
[0048] The packet inspector 160, using e.g. computer network packet filtering, is configured to receive a packet of data and identify characteristics of the packet through a deep packet inspection (DPI). Such packets of data may include the data traffic from data connections over the network 130 to and from the communication device 200. Characteristics which the packet inspector 160 can identify include source address, destination address, source URL, destination URL, packet size, packet length, packet transmission time, application generating the packet, and the like. The packet inspector 160 may be configured to transmit an inspection report including one or more of the characteristics identified. In some implémentations, the packet inspector 160 may provide several services. For example, a service designed to accept the packet and return the application identifier for the application generating the packet may be included. As another example, a service designed to accept the packet and one or more inspection ruies and return a Boolean value indicating whether the packet is permitted may be included.
[00491 FIG. 1 also includes a partner operator server 180. The partner operator server 180 generally refers to an operator who has a partnership to allow a device registered with the home network operator to roam, i.e. hâve access to communication services when attached to the partner network. The partner operator may also provide toll-free access to the wrapped application through an agreement (e.g., charge-back agreement) with the Wholesale operator. This agreement and subséquent authorization may be achieved through messages transmitted from the partner operator server 180 and the Wholesale function of the access control server 400 via the network 130. The partner operator server 180 may be also configured to communicate with the packet inspecter 160 as described above. In some implémentations, the partner operator server 180 may be coupled with or include a partner packet inspector (not shown).
[0050] The system 100 shown further includes an application provider 185. The application provider 185 is an entity (e.g. the third party company) that provides a regular application, which will be wrapped in an alternative prepaid version. The application provider 185 may be coupled with the network 130. The application may be provided via the network 130 such as through an Internet download or an application store. In some implémentations, the application provider 185 may provide the application to the Wholesale function of the access control server 400 for wrapping and/or distribution. The application provider 185 may also establish the data connectivity policy for the application via the network 130. FIG. 1 shows an optional communication path directly from the application provider 185 to the access control server 400. Such a direct communication path may be used to provide the application to the Wholesale operator for wrapping and/or establish the connectivity policy. The connectivity policy may include data traffic billing spécifie to the application, e.g. a quantity of data allowable for toll-free access. The prepaid versions of applications available to the communication device may be stored in an application database 170 accessible to the access control server 400. The application database 170 may also store information about the available prepaid versions of applications, like the application connectivity policy, and altematively addresses where the prepaid versions may be found.
[0051] FIG. 2 is a functional block diagram of an example of a communication device.
When implemented as a device hosting an application, and its alternative prepaid version, the communication device 200 may include circuitry for performing the main functions of a mobile phone, such as a mobile smart-phone, a tablet computer, a laptop computer, gaming console, set-top-box, Personal computer, or the like.
[0052] The communication device 200 may include one or more antennas 202 and a transceiver unit 204 for the transmission and réception of wireless signais; output hardware 206 such as an audio unit, a microphone, and/or a display screen; a clock 208; a power source 210 (e.g., battery, solar panel, wired power connection); a memory 212, input 10 hardware 214 such as a keypad or touchscreen for receiving a user input, a GPS unit for indicating the geographical location of the device, a wired network connection (e.g., Ethernet port); and a processor 216. Some output hardware 212 such as a display screen may include a touch sensitive screen. Accordingly, some output hardware 212 may provide input functionality and some input hardware 214 may provide output functionality. The 15 memory 212 may include one or more memory circuits including non-volatile memory circuits (e.g., EEPROM, FLASH, etc.).
[0053] Depending on the capabilities of the communication device 200 and the supporting télécommunication networks the communication device 200 can also provide a range of voice and data communication services. As non-limiting examples the 20 communication device 200 provides téléphoné network based communication services including voice, multimedia and text messaging, as well as other data exchange capabilities, enabling Internet access and email exchange, for example.
[0054] The communication device 200 may be configured to exchange data via a 3G, 4G, LTE or GPRS network with remote servers such as a access control server and/or an 25 application provider, and to enable data exchange enabling Internet access (e.g., data network). The communication device 200 is opérable to hâve applications or widgets 218 installed, such as, but not limited to social networking applications, gaming, streaming applications or email applications, for example, which when executed may exchange data with one or more service providers, e.g. remote servers. Each application or widget installed 30 on the communication device 200 may hâve an associated graphical user interface.
[0055] The communication device 200 may further include one or more wrapped versions 220 of the applications 218. A wrapped application 220 is distinguishable from an application in that communications to/from the wrapped application 220 are exchanged via an application wrapper, to enable network spécifie billing for its data activity, e.g. prepaid or discounted.
|0056] FIG. 3 is a functional block diagram of an example of an application wrapper. The application wrapper 300 includes a connection detector 302. The connection detector is configured to detect connection activity for the wrapped application 220. Connection activity may include a request for a connection, a request to transmit information via a connection, termination of a connection, reset of a connection, or other data communication connection activities.
[0057] The connection detector 302 may be configured to detect connection activity based on the application communications received from the wrapped application 220. The connection detector 302 may be configured to generate a message identifying the connection activity and transmit this information via a bus 324.
[0058] A connection manager 304 may obtain the message identifying the connection activity. If the message identifies a request for a new connection, the connection manager 304 may cause the initiation of the connection. Once a connection is established, the connection manager 304 may be configured to maintain the connection on behalf of the wrapped application 220.
[0059] As part of establishing a connection, the connection manager 304 may be configured to establish a toll-free connection. The connection manager 304 may transmit an authentication request via an authentication transceiver 306. The authentication request may be transmîtted to a Wholesale operator server. The authentication request includes an identifier for the application and the Wholesale operator associated with the application.
[0060] The authentication transceiver 306 may receive the authentication response. The authentication response may include an authentication token for a Wholesale data connection. The token may be used for subséquent communications to or from the application to indicate the authorization status for the connection. The authentication response may also include a data connectivity policy including one or more of a data transmission amount, a receive data amount, a data connection duration, and a policy expiration time.
[0061] The authentication response may indicate a Wholesale connection is not available. In such situations, the connection manager may attempt to establish a connection based on subscription information for the device.
[0062] A configuration manager 308 may be included in the wrapper 300. The configuration manager 308 may include one or more parameters for the wrapper 300 and/or the wrapped application 220. For example, the configuration manager 308 may receive wrapped application configuration information via the transceiver 204. The wrapped application configuration information may identify a network address for the Wholesale operator server, information to be included in the authorization request, information regarding the data connectivity policy, applying copy protections for the application or associated data stored for the application, enabling/disabling device features during application execution (e.g., screen shot, caméra, microphone), or other parameter(s) to adjust the function ofthe wrapper 300 and/or the wrapped application 220.
[0063] One non-limiting advantage of the configuration manager 308 is the ability to remotely adjust the wrapper 300 and/or the wrapped application 220. Such control may be useful for providing bug fixes, disabling rogue devices/applications, or dynamically adjusting operational aspects of the wrapped application 220 without requiring a reinstallation or affirmative action on behalf of a user ofthe device.
[0064] The wrapper 300 may also include a Virtual private network adapter 310. The Virtual private network adapter 310 may be included to provide secure communication between the wrapped application 220 and the network 130. Upon establishing a connection, the Virtual private network adapter 310 may be used for application communications. The Virtual private network adapter 310 may be used only for authentication. In some implémentations, it may be désirable to use the Virtual private network adapter 310 for application data communications as well. For example, if the application is a banking application, the application developer may détermine that certain transactions utilize the Virtual private network adapter 310.
[0065] As information flows through the established connection, a data meter 312 is configured to monitor information for the authorized data connection. Information which may be collected includes a data transmission amount, a data received amount, a data connection duration, a destination of data transmitted, a source of data received, one or more data request messages, one or more data response messages, and a time at which the authorized data connection was established. The data meter 312 may also time stamp each element of information to identify when the metered value was collected.
[0066] A usage analyzer 316 may be configured to process the information collected by the data meter 312. Such processing may include calculating usage information for an authorized data connection. The usage analyzer 316 may also be configured to compare the usage information with the data connectivity policy. For example if the number of bytes of data for the wrapped application 220 exceeds a quantity specified in the data connectivity policy, the usage analyzer may generate a message indicating the policy amounts hâve been exceeded. The usage analyzer 316 may receive a list of registered addresses for the application and/or data limits for registered and ηοη-registered traffic. To assist in the analysis of packets of data, the usage analyzer 316 may be configured to transmit the packet to the packet inspecter 160. The usage analyzer 316 may be further configured to collect application spécifie analytics such as the time spent on given location within the application, buttons pressed, application performance, and the like. In some implémentations, the application configuration may specify the aspects to analyze.
[0067] This message may be received by an event processor 320. The event processor 320 may be configured to instruct the wrapper 300 and/or the wrapped application 220 to take one or more actions based on the received event. Events may include usage events, such as exceeding the authorized data connectivity policy. Events may include device events such as powering down, low battery, incoming phone call, termination of a phone call, initialization of an application, termination of an application, device locking, device unlocking, and the like. An example of an action may be for the connection manager 304 to terminale a connection upon détection of exceeding the authorized data connectivity policy. In some implémentations, the event processor 320 may be configured to transmit event information to a third-party. For example, a wrapped application to keep track of where a child's smartphone is located may detect movement into an area of interest (e.g., into a 'restricted' area, at a spécifie time, etc.). This event may cause the transmission of a text message or email message to another device (e.g., the parent's smartphone) in addition to transmitting application data to the application provider. In the case of an email message, because the wrapped application may provide toll-free access, the application may receive data connectivity to send this potentially life-saving message.
[0068| Another example of an action may be to transmit a report ofthe usage analyzer
316. A sync engine 318 may be configured to provide such an update of usage information for the wrapped application 220. The sync engine 318 may obtain the usage information from the usage analyzer 316, préparé the information for transmission, and send the usage transmission. The sync engine 318 may be configured to transmit such usage information based on an event, and or the periodic schedule. For example, the sync engine 318 may be configured to transmit a report of usage every five minutes. The usage report may include the authorization token, an application identifier, an operator identifier, and a device identifier.
[0069] An error monitor 322 is included to detect errors raised by the application and or the wrapper 300. The error monitor 322 may generate an error report. This error report may be transmitted to the Wholesale server operator via the sync engine 318. The error report may include the authorization token, an application identifier, and operator identifier, a device identifier, and information related to the error raised.
[0070] The wrapper 300 shown in FIG. 3 receives device information. The device information may include one of power or network bandwidth availabîe to the device, a location identifier indicating a geospatial location ofthe device, a device identifier uniquely identifyingthe device, and a user identifier. Examples of device information include a device operating system identifier, an operating system version, and device events and/or errors.
The device information is made availabîe to the éléments of the wrapper 300 for further processing. For example, the sync engine 318 may be configured to defer transmitting usage reports when device resources are limited (e.g., low bandwidth, low power).
[0071] The bus 324 may couple the above described éléments for the wrapper 300. The bus 324 may be a data bus, communication bus, or other bus mechanism to enable the 25 various components of the wrapper 300 to exchange information. It will further be appreciated that while different éléments hâve been shown, multiple éléments may be combined into a single element, such as the data meter 312 and the event processor 320.
[0072] FIG. 4 is a functional block diagram of an example access control server. In the present system, the access control server 400 has two main functions. It is first configured 30 to manage the provisioning of a device normal (i.e. regular) data access, i.e. access according to the device connectivity policy, i.e. its subscription or data plan. This access control management includes allowing data access to the communication device according to its subscription plan as long as the conditions defined in the device connectivity policy are matched. This may include for instance a data traffic threshold marking a change in data traffic billing. The management may also include keepîng track of the regular data access by maintaining a first quantity indicative of the data traffic resulting from the device data connections.
[0073] The access control server 400 is second ly configured to ma nage the provisioning of a Wholesale data access (e.g., toll-free or subsidized access) for wrapped applications. This Wholesale management includes receiving applications for wrapped distributions, receiving configuration for the application data policy, providing the authentication and application data policy, and, when the application is made available through partner operator networks, providing an authorization interface and réconciliation interface for the partner operators. The Wholesale management also includes detecting when the first quantity maintained for a device no longer matches the conditions of the device data connectivity policy, e.g. when the first quantity exceeds the data traffic threshold of the device data connectivity policy. This triggering event will allow the server 400 to retrieve from the data traffic that caused the détection a first application that requested such data traffic. The wrapped distribution will then include a prepaid version ofthe first application.
[0074] The access control server 400 may include one or more antennas (not shown) and a transceiver 402 for the transmission and réception of wireless signais; a processor 404; an access control and Wholesale database 406; a bus 490 for interconnecting the server 400 different modules and a power source 410 (e.g., battery, solar panel, wired power connection). In some implémentations, the access control server 400 includes a wired network connection (e.g., Ethernet port, fiber optic data port).
[0075] The database 406 may comprise the device data connectivity policy for ail devices which are subscribers to the network operator managing server 400. The device data connectivity policy for a communication device defining conditions under which the device may exchange data traffic with one or more service providers over a télécommunication network, e.g. its home network. Such data connectivity policy may include one or more thresholds over a predefined period of time, say 4Gb/month or 20hours/week, limits beyond which data traffic may still be allowed, but under different billing conditions. The database 406 may further comprise the Wholesale agreements defining the application data connectivity policies for the prepaid application. The Wholesale agreements define the payment agreements between the home network operators, partner network operators and the application provider 185.
[0076] The access control server 400 includes an authentîcation and authorization circuit 420. The authentîcation and authorization circuit 420 is configured to receive data access requests from electronic devices. The data access is granted based on the device data connectivity policy using mechanisms known to the man skiiled in the art. For instance the authentîcation and authorization circuit 420 may be configured to parse a device data access request to identify the information upon which the authorization détermination may be made. The authentîcation and authorization circuit 420 may then compare the information included in the data access request with device information included in the database 406. One may note that the data access for a device may be handled by an authentîcation and authorization circuit hosted by a server different then the access control server 400. It was regrouped here for the sake of simplicity.
[0077] The authentîcation and authorization circuit 420 may also grant Wholesale authorization requests from prepaid applications and generate an appropriate response. The authentîcation and authorization circuit 420 may be configured to parse the authorization request to identify the information upon which the authorization détermination will be made. The authentîcation and authorization circuit 420 may then compare the information included in the authorization request with information included in the database 406. For example, if the authorization request includes an application identifier, the authentîcation and authorization circuit 420 may look up a data policy associated with the application identifier. This information may then be included in the authorization response.
[0078] The authentîcation and authorization circuit 420 maybe further configured to generate an authentîcation token to indicate the authorization détermination for the requests from the prepaid application. The authorization token may be generated only when the request is authorized. In some implémentations, the token may be generated for ali prepaid application requests (e.g., authorized or unauthorized).
[0079] The access control server 400 may further comprise a data traffic receiver 408 to monitor, via data connections over the télécommunication network, data traffic from instances of one or more applications installed on the communication device 200. The packet generator may be consultée! to ensure such a monitoring. The device identifier may also be used to track and monitor data traffic to and from the device.
[0080] The access control server 400 shown in FIG. 4 includes a device and application accountîng circuit 430. The wrapped application accounting circuit 430 is configured to reconcile data usage for the device and the wrapped applications if any on a device. For example, the application accounting circuit 430 may be configured to periodically {e.g., daily, weekly, hourly, monthly) communicate with the billing server. The device and application accounting circuit 430 may transmit indicators to account some of the data traffic for the electronic device as part of its data plan. The device and application accounting circuit 430 may further transmit indicators to exclude the toll-free application data usage from individual subscriber's bills. The application accounting circuit 430 may be further configured to reconcile usage fees associated to the wrapped application incurred via partner operators. In this situation, the application accounting circuit 430 may receive a request for wrapped application data provided via the partner operator and generate a response. The response may include an automatic clearing transaction identifier associated with a funds transfer to the partner operator. The response may include additional status information such as disputed amounts, discrepancy amounts, and the like. The device and application accounting circuit 430 may further generate billing information for the application provider 185. For example, if the application provider 185 has agreed to pay a fixed amount per wrapped application deployed, the device and application accounting circuit 430 may collect this information, such as from the database 406, and generate an appropriate billing request (e.g., via the billing server) for transmission to the application provider.
[0081] The Wholesale server 400 shown in FIG. 4 includes a wrapped application report processor 440. The wrapped application report processor 440 is configured to generate reports illustrating aspects of the wrapped application. The reports may be summary reports such as total number of users or total quantity of data utilized. The reports may include aggregations such as by date/time, by device type, by user, by device, by location, by network used for data access, by application version number, and the like.
[0082] The wrapped application report processor 440 reports may be based on the information collected by a access and Wholesale usage monitor 450. The access and
Wholesale usage monitor 450 is firstly configured to receive the usage information from a wrapped application. The Wholesale usage monitor 450 may store the received information in the database 406. In some implémentations, the access and Wholesale usage monitor 450 may be configured to inspect packet data received from a wrapped application and generate usage information. The packet inspecter 160 may be consulted to generate the usage information.
[0083] The access and Wholesale usage monitor 450 is further arranged to maintain the first quantity, mentîoned before, indicative of the data traffic monitored via the data connections associated to the communication device 200. The first quantity is a measure of the data usage from the device, and may be calculated also using the packet inspector 160. The first quantity may be a measurement of an amount of data traffic, data packets, volume of data traffic ... It may also be a measurement of the duration of the data traffic. The first quantity will be measured based on the type of data traffic thresholds defined in the data connectivity policy ofthe communication device 200.
|0084] The access control server 400 shown in FIG. 4 includes an application provisioning module 460. The application provisioning module 460 is configured to obtain configuration information for wrapped applications such as the data connectivity policy. The application provisioning module 460 may also receive the unwrapped application from the application provider and apply the wrapper. Once provisioned, the wrapped application may be published or otherwise made available to devices via, for example, the application provisioning module 460.
[0085] The access control server further comprises a data connectivity policy manager 460 for monitoring and detecting when the first quantity exceeds the data traffic thresholds of the device data connectivity policy (the triggering event mentîoned before). The data connectivity policy manager 460 is further configured to retrieve from the data traffic that caused the détection of the triggering event a first application requesting such data traffic. The analysis of the data traffic may be carried out using DPI performed by the packet inspector 160. The data traffic causing the first quantity to exceed the data traffic threshold may be the packet received right before or right after the threshold was exceeded. The first application corresponds to the application behind that data packet. Alternatively, it may be the entire data traffic since the first quantity was first maintained. If the first quantity is maintained over a week or a month period, as defined in the data connectivity policy ofthe device, the DPI may be performed over the entire quantity leading to the triggering event.
The first application may correspond to the application responsible for the largest part of the maintained first quantity, e.g. the one most responsible for exhausting the data plan.
[0086] The data connectivity policy manager may further be arranged to retrieve a second application linked to the first application in the application database 170. The second application may be an alternative version ofthe first application, alternative version associated or characterized by data traffic billing spécifie to the alternative version. This may be for instance a wrapped version of the first application, as described in the présent System. Altematively, the second application may be a prepaid version of an application most similar to the first application, e.g. when the first application does not exist in a wrapped version. The second application isthen presented to the communication device by the data connectivity policy manager 460. This may be through a link to the database 170 pushed to the communication device, or the second application itself in a message to the communication device.
[0087] Examples of obtaining a Wholesale data connection and further usage of that data connection are illustrated respectively in FIGs. 5 and 6. They both require the Wholesale functionality ofthe access control server 400, referred to as a Wholesale server in these FIGs. 5 and 6.
[0088] FIG. 5 is a message diagram for obtaining a Wholesale data connection. The message flow of FIG. 5 shows messages exchanged between several entities which may be included in a communication system. For ease of explanation, the number of entities shown has been limited. However, it will be understood that additional entities may be added or multiple entities combined consistent with the description herein. The message flow of FIG. 5 illustrâtes obtaining a Wholesale data connection via a network which is controlled by the Wholesale operator.
[0089] Messaging 550 between the application provider 185 and the Wholesale operator server 400 may be performed to publish the application. In one implémentation, the application provider 185 may generate a binary application. The application may then be uploaded to the Wholesale operator server 400 such as via HTTP, HTTPS, FTP, or other communication protocol. Upon publishing the application, the Wholesale operator server 400 may apply a wrapper to the binary provided by the application provider 185. The publication may be to an application store, a website, or other distribution location/mechanism.
[0090] As part of the messaging 550, the application provider 185 may also specify a
Wholesale agreement with the Wholesale operator server 400. For example a news application provider may negotiate 10 MB of use per user per day for an application to be provided by the Wholesale operator server 400.
[0091] The wrapped application 220 may transmit a connection request to the wrapper 300 via message 552. The wrapper 300 may transmit a message 554 via the access point 120 requesting authorization for Wholesale access for the wrapped application 220. The authorization request may include an application identifier and an identifier for the Wholesale operator. In some implémentations the authorization request may include additional information such as a device identifier, a location identifier, or a user identifier indicative of a user of the application.
[0092] The access point 120 may identify the authorization request as a Wholesale authorization request. The identification may be based on the application identifier and/or the identifier for the Wholesale operator. In some implémentations, the authorization request message may be of a distinguishable type. In such implémentations, the message type may indicate the destination of the authorization request. The access point 120 may be configurée! to allow such traffic to pass through to the Wholesale operator server 400. In some implémentations, the access point 120 may track such requests and include the bandwidth used for further reimbursement from the Wholesale operator.
[0093] The access point 120 may transmit a message 556 to the Wholesale operator server 400 including the authorization request. The Wholesale operator server 400 via message 558 may perform an authorization. The authorization may be based on the information included in the authorization request. For example, if the application is executed on a device located within a retail location, Wholesale access may be granted free of charge to the device. However if the device travels outside the retail location, limited Wholesale access may be granted. The limit may be based on quantity of data, time of day, proximity to the retail location, or other factor.
[0094] A message 560 sent from the Wholesale operator server 400 to the access point
120 includes the authorization response. The authorization response includes an authorization token. The authorization token may be used to identify the authorization détermination for the authorization request, as discussed above. The authorization response may also include a data connectivity policy as discussed above.
[0095] The access point 120 may transmit the authorization response via message 562 to the wrapper 300. Based on the authorization response, the wrapper 300 via message 564 may manage the connections. Managing the connections may include establishing the connection, closing the connection, resetting a connection, or the like. In some implémentations, the connection manager 304 may be configured to manage the connections. Message 566 is transmitted from the wrapper 300 to the wrapped application 220 indicating the connection response. If authorized, the connection response may include an indication that a Wholesale data connection has been established.
[0096] Having established a Wholesale data connection, the wrapped application 220 may begin using the connection to send and receive data.
[0097] FIG. 6 is a message diagram for communicating data via a Wholesale data connection. The message flow of FIG. 6 shows messages exchanged between several entities which may be included in a communication System. For ease of explanation, the number of entities shown has been lîmited. However, it will be understood that additional entities may be added or multiple entities combined consistent with the description herein. The message flow of FIG. 6 illustrâtes application communication via a Wholesale data connection through a network which is controlled by the Wholesale operator.
[0098] A message 650 may include application data. The message 650 may be transmitted from the wrapped application 220 to the wrapper 300.
|0099] The wrapper 300 via message 652 may monitor, meter, log, or otherwise process the application data. Presuming the application data does not violate the data connection policy, message 654 is transmitted from the wrapper 300 to the access point 120 including the application data. The access point 120 may transmit the application data directly to the application provider 185 via message 656. In some implémentations, the application data may be transmitted to another service provider (not shown). For example, the application may access content (e.g., multimedia, images, text) hosted by a third-party.
[00100] Message 658 includes an application response. The application response shown in FIG. 6 is transmitted from the application provider 185 to the access point 120.
[00101] Some access points may be aware that the connection is a Wholesale data connection. For example if the access point 120 is maintained by the Wholesale operator, the access point 120 may optionally meter, monitor, log, or otherwise process the application response. This is shown in FIG. 6 as optional message 660. Such messaging may be useful to further exercise data connectivity policy control. Consider the situation where an application is allocated 100 MB of data. In an extreme case, where an application response exceeds 100 MB of data, the access point 120 may be configured to terminate the connection. In a less extreme case, it may be determined that an average response for the application is 5 MB. If a response is received for a connection which has already logged 97 MB of usage, the access point 120 may be configured to terminate the connection.
[00102] Assuming the access point 120 is not exercising control or otherwise terminating the connection, the application response is transmitted via a message 662 from the access point 120 to the wrapper 300. The wrapper 300 at message 664 will again meter, monitor, log, or otherwise process the application response data. This may include countîng the number of bytes received, identifying the content received, logging any errors obtained, and the like.
[00103] If the wrapper 300 détermines the authorized data policy has not been exceeded, message 666 includes the application response and is transmitted from the wrapper 300 to the wrapped application 220. In the event the data policy has been exceeded, the wrapper 300 may be configured to transmit a message indicating such a state to the application. In this case, the wrapper 300 may also terminate the connection.
[00104] Not shown in FIG. 6 is the perîodic reporting ofthe usage data to the Wholesale operator server 400. The report may include an identification of the application, data monitored or logged, errors, wrapped application configuration (e.g., settings, version number), or other information related to the wrapped application 220.
[00105] FIG. 7 is a message diagram for obtaining a prepaid application. The message flow of FIG. 7 shows messages exchanged between several entities which may be included in a communication system. For ease of explanation, the number of entities shown has been limited. However, it will be understood that additional entities may be added or multiple entities combined consistent with the description herein. The message flow of FIG. 7 illustrâtes obtaining a prepaid application via a network which is controlled by the home network operator.
[00106] The data connections from one or more instances of applications on the communication device 200 generate messages 702 between the communication device 200 and the data traffic receiver 40S. The data traffic receiver 408 informs the usage monitor
450 through messaging 704 which will incrément the data traffic quantity (i.e. the first quantity mentioned before) maintained for the communication device 200. The usage monitor 450 then updates the new value of the data traffic quantity through a message 706 to the data connectivity policy manager 460.
[00107] The data connectivity policy manager will first get the data connectivity policy for the device from the access control database 406 through messaging 708. The communication device may be identified through an identifier determined from the data traffic through the help of the packet inspecter 160 (not shown in the FIG. 8).
[00108] The access control database 406 will reply with message 710 comprising the requested mobile data connectivity policy. In a further message 712, the data connectivity policy manager 460 will compare the updated data traffic quantity received in message 706 to the data traffic threshold of the data connectivity policy received in message 710. Provided the data traffic threshold is not exceeded, further monitoring will be required and messages 702, 704, 706 and 712 may be repeated.
[00109] Once the first quantity exceeds the data traffic threshold in message 714, the data connectivity policy manager 460 will détermine from the data traffic that caused the first quantity to exceed the data traffic threshold a first application requesting such traffic. In a further messaging 716, it will request from the application database 170 a second application linked to the determined first application, The application database replies in a message 718 comprising information about such a second application, like an address, the application data connectivity policy defining its prepaid configuration. The message 718 may even comprise the prepaid (wrapped) application itself.
|00110] In a further message 720, the data connectivity policy manager 460 présents the prepaid application to the communication device 200. The prepaid application as explained before may be an alternative version of the first application or an application similar to the first application.
[00111] FIG. 8 illustrâtes a process flow diagram of an example method for pushing a prepaid application to a communication device. The method may be carried out by the access control server 400.
[00112] In an initiation block 800, the data connectivity policy for different electronic devices is maintained in the access control database 406. As explained before, a device data connectivity policy may comprise at least one data traffic threshold marking a change in data traffic billing for data traffic a communication device may exchange with one or more service providers. The data connectivity policy may be defined over periods like a week or a month, and reviewed each time the period expires, as long as the user maintains his subscription with the network operator. Below the data traffic threshold, over that period of time, the data traffic may not be charge, while any traffic beyond the threshold will be charge at a very high price. The user may need to keep his data traffic under control in order to avoid surcharge resulting from data traffic exceeding the threshold.
[00113] In a further block 802, as the period of billing according to the data plan starts, a data traffic quantity Qdt is set to 0. In a further block 804, the data traffic receiver 408 of the access control server 400 will start monitoring the data connections for one or more devices registered with the operator network managing server 400. The present method is illustrated for a first communication device of the operator network as the monitoring period may vary from one device to the other and may not be in synch.
[00114] In a further block 806, if data traffic is received or intercepted through the data connections monitored in block 804 (answer Yes to block 806), the data traffic receiver 408 will inform the traffic monitor 450 that will incrément QDF accordingly at block 808. Provided no connection is detected for the communication device, the method résumés to block 804 (answer No to block 806),
[00115] In a further block 810, after the traffic monitor has updated the data traffic quantity Qdf with the data connectivity policy manager 460, the manager 460 will compare the quantity Qdf with the data traffic threshold of the device data connectivity policy. Provided it does not exceed the threshold (answer No to block 810, the data plan for the device has not run out yet and the monitoring may résumé at block 804. Provided it does exceed the data traffic threshold (answer Yes to block 810), the data connectivity policy manager 460 will retrieve the data traffic that caused Qdf to exceed the data traffic threshold, in a further block 812. The data traffic to be retrieved may be the data packet that caused Qdf to exceed the data traffic threshold. Alternatively it may be the data traffic from the start of the maintaining of Qdf, i.e. the data traffic since the start of the monitoring period.
[00116] Using the packet inspecter 160, the data connectivity policy manager 460 will retrieve the first application requesting the retrieved data traffic in a further block 814. If it is just the data packet that is retrieved, the application requesting the data packet will be selected. If it is the data traffic since the beginning of the monitoring perîod, the application most responsible for the data traffic may be selected.
[00117] The data connectivity policy manager 460 will then retrieve a second application linked to the first one in the application database 170 at block 816. The second application may be a prepaid version of the same application or a prepaid version of an application similar to the first one. The data connectivity policy manager 460 will then present the second application to the communication device in a further block 818. The présentation may be through a push of the application or an address to retrieve the application from. The présentation of the second application at block 816 may also be carried out by a distinct server like an application store server.
[00118] Reference is made in the present description to a second application linked to the first one, the second application being associated to spécifie data traffic billing. This enables the user for instance to enjoy the same service as with the first application, even when the user has exceeded his current data traffic allowance. More generally, the second application linked to the first one in the application database 170 may be any application that could be pushed to the user to replace the first application that caused the first quantity to exceed the data traffic threshold of the data connectivity policy. The second application could be an alternative application with or without similar functionalities but that the application provider may wish to push to the user in place of the first application.
[00119] In an alternative embodiment of the present System, the electronic device 200 of FIG. 1 may host the receiver, the usage monitor and the data connectivity policy manager. In other words, the détermination that a first application causes the first quantity to exceed the data traffic threshold will be electronic device based, the electronic device then sending a request to a server like the access control server 400 or directly to an application server (like an application store) a request for a second application. That request will comprise the first application that caused the first quantity to be exceeded.
[00120] Such an electronic device will comprise:
[00121] -a receiver configured to monitor data traffic exchanged with one or more service providers over a télécommunication network from instances of one or more applications instalied on the electronic device;
[00122] - a usage monitor configured to maintain a first quantity indicative of the monitored data traffic, and;
[00123] - a data connectivity policy manager configured to:
[00124] * detect that the first quantity exceeds the data traffic threshold of a data connectivity policy associated to the electronic device, the data connectivity policy defining a data traffic threshold marking a change in data traffic billing for data traffic the electronic device may exchange with one or more service providers over the télécommunication network;
[00125] * détermine from the data traffic that caused the détection a first application requesting such data traffic; and,
[00126] * send a request to a server for a second application, the request comprising the determined first application.
[00127] The data connectivity policy may be stored locally in a memory of the electronic device. Alternatively, the memory may be hosted on a distance server like the control access server 400, the détection that the first quantity exceeds the data traffic threshold of the data connectivity policy beingcarried out either locally or with the server 400.
[00128] The present system was illustrated using wrapped applications to turn a regular application into a prepaid ortoll-free application. A regular application may become prepaid through the use of a configuration file defining the application data connectivity policy, and a toll-free agent hosted on the communication device. Similarly to the wrapped implémentation, an agent on the communication device may be able to implement the application data connectivity policy as the application makes data connection requests to the network, and tag the resulting data connectivity requests as related to operator spécifie billing conditions. When implemented through the configuration file and an agent on the communication device, the second application linked to the first application is linked through the configuration file, and may be presented to the user through its configuration file that the user may simply download on his communication device to turn a regular application in a prepaid one using the agent.
[00129] As used herein, the terrn determining encompasses a wide variety of actions.
For example, determining may include calculating, computing, processing, deriving, investigating, looking up (e.g., looking up in a table, a database or another data structure), ascertaining and the like. Also, determining may include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, determining may include resolving, selecting, choosing, establishing and the like. Further, a channel width as used herein may encompass or may also be referred to as a bandwidth in certain aspects.
[00130] As used herein, a phrase referring to at least one of a list of items refers to any combination of those items, including single members. As an example, at least one of: a, b, or c is intended to cover: o, b, c, a-b, a-c, b-c, and a-b-c.
[00131] The various operations of methods described above may be performed by any suitable means capable of performing the operations, such as various hardware and/or software component(s), circuits, and/or module(s). Generally, any operations illustrated in the Figures may be performed by corresponding functional means capable of performing the operations.
[00132] The various illustrative logical blocks, modules and circuits described in connection with the present disclosure may be implemented or performed with a general purpose processor, a digital signal processor (DSP), an application spécifie integrated circuit (ASIC), a field programmable gâte array signal (FPGA) or other programmable logic device (PLD), discrète gâte or transistor logic, discrète hardware components or any combination thereof designed to perform the functions described herein. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any commercially available processor, controller, microcontroller or state machine. A processor may also be implemented as a combination of computing devices, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjonction with a DSP core, or any other such configuration.
[00133] In one or more aspects, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions may be stored on or transmitted over as one or more instructions or code on a computer-readable medium. Computer-readable media includes both computer storage media and communication media including any medium that facilitâtes transfer of a computer program from one place to another. A storage media may be any available media that can be accessed by a computer. By way of example, and not limitation, such computerreadable media can comprise RAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage devices, or any other medium that can be used to carry or store desired program code in the form of instructions or data structures and that can be accessed by a computer. Also, any connection is properly termed a computer-readable medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the définition of medium. Disk and dise, as used herein, includes compact dise (CD), laser dise, optical dise, digital versatile dise (DVD), floppy disk and blu-ray dise where disks usually reproduce data magnetically, while dises reproduce data optically with lasers. Thus, in some aspects computer readable medium may comprise non-transitory computer readable medium (e.g., tangible media), ln addition, in some aspects computer readable medium may comprise transitory computer readable medium (e.g., a signal). Combinations ofthe above should also be included within the scope of computer-readable media.
[00134] The methods disclosed herein comprise one or more steps or actions for achieving the described method. The method steps and/or actions may be interchanged with one another without departing from the scope of the claims. ln other words, unless a spécifie order of steps or actions is specified, the order and/or use of spécifie steps and/or actions may be modified without departing from the scope ofthe claims.
[00135] Software or instructions may also be transmitted over a transmission medium. For example, if the software is transmitted from a website, server, or other remote source using a coaxial cable, fiber optic cable, twisted pair, digital subscriber line (DSL), or wireless technologies such as infrared, radio, and microwave, then the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the définition of transmission medium.
[00136] Further, it should be appreciated that modules and/or other appropriate means for performing the methods and techniques described herein can be downloaded and/or otherwise obtained by a device as applicable. For example, such a device can be coupled to a server to facilitate the transfer of means for performing the methods described herein. Alternatively, various methods described herein can be provided via storage means (e.g., RAM, ROM, a physical storage medium such as a compact dise (CD) or floppy disk, etc.), such that a device can obtain the various methods upon coupling or providing the storage means to the device. Moreover, any other suitable technique for providing the methods and techniques described herein to a device can be utilized.
[00137] It is to be understood that the claims are not limited to the précisé configuration and components illustrated above. Various modifications, changes and variations may be made in the arrangement, operation and details of the methods and apparatus described above without departing from the scope of the claims.
[00138| While the foregoing is directed to aspects of the present disclosure, other and further aspects of the disclosure may be devised without departing from the basic scope thereof, and the scope thereof is determined by the claims that follow.

Claims (15)

1. A server for providing data connectivity to an electronic device, the server comprising:
a memory storing data connectivity policy information for the electronic device, the data connectivity policy information defining a data traffic threshold marking a change in data traffic billing for data traffic the electronic device may exchange with one or more service providers over a télécommunication network, a receiver configured to monitor, via data connections over the télécommunication network, data traffic from instances of one or more applications installed on the electronic device;
a usage monitor configured to maintain a first quantity indicative of the data traffic monitored via the data connections, and;
a data connectivity policy manager configured to:
o detect that the first quantity exceeds the data traffic threshold of the data connectivity policy; and, o détermine from the data traffic that caused the détection a first application requesting such data traffic, o retrieve a second application linked to the first application.
2. A server according to the previous claim 1, wherein the second application is characterized with data traffic billing spécifie to the second application.
3. A server according to the previous claim 2, wherein the second application is the same as the first application.
4. A server according to the previous claim 1, wherein the data traffic threshold is defined for the electronic device.
5. A server according to the previous claim 1, wherein the data traffic threshold is defined for an application.
6. A server according to the previous claim 1, wherein the data traffic threshold and the first quantity are measures of a quantity of data traffic.
7. A server according to the previous claim 1, wherein the data traffic threshold and the first quantity are measures of a duration of the data traffic exchanged over the data connections.
8. A server according to the previous claim 1, the data connectivity policy manager being further arranged when determining from the data traffic that caused the détection a first application requesting such data traffic to:
retrieve the data packet that caused the first quantity to exceed the data traffic threshold, détermine the application requesting the retrieved data packet.
9. A server according to the previous claim 1, the data connectivity policy manager being further arranged when determining from the data traffic that caused the détection a first application requesting such data traffic to:
retrieve the data traffic from the start of the maintaining of the first quantity, détermine the application based on the application most responsible for the retrieved data traffic.
10. A server according to the previous claim 1, the data connectivity policy manager being further arranged to present the second application to the electronic device.
11. A method for providing data connectivity to an electronic device in a télécommunication network, the method being carried out by an access control server of the télécommunication network and comprising:
monitoring, via data connections over the télécommunication network, data traffic from instances of one or more applications installed on the electronic device;
maintaining a first quantity indicative of the data traffic monitored via the data connections;
detecting that the first quantity exceeds the data traffic threshold of a data connectivity policy associated to the electronic device, the data connectivity policy defining a data traffic threshold marking a change in data traffic billing for data traffic the electronic device may exchange with one or more service providers over the télécommunication network;
determining from the data traffic that caused the détection a first application requesting such data traffic;
retrîeving a second application linked to the first application.
12. A non-transitory computer-readable storage medium comprising instructions exécutable by a processor of an apparatus for providing data connectivity to an electronic device in a télécommunication network, the instructions causing the apparatus to implement a method according to claim 12.
13. An electronic device, comprising:
a receiver configured to monitor data traffic exchanged with one or more service providers over a télécommunication network from instances of one or more applications installed on the electronic device;
a usage monitor configured to maintarn a first quantity indicative of the monitored data traffic, and;
a data connectivity policy manager configured to:
o detect that the first quantity exceeds the data traffic threshold of a data connectivity policy associated to the electronic device, the data connectivity policy defining a data traffic threshold marking a change in data traffic billing for data traffic the electronic device may exchange with one or more service providers over the télécommunication network;
o determine from the data traffic that caused the détection a first application requesting such data traffic; and, o send a request to a server for a second application, the request comprising the determined first application.
14. A method for providing data connectivity to an electronic device in a télécommunication network, the method being carried out by an electronic device in a télécommunication network and comprising:
monitoring, via data connections over the télécommunication network, data traffic from instances of one or more applications installed on the electronic device;
maintaining a first quantity indicative of the data traffic monitored via the data connections;
5 - detecting that the first quantity exceeds the data traffic threshold of a data connectivity policy associated to the electronic device, the data connectivity policy defining a data traffic threshold marking a change in data traffic billing for data traffic the electronic device may exchange with one or more service providers over the télécommunication network;
10 - determining from the data traffic that caused the détection a first application requesting such data traffic; and, sending a request to a server for a second application, the request comprising the determined first application.
15 15. A non-transitory computer-readable storage medium comprising instructions exécutable by a processor of an electronic device in a télécommunication network, the instructions causing the electronic device to implement a method according to claim 14.
OA1201600216 2013-12-23 2014-12-17 Method to push toll-free applications to a user device OA18992A (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US61/920,191 2013-12-23

Publications (1)

Publication Number Publication Date
OA18992A true OA18992A (en) 2019-11-22

Family

ID=

Similar Documents

Publication Publication Date Title
US10244463B2 (en) System and method for application based selection of a radio network
US9654958B2 (en) System and method for providing toll-free application data access
US11601555B2 (en) Methods and apparatuses for service layer charging correlation with underlying networks
EP3042468B1 (en) Secure toll-free application network access
US9749476B2 (en) System and method for providing toll-free application data access
US9838547B2 (en) Method to push toll-free applications to a user device
US20150003299A1 (en) Method and apparatus for performing charging control to a sponsored data application
US11503442B2 (en) Methods of enabling flexible charging in M2M IoT service layer
US10609224B2 (en) Method and system for dynamically allocating operator specific billing rules for data exchange by an application on a user equipment
WO2015071758A1 (en) Data plan and usage based application interface control
OA18992A (en) Method to push toll-free applications to a user device
OA18993A (en) Providing toll-free application data access.
OA18002A (en) Application based selection of a radio network for toll-free applications.
WO2016103052A1 (en) Alternative toll-free architecture and simple deployment modules