Claims
- 1. A tree structure for organizing routing information to be used in processing messages within a network node, each message being associated with a search key “n” bits in length;
said processing including a determination of where to send the message next in order to get the message closer to the desired destination; said structure comprising a direct table (DT) comprised of 2x entries for decoding the first “x” bits of the search key; one or more pattern search control blocks (PSCB's) comprised of 2m entries for decoding subsequent groups of “m” bits; each said PSCB entry and direct table entry including a pointer to data associated with a specific route, if at this point a specific routing table entry is a potential match to said search key; each said PSCB entry and direct table entry including a pointer to a subsequent PSCB if the end of a search trail is not identified; each said PSCB entry and direct table entry also including an indication if the search has been resolved to the end of the search trail; means to walk through the tree structure to a trail end; said tree structure including one or more search trails each starting at one of said entries in said direct table, continuing through zero or more PSCBs as guided by linked pointers, and ending at a PSCB or direct table entry containing an end of the search trail entry; and means to access data using a pointer in said PSCB containing an end of search trail entry and to return search results.
- 2. The invention of claim 1 wherein comparator means is provided to compare the searched key with the key stored in data pointed to by the PSCB or DT.
- 3. The invention as defined in claim 1 wherein a first at least one PSCB has provision for a pointer to a nested-prefix, and means to flag and search for said nested-prefix.
- 4. The invention as defined in claim 3 wherein an association is established between said first at least one PSCB having provision for a pointer to a nested-prefix and a second at least one PSCB without provision for a pointer to a nested-prefix.
- 5. The invention as defined in claim 4 wherein the second at least one PSCB has provision to receive and cache a pointer to a commonly used nested-prefix, and means to flag and search said cache, said pointer originating from said first at least one PSCB.
- 6. The invention as defined in claim 1 wherein said means for returning the search results include means to indicate either a validated search or a non-validated search result.
- 7. The invention as defined in claim 1 wherein “m” equals 4.
- 8. A method of routing a message comprising the steps of:
providing a tree structure for organizing routing information to be used in processing messages within a network node, each message being associated with a search key “n” bits in length; said processing including a determination of where to send the message next in order to get the message closer to the desired destination; said structure comprising a direct table (DT) comprised of 2x entries for decoding the first “x” bits of the search key; one or more pattern search control blocks (PSCB's) comprised of 2m entries for decoding subsequent groups of “m” bits; each said PSCB entry and direct table entry including a pointer to data associated with a specific route, if at this point a specific routing table entry is a potential match to said search key; each said PSCB entry and direct table entry including a pointer to a subsequent PSCB if the end of a search trail is not identified; each said PSCB entry and direct table entry also including an indication that the search has been resolved to the end of the search trail; walking through the tree structure to a trail end; sending the first “x” bits of said search key to said direct table for decoding; if said direct table decodes said first “x” bits to provide a search trail end route, then routing said message on said decoded routing; if said direct table does not indicate a search trail end route, then sending successive “n” bits to successive PSCB groups until a positive end search trail route is indicated; storing the search trail information, and returning the search results.
- 9. The invention of claim 8 wherein comparator means is provided to compare the searched key with the key stored in data pointed to by the PSCB.
- 10. The invention as defined in claim 8 wherein a first at least one PSCB has provision for a pointer to a nested-prefix, and means to flag and search for said nested-prefix.
- 11. The invention as defined in claim 10 wherein an association is established between said first at least one PSCB having provision for a pointer to a nested-prefix and a second at least one PSCB without provision for a pointer to a nested-prefix.
- 12. The invention as defined in claim 11 wherein the second at least one PSCB has provision to receive and cache a pointer to a commonly used nested prefix, and means to flag and search said cache, said pointer originating from said first at least one PSCB.
- 13. The invention as defined in claim 8 wherein “m” equals 4.
- 14. An article manufacture comprising a computer usable medium having a computer readable program embodied in said medium, wherein the computer readable program when executed on a computer causes the computer to:
provide a tree structure for organizing routing information to be used in processing messages within a network node, each message being associated with a search key “n” bits in length; said processing including a determination of where to send the message next in order to get the message closer to the desired destination; provide a structure comprising a direct table (DT) comprised of 2x entries for decoding the first “x” bits of the search key; one or more pattern search control blocks (PSCB's) comprised of 2m entries for decoding subsequent groups of “m” bits; each said PSCB entry and direct table entry including a pointer to data associated with a specific route, if at this point a specific routing table entry is a potential match to said search key; each said PSCB entry and direct table entry including a pointer to a subsequent PSCB if the end of a search trail is not identified; each said PSCB entry and direct table entry also including an indication that the search has been resolved to the end of the search trail; sending the first “x” bits of said search key to said direct table for decoding; if said direct table decodes said first “x” bits to provide a search trail end route, then routing said message on said decoded routing; if said direct table does not indicate a search trail end route, then sending successive “n” bits to successive PSCB groups until a positive end search trail route is indicated; storing the search trail information, and returning the search results.
RELATED APPLICATIONS
[0001] This application claims the benefits of Provisional Application Serial No. 60/384,978, filed Jun 3, 2002, for MULTI-BIT PATRICIA TREES, Attorney Docket RPS920020098US1, which is incorporated herein by reference.
[0002] This application is related to application Ser. No. 09/543,531, filed Apr. 6, 2000, for FULL MATCH (FM) SEARCH ALGORITHM IMPLIMENTATION FOR A NETWORK PROCESSOR, Attorney Docket RAL919990139US1, which is incorporated herein by reference.
Provisional Applications (1)
|
Number |
Date |
Country |
|
60384978 |
Jun 2002 |
US |