IP Library Granted Patent US 6,917,588
Granted Patent B1
US 6,917,588 · App. 09/571,160 · Granted Jul 12, 2005

Apparatus and method for classifying data packet flows

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 6,917,588
App. No.
09/571,160
Granted
Jul 12, 2005
Kind
B1
Abstract

Currently there are two techniques used to classify data packet flows, those techniques being static and dynamic. A proper combination of these two techniques can allow for the advantages of both techniques to be gained while reducing their respective disadvantages. With this combined flow classification method a flow is classified initially with the use of a static classification method while, at the same time, a dynamic classification method is initiated. If at any point during the dynamic classification method, the classifications derived from the static and dynamic algorithms converge, the flow's classification is henceforth assigned by the dynamic classification method. If a predetermined number of packets or length of time that would be required for the dynamic and static classification algorithms to converge is exceeded, the flow's classification, once again, is henceforth assigned by the dynamic classification method. This allows the initial classification of the flow to occur quickly with the static classification method and the accuracy of dynamic flow classification techniques to take over once such a classification is deemed accurate.

Claims (53)

1. A computing apparatus arranged to receive a flow of data packets, the computing apparatus comprising:

static flow classification logic that operates to determine a static classification for the flow using static information corresponding to at least one of the packets;

dynamic flow classification logic that operates to determine a dynamic classification for the flow using dynamic information corresponding to a plurality of the packets within the flow; and

classification selection logic that operates to initially assign the static classifications to the flow and subsequently assign the dynamic classification to the flow once at least one transitional test is passed.

2. A computing apparatus according to claim 1 , wherein the transitional test is passed when the dynamic classification becomes equal to the static classification.

3. A computing apparatus according to claim 1 , wherein the transitional test is passed when a predetermined number of packets within the flow have been received.

4. A computing apparatus according to claim 3 , wherein the predetermined number of packets is equal to an estimated minimum number of packets required for the dynamic classification to become equal with the static classification.

5. A computing apparatus according to claim 3 , wherein the predetermined number of packets is equal to a predetermined decision factor multiplied by an estimated minimum number of packets required for the dynamic classification to become equal to the static classification; and

wherein the predetermined decision factor is between one and a maximum tolerance factor in which the estimated minimum number of packets could be in error by.

6. A computing apparatus according to claim 1 , wherein the transitional test is passed when a predetermined time period has expired from initially receiving packets of the flow.

7. A computing apparatus according to claim 6 , wherein the predetermined time period comprises an estimate of a time required for the dynamic classification to become equal to the static classification.

8. A computing apparatus according to claim 6 , wherein the predetermined time period comprises a predetermined decision factor multiplied by an estimate of a time required for the dynamic classification to become equal to the static classification; and

wherein the predetermined decision factor is between one and a maximum tolerance factor in which the estimate of the time could be in error by.

9. A computing apparatus according to claim 1 , wherein the at least one transitional test is passed when at least one of first and second transitional tests is passed; and

wherein the first transitional test is passed when the dynamic classification becomes equal to the static classification and the second transitional test is passed when a predetermined number of packets within the flow have been received.

10. A computing apparatus according to claim 9 , wherein the predetermined number of packets is equal to an estimated minimum number of packets required for the dynamic classification to become equal to the static classification.

11. A computing apparatus according to claim 9 , wherein the predetermined number of packets is equal to a predetermined decision factor multiplied by an estimated minimum number of packets required for the dynamic classification to become equal to the static classification; and

wherein the predetermined decision factor is between one and a maximum tolerance factor in which the estimated minimum number of packets could be in error by.

12. A computing apparatus according to claim 1 , wherein the at least one transitional test is passed when at least one of first and second transitional tests are passed; and

wherein the first transitional test is passed when the dynamic and static classifications become equal and the second transitional test is passed when a predetermined time period has expired from initially receiving packets of the flow.

13. A computing apparatus according to claim 12 , wherein the predetermined time period comprises an estimate of a time required for the dynamic classification to become equal to the static classification.

14. A computing apparatus according to claim 12 , wherein the predetermined time period comprises a predetermined decision factor multiplied by an estimate of a time required for the dynamic classification to become equal to the static classification; and

wherein the predetermined decision factor is between one and a maximum tolerance factor in which the estimate of the time could be in error by.

15. A computing apparatus according to claim 1 , wherein the static information corresponding to at least one data packet of the flow comprises protocol header information.

16. A computing apparatus according to claim 1 , wherein the data packets within the flow are Transmission Control Protocol (TCP) packets.

17. A computing apparatus arranged to receive a flow of data packets, the computing apparatus comprising:

