JP3570606B2 - Data retrieval apparatus and method - Google Patents
Data retrieval apparatus and method Download PDFInfo
- Publication number
- JP3570606B2 JP3570606B2 JP2939398A JP2939398A JP3570606B2 JP 3570606 B2 JP3570606 B2 JP 3570606B2 JP 2939398 A JP2939398 A JP 2939398A JP 2939398 A JP2939398 A JP 2939398A JP 3570606 B2 JP3570606 B2 JP 3570606B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- data
- history
- history management
- management table
- 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
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
- Computer And Data Communications (AREA)
Description
【0001】
【発明の属する技術分野】
本発明は、データの検索技術に係わり、特に、通信網でのアドレス解決のように、新たなデータの発生に対応して古いデータの削除が必要となる大量のデータを扱うシステムにおけるデータの検索を効率的に行うのに好適なデータ検索装置および方法に関するものである。
【0002】
【従来の技術】
一般に、インタネットにおけるIPアドレスの解決等では、与えられたIPアドレス等のデータ(数値)に対し、自装置内のテーブルの検索を行い、そのテーブルに所望のデータが登録されている場合は、対応するデータを取りだし、登録されていない場合には、他の装置に問い合わせてデータを取得することにより実行される。
【0003】
このようにして他装置から得たデータは、一時的なテーブル(キャッシュテーブル)に登録され、以降の検索に用いられる。また、この一時的なテーブルに登録されたデータは、所定の基準により、ある時間の後に削除される。
一方、このようなデータを固定的なテーブルに半永久的に保持する場合もある。この場合、テーブルはCAM(Contents Association MemoryまたはContent Addressable Memory)と呼ばれる機構や、ツリー状のデータ構造によって実現される場合がある。特に、データが数値で2進整数の場合、パトリシアツリーと呼ばれるデータ構造を用いることがある。
【0004】
このようなIPアドレスの解決のためなどに一時的なテーブルを構築する際に、一次元的なデータ構造を用いると、データ(数値)の追加や、記載された時刻が最も古いデータ(数値)の削除を高速に行うことができる。しかし、一次元的なデータ構造では、検索の効率が悪いため、大規模な検索テーブルの構築は困難である。
【0005】
一方、固定的なテーブルに用いられるCAMやツリー構造では、データ(数値)の追加、および、与えられたデータ(数値)の削除が容易で、また、検索も効率的である。しかし、登録された時刻が最も古い等の条件に合うデータ(数値)を探して削除する等の処理を行なうには、非常に多くの処理量を要する。このため、CAMやツリー構造を、一時的なテーブルに適用するのは現実的ではなかった。
【0006】
【発明が解決しようとする課題】
解決しようとする問題点は、従来の技術では、データ検索の効率化と、削除および追加の対象となるデータの特定の効率化とを両立させることができない点である。
本発明の目的は、これら従来技術の課題を解決し、IPアドレスの解決等、大規模な検索テーブルを要すると共に、検索テーブルを構成する要素の削除、追加が頻発する場合にも、効率的なデータの検索を行うことを可能とするデータ検索装置および方法を提供することである。
【0007】
【課題を解決するための手段】
上記目的を達成するため、本発明のデータ検索装置および方法は、検索テーブルに加えて、一次元のデータ構造などを有する履歴管理テーブルを設け、この履歴管理テーブルを用いて、データの検索された順番を登録、更新して検索履歴を管理することにより、両者の組合せによる効率的なデータ検索を行う。このことにより、IPアドレスの解決等、桁数の多い数値等の検索を高速に行なうことができ、かつ、検索テーブルに数値等の追加、削除を高速に行うことができる。
【0008】
【発明の実施の形態】
以下、本発明の実施例を、図面により詳細に説明する。
図1は、本発明のデータ検索装置の本発明に係る構成の一実施例を示すブロック図であり、図2は、図1におけるデータ検索装置を用いたネットワークの構成例を示すブロック図である。
図2におけるネットワークは、リダイレクション機構23a,24aと集線装置23b,24bからなるアクセス網23にハブ21b,22bを介して接続されたユーザ網21,22内のホスト21a,22aへ、コア網25d内のコアノード25eによるインタネットワーキングサービスを提供するものであり、そのサービスを効率良く実現するためのシェル網25におけるプラットフォーム上には、データ検索装置を具備したエッジノード(加入者収容ノード)25a,25bおよび代表フォワーダ25cが設置されている。
【0009】
通信初期のパケットは、エッジノード25a,25bによって代表フォワーダ25cヘ転送し、2回目以降は、リダイレクション機構23a,24aを用いて直接相手に転送(ショートカット転送)する。その際、エッジノード25a,25bの転送管理テーブルは、少数の固定エントリで到達性を確保する一方で、リダイレクション機構23a,24aによるショートカット転送のためのキャッシュエントリ(一時的な登録情報)をホスト21a,22a単位に多数保有する。
【0010】
ネットワーク全体で高いスループットを得るためには、エッジノード25a,25bの高速転送が可能で、かつ、代表フォワーダ25cの負担軽減が必要である。そのためには、エッジノード25a,25bに、かなりの規模のアドレステーブル(キャッシュテーブル)を持つ必要がある。また、事前に多数のENへのアドレス配布の防止、ユーザのエントリの変更、および、不使用時アドレスの削除などにも対処するために、動的な運用が必要となる。
【0011】
大規模なキャッシュテーブルの検索の高速化には、通常の1次元テーブルの検索ではなく、ツリー検索やCAMなどの利用が考えられるが、動的な運用に必要なエージング処理(データの書換え)は、ツリー検索、CAM単独では効率的に行なうことはできない。
そこで、本例では、ツリー検索を行うデータ検索装置に、エージング処理用のテーブルを新たに付加することで、効率的なエージング処理を可能としている。
【0012】
すなわち、ツリー状のデータ構造もしくはCAM構成等の検索テーブル内の各エントリに、エージング処理用の1次元のデータ構造のテーブル(履歴管理テーブル)へのリンクを張り、新規エントリの更新時等に履歴管理テーブルを参照することにより、効率的なエージング処理を可能としている。具体的には、あるエントリがヒットすると、リンク先の履歴管理テーブルの内容が更新される。また、エントリを更新する必要がある際には、履歴管理テーブルの内容を参照し、古いものから削除する。尚、この時、検索用テーブルの該当する内容も削除する。
【0013】
以下、このようなデータ検索を行うデータ検索装置の構成とその動作を詳しく説明する。
図1に示す本例のデータ検索装置1は、IPアドレスに対応するデータを検索するものであり、送受信部2、検索部3、パトリシアツリー構造の検索テーブル4、問合部5、テーブル制御部6、1次元のデータ構造の履歴管理テーブル7を有している。
【0014】
送受信部2でIPアドレスを受信すると、検索部3は、このIPアドレスをキーに検索テーブル4から対応するデータを検索し、有ればそのデータを抽出して送受信部2を介して所定の宛先に送出する。
このようにしてIPアドレスに基づく検索が行われると、その検索履歴が、テーブル制御部6により、履歴管理テーブル7に登録される。テーブル制御部6は、新たな検索が行われる度に、最新の検索履歴として履歴管理テーブル7に登録すると共に、登録済みの検索履歴の登録順位付けを更新する。
【0015】
また、IPアドレスに基づく検索時、対応するデータが検索テーブル4に無ければ、問合部5により、他の装置にIPアドレスを渡して対応するデータを取得する。そして、このようにして他の装置から取得したデータを、テーブル制御部6により、IPアドレスに対応付けて検索テーブル4に追加登録する。また同時に、テーブル制御部6は、最新の検索履歴としての履歴管理テーブル7への登録と他の検索履歴の順序付けの更新を行なう。
【0016】
この時、検索テーブル4に、新たデータを追加登録する空き領域が無い場合には、テーブル制御部6は、履歴管理テーブル7を検索して、最も古い検索履歴を検出し、この最古の検索履歴のデータおよびIPアドレスの組からなるテーブルを構成する要素を検索テーブル4から削除し、この削除した後の空き領域に、他装置に問い合わせて取得したデータおよびIPアドレスの組からなる要素を追加登録する。
【0017】
このように、本例のデータ検索装置1では、検索テーブルをパトリシアツリー構造としているので、IPアドレスと対応するデータの組の追加や削除が容易で、検索も効率的に行うことができ、大規模な検索テーブルを構築できる。また、1次元のデータ構造を有する履歴管理テーブル7を用いて検索履歴を管理しているので、検索履歴の登録、更新が容易であり、削除対象のデータを効率的に検索することもできる。
次の図3および図4を用いて検索テーブル4と履歴管理テーブル7の構成を説明する。
【0018】
図3は、図1における検索テーブルの構成例を示す説明図であり、図4は、図1における履歴管理テーブルの構成例を示す説明図である。
図3において、検索テーブル4を構成する各要素は、検索の対象となる数値(IPアドレス等)、履歴管理テーブル上の対応する要素の位置を示すポインタ、検索結果として得られるデータ(またはそれの格納位置を示すポインタ)、ツリー上で隣接する上位のノードを示すポインタ、および、下位のノード(ここでは2つ)を示すポインタ(1,2)を持つ。
【0019】
図4において、履歴管理テーブル7を構成する各要素は、検索の対象となる数値(IPアドレス等)、正順に次の要素を示すポインタ、逆順に次の要素を示すポインタを持ち、さらに、履歴管理テーブル7には、履歴管理テーブル7上で最も昔に記載された要素を示すポインタと、履歴管理テーブル7上で最も新しく記載された要素を示すポインタが設けられている。
【0020】
このような構成の検索テーブル4と履歴管理テーブル7を有するデータ検索装置に、検索対象の数値(IPアドレス)が与えられた場合、次の3つの内のいずれか1つのケースとなる。
第1のケースは、検索テーブル上に該当する要素が無く、しかも、データ検索装置のデータ容量に余裕がある場合、第2のケースは、検索テーブルに該当する要素が無く、さらに、データ検索装置のデータ容量にも余裕が無い場合、そして、第3のケースは、検索テーブルに該当する要素がある場合である。
【0021】
まず、第1のケースの動作を、図6を用いて説明する。
図6は、図1におけるデータ検索装置の第1のケースでの検索動作例を示す説明図である。
受信した数値(IPアドレス)に基づき検索テーブルを検索した結果、検索テーブルに該当する要素が無い場合は、他の装置または機構へ問い合わせを行い、他装置/機構から対応するデータを、回答として受け取り、検索テーブルに追加する。
【0022】
この時、この問い合わせた数値は、最新の要素として履歴管理テーブルの空き領域に新たに登録し、かつ、正順ポインタと逆順ポインタの設定の更新と、履歴管理テーブルの最新要素を示すポインタの更新を行う。
また、問い合わせの結果得られたデータと履歴管理テーブル上の位置の検索テーブルへの登録は、通常の検索テーブル操作の手順で行う。その具体的な操作は、検索テーブルの実現手段により異なり、ここでは説明しない。
【0023】
次に、第2のケースの動作を、図7および図8を用いて説明する。
図7および図8は、図1におけるデータ検索装置の第2のケースでの検索動作例を示す説明図である。
受信した数値(IPアドレス)に基づき検索テーブルを検索した結果、検索テーブルに該当する要素が無い場合は、まず、履歴管理テーブル上の最古の要素に記載されている数値を履歴管理テーブル上から消去し、空きを作り、かつ、最古の要素を示すポインタを、次ぎに古い要素を指すよう更新する。
【0024】
そして、履歴管理テーブル上消去した最古の要素に対応して、検索テーブル上の最古の要素を削除した後、他装置への問い合わせを行う。
この問い合わせに対する他装置からの回答に基づき検索テーブルへの新たな要素の追加を行ない、さらに、履歴管理テーブルを更新する。すなわち、空きとなった領域に、新たな要素を最新の要素として登録し、この要素を指すように、最新の要素を示すポインタ、および、正順ポインタと逆順ポインタを更新する。
【0025】
次に、第3のケースの動作を、図9を用いて説明する。
図9は、図1におけるデータ検索装置の第3のケースでの検索動作例を示す説明図である。
受信した数値(IPアドレス)に該当する要素が検索テーブルにあるので検索した後、履歴管理テーブルの更新を行う。すなわち、検索した要素のポインタが示す履歴管理テーブル上の要素を、最新の要素として更新し、最新の要素を示すポインタを、この要素を指すよう更新し、さらに、正順ポインタと逆順ポインタの設定を更新する。
【0026】
図5は、図1におけるデータ検索装置の本発明に係わる処理動作手順を示すフローチャートである。
IPアドレスによるデータの検索要求が有れば(ステップ501)、検索テーブルを検索する(ステップ502)。要求されたデータが検索テーブル内に有れば(ステップ503)、図9で説明した手順で、データを抽出して送出し(ステップ504)、履歴管理テーブルを更新する(ステップ505)。
【0027】
ステップ503において、要求されたデータが検索テーブル内に無ければ、この検索テーブルに新たなデータを追加登録する空き容量が有るか否かを判別する(ステップ506)。有れば、図6で説明した手順の通り、他の装置に問い合わせを行い(ステップ507)、該当するデータを取得し(ステップ508)、検索テーブルに追加登録する(ステップ509)。その後、ステップ504,505の処理を行う。
【0028】
さらに、ステップ506において、検索テーブルに空き容量が無ければ、図7および図8で説明した手順に従い、履歴管理テーブルの最古の検索履歴情報(要素)の削除(ステップ510)と検索テーブルの対応するデータ(要素)の削除(ステップ511)を行う。そして、その後、ステップ507〜509,504,505の処理を行う。
【0029】
以上、図1〜図9を用いて説明したように、本実施例のデータ検索装置および方法では、パトリシアツリー構造等の検索テーブルに加えて、一次元のデータ構造を有する履歴管理テーブルを設け、この履歴管理テーブルを用いて、データの検索された履歴を登録、更新して管理することにより、両者の組合せによる効率的なデータ検索を行う。
【0030】
このことにより、IPアドレスの解決等、各要素に何らかのデータが対応する桁数の多い数値の集合に対しても、検索を高速に行なうことができ、かつ、検索テーブルに数値の追加、削除を高速に行うことができる。そして、大規模で高速なデータ検索装置が構成できるので、通信網のIPアドレス検索を行う際に、他装置へのIPアドレスの問い合わせが必要となる確率が下がり、通信網を効率化することができる。
【0031】
尚、本発明は、図1〜図9を用いて説明した実施例に限定されるものではなく、その要旨を逸脱しない範囲において種々変更可能である。例えば、本例では、IPアドレス等の数値に基づくデータ検索を例として説明したが、文字によるデータ検索等、数値に限定されることなく、適用することができる。また、履歴管理テーブルに1次元のデータ構造のものを用いたが、ツリー構造のものでも良い。さらに、検索テーブルに関してもパトリシアツリー構造に限定されない。
【0032】
【発明の効果】
本発明によれば、データ検索の効率化と、削除および追加の対象となるデータの特定の効率化とを両立させることができ、IPアドレスの解決等、大規模な検索テーブルを要すると共に、検索テーブルを構成する要素の削除、追加が頻発する場合にも、効率的なデータの検索を行うことが可能である。
【図面の簡単な説明】
【図1】本発明のデータ検索装置の本発明に係る構成の一実施例を示すブロック図である。
【図2】図1におけるデータ検索装置を用いたネットワークの構成例を示すブロック図である。
【図3】図1における検索テーブルの構成例を示す説明図である。
【図4】図1における履歴管理テーブルの構成例を示す説明図である。
【図5】図1におけるデータ検索装置の本発明に係わる処理動作手順を示すフローチャートである。
【図6】図1におけるデータ検索装置の第1のケースでの検索動作例を示す説明図である。
【図7】図1におけるデータ検索装置の第2のケースでの検索動作例の1/2部分を示す説明図である。
【図8】図1におけるデータ検索装置の第2のケースでの検索動作例の2/2部分を示す説明図である。
【図9】図1におけるデータ検索装置の第3のケースでの検索動作例を示す説明図である。
【符号の説明】
1:データ検索装置、2:送受信部、3:検索部、4:検索テーブル、5:問合部、6:テーブル制御部、7:履歴管理テーブル、21,22:ユーザ網、21a,22a:ホスト、21b,22b:ハブ、23:アクセス網、23a,24a:リダイレクション機構、23b,24b:集線装置、25:シェル網、25a,25b:エッジノード(加入者収容ノード)、25c:代表フォワーダ、25d:コア網、25e:コアノード。[0001]
TECHNICAL FIELD OF THE INVENTION
The present invention relates to a data search technique, and in particular, to a data search system that handles a large amount of data that needs to delete old data in response to new data, such as address resolution in a communication network. The present invention relates to a data search apparatus and method suitable for efficiently performing a search.
[0002]
[Prior art]
In general, when resolving an IP address on the Internet, for example, a search is made of a table in the own apparatus for data (numerical value) such as a given IP address, and if desired data is registered in the table, The data to be extracted is retrieved, and if the data is not registered, it is executed by inquiring another device to acquire the data.
[0003]
The data obtained from the other device in this way is registered in a temporary table (cache table) and used for subsequent searches. The data registered in the temporary table is deleted after a certain time according to a predetermined standard.
On the other hand, such data may be held semi-permanently in a fixed table. In this case, the table may be realized by a mechanism called a CAM (Contents Association Memory or Content Addressable Memory) or a tree-like data structure. In particular, when the data is a numerical value and a binary integer, a data structure called a Patricia tree may be used.
[0004]
When a one-dimensional data structure is used when constructing a temporary table for such an IP address resolution, data (numerical value) is added or data (numerical value) having the oldest described time is added. Can be deleted at high speed. However, with a one-dimensional data structure, it is difficult to construct a large-scale search table due to poor search efficiency.
[0005]
On the other hand, in a CAM or a tree structure used for a fixed table, it is easy to add data (numerical value) and delete given data (numerical value), and search is efficient. However, it takes a very large amount of processing to perform processing such as searching for and deleting data (numerical value) that meets the condition that the registered time is the oldest. For this reason, it is not realistic to apply a CAM or a tree structure to a temporary table.
[0006]
[Problems to be solved by the invention]
The problem to be solved is that the conventional technology cannot achieve both the efficiency of data search and the efficiency of specific data to be deleted and added.
An object of the present invention is to solve these problems of the prior art, and to efficiently solve a case where a large-scale search table such as resolution of an IP address is required and deletion and addition of elements constituting the search table frequently occur. An object of the present invention is to provide a data search device and a data search method capable of performing data search.
[0007]
[Means for Solving the Problems]
In order to achieve the above object, the data search device and method of the present invention provide a history management table having a one-dimensional data structure in addition to a search table, and data is searched using the history management table. By managing the search history by registering and updating the order, efficient data search can be performed by a combination of both. As a result, a search for a numerical value having a large number of digits, such as resolution of an IP address, can be performed at high speed, and a numerical value or the like can be added to or deleted from a search table at high speed.
[0008]
BEST MODE FOR CARRYING OUT THE INVENTION
Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings.
FIG. 1 is a block diagram showing one embodiment of the configuration of the data search device of the present invention according to the present invention, and FIG. 2 is a block diagram showing a configuration example of a network using the data search device in FIG. .
The network shown in FIG. 2 is connected to
[0009]
The packets at the beginning of communication are transferred to the
[0010]
In order to obtain a high throughput in the entire network, it is necessary to enable high-speed transfer of the
[0011]
To speed up the search of a large-scale cache table, use of a tree search or a CAM may be considered instead of a normal one-dimensional table search, but aging processing (data rewriting) required for dynamic operation is considered. , Tree search, and CAM alone cannot be performed efficiently.
Therefore, in this example, an efficient aging process is enabled by newly adding an aging process table to a data search device that performs a tree search.
[0012]
That is, a link to a table (history management table) of a one-dimensional data structure for aging processing is provided for each entry in a search table having a tree-like data structure or a CAM configuration, and the history is updated when a new entry is updated. By referring to the management table, efficient aging processing is enabled. Specifically, when a certain entry is hit, the contents of the history management table of the link destination are updated. When the entry needs to be updated, the contents of the history management table are referred to and the oldest one is deleted. At this time, the corresponding contents of the search table are also deleted.
[0013]
Hereinafter, the configuration and operation of the data search device for performing such data search will be described in detail.
The data search device 1 of this example shown in FIG. 1 searches for data corresponding to an IP address, and includes a transmission / reception unit 2, a search unit 3, a search table 4 having a Patricia tree structure, an inquiry unit 5, a table control unit. 6, a history management table 7 having a one-dimensional data structure.
[0014]
When the transmission / reception unit 2 receives the IP address, the retrieval unit 3 retrieves the corresponding data from the retrieval table 4 using the IP address as a key, extracts the data if there is one, and extracts the data via the transmission / reception unit 2 to a predetermined destination. To send to.
When the search based on the IP address is performed in this manner, the search history is registered in the history management table 7 by the
[0015]
When a search based on the IP address does not include the corresponding data in the search table 4, the query unit 5 passes the IP address to another device to obtain the corresponding data. Then, the data acquired in this way from another device is additionally registered in the search table 4 by the
[0016]
At this time, if there is no free space in the search table 4 for additionally registering new data, the
[0017]
As described above, in the data search device 1 of this example, since the search table has a Patricia tree structure, it is easy to add or delete a set of data corresponding to an IP address, and it is possible to efficiently perform a search. Can build a large search table. Further, since the search history is managed using the history management table 7 having a one-dimensional data structure, registration and update of the search history are easy, and data to be deleted can be searched efficiently.
The configuration of the search table 4 and the history management table 7 will be described with reference to FIGS.
[0018]
FIG. 3 is an explanatory diagram showing a configuration example of the search table in FIG. 1, and FIG. 4 is an explanatory diagram showing a configuration example of the history management table in FIG.
In FIG. 3, each element constituting the search table 4 is a numerical value (IP address or the like) to be searched, a pointer indicating the position of the corresponding element on the history management table, data obtained as a search result (or its data). A pointer indicating a storage location), a pointer indicating an upper node adjacent on the tree, and pointers (1, 2) indicating lower nodes (here, two).
[0019]
4, each element constituting the history management table 7 has a numerical value (IP address or the like) to be searched, a pointer indicating the next element in the forward order, and a pointer indicating the next element in the reverse order. The management table 7 is provided with a pointer indicating the oldest element described on the history management table 7 and a pointer indicating the element newly described on the history management table 7.
[0020]
When a numerical value (IP address) to be searched is given to the data search device having the search table 4 and the history management table 7 having such a configuration, any one of the following three cases occurs.
The first case is when there is no corresponding element in the search table and the data capacity of the data search device has a margin. In the second case, there is no corresponding element in the search table and the data search device The third case is when there is a corresponding element in the search table.
[0021]
First, the operation of the first case will be described with reference to FIG.
FIG. 6 is an explanatory diagram showing an example of a search operation in the first case of the data search device in FIG.
As a result of searching the search table based on the received numerical value (IP address), if there is no corresponding element in the search table, an inquiry is made to another device or mechanism, and the corresponding data is received from another device or mechanism as an answer. , Add to search table.
[0022]
At this time, the inquired numerical value is newly registered in the empty area of the history management table as the latest element, and the setting of the forward pointer and the reverse pointer is updated, and the pointer indicating the latest element of the history management table is updated. I do.
The registration of the data obtained as a result of the inquiry and the position on the history management table in the search table is performed in the normal search table operation procedure. The specific operation depends on the means for realizing the search table, and will not be described here.
[0023]
Next, the operation of the second case will be described with reference to FIGS.
FIGS. 7 and 8 are explanatory diagrams showing an example of a search operation in the second case of the data search device in FIG.
As a result of searching the search table based on the received numerical value (IP address), if there is no corresponding element in the search table, first, the numerical value described in the oldest element on the history management table is read from the history management table. Erase, make room, and update the pointer to the oldest element to point to the next oldest element.
[0024]
Then, after deleting the oldest element on the search table corresponding to the oldest element deleted on the history management table, an inquiry is made to another device.
A new element is added to the search table based on a response from the other device to the inquiry, and the history management table is updated. That is, a new element is registered as the latest element in the vacant area, and the pointer indicating the latest element, and the forward pointer and the reverse pointer are updated to point to this element.
[0025]
Next, the operation of the third case will be described with reference to FIG.
FIG. 9 is an explanatory diagram showing a search operation example of the data search device in FIG. 1 in the third case.
Since the element corresponding to the received numerical value (IP address) exists in the search table, the element is searched, and then the history management table is updated. That is, the element on the history management table indicated by the pointer of the searched element is updated as the latest element, the pointer indicating the latest element is updated to point to this element, and the forward pointer and the reverse pointer are set. To update.
[0026]
FIG. 5 is a flowchart showing a processing operation procedure according to the present invention of the data search device in FIG.
If there is a data search request by IP address (step 501), the search table is searched (step 502). If the requested data is present in the search table (step 503), the data is extracted and transmitted according to the procedure described in FIG. 9 (step 504), and the history management table is updated (step 505).
[0027]
If the requested data does not exist in the search table in
[0028]
Further, if there is no free space in the search table in
[0029]
As described above with reference to FIGS. 1 to 9, in the data search device and method of the present embodiment, a history management table having a one-dimensional data structure is provided in addition to a search table such as a Patricia tree structure. By using this history management table to register, update, and manage the history in which data has been searched, efficient data search can be performed by combining the two.
[0030]
This makes it possible to perform a high-speed search even for a set of numerical values having a large number of digits corresponding to some data, such as IP address resolution, and to add or delete numerical values to the search table. Can be done at high speed. Since a large-scale and high-speed data search device can be configured, the probability that it is necessary to query another device for an IP address when searching for an IP address of a communication network is reduced, and the efficiency of the communication network can be improved. it can.
[0031]
The present invention is not limited to the embodiment described with reference to FIGS. 1 to 9 and can be variously modified without departing from the gist thereof. For example, in this example, the data search based on a numerical value such as an IP address has been described as an example. However, the present invention is not limited to a numerical value such as a data search using characters and can be applied. Although the history management table has a one-dimensional data structure, the history management table may have a tree structure. Further, the search table is not limited to the Patricia tree structure.
[0032]
【The invention's effect】
According to the present invention, it is possible to achieve both efficiency of data search and specific efficiency of data to be deleted and added, and a large-scale search table such as resolution of an IP address is required. Even when elements constituting the table are frequently deleted and added, efficient data search can be performed.
[Brief description of the drawings]
FIG. 1 is a block diagram showing one embodiment of the configuration of the data search device of the present invention according to the present invention.
FIG. 2 is a block diagram illustrating a configuration example of a network using the data search device in FIG. 1;
FIG. 3 is an explanatory diagram illustrating a configuration example of a search table in FIG. 1;
FIG. 4 is an explanatory diagram showing a configuration example of a history management table in FIG. 1;
FIG. 5 is a flowchart illustrating a processing operation procedure according to the present invention of the data search device in FIG. 1;
FIG. 6 is an explanatory diagram showing a search operation example in the first case of the data search device in FIG. 1;
FIG. 7 is an explanatory diagram showing a half part of a search operation example in the second case of the data search device in FIG. 1;
FIG. 8 is an explanatory diagram showing a 2/2 portion of a search operation example in the second case of the data search device in FIG. 1;
FIG. 9 is an explanatory diagram showing a search operation example in a third case of the data search device in FIG. 1;
[Explanation of symbols]
1: data search device, 2: transmission / reception unit, 3: search unit, 4: search table, 5: inquiry unit, 6: table control unit, 7: history management table, 21, 22: user network, 21a, 22a: Host, 21b, 22b: hub, 23: access network, 23a, 24a: redirection mechanism, 23b, 24b: concentrator, 25: shell network, 25a, 25b: edge node (subscriber accommodating node), 25c:
Claims (2)
上記第1のデータに基づく検索履歴の登録および更新を、上記検索テーブルとは別に新たに付加した履歴管理テーブルを用いて行う第1の手段と、
上記他装置に問い合わせて検索する第1,第2のデータを追加登録する空き領域が上記検索テーブルに無い場合、上記履歴管理テーブルの検索履歴を参照して最古の検索履歴を検出し、検出した最古の検索履歴に対応する第1,第2のデータの組を上記検索テーブルから削除し、該削除した後の空き領域に、上記他装置に問い合わせて検索した第1,第2のデータを追加登録する第2の手段とを有し、
さらに、上記履歴管理テーブルは、1次元のデータ構造で上記第1のデータおよび正順で次の要素を指す正順ポインタと逆順で次の要素を指す逆順ポインタからなる要素を有し、上記検索テーブルは、CAMもしくはツリー状のデータ構造で上記第1,第2のデータの組および上記履歴管理テーブルの要素へのポインタからなる要素を有し、
上記履歴管理テーブルには該履歴管理テーブル内の最新の要素を指す第1のポインタと最古の要素を指す第2のポインタを設け、
上記第2の手段は、該第2のポインタに基づき、上記履歴管理テーブルの最古の要素に対応する上記検索テーブル上の第1,第2のデータからなる要素を特定して削除し、
上記第1の手段は、上記第2の手段が上記検索テーブルから削除した最古の要素を上記履歴管理テーブルから削除すると共に該最古の要素の次に古い要素を指すよう上記第2のポインタを更新し、かつ上記検索テーブルで検索されたもしくは上記検索テーブルに追加登録された第1のデータを含む要素を新たな最新の要素として上記履歴管理テーブルに登録し、該要素を指すよう上記第1のポインタおよび正順ポインタと逆順ポインタを更新
することを特徴とするデータ検索装置。Based on the first data, a search is made for the second data previously assigned to the first data, and the set of the first data and the second data to be searched is not registered in a search table. In this case, in the data search device that obtains by inquiring of another device and additionally registers in the search table,
First means for registering and updating a search history based on the first data using a history management table newly added separately from the search table;
If there is no free area in the search table for additionally registering the first and second data to be searched by inquiring of the other device, the oldest search history is detected by referring to the search history in the history management table. The first and second data sets corresponding to the oldest search history that has been deleted are deleted from the search table, and the first and second data sets searched by inquiring of the other device in the empty area after the deletion are deleted. And second means for additionally registering
Further, the history management table has, in a one-dimensional data structure, an element consisting of the first data and a forward pointer pointing to the next element in the normal order and a reverse pointer pointing to the next element in the reverse order . The table has, in a CAM or tree-like data structure, an element including the first and second data sets and a pointer to an element of the history management table,
The history management table is provided with a first pointer that points to the latest element in the history management table and a second pointer that points to the oldest element.
Said second means, on the basis of the second pointer, the first on the search table corresponding to the oldest element of the history management table, to identify and eliminate a component of a second data,
The first means deletes the oldest element deleted from the search table by the second means from the history management table and the second pointer so as to point to the next oldest element after the oldest element. Is updated, and an element including the first data searched for in the search table or additionally registered in the search table is registered as a new latest element in the history management table, and the second element is referred to as the element. A data search device for updating a first pointer, a forward pointer and a reverse pointer .
上記検索テーブルはCAMもしくはツリー状のデータ構造からなり、
上記第1のデータに基づく検索の履歴を、該検索テーブルとは別に新たに付加された1次元のデータ構造の履歴管理テーブルを用いて登録および更新するステップと、
上記他装置に問い合わせて検索する第1,第2のデータを追加登録する空き領域の上記検索テーブルにおける有無を判別するステップと、
有れば、上記他装置に問い合わせて上記第2のデータを取得して上記検索テーブルへの追加登録を行い、最新の検索履歴として上記履歴管理テーブルに登録し、他の検索履歴の順位を順次繰り下げて更新するステップと、
無ければ、上記履歴管理テーブルにおける最古の検索履歴を検出し、検出した最古の検索履歴に対応する第1,第2のデータの組を上記検索テーブルから削除した後、上記他装置に問い合わせを行なうステップと、
上記他装置に問い合わせて取得した第1,第2のデータを、上記削除した後の空き領域に追加登録し、最新の検索履歴として上記履歴管理テーブルに登録し、他の検索履歴の順位を順次繰り下げて更新するステップとを有することを特徴とするデータ検索方法。Based on the first data, a search is made for second data previously associated with the first data, and a set of the first data and the second data to be searched is registered in a search table. If not, a data search method of a data search device that obtains by inquiring of another device and additionally registers in the search table,
The search table has a CAM or tree-like data structure,
Registering and updating a search history based on the first data by using a newly added one-dimensional data structure history management table separately from the search table;
Determining whether there is a free area in the search table for additionally registering the first and second data to be searched by inquiring of the other device;
If there is, the other device is inquired to acquire the second data, perform additional registration in the search table, register the latest search history in the history management table, and sequentially rank the other search histories. Deferring and updating;
If not, the oldest search history in the history management table is detected, the first and second data sets corresponding to the detected oldest search history are deleted from the search table, and then the other device is inquired. Performing
The first and second data obtained by inquiring of the other device are additionally registered in the empty area after the deletion, registered as the latest search history in the history management table, and the order of other search histories is sequentially determined. Deferring and updating the data.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2939398A JP3570606B2 (en) | 1998-02-12 | 1998-02-12 | Data retrieval apparatus and method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2939398A JP3570606B2 (en) | 1998-02-12 | 1998-02-12 | Data retrieval apparatus and method |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11232285A JPH11232285A (en) | 1999-08-27 |
JP3570606B2 true JP3570606B2 (en) | 2004-09-29 |
Family
ID=12274907
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2939398A Expired - Fee Related JP3570606B2 (en) | 1998-02-12 | 1998-02-12 | Data retrieval apparatus and method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3570606B2 (en) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP3449326B2 (en) | 1999-12-08 | 2003-09-22 | 日本電気株式会社 | Data search system, packet processing apparatus, and control method |
WO2001043370A2 (en) * | 1999-12-10 | 2001-06-14 | Mosaid Technologies Incorporated | Method and apparatus for longest match address lookup |
EP2241983B1 (en) | 2009-04-17 | 2012-12-19 | Fraunhofer-Gesellschaft zur Förderung der angewandten Forschung e.V. | Method for searching objects in a database |
JP5741421B2 (en) * | 2011-12-19 | 2015-07-01 | 富士通株式会社 | Search device and search key rearrangement method |
-
1998
- 1998-02-12 JP JP2939398A patent/JP3570606B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11232285A (en) | 1999-08-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8542686B2 (en) | Ethernet forwarding database method | |
US7197574B1 (en) | Domain name system inquiry apparatus, domain name system inquiry method, and recording medium | |
JP4278299B2 (en) | Communication system and method | |
Mockapetris | Domain names: Implementation specification | |
JP5828760B2 (en) | Method and system for cache optimization | |
JP4008049B2 (en) | Address transmitting apparatus, address transmitting method and address transmitting system | |
US8166063B2 (en) | Query routing in distributed database system | |
US9219705B2 (en) | Scaling network services using DNS | |
CN103150394B (en) | Distributed file system metadata management method facing to high-performance calculation | |
US20060265363A1 (en) | Network processor with single interface supporting tree search engine and cam | |
US8874708B2 (en) | Location discovery based on DNS | |
JP2001168910A (en) | Data search system, packet processing device, and control method | |
Van Steen et al. | A model for worldwide tracking of distributed objects | |
CN109743414B (en) | Method for improving address translation availability using redundant connections and computer readable storage medium | |
US10936590B2 (en) | Bloom filter series | |
JP3570606B2 (en) | Data retrieval apparatus and method | |
Little et al. | Using bloom filters to speed-up name lookup in distributed systems | |
CN110716941B (en) | Hand identification analysis system and data query method | |
CN112817983A (en) | Handle identifier analysis caching method, query method and handle identifier analysis system | |
US7159019B2 (en) | Information collection apparatus and method | |
Yeo et al. | A taxonomy of issues in name systems design and implementation | |
JP3660311B2 (en) | Table search apparatus and method, program, and recording medium | |
CN113949750B (en) | Handle identification analysis caching method, query method and handle identification analysis system | |
JP3599153B2 (en) | Cache data discovery method and cache server | |
JP2001053801A (en) | Packet flow measurement method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040202 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20040312 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20040511 |
|
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: 20040604 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20040617 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080702 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090702 Year of fee payment: 5 |
|
LAPS | Cancellation because of no payment of annual fees |