IP Library › Granted Patent US 9,130,845
Granted Patent B2
US 9,130,845 · App. 13/939,474 · Granted Sep 8, 2015

Network congestion analysis

Inventors: Yiu Lee (Philadelphia, PA); Alain Durand (Great Falls, VA)
Assignee: Comcast Cable Communications, LLC
H04L43/0882H04L12/2613H04L12/2615H04L12/2686H04L12/2694H04L43/028H04L43/04H04L43/087H04L43/0835H04L43/0858H04L43/18H04L43/106
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,130,845
App. No.
13/939,474
Granted
Sep 8, 2015
Kind
B2
Abstract

A network monitoring and network congestion analysis can be performed based on a comparison of data packets at multiple different network nodes installed at different locations on a communication path. A downstream network node may be installed at a user location while an upstream network may be installed at an access router further up the network. A network congestion analyzer may receive data packet information including timestamps from both network nodes, and may compare the data packet information to group the data packets into application flows and match the corresponding packets from the different network nodes. Based on the data packet matching, the network congestion analyzer may calculate packet loss, packet delay, packet delay variation, and perform other network congestion analysis techniques for the application flows corresponding to a user's various devices and the applications executing on those devices.

Claims (60)

1. A method, comprising:

comparing, by a computing device, first identifying information relating to a first data packet associated with a first network element to second identifying information relating to a second data packet associated with a second network element;

determining, by the computing device, based on the comparison, that the first data packet corresponds to the second data packet at a different location in a network path comprising at least the first network element and the second network element; and

performing, by the computing device, an analysis of the network path.

2. The method of claim 1 , wherein the first identifying information comprises a first timestamp and the second identifying information comprises a second timestamp, and wherein performing the analysis of the network path comprises comparing the first timestamp and the second timestamp.

3. The method of claim 1 , wherein the first data packet is collected downstream of an access modem, and the second data packet is collected upstream of the access modem.

4. The method of claim 1 , wherein the first data packet and the second data packet are Transmission Control Protocol (TCP) packets or Real-time Transport Protocol (RTP) packets, and wherein determining that the first data packet and the second data packet correspond to the same data packet comprises comparing a packet sequence number from the first identifying information to a packet sequence number from the second identifying information.

5. The method of claim 1 , wherein the first data packet and the second data packet are User Datagram Protocol (UDP) packets, and wherein determining that the first data packet and the second data packet correspond to the same data packet comprises:

determining a first hash signature associated with a payload of the first data packet;

determining a second hash signature associated with a payload of the second data packet; and

comparing the first hash signature and the second hash signature.

6. The method of claim 1 , wherein performing the analysis of the network path comprises:

identifying a plurality of application flows on the network path; and

determining an amount of network usage for each of the plurality of application flows.

7. The method of claim 6 , wherein performing the analysis of the network path further comprises calculating at least one of an amount of packet delay, an amount of packet delay variation, or a number of dropped packets for each of the plurality of application flows on the network path.

8. The method of claim 1 , further comprising:

comparing third identifying information relating to a third data packet associated with the first network element to fourth identifying information relating to a fourth data packet associated with the second network element;

determining, by the computing device, that the third data packet and the fourth data packet correspond to the same data packet at different locations in the network path; and

determining that the first and second data packets belong to a first application flow, and determining that the third and fourth data packets belong to a second different application flow,

wherein performing the analysis of the network path comprises performing separate data flow analyses for the first and second application flows.

9. A method, comprising:

receiving, by an intermediary network node, one or more data packets transmitted by at least one transmitting node;

creating, by the intermediary network node, a data set comprising characteristics of the one or more data packets;

transmitting, by the intermediary network node, the one or more data packets to at least one destination node; and

transmitting, by the intermediary network node, the data set to a network analyzer.

10. The method of claim 9 , wherein creating the data set comprising characteristics of the one or more data packets comprises:

receiving a control instruction from the network analyzer to begin capturing data packets; and

storing the one or more data packets transmitted by the transmitting node, in response to the receiving the control instruction.

11. The method of claim 9 , wherein the one or more data packets comprise one or more data packets corresponding to a plurality of different application flows, each application flow in the plurality of different applications flows associated with a different transmitting node.

12. The method of claim 9 , further comprising:

receiving a signal from an external time source;

creating a timestamp associated with a first data packet in the one or more data packets, the timestamp based on the external time source and based on a time that the first data packet was received at the intermediary network node; and

storing the timestamp as a data field within the data set.

13. The method of claim 9 , further comprising:

determining that a first data packet in the one or more data packets is one of a Transmission Control Protocol (TCP) packet or a Real-time Transport Protocol (RTP) packet;

identifying a TCP or RTP sequence number associated with the first data packet; and

storing the TCP or RTP sequence number associated with the first data packet as a data field within the data set.

14. The method of claim 9 , further comprising:

determining that a first data packet in the one or more data packets is a User Datagram Protocol (UDP) packet;

creating a first hash signature based on the first data packet; and

storing the first hash signature as a data field within the data set.

15. A system, comprising:

a first network element in a network path;

a second network element in the network path; and

a network path analyzer configured to:

receive first data corresponding to a first data packet from the first network element;

receive second data corresponding to a second data packet from the second network element;

compare the first data and the second data;

determine, based on the comparison, that the first data packet corresponds to the second data packet at a different location in the network path; and

perform an analysis of the network path, using the first data and the second data.

16. The system of claim 15 , wherein the first data received from the first network element comprises a first timestamp and the second data received from the second network element comprises a second timestamp, and wherein performing the analysis of the network path comprises comparing the first timestamp and the second timestamp.

17. The system of claim 15 , wherein the first data packet and the second data packet are Transmission Control Protocol (TCP) packets or Real-time Transport Protocol (RTP) packets, and wherein determining that the first data packet and the second data packet correspond to the same data packet comprises comparing a packet sequence number from the first data to a packet sequence number from the second data.

18. The system of claim 15 , wherein the first data packet and the second data packet are User Datagram Protocol (UDP) packets, and wherein determining that the first data packet and the second data packet correspond to the same data packet comprises:

determining a first hash signature associated with a payload of the first data packet;

determining a second hash signature associated with a payload of the second data packet; and

comparing the first hash signature and the second hash signature.

19. The system of claim 15 , wherein performing the analysis of the network path comprises:

identifying a plurality of application flows on the network path; and

determining an amount of network usage for each of the plurality of application flows.

20. The system of claim 19 , wherein performing the analysis of the network path further comprises calculating at least one of an amount of packet delay, an amount of packet delay variation, or a number of dropped packets for each of the plurality of application flows on the network path.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 23, 2013
From: LEE, YIU; DURAND, ALAIN
To: COMCAST CABLE COMMUNICATIONS, LLC
Reel/Frame 031461/0645 →
Continuity (2)
Continuation 13041927 · Mar 7, 2011
Related Publication 20130294259A1 · Nov 7, 2013