JP3449326B2 - データ検索システム及びパケット処理装置並びに制御方法 - Google Patents

データ検索システム及びパケット処理装置並びに制御方法

Info

Publication number
JP3449326B2
JP3449326B2 JP34842299A JP34842299A JP3449326B2 JP 3449326 B2 JP3449326 B2 JP 3449326B2 JP 34842299 A JP34842299 A JP 34842299A JP 34842299 A JP34842299 A JP 34842299A JP 3449326 B2 JP3449326 B2 JP 3449326B2
Authority
JP
Japan
Prior art keywords
data
search
address
entry
address pointer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
JP34842299A
Other languages
English (en)
Other versions
JP2001168910A (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.)
NEC Corp
Original Assignee
NEC Corp
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 NEC Corp filed Critical NEC Corp
Priority to JP34842299A priority Critical patent/JP3449326B2/ja
Priority to CA 2327866 priority patent/CA2327866C/en
Priority to US09/732,402 priority patent/US7099324B2/en
Publication of JP2001168910A publication Critical patent/JP2001168910A/ja
Application granted granted Critical
Publication of JP3449326B2 publication Critical patent/JP3449326B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/901Indexing; Data structures therefor; Storage structures
    • G06F16/9017Indexing; Data structures therefor; Storage structures using directory or table look-up
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables
    • YGENERAL 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
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】 本発明は、電子データの検
索システム及びパケット通信ネットワークにおいてパケ
ットの伝送を行うためのパケット交換装置等の検索シス
テムを含み構成されているパケット処理装置とその制御
方法に関する。
【0002】
【従来の技術】 電子機器や通信システム等では、様々
な形態でデータ検索システムが用いられている。これら
のデータ検索システムは、一般にマイクロプロセッサ
と、被検索データ(データベース)を記憶した記憶媒体
を含み構成される。記憶媒体としては各種半導体メモリ
やその他の電気的記憶素子あるいはフロッピーディス
ク、ハードディスク、光磁気ディスク等の既知の外部記
憶媒体が用いられている。
【0003】こうしたデータ検索システムにおいて、検
索動作を高速化するために常にデータベース全体を検索
するのを回避するために、本来のデータベース以外に少
容量の検索用テーブル(副データテーブル)を設けてお
き(必要に応じてはより高速動作可能な媒体に設け
る)、検索に際しては先ずこの検索用テーブルを検索し
該当データが無い場合にのみデータベースを検索するよ
うにして検索時間の短縮を図る手法が知られている。こ
のようなシステムの場合、システムの稼働中に一度デー
タベースから検索されたデータを検索用テーブルにも記
憶(登録)していくようにする。或いは前もって使用頻
度が高いデータ群が予想できるようなケースであればこ
れらを予め検索用テーブルに記憶させておく。
【0004】上記検索用テーブルに記憶させるデータ量
は、あまり多くの量を設定すると検索の高速化に繋がら
ないので、使用頻度の高い少量のデータのみを検索用テ
ーブルに記憶させておくように配慮が重要となる。
【0005】また、検索用テーブル用にはデータベース
用よりも高速動作の半導体メモリを使用することがある
が、この場合には一般に記憶素子の価格もより高価でコ
ストの面からも検索用テーブルの記憶容量は少ないこと
が望ましいことになる。こうした理由から、検索用テー
ブル上のデータは使われないまま時間が経過したもの使
用頻度の低いものから削除されてゆく。
【0006】上述したようなデータ検索システムを用い
ている例としてパケット交換装置を挙げてその動作を詳
述する。一般にインターネットに代表されるパケット通
信ネットワークでは、パケットの伝送はルータ等のパケ
ット交換装置によって、ヘッダ部分のアドレス情報に基
づき、パケット単位で適切なネットワークへ転送する事
により行われている(ルーティング)。このパケット単
位でのルーティング処理という性質上、ルータのパケッ
ト処理はソフトウェアで実現される事が多かった。
【0007】しかしながら、最近のルータには、従来の
パケットルーティング処理やフォワーディング処理以外
に、IPsec への対応といった付加的な処理についての高
速化も同時に求められている。これらの処理において
は、基本的には個別のIPパケットをIP Destination Add
ressやIP Source Address 等に基づき分類 (Micro Flo
w) し、受信パケットの外側にカプセル化ヘッダを新た
に付加する事により、アグリゲートしたIPトラフィック
の単位 (Aggregated Flow)を作り出し、その新しいIPト
ラフィックに対する統一的な処理を実行する事が求めら
れている。この要求に対応させたパケット交換装置が、
本出願人による特願平11−098140号(以下、既
提案と記す)の明細書及び図面にも記載されている。
【0008】この既提案(図7参照)は、検索ハードウ
ェア(サーチ処理部および対応した検索用メモリ)を用
いて、比較的単純な構成で上述したようなIPsec 処理等
の高速化を実現したものである。すなわち、パケット処
理高速化の要求を満たすために前述したような検索用テ
ーブルとしてのIPフローテーブル及び専用の検索回路
(サーチ処理部)を備えたパケット処理装置を提案して
いる。
【0009】なお、この既提案はセキュリティ処理部を
有しておりIPsecに準じたパケットデータの暗号化
/復号化処理を実装する際の処理高速化に繋げるため、
マイクロプロセッサに依らずセキュリティ処理手段によ
り処理する構成をも提案しているがこの点については以
下の説明中では本発明の明瞭化の観点から触れない。
【0010】上記既提案に記載されている装置に準じ
た、検索用テーブル(IPフローテーブル17a)及び
検索回路(サーチ処理部16)を備えたパケット交換装
置(レイヤ3スイッチ)の構成要部を示すブロック図を
図7に示す。この装置の検索動作は、サーチ処理部(検
索回路)を用いて検索メモリ上の検索用テーブルである
IPフローテーブルを検索する事によって行われ、マイ
クロプロセッサ上のソフトウェアによる検索と比べ高速
化が図られている。
【0011】図7のパケット交換装置は、マイクロプロ
セッサ11と、ルーティングテーブル12aがおかれる
メインメモリ12と、プロセッサバス13と、マイクロ
プロセッサ11に代わってパケット処理を実行するパケ
ット処理部14、パケットメモリ15、サーチ処理部1
6及び検索メモリ17中のIPフローテーブル17a
と、下位レイヤ処理部20と、パケット処理部14と下
位レイヤ処理部20とを接続するスイッチファブリック
18とを備えている。なお、セキュリティ処理部19が
スイッチファブリック18を介してパケット処理部14
と下位レイヤ処理部20に接続されている。
【0012】マイクロプロセッサ11は装置全体の制御
等を行うと共に、パケット処理をソフトウェアで実行す
る。メインメモリ12はマイクロプロセッサ11用のプ
ログラムや、ルーティングテーブル等を格納しておくた
めのメモリである。
【0013】ルーティングテーブル12aはメインメモ
リ12上に置かれ、マイクロプロセッサ11のソフトウ
ェア処理に基づき作成される、受信パケットのIP Desti
nation Address中のNetwork Prefixを検索キーとし、出
力ポート番号やネクストホップのレイヤ2アドレスを内
容とするデータベースである。
【0014】また、サーチ処理部16はマイクロプロセ
ッサ11もしくは、パケット処理部(パケット転送用コ
ントローラ)によって起動され、IPフローテーブル1
7a(検索用テーブル)に対して特定の検索キーに基づ
く検索を実行し、その結果を起動元に通知する。検索メ
モリ17に格納されたIPフローテーブル17aはマイ
クロプロセッサ11のソフトウェアにより登録エントリ
の管理が行われ、そのエントリに対するサーチ処理部1
6からの検索が実行される検索用テーブルである。プロ
セッサバス13が上述した各構成要素を接続している。
【0015】図8は、上述装置におけるパケット処理
(セキュリティ関連処理については省略)の主要な流れ
を示すフローチャートであり、また図9はマイクロプロ
セッサ11によるルーティング処理の流れを示すフロー
チャートである。両フローチャートはどちらも前述既提
案に開示されているものである。フローチャートの説
明、上述装置の詳細説明や説明した部分以外の構成、ま
た装置動作の詳細等については既提案に説明されている
のでここでの説明は省略する。なお、本発明に関連深い
部分やその動作については後述する本発明の実施例中の
同等部分に関連づけて説明する。
【0016】上記既提案の開示技術によれば、データ検
索システムを含み構成されたパケット交換装置におい
て、カプセル化する前のオリジナルパケット(Micro Fl
ow)とカプセル化後のパケット (Aggregated Flow)の転
送処理を、同一ハードウェアにより実行する事により装
置構成の単純化ならびに高速化が実現可能となってい
る。
【0017】
【発明が解決しようとする課題】ところで、上述開示技
術においてはアグリゲートしたIPトラフィック(カプセ
ル化後のIPパケット)に対する処理内容が変更となった
場合(セキュリティアソシエーションの失効等)の、検
索ハードウェアに対する変更通知に関連して課題を残し
ている。
【0018】すなわち、検索メモリ17上の検索用テー
ブル(IPフローテーブル17a)の各エントリはIPト
ラフィックの出現の順に作成されるため、マイクロプロ
セッサ11が、アグリゲートしたIPトラフィックへの変
更を元の各エントリに反映させるためには検索メモリ1
7に対し該当するエントリをテーブル検索しながら発見
しなければならない。
【0019】上記過程は、アグリゲートするIPトラフィ
ックの数が数個単位であれば問題にならないが、数十、
数百のエントリを発見するために各エントリを虱潰しに
検索する事になると、このための検索時間が無視できな
くなる。更に、その検索中は検索回路側からの検索動作
が待たされる事となるため、折角のハードウェア検索導
入による処理高速化の妨げとなり、装置全体としてのス
ループットの低下を引き起こす原因となってしまうとの
問題点を有している。
【0020】ちなみに、個々のIPフロー(Micro Flow)
の検索メモリ17におけるエントリアドレスを、直接ル
ーティングテーブル12a等のデータベースに記録する
との解決手法も考えられるが、好ましい方法とはいえな
い。Aggregated Flow に対してどの個数のMicro Flowが
属するかは一般的に不定であり、このデータベース用の
サイズの見積りが困難となったり、確保したデータベー
ス領域に無駄が生じるという問題が生じてしまう。
【0021】上記説明では、パケット処理装置としての
ルータを例に挙げているが、この装置に限らず、検索専
用の検索用テーブルを設けておき、一度検索対象となっ
たデータについてはこのデータを検索用テーブル側にも
記憶しておき、新たな検索に際しては先ず当該被検索デ
ータが検索用テーブルに在るか否かを検索し、無い場合
にのみ基となるデータベースを検索するようにした検索
システムは各種用途で用いられている。
【0022】そして、このような検索システムにては高
速化効果を維持する目的からも、また記憶媒体のコスト
という面からも検索用テーブルに保持させるデータ量は
制限され、当然ながら使用頻度や記憶されてからの経過
時間あるいは登録順序に応じて使用頻度の低いデータに
ついては順次削除していかなければならない。複数デー
タが参照関係にある複合構造においては、データ削除に
伴い検索用テーブルの整合性を保つための処理に時間が
かかり高速動作の妨げになるという問題点は共通して生
じる。
【0023】本発明は、検索システムにおける上述した
ような事情に鑑みて創案されたものでありその目的は、
前述したような検索システムにおいて高速検索のための
検索用テーブルからデータ削除を行った場合でも簡単・
短時間の処理で当該テーブルの整合性を保つことによっ
て、検索システムを含み構成されたシステム全体の処理
速度が低下することを防止できる新規な検索システムを
提案することを目的とする。
【0024】また、このような検索システムの好適な用
途装置の一つである、マイクロプロセッサと、パケット
処理を高速化するための検索用テーブルを記憶する検索
メモリが接続された検索回路とを具備してなるパケット
処理装置において、パケットのルーティング処理の一環
として用いられる検索用テーブルメモリの管理方法を簡
略化して、テーブル管理処理時間を大幅に短縮し、もっ
てパケット処理性能の低化を防止できるパケット処理装
置とその制御方法を提案することを目的としている。
【0025】
【課題を解決するための手段】上記課題を解決するため
に本発明では、所望データを記憶したデータベース
と、このデータベースから選択され全体が複写された一
群のデータを記憶する検索用テーブルと、アドレスポイ
ンタテーブルとを備え、該アドレスポインタテーブル
は、前記検索用テーブル上に記憶された各データのエン
トリアドレスの位置情報および依存関係がある次エント
リの前記アドレスポインタテーブル上の位置情報または
関係する次エントリが無いことが記述されており、検索
時には、与えられた被検索データが前記検索用テーブル
中に登録されているデータと一致すれば当該データを検
索結果として出力すると共に当該データを前記検索用テ
ーブルに登録し、時間間隔等の所定条件に対応して前記
検索用テーブル中の被検索頻度が低いデータを削除する
とともに当該削除データに基づき前記アドレスポインタ
テーブルに関連づけられた全てのデータの占有記憶領域
を新たに記憶が可能な領域として解放する構成とする。
【0026】更には、前記アドレスポインタテーブル
が、記録媒体上に固定サイズのメモリブロックが連続し
て取られた領域からなり、各メモリブロック中には、前
記検索用テーブル上の特定データの位置を指し示すエン
トリのアドレスが格納される第1のエリアと、この特定
データに関連する次のデータのエントリのアドレスを格
納したメモリブロックの位置を示すアドレスまたは当該
メモリブロック自身がリストの最終であることを意味す
るフラグのどちらかが格納される第2のエリアとの2種
類の部分が割当てられている構成とする。
【0027】また、データ検索システムを、所望データ
を記憶したデータベースと、このデータベースから選
され全体が複写された一群のデータを記憶する検索用
テーブルと、アドレスポインタテーブルとを備え、前記
アドレスポインタテーブルは、記録媒体上に固定サイズ
のメモリブロックが連続して取られた領域からなり、各
メモリブロック中には、前記検索用テーブル上の特定デ
ータの位置を指し示すエントリのアドレスが格納される
第1のエリアと、この特定データに関連する次のデータ
のエントリのアドレスを格納したメモリブロックの位置
を示すアドレスまたは当該メモリブロック自身がリスト
の最終であることを意味するフラグのどちらかが格納さ
れる第2のエリアとの2種類の部分が割当てられてお
り、検索時には、与えられた被検索データが前記検索用
テーブル中に登録されているデータと一致すれば当該デ
ータを検索結果として出力し、被検索データが前記検索
用テーブル中に無かった場合には前記データベース中か
ら一致するデータを抽出して検索結果として出力すると
共に当該データを前記検索用テーブルに登録し、時間間
隔等の所定条件に対応して前記検索用テーブル中の被検
索頻度が低いデータを削除するとともに当該削除データ
に基づき前記アドレスポインタテーブルに関連づけられ
た全てのデータの占有記憶領域を新たに記憶が可能な領
域として解放するようにする。
【0028】また、本発明のパケット処理装置では、マ
イクロプロセッサと、ルーティングテーブルと、パケッ
ト処理を高速化するために前記ルーティングテーブルか
ら選択され全体が複写された一群のエントリを記憶する
検索用テーブルを記憶するメモリとを具備してなるパケ
ット処理装置において、アドレスポインタテーブルを更
に備え、該アドレスポインタテーブルには、前記検索用
テーブル上に記憶された各データのエントリアドレスの
位置情報および依存関係がある次エントリの前記アドレ
スポインタテーブル上の位置情報または関係する次エン
トリが無いことが記述される構成とする。検索用テーブ
ルを記憶する検索メモリが接続された検索回路を具備す
るようにしても良い。また、前記アドレスポインタテー
ブルを前記マイクロプロセッサ用のメインメモリ上に、
あるいは前記検索メモリ上に設ける。
【0029】また、前記アドレスポインタテーブルを、
固定サイズのメモリブロックが連続して取られた領域か
らなり、各メモリブロック中には、それが指し示す前記
検索メモリ上のエントリのアドレス格納エリアと、関連
する次のエントリのアドレスを格納したメモリブロック
のアドレスまたは自身がリストの最終を意味するフラグ
を格納するエリアとの2種類の部分からなるようにす
る。
【0030】そして本発明方法では、上述のごときパケ
ット処理装置において、ルーティングテーブルの内容が
変更された場合にマイクロプロセッサが、変更となるエ
ントリ中の登録内容からアドレスポインタテーブルを参
照し、該当するエントリ及びこのエントリに対応づけら
れたエントリが前記検索メモリ中のどこに登録されたか
を調べ、これらのエントリおよびアドレスポインタテー
ブルの対応エントリの削除を行う過程を含むように制御
する。
【0031】
【発明の実施の形態】本発明によれば、データ検索シス
テムを、データベースと、このデータベースから選択さ
れ全体が複写された一群のデータを記憶する検索用テー
ブルと、検索用テーブル上の各データのエントリアドレ
スの位置情報および依存関係がある次エントリの前記ア
ドレスポインタテーブル上の位置情報または関係する次
エントリが無いことが記述されたアドレスポインタテー
ブルとを備える。検索時には、与えられた被検索データ
が前記検索用テーブル中に登録されているデータと一致
すれば当該データを検索結果として出力すると共に当該
データを前記検索用テーブルに登録し、時間間隔等の所
定条件に対応して前記検索用テーブル中の被検索頻度が
低いデータとこのデータに関係するデータとを削除する
とともに当該削除データに基づき前記アドレスポインタ
テーブルに関連づけられた全てのデータの占有記憶領域
を新たに記憶が可能な領域として解放する構成とする。
【0032】更には、前記アドレスポインタテーブル
は、記録媒体上に固定サイズのメモリブロックが連続し
て取られた領域からなり、各メモリブロック中には、前
記検索用テーブル上の特定データの位置を指し示すエン
トリのアドレスが格納される第1のエリアと、この特定
データに関連する次のデータのエントリのアドレスを格
納したメモリブロックの位置を示すアドレスまたは当該
メモリブロック自身がリストの最終であることを意味す
るフラグのどちらかが格納される第2のエリアとの2種
類の部分が割当てられた構成とすることができる。
【0033】或いは、データ検索システムを、データベ
ースと、このデータベースから選択され全体が複写され
た一群のデータを記憶する検索用テーブルとアドレスポ
インタテーブルとを備え、アドレスポインタテーブル
は、記録媒体上に固定サイズのメモリブロックが連続し
て取られた領域からなり、各メモリブロック中には、前
記検索用テーブル上の特定データの位置を指し示すエン
トリのアドレスが格納される第1のエリアと、この特定
データに関連する次のデータのエントリのアドレスを格
納したメモリブロックの位置を示すアドレスまたは当該
メモリブロック自身がリストの最終であることを意味す
るフラグのどちらかが格納される第2のエリアとの2種
類の部分が割当てられていて、アドレスポインタテーブ
ルに検索用テーブル上のデータのエントリアドレスの位
置情報および/またはエントリアドレス相互の関係を記
述しておき、検索時には、与えられた被検索データが前
記検索用テーブル中に登録されているデータと一致すれ
ば当該データを検索結果として出力し、被検索データが
前記検索用テーブル中に無かった場合には前記データテ
ーブル中から一致するデータを抽出して検索結果として
出力すると共に当該データを前記検索用テーブルに登録
し、一定時間間隔等の所定条件に対応して前記検索用テ
ーブル中の被検索頻度が低いデータを削除するとともに
当該削除データに基づき前記アドレスポインタテーブル
により指示され参照される全てのデータの占有記憶領域
を新たな記憶が可能な領域として解放するように構成す
る。
【0034】上述のように、本発明ではルーティングテ
ーブル等のデータベースに構成要素または属性が異なる
検索キーの検索対象エントリが複数混在しており、かつ
一群のエントリ間それぞれに依存関係がある場合に、
のデータベースから選択され全体が複写された一群のデ
ータを記憶する検索用テーブルを設け、また、この検索
用テーブル上に記憶された各データのエントリアドレス
の位置情報やエントリアドレス相互の関係を記述した
ドレスポインタテーブルをメモリ上に別途設けるように
している。これにより、相互に依存関係にある検索対象
エントリに対する操作をアドレスポインタテーブルを利
用することによって高速かつ簡便なものにすることが可
能となっている。
【0035】上記検索動作を全て単一の制御部(マイク
ロプロセッサ等)により行っても良いが、検索用テーブ
ルを検索するための専用のハードウェアを別途備えた構
成とすることもできる。検索用テーブル及びアドレスポ
インタテーブルを記憶する記憶媒体には、半導体メモリ
の他ハードディスク等の記憶装置を用いることができ
る。検索用テーブルには、より高速な記憶媒体を用いる
ようにしても良く、データ検索システムの動作を更に高
速化することができる。
【0036】また本発明では、構成要素または属性が異
なる検索キーの検索対象エントリが複数混在し、かつそ
れぞれのエントリ間に依存関係があるようなデータ検索
システムを含み構成されているルータその他のパケット
処理装置において、検索用テーブル上に記憶された各デ
ータのエントリアドレスの位置情報および依存関係があ
る次エントリの前記アドレスポインタテーブル上の位置
情報または関係する次エントリが無いことが記述され
アドレスポインタテーブルをメモリ上に別途設けるよう
にする。これにより、相互に依存関係を持つ検索対象エ
ントリの登録・削除といった操作をアドレスポインタテ
ーブルを利用することによって高速かつ簡便なものにす
ることができ、結果、パケット操作も高速に行える。
【0037】上記検索動作は全て単一のマイクロプロセ
ッサが行うように構成しても良いが、検索用テーブル上
の検索のために専用のハードウェアを備えた構成として
より高速化を図ることもできる。
【0038】パケット処理装置は高速動作を要求される
ため本発明に係るデータ検索システムの好適な用途の一
つであるが、これに限らずデータ検索システムにおいて
本発明を適用するならば、一般に検索用テーブル上での
データ登録・削除の繰り返し動作を含めた高速な検索動
作とその維持が保証される。
【0039】
【実施例】以下、パケット交換装置を実施例とし図面を
参照して本発明について詳細に説明する。本発明の一実
施例を示している図1は、テーブル検索を必要とし、本
発明に係るデータ検索システムを含み構成された本発明
に係るパケット処理装置としてのルータ装置(パケット
交換装置)の構成要部を示す概略ブロックダイヤグラム
である。この実施例は、データベースとしてのルーティ
ングテーブル12aと、検索用テーブルとしてのIPフ
ローテーブル17aそして、アドレスポインタテーブル
APTを備えたデータ検索システムの実施例であると同
時にパケット処理装置の実施例でもある。図示装置の大
部分の構成は先に図7に示した装置と共通している。
【0040】すなわち、図1において、11はマイクロ
プロセッサ、12はメインメモリ、12aはルーティン
グテーブル、13はプロセッサバス、14はパケット処
理部、15はパケットメモリ、16はサーチ処理部、1
7は検索メモリ、17aはIPフローテーブル、18は
スイッチファブリック、19はセキュリティ処理部、そ
して20は下位レイヤ処理部であり、これらの構成は先
の図7の装置と略同等である。
【0041】上記各部に加えて、実施例装置はメインメ
モリ12にアドレスポインタテーブル;APTが設けら
れており、この点が従来の装置と異なっている。このア
ドレスポインタテーブル;APTは、ルーティングテー
ブル12aおよびIPフローテーブル17aとともに本
発明のデータ検索システムの主要部を構成する。このデ
ータ検索システムに依ってルータ装置(パケット交換装
置)の性能向上を実現している。以下既知部分も含めて
各構成について説明する。
【0042】マイクロプロセッサ11は、装置全体の制
御を行うと共に、特定のルーティングアルゴリズムとプ
ロトコルに基づきパケットのネクストホップを決定し、
その処理結果をルーティングテーブルに反映する等の、
パケット処理をソフトウェアで実行する。メインメモリ
12はマイクロプロセッサ11自身のソフトウェアや、
ルーティング処理のためのデータベースやテーブルを、
格納しておくためのメモリである。
【0043】ルーティングテーブル12aはメインメモ
リ12上に置かれ、マイクロプロセッサ1のソフトウェ
ア処理に基づき作成される、受信パケットのIP Destina
tionAddress中のNetwork Prefixを検索キーとした、出
力ポート番号やネクストホップのレイヤ2アドレスを内
容とするデータベースである。
【0044】そして同じくメインメモリ12上に置かれ
た アドレスポインタテーブル;ATPにはルーティン
グテーブル12a中のエントリとIPフローテーブル1
7a(検索用テーブル)上のエントリの依存関係、格納
アドレス情報等が格納される。
【0045】検索回路としてのパケット処理部(転送用
コントローラ)14は、ネットワークから受信したパケ
ットに対して、IPヘッダ処理や出力先ネットワークイ
ンターフェイスへの転送処理を行う。このパケット処理
部14にはパケットメモリ15が接続されており、また
プロセッサバス13を介して前述のマイクロプロセッサ
11等と接続されている。また、パケット処理装置14
にはスイッチファブリック18を介してセキュリティ処
理部19、そして図示していないネットワークインター
フェイスへとつながった下位レイヤ処理部20がそれぞ
れ接続されている。
【0046】サーチ処理部(検索回路)16は前記プロ
セッサバス13に接続されており、マイクロプロセッサ
11もしくは、パケット処理部14によって起動され
て、IPフローテーブル17aに対して特定の検索キー
に基づく検索を実行し、その結果を起動元に通知する。
【0047】検索メモリ17はサーチ処理部16に接続
されていてIPフローテーブル17aを格納する。この
検索メモリ17上に置かれているIPフローテーブル1
7aは、IP Source AddressとIP Destination Address
とをサーチキーとして、マイクロプロセッサ11による
ルーティング処理の結果であるIPフローテーブルを格
納したテーブルで、マイクロプロセッサ11のソフトウ
ェアにより登録エントリの管理が行われ、そのエントリ
に対してサーチ処理部16からの検索が実行される。
【0048】本発明に係るデータ検索システム(メモリ
管理方法)は、実施例のように検索ハードウェアを用い
る事により、マイクロプロセッサ上のソフトウェアによ
るルーティングテーブル等のデータベースの検索処理に
比べ、性能向上を図った例えばルータ等のパケット処理
装置に適用して好適なものである。
【0049】ここで、簡略に図1の例示装置におけるマ
イクロプロセッサと検索ハードウェアの処理の相互関連
について説明する。マイクロプロセッサ11は、その上
で動作するソフトウェア処理により、特定のプロトコル
および適宜のルーティングアルゴリズムに基づき、自ら
が接続されたネットワークトポロジーの学習やメトリッ
ク計算を実行し、IP Destination AddressのNetwork Pr
efixを検索キーとし、出力ポート番号やネクストホップ
のレイヤ2アドレスを内容とするルーティングテーブル
(主データベース)12aを、メインメモリ12上に作
成する。このルーティングテーブルの更新は、特定ルー
ティングプロトコルに基づき随時あるいは定期的に更新
される。
【0050】一方、本発明に関連するパケット処理に関
し説明すると、図示されていないネットワークインタフ
ェース回路に到着したパケットは、レイヤ2以下の処理
が行われ、パケットメモリ15に一旦格納される。格納
されたパケットのIPヘッダ部分は、マイクプロセッサ1
1あるいはパケット処理部14(パケット転送用コント
ローラ)により解析される。そして、正常パケットであ
ると判断された場合には、まず当該パケットがサーチ処
理部16(検索回路)へと転送されて、サーチ処理部の
処理が起動される。
【0051】サーチ処理部16では、受信したIPヘッダ
部分から必要なデータ(IP Destination Address、IP S
ource Address 等)を抽出して、検索キーを組み立て
る。サーチ処理部16はこの検索キーに基づき、検索メ
モリ17上の検索用テーブルとしてのIPフローテーブ
ル17aを検索し、その結果として必要なデータ(出力
ポート番号やネクストホップのレイヤ2アドレス、カプ
セル化ヘッダ等)を取り出し、起動元に通知する。サー
チ処理部16の起動元は、受け取ったデータに基づきパ
ケットのヘッダ更新等の処理や、必要ならばカプセル化
後のIPヘッダに対する新たな検索処理の起動等を実行す
る。
【0052】これら一連の処理が完了したパケットデー
タは、パケットメモリ上から読み出され、送信すべきネ
ットワークワークインタフェース回路におけるレイヤ2
以下の処理を経て、ネットワーク上に転送されることに
なる。
【0053】なお、例示のパケット交換装置は上記ルー
ティング処理とともに、必要に応じてパケット単位にデ
ータの暗号化/復号化等のセキュリティ処理を併せて実
行するようになっているが、これらの処理を含め装置の
パケット処理動作については先の既提案に説明があり、
ここでの詳細な説明は省略する。
【0054】図2は、IPフローテーブル17aの既提
案にて例示されている一例を示す説明図であり、IPフ
ローエントリごとに、サーチキー(IP Source Address,
IPDestination Address)と、ルーティング処理の結果
であるMAC発信元アドレス、MAC宛先アドレス及び
出力物理ポートのポート番号とが登録されている。な
お、図示例では必要に応じてセキュリティ情報も格納さ
れる。
【0055】図3は、本発明におけるアドレスポインタ
テーブル;APTの構造、ならびにルーティングテーブ
ル12a中のエントリと、IPフローテーブル17a
(検索メモリ17)中のエントリの相互関係を示す説明
図である。
【0056】ルーティングテーブル12aの各個別デー
タの末尾には2つのエリア(PTR1,PRT2)が確保され、
自身のエントリがアグリゲートされたIPフローである場
合には、PTR1は検索メモリ17中のIPフローテーブル
17aに書かれたアドレスを示し、PTR2はそのアグリゲ
ートされたフローに属する元のマイクロフローを示すア
ドレスポインタテーブル;APTのLinked-List 構造の
先頭アドレスを示すようになっている。一方、ルーティ
ングテーブル12aのエントリ自身がマイクロフローの
場合には、この2つのPTR1、PTR2のエリアにはNULLが書
き込まれる。
【0057】アドレスポインタテーブル;APTは実施
例ではメインメモリ12上に置かれていて、固定サイズ
(例えば4バイト)のメモリブロックが複数個連続して
取られた領域からなる(図3参照)。各メモリブロック
は、順序立てて一巡して関連付けられて使用領域の開始
ブロックと終端ブロックを管理することで空き領域が管
理される。
【0058】各メモリブロック中には、それが指し示す
IPフローテーブル17a上のエントリのアドレス格納
用の第1のエリアと、当該メモリブロック自身がリスト
の最終を意味するフラグを(例;AD4)或いはもし有
れば関連する次のエントリのアドレスを(第1のエリア
に)格納しているメモリブロックのアドレスを格納する
(例;AD1)ための第2のエリアとの2種類の部分が
割り当てられている。アドレスポインタテーブル17a
中のLinked-List 構造の管理は、アグリゲートされたIP
フローに属するマイクロフローが検出された時に、マイ
クロプロセッサ11によってPTR1の値に基づきIPフロ
ーテーブル上のLinked-List 構造を辿り、その構造の末
尾にマイクロフローのエントリアドレスを追加する事に
よって行われる。
【0059】本発明の特徴であるアドレスポインタテー
ブル;APTに関連した処理について、図3を用いて更
に詳細に説明する。検索メモリ中のIPフローテーブル
上のエントリは、受信パケットのトラフィック特性に応
じて受信順に順次追加されるため、メモリ中のエントリ
の順序は常に不定となる。
【0060】一方、ルータにおけるダイナミックルーテ
ィング動作の結果、ルーティングテーブル12aの内容
が変更された場合には、対応するIPフローテーブル上
のエントリをその度に変更しないと整合性が崩れ、結果
として転送パケットのルートが最適化されないか、また
は以後のリンク上でパケットが廃棄されてしまう可能性
がある。
【0061】したがって、実施例ではダイナミックルー
ティングの結果等により、ルーティングテーブル(デー
タベース)の内容を変更する必要が生じた場合には、マ
イクロプロセッサ11はまずルーティングテーブル中の
変更となるエントリ末尾のPTR2の情報を基に、アドレス
ポインタテーブルを参照し、該当するエントリがIPフ
ローテーブル(検索メモリ)中のどこに登録されたかを
調べる。
【0062】アドレスポインタテーブルの情報はLinked
-List size=2>構造により、個々のエントリのIPフロ
ーテーブル中での存在アドレス(エントリアドレスの位
置情報)および、次のエントリの有無と、次のエントリ
が存在する場合にはその存在アドレスの格納先を示す構
造になっている。したがって、マイクロプロセッサ11
は、このアドレスポインタテーブルを順に辿っていく事
により、IPフローテーブル17a中に展開された個々
のエントリを検索動作無しで突き止める事が可能とな
る。従って、これらのエントリの削除・変更(メモリ領
域の解放)を高速に行う事ができ装置の高速化につなが
る。以下では先ず、本発明の実施例の特に検索に関わる
動作を図1および図4〜図6を参照して、詳細に説明す
る。図4、図5は実施例装置におけるアドレス検索に関
連する処理の一例を示すフローチャート、図6はエント
リ削除処理の一例を示すフローチャートである。
【0063】実施例装置がパケットを受け取ると検索処
理が行われる。すなわち、図4に示すように、受信した
IPヘッダ部分からIP Destination Address、IP Source
Address を所定の検索キーとして抽出する(S101)。次い
でこの検索キーを基に検索用テーブル(IPフローテー
ブル)を検索する(S102)。検索の結果、該当データがあ
れば(エントリにヒット)出力ポート番号等の情報を読
み出し(S103,S104) 、サーチ処理部の起動元に情報を通
知する(S105)。
【0064】過程(S103)でIPフローテーブル中に該当
データが見出せない場合には、図5に示す一連の処理を
行う。
【0065】先ず、IPヘッダ等の情報がマイクロプロセ
ッサへ転送され(S106)、マイクロプロセッサによってソ
フトウェアによるルーティング処理が実行される(S10
7)。すなわち、ソフトウェア処理によりIPヘッダ部分の
解析が行われ、必要な検索キーが組立てられてルーティ
ングテーブルを検索する。得られたルーティング結果は
IPフローテーブルに登録される(S108)。
【0066】続いてルーティング結果がマイクロフロー
であるか否かが判定され(S109)、マイクロフローであれ
ばルーティングテーブルのPTR2を読み出し(S110)、PTR2
の情報に基づきアドレスポインタテーブルをたどりリス
トの末尾を特定する(S111)。そして、このリスト末尾の
ブロックにIPフローテーブル上のデータアドレスを追
加して(S112)検索処理が終了する。過程(S109)でマイク
ロフローではないと判定された場合には、ルーティング
テーブル上の該当データのPTR1にIPフローテーブル上
のアドレスを書込み(S113)、検索処理を終了する。
【0067】上述の一連の処理の結果、次回以降は一度
受信した同じIPヘッダ情報を持つ受信パケットに対して
は、サーチ処理回路によるIPフローテーブルの検索に
て全てヒットするため検索が高速化され、高速なルーテ
ィング従って高速なパケット転送動作が可能となる。
【0068】次に、実施例における図6のフローチャー
トに示す不要となったデータの削除処理について説明す
る。ルーティングテーブルの内容に削除または変更の必
要が生じると、先ず、ルーティングテーブル中の該当エ
ントリのPTR2を読みだす(S201)。そしてPT
R2の情報により指示されるアドレスポインタテーブル
のリストに格納されているアドレスを読出し(S20
2)、IPフローテーブル上の該当アドレスに登録され
ているエントリを削除する(S203)。アドレスポイ
ンタテーブルの当該メモリブロックがリストの末尾であ
るかを調べ(S204)、末尾ではない場合にはアドレ
スポインタテーブルのリストをつ進み(S205)
次のメモリブロックの格納内容に従って過程(S20
2)・過程(S203)を繰り返す。
【0069】リストの末尾に達した場合には該当リスト
のチェーンを解放する(S204,S206)。次いでルーティン
グテーブル中の該当エントリのPTR1を読出し(S207)、I
Pフローテーブル上の該当アドレスに登録されているエ
ントリを削除する(S208)。更にルーティングテーブル中
の該当エントリを削除または変更する(S209)。これによ
り関連づけられていた一連のデータが、各テーブル中か
ら効率的に削除される。
【0070】以上説明したように実施例の装置では、次
のような効果を得ることができる。すなわち、マイクロ
プロセッサが管理するルーティングテーブルのエントリ
と、サーチ処理回路が検索するIPフローテーブルのエ
ントリとの関係を表わすアドレスポインタテーブルを持
つ事により、カプセル化によるIPフローのアグリゲート
処理等を行う際のメモリ管理方法が簡略化できる。
【0071】これにより、テーブル管理に際してマイク
ロプロセッサによる検索メモリ上のIPフローテーブル
のサーチが不要となり、ダイナミックルーティング等を
使用時のソフトウェアによるテーブル管理の処理時間が
大幅に短縮できる。
【0072】また、上記の管理処理短縮効果により、サ
ーチ処理回路の処理待ち合せ時間も短縮できる結果、装
置全体で見たパケット転送等のパケット処理のスループ
ット低下が防止できる。
【0073】また、アドレスポインタテーブルを利用
し、検索キーの構成または属性が異なるエントリの依存
関係を表現できるため、IPsec やDiffserve 等のIPフロ
ーのアグリゲート処理が必要なパケット処理装置の構成
を簡略化する事が可能となる。上記実施例装置の効果
は、本発明のデータ検索システムの高速化に起因してお
り、このようなデータ検索システムは汎用性がありパケ
ット処理装置以外にも広く用いることができる。
【0074】すなわち、本発明によればデータ検索シス
テムを、所望データを記憶したデータベース(実施例で
はルーティングテーブル)と、このデータベースから選
択・複写されたデータを記憶する検索用テーブル(実施
例ではIPフローテーブル)と、検索用テーブル上に記
憶された各データのエントリアドレスの位置情報および
関係する次エントリの前記アドレスポインタテーブル上
の位置情報または関係する次エントリが無いことが記述
されたアドレスポインタテーブルとを備えた構成とする
ことにより、検索処理の高速化が達成でき各種用途に利
用し得る。
【0075】
【発明の効果】 以上説明したように、本発明のデータ
検索システムによれば検索処理を高速化できこれを維持
できるとの効果が得られる。また、本発明のパケット処
理装置・制御方法によればパケット処理に関連して高速
な検索処理を行えこれを維持することができ、結果とし
て高速なパケット処理が行えるとの効果が得られる。
【図面の簡単な説明】
【図1】 本発明に係るパケット処理装置の一実施例と
してのルータ装置の構成要部を示す概略ブロックダイヤ
グラムである。
【図2】本発明に係るIPフローテーブルの一例を示す
説明図である。
【図3】本発明におけるアドレスポインタテーブルの構
造、データベース中のエントリ、検索用テーブル中のエ
ントリの相互関係を示す説明図である。
【図4】実施例装置のアドレス検索に関連する処理を示
すフローチャートである。
【図5】実施例装置のアドレス検索に関連する処理を示
すフローチャートである。
【図6】実施例装置におけるアドレス検索に関連する処
理の一例を示すフローチャートである。
【図7】従来のパケット処理装置の構成を示す概略ブロ
ック図である。
【図8】図7のパケット処理装置におけるパケット処理
の主要部を示すフローチャートである。
【図9】図7のパケット処理装置におけるルーティング
処理を示すフローチャートである。
【符号の説明】
11…マイクロプロセッサ 12…メインメモリ 12a…ルーティングテーブル(データベース) 13…プロセッサバス 14…パケット処理部 15…パケットメモリ 16…サーチ処理部(検索回路) 17…検索メモリ 17a…IPフローテーブル(検索用テーブル) 18…スイッチファブリック 19…セキュリティ処理部 20…下位レイヤ処理部 APT…アドレスポインタテーブル
フロントページの続き (58)調査した分野(Int.Cl.7,DB名) H04L 12/56 G06F 17/30

