Claims
- 1. A Packet Matching method, the method comprising:
(a) providing a Rule Database comprising a plurality of classification rules, and providing a packet comprising a packet header to be classified; (b) creating a plurality of sub-databases from the plurality of classification rules in the Rule Database; (c) creating a plurality of Necessary Path Condition Rules wherein each Necessary Path Condition Rule corresponds to a sub-database; (d) determining which sub-databases to search, said determining further comprising comparing at least some of the packet header to the plurality of Necessary Path Condition Rules; (e) searching the sub-databases determined in step (d) for best matching classification rules; and (f) selecting the best matching classification rule.
- 2. The invention of claim 1 wherein the searching in (e) comprises searching in parallel.
- 3. The invention of claim 1 further comprising:
(g) providing an additional packet to be classified; and (h) matching the additional packet according to steps (d), (e), and (f).
- 4. The invention of claim 1 wherein the sub-databases comprise at least T/3 classification rules, and wherein the sub-databases further comprise up to T classification rules.
- 5. A method for organizing a Rule Database, the method comprising:
(a) providing a Rule Database comprising a plurality of N classification rules, each classification rule comprising W bits, wherein each bit of the W bits has a value selected from the group consisting of 0, 1, and X; (b) constructing a hierarchical subdivision tree, comprising a single root, a plurality of nodes, and a plurality of leaves, wherein the root, the nodes, and the leaves are interconnected by a plurality of branches, wherein each branch corresponds to a value of a bit of the W bits of at least some of the plurality of the N classification rules; and (c) creating a plurality of sub-databases such that traversing, via at least some of the branches, any path from the root of the hierarchical subdivision tree through at least some of the interconnected nodes to a leaf of the plurality of leaves will lead to a sub-database, wherein each sub-database comprises a subset of up to T classification rules of the plurality of N classification rules, and wherein each of the plurality of the N classification rules is a member of exactly one sub-database.
- 6. The invention of claim 5 wherein each sub-database further comprises a subset of at least Tmin classification rules of the plurality of N classification rules.
- 7. The invention of claim 6 wherein Tmin is less than or equal to T/3.
- 8. The invention of claims 5, 6, or 7 further comprising creating a plurality of Necessary Path Condition Rules wherein each of the Necessary Path Condition Rules corresponds to a sub-database, and wherein each of the Necessary Path Condition Rules of the plurality of the Necessary Path Condition Rules is comprised of the bit values associated with each traversed branch of the hierarchical subdivision tree while traversing the hierarchical subdivision tree from the root to the corresponding exactly one sub-database.
- 9. The invention of claim 5 wherein N is at least around 10,000.
- 10. The invention of claim 5 wherein W is at least around 32.
- 11. The invention of claim 5 further comprising inserting an additional rule to a sub-database.
- 12. The invention of claim 5 further comprising deleting an existing rule from a sub-database.
- 13. A Packet Matching system, the system comprising:
an All Matching Rules Engine capable of receiving a packet header; a plurality of Best Matching Rules Sub-Engines coupled to said All Matching Rules Engine; and a Collate Engine coupled to said Best Matching Rules sub-Engines.
- 14. The invention of claim 13 wherein said All Matching Rules Engine further comprises a memory comprising a set of Necessary Path Condition Rules.
- 15. The invention of claim 14 wherein said memory comprises at least one of the following memories: CAM, DRAM, SRAM.
- 16. The invention of claim 14 wherein each of the plurality of said Best Matching Rules sub-Engines further comprises a memory, said memory comprising at least one sub-database, each said at least one sub-database corresponding to said Necessary Path Condition Rules.
- 17. The invention of claim 16 wherein said memory comprises at least one of the following memories: CAM, DRAM, SRAM.
- 18. The invention of claim 16 wherein said at least one sub-database comprises a plurality of rules.
- 19. The invention of claim 16 wherein said at least one sub-database comprises a plurality of forwarding entries.
- 20. The invention of claim 14 wherein said plurality of Best Matching Rules sub-Engines further comprises a plurality of sub-databases, wherein each sub-database of said plurality of sub-databases corresponds to one of said Necessary Path Condition Rules, wherein said plurality of sub-databases are distributed among said plurality of Best Matching Rules sub-Engines such that concurrent activation of more than one Best Matching Rules sub-Engine of said plurality of sub-Engines is minimized.
- 21. A Packet Matching system comprising:
means for creating a plurality of sub-databases from a plurality of rules; means for determining which sub-databases to search given a packet; means for finding best rule matches among the determined sub-databases for the packet; and means for selecting the highest priority best matching rule from among the found best rule matches.
- 22. The invention of claim 21 wherein said means for creating further comprises an optimizing means for creating the plurality of sub-databases such that power dissipation is less than P.
- 23. The invention of claim 21 wherein said means for creating further comprises an optimizing means for creating the plurality of sub-databases such that storage requirements of each sub-database of the plurality of sub-databases is less than S.
Parent Case Info
[0001] This application claims the benefit of U.S. Provisional Application No. 60/249701, filed Nov. 16, 2000, which is hereby incorporated by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60249701 |
Nov 2000 |
US |