IP Library Granted Patent US 8,665,868
Granted Patent B2
US 8,665,868 · App. 12/500,493 · Granted Mar 4, 2014

Apparatus and method for enhancing forwarding and classification of network traffic with prioritized matching and categorization

Inventor: Rony Kay (Cupertino, CA)
Assignee: cPacket Networks, Inc.
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,665,868
App. No.
12/500,493
Granted
Mar 4, 2014
Kind
B2
Abstract

An apparatus is described that performs prioritized matching through processing of network traffic in accordance with provisioned rules and policies. The apparatus includes a plurality of microcode controlled state machines, and a distribution circuit that routes input data to the plurality of microcode controlled state machines, such that the plurality of microcode controlled state machines apply rules to the input data to determine matches and produce priority indicators, wherein each match has an associated priority indicator. At least one of the matches is selected based on the priority indicators. Advantageously, the apparatus provides an architectural framework well suited to a low cost, high speed, robust implementation of flexible, advanced network security and monitoring features and network traffic analysis.

Claims (36)

1. An apparatus, comprising:

a plurality of microcode controlled state machines including a first microcode controlled state machine and a second microcode controlled state machine;

a distribution circuit that routes input data to the plurality of microcode controlled state machines such that the first microcode controlled state machine applies a first rule to the input data, the first rule being associated with a first data category, and the second microcode controlled state machine applies a second rule to the input data, the second rule being associated with a second data category different from the first data category, wherein:

the first microcode controlled state machine determines a first category match indicator vector including a first category match indicator associated with the first data category and a second category match indicator associated with the second data category, wherein the first category match indicator indicates, based on application of the first rule, if the input data is in the first data category; and

the second microcode controlled state machine determines a second category match indicator vector including a third category match indicator associated with the first data category and a fourth category match indicator associated with the second data category, wherein the fourth category match indicator indicates, based on application of the second rule, if the input data is in the second data category; and

a first circuit that generates combined category match information including a first logical combination of the first category match indicator and the third category match indicator, and a second logical combination of the second category match indicator and the fourth category match indicator;

wherein the first circuit appends the combined category match information to the input data.

2. The apparatus of claim 1 , wherein the plurality of microcode controlled state machines apply rules to the input data to determine matches and produce associated priority indicators, wherein a first priority indicator is associated with at least one of the matches.

3. The apparatus of claim 2 , wherein the microcode controlled state machines apply rules to select the at least one of the matches based on the first priority indicator.

4. The apparatus of claim 2 , wherein:

the matches are associated with block indices; and

the first priority indicator includes a block index included in the block indices and associated with the at least one of the matches.

5. The apparatus of claim 4 , wherein the first priority indicator is associated with a highest priority match included in the matches, and the first priority indicator includes a lowest block index included in the block indices.

6. The apparatus of claim 2 , wherein the first priority indicator includes the first category match indicator vector.

7. The apparatus of claim 1 , wherein each category match indicator is associated with a packet type or a packet flow.

8. The apparatus of claim 1 , wherein the first circuit provides the combined category match information to a management port.

9. An apparatus, comprising:

a plurality of microcode controlled state machines including a first microcode controlled state machine and a second microcode controlled state machine;

a distribution circuit that routes input data to the plurality of microcode controlled state machines such that the first microcode controlled state machine applies a first rule to the input data, the first rule being associated with a first data category, and the second microcode controlled state machine applies a second rule to the input data, the second rule being associated with a second data category different from the first data category, wherein:

the plurality of microcode controlled state machines apply rules to the input data to determine matches and produce associated priority indicators; and

a first priority indicator is associated with at least one of the matches; and

a first circuit that augments the input data with the first priority indicator in response to selection of the at least one of the matches based on the first priority indicator, and that outputs the first priority indicator in addition to the input data;

wherein:

the first microcode controlled state machine determines a first category match indicator vector including a first category match indicator associated with the first data category and a second category match indicator associated with the second data category, wherein the first category match indicator indicates, based on application of the first rule, if the input data is in the first data category; and

the second microcode controlled state machine determines a second category match indicator vector including a third category match indicator associated with the first data category and a fourth category match indicator associated with the second data category, wherein the fourth category match indicator indicates, based on application of the second rule, if the input data is in the second data category.

10. The apparatus of claim 9 , wherein the first circuit selects the at least one of the matches based on the first priority indicator.

11. The apparatus of claim 9 , wherein the first circuit generates routing instructions for the input data based on a highest priority match included in the matches.

12. The apparatus of claim 9 , wherein the first circuit generates routing instructions for the input data based on a plurality of the matches including a highest priority match.

13. The apparatus of claim 12 , wherein the first circuit provides the priority indicators associated with the plurality of the matches to a management port.

14. The apparatus of claim 9 , wherein:

the microcode controlled state machines apply rules to select the at least one of the matches based on the first priority indicator; and

the first circuit generates routing instructions for the input data based on a highest priority match included in the matches.

15. The apparatus of claim 9 , wherein:

the microcode controlled state machines apply rules to select the at least one of the matches based on the first priority indicator; and

the first circuit generates routing instructions for the input data based on a plurality of the matches including a highest priority match.

16. The apparatus of claim 15 , wherein the first circuit provides the priority indicators associated with the plurality of the matches to a management port.

Assignments (10)
SECURITY INTEREST Recorded Jan 31, 2024
From: CPACKET NETWORKS INC.
To: TRINITY CAPITAL INC., AS COLLATERAL AGENT
Reel/Frame 066313/0479 →
RELEASE OF SECURITY INTEREST Recorded Jan 30, 2024
From: NH EXPANSION CREDIT FUND HOLDINGS LP
To: CPACKET NETWORKS INC.
Reel/Frame 066296/0675 →
SECURITY INTEREST Recorded Apr 17, 2020
From: CPACKET NETWORKS INC.
To: WESTERN ALLIANCE BANK
Reel/Frame 052424/0412 →
RELEASE OF SECURITY INTEREST Recorded Nov 7, 2019
From: PARTNERS FOR GROWTH V, L.P.
To: CPACKET NETWORKS INC.
Reel/Frame 050953/0721 →
SECURITY INTEREST Recorded Nov 5, 2019
From: CPACKET NETWORKS, INC.
To: NH EXPANSION CREDIT FUND HOLDINGS LP
Reel/Frame 050924/0001 →
RELEASE OF SECURITY INTEREST Recorded Oct 18, 2019
From: SILICON VALLEY BANK
To: CPACKET NETWORKS INC.
Reel/Frame 050764/0597 →
SECURITY INTEREST Recorded Oct 27, 2017
From: CPACKET NETWORKS INC.
To: PARTNERS FOR GROWTH V, L.P.
Reel/Frame 043975/0953 →
SECURITY INTEREST Recorded Aug 3, 2014
From: CPACKET NETWORKS INC.
To: SILICON VALLEY BANK
Reel/Frame 033463/0506 →
SECURITY AGREEMENT Recorded Jun 8, 2012
From: CPACKET NETWORKS INC.
To: SILICON VALLEY BANK
Reel/Frame 028343/0335 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 25, 2009
From: KAY, RONY
To: CPACKET NETWORKS, INC.
Reel/Frame 023284/0703 →
Continuity (3)
Continuation In Part 11483196 · Jul 7, 2006
Continuation In Part 11208022 · Aug 19, 2005
Related Publication 20100008359A1 · Jan 14, 2010