IP Library Granted Patent US 9,258,225
Granted Patent B2
US 9,258,225 · App. 14/193,775 · Granted Feb 9, 2016

System and method for efficient matching of regular expression patterns across multiple packets

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,258,225
App. No.
14/193,775
Granted
Feb 9, 2016
Kind
B2
Abstract

A system and method for efficient matching regular expression patterns across multiple packets. A deep packet inspection system can be embodied in a switch ASIC using a flow tracker and a signature matching engine. The flow tracker can be positioned in an ingress portion of the switch ASIC at a location where packets in a bi-direction flow can be observed and recorded. The flow tracker generates a signature match request that is forwarded to a signature matching engine in an auxiliary pipeline. The signature matching engine is enabled to perform cross-packet signature matching using signature matching state machines and reports the signature matching results to the flow tracker using a response packet that is sent to the ingress pipeline.

Claims (31)

1. A switch, comprising:

a flow tracker that reviews a packet in an identified flow of packets that enters the switch at an ingress pipeline, the flow tracker generating flow information for forwarding with the reviewed packet to a memory management unit in the switch; and

a signature matching engine in an auxiliary pipeline of the switch that receives the reviewed packet and the flow information from the memory management unit, the signature matching engine examining the reviewed packet using context state information that is retrieved from a state table in memory of the signature matching engine,

wherein the retrieved context state information identifies a state of examination of an expression matching state machine in examining a packet prior to the reviewed packet in the identified flow,

wherein results from the expression matching state machine are included by the signature matching engine in a response packet that is sent by the signature matching engine to an ingress pipeline of the switch.

2. The switch of claim 1 , wherein the flow tracker creates an entry in a flow tracker session table on identification of a new flow of packets.

3. The switch of claim 1 , wherein the signature matching engine saves a first match state at an end of a first packet and uses the first match state as a start match state for a second packet following the first packet.

4. The switch of claim 1 , wherein the flow information includes a flow index that identifies a particular flow of packets to which the reviewed packet is associated.

5. The switch of claim 4 , wherein the signature matching engine retrieves context state information from the state table using a flow index.

6. The switch of claim 1 , wherein the expression matching state machine is a deterministic finite state automata state machine.

7. The switch of claim 1 , wherein the auxiliary pipeline is separate from an egress pipeline in the switch.

8. A switch, comprising:

a flow tracker that reviews a packet in an identified flow of packets that enters the switch at an ingress pipeline, the flow tracker generating flow information for forwarding with the reviewed packet to a memory management unit in the switch; and

a signature matching engine in an auxiliary pipeline of the switch that receives the reviewed packet and the flow information from the memory management unit, the signature matching engine analyzing the reviewed packet using a plurality of cross signature flags that are retrieved from a state table in memory of the signature matching engine,

wherein each of the retrieved plurality of cross signature flags identifies a match result of one of a plurality of corresponding expression matching state machines in examining a prior packet in the identified flow of packets.

9. The switch of claim 8 , wherein a set of cross signature flags indicates a sequence of matches by linking the sequence of matches.

10. The switch of claim 8 , wherein the flow information includes a flow index that identifies a particular flow of packets to which the reviewed packet is associated.

11. The switch of claim 8 , wherein the expression matching state machine is a deterministic finite state automata state machine.

12. The switch of claim 8 , wherein the auxiliary pipeline is separate from an egress pipeline in the switch.

13. The switch of claim 8 , wherein results from the expression matching state machine are included by the signature matching engine in a response packet that is sent by the signature matching engine to an ingress pipeline of the switch.

14. A method, comprising:

reviewing, by a flow tracker in a switch, a packets in an identified flow of packets that enters the switch at an ingress pipeline;

forwarding, by the flow tracker, the reviewed packet and flow information to a memory management unit in the switch;

determining, by a signature matching engine in an auxiliary pipeline of the switch that receives the reviewed packet and the flow information from the memory management unit, a match to a known signature based on an analysis of a combination of packets that includes the reviewed packet and one or more prior packets that are part of the identified flow of packets, wherein the analysis of the combination of packets is facilitated by context state information that is retrieved from a state table in memory of the signature matching engine; and

sending, by the signature matching engine to an ingress pipeline of the switch, a response packet that includes results from the expression matching state machine.

15. The method of claim 14 , further comprising creating an entry in a flow tracker session table on identification of a new flow of packets.

16. The method of claim 14 , wherein the analysis of the combination of packets is facilitated by a plurality of cross signature flags for linking matches.

17. The method of claim 14 , wherein the expression matching state machine is a deterministic finite state automata state machine.

18. The method of claim 14 , wherein the auxiliary pipeline is separate from an egress pipeline in the switch.

19. The method of claim 14 , wherein the flow information includes a flow index that identifies a particular flow of packets to which the reviewed packet is associated.

20. The method of claim 19 , wherein the signature matching engine retrieves context state information from the state table using a flow index.

Assignments (7)
CORRECTIVE ASSIGNMENT TO CORRECT THE PATENT NUMBER 9,385,856 TO 9,385,756 PREVIOUSLY RECORDED AT REEL: 47349 FRAME: 001. ASSIGNOR(S) HEREBY CONFIRMS THE MERGER. Recorded Mar 22, 2019
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 051144/0648 →
CORRECTIVE ASSIGNMENT TO CORRECT THE EFFECTIVE DATE PREVIOUSLY RECORDED ON REEL 047229 FRAME 0408. ASSIGNOR(S) HEREBY CONFIRMS THE THE EFFECTIVE DATE IS 09/05/2018. Recorded Oct 29, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047349/0001 →
MERGER Recorded Oct 4, 2018
From: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
To: AVAGO TECHNOLOGIES INTERNATIONAL SALES PTE. LIMITED
Reel/Frame 047229/0408 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 3, 2017
From: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
To: BROADCOM CORPORATION
Reel/Frame 041712/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 1, 2017
From: BROADCOM CORPORATION
To: AVAGO TECHNOLOGIES GENERAL IP (SINGAPORE) PTE. LTD.
Reel/Frame 041706/0001 →
PATENT SECURITY AGREEMENT Recorded Feb 11, 2016
From: BROADCOM CORPORATION
To: BANK OF AMERICA, N.A., AS COLLATERAL AGENT
Reel/Frame 037806/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 28, 2014
From: HILL, NATE; WOLSKI, STANISLAS; TARDO, JOSEPH
To: BROADCOM CORPORATION
Reel/Frame 032325/0647 →