Claims
- 1. A method comprising:
broadcasting data units of packets to a plurality of finite state machine (FSM) comparison units, each of the FSM comparison units implementing a portion of a signature; comparing the data units of the packets to a plurality of signatures, including each FSM comparison unit of the plurality of FSM comparison units independently comparing one of the data units to its associated portion of one signature; and combining results of the plurality of FSM comparison units independently processing the data units using a logic combinatorial circuit.
- 2. The method defined in claim 1 wherein one FSM comparison unit of the plurality of FSM comparison units implement a portion of two signatures of the plurality of signatures.
- 3. The method defined in claim 2 wherein a set of the plurality FSM comparison units implement one signature, and comparing the data units of the packets to the plurality of signatures comprises performing unanchored string matching by comparing the data units of the packets to the one signature.
- 4. The method defined in claim 2 wherein a set of the plurality FSM comparison units implement one signature, and comparing the data units of the packets to the plurality of signatures comprises performing anchored string matching by comparing the data units of the packets to the one signature.
- 5. The method defined in claim 1 wherein the logic combinatorial circuit comprises a reduction network.
- 6. The method defined in claim 1 further comprising each FSM of the plurality of FSM comparison units matching a portion of a signature, logically ANDing results from said each FSM to determine if a match for the signature exists, and translating information on the match into one or more values.
- 7. The method defined in claim 6 wherein the one or more values comprises a block value and a pass value.
- 8. The method defined in claim 6 further comprising blocking a packet if no pass values are generated for a signature and one or more block values are generated for the signature.
- 9. The method defined in claim 6 further comprising forwarding a packet without blocking the packet if at least one pass value is generated for the signature.
- 10. The method defined in claim 1 wherein comparing the data units of the packets to a plurality of signatures comprises a processor managing comparisons by at least a group of FSM comparison units of the plurality of FSM comparison units and managing transitions of the at least one group of FSM comparison units.
- 11. The method defined in claim 1 wherein a group of the plurality of FSM comparison units is programmed to perform arbitrary signature matching.
- 12. The method defined in claim 11 wherein a set of the plurality of FSM comparison units comprise a plurality of programmable registers programmed to match a signature, and further wherein a first of the plurality of programmable registers is coupled to the output of a second of the plurality of programmable registers, and at least one of the plurality of programmable registers comprises a last register of a match of the signature.
- 13. An apparatus comprising:
a plurality of finite state machine (FSM) comparison units to compare data units of the packets to a plurality of signatures, each of the FSM comparison units implementing a portion of a signature, wherein each FSM comparison unit of the plurality of FSM comparison units independently compares one of the data units to its associated portion of one signature; and a logic combinatorial circuit to combine results of the plurality of FSM comparison units independently processing the data units.
- 14. The apparatus defined in claim 12 wherein one FSM comparison unit of the plurality of FSM comparison units implement a portion of two signatures of the plurality of signatures.
- 15. The apparatus defined in claim 14 wherein a set of the plurality FSM comparison units implement one signature, and the set of FSM comparison units compares the data units of the packets to the plurality of signatures by performing unanchored string matching by comparing the data units of the packets to the one signature.
- 16. The apparatus defined in claim 14 wherein a set of the plurality FSM comparison units implement one signature, and the FSM comparison units compare the data units of the packets to the plurality of signatures by performing anchored string matching by comparing the data units of the packets to the one signature.
- 17. The apparatus defined in claim 13 wherein the logic combinatorial circuit comprises a reduction network.
- 18. The apparatus defined in claim 13 wherein each FSM of the plurality of FSM comparison units matches a portion of a signature, and further comprising a logic circuit to logically AND results from said each FSM to determine if a match for the signature exists, and translating information on the match into one or more values.
- 19. The apparatus defined in claim 18 wherein the one or more values comprises a block value and a pass value.
- 20. The apparatus defined in claim 18 wherein the network interface is operable to block a packet if no pass values are generated for a signature and one or more block values are generated for the signature.
- 21. The apparatus defined in claim 18 wherein the network interface is operable to forward a packet without blocking the packet if at least one pass value is generated for the signature.
- 22. The apparatus defined in claim 13 wherein a processor manages comparisons by at least a group of FSM comparison units of the plurality of FSM comparison units and manages transitions of the at least one group of FSM comparison units.
- 23. The apparatus defined in claim 13 wherein a group of the plurality of FSM comparison units is programmed to perform arbitrary signature matching.
- 24. The apparatus defined in claim 23 wherein a set of the plurality of FSM comparison units comprise a plurality of programmable registers programmed to match a signature, and further wherein a first of the plurality of programmable registers is coupled to the output of a second of the plurality of programmable registers, and at least one of the plurality of programmable registers comprises a last register of a match of the signature.
- 25. An apparatus comprising:
means for broadcasting data units of packets to a plurality of finite state machine (FSM) comparison units, each of the FSM comparison units implementing a portion of a signature; means for comparing the data units of the packets to a plurality of signatures, including each FSM comparison unit of the plurality of FSM comparison units independently comparing one of the data units to its associated portion of one signature; and means for combining results of the plurality of FSM comparison units independently processing the data units using a logic combinatorial circuit.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Application No. 60/435,855 entitled “A DATA-PARALLEL PROCESSOR FOR HIGH-SPEED SIGNATURE MATCHING IN DESERIALIZED BIT STREAM,” filed Dec. 20, 2002; U.S. Provisional Application No. 60/462,118 entitled “LOSSLESS, STATEFUL, REAL-TIME PATTERN MATCHING WITH DETERMINISTIC MEMORY RESOURCES,” filed ______; and U.S. Provisional Application No. ______, entitled “LAYER-1 PACKET FILTERING,” filed Oct. 29, 2003, all of which are incorporated by reference.
Provisional Applications (2)
|
Number |
Date |
Country |
|
60435855 |
Dec 2002 |
US |
|
60462118 |
Apr 2003 |
US |