JP3691018B2 - 最長一致検索回路および方法およびプログラムおよび記録媒体 - Google Patents

最長一致検索回路および方法およびプログラムおよび記録媒体 Download PDF

Info

Publication number
JP3691018B2
JP3691018B2 JP2002024068A JP2002024068A JP3691018B2 JP 3691018 B2 JP3691018 B2 JP 3691018B2 JP 2002024068 A JP2002024068 A JP 2002024068A JP 2002024068 A JP2002024068 A JP 2002024068A JP 3691018 B2 JP3691018 B2 JP 3691018B2
Authority
JP
Japan
Prior art keywords
search
entry data
node
bit
patricia tree
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
JP2002024068A
Other languages
English (en)
Other versions
JP2003224581A (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.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone 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 Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2002024068A priority Critical patent/JP3691018B2/ja
Publication of JP2003224581A publication Critical patent/JP2003224581A/ja
Application granted granted Critical
Publication of JP3691018B2 publication Critical patent/JP3691018B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Description

【0001】
【発明の属する技術分野】
本発明は、パトリシアツリーを用いたデータ検索に利用する。特に、ルーティングテーブル検索システムに利用するに適する。
【0002】
【従来の技術】
従来のルーティングテーブル検索システム等に用いられるパトリシアツリーの構成を図9に示す。パトリシアツリーを用いた最長一致検索は、エントリーデータの数字のうち、できるだけ長いビットが一致するものを検索し、その条件で次のルータ(NHR)向けの出力ポートやその他の優先制御等を行う。それらNHR等の情報は図10のメモリに格納されている。
【0003】
図9の例ではエントリーデータのうち、例えば0001であれば#a4というアドレス情報を格納したメモリの#a4の内容を読み4番ポートへ出力する。一方、エントリーデータで0010の場合は、上から同様にツリーを検索し、1ビット目が0、2ビット目が0、3ビット目が1で、終端点を見つけ#a2という値を得て、NHRは2となる。
【0004】
従来、パトリシアツリーを用いた検索方法の実現例としては、CAM(連想メモリ)を用いたものがある。図11に示すように、CAMは、格納されているデータの上位(上の方のアドレス)が優先で、上からサーチして、一致した場所で止まり、その内容を読出すものである。
【0005】
【発明が解決しようとする課題】
このように、CAMによりパトリシアツリーを用いた検索方法を実現して、先に説明した最長一致検索を行うことができるが、CAMの容量には限界があり、大規模にはできない。また、原理的にアドレスを同時に多く探すので、非常に大きな消費電力を要し、かつ高価であるため、経済的ではない。
【0006】
本発明は、このような背景に行われたものであって、大規模なパトリシアツリーを用いた検索方法を高速かつ経済的に実現することができる最長一致検索回路および方法およびプログラムおよび記録媒体を提供することを目的とする。
【0007】
【課題を解決するための手段】
本発明は、パトリシアツリーの構造をRAM等のメモリを用いたテーブルに記録できる形に置き換えることを第一の特徴とする。
【0008】
すなわち、パトリシアツリーを構成するノードのアドレスと、このアドレスに対応するエントリーデータの着目ビット位置に関する情報と、この着目ビット位置に対応するエントリーデータの取り得る値に対する行き先ノードまたは終端点の情報とをパトリシアツリー接続テーブルとして記録することを特徴とする。前記着目ビット位置は、パトリシアツリーの始点から下流に向かう段毎に順次先頭ビットから1ビットずつ下位ビットに移行する。これにより、大規模なパトリシアツリーであってもRAM等の安価なメモリを用いて記録することができるので経済的である。
【0009】
このようにRAM等のメモリを用いたパトリシアツリー接続テーブルを用いて最長一致検索を行うための構成を本発明の第二の特徴とする。本発明では、前記テーブルにおけるパトリシアツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を検索するので、ツリー構造の末端まで到達する以前に終端点にヒットすれば、その時点で検索を終了することができるため、最長一致検索を高速に行うことができることを特徴とする。
【0010】
すなわち、本発明の第一の観点は、パトリシアツリーを構成するノードのアドレスと、このアドレスに対応するエントリーデータの着目ビット位置に関する情報と、この着目ビット位置に対応するエントリーデータの取り得る値に対する行き先ノードまたは終端点の情報とが記録されたパトリシアツリー接続テーブルを備え、前記着目ビット位置は、パトリシアツリーの始点から下流に向かう段毎に順次先頭ビットから1ビットずつ下位ビットに移行し、前記テーブルにおけるパトリシアツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を検索する手段を備えたことを特徴とする最長一致検索回路である。
【0011】
さらに、高速化を図る構成として、前記テーブルにおけるパトリシアツリーの始点から下流に向かうノードの着目ビット毎にエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する手段を複数備え、この検索する手段は、自己の検索結果が終端点を示すときにはその検索結果をエントリーデータの最長一致検索結果として出力し、自己の検索結果が次段のノードのアドレスを示すときには、エントリーデータを着目ビット位置が自己よりも一つ下位の次段の検索する手段に引き渡す手段を備えることもできる。
【0012】
これによれば、パトリシアツリーの各段に相当する部分が並列処理を行っているので、一つのエントリーデータの検索結果が出るまで次のエントリーデータのエントリーを待つことなく、連続的に複数のエントリーデータをエントリーさせることができるため、高速処理を行うことができる。
【0013】
他の高速化を図る構成として、前記テーブルにおけるパトリシアツリーの始点から下流に向かうk(kは自然数)段目までのノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を検索する第一検索手段と、前記テーブルにおける(k+1)段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する複数の第二検索手段と、この第二検索手段の複数の検索結果の中から前記第一検索手段の検索結果に基づきいずれか一つを最終的な最長一致検索結果として選択する手段とを備えることもできる。
【0014】
これによれば、パトリシアツリーを適当なところから上下に分割し、上部分は上部分で最長一致検索を実行し、下部分は下部分で最長一致検索を実行する。このとき、上部分は、パトリシアツリーの始点から検索を開始するので、エントリーデータに対する検索結果は一つに定まるが、下部分は、複数のサブツリーに分かれており、それぞれのサブツリー毎に検索を開始するので、エントリーデータに対する検索結果も複数存在する。このようにして上部分と下部分とでそれぞれ検索結果が定まった時点で、上部分の検索結果に基づき下部分の複数の検索結果のいずれか一つを最終的な検索結果として選択する。このようにして、一つのパトリシアツリーを上下に分割し、並列処理を行うことができるので、検索時間を高速化することができる。
【0015】
他の高速化を図る構成として、前記テーブルにおけるパトリシアツリーの始点から下流に向かうk段目までのノード毎に順次その着目ビットの値にしたがって複数のエントリーデータの行き先ノードまたは終端点を並行して検索する複数の第三検索手段が設けられ、前記テーブルにおける(k+1)段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する複数の第四検索手段が設けられ、複数の前記第三検索手段の検索結果に基づき前記第三検索手段から出力されるエントリーデータをその行き先ノードに振り分けるあるいは前記第三検索手段により検索された終端点を最長一致検索結果出力に振り分ける手段が設けられ、前記第四検索手段は、この振り分ける手段により振り分けられたエントリーデータについて前記サブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがって終端点を検索する手段を備えることもできる。
【0016】
これは、複数のパトリシアツリーを用いて同時に複数のエントリーデータを並列処理することにより高速化を図るという発想に基づく構成であるが、本発明では、パトリシアツリーを適当なところから上下に分割し、上部分は複製を複数用意するが、下部分は一つのツリーを共用することにより、メモリ量を低く抑えることを特徴とする。すなわち、複数の上部分で複数のエントリーデータを並列処理し、それぞれの検索結果が出た時点で、エントリーデータを一つの下部分のそれぞれの行き先ノードに振り分ける。このとき、下部分の同じノードに複数のエントリーデータがほぼ同時に振り分けられる場合を想定し、前記振り分ける手段により振り分けられたエントリーデータを一時蓄積する手段が設けられ、この一時蓄積する手段は、一つのノードに対して複数のエントリーデータが蓄積されたときには、蓄積されたエントリーデータを一つずつ当該ノードにエントリーする手段を備えることが望ましい。
【0017】
これにより、複数のパトリシアツリーの全体を用意する場合と比較して低いメモリ量により複数のエントリーデータを並列処理し、最長一致検索を高速に行うことができる。
【0018】
本発明の第二の観点は、情報処理装置にインストールすることにより、その情報処理装置に、最長一致検索回路に相応する機能として、パトリシアツリーを構成するノードのアドレスと、このアドレスに対応するエントリーデータの着目ビット位置に関する情報と、この着目ビット位置に対応するエントリーデータの取り得る値に対する行き先ノードまたは終端点の情報とが記録されたパトリシアツリー接続テーブルに相応する機能を実現させ、前記着目ビット位置は、パトリシアツリーの始点から下流に向かう段毎に順次先頭ビットから1ビットずつ下位ビットに移行し、前記テーブルにおけるパトリシアツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を検索する機能を実現させることを特徴とするプログラムである。
【0019】
あるいは、前記テーブルにおけるパトリシアツリーの始点から下流に向かうノードの着目ビット毎にエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する機能を複数実現させ、この検索する機能として、自己の検索結果が終端点を示すときにはその検索結果をエントリーデータの最長一致検索結果として出力し、自己の検索結果が次段のノードのアドレスを示すときには、エントリーデータを着目ビット位置が自己よりも一つ下位の次段の検索する手段に引き渡す機能を実現させることを特徴とするプログラムである。
【0020】
あるいは、前記テーブルにおけるパトリシアツリーの始点から下流に向かうk段目までのノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を検索する第一検索機能と、前記テーブルにおける(k+1)段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する複数の第二検索機能と、この第二検索機能の複数の検索結果の中から前記第一検索機能の検索結果に基づきいずれか一つを最終的な最長一致検索結果として選択する機能とを実現させることを特徴とするプログラムである。
【0021】
あるいは、前記テーブルにおけるパトリシアツリーの始点から下流に向かうk段目までのノード毎に順次その着目ビットの値にしたがって複数のエントリーデータの行き先ノードまたは終端点を並行して検索する複数の第三検索機能を実現させ、前記テーブルにおける(k+1)段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する複数の第四検索機能を実現させ、複数の前記第三検索機能の検索結果に基づき前記第三検索機能から出力されるエントリーデータをその行き先ノードに振り分けるあるいは前記第三検索機能により検索された終端点を最長一致検索結果出力に振り分ける機能を実現させ、前記第四検索機能として、この振り分ける機能により振り分けられたエントリーデータについて前記サブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがって終端点を検索する機能を実現させることを特徴とするプログラムである。
【0022】
さらに、前記振り分ける機能により振り分けられたエントリーデータを一時蓄積する機能を実現させ、この一時蓄積する機能として、一つのノードに対して複数のエントリーデータが蓄積されたときには、蓄積されたエントリーデータを一つずつ当該ノードにエントリーする機能を実現させることが望ましい。
【0023】
本発明の第三の観点は、本発明のプログラムが記録された前記情報処理装置読み取り可能な記録媒体である。本発明のプログラムは本発明の記録媒体に記録されることにより、前記情報処理装置は、この記録媒体を用いて本発明のプログラムをインストールすることができる。あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接前記情報処理装置に本発明のプログラムをインストールすることもできる。
【0024】
これにより、コンピュータ装置等の情報処理装置により、大規模なパトリシアツリーを用いた検索方法を高速かつ経済的に実現することができる最長一致検索回路を実現することができる。
【0025】
本発明の第四の観点は、パトリシアツリーを構成するノードのアドレスと、このアドレスに対応するエントリーデータの着目ビット位置に関する情報と、この着目ビット位置に対応するエントリーデータの取り得る値に対する行き先ノードまたは終端点の情報とをパトリシアツリー接続テーブルとして記録し、前記着目ビット位置は、パトリシアツリーの始点から下流に向かう段毎に順次先頭ビットから1ビットずつ下位ビットに移行し、前記テーブルにおけるパトリシアツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を検索することを特徴とする最長一致検索方法である。
【0026】
あるいは、前記テーブルにおけるパトリシアツリーの始点から下流に向かうノードの着目ビット毎にエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索し、このときに、検索結果が終端点を示すときにはその検索結果をエントリーデータの最長一致検索結果として出力し、検索結果が次段のノードのアドレスを示すときには、エントリーデータを着目ビット位置が当該検索よりも一つ下位の検索にかけることを特徴とする最長一致検索方法である。
【0027】
あるいは、前記テーブルにおけるパトリシアツリーの始点から下流に向かうk段目までのノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を第一検索として検索し、前記テーブルにおける(k+1)段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ第二検索として並行して検索し、この第二検索による複数の検索結果の中から前記第一検索による検索結果に基づきいずれか一つを最終的な最長一致検索結果として選択することを特徴とする最長一致検索方法である。
【0028】
あるいは、前記テーブルにおけるパトリシアツリーの始点から下流に向かうk段目までのノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を検索する第三検索を複数のエントリーデータについて並行に行い、前記テーブルにおける(k+1)段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ第四検索として並行して検索し、前記第三検索による検索結果に基づき前記第三検索により出力されるエントリーデータをその行き先ノードに振り分けるあるいは前記第三検索により検索された終端点を最長一致検索結果出力に振り分け、前記第四検索では、この振り分けにより振り分けられたエントリーデータについて前記サブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがって終端点を検索することを特徴とする最長一致検索方法である。
【0029】
このとき、前記振り分けにより振り分けられたエントリーデータを一時蓄積し、一つのノードに対して複数のエントリーデータが蓄積されたときには、蓄積されたエントリーデータを一つずつ当該ノードにエントリーすることが望ましい。
【0030】
【発明の実施の形態】
(第一実施例)
本発明第一実施例を図1ないし図4を参照して説明する。図1は第一実施例の構成図である。図2は本実施例で用いるパトリシアツリーを示す図である。図3は本実施例で用いるパトリシアツリー接続テーブルを示す図である。図4は第一実施例の最長一致検索回路の動作を示すフローチャートである。
【0031】
第一実施例は、図3に示すように、パトリシアツリーを構成するノードのアドレス(ノードアドレス)と、このアドレスに対応するエントリーデータの着目ビット位置に関する情報(マスク)と、この着目ビット位置に対応するエントリーデータの取り得る値(“0”、“1”)に対する行き先ノードまたは終端点の情報とが記録されたパトリシアツリー接続テーブルTを図1に示すテーブル部Mに備え、前記着目ビット位置は、パトリシアツリーの始点から下流に向かう段毎に順次先頭ビットから1ビットずつ下位ビットに移行し、パトリシアツリー接続テーブルTにおけるパトリシアツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を検索する処理部Pを備えたことを特徴とする最長一致検索回路である。
【0032】
すなわち、第一実施例の最長一致検索回路は、RAMから構成されたテーブル部Mと、処理部Pとから構成されている。理解をしやすくするために、図2に従来例と同じパトリシアツリーにノードアドレスを〇数字で記載する。アドレス情報テーブルは従来例の図10と共通である。図3に図2のパトリシアツリーの検索データを示すパトリシアツリー接続テーブルTの内容を示す。また、図4は、処理部Pの動作をフローチャートで示してある。
【0033】
図1〜図4を参照して第一実施例の最長一致検索回路の動作を説明する。サーチするエントリーデータは、処理部Pで上位ビットからマスクがかけられ、パトリシアツリーのデータ(接続および結果)のテーブルであるパトリシアツリー接続テーブルTから、データを一つ取り出し、そこで、マスクされた残りのデータが“0”か“1”で、次のツリーの接続へ飛ぶ。終端点にあたるところでは、アドレス情報を格納したメモリのアドレスが呼び出され、そのパトリシアツリー接続テーブルTをさらに読むことによりNHRのポートを読み出せる。もちろん、このNHR自身を終端点に格納することも可能である。例えは、図3の#a1の代わりにNHR7を格納してもよい。
【0034】
図4のフローチャートを説明する。スタートは、ノードアドレス#0であり、これはパトリシアツリー(図2)の一番上のツリーのブランチに当たる。マスク処理は、_***であるので、エントリーデータの1ビット目のデータで“0”もしくは、“1”を判断して、“0”ならばノードアドレス1、“1”ならばノードアドレス2が次のノードアドレスであり、(niにあたる)そのアドレスへ飛ぶため、再びノードアドレス1もしくはノードアドレス2のアドレスのデータをリードする。
【0035】
このリードしたデータは、再びマスク処理され、2ビット目のデータを基に、同様に“0”、“1”の判断で、次のツリーの接続データへ飛ぶ。“0”、“1”のデータが終端点ならば、#aiつまりNHRが格納されているメモリのアドレスが出る。
【0036】
このような構成であるため、RAMにより構成されるパトリシアツリーの格納データは、極めて大規模でかつ、拡張性が高い。またCAMを必要としていないので、低消費電力でかつ経済的である。
【0037】
(第二実施例)
本発明第二実施例を図5を参照して説明する。第二実施例は、図5に示すように、パトリシアツリー接続テーブルTにおけるパトリシアツリーの始点から下流に向かうノードの着目ビット毎にエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する処理部P1〜P4を複数備え、この処理部Pi(iは1〜4のいずれか)は、自己の検索結果が終端点を示すときにはその検索結果をエントリーデータの最長一致検索結果として出力し、自己の検索結果が次段のノードのアドレスを示すときには、エントリーデータを着目ビット位置が自己よりも一つ下位の次段の処理部P(i+1)に引き渡すことを特徴とする最長一致検索回路である。図5ではテーブル部Mの図示は省略したが、処理部P1〜P4はテーブル部Mを参照して処理を実行する。
【0038】
第一実施例では、1つのエントリーデータを最長一致させるのに4クロック必要としている。一方、第二実施例では、マスクビット毎にパイプライン化して、1ビット処理して、終端点にヒットしたら結果部Rへ、さらに下位ビットをサーチする必要があれば、次ノードアドレスと一緒に次段のパイプラインにデータを引き渡す。次段へデータを引き渡したら、次のエントリーデータが上位から挿入され、パンプライン処理を行う。
【0039】
すなわち、パトリシアツリーの各段に相当する部分が並列処理を行っているので、一つのエントリーデータの検索結果が出るまで次のエントリーデータのエントリーを待つことなく、連続的に複数のエントリーデータをエントリーさせることができるため、高速処理を行うことができる。
【0040】
(第三実施例)
本発明第三実施例を図6および図7を参照して説明する。第三実施例は、図6および図7に示すように、パトリシアツリー接続テーブルTにおけるパトリシアツリーの始点から下流に向かう2段目までのノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を検索する処理部P11と、パトリシアツリー接続テーブルTにおける3段目以降の複数のサブツリー#1〜#3毎に、そのサブツリー#1〜#3の始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する複数の処理部P21、P22、P23と、このP21、P22、P23の複数の検索結果の中から処理部P11の検索結果に基づきいずれか一つを最終的な最長一致検索結果として選択する結果部R1〜R3および結果処理部RCとを備えたことを特徴とする最長一致検索回路である。図6ではテーブル部Mの図示は省略したが、処理部P11、P21〜P23はテーブル部Mを参照して処理を実行する。
【0041】
図6の構成では、3〜4bit目のエントリーデータの検索を先行的に行い、1〜2bit目の検索結果から、3〜4bit目の答えの1つを選ぶ。もしくは、1〜2bitで終端した処理を行うものである。本図を用いて動作を説明する。
【0042】
エントリーデータは、1〜2bit目のサーチ処理および3〜4bit目のサーチ処理をパラレルに行っている。3〜4bit目は、上位2ビットの値は不明であるが、下位2ビットで、例では、3並列にサーチしている。結果はノードアドレス3、4、5それぞれで出てくるが上位2bitの結果でノードのノードアドレス3、4、5のいずれに飛んだ、もしくは、2bitでみつかったことにより、結果処理部RCで、適当なものが選択される。このことにより、パイプラインがビット数だけかかり、高速処理はできるが遅延時間が大きい第二実施例と比べ、より高速に処理できる。
【0043】
すなわち、パトリシアツリーを適当なところから上下に分割し、上部分は上部分で最長一致検索を実行し、下部分は下部分で最長一致検索を実行する。このとき、上部分は、パトリシアツリーの始点から検索を開始するので、エントリーデータに対する検索結果は一つに定まるが、下部分は、複数のサブツリー#1〜#3に分かれており、それぞれのサブツリー#1〜#3毎に検索を開始するので、エントリーデータに対する検索結果も複数存在する。このようにして上部分と下部分とでそれぞれ検索結果が定まった時点で、上部分の検索結果に基づき下部分の複数の検索結果のいずれか一つを最終的な検索結果として選択する。このようにして、一つのパトリシアツリーを上下に分割し、並列処理を行うことができるので、検索時間を高速化することができる。
【0044】
(第四実施例)
本発明第四実施例を図8を参照して説明する。第四実施例は、図8に示すように、パトリシアツリー接続テーブルTにおけるパトリシアツリーの始点から下流に向かう2段目までのノード毎に順次その着目ビットの値にしたがって複数のエントリーデータの行き先ノードまたは終端点を並行して検索する複数の処理部P31〜P33が設けられ、パトリシアツリー接続テーブルTにおける3段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する複数の処理部P41〜P43が設けられ、複数の処理部P31〜P33の検索結果に基づき処理部P31〜P33から出力されるエントリーデータをその行き先ノードに振り分けるあるいは処理部P31〜P33により検索された終端点を最長一致検索結果出力に振り分ける振り分け部Dが設けられ、処理部P41〜P43は、この振り分け部Dにより振り分けられたエントリーデータについて前記サブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがって終端点を検索することを特徴とする最長一致検索回路である。
【0045】
また、振り分け部Dにより振り分けられたエントリーデータを一時蓄積する待ち合わせ部B1〜B3が設けられ、この待ち合わせ部B1〜B3は、一つのノードに対して複数のエントリーデータが蓄積されたときには、蓄積されたエントリーデータを一つずつ当該ノードにエントリーする。
【0046】
第四実施例では、上位1〜2bitは、3つのエントリーデータをほぼ同時に並列に処理する。その結果が3〜4bitのノードでノードアドレス3、4、5のいずれかになる場合と、終了する場合があるのは、第三実施例と同様である。ノードアドレス3等に複数のデータが競合するので、待ち合わせ部B1〜B3を配置してある。このような構成のため、3つのエントリーデータを同時に処理でき、高速性が向上する。
【0047】
すなわち、第四実施例は、複数のパトリシアツリーを用いて同時に複数のエントリーデータを並列処理することにより高速化を図るという発想に基づく構成であるが、第四実施例では、パトリシアツリーを適当なところから上下に分割し、上部分は複製を複数用意するが、下部分は一つのツリーを共用することにより、メモリ量を低く抑えることを特徴とする。すなわち、複数の上部分で複数のエントリーデータを並列処理し、それぞれの検索結果が出た時点で、エントリーデータを一つの下部分のそれぞれの行き先ノードに振り分ける。このとき、下部分の同じノードに複数のエントリーデータがほぼ同時に振り分けられる場合を想定し、振り分け部Dにより振り分けられたエントリーデータを一時蓄積する待ち合わせ部B1〜B3が設けられ、この待ち合わせ部B1〜B3は、一つのノードに対して複数のエントリーデータが蓄積されたときには、蓄積されたエントリーデータを一つずつ当該ノードにエントリーする。
【0048】
これにより、複数のパトリシアツリーの全体を用意する場合と比較して低いメモリ量により複数のエントリーデータを並列処理し、最長一致検索を高速に行うことができる。
【0049】
(第五実施例)
本実施例の最長一致検索回路は、情報処理装置としてのコンピュータ装置により実現することができる。すなわち、コンピュータ装置にインストールすることにより、そのコンピュータ装置に、図1に示す第一実施例の最長一致検索回路に相応する機能として、パトリシアツリーを構成するノードのアドレスと、このアドレスに対応するエントリーデータの着目ビット位置に関する情報と、この着目ビット位置に対応するエントリーデータの取り得る値に対する行き先ノードまたは終端点の情報とが記録されたパトリシアツリー接続テーブルTに相応する機能を実現させ、前記着目ビット位置は、パトリシアツリーの始点から下流に向かう段毎に順次先頭ビットから1ビットずつ下位ビットに移行し、パトリシアツリー接続テーブルTにおけるパトリシアツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を検索する処理部Pに相応する機能を実現させるプログラムをコンピュータ装置にインストールすることにより、そのコンピュータ装置を第一実施例の最長一致検索回路に相応する回路とすることができる。
【0050】
あるいは、コンピュータ装置にインストールすることにより、そのコンピュータ装置に、図5に示す第二実施例の最長一致検索回路に相応する機能として、パトリシアツリー接続テーブルTにおけるパトリシアツリーの始点から下流に向かうノードの着目ビット毎にエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する処理部P1〜P4に相応する機能を複数実現させ、この検索する機能として、自己の検索結果が終端点を示すときにはその検索結果をエントリーデータの最長一致検索結果として出力し、自己の検索結果が次段のノードのアドレスを示すときには、エントリーデータを着目ビット位置が自己よりも一つ下位の次段の検索する手段に引き渡す機能を実現させるプログラムをコンピュータ装置にインストールすることにより、そのコンピュータ装置を第二実施例の最長一致検索回路に相応する回路とすることができる。
【0051】
あるいは、コンピュータ装置にインストールすることにより、そのコンピュータ装置に、図6に示す第三実施例の最長一致検索回路に相応する機能として、パトリシアツリー接続テーブルTにおけるパトリシアツリーの始点から下流に向かうk段目までのノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を検索する処理部P11に相応する第一検索機能と、パトリシアツリー接続テーブルTにおける(k+1)段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する複数の処理部P21〜P23に相応する第二検索機能と、この第二検索機能の複数の検索結果の中から前記第一検索機能の検索結果に基づきいずれか一つを最終的な最長一致検索結果として選択する結果処理部RCに相応する機能とを実現させるプログラムをコンピュータ装置にインストールすることにより、そのコンピュータ装置を第三実施例の最長一致検索回路に相応する回路とすることができる。
【0052】
あるいは、コンピュータ装置にインストールすることにより、そのコンピュータ装置に、図8に示す第四実施例の最長一致検索回路に相応する機能として、パトリシアツリー接続テーブルTにおけるパトリシアツリーの始点から下流に向かうk段目までのノード毎に順次その着目ビットの値にしたがって複数のエントリーデータの行き先ノードまたは終端点を並行して検索する複数の処理部P31〜P33に相応する第一検索機能を実現させ、パトリシアツリー接続テーブルTにおける(k+1)段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する複数の処理部P41〜P43に相応する第二検索機能を実現させ、複数の前記第一検索機能の検索結果に基づき前記第一検索機能から出力されるエントリーデータをその行き先ノードに振り分けるあるいは前記第一検索機能により検索された終端点を最長一致検索結果出力に振り分ける振り分け部Dに相応する機能を実現させ、前記第二検索機能として、この振り分ける機能により振り分けられたエントリーデータについて前記サブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがって終端点を検索する機能を実現させるプログラムをコンピュータ装置にインストールすることにより、そのコンピュータ装置を第四実施例の最長一致検索回路に相応する回路とすることができる。
【0053】
さらに、第四実施例では、コンピュータ装置にインストールすることにより、そのコンピュータ装置に、振り分け部Dに相応する機能により振り分けられたエントリーデータを一時蓄積する待ち合わせ部B1〜B3に相応する機能を実現させ、この一時蓄積する機能として、一つのノードに対して複数のエントリーデータが蓄積されたときには、蓄積されたエントリーデータを一つずつ当該ノードにエントリーする機能を実現させる。
【0054】
本実施例のプログラムは本実施例の記録媒体に記録されることにより、コンピュータ装置は、この記録媒体を用いて本実施例のプログラムをインストールすることができる。あるいは、本実施例のプログラムを保持するサーバからネットワークを介して直接コンピュータ装置に本実施例のプログラムをインストールすることもできる。
【0055】
これにより、コンピュータ装置により、大規模なパトリシアツリーを用いた検索方法を高速かつ経済的に実現することができる最長一致検索回路を実現することができる。
【0056】
【発明の効果】
以上説明したように、本発明によれば、大規模なパトリシアツリーを用いた検索方法を高速かつ経済的に実現することができる。
【図面の簡単な説明】
【図1】第一実施例の最長一致検索回路の構成図。
【図2】本実施例で用いるパトリシアツリーを示す図。
【図3】本実施例で用いるパトリシアツリー接続テーブルを示す図。
【図4】第一実施例の最長一致検索回路の動作を示すフローチャート。
【図5】第二実施例の最長一致検索回路の構成図。
【図6】第三実施例の最長一致検索回路の構成図。
【図7】パトリシアツリーを上下に分割した状態を示す図。
【図8】第四実施例の最長一致検索回路の構成図。
【図9】パトリシアツリーの例を示す図。
【図10】アドレステーブルの例を示す図。
【図11】CAMの構成を示す図。
【符号の説明】
B1〜B3 待ち合わせ部
D 振り分け部
M テーブル部
T パトリシアツリー接続テーブル
P、P1〜P4、P11、P21〜P23、P31〜P33、P41〜P43 処理部
R、R1〜R3 結果部
RC 結果処理部
#1〜#3 サブツリー

Claims (10)

  1. パトリシアツリーを構成するノードのアドレスと、このアドレスに対応するエントリーデータの着目ビット位置に関する情報と、この着目ビット位置に対応するエントリーデータの取り得る値に対する行き先ノードまたは終端点の情報とが記録されたパトリシアツリー接続テーブルを備え、
    前記着目ビット位置は、パトリシアツリーの始点から下流に向かう段毎に順次先頭ビットから1ビットずつ下位ビットに移行し、
    前記テーブルにおけるパトリシアツリーの始点から下流に向かうk(kは自然数)段目までのノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を検索する第一検索手段と、
    前記テーブルにおける(k+1)段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する複数の第二検索手段と、
    この第二検索手段の複数の検索結果の中から前記第一検索手段の検索結果に基づきいずれか一つを最終的な最長一致検索結果として選択する手段と
    を備えたことを特徴とする最長一致検索回路。
  2. パトリシアツリーを構成するノードのアドレスと、このアドレスに対応するエントリーデータの着目ビット位置に関する情報と、この着目ビット位置に対応するエントリーデータの取り得る値に対する行き先ノードまたは終端点の情報とが記録されたパトリシアツリー接続テーブルを備え、
    前記着目ビット位置は、パトリシアツリーの始点から下流に向かう段毎に順次先頭ビットから1ビットずつ下位ビットに移行し、
    前記テーブルにおけるパトリシアツリーの始点から下流に向かうk段目までのノード毎に順次その着目ビットの値にしたがって複数のエントリーデータの行き先ノードまたは終端点を並行して検索する複数の第三検索手段が設けられ、
    前記テーブルにおける(k+1)段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する複数の第四検索手段が設けられ、
    複数の前記第三検索手段の検索結果に基づき前記第三検索手段から出力されるエントリーデータをその行き先ノードに振り分けあるいは前記第三検索手段により検索された終端点を最長一致検索結果出力に振り分ける手段が設けられ、
    前記第四検索手段は、前記振り分ける手段により行き先ノードに振り分けられたエントリーデータについて前記サブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがって終端点を検索する手段を備えた
    ことを特徴とする最長一致検索回路。
  3. 前記振り分ける手段により振り分けられたエントリーデータを一時蓄積する手段が設けられ、この一時蓄積する手段は、一つのノードに対して複数のエントリーデータが蓄積されたときには、蓄積されたエントリーデータを一つずつ当該ノードにエントリーする手段を備えた請求項2記載の最長一致検索回路。
  4. 情報処理装置にインストールすることにより、その情報処理装置に、最長一致検索回路に相応する機能として、
    パトリシアツリーを構成するノードのアドレスと、このアドレスに対応するエントリーデータの着目ビット位置に関する情報と、この着目ビット位置に対応するエントリーデータの取り得る値に対する行き先ノードまたは終端点の情報とが記録されたパトリシアツリー接続テーブルに相応する機能を実現させ、
    前記着目ビット位置は、パトリシアツリーの始点から下流に向かう段毎に順次先頭ビットから1ビットずつ下位ビットに移行し、
    前記テーブルにおけるパトリシアツリーの始点から下流に向かうk段目までのノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を 検索する第一検索機能と、
    前記テーブルにおける(k+1)段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する複数の第二検索機能と、
    この第二検索機能の複数の検索結果の中から前記第一検索機能の検索結果に基づきいずれか一つを最終的な最長一致検索結果として選択する機能と
    を実現させる
    ことを特徴とするプログラム
  5. 情報処理装置にインストールすることにより、その情報処理装置に、最長一致検索回路に相応する機能として、
    パトリシアツリーを構成するノードのアドレスと、このアドレスに対応するエントリーデータの着目ビット位置に関する情報と、
    この着目ビット位置に対応するエントリーデータの取り得る値に対する行き先ノードまたは終端点の情報とが記録されたパトリシアツリー接続テーブルに相応する機能を実現させ、
    前記着目ビット位置は、パトリシアツリーの始点から下流に向かう段毎に順次先頭ビットから1ビットずつ下位ビットに移行し、
    前記テーブルにおけるパトリシアツリーの始点から下流に向かうk段目までのノード毎に順次その着目ビットの値にしたがって複数のエントリーデータの行き先ノードまたは終端点を並行して検索する複数の第三検索機能を実現させ、
    前記テーブルにおける(k+1)段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ並行して検索する複数の第四検索機能を実現させ、
    複数の前記第三検索機能の検索結果に基づき前記第三検索機能から出力されるエントリーデータをその行き先ノードに振り分けあるいは前記第三検索機能により検索された終端点を最長一致検索結果出力に振り分ける機能を実現させ、
    前記第四検索機能として、この振り分ける機能により行き先ノードに振り分けられたエントリーデータについて前記サブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがって終端点を検索する機能を実現させる
    ことを特徴とするプログラム
  6. 前記振り分ける機能により振り分けられたエントリーデータを一時蓄積する機能を実現させ、
    この一時蓄積する機能として、一つのノードに対して複数のエントリーデータが蓄積されたときには、蓄積されたエントリーデータを一つずつ当該ノードにエントリーする機能を実現させる
    請求項5記載のプログラム。
  7. 請求項4ないし6のいずれかに記載のプログラムが記録された前記情報処理装置読み取り可能な記録媒体
  8. パトリシアツリーを構成するノードのアドレスと、このアドレスに対応するエントリーデータの着目ビット位置に関する情報と、この着目ビット位置に対応するエントリーデータの取り得る値に対する行き先ノードまたは終端点の情報とをパトリシアツリー接続テーブルとして記録し、
    前記着目ビット位置は、パトリシアツリーの始点から下流に向かう段毎に順次先頭ビットから1ビットずつ下位ビットに移行し、
    前記テーブルにおけるパトリシアツリーの始点から下流に向かうk段目までのノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を第一検索として検索し、
    前記テーブルにおける(k+1)段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータ の行き先ノードまたは終端点をそれぞれ第二検索として並行して検索し、
    この第二検索による複数の検索結果の中から前記第一検索による検索結果に基づきいずれか一つを最終的な最長一致検索結果として選択する
    ことを特徴とする最長一致検索方法
  9. パトリシアツリーを構成するノードのアドレスと、このアドレスに対応するエントリーデータの着目ビット位置に関する情報と、この着目ビット位置に対応するエントリーデータの取り得る値に対する行き先ノードまたは終端点の情報とをパトリシアツリー接続テーブルとして記録し、
    前記着目ビット位置は、パトリシアツリーの始点から下流に向かう段毎に順次先頭ビットから1ビットずつ下位ビットに移行し、
    前記テーブルにおけるパトリシアツリーの始点から下流に向かうk段目までのノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点を検索する第三検索を複数のエントリーデータについて並行に行い、
    前記テーブルにおける(k+1)段目以降の複数のサブツリー毎に、そのサブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがってエントリーデータの行き先ノードまたは終端点をそれぞれ第四検索として並行して検索し、
    前記第三検索による検索結果に基づき前記第三検索により出力されるエントリーデータをその行き先ノードに振り分けあるいは前記第三検索により検索された終端点を最長一致検索結果出力に振り分け、
    前記第四検索では、この振り分けにより行き先ノードに振り分けられたエントリーデータについて前記サブツリーの始点から下流に向かうノード毎に順次その着目ビットの値にしたがって終端点を検索する
    ことを特徴とする最長一致検索方法
  10. 前記振り分けにより振り分けられたエントリーデータを一時蓄積し、一つのノードに対して複数のエントリーデータが蓄積されたときには、蓄積されたエントリーデータを一つずつ当該ノードにエントリーする請求項9記載の最長一致検索方法
JP2002024068A 2002-01-31 2002-01-31 最長一致検索回路および方法およびプログラムおよび記録媒体 Expired - Fee Related JP3691018B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2002024068A JP3691018B2 (ja) 2002-01-31 2002-01-31 最長一致検索回路および方法およびプログラムおよび記録媒体

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2002024068A JP3691018B2 (ja) 2002-01-31 2002-01-31 最長一致検索回路および方法およびプログラムおよび記録媒体

Publications (2)

Publication Number Publication Date
JP2003224581A JP2003224581A (ja) 2003-08-08
JP3691018B2 true JP3691018B2 (ja) 2005-08-31

Family

ID=27746612

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2002024068A Expired - Fee Related JP3691018B2 (ja) 2002-01-31 2002-01-31 最長一致検索回路および方法およびプログラムおよび記録媒体

Country Status (1)

Country Link
JP (1) JP3691018B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4271227B2 (ja) * 2006-10-30 2009-06-03 株式会社エスグランツ ビット列検索装置、検索方法及びプログラム
JP4271214B2 (ja) 2006-07-07 2009-06-03 株式会社エスグランツ ビット列検索装置、検索方法及びプログラム
US8150856B2 (en) 2006-07-07 2012-04-03 S. Grants Co., Ltd. Bit string searching apparatus, searching method, and program
JP4379894B2 (ja) * 2006-11-28 2009-12-09 株式会社エスグランツ カップルドノードツリーの分割/結合方法及びプログラム
JP4402120B2 (ja) * 2007-01-24 2010-01-20 株式会社エスグランツ ビット列検索装置、検索方法及びプログラム
EP2149845B1 (en) 2007-04-19 2013-06-12 Kousokuya, Inc. Coupled node tree backup/restore apparatus, backup/restore method, and program
JP4514771B2 (ja) 2007-05-18 2010-07-28 株式会社エスグランツ カップルドノードツリーの最長一致/最短一致検索装置、検索方法及びプログラム
JP4527753B2 (ja) * 2007-07-03 2010-08-18 株式会社エスグランツ ビット列検索装置、検索方法及びプログラム
EP2204744B1 (en) 2007-09-14 2013-04-24 Kousokuya, Inc. Bit string search device, search method, and program
JP2009251840A (ja) * 2008-04-04 2009-10-29 S Grants Co Ltd ビット列検索装置、検索方法及びプログラム
JP4813575B2 (ja) * 2009-01-30 2011-11-09 株式会社エスグランツ ビット列検索装置
JP5473893B2 (ja) * 2010-12-28 2014-04-16 株式会社高速屋 コード列検索装置、検索方法及びプログラム

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11220483A (ja) * 1998-02-02 1999-08-10 Chokosoku Network Computer Gijutsu Kenkyusho:Kk 経路情報検索方式
JP2000332786A (ja) * 1999-05-21 2000-11-30 Nippon Telegr & Teleph Corp <Ntt> ルーティングテーブル検索方法
JP2001326679A (ja) * 2000-05-15 2001-11-22 Fujitsu Ltd 情報装置、テーブル検索装置、テーブル検索方法、及び記録媒体
JP3601416B2 (ja) * 2000-06-13 2004-12-15 日本電気株式会社 情報検索方法及び装置

Also Published As

Publication number Publication date
JP2003224581A (ja) 2003-08-08

Similar Documents

Publication Publication Date Title
US8295286B2 (en) Apparatus and method using hashing for efficiently implementing an IP lookup solution in hardware
US20160342662A1 (en) Multi-stage tcam search
US7062499B2 (en) Enhanced multiway radix tree and related methods
EP2040184B1 (en) Database and database processing methods
JP3691018B2 (ja) 最長一致検索回路および方法およびプログラムおよび記録媒体
US20030093646A1 (en) RAM-based range content addressable memory
EP1808987A1 (en) Longest prefix matching using tree bitmap data structures
US20040254909A1 (en) Programming routes and access control lists in comparison tree data structures and their use such as in performing lookup operations
US7873041B2 (en) Method and apparatus for searching forwarding table
US20040139274A1 (en) Virtual content addressable memory with high speed key insertion and deletion and pipelined key search
US20070174261A1 (en) Database retrieval apparatus, retrieval method, storage medium, and progam
US20050083937A1 (en) IP address lookup method using pipeline binary tree, hardware architecture, and recording medium
US7249149B1 (en) Tree bitmap data structures and their use in performing lookup operations
US7054994B2 (en) Multiple-RAM CAM device and method therefor
CN108509505A (zh) 一种基于分区双数组Trie的字符串检索方法及装置
US7478109B1 (en) Identification of a longest matching prefix based on a search of intervals corresponding to the prefixes
JP3644494B2 (ja) 情報検索装置
KR100542467B1 (ko) 연상 메모리 시스템 및 네트워크 기기 및 네트워크 시스템
EP1281178B1 (en) Multiple entry matching in a content addressable memory
US6931424B1 (en) Storage efficient minimization logic
KR20100022565A (ko) 해시트리를 이용한 url 검색방법
US20070061280A1 (en) Fast select for fetch first N rows with order by
JP2005242672A (ja) パターンマッチング装置および方法ならびにプログラム
JP3660311B2 (ja) テーブル検索装置および方法およびプログラムおよび記録媒体
JPH1040255A (ja) ハッシュ表管理装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050303

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050315

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050512

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: 20050614

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20050614

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

Free format text: PAYMENT UNTIL: 20090624

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20090624

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20100624

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20100624

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20110624

Year of fee payment: 6

LAPS Cancellation because of no payment of annual fees