IP Library Granted Patent US 8,233,493
Granted Patent B2
US 8,233,493 · App. 12/555,462 · Granted Jul 31, 2012

Packet router having improved packet classification

Assignee: Wisconsin Alumni Research Foundation
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 8,233,493
App. No.
12/555,462
Granted
Jul 31, 2012
Kind
B2
Abstract

A computer-implemented method for classifying received packets using a hardware cache of evolving rules and a software cache having an original rule set. The method including receiving a packet, processing the received packet through a hardware-based packet classifier having at least one evolving rule to identify at least one cache miss packet, and processing the cache miss packet through a software based packet classifier including an original rule set. Processing the cache miss packet includes determining whether to expand at least one of the at least one evolving rules in the hardware-based packet classifier based on the cache miss packet. The determination includes determining whether an evolving rule has both the same action and lies entirely within one of the rule of the original rule set.

Claims (27)

1. A computer-implemented method for classifying received packets, comprising:

receiving a packet;

processing the received packet through a hardware-based packet classifier having at least one evolving rule that determines an action to be taken based on a header field in the received packet to identify at least one cache miss packet that cannot be classified by the classifier;

processing the at least one cache miss packet through a software based packet classifier including an original rule set; and

determining whether to expand the at least one evolving rule in the hardware-based packet classifier based on the result of the processing of the at least one cache miss packet, the determination including determining whether an evolving rule has both the same action and lies entirely within one of the rules of the original rule set,

wherein said hardware-based packet classifier comprises at least one rule cache for storing said at least one evolving rule,

wherein said at least one evolving rule is updated periodically based on the cache miss packets, and

wherein a cache miss packet is a packet that is unable to be classified by said hardware-based packet classifier.

2. The method of claim 1 , wherein said at least one evolving rule is updated in accordance with the at least one cache miss packets based on a weighting associated with a cache miss packet.

3. The method of claim 1 , wherein the at least one evolving rule is updated to minimize a cache miss ratio.

4. The method of claim 1 , wherein said at least one evolving rule is updated in accordance with a data structure having a plurality of evolving rules.

5. The method of claim 4 , wherein the at least one cache miss packet is evaluated to determine whether an order of said plurality of evolving rules in said data structure needs to be updated.

6. The method of claim 1 , wherein said at least one rule cache comprises two or more rules caches to allow hot-swapping between said two or more rules caches.

7. The method of claim 1 , wherein said software-based packet classifier comprises a plurality of rules associated with packet classification comprising the original rule set and wherein each of the at least one evolving rule must be semantically consistent with the original rule set.

8. A non-transitory computer-readable medium having stored thereon a plurality of instructions, the plurality of instructions including instructions which, when executed by a processor, cause the processor to perform the steps of a method for classifying packets, comprising:

receiving a packet;

processing the received packet through a hardware-based packet classifier having at least one evolving rule that determines an action to be taken based on a header field in the received packet to identify at least one cache miss packet that cannot be classified by the classifier;

processing the at least one cache miss packet through a software based packet classifier including an original rule set; and

determining whether to expand the at least one evolving rule in the hardware-based packet classifier based on the result of the processing of the at least one cache miss packet, the determination including determining whether an evolving rule has both the same action and lies entirely within one of the rules of the original rule set,

wherein said hardware-based packet classifier comprises at least one rule cache for storing said at least one evolving rule,

wherein said at least one evolving rule is updated periodically based on the cache miss packets, and

wherein a cache miss packet is a packet that is unable to be classified by said hardware-based packet classifier.

9. The computer-readable medium of claim 8 , wherein said at least one evolving rule is updated in accordance with the at least one cache miss packets based on a weighting associated with a cache miss packet.

10. The computer-readable medium of claim 8 , wherein said at least one evolving rule is updated to minimize a cache miss ratio.

11. The computer-readable medium of claim 8 , wherein said at least one evolving rule is updated in accordance with a data structure having a plurality of evolving rules.

12. The computer-readable medium of claim 11 , wherein the at least one cache miss packet is evaluated to determine whether an order of said plurality of evolving rules in said data structure needs to be updated.

13. The computer-readable medium of claim 8 , wherein said software-based packet classifier comprises a plurality of rules associated with packet classification comprising the original rule set and wherein each of the at least one evolving rule must be semantically consistent with the original rule set.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 16, 2011
From: BANERJEE, SUMAN; ESTAN, CRISTIAN; MA, YADI
To: WISCONSIN ALUMNI RESEARCH FOUNDATION
Reel/Frame 026458/0973 →
CONFIRMATORY LICENSE Recorded May 18, 2010
From: WISCONSIN ALUMNI RESEARCH FOUNDATION
To: NATIONAL SCIENCE FOUNDATION
Reel/Frame 024400/0654 →
Continuity (3)
Provisional Application 61095216 · Sep 8, 2008
Provisional Application 61097406 · Sep 16, 2008
Related Publication 20100067535A1 · Mar 18, 2010