WO2016103052A1 - Architecture sans frais alternative et modules simples de déploiement - Google Patents

Architecture sans frais alternative et modules simples de déploiement Download PDF

Info

Publication number
WO2016103052A1
WO2016103052A1 PCT/IB2015/002624 IB2015002624W WO2016103052A1 WO 2016103052 A1 WO2016103052 A1 WO 2016103052A1 IB 2015002624 W IB2015002624 W IB 2015002624W WO 2016103052 A1 WO2016103052 A1 WO 2016103052A1
Authority
WO
WIPO (PCT)
Prior art keywords
application
data
function
connectivity
server
Prior art date
Application number
PCT/IB2015/002624
Other languages
English (en)
Inventor
Subash Mandanapu
Manoj Mourya
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 WO2016103052A1 publication Critical patent/WO2016103052A1/fr

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1432Metric aspects
    • H04L12/1435Metric aspects volume-based
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1403Architecture for metering, charging or billing
    • H04L12/1407Policy-and-charging control [PCC] architecture
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L12/00Data switching networks
    • H04L12/02Details
    • H04L12/14Charging, metering or billing arrangements for data wireline or wireless communications
    • H04L12/1485Tariff-related aspects
    • H04L12/1496Tariff-related aspects involving discounts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/08Metering calls to called party, i.e. B-party charged for the communication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/66Policy and charging system
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/80Rating or billing plans; Tariff determination aspects
    • H04M15/8083Rating or billing plans; Tariff determination aspects involving reduced rates or discounts, e.g. time-of-day reductions or volume discounts
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M15/00Arrangements for metering, time-control or time indication ; Metering, charging or billing arrangements for voice wireline or wireless communications, e.g. VoIP
    • H04M15/82Criteria or parameters used for performing billing operations
    • H04M15/8214Data or packet based

