(57)【要約】【課題】検索処理を停止せずにデータベース更新を実現し、余剰な電力を消費しない検索装置を得ること。【解決手段】複数の演算器とメモリで構成され、設定情報に基づいた内部構成を構築する演算ユニット３１と、設定情報を記憶し、指定された設定情報を演算ユニット３１に送出する設定情報変更ユニット３３と、検索用データベースの更新要求があると、演算ユニット３１に内部構成変更指示を通知するプロセッサ３２と、を備え、演算ユニット３１は、検索処理のみを実行する期間は１つのメモリと検索処理回路を稼動させる内部構成を構築し、内部構成変更指示を受け取ると、他のメモリに更新された検索用データベースを書き込んだ後、検索処理を維持しつつ更新後の検索用データベースに対する検索処理を実行する内部構成に変更する。【選択図】        図７
2008117300.tif 000002
【特許請求の範囲】
【請求項１】
検索キー情報に基づき検索用データベースを検索する機能を有する検索装置であって、
複数の演算器およびメモリで構成され、各構成要素に対するコンフィグレーションデータである設定情報に基づいて内部構成を構築して動作する演算手段と、
前記検索用データベースを格納するためのメモリと、前記検索機能を実現する検索処理回路と、を含む内部構成を構築するための複数の設定情報を記憶し、指定された設定情報を前記演算手段に送出する設定情報変更手段と、
外部から検索用データベースの更新要求があった場合に、前記演算手段に対して内部構成変更指示を通知する制御手段と、
を備え、
前記演算手段は、
検索処理のみを実行する期間については、特定の設定情報に基づく内部構成により１つのメモリと検索処理回路を稼動させ、
前記内部変更指示を受け取った場合または自身で検索用データベースの更新を検出した場合には、前記検索中のメモリ以外の他のメモリに対して更新された検索用データベースを書き込み、さらに、前記特定の設定情報以外の他の設定情報に基づいて、前記検索処理を維持しつつ更新後の検索用データベースに対する検索処理を実行可能な内部構成に変更し、
前記データベースの更新に応じて内部構成を遷移しながら検索処理を継続することを特徴とする検索装置。
【請求項２】
前記演算手段は、
初期状態として、前記特定の設定情報に相当する第１の設定情報に基づいて、第１の検索処理回路が検索用データベースを格納した第１のメモリに対して検索処理を行う第１の内部構成を構築し、
前記内部構成変更指示を受け取った場合または自身で検索用データベースの更新を検出した場合には、第２のメモリに対して更新後の検索用データベースを書き込み、その後、前記他の設定情報に相当する第２の設定情報に基づいて、前記第１のメモリに対する検索処理を実現するための構成を維持しつつ第２の検索処理回路が前記第２のメモリに対して検索処理を実行可能な第２の内部構成を構築し、
前記第２の内部構成を構築してから所定時間経過後に、前記特定の設定情報に相当する第３の設定情報に基づいて、前記初期状態で構築した第１の検索処理回路を含まない状態でかつ前記第２の検索処理回路が前記第２のメモリに対して検索処理を行う第３の内部構成を構築し、
以降、検索用データベースの更新毎に、検索中のメモリ以外のもう一方のメモリに対して更新後の検索用データベースを書き込む処理、および前記第２の内部構成から前記第１の内部構成または第３の内部構成への遷移、を繰り返すことにより、検索処理を継続することを特徴とする請求項１に記載の検索装置。
【請求項３】
前記第１の内部構成は、さらに、検索中の第１のメモリ以外の前記第２のメモリと、前記検索用データベースの更新を検出し更新後の検索用データベースを前記第２のメモリに書き込むＲＡＭ更新回路と、を備え、
前記第３の内部構成は、さらに、検索中の第２のメモリ以外の前記第１のメモリと、前記検索用データベースの更新を検出し更新後の検索用データベースを前記第１のメモリに書き込むＲＡＭ更新回路と、を備え、
前記ＲＡＭ更新回路が検索用データベースの更新を検出した場合、対応する第１のメモリまたは第２のメモリに対して更新後の検索用データベースを書き込むことを特徴とする請求項２に記載の検索装置。
【請求項４】
前記第１の内部構成は、さらに、検索中の第１のメモリ以外の前記第２のメモリを備え、
前記第３の内部構成は、さらに、検索中の第２のメモリ以外の前記第１のメモリを備え、
前記内部構成変更指示を受け取った場合、前記第１の内部構成および第３の内部構成を、検索用データベースを更新するＲＡＭ更新回路を備えた内部構成に変更し、当該ＲＡＭ構成回路が、対応する第１のメモリまたは第２のメモリに対して更新後の検索用データベースを書き込むことを特徴とする請求項２に記載の検索装置。
【請求項５】
前記第２の内部構成は、さらに、前記検索情報キーの出力先としていずれか一つの検索処理回路を選択する選択回路を備え、
前記選択回路は、前記検索キー情報が途切れて検索処理回路に送られないように検索キー情報の切れ目のタイミングで、前記検索情報キーの出力先を、検索処理中の一方の検索処理回路から更新後の検索用データベースを検索可能な他方の検索処理回路に切替えることを特徴とする請求項３または４に記載の検索装置。
【請求項６】
検索キー情報に基づき検索用データベースを検索する機能を有する検索装置であって、
複数の演算器およびメモリで構成され、各構成要素に対するコンフィグレーションデータである設定情報に基づいて内部構成を構築して動作する演算手段と、
前記検索用データベースを格納するためのメモリと、前記検索機能を実現する検索処理回路と、を含む内部構成を構築するための複数の設定情報を記憶し、指定された設定情報を前記演算手段に送出する設定情報変更手段と、
外部から検索用データベースの更新要求があった場合に、前記演算手段に対して内部構成変更指示を通知する制御手段と、
を備え、
前記演算手段は、
検索処理のみを実行する期間については、特定の設定情報に基づいて、同一の検索用データベースを格納する２つ以上のメモリと各々のメモリに個別に対応する検索処理回路とを含む内部構成を構築し、適宜検索処理回路を切替えながら検索処理を実行し、
前記内部変更指示を受け取った場合または自身で検索用データベースの更新を検出した場合には、前記特定の設定情報以外の他の設定情報に基づいて、前記検索用データベースによる検索処理を継続しながら、少なくとも１つの検索処理回路を削除した内部構成に変更する処理、および当該削除した検索処理回路に対応するメモリに更新後の検索用データベースを書き込む処理、を全てのメモリに対して更新後の検索用データベースを書き込むまで実行し、
その後、前記特定の設定情報に基づく内部構成に変更することにより、前記期間における検索処理を実行し、
以降、前記データベースの更新に応じて内部構成を遷移しながら検索処理を継続することを特徴とする検索装置。
【請求項７】
前記演算手段は、
初期状態として、前記特定の設定情報に相当する第１の設定情報に基づいて、第１のメモリに対して検索処理を行う第１の検索処理回路または第２のメモリに対して検索処理を行う第２の検索処理回路を適宜選択し、選択された検索処理回路が、対応するメモリに格納されている検索用データベースに対して検索処理を行う第１の内部構成を構築し、
前記内部構成変更指示を受け取った場合または自身で検索用データベースの更新を検出した場合には、
前記第２の検索処理回路による検索処理を停止させ、前記他の設定情報に相当する第２の設定情報に基づいて、前記第２の検索処理回路を削除し前記第１の検索処理回路が前記第１のメモリに対して検索処理を行う第２の内部構成を構築し、その後、前記第２のメモリに対して更新された検索用データベースを書き込み、
さらに、前記第１の設定情報に基づく前記第１の内部構成を構築し、前記更新後の検索用データベースが書き込まれた第２のメモリに対応する第２の検索処理回路を稼動させ、前記第１の検索処理回路による検索処理を停止させ、前記他の設定情報に相当する第３の設定情報に基づいて、前記第１の検索処理回路を削除し前記第２の検索処理回路が第２のメモリに対して検索処理を行う第３の内部構成を構築し、その後、前記第１のメモリに対して前記更新された検索用データベースを書き込み、
さらに、前記第１の設定情報に基づく前記第１の内部構成を構築し、適宜選択された検索処理回路が対応するメモリに格納されている検索用データベースに対して検索処理を行い、
以降、検索用データベースの更新毎に、前記内部構成の遷移を繰り返すことにより、検索処理を継続することを特徴とする請求項６に記載の検索装置。
【請求項８】
前記第１の内部構成は、さらに、検索情報キーの出力先を前記第１の検索処理回路と第２の検索処理回路の間で切替え、かつ分配停止指示を受け取った場合に指示された第１の検索処理回路または第２の検索処理回路への検索情報キーの出力を停止する分配回路と、を備え、
前記第２の内部構成は、さらに、前記検索用データベースの更新を検出し更新後の検索用データベースを前記第２のメモリに書き込むＲＡＭ更新回路と、前記分配回路と、を備え、
前記第３の内部構成は、さらに、前記検索用データベースの更新を検出し更新後の検索用データベースを前記第１のメモリに書き込むＲＡＭ更新回路と、前記分配回路と、を備え、
前記ＲＡＭ更新回路が、前記内部構成指示を受け取った場合または前記検索用データベースの更新を検出した場合に、対応する検索処理回路への検索情報キーの分配停止を前記分配回路に対して指示し、
前記分配回路が、初期状態では、検索情報キーの出力先をラウンドロビン方式で切替え、前記ＲＡＭ更新回路からの分配停止指示に従って、対応する検索処理回路への検索情報キーの出力を停止することを特徴とする請求項７に記載の検索装置。
【請求項９】
前記第１の内部構成は、
前記検索情報キーを格納し、格納した順に前記検索情報キーを分配回路に出力するＦＩＦＯメモリ、
をさらに備え、
前記ＦＩＦＯメモリは、検索処理の速度に応じて検索情報キーの出力頻度を変えることを特徴とする請求項８に記載の検索装置。
【請求項１０】
前記検索キー情報を、内部構成変更指示の有無を表すヘッダ付検索キー情報とし、
前記演算手段は、検索キー情報のヘッダを解析して内部構成変更指示の有無を確認することを特徴とする請求項１〜９のいずれか１つに記載の検索装置。
【請求項１１】
前記設定情報変更手段は、前記複数の設定情報を、前記制御手段からの設定情報の指示により作成することを特徴とする請求項１〜１０のいずれか１つに記載の検索装置。
【請求項１２】
前記設定情報変更手段は、外部からの入力に基づき前記複数の設定情報の作成、更新を行うことを特徴とする請求項１〜１１のいずれか１つに記載の検索装置。
【請求項１３】
前記更新後の検索用データベースは、自装置外にある外部メモリに格納され、
前記演算手段は、前記外部メモリから前記更新後の検索用データベースを取得することを特徴とする請求項１〜１２のいずれか一つに記載の検索装置。
【請求項１４】
請求項１〜１３のいずれか１つの検索装置を備えるデータ処理装置。
【請求項１５】
請求項７に記載の検索装置と、
前記検索情報キーを格納し、格納した順に前記検索情報キーを分配回路に出力するＦＩＦＯメモリと、
を備え、
前記ＦＩＦＯメモリは、検索処理の速度に応じて検索情報キーの出力頻度を変えることを特徴とするデータ処理装置。
【請求項１６】
検索キー情報に基づき検索用データベースを検索する処理を行う検索方法であって、
前記検索用データベースを格納するためのメモリと、前記検索処理を実現する検索処理回路と、を含む内部構成を構築するための複数の設定情報を記憶する設定情報記憶ステップと、
前記検索処理のみを行っている期間については、特定の設定情報に基づく内部構成により１つのメモリと検索処理回路を稼動させて検索処理を行う検索処理ステップと、
前記内部変更指示を受け取った場合または自身で検索用データベースの更新を検出した場合には、内部構成変更指示を通知する内部構成変更指示ステップと、
前記内部構成変更指示が通知された場合に、前記検索中のメモリ以外の他のメモリに対して更新された検索用データベースを書き込む更新データ格納ステップと、
前記更新データ格納ステップの終了後に、前記特定の設定情報以外の他の設定情報に基づいて、前記検索処理を維持しつつ更新後の検索用データベースに対する検索処理を実行可能な内部構成に変更して、所定時間にわたって検索処理を行う更新時検索処理ステップと、
前記更新時検索処理ステップ終了後に検索処理のみを行う内部構成を構築する内部構成再変更ステップと、
を含み、
前記データベースの更新に応じて、前記検索処理ステップ、前記内部構成変更指示ステップ、前記更新データ格納ステップ、前記更新時検索処理ステップ、前記内部構成再変更ステップを繰り返すことを特徴とする検索方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ検索処理を行う検索装置に関するものであり、特に、検索用データベースの更新時に中断することなくデータ検索処理を実施する検索装置に関するものである。
【背景技術】
【０００２】
通信ネットワークにおけるパケットのルーティングやパケット内の悪意あるコードの検出、データベース分野における文章中のキーワード検出など、検索処理は幅広い分野において多様な場面で利用されている。特に、近年の情報通信分野全般のデータ量の増大や処理の高度化に伴い、検索処理に、高速性，多機能性といったオンデマンドで動的なデータ解析が求められてきている。
【０００３】
たとえば、下記特許文献１では、異なる回路を持った複数のＦＰＧＡ（Field  Programmable  Gate  Array）を搭載して、通信内容に応じこれらのＦＰＧＡを切り替えて使う機能を備えた通信制御装置が開示されている。この通信制御装置は、さらに、これら複数のＦＰＧＡの内部回路を書き換える手段を搭載することにより、通信を中断することなく制御回路の変更を行う機能を備えている。
【０００４】
また、下記非特許文献１では、テーブルのデータ構造によってはテーブル全体を並べなおす処理が必要となりテーブル更新の実行が難しいことを指摘している。そして、その回避方法として、活動（検索処理）が少ない期間まで更新処理を延期してテーブルを並べ替えている間は検索を停止する方法、同じテーブルを２つ用意する方法、の２つの方法を提案している。
【０００５】
【特許文献１】特開２０００−１７４８４４号公報
【非特許文献１】Rich  Seifert著、間宮あきら訳「ＬＡＮスイッチング徹底解説」日経ＢＰ社発行、２００１年８月６日、Ｐ８３−８４
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、上記特許文献１に記載の技術によれば、上記通信制御装置でパケット検索処理を行う場合、ＦＰＧＡのメモリ内に保持している検索のためのデータベース変更についても、複数のＦＰＧＡにより冗長化構成をとる必要がある。そのため、データベースの変更を行っていないときにも、冗長なＦＰＧＡの数だけ余計に電力を消費するという問題があった。
【０００７】
また、上記非特許文献１記載の技術では、更新処理をおこなう時に処理を停止する必要があるため、突然検索パフォーマンスが低下するという問題があった。また、２つのテーブルを用意する方法では、検索パフォーマンスの問題は回避できるが、常時、使用していないテーブルのためにも電力を消費するという問題があった。
【０００８】
本発明は、上記に鑑みてなされたものであって、検索処理を停止せずにデータベース更新を実現し、さらに、冗長化構成デバイスのための電力を消費することのない検索装置を得ることを目的とする。
【課題を解決するための手段】
【０００９】
上述した課題を解決し、目的を達成するために、本発明は、検索キー情報に基づき検索用データベースを検索する機能を有する検索装置であって、複数の演算器およびメモリで構成され、各構成要素に対するコンフィグレーションデータである設定情報に基づいて内部構成を構築して動作する演算手段と、前記検索用データベースを格納するためのメモリと、前記検索機能を実現する検索処理回路と、を含む内部構成を構築するための複数の設定情報を記憶し、指定された設定情報を前記演算手段に送出する設定情報変更手段と、外部から検索用データベースの更新要求があった場合に、前記演算手段に対して内部構成変更指示を通知する制御手段と、を備え、前記演算手段は、検索処理のみを実行する期間については、特定の設定情報に基づく内部構成により１つのメモリと検索処理回路を稼動させ、前記内部変更指示を受け取った場合または自身で検索用データベースの更新を検出した場合には、前記検索中のメモリ以外の他のメモリに対して更新された検索用データベースを書き込み、さらに、前記特定の設定情報以外の他の設定情報に基づいて、前記検索処理を維持しつつ更新後の検索用データベースに対する検索処理を実行可能な内部構成に変更し、前記データベースの更新に応じて内部構成を遷移しながら検索処理を継続することを特徴とする。
【発明の効果】
【００１０】
この発明によれば、書き換え可能なプロセッサ上でデータベース更新時だけ論理的な冗長回路構成をとることにより、電力の消費を抑えた上で無瞬断な検索機能を提供するという効果を奏する。
【発明を実施するための最良の形態】
【００１１】
以下に、本発明にかかる検索装置，検索方法およびデータ処理装置の実施の形態を図面に基づいて詳細に説明する。なお、以下に示す実施の形態によりこの発明が限定されるものではない。
【００１２】
実施の形態１．
図１は、本発明にかかる検索装置の実施の形態１のネットワーク構成を示す図である。本実施の形態では、本発明にかかる検索装置，データ処理装置として、ルータに実装されるデバイスを例として説明する。
【００１３】
図１に示すように、本実施の形態１のネットワークは、ルータ１，ＰＣ端末２，インターネット３，サーバー群４，アクセスポイント５，無線端末６，イントラネット７，制御ＰＣ８，制御リンク９，リンク１０で構成されている。ルータ１は、インターネット３，イントラネット７，サーバー群４とそれぞれリンク１０により接続されており、ネットワーク間のパケットの転送などを行う。アクセスポイント５は、リンク１０を介してインターネット３、またはイントラネット７に接続されている。ＰＣ端末２はリンク１０を介して、無線端末６はアクセスポイント５を介して、それぞれ端末間の相互通信を行う。また制御ＰＣ８は、ルータ１と制御リンク９によって接続されており、ルータ１に対してデータベース更新用のデータ送信などを行う。
【００１４】
図２は、図１で示したルータ１の機能構成例を示す図である。図２に示すように、ルータ１は、送受信ユニット１１，転送ユニット１２，デバイス１３，外部メモリ１４，コントローラ１５で構成される。送受信ユニット１１と転送ユニット１２とは転送経路２１で、転送ユニット１２とデバイス１３とは検索経路２２で、それぞれ接続されており、デバイス１３，外部メモリ１４，コントローラ１５は、外部バス接続線２４を介して外部バス２３に接続されている。
【００１５】
つづいて、各構成要素の機能について述べる。送受信ユニット１１は、インターネット３，サーバー群４，イントラネット７にそれぞれリンク１０で接続されている。図３は、Ethernet（登録商標）フレームを説明する図である。送受信ユニット１１は、リンク１０から受信した図３のEthernet（登録商標）フレーム１００からＭＡＣ（Media  Access  Control）ヘッダ１０１とＦＣＳ（Frame  Check  Sequence）１０３を取り除いたＩＰｖ４パケット１０２を転送ユニット１２に転送し、また、転送ユニット１２から送られたＩＰｖ４パケット１０２に、ＭＡＣヘッダ１０１とＦＣＳ１０３を付加してリンク１０に送信する。
【００１６】
転送ユニット１２は、受信したフレームから、そのフレームの転送に必要なルーティング情報を得るための検索処理に必要な情報（以下、検索キー情報とよぶ）を抽出し、検索経路２２を介してデバイス１３へ検索キー情報を送る。また、デバイス１３から検索経路２２を介して検索結果（ルーティング情報）を受け取り、上記の受信したフレームをその検索結果に基づき送受信ユニット１１へ転送経路２１を使い転送する。
【００１７】
本実施の形態においては、検索キー情報は、ネットワーク層（ＩＰｖ４）のヘッダに含まれる宛先アドレス送信元アドレス，プロトコル，トータル長，識別子，フラグ，フラグメントオフセットと、トランスポート層（ＴＣＰまたはＵＤＰ）のヘッダに含まれる宛先ポート番号，送信元ポート番号，シーケンス番号（ＴＣＰの場合のみ）と、を含むものとする。以下、図３〜６を用いて検索キー情報を説明する。
【００１８】
図３のように、ＩＰｖ４ヘッダ１０４，ＴＣＰヘッダ１０５，ＵＤＰヘッダ１０６はEthernet（登録商標）フレーム１００にカプセル化されている。
【００１９】
図４は、ネットワーク層のヘッダであるＩＰｖ４のヘッダのフォーマットを示している。ＩＰｖ４ヘッダの先頭から３バイト目にＴＯＳフィールド（ＴＯＳ）２０１、４バイト目にトータル長（Total  Length）２０２、５バイト目に識別子（Identification）２０３、７バイト目のうち上位３ビットがフラグ（Flag）２０４であり、７バイト目の下位５ビットと８バイト目がフラグメントオフセット（Fragment  Offset）２０５、１０バイト目にプロトコル（Protocol）２０６、１３バイト目に送信元ＩＰアドレス（Source  Address）２０７、１７バイト目に宛先ＩＰアドレス（Destination  Address）２０８が位置している。
【００２０】
図５は、トランスポート層のヘッダであるＴＣＰヘッダのフォーマットを示している。ＴＣＰヘッダの先頭から１バイト目に送信元ポート番号（Source  Port）３０１、３バイト目に宛先ポート番号（Destination  Port）３０２、５バイト目にシーケンス番号（Sequence  Number）３０３、９バイト目に確認応答番号（Acknowledgement  Number）３０４が位置している。
【００２１】
図６は、トランスポート層のヘッダであるＵＣＰヘッダのフォーマットを示している。ＵＤＰヘッダの１バイト目に送信元ポート番号（Source  Port）４０１、３バイト目に宛先ポート番号（Destination  Port）４０２が位置している。
【００２２】
なお、本実施の形態では、ネットワーク層のプロトコルとしてＩＰｖ４を用い、また、トランスポート層のプロトコルとして、ＴＣＰまたはＵＤＰを用いる場合について説明したが、本発明がこれらプロトコルに限定されるものではない。たとえば、ネットワーク層のプロトコルがＩＰｖ６であってもよいし、トランスポート層のプロトコルがＲＤＰであってもよい。また、本実施の形態では、パケットのトレーラーとしてEthernet（登録商標）フレームを用いた場合について説明するが、Ethernet（登録商標）フレームに限定されるものではない。たとえば、ＡＴＭ（Asynchronous  Transfer  Mode）またはＦＤＤＩ（Fiber-Distributed  Data  Interface）などを用いた場合にも同様に実施できる。
【００２３】
また、上記の検索キー情報の項目は一例であり、ルーティング情報を検索できる情報であれば、これに限らない。検索方法やプロトコルによっては、上記の検索キー情報の項目の一部を用いない場合もあり、また、上記以外の項目が含まれることもある。
【００２４】
デバイス１３は、外部メモリ１４に記憶されたデータベースを外部バス２３および外部バス接続線２４を介して取得し、検索経路２２から送出された検索キー情報を検索キーとして、データベースに対して検索処理を行い、検索結果としてルーティング情報を得る。そして、デバイス１３は、検索結果を検索経路２２を介して転送ユニット１２に通知する。
【００２５】
外部メモリ１４は、制御ＰＣ８から制御リンク９を介して送られたデータベースを記憶している。データベースは、検索キー情報を用いて、ルーティング情報を検索するためのもので、検索キー情報とルーティング情報の対応が含まれているものとする。
【００２６】
コントローラ１５は、制御リンク９を介して制御ＰＣ８から送られるなどルータ１の外部からのデータを、ルータ１内の外部バス２３で用いるデータフォーマットに変換する。
【００２７】
図７は、図２のデバイス１３の機能構成例を示す図である。図７に示すように、デバイス１３は、演算ユニット３１，プロセッサ３２，設定情報変更ユニット３３で構成されている。演算ユニット３１は、検索経路２２と接続している。内部バス３４は、外部バス接続線２４と内部バス接続線３５に接続し、デバイス１３の外部とのデータ入出力を行う。設定情報変更ユニット３３は、設定情報通知線３６により、それぞれ演算ユニット３１とプロセッサ３２に接続されている。また、プロセッサ３２と演算ユニット３１は、接続線３７で接続されている。
【００２８】
つづいて、各構成要素の機能について説明する。演算ユニット３１は、多数の演算器およびメモリで構成されている。演算ユニット３１は、設定情報変更ユニット３３から、内部に記憶されている設定情報を受け取り、各演算器およびメモリに対してこの設定情報を反映することにより、設定情報に基づく内部構成を構築して動作する。
【００２９】
設定情報とは、演算ユニット３１に実装されている演算器，メモリ等の各構成要素に対する、設定が必要な定数値、各演算器での算術演算指定および論理演算指定、各構成要素間の配線接続情報などを格納したコンフィギュレーションデータである。
【００３０】
プロセッサ３２は、デバイス１３全体の動作の制御を行うとともに、設定情報通知線３６を通じて設定情報変更ユニット３３に対して設定情報を送出し、設定情報の登録指示，設定情報の変更指示をおこなう。
【００３１】
設定情報変更ユニット３３は、プロセッサ３２から送出された設定情報を受け取り、プロセッサ３２からの登録指示に従って設定情報を登録する（記憶する）。また、プロセッサ３２から、設定情報の変更指示があった場合には、その指示に基づき内部に記憶されている設定情報を変更する。設定情報は複数記憶可能とする。また、設定情報変更ユニット３３は、プロセッサ３２または演算ユニット３１から設定情報送出の指示があると、演算ユニット３１に対して指示された設定情報を送出する。
【００３２】
つづいて、デバイス１３の設定情報に基づく内部構成について例をあげて説明する。なお、本実施の形態では一例として２つの検索回路を持つ場合について説明するが、２つに限定されるものではない。以下、３種類の設定情報（第１の設定情報，第２の設定情報，第３の設定情報）に対応する３種類の内部構成について説明する。
【００３３】
図８は、第１の設定情報に基づいた演算ユニット３１の内部構成の一例を示す図である。演算ユニット３１は、第１の設定情報に基づいた場合、演算ユニット３１内のメモリおよび演算器を用いて、図８に示すように、第１の検索処理回路４２，選択回路４１，ＲＡＭ更新回路４３，第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５，多重化回路４７で構成される。また、回路接続線５１は選択回路４１と第１の検索処理回路４２を接続し、回路接続線５２は第１の検索処理回路４２と多重化回路４７を接続し、信号線５３はＲＡＭ更新回路４３から選択回路４１への信号を伝送する。
【００３４】
選択回路４１は、ＲＡＭ更新回路４３から信号線５３を介して送られる、または、プロセッサ３２から接続線３７を介して送られる内部構成変更指示に基づき、検索処理を行う回路（検索キー情報の出力先経路）を選択する回路である。選択回路４１は、上記の検索回路変更指示があると、第１の検索処理回路４２から後述する第２の検索処理回路４６へ、または、第２の検索処理回路４６から第１の検索処理回路４２に、それぞれ切替えることにより、検索キー情報の出力先を選択する回路である。
【００３５】
第１の検索処理回路４２は、選択回路４１から入力された検索キー情報を検索キーとして、第１の内蔵ＲＡＭ４４に格納されているデータベースに対して検索処理を行い、検索結果を回路接続線５２経由で検索経路２２へ出力する回路である。
【００３６】
ＲＡＭ更新回路４３は、外部バス接続線２４，外部バス２３，内部バス接続線３５を経由して外部メモリ１４に記憶されているデータベースをとりこみ、第１の内蔵ＲＡＭ４４、または第２の内蔵ＲＡＭ４５へ書き込む回路である。
【００３７】
第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５は、ＲＡＭ更新回路４３から送られたデータベースを検索のためのデータベースとして保存するメモリである。検索キーの項目をアドレスとし、その項目に対応する経路情報をそのアドレスの位置の値として記憶している。第１の内蔵ＲＡＭ４４は第１の検索処理回路４２から入力される検索キー情報を、第２の内蔵ＲＡＭ４５は第２の検索処理回路４６から入力される検索キー情報を、それぞれアドレスとして、該当アドレスに記憶されている値（経路情報）を、それぞれ検索キー情報が入力された第１の検索処理回路４２または第２の検索処理回路４６に検索結果として出力する。
【００３８】
多重化回路４７は、第１の検索処理回路４２または第２の検索処理回路４６から出力された検索結果を多重化して検索経路２２に出力する。
【００３９】
図９は、第２の設定情報に基づいた演算ユニット３１内部構成の一例を示す図である。演算ユニット３１は、第１の設定情報に基づいた場合、演算ユニット３１内のメモリおよび演算器を用いて、図９に示すように、第１の検索処理回路４２，選択回路４１，ＲＡＭ更新回路４３，第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５，多重化回路４７，第２の検索処理回路４６で構成される。また回路接続線５１は選択回路４１と第１の検索回路４２を接続し、回路接続線５２は第１の検索処理回路４２と多重化回路４７を接続し、信号線５３はＲＡＭ更新回路から選択回路４３への信号を伝送し、回路接続線５４は選択回路４１と第２の検索回路４６を接続し、回路接続線５５は第２の検索回路４６と多重化回路４７を接続する。
【００４０】
図９の第１の検索処理回路４２，選択回路４１，ＲＡＭ更新回路４３，第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５については、第１の設定情報で構成される図８と同様であるため同一の符号を付して説明を省略する。
【００４１】
第２の検索処理回路４６は、選択回路４１から入力された検索キー情報を検索キーとして、第２の内蔵ＲＡＭ４５に格納されているデータベースに対して検索処理を行い、検索結果を回路接続線５２経由で検索経路２２へ出力する回路である。
【００４２】
図１０は、第３の設定情報基づいた演算ユニット３１内部構成の一例を示す図である。演算ユニット３１は、第３の設定情報に基づいた場合、演算ユニット３１内のメモリおよび演算器を用いて、図１０に示すように、選択回路４１，ＲＡＭ更新回路４３，第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５，多重化回路４７，第２の検索処理回路４６で構成される。また、信号線５３はＲＡＭ更新回路から選択回路４３への信号を伝送し、回路接続線５４は選択回路４１と第２の検索回路４６を接続し、回路接続線５５は第２の検索回路４６と多重化回路４７を接続する。
【００４３】
図１０の各構成要素は、第１の設定情報で構成される図８、または第２の設定情報で構成される図９と同様であるため同一の符号を付して説明を省略する。
【００４４】
つづいて、本実施の形態の検索動作中におけるデータベース更新方法について述べる。なお、本実施の形態では、第１の設定情報に基づく内部構成（図８参照）を演算ユニット３１での初期動作状態として説明するが、第３の設定情報に基づく内部構成（図１０参照）を初期状態としてもよい。また、初期状態として、第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５には、検索に使用する任意のデータベースが記憶されているものとする。設定情報変更ユニット３３には、前述の第１の設定情報，第２の設定情報，第３の設定情報が記憶されているものとする。
【００４５】
まず、データベース更新前の初期状態を説明する。演算ユニット３１は、第１の設定情報に基づき図８の内部構成をとっている。選択回路４１は、検索経路２２から検索キー情報が入力されると、回路接続線５１を経由して第１の検索処理回路４２に検索キー情報を出力する。第１の検索処理回路４２は、入力された検索キー情報を用いて、第１の内蔵ＲＡＭ４４に記憶されているデータベースの検索を行い、検索結果を多重化回路４７に出力する。多重化回路４７は、その検索結果を多重化し、回路接続線５２経由および検索経路２２経由で転送ユニット１２に出力する。
【００４６】
つぎに、制御ＰＣ８が、変更した新データベースのデータを制御リンク９経由でルータ１に送る。データベースの更新は、たとえば、制御ＰＣ８が、ルータ１が関係するネットワークの状態から、転送経路の変更や追加，削除が必要と判断した場合に行われる。コントローラ１５は、制御リンク９から送出された新データベースを、制御リンク９で用いられているデータフォーマットから外部バス２３で用いるデータフォーマットに変換し、外部バス接続線２４経由で外部メモリ１４に出力する。そして、外部メモリ１４は、この新データベースを記憶する。
【００４７】
つぎに、制御ＰＣ８は、ルータ１内のデバイス１３内のプロセッサ３２に内部構成変更指示を送る。プロセッサ３２は、この内部構成変更指示を受信すると、接続線３７経由で演算ユニット３１の選択回路４１と、ＲＡＭ更新回路４３に内部構成変更指示を送出する。
【００４８】
ＲＡＭ更新回路４３は、内部構成変更指示を受信すると、内部バス接続線３５，内部バス３４，外部バス接続線２４，外部バス２３経由で外部メモリ１４に記憶されている新データベースを読み出して、第２の内蔵ＲＡＭ４５に読み出した新データベースを書き込む。そして、第２の内蔵ＲＡＭ４５への新データベースの書き込みが終了すると、設定情報通知線３６を介して設定情報変更ユニット３３に対して、第２の設定情報への変更を指示する。設定情報変更ユニット３３は、記憶している第２の設定情報をよみだし、演算ユニット３１に第２の設定情報を送出する。
【００４９】
なお、制御ＰＣ８が内部構成変更指示を送出せずに、ＲＡＭ更新回路４３が、外部メモリ１４をポーリングし、外部メモリ１４に記憶されているデータベースの変更を検出した場合に、内部構成変更指示を送出するようにしてもよい。この場合、ＲＡＭ更新回路４３は、外部メモリ１４に記憶されているデータベースの変更を検出すると、外部メモリ１４から新データベースを読み出して、第２の内蔵ＲＡＭ４５に読み出した新データベースを書き込み、信号線５３経由で選択回路４１に対して内部構成変更指示を送出する。そして、第２の内蔵ＲＡＭ４５への新データベースの書き込みが終了すると、設定情報通知線３６を介して設定情報変更ユニット３３に対して、第２の設定情報への変更を指示する。設定情報変更ユニット３３は、記憶している第２の設定情報を読み出し、演算ユニット３１に第２の設定情報を送出する。
【００５０】
そして、演算ユニット３１は、設定情報変更ユニット３３から受け取った第２の設定情報をロードし、第２の設定情報に基づいた内部回路など（図９に示した内部構成）を構成する。そして、選択回路４１は、プロセッサ３２またはＲＡＭ更新回路４３からへ送られた内部構成変更指示により、検索キー情報の送出先を第１の検索処理回路４２から第２の検索処理回路４６に切替える。この切替えが終了すると、第２の検索処理回路４６が、第２の内蔵ＲＡＭ４５に保持されている新データベースに対して検索処理を行い、検索結果を多重化回路４７に出力する。多重化回路４７は、その検索結果を多重化し、回路接続線５２経由および検索経路２２経由で転送ユニット１２に出力する。
【００５１】
なお、選択回路４１の検索キー情報の送出先切替えは、切替えにより検索キー情報が途中で切れて検索処理回路に送られないように、検索キー情報の切れ目で行うこととする。
【００５２】
次に、プロセッサ３２は、演算ユニット３１が第２の設定情報をロードしたことを検出すると、その時点から、第１の検索処理回路４２で検索処理中だった検索キー情報に対する検索結果が検索経路２２より出力されるまで、の時間程度の所定時間経過後に、設定情報変更ユニット３３に対して第３の設定情報への変更指示を送出する。そして、設定情報変更ユニット３３は、記憶されている第３の設定情報を読み出し、演算ユニット３１に出力する。
【００５３】
なお、プロセッサ３２が第２の設定情報をロードしたことを検出するかわりに、選択回路４１がＲＡＭ更新回路４３から内部構成変更指示を受け取り、その時点から、第１の検索処理回路４２で検索処理中だった検索キー情報に対する検索結果が検索経路２２より出力されるまで、の時間程度の所定時間経過後に、選択回路４１が設定情報変更ユニット３３に対して第３の設定情報への変更指示を送出するようにしてもよい。
【００５４】
つぎに、演算ユニット３１は、設定情報変更ユニット３３から受け取った第３の設定情報をロードし、第３の設定情報に基づいた内部回路など（図９に示した内部構成）を構成する。そして、制御ＰＣが、次のデータベース変更を行うまで、検索キー情報に対して第２の検索処理回路４６を使って検索処理を行う。
【００５５】
このように、本実施の形態では、演算ユニット３１の内部構成を設定情報に基づいて複数用意し、データベースの更新時のみ２つの検索回路と検索用メモリを備え、検索処理のみを行っている間は、２つの検索回路のうち１つのみを稼動させるようにした。このため、検索動作中であっても検索動作を停止せずにデータベースの変更ができ、かつ、使用していない構成品のために電力を消費しないため、従来のＦＰＧＡを切替える方式に比べ消費電力を削減することができる。
【００５６】
実施の形態２．
図１１は、本発明にかかる検索装置の実施の形態２の第３の設定情報に基づいた演算ユニット３１ａの構成例を示す図である。本実施の形態においても検索装置としてルータに実装されているデバイスを例として説明する。本実施の形態のルータは、実施の形態１の図２のルータ１と同様であり、ネットワーク構成も図１の実施の形態１と同様である。また、本実施の形態のデバイスの機能構成については、制御ユニット３１を制御ユニット３１ａに置き換えた以外、図７に示す実施の形態１と同様である。すなわち、本実施の形態と実施の形態１では、設定情報によりロードされる演算ユニット３１ａの内部構成が異なる。以下、実施の形態１と同様の部分については、説明を省略し、実施の形態１と異なる部分について説明する。また、実施の形態１と同様の機能のものは、同一の符号を付して説明する。
【００５７】
図１１は、第４の設定情報に基づいた演算ユニット３１ａの内部構成である。演算ユニット３１ａは、第４の設定情報に基づいた場合、演算ユニット３１ａ内のメモリおよび演算器を用いて、図１１に示すように、第１の検索処理回路４２，選択回路４１，第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５，多重化回路４７で構成される。実施の形態１の第１の設定情報に基づいた内部構成（図８参照）との相違点は、ＲＡＭ更新回路４３がない点である。実施の形態１と同様の機能のものについては、同一の番号を付して説明を省略する。
【００５８】
図１２は、第５の設定情報に基づいた演算ユニット３１ａの内部構成である。演算ユニット３１ａは、第５の設定情報に基づいた場合、演算ユニット３１ａ内のメモリおよび演算器を用いて、図１２に示すように、選択回路４１，第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５，多重化回路４７，第２の検索処理回路４６で構成される。実施の形態１の第２の設定情報に基づいた内部構成（図１０参照）との相違点は、ＲＡＭ更新回路４３がない点である。実施の形態１と同様の機能のものについては、同一の番号を付して説明を省略する。
【００５９】
つづいて、本実施の形態の検索動作中におけるデータベース更新方法について説明する。なお、本実施の形態では、第４の設定情報に基づく内部構成（図１１参照）を演算ユニット３１での初期動作状態として説明するが、第５の設定情報に基づく内部構成（図１２参照）を初期状態としてもよい。また、初期状態として、第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５には、検索に使用する任意のデータベースが記憶されているものとする。設定情報変更ユニット３３には、前述の第４の設定情報，第５の設定情報と、実施の形態１で説明した第２の設定情報が記憶されているものとする。
【００６０】
まず、データベース更新前の初期状態を説明する。演算ユニット３１ａは、第４の設定情報に基づき図１１に示す内部構成をとっている。選択回路４１は、検索経路２２から検索キー情報が入力されると、回路接続線５１を経由して第１の検索処理回路４２に検索キー情報を出力する。第１の検索処理回路４２は、入力された検索キー情報を用いて、第１の内蔵ＲＡＭ４４に記憶されているデータベースの検索を行い、検索結果を多重化回路４７に出力する。多重化回路４７は、その検索結果を多重化し、回路接続線５２経由および検索経路２２経由で転送ユニット１２に出力する。
【００６１】
ここで、本実施の形態では、実施の形態１と異なり、データベースの変更が行われていないとき（検索処理のみを行っているとき）には、ＲＡＭ更新回路４３を取り除いているので、ＲＡＭ更新回路４３を動作させるために定常的に消費されていた電力を削減することができる。
【００６２】
つぎに、制御ＰＣ８が、変更した新データベースのデータを制御リンク９経由でルータ１に送る。データベースの更新は、たとえば、制御ＰＣ８が、ルータ１が関係するネットワークの状態に基づいて、転送経路の変更や追加、削除が必要と判断した場合に行われる。コントローラ１５は、制御リンク９から送出された新データベースを、制御リンク９で用いられているデータフォーマットから外部バス２３で用いるデータフォーマットに変換し、外部バス接続線２４経由で外部メモリ１４に出力する。そして、外部メモリ１４は、この新データベースを記憶する。
【００６３】
つぎに、制御ＰＣ８は、ルータ１内のデバイス１３内のプロセッサ３２に内部構成変更指示を送る。プロセッサ３２は、この内部構成変更指示を受信すると、設定情報通知線３６を介して設定情報変更ユニット３３に対して、実施の形態１の第１の設定情報への変更を指示する。第１の設定情報への変更指示後の第２のメモリに更新後のデータベースを書き込むまでの処理を実施の形態１と同様に行う。その後、設定情報通知線３６を介して設定情報変更ユニット３３に対して、第２の設定情報への変更を指示する。設定情報変更ユニット３３は、記憶している第２の設定情報を読み出し、演算ユニット３１に第２の設定情報を送出する。
【００６４】
そして、演算ユニット３１ａは、設定情報変更ユニット３３から受け取った第２の設定情報をロードし、第２の設定情報に基づいた内部回路など（実施の形態１の図９に示した内部構成）を構成する。そして、選択回路４１は、プロセッサ３２またはＲＡＭ更新回路４３から送られた内部構成変更指示により、検索キー情報の送出先を第１の検索処理回路４２から第２の検索処理回路４６に切替える。この切替えが終了すると、第２の検索処理回路４６が、第２の内蔵ＲＡＭ４５に保持されている新データベースに対して検索処理を行う。
【００６５】
次に、プロセッサ３２は、演算ユニット３１が第２の設定情報をロードしたことを検出すると、その時点から、第１の検索処理回路４２で検索処理中だった検索キー情報に対する検索結果が検索経路２２より出力されるまで、の時間程度の所定時間経過後に、設定情報変更ユニット３３に対して第３の設定情報への変更指示を送出する。そして、設定情報変更ユニット３３は、記憶されている第３の設定情報を読み出し、演算ユニット３１に出力する。
【００６６】
なお、プロセッサ３２が第２の設定情報をロードしたことを検出するかわりに、選択回路４１がＲＡＭ更新回路４３から内部構成変更指示を受け取り、その時点から、第１の検索処理回路４２で検索処理中だった検索キー情報に対する検索結果が検索経路２２より出力されるまで、の時間程度の所定時間経過後に、選択回路４１が設定情報変更ユニット３３に対して第５の設定情報への変更指示を送出するようにしてもよい。
【００６７】
つぎに、演算ユニット３１は、設定情報変更ユニット３３から受け取った第５の設定情報をロードし、第５の設定情報に基づいた内部回路など（図１２に示した内部構成）を構成する。そして、制御ＰＣ８が、次のデータベース変更を行うまで、検索キー情報に対して第２の検索処理回路４６を使って検索処理が行われる。
【００６８】
このように、本実施の形態では、データベース更新を行う動作時のみＲＡＭ更新回路４３を備え、検索処理のみを行っている場合には、ＲＡＭ更新回路４３を備えない構成とした。このため、実施の形態１に比べ、検索処理操作における消費電力を削減することができる。
【００６９】
実施の形態３．
図１３は、本発明の実施の形態３のルータ１ｂの機能構成例を示す図である。本実施の形態では、図１において、実施の形態１のルータ１と本実施の形態のルータ１ｂとを置き換え、さらに、ルータ１ｂにおいては、実施の形態１の転送ユニット１２，デバイス１３に代えてそれぞれ転送ユニット１２ｂ，デバイス１３ｂを備えた構成としている。また、実施の形態１のデバイス１３は、外部バス接続線２４により外部バス２３と接続されているが、本実施の形態のデバイス１３ｂは、外部バス２３とは接続されていない。これらの相違点以外は、実施の形態１と同様の構成とする。実施の形態１と同様の機能のものは、同一の符号を付して説明を省略する。
【００７０】
図１４は、デバイス１３ｂの機能構成例を示す図である。本実施の形態のデバイス１３ｂは、実施の形態１のデバイス１３の演算ユニット３１の代わりに演算ユニット３１ｂを備え、それ以外は実施の形態１と同様である。実施の形態１と同様の機能のものは、同一の符号を付して説明を省略する。
【００７１】
本実施の形態では、転送ユニット１２ｂは、実施の形態１の転送ユニット１２と同様に、受信したフレームから検索キー情報を抽出するが、実施の形態１と異なり、抽出後に検索キー情報にヘッダを付加して、検索経路２２経由でデバイス１３ｂへ送る。また、転送ユニット１２ｂは、外部バス２３に外部バス接続線２５を介して接続しており、制御ＰＣ８から内部構成変更指示を受けると、デバイス１３ｂに対して検索キー情報に付加するヘッダ部分の特定フィールド（後述のＲＡＭ変更指示フィールド）を書き換えるよう指示する。
【００７２】
図１５は、デバイス１３ｂへ送られるヘッダ付検索キー情報５００のフォーマットである。ヘッダ５０１は、ＲＡＭ変更指示フィールド５０２を含む。なお、本実施の形態では、ヘッダ５０１はＲＡＭ変更指示フィールド５０２のみとして説明するが、ヘッダ５０１に、ＲＡＭ更新指示フィールド５０２以外に回路の設定に関する情報を含めるようにしてもよい。
【００７３】
本実施の形態では、デバイス１３ｂは、外部バス２３と接続されていないため、プロセッサ３２からの内部構成変更指示は、転送ユニット１２ｂが付加する検索キー情報のヘッダに含まれるＲＡＭ変更指示フィールド５０２を用いて通知されることになる。
【００７４】
つづいて、デバイス１３ｂの設定情報に基づく内部構成について例をあげて説明する。
【００７５】
図１６は、第６の設定情報に基づいた演算ユニット３１ｂの内部構成の一例を示す図である。実施の形態１の第１の設定情報に基づく構成（図８参照）との相違点は、転送ユニット１２ｂから送られるヘッダ付検索キー情報５００のヘッダ解析を行うヘッダ解析回路４８と、選択回路４１とＲＡＭ更新回路４３とを接続する信号線５６が、追加されている点である。それ以外は、実施の形態１の第１の設定情報に基づく構成（図８参照）と同様である。実施の形態１の第１の設定情報に基づく構成と同様のものは、同一の番号を付して説明を省略する。
【００７６】
図１７は、第７の設定情報に基づいた演算ユニット３１ｂの内部構成の一例を示す図である。実施の形態１の第２の設定情報に基づく構成（図９参照）との相違点は、転送ユニット１２ｂから送られるヘッダ付検索キー情報のヘッダ解析を行うヘッダ解析回路４８と、選択回路４１とＲＡＭ更新回路４３とを接続する信号線５６が、追加されている点である。それ以外は、実施の形態１の第２の設定情報に基づく構成（図９参照）と同様である。実施の形態１の第２の設定情報に基づく構成と同様のものは、同一の番号を付して説明を省略する。
【００７７】
図１８は、第８の設定情報に基づいた演算ユニット３１ｂの内部構成の一例を示す図である。実施の形態１の第３の設定情報に基づく構成（図１０参照）との相違点は、転送ユニット１２ｂから送られるヘッダ付検索キー情報５００のヘッダ解析を行うヘッダ解析回路４８と、選択回路４１とＲＡＭ更新回路４３とを接続する信号線５６が、追加されている点である。それ以外は、実施の形態１の第３の設定情報に基づく構成（図１０参照）と同様である。実施の形態１の第３の設定情報に基づく構成と同様のものは、同一の番号を付して説明を省略する。
【００７８】
つづいて、本実施の形態実施の検索動作中におけるデータベース更新方法について説明する。なお、本実施の形態では、第６の設定情報に基づく内部構成（図１６参照）を演算ユニット３１ｂでの初期動作状態として説明するが、第８の設定情報に基づく内部構成（図１８参照）を初期状態としてもよい。また、初期状態として、第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５には、検索に使用する任意のデータベースが記憶されているものとする。設定情報変更ユニット３３には、前述の第６の設定情報，第７の設定情報，第８の設定情報が記憶されているものとする。
【００７９】
まず、データベース更新前の初期状態を説明する。演算ユニット３１ｂは、第６の設定情報に基づき図１６の内部構成をとっている。演算ユニット３１ｂのヘッダ解析回路４８は、検索経路２２経由でヘッダ付検索キー情報５００を受信すると、ヘッダ付検索キー情報５００のうちヘッダ５０１の内容を解析する。そして、ＲＡＭ更新指示フィールド５０２が、内部構成変更指示が無いことを示す値か有ることを示す値かを確認する。初期状態では、内部構成変更指示は無いため、ＲＡＭ更新指示フィールド５０２には内部構成変更指示が無いことを示す値が書き込まれている。
【００８０】
選択回路４１は、検索経路２２経由でヘッダ付検索キー情報５００を受信すると、ヘッダ付検索キー情報５００のうち検索キー情報５０３を、回路接続線５１を経由して第１の検索処理回路４２に出力する。第１の検索処理回路４２は、入力された検索キー情報を用いて、第１の内蔵ＲＡＭ４４に記憶されているデータベースの検索を行い、検索結果を回路接続線５２経由および検索経路２２経由で転送ユニット１２ｂに出力する。なお、検索経路２２から入力されるヘッダ付き検索キー情報５００は、前述のとおり転送ユニット１２ｂでヘッダ５０１が付加されている。検索処理のみを行っている初期状態では、転送ユニット１２ｂは、ヘッダ５０１のＲＡＭ変更指示フィールド５０２の値を内部構成変更指示が無いことを示す値としている。
【００８１】
つぎに、制御ＰＣ８が、変更した新データベースのデータを制御リンク９経由でルータ１ｂに送る。コントローラ１５は、制御リンク９から送出された新データベースを、制御リンク９で用いられているデータフォーマットから外部バス２３で用いるデータフォーマットに変換し、外部バス接続線２４経由で外部メモリ１４に出力する。そして、外部メモリ１４は、この新データベースを記憶する。
【００８２】
つぎに、制御ＰＣ８は、ルータ１ｂ内の転送ユニット１２ｂに内部構成変更指示を送る。転送ユニット１２ｂは、この内部構成変更指示を受信すると、ヘッダ付検索キー情報５００のＲＡＭ更新指示フィールド５０２の値を内部構成変更指示が有ることを示す値としてヘッダ５０１を付加したヘッダ付き検索キー情報５００を生成する。そして、生成したヘッダ付き検索キー情報５００を検索経路２２経由でデバイス１３ｂに送出する。
【００８３】
つぎに、デバイス１３ｂの演算ユニット３１ｂ内のヘッダ解析回路４８が、検索経路２２経由でヘッダ付検索キー情報５００を受信し、ヘッダの解析を行う。そして、ＲＡＭ更新指示フィールド５０２が、内部構成変更指示が有ることを示す値であることを確認すると、信号線５６を使いＲＡＭ更新回路４３に対して内部構成変更指示を送出する。
【００８４】
選択回路４１は、検索経路２２経由でヘッダ付検索キー情報５００を受信し、ヘッダ付検索キー情報５００のうち検索キー情報５０３を、回路接続線５１を経由して第１の検索処理回路４２に出力する。第１の検索処理回路４２は、入力された検索キー情報を用いて、第１の内蔵ＲＡＭ４４に記憶されているデータベースの検索を行い、検索結果を多重化回路４７に出力する。多重化回路４７は、その検索結果を多重化し、回路接続線５２経由および検索経路２２経由で転送ユニット１２ｂに出力する。
【００８５】
つぎに、ＲＡＭ更新回路４３は、ヘッダ解析回路４８から内部構成変更指示を受信すると、内部バス接続線３５，内部バス３４，外部バス接続線２４，外部バス２３経由で外部メモリ１４に記憶されている新データベースを読み出して、第２の内蔵ＲＡＭ４５に読み出した新データベースを書き込み、信号線５３経由で選択回路４１に対して内部構成変更指示を行う。そして、第２の内蔵ＲＡＭ４５への新データベースの書き込みが終了すると、設定情報通知線３６を介して設定情報変更ユニット３３に対して、第７の設定情報への変更を指示する。設定情報変更ユニット３３は、記憶している第７の設定情報を読み出し、演算ユニット３１ｂに第７の設定情報を送出する。
【００８６】
つぎに、演算ユニット３１ｂは、設定情報変更ユニット３３から受け取った第７の設定情報をロードし、第７の設定情報に基づいた内部回路など（図１７に示した内部構成）を構成する。そして、選択回路４１は、ＲＡＭ更新回路４３から送られた内部構成変更指示により、検索キー情報の送出先を第１の検索処理回路４２から第２の検索処理回路４６に切替える。この切替えが終了すると、第２の検索処理回路４６が、第２の内蔵ＲＡＭ４５に保持されている新データベースに対して検索処理を行う。
【００８７】
つぎに、プロセッサ３２は、演算ユニット３１ｂが第７の設定情報をロードしたことを検出すると、その時点から、第１の検索処理回路４２で検索処理中だった検索キー情報に対する検索結果が検索経路２２より出力されるまで、の時間程度の所定時間経過後に、設定情報変更ユニット３３に対して第８の設定情報への変更指示を送出する。そして、設定情報変更ユニット３３は、記憶されている第８の設定情報を読み出し、演算ユニット３１ｂに出力する。
【００８８】
なお、プロセッサ３２が第７の設定情報をロードしたことを検出するかわりに、選択回路４１がＲＡＭ更新回路４３から内部構成変更指示を受け取り、その時点から、第１の検索処理回路４２で検索処理中だった検索キー情報に対する検索結果が検索経路２２より出力されるまで、の時間程度の所定時間経過後に、選択回路４１が設定情報変更ユニット３３に対して第８の設定情報への変更指示を送出するようにしてもよい。
【００８９】
つぎに、演算ユニット３１ｂは、設定情報変更ユニット３３から受け取った第８の設定情報をロードし、第８の設定情報に基づいた内部回路など（図１８に示した内部構成）を構成する。そして、制御ＰＣが次のデータベース変更を行うまで、検索キー情報に対して第２の検索処理回路４６を使って検索処理を行う。
【００９０】
このように、本実施の形態では、転送ユニット１２ｂが検索キー情報にＲＡＭ更新フィールド５０２を含むヘッダ５０１を付加し、ＲＡＭ更新フィールド５０２の値により、内部構成変更を指示するようにした。このため、外部バス２３を介さずにデバイス１３ｂに内部構成変更を指示することができる。
【００９１】
実施の形態４．
図１９は、本発明の実施の形態４のルータ１ｃの機能構成例を示す図である。本実施の形態では、図１において、実施の形態１のルータ１と本実施の形態のルータ１ｃとを置き換え、さらに、ルータ１ｃにおいては、前述した実施の形態３に検索ＦＩＦＯ１６を追加し、デバイス１３ｂの代わりにデバイス１３ｃを備えた構成としている。また、実施の形態３の検索経路２２の代わりに、デバイス１３ｂと検索ＦＩＦＯ１６を接続する検索経路２６，検索ＦＩＦＯ１６と転送ユニット１２ｂを接続する検索経路２７、を追加している。これらの相違点以外は、実施の形態３と同様の構成とする。実施の形態１または３と同様の機能のものは、同一の符号を付して説明を省略する。
【００９２】
本実施の形態では、実施の形態３と同様に、転送ユニット１２ｂは、受信フレームから抽出した検索キー情報にヘッダ５０１を付加したヘッダ付検索キー情報５００を生成する。本実施の形態のヘッダ付検索キー情報５００のフォーマットおよびその内容は、図１５に示す実施の形態３と同様である。
【００９３】
本実施の形態では、転送ユニット１２ｂで生成されたヘッダ付検索キー情報５００は、検索経路２６を経由して、検索ＦＩＦＯ１６を通過した後に、デバイス１３ｃへ出力される。また、デバイス１３ｃからの検索結果は検索経路２７を経由して転送ユニット１２ｂに出力される。
【００９４】
本実施の形態では、データベース更新中と通常の検索処理のみを行っているときの検索処理能力の比率が、１：２となる。検索ＦＩＦＯ１６は、デバイス１３ｃにおける検索処理能力が通常の検索処理より低下するデータベース更新中に、検索キー情報の処理溢れを防ぐための記憶手段である。検索ＦＩＦＯ１６は、転送ユニット１２ｂから出力されるヘッダ付検索キー情報５００を順次記憶し、デバイス１３ｃにヘッダ付検索キー情報５００を記憶された順に出力する。検索処理能力の低下によるヘッダ付検索キー情報５００の処理溢れを防ぐために、検索ＦＩＦＯ１６は、たとえば、出力したヘッダ付検索キー情報５００からの検索結果の出力が停止した場合には、ヘッダ解析回路４８へのヘッダ付検索キー情報５００の出力を停止し、検索結果の出力開始まで出力されていないヘッダ付検索キー情報５００を保持する。
【００９５】
つづいて、デバイス１３ｃの設定情報に基づく内部構成について例をあげて説明する。なお、また、本実施の形態のデバイス１３ｃの機能構成は、実施の形態３の演算ユニット３１ｂを演算ユニット３１ｃに代える点以外は実施の形態３と同様とする。
【００９６】
図２０は、第９の設定情報に基づいた演算ユニット３１ｃの内部構成の一例を示す図である。図２０の構成は、実施の形態３の第７の設定情報に基づいた構成（図１７参照）において、選択回路４１を分配回路４９に代えたものである。
【００９７】
分配回路４９は、入力された検索キー情報５０３を第１の検索処理回路４２または第２の検索処理回路４６にラウンドロビン方式で出力する。
【００９８】
図２１は、第１０の設定情報に基づいた演算ユニット３１ｃの内部構成の一例を示す図である。図２１の構成は、実施の形態３の第６の設定情報に基づいた構成（図１６参照）において、選択回路４１を分配回路４９に代えたものである。
【００９９】
図２２は、第１１の設定情報に基づいた演算ユニット３１ｃの内部構成の一例を示す図である。図２２の構成は、実施の形態３の第８の設定情報に基づいた構成（図１８参照）において、選択回路４１を分配回路４９に代えたものである。
【０１００】
つづいて、本実施の形態の検索動作中におけるデータベース更新方法について述べる。なお、本実施の形態では、一例として、データベースの更新の際に、第９の設定情報（図２０参照）⇒第１０の設定情報（図２１参照）⇒第９の設定情報（図２０参照）⇒第１１の設定情報（図２２参照）の順でロードする手順を説明するが、第９の設定情報（図２０参照）⇒第１１の設定情報（図２２参照）⇒第９の設定情報（図２０参照）⇒第１０の設定情報（図２１参照）の順でロードしてもよい。また、初期状態として、第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５には、検索に使用する任意の同一のデータベースが記憶されているものとする。設定情報変更ユニット３３には、前述の第９の設定情報，第１０の設定情報，第１１の設定情報が記憶されているものとする。
【０１０１】
まず、データベース更新前の初期状態を説明する。演算ユニット３１ｃは、第９の設定情報に基づき図２０の内部構成をとっている。演算ユニット３１ｃのヘッダ解析回路４８は、検索経路２２経由でヘッダ付検索キー情報５００を受信すると、ヘッダ５０１の解析を行う。そして、ＲＡＭ更新指示フィールド５０２が、内部構成変更指示が無いことを示す値であることを確認する。
【０１０２】
分配回路４９は、ヘッダ解析回路４８から出力された検索キー情報５０３を、ラウンドロビン方式により、回路接続線５１を経由して第１の検索処理回路４２へ、または、回路接続線５４を経由して第２の検索処理回路４６へ出力する。第１の検索処理回路４２，第２の検索処理回路４６は、分配回路４９から出力された検索キー情報５０３を用いて、それぞれ第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５に記憶されているデータベースの検索を行い、検索結果を多重化回路４７に出力する。多重化回路４７は、第１の検索処理回路４２，第２の検索処理回路４６から出力された検索結果を多重化し、検索経路２７経由で転送ユニット１２ｂに出力する。
【０１０３】
ここで、実施の形態３との違いは、第９の設定情報に基づいた内部構成として、第１の検索処理回路４２と第２の検索処理回路４６の２つの検索回路を使用することであり、この違いにより、検索処理能力を実施の形態１〜３の２倍にすることができる。
【０１０４】
つぎに、制御ＰＣ８が、変更した新データベースのデータを制御リンク９経由でルータ１ｃに送る。コントローラ１５は、制御リンク９から送出された新データベースを、制御リンク９で用いられているデータフォーマットから外部バス２３で用いるデータフォーマットに変換し、外部バス接続線２４経由で外部メモリ１４に出力する。そして、外部メモリ１４は、この新データベースを記憶する。
【０１０５】
つぎに、制御ＰＣ８は、ルータ１ｃ内の転送ユニット１２ｂに内部構成変更指示を送る。転送ユニット１２ｂは、この内部構成変更指示を受信すると、ヘッダ付検索キー情報５００のＲＡＭ更新指示フィールド５０２の値を内部構成変更指示があることを示す値としてヘッダ５０１を付加したヘッダ付検索キー情報５００を生成する。そして、生成したヘッダ付検索キー情報５００を検索経路２６および検索ＦＩＦＯ１６を経由してデバイス１３ｃに出力する。
【０１０６】
つぎに、デバイス１３ｃの演算ユニット３１ｃ内のヘッダ解析回路４８は、検索経路２６経由でヘッダ付検索キー情報５００を受信すると、ヘッダ５０１の解析を行う。そして、ヘッダ５０１のうちＲＡＭ更新指示フィールド５０２が、内部構成変更指示が有ることを示す値であることを確認すると、信号線５６を使い分配回路４９に対して検索キーの分配停止指示を送出する。
【０１０７】
分配回路４９は、検索経路２６経由でヘッダ付検索キー情報５００を受信すると、ヘッダ付検索キー情報５００のうち検索キー情報５０３を、ラウンドロビン方式により、回路接続線５１を経由して第１の検索処理回路４２へ、または、回路接続線５４を経由して第２の検索処理回路４６へ出力する。第１の検索処理回路４２，第２の検索処理回路４６は、分配回路４９から出力された検索キー情報５０３を用いて、それぞれ第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５に記憶されているデータベースの検索を行い、検索結果を多重化回路４７に出力する。多重化回路４７は、第１の検索処理回路４２，第２の検索処理回路４６から出力された検索結果を多重化し、検索経路２７経由で転送ユニット１２ｂに出力する。
【０１０８】
ヘッダ解析回路４８から分配停止指示を受け取った分配回路４９は、第２の検索処理回路４６への検索キー情報５０３の配信を停止し、第１の検索処理回路４２のみに検索キー情報５０３を送出する。そして、第２の検索処理回路４６で検索処理中だった検索キー５０３に対する検索結果が出力される程度の任意の所定時間経過後、分配回路４９は、設定情報変更ユニット３３に対して第１０の設定情報への内部構成変更指示を送出する。設定情報変更ユニット３３は、記憶している第１０の設定情報を読み出し、演算ユニット３１ｃに第１０の設定情報を送出する。
【０１０９】
つぎに、演算ユニット３１ｃは、設定情報変更ユニット３３から受け取った第１０の設定情報をロードし、第１０の設定情報に基づいた内部回路など（図２１に示した内部構成）を構成する。
【０１１０】
つぎに、ＲＡＭ更新回路４３は、内部バス接続線３５，内部バス３４，外部バス接続線２４，外部バス２３経由で外部メモリ１４に記憶されている新データベースを読み出して、第２の内蔵ＲＡＭ４５に読み出した新データベースを書き込む。そして、第２の内蔵ＲＡＭ４５へ新データベースの書き込みが終了すると、信号線５３を使い分配回路４９に対して検索処理回路変更指示と、設定情報通知線３６を介して設定情報変更ユニット３３に対して、第９の設定情報への内部構成変更指示を送出する。
【０１１１】
つぎに、演算ユニット３１ｃは、設定情報変更ユニット３３から受け取った第９の設定情報をロードし、第９の設定情報に基づいた内部回路など（図２０に示した内部構成）を構成する。
【０１１２】
検索処理回路変更指示を受け取った分配回路４９は、第１の検索処理回路４２への検索キー情報５０３の配信を停止し、第２の検索処理回路４６に検索キー情報５０３を送出する。そして、第１の検索処理回路４２で検索処理中だった検索キー５０３に対する検索結果が出力される程度の任意の所定時間経過後、分配回路４９は、設定情報変更ユニット３３に対して第１１の設定情報への内部構成変更指示を送出する。設定情報変更ユニット３３は、記憶している第１１の設定情報を読み出し、演算ユニット３１ｃに第１１の設定情報を送出する。
【０１１３】
つぎに、演算ユニット３１ｃは、設定情報変更ユニット３３から受け取った第１１の設定情報をロードし、第１１の設定情報に基づいた内部回路など（図２２に示した内部構成）を構成する。
【０１１４】
つぎに、ＲＡＭ更新回路４３は、内部バス接続線３５，内部バス３４，外部バス接続線２４，外部バス２３経由で外部メモリ１４に記憶されている新データベースを読み出して、第１の内蔵ＲＡＭ４４に読み出した新データベースを書き込む。そして、第２の内蔵ＲＡＭ４５へ新データベースの書き込みが終了すると、信号線５３を使い分配回路４９に対して検索処理回路変更指示を送出し、さらに、設定情報通知線３６を介して設定情報変更ユニット３３に対して、第９の設定情報への内部構成変更指示を送出する。
【０１１５】
つぎに、演算ユニット３１ｃは、設定情報変更ユニット３３から受け取った第９の設定情報をロードし、第９の設定情報に基づいた内部回路など（図２０に示した内部構成）を構成する。
【０１１６】
また、検索処理回路変更指示を受け取った分配回路４９は、初期状態と同様、ラインドロビン方式により、検索情報キー５０３を第１の検索処理回路４２、または、第２の検索処理回路４６に出力する。そして、制御ＰＣ８が、次のデータベース変更を行うまで、検索キー情報に対してランドロビン方式により第１の検索処理回路４２および第２の検索処理回路４６の２つの検索処理回路を使って検索処理を行う。
【０１１７】
なお、本実施の形態では、実施の形態３の選択回路４１を分配回路４９に変え、ルータ１ｃに検索ＦＩＦＯ１６を追加したが、たとえば、実施の形態１または２において、同様に選択回路４１を分配回路４９に変え、検索ＦＩＦＯ１６を追加することにより、通常処理をランドロビン方式により第１の検索処理回路４２および第２の検索処理回路４６の２つの検索処理回路を使うようにしてもよい。
【０１１８】
このように本実施の形態では、通常の検索処理時（データベース変更時以外）に、第１の検索処理回路４２および第２の検索処理回路４６の２つの検索処理回路を用いて検索処理を行うようにした。このため、通常の検索処理時に、実施の形態１〜３に比べ２倍の処理能力を持つことができる。
【０１１９】
実施の形態５.
図２３は、本発明にかかる検索装置の実施の形態５の第１２の設定情報に基づいた演算ユニット３１ｄの内部構成例を示す図である。本実施の形態においても検索装置としてルータに実装されているデバイスを例として説明する。本実施の形態のルータは、実施の形態３の図１３に示すルータ１ｂと同様である。ネットワーク構成は、図１の実施の形態１と同様である。また、本実施の形態のデバイスの機能構成については、演算ユニット３１ｂを演算ユニット３１ｄに置き換える以外、図１４に示す実施の形態３と同様である。
【０１２０】
図２３に示すように、本実施の形態の第１２の設定情報に基づいた演算ユニット３１ｄは、図２０に示した実施の形態４の第９の設定情報に基づいた演算ユニット３１ｃに、演算ユニット内検索ＦＩＦＯ５０が追加されている。以下、実施の形態１、３または４と同様の部分については、同一の符号付して説明を省略し、実施の形態１、３または４と異なる部分について説明する。
【０１２１】
演算ユニット内検索ＦＩＦＯ５０は、実施の形態４の検索ＦＩＦＯ１６と同様の目的で設けられており、デバイス１３ｄにおける検索処理能力が通常の検索処理より低下するデータベース更新中に、検索キー情報の処理溢れを防ぐための記憶手段である。演算ユニット内検索ＦＩＦＯ５０は、検索経路２２から出力されるヘッダ付検索キー情報５００を順次記憶し、ヘッダ解析回路４８に記憶された順にヘッダ付検索キー情報５００を出力する。検索処理能力の低下によるヘッダ付検索キー情報５００の処理溢れを防ぐには、たとえば、出力したヘッダ付検索キー情報５００に対する検索結果が出力されてから次のヘッダ付検索キー情報５００を出力する。
【０１２２】
図２４は、本実施の形態の第１３の設定情報に基づいた演算ユニット３１ｄの内部構成例を示す図である。図２１に示した実施の形態４の第１０の設定情報に基づいた演算ユニット３１ｃとの相違点は、演算ユニット内検索ＦＩＦＯ５０が追加されている点である。
【０１２３】
図２５は、本実施の形態の第１４の設定情報に基づいた演算ユニット３１ｄの内部構成例を示す図である。図２２に示した実施の形態４の第１１の設定情報に基づいた演算ユニット３１ｃとの相違点は、演算ユニット内検索ＦＩＦＯ５０が追加されている点である。
【０１２４】
つづいて、本実施の形態の検索動作中におけるデータベース更新方法について述べる。なお、本実施の形態では、一例として、データベースの更新の際に、第１２の設定情報（図２３参照）⇒第１３の設定情報（図２４参照）⇒第１２の設定情報（図２３参照）⇒第１４の設定情報（図２５参照）の順でロードする手順を説明するが、第１２の設定情報（図２３参照）⇒第１４の設定情報（図２５参照）⇒第１２の設定情報（図２３参照）⇒第１３の設定情報（図２４参照）の順でロードしてもよい。また、初期状態として、第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５には、検索に使用する任意の同一のデータベースが記憶されているものとする。設定情報変更ユニット３３には、前述の第１２の設定情報，第１３の設定情報，第１４の設定情報が記憶されているものとする。また、以下では実施の形態３または実施の形態４と異なる部分のみを説明するが、それ以外の処理は、実施の形態３または実施の形態４と同様である。
【０１２５】
まず、データベース更新前の初期状態を説明する。演算ユニット３１ｄは、第１２の設定情報に基づき図２３の内部構成をとっている。検索経路２２より入力されたヘッダ付検索キー情報５００は、演算ユニット内検索ＦＩＦＯ５０にいったん記憶され、記憶された順にヘッダ付検索キー情報５００をヘッダ解析回路４８に出力する。ヘッダ解析回路４８は、検索経路２２経由でヘッダ付検索キー情報５００を受信すると、ヘッダ５０１の解析を行う。そして、ＲＡＭ更新指示フィールド５０２が、内部構成変更指示が無いことを示す値であることを確認する。
【０１２６】
分配回路４９は、検索経路２２経由で受信したヘッダ付検索キー情報５００を受信し、ヘッダ付検索キー情報５００のうちの検索キー情報５０３を、ラウンドロビン方式により、回路接続線５１を経由して第１の検索処理回路４２へ、または、回路接続線５４を経由して第２の検索処理回路４６へ出力する。第１の検索処理回路４２，第２の検索処理回路４６は、分配回路４９から出力された検索キー情報５０３を用いて、それぞれ第１の内蔵ＲＡＭ４４，第２の内蔵ＲＡＭ４５に記憶されているデータベースの検索を行い、検索結果を多重化回路４７に出力する。多重化回路４７は、第１の検索処理回路４２，第２の検索処理回路４６から出力された検索結果を多重化し、検索経路２７経由で転送ユニット１２ｂに出力する。
【０１２７】
実施の形態４との違いは、検索ＦＩＦＯ１６のかわりに、演算ユニット内検索ＦＩＦＯ５０がヘッダ付検索キー情報５００を記憶し、順次出力する点であるが、それ以外は、実施の形態４と同様の動作となる。データベース変更時の内部構成変更の手順についても、実施の形態４の第９の設定情報（図２０参照）⇒第１０の設定情報（図２１参照）⇒第９の設定情報（図２０参照）⇒第１１の設定情報（図２２参照）と同様である。ただし、この処理において、検索ＦＩＦＯ１６のかわりに、演算ユニット内検索ＦＩＦＯ５０がヘッダ付検索キー情報５００を記憶する。
【０１２８】
このように、演算ユニット３１ｄ内に、演算ユニット内検索ＦＩＦＯ５０を設けると、演算ユニット３１ｄがもともと備えているメモリおよび演算器のなかで構成できるため、部品点数は実施の形態３と同じである。また、本実施の形態は、実施の形態４と比べると、ルータ１ｃに検索ＦＩＦＯ１６を備える必要がないため、部品点数を削減できる。
【０１２９】
なお、本実施の形態では、常時演算ユニット内検索ＦＩＦＯ５０を備えることとしたが、実施の形態２のＲＡＭ更新回路の４３と同様に、データベース更新時以外（通常検査悪処理時）では、その回路を備えないようにしてもよい。このようにすると、消費電力の削減ができる。その場合、通常検索処理時には、実施の形態３と同様に演算ユニット内検索ＦＩＦＯ５０を経由せずにヘッダ解析回路４８が検索経路２２からヘッダ付検索キー情報５００を受け取る。
【０１３０】
なお、本実施の形態では、実施の形態３の選択回路４１を分配回路４９に変え、演算ユニット内検索ＦＩＦＯ５０を追加したが、実施の形態１または２において、同様に選択回路４１を分配回路４９に変え、演算ユニット内検索ＦＩＦＯ５０を追加することにより、同様の動作を行うようにしてもよい。
【０１３１】
このように、本実施の形態では、演算ユニット３１ｄ内に、演算ユニット内検索ＦＩＦＯ５０を備えることした。このため、実施の形態４に比べ部品点数を削減することができる。
【産業上の利用可能性】
【０１３２】
以上のように、本発明にかかる検索回路はデータ検索を行うデータ処理に有用であり、特に、検索処理を中断させずに検索用のデータベースの更新を行う情報通信システムに適している。
【図面の簡単な説明】
【０１３３】
【図１】本発明の実施の形態１のネットワーク構成を示す図である。
【図２】実施の形態１のルータの機能構成例を示す図である。
【図３】Ethernet（登録商標）フレームフォーマットを示す図である。
【図４】ＩＰｖ４ヘッダのフォーマットを示す図である。
【図５】ＴＣＰヘッダのフォーマットを示す図である。
【図６】ＵＤＰヘッダのフォーマットを示す図である。
【図７】実施の形態１のデバイスの機能構成例を示す図である。
【図８】実施の形態１の第１の設定情報に基づく演算ユニットの内部構成例を示す図である。
【図９】実施の形態１の第２の設定情報に基づく演算ユニットの内部構成例を示す図である。
【図１０】実施の形態１の第３の設定情報に基づく演算ユニットの内部構成例を示す図である。
【図１１】実施の形態２の第４の設定情報に基づく演算ユニットの内部構成例を示す図である。
【図１２】実施の形態２の第５の設定情報に基づく演算ユニットの内部構成例を示す図である。
【図１３】実施の形態３のルータの機能構成例を示す図である。
【図１４】実施の形態３のデバイスの機能構成例を示す図である。
【図１５】ヘッダ付検索キー情報のフォーマットを示す図である。
【図１６】実施の形態３の第６の設定情報に基づく演算ユニットの内部構成例を示す図である。
【図１７】実施の形態３の第７の設定情報に基づく演算ユニットの内部構成例を示す図である。
【図１８】実施の形態３の第８の設定情報に基づく演算ユニットの内部構成例を示す図である。
【図１９】実施の形態４のルータの機能構成例を示す図である。
【図２０】実施の形態４の第９の設定情報に基づく演算ユニットの内部構成例を示す図である。
【図２１】実施の形態４の第１０の設定情報に基づく演算ユニットの内部構成例を示す図である。
【図２２】実施の形態４の第１１の設定情報に基づく演算ユニットの内部構成例を示す図である。
【図２３】実施の形態５の第１２の設定情報に基づく演算ユニットの内部構成例を示す図である。
【図２４】実施の形態５の第１３の設定情報に基づく演算ユニットの内部構成例を示す図である。
【図２５】実施の形態５の第１４の設定情報に基づく演算ユニットの内部構成例を示す図である。
【符号の説明】
【０１３４】
１，１ｂ，１ｃ  ルータ
２  ＰＣ端末
３  インターネット
４  サーバー群
５  アクセスポイント
６  無線端末
７  イントラネット
８  制御ＰＣ
９  制御リンク
１０  リンク
１１  送受信ユニット
１２，１２ｂ  転送ユニット
１３，１３ｂ，１３ｃ，１３ｄ  デバイス
１４  外部メモリ
１５  コントローラ
１６  検索ＦＩＦＯ
２１  転送経路
２２，２６，２７  検索経路
２３  外部バス
２４  外部バス接続線
３１，３１ａ，３１ｂ，３１ｃ，３１ｄ  演算ユニット
３２  プロセッサ
３３  設定情報変更ユニット
３４  内部バス
３５  内部バス接続線
３６  設定情報通知線
３７  接続線
４１  選択回路
４２  第１の検索処理回路
４３  ＲＡＭ更新回路
４４  第１の内蔵ＲＡＭ
４５  第２の内蔵ＲＡＭ
４６  第２の検索処理回路
４７  多重化回路
４８  ヘッダ解析回路
４９  分配回路
５０  演算ユニット内検索ＦＩＦＯ
５１，５２  回路接続線
５３，５６  信号線
５４  回路接続線
５５  回路接続線
１００  Ethernet（登録商標）フレーム
１０１  ＭＡＣヘッダ
１０２  ＩＰｖ４パケット
１０３  ＦＣＳ
１０４  ＩＰｖ４ヘッダ
１０５  ＴＣＰヘッダ
１０６  ＵＤＰヘッダ
２０１  ＴＯＳフィールド
２０２  トータル長
２０３  識別子
２０４  フラグ
２０５  フラグメントオフセット
２０６  プロトコル
２０７  送信元ＩＰアドレス
２０８  宛先ＩＰアドレス
３０１  送信元ポート番号
３０２  宛先ポート番号
３０３  シーケンス番号
３０４  確認応答番号
４０１  送信元ポート番号
４０２  宛先ポート番号
５００  ヘッダ付検索キー情報
５０１  ヘッダ
５０２  ＲＡＭ更新指示フィールド
５０３  検索キー情報
【図１】
2008117300.tif 000003
【図２】
2008117300.tif 000004
【図３】
2008117300.tif 000005
【図４】
2008117300.tif 000006
【図５】
2008117300.tif 000007
【図６】
2008117300.tif 000008
【図７】
2008117300.tif 000009
【図８】
2008117300.tif 000010
【図９】
2008117300.tif 000011
【図１０】
2008117300.tif 000012
【図１１】
2008117300.tif 000013
【図１２】
2008117300.tif 000014
【図１３】
2008117300.tif 000015
【図１４】
2008117300.tif 000016
【図１５】
2008117300.tif 000017
【図１６】
2008117300.tif 000018
【図１７】
2008117300.tif 000019
【図１８】
2008117300.tif 000020
【図１９】
2008117300.tif 000021
【図２０】
2008117300.tif 000022
【図２１】
2008117300.tif 000023
【図２２】
2008117300.tif 000024
【図２３】
2008117300.tif 000025
【図２４】
2008117300.tif 000026
【図２５】
2008117300.tif 000027