Address recognition engine with look-up database for storing network information
First Claim
1. An address recognition apparatus, which comprises:
- an address recognition engine adapted to receive as an input a network address;
a network information look-up database coupled to the address recognition engine;
the network information look-up database comprising a plurality of entries, each one of the plurality of entries containing network information relating to a corresponding network address;
the address recognition engine operating to use a network address input thereto as a look-up index to the lookup database for access to and retrieval of a corresponding one of the entries;
the network information look-up database comprising a primary database and a secondary database, the plurality of entries being arranged in the secondary database, the primary database comprising a plurality of linked nodes for matching to preselected portions of a network address used as a look-up index so that the index input to the primary database traverses the linked nodes according to matches among linked nodes as a function of a sequence of the preselected portions of the network address to locate a secondary database pointer to one of the entries of the secondary database;
wherein each one of preselected ones of the plurality of linked nodes includes a controllably variable string structure for controllably matching a preselected number of p-bit digits of the network address of a request at the one node of the primary database.the address recognition engine using the located secondary database pointer to access and retrieve the corresponding one of the entries from the secondary database.
9 Assignments
0 Petitions
Accused Products
Abstract
The present invention is directed to an address recognition apparatus including an address recognition engine coupled to a look-up database. The look-up database is arranged to store network information relating to network addresses. The look-up database includes a primary database and a secondary database. The address recognition engine accepts as an input a network address for which network information is required. The address recognition engine uses the network address as an index to the primary database. The primary database comprises a multiway tree node structure (TRIE) arranged for traversal of the nodes as a function of preselected segments of the network address and in a fixed sequence of the segments to locate a pointer to an entry in the secondary database. The entry in the secondary database pointed to by the primary database pointer contains the network information corresponding to the network address. The address recognition engine includes a table for storing a plurality of database specifiers. Each of the database specifiers contains control information for the traversal of the primary and secondary databases. In addition, each of the nodes in the primary database and each of the entries in the secondary database is provided with control data structures that are programmable to control the traversal of the database.
-
Citations
16 Claims
-
1. An address recognition apparatus, which comprises:
-
an address recognition engine adapted to receive as an input a network address; a network information look-up database coupled to the address recognition engine; the network information look-up database comprising a plurality of entries, each one of the plurality of entries containing network information relating to a corresponding network address; the address recognition engine operating to use a network address input thereto as a look-up index to the lookup database for access to and retrieval of a corresponding one of the entries; the network information look-up database comprising a primary database and a secondary database, the plurality of entries being arranged in the secondary database, the primary database comprising a plurality of linked nodes for matching to preselected portions of a network address used as a look-up index so that the index input to the primary database traverses the linked nodes according to matches among linked nodes as a function of a sequence of the preselected portions of the network address to locate a secondary database pointer to one of the entries of the secondary database; wherein each one of preselected ones of the plurality of linked nodes includes a controllably variable string structure for controllably matching a preselected number of p-bit digits of the network address of a request at the one node of the primary database. the address recognition engine using the located secondary database pointer to access and retrieve the corresponding one of the entries from the secondary database. - View Dependent Claims (2, 3)
-
-
4. An address recognition apparatus, which comprises:
-
an address recognition engine adapted to receive as an input a network address; a network information look-up database coupled to the address recognition engine; a network information look-up database comprising a plurality of entries, each one of the plurality of entries containing network information relating to a corresponding network address; the address recognition engine operating to use a network address input thereto as a look-up index to the look-up database for access to and retrieval of a corresponding one of the entries; the network information look-up database comprising a primary database and a secondary database, the plurality of entries being arranged in the secondary database, the primary database comprising a plurality of linked nodes for matching to preselected portions of a network address used as a look-up index so that the index input to the primary database traverses the linked nodes according to matches among linked nodes as a function of a sequence of the preselected portions of the network address to locate a secondary database pointer to one of the entries of the secondary database; the address recognition engine using the located secondary database pointer to access and retrieve the corresponding one of the entries from the secondary database; wherein the network address comprises an n-bit field, wherein the plurality of linked nodes includes at least one set of transition nodes and a set of termination nodes linked to each one of the at least one set of transition nodes, each of the at least one set of transition nodes being linked to a root node and each of the at least one root node and each node of the at least one set of transition nodes includes 2m node pointers for linking to subsequent nodes, each one of the node pointers of one of the root and transition nodes corresponds to one of the 2m distinct values and points to a subsequent one of one of the at least one set of transition nodes and the linked set of termination nodes, each one of the termination nodes includes 2m secondary database pointers, each one of the secondary database pointers of one of the termination nodes corresponds to one of the 2m distinct values and points to one of the entries of the secondary database, the digits of the network address being matched, one at a time, in a preselected sequence of digits, to a corresponding sequence of linked node pointers of a root node and subsequent transition nodes to traverse the primary database to one of the termination nodes, and wherein each one of preselected ones of the plurality of linked nodes includes a controllably variable string structure for controllably matching a preselected number of p-bit digits of the network address of a request at the one node of the primary database. - View Dependent Claims (5)
-
-
6. An address recognition apparatus, which comprises:
-
an address recognition engine adapted to receive as an input a network address; a network information look-up database coupled to the address recognition engine; a network information look-up database comprising a plurality of entries, each one of the plurality of entries containing network information relating to a corresponding network address; the address recognition engine operating to use a network address input thereto as a look-up index to the look-up database for access to and retrieval of a corresponding one of the entries; the network information look-up database comprising a primary database and a secondary database, the plurality of entries being arranged in the secondary database, the primary database comprising a plurality of linked nodes for matching to preselected portions of a network address used as a look-up index so that the index input to the primary database traverses the linked nodes according to matches among linked nodes as a function of a sequence of the preselected portions of the network address to locate a secondary database pointer to one of the entries of the secondary database; the address recognition engine using the located secondary database pointer to access and retrieve the corresponding one of the entries from the secondary database; wherein the network address comprises an n-bit field;
.wherein the plurality of linked nodes includes at least one set of transition nodes and a set of termination nodes linked to each one of the at least one set of transition nodes, each of the at least one set of transition nodes being linked to a root node and each of the at least one root node and each node of the at least one set of transition nodes includes 2m node pointers for linking to subsequent nodes, each one of the node pointers of one of the root and transition nodes corresponds to one of the 2m distinct values and points to a subsequent one of one of the at least one set of transition nodes and the linked set of termination nodes, each one of the termination nodes includes 2m secondary database pointers, each one of the secondary database pointers of one of the termination nodes corresponds to one of the 2m distinct values and points to one of the entries of the secondary database, the digits of the network address being matched, one at a time, in a preselected sequence of digits, to a corresponding sequence of linked node pointers of a root node and subsequent transition nodes to traverse the primary database to one of the termination nodes; and wherein each of the node pointers further comprises control information for use by the address recognition engine to redirect traversal of the primary database at a preselected one of the digits. - View Dependent Claims (7, 8, 9)
-
-
10. An address recognition apparatus, which comprises:
-
an address recognition engine adapted to receive as an input a network address; a network information look-up database coupled to the address recognition engine; a network information look-up database comprising a plurality of entries, each one of the plurality of entries containing network information relating to a corresponding network address; the address recognition engine operating to use a network address input thereto as a look-up index to the look-up database for access to and retrieval of a corresponding one of the entries; the network information look-up database comprising a primary database and a secondary database, the plurality of entries being arranged in the secondary database, the primary database comprising a plurality of linked nodes for matching to preselected portions of a network address used as a look-up index so that the index input to the primary database traverses the linked nodes according to matches among linked nodes as a function of a sequence of the preselected portions of the network address to locate a secondary database pointer to one of the entries of the secondary database;
.the address recognition engine using the located secondary database pointer to access and retrieve the corresponding one of the entries from the secondary database; wherein the network address comprises an n-bit field; wherein the plurality of linked nodes includes at least one set of transition nodes and a set of termination nodes linked to each one of the at least one set of transition nodes, each of the at least one set of transition nodes being linked to a root node and each of the at least one root node and each node of the at least one set of transition nodes includes 2m node pointers for linking to subsequent nodes, each one of the node pointers of one of the root and transition nodes corresponds to one of the 2m distinct values and points to a subsequent one of one of the at least one set of transition nodes and the linked set of termination nodes, each one of the termination nodes includes 2m secondary database pointers, each one of the secondary database pointers of one of the termination nodes corresponds to one of the 2m distinct values and points to one of the entries of the secondary database, the digits of the network address being matched, one at a time, in a preselected sequence of digits, to a corresponding sequence of linked node pointers of a root node and subsequent transition nodes to traverse the primary database to one of the termination nodes; wherein each one of the transition nodes includes an intermediate secondary database pointer for use by the address recognition engine for a best match result; and wherein each one of the node pointers further comprises a SAVE-- RESULT field representing one of a set state and a clear state, the set state indicating to the address recognition engine that an intermediate secondary database pointer of a preselected transition node is to be used as a best match result. - View Dependent Claims (11, 12)
-
-
13. An address recognition apparatus, which comprises:
-
an address recognition engine adapted to receive as an input a network address; a network information look-up database coupled to the address recognition engine; a network information look-up database comprising a plurality of entries, each one of the plurality of entries containing network information relating to a corresponding network address; the address recognition engine operating to use a network address input thereto as a look-up index to the look-up database for access to and retrieval of a corresponding one of the entries; the network information look-up database comprising a primary database and a secondary database, the plurality of entries being arranged in the secondary database, the primary database comprising a plurality of linked nodes for matching to preselected portions of a network address used as a look-up index so that the index input to the primary database traverses the linked nodes according to matches among linked nodes as a function of a sequence of the preselected portions of the network address to locate a secondary database pointer to one of the entries of the secondary database; the address recognition engine using the located secondary database pointer to access and retrieve the corresponding one of the entries from the secondary database; wherein the network address comprises an n-bit field, wherein the plurality of linked nodes includes at least one set of transition nodes and a set of termination nodes linked to each one of the at least one set of transition nodes, each of the at least one set of transition nodes being linked to a root node and each of the at least one root node and each node of the at least one set of transition nodes includes 2m node pointers for linking to subsequent nodes, each one of the node pointers of one of the root and transition nodes corresponds to one of the 2m distinct values and points to a subsequent one of one of the at least one set of transition nodes and the linked set of termination nodes, each one of the termination nodes includes 2m secondary database pointers, each one of the secondary database pointers of one of the termination nodes corresponds to one of the 2m distinct values and points to one of the entries of the secondary database, the digits of the network address being matched, one at a time, in a preselected sequence of digits, to a corresponding sequence of linked node pointers of a root node and subsequent transition nodes to traverse the primary database to one of the termination nodes, and wherein each one of preselected ones of the plurality of linked nodes includes a controllably variable string structure for controllably matching a preselected number of p-bit digits of the network address of a request at the one node of the primary database. - View Dependent Claims (14, 15, 16)
-
Specification