Definitions

  • the present application relates generally to acquiring access to a data network and more specifically to systems, methods, and devices for secure toll-free application data network access.
  • the operators of a network control who can access the network as well as the degree of access permitted.
  • the access can be controlled by a subscription.
  • the subscription is generally an agreement between a user and a network operator.
  • the agreement typically includes payment for access.
  • the content available for display via the devices also increases.
  • the devices can process more data in a faster way to provide enhanced user experiences.
  • some smartphones are capable of downloading high-definition video content via a cellular/LTE/3G connection for display on the smartphone.
  • Some devices are available without a data plan. Such devices can be configured to execute applications such as a video or music player. These devices can 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.
  • an application for monitoring usage of a function on a portable communication device the function embodied on a non-stationary computer- readable storage medium of the device having instructions executable by a processor of the device.
  • the instructions include detecting an input value for executing a function of the application, the function requiring a data connectivity with a telecommunication network.
  • the input value can be generated by a user input on the portable communication service.
  • the input value can also be generated by the application requesting the execution of the function.
  • the instructions further include executing the function of the application, wherein a software library of a development framework is accessed, and wherein the software library allows the monitoring of the data connectivity while the function is executed.
  • the instructions also include ending the execution of the function, and transmitting connectivity information to a network server.
  • the software library also begins metering of the data connectivity while the function is executed, and ends metering of the data connectivity upon ending the execution of the function.
  • the instructions to end metering also include ending metering of data connectivity related to executing the function of the application.
  • the network server is configured to allocate data to a predetermined user data connectivity policy based on the connectivity information.
  • the connectivity information includes an amount of data consumed while executing the function of the application and a device identifier.
  • the device identifier is a phone number of the user.
  • the instructions further include determining the amount of data consumed, where the amount of data consumed relates to a quantity of data consumed while executing the function of the application having been monitored between the software library beginning metering data connectivity and ending metering data connectivity.
  • the instructions also include transmitting connectivity information to the network server in the telecommunication network at a predetermined interval.
  • the predetermined interval is a time interval.
  • the system having a computing environment including a communication device, having an application installed therein, where the application includes a software library of the development framework, the communication device includes an input component configured to detect an input value, where the input value is at least the request to execute of a function of the application and the execution of the function accesses the software library.
  • the input value can be generated by a user input on the portable communication service.
  • the input value can also be generated by the application requesting the execution of the function.
  • the communication device further includes an executing module configured to provide access to the software library whereby the function of the application is executed, and the function requiring data connectivity with a telecommunication network.
  • the communication device also includes a data monitoring module configured to receive instructions from the software library to monitor the data connectivity while the executing module executes the function of the application.
  • the data monitoring module of the communication device is also configured to receive instructions from the software library.
  • the instructions include instructions to begin monitoring data consumed while the execution module performs the function of the application; and stop monitoring data consumed as a result of the execution module completing the function of the application.
  • the communication device further includes a first synchronization engine configured to receive instructions from the software library to transmit connectivity information.
  • the connectivity information includes an amount of data consumed and a device identifier. The amount of data consumed relates to a quantity of data monitored between the instructions to begin monitoring data and to stop monitoring data.
  • the connectivity information can also include an application identifier, a telecommunication network provider identifier, and a time stamp indicating the time of the transmission of the connectivity information.
  • the communication device further includes a connection detector configured to detect the telecommunication network and a connection manager module configured to establish data connectivity between the communication device and the telecommunication network.
  • the system also includes a first server including a second synchronization engine configured to receive connectivity information from the first synchronization engine.
  • the first server can be an application provider server.
  • the first synchronization engine is further configured transmit connectivity information at a predetermined interval.
  • the predetermined interval is a time interval.
  • the first server further includes a allocation module configured to allocate data to a predetermined user data connectivity policy based on the connectivity information.
  • the system further includes a second server.
  • the second server can be a network operator server.
  • the second server includes a database configured to store the predetermined user data connectivity policy and a user connectivity implementation module configured to manage the predetermined user data connectivity policy module.
  • the user connectivity implementation module is further configured to provide access to the predetermined use connectivity policy by the allocation module.
  • the allocation module is further configured to identify the predetermined user connectivity policy based on the device identifier, and allocate data to the predetermined user connectivity policy based on the amount of data consumed while the execution module performed the function of the application.
  • a server for allocating data connectivity on a telecommunication network the server being in data communication with an application installed on a communication device having a software library of the development framework.
  • the server connectivity includes a computer-readable memory storing executable instructions and one or more physical computer processors in communication with the computer readable memory, wherein the one or more physical computer processors are programmed by the executable instructions.
  • the executable instructions include receiving connectivity information from the communication device.
  • the connectivity information includes data usage based on monitored data consumption while the communication device performed a software library function of the application, where the monitoring is initiated by the software library in performing the software library function.
  • the connectivity information also includes a communication device identifier.
  • the executable instructions also include accessing a billing interface, where the billing interface permits allocation of data based on the predetermined user connectivity policy.
  • the executable instructions also include allocating a data credit to the predetermined user connectivity policy, where the data credit is a function of the data usage and the predetermined user connectivity policy is located via the communication device identifier.
  • the server instructions can also include accessing a data allocation instruction, where the data allocation instruction provides allocation guidelines for data consumption by the application while executing the software library function.
  • the data credit can further be based on the data allocation instruction.
  • the allocation guidelines can establish a limit of data consumption to be allocated to the communication device while executing the software library function or can permit all data consumed while executing the software library function to be allocated to the communication device.
  • FIG. 1 is a functional block diagram of an exemplary communication network system having a wrapped application.
  • FIG. 2 is a functional block diagram of an exemplary communication network system having an application utilizing toll-free libraries.
  • FIG. 3 is a functional block diagram of an exemplary communication device.
  • FIG. 4 is a functional block diagram of an exemplary application.
  • FIG. 5 is a functional block diagram of an exemplary application provider server.
  • FIG. 6 is a functional block diagram of an exemplary operator server.
  • FIG. 7 is a flowchart of an exemplary method of monitoring data usage.
  • FIG. 8 is a flowchart of an exemplary method synchronization of the communication network system.
  • an architecture comprising a first application operable to request data connection to a telecommunication network in a client/server mode.
  • the first application includes at least one toll-free library and operable to detect triggering of the toll- free library, commencing monitoring of data usage associated with toll-free library, cease monitoring of data usage, and transmit data usage information to synchronize with a server in the telecommunication network.
  • the usage information includes a communication device identifier and data usage information associated with the toll-free library. The usage information, requesting special handling of the toll-free library data between an application server and an operator server of the telecommunications network, and upon receipt of the usage information crediting the communication device for usage of data.
  • Some network operators cancan find a benefit in partnering with companies to offer toll-free (e.g., no charge) or discounted connectivity for applications.
  • toll-free e.g., no charge
  • discounted connectivity e.g., the companies can 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 experience to the user can be transparent.
  • the systems and methods described herein provide the management of the toll-free connectivity without the need for user interaction.
  • One method requires expensive and time consuming architecture changes across various network elements (e.g., DPI, PCRF, HSS, etc.) to initiate a network wide toll-free system.
  • Another method can be achieved via an application wrapper solution. This approach moves certain policy and metering functions to the application to reduce the costs incurred in the network wide solution.
  • a wrapper can be generally arranged to detect triggering of the application. Once triggered, the wrapper can send a request to the network to identify a specific billing plan for the application.
  • the wrapper can receive the authorization from the network and execute the application normally under the specific billing plan for the application.
  • the wrapper can report monitored data usage for the application to the network.
  • the billing application can be charged to the user or charged at a discounted rate.
  • the wrapper based solution only applies to the entire application toll-free and does not give flexibility to make only certain functions of an application toll-free.
  • toll-free application data monitoring utilizes toll-free libraries.
  • libraries or software developer kits (“SDK”) are developed by network operator for the operating system of a communication device (e.g., iOS®, Andriod®, etc.) for use in an application.
  • SDK software developer kits
  • the application developer can use the libraries within the application to enable toll-free application usage for a function of the application specified by the application provider.
  • the toll-free library can be generally arranged to detect the triggering of a function specified to be offered toll-free. Once triggered the library can send a request to network to provide data access for performing the specified function (e.g., viewing videos, accessing a website via a hyperlink, posting communications between users, etc.). The library can receive a data access response and execute the application function normally. The toll-free library can monitor and meter the data received and/or transmitted in performing the specified function. The toll-library can report monitored data usage, including at least a user identifier (e.g., a phone number, IMEI, IMSI, etc.), for the function to an application provider server located on the network.
  • a user identifier e.g., a phone number, IMEI, IMSI, etc.
  • the application provider server can send a request to identify a specific billing plan for the identified user and/or request access to a billing application program interface ("API").
  • Billing plans and billing APIs can be managed by the network operator, who can provide access to the application provider.
  • the application provider having access to the billing plan, can credit the billing plan associated with the identified user based on the monitored data usage related to the toll-free library.
  • the toll-free library includes three toll-free methods.
  • a third toll-free method can be synchronization functionality.
  • the application developer can invoke the synchronization functional to enable transmission of the data usage to a server at pre-defined intervals or pre-defined data limits. For example, the application developer can invoke the toll-free library sync method as soon as a user consumes 5 MB of data related to the toll-free library.
  • the transmission of syncing information can include more than only data usage.
  • the transmission can include a user identifier, a date/time of the synchronization, an application identifier, and an operator identifier. This information can be provided to the application provider via the sync transmission.
  • MegaSports can develop an application which can execute on mobile devices but requires access to a data network to obtain content.
  • a network provider "SuperTelco” can provide toll-free libraries that MegaSports can download to be included in its application.
  • MegaSports can develop its application to, among other things, provide video advertisements to users of the application.
  • MegaSport can distribute the application through multiple distribution channels including application stores, SIM cards, hardware attachments (e.g., earphones, sensors, etc.) and the like.
  • SuperTelco can provide toll-free access to data consumed by the application for viewing of the advertisements.
  • MegaSports can invoke start and stop methods before and after the video is displayed to the user, and when the user views the advertisement the toll-free library are invoked to measure the data consumption. The data consumption can then be reported to MegaSports via the toll-free library synchronization method, along with the user identifier, application identifier, content identifier, and other information necessary in the data usage report.
  • Super Telco can provide access to billing APIs to the MegaSport, and MegaSport can credit the user's account based on the data usage related to the toll-free library.
  • One non-limiting advantage of the described aspects is the ability to provide a data rich application functionality in a 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 can be an attractive bargain.
  • Another non-limiting advantage of the described aspects is flexibility to the application provider.
  • the application provider is given the flexibility to provide toll- free access to data when necessary for a chosen application function (e.g., only of advertisements and not for communication).
  • FIG. 1 is a functional block diagram of an exemplary communications network system utilizing a wrapped application solution.
  • the system 100 includes a portable wireless device 110.
  • the communication device 110 is 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.
  • the communication device 110 includes an application 112.
  • An application generally refers to an installed capability for the communication device 110.
  • 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 110.
  • the application 112 can be installed on the communication device 110 by the manufacturer, a network operator providing service for the device, and/or a user of the communication device 110.
  • the application 112 is installed once hardware is attached to the communication device 110. For example, attaching a sensor to the communication device 110 can cause the execution/installation of the application 112.
  • the installation can be performed at the time of manufacture, via over the air provisioning, via storage coupled to the communication device 110 such as a SIM card, or other suitable installation means.
  • the application 112 can be wrapped by a wrapper 115.
  • the wrapper 115 can be considered a container for the application 112.
  • the application 112 can be executable without a wrapper, but the wrapper 115 can provide additional functionality for the application 112 without requiring the application developer to know the details of the wrapper 115 interface. For example, an application developer can generate a new interactive game. Standing alone, the application can request network access for playing the game. In a wrapped mode, the application can request network access via the wrapper 115 for playing the game.
  • the wrapper 115 can intercept the network access request and perform additional processing related thereto.
  • the communication device 115 is configured to access a network 130 via an access point 120.
  • the access point 120 can 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 portal.
  • the network 130 can 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.
  • the access point 120 is configured to permit certain communication devices access to the network 130.
  • the access point 120 performs authorization for the communication device before allowing access to the network 130.
  • the communication device 110 provides information to the access point 120 which can be used to determine whether or not to allow the communication device 110 to access the network 130.
  • the access point 120 can be generally associated with a service provider.
  • the service provider is the entity which determines who can access the network 130. For example, a telecommunications company can construct a radio tower access point to allow customers with a valid subscription to access a network. In such cases, the telecommunications company can wish to limit or otherwise control who can access the network.
  • FIG. 1 shows a wholesale operator server 190 in data communication with the network 130.
  • the wholesale operator server 190 is configured to provide access on a wholesale basis.
  • the wholesale operator server 190 can receive information regarding communication devices and/or applications which are allocated an amount of network access. Accordingly, when an application requests access via the access point 120, the access point 120 can inquire with the wholesale operator server 190 as to whether the application and/or communication device is authorized for wholesale access. In the event the application and or communication device is not authorized, the access point 120 can fall back on a standard subscription determination for the communication device 115. For example, a determination as to whether the communication device 115 has a valid subscription can be performed.
  • the wholesale operator server 190 is in further communication with a billing server 150.
  • the billing server 150 is configured to receive information regarding access for the wholesale operator server 190. Where the access point 120 is operated by an entity other than the operator, the operator of the network access point can request compensation for allowing the communication device 110 and/or the application 112 to access the network.
  • the billing server 150 can be configured to facilitate this reimbursement by reconciling the usage authorized by the wholesale operator server 190 with the operator of the network access point.
  • the billing server 150 can be configured to generate a billing request to a third-party such as the application developer. The billing request can indicate an amount requested.
  • the billing server 150 can be configured to generate a billing request to an account associated with the communication device 110.
  • the system 100 shown further includes the application provider 185.
  • the application provider 185 provides the application, which can be wrapped.
  • the application provider 185 can be coupled with the network 130.
  • the application can be provided via the network 130 such as through an Internet download or an application store.
  • the application provider 185 can provide the application to the wholesale operator server 190 for wrapping and/or distribution.
  • the application provider 185 can 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 wholesale operator server 190. Such a direct communication path can be used to provide the application to the wholesale operator server 190 for wrapping and/or establish the connectivity policy.
  • the connectivity policy can include a quantity of data for registered addresses which will be accessible through the wrapped application as well as a quantity of data for non-registered address which will be accessible through the wrapped application.
  • the connectivity policy can include a total quantity of data permitted for the application along with a non-registered percentage identifying a percent of total data which can be accessible through the wrapped application.
  • FIG. 2 is a functional block diagram of another exemplary communications network system.
  • the system 200 includes a communication device 300. Additional details of the communication device 300 can be similar to those described earlier in reference to communication device 110 of FIG. 1.
  • the communication device 300 includes an application 400. Additional details of the application 400 can be similar to the details of the application 112 in FIG. 1 described earlier.
  • the communication device 300 can be configured to access a network 230 via an access point 220. Additional details of the access point 220 and the network 230 can be similar to those described earlier in reference to FIG. 1.
  • FIG. 2 shows an operator server 600 in data communication with the network 230.
  • the operator server 600 is configured to manage and provide access. For example, the operator server 600 can determine whether the communication device 300 has a valid subscription for accessing network 230.
  • the operator server 600 can also receive information regarding communication devices and/or applications that are allocated an amount of network access.
  • the operator server 600 can send or receive further information regarding the communication device 300 such as data consumption associated with the communication device 300.
  • the operator server 600 is in further communication with the billing server 250. Additional details of the billing server 250 can be similar to those described earlier.
  • the system 200 shown further includes an application provider server 500.
  • the application provider server 500 is an entity that develops and provides the application 400.
  • the application provider server 500 can be coupled with the network 230.
  • the application can be provided via the network 230 such as through an Internet download or an application store.
  • the application provider server 500 can provide the application to the operator server 600 for distribution.
  • the network operator via operator server 600, can manage and provide access toll- free libraries.
  • the application provider can integrate these toll-free libraries into the application 400.
  • the application provider can specify any application function associated with the toll-free library to be given toll-free data access.
  • the application developer can specify only certain functions for toll-free access.
  • a social networking application can be provided by the application provider.
  • the functions of the application can include communicating with contacts, sending messages between users, users posting content (e.g. videos, sound clips, hyperlinks to websites, etc.), and advertisements.
  • the application provider can specify that all video advertisements will be offered toll-free by indicating such in the toll-free library. In this way, the users can receive a credit for data consumed while viewing a video advertisement and the user can be billed for data consumed when performing other functions of the application not indicated as toll-free.
  • the application provider server 600 can be configured to sync data usage information related to application 400.
  • Data usage information can include data consumed by application 400 and a user identifier of the particular communication device 300 (e.g. phone number, IMSI, etc.).
  • the data usage information can indicate the amount of data consumed by each application function. For example, the data consumed can be broken down by toll-free library function and non-toll-free library function. The data consumed can be further broken down by the specific functions consuming data on the network and identified as toll-free or not.
  • the application provider server 500 can be configured to communicate with the billing server 250 and/or the operator server 600.
  • the application provider server 500 can further be configured to access billing information stored in billing server 250 and/or operator server 600.
  • the billing information can include subscriptions for providing user's access to the network.
  • the operator server 600 can be configured to provide the application provider server 500 access to billing APIs.
  • the application provider server 500 can utilize the billing API and credit a user for data consumed while executing a toll-free library function based on the synced information received from application 400 as detailed above.
  • FIG. 3 is a functional block diagram of an exemplary portable wireless communications device.
  • the communication device 300 includes 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.
  • the communication device 300 can include one or more antennas 302 and a transceiver unit 304 for the transmission and reception of wireless signals; output hardware 306 such as an audio unit, a microphone, and/or a display screen; a clock 308; a power source 310 (e.g., battery, solar panel, wired power connection); a memory 312, input hardware 314 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 316.
  • Some output hardware 306 such as a display screen can include a touch sensitive screen. Accordingly, some output hardware 306 provides input functionality and some input hardware 314 provides output functionality.
  • the memory 312 can include one or more memory circuits including non-volatile memory circuits (e.g., EEPROM, FLASH, etc.).
  • the communication device 300 can also provide a range of voice and data communication services.
  • the communication device 300 provides telephone 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.
  • the communication device 300 can be configured to exchange data via a 3G/LTE network with remote servers such as an operator server, an operator server and/or an application provider, and to enable data exchange enabling Internet access (e.g., data network).
  • remote servers such as an operator server, an operator server and/or an application provider
  • the communication device 300 is operable to have applications or widgets installed, such as, but not limited to social networking applications or email applications, for example, which when executed can exchange data with the remote servers.
  • Each application or widget installed on the communication device 300 can have an associated graphical user interface.
  • the communication device 300 can also include one or more applications 400.
  • FIG. 4 is a functional block diagram of an exemplary application.
  • the application 400 includes at least one toll-free library 435, having at least three toll-free methods (e.g., start, stop, and synchronize), as detailed below.
  • the toll-free library is configured to provide application functionality on a toll-free basis.
  • the application provider can select to provide video functionality toll-free, whereby the user is provided a credit for data consumed for accessing videos via the toll-free library.
  • the toll-free library can include a multitude of functions as detailed below.
  • the toll-free library 435 includes a connection detector 402.
  • the connection detector 402 is configured to detect connection activity for the application 400.
  • Connection activity can 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.
  • connection detector 402 can be configured to detect connection activity based on the application communications received from the application 400.
  • the connection detector 402 can be configured to generate a message identifying the connection activity and transmit this information via a bus 424.
  • a connection manager 404 can obtain the message identifying the connection activity. If the message identifies a request for a new connection, the connection manager 404 can cause the initiation of the connection.
  • the connection manager 404 can transmit a request via the transceiver 304.
  • the request can be transmitted to an operator server.
  • the request includes an identifier for the application and the operator associated with the application.
  • the connection manager 404 can be configured to maintain the connection on behalf of the application 400.
  • the connection response can 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.
  • connection response can indicate a connection is not available.
  • the connection manager can attempt to establish a connection based on subscription information for the device.
  • a configuration manager 408 is included in the toll-free library 435.
  • the configuration manager 408 can include one or more parameters for the application 400.
  • the configuration manager 408 can receive application configuration information via the transceiver 304.
  • the application configuration information can identify a network address for the 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, camera, microphone), or other parameter(s) to adjust the function of the application 400.
  • the application configuration information can further include identification of certain functions the application provider wishes to provide toll-free. In this way, the application provider can utilize the flexibility to offer certain application functions toll-free as dictated by the toll-free library.
  • One non-limiting advantage of the configuration manager 408 is the ability to remotely adjust the application 400. Such control can be useful for providing bug fixes, disabling rogue devices/applications, or dynamically adjusting operational aspects of the application 400 without requiring a reinstallation or affirmative action on behalf of a user of the device.
  • the toll-free library 435 can also include a virtual private network adapter 410.
  • the virtual private network adapter 410 can be included to provide secure communication between the application 400 and the network 230. Upon establishing a connection, the virtual private network adapter 410 can be used for application communications. The virtual private network adapter 410 can be used only for authentication. In some implementations, it can be desirable to use the virtual private network adapter 410 for application data communications as well. For example, if the application is a banking application, the application developer can determine that certain transactions utilize the virtual private network adapter 410.
  • a data meter 412 is configured to monitor information for the authorized data connection.
  • Information which can 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 412 can also time stamp each element of information to identify when the metered value was collected.
  • a usage analyzer 416 is configured to process the information collected by the data meter 412. Such processing can include calculating usage information for an authorized data connection.
  • the usage analyzer 416 can also be configured to compare the usage information with the data connectivity policy. For example if the number of bytes of data for the application 400 exceeds a quantity specified in the data connectivity policy, the usage analyzer can generate a message indicating the policy amounts have been exceeded.
  • the usage analyzer 416 can receive a list of addresses for the application and/or data limits for traffic.
  • the usage analyzer 416 can be further configured to collect application specific analytics such as the time spent on given location within the application, buttons pressed, application performance, and the like.
  • the application configuration can specify the aspects to analyze.
  • the usage analyzer 416 can be configured to associate usage information from the data meter 412 with the execution of a particular application function.
  • the usage analyzer 416 can receive a function identifier from the event processor 420 (described below), and associate a data usage with the particular function.
  • the usage analyzer 416 can be configured to determine, based on the function identifier which application functions are to be offered toll-free and which are to be fully charged to the user.
  • the event processor 420 can be configured to instruct the toll-free library 435 to take one or more actions based on the received event.
  • Events can include usage events, such as exceeding the authorized data connectivity policy.
  • Events can 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.
  • the event processor 420 can invoke toll-free methods. Such methods include starting the toll-free metering of data based on receiving a specified event, whereby the event processor 420 can communicate with data meter 412 to initiate data metering for a particular event.
  • Another method includes stopping or ceasing the toll-free metering of data based on the completion of a toll-free function, whereby the event processor 420 can communicate with data meter 412 to stop data metering for a particular event.
  • the event processor 420 can also be configured to communicate with usage analyzer 416 to associate a particular data usage with a particular function, thereby indicate data consumed by the execution of the function as toll-free.
  • Another example of an action can be for the connection manager 404 to terminate a connection upon detection of exceeding the authorized data connectivity policy.
  • the event processor 420 can be configured to transmit event information to a third-party.
  • an application to keep track of where a child's smartphone is located can detect movement into an area of interest (e.g., into a 'restricted' area, at a specific time, etc.). This event can 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.
  • the application can provide toll-free access, the application can receive data connectivity to send this potentially life- saving message.
  • a sync engine 418 can be configured to provide such a report of usage information associated with the application 400.
  • the sync engine 418 can obtain the usage information from the usage analyzer 416, prepare the information for transmission, and send the usage transmission.
  • the sync engine 418 can be configured to transmit such usage information based on an event, and or the periodic schedule. For example, the sync engine 418 can be configured to transmit a report of usage every five minutes. In another example, the sync engine 418 can be configured to transmit a report of usage once the application has consumed a predetermined amount of data, e.g., 5 MB.
  • the usage report includes the usage information and a user or communication device identifier (e.g. a communication device phone number, IMSI, IMEI, MAC address, etc.).
  • the usage report can further include an application identifier, an operator identifier, and an application function identifier.
  • An error monitor 422 is included to detect errors raised by the application 400.
  • the error monitor 422 generates an error report.
  • This error report can be transmitted to the operator server via the sync engine 418.
  • the error report can include an application identifier, and operator identifier, a communication device identifier, and information related to the error raised.
  • the application 400 shown in FIG. 4 receives device information.
  • the device information includes one of power or network bandwidth available to the device, a location identifier indicating a geospatial location of the device, a device identifier uniquely identifying the 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 available to the elements of the application 400 for further processing.
  • the sync engine 418 can be configured to defer transmitting usage reports when device resources are limited (e.g., low bandwidth, low power).
  • the bus 424 can couple the above-described elements for the application 400.
  • the bus 424 can be a data bus, communication bus, or other bus mechanism to enable the various components of the application 400 to exchange information. It will further be appreciated that while different elements have been shown, multiple elements can be combined into a single element, such as the data meter 412 and the usage analyzer 416.
  • FIG. 5 is a functional block diagram of an exemplary application provider server.
  • the application provider is an entity that provides the application 400.
  • the application provider can include an application provider server 500 configured to manage data access for the application.
  • the application provider server includes a processor 502 and a memory 504, wherein a sync engine 506, a usage monitor 508, a database 510, and an allocation module 520 reside.
  • sync engine 506, usage monitor 508, database 510, and allocation module 520 can be implemented as standalone hardware or circuitry.
  • application provider server 500 includes a wired network connection (e.g., Ethernet port, fiber optic data port).
  • application provider server 500 can include one or more antennas and a transceiver for the transmission and reception of wireless signals and a power source (e.g., a battery, solar panel, wired power connection).
  • a power source e.g., a battery, solar panel, wired power connection.
  • the application provider server 500 shown in FIG. 5 can include a sync engine 506 in one embodiment.
  • data syncing can be performed by the application provider server 500.
  • the application provider server 500 can receive data usage information from communication devices.
  • a usage report of application 400 installed on communication device 300 can be transmitted via sync engine 418.
  • the usage report can include, at least, usage information and a device identifier (e.g., a phone number, MAC address, etc.).
  • the usage report can further include an application identifier, an operator identifier, and an application function identifier.
  • the sync engine 506 can be configured to accept a transmitted communication from application 400 at predetermine scheduled intervals, e.g., every 5 minutes.
  • the sync engine 506 can be configured to continuously scan for a transmitted communication, thereby accepting a communication from application 400 at a time determined by the application 400.
  • the application provider server 500 shown in FIG. 5 includes a usage monitor 508.
  • the usage monitor 508 is configured to receive usage information from an application.
  • the usage monitor 508 can store the received information.
  • the usage monitor 508 can be configured to inspect packet data received from an application and generate usage information.
  • the usage monitor 508 can be configured to compare and monitor the usage information received by the sync engine 418 with packet data received from an application. In this way, the usage monitor 508 can be configured to prevent mistakes or fraud in usage reports.
  • the usage monitor 508 can be configured to determine the data consumption associated with application functions associated with the toll-free library, thereby identifying the specific consumption entitled to be toll-free to the user.
  • the application provider server 500 includes a database 510.
  • the database 510 can store device identifiers having application 400 installed on the device. Device identifiers can be phone numbers, IMSI, IMEI, MAC addresses, or any known way to uniquely identify a user or device. The device identifier can be provided for storing in the database 510 upon a user downloading or installing the application on the user's communication device.
  • the database 510 can also store usage information associated with a particular communication device identifier.
  • the database 510 can also be configured to receive and store application identifiers (where the application provider manages more than one application), data usage information, date/time information related to transmission of data packets, date/time information related to synchronization records, etc.
  • the application provider server 500 also includes an allocation module 520.
  • the allocation module 520 is configured to receive information from the synchronization engine 506 and usage monitor 508, including the usage report and device identifier.
  • the allocation module can also be configured to access an operator server, e.g., operator server 600, and utilize billing APIs managed by with the network operator to credit a user based on the usage report and device identifier, as will be described below.
  • allocation module 520 can utilize the usage report received by the sync engine 506 and/or usage monitor 508, identify the user in the operator server using the device identifier, access the billing APIs of the network operator, and credit the user's network subscription policy in accordance with the data consumed while executing the toll-free function.
  • FIG. 6 is a functional block diagram of an exemplary operator server.
  • the operator server 600 is configured to manage the data access for a communication device.
  • the operator server 600 includes a processor 602 and a memory 604, wherein a billing application 606, usage monitor 608, and database 610 reside.
  • billing application 606, usage monitor 608, and database 610 can be implemented as standalone hardware or circuitry.
  • operator server 600 includes a wired network connection (e.g., Ethernet port, fiber optic data port).
  • operator server 600 can include one or more antennas and a transceiver for the transmission and reception of wireless signals and a power source (e.g., a battery, solar panel, wired power connection).
  • a power source e.g., a battery, solar panel, wired power connection.
  • the operator server shown in FIG. 6, includes a usage monitor 608.
  • the usage monitor 608 is configured to receive the usage information from a communication device.
  • the usage monitor can store the received information in database 610.
  • the usage monitor can be configured to inspect packet data received from a communication device and generate usage information.
  • the usage monitor 608 can receive and store usage information related to all data usage from a particular communication device, including any data consumed by a single or multiple applications installed on the communication device. In this way, operator server 600 can be configured to identify the total data consumed by a communication device.
  • the operator server 600 includes a communication database 610.
  • the database 610 can store device identifiers of communication devices associated with a user subscription for data access over the network.
  • Device identifiers can be phone numbers, IMSI, IMEI, MAC addresses, or any identifier known in the art to identify a communication device.
  • the device identifier can be provided for storing in the database 610 along with subscription information associated with the device identifier. For example, a telecommunications company can associate a phone number with a valid subscription to access a network.
  • the subscription can provide information outlining the permitted access to the network of a communication device.
  • the database 610 can also store usage information associated with a particular device identifier, e.g., the amount of data communication device received and/or transmitted within a predetermined time period.
  • the operator server 600 includes billing application 606.
  • the billing application 606 resides in the operator server 600.
  • the billing application can reside in a billing server, e.g., billing server 250.
  • the billing application can be configured for access by an application provider, either directly (e.g., by the allocation module 520) or facilitated by the operator server.
  • the application provider can utilize the billing application to access billing APIs and credit a user of a communication device with data usage associated with data consumed while executing the toll-free libraries of an application.
  • the application provider can utilize the usage report received by application server 500 from application 400 installed on communication device 300.
  • the communication device 300 can be identified by a phone number transmitted in the usage report and/or identified in database 510.
  • the usage report can include data consumed by the application resulting from toll-free functions and non-toll-free functions.
  • the application provider can utilize this information to access the billing application 606, via the allocation module 520, and identify the users account on operator server 600 via the database 610.
  • the billing application 606 can be configured permit the allocation module 520 to access billing APIs.
  • the application provider can then use the usage report from the application provider server 500 and credit the user of the communication device for data consumed while executing the toll-free libraries and applying the user's subscription policy to the remainder of the data consumed by the application (e.g., non-toll-free functions).
  • FIG. 7 is a flowchart for an exemplary method of monitoring application data consumption.
  • the method shown in FIG. 7 is implemented via a communication device such as the communication device shown in FIG. 3.
  • the method shown in FIG. 7 can be implemented via an application developed by an application provider as shown and described above.
  • Block 705 represents steps that take place on the application provider side, and can be performed by the application provider server.
  • the application provider can integrate toll-free libraries into the application.
  • the application provider can link toll-free libraries or software development kit ("SDK") to a specified function of an application.
  • SDK software development kit
  • the toll-free libraries can be statically included in the application, whereby the selection of which function to be offered toll-free cannot be changed upon installing the application on a communication device.
  • the toll-free libraries can be dynamically linked to a function, whereby the operator server and/or application provider can adjust which functions to offer toll-free at any given time. This can provide the network with needed flexibility to control the amount of data being consumed and control which functions will be provided toll- free to users.
  • the toll-free libraries are initialized and configured within the application.
  • the toll-free libraries can be configured to receive server URLs.
  • the server URLs can provide the toll-free libraries the address by which it can access the network to consume toll-free data.
  • the sync guidelines of the toll-free library can be configured.
  • the sync engine can be configured based on the sync guidelines to transmit a synchronization signal to the application provider server at predetermined scheduled time intervals. Further, the sync guidelines can represent a time interval that the application provider server can receive the sync signal from an application.
  • the sync guidelines can also include instructions for which information the application is to include in each synchronization period, e.g., data consumption, device identifier, application identifier, etc.
  • the toll-free library is initiated by the application.
  • the toll-free library can be initiated by the receiving an input value.
  • the toll-free library can be initiated by a user who selects a function that is initialized by the toll- free library.
  • the user of a communication device can actively select to view a video advertisement.
  • This function can be one that is linked to a toll-free library.
  • the user can initiate the toll-free library.
  • the user can passively initiate the toll-free library, e.g., by performing a specified function that indirectly initiates the toll-free library.
  • an application can enable videos to automatically play within the application, without the user inputting a request to play the video.
  • the process continues to block 740.At block 740, the system begins monitoring the data consumed in executing the toll-free library. Upon initiating the toll-free library in block 730, the system immediately invokes a start toll-free method, e.g., StartTollFree(), whereby the system monitors the data consumed in executing the function selected by the user.
  • the start toll-free method causes the toll-free library to start counting the data consumed by the toll-free library function.
  • the data counting can be performed by the data meter 410 of FIG. 4.
  • the data counting can be performed by the usage analyzer 416 in conjunction with the data meter 412.
  • the application monitors the data received and/or transmitted as a result of the toll-free library while the start toll-free method is invoked. In this way, the process can be able to meter and monitor the data consumed by the communication device in executing the desired application function.
  • the application function selected by the user can be executed by the toll-free library. In another embodiment, the application function can be executed upon initiating the toll-free library, e.g., with a StartTollFree() method. In one embodiment, the application can write the code for the content intended to be toll-free. In another one embodiment, the application displays the content or runs the function the user of the communication device selected. In the situation where that function is intended to be toll-free, as facilitated by the toll-free libraries, any data consumed by the communication device while processing the function or content and relaying to the user can be monitored and metered. Once the toll-free method for monitoring the data is invoked, the process continues to block 760.
  • the application function is completed and the toll-free library invokes an end toll-free method.
  • an EndTollFree() method can be invoked at block 730.
  • the end toll-free method sends instructions to stop counting the data consumed by the toll-free library function initiated in block 730.
  • the event processor 420 can determine the completion of the application function and communicate the end toll-free method instructions to the data meter 412 and/or usage analyzer 416.
  • the process stops data metering.
  • the toll-free library stops metering the data consumed by the toll-free function and stores this information with the toll-free library until the sync time period occurs, as detailed below.
  • the application can continue to monitor and meter data used by the application, but no longer associates the data consumption with a toll-free function. In this way, the application can monitor data usage of both toll-free functions and non-toll-free functions.
  • the toll-free library can only monitor data consumed while executing the desired function. Data consumed by the communication device, not intended to be toll-free, cannot be monitored by the application. However, this data can be monitored by the operator server.
  • the application data meter 412 and/or usage analyzer 416 can receive instructions to end toll-free metering from event processor 420, and the data meter 412 can stop counting the data consumed having received an indication that the application function has completed. Once the application stops metering data consumption, the process ends.
  • FIG. 8 is a flowchart for an exemplary method of syncing the application with a network server.
  • the method shown in FIG. 8 is implemented via a communication device such as the communication device shown in FIG. 3.
  • the method shown in FIG. 7 can be implemented via an application provider server as shown and described above.
  • the process begins at decision block 810, where a determination is made as to whether the time period for syncing has elapsed.
  • the sync engine e.g., sync engine 418) can receive timing information based on input from clock 308 of the communication device.
  • the sync engine can compare the timing information with the sync guidelines (e.g., block 720 of FIG. 7).
  • the sync engine can evaluate whether the predetermined scheduled time interval has elapsed. If the time interval has not elapsed, the process continues to block 815.
  • the process waits until the time interval to sync has elapsed. If the time interval has elapsed, the process continues to block 820.
  • the toll-free library transmits the sync information to the network server.
  • the toll-free library syncs with the application provider server (e.g., application provider server 500).
  • the application transmits information to the application provider server, including at least a usage report and device identifiers.
  • the information transmitted can include device identifiers (e.g., phone numbers, IMEI, IMSI), URL addresses accessed by the application, and the amount of data consumed while accessing the identified URL addresses.
  • the information transmitted can include an application identifier, operator server identifier, time of data consumption, time of sync transmission, etc.
  • the usage report can be created in accordance with the description related to FIG. 4.
  • the server side of the system (e.g., system 200) can be initiated as shown by block 830.
  • the steps depicted in block 830 can be performed by an operator server, an application provider server, or any other server located on the network of system 200.
  • the server can be configured to receive the usage report from the application. Once the server receives the usage report, the process continues to block 840.
  • the server saves the transmitted synchronization information to a database.
  • the server can be the application provider server 500 having database 510.
  • the application server can save the information indefinitely or for a predetermined amount of time. The amount of time the database stores the information can be based on the frequency that the application provider credits the user of the toll-free library.
  • the process continues to block 850.
  • the process creates and accesses credit instructions for crediting user accounts for data consumed by executing a toll-free library.
  • the instructions can be stored in the application provider server (e.g., database 510) or the operator server (e.g., database 610).
  • the credit instructions can be created by the application provider, network operator, or both entities as a result of an agreement.
  • the network operator can establish instructions or rules for crediting user's data consumption based on the toll-free libraries. For example, the network operator can initiate an instruction thereby crediting a user for any data consumed while accessing a toll-free library.
  • the network operator can initiate a rule thereby creating a ceiling of data consumption. In this way, the user can have toll-free access to the toll-free library until the user consumes a specified amount of data. In one embodiment, the user can no longer have access to the toll-free library upon reaching the limit.
  • the network operator can throttle the data consumption rate down to control the user's data consumption.
  • the credit instructions can be created prior to a user accessing the toll-free library. In another embodiment, the credit instructions can be created before the application provider develops the application. The rules can be a result of a negotiation between the application developer and the network operator. In one embodiment, the credit instructions can be dynamic and changeable during the life of the application and based on a change in data usage. In another embodiment, the credit instructions can be static and once established they cannot be adjusted. Once the instructions for crediting user's accounts are created and accessed, the process continues to block 860.
  • the process searches for usage information related to the toll free libraries.
  • the application provider server can search database 510 for the usage report having been stored during a synchronization transmission.
  • the system can filter the usage report for toll-free data consumption.
  • the operator server can filter the usage report.
  • the searching step accesses the usage report and can filter for data usage information related to the toll-free library. Such information can include a device identifier and the amount of data consumed by the device while executing the toll-free library.
  • the process continues to block 870.
  • the system credits the user associated with a device for data consumed while executing the toll-free library.
  • the application provider invokes the billing credit API by accessing the billing application (e.g., billing application 606 discussed in reference to FIG. 6).
  • the application provider server utilizes the data usage information identified in block 870 and accesses the billing application for crediting the user.
  • the billing application can be created and stored in the operator server and/or a billing server.
  • the operator server can provide access to the application provider server or other third parties for crediting the user via the billing APIs exposed in the billing application.
  • the billing application can require the application server transmit or input a device identifier, to identify a particular user or subscription plan, and the amount of data consumed by the toll-free libraries by that user.
  • the process continues to block 880, where the process shares the information with the operator for further consideration.
  • the operator can permit the application provider to credit the user with the data consumed by the toll-free libraries.
  • the billing application can utilize the usage information and the credit instructions to determine the appropriate amount of data to credit a user for the particular toll-free function. For example, the credit instruction can only provide up to 2GB of toll-free data for watching video advertisements. If user consumed 3GB of data for the toll-free library function, the billing application can credit the user for 2GB of data and charge the user for the remaining 1GB of data in accordance with the user's network access subscription.
  • determining encompasses a wide variety of actions. For example, “determining” can 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” can include receiving (e.g., receiving information), accessing (e.g., accessing data in a memory) and the like. Also, “determining” can include resolving, selecting, choosing, establishing and the like. Further, a "channel width” as used herein can encompass or can also be referred to as a bandwidth in certain aspects.
  • a phrase referring to "at least one of a list of items refers to any combination of those items, including single members.
  • "at least one of: a, b, or c” is intended to cover: a, b, c, a-b, a-c, b-c, and a-b-c.
  • any suitable means capable of performing the operations such as various hardware and/or software component(s), circuits, and/or module(s).
  • any operations illustrated in the Figures can be performed by corresponding functional means capable of performing the operations.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array signal
  • PLD programmable logic device
  • a general purpose processor can be a microprocessor, but in the alternative, the processor can be any commercially available processor, controller, microcontroller or state machine.
  • a processor can 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 conjunction with a DSP core, or any other such configuration.
  • the functions described can be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, the functions can 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 facilitates transfer of a computer program from one place to another.
  • a storage media can be any available media that can be accessed by a computer.
  • such computer-readable 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.
  • any connection is properly termed a computer-readable medium.
  • 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
  • the coaxial cable, fiber optic cable, twisted pair, DSL, or wireless technologies such as infrared, radio, and microwave are included in the definition of medium.
  • Disk and disc includes compact disc (CD), laser disc, optical disc, digital versatile disc (DVD), floppy disk and blu- ray disc where disks usually reproduce data magnetically, while discs reproduce data optically with lasers.
  • computer readable medium can comprise non- transitory computer readable medium (e.g., tangible media).
  • computer readable medium can comprise transitory computer readable medium (e.g., a signal). Combinations of the above should also be included within the scope of computer- readable media.
  • Software or instructions can also be transmitted over a transmission medium.
  • 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 definition of transmission medium.
  • DSL digital subscriber line
  • 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.
  • a device can be coupled to a server to facilitate the transfer of means for performing the methods described herein.
  • various methods described herein can be provided via storage means (e.g., RAM, ROM, a physical storage medium such as a compact disc (CD) or floppy disk, etc.), such that a device can obtain the various methods upon coupling or providing the storage means to the device.
  • storage means e.g., RAM, ROM, a physical storage medium such as a compact disc (CD) or floppy disk, etc.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Telephonic Communication Services (AREA)

