JP6085577B2 - 検索木生成・検索装置及び方法及びプログラム - Google Patents
検索木生成・検索装置及び方法及びプログラム Download PDFInfo
- Publication number
- JP6085577B2 JP6085577B2 JP2014035954A JP2014035954A JP6085577B2 JP 6085577 B2 JP6085577 B2 JP 6085577B2 JP 2014035954 A JP2014035954 A JP 2014035954A JP 2014035954 A JP2014035954 A JP 2014035954A JP 6085577 B2 JP6085577 B2 JP 6085577B2
- Authority
- JP
- Japan
- Prior art keywords
- search
- tree
- node
- search tree
- bit
- 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.)
- Active
Links
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
・Set-Pruning Trie
・Grid of Tire
多くの検索アルゴリズムは木構造の一つであるトライ木の構造をとる。木構造はノードとノード間を結ぶ辺で構成される。木構造の各ノードは、辺によって結ばれた0個以上の子ノードを持ち(今後、子ノードを単に「子」と記す)、根以外のノードは高々1つの親ノードを持つ。根は木構造の中で唯一存在する、親ノードを持たないノードである。また、子を持たないノードは特別に葉と称する。多くの検索木では、葉に検索結果を保存し、本発明で扱う検索木も同様に検索結果は葉に保存する。
パケットのマッチ条件や処理を記述したフロールールが与えられると、前記検索木(検索テーブル)の配列を、1つか2つのビット列と検索結果を示すデータを保持する構成として生成する検索木(検索テーブル)管理手段と、
受信したパケットを用いて前記検索木(検索テーブル)を辿ることによりエントリの検索を行い、検索結果を返却する検索処理制御手段と、を有する検索木生成・検索装置が提供される。
<Patricia treeにおける検索ビット列>
トライ木はPatricia treeの構造をとることによって、ノードの数を削減することができる。Patricia treeでは、子が一つしかないようなノードを削除することから、ビット列の検索においては、Patricia treeによって生成された検索木は葉以外のノードが必ず2つ子を持つことになる。
前述の手法をHiearchical trieに対しても適用するために一般化したものを示す。前述の手法はLOUDSによる表現を、Patricia treeの子の数が固定である特性を利用して拡張したものであったが、各ノードが持ちうる子の数で最も大きい数をmとしたとき、葉以外の各ノードで子の数がmでないものに対して、子の数がmになるようにダミーノードを挿入する。例えば、Hiearchical trieであれば、子の数が最大3であるが、子の数が1または2のノードに対して、ダミーノードを加え、子の数を3と変換する。
100 フロー検索装置
110 パケット情報受信部
120 検索処理制御部
130 検索木(検索テーブル)
140 検索木(検索テーブル)管理部
150 検索結果送信部
Claims (5)
- テーブルの各エントリが「don't care bit」を含み、優先度を有する検索木(検索テーブル)を生成し、該検索木を検索する検索木生成・検索装置であって、
パケットのマッチ条件や処理を記述したフロールールが与えられると、前記検索木(検索テーブル)の配列を、1つか2つのビット列と検索結果を示すデータを保持する構成として生成する検索木(検索テーブル)管理手段と、
受信したパケットを用いて前記検索木(検索テーブル)を辿ることによりエントリの検索を行い、検索結果を返却する検索処理制御手段と、
を有し、
前記検索木(検索テーブル)管理手段は、
Patricia treeの子ノードの数が固定であるという特性によるビット列を生成するビット列生成手段を有し、
前記ビット列生成手段は、
幅優先探索の順でノードに番号idを割り当て、該番号順に検索木のビットマップに各ビットを割り当て、該番号のノードが子ノードを持っていれば「1」(または「0」)を、持っていなければ「0」(または「1」)に変換し、該検索木の葉のエントリデータを、該葉のidでソートしたエントリデータに変換する変換手段を含み、
前記検索処理制御手段は、
前記番号idのノードからn番目の子ノードを辿る場合は、
前記検索木を葉まで辿って得たidに対し、
を有する検索木生成・検索装置。 - テーブルの各エントリが「don't care bit」を含み、優先度を有する検索木(検索テーブル)を生成し、該検索木を検索する検索木生成・検索装置であって、
パケットのマッチ条件や処理を記述したフロールールが与えられると、前記検索木(検索テーブル)の配列を、1つか2つのビット列と検索結果を示すデータを保持する構成として生成する検索木(検索テーブル)管理手段と、
受信したパケットを用いて前記検索木(検索テーブル)を辿ることによりエントリの検索を行い、検索結果を返却する検索処理制御手段と、
を有し、
前記検索木(検索テーブル)管理手段は、
各ノードが持つ子ノードの数で最も大きい数をmとしたとき、葉以外の各ノードで子ノードの数がmでないノードに対して、子ノードの数がmになるようダミーノードを挿入し、幅優先探索で探索される順序で各ノードに番号を割り当て、番号順に検索ビットマップの各ビットを割り当て、該番号のノードが子ノードを持っていれば「1」(または「0」)を、持っていなければ「0」(または「1」)に変換し、検索木の葉の数を長さとするビット列bを用意し、葉のidでソートした順に各ビットを割り当て、該各ビットの値を、該葉がエントリを表すものであれば「1」を、そうでない場合は「0」に変換する変換手段を含み、
前記検索処理制御手段は、
前記番号idのノードからn番目の子ノードを辿る場合は、
前記検索木を葉まで辿って得たidに対し、
を有する検索木生成・検索装置。 - テーブルの各エントリが「don't care bit」を含み、優先度を有する検索木(検索テーブル)を生成し、該検索木を検索する検索木生成・検索方法であって、
前記検索木を生成する機能と、受信したパケット情報に基づいて該検索木を検索する機能を有する装置が、
パケットのマッチ条件や処理を記述したフロールールが与えられると、前記検索木(検索テーブル)の配列を、1つか2つのビット列と検索結果を示すデータを保持する構成として生成する検索木(検索テーブル)管理ステップと、
受信したパケットを用いて前記検索木(検索テーブル)を辿ることによりエントリの検索を行い、検索結果を返却する検索処理制御ステップと、
を行い、
前記検索木(検索テーブル)管理ステップにおいて、
Patricia treeの子ノードの数が固定であるという特性によるビット列を生成するビット列生成ステップを含み、
前記ビット列生成ステップにおいて、
幅優先探索の順でノードに番号idを割り当て、該番号順に検索木のビットマップに各ビットを割り当て、該番号のノードが子ノードを持っていれば「1」(または「0」)を、持っていなければ「0」(または「1」)に変換し、該検索木の葉のエントリデータを、該葉のidでソートしたエントリデータに変換し、
前記検索処理制御ステップにおいて、
前記番号idのノードからn番目の子ノードを辿る場合は、
前記検索木を葉まで辿って得たidに対し、
- テーブルの各エントリが「don't care bit」を含み、優先度を有する検索木(検索テーブル)を生成し、該検索木を検索する検索木生成・検索方法であって、
前記検索木を生成する機能と、受信したパケット情報に基づいて該検索木を検索する機能を有する装置が、
パケットのマッチ条件や処理を記述したフロールールが与えられると、前記検索木(検索テーブル)の配列を、1つか2つのビット列と検索結果を示すデータを保持する構成として生成する検索木(検索テーブル)管理ステップと、
受信したパケットを用いて前記検索木(検索テーブル)を辿ることによりエントリの検索を行い、検索結果を返却する検索処理制御ステップと、
を行い、
前記検索木(検索テーブル)管理ステップにおいて、
各ノードが持つ子ノードの数で最も大きい数をmとしたとき、葉以外の各ノードで子ノードの数がmでないノードに対して、子ノードの数がmになるようダミーノードを挿入し、幅優先探索で探索される順序で各ノードに番号を割り当て、番号順に検索ビットマップの各ビットを割り当て、該番号のノードが子ノードを持っていれば「1」(または「0」)を、持っていなければ「0」(または「1」)に変換し、検索木の葉の数を長さとするビット列bを用意し、葉のidでソートした順に各ビットを割り当て、該各ビットの値を、該葉がエントリを表すものであれば「1」(または「0」)を、そうでない場合は「0」(または「1」)に変換し、
前記検索処理制御ステップにおいて、
前記番号idのノードからn番目の子ノードを辿る場合は、
前記検索木を葉まで辿って得たidに対し、
- コンピュータを、
請求項1又は2記載の検索木生成・検索装置の各手段として機能させるための検索木生成・検索プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014035954A JP6085577B2 (ja) | 2014-02-26 | 2014-02-26 | 検索木生成・検索装置及び方法及びプログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2014035954A JP6085577B2 (ja) | 2014-02-26 | 2014-02-26 | 検索木生成・検索装置及び方法及びプログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2015162024A JP2015162024A (ja) | 2015-09-07 |
JP6085577B2 true JP6085577B2 (ja) | 2017-02-22 |
Family
ID=54185094
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2014035954A Active JP6085577B2 (ja) | 2014-02-26 | 2014-02-26 | 検索木生成・検索装置及び方法及びプログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6085577B2 (ja) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106569893B (zh) * | 2015-10-09 | 2021-02-05 | 阿里巴巴集团控股有限公司 | 流量控制方法及设备 |
JPWO2017130824A1 (ja) * | 2016-01-26 | 2018-11-22 | 日本電気株式会社 | 情報処理装置、情報処理方法、及び、情報処理プログラム |
CN109815389A (zh) * | 2019-02-02 | 2019-05-28 | 北京三快在线科技有限公司 | 应用规则引擎的节点匹配方法、装置以及计算机设备 |
JP2024022699A (ja) * | 2020-11-06 | 2024-02-21 | 株式会社Preferred Networks | 情報処理装置、情報処理方法及びコンピュータプログラム |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2011257877A (ja) * | 2010-06-07 | 2011-12-22 | Nippon Telegr & Teleph Corp <Ntt> | 情報検索装置、情報検索方法、及びプログラム |
JP2012159873A (ja) * | 2011-01-28 | 2012-08-23 | Nec Corp | パケット分類システム、パケット分類方法、及びパケット分類用プログラム |
-
2014
- 2014-02-26 JP JP2014035954A patent/JP6085577B2/ja active Active
Also Published As
Publication number | Publication date |
---|---|
JP2015162024A (ja) | 2015-09-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11757739B2 (en) | Aggregation of select network traffic statistics | |
US10230639B1 (en) | Enhanced prefix matching | |
Anand et al. | SmartRE: an architecture for coordinated network-wide redundancy elimination | |
US10778721B1 (en) | Hash-based ACL lookup offload | |
EP2552059A1 (en) | Packet transfer system, control apparatus, transfer apparatus, method of creating processing rules, and program | |
EP2820808B1 (en) | Compound masking and entropy for data packet classification using tree-based binary pattern matching | |
JP6085577B2 (ja) | 検索木生成・検索装置及び方法及びプログラム | |
US9973400B2 (en) | Network flow information collection method and apparatus | |
Leng et al. | A mechanism for reducing flow tables in software defined network | |
US9270519B2 (en) | Address translation device, address translation method, and computer product | |
WO2017190559A1 (zh) | 路由查找方法、装置、分配节点、查找节点及入口节点 | |
US8953600B2 (en) | Telemetry data routing | |
US20130294450A1 (en) | Optimized trie-based address lookup | |
Ge et al. | H‐SOFT: a heuristic storage space optimisation algorithm for flow table of OpenFlow | |
US11652744B1 (en) | Multi-stage prefix matching enhancements | |
US7792129B2 (en) | Multi-queue packet processing using Patricia tree | |
US11888743B1 (en) | Network device storage of incremental prefix trees | |
JP2012159873A (ja) | パケット分類システム、パケット分類方法、及びパケット分類用プログラム | |
Hsieh et al. | A classified multisuffix trie for IP lookup and update | |
Yu et al. | Characterizing rule compression mechanisms in software-defined networks | |
Liu et al. | NCoS: A framework for realizing network coding over software-defined network | |
WO2015106794A1 (en) | Methods and systems for data routing | |
JP5814830B2 (ja) | フロー単位パケット転送のための宛先検索装置および検索方法 | |
JP6114705B2 (ja) | 検索木生成装置及び方法及びプログラム | |
KR100493099B1 (ko) | 고속 인터넷프로토콜 라우터의 라우팅/포워딩 룩업 및라우팅 테이블 관리 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20160118 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20161028 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20161101 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20161220 |
|
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: 20170124 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20170130 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6085577 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |