# US 9,521,578 B2 · Wireless end-user device with application program interface to allow applications to access application-specific aspects of a wireless network access policy

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 9,521,578 B2
- Document ID: US9521578B2
- Status: Granted
- Kind: B2
- Application number: 14/689,512
- Filed: 2015-04-17
- Published: 2015-08-13
- Granted: 2016-12-13
- Earliest claimed: 2009-01-28
- Assignees: Headwater Partners I LLC
- Applicants: Headwater Partners I LLC
- Inventors: Gregory G. Raleigh; James Lavine; Alireza Raissinia
- Web page: https://patentgrep.com/patent/US9521578B2

## CPC

- H04L 47/20: Traffic policing
- H04L 12/14: Charging, metering or billing arrangements specially adapted for data communications, e.g. authentication, authorisation and accounting [AAA] framework
- H04L 12/1407: {Policy-and-charging control [PCC] architecture}
- H04L 12/1492: {negotiation of tariff}
- H04L 12/1496: {involving discounts}
- H04L 41/0894: Policy-based network configuration management
- H04L 41/5006: Creating or negotiating SLA contracts, guarantees or penalties
- H04L 41/5029: {Service quality level-based billing, e.g. dependent on measured service level customer is charged more or less}
- H04L 41/5051: Service on demand, e.g. definition and deployment of services in real time
- H04L 41/5054: Automatic deployment of services triggered by the service manager, e.g. service implementation by automatic configuration of network components
- H04L 43/08: Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L 43/0882: Utilisation of link capacity
- H04L 47/19: at layers above the network layer (network arrangements for networked applications for scheduling or organising the servicing of application requests H04L67/60)
- H04L 47/2475: for supporting traffic characterised by the type of applications
- H04L 47/801: {Real time traffic}
- H04L 47/803: {Application aware}
- H04L 47/805: {QOS or priority aware}
- H04L 47/808: {User-type aware}
- H04L 47/822: {Collecting or measuring resource availability data}
- H04L 47/824: {Applicable to portable or mobile terminals}
- H04L 47/83: based on usage prediction
- H04L 63/0227: {Filtering policies (mail message filtering H04L51/212)}
- H04L 63/08: {for authentication of entities (cryptographic mechanisms or cryptographic arrangements for entity authentication H04L9/32)}
- H04L 63/10: {for controlling access to devices or network resources}
- H04L 63/102: {Entity profiles}
- H04L 63/20: {for managing network security; network security policies in general (filtering policies H04L63/0227)}
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04M 15/41: {Billing record details, i.e. parameters, identifiers, structure of call data record [CDR]}
- H04M 15/43: {Billing software details}
- H04M 15/44: {Augmented, consolidated or itemized billing statement or bill presentation}
- H04M 15/66: {Policy and charging system}
- H04M 15/8016: {based on quality of service [QoS]}
- H04M 15/8055: {Selecting cheaper transport technology for a given service}
- H04M 15/81: {Dynamic pricing, e.g. change of tariff during call}
- H04W 4/24: Accounting or billing
- H04W 4/50: Service provisioning or reconfiguring
- H04W 8/04: Registration at HLR or HSS [Home Subscriber Server]
- H04W 12/06: Authentication
- H04W 12/08: Access security
- H04W 12/084: using delegated authorisation, e.g. open authorisation [OAuth] protocol
- H04W 12/088: using filters or firewalls
- H04W 24/02: Arrangements for optimising operational condition
- H04W 24/08: Testing, {supervising or monitoring} using real traffic
- H04W 28/021: {in wireless networks with changing topologies, e.g. ad-hoc networks (self-organizing networks H04W84/18)}
- H04W 28/0215: {based on user or device properties, e.g. MTC-capable devices (services for machine-to-machine communication [M2M] or machine type communication [MTC] H04W4/70; wireless resource selection or allocation plan definition based on terminal or device properties H04W72/51)}
- H04W 28/0221: {power availability or consumption}
- H04W 28/0247: {based on conditions of the access network or the infrastructure network (central resource management H04W28/16)}
- H04W 28/0257: {the individual bearer or channel having a maximum bit rate or a bit rate guarantee}
- H04W 28/0268: {using specific QoS parameters for wireless networks, e.g. QoS class identifier [QCI] or guaranteed bit rate [GBR] (negotiating SLA or negotiating QoS H04W28/24)}
- H04W 28/0284: {detecting congestion or overload during communication (monitoring arrangements H04L43/00)}
- H04W 28/0289: {Congestion control (load shedding arrangements in network planning H04W16/08; performing reselection for handling the traffic H04W36/22; wireless traffic scheduling H04W72/12)}
- H04W 28/12: using signalling between network elements
- H04W 28/20: Negotiating bandwidth
- H04W 48/02: Access restriction performed under specific conditions
- H04W 48/04: based on user or terminal location or mobility data, e.g. moving direction, speed
- H04W 48/06: based on traffic conditions
- H04W 48/08: Access restriction or access information delivery, e.g. discovery data delivery (signalling during connection H04W76/00)
- H04W 48/16: Discovering, processing access restriction or access information
- H04W 52/0212: {managed by the network, e.g. network or access point is leader and terminal is follower}
- H04W 52/0264: {by selectively disabling software applications}
- H04W 80/04: Network layer protocols, e.g. mobile IP [Internet Protocol]
- H04W 84/12: WLAN [Wireless Local Area Networks]
- H04L 41/5022: by giving priorities, e.g. assigning classes of service
- H04L 47/2425: for supporting services specification, e.g. SLA
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/61: taking into account QoS or priority requirements
- H04M 15/30: the meter {or calculation of charges} not being controlled from an exchange
- H04W 24/00: Supervisory, monitoring or testing arrangements
- H04W 36/14: Reselecting a network or an air interface
- H04W 36/144: {over a different radio air interface technology}
- H04W 84/042: {Public Land Mobile systems, e.g. cellular systems}
- Y02D 30/70: in wireless communication networks
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04M: TELEPHONIC COMMUNICATION (circuits for controlling other apparatus via a telephone cable and not involving telephone switching apparatus G08)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)
- Y02D: CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE

