IP Library › Granted Patent US 10,103,990
Granted Patent B2
US 10,103,990 · App. 14/930,250 · Granted Oct 16, 2018

Method and system for congestion monitoring in a data network

Inventors: Liam McCollum (Belfast, GB); Matt Halligan (Belfast, GB)
Assignee: Openwave Mobility Inc.
H04L47/11H04L43/026H04L43/0882H04L47/10H04L47/25H04L47/263H04L41/0896H04L41/5025H04L43/16
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,103,990
App. No.
14/930,250
Granted
Oct 16, 2018
Kind
B2
Abstract

A method, system and computer program for congestion monitoring in a data network. The method comprises: determining, at a server in the data network, that a user device has initiated a data session with the data network; monitoring, at the server, a plurality of data flows associated with the data session to determine an average bandwidth of the plurality of data flows; and determining a congestion status of the data session based on the average bandwidth and one or more criteria.

Claims (43)

1. A method for congestion monitoring in a data network, the method comprising:

determining, at a server in the data network, that a user device has initiated a data session with the data network;

monitoring, at the server, a plurality of data flows associated with the data session between the user device and the data network;

determining an average bandwidth of the plurality of data flows associated with the data session between the user device and the data network; and

determining a first congestion status of the data session based on the average bandwidth and one or more first criteria;

wherein the one or more first criteria comprise a first threshold level and a first time period; and

wherein the determining the first congestion status comprises:

determining the data session as a congested data session candidate when the average bandwidth is below the first threshold; and

determining the first congestion status as indicating that the data session is congested when the average bandwidth of the congested data session candidate remains below the first threshold level for longer than the first time period.

2. The method according to claim 1 , wherein the data session is an Internet Protocol (IP) data session.

3. The method according to claim 1 , wherein the server is a proxy server located in a data path between the user device and a plurality of content sources.

4. The method according to claim 3 , wherein the plurality of data flows comprises a first data flow and a second data flow, the first data flow comprising first data transmitted between the user device and a first endpoint associated with the plurality of content sources, and the second data flow comprising second data transmitted between the user device and a second endpoint associated with the plurality of content sources.

5. The method according to claim 4 , wherein the first data is transmitted using the Transmission Control Protocol (TCP), and the first endpoint is a first network socket associated with a first TCP connection over which the first data is transmitted.

6. The method according to claim 4 , wherein the second data is transmitted using the Transmission Control Protocol (TCP), and the second endpoint is a network socket associated with a second TCP connection over which the second data is transmitted.

7. The method according to claim 4 , wherein the first endpoint is associated with a first content source in the plurality of content sources, and the second endpoint is associated with a second content source in the plurality of content sources, different from the first content source.

8. The method according to claim 1 , wherein the plurality of data flows comprises a first data flow and a second data flow, the first data flow comprising first data addressed to a first network socket associated with the user device, and the second data flow comprising second data addressed to a second network socket associated with the user device, wherein the first network socket is different from the second network socket.

9. The method according to claim 1 , wherein the plurality of data flows is associated with a plurality of buffers and monitoring the plurality of data flows associated with the data session includes monitoring the rate at which data is written to each of the plurality of buffers.

10. The method according to claim 1 , further comprising modifying a characteristic of at least one data flow in the plurality of data flows when the first congestion status determined for the data session indicates that the data session is congested.

11. The method according to claim 10 , wherein the characteristic of the at least one data flow in the plurality of data flows is modified in accordance with a policy associated with the user device.

12. The method according to claim 11 , wherein the policy is at least one of an access control policy and a rate shaping policy associated with the user device.

13. The method according to claim 10 , wherein the characteristic of the at least one data flow in the plurality of data flows is modified by changing an optimisation process applied to the at least one data flow.

14. The method according to claim 10 , wherein the characteristic of the at least one data flow in the plurality of data flows is modified by changing a traffic shaping process applied to the at least one data flow.

15. The method according to claim 1 , wherein determining that a user device has initiated a data session with the data network is based, at least in part, on a message received at the server.

16. The method according to claim 15 , wherein the message is a Remote Authentication Dial-In User Service (RADIUS) message received from an Authentication, Authorization, and Accounting (AAA) server.

17. The method according to claim 1 , further comprising determining a second congestion status of the data session based on the average bandwidth and one or more second criteria, wherein the one or more second criteria comprise a second threshold level and a second time period, and the second congestion status determined for the data session indicates that the data session is no longer congested when the average bandwidth is above the second threshold level for longer than the second time period.

18. A system for congestion monitoring in a data network, the system comprising at least one memory including computer program code; and at least one processor in data communication with the at least one memory, wherein the at least one processor is configured to, at a server in the data network:

determine that a user device has initiated a data session with the data network;

monitor, at the server, a plurality of data flows associated with the data session between the user device and the data network;

determine an average bandwidth of the plurality of data flows associated with the data session between the user device and the data network; and

determine a first congestion status of the data session based on the average bandwidth and one or more first criteria

wherein the one or more first criteria comprise a first threshold level and a first time period; and

wherein the determination of the first congestion status includes the at least one processor configured to:

determine the data session as a congested data session candidate when the average bandwidth is below the first threshold; and

determine the first congestion status as indicating that the data session is congested when the average bandwidth of the congested data session candidate remains below the first threshold level for longer than the first time period.

19. A non-transitory computer-readable storage medium comprising computer-executable instructions which, when executed by a processor, cause a computing device to perform a method of congestion monitoring in a data network, the method comprising:

determining, at a server in the data network, that a user device has initiated a data session with the data network;

monitoring, at the server, a plurality of data flows associated with the data session between the user device and the data network;

determining an average bandwidth of the plurality of data flows associated with the data session between the user device and the data network; and

determining a first congestion status of the data session based on the average bandwidth and one or more first criteria;

wherein the one or more first criteria comprise a first threshold level and a first time period; and

wherein the determining the first congestion status comprises:

determining the data session as a congested data session candidate when the average bandwidth is below the first threshold; and

determining the first congestion status as indicating that the data session is congested when the average bandwidth of the congested data session candidate remains below the first threshold level for longer than the first time period.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 6, 2016
From: MCCOLLUM, LIAM; HALLIGAN, MATT
To: OPENWAVE MOBILITY INC.
Reel/Frame 038487/0726 →
Priority Claims (1)
GB 1419734.7 · Nov 5, 2014 · national
Continuity (1)
Related Publication 20160127238A1 · May 5, 2016