JP3837670B2 - データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法 - Google Patents

データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法 Download PDF

Info

Publication number
JP3837670B2
JP3837670B2 JP2004558387A JP2004558387A JP3837670B2 JP 3837670 B2 JP3837670 B2 JP 3837670B2 JP 2004558387 A JP2004558387 A JP 2004558387A JP 2004558387 A JP2004558387 A JP 2004558387A JP 3837670 B2 JP3837670 B2 JP 3837670B2
Authority
JP
Japan
Prior art keywords
search
memory device
information
associative memory
network processor
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2004558387A
Other languages
English (en)
Other versions
JPWO2004054186A1 (ja
Inventor
裕一 鵜澤
康弘 大場
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JPWO2004054186A1 publication Critical patent/JPWO2004054186A1/ja
Application granted granted Critical
Publication of JP3837670B2 publication Critical patent/JP3837670B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C15/00Digital stores in which information comprising one or more characteristic parts is written into the store and in which information is read-out by searching for one or more of these characteristic parts, i.e. associative or content-addressed stores

Description

本発明は伝送されるパケットを中継するデータ中継装置、そのデータ中継装置で利用する連想メモリデバイスおよびパケットに関連する情報を連想メモリデバイスを利用して検索するための連想メモリデバイス利用情報検索方法に関し、特に情報検索の効率化を図ったデータ中継装置、連想メモリデバイスおよび連想メモリデバイス利用情報検索方法に関する。
ネットワークの中継点となるルータまたはスイッチ等の装置(以下、データ中継装置と呼ぶ)では、ネットワーク内を流れるパケットの宛先によるルーティング処理が行われる。この経路選択には、汎用コンピュータでソフトウェア的に実現される場合と、専用のハードウェアによって実現される場合とがある。
一般に、経路選択を高速に行う必要がある場合には、専用のハードウェアによってパケットのルーティングが実現される。専用のハードウェア構成のデータ中継装置内には、ネットワークプロセッサと呼ばれる経路選択専用のプロセッサが実装される。
ネットワークプロセッサは、入力されたパケットのIP(Internet Protocol)アドレス等の各種情報を参照して、出力すべき物理ポートを決定する。一般に、ネットワークプロセッサは、その物理ポートに配下にどのようなIPアドレスの端末装置が接続されているのかを記憶するメモリを有している。パケットを転送する際には、そのメモリの内容を参照することで、送出先の物理ポートを特定することができる。
このように、経路選択には常にデータ中継装置内でのメモリアクセスが伴う。そのため、経路選択を高速に行うためには、メモリアクセスの効率化が望まれる。CPU(Central Processing Unit)からメモリへのアクセスの効率化の技術として、たとえば、CPUとメモリとの間にコマンドアクセス回路(あるいはメモリ制御回路)において、コマンドのバッファリングを行うものがある。たとえば、特開平8−87441号公報、特開2000−99394号公報参照。
また、特に高速・大容量のルーティングを行う場合、CAM(Content Addressable/Associative Memory:連想メモリ)デバイスと呼ばれる特別のメモリを用いてルーティングが行われる。CAMデバイスを用いた経路選択回路は、ネットワークサーチエンジンとも呼ばれる。
CAMデバイスはIPアドレス等の情報を格納しており、IPアドレス等の情報が入力されると、その情報が格納されている記憶領域のメモリアドレスを出力する。なお、CAMデバイスは、データ中継装置に限らず、各種システムにおけるメモリの高速化に利用されている。特開2000−231785号公報(段落「0023」)参照。
ところで、1つのパケットに対する経路検索において、ネットワークプロセッサにおけるメモリアクセスが複数回行われる場合がある。たとえば、パケットから抽出されるIPアドレス(source address: SAおよびdestination address: DA)とTCP(Transmission Control Protocol)/UDP(User Datagram Protocol)などのポート番号(source port numberおよびdestination port number)とで2回検索される場合がある。
以下、複数回のCAMデバイスアクセスを伴う経路探索処理を説明する。
図17は、複数回のCAMデバイスアクセスを伴う従来の経路探索処理を示す図である。図17に示すように、データ中継装置には、ネットワークプロセッサ911、CAMデバイス912、およびコンテキストRAM(Random Access Memory)913が設けられている。CAMデバイス912の記憶領域には、IPアドレスの記憶領域とポート番号の記憶領域とが設けられている。図17の例では、1つのパケットを転送する際に、IPアドレスとポート番号とによる2回の検索が行われる。
[ステップS101]データ中継装置にパケットの情報が入力されると、ネットワークプロセッサ911からCAMデバイス912へ、検索キー921、マスク設定コマンド922、および検索コマンド923が送られる。検索キー921はIPアドレスである。マスク設定コマンド922は、CAMデバイス912内のIPアドレスの記憶領域以外のマスク処理(検索対象外とする)を指定するコマンドである。
CAMデバイス912は、マスク設定コマンド922で指定された範囲にマスクをかける。マスクがかけられた範囲は、検索対象から除外される。そして、CAMデバイス912は、検索キー921に合致するデータを検索し、そのデータが格納されている領域のメモリアドレスを出力する。出力されたメモリアドレスは、コンテキストRAM913に対して、読み出しのメモリアドレスとして入力される。すると、コンテキストRAM913から、入力されたメモリアドレスに該当する領域からデータ924が出力され、ネットワークプロセッサ911に入力される。これは、Layer3(ネットワーク層)の検索処理である。
[ステップS102]次に、ネットワークプロセッサ911からCAMデバイス912へ、検索キー931、マスク設定コマンド932、および検索コマンド933が送られる。検索キー931は、転送するパケットの宛先側のアプリケーションを示すポート番号である。マスク設定コマンド932は、CAMデバイス912内のポート番号の記憶領域以外のマスク処理を指定するコマンドである。
CAMデバイス912は、マスク設定コマンド932で指定された範囲にマスクをかける。そして、CAMデバイス912は、検索キー931に合致するデータを検索し、そのデータが格納されている領域のメモリアドレスを出力する。出力されたメモリアドレスは、コンテキストRAM913に対して、読み出しアドレスとして入力される。すると、コンテキストRAM913から、入力されたメモリアドレスに該当する領域からデータ934が出力され、ネットワークプロセッサ911に入力される。これは、Layer4(トランスポート層)の検索処理である。
このように二度検索を行うのは、QoS(Quality-of-Service)のようなサービスを提供する場合で、Layer3のIPアドレス(SA,DA)検索だけでなく、Layer4までの情報をもとにフローの識別を行う必要があるからである。
しかし、1つのパケット転送時に複数回のCAMデバイスアクセスが行われる場合、検索の度にマスク設定コマンドや検索コマンドが発行される。このことは、CAMデバイスへのアクセスが増加しネットワークプロセッサのパフォーマンスを下げる要因となる。そこで、パケットの経路選択等の判断処理の高速化のために、CAMデバイスへのアクセスの際のコマンド転送の効率化が望まれている。
本発明はこのような点に鑑みてなされたものであり、連想メモリ(CAM)デバイスに対して効率よく検索要求のコマンドを入力できるデータ中継装置を提供することを目的とする。
また、本発明の他の目的は、検索要求のコマンドの効率の良い入力が可能な連想メモリデバイスを提供することである。
また、本発明の別の目的は、連想メモリデバイスに対して効率よく検索要求のコマンドを入力することができる連想メモリデバイス利用情報検索方法を提供することである。
本発明では上記課題を解決するために、図1に示すようなデータ中継装置が提供される。本発明のデータ中継装置は、伝送されるパケットを中継するためのものであり、ネットワークプロセッサ1、連想メモリデバイス2、およびメモリデバイス3を有している。それぞれの要素は、以下の機能を有している。
ネットワークプロセッサ1は、パケットが入力されると、パケット内の複数の要素を検索キー11,12とし、複数の検索キー11,12と、検索キー11,12それぞれによる検索の対象範囲を示す複数の適用マスク情報13,14とを含めた検索要求10を出力する。連想メモリデバイス2は、複数の検索対象情報を記憶していると共に、複数の情報を格納順序を保持して記憶するレジスタ群を有しており、ネットワークプロセッサ1から出力された検索要求10を受け取り、検索要求10の構造を解析して検索キー11,12と適用マスク情報13,14とからなる複数の検索条件を生成してレジスタ群に格納し先に格納された検索条件から順に抽出し、抽出した検索条件に応じて検索対象情報の検索を行い、検出された検索対象情報に一意に関連付けられたメモリアドレス21を出力する。メモリデバイス3は、複数の検索結果候補を記憶しており、連想メモリデバイス2から出力されたメモリアドレス21に対応付けて格納されている検索結果候補を検索結果22として出力する。
このようなデータ中継装置によれば、パケットが入力されるとネットワークプロセッサ1により、検索要求10が生成され連想メモリデバイス2に渡される。すると、連想メモリデバイス2において、検索要求10の構造が解析され複数の検索条件が生成されてレジスタ群に格納される。そして、連想メモリデバイス2において、先に格納された検索条件から順に検索条件に応じた検索が行われ、検出された検索対象情報に対応するメモリアドレス21がメモリデバイス3に出力される。メモリデバイス3からは、メモリアドレス21に対応する検索結果候補が、検索結果22として出力される。
本発明の上記および他の目的、特徴および利点は本発明の例として好ましい実施の形態を表す添付の図面と関連した以下の説明により明らかになるであろう。
以下、本発明の実施の形態を図面を参照して説明する。
まず、実施の形態に適用される発明の概要について説明し、その後、実施の形態の具体的な内容を説明する。
図1は、実施の形態に適用される発明の概念図である。本発明に係るデータ中継装置は、伝送されるパケットを中継するためのものであり、ネットワークプロセッサ1、連想メモリデバイス2、およびメモリデバイス3を有している。それぞれの要素は、以下の機能を有している。
ネットワークプロセッサ1は、パケットが入力されると、パケット内の複数の要素を検索キー11,12とし、複数の検索キー11,12と、検索キー11,12それぞれによる検索の対象範囲を示す複数の適用マスク情報13,14とを含めた検索要求10を出力する。パケット内のどの要素を検索キーとするのかは、ネットワークプロセッサ1内に予め定義されている。
連想メモリデバイス2は、複数の検索対象情報を記憶している。そして、連想メモリデバイス2は、ネットワークプロセッサ1から出力された検索要求10を受け取り、検索要求10の構造を解析して検索キー11,12と適用マスク情報13,14とからなる複数の検索条件を生成する。たとえば、検索キー11と適用マスク情報13とを組にして1つの検索条件を生成し、検索キー12と適用マスク情報14とを組にして別の検索条件を生成する。生成した検索条件は、所定のレジスタ等に格納する。
その後、連想メモリデバイス2は、生成された検索条件に応じて検索対象情報の検索を行い、検出された検索対象情報に一意に関連付けられたメモリアドレス21をメモリデバイス3に対して出力する。具体的には、連想メモリデバイス2は、検索条件内の適用マスク情報で示される領域を検索対象外とし、検索対象である領域から、検索キーに合致する検索対象情報を検索する。そして、連想メモリデバイス2は、検出された検索対象情報が格納されている記憶領域のメモリアドレスを、メモリデバイス3に対して出力する。
メモリデバイス3は、複数の検索結果候補を記憶しており、連想メモリデバイス2から出力されたメモリアドレス21に対応付けて格納されている検索結果候補を検索結果22としてネットワークプロセッサ1に対して出力する。
このようなデータ中継装置によれば、パケットが入力されるとネットワークプロセッサ1により、検索要求10が生成され連想メモリデバイス2に渡される。すると、連想メモリデバイス2において、検索要求10の構造が解析され複数の検索条件が生成される。そして、連想メモリデバイス2において、検索条件に応じた検索が行われ、検出された検索対象情報に対応するメモリアドレス21がメモリデバイス3に出力される。メモリデバイス3からは、メモリアドレス21に対応する検索結果候補が、検索結果22としてネットワークプロセッサ1に出力される。
このように、検索要求内に複数の検索キーと適用マスク情報とを含め、連想メモリデバイス2において検索要求の構造を解析し、複数の検索条件を生成するようにしたため、1つのパケット転送において複数回の検索が必要な場合でも、検索キーや適用マスク情報の受け渡しを1回で済ませることができる。これにより、検索要求の受け渡しが効率よく行われ、検索の効率化が図れる。
以下、本発明の実施の形態について具体的に説明する。
[第1の実施の形態]
図2は、第1の実施の形態を適用するネットワークシステムの構成例を示す図である。データ中継装置100は、複数の物理ポート101〜108を有している。物理ポート101〜108には、ネットワークを接続することができる。そして、データ中継装置100には、ネットワークを介して、複数の端末装置311〜317や他のデータ中継装置200が接続される。他のデータ中継装置200には、同様に端末装置318,319が接続される。
図3は、データ中継装置の内部構成を示すブロック図である。データ中継装置100は、ネットワークプロセッサ110、CAMデバイス120、およびコンテキストRAM130を有している。ネットワークプロセッサ110とCAMデバイス120とは、検索データ入力バス141で接続されている。CAMデバイス120とコンテキストRAM130とは、コンテキストRAM130へのアドレス入力用のアドレスバス142で接続されている。コンテキストRAM130とネットワークプロセッサ110は、コンテキストRAM130からのデータ出力用のデータバス143で接続されている。ネットワークプロセッサ110は、各物理ポート101〜108に接続されている。なお、各物理ポート101〜108は、実際には通信インタフェース等を介しネットワークプロセッサ110に接続されるが、図3では省略されている。
ネットワークプロセッサ110は、物理ポート101〜108から入力されたパケットの内容を解釈し、IPアドレスやポート番号を抽出する。そしてネットワークプロセッサ110は、CAMデバイス120に対して、IPアドレスとポート番号とを経路選択やサービス内容(転送レート等)の判断要素として、検索要求を出力する。この際、検索要求には、判断要素が検索キーとして含まれると共に検索キー毎のマスク設定コマンドが含まれる。検索要求に対する検索結果は、コンテキストRAM130から渡される。たとえば、パケットを転送すべき物理ポートのポート番号が渡される。ネットワークプロセッサ110は、検索結果に応じてパケットの転送経路を決定し、該当する物理ポートから出力する。
CAMデバイス120は、ネットワークを介して接続されている端末装置等のIPアドレスや、データ通信のために端末装置に実装されているアプリケーション等に対応するTCP/IPのポート番号などの判断要素が検索対象情報として格納されている。CAMデバイス120は、ネットワークプロセッサ110からの検索要求に応じて、記憶されている検索対象情報を対象とした検索を行う。そして、CAMデバイス120は、検出された検索対象情報が格納されている領域のメモリアドレスをコンテキストRAM130に対して出力する。
コンテキストRAM130は、ネットワークプロセッサ110が出力する検索要求に対応する検索結果となり得る検索結果候補を格納している。検索結果候補には、パケットの転送経路を示す情報や、パケットに対するサービス内容(転送レート等)を指示する情報が含まれる。たとえば、パケットを送出すべき物理ポートの番号や、パケットの廃棄を指示する情報などである。各検索結果候補は、CAMデバイス120に格納された判断要素に対応付けられている。具体的には、判断要素が格納された領域のCAMデバイス120におけるメモリアドレスが、その判断要素に対応する検索結果候補が格納された領域のコンテキストRAM130におけるメモリアドレスとなる。
コンテキストRAM130は、CAMデバイス120からメモリアドレスが入力されると、そのメモリアドレスに格納されている検索結果候補を検索結果とし、その検索結果をネットワークプロセッサ110に渡す。
図4は、検索要求のデータ構造例を示す図である。検索要求400は検索キー群410と検索コマンド420とで構成される。検索キー群410には、経路判断やサービス内容判断のための複数の検索キー411,412が含まれる。たとえば、検索キー411はIPアドレスであり、検索キー412はポート番号である。検索コマンド420には、命令文421、適用マスク情報422,423が含まれている。命令文421には、検索の実行をCAMデバイス120に指示する命令文が設定される。適用マスク情報422,423には、検索キー411,412毎の検索時のマスクを指示する情報が設定される。第1の実施の形態では、CAMデバイス120内に定義されているマスク情報の識別番号が適用マスク情報422,423で指示される。
図5は、CAMデバイスの内部構成を示すブロック図である。図5に示すように、CAMデバイス120は、データ記憶回路121、コマンドフォーマット定義情報122、マスク情報群123、解析回路124、検索条件格納部125および検索回路126を有している。
データ記憶回路121は、経路判断の要素となる情報を記憶する回路ブロック(CAMセルアレー)である。判断要素は、種別毎に格納領域が分かれている。図5の例では、IPアドレスを格納する領域121aとポート番号を格納する領域121bとが設けられている。
コマンドフォーマット定義情報122は、図4に示した検索要求のデータフォーマットが定義されている。たとえば、検索要求400の先頭から、32ビットが第1の検索キー、続く16ビットが第2の検索キー、続く16ビットが命令文、続く8ビットが第1の適用マスク情報、続く8ビットが第2の適用マスク情報といった内容が定義される。
なお、コマンドフォーマット定義情報122は、データ中継装置100全体を制御するCPUにより書き換えることができる。また、検索要求内にコマンドフォーマット定義情報122の設定内容を含め、その設定内容を受信した際にコマンドフォーマット定義情報122が書き換えられるようにしてもよい。
マスク情報群123は、データ記憶回路121のうち検索対象から除外する領域を指定する複数のマスク情報123a,123b,123mが設定されている。たとえば、MASK#1は、IPアドレスの記憶領域以外をマスクするマスク情報であり、MASK#2は、ポート番号の記憶領域以外をマスクするマスク情報である。各マスク情報123a,123b,123mには、識別番号が設定されている。この識別番号により、検索の際に提供するマスク情報が指定される。
解析回路124は、検索要求の構造を解析し、検索キーと適用マスク情報とからなる複数の検索情報を生成する。具体的には、解析回路124は、検索要求を受け取ると、コマンドフォーマット定義情報122の定義内容に従って検索要求の先頭から順に、複数の検索キー、命令文、および複数の適用マスク情報を抽出する。そして、解析回路124は、検索キーと適用マスク情報との組を、検索条件格納部125に格納する。
検索条件格納部125は、検索キーと適用マスク情報との組を複数格納可能なレジスタ群である。
検索回路126は、検索条件格納部125に格納された検索キーと適用マスク情報との組を順次取り出し、データ記憶回路121の検索を行う。具体的には、検索回路126は、マスク情報群123を参照し、検索条件格納部125から取り出した適用マスク情報に対応するマスク情報を抽出する。次に、検索回路126は、取り出したマスク情報で指定された領域を検索対象外として、検索キーに一致する情報をデータ記憶回路121から検索する。一致する情報が検出されると、検索回路126は、その情報が格納された領域のメモリアドレスを、コンテキストRAM130に対して出力する。
以上の様な構成のデータ中継装置100により、以下のような処理が行われる。
まず、パケットが入力されると、ネットワークプロセッサ110が内容を解析し、経路選択等の判断要素を検索キーとし、検索キーと検索キー毎の適用マスク情報とを含む検索要求を生成する。なお、入力されたパケットに関する情報(パケットに含まれる情報やパケットの受信状況等を含む)のうち、経路選択等の判断要素とすべき情報については、予めネットワークプロセッサ110内で定義されている。以下の例では、IPアドレスとポート番号とを経路選択の判断要素とする。また、ネットワークプロセッサ110には、判断要素毎の適用マスク情報も予め定義されている。その後、検索要求に応じた検索が行われる。
図6は、検索処理の概略を示す図である。ネットワークプロセッサ110は、到着したパケットの持つヘッダの所定の場所からIPアドレスやポート番号を抽出して、検索要求を生成する。検索要求は、1つのパケットに対して1つ生成される。生成された検索要求は、検索データ入力バス141を通じて、CAMデバイス120に入力される。CAMデバイス120は、データ記憶回路121にマスク処理を施し、格納されているエントリから該当する情報121c,121dを検索する。検索要求内に複数の検索キーが含まれていれば、検索キー毎に該当する情報が検索される。
そして、CAMデバイス120は、該当する情報が格納されていた領域のメモリアドレスを、順次、アドレスバス142を介してコンテキストRAM130に入力する。すると、コンテキストRAM130において、入力されたメモリアドレスに対応する領域に格納された情報131,132を、データバス143を介して出力する。データバス143を介して出力された情報は、検索結果としてネットワークプロセッサ110で受け取られる。
ネットワークプロセッサ110は、検索結果に応じて、入力されたパケットの処理(出力する物理ポートや転送レートなど)を決定する。
次に、CAMデバイス120の内部処理について詳しく説明する。
図7は、検索要求解析処理を示す図である。図7の例では、検索要求500の検索キー510には、検索キー511,512としてIPアドレス「Add#1」とポート番号「8080」が設定されている。検索コマンド520には、命令文521として「Search」、適用マスク情報522,523として「MASK#1」、「MASK#2」が設定されている。適用マスク情報522は、検索キー511の適用マスクを示しており、適用マスク情報523は、検索キー512の適用マスクを示している。
このような検索要求500が解析回路124に入力されると、コマンドフォーマット定義情報122に従って検索要求500のデータ構造が解析される。そして、解析回路124により、検索キー511と適用マスク情報522との組が、1つの検索条件として検索条件格納部125に格納される。次に、検索キー512と適用マスク情報523との組が、別の検索条件として検索条件格納部125に格納される。
検索条件格納部125に検索キーと適用マスク情報とで構成される検索条件が格納されると、格納順に検索条件が検索回路126で取り出される。そして、検索回路126により、取り出された検索条件に従って、データ記憶回路121の検索が行われる。図7の例では、まず、IPアドレス「Add#1」の検索が行われる。
図8は、IPアドレス検索処理を示す図である。図8に示すように、検索回路126は、検索条件格納部125に先に登録された検索条件を抽出し、検索キー511と適用マスク情報522とを得る。検索回路126は、適用マスク情報522に設定されている「MASK#1」に対応するマスク情報123aをマスク情報群123から抽出し、データ記憶回路121のマスク領域(検索対象外の領域)を決定する。図8の例では、IPアドレスが格納された領域121aが検索対象であり、ポート番号が格納された領域121bが検索対象外である。
次に、検索回路126は、検索対象の領域121a内から検索キー511に合致するデータを検索する。そして、検索回路126は、合致したデータが格納されている領域のメモリアドレスを取得し、コンテキストRAM130に対して出力する。すると、コンテキストRAM130から、入力されたメモリアドレスに対応する領域に格納された検索結果候補が取り出され、検索結果としてネットワークプロセッサ110に送られる。これによりLayer3の検索処理が完了する。
IPアドレス「Add#1」に関する一連の検索処理が完了すると、検索回路126は、検索条件格納部125内の次の検索キーと適用マスク情報とに基づく検索を行う。図7の例では、ポート番号「8080」の検索が行われる。
図9は、ポート番号検索処理を示す図である。図9に示すように、検索回路126は、検索条件格納部125に、その時点で最先に登録された情報を抽出し、検索キー512と適用マスク情報523とを得る。検索回路126は、適用マスク情報523に設定されている「MASK#2」に対応するマスク情報123bをマスク情報群123から抽出し、データ記憶回路121のマスク領域(検索対象外の領域)を決定する。図9の例では、IPアドレスが格納された領域121aが検索対象外であり、ポート番号が格納されたい領域121bが検索対象である。
次に、検索回路126は、検索対象の領域121b内から検索キー512に合致するデータを検索する。そして、検索回路126は、合致したデータが格納されている領域のメモリアドレスを取得し、コンテキストRAM130に対して出力する。すると、コンテキストRAM130から、メモリアドレスに対応する領域に格納された検索結果候補が取り出され、検索結果としてネットワークプロセッサ110に送られる。これでLayer4の検索処理が完了する。
次に、入力されたパケットの内容に応じて、そのパケットの送信者とデータ中継装置の管理者との間の契約内容に応じた付加サービスを提供する場合のネットワークプロセッサの処理手順を説明する。
図10は、第1の実施の形態に係るネットワークプロセッサにおけるサービス内容判定処理を示すシーケンス図である。以下、図10に示す処理をステップ番号に沿って説明する。
[ステップS1]ネットワークプロセッサ110は、パケットを受け取ると、送信元のIPアドレスやポート番号などの検索キーと、検索キー毎の適用マスク情報とを纏めて1つの検索要求を生成する。
[ステップS2]ネットワークプロセッサ110は、生成した検索要求を検索データ入力バス141へ出力する。これにより、CAMデバイス120で検索キーに応じた検索が行われる。
[ステップS3]ネットワークプロセッサ110は、コンテキストRAM130のデータバス143から、IPアドレスを検索キーとしたときの検索結果を受け取る。すると、ネットワークプロセッサ110は、受信した検索結果を処理して、パケットを送信した送信者(契約者)を認識する。
[ステップS4]ネットワークプロセッサ110は、コンテキストRAM130のデータバス143から、ポート番号を検索キーとしたときの検索結果を受け取る。すると、ネットワークプロセッサ110は、受信した検索結果を処理して、サービスクラスを認識する。
このように、ネットワークプロセッサ110からの検索要求を、1つのパケット転送に対して常に1回で済ませることで、検索データ入力バス141を介した検索要求の送信を効率よく行うことができる。しかも、検索要求において、検索キー毎に適用マスクを指定できるため、CAMデバイス内に検索対象領域を限定することができ、検索効率が向上する。
[第2の実施の形態]
第2の実施の形態は、1つの検索要求に基づいて実施された検索結果を纏めたうえで、ネットワークプロセッサに返すようにしたものである。すなわち、第1の実施の形態では、検索要求に複数の検索キーが含まれていた場合、複数回の検索が行われ、その都度、コンテキストRAMから検索結果が出力される。このとき、ネットワークプロセッサでは、1回の検索要求に対して、複数の検索結果を受け取ることとなる。そのため、ネットワークプロセッサ内で、複数の検索結果の関連性を判断する処理が必要となる。一方、第2の実施の形態では、CAMデバイスにおいて複数の検索結果を纏めた後、ネットワークプロセッサに送信する。これにより、ネットワークプロセッサにおける処理が簡略化され、パケット転送処理の高速化が図れる。
図11は、第2の実施の形態に係るデータ中継装置の構成例を示す図である。データ中継装置600は、複数の物理ポート601〜608、ネットワークプロセッサ610、CAMデバイス620、およびコンテキストRAM630を有している。
物理ポート601〜608は、ネットワークプロセッサ610に接続されている。ネットワークプロセッサ610とCAMデバイス620とが入出力バス641により接続されている。CAMデバイス620とコンテキストRAM630とがアドレスバス642とデータバス643とにより接続されている。
ここで、ネットワークプロセッサ610は、物理ポートから入力されたパケットに関する経路選択のための検索要求をCAMデバイス620に送信する。この検索要求には、複数の検索キーが含まれるものとする。
CAMデバイス620は、検索キーに応じた検索を行う。CAMデバイス620は、検索キーによる検索の結果得られるメモリアドレスを、アドレスバス642を介してコンテキストRAM630に入力する。すると、コンテキストRAM630からは、入力されたメモリアドレスに応じたデータがデータバス643から出力される。
複数回行なわれたコンテキストRAM630の出力結果は、CAMデバイス620に戻されて、検索結果毎にレジスタなどに格納さる。そして、検索要求に対応する全ての検索結果がレジスタに格納されると、CAMデバイス620は、複数の検索結果をひとまとまりの検索結果として、ネットワークプロセッサ610に渡す。
このような処理を実現するには、CAMデバイス620内に検索結果を格納するレジスタを設ける必要がある。
図12は、第2の実施の形態におけるCAMデバイスの構成を示す図である。図12に示す様にCAMデバイス620は、データ記憶回路621、コマンドフォーマット定義情報622、マスク情報群623、解析回路624、検索条件格納部625、検索回路626、検索結果格納部627、および出力回路628を有している。ここで、図12に示す各構成要素は、図5に示した第1の実施の形態における同名の要素の機能に加え、以下の機能を有している。
解析回路624は、図5に示した第1の実施の形態における解析回路124と同じ機能を有していると共に、検索要求の識別情報と、その検索要求に含まれる検索キーの数とを検索条件に付加する機能を有している。たとえば、解析回路624は、検索キー、適用マスク情報、入力された各検索要求の識別番号、および検索要求内の検索キーの数を示す情報により検索条件を生成し、検索条件格納部625内のレジスタに格納する。
検索条件格納部625内の各レジスタは、検索キーと適用マスク情報とに加え、検索要求の識別情報と検索キーの数とを格納できるだけのデータ容量を有している。
検索回路626は、データ記憶回路621の検索によって得られたメモリアドレスをコンテキストRAM630に送信すると同時に、検索キーに付加されていた検索要求の識別情報と検索キーの数とを、検索結果格納部627内のレジスタに格納する。そのレジスタには、コンテキストRAM630から出力される検索結果も格納される。これにより、コンテキストRAM630から出力される検索結果と、検索要求の識別情報およびその検索要求に含まれる検索キーの数が関連付けられる。
検索結果格納部627は、識別情報、検索キーの数、およびコンテキストRAM630から出力された検索結果を格納する複数のレジスタで構成される。
出力回路628は、検索結果格納部627に格納された情報を参照し、検索要求に対応する検索結果が、その検索要求に含まれる検索キーの数だけ格納されたら、それらの検索結果を纏めて、ネットワークプロセッサ610に渡す。
図13は、第2の実施の形態における検索処理を示す図である。たとえば、1回目の検索でエントリ651がヒットし、そのメモリアドレスがアドレスバス642を介してコンテキストRAM630に入力される。すると、入力されたメモリアドレスに対応する情報652が検索結果として、データバス643を介してCAMデバイス620に渡される。CAMデバイス620では、検索結果として送られた情報652が一旦検索結果格納部627内のレジスタに格納される。
続く2回目の検索でエントリ661がヒットし、そのメモリアドレスがアドレスバス642を介してコンテキストRAM630に入力される。すると、入力されたメモリアドレスに対応する情報662が検索結果として、データバス643を介してCAMデバイス620に渡される。CAMデバイス620では、検索結果として送られた情報662が一旦検索結果格納部627内のレジスタに格納される。
検索要求に含まれる検索キーが2つだけであれば、その検索要求に対応する検索結果の数が2になったことにより、それらの検索結果が統合され、入出力バス641を介して、ネットワークプロセッサ610へ送られる。
次に、入力されたパケットの内容に応じて、そのパケットの送信者とデータ中継装置の管理者との間の契約内容に応じた付加サービスを提供する場合のネットワークプロセッサの処理手順を説明する。
図14は、第2の実施の形態に係るネットワークプロセッサにおけるサービス内容判定処理を示すシーケンス図である。以下、図14に示す処理をステップ番号に沿って説明する。
[ステップS11]ネットワークプロセッサ610は、パケットを受け取ると、送信元のIPアドレスやポート番号などの検索キーと、検索キー毎の適用マスク情報とを纏めて1つの検索要求を生成する。
[ステップS12]ネットワークプロセッサ610は、生成した検索要求を入出力バス641へ出力する。これにより、CAMデバイス620で検索キーに応じた検索が行われる。そして、CAMデバイス620において、複数の検索結果が纏められる。
[ステップS13]ネットワークプロセッサ610は、入出力バス641から、IPアドレスを検索キーとしたときの検索結果と、ポート番号を検索キーとしたときの検索結果とを受け取る。すると、ネットワークプロセッサ610は、受信した検索結果を処理して、パケットを送信した送信者(契約者)とサービスクラスとを認識する。
このようにして、ネットワークプロセッサからの1回の検索要求に対して、検索結果を1回で返すことができる。これにより、ネットワークプロセッサ610において検索結果を纏める処理が不要となる。
すなわち、一般にCAMデバイスでは検索ビット幅の大小によりエントリ検索に要する時間が異なる場合がある。そのため、コンテキストRAMへのアドレス発行タイミングにずれが生じる場合がある。第2の実施の形態によれば、ネットワークプロセッサは複数の検索結果を纏めて受け取ることができ、CAMデバイスでの検索毎の検索に要する時間の差、すなわちコンテキストRAMからの結果出力のタイミングに留意した検索結果の関連性判断処理が不要となる。
[第3の実施の形態]
第3の実施の形態は、複数のネットワークプロセッサを有するデータ中継装置に本発明を適用したものである。
図15は、第3の実施の形態におけるデータ中継装置の構成例を示す図である。図15に示すように、第3の実施の形態に係るデータ中継装置は、複数のネットワークプロセッサ701,702,703、CAMデバイス704およびコンテキストRAM705を有している。
ネットワークプロセッサ701は、出力インタフェース711を介してCAMバス721に接続されている。ネットワークプロセッサ702は、出力インタフェース712を介してCAMバス721に接続されている。ネットワークプロセッサ703は、出力インタフェース713を介してCAMバス721に接続されている。CAMバス721は、入力インタフェース722を介してCAMデバイス704に接続されている。CAMバス721は、複数のデータ転送要求の調停機能(ネットワークプロセッサがバスを占有できるバスマスタになるための処理)を有している。
CAMデバイス704は、出力インタフェース(コンテキストRAM705のアドレスバス)723を介してコンテキストRAM705に接続されている。コンテキストRAM705は、出力インタフェース(コンテキストRAM705のデータバス)724を介して、コンテキストRAMバス725に接続されている。コンテキストRAMバス725は、入力インタフェース731を介してネットワークプロセッサ701に接続されている。コンテキストRAMバス725は、入力インタフェース732を介してネットワークプロセッサ702に接続されている。コンテキストRAMバス725は、入力インタフェース733を介してネットワークプロセッサ703に接続されている。
各ネットワークプロセッサ701,702,703は、それぞれCAMデバイス704への出力インタフェース711,712,713から検索キー、適用マスク情報、検索コマンドを含む検索要求を発行する。CAMバス721で調停されてCAMデバイス704へこの検索要求が入力される。すると、CAMデバイス704が検索を行う。検索処理においてヒットまたはミスヒットした情報が、読み出しアドレスとしてコンテキストRAM705に入力される。ここで検索が複数回に渡る場合もある。
コンテキストRAM705で該当するアドレスのデータすなわち検索結果がコンテキストRAM705の出力インタフェース724から出力され、検索要求を発行したネットワークプロセッサに渡される。
このように、複数のネットワークプロセッサ701〜703を有するデータ中継装置に本発明を適用すれば、ネットワークプロセッサ701〜703間の検索要求が転送するフレームに対して1回しか行われないため、CAMバス721における調停処理負荷が軽減される。その結果、スムーズな検索要求の受け渡しが可能となる。
[第4の実施の形態]
第4の実施の形態は、複数のネットワークプロセッサを有するデータ中継装置において、検索結果をとりまとめる機能をCAMに搭載したものである。
図16は、第4の実施の形態におけるデータ中継装置の構成例を示す図である。図16に示すように、第4の実施の形態に係るデータ中継装置は、複数のネットワークプロセッサ801,802,803、CAMデバイス804およびコンテキストRAM805を有している。
ネットワークプロセッサ801は、入出力インタフェース811を介してCAMバス821に接続されている。ネットワークプロセッサ802は、入出力インタフェース812を介してCAMバス821に接続されている。ネットワークプロセッサ803は、入出力インタフェース813を介してCAMバス821に接続されている。CAMバス821は、入出力インタフェース822を介してCAMデバイス804に接続されている。CAMバス821は、複数のデータ転送要求の調停機能(ネットワークプロセッサがバスを占有できるバスマスタになるための処理)を有している。CAMデバイス804は、コンテキストRAM805との入出力インタフェース823(アドレスバスとデータバスとを含む)を介して、コンテキストRAM805に接続されている。
なお、CAMデバイス804は、図12に示した第2の実施の形態に係るCAMデバイス620と同様の内部構成である。
このような構成のデータ中継装置において、各ネットワークプロセッサ801,802,803は、それぞれの入出力インタフェース811,812,813から検索キー、マスク情報、検索コマンドを含む検索要求を発行する。検索要求はCAMバス821で調停されて、入出力インタフェース822経由でCAMデバイス804に渡される。CAMデバイス804は、検索要求に応じて検索を行う。そして、CAMデバイス804の検索処理においてヒットまたはミスヒットした情報がコンテキストRAM805へのアドレスとして、入出力インタフェース823を介してコンテキストRAM805へ入力される。すると、コンテキストRAM805から該当するアドレスのデータ、すなわち検索結果が入出力インタフェース823を介してCAMデバイス804へ出力される。
CAMデバイス804は、1つの検索要求に複数の検索キーが含まれていた場合、各検索キーに応じた検索結果が得られるまで、取得した検索結果を保持する。そして、CAMデバイス804は、同一検索要求に基づく全ての検索結果が揃うと、各検索結果を纏めて、検索要求を発行したネットワークプロセッサに返す。
なお、上記の各実施の形態では、データ中継装置内にCAMデバイスやコンテキストRAMをそれぞれ1つだけ示しているが、CAMデバイスやコンテキストRAMを、それぞれ1チップに限定しているものではない。すなわち、メモリ空間が必要な場合、CAMデバイスやコンテキストRAMを、それぞれ複数チップで構成することもできる。ただし、個々のチップが個別の処理を行っているわけではなく、複数のチップが一体となって、上記実施の形態のCAMデバイスやコンテキストRAMの処理を実現する。
以上説明したように本発明では、複数の検索キーと適用マスク情報とを1つの検索要求で出力し、連想メモリデバイスにおいて検索要求を解析し、検索キーと適用マスク情報とからなる検索条件を生成するようにした。そのため、1つのパケットの転送に付き連想メモリデバイスに対する複数回の検索が必要な場合であっても、検索要求の転送が1回ですむ。その結果、検索キーの受け渡しが効率よく行われ、検索処理の効率化が図れる。
上記については単に本発明の原理を示すものである。さらに、多数の変形、変更が当業者にとって可能であり、本発明は上記に示し、説明した正確な構成および応用例に限定されるものではなく、対応するすべての変形例および均等物は、添付の請求項およびその均等物による本発明の範囲とみなされる。
実施の形態に適用される発明の概念図である。 第1の実施の形態を適用するネットワークシステムの構成例を示す図である。 データ中継装置の内部構成を示すブロック図である。 検索要求のデータ構造例を示す図である。 CAMデバイスの内部構成を示すブロック図である。 検索処理の概略を示す図である。 検索要求解析処理を示す図である。 IPアドレス検索処理を示す図である。 ポート番号検索処理を示す図である。 第1の実施の形態に係るネットワークプロセッサにおけるサービス内容判定処理を示すシーケンス図である。 第2の実施の形態に係るデータ中継装置の構成例を示す図である。 第2の実施の形態におけるCAMデバイスの構成を示す図である。 第2の実施の形態における検索処理を示す図である。 第2の実施の形態に係るネットワークプロセッサにおけるサービス内容判定処理を示すシーケンス図である。 第3の実施の形態におけるデータ中継装置の構成例を示す図である。 第4の実施の形態におけるデータ中継装置の構成例を示す図である。 複数回のCAMデバイスアクセスを伴う従来の経路探索処理を示す図である。
符号の説明
1 ネットワークプロセッサ
2 連想メモリデバイス
3 メモリデバイス
10 検索要求
21 メモリアドレス
22 検索結果
100,200 データ中継装置
110 ネットワークプロセッサ
120 CAMデバイス
121 データ記憶回路
122 コマンドフォーマット定義情報
123 マスク情報群
124 解析回路
125 検索条件格納部
126 検索回路
130 コンテキストRAM
311〜319 端末装置

Claims (10)

  1. 伝送されるパケットを中継するデータ中継装置において、
    前記パケットが入力されると、前記パケット内の複数の要素を検索キーとし、複数の前記検索キーと、前記検索キーそれぞれによる検索の対象範囲を示す複数の適用マスク情報とを含めた検索要求を出力するネットワークプロセッサと、
    複数の検索対象情報を記憶していると共に、複数の情報を格納順序を保持して記憶するレジスタ群を有しており、前記ネットワークプロセッサから出力された前記検索要求を受け取り、前記検索要求の構造を解析して前記検索キーと前記適用マスク情報とからなる複数の検索条件を生成して前記レジスタ群に格納し先に格納された前記検索条件から順に抽出し、抽出した前記検索条件に応じて前記検索対象情報の検索を行い、検出された前記検索対象情報に一意に関連付けられたメモリアドレスを出力する連想メモリデバイスと、
    複数の検索結果候補を記憶しており、前記連想メモリデバイスから出力された前記メモリアドレスに対応付けて格納されている前記検索結果候補を検索結果として出力するメモリデバイスと、
    を有することを特徴とするデータ中継装置。
  2. 前記メモリデバイスは、前記メモリアドレスに対応するデータ格納領域に格納されている前記検索結果候補を、検索結果として前記ネットワークプロセッサに対して出力することを特徴とする請求項1記載のデータ中継装置。
  3. 前記メモリデバイスは、前記メモリアドレスに対応するデータ格納領域に格納されている前記検索結果候補を、検索結果として前記連想メモリデバイスに対して出力することを特徴とする請求項1記載のデータ中継装置。
  4. 前記連想メモリデバイスは、出力した前記メモリアドレスに応じて返される前記検索結果をバッファに格納し、前記検索要求に含まれる前記検索キー毎の検索結果を1つに纏めて前記ネットワークプロセッサに対して出力することを特徴とする請求項3記載のデータ中継装置。
  5. 前記ネットワークプロセッサが複数設けられており、複数の前記ネットワークプロセッサから出力される前記検索要求は、調停が行われる共通のバスを経由して出力されることを特徴とすることを特徴とする請求項1記載のデータ中継装置。
  6. 前記連想メモリデバイスは、前記適用マスク情報で特定される記憶領域を検索対象外として、検索対象となる記憶領域の中から、前記検索キーに合致する前記検索対象情報を検索することを特徴とする請求項1記載のデータ中継装置。
  7. 前記連想メモリデバイスは、検索対象外の記憶領域を示す複数のマスク情報を予め記憶しており、前記適用マスク情報において指定された前記マスク情報を適用して前記適用マスク情報に対応する前記検索キーの検索を行うことを特徴とする請求項6記載のデータ中継装置。
  8. 前記連想メモリデバイスは、前記検索要求のデータ構造を定義した定義情報を有しており、前記定義情報に従って前記検索要求を解析することを特徴とする請求項1記載のデータ中継装置。
  9. 記憶した検索対象情報の検索機能を有する連想メモリデバイスにおいて、
    複数の前記検索対象情報を記憶するデータ記憶回路と、
    複数の情報を格納順序を保持して記憶するレジスタ群と、
    複数の検索キーと前記検索キーそれぞれによる検索の対象範囲を示す複数の適用マスク情報とを含めた検索要求が入力されると、前記検索要求の構造を解析して前記検索キーと前記適用マスク情報とからなる複数の検索条件を生成して前記レジスタ群に格納する解析回路と、
    前記レジスタ群に格納された順に前記検索条件を抽出し、抽出した前記検索条件に対応する前記検索対象情報を前記データ記憶回路内から検索し、検出された前記検索対象情報に一意に関連付けられたメモリアドレスを出力する検索回路と、
    を有することを特徴とする連想メモリデバイス。
  10. パケットに関連する情報を連想メモリデバイスを利用して検索するための連想メモリデバイス利用情報検索方法において、
    ネットワークプロセッサにおいて、入力された前記パケット内の複数の要素を検索キーとし、複数の前記検索キーと、前記検索キーそれぞれによる検索の対象範囲を示す複数の適用マスク情報とを含めた検索要求を出力し、
    前記検索要求の構造を解析して前記検索キーと前記適用マスク情報とからなる複数の検索条件を生成し、生成した前記検索条件を、前記連想メモリデバイス内に設けられた格納順序を保持可能なレジスタ群に格納し、
    前記レジスタ群に格納された順に前記検索条件を抽出し、前記連想メモリデバイスにおいて予め記憶している複数の検索対象情報から、抽出した前記検索条件に対応する前記検索対象情報を検索し、前記検索条件に対応する前記検索対象情報に一意に関連付けられたメモリアドレスを出力し、
    複数の検索結果候補が格納されたメモリデバイスから、前記メモリアドレスに対応付けて格納されている前記検索結果候補を検索結果として出力する、
    ことを特徴とする連想メモリデバイス利用情報検索方法。
JP2004558387A 2002-12-12 2002-12-12 データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法 Expired - Fee Related JP3837670B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2002/013042 WO2004054186A1 (ja) 2002-12-12 2002-12-12 データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法

Publications (2)

Publication Number Publication Date
JPWO2004054186A1 JPWO2004054186A1 (ja) 2006-04-13
JP3837670B2 true JP3837670B2 (ja) 2006-10-25

Family

ID=32500630

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004558387A Expired - Fee Related JP3837670B2 (ja) 2002-12-12 2002-12-12 データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法

Country Status (2)

Country Link
JP (1) JP3837670B2 (ja)
WO (1) WO2004054186A1 (ja)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2005231507B2 (en) 2004-04-08 2012-03-01 Targegen, Inc. Benzotriazine inhibitors of kinases
NZ588896A (en) 2004-08-25 2012-05-25 Targegen Inc Heterocyclic compounds and methods of use
US8133900B2 (en) 2005-11-01 2012-03-13 Targegen, Inc. Use of bi-aryl meta-pyrimidine inhibitors of kinases
MY167260A (en) 2005-11-01 2018-08-14 Targegen Inc Bi-aryl meta-pyrimidine inhibitors of kinases
US7504513B2 (en) 2006-02-27 2009-03-17 Hoffman-La Roche Inc. Thiazolyl-benzimidazoles
CA2816957A1 (en) 2010-11-07 2012-05-10 Targegen, Inc. Compositions and methods for treating myelofibrosis
JP6883470B2 (ja) * 2017-05-10 2021-06-09 アラクサラネットワークス株式会社 パケット中継装置及びパケット中継システム

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH09180468A (ja) * 1995-12-22 1997-07-11 Asahi Kasei Micro Syst Kk 連想記憶装置
US5956336A (en) * 1996-09-27 1999-09-21 Motorola, Inc. Apparatus and method for concurrent search content addressable memory circuit
JP3140695B2 (ja) * 1996-10-17 2001-03-05 川崎製鉄株式会社 連想メモリ装置
JP3123462B2 (ja) * 1997-05-21 2001-01-09 日本電気株式会社 コネクション番号変換装置及びその方法並びにその方法を実行するためのプログラムを格納した記録媒体
JP3381687B2 (ja) * 1999-11-25 2003-03-04 日本電気株式会社 フロー識別装置、フロー処理装置、フロー識別方法及びフロー処理方法
JP3601445B2 (ja) * 2000-12-06 2004-12-15 日本電気株式会社 パケット転送装置及びそれに用いる転送情報管理方法並びにその転送情報検索方法
JP2002176437A (ja) * 2000-12-07 2002-06-21 Fujitsu Ltd パケット転送制御方法

Also Published As

Publication number Publication date
WO2004054186A1 (ja) 2004-06-24
JPWO2004054186A1 (ja) 2006-04-13

Similar Documents

Publication Publication Date Title
US7069268B1 (en) System and method for identifying data using parallel hashing
US6854117B1 (en) Parallel network processor array
US7237058B2 (en) Input data selection for content addressable memory
US7644080B2 (en) Method and apparatus for managing multiple data flows in a content search system
US7529746B2 (en) Search circuit having individually selectable search engines
US8555374B2 (en) High performance packet processing using a general purpose processor
JP2001509978A (ja) スイッチング装置における高速可変長ベストマッチルックアップ
US20080071765A1 (en) Regular expression searching of packet contents using dedicated search circuits
CN100525240C (zh) 数据分组通信设备
JP2001251351A (ja) パケット交換機における入力パケット処理方式
JP2006180162A (ja) パケット交換装置およびパケット交換方法
TW200301429A (en) A method of improving the lookup performance of tree-type knowledge base searches
US7403526B1 (en) Partitioning and filtering a search space of particular use for determining a longest prefix match thereon
US7937495B2 (en) System and method for modifying data transferred from a source to a destination
JP2002176431A (ja) パケット転送装置及びそれに用いる転送情報管理方法並びにその転送情報検索方法
US20140358886A1 (en) Internal search engines architecture
JP3837670B2 (ja) データ中継装置、連想メモリデバイス、および連想メモリデバイス利用情報検索方法
US7249216B2 (en) Data relay apparatus, content addressable/associative memory device, and content addressable/associative memory device use information search method
JPH10257066A (ja) ネットワークアドレス検索方式
US7653070B2 (en) Method and system for supporting efficient and cache-friendly TCP session lookup operations based on canonicalization tags
US20050262294A1 (en) Method for policy matching using a hybrid TCAM and memory-based scheme
CN100401723C (zh) 一种快速索引方法
JP3228249B2 (ja) ルータ装置
WO2005067255A1 (en) Method, apparatus, system, and article of manufacture for grouping packets
US20030204482A1 (en) Data search system

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060411

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060609

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060629

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060718

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060719

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090811

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100811

Year of fee payment: 4

LAPS Cancellation because of no payment of annual fees