IP Library Granted Patent US 7,764,694
Granted Patent B2
US 7,764,694 · App. 12/044,821 · Granted Jul 27, 2010

System, method, and apparatus for prioritizing network traffic using deep packet inspection (DPI)

Assignee: Embarq Holdings Company, LLP
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 7,764,694
App. No.
12/044,821
Granted
Jul 27, 2010
Kind
B2
Abstract

A method, system, and apparatus for prioritizing network traffic according to one embodiment includes receiving a packet addressed to a receiver device from a sender device, identifying the packet at a network layer to determine an application and/or protocol associated with the packet, and generating traffic priority information associated with the packet based upon the identification. In at least one embodiment, the traffic priority information indicates traffic prioritization between the sender device and the receiver device. The method further includes forwarding the packet to the receiver device, receiving an acknowledgment packet from the receiving device, and inserting the traffic priority information into the acknowledgment packet at a transport layer. In at least one embodiment, the acknowledgment packet is forwarded to the sender device. In various embodiments, the packet is identified at the network layer using deep packet inspection.

Claims (60)

1. A method for prioritizing network traffic comprising:

receiving a packet from a sender device, the packet addressed to a receiver device;

performing a deep packet inspection of the packet at a network layer to collect data that identifies at least one of an application or protocol associated with the packet;

generating a signature from the data that identifies the at least one of an application or protocol;

comparing the signature to entries in a signature library;

identifying that the data packet is associated with a particular application or protocol if a match of the signature to an entry in the signature is found;

updating the signature library with the signature if a match of the signature to an entry in the signature library is not found;

generating traffic priority information associated with the packet based upon the identifying, the traffic priority information indicating traffic prioritization between the sender device and the receiver device;

forwarding the packet to the receiver device;

receiving an acknowledgment packet from the receiving device; and

inserting the traffic priority information into the acknowledgment packet at a transport layer.

2. The method of claim 1 , further comprising:

forwarding the acknowledgment packet to the sender device;

receiving the acknowledgement packet at the sender device; and

prioritizing traffic between the sender device and the receiver device in accordance with the traffic priority information.

3. The method of claim 1 , wherein identifying the packet at the network layer includes identifying the packet at the network layer using deep packet inspection.

4. The method of claim 1 , wherein the acknowledgment packet includes a synchronization acknowledgment packet.

5. The method of claim 1 , wherein the acknowledgement packet includes a data acknowledgment packet.

6. The method of claim 1 , wherein the acknowledgment packet includes a transport layer acknowledgment packet.

7. The method of claim 1 , wherein the priority information includes a deep packet inspection code.

8. An apparatus for prioritizing network traffic comprising:

at least one processor, the at least one processor configured to:

receive a packet from a sender device, the packet addressed to a receiver device;

perform a deep packet inspection of the packet at a network layer to collect data that identifies at least one of an application or protocol associated with the packet;

generate a signature from the data that identifies the at least one of an application or protocol;

compare the signature to entries in a signature library;

identify that the data packet is associated with a particular application or protocol if a match of the signature to an entry in the signature is found;

update the signature library with the signature if a match of the signature to an entry in the signature library is not found;

generate traffic priority information associated with the packet based upon the identifying, the traffic priority information indicating traffic prioritization between the sender device and the receiver device;

forward the packet to the receiver device;

receive an acknowledgment packet from the receiving device; and

insert the traffic priority information into the acknowledgment packet at a transport layer.

9. The apparatus of claim 8 , wherein the at least one processor is further configured to:

forward the acknowledgment packet to the sender device.

10. The apparatus of claim 9 , wherein the sender device is operable to:

receive the acknowledgement packet; and

prioritize traffic between the sender device and the receiver device in accordance with the traffic priority information.

11. The apparatus of claim 8 , wherein identifying the packet at the network layer includes identifying the packet at the network layer using deep packet inspection.

12. The apparatus of claim 8 , wherein the acknowledgment packet includes a synchronization acknowledgment packet.

13. The apparatus of claim 8 , wherein the acknowledgement packet includes a data acknowledgment packet.

14. The apparatus of claim 8 , wherein the acknowledgment packet includes a transport layer acknowledgment packet.

15. The apparatus of claim 8 , wherein the priority information includes a deep packet inspection code.

16. A computer usable program product in a non-transitory computer readable storage medium storing computer executable instructions for prioritizing network traffic that, when executed, cause at least one processor to:

receive a packet from a sender device, the packet addressed to a receiver device;

perform a deep packet inspection of the packet at a network layer to collect data that identifies at least one of an application or protocol associated with the packet;

generate a signature from the data that identifies the at least one of an application or protocol;

compare the signature to entries in a signature library;

identify, that the data packet is associated with a particular application or protocol if a match of the signature to an entry in the signature is found;

update the signature library, with the signature if a match of the signature to an entry in the signature library, is not found;

generate priority information associated with the packet based upon the identifying, the traffic priority information indicating traffic prioritization between the sender device and the receiver device;

forward the packet to the receiver device;

receive an acknowledgment packet from the receiving device;

insert the traffic priority information into the acknowledgment packet at a transport layer.

17. The computer usable program product of claim 16 , wherein the computer usable program product is further operable to cause the at least one processor to:

forward the acknowledgment packet to the sender device.

18. The computer usable program product of claim 17 , wherein the sender device is configured to:

receive the acknowledgement packet; and

prioritize traffic between the sender device and the receiver device in accordance with the traffic priority information.

19. The computer usable program product of claim 16 , wherein identifying the packet at the network layer includes identifying the packet at the network layer using deep packet inspection.

20. The computer usable program product of claim 16 , wherein the acknowledgment packet includes a transport layer acknowledgment packet.

Assignments (3)
CHANGE OF NAME Recorded Jan 20, 2016
From: EMBARQ HOLDINGS COMPANY, LLC
To: CENTURYLINK INTELLECTUAL PROPERTY LLC
Reel/Frame 037565/0986 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 7, 2008
From: RAY, AMAR NATH; HEINZ, JOHN M.
To: EMBARQ HOLDINGS COMPANY, LLC
Reel/Frame 020834/0733 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 7, 2008
From: RAY, AMAR NATH
To: EMBARQ HOLDINGS COMPANY, LLC
Reel/Frame 020618/0894 →
Continuity (1)
Related Publication 20090225655A1 · Sep 10, 2009