# US 10,481,945 B2 · System and method for communication management of a multi-tasking mobile device

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

- Number: US 10,481,945 B2
- Document ID: US10481945B2
- Status: Granted
- Kind: B2
- Application number: 13/351,727
- Filed: 2012-01-17
- Published: 2012-10-04
- Granted: 2019-11-19
- Earliest claimed: 2011-04-01
- Assignees: Facebook, Inc.
- Applicants: Roi Tiger; Guy Rosen; Yuval Ariav
- Inventors: Roi Tiger; Guy Rosen; Yuval Ariav
- Web page: https://patentgrep.com/patent/US10481945B2

## CPC

- G06F 9/468: {Specific access rights for resources, e.g. using capability register}
- H04L 47/20: Traffic policing
- H04L 67/289: Intermediate processing functionally located close to the data consumer application, e.g. in same machine, in same home or in same sub-network
- H04L 67/566: Grouping or aggregating service requests, e.g. for unified processing
- H04W 4/18: Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
- H04W 4/60: Subscription-based services using application servers or record carriers, e.g. SIM application toolkits
- H04W 28/02: Traffic management, e.g. flow control or congestion control
- H04W 8/04: Registration at HLR or HSS [Home Subscriber Server]
- H04W 52/0261: {managing power supply demand, e.g. depending on battery level}
- Y02D 30/70: in wireless communication networks
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- 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 mobile device and method for management of communication from a mobile device capable of multi-tasking. The method includes capturing a request from at least one application executed on the mobile device for data communication through a network interface of the mobile device; identifying the at least one application by interrogation of an operating system of the mobile device; determining for the identified one application data communication access rights; and autonomously communicating through the network interface for the at least one application and independently communicating with the at least one application without interfering with normal operation of the at least one application, when the data communication access rights require regulating bandwidth usage by the at least one application.

## Claims

### Claim 1

A mobile device, comprising:
an interface to a data communication network;
at least one memory unit storing a plurality of applications, a local gateway application communicatively connected to the plurality of applications, and an operating system communicatively coupled to, and separate from, the local gateway application; and
at least one processing unit operative in a multi-tasking mode connected to the at least one memory unit and connected to the interface for executing any of the plurality of applications and the local gateway application, wherein the local gateway application is further configured to:
capture a plurality of data communication attempts through the data communication network by any application;
identify one of the plurality of applications as the source of the data communication attempts;
determine, for the identified application, data communication access rights based on a network access policy, the data communication access rights determining whether the identified application attempting communication may communicate with the interface;
in response to determining that the application may not communicate directly with the interface, aggregate a plurality of data communication attempts received from the identified application, and perform the aggregated captured data communications on behalf of the identified application via the interface; and
in response to determining that the identified application may communicate directly with the interface, permitting the identified application to perform the captured data communication via the interface;
wherein the local gateway application is communicatively coupled to a network component and is configured to instruct the network component to perform one or more bandwidth consuming tasks on behalf of the mobile device; and
wherein the local gateway application is periodically updated with respect of communication parameters of one or more of the plurality of applications.

### Claim 2 (depends on 1)

The mobile device of claim 1, wherein the local gateway application is configured to identify the application autonomously of the application.

### Claim 3 (depends on 1)

The mobile device of claim 1, wherein the local gateway application is configured to perform at least one of: enforce a communication policy on the captured data communication, perform routing of the communication, retrieve a lower-resolution video clip in response to a request for a video clip, perform data channel compression, perform encryption, or perform authentication.

### Claim 4 (depends on 1)

The mobile device of claim 1, wherein the network access policy specifies, for an application, at least one of: rejecting a communication request by the application, allowing the application to communicate using the interface to the data communication network, or performing communication with the interface to the data communication network under the control of the local gateway agent.

### Claim 5 (depends on 1)

The mobile device of claim 1, wherein the network component is at least one of: a proxy server, a virtual private network (VPN) server, a traffic shaper, a router, or a network address translator (NAT).

### Claim 6 (depends on 1)

The mobile device of claim 1, wherein the mobile device is at least one of: a smart phone or a tablet personal computer (PC).

### Claim 7 (depends on 2)

The mobile device of claim 2, wherein the local gateway application is configured to interrogate the operating system for information to identify the requesting application.

### Claim 8 (depends on 7)

