JP3558151B2 - Data search circuit - Google Patents
Data search circuit Download PDFInfo
- Publication number
- JP3558151B2 JP3558151B2 JP04144197A JP4144197A JP3558151B2 JP 3558151 B2 JP3558151 B2 JP 3558151B2 JP 04144197 A JP04144197 A JP 04144197A JP 4144197 A JP4144197 A JP 4144197A JP 3558151 B2 JP3558151 B2 JP 3558151B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- address
- register
- search
- pointer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Description
【0001】
【発明の属する技術分野】
本発明は、外部から入力された項目をキーとして、データ記憶手段に予め格納した複数のデータ群からなるデータテーブルの内から一致する項目を含むデータ群を検索し、該検索したデータ群の中の特定のデータを読み出すデータ検索回路に係り、特にインターネットプロトコル(IP)のためのルーティング処理などで用いられるベストマッチ処理を高速に行うような回路に好適なデータ検索回路に関するものである。
【0002】
【従来の技術】
複数の入出力ポートをもつIPルーティング処理装置(ルータ)を用いてIPルーティング処理を行うには、入力ポートに到着したパケットのヘッダ情報から32ビットの「相手IPアドレス」を検出し、その「相手IPアドレス」に対応した出力ポートにそのパケットを送出する必要がある。
【0003】
このとき、どの出力ポートにパケットを送出するかを決定する必要があるが、これは、ルータ内にあるルーティングテーブルを「相手IPアドレス」をキーとして検索し、一致したデータ群に設定されている出力ポートを選択することによって行う。
【0004】
この検索処理には、ベストマッチ方式が採用されている。このベストマッチ処理は、まず、ルーティングテーブル内のIPアドレスと、そのIPアドレスごとに一対一対応で別途用意されているネットマスク情報により「相手IPアドレス」の一部(例えば下位)のビットをマッチングの対象から除外した内容(マスキング処理した内容)とを比較処理する。この際、複数候補がマッチしたときは、マスクの長さ(ビット幅)が最も短いものを最優先候補として採用する。
【0005】
【発明が解決しようとする課題】
ところが、このベストマッチ処理は、ルーティング処理の主要部分であるにもかかわらず、従来ではCPUを使用してソフトウエアで処理していたため、ルータ自体のスループットを向上させる上で問題であった。すなわち、従来では、前回の検索で得た先のデータ群に一致するIPアドレスがなかったとき、次に検索すべき別のデータ群を指定するポインタ(次アドレス)を、ソフトウエア計算により得る必要があり、時間がかかっていた。
【0006】
本発明の目的は、上記したベストマッチ処理をはじめ、検索キーの一部を1回の検索ごとに別個の情報でマスクする必要のあるようなデータ検索処理を高速に行うことができるようにしたデータ検索回路を提供することである。
【0007】
(削除)
【0008】
(削除)
【0009】
【課題を解決するための手段】
本発明のデータ検索回路は、マスクデータ、検索IPアドレス、第1ポインタ、第2ポインタ、および前記検索IPアドレスと入力した「相手IPアドレス」の比較の結果が一致したときに出力されるデータである情報データの組を1つのデータ群とし、複数の該データ群からなるデータテーブルが格納されたデータ記憶手段(1〜4)と、入力した前記「相手IPアドレス」を一時的に保持する第1レジスタ(6)と、前記データ記憶手段(1〜4)において現在アクセスしているデータ群を指示するアドレスを保持する第2レジスタ(5)と、前記データ記憶手段(1〜4)における現在アクセスされているデータ群の前記検索IPアドレス、前記第1ポインタ、前記第2ポインタ、および前記情報データをそれぞれ一時的に保持する第3〜第6レジスタ(8〜11)と、前記第1レジスタ(6)から前記「相手IPアドレス」を受けて前記アクセスされているデータ群のマスクデータに応じてマスク処理を行うマスク処理器(7)と、該マスク処理器(7)から出力されるマスク処理された前記「相手IPアドレス」と前記第3レジスタ(8)の内容との大小および一致関係を判定する比較器(12)と、該比較器(12)の比較により一方が他方より大きいと判定した場合に前記第4レジスタ(9)の内容を、小さいと判定した場合に前記第5レジスタ(10)の内容を、前記第2レジスタ(5)に出力して、前記データ記憶手段(1〜4)をアクセスするアドレスを更新するセレクタ(13)と、を有し、前記比較器(12)の比較結果が一致と判定された場合に前記第6レジスタ(11)の内容を検索データとして出力するように構成した。
【0010】
【発明の実施の形態】
図1は本発明の1つの実施の形態のデータ検索回路の構成を示す図であり、IPのルーティング処理におけるベストマッチ処理を行うための回路である。1〜4はSRAMで構成され、検索対象がテーブル(ルーティングテーブル)として格納されたメモリ回路(データ記憶手段)であり、これらは全てアドレス用のレジスタ5によってアドレッシングされる。
【0011】
まず、メモリ回路1には入力する「相手IPアドレス」用のマスクデータが、メモリ回路2には入力する「相手IPアドレス」(ただし、マスク処理済み)と比較されるIPアドレスが、メモリ回路3にはその比較の結果が不一致だったときに次に検索すべきデータ群のアドレスを示すポインタが、メモリ回路4には比較の結果が一致したとき読み出す情報(例えば、当該パケットを次に送るべきルータのIPアドレス等)が、それぞれ格納されている。
【0012】
これらのマスクデータ、IPアドレス、ポインタ、および情報は、その1組で1つのアドレスをもつデータ群を構成し、該データ群の複数個が個々の異なったアドレスで、メモリ回路1〜4にルーティングテーブルとして格納されている。なお、メモリ回路3に格納されたポインタは、「left」と「right 」という2つのアドレスデータである。
【0013】
6は入力する「相手IPアドレス」を格納するレジスタ、7はその「相手IPアドレス」の特定のビットに対してメモリ回路1から読み出したマスクデータでマスク処理を行うマスク処理器、8はメモリ回路2から読み出した「検索IPアドレス」を格納するレジスタ、9はメモリ回路3から読み出したポインタ「left」を格納するレジスタ、10はメモリ回路3から読み出したポインタ「right 」を格納するレジスタ、11はメモリ回路4から読み出した情報を格納するレジスタである。
【0014】
12はマスク処理器7でマスク処理した「相手IPアドレス」とレジスタ8に格納した「検索IPアドレス」を比較する比較器であって、一致/不一致を判断し、さらに不一致の場合には入力された2つのデータを0以上の整数とみなし、「相手IPアドレス」が「検索IPアドレス」よりも大きいとき「0」を、その反対のとき「1」を出力する。
【0015】
13は比較器12の比較結果が不一致とき、その不一致内容によってレジスタ9のデータ又はレジスタ10のデータを選択して出力するセレクタ、14は初期に「相手IPアドレス」に応じて入力する「入力先頭アドレス」を選択し、その後にセレクタ13の出力データを選択するセレクタ、15はセレクタ13から出力するポインタが「アドレス0番地」を示すとき「一致データなし」の信号を出力する終了判断器である。
【0016】
次に動作を説明する。まず、レジスタ6に「相手IPアドレス」を格納し、またその「相手IPアドレス」に対応した「入力先頭アドレス」をレジスタ5に、セレクタ14を介して格納する。このセレクタ14は、レジスタ5への格納が完了した後に、次の処理のためにセレクタ13からデータ(ポインタ)を入力するよう設定される。
【0017】
次に、レジスタ5に格納された「入力先頭アドレス」によって、メモリ回路1〜4のマスクデータ、IPアドレス、ポインタ「left,right 」、情報が読み出され、それぞれマスク処理器7、レジスタ8、9、10、11に格納される。ここで、レジスタ6の「相手IPアドレス」は、マスク処理器7においてマスク処理され、比較器12の一方の入力となる。
【0018】
この比較器12では、マスク処理器7から出力する「相手IPアドレス」とレジスタ8から出力する「検索IPアドレス」とを比較し、両者が一致するときは、レジスタ11に対して、そこに格納された情報を検索結果として出力するよう指示する。
【0019】
しかし、「相手IPアドレス」が「検索IPアドレス」よりも大きいときはセレクタ13でレジスタ9を選択し、そこに格納されているポインタ「left」をセレクタ14を介してレジスタ5に格納して、そのポインタ「left」の内容でメモリ回路1〜4に対して新たなアドレッシングを行い再検索する。また、逆に、「相手IPアドレス」が「検索IPアドレス」よりも小さいときはセレクタ13でレジスタ10を選択し、そこに格納されているポインタ「right 」をセレクタ14を介してレジスタ5に格納して、そのポインタ「right 」の内容で新たなアドレッシングを行い再検索する。
【0020】
このようにして、比較器12から一致信号がでるまで、比較処理と検索が繰り返される。しかし、セレクタ13から出るポインタ「left」、「right 」が「アドレス0番地」を示したときには、終了判断器15により、「一致データなし」の信号を外部に出力し、処理を中断する。
【0021】
以上から、ポインタが予めメモリ回路3に登録されているので、従来のようにソフトウエア計算等によりポインタを生成する手段が必要がなく、検索処理の速度を高速化できる。また、ハードウエア的にポインタ生成回路を設けると、通常では加算器等のように全体の処理速度を低下させる回路を必要とするが、それも必要ないため処理速度が更に向上する。
【0022】
図2は、図1におけるメモリ回路1〜4へのデータの格納の一形式を示した図である。これは、図2の上側に示したような2分木方式でデータを格納する際のデータ格納形式を模式的に表したものである。AからIまで9個のデータを図2の下側のようにテーブルに格納することにより、図1の回路での2分木探索処理が実現できる。この際、マスクの小さいものからA,B,C,....,Iの順に格納しておくと、その順に比較処理が実効されるため、図1の回路を使用してベストマッチ処理が実現できる。
【0023】
図3は、図1のメモリ回路1〜4へのデータの格納の別の形式を示した図である。図3の右側に示すように「left」,「right 」に同じ値のポインタを格納すると、左側に示したようなデータ検索の構造となり、これを図1の回路に適用すると、AからIに向かって順次線形探索を行うことができる。
【0024】
以上のように、本実施の形態では、メモリ回路3に格納するポインタの値を適宜設定/変更することにより、2分木方式の探索、あるいは線形方式の探索が実現でき、その他の方式の探索も可能となり、検索回路を変更する必要がない。
【0025】
【発明の効果】
以上から本発明によれば、先の検索で得た先のデータ群に一致する項目がなかったとき次に検索すべき別のデータ群を指定するポインタを、前記先のデータ群の内に持たせたので、次回の検索のためのポインタ計算を行うことなくそれを参照することで次の検索用のポインタを得ることができ、IPルーティング処理のベストマッチ処理に適用しても、その処理を高速化でき、スループットを向上させることができる。
【0026】
また、データ記憶手段に格納するポインタのデータ構造を変更するのみでデータ検索順序を実質的に変更できるため、回路を一旦構成した後であってもその回路を変更することなく、データの特性に合った方式の検索を容易に実現できるという利点がある。
【0027】
さらに、レジスタ等の単純な回路構成とデータ記憶手段を用いるのみで、ベストマッチ処理をはじめ、検索キーの一部を1回の検索ごとに別個の情報でマスクする必要のあるデータ検索処理を実行するデータ検索回路が実現できるという利点もある。
【図面の簡単な説明】
【図1】本発明の1つの実施の形態のデータ検索回路の構成を示す機能ブロック図である。
【図2】2分木方式の検索を実現するときのデータテーブルの構成の説明図である。
【図3】線形方式の検索を実現するときのデータテーブルの構成の説明図である。[0001]
TECHNICAL FIELD OF THE INVENTION
According to the present invention, a data group including a matching item is searched from a data table including a plurality of data groups stored in advance in a data storage unit using an item input from the outside as a key. More particularly, the present invention relates to a data search circuit suitable for a circuit that performs high-speed best match processing used in routing processing for the Internet Protocol (IP) or the like.
[0002]
[Prior art]
To perform an IP routing process using an IP routing processing device (router) having a plurality of input / output ports, a 32-bit “partner IP address” is detected from header information of a packet arriving at an input port, and the “partner IP address” is detected. It is necessary to send the packet to an output port corresponding to the “IP address”.
[0003]
At this time, it is necessary to determine to which output port the packet is to be sent, but this is done by searching the routing table in the router using the “partner IP address” as a key, and setting it in the matched data group. This is done by selecting an output port.
[0004]
This search process employs a best match method. In this best match process, first, a part (for example, lower) bits of the "partner IP address" is matched by an IP address in the routing table and netmask information separately prepared for each IP address on a one-to-one basis. Is compared with the contents excluded from the target (contents subjected to the masking processing). At this time, when a plurality of candidates match, the one with the shortest mask length (bit width) is adopted as the highest priority candidate.
[0005]
[Problems to be solved by the invention]
However, although this best match process is a main part of the routing process, it has conventionally been processed by software using a CPU, which is a problem in improving the throughput of the router itself. That is, conventionally, when there is no IP address that matches the previous data group obtained in the previous search, it is necessary to obtain, by software calculation, a pointer (next address) specifying another data group to be searched next. There was a long time.
[0006]
An object of the present invention is to enable high-speed data search processing such as the above-described best match processing, in which a part of a search key needs to be masked with separate information for each search. A data search circuit is provided.
[0007]
(Delete)
[0008]
(Delete)
[0009]
[Means for Solving the Problems]
The data search circuit according to the present invention includes a mask data, a search IP address , a first pointer, a second pointer, and data output when a result of comparison between the search IP address and the input “partner IP address” matches. a set of certain information data as one data group, a plurality of data tables stored data storage means comprising the data groups (1 to 4), the temporarily holding the input "destination IP address" A first register (6), a second register (5) for holding an address indicating a data group currently accessed in the data storage means (1 to 4), and a current register in the data storage means (1 to 4). the search IP address of the data group being accessed, the holding said first pointer, the second pointer, and the information data in each temporary To a sixth register (8 to 11) and a mask processor (7) which receives the "partner IP address" from the first register (6) and performs a mask process in accordance with the mask data of the data group being accessed. ) And a comparator (12) for judging the magnitude and coincidence of the masked “partner IP address” output from the mask processor (7) and the contents of the third register (8). If the comparator (12) determines that one is greater than the other, the content of the fourth register (9) is replaced by the content of the fifth register (10). A selector (13) for outputting to the register (5) and updating an address for accessing the data storage means (1 to 4), and the comparison result of the comparator (12) is determined to be coincident. If the said And configured to output the contents of register (11) as the search data.
[0010]
BEST MODE FOR CARRYING OUT THE INVENTION
FIG. 1 is a diagram showing a configuration of a data search circuit according to one embodiment of the present invention, which is a circuit for performing a best match process in an IP routing process. Reference numerals 1 to 4 denote SRAM circuits, each of which is a memory circuit (data storage means) in which a search target is stored as a table (routing table). These are all addressed by an
[0011]
First, the mask data for the “partner IP address” input to the memory circuit 1 and the IP address to be compared with the “partner IP address” (masked) input to the
[0012]
The mask data, the IP address, the pointer, and the information constitute a data group having one address as a set, and a plurality of the data groups are routed to the memory circuits 1 to 4 with individually different addresses. Stored as a table. Note that the pointer stored in the memory circuit 3 is two address data, “left” and “right”.
[0013]
Reference numeral 6 denotes a register for storing the input “partner IP address”, 7 denotes a mask processor for performing a mask process on a specific bit of the “partner IP address” using the mask data read from the
[0014]
[0015]
A
[0016]
Next, the operation will be described. First, the “partner IP address” is stored in the register 6, and the “input head address” corresponding to the “partner IP address” is stored in the
[0017]
Next, the mask data, the IP address, the pointer “left, right” and the information of the memory circuits 1 to 4 are read out by the “input head address” stored in the
[0018]
In the
[0019]
However, when the “partner IP address” is larger than the “search IP address”, the
[0020]
In this way, the comparison process and the search are repeated until a match signal is output from the
[0021]
As described above, since the pointer is registered in the memory circuit 3 in advance, there is no need for a means for generating the pointer by software calculation or the like as in the related art, and the speed of the search process can be increased. Also, if a pointer generation circuit is provided in hardware, a circuit for lowering the overall processing speed such as an adder is usually required, but the processing speed is further improved since it is not necessary.
[0022]
FIG. 2 is a diagram showing one form of storing data in the memory circuits 1 to 4 in FIG. This is a schematic representation of a data storage format for storing data in a binary tree format as shown in the upper part of FIG. By storing nine data from A to I in the table as shown in the lower part of FIG. 2, the binary tree search processing in the circuit of FIG. 1 can be realized. At this time, A, B, C,. . . . , I are stored in this order, the comparison process is performed in that order, so that the best match process can be realized using the circuit of FIG.
[0023]
FIG. 3 is a diagram showing another format of storing data in the memory circuits 1 to 4 of FIG. When the pointers of the same value are stored in “left” and “right” as shown on the right side of FIG. 3, a data search structure as shown on the left side is obtained. When this is applied to the circuit of FIG. A linear search can be performed sequentially.
[0024]
As described above, in the present embodiment, the binary tree search or the linear search can be realized by appropriately setting / changing the value of the pointer stored in the memory circuit 3, and the search of other methods can be realized. And the search circuit need not be changed.
[0025]
【The invention's effect】
As described above, according to the present invention, when there is no item that matches the previous data group obtained in the previous search, a pointer designating another data group to be searched next is held in the previous data group. Therefore, a pointer for the next search can be obtained by referring to it without calculating a pointer for the next search, and even if the process is applied to the best match process of the IP routing process, the process is performed. The speed can be increased, and the throughput can be improved.
[0026]
Further, since the data search order can be substantially changed only by changing the data structure of the pointer stored in the data storage means, even if the circuit is once constructed, the circuit characteristics can be changed without changing the circuit. There is an advantage that it is possible to easily realize a search of a suitable method.
[0027]
Furthermore, only by using a simple circuit configuration such as a register and data storage means, a data search process that requires a part of a search key to be masked with separate information for each search, including a best match process. There is also an advantage that a data search circuit can be realized.
[Brief description of the drawings]
FIG. 1 is a functional block diagram showing a configuration of a data search circuit according to one embodiment of the present invention.
FIG. 2 is an explanatory diagram of the configuration of a data table when implementing a binary tree search.
FIG. 3 is an explanatory diagram of a configuration of a data table when realizing a linear search.
Claims (1)
入力した前記「相手IPアドレス」を一時的に保持する第1レジスタ(6)と、
前記データ記憶手段(1〜4)において現在アクセスしているデータ群を指示するアドレスを保持する第2レジスタ(5)と、
前記データ記憶手段(1〜4)における現在アクセスされているデータ群の前記検索IPアドレス、前記第1ポインタ、前記第2ポインタ、および前記情報データをそれぞれ一時的に保持する第3〜第6レジスタ(8〜11)と、
前記第1レジスタ(6)から前記「相手IPアドレス」を受けて前記アクセスされているデータ群のマスクデータに応じてマスク処理を行うマスク処理器(7)と、
該マスク処理器(7)から出力されるマスク処理された前記「相手IPアドレス」と前記第3レジスタ(8)の内容との大小および一致関係を判定する比較器(12)と、
該比較器(12)の比較により一方が他方より大きいと判定した場合に前記第4レジスタ(9)の内容を、小さいと判定した場合に前記第5レジスタ(10)の内容を、前記第2レジスタ(5)に出力して、前記データ記憶手段(1〜4)をアクセスするアドレスを更新するセレクタ(13)と、
を有し、前記比較器(12)の比較結果が一致と判定された場合に前記第6レジスタ(11)の内容を検索データとして出力することを特徴とするデータ検索回路。One set of information data, which is data output when the result of comparison between the mask data, the search IP address , the first pointer, the second pointer, and the input IP address of the partner matches the search IP address, is defined as one A data storage means (1 to 4) in which a data group is stored as a data group and a data table including a plurality of the data groups;
First register for temporarily holding the input "destination IP address" and (6),
A second register (5) for holding an address indicating a data group currently being accessed in the data storage means (1-4);
Third to sixth registers for temporarily storing the search IP address , the first pointer, the second pointer, and the information data of the data group currently accessed in the data storage means (1 to 4), respectively (8-11),
A mask processor (7) for receiving the “partner IP address” from the first register (6) and performing a mask process according to mask data of the accessed data group;
A comparator (12) for judging a magnitude and a coincidence between the masked “partner IP address” output from the mask processor (7) and the content of the third register (8);
If the comparator (12) determines that one is greater than the other, the content of the fourth register (9) is replaced by the content of the fifth register (10). A selector (13) for outputting to a register (5) and updating an address for accessing the data storage means (1 to 4);
A data search circuit that outputs the contents of the sixth register (11) as search data when the comparison result of the comparator (12) is determined to be a match.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04144197A JP3558151B2 (en) | 1997-02-12 | 1997-02-12 | Data search circuit |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP04144197A JP3558151B2 (en) | 1997-02-12 | 1997-02-12 | Data search circuit |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH10222535A JPH10222535A (en) | 1998-08-21 |
JP3558151B2 true JP3558151B2 (en) | 2004-08-25 |
Family
ID=12608467
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP04144197A Expired - Fee Related JP3558151B2 (en) | 1997-02-12 | 1997-02-12 | Data search circuit |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3558151B2 (en) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100333250B1 (en) | 1998-10-05 | 2002-05-17 | 가나이 쓰토무 | Packet forwarding apparatus with a flow detection table |
JP3735471B2 (en) * | 1998-10-05 | 2006-01-18 | 株式会社日立製作所 | Packet relay device and LSI |
FR2789778B1 (en) * | 1999-02-12 | 2001-09-14 | France Telecom | METHOD FOR ASSOCIATING ROUTING REFERENCES WITH DATA PACKETS BY MEANS OF A SORTED MEMORY, AND PACKET ROUTER APPLYING THIS METHOD |
JP2001326679A (en) | 2000-05-15 | 2001-11-22 | Fujitsu Ltd | Information unit, table retrieval device, table retrieval method, and recording medium |
JP2006333438A (en) | 2005-04-28 | 2006-12-07 | Fujitsu Ten Ltd | Gateway apparatus and routing method |
-
1997
- 1997-02-12 JP JP04144197A patent/JP3558151B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH10222535A (en) | 1998-08-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6665297B1 (en) | Network routing table | |
US5920886A (en) | Accelerated hierarchical address filtering and translation using binary and ternary CAMs | |
JP4742167B2 (en) | Method for performing a table lookup operation using a table index that exceeds the CAM key size | |
US6553002B1 (en) | Apparatus and method for routing data packets through a communications network | |
US7418505B2 (en) | IP address lookup using either a hashing table or multiple hash functions | |
US6654701B2 (en) | Method and apparatus for measuring protocol performance in a data communication network | |
US6181698B1 (en) | Network routing table using content addressable memory | |
US6430527B1 (en) | Prefix search circuitry and method | |
US6778984B1 (en) | Flexible and high-performance packet classification algorithm | |
US20040230583A1 (en) | Comparison tree data structures of particular use in performing lookup operations | |
JP2001509978A (en) | Fast Variable Length Best Match Lookup in Switching Devices | |
US6570866B1 (en) | High-speed flexible longest match retrieval | |
Hayashi et al. | High-speed table lookup engine for IPv6 longest prefix match | |
US7937495B2 (en) | System and method for modifying data transferred from a source to a destination | |
JP3558151B2 (en) | Data search circuit | |
TWI239476B (en) | Address search | |
KR100456671B1 (en) | Parallel lookup engine and method for fast packet forwarding in network router | |
JP2006246488A (en) | Network router, address processing method, and computer program | |
US20050165958A1 (en) | Data relay apparatus, content addressable/associative memory device, and content addressable/associative memory device use information search method | |
US11683039B1 (en) | TCAM-based not logic | |
US9544226B1 (en) | Efficient address-based rule resolution in a network employing a bit-mapped index | |
US8040882B2 (en) | Efficient key sequencer | |
Ghosh et al. | A hash based architecture of longest prefix matching for fast IP processing | |
JP3795881B2 (en) | Table search method and apparatus | |
JP4726310B2 (en) | Information retrieval apparatus, information retrieval multiprocessor and router |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040127 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040322 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20040511 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040512 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090528 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090528 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100528 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100528 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110528 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120528 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |