JP2008117300A - Retrieval device, data processor and retrieval method - Google Patents
Retrieval device, data processor and retrieval method Download PDFInfo
- Publication number
- JP2008117300A JP2008117300A JP2006301903A JP2006301903A JP2008117300A JP 2008117300 A JP2008117300 A JP 2008117300A JP 2006301903 A JP2006301903 A JP 2006301903A JP 2006301903 A JP2006301903 A JP 2006301903A JP 2008117300 A JP2008117300 A JP 2008117300A
- Authority
- JP
- Japan
- Prior art keywords
- search
- setting information
- internal configuration
- database
- memory
- 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.)
- Pending
Links
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
Description
本発明は、データ検索処理を行う検索装置に関するものであり、特に、検索用データベースの更新時に中断することなくデータ検索処理を実施する検索装置に関するものである。 The present invention relates to a search device that performs data search processing, and more particularly to a search device that performs data search processing without interruption when updating a search database.
通信ネットワークにおけるパケットのルーティングやパケット内の悪意あるコードの検出、データベース分野における文章中のキーワード検出など、検索処理は幅広い分野において多様な場面で利用されている。特に、近年の情報通信分野全般のデータ量の増大や処理の高度化に伴い、検索処理に、高速性,多機能性といったオンデマンドで動的なデータ解析が求められてきている。 Search processing is used in various fields in various fields, such as packet routing in communication networks, detection of malicious codes in packets, and keyword detection in sentences in the database field. In particular, with the recent increase in the amount of data and the advancement of processing in the information communication field in general, on-demand dynamic data analysis such as high speed and multi-functionality is required for search processing.
たとえば、下記特許文献1では、異なる回路を持った複数のFPGA(Field Programmable Gate Array)を搭載して、通信内容に応じこれらのFPGAを切り替えて使う機能を備えた通信制御装置が開示されている。この通信制御装置は、さらに、これら複数のFPGAの内部回路を書き換える手段を搭載することにより、通信を中断することなく制御回路の変更を行う機能を備えている。
For example, the following
また、下記非特許文献1では、テーブルのデータ構造によってはテーブル全体を並べなおす処理が必要となりテーブル更新の実行が難しいことを指摘している。そして、その回避方法として、活動(検索処理)が少ない期間まで更新処理を延期してテーブルを並べ替えている間は検索を停止する方法、同じテーブルを2つ用意する方法、の2つの方法を提案している。
しかしながら、上記特許文献1に記載の技術によれば、上記通信制御装置でパケット検索処理を行う場合、FPGAのメモリ内に保持している検索のためのデータベース変更についても、複数のFPGAにより冗長化構成をとる必要がある。そのため、データベースの変更を行っていないときにも、冗長なFPGAの数だけ余計に電力を消費するという問題があった。
However, according to the technique described in
また、上記非特許文献1記載の技術では、更新処理をおこなう時に処理を停止する必要があるため、突然検索パフォーマンスが低下するという問題があった。また、2つのテーブルを用意する方法では、検索パフォーマンスの問題は回避できるが、常時、使用していないテーブルのためにも電力を消費するという問題があった。
Further, the technique described in
本発明は、上記に鑑みてなされたものであって、検索処理を停止せずにデータベース更新を実現し、さらに、冗長化構成デバイスのための電力を消費することのない検索装置を得ることを目的とする。 The present invention has been made in view of the above, and achieves a database update without stopping a search process, and further obtains a search apparatus that does not consume power for a redundant configuration device. Objective.
上述した課題を解決し、目的を達成するために、本発明は、検索キー情報に基づき検索用データベースを検索する機能を有する検索装置であって、複数の演算器およびメモリで構成され、各構成要素に対するコンフィグレーションデータである設定情報に基づいて内部構成を構築して動作する演算手段と、前記検索用データベースを格納するためのメモリと、前記検索機能を実現する検索処理回路と、を含む内部構成を構築するための複数の設定情報を記憶し、指定された設定情報を前記演算手段に送出する設定情報変更手段と、外部から検索用データベースの更新要求があった場合に、前記演算手段に対して内部構成変更指示を通知する制御手段と、を備え、前記演算手段は、検索処理のみを実行する期間については、特定の設定情報に基づく内部構成により1つのメモリと検索処理回路を稼動させ、前記内部変更指示を受け取った場合または自身で検索用データベースの更新を検出した場合には、前記検索中のメモリ以外の他のメモリに対して更新された検索用データベースを書き込み、さらに、前記特定の設定情報以外の他の設定情報に基づいて、前記検索処理を維持しつつ更新後の検索用データベースに対する検索処理を実行可能な内部構成に変更し、前記データベースの更新に応じて内部構成を遷移しながら検索処理を継続することを特徴とする。 In order to solve the above-described problems and achieve the object, the present invention is a search device having a function of searching a search database based on search key information, and includes a plurality of arithmetic units and memories. An internal unit that includes a calculation unit that operates by constructing an internal configuration based on setting information that is configuration data for an element, a memory that stores the search database, and a search processing circuit that implements the search function A plurality of setting information for constructing a configuration is stored, setting information changing means for sending designated setting information to the calculating means, and when there is a search database update request from the outside, the calculating means Control means for notifying an internal configuration change instruction to the calculation means, and the calculation means is based on specific setting information for a period during which only the search processing is executed. When one internal memory and a search processing circuit are operated depending on the internal configuration and the internal change instruction is received or when an update of the search database is detected by itself, the memory other than the memory being searched The search database updated in this way is written, and the search process for the updated search database can be executed while maintaining the search process based on setting information other than the specific setting information. The search process is continued while changing the internal configuration according to the update of the database.
この発明によれば、書き換え可能なプロセッサ上でデータベース更新時だけ論理的な冗長回路構成をとることにより、電力の消費を抑えた上で無瞬断な検索機能を提供するという効果を奏する。 According to the present invention, it is possible to provide a search function without interruption while suppressing power consumption by adopting a logical redundant circuit configuration on a rewritable processor only when updating a database.
以下に、本発明にかかる検索装置,検索方法およびデータ処理装置の実施の形態を図面に基づいて詳細に説明する。なお、以下に示す実施の形態によりこの発明が限定されるものではない。 Embodiments of a search device, a search method, and a data processing device according to the present invention will be described below in detail with reference to the drawings. The present invention is not limited to the embodiments described below.
実施の形態1.
図1は、本発明にかかる検索装置の実施の形態1のネットワーク構成を示す図である。本実施の形態では、本発明にかかる検索装置,データ処理装置として、ルータに実装されるデバイスを例として説明する。
FIG. 1 is a diagram showing a network configuration of a first embodiment of a search device according to the present invention. In the present embodiment, a device mounted on a router will be described as an example of a search device and a data processing device according to the present invention.
図1に示すように、本実施の形態1のネットワークは、ルータ1,PC端末2,インターネット3,サーバー群4,アクセスポイント5,無線端末6,イントラネット7,制御PC8,制御リンク9,リンク10で構成されている。ルータ1は、インターネット3,イントラネット7,サーバー群4とそれぞれリンク10により接続されており、ネットワーク間のパケットの転送などを行う。アクセスポイント5は、リンク10を介してインターネット3、またはイントラネット7に接続されている。PC端末2はリンク10を介して、無線端末6はアクセスポイント5を介して、それぞれ端末間の相互通信を行う。また制御PC8は、ルータ1と制御リンク9によって接続されており、ルータ1に対してデータベース更新用のデータ送信などを行う。
As shown in FIG. 1, the network of the first embodiment includes a
図2は、図1で示したルータ1の機能構成例を示す図である。図2に示すように、ルータ1は、送受信ユニット11,転送ユニット12,デバイス13,外部メモリ14,コントローラ15で構成される。送受信ユニット11と転送ユニット12とは転送経路21で、転送ユニット12とデバイス13とは検索経路22で、それぞれ接続されており、デバイス13,外部メモリ14,コントローラ15は、外部バス接続線24を介して外部バス23に接続されている。
FIG. 2 is a diagram illustrating a functional configuration example of the
つづいて、各構成要素の機能について述べる。送受信ユニット11は、インターネット3,サーバー群4,イントラネット7にそれぞれリンク10で接続されている。図3は、Ethernet(登録商標)フレームを説明する図である。送受信ユニット11は、リンク10から受信した図3のEthernet(登録商標)フレーム100からMAC(Media Access Control)ヘッダ101とFCS(Frame Check Sequence)103を取り除いたIPv4パケット102を転送ユニット12に転送し、また、転送ユニット12から送られたIPv4パケット102に、MACヘッダ101とFCS103を付加してリンク10に送信する。
Next, the function of each component will be described. The transmission /
転送ユニット12は、受信したフレームから、そのフレームの転送に必要なルーティング情報を得るための検索処理に必要な情報(以下、検索キー情報とよぶ)を抽出し、検索経路22を介してデバイス13へ検索キー情報を送る。また、デバイス13から検索経路22を介して検索結果(ルーティング情報)を受け取り、上記の受信したフレームをその検索結果に基づき送受信ユニット11へ転送経路21を使い転送する。
The
本実施の形態においては、検索キー情報は、ネットワーク層(IPv4)のヘッダに含まれる宛先アドレス送信元アドレス,プロトコル,トータル長,識別子,フラグ,フラグメントオフセットと、トランスポート層(TCPまたはUDP)のヘッダに含まれる宛先ポート番号,送信元ポート番号,シーケンス番号(TCPの場合のみ)と、を含むものとする。以下、図3〜6を用いて検索キー情報を説明する。 In the present embodiment, the search key information includes the destination address transmission source address, protocol, total length, identifier, flag, fragment offset, and transport layer (TCP or UDP) included in the network layer (IPv4) header. A destination port number, a transmission source port number, and a sequence number (only in the case of TCP) included in the header are included. Hereinafter, the search key information will be described with reference to FIGS.
図3のように、IPv4ヘッダ104,TCPヘッダ105,UDPヘッダ106はEthernet(登録商標)フレーム100にカプセル化されている。
As shown in FIG. 3, the
図4は、ネットワーク層のヘッダであるIPv4のヘッダのフォーマットを示している。IPv4ヘッダの先頭から3バイト目にTOSフィールド(TOS)201、4バイト目にトータル長(Total Length)202、5バイト目に識別子(Identification)203、7バイト目のうち上位3ビットがフラグ(Flag)204であり、7バイト目の下位5ビットと8バイト目がフラグメントオフセット(Fragment Offset)205、10バイト目にプロトコル(Protocol)206、13バイト目に送信元IPアドレス(Source Address)207、17バイト目に宛先IPアドレス(Destination Address)208が位置している。
FIG. 4 shows a format of an IPv4 header which is a network layer header. The TOS field (TOS) 201 in the third byte from the beginning of the IPv4 header, the
図5は、トランスポート層のヘッダであるTCPヘッダのフォーマットを示している。TCPヘッダの先頭から1バイト目に送信元ポート番号(Source Port)301、3バイト目に宛先ポート番号(Destination Port)302、5バイト目にシーケンス番号(Sequence Number)303、9バイト目に確認応答番号(Acknowledgement Number)304が位置している。
FIG. 5 shows a format of a TCP header which is a transport layer header.
図6は、トランスポート層のヘッダであるUCPヘッダのフォーマットを示している。UDPヘッダの1バイト目に送信元ポート番号(Source Port)401、3バイト目に宛先ポート番号(Destination Port)402が位置している。 FIG. 6 shows a format of a UCP header which is a transport layer header. The source port number (Source Port) 401 is located in the first byte of the UDP header, and the destination port number (Destination Port) 402 is located in the third byte.
なお、本実施の形態では、ネットワーク層のプロトコルとしてIPv4を用い、また、トランスポート層のプロトコルとして、TCPまたはUDPを用いる場合について説明したが、本発明がこれらプロトコルに限定されるものではない。たとえば、ネットワーク層のプロトコルがIPv6であってもよいし、トランスポート層のプロトコルがRDPであってもよい。また、本実施の形態では、パケットのトレーラーとしてEthernet(登録商標)フレームを用いた場合について説明するが、Ethernet(登録商標)フレームに限定されるものではない。たとえば、ATM(Asynchronous Transfer Mode)またはFDDI(Fiber-Distributed Data Interface)などを用いた場合にも同様に実施できる。 In this embodiment, IPv4 is used as the network layer protocol and TCP or UDP is used as the transport layer protocol. However, the present invention is not limited to these protocols. For example, the network layer protocol may be IPv6, and the transport layer protocol may be RDP. In this embodiment, the case where an Ethernet (registered trademark) frame is used as a packet trailer will be described. However, the present invention is not limited to the Ethernet (registered trademark) frame. For example, the present invention can be similarly implemented when ATM (Asynchronous Transfer Mode) or FDDI (Fiber-Distributed Data Interface) is used.
また、上記の検索キー情報の項目は一例であり、ルーティング情報を検索できる情報であれば、これに限らない。検索方法やプロトコルによっては、上記の検索キー情報の項目の一部を用いない場合もあり、また、上記以外の項目が含まれることもある。 Moreover, the item of said search key information is an example, and if it is the information which can search routing information, it will not restrict to this. Depending on the search method and protocol, some of the search key information items may not be used, and items other than the above may be included.
デバイス13は、外部メモリ14に記憶されたデータベースを外部バス23および外部バス接続線24を介して取得し、検索経路22から送出された検索キー情報を検索キーとして、データベースに対して検索処理を行い、検索結果としてルーティング情報を得る。そして、デバイス13は、検索結果を検索経路22を介して転送ユニット12に通知する。
The
外部メモリ14は、制御PC8から制御リンク9を介して送られたデータベースを記憶している。データベースは、検索キー情報を用いて、ルーティング情報を検索するためのもので、検索キー情報とルーティング情報の対応が含まれているものとする。
The
コントローラ15は、制御リンク9を介して制御PC8から送られるなどルータ1の外部からのデータを、ルータ1内の外部バス23で用いるデータフォーマットに変換する。
The
図7は、図2のデバイス13の機能構成例を示す図である。図7に示すように、デバイス13は、演算ユニット31,プロセッサ32,設定情報変更ユニット33で構成されている。演算ユニット31は、検索経路22と接続している。内部バス34は、外部バス接続線24と内部バス接続線35に接続し、デバイス13の外部とのデータ入出力を行う。設定情報変更ユニット33は、設定情報通知線36により、それぞれ演算ユニット31とプロセッサ32に接続されている。また、プロセッサ32と演算ユニット31は、接続線37で接続されている。
FIG. 7 is a diagram illustrating a functional configuration example of the
つづいて、各構成要素の機能について説明する。演算ユニット31は、多数の演算器およびメモリで構成されている。演算ユニット31は、設定情報変更ユニット33から、内部に記憶されている設定情報を受け取り、各演算器およびメモリに対してこの設定情報を反映することにより、設定情報に基づく内部構成を構築して動作する。
Next, the function of each component will be described. The
設定情報とは、演算ユニット31に実装されている演算器,メモリ等の各構成要素に対する、設定が必要な定数値、各演算器での算術演算指定および論理演算指定、各構成要素間の配線接続情報などを格納したコンフィギュレーションデータである。
The setting information is a constant value that needs to be set for each component such as an arithmetic unit and a memory mounted on the
プロセッサ32は、デバイス13全体の動作の制御を行うとともに、設定情報通知線36を通じて設定情報変更ユニット33に対して設定情報を送出し、設定情報の登録指示,設定情報の変更指示をおこなう。
The
設定情報変更ユニット33は、プロセッサ32から送出された設定情報を受け取り、プロセッサ32からの登録指示に従って設定情報を登録する(記憶する)。また、プロセッサ32から、設定情報の変更指示があった場合には、その指示に基づき内部に記憶されている設定情報を変更する。設定情報は複数記憶可能とする。また、設定情報変更ユニット33は、プロセッサ32または演算ユニット31から設定情報送出の指示があると、演算ユニット31に対して指示された設定情報を送出する。
The setting
つづいて、デバイス13の設定情報に基づく内部構成について例をあげて説明する。なお、本実施の形態では一例として2つの検索回路を持つ場合について説明するが、2つに限定されるものではない。以下、3種類の設定情報(第1の設定情報,第2の設定情報,第3の設定情報)に対応する3種類の内部構成について説明する。
Next, an internal configuration based on the setting information of the
図8は、第1の設定情報に基づいた演算ユニット31の内部構成の一例を示す図である。演算ユニット31は、第1の設定情報に基づいた場合、演算ユニット31内のメモリおよび演算器を用いて、図8に示すように、第1の検索処理回路42,選択回路41,RAM更新回路43,第1の内蔵RAM44,第2の内蔵RAM45,多重化回路47で構成される。また、回路接続線51は選択回路41と第1の検索処理回路42を接続し、回路接続線52は第1の検索処理回路42と多重化回路47を接続し、信号線53はRAM更新回路43から選択回路41への信号を伝送する。
FIG. 8 is a diagram illustrating an example of the internal configuration of the
選択回路41は、RAM更新回路43から信号線53を介して送られる、または、プロセッサ32から接続線37を介して送られる内部構成変更指示に基づき、検索処理を行う回路(検索キー情報の出力先経路)を選択する回路である。選択回路41は、上記の検索回路変更指示があると、第1の検索処理回路42から後述する第2の検索処理回路46へ、または、第2の検索処理回路46から第1の検索処理回路42に、それぞれ切替えることにより、検索キー情報の出力先を選択する回路である。
The
第1の検索処理回路42は、選択回路41から入力された検索キー情報を検索キーとして、第1の内蔵RAM44に格納されているデータベースに対して検索処理を行い、検索結果を回路接続線52経由で検索経路22へ出力する回路である。
The first
RAM更新回路43は、外部バス接続線24,外部バス23,内部バス接続線35を経由して外部メモリ14に記憶されているデータベースをとりこみ、第1の内蔵RAM44、または第2の内蔵RAM45へ書き込む回路である。
The RAM update circuit 43 takes in the database stored in the
第1の内蔵RAM44,第2の内蔵RAM45は、RAM更新回路43から送られたデータベースを検索のためのデータベースとして保存するメモリである。検索キーの項目をアドレスとし、その項目に対応する経路情報をそのアドレスの位置の値として記憶している。第1の内蔵RAM44は第1の検索処理回路42から入力される検索キー情報を、第2の内蔵RAM45は第2の検索処理回路46から入力される検索キー情報を、それぞれアドレスとして、該当アドレスに記憶されている値(経路情報)を、それぞれ検索キー情報が入力された第1の検索処理回路42または第2の検索処理回路46に検索結果として出力する。
The first built-in
多重化回路47は、第1の検索処理回路42または第2の検索処理回路46から出力された検索結果を多重化して検索経路22に出力する。
The multiplexing
図9は、第2の設定情報に基づいた演算ユニット31内部構成の一例を示す図である。演算ユニット31は、第1の設定情報に基づいた場合、演算ユニット31内のメモリおよび演算器を用いて、図9に示すように、第1の検索処理回路42,選択回路41,RAM更新回路43,第1の内蔵RAM44,第2の内蔵RAM45,多重化回路47,第2の検索処理回路46で構成される。また回路接続線51は選択回路41と第1の検索回路42を接続し、回路接続線52は第1の検索処理回路42と多重化回路47を接続し、信号線53はRAM更新回路から選択回路43への信号を伝送し、回路接続線54は選択回路41と第2の検索回路46を接続し、回路接続線55は第2の検索回路46と多重化回路47を接続する。
FIG. 9 is a diagram illustrating an example of the internal configuration of the
図9の第1の検索処理回路42,選択回路41,RAM更新回路43,第1の内蔵RAM44,第2の内蔵RAM45については、第1の設定情報で構成される図8と同様であるため同一の符号を付して説明を省略する。
The first
第2の検索処理回路46は、選択回路41から入力された検索キー情報を検索キーとして、第2の内蔵RAM45に格納されているデータベースに対して検索処理を行い、検索結果を回路接続線52経由で検索経路22へ出力する回路である。
The second
図10は、第3の設定情報基づいた演算ユニット31内部構成の一例を示す図である。演算ユニット31は、第3の設定情報に基づいた場合、演算ユニット31内のメモリおよび演算器を用いて、図10に示すように、選択回路41,RAM更新回路43,第1の内蔵RAM44,第2の内蔵RAM45,多重化回路47,第2の検索処理回路46で構成される。また、信号線53はRAM更新回路から選択回路43への信号を伝送し、回路接続線54は選択回路41と第2の検索回路46を接続し、回路接続線55は第2の検索回路46と多重化回路47を接続する。
FIG. 10 is a diagram illustrating an example of the internal configuration of the
図10の各構成要素は、第1の設定情報で構成される図8、または第2の設定情報で構成される図9と同様であるため同一の符号を付して説明を省略する。 Each component in FIG. 10 is the same as that in FIG. 8 configured by the first setting information or FIG. 9 configured by the second setting information, and thus the same reference numerals are given and description thereof is omitted.
つづいて、本実施の形態の検索動作中におけるデータベース更新方法について述べる。なお、本実施の形態では、第1の設定情報に基づく内部構成(図8参照)を演算ユニット31での初期動作状態として説明するが、第3の設定情報に基づく内部構成(図10参照)を初期状態としてもよい。また、初期状態として、第1の内蔵RAM44,第2の内蔵RAM45には、検索に使用する任意のデータベースが記憶されているものとする。設定情報変更ユニット33には、前述の第1の設定情報,第2の設定情報,第3の設定情報が記憶されているものとする。
Next, a database update method during the search operation of this embodiment will be described. In the present embodiment, the internal configuration based on the first setting information (see FIG. 8) will be described as the initial operation state in the
まず、データベース更新前の初期状態を説明する。演算ユニット31は、第1の設定情報に基づき図8の内部構成をとっている。選択回路41は、検索経路22から検索キー情報が入力されると、回路接続線51を経由して第1の検索処理回路42に検索キー情報を出力する。第1の検索処理回路42は、入力された検索キー情報を用いて、第1の内蔵RAM44に記憶されているデータベースの検索を行い、検索結果を多重化回路47に出力する。多重化回路47は、その検索結果を多重化し、回路接続線52経由および検索経路22経由で転送ユニット12に出力する。
First, the initial state before database update will be described. The
つぎに、制御PC8が、変更した新データベースのデータを制御リンク9経由でルータ1に送る。データベースの更新は、たとえば、制御PC8が、ルータ1が関係するネットワークの状態から、転送経路の変更や追加,削除が必要と判断した場合に行われる。コントローラ15は、制御リンク9から送出された新データベースを、制御リンク9で用いられているデータフォーマットから外部バス23で用いるデータフォーマットに変換し、外部バス接続線24経由で外部メモリ14に出力する。そして、外部メモリ14は、この新データベースを記憶する。
Next, the
つぎに、制御PC8は、ルータ1内のデバイス13内のプロセッサ32に内部構成変更指示を送る。プロセッサ32は、この内部構成変更指示を受信すると、接続線37経由で演算ユニット31の選択回路41と、RAM更新回路43に内部構成変更指示を送出する。
Next, the
RAM更新回路43は、内部構成変更指示を受信すると、内部バス接続線35,内部バス34,外部バス接続線24,外部バス23経由で外部メモリ14に記憶されている新データベースを読み出して、第2の内蔵RAM45に読み出した新データベースを書き込む。そして、第2の内蔵RAM45への新データベースの書き込みが終了すると、設定情報通知線36を介して設定情報変更ユニット33に対して、第2の設定情報への変更を指示する。設定情報変更ユニット33は、記憶している第2の設定情報をよみだし、演算ユニット31に第2の設定情報を送出する。
When the RAM update circuit 43 receives the internal configuration change instruction, the RAM update circuit 43 reads the new database stored in the
なお、制御PC8が内部構成変更指示を送出せずに、RAM更新回路43が、外部メモリ14をポーリングし、外部メモリ14に記憶されているデータベースの変更を検出した場合に、内部構成変更指示を送出するようにしてもよい。この場合、RAM更新回路43は、外部メモリ14に記憶されているデータベースの変更を検出すると、外部メモリ14から新データベースを読み出して、第2の内蔵RAM45に読み出した新データベースを書き込み、信号線53経由で選択回路41に対して内部構成変更指示を送出する。そして、第2の内蔵RAM45への新データベースの書き込みが終了すると、設定情報通知線36を介して設定情報変更ユニット33に対して、第2の設定情報への変更を指示する。設定情報変更ユニット33は、記憶している第2の設定情報を読み出し、演算ユニット31に第2の設定情報を送出する。
If the
そして、演算ユニット31は、設定情報変更ユニット33から受け取った第2の設定情報をロードし、第2の設定情報に基づいた内部回路など(図9に示した内部構成)を構成する。そして、選択回路41は、プロセッサ32またはRAM更新回路43からへ送られた内部構成変更指示により、検索キー情報の送出先を第1の検索処理回路42から第2の検索処理回路46に切替える。この切替えが終了すると、第2の検索処理回路46が、第2の内蔵RAM45に保持されている新データベースに対して検索処理を行い、検索結果を多重化回路47に出力する。多重化回路47は、その検索結果を多重化し、回路接続線52経由および検索経路22経由で転送ユニット12に出力する。
Then, the
なお、選択回路41の検索キー情報の送出先切替えは、切替えにより検索キー情報が途中で切れて検索処理回路に送られないように、検索キー情報の切れ目で行うこととする。
Note that the search key information transmission destination of the
次に、プロセッサ32は、演算ユニット31が第2の設定情報をロードしたことを検出すると、その時点から、第1の検索処理回路42で検索処理中だった検索キー情報に対する検索結果が検索経路22より出力されるまで、の時間程度の所定時間経過後に、設定情報変更ユニット33に対して第3の設定情報への変更指示を送出する。そして、設定情報変更ユニット33は、記憶されている第3の設定情報を読み出し、演算ユニット31に出力する。
Next, when the
なお、プロセッサ32が第2の設定情報をロードしたことを検出するかわりに、選択回路41がRAM更新回路43から内部構成変更指示を受け取り、その時点から、第1の検索処理回路42で検索処理中だった検索キー情報に対する検索結果が検索経路22より出力されるまで、の時間程度の所定時間経過後に、選択回路41が設定情報変更ユニット33に対して第3の設定情報への変更指示を送出するようにしてもよい。
Instead of detecting that the
つぎに、演算ユニット31は、設定情報変更ユニット33から受け取った第3の設定情報をロードし、第3の設定情報に基づいた内部回路など(図9に示した内部構成)を構成する。そして、制御PCが、次のデータベース変更を行うまで、検索キー情報に対して第2の検索処理回路46を使って検索処理を行う。
Next, the
このように、本実施の形態では、演算ユニット31の内部構成を設定情報に基づいて複数用意し、データベースの更新時のみ2つの検索回路と検索用メモリを備え、検索処理のみを行っている間は、2つの検索回路のうち1つのみを稼動させるようにした。このため、検索動作中であっても検索動作を停止せずにデータベースの変更ができ、かつ、使用していない構成品のために電力を消費しないため、従来のFPGAを切替える方式に比べ消費電力を削減することができる。
As described above, in the present embodiment, a plurality of internal configurations of the
実施の形態2.
図11は、本発明にかかる検索装置の実施の形態2の第3の設定情報に基づいた演算ユニット31aの構成例を示す図である。本実施の形態においても検索装置としてルータに実装されているデバイスを例として説明する。本実施の形態のルータは、実施の形態1の図2のルータ1と同様であり、ネットワーク構成も図1の実施の形態1と同様である。また、本実施の形態のデバイスの機能構成については、制御ユニット31を制御ユニット31aに置き換えた以外、図7に示す実施の形態1と同様である。すなわち、本実施の形態と実施の形態1では、設定情報によりロードされる演算ユニット31aの内部構成が異なる。以下、実施の形態1と同様の部分については、説明を省略し、実施の形態1と異なる部分について説明する。また、実施の形態1と同様の機能のものは、同一の符号を付して説明する。
FIG. 11 is a diagram showing a configuration example of the
図11は、第4の設定情報に基づいた演算ユニット31aの内部構成である。演算ユニット31aは、第4の設定情報に基づいた場合、演算ユニット31a内のメモリおよび演算器を用いて、図11に示すように、第1の検索処理回路42,選択回路41,第1の内蔵RAM44,第2の内蔵RAM45,多重化回路47で構成される。実施の形態1の第1の設定情報に基づいた内部構成(図8参照)との相違点は、RAM更新回路43がない点である。実施の形態1と同様の機能のものについては、同一の番号を付して説明を省略する。
FIG. 11 shows an internal configuration of the
図12は、第5の設定情報に基づいた演算ユニット31aの内部構成である。演算ユニット31aは、第5の設定情報に基づいた場合、演算ユニット31a内のメモリおよび演算器を用いて、図12に示すように、選択回路41,第1の内蔵RAM44,第2の内蔵RAM45,多重化回路47,第2の検索処理回路46で構成される。実施の形態1の第2の設定情報に基づいた内部構成(図10参照)との相違点は、RAM更新回路43がない点である。実施の形態1と同様の機能のものについては、同一の番号を付して説明を省略する。
FIG. 12 shows the internal configuration of the
つづいて、本実施の形態の検索動作中におけるデータベース更新方法について説明する。なお、本実施の形態では、第4の設定情報に基づく内部構成(図11参照)を演算ユニット31での初期動作状態として説明するが、第5の設定情報に基づく内部構成(図12参照)を初期状態としてもよい。また、初期状態として、第1の内蔵RAM44,第2の内蔵RAM45には、検索に使用する任意のデータベースが記憶されているものとする。設定情報変更ユニット33には、前述の第4の設定情報,第5の設定情報と、実施の形態1で説明した第2の設定情報が記憶されているものとする。
Next, a database update method during the search operation of the present embodiment will be described. In the present embodiment, the internal configuration based on the fourth setting information (see FIG. 11) will be described as the initial operation state in the
まず、データベース更新前の初期状態を説明する。演算ユニット31aは、第4の設定情報に基づき図11に示す内部構成をとっている。選択回路41は、検索経路22から検索キー情報が入力されると、回路接続線51を経由して第1の検索処理回路42に検索キー情報を出力する。第1の検索処理回路42は、入力された検索キー情報を用いて、第1の内蔵RAM44に記憶されているデータベースの検索を行い、検索結果を多重化回路47に出力する。多重化回路47は、その検索結果を多重化し、回路接続線52経由および検索経路22経由で転送ユニット12に出力する。
First, the initial state before database update will be described. The
ここで、本実施の形態では、実施の形態1と異なり、データベースの変更が行われていないとき(検索処理のみを行っているとき)には、RAM更新回路43を取り除いているので、RAM更新回路43を動作させるために定常的に消費されていた電力を削減することができる。 In this embodiment, unlike the first embodiment, the RAM update circuit 43 is removed when the database is not changed (only the search process is performed). It is possible to reduce the power that is constantly consumed to operate the circuit 43.
つぎに、制御PC8が、変更した新データベースのデータを制御リンク9経由でルータ1に送る。データベースの更新は、たとえば、制御PC8が、ルータ1が関係するネットワークの状態に基づいて、転送経路の変更や追加、削除が必要と判断した場合に行われる。コントローラ15は、制御リンク9から送出された新データベースを、制御リンク9で用いられているデータフォーマットから外部バス23で用いるデータフォーマットに変換し、外部バス接続線24経由で外部メモリ14に出力する。そして、外部メモリ14は、この新データベースを記憶する。
Next, the
つぎに、制御PC8は、ルータ1内のデバイス13内のプロセッサ32に内部構成変更指示を送る。プロセッサ32は、この内部構成変更指示を受信すると、設定情報通知線36を介して設定情報変更ユニット33に対して、実施の形態1の第1の設定情報への変更を指示する。第1の設定情報への変更指示後の第2のメモリに更新後のデータベースを書き込むまでの処理を実施の形態1と同様に行う。その後、設定情報通知線36を介して設定情報変更ユニット33に対して、第2の設定情報への変更を指示する。設定情報変更ユニット33は、記憶している第2の設定情報を読み出し、演算ユニット31に第2の設定情報を送出する。
Next, the
そして、演算ユニット31aは、設定情報変更ユニット33から受け取った第2の設定情報をロードし、第2の設定情報に基づいた内部回路など(実施の形態1の図9に示した内部構成)を構成する。そして、選択回路41は、プロセッサ32またはRAM更新回路43から送られた内部構成変更指示により、検索キー情報の送出先を第1の検索処理回路42から第2の検索処理回路46に切替える。この切替えが終了すると、第2の検索処理回路46が、第2の内蔵RAM45に保持されている新データベースに対して検索処理を行う。
Then, the
次に、プロセッサ32は、演算ユニット31が第2の設定情報をロードしたことを検出すると、その時点から、第1の検索処理回路42で検索処理中だった検索キー情報に対する検索結果が検索経路22より出力されるまで、の時間程度の所定時間経過後に、設定情報変更ユニット33に対して第3の設定情報への変更指示を送出する。そして、設定情報変更ユニット33は、記憶されている第3の設定情報を読み出し、演算ユニット31に出力する。
Next, when the
なお、プロセッサ32が第2の設定情報をロードしたことを検出するかわりに、選択回路41がRAM更新回路43から内部構成変更指示を受け取り、その時点から、第1の検索処理回路42で検索処理中だった検索キー情報に対する検索結果が検索経路22より出力されるまで、の時間程度の所定時間経過後に、選択回路41が設定情報変更ユニット33に対して第5の設定情報への変更指示を送出するようにしてもよい。
Instead of detecting that the
つぎに、演算ユニット31は、設定情報変更ユニット33から受け取った第5の設定情報をロードし、第5の設定情報に基づいた内部回路など(図12に示した内部構成)を構成する。そして、制御PC8が、次のデータベース変更を行うまで、検索キー情報に対して第2の検索処理回路46を使って検索処理が行われる。
Next, the
このように、本実施の形態では、データベース更新を行う動作時のみRAM更新回路43を備え、検索処理のみを行っている場合には、RAM更新回路43を備えない構成とした。このため、実施の形態1に比べ、検索処理操作における消費電力を削減することができる。 As described above, in this embodiment, the RAM update circuit 43 is provided only during the operation of performing database update, and the RAM update circuit 43 is not provided when only the search process is performed. For this reason, the power consumption in the search processing operation can be reduced compared to the first embodiment.
実施の形態3.
図13は、本発明の実施の形態3のルータ1bの機能構成例を示す図である。本実施の形態では、図1において、実施の形態1のルータ1と本実施の形態のルータ1bとを置き換え、さらに、ルータ1bにおいては、実施の形態1の転送ユニット12,デバイス13に代えてそれぞれ転送ユニット12b,デバイス13bを備えた構成としている。また、実施の形態1のデバイス13は、外部バス接続線24により外部バス23と接続されているが、本実施の形態のデバイス13bは、外部バス23とは接続されていない。これらの相違点以外は、実施の形態1と同様の構成とする。実施の形態1と同様の機能のものは、同一の符号を付して説明を省略する。
Embodiment 3 FIG.
FIG. 13 is a diagram illustrating a functional configuration example of the
図14は、デバイス13bの機能構成例を示す図である。本実施の形態のデバイス13bは、実施の形態1のデバイス13の演算ユニット31の代わりに演算ユニット31bを備え、それ以外は実施の形態1と同様である。実施の形態1と同様の機能のものは、同一の符号を付して説明を省略する。
FIG. 14 is a diagram illustrating a functional configuration example of the
本実施の形態では、転送ユニット12bは、実施の形態1の転送ユニット12と同様に、受信したフレームから検索キー情報を抽出するが、実施の形態1と異なり、抽出後に検索キー情報にヘッダを付加して、検索経路22経由でデバイス13bへ送る。また、転送ユニット12bは、外部バス23に外部バス接続線25を介して接続しており、制御PC8から内部構成変更指示を受けると、デバイス13bに対して検索キー情報に付加するヘッダ部分の特定フィールド(後述のRAM変更指示フィールド)を書き換えるよう指示する。
In the present embodiment, the
図15は、デバイス13bへ送られるヘッダ付検索キー情報500のフォーマットである。ヘッダ501は、RAM変更指示フィールド502を含む。なお、本実施の形態では、ヘッダ501はRAM変更指示フィールド502のみとして説明するが、ヘッダ501に、RAM更新指示フィールド502以外に回路の設定に関する情報を含めるようにしてもよい。
FIG. 15 shows the format of the search key information with
本実施の形態では、デバイス13bは、外部バス23と接続されていないため、プロセッサ32からの内部構成変更指示は、転送ユニット12bが付加する検索キー情報のヘッダに含まれるRAM変更指示フィールド502を用いて通知されることになる。
In the present embodiment, since the
つづいて、デバイス13bの設定情報に基づく内部構成について例をあげて説明する。
Next, an internal configuration based on the setting information of the
図16は、第6の設定情報に基づいた演算ユニット31bの内部構成の一例を示す図である。実施の形態1の第1の設定情報に基づく構成(図8参照)との相違点は、転送ユニット12bから送られるヘッダ付検索キー情報500のヘッダ解析を行うヘッダ解析回路48と、選択回路41とRAM更新回路43とを接続する信号線56が、追加されている点である。それ以外は、実施の形態1の第1の設定情報に基づく構成(図8参照)と同様である。実施の形態1の第1の設定情報に基づく構成と同様のものは、同一の番号を付して説明を省略する。
FIG. 16 is a diagram illustrating an example of the internal configuration of the
図17は、第7の設定情報に基づいた演算ユニット31bの内部構成の一例を示す図である。実施の形態1の第2の設定情報に基づく構成(図9参照)との相違点は、転送ユニット12bから送られるヘッダ付検索キー情報のヘッダ解析を行うヘッダ解析回路48と、選択回路41とRAM更新回路43とを接続する信号線56が、追加されている点である。それ以外は、実施の形態1の第2の設定情報に基づく構成(図9参照)と同様である。実施の形態1の第2の設定情報に基づく構成と同様のものは、同一の番号を付して説明を省略する。
FIG. 17 is a diagram illustrating an example of the internal configuration of the
図18は、第8の設定情報に基づいた演算ユニット31bの内部構成の一例を示す図である。実施の形態1の第3の設定情報に基づく構成(図10参照)との相違点は、転送ユニット12bから送られるヘッダ付検索キー情報500のヘッダ解析を行うヘッダ解析回路48と、選択回路41とRAM更新回路43とを接続する信号線56が、追加されている点である。それ以外は、実施の形態1の第3の設定情報に基づく構成(図10参照)と同様である。実施の形態1の第3の設定情報に基づく構成と同様のものは、同一の番号を付して説明を省略する。
FIG. 18 is a diagram illustrating an example of the internal configuration of the
つづいて、本実施の形態実施の検索動作中におけるデータベース更新方法について説明する。なお、本実施の形態では、第6の設定情報に基づく内部構成(図16参照)を演算ユニット31bでの初期動作状態として説明するが、第8の設定情報に基づく内部構成(図18参照)を初期状態としてもよい。また、初期状態として、第1の内蔵RAM44,第2の内蔵RAM45には、検索に使用する任意のデータベースが記憶されているものとする。設定情報変更ユニット33には、前述の第6の設定情報,第7の設定情報,第8の設定情報が記憶されているものとする。
Next, a database update method during the search operation according to the present embodiment will be described. In the present embodiment, the internal configuration based on the sixth setting information (see FIG. 16) will be described as the initial operation state in the
まず、データベース更新前の初期状態を説明する。演算ユニット31bは、第6の設定情報に基づき図16の内部構成をとっている。演算ユニット31bのヘッダ解析回路48は、検索経路22経由でヘッダ付検索キー情報500を受信すると、ヘッダ付検索キー情報500のうちヘッダ501の内容を解析する。そして、RAM更新指示フィールド502が、内部構成変更指示が無いことを示す値か有ることを示す値かを確認する。初期状態では、内部構成変更指示は無いため、RAM更新指示フィールド502には内部構成変更指示が無いことを示す値が書き込まれている。
First, the initial state before database update will be described. The
選択回路41は、検索経路22経由でヘッダ付検索キー情報500を受信すると、ヘッダ付検索キー情報500のうち検索キー情報503を、回路接続線51を経由して第1の検索処理回路42に出力する。第1の検索処理回路42は、入力された検索キー情報を用いて、第1の内蔵RAM44に記憶されているデータベースの検索を行い、検索結果を回路接続線52経由および検索経路22経由で転送ユニット12bに出力する。なお、検索経路22から入力されるヘッダ付き検索キー情報500は、前述のとおり転送ユニット12bでヘッダ501が付加されている。検索処理のみを行っている初期状態では、転送ユニット12bは、ヘッダ501のRAM変更指示フィールド502の値を内部構成変更指示が無いことを示す値としている。
Upon receiving the search key information with
つぎに、制御PC8が、変更した新データベースのデータを制御リンク9経由でルータ1bに送る。コントローラ15は、制御リンク9から送出された新データベースを、制御リンク9で用いられているデータフォーマットから外部バス23で用いるデータフォーマットに変換し、外部バス接続線24経由で外部メモリ14に出力する。そして、外部メモリ14は、この新データベースを記憶する。
Next, the
つぎに、制御PC8は、ルータ1b内の転送ユニット12bに内部構成変更指示を送る。転送ユニット12bは、この内部構成変更指示を受信すると、ヘッダ付検索キー情報500のRAM更新指示フィールド502の値を内部構成変更指示が有ることを示す値としてヘッダ501を付加したヘッダ付き検索キー情報500を生成する。そして、生成したヘッダ付き検索キー情報500を検索経路22経由でデバイス13bに送出する。
Next, the
つぎに、デバイス13bの演算ユニット31b内のヘッダ解析回路48が、検索経路22経由でヘッダ付検索キー情報500を受信し、ヘッダの解析を行う。そして、RAM更新指示フィールド502が、内部構成変更指示が有ることを示す値であることを確認すると、信号線56を使いRAM更新回路43に対して内部構成変更指示を送出する。
Next, the
選択回路41は、検索経路22経由でヘッダ付検索キー情報500を受信し、ヘッダ付検索キー情報500のうち検索キー情報503を、回路接続線51を経由して第1の検索処理回路42に出力する。第1の検索処理回路42は、入力された検索キー情報を用いて、第1の内蔵RAM44に記憶されているデータベースの検索を行い、検索結果を多重化回路47に出力する。多重化回路47は、その検索結果を多重化し、回路接続線52経由および検索経路22経由で転送ユニット12bに出力する。
The
つぎに、RAM更新回路43は、ヘッダ解析回路48から内部構成変更指示を受信すると、内部バス接続線35,内部バス34,外部バス接続線24,外部バス23経由で外部メモリ14に記憶されている新データベースを読み出して、第2の内蔵RAM45に読み出した新データベースを書き込み、信号線53経由で選択回路41に対して内部構成変更指示を行う。そして、第2の内蔵RAM45への新データベースの書き込みが終了すると、設定情報通知線36を介して設定情報変更ユニット33に対して、第7の設定情報への変更を指示する。設定情報変更ユニット33は、記憶している第7の設定情報を読み出し、演算ユニット31bに第7の設定情報を送出する。
Next, when the RAM update circuit 43 receives the internal configuration change instruction from the
つぎに、演算ユニット31bは、設定情報変更ユニット33から受け取った第7の設定情報をロードし、第7の設定情報に基づいた内部回路など(図17に示した内部構成)を構成する。そして、選択回路41は、RAM更新回路43から送られた内部構成変更指示により、検索キー情報の送出先を第1の検索処理回路42から第2の検索処理回路46に切替える。この切替えが終了すると、第2の検索処理回路46が、第2の内蔵RAM45に保持されている新データベースに対して検索処理を行う。
Next, the
つぎに、プロセッサ32は、演算ユニット31bが第7の設定情報をロードしたことを検出すると、その時点から、第1の検索処理回路42で検索処理中だった検索キー情報に対する検索結果が検索経路22より出力されるまで、の時間程度の所定時間経過後に、設定情報変更ユニット33に対して第8の設定情報への変更指示を送出する。そして、設定情報変更ユニット33は、記憶されている第8の設定情報を読み出し、演算ユニット31bに出力する。
Next, when the
なお、プロセッサ32が第7の設定情報をロードしたことを検出するかわりに、選択回路41がRAM更新回路43から内部構成変更指示を受け取り、その時点から、第1の検索処理回路42で検索処理中だった検索キー情報に対する検索結果が検索経路22より出力されるまで、の時間程度の所定時間経過後に、選択回路41が設定情報変更ユニット33に対して第8の設定情報への変更指示を送出するようにしてもよい。
Instead of detecting that the
つぎに、演算ユニット31bは、設定情報変更ユニット33から受け取った第8の設定情報をロードし、第8の設定情報に基づいた内部回路など(図18に示した内部構成)を構成する。そして、制御PCが次のデータベース変更を行うまで、検索キー情報に対して第2の検索処理回路46を使って検索処理を行う。
Next, the
このように、本実施の形態では、転送ユニット12bが検索キー情報にRAM更新フィールド502を含むヘッダ501を付加し、RAM更新フィールド502の値により、内部構成変更を指示するようにした。このため、外部バス23を介さずにデバイス13bに内部構成変更を指示することができる。
As described above, in this embodiment, the
実施の形態4.
図19は、本発明の実施の形態4のルータ1cの機能構成例を示す図である。本実施の形態では、図1において、実施の形態1のルータ1と本実施の形態のルータ1cとを置き換え、さらに、ルータ1cにおいては、前述した実施の形態3に検索FIFO16を追加し、デバイス13bの代わりにデバイス13cを備えた構成としている。また、実施の形態3の検索経路22の代わりに、デバイス13bと検索FIFO16を接続する検索経路26,検索FIFO16と転送ユニット12bを接続する検索経路27、を追加している。これらの相違点以外は、実施の形態3と同様の構成とする。実施の形態1または3と同様の機能のものは、同一の符号を付して説明を省略する。
Embodiment 4 FIG.
FIG. 19 is a diagram illustrating a functional configuration example of the router 1c according to the fourth embodiment of the present invention. In the present embodiment, the
本実施の形態では、実施の形態3と同様に、転送ユニット12bは、受信フレームから抽出した検索キー情報にヘッダ501を付加したヘッダ付検索キー情報500を生成する。本実施の形態のヘッダ付検索キー情報500のフォーマットおよびその内容は、図15に示す実施の形態3と同様である。
In the present embodiment, as in the third embodiment, the
本実施の形態では、転送ユニット12bで生成されたヘッダ付検索キー情報500は、検索経路26を経由して、検索FIFO16を通過した後に、デバイス13cへ出力される。また、デバイス13cからの検索結果は検索経路27を経由して転送ユニット12bに出力される。
In the present embodiment, the search key information with
本実施の形態では、データベース更新中と通常の検索処理のみを行っているときの検索処理能力の比率が、1:2となる。検索FIFO16は、デバイス13cにおける検索処理能力が通常の検索処理より低下するデータベース更新中に、検索キー情報の処理溢れを防ぐための記憶手段である。検索FIFO16は、転送ユニット12bから出力されるヘッダ付検索キー情報500を順次記憶し、デバイス13cにヘッダ付検索キー情報500を記憶された順に出力する。検索処理能力の低下によるヘッダ付検索キー情報500の処理溢れを防ぐために、検索FIFO16は、たとえば、出力したヘッダ付検索キー情報500からの検索結果の出力が停止した場合には、ヘッダ解析回路48へのヘッダ付検索キー情報500の出力を停止し、検索結果の出力開始まで出力されていないヘッダ付検索キー情報500を保持する。
In this embodiment, the ratio of the search processing capability when the database is being updated and when only normal search processing is being performed is 1: 2. The
つづいて、デバイス13cの設定情報に基づく内部構成について例をあげて説明する。なお、また、本実施の形態のデバイス13cの機能構成は、実施の形態3の演算ユニット31bを演算ユニット31cに代える点以外は実施の形態3と同様とする。
Next, an internal configuration based on the setting information of the
図20は、第9の設定情報に基づいた演算ユニット31cの内部構成の一例を示す図である。図20の構成は、実施の形態3の第7の設定情報に基づいた構成(図17参照)において、選択回路41を分配回路49に代えたものである。
FIG. 20 is a diagram illustrating an example of the internal configuration of the
分配回路49は、入力された検索キー情報503を第1の検索処理回路42または第2の検索処理回路46にラウンドロビン方式で出力する。
The
図21は、第10の設定情報に基づいた演算ユニット31cの内部構成の一例を示す図である。図21の構成は、実施の形態3の第6の設定情報に基づいた構成(図16参照)において、選択回路41を分配回路49に代えたものである。
FIG. 21 is a diagram illustrating an example of the internal configuration of the
図22は、第11の設定情報に基づいた演算ユニット31cの内部構成の一例を示す図である。図22の構成は、実施の形態3の第8の設定情報に基づいた構成(図18参照)において、選択回路41を分配回路49に代えたものである。
FIG. 22 is a diagram illustrating an example of the internal configuration of the
つづいて、本実施の形態の検索動作中におけるデータベース更新方法について述べる。なお、本実施の形態では、一例として、データベースの更新の際に、第9の設定情報(図20参照)⇒第10の設定情報(図21参照)⇒第9の設定情報(図20参照)⇒第11の設定情報(図22参照)の順でロードする手順を説明するが、第9の設定情報(図20参照)⇒第11の設定情報(図22参照)⇒第9の設定情報(図20参照)⇒第10の設定情報(図21参照)の順でロードしてもよい。また、初期状態として、第1の内蔵RAM44,第2の内蔵RAM45には、検索に使用する任意の同一のデータベースが記憶されているものとする。設定情報変更ユニット33には、前述の第9の設定情報,第10の設定情報,第11の設定情報が記憶されているものとする。
Next, a database update method during the search operation of this embodiment will be described. In the present embodiment, as an example, when updating the database, the ninth setting information (see FIG. 20) ⇒ the tenth setting information (see FIG. 21) ⇒ the ninth setting information (see FIG. 20). ⇒ The procedure for loading in the order of eleventh setting information (see FIG. 22) will be described, but the ninth setting information (see FIG. 20) ⇒ eleventh setting information (see FIG. 22) ⇒ ninth setting information ( The load may be performed in the order of the tenth setting information (see FIG. 21). As an initial state, it is assumed that the first built-in
まず、データベース更新前の初期状態を説明する。演算ユニット31cは、第9の設定情報に基づき図20の内部構成をとっている。演算ユニット31cのヘッダ解析回路48は、検索経路22経由でヘッダ付検索キー情報500を受信すると、ヘッダ501の解析を行う。そして、RAM更新指示フィールド502が、内部構成変更指示が無いことを示す値であることを確認する。
First, the initial state before database update will be described. The
分配回路49は、ヘッダ解析回路48から出力された検索キー情報503を、ラウンドロビン方式により、回路接続線51を経由して第1の検索処理回路42へ、または、回路接続線54を経由して第2の検索処理回路46へ出力する。第1の検索処理回路42,第2の検索処理回路46は、分配回路49から出力された検索キー情報503を用いて、それぞれ第1の内蔵RAM44,第2の内蔵RAM45に記憶されているデータベースの検索を行い、検索結果を多重化回路47に出力する。多重化回路47は、第1の検索処理回路42,第2の検索処理回路46から出力された検索結果を多重化し、検索経路27経由で転送ユニット12bに出力する。
The
ここで、実施の形態3との違いは、第9の設定情報に基づいた内部構成として、第1の検索処理回路42と第2の検索処理回路46の2つの検索回路を使用することであり、この違いにより、検索処理能力を実施の形態1〜3の2倍にすることができる。
Here, the difference from the third embodiment is that two search circuits of the first
つぎに、制御PC8が、変更した新データベースのデータを制御リンク9経由でルータ1cに送る。コントローラ15は、制御リンク9から送出された新データベースを、制御リンク9で用いられているデータフォーマットから外部バス23で用いるデータフォーマットに変換し、外部バス接続線24経由で外部メモリ14に出力する。そして、外部メモリ14は、この新データベースを記憶する。
Next, the
つぎに、制御PC8は、ルータ1c内の転送ユニット12bに内部構成変更指示を送る。転送ユニット12bは、この内部構成変更指示を受信すると、ヘッダ付検索キー情報500のRAM更新指示フィールド502の値を内部構成変更指示があることを示す値としてヘッダ501を付加したヘッダ付検索キー情報500を生成する。そして、生成したヘッダ付検索キー情報500を検索経路26および検索FIFO16を経由してデバイス13cに出力する。
Next, the
つぎに、デバイス13cの演算ユニット31c内のヘッダ解析回路48は、検索経路26経由でヘッダ付検索キー情報500を受信すると、ヘッダ501の解析を行う。そして、ヘッダ501のうちRAM更新指示フィールド502が、内部構成変更指示が有ることを示す値であることを確認すると、信号線56を使い分配回路49に対して検索キーの分配停止指示を送出する。
Next, when the
分配回路49は、検索経路26経由でヘッダ付検索キー情報500を受信すると、ヘッダ付検索キー情報500のうち検索キー情報503を、ラウンドロビン方式により、回路接続線51を経由して第1の検索処理回路42へ、または、回路接続線54を経由して第2の検索処理回路46へ出力する。第1の検索処理回路42,第2の検索処理回路46は、分配回路49から出力された検索キー情報503を用いて、それぞれ第1の内蔵RAM44,第2の内蔵RAM45に記憶されているデータベースの検索を行い、検索結果を多重化回路47に出力する。多重化回路47は、第1の検索処理回路42,第2の検索処理回路46から出力された検索結果を多重化し、検索経路27経由で転送ユニット12bに出力する。
When the
ヘッダ解析回路48から分配停止指示を受け取った分配回路49は、第2の検索処理回路46への検索キー情報503の配信を停止し、第1の検索処理回路42のみに検索キー情報503を送出する。そして、第2の検索処理回路46で検索処理中だった検索キー503に対する検索結果が出力される程度の任意の所定時間経過後、分配回路49は、設定情報変更ユニット33に対して第10の設定情報への内部構成変更指示を送出する。設定情報変更ユニット33は、記憶している第10の設定情報を読み出し、演算ユニット31cに第10の設定情報を送出する。
The
つぎに、演算ユニット31cは、設定情報変更ユニット33から受け取った第10の設定情報をロードし、第10の設定情報に基づいた内部回路など(図21に示した内部構成)を構成する。
Next, the
つぎに、RAM更新回路43は、内部バス接続線35,内部バス34,外部バス接続線24,外部バス23経由で外部メモリ14に記憶されている新データベースを読み出して、第2の内蔵RAM45に読み出した新データベースを書き込む。そして、第2の内蔵RAM45へ新データベースの書き込みが終了すると、信号線53を使い分配回路49に対して検索処理回路変更指示と、設定情報通知線36を介して設定情報変更ユニット33に対して、第9の設定情報への内部構成変更指示を送出する。
Next, the RAM update circuit 43 reads a new database stored in the
つぎに、演算ユニット31cは、設定情報変更ユニット33から受け取った第9の設定情報をロードし、第9の設定情報に基づいた内部回路など(図20に示した内部構成)を構成する。
Next, the
検索処理回路変更指示を受け取った分配回路49は、第1の検索処理回路42への検索キー情報503の配信を停止し、第2の検索処理回路46に検索キー情報503を送出する。そして、第1の検索処理回路42で検索処理中だった検索キー503に対する検索結果が出力される程度の任意の所定時間経過後、分配回路49は、設定情報変更ユニット33に対して第11の設定情報への内部構成変更指示を送出する。設定情報変更ユニット33は、記憶している第11の設定情報を読み出し、演算ユニット31cに第11の設定情報を送出する。
The
つぎに、演算ユニット31cは、設定情報変更ユニット33から受け取った第11の設定情報をロードし、第11の設定情報に基づいた内部回路など(図22に示した内部構成)を構成する。
Next, the
つぎに、RAM更新回路43は、内部バス接続線35,内部バス34,外部バス接続線24,外部バス23経由で外部メモリ14に記憶されている新データベースを読み出して、第1の内蔵RAM44に読み出した新データベースを書き込む。そして、第2の内蔵RAM45へ新データベースの書き込みが終了すると、信号線53を使い分配回路49に対して検索処理回路変更指示を送出し、さらに、設定情報通知線36を介して設定情報変更ユニット33に対して、第9の設定情報への内部構成変更指示を送出する。
Next, the RAM update circuit 43 reads a new database stored in the
つぎに、演算ユニット31cは、設定情報変更ユニット33から受け取った第9の設定情報をロードし、第9の設定情報に基づいた内部回路など(図20に示した内部構成)を構成する。
Next, the
また、検索処理回路変更指示を受け取った分配回路49は、初期状態と同様、ラインドロビン方式により、検索情報キー503を第1の検索処理回路42、または、第2の検索処理回路46に出力する。そして、制御PC8が、次のデータベース変更を行うまで、検索キー情報に対してランドロビン方式により第1の検索処理回路42および第2の検索処理回路46の2つの検索処理回路を使って検索処理を行う。
Further, the
なお、本実施の形態では、実施の形態3の選択回路41を分配回路49に変え、ルータ1cに検索FIFO16を追加したが、たとえば、実施の形態1または2において、同様に選択回路41を分配回路49に変え、検索FIFO16を追加することにより、通常処理をランドロビン方式により第1の検索処理回路42および第2の検索処理回路46の2つの検索処理回路を使うようにしてもよい。
In the present embodiment, the
このように本実施の形態では、通常の検索処理時(データベース変更時以外)に、第1の検索処理回路42および第2の検索処理回路46の2つの検索処理回路を用いて検索処理を行うようにした。このため、通常の検索処理時に、実施の形態1〜3に比べ2倍の処理能力を持つことができる。
As described above, in the present embodiment, during normal search processing (except when the database is changed), search processing is performed using two search processing circuits, the first
実施の形態5.
図23は、本発明にかかる検索装置の実施の形態5の第12の設定情報に基づいた演算ユニット31dの内部構成例を示す図である。本実施の形態においても検索装置としてルータに実装されているデバイスを例として説明する。本実施の形態のルータは、実施の形態3の図13に示すルータ1bと同様である。ネットワーク構成は、図1の実施の形態1と同様である。また、本実施の形態のデバイスの機能構成については、演算ユニット31bを演算ユニット31dに置き換える以外、図14に示す実施の形態3と同様である。
Embodiment 5.
FIG. 23 is a diagram illustrating an internal configuration example of the
図23に示すように、本実施の形態の第12の設定情報に基づいた演算ユニット31dは、図20に示した実施の形態4の第9の設定情報に基づいた演算ユニット31cに、演算ユニット内検索FIFO50が追加されている。以下、実施の形態1、3または4と同様の部分については、同一の符号付して説明を省略し、実施の形態1、3または4と異なる部分について説明する。
As shown in FIG. 23, the
演算ユニット内検索FIFO50は、実施の形態4の検索FIFO16と同様の目的で設けられており、デバイス13dにおける検索処理能力が通常の検索処理より低下するデータベース更新中に、検索キー情報の処理溢れを防ぐための記憶手段である。演算ユニット内検索FIFO50は、検索経路22から出力されるヘッダ付検索キー情報500を順次記憶し、ヘッダ解析回路48に記憶された順にヘッダ付検索キー情報500を出力する。検索処理能力の低下によるヘッダ付検索キー情報500の処理溢れを防ぐには、たとえば、出力したヘッダ付検索キー情報500に対する検索結果が出力されてから次のヘッダ付検索キー情報500を出力する。
The in-arithmetic
図24は、本実施の形態の第13の設定情報に基づいた演算ユニット31dの内部構成例を示す図である。図21に示した実施の形態4の第10の設定情報に基づいた演算ユニット31cとの相違点は、演算ユニット内検索FIFO50が追加されている点である。
FIG. 24 is a diagram illustrating an internal configuration example of the
図25は、本実施の形態の第14の設定情報に基づいた演算ユニット31dの内部構成例を示す図である。図22に示した実施の形態4の第11の設定情報に基づいた演算ユニット31cとの相違点は、演算ユニット内検索FIFO50が追加されている点である。
FIG. 25 is a diagram illustrating an internal configuration example of the
つづいて、本実施の形態の検索動作中におけるデータベース更新方法について述べる。なお、本実施の形態では、一例として、データベースの更新の際に、第12の設定情報(図23参照)⇒第13の設定情報(図24参照)⇒第12の設定情報(図23参照)⇒第14の設定情報(図25参照)の順でロードする手順を説明するが、第12の設定情報(図23参照)⇒第14の設定情報(図25参照)⇒第12の設定情報(図23参照)⇒第13の設定情報(図24参照)の順でロードしてもよい。また、初期状態として、第1の内蔵RAM44,第2の内蔵RAM45には、検索に使用する任意の同一のデータベースが記憶されているものとする。設定情報変更ユニット33には、前述の第12の設定情報,第13の設定情報,第14の設定情報が記憶されているものとする。また、以下では実施の形態3または実施の形態4と異なる部分のみを説明するが、それ以外の処理は、実施の形態3または実施の形態4と同様である。
Next, a database update method during the search operation of this embodiment will be described. In this embodiment, as an example, when updating the database, the twelfth setting information (see FIG. 23) ⇒ the thirteenth setting information (see FIG. 24) ⇒ the twelfth setting information (see FIG. 23). ⇒ The procedure for loading in the order of the 14th setting information (see FIG. 25) will be described, but the 12th setting information (see FIG. 23) ⇒ 14th setting information (see FIG. 25) ⇒ 12th setting information ( 23) ⇒The 13th setting information (see FIG. 24) may be loaded in this order. As an initial state, it is assumed that the first built-in
まず、データベース更新前の初期状態を説明する。演算ユニット31dは、第12の設定情報に基づき図23の内部構成をとっている。検索経路22より入力されたヘッダ付検索キー情報500は、演算ユニット内検索FIFO50にいったん記憶され、記憶された順にヘッダ付検索キー情報500をヘッダ解析回路48に出力する。ヘッダ解析回路48は、検索経路22経由でヘッダ付検索キー情報500を受信すると、ヘッダ501の解析を行う。そして、RAM更新指示フィールド502が、内部構成変更指示が無いことを示す値であることを確認する。
First, the initial state before database update will be described. The
分配回路49は、検索経路22経由で受信したヘッダ付検索キー情報500を受信し、ヘッダ付検索キー情報500のうちの検索キー情報503を、ラウンドロビン方式により、回路接続線51を経由して第1の検索処理回路42へ、または、回路接続線54を経由して第2の検索処理回路46へ出力する。第1の検索処理回路42,第2の検索処理回路46は、分配回路49から出力された検索キー情報503を用いて、それぞれ第1の内蔵RAM44,第2の内蔵RAM45に記憶されているデータベースの検索を行い、検索結果を多重化回路47に出力する。多重化回路47は、第1の検索処理回路42,第2の検索処理回路46から出力された検索結果を多重化し、検索経路27経由で転送ユニット12bに出力する。
The
実施の形態4との違いは、検索FIFO16のかわりに、演算ユニット内検索FIFO50がヘッダ付検索キー情報500を記憶し、順次出力する点であるが、それ以外は、実施の形態4と同様の動作となる。データベース変更時の内部構成変更の手順についても、実施の形態4の第9の設定情報(図20参照)⇒第10の設定情報(図21参照)⇒第9の設定情報(図20参照)⇒第11の設定情報(図22参照)と同様である。ただし、この処理において、検索FIFO16のかわりに、演算ユニット内検索FIFO50がヘッダ付検索キー情報500を記憶する。
The difference from the fourth embodiment is that, instead of the
このように、演算ユニット31d内に、演算ユニット内検索FIFO50を設けると、演算ユニット31dがもともと備えているメモリおよび演算器のなかで構成できるため、部品点数は実施の形態3と同じである。また、本実施の形態は、実施の形態4と比べると、ルータ1cに検索FIFO16を備える必要がないため、部品点数を削減できる。
Thus, if the intra-arithmetic
なお、本実施の形態では、常時演算ユニット内検索FIFO50を備えることとしたが、実施の形態2のRAM更新回路の43と同様に、データベース更新時以外(通常検査悪処理時)では、その回路を備えないようにしてもよい。このようにすると、消費電力の削減ができる。その場合、通常検索処理時には、実施の形態3と同様に演算ユニット内検索FIFO50を経由せずにヘッダ解析回路48が検索経路22からヘッダ付検索キー情報500を受け取る。
In the present embodiment, the intra-arithmetic
なお、本実施の形態では、実施の形態3の選択回路41を分配回路49に変え、演算ユニット内検索FIFO50を追加したが、実施の形態1または2において、同様に選択回路41を分配回路49に変え、演算ユニット内検索FIFO50を追加することにより、同様の動作を行うようにしてもよい。
In the present embodiment, the
このように、本実施の形態では、演算ユニット31d内に、演算ユニット内検索FIFO50を備えることした。このため、実施の形態4に比べ部品点数を削減することができる。
As described above, in this embodiment, the in-arithmetic
以上のように、本発明にかかる検索回路はデータ検索を行うデータ処理に有用であり、特に、検索処理を中断させずに検索用のデータベースの更新を行う情報通信システムに適している。 As described above, the search circuit according to the present invention is useful for data processing that performs data search, and is particularly suitable for an information communication system that updates a search database without interrupting search processing.
1,1b,1c ルータ
2 PC端末
3 インターネット
4 サーバー群
5 アクセスポイント
6 無線端末
7 イントラネット
8 制御PC
9 制御リンク
10 リンク
11 送受信ユニット
12,12b 転送ユニット
13,13b,13c,13d デバイス
14 外部メモリ
15 コントローラ
16 検索FIFO
21 転送経路
22,26,27 検索経路
23 外部バス
24 外部バス接続線
31,31a,31b,31c,31d 演算ユニット
32 プロセッサ
33 設定情報変更ユニット
34 内部バス
35 内部バス接続線
36 設定情報通知線
37 接続線
41 選択回路
42 第1の検索処理回路
43 RAM更新回路
44 第1の内蔵RAM
45 第2の内蔵RAM
46 第2の検索処理回路
47 多重化回路
48 ヘッダ解析回路
49 分配回路
50 演算ユニット内検索FIFO
51,52 回路接続線
53,56 信号線
54 回路接続線
55 回路接続線
100 Ethernet(登録商標)フレーム
101 MACヘッダ
102 IPv4パケット
103 FCS
104 IPv4ヘッダ
105 TCPヘッダ
106 UDPヘッダ
201 TOSフィールド
202 トータル長
203 識別子
204 フラグ
205 フラグメントオフセット
206 プロトコル
207 送信元IPアドレス
208 宛先IPアドレス
301 送信元ポート番号
302 宛先ポート番号
303 シーケンス番号
304 確認応答番号
401 送信元ポート番号
402 宛先ポート番号
500 ヘッダ付検索キー情報
501 ヘッダ
502 RAM更新指示フィールド
503 検索キー情報
1, 1b, 1c
9
21
45 Second built-in RAM
46 Second
51, 52
104
Claims (16)
複数の演算器およびメモリで構成され、各構成要素に対するコンフィグレーションデータである設定情報に基づいて内部構成を構築して動作する演算手段と、
前記検索用データベースを格納するためのメモリと、前記検索機能を実現する検索処理回路と、を含む内部構成を構築するための複数の設定情報を記憶し、指定された設定情報を前記演算手段に送出する設定情報変更手段と、
外部から検索用データベースの更新要求があった場合に、前記演算手段に対して内部構成変更指示を通知する制御手段と、
を備え、
前記演算手段は、
検索処理のみを実行する期間については、特定の設定情報に基づく内部構成により1つのメモリと検索処理回路を稼動させ、
前記内部変更指示を受け取った場合または自身で検索用データベースの更新を検出した場合には、前記検索中のメモリ以外の他のメモリに対して更新された検索用データベースを書き込み、さらに、前記特定の設定情報以外の他の設定情報に基づいて、前記検索処理を維持しつつ更新後の検索用データベースに対する検索処理を実行可能な内部構成に変更し、
前記データベースの更新に応じて内部構成を遷移しながら検索処理を継続することを特徴とする検索装置。 A search device having a function of searching a search database based on search key information,
Computation means composed of a plurality of computing units and memories, and operates by constructing an internal configuration based on setting information that is configuration data for each component;
A plurality of setting information for constructing an internal configuration including a memory for storing the search database and a search processing circuit for realizing the search function is stored, and the designated setting information is stored in the computing means. Setting information changing means to be transmitted;
Control means for notifying the arithmetic means of an internal configuration change instruction when there is an update request for the search database from the outside;
With
The computing means is
For the period in which only search processing is executed, one memory and search processing circuit are operated by an internal configuration based on specific setting information,
When the internal change instruction is received or when an update of the search database is detected by itself, the updated search database is written to a memory other than the memory being searched, and the specific database Based on setting information other than the setting information, the internal processing is changed to an internal configuration capable of executing search processing for the updated search database while maintaining the search processing,
A search device, wherein search processing is continued while changing an internal configuration in accordance with the update of the database.
初期状態として、前記特定の設定情報に相当する第1の設定情報に基づいて、第1の検索処理回路が検索用データベースを格納した第1のメモリに対して検索処理を行う第1の内部構成を構築し、
前記内部構成変更指示を受け取った場合または自身で検索用データベースの更新を検出した場合には、第2のメモリに対して更新後の検索用データベースを書き込み、その後、前記他の設定情報に相当する第2の設定情報に基づいて、前記第1のメモリに対する検索処理を実現するための構成を維持しつつ第2の検索処理回路が前記第2のメモリに対して検索処理を実行可能な第2の内部構成を構築し、
前記第2の内部構成を構築してから所定時間経過後に、前記特定の設定情報に相当する第3の設定情報に基づいて、前記初期状態で構築した第1の検索処理回路を含まない状態でかつ前記第2の検索処理回路が前記第2のメモリに対して検索処理を行う第3の内部構成を構築し、
以降、検索用データベースの更新毎に、検索中のメモリ以外のもう一方のメモリに対して更新後の検索用データベースを書き込む処理、および前記第2の内部構成から前記第1の内部構成または第3の内部構成への遷移、を繰り返すことにより、検索処理を継続することを特徴とする請求項1に記載の検索装置。 The computing means is
As an initial state, a first internal configuration in which a first search processing circuit performs a search process on a first memory in which a search database is stored, based on first setting information corresponding to the specific setting information Build
When the internal configuration change instruction is received or when the update of the search database is detected by itself, the updated search database is written in the second memory, and then corresponds to the other setting information. A second search processing circuit capable of executing a search process on the second memory while maintaining a configuration for realizing the search process on the first memory based on the second setting information; Build the internal configuration of
In a state in which the first search processing circuit constructed in the initial state is not included based on the third setting information corresponding to the specific setting information after a predetermined time has elapsed since the construction of the second internal configuration. And constructing a third internal configuration in which the second search processing circuit performs search processing on the second memory,
Thereafter, each time the search database is updated, the process of writing the updated search database into the other memory other than the memory being searched, and the first internal configuration or the third internal configuration from the second internal configuration The search apparatus according to claim 1, wherein the search process is continued by repeating the transition to the internal configuration of the search.
前記第3の内部構成は、さらに、検索中の第2のメモリ以外の前記第1のメモリと、前記検索用データベースの更新を検出し更新後の検索用データベースを前記第1のメモリに書き込むRAM更新回路と、を備え、
前記RAM更新回路が検索用データベースの更新を検出した場合、対応する第1のメモリまたは第2のメモリに対して更新後の検索用データベースを書き込むことを特徴とする請求項2に記載の検索装置。 The first internal configuration further includes the second memory other than the first memory being searched, and a RAM that detects an update of the search database and writes the updated search database to the second memory. An update circuit,
The third internal configuration further includes a first memory other than the second memory being searched, and a RAM that detects an update of the search database and writes the updated search database to the first memory. An update circuit,
3. The search device according to claim 2, wherein when the RAM update circuit detects an update of the search database, the updated search database is written to the corresponding first memory or second memory. .
前記第3の内部構成は、さらに、検索中の第2のメモリ以外の前記第1のメモリを備え、
前記内部構成変更指示を受け取った場合、前記第1の内部構成および第3の内部構成を、検索用データベースを更新するRAM更新回路を備えた内部構成に変更し、当該RAM構成回路が、対応する第1のメモリまたは第2のメモリに対して更新後の検索用データベースを書き込むことを特徴とする請求項2に記載の検索装置。 The first internal configuration further includes the second memory other than the first memory being searched,
The third internal configuration further includes the first memory other than the second memory being searched,
When the internal configuration change instruction is received, the first internal configuration and the third internal configuration are changed to an internal configuration including a RAM update circuit for updating the search database, and the RAM configuration circuit corresponds to the internal configuration change instruction. 3. The search device according to claim 2, wherein the updated search database is written in the first memory or the second memory.
前記選択回路は、前記検索キー情報が途切れて検索処理回路に送られないように検索キー情報の切れ目のタイミングで、前記検索情報キーの出力先を、検索処理中の一方の検索処理回路から更新後の検索用データベースを検索可能な他方の検索処理回路に切替えることを特徴とする請求項3または4に記載の検索装置。 The second internal configuration further includes a selection circuit that selects any one search processing circuit as an output destination of the search information key,
The selection circuit updates the output destination of the search information key from one search processing circuit during the search processing at the timing of the search key information break so that the search key information is not interrupted and sent to the search processing circuit. 5. The search apparatus according to claim 3, wherein the subsequent search database is switched to the other search processing circuit capable of searching.
複数の演算器およびメモリで構成され、各構成要素に対するコンフィグレーションデータである設定情報に基づいて内部構成を構築して動作する演算手段と、
前記検索用データベースを格納するためのメモリと、前記検索機能を実現する検索処理回路と、を含む内部構成を構築するための複数の設定情報を記憶し、指定された設定情報を前記演算手段に送出する設定情報変更手段と、
外部から検索用データベースの更新要求があった場合に、前記演算手段に対して内部構成変更指示を通知する制御手段と、
を備え、
前記演算手段は、
検索処理のみを実行する期間については、特定の設定情報に基づいて、同一の検索用データベースを格納する2つ以上のメモリと各々のメモリに個別に対応する検索処理回路とを含む内部構成を構築し、適宜検索処理回路を切替えながら検索処理を実行し、
前記内部変更指示を受け取った場合または自身で検索用データベースの更新を検出した場合には、前記特定の設定情報以外の他の設定情報に基づいて、前記検索用データベースによる検索処理を継続しながら、少なくとも1つの検索処理回路を削除した内部構成に変更する処理、および当該削除した検索処理回路に対応するメモリに更新後の検索用データベースを書き込む処理、を全てのメモリに対して更新後の検索用データベースを書き込むまで実行し、
その後、前記特定の設定情報に基づく内部構成に変更することにより、前記期間における検索処理を実行し、
以降、前記データベースの更新に応じて内部構成を遷移しながら検索処理を継続することを特徴とする検索装置。 A search device having a function of searching a search database based on search key information,
Computation means composed of a plurality of computing units and memories, and operates by constructing an internal configuration based on setting information that is configuration data for each component;
A plurality of setting information for constructing an internal configuration including a memory for storing the search database and a search processing circuit for realizing the search function is stored, and the designated setting information is stored in the computing means. Setting information changing means to be transmitted;
Control means for notifying the arithmetic means of an internal configuration change instruction when there is an update request for the search database from the outside;
With
The computing means is
For the period in which only search processing is executed, an internal configuration is built that includes two or more memories that store the same search database and search processing circuits that individually correspond to each memory, based on specific setting information The search process is executed while appropriately switching the search processing circuit,
When the internal change instruction is received or when the update of the search database is detected by itself, based on the setting information other than the specific setting information, while continuing the search process by the search database, A process for changing the internal configuration to which at least one search processing circuit has been deleted, and a process for writing the updated search database to the memory corresponding to the deleted search processing circuit, for a search after updating all the memories Run until you write the database,
After that, by changing to the internal configuration based on the specific setting information, the search process in the period is executed,
Thereafter, the search device continues the search process while changing the internal configuration in accordance with the update of the database.
初期状態として、前記特定の設定情報に相当する第1の設定情報に基づいて、第1のメモリに対して検索処理を行う第1の検索処理回路または第2のメモリに対して検索処理を行う第2の検索処理回路を適宜選択し、選択された検索処理回路が、対応するメモリに格納されている検索用データベースに対して検索処理を行う第1の内部構成を構築し、
前記内部構成変更指示を受け取った場合または自身で検索用データベースの更新を検出した場合には、
前記第2の検索処理回路による検索処理を停止させ、前記他の設定情報に相当する第2の設定情報に基づいて、前記第2の検索処理回路を削除し前記第1の検索処理回路が前記第1のメモリに対して検索処理を行う第2の内部構成を構築し、その後、前記第2のメモリに対して更新された検索用データベースを書き込み、
さらに、前記第1の設定情報に基づく前記第1の内部構成を構築し、前記更新後の検索用データベースが書き込まれた第2のメモリに対応する第2の検索処理回路を稼動させ、前記第1の検索処理回路による検索処理を停止させ、前記他の設定情報に相当する第3の設定情報に基づいて、前記第1の検索処理回路を削除し前記第2の検索処理回路が第2のメモリに対して検索処理を行う第3の内部構成を構築し、その後、前記第1のメモリに対して前記更新された検索用データベースを書き込み、
さらに、前記第1の設定情報に基づく前記第1の内部構成を構築し、適宜選択された検索処理回路が対応するメモリに格納されている検索用データベースに対して検索処理を行い、
以降、検索用データベースの更新毎に、前記内部構成の遷移を繰り返すことにより、検索処理を継続することを特徴とする請求項6に記載の検索装置。 The computing means is
As an initial state, based on the first setting information corresponding to the specific setting information, the search process is performed on the first search processing circuit that performs the search process on the first memory or the second memory. Selecting a second search processing circuit as appropriate, and constructing a first internal configuration in which the selected search processing circuit performs search processing on a search database stored in a corresponding memory;
When receiving the internal configuration change instruction or when detecting an update of the search database by itself,
The search processing by the second search processing circuit is stopped, the second search processing circuit is deleted based on the second setting information corresponding to the other setting information, and the first search processing circuit is Constructing a second internal configuration for performing a search process on the first memory, and then writing an updated search database in the second memory;
Further, the first internal configuration based on the first setting information is constructed, a second search processing circuit corresponding to a second memory in which the updated search database is written is operated, and the first The search processing by the first search processing circuit is stopped, the first search processing circuit is deleted based on the third setting information corresponding to the other setting information, and the second search processing circuit Building a third internal configuration for performing a search process on the memory, and then writing the updated search database to the first memory;
Further, the first internal configuration based on the first setting information is constructed, the search processing circuit appropriately selected performs search processing on the search database stored in the corresponding memory,
The search device according to claim 6, wherein the search process is continued by repeating the transition of the internal configuration every time the search database is updated.
前記第2の内部構成は、さらに、前記検索用データベースの更新を検出し更新後の検索用データベースを前記第2のメモリに書き込むRAM更新回路と、前記分配回路と、を備え、
前記第3の内部構成は、さらに、前記検索用データベースの更新を検出し更新後の検索用データベースを前記第1のメモリに書き込むRAM更新回路と、前記分配回路と、を備え、
前記RAM更新回路が、前記内部構成指示を受け取った場合または前記検索用データベースの更新を検出した場合に、対応する検索処理回路への検索情報キーの分配停止を前記分配回路に対して指示し、
前記分配回路が、初期状態では、検索情報キーの出力先をラウンドロビン方式で切替え、前記RAM更新回路からの分配停止指示に従って、対応する検索処理回路への検索情報キーの出力を停止することを特徴とする請求項7に記載の検索装置。 The first internal configuration is further instructed when the output destination of the search information key is switched between the first search processing circuit and the second search processing circuit and a distribution stop instruction is received. A distribution circuit for stopping output of the search information key to the search processing circuit or the second search processing circuit,
The second internal configuration further includes a RAM update circuit that detects an update of the search database and writes the updated search database to the second memory, and the distribution circuit,
The third internal configuration further includes a RAM update circuit that detects an update of the search database and writes the updated search database to the first memory, and the distribution circuit,
When the RAM update circuit receives the internal configuration instruction or detects an update of the search database, it instructs the distribution circuit to stop distributing the search information key to the corresponding search processing circuit,
In the initial state, the distribution circuit switches the output destination of the search information key in a round robin manner, and stops outputting the search information key to the corresponding search processing circuit according to the distribution stop instruction from the RAM update circuit. The search device according to claim 7, wherein the search device is characterized.
前記検索情報キーを格納し、格納した順に前記検索情報キーを分配回路に出力するFIFOメモリ、
をさらに備え、
前記FIFOメモリは、検索処理の速度に応じて検索情報キーの出力頻度を変えることを特徴とする請求項8に記載の検索装置。 The first internal configuration is:
A FIFO memory for storing the search information keys and outputting the search information keys to a distribution circuit in the order of storage;
Further comprising
9. The search apparatus according to claim 8, wherein the FIFO memory changes a search information key output frequency according to a search processing speed.
前記演算手段は、検索キー情報のヘッダを解析して内部構成変更指示の有無を確認することを特徴とする請求項1〜9のいずれか1つに記載の検索装置。 The search key information is set as search key information with a header indicating the presence or absence of an internal configuration change instruction,
The search device according to any one of claims 1 to 9, wherein the computing means analyzes a header of search key information to check whether there is an internal configuration change instruction.
前記演算手段は、前記外部メモリから前記更新後の検索用データベースを取得することを特徴とする請求項1〜12のいずれか一つに記載の検索装置。 The updated search database is stored in an external memory outside the device,
The search device according to claim 1, wherein the calculation unit acquires the updated search database from the external memory.
前記検索情報キーを格納し、格納した順に前記検索情報キーを分配回路に出力するFIFOメモリと、
を備え、
前記FIFOメモリは、検索処理の速度に応じて検索情報キーの出力頻度を変えることを特徴とするデータ処理装置。 The search device according to claim 7;
A FIFO memory for storing the search information keys and outputting the search information keys to a distribution circuit in the order of storage;
With
The data processing apparatus, wherein the FIFO memory changes a search information key output frequency according to a search processing speed.
前記検索用データベースを格納するためのメモリと、前記検索処理を実現する検索処理回路と、を含む内部構成を構築するための複数の設定情報を記憶する設定情報記憶ステップと、
前記検索処理のみを行っている期間については、特定の設定情報に基づく内部構成により1つのメモリと検索処理回路を稼動させて検索処理を行う検索処理ステップと、
前記内部変更指示を受け取った場合または自身で検索用データベースの更新を検出した場合には、内部構成変更指示を通知する内部構成変更指示ステップと、
前記内部構成変更指示が通知された場合に、前記検索中のメモリ以外の他のメモリに対して更新された検索用データベースを書き込む更新データ格納ステップと、
前記更新データ格納ステップの終了後に、前記特定の設定情報以外の他の設定情報に基づいて、前記検索処理を維持しつつ更新後の検索用データベースに対する検索処理を実行可能な内部構成に変更して、所定時間にわたって検索処理を行う更新時検索処理ステップと、
前記更新時検索処理ステップ終了後に検索処理のみを行う内部構成を構築する内部構成再変更ステップと、
を含み、
前記データベースの更新に応じて、前記検索処理ステップ、前記内部構成変更指示ステップ、前記更新データ格納ステップ、前記更新時検索処理ステップ、前記内部構成再変更ステップを繰り返すことを特徴とする検索方法。 A search method for performing a process of searching a search database based on search key information,
A setting information storage step for storing a plurality of setting information for constructing an internal configuration including a memory for storing the search database and a search processing circuit for realizing the search processing;
For the period in which only the search processing is performed, a search processing step of performing search processing by operating one memory and a search processing circuit with an internal configuration based on specific setting information;
When the internal change instruction is received or when the update of the search database is detected by itself, an internal structure change instruction step for notifying the internal structure change instruction;
An update data storage step of writing an updated search database to a memory other than the memory being searched when the internal configuration change instruction is notified;
After completion of the update data storage step, based on setting information other than the specific setting information, the internal processing is changed to an internal configuration capable of executing search processing for the updated search database while maintaining the search processing. A search process step at the time of performing a search process for a predetermined time; and
An internal configuration re-changing step for constructing an internal configuration for performing only the search processing after the update-time search processing step is completed;
Including
A search method characterized by repeating the search processing step, the internal configuration change instruction step, the update data storage step, the update time search processing step, and the internal configuration rechange step according to the update of the database.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006301903A JP2008117300A (en) | 2006-11-07 | 2006-11-07 | Retrieval device, data processor and retrieval method |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006301903A JP2008117300A (en) | 2006-11-07 | 2006-11-07 | Retrieval device, data processor and retrieval method |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008117300A true JP2008117300A (en) | 2008-05-22 |
Family
ID=39503144
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006301903A Pending JP2008117300A (en) | 2006-11-07 | 2006-11-07 | Retrieval device, data processor and retrieval method |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008117300A (en) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002157156A (en) * | 2000-09-08 | 2002-05-31 | Hitachi Ltd | Database management method and system, processing program therefor and recording medium stored with the program |
JP2003022209A (en) * | 2001-07-05 | 2003-01-24 | Nri & Ncc Co Ltd | Distributed server system |
JP2003036269A (en) * | 2001-07-23 | 2003-02-07 | Sony Corp | Information processor, information processing method, and recording medium recorded with information processing program |
JP2004005610A (en) * | 2002-04-26 | 2004-01-08 | Extreme Networks Inc | Method and apparatus for dynamic configuration management |
JP2004005611A (en) * | 2002-04-26 | 2004-01-08 | Extreme Networks Inc | Method and apparatus for restoring configuration of network device |
JP2005250626A (en) * | 2004-03-02 | 2005-09-15 | Hitachi Ltd | Computer system and program for it |
-
2006
- 2006-11-07 JP JP2006301903A patent/JP2008117300A/en active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002157156A (en) * | 2000-09-08 | 2002-05-31 | Hitachi Ltd | Database management method and system, processing program therefor and recording medium stored with the program |
JP2003022209A (en) * | 2001-07-05 | 2003-01-24 | Nri & Ncc Co Ltd | Distributed server system |
JP2003036269A (en) * | 2001-07-23 | 2003-02-07 | Sony Corp | Information processor, information processing method, and recording medium recorded with information processing program |
JP2004005610A (en) * | 2002-04-26 | 2004-01-08 | Extreme Networks Inc | Method and apparatus for dynamic configuration management |
JP2004005611A (en) * | 2002-04-26 | 2004-01-08 | Extreme Networks Inc | Method and apparatus for restoring configuration of network device |
JP2005250626A (en) * | 2004-03-02 | 2005-09-15 | Hitachi Ltd | Computer system and program for it |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11245620B2 (en) | Method for forwarding packet and network device | |
JP5610247B2 (en) | Network system and policy route setting method | |
Martinello et al. | Keyflow: a prototype for evolving sdn toward core network fabrics | |
RU2540815C2 (en) | Interruption, at least in part, of frame transmission | |
US10237130B2 (en) | Method for processing VxLAN data units | |
US10348646B2 (en) | Two-stage port-channel resolution in a multistage fabric switch | |
US11165693B2 (en) | Packet forwarding | |
Rifai et al. | Minnie: An SDN world with few compressed forwarding rules | |
US7864666B2 (en) | Communication control apparatus, method and program thereof | |
EP1031216A1 (en) | System and method for processing data packets | |
EP2963870A1 (en) | Control apparatus, communication system, switch control method and program | |
US9401865B2 (en) | Network appliance redundancy system, control apparatus, network appliance redundancy method and program | |
JP2006295938A (en) | Network type routing scheme | |
JP2009246524A (en) | Signal transmitter | |
US8924915B2 (en) | Use of metadata for seamless updates | |
EP2548348B1 (en) | Methods, systems, and computer readable media for automatically selecting between internet protocol switching modes on a per-module basis in a packet forwarding device | |
JP2012175394A (en) | Flow switch, flow control system and flow control method | |
CN101014040A (en) | Method and switching equipment for triggering downstream equipment to process packet | |
CN107528929B (en) | ARP (Address resolution protocol) entry processing method and device | |
JP5747997B2 (en) | Control device, communication system, virtual network management method and program | |
US10887282B1 (en) | Determining synchronization of filter rules (e.g., on iptable filter tables on Linux kernal) across firewall filter application restarts | |
JP2007288748A (en) | Switching hub, router and virtual lan system | |
US20170093616A1 (en) | Method and apparatus for providing in-service firmware upgradability in a network element | |
JP2008117300A (en) | Retrieval device, data processor and retrieval method | |
WO2021024327A1 (en) | Transfer device, communication system, transfer method, and transfer program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090827 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20111129 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20120130 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120214 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20120703 |