IP Library Granted Patent US 9,215,159
Granted Patent B2
US 9,215,159 · App. 14/670,315 · Granted Dec 15, 2015

Data usage monitoring for media data services used by applications

Inventors: Gregory G. Raleigh (Woodside, CA); Jeffrey Green (Sunnyvale, CA); James Lavine (Corte Madera, CA); Vien-Phuong Nguyen (Newark, CA)
Assignee: Headwater Partners I LLC
H04L43/0876H04L41/0893H04L43/062H04L43/0888H04L47/14H04L47/19H04L47/806H04L65/601H04L65/607H04L67/2804H04W4/24H04W24/08H04L12/1485H04L41/0896H04L41/5019H04L41/5029
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 9,215,159
App. No.
14/670,315
Granted
Dec 15, 2015
Kind
B2
Abstract

A wireless end-user device contains a wireless modem, a network stack configurable to receive and transmit network data via the wireless modem, a media service manager, and a service classification agent. The media service manager manages network data transfers for media objects as requested by multiple applications. Even though the media service manager manages the network data transfers, the service classification agent provides a capability to associate network data usage for the network data transfers with the applications that requested the service from the media service manager.

Claims (42)

1. A wireless end-user device, comprising:

a wireless modem;

at least one network stack configurable to receive and transmit network data via the wireless modem;

a media service manager to support multiple device applications, such that when any one of the applications launches a data transfer request for a media object, the media service manager is to manage network data transfers for the media object by interfacing with the at least one network stack; and

a service classification agent to associate data usage for the media object network data transfers with the application that launches the data transfer request for the media object.

2. The wireless end-user device of claim 1 , the service classification agent to further associate one or more traffic flows, comprising the media object network data transfers, with the application that launches the data transfer request, the device further comprising an enforcement agent to, based on the association between the one or more traffic flows and the application, enforce an application-based usage control on network data usage by one or more of the multiple device applications.

3. The wireless end-user device of claim 1 , wherein to associate data usage for the media object network data transfers with the application that launches the data transfer request for the media object comprises to identify at least one of an application name, an application identified and a process identifier for the application that launches the data transfer request.

4. The wireless end-user device of claim 3 , wherein the data transfer request comprises a network resource identifier that identifies a source of the data to be transferred, a proxy to the source of the data to be transferred, or the media object to be transferred.

5. The wireless end-user device of claim 4 , wherein to associate data usage for the media object network data transfers with the application that launches the data transfer request for the media object further comprises to store an entry comprising the at least one of the application name, the application identified and the process identifier for each of the device applications that launches a data transfer request, each stored entry further comprising information about the corresponding network resource identifier for the data transfer request.

6. The wireless end-user device of claim 5 , wherein the service classification agent includes a requesting application storing function within the media services manager.

7. The wireless end-user device of claim 6 , wherein the media service manager is a first media service manager and the requesting application storing function is a first requesting application storing function, the device further comprising a second media service manager of a different type than the first media service manager, the service classification agent including a second requesting application storing function within the second media service manager.

8. The wireless end-user device of claim 7 , further comprising a usage and classification reconciliation agent and a usage and classification database, the usage and classification reconciliation agent to receive application association information stored by the first and second requesting application storing functions, and to maintain the usage and classification database based in part on the received application association information.

9. The wireless end-user device of claim 4 , wherein the network resource identifier comprises one or more of an Internet Protocol address, a Uniform Resource Locator, a remote file name/address, a stream name, and an object name.

10. The wireless end-user device of claim 4 , wherein to manage network data transfers for the media object by interfacing with the at least one network stack comprises to map the data transfer request and network resource identifier to one or more data flow connections communicated through the device networking stack.

11. The wireless end-user device of claim 10 , wherein to manage network data transfers for the media object by interfacing with the at least one network stack further comprises to manage, for the one or more data flow connections, a resulting flow of data between a network accessible through the wireless modem and the network stack.

12. The wireless end-user device of claim 10 , wherein to manage network data transfers for the media object by interfacing with the at least one network stack further comprises to manage, for the one or more data flow connections, a resulting flow of data between the network stack and the application that launches the data transfer request.

13. The wireless end-user device of claim 10 , wherein to associate data usage for the media object network data transfers with the application that launches the data transfer request for the media object further comprises to monitor and record network data flow identifiers for the one or more data flow connections.

14. The wireless end-user device of claim 13 , wherein the network data flow identifiers comprise at least one of a data flow tag, an Internet Protocol address, a Transmission Control Protocol identifier, an application layer identifier, and a socket tuple.

15. The wireless end-user device of claim 13 , wherein to associate data usage for the media object network data transfers with the application that launches the data transfer request for the media object further comprises to associate the network data flow identifiers with the application that launches the data transfer request.

16. The wireless end-user device of claim 15 , wherein to associate the network data flow identifiers with the application that launches the data transfer request comprises to inspect the one or more data flow connections to determine a match between the data flow connections and the network resource identifier.

17. The wireless end-user device of claim 15 , wherein to associate the network data flow identifiers with the application that launches the data transfer request comprises to track data flow between the media service manager and the application that launches the data transfer request, through the media service manager, and between the media service manager and the network stack.

18. The wireless end-user device of claim 17 , wherein data flow through the media service manager comprises a first traffic processing step, and wherein to track data flow through the media service manager comprises to associate each data flow prior to the first traffic processing step with a data flow after the first processing step.

19. The wireless end-user device of claim 18 , wherein data flow through the media service manager further comprises a second traffic processing step, and wherein to track data flow through the media service manager comprises to associate each data flow prior to the second traffic processing step with a data flow after the second processing step, and to associate each corresponding data flow for the first and second traffic processing steps.

