Network search engine (NSE) and method for performing interval location using prefix matching
First Claim
Patent Images
1. A method of determining which of a plurality of numeric intervals encompasses a search value, the method comprising:
- comparing the search value to a plurality of interval definition values stored within a content addressable memory (CAM) to generate a match signal that corresponds to one of the interval definition values, each of the interval definition values defining a respective numeric interval;
retrieving a multi-field values from an associated memory that is external to the CAM in response to the match signal, the multi-field values including upper and lower boundary fields that indicate upper and lower boundaries, and values that indicate respective numeric intervals associated with the upper and lower boundaries, wherein the multi-field values are prefix left (prefixL), prefix right (prefixR), pointer less than prefix left (pointer_ltprefixL), pointer_middle, and pointer greater than or equal to prefix right (pointer_geprefixR).
8 Assignments
0 Petitions
Accused Products
Abstract
A communication network, networking device and method is provided herein for locating (i.e., searching for) an interval of numbers i within a set of numbers N given a point P. The search algorithm provided herein provides fast search speed (e.g., requires only one memory access) with minimum storage requirements (e.g., consumes up to, but not exceeding, N entries within a memory device).
23 Citations
9 Claims
-
1. A method of determining which of a plurality of numeric intervals encompasses a search value, the method comprising:
-
comparing the search value to a plurality of interval definition values stored within a content addressable memory (CAM) to generate a match signal that corresponds to one of the interval definition values, each of the interval definition values defining a respective numeric interval; retrieving a multi-field values from an associated memory that is external to the CAM in response to the match signal, the multi-field values including upper and lower boundary fields that indicate upper and lower boundaries, and values that indicate respective numeric intervals associated with the upper and lower boundaries, wherein the multi-field values are prefix left (prefixL), prefix right (prefixR), pointer less than prefix left (pointer_ltprefixL), pointer_middle, and pointer greater than or equal to prefix right (pointer_geprefixR). - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for locating an interval of numbers i within a set of numbers N given a point P, the method comprising:
-
searching a first database of entries, each entry comprising W-bits, to find an entry having the most number of bits in common with the point P wherein the first database of entries is stored within a network search engine (NSE); accessing a second database of entries to obtain information relating to the entry found to have the most number of bits in common with the point P wherein the second database of entries is stored within a memory device associated with, but located external to, the NSE; and comparing the point P with some of the information obtained from the second database to locate the interval of numbers i containing the point P, wherein the first database of entries comprises a plurality of branch nodes obtained by representing the set of numbers N in a binary tree configuration, wherein the second database of entries comprises a table containing a set of values for each of the plurality of branch nodes, and wherein the set of values are prefix left (prefixL), prefix right (prefixR), pointer less than prefix left (pointer_ltprefixL), pointer middle, and pointer greater than or equal to prefix right (pointer_geprefixR).
-
Specification