Abstract

L'invention concerne l'accès à un réseau de données d'application sans frais par l'intermédiaire de bibliothèques sans frais. Dans un aspect innovant, il existe une application permettant de surveiller l'utilisation d'une fonction sur un dispositif de communication portable, la fonction intégrée sur un support de stockage lisible par ordinateur non-stationnaire du dispositif comprenant des instructions exécutables par un processeur du dispositif. Les instructions comprennent la détection d'une valeur d'entrée permettant d'exécuter une fonction de l'application, la fonction nécessitant une connectivité de données avec un réseau de télécommunication. Les instructions comprennent en outre l'exécution de la fonction de l'application, une bibliothèque de logiciels d'un cadre de développement étant accessible et la bibliothèque de logiciels permettant la surveillance de la connectivité de données pendant que la fonction est exécutée. Les instructions commandent également de mettre fin à l'exécution de la fonction, et de transmettre des informations de connectivité à un serveur de réseau.
PCT/IB2015/002624 2014-12-23 2015-12-21 Architecture sans frais alternative et modules simples de déploiement WO2016103052A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US201462096430P 2014-12-23 2014-12-23
US62/096,430 2014-12-23

Publications (1)

Publication Number Publication Date
WO2016103052A1 true WO2016103052A1 (fr) 2016-06-30

