IP Library Granted Patent US 10,243,824
Granted Patent B2
US 10,243,824 · App. 15/620,791 · Granted Mar 26, 2019

On-device attribution of network data usage

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,243,824
App. No.
15/620,791
Granted
Mar 26, 2019
Kind
B2
Abstract

Embodiments attribute network data transfers to applications executing on a computing device. A data transfer service executes on the computing device to receive and process data transfer requests. The data transfer requests, populated by the applications, have identifiers attributed thereto to enable monitoring of the network data transfers per identifier. For example, network data transfers associated with different mail accounts of a mail program or different web sites of browser are attributed separately. Data usage statistics relating to the network data transfers for each identifier may be generated and presented to the user for review.

Claims (46)

1. A method comprising:

monitoring active network interfaces to track data usage of a plurality of applications executing on a mobile computer, wherein each of the plurality of applications is associated with one or more identifiers including a unique identifier;

generating data usage statistics per unique identifier of an application of a subset of the plurality of applications, based on data transfers performed by the mobile computer based on data transfer requests from the application of the subset of the plurality of applications executing on the mobile computer, wherein each data transfer request includes information about a unique identification of a particular application that originated the data transfer request, wherein the unique identifier is different from a network identifier associated with a network connection; and

displaying the generated data usage statistics per unique identifier of each application of the subset of the plurality of applications.

2. The method of claim 1 , wherein the generated data usage statistics provide network data consumed for each application of the subset of the plurality of applications.

3. The method of claim 1 , wherein the generated data usage statistics identify which network interface is being used for data usage.

4. The method of claim 1 , wherein displaying the generated data usage statistics comprises sorting the generated data usage statistics application in decreasing order of network data consumption.

5. The method of claim 1 , further comprising receiving a request from the application of the subset of the plurality of applications to register the unique identifier with a service that tracks data consumption.

6. The method of claim 1 , further comprising:

receiving data transfer requests from one or more of the plurality of applications;

identifying a unique identifier associated with each of the data transfer requests; and

identifying the one or more applications based on the identified unique identifiers.

7. The method of claim 6 , further comprising:

adding the received data transfer requests to a queue; and

processing the queue to initiate the data transfer requests.

8. A system for tracking network data usage for a plurality of applications executing on a mobile computing device, the system comprising:

a memory area associated with the mobile computing device, the memory area storing the plurality of applications; and

a processor programmed to:

monitor active network interfaces to track data usage of the plurality of applications, wherein each of the plurality of applications is associated with one or more identifiers including a unique identifier;

generate data usage statistics per unique identifier of an application of a subset of the plurality of applications, based on data transfers performed by the mobile computing device based on data transfer requests from the application of the subset of the plurality of applications executing on the mobile computing device, wherein each data transfer request includes information about a unique identification of a particular application that originated the data transfer request, wherein the unique identifier is different from a network identifier associated with a network connection; and

display the generated data usage statistics per unique identifier of each application of the subset of the plurality of applications.

9. The system of claim 8 , wherein the generated data usage statistics represent network data consumed for each application of the subset of the plurality of applications.

10. The system of claim 8 , wherein the generated data usage statistics identify which network interface is being used for data usage.

11. The system of claim 8 , wherein displaying the generated data usage statistics comprises sorting the generated data usage statistics application identifier in decreasing order of network data consumption.

12. The system of claim 8 , wherein the processor is further programmed to receive a request from the application of the subset of the plurality of applications to register the unique identifier with a service that tracks data consumption.

13. The system of claim 8 , wherein the processor is further programmed to:

receive data transfer requests from one or more of the plurality of applications;

identify a unique identifier associated with each of the data transfer requests; and

identify the one or more applications based on the identified unique identifiers.

14. The system of claim 13 , wherein the processor is further programmed to:

add the received data transfer requests to a queue; and

process the queue to initiate the data transfer requests.

15. One or more computer-readable storage devices comprising computer-executable instructions, that when executed by one or more processors, cause the one or more processors to:

monitor active network interfaces to track data usage of a plurality of applications executed on a mobile computing device, wherein each of the plurality of applications is associated with one or more identifiers including a unique identifier;

generate data usage statistics per unique identifier of an application of a subset of the plurality of applications, based on data transfers performed by the mobile computing device based on data transfer requests from the application of the subset of the plurality of applications executing on the mobile computing device, the performed data transfer requests being processed at the mobile computing device, wherein each data transfer request includes information about a unique identification of a particular application that originated the data transfer request, wherein the unique identifier is different from a network identifier associated with a network connection; and

displaying the generated data usage statistics per unique identifier of each application of the subset of the plurality of applications.

16. The one or more computer-readable storage devices of claim 15 , wherein the generated data usage statistics represent network data consumed for each application of the subset of the plurality of applications.

17. The one or more computer-readable storage devices of claim 15 , wherein the generated data usage statistics identify which network is being used for data usage.

18. The one or more computer-readable storage devices of claim 15 , wherein displaying the generated data usage statistics comprises sorting the generated data usage statistics per application in decreasing order of network data consumption.

19. The one or more computer-readable storage devices of claim 15 , wherein the computer-executable instructions further cause the one or more processors to receive a request from the application of the subset of the plurality of applications to register the unique identifier with a service that tracks data consumption.

20. The one or more computer-readable storage devices of claim 15 , wherein the computer-executable instructions further cause the one or more processors to:

receive data transfer requests from one or more of the plurality of applications;

identify a unique identifier associated with each of the data transfer requests;

identify the one or more applications based on the identified unique identifiers;

add the received data transfer requests to a queue; and

process the queue to initiate the data transfer requests.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2017
From: ZALMANOVITCH, GIL; SCOTT, GREGORY JAMES; GUDAY, SHAI; KWOK, ALEC GARVIN; JIANG, YUE; MA, KENNETH VINCENT
To: MICROSOFT CORPORATION
Reel/Frame 042680/0896 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 12, 2017
From: MICROSOFT CORPORATION
To: MICROSOFT TECHNOLOGY LICENSING, LLC
Reel/Frame 042680/0920 →
Cited By (3)
US 12,260,452 US 12,278,922 US 12,547,521