20. The wireless end-user device of claim 17 , wherein data flow through the media service manager comprises a first traffic processing step, and wherein to track data flow through the media service manager comprises to tag each data flow entering the media service manager and identify the tag for each data flow leaving the media service manager.

21. The wireless end-user device of claim 1 , further comprising a usage and classification reconciliation agent and a usage and classification database to store, for each of the multiple device applications, the associated data usage from the service classification agent.

22. The wireless end-user device of claim 1 , further comprising at least a first one of the multiple device applications, the first one of the multiple device applications capable of launching a data transfer request and managing network data transfers for the request through the at least one network stack without the use of the media service manager.

23. The wireless end-user device of claim 1 , further comprising a media player and a user interface, wherein the media object comprises media data that is, as a result of the media service manager management of network data transfers for the media object, received by the device and played by the media player through the user interface.

24. The wireless end-user device of claim 23 , the media service manager to

receive, from the application launching the data transfer request, a network resource indicator that identifies the media object,

return to the application a media object handle descriptor,

call a proxy service to perform one or more network data transfers comprising the media object,

accept, from the application, commands associated with the media object handle descriptor, and

control playback of the media data by the media player based on the commands.

25. The wireless end-user device of claim 1 , the media object comprising a media file downloaded to the device, the media service manager further to process the media file.

26. The wireless end-user device of claim 1 , wherein the service classification agent to associate data usage for the media object network data transfers with the application that launches the data transfer request for the media object comprises a service classification and accounting agent to:

for each application that requests or conducts a network data transfer using the media service manager, store application identification information and network resource identification information;

for each network data flow associated with the media service manager, identify network data flow identification information; and

match the network data flow identification information for a network data flow with application identification information for the network data transfer associated with the network data flow.

27. The wireless end-user device of claim 1 , further comprising:

a local database to store data usage, including data usage for network data transfers managed by the media service manager, the stored data usage classified by device application;

a user interface; and

a user interface display agent to display the data usage classified by application to a user.

Assignments (2)
MERGER AND CHANGE OF NAME Recorded Jan 4, 2017
From: HEADWATER PARTNERS I LLC; HEADWATER MANAGEMENT LLC
To: HEADWATER RESEARCH LLC
Reel/Frame 041248/0777 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 26, 2015
From: RALEIGH, GREGORY G.; GREEN, JEFFREY; LAVINE, JAMES; NGUYEN, PHUONG D.
To: HEADWATER PARTNERS I LLC
Reel/Frame 035316/0759 →
Continuity (55)
Continuation 14098527 · Dec 5, 2013
Continuation 13374959 · Jan 24, 2012
Continuation In Part 13134028 · May 25, 2011
Continuation In Part 12695021 · Jan 27, 2010
Continuation In Part 13134005 · May 25, 2011
Continuation In Part 12380778 · Mar 2, 2009
Continuation In Part 12380780 · Mar 2, 2009
Continuation In Part 12380780
Continuation In Part 12380780
Continuation In Part 12695019 · Jan 27, 2010
Continuation In Part 12695020 · Jan 27, 2010
Continuation In Part 12694445 · Jan 27, 2010
Continuation In Part 12694451 · Jan 27, 2010
Continuation In Part 12694455 · Jan 27, 2010
Continuation In Part 12695980 · Jan 28, 2010
Continuation In Part 13229580 · Sep 9, 2011
Continuation In Part 13237827 · Sep 20, 2011
Continuation In Part 13253013 · Oct 4, 2011
Continuation In Part 13239321 · Sep 21, 2011
Continuation In Part 13248028 · Sep 28, 2011
Continuation In Part 13247998 · Sep 28, 2011
Continuation In Part 13309556 · Dec 1, 2011
Continuation In Part 13309463 · Dec 1, 2011
Continuation In Part 13248025 · Sep 28, 2011
Provisional Application 61435564 · Jan 24, 2011
Provisional Application 61472606 · Apr 6, 2011
Provisional Application 61550906 · Oct 24, 2011
Provisional Application 61589830 · Jan 23, 2012
Provisional Application 61348022 · May 25, 2010
Provisional Application 61381159 · Sep 9, 2010
Provisional Application 61381162 · Sep 9, 2010
Provisional Application 61384456 · Sep 20, 2010
Provisional Application 61385020 · Sep 21, 2010
Provisional Application 61387243 · Sep 28, 2010
Provisional Application 61387247 · Sep 28, 2010
Provisional Application 61389547 · Oct 4, 2010
Provisional Application 61407358 · Oct 27, 2010
Provisional Application 61418507 · Dec 1, 2010
Provisional Application 61418509 · Dec 1, 2010
Provisional Application 61420727 · Dec 7, 2010
Provisional Application 61422565 · Dec 13, 2010
Provisional Application 61422572 · Dec 13, 2010
Provisional Application 61422574 · Dec 13, 2010
Provisional Application 61252151 · Oct 15, 2009
Provisional Application 61252153 · Oct 15, 2009
Provisional Application 61206354 · Jan 28, 2009
Provisional Application 61206944 · Feb 4, 2009
Provisional Application 61207393 · Feb 10, 2009
Provisional Application 61207739 · Feb 13, 2009
Provisional Application 61270353 · Jul 6, 2009
Provisional Application 61264126 · Nov 24, 2009
Provisional Application 61275208 · Aug 25, 2009
Provisional Application 61237753 · Aug 28, 2009
Provisional Application 61264120 · Nov 24, 2009
Related Publication 20150207708A1 · Jul 23, 2015