The mobile device of claim 7, wherein the network access policy defines, for an application that may not communicate directly with the interface, at least one of: a bandwidth reduction function to apply to the data communication attempt, a communication policy to apply to the data communication attempt, or an updated bandwidth usage value and an allowable data usage value for a data plan used by the mobile device.

### Claim 9

A method for management of communication from a mobile device capable of multi-tasking, comprising:
capturing, by a local gateway application executing on the mobile device, a plurality of requests from any of a plurality of applications executing on the mobile device, the requests to communicate data through a network interface of the mobile device, the local gateway application separate from an operating system of the mobile device;
identifying one of the plurality of applications as a source of the requests for data communication attempts;
instructing a network component to perform bandwidth consuming tasks on behalf of the mobile device;
determining, by the local gateway application, data communication rights for the identified requesting application based on a network access policy, the data communication access rights determining whether the identified requesting application may communicate with the network interface for a first request to communicate data;
in response to determining that the identified requesting application may not communicate directly with the network interface, aggregating a plurality of requests received from the identified requesting application, and performing the aggregated captured requests by the local gateway application on behalf of the identified requesting application via the interface; and
in response to determining that the identified requesting application may communicate directly with the network interface, permitting the identified requesting application to perform the captured request via the interface;
wherein the local gateway application is periodically updated with respect of communication parameters of one or more of the plurality of applications.

### Claim 10 (depends on 9)

The method of claim 9, further comprising identifying the requesting application without interrogation of the requesting application.

### Claim 11 (depends on 9)

The method of claim 9, wherein performing the captured request further comprises at least one of: enforcing a communication policy on the request to communicate, routing the request to communicate, retrieving a lower-resolution video clip in response to the request to communicate being a request for a video clip, performing data channel compression, performing encryption, or performing authentication.

### Claim 12 (depends on 9)

The method of claim 9, wherein the network access policy specifies, for an application, at least one of: rejecting the request to communicate data, allowing the requesting application to communicate using the network interface to a data communication network, or regulating the bandwidth usage by the requesting application.

### Claim 13 (depends on 9)

The method of claim 9, wherein the network component is any one of: a proxy server, a virtual private network (VPN) server, a traffic shaper, a router, and a network address translator (NAT).

### Claim 14 (depends on 9)

The method of claim 9, wherein the mobile device is at least one of: a smart phone or a tablet personal computer (PC).

### Claim 15

An article comprising at least one non-transitory computer-readable storage medium containing instructions that, when executed by a processor, cause a system to:
capture, by a local gateway application, a plurality of requests from any of a plurality of applications executing on a mobile device, the request to communicate data through a network interface of the mobile device, the local gateway application separate from an operating system executing on the mobile device;
instruct a network component to perform bandwidth consuming tasks on behalf of the mobile device;
determine data communication access rights for the identified requesting application based on a network access policy, the data communication access rights determining whether the identified requesting application may communicate with the network interface;
in response to determining that the identified requesting application may not communicate directly with the network interface, aggregate a plurality of data communication requests received from the identified requesting application, and perform the aggregated captured requests by the local gateway application on behalf of the identified requesting application; and
in response to determining that the identified requesting application may communicate directly with the network interface, permit the identified requesting application to perform the captured request via the interface;
wherein the local gateway application is periodically undated with respect of communication parameters of one or more the plurality of applications.

### Claim 16

An article comprising a non-transitory computer-readable storage medium including instructions for a local gateway application, the local gateway application comprising:
a first interface to a plurality of applications executed on a mobile device, wherein the first interface is configured to capture a plurality of requests from a plurality of applications, the requests to communicate data through a network interface of the mobile device;
a second interface to an operating system of the mobile device, wherein the local gateway application is external to the operating system and is configured to interrogate the operating system for information to identify the requesting application;
a network access policy specifying, for a requesting application, data communication access rights determining whether the requesting application may communicate with the network interface;
a first data link that aggregates a plurality of data communication request received later from the requesting application, and performs the aggregated requested data communications on behalf of the requesting application through the network interface without interfering with normal operation of the requesting application, when the network access policy requires regulating bandwidth usage by the requesting application; and
a second data link through which the requesting application communicates with the network interface without regulation by the local gateway application, when the network access policy does not require regulating bandwidth usage by the requesting application;
wherein the local gateway application is communicatively coupled to a network component and is configured to instruct the network component to perform one or more bandwidth consuming tasks on behalf of the mobile device; and
wherein the local gateway application is periodically updated with respect of communication parameters of one or more the plurality of applications.