static flow classification logic that operates to determine a static classification for the flow using static information corresponding to at least one of the packets;

dynamic flow classification logic that operates to determine a dynamic classification for the flow using dynamic information corresponding to a plurality of the packets within the flow; and

classification selection logic that operates to initially determine if the static and dynamic classifications are equal; if the static and dynamic classifications are initially equal, assign the dynamic classification to the flow; and, if the static and dynamic classifications are not initially equal, initially assign the static classification to the flow and subsequently assign the dynamic classification to the flow once at least one transitional test is passed.

18. A method for assigning a flow classification to a flow of data packets, the method comprising:

determining a static classification for the flow using static information corresponding to at least one of the packets;

determine a dynamic classification for the flow using dynamic information corresponding to a plurality of the packets within the flow;

initially assigning the static classification to the flow; and

subsequently assigning the dynamic classification to the flow once at least one transitional test is passed.

19. A method according to claim 18 , wherein the transitional test is passed when the dynamic classification becomes equal to the static classification.

20. A method according to claim 18 , wherein the transitional test is passed when a predetermined number of packets within the flow have been received.

21. A method according to claim 18 , wherein the transitional test is passed when a predetermined time period has expired from initially receiving packets of the flow.

22. A method according to claim 18 , wherein the at least one transitional test is passed when at least one of first and second transitional tests is passed; and

wherein the first transitional test is passed when the dynamic classification becomes equal to the static classification and the second transitional test is passed when a predetermined number of packets within the flow have been received.

23. A method according to claim 22 , wherein the predetermined number of packets is equal to an estimated minimum number of packets required for the dynamic classification to become equal to the static classification.

24. A method according to claim 22 , wherein the predetermined number of packets is equal to a predetermined decision factor multiplied by an estimated minimum number of packets required for the dynamic classification to become equal to the static classification; and

wherein the predetermined decision factor is between one and a maximum tolerance factor in which the estimated minimum number of packets could be in error by.

25. A method according to claim 18 , wherein the at least one transitional test is passed when at least one of first and second transitional tests is passed; and

wherein the first transitional test is passed when the dynamic and static classifications become equal and the second transitional test is passed when a predetermined time period has expired from initially receiving packets of the flow.

26. A method according to claim 25 , wherein the predetermined time period comprises an estimate of a time required for the dynamic classification to become equal to the static classification.

27. A method according to claim 25 , wherein the predetermined time period comprises a predetermined decision factor multiplied by an estimate of a time required for the dynamic classification to become equal to the static classification; and

wherein the predetermined decision factor is between one and a maximum tolerance factor in which the estimate of the time could be in error by.

28. A method for assigning a flow classification to a flow of data packets, the method comprising:

determining a static classification for the flow using static information corresponding to at least one of the packets;

determining a dynamic classification for the flow using dynamic information corresponding to a plurality of the packets within the flow;

determining if the dynamic and static classifications are initially equal;

if the dynamic and static classifications are initially equal, assigning the dynamic classification to the flow, and

if the dynamic and static classifications are not initially equal, initially assigning the static classification to the flow and subsequently assigning the dynamic classification to the flow once at least one transitional test is passed.

Assignments (6)
RELEASE (REEL 038041 / FRAME 0001) Recorded Jan 2, 2018
From: JPMORGAN CHASE BANK, N.A.
To: RPX CORPORATION; RPX CLEARINGHOUSE LLC
Reel/Frame 044970/0030 →
SECURITY AGREEMENT Recorded Mar 9, 2016
From: RPX CORPORATION; RPX CLEARINGHOUSE LLC
To: JPMORGAN CHASE BANK, N.A., AS COLLATERAL AGENT
Reel/Frame 038041/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 9, 2015
From: ROCKSTAR CONSORTIUM US LP; ROCKSTAR CONSORTIUM LLC; BOCKSTAR TECHNOLOGIES LLC; CONSTELLATION TECHNOLOGIES LLC; MOBILESTAR TECHNOLOGIES LLC; NETSTAR TECHNOLOGIES LLC
To: RPX CLEARINGHOUSE LLC
Reel/Frame 034924/0779 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 29, 2014
From: ROCKSTAR BIDCO, LP
To: ROCKSTAR CONSORTIUM US LP
Reel/Frame 034086/0173 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2011
From: NORTEL NETWORKS LIMITED
To: ROCKSTAR BIDCO, LP
Reel/Frame 027164/0356 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 16, 2000
From: CAO, CARL F.; BENNETT, DON W.; LIU, YAJUN; SEDDIGH, NABIL N.; NANDY, BISWAJIT B.; WANG, DABIN
To: NORTEL NETWORKS LIMITED
Reel/Frame 010801/0015 →