## Abstract

A wireless end-user device has wireless wide-area network (WWAN) and wireless local-area network (WLAN) modems. A WWAN-specific differential traffic control policy includes aspects that are user-configurable for specific applications, including a background/foreground operation-based policy. One or more processors implement an application program interface that allows an application to access one or more aspects of the policy that are applicable to that application, including one or more user-configurable aspects of the policy.

## Claims

### Claim 1

A wireless end-user device, comprising:
a wireless wide area network (WWAN) modem to communicate data for Internet service activities between the device and at least one WWAN, when configured for and connected to the at least one WWAN;
a wireless local area network (WLAN) modem to communicate data for Internet service activities between the device and at least one WLAN, when configured for and connected to the at least one WLAN;
a non-transitory memory to store a differential traffic control policy applicable to data communicated for Internet service activities using the WWAN modem and the at least one WWAN, but not applicable to data communicated for Internet service activities using the WLAN modem and the at least one WLAN;
a user interface to allow a user to set one or more of a plurality of aspects of the differential traffic control policy to select one or more applications that are only allowed to utilize the at least one WWAN for Internet service activities when those applications are classified as interacting with a user in the device user interface foreground; and
one or more processors configured to implement an application program interface (API) that allows a particular application to access one or more aspects of the differential traffic control policy applicable to that application, including whether the user-settable aspects of the policy only allow the particular application to utilize the at least one WWAN for Internet service activities when the particular application is classified as interacting with a user in the device user interface foreground.

### Claim 2 (depends on 1)

The wireless end-user device of claim 1, the one or more processors further configured to implement a network stack agent to apply the differential traffic control policy to Internet data service provided using the WWAN modem and the at least one WWAN, such that an Internet service access request associated with at least one application that is not classified as interacting with a user in the device interface foreground is blocked, based at least on a user-settable aspect of the differential traffic control policy for that application.