Family

ID=55527590

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/IB2015/002624 WO2016103052A1 (fr) 2014-12-23 2015-12-21 Architecture sans frais alternative et modules simples de déploiement

Country Status (1)

Country Link
WO (1) WO2016103052A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130132559A1 (en) * 2011-11-22 2013-05-23 Verizon Patent And Licensing, Inc. User device application monitoring and control
WO2013108136A1 (fr) * 2012-01-21 2013-07-25 Alcatel Lucent Procédé et appareil pour effectuer un contrôle de facturation sur une application de données sponsorisées
US20140348029A1 (en) * 2011-12-06 2014-11-27 Samsung Electronics Co., Ltd. Method and system for providing sponsored service on ims-based mobile communication network

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130132559A1 (en) * 2011-11-22 2013-05-23 Verizon Patent And Licensing, Inc. User device application monitoring and control
US20140348029A1 (en) * 2011-12-06 2014-11-27 Samsung Electronics Co., Ltd. Method and system for providing sponsored service on ims-based mobile communication network
WO2013108136A1 (fr) * 2012-01-21 2013-07-25 Alcatel Lucent Procédé et appareil pour effectuer un contrôle de facturation sur une application de données sponsorisées

Similar Documents

Publication Publication Date Title
US9654958B2 (en) System and method for providing toll-free application data access
US9526004B2 (en) Method of and apparatus for providing an indication of data consumption
US10244463B2 (en) System and method for application based selection of a radio network
US20170178193A1 (en) Methods and systems of a sponsored mobile data usage platform
US9992814B2 (en) Secure toll-free application data access
US9749476B2 (en) System and method for providing toll-free application data access
KR101894919B1 (ko) 기본 네트워크들과의 서비스 계층 과금 상관을 위한 방법들 및 장치들
CN107852581B (zh) 用于上下文移动数据访问的方法、装置及计算机可读存储介质
KR20140009171A (ko) 사용자 통지를 제공하는 시스템 및 방법
US9838547B2 (en) Method to push toll-free applications to a user device
US10009406B2 (en) Incentivized sharing for toll-free data
US10003697B2 (en) Selective targeting for sponsored data services
WO2015071758A1 (fr) Commande d'interface d'application basée sur un forfait et une utilisation de données
JP2017522819A (ja) 課金方法及び装置、アクセス装置、サービス品質制御方法及び装置
US10609224B2 (en) Method and system for dynamically allocating operator specific billing rules for data exchange by an application on a user equipment
KR20170019451A (ko) 미디어 게이트웨이를 통한 사용자/상호작용 관련
WO2016103052A1 (fr) Architecture sans frais alternative et modules simples de déploiement
CN103780926A (zh) Iptv增值业务管理的系统及方法
OA18993A (en) Providing toll-free application data access.
OA18002A (en) Application based selection of a radio network for toll-free applications.
OA18992A (en) Method to push toll-free applications to a user device
CN110930185A (zh) 测试仪管理方法、系统及装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 15843056

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 15843056

Country of ref document: EP

Kind code of ref document: A1