Claims (9)

    (57)【特許請求の範囲】
  1. 【請求項1】 所望データ群を記憶したデータベース
    と、このデータベースから選択され全体が複写された一
    群のデータを記憶する検索用テーブルと、アドレスポイ
    ンタテーブルとを備え、該アドレスポインタテーブル
    は、前記検索用テーブル上に記憶された各データのエン
    トリアドレスの位置情報および依存関係がある次エント
    リの前記アドレスポインタテーブル上の位置情報または
    関係する次エントリが無いことが記述されており、 検索時には、与えられた被検索データが前記検索用テー
    ブル中に登録されているデータと一致すれば当該データ
    を検索結果として出力し、被検索データが前記検索用テ
    ーブル中に無かった場合には前記データベース中から一
    致するデータを抽出して検索結果として出力すると共に
    当該データを前記検索用テーブルに登録し、時間間隔等
    の所定条件に対応して前記検索用テーブル中の被検索頻
    度が低いデータとこのデータに関係するデータとを削除
    するとともに当該削除データに基づき前記アドレスポイ
    ンタテーブルに関連づけられた全てのデータの占有記憶
    領域を新たに記憶が可能な領域として解放することを特
    徴とするデータ検索システム。
  2. 【請求項2】 前記アドレスポインタテーブルは、記録
    媒体上に固定サイズのメモリブロックが連続して取られ
    た領域からなり、各メモリブロック中には、前記検索用
    テーブル上の特定データの位置を指し示すエントリのア
    ドレスが格納される第1のエリアと、この特定データに
    関係する次のデータのエントリのアドレスを格納したメ
    モリブロックの位置を示すアドレスまたは当該メモリブ
    ロック自身がリストの最終であることを意味するフラグ
    のどちらかが格納される第2のエリアとの2種類の部分
    が割当てられていることを特徴とする請求項1に記載の
    データ検索システム。
  3. 【請求項3】 所望データ群を記憶したデータベース
    と、このデータベースから選択され全体が複写された一
    群のデータを記憶する検索用テーブルと、アドレスポイ
    ンタテーブルとを備え、 前記アドレスポインタテーブルは、記録媒体上に固定サ
    イズのメモリブロックが連続して取られた領域からな
    り、各メモリブロック中には、前記検索用テーブル上の
    特定データの位置を指し示すエントリのアドレスが格納
    される第1のエリアと、この特定データに関係する次の
    データのエントリのアドレスを格納したメモリブロック
    の位置を示すアドレスまたは当該メモリブロック自身が
    リストの最終であることを意味するフラグのどちらかが
    格納される第2のエリアとの2種類の部分が割当てられ
    ており、 検索時には、与えられた被検索データが前記検索用テー
    ブル中に登録されているデータと一致すれば当該データ
    を検索結果として出力し、被検索データが前記検索用テ
    ーブル中に無かった場合には前記データベース中から一
    致するデータを抽出して検索結果として出力すると共に
    当該データを前記検索用テーブルに登録し、時間間隔等
    の所定条件に対応して前記検索用テーブル中の被検索頻
    度が低いデータを削除するとともに当該削除データに基
    づき前記アドレスポインタテーブルに関連づけられた全
    てのデータの占有記憶領域を新たに記憶が可能な領域と
    して解放することを特徴とするデータ検索システム。
  4. 【請求項4】 マイクロプロセッサと、ルーティングテ
    ーブルと、パケット処理を高速化するために前記ルーテ
    ィングテーブルから選択され全体が複写された一群のエ
    ントリを記憶する検索用テーブルを記憶するメモリとを
    具備してなるパケット処理装置において、 アドレスポインタテーブルを更に備え、該アドレスポイ
    ンタテーブルには、前記検索用テーブル上に記憶された
    各データのエントリアドレスの位置情報および依存関係
    がある次エントリの前記アドレスポインタテーブル上の
    位置情報または関係する次エントリが無いことが記述さ
    れることを特徴とするパケット処理装置。
  5. 【請求項5】 マイクロプロセッサと、ルーティングテ
    ーブルと、パケット処理を高速化するために前記ルーテ
    ィングテーブルから選択され全体が複写された一群のエ
    ントリを記憶する検索用テーブルを記憶する検索メモリ
    が接続された検索回路とを具備してなるパケット処理装
    置において、 アドレスポインタテーブルを更に備え、該アドレスポイ
    ンタテーブルには、前記検索回路が使用する前記検索用
    テーブル上に記憶された各データのエントリアドレスの
    位置情報および依存関係がある次エントリの前記アドレ
    スポインタテーブル上の位置情報または関係する次エン
    トリが無いことが記述されており、 検索時には、与えられた被検索データが前記検索用テー
    ブル中に登録されているデータと一致すれば当該データ
    を検索結果として出力し、被検索データが前記検索用テ
    ーブル中に無かった場合には前記データベース中から一
    致するデータを抽出して検索結果として出力すると共に
    当該データを前記検索用テーブルに登録し、時間間隔等
    の所定条件に対応して前記検索用テーブル中の被検索頻
    度が低いデータとこのデータに関係するデータとを削除
    するとともに当該削除データに基づき前記アドレスポイ
    ンタテーブルに関連づけられた全てのデータの占有記憶
    領域を新たに記憶が可能な領域として解放することを特
    徴とするパケット処理装置。
  6. 【請求項6】 前記アドレスポインタテーブルを前記マ
    イクロプロセッサ用のメインメモリ上に設けたことを特
    徴とする請求項5に記載のパケット処理装置。
  7. 【請求項7】 前記アドレスポインタテーブルを前記検
    索メモリ上に設けたことを特徴とする請求項5に記載の
    パケット処理装置。
  8. 【請求項8】 前記アドレスポインタテーブルは、固定
    サイズのメモリブロックが連続して取られた領域からな
    り、各メモリブロック中には、それが指し示す前記検索
    メモリ上のエントリアドレスを格納するエリアと、関係
    する次のエントリのアドレスを格納したメモリブロック
    のアドレスまたは自身がリストの最終を意味するフラグ
    を格納するエリアとの2種類の部分からなることを特徴
    とする請求項5〜7に記載のパケット処理装置。
  9. 【請求項9】 請求項5〜8のいずれか1項に記載のパ
    ケット処理装置の制御方法であって、前記ルーティング
    テーブルの内容が変更された場合等にマイクロプロセッ
    サが、変更となるエントリ中の登録内容に基づき前記ア
    ドレスポインタテーブルを参照し、該当するエントリ及
    びこのエントリに対応づけられたエントリが前記検索メ
    モリ中のどこに登録されたかを調べ、これらのエントリ
    およびアドレスポインタテーブルの対応エントリの削除
    を行う過程を含むパケット処理装置の制御方法。
