Search apparatus
First Claim
1. A device arranged to establish if a particular one of all possible M-digit numbers is stored in a storage means, said storage means being capable of storing a subset of possible M-digit numbers, the device comprising:
- search table means comprising a main search table and a plurality of subsidiary search tables having entries stored therein each entry in the main or a subsidiary search table comprising one of (i) an address of one M-digit stored in said storage means, (ii) a pointer to a subsidiary search table from which a further entry should be recovered, and (iii) an end indication being neither a valid said address nor a valid said pointer;
means arranged to recover one or more entries sequentially from said search table means beginning with said main search table on the basis of specified portions of said M-digit number until the recovered entry comprises either a said address being the address of the only M-digit number stored in said storage means which matches said specified M-digit number in the specified portion or portions so far used, or a said end indication indicating that there no such M-digit numbers stored in said storage means; and
means arranged to confirm whether the one M-digit number identified in the former case is the same as said specified M-digit number.
5 Assignments
0 Petitions
Accused Products
Abstract
A search apparatus and method for establishing efficiently whether a particular number, eg a MAC address, is stored in a database, eg in a communications bridge. The search is conducted stepwise on the basis of portions of the number, until one or zero match is found in the database. In the event that one match is found, a final confirmation is made that the whole of the number located and the number searched for are the same. This provides an efficient way to search among a subset of possible very large numbers.
-
Citations
16 Claims
-
1. A device arranged to establish if a particular one of all possible M-digit numbers is stored in a storage means, said storage means being capable of storing a subset of possible M-digit numbers, the device comprising:
-
search table means comprising a main search table and a plurality of subsidiary search tables having entries stored therein each entry in the main or a subsidiary search table comprising one of (i) an address of one M-digit stored in said storage means, (ii) a pointer to a subsidiary search table from which a further entry should be recovered, and (iii) an end indication being neither a valid said address nor a valid said pointer; means arranged to recover one or more entries sequentially from said search table means beginning with said main search table on the basis of specified portions of said M-digit number until the recovered entry comprises either a said address being the address of the only M-digit number stored in said storage means which matches said specified M-digit number in the specified portion or portions so far used, or a said end indication indicating that there no such M-digit numbers stored in said storage means; and means arranged to confirm whether the one M-digit number identified in the former case is the same as said specified M-digit number. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A communications device comprising a plurality of ports to each of which a computing device may be attached, and which is arranged to receive communications from said computing devices and to transmit said communications from the port or ports necessary for the communications to reach their intended destination(s), said device comprising means for determining, for each received communication, an intended destination address, storage means for storing a subset of the possible destination addresses and information regarding with which of said ports each of said subset is associated, and search means arranged to establish if said intended destination address is stored in said storage means, said search means comprising:
-
search table means comprising a main search table and a plurality of subsidiary tables having entries stored therein each entry in the main or a subsidiary search table comprising one of (i) a storage means of one possible destination address stored in said storage means, (ii) a pointer to a subsidiary search table from which a further entry should be recovered, and (iii) an end indication being neither a valid said storage means address nor a valid said pointer; means arranged to recover one or more entries sequentially from said search table means beginning with said main search table on the basis of specified portions of said intended destination address until the recovered entry comprises either a said storage means address being the address of the only possible destination address stored in said storage means which matches said intended destination address in the specified portion or portions so far used, or a said end indication indicating that there are no such possible destination addresses stored in said storage means; and means arranged to confirm whether the one possible destination address identified in the former case is the same as said intended destination address. - View Dependent Claims (7, 8, 9, 10, 11)
-
-
12. A method of establishing if a specified one of all possible M-digit numbers is stored in a storage means, said storage means being capable of storing a subset of all possible M-digit numbers, the method comprising:
-
providing a search table comprising a main search table and a plurality of subsidiary search tables having entries stored therein each entry the main or a subsidiary search table comprising one of (i) an address of one M-digit number stored in said storage means, (ii) a pointer to a subsidiary search table from which a further entry should be recovered, and (iii) an end indication being neither a valid said address nor a valid said pointer; searching by recovering one or more entries sequentially from said search table means beginning with said main search table on the basis of specified portions of said M-digit number until the recovered entry comprises either a said address being the address of the only M-digit number stored in said storage means which matches said specified M-digit number in the specified portion or portions so far used, or a said end indication indicating that there are no such M-digit numbers stored in said storage means; and confirming, in the former case, whether the one M-digit number located is the same as said specified M-digit number. - View Dependent Claims (13, 14, 15, 16)
-
Specification