### Claim 3 (depends on 1)

The wireless end-user device of claim 1, the API further to indicate, to the particular application, one or more network access conditions based on the differential traffic control policy, wherein the one or network access conditions include a network access condition that indicates the unavailability to the particular application of an Internet data service that is currently available via the WWAN modem to a different application.

### Claim 4 (depends on 1)

The wireless end-user device of claim 1, wherein the one or more processors are further configured to classify that the particular application is interacting with the user in the device user interface foreground when a user of the device is directly interacting with the particular application or perceiving any benefit from the particular application.

### Claim 5 (depends on 1)

The wireless end-user device of claim 1, wherein the one or more processors are further configured to classify that the particular application is interacting with the user in the device user interface foreground based on a state of user interface priority for the application.

### Claim 6 (depends on 1)

The wireless end-user device of claim 1, wherein the one or more processors are further configured to classify that the first end-user application is not interacting with the user in the device user interface foreground when the application is providing or utilizing a background data service.

### Claim 7 (depends on 1)

The wireless end-user device of claim 1, the user interface to provide a user of the device with information regarding why the differential traffic control policy is applied to the particular application.

### Claim 8 (depends on 1)

The wireless end-user device of claim 1, wherein the differential traffic control policy is part of a multimode profile having different policies for different networks.

### Claim 9 (depends on 8)

The wireless end-user device of claim 8, wherein the one or more processors are further configured to select a traffic control policy from the multimode profile based at least in part on the type of network connection currently in use by the device.

### Claim 10 (depends on 9)

The wireless end-user device of claim 9, wherein the one or more processors are further configured to, when the type of network connection is at least one type of WLAN connection, select a traffic control policy from the multimode profile based at least in part on a type of network connection from the WLAN to the Internet.

### Claim 11 (depends on 8)

The wireless end-user device of claim 8, wherein the differential traffic control policy is the policy for a roaming WWAN network, the multimode profile having a second traffic control policy for a home WWAN network.

### Claim 12 (depends on 1)

The wireless end-user device of claim 1, the one or more processors further comprising a network stack interface in communication with the API.

### Claim 13 (depends on 1)

The wireless end-user device of claim 1, further comprising a networking stack, wherein the one or more processors are further configured to, at an application service interface layer, identify application traffic flows prior to the flows entering the networking stack.

### Claim 14 (depends on 1)

The wireless end-user device of claim 1, wherein the API comprises a network access API.

### Claim 15 (depends on 1)

The wireless end-user device of claim 1, wherein the API further allows the particular application to access information indicating whether a current connected WWAN is a roaming network or a non-roaming network.

### Claim 16 (depends on 1)

The wireless end-user device of claim 1, wherein the API further informs the particular application when it is allowed to access Internet data service that is currently available via the WWAN modem.

### Claim 17 (depends on 1)

The wireless end-user device of claim 1, wherein the API informs the particular application of one or more network traffic controls that the application is expected to implement.

### Claim 18 (depends on 1)

The wireless end-user device of claim 1, wherein the API instructs the particular application to transition to a different state.

### Claim 19 (depends on 1)

The wireless end-user device of claim 1, wherein the one or more processors are configured to associate the particular application with the differential traffic control policy based on an application behavior.

### Claim 20 (depends on 1)

The wireless end-user device of claim 1, the API comprising a network stack interface that intercepts network socket interface messages for applications and OS functions, the one or more processors configured to apply the differential traffic control policy to at least some of the intercepted network socket interface messages.

### Claim 21 (depends on 1)

The wireless end-user device of claim 1, wherein the one or more processors are further configured to update the differential traffic control policy based on information received from a network element.

### Claim 22 (depends on 1)

The wireless end-user device of claim 1, wherein the one or more processors are configured to apply the differential traffic control policy to selectively block network access by the particular application by intercepting open, connect, and/or write requests by the particular application to a network stack.