JP34842299A 1999-12-08 1999-12-08 データ検索システム及びパケット処理装置並びに制御方法 Expired - Lifetime JP3449326B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP34842299A JP3449326B2 (ja) 1999-12-08 1999-12-08 データ検索システム及びパケット処理装置並びに制御方法
CA 2327866 CA2327866C (en) 1999-12-08 2000-12-07 Table searching technique
US09/732,402 US7099324B2 (en) 1999-12-08 2000-12-07 System and method for processing packets

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP34842299A JP3449326B2 (ja) 1999-12-08 1999-12-08 データ検索システム及びパケット処理装置並びに制御方法

Publications (2)

Publication Number Publication Date
JP2001168910A JP2001168910A (ja) 2001-06-22
JP3449326B2 true JP3449326B2 (ja) 2003-09-22

Family

ID=18396912

Family Applications (1)

Application Number Title Priority Date Filing Date
JP34842299A Expired - Lifetime JP3449326B2 (ja) 1999-12-08 1999-12-08 データ検索システム及びパケット処理装置並びに制御方法

Country Status (3)

Country Link
US (1) US7099324B2 (ja)
JP (1) JP3449326B2 (ja)
CA (1) CA2327866C (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7228437B2 (en) * 1998-08-13 2007-06-05 International Business Machines Corporation Method and system for securing local database file of local content stored on end-user system
US7193968B1 (en) * 2001-02-08 2007-03-20 Cisco Technology, Inc. Sample netflow for network traffic data collection
US7739497B1 (en) * 2001-03-21 2010-06-15 Verizon Corporate Services Group Inc. Method and apparatus for anonymous IP datagram exchange using dynamic network address translation
JP2003092598A (ja) * 2001-09-18 2003-03-28 Nec Corp パケット転送処理装置
JP3885573B2 (ja) * 2001-12-04 2007-02-21 株式会社日立製作所 パケット処理方法および装置
US7106740B1 (en) * 2002-01-02 2006-09-12 Juniper Networks, Inc. Nexthop to a forwarding table
US7496096B1 (en) * 2002-01-31 2009-02-24 Cisco Technology, Inc. Method and system for defining hardware routing paths for networks having IP and MPLS paths
JP2003271316A (ja) * 2002-03-14 2003-09-26 Hitachi Ltd ストレージシステム、その動作プログラム及びその運用方法、情報処理端末及びその動作プログラム、データ管理システム
US7058725B2 (en) * 2002-06-13 2006-06-06 Intel Corporation Method and apparatus to perform network routing using multiple length trie blocks
US7039018B2 (en) * 2002-07-17 2006-05-02 Intel Corporation Technique to improve network routing using best-match and exact-match techniques
US7877504B2 (en) * 2002-08-29 2011-01-25 Intel Corporation Techniques for entry lookups
US20060045014A1 (en) * 2002-09-30 2006-03-02 Siemens Aktiengesellschaft Method for partially maintaining packet sequences in connectionless packet switching with alternative routing
US20050100019A1 (en) * 2003-11-10 2005-05-12 Sahita Ravi L. Rule based packet processing engine
TWI234373B (en) * 2004-03-23 2005-06-11 Realtek Semiconductor Corp Method and apparatus for routing data packets
JP2006115315A (ja) * 2004-10-15 2006-04-27 Fujitsu Ltd データ転送方法及びデータ転送装置
US7856027B2 (en) * 2008-02-25 2010-12-21 International Business Machines Corporation Inbound blocking of data received from a LAN in a multi-processor virtualization environment
US8144705B1 (en) * 2008-03-17 2012-03-27 Juniper Networks, Inc. Systems and methods for recursively accessing a multi-bank SRAM
US8787376B1 (en) 2008-03-17 2014-07-22 Juniper Networks, Inc. Systems and methods for accessing a multi-bank SRAM
US7898985B1 (en) * 2008-04-23 2011-03-01 Juniper Networks, Inc. Composite next hops for forwarding data in a network switching device
US8014317B1 (en) * 2008-08-21 2011-09-06 Juniper Networks, Inc. Next hop chaining for forwarding data in a network switching device
CN102273139B (zh) * 2008-12-30 2015-04-15 惠普开发有限公司 存储网络流信息
WO2010103909A1 (ja) 2009-03-09 2010-09-16 日本電気株式会社 OpenFlow通信システムおよびOpenFlow通信方法
AU2011228096B2 (en) * 2010-03-17 2015-12-03 Nec Corporation Communication system, node, control server, communication method and program
CN103514224B (zh) * 2012-06-29 2017-08-25 国际商业机器公司 数据库中的数据处理方法、数据查询方法和相应装置
US9197568B2 (en) * 2012-10-22 2015-11-24 Electronics And Telecommunications Research Institute Method for providing quality of service in software-defined networking based network and apparatus using the same
US9467326B2 (en) 2012-12-03 2016-10-11 Hewlett-Packard Development Company, L.P. Rate limiting mechanism based on device load/capacity or traffic content
RU2628477C2 (ru) * 2012-12-19 2017-08-17 Нек Корпорейшн Устройство обработки пакета, способ конфигурирования записи потока и программа
US9229960B2 (en) * 2013-02-11 2016-01-05 International Business Machines Corporation Database management delete efficiency
US9229968B2 (en) 2013-03-11 2016-01-05 Intenational Business Machines Corporation Management of searches in a database system
US9378234B2 (en) 2013-03-11 2016-06-28 International Business Machines Corporation Management of updates in a database system
US20140269690A1 (en) * 2013-03-13 2014-09-18 Qualcomm Incorporated Network element with distributed flow tables
US9219692B2 (en) * 2013-04-24 2015-12-22 International Business Machines Corporation Reducing latencies through packet aggregation
US10348626B1 (en) * 2013-06-18 2019-07-09 Marvell Israel (M.I.S.L) Ltd. Efficient processing of linked lists using delta encoding
JP6021111B2 (ja) * 2013-10-08 2016-11-02 日本電信電話株式会社 フロー集約装置及び方法
WO2016018181A1 (en) * 2014-07-28 2016-02-04 Telefonaktiebolaget L M Ericsson (Publ) Automated flow devolvement in an aggregate flow environment
US10275426B1 (en) * 2015-09-22 2019-04-30 Amazon Technologies, Inc. Dynamic kerning pair reduction for digital font rendering
US10469343B2 (en) 2016-05-04 2019-11-05 Telefonaktiebolaget Lm Ericsson (Publ) Path continuity determination in an aggregate flow environment
US11012418B2 (en) * 2018-02-15 2021-05-18 Forcepoint Llc Multi-access interface for internet protocol security
US10691658B2 (en) * 2018-05-09 2020-06-23 International Business Machines Corporation Automatically optimizing resource usage on a target database management system to increase workload performance

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3984817A (en) * 1973-11-08 1976-10-05 Honeywell Information Systems, Inc. Data processing system having improved program allocation and search technique
JPH03225412A (ja) * 1990-01-30 1991-10-04 Nec Corp ファイルデータ読込み方式
FR2689267B1 (fr) 1992-03-27 1994-05-06 Telemecanique Procede de reconnaissance de donnees circulant sur un reseau de transmission de donnees et dispositif pour la mise en óoeuvre de ce procede.
JP3371006B2 (ja) 1993-03-03 2003-01-27 株式会社日立製作所 テーブル検索方法及びルータ装置
JP2666769B2 (ja) 1995-05-16 1997-10-22 日本電気株式会社 インタネットプロトコルルーティング方法及び装置
KR0142947B1 (ko) * 1995-08-10 1998-08-01 김광호 무선호출수신기에서 삭제된 호출메세지 복구방법
US5710915A (en) 1995-12-21 1998-01-20 Electronic Data Systems Corporation Method for accelerating access to a database clustered partitioning
BE1010400A3 (fr) 1996-07-02 1998-07-07 Solvay Composition a base de polyolefines et de copolymere ethylene-acetate de vinyle.
JPH10145417A (ja) 1996-11-15 1998-05-29 Hitachi Ltd インタネットワーク装置
US6304912B1 (en) * 1997-07-24 2001-10-16 Fujitsu Limited Process and apparatus for speeding-up layer-2 and layer-3 routing, and for determining layer-2 reachability, through a plurality of subnetworks
US6553002B1 (en) * 1997-08-29 2003-04-22 Ascend Communications, Inc. Apparatus and method for routing data packets through a communications network
US6157644A (en) * 1997-10-07 2000-12-05 Northern Telecom Limited Method and apparatus for accelerating OSI layer 3 routers
US6295526B1 (en) * 1997-10-14 2001-09-25 Bellsouth Intellectual Property Corporation Method and system for processing a memory map to provide listing information representing data within a database
JP3570606B2 (ja) 1998-02-12 2004-09-29 日本電信電話株式会社 データ検索装置および方法
US6466985B1 (en) * 1998-04-10 2002-10-15 At&T Corp. Method and apparatus for providing quality of service using the internet protocol
KR100333250B1 (ko) * 1998-10-05 2002-05-17 가나이 쓰토무 패킷 중계 장치
JP2000295274A (ja) 1999-04-05 2000-10-20 Nec Corp パケット交換装置
JP2001045061A (ja) * 1999-08-02 2001-02-16 Hitachi Ltd 通信ノード装置

Also Published As

Publication number Publication date
CA2327866A1 (en) 2001-06-08
US7099324B2 (en) 2006-08-29
US20030037042A1 (en) 2003-02-20
CA2327866C (en) 2005-08-23
JP2001168910A (ja) 2001-06-22

Similar Documents

Publication Publication Date Title
JP3449326B2 (ja) データ検索システム及びパケット処理装置並びに制御方法
JP6564937B2 (ja) コンテンツ指向ネットワーキング(ccn)ネットワークにおいてデータをプッシュするための方法および装置
US8923293B2 (en) Adaptive multi-interface use for content networking
US8799507B2 (en) Longest prefix match searches with variable numbers of prefixes
US10958481B2 (en) Transforming a service packet from a first domain to a second domain
US20020146009A1 (en) High-speed message forwarding lookups for arbitrary length strings using pipelined memories
JP6928076B2 (ja) パケット監視
US7801151B2 (en) Method and apparatus for forwarding service in a data communication device
US7007100B1 (en) Method for synchronization of multicast routing table changes with a plurality of multicast routing protocols
EP2919426B1 (en) Concurrent hashes and sub-hashes on data streams
CN108418759B (zh) 一种mac地址表项处理方法及装置
US9294397B1 (en) Apparatus and method for forwarding packets based on approved associations between ports and addresses of received packets
JP2845208B2 (ja) アドレス解決装置
US20070104200A1 (en) Network device with routing function and policy route setting method thereof
US7769007B2 (en) Method of providing multicast services in virtual private LAN
JP2001237881A (ja) テーブル型データ検索機構及びそれを用いるパケット処理システム並びにそのテーブル型データ検索方法
CN102118303B (zh) 一种数据报文的发送方法、系统和边缘设备
JP2004158973A (ja) パケット中継装置
JPH11252165A (ja) メール削除機能付き電子メールシステム
WO2015131617A1 (zh) 流表处理方法、装置、开放流控制器及开放流交换机
US8199756B2 (en) Forwarding apparatus, forwarding method, and computer product
KR101029921B1 (ko) 광역 무선랜 환경에서 컨텐츠 푸시 시스템 및 방법
JPH11331268A (ja) パケット中継装置
CN113300931B (zh) 一种虚拟机迁移发现方法及vtep
CN107547406B (zh) 分布式evpn网关组网中建立fib表的方法和装置

Legal Events

Date Code Title Description
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: 20030610

R150 Certificate of patent or registration of utility model

Ref document number: 3449326

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20070711

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20080711

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20090711

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20100711

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 8

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

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 9

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

Free format text: PAYMENT UNTIL: 20130711

Year of fee payment: 10

EXPY Cancellation because of completion of term