JP3662618B2 - Multi-protocol address search associative memory and its search method - Google Patents
Multi-protocol address search associative memory and its search method Download PDFInfo
- Publication number
- JP3662618B2 JP3662618B2 JP01510295A JP1510295A JP3662618B2 JP 3662618 B2 JP3662618 B2 JP 3662618B2 JP 01510295 A JP01510295 A JP 01510295A JP 1510295 A JP1510295 A JP 1510295A JP 3662618 B2 JP3662618 B2 JP 3662618B2
- Authority
- JP
- Japan
- Prior art keywords
- protocol
- sequencer
- entry
- identifier
- search
- 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
Links
- 230000015654 memory Effects 0.000 title claims description 61
- 238000000034 method Methods 0.000 title claims description 26
- 238000010586 diagram Methods 0.000 description 21
- 238000004891 communication Methods 0.000 description 14
- 238000001514 detection method Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- COCAUCFPFHUGAA-MGNBDDOMSA-N n-[3-[(1s,7s)-5-amino-4-thia-6-azabicyclo[5.1.0]oct-5-en-7-yl]-4-fluorophenyl]-5-chloropyridine-2-carboxamide Chemical compound C=1C=C(F)C([C@@]23N=C(SCC[C@@H]2C3)N)=CC=1NC(=O)C1=CC=C(Cl)C=N1 COCAUCFPFHUGAA-MGNBDDOMSA-N 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000000873 masking effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Description
【0001】
【産業上の利用分野】
本発明は、マルチプロトコルアドレス検索用連想メモリおよびその検索方法に関し、詳しくは、1つの連想メモリで複数の異なるプロトコルのアドレス(マルチプロトコルアドレス)を、それぞれのプロトコルに応じて検索することができ、高速かつ低コストにネットワークの経路制御を行うことができるマルチプロトコルアドレス検索用連想メモリおよびその検索方法に関する。
【0002】
【従来の技術】
連想メモリ(CAM)は、内容アドレス式メモリとも呼ばれ、通常の半導体メモリのようにデータを記憶する記憶部と、この記憶部に記憶されるデータを検索する検索部とを有している。記憶部には検索されるデータが予め記憶され、検索部において、記憶部に記憶されているデータと検索しようとするデータとが一致検索され、一致するデータの有無や記憶されているアドレス等が単一サイクルで検索され出力される。連想メモリを用いることにより、膨大な量のデータの中から目的とするデータを瞬時に得ることができるため、検索処理を頻繁に行うシステムの性能向上のために用いられる。
【0003】
ここで、ネットワークの経路制御を例に挙げて、上述する連想メモリの適用例について説明する。まず、ネットワークの概略について述べる。
【0004】
ネットワークに接続されたコンピュータ間は、ある特定のデータ通信プロトコル(以下、単にプロトコルと記述する)を用いてデータ通信が行われる。このようなプロトコルとしては、例えばIP(Internet Protocol )、IPX(Internetwork Packet Exchange,Novel の Netwareで使われる)、DECNet、AppleTalk など多くの種類が存在し、そのビット長、データの格納順序、格納位置などは、それぞれのプロトコル毎に異なっているのが一般的である。又、ルータは異なるネットワークを相互接続するのに使われ、複数のプロトコルの経路制御が可能なものもある。これはマルチプロトコルルータと呼ばれる。
【0005】
それぞれのプロトコルは、ネットワーク上に存在する全てのコンピュータに識別子としてプロトコルアドレス(当該プロトコルのアドレス:以下、単にアドレスと記述する)を割り当てる。これにより、それぞれのコンピュータは一意に識別される。しかし、マルチプロトコルルータは、アドレスだけではコンピュータを一意に識別することはできない。なぜなら、あるプロトコルと別の異なるプロトコルとが、それぞれ異なるコンピュータに同一アドレスを割り当てた場合、それぞれのプロトコルにより割り当てられたアドレスだけでは、コンピュータを一意に識別することができないという問題が発生するからである。例えば図9においてコンピュータ3からコンピュータ1へデータを転送する場合、ルータは目的地のアドレス1234からだけではコンピュータ1にデータを送るべきか、コンピュータ2にデータを送るべきか識別できない。
【0006】
この問題点を解決するために、通常LAN(Local Area Network)のフレームには上位のプロトコルの識別をするための識別子が含まれている。ルータはプロトコル識別子とアドレスを組み合わせて送信先を決定する。このようなLANのフレームとして、イーサネット(Ethernet)のフレームを例に挙げて説明を行う。
【0007】
図6は、LANの1つであるイーサネットのフレームの概念図である。このフレームは概念的なものであり現実のものとは異なるが、このイーサネットのフレームの転送先および転送元のアドレスDAおよびSAと、既存のプロトコルのプロトコルタイプTYPと、既存のプロトコルのデータグラムと、通信エラー検出用データCRCとから構成される。また、既存のプロトコルのデータグラムは、この既存のプロトコルのデータグラムの通信元および通信先のアドレスsaおよびdaと、通信されるデータdataから構成されるとする。
【0008】
次に、ルータを介した通信について説明する。ここで、図7(a)はルータを用いたネットワーク接続の概念図、図7(b)はコンピュータAからルータRに入力されるイーサネットのフレームの概念図、図7(c)はルータRからコンピュータBに出力されるイーサネットのフレームの概念図である。なお、コンピュータA、BのMAC(Media Access Control)アドレス(イーサネットのアドレス)および既存のプロトコルのアドレスを、それぞれGA、GBおよびLA、LBとし、ルータRのMACアドレスをGRとして以下の説明を続ける。
【0009】
図7(a)に示すように、データの転送を行うルータRには、各種のプロトコルのイーサネットのフレームが入力され、ルータRにおいて、それぞれのプロトコルに応じて転送先が決定され、ルータRからそれぞれの通信先にそれぞれのフレームが出力される。例えば、コンピュータAからコンピュータBにデータを送信する場合、コンピュータAが用いるプロトコルのフレームがルータRに入力され、ルータRにおいて、コンピュータAが用いるプロトコルに応じて転送先が決められ、その結果、ルータRからコンピュータBにフレームが出力される。
【0010】
図7(b)に示すように、コンピュータAからルータRに転送されるイーサネットのフレームには、このフレームの転送先および転送元のアドレスGRおよびGAと、既存のプロトコルのプロトコルタイプTYPと、既存のプロトコルのデータグラムが含まれる。また、既存のプロトコルのデータグラムは、通信元および通信先のアドレスLAおよびLBと、通信されるデータdataを含んでいる。このイーサネットのフレームは、プロトコルタイプTYPの既存のプロトコルのフレームが、イーサネットの転送元のアドレスGAから転送先のアドレスGRに、即ち、コンピュータAからルータRに転送されることを意味する。
【0011】
このイーサネットのフレームがルータRに入力されると、ルータRはプロトコルタイプTYPとLBから転送先を決定する。即ち、ルータは、コンピュータBのアドレスLBを自分の持つテーブルで検索して、コンピュータBのMACアドレスおよび、どのネットワークに接続されているかを知り、コンピュータBの接続されているネットワークに図7(c)で示されるイーサネットフレームを送出する。即ち、GRはGBに、GAはGRに変換される。
【0012】
図7(c)に示すように、ルータRからコンピュータBに転送されるイーサネットのフレームは、このフレームの転送先および転送元のアドレスGBおよびGRと、既存のプロトコルのプロトコルタイプTYPと、既存のプロトコルのデータグラムを含んでいる。また、既存のプロトコルのデータグラムは、通信元および通信先のアドレスLAおよびLBと、通信されるデータdataを含んでいる。このイーサネットのフレームは、プロトコルタイプTYPの既存のプロトコルのフレームが、イーサネットの転送元のアドレスGRから転送先のアドレスGBに、即ち、ルータRからコンピュータBに転送されることを意味する。
【0013】
このように、ルータRにより、送出先の決定が正しく行われることにより、複数のネットワーク上に異なる複数のプロトコルのフレームが混在する場合であっても、それぞれのコンピュータを一意に識別し、相互接続してデータ通信を行うことができる。マルチプロトコルルータは、各プロトコル毎に別々のアドレス検索テーブルを用意している。CAMをテーブルに使う場合は各プロトコル毎にCAMのチップを割り当てることになる。
【0014】
最後に、ルータが送出先を決定する場合に行うアドレス検索への連想メモリの適用例について説明する。上述するルータRによるアドレス検索において、連想メモリは、既存のプロトコルの通信先のアドレスLBから、イーサネットのフレームの転送先のアドレスGBを得るために用いられる。
【0015】
図8は、従来のネットワークのアドレス検索への連想メモリの適用例の模式図である。同図において、それぞれの連想メモリは、このネットワークで用いられる全てのプロトコルと1対1に対応し、それぞれの連想メモリには、対応するプロトコルのアドレスが、ネットワークに接続される全てのコンピュータについて予め記憶される。ルータRにそれぞれのプロトコルに応じたイーサネットのフレームが入力されると、ルータRにより、プロトコルタイプTYPに対応する連想メモリが選択され、この連想メモリにおいて、既存のプロトコルの通信先のアドレスLBを用いた検索が行われ、高速にイーサネットの通信先のアドレスGBを得ることができる。
【0016】
上述する連想メモリのアドレス検索への適用例においては、送出先アドレスの検索を高速に行うことができる。しかし、従来の連想メモリでは、異なる複数のプロトコルのデータグラム、特に、そのビット長、格納順序などが異なるアドレスデータを1つの連想メモリで検索することができないため、プロトコル毎に異なる連想メモリを用いなければならなかった。このため、使用する連想メモリの個数が増え、コスト高になるという問題点があった。これに対してコストを削減するために、連想メモリを使用せずにソフトウェアで検索を行うと、ソフトウェアによる検索は検索時間がかかり過ぎるという問題点があった。
【0017】
【発明が解決しようとする課題】
本発明の目的は、前記従来技術に基づく種々の問題点をかえりみて、所定プロトコル識別子が記憶されているエントリを検出するとともに、所定プロトコル識別子に基づいてシーケンサを選択し、このシーケンサにより、所定プロトコル識別子により検出されたエントリの中からさらに所定プロトコルアドレスが記憶されているエントリを検出することにより、複数のそれぞれ異なるプロトコルのアドレスを1つの連想メモリテーブルで検索することができ、ネットワークの経路制御の高速化および低コスト化を同時に実現することができるマルチプロトコルアドレス検索用連想メモリおよびその検索方法を提供することにある。
【0018】
【課題を解決するための手段】
上記目的を達成するために、本発明は、複数個の所定ビット長のセグメントからなるエントリを複数個有する連想メモリテーブルと、一致検索の手順をプロトコル毎に制御するシーケンサの選択手段とを備え、
前記エントリには少なくともプロトコル識別子およびプロトコルアドレスが記憶され、所定プロトコル識別子に一致するエントリが検出されるとともに、前記所定プロトコル識別子に応じたシーケンサが前記選択手段により選択され、前記検出されたエントリにおいて前記選択されたシーケンサにより、前記セグメント単位の前記プロトコルアドレスの論理積一致検索が行われることを特徴とするマルチプロトコルアドレス検索用連想メモリを提供するものである。
【0019】
さらに、前記シーケンサを前記プロトコル毎に備えるのが好ましい。
【0020】
また、本発明は、予めそれぞれのプロトコルに応じたプロトコル識別子およびプロトコルアドレスをそれぞれのエントリの異なるセグメントに記憶した後、
前記プロトコル識別子が記憶されているセグメントの一致検索を行い、前記所定プロトコル識別子が記憶されている前記エントリを検出するとともに、前記所定プロトコル識別子に基づいてシーケンサ識別子を獲得し、
次いで、前記シーケンサ識別子により前記所定プロトコル識別子に応じたシーケンサを選択し、
その後、前記選択されたシーケンサの制御に従って、前記所定プロトコル識別子により一致検出されたエントリの前記プロトコルアドレスが記憶されているセグメントの一致検索を行い、前記所定プロトコルアドレスが記憶されている前記エントリを検出することを特徴とするマルチプロトコルアドレスの検索方法を提供するものである。
【0021】
ここで、予め前記プロトコル識別子に対応する前記シーケンサ識別子を前記セグメントの一部に記憶した後、
前記所定プロトコル識別子により一致検出されたエントリの前記セグメントの一部に記憶されたシーケンサ識別子を獲得するのが好ましい。
【0022】
また、前記所定プロトコル識別子をデコードすることにより、前記シーケンサ識別子を獲得するのが好ましい。
【0023】
【発明の作用】
本発明のマルチプロトコルアドレス検索用連想メモリは、シーケンサの選択手段、さらにはそれぞれのプロトコルに対応するシーケンサを備えるものである。既に述べたように、それぞれのプロトコルアドレスは、ビット長、格納位置などが異なるため、例えばIPアドレスとIPXアドレスとを同一の検索手順により検索することはできない。そこで、本発明においては、ROM、RAM、レジスタなどによるルックアップテーブルや、デコード回路などのシーケンサの選択手段を備えることにより、それぞれのプロトコルに応じてシーケンサを選択し、それぞれのプロトコルに応じて当該プロトコルのアドレスを検索することができる。従って、本発明のマルチプロトコルアドレス検索用連想メモリによれば、複数の異なるプロトコルのアドレスを1つの連想メモリテーブルに記憶して、これらの中から所定プロトコルの所定アドレスを有するエントリを検出することができる。
【0024】
また、本発明のマルチプロトコルアドレスの検索方法は、それぞれのエントリの異なるセグメントにプロトコル識別子およびプロトコルアドレスを記憶しておき、まず、プロトコル識別子が記憶されているセグメントを検索して、所定プロトコル識別子が記憶されているエントリを検出するとともに、この所定プロトコル識別子からシーケンサ識別子を獲得し、このシーケンサ識別子によりこのプロトコルに対応するシーケンサを選択し、続いて、このシーケンサに従って、所定プロトコル識別子により検出されたエントリのプロトコルアドレスが記憶されているセグメントを検索して、所定プロトコルアドレスが記憶されているエントリを検出するものである。従って、本発明のマルチプロトコルアドレスの検索方法によれば、プロトコル識別子により、それぞれのプロトコルアドレスがどのプロトコルのアドレスであるかを認識できるため、複数の異なるプロトコルのアドレスを1つの連想メモリに記憶して、これらをプロトコル識別子およびプロトコルアドレスにより検索することができる。これにより、ネットワークの経路制御を高速で行うことができるとともに、低コストでシステムを構築することができる。
【0025】
【実施例】
以下に、添付の図面に示す好適実施例に基づいて、本発明のマルチプロトコルアドレス検索用連想メモリおよびその検索方法を詳細に説明する。
【0026】
図1は、本発明のマルチプロトコルアドレス検索用連想メモリの一実施例のブロック図である。このブロック図に示すように、本発明のマルチプロトコルアドレス検索用連想メモリ10は、それぞれのプロトコルに応じたエントリデータを記憶し、このエントリデータと検索データとの一致検索を行う連想メモリテーブル12と、それぞれのプロトコル毎に設けられ、エントリデータの検索の手順を制御するシーケンサ(群)14と、プロトコルに応じてシーケンサ14を選択するシーケンサの選択手段16とから構成される。
【0027】
また、図2は、上述する連想メモリテーブルの一実施例の概念図である。この連想メモリテーブル12は、エントリ0,1,…,mから構成され、それぞれのエントリ0〜mには、例えば、IPエントリ、IPXエントリ、DECNetエントリ、AppleTalk エントリなどのデータが任意の順序で記憶される。また、それぞれのエントリ0〜mは、検索の基本単位であるセグメント0,1,…,nに分割される。なお、それぞれのセグメント0〜nは、同一ビット長を有していても、異なるビット長を有していても良く、また、そのビット長は特に制限されるものではない。
【0028】
次に、図3は、図2に示す連想メモリテーブルのエントリの一実施例の概念図である。エントリのセグメント0には、プロトコルID(識別子)およびシーケンサIDが記憶され、セグメント1〜nには、プロトコルIDに対応するプロトコルアドレスが記憶される。なお、それぞれのセグメント0〜nのビット長は、32〜64ビット程度である。例えば、セグメント1〜nのビット長が32ビットである場合、セグメント1〜nに記憶されるプロトコルアドレスは、IPエントリの場合、IPアドレスは32ビットであるからセグメント1だけに記憶される。同様に、IPXエントリの場合、IPXアドレスは80ビットであるからセグメント1,2およびセグメント3の16ビットまでに記憶される。このように、セグメントの個数は、セグメントのビット長およびプロトコルアドレスのビット長に応じて適宜選択される。
【0029】
ここで、図4に、セグメント0に記憶されるプロトコルIDおよびシーケンサIDの具体例を示す。同図においては、説明を容易にするために、どのプロトコルに対応するデータであるかが、例えばIP,IPXのようにコメントとして示されている。また、プロトコルIDは、イーサネット規格によるものが示されている。なお、シーケンサIDは、プロトコルIDに対応するシーケンサを選択するための番号であり、それぞれのプロトコルと1対1に対応する番号である。一例を述べれば、IPの場合、プロトコルIDは0800(16進数)であり、これに対するシーケンサIDは番号1である。なお、この図に示す例では、セグメント0は、16ビット長のプロトコルIDと、3ビット長のシーケンサIDとの19ビットの大きさで構成される。
【0030】
次に、図5に示す連想メモリテーブルの模式図を用いて、上述するように構成され、複数の異なるプロトコルに対応するエントリデータが記憶された本発明の連想メモリにおいて、所定プロトコルのアドレスが記憶されているエントリの検索方法について述べる。なお、図5に示す連想メモリテーブルは、エントリ0,1,…,4から構成され、それぞれのエントリ0,1,…,4は、セグメント0,1,…,4に分割されている。
【0031】
まず、1回目の検索では、この連想メモリテーブルの全てのエントリ0〜4のセグメント0において、シーケンサIDをマスクしながら一致検索が行われ、所定プロトコルIDが記憶されているエントリが検出される。例えば、図4に示す例のように、検索データとして0800(16進数)が与えられると、セグメント0のプロトコルIDに0800(16進数)が記憶されたエントリだけが一致検出される。その結果、ここではエントリ0,2および3において一致検出され、エントリ1および4において不一致が検出されたとする。
【0032】
その後、所定プロトコルIDにより一致検出されたエントリ0,2または3のセグメント0に記憶されているシーケンサIDを読み出し、例えば、図4に示す例では、プロトコルIDが0800(16進数)であるエントリに記憶されているシーケンサID、即ち、番号1を読み出し、このシーケンサIDに応じてシーケンサを選択する。シーケンサが選択されると、所定プロトコルIDにより一致検出されたエントリ0,2および3のセグメント1〜4におけるプロトコルアドレスの検索手順は、選択されたシーケンサにより制御される。
【0033】
ここで、上述するシーケンサについて説明する。既に述べたように、それぞれのエントリのセグメント1〜nに記憶されるプロトコルアドレスは、プロトコルが異なれば、そのビット長、格納順序などが異なる。従って、検索しようとするプロトコルに応じて、セグメント1〜nにおける検索手順を変更する必要がある。この検索手順を制御するのがシーケンサである。なお、シーケンサは、ネットワークにおいて用いられるプロトコルに対して、1対1に連想メモリの内部または外部に用意されていれば良い。
【0034】
次に、2回目の検索では、1回目の検索でセグメント0において所定プロトコルIDにより一致検出されたエントリ0,2および3のセグメント1において一致検索が行われ、所定プロトコルアドレスの最初の1セグメント分のデータが記憶されているエントリが検出される。なお、不一致が検出されたエントリ1および4のセグメント1においては一致検索は行われない。2回目の検索の結果、ここではエントリ0および3において一致検出され、エントリ2において不一致が検出されたとする。
【0035】
そして、3回目の検索では、2回目の検索でセグメント1において所定プロトコルアドレスの最初の1セグメント分のデータにより一致検出されたエントリ0および3のセグメント2において一致検出が行われ、所定プロトコルアドレスの2番目の1セグメント分のデータが記憶されているエントリが検出される。なお、セグメント1において一致検出されなかったエントリ2のセグメント2においては一致検索は行われない。3回目の検索の結果、ここではエントリ3において一致検出され、エントリ0において不一致が検出されたとする。従って、エントリ3に所定プロトコルIDおよび所定プロトコルアドレスが記憶されていることが検出される。このように、論理積検索を行うことにより、効率の良い検索が行われる。
【0036】
例えば、IPエントリの場合、IPアドレスは32ビット(1セグメント)であるから、IPのシーケンサは、所定プロトコルIDにより一致検出されたエントリのセグメント1の検索を行い、所定プロトコルアドレスが記憶されているエントリを検出する。このように、IPエントリの場合、セグメント0および1を論理積検索することにより、所定プロトコルIDおよび所定プロトコルアドレスが記憶されているエントリを検出することができる。
【0037】
一方、IPXエントリの場合、IPXアドレスは80ビット(3セグメント(2セグメント+16ビット))であるから、IPXのシーケンサは、まず、所定プロトコルIDにより一致検出されたエントリのセグメント1の検索を行い、所定プロトコルアドレスの最初の1セグメント分のデータが記憶されているエントリを検出し、続いて、セグメント1においても所定プロトコルアドレスの最初の1セグメント分のデータにより一致検出されたエントリのセグメント2の検索を行って、所定プロトコルアドレスの2番目の1セグメント分のデータが記憶されているエントリを検出し、さらに、セグメント2においても所定プロトコルアドレスの2番目の1セグメント分のデータにより一致検出されたエントリのセグメント3の後半16ビットをマスクして検索を行い、所定プロトコルアドレスの3番目の1セグメントの16ビット分のデータが記憶されているエントリを検出する。このように、IPXエントリの場合、セグメント0〜3を論理積検索することにより、所定プロトコルIDおよび所定プロトコルアドレスが記憶されているエントリを検出することができる。
【0038】
本発明のマルチプロトコルアドレス検索用連想メモリおよびその検索方法は、基本的に以上のように構成される。なお、本発明のマルチプロトコルアドレス検索用連想メモリおよびその検索方法を実施例に基づいて説明したが、本発明はこれに限定されるものではない。
【0039】
例えば、上述する実施例においては、それぞれのエントリのセグメント0にプロトコルIDおよびシーケンサIDを記憶しているが、セグメント0には限定されず、どのセグメントに記憶しても良い。即ち、1回目の検索において、プロトコルIDが記憶されているセグメントを検索すれば良い。
また、本発明のシーケンサの選択手段として、セグメント0にシーケンサIDを記憶し、所定プロトコルIDからこれと1対1に対応するシーケンサIDを獲得する、いわゆるルックアップ方式によりシーケンサIDを獲得しているが、例えば所定プロトコルIDをデコードすることにより、シーケンサIDを獲得しても良い。この場合、図3のエントリの、シーケンサ識別子の部分は不要となる。同様に、シーケンサIDを連想メモリテーブルではなく、他のメモリ装置、例えばレジスタ、RAM、ROMなどに記憶するよう構成しても良いし、これらのメモリ装置や上述するデコード回路などは、本発明の連想メモリの内部あるいは外部に設けても良い。
さらに、それぞれのエントリには、少なくともプロトコルIDあるいはシーケンサIDおよびプロトコルアドレスが記憶されるが、例えばこれらのデータ以外のデータを記憶するように構成しても良い。
【0040】
【発明の効果】
以上詳細に説明した様に、本発明のマルチプロトコルアドレス検索用連想メモリは、それぞれのプロトコルに応じてプロトコルアドレスの検索手順を制御するシーケンサの選択手段を有するものである。また、本発明のマルチプロトコルアドレスの検索方法は、予め連想メモリテーブルのそれぞれのエントリに、プロトコルIDおよびプロトコルアドレスをそれぞれ異なるセグメントに記憶した後、まず、プロトコルIDが記憶されたセグメントを検索して、所定プロトコルIDが記憶されているエントリを検出するとともに、この所定プロトコルIDに基づいてシーケンサを選択し、続いて、選択されたシーケンサにより、所定プロトコルIDにより検出されたエントリのプロトコルアドレスが記憶されたセグメントを検索して、所定プロトコルアドレスが記憶されているエントリを検出するものである。即ち、本発明のマルチプロトコルアドレス検索用連想メモリおよびその検索方法によれば、複数の異なるプロトコルアドレスを1つの連想メモリで検索することができるため、高速にネットワークの経路制御ができることは勿論、低コスト化も同時に実現することができる。
【図面の簡単な説明】
【図1】本発明のマルチプロトコルアドレス検索用連想メモリの一実施例のブロック図である。
【図2】本発明のマルチプロトコルアドレス検索用連想メモリにおける連想メモリテーブルの一実施例の概念図である。
【図3】本発明のマルチプロトコルアドレス検索用連想メモリにおける連想メモリテーブルのエントリの一実施例の概念図である。
【図4】本発明のマルチプロトコルアドレス検索用連想メモリにおける連想メモリテーブルのエントリのセグメント0の一実施例の概念図である。
【図5】本発明のマルチプロトコルアドレスの検索方法を説明する一実施例の概念図である。
【図6】イーサネットのフレームの概念図である。
【図7】(a)はルータを用いたネットワーク接続の概念図、(b)はコンピュータAからルータRに入力されるイーサネットのフレームの概念図、(c)はルータRからコンピュータBに出力されるイーサネットのフレームの概念図である。
【図8】従来のネットワークのアドレス検索への連想メモリの適用例の模式図である。
【図9】従来のルータを用いたネットワーク接続の概念図である。
【符号の説明】
1,2,3 コンピュータ
10 連想メモリ(CAM)
12 連想メモリテーブル
14 シーケンサ
16 シーケンサの選択手段[0001]
[Industrial application fields]
The present invention relates to an associative memory for multi-protocol address search and a search method thereof, and more specifically, a plurality of different protocol addresses (multi-protocol addresses) can be searched according to each protocol in one associative memory, The present invention relates to an associative memory for multiprotocol address search capable of performing network path control at high speed and low cost, and a search method thereof.
[0002]
[Prior art]
The associative memory (CAM) is also called a content addressed memory, and includes a storage unit that stores data like a normal semiconductor memory, and a search unit that searches for data stored in the storage unit. Data to be searched is stored in advance in the storage unit, and in the search unit, the data stored in the storage unit and the data to be searched are searched for coincidence, the presence or absence of matching data, the stored address, etc. Searched and output in a single cycle. By using an associative memory, target data can be obtained instantaneously from a huge amount of data, so that it is used for improving the performance of a system that frequently performs search processing.
[0003]
Here, an application example of the above-mentioned associative memory will be described using network path control as an example. First, an outline of the network will be described.
[0004]
Data communication is performed between computers connected to a network using a specific data communication protocol (hereinafter simply referred to as a protocol). There are many types of such protocols as IP (Internet Protocol), IPX (Internetwork Packet Exchange, used in Novell Netware), DECNet, AppleTalk, etc., and their bit length, data storage order, storage location These are generally different for each protocol. Routers are also used to interconnect different networks, and some routers can route multiple protocols. This is called a multi-protocol router.
[0005]
Each protocol assigns a protocol address (address of the protocol: hereinafter simply referred to as an address) as an identifier to all computers existing on the network. Thereby, each computer is uniquely identified. However, a multi-protocol router cannot uniquely identify a computer by an address alone. This is because if a protocol and another different protocol assign the same address to different computers, the problem arises that the computer cannot be uniquely identified only by the addresses assigned by the respective protocols. is there. For example, when transferring data from the
[0006]
In order to solve this problem, an ordinary LAN (Local Area Network) frame includes an identifier for identifying an upper protocol. The router determines the destination by combining the protocol identifier and the address. As such a LAN frame, an Ethernet frame will be described as an example.
[0007]
FIG. 6 is a conceptual diagram of an Ethernet frame that is one of LANs. Although this frame is conceptual and different from the actual one, the destination and source addresses DA and SA of the Ethernet frame, the protocol type TYP of the existing protocol, the datagram of the existing protocol, And communication error detection data CRC. In addition, the datagram of the existing protocol is assumed to be composed of communication source and destination addresses sa and da of the datagram of the existing protocol and data to be communicated.
[0008]
Next, communication via a router will be described. 7A is a conceptual diagram of network connection using a router, FIG. 7B is a conceptual diagram of an Ethernet frame input from the computer A to the router R, and FIG. 2 is a conceptual diagram of an Ethernet frame output to a computer B. FIG. The following description will be continued assuming that the MAC (Media Access Control) addresses (Ethernet addresses) of computers A and B and the addresses of existing protocols are GA, GB, LA, and LB, respectively, and the MAC address of router R is GR. .
[0009]
As shown in FIG. 7A, an Ethernet frame of various protocols is input to the router R that transfers data, and the router R determines a transfer destination according to each protocol. Each frame is output to each communication destination. For example, when data is transmitted from the computer A to the computer B, a frame of the protocol used by the computer A is input to the router R, and the transfer destination is determined in the router R according to the protocol used by the computer A. As a result, the router A frame is output from R to the computer B.
[0010]
As shown in FIG. 7B, the Ethernet frame transferred from the computer A to the router R includes the addresses GR and GA of the transfer destination and source of the frame, the protocol type TYP of the existing protocol, and the existing Protocol datagrams are included. Further, the datagram of the existing protocol includes the addresses LA and LB of the communication source and communication destination and the data data to be communicated. This Ethernet frame means that an existing protocol frame of the protocol type TYP is transferred from the Ethernet transfer source address GA to the transfer destination address GR, that is, from the computer A to the router R.
[0011]
When this Ethernet frame is input to the router R, the router R determines the transfer destination from the protocol types TYP and LB. That is, the router searches the address LB of the computer B in its own table, knows the MAC address of the computer B and which network it is connected to, and connects to the network to which the computer B is connected as shown in FIG. The Ethernet frame indicated by That is, GR is converted to GB, and GA is converted to GR.
[0012]
As shown in FIG. 7C, the Ethernet frame transferred from the router R to the computer B includes the transfer destination and transfer source addresses GB and GR of the frame, the protocol type TYP of the existing protocol, and the existing Contains protocol datagrams. Further, the datagram of the existing protocol includes the addresses LA and LB of the communication source and communication destination and the data data to be communicated. This Ethernet frame means that an existing protocol frame of the protocol type TYP is transferred from the Ethernet transfer source address GR to the transfer destination address GB, that is, from the router R to the computer B.
[0013]
As described above, when the destination is correctly determined by the router R, even when frames of a plurality of different protocols are mixed on a plurality of networks, each computer is uniquely identified and interconnected. Thus, data communication can be performed. The multi-protocol router prepares a separate address search table for each protocol. When a CAM is used for a table, a CAM chip is assigned for each protocol.
[0014]
Finally, an application example of the associative memory for address search performed when the router determines the transmission destination will be described. In the address search by the router R described above, the associative memory is used to obtain the address GB of the Ethernet frame transfer destination from the address LB of the communication destination of the existing protocol.
[0015]
FIG. 8 is a schematic diagram of an example of application of an associative memory to a conventional network address search. In the figure, each associative memory has a one-to-one correspondence with all the protocols used in this network, and the address of the corresponding protocol is stored in advance in each associative memory for all computers connected to the network. Remembered. When an Ethernet frame corresponding to each protocol is input to the router R, the associative memory corresponding to the protocol type TYP is selected by the router R, and the address LB of the communication destination of the existing protocol is used in this associative memory. And the address GB of the Ethernet communication destination can be obtained at high speed.
[0016]
In the application example to the address search of the associative memory described above, the destination address can be searched at high speed. However, conventional associative memories cannot search for datagrams of a plurality of different protocols, in particular, address data having different bit lengths, storage orders, etc. using one associative memory, so different associative memories are used for each protocol. I had to. For this reason, there is a problem that the number of associative memories to be used increases and the cost increases. On the other hand, in order to reduce the cost, if a search is performed by software without using an associative memory, there is a problem that the search by software takes too much time.
[0017]
[Problems to be solved by the invention]
An object of the present invention is to look back on various problems based on the prior art, detect an entry storing a predetermined protocol identifier, and select a sequencer based on the predetermined protocol identifier. By detecting an entry in which a predetermined protocol address is further stored from the entries detected by the identifier, a plurality of different protocol addresses can be searched in one associative memory table, and network routing control can be performed. An object is to provide an associative memory for multi-protocol address search and a search method thereof capable of simultaneously realizing high speed and low cost.
[0018]
[Means for Solving the Problems]
In order to achieve the above object, the present invention comprises an associative memory table having a plurality of entries made up of a plurality of segments each having a predetermined bit length, and a sequencer selection means for controlling a matching search procedure for each protocol,
At least a protocol identifier and a protocol address are stored in the entry, and an entry that matches a predetermined protocol identifier is detected, and a sequencer corresponding to the predetermined protocol identifier is selected by the selection means, and the entry in the detected entry The present invention provides an associative memory for multiprotocol address search, wherein a logical product match search of the protocol address in the segment unit is performed by a selected sequencer.
[0019]
Furthermore, the sequencer is preferably provided for each protocol.
[0020]
In addition, the present invention previously stores a protocol identifier and a protocol address corresponding to each protocol in different segments of each entry,
Performing a match search of the segment in which the protocol identifier is stored, detecting the entry in which the predetermined protocol identifier is stored, and obtaining a sequencer identifier based on the predetermined protocol identifier;
Next, a sequencer corresponding to the predetermined protocol identifier is selected by the sequencer identifier,
After that, according to the control of the selected sequencer, a search is performed for a segment in which the protocol address of the entry detected by the predetermined protocol identifier is stored, and the entry in which the predetermined protocol address is stored is detected. The present invention provides a multi-protocol address search method characterized by:
[0021]
Here, after previously storing the sequencer identifier corresponding to the protocol identifier in a part of the segment,
It is preferable to obtain a sequencer identifier stored in a part of the segment of the entry detected by the predetermined protocol identifier.
[0022]
The sequencer identifier is preferably obtained by decoding the predetermined protocol identifier.
[0023]
[Effects of the Invention]
The associative memory for multi-protocol address search according to the present invention comprises sequencer selection means and sequencers corresponding to the respective protocols. As already described, since each protocol address has a different bit length, storage position, etc., it is not possible to search, for example, an IP address and an IPX address by the same search procedure. Therefore, in the present invention, by providing a lookup table such as a ROM, a RAM, a register, or a sequencer selection means such as a decode circuit, a sequencer is selected according to each protocol, and the corresponding sequence according to each protocol. The protocol address can be retrieved. Therefore, according to the associative memory for multi-protocol address search of the present invention, it is possible to store addresses of a plurality of different protocols in one associative memory table and detect an entry having a predetermined address of a predetermined protocol from among them. it can.
[0024]
In the multi-protocol address search method of the present invention, a protocol identifier and a protocol address are stored in different segments of each entry. First, a segment in which the protocol identifier is stored is searched, and a predetermined protocol identifier is determined. Detects a stored entry, obtains a sequencer identifier from the predetermined protocol identifier, selects a sequencer corresponding to the protocol by the sequencer identifier, and subsequently detects an entry detected by the predetermined protocol identifier according to the sequencer The segment in which the protocol address is stored is searched to detect the entry in which the predetermined protocol address is stored. Therefore, according to the multi-protocol address search method of the present invention, it is possible to recognize which protocol address each protocol address is based on the protocol identifier. Therefore, a plurality of different protocol addresses are stored in one associative memory. These can be retrieved by protocol identifier and protocol address. This makes it possible to perform network path control at high speed and to construct a system at a low cost.
[0025]
【Example】
Hereinafter, a multi-protocol address search associative memory and a search method thereof according to the present invention will be described in detail with reference to the preferred embodiments shown in the accompanying drawings.
[0026]
FIG. 1 is a block diagram of an embodiment of an associative memory for multiprotocol address retrieval according to the present invention. As shown in this block diagram, the multi-protocol address search
[0027]
FIG. 2 is a conceptual diagram of an embodiment of the associative memory table described above. This associative memory table 12 is composed of
[0028]
Next, FIG. 3 is a conceptual diagram of an embodiment of an entry in the associative memory table shown in FIG. The segment 0 of the entry stores a protocol ID (identifier) and a sequencer ID, and the
[0029]
FIG. 4 shows a specific example of the protocol ID and sequencer ID stored in segment 0. In the same figure, for easy explanation, the data corresponding to which protocol is shown as a comment such as IP or IPX. The protocol ID is based on the Ethernet standard. The sequencer ID is a number for selecting a sequencer corresponding to the protocol ID, and is a number corresponding to each protocol on a one-to-one basis. For example, in the case of IP, the protocol ID is 0800 (hexadecimal), and the sequencer ID for this is
[0030]
Next, in the associative memory of the present invention configured as described above using the schematic diagram of the associative memory table shown in FIG. 5 and storing entry data corresponding to a plurality of different protocols, addresses of predetermined protocols are stored. A method for searching for the entry is described. 5 is composed of
[0031]
First, in the first search, in the segment 0 of all entries 0 to 4 in this associative memory table, a match search is performed while masking the sequencer ID, and an entry storing a predetermined protocol ID is detected. For example, as in the example shown in FIG. 4, when 0800 (hexadecimal number) is given as search data, only an entry in which 0800 (hexadecimal number) is stored in the protocol ID of segment 0 is detected. As a result, here, it is assumed that a match is detected in
[0032]
Thereafter, the sequencer ID stored in the segment 0 of the
[0033]
Here, the sequencer described above will be described. As already described, the protocol addresses stored in the
[0034]
Next, in the second search, a match search is performed in
[0035]
In the third search, the match detection is performed in the
[0036]
For example, in the case of an IP entry, since the IP address is 32 bits (one segment), the IP sequencer searches for the
[0037]
On the other hand, in the case of an IPX entry, since the IPX address is 80 bits (3 segments (2 segments + 16 bits)), the IPX sequencer first searches for the
[0038]
The multi-protocol address associative memory and the search method thereof according to the present invention are basically configured as described above. Although the multi-protocol address associative memory and the search method thereof according to the present invention have been described based on the embodiments, the present invention is not limited to this.
[0039]
For example, in the above-described embodiment, the protocol ID and the sequencer ID are stored in the segment 0 of each entry, but are not limited to the segment 0, and may be stored in any segment. That is, in the first search, a segment in which the protocol ID is stored may be searched.
Further, as a sequencer selection means of the present invention, the sequencer ID is stored in the segment 0, and the sequencer ID corresponding to this is obtained from the predetermined protocol ID, and the sequencer ID is obtained by a so-called lookup method. However, the sequencer ID may be acquired, for example, by decoding a predetermined protocol ID. In this case, the sequencer identifier portion of the entry of FIG. 3 is not necessary. Similarly, the sequencer ID may be stored in another memory device, for example, a register, RAM, ROM, or the like instead of the associative memory table. These memory devices, the above-described decoding circuit, etc. It may be provided inside or outside the associative memory.
Further, at least a protocol ID or a sequencer ID and a protocol address are stored in each entry. For example, data other than these data may be stored.
[0040]
【The invention's effect】
As described in detail above, the multi-protocol address search associative memory of the present invention has sequencer selection means for controlling the protocol address search procedure in accordance with each protocol. In the multi-protocol address search method of the present invention, the protocol ID and the protocol address are stored in different segments in the respective entries in the associative memory table in advance, and then the segment storing the protocol ID is searched first. , An entry in which a predetermined protocol ID is stored is detected, and a sequencer is selected based on the predetermined protocol ID. Subsequently, the protocol address of the entry detected by the predetermined protocol ID is stored by the selected sequencer. The segment in which the predetermined protocol address is stored is detected by searching the segment. That is, according to the associative memory for searching multi-protocol addresses and the search method of the present invention, a plurality of different protocol addresses can be searched with one associative memory. Cost reduction can be realized at the same time.
[Brief description of the drawings]
FIG. 1 is a block diagram of an embodiment of an associative memory for multiprotocol address retrieval according to the present invention.
FIG. 2 is a conceptual diagram of an embodiment of an associative memory table in the associative memory for multiprotocol address search according to the present invention.
FIG. 3 is a conceptual diagram of an example of an entry in an associative memory table in the associative memory for multiprotocol address search according to the present invention.
FIG. 4 is a conceptual diagram of an example of segment 0 of an entry in an associative memory table in the associative memory for multiprotocol address search according to the present invention.
FIG. 5 is a conceptual diagram illustrating an example of a multi-protocol address search method according to the present invention.
FIG. 6 is a conceptual diagram of an Ethernet frame.
7A is a conceptual diagram of network connection using a router, FIG. 7B is a conceptual diagram of an Ethernet frame input from the computer A to the router R, and FIG. 7C is output from the router R to the computer B. FIG. 3 is a conceptual diagram of an Ethernet frame.
FIG. 8 is a schematic diagram of an example of application of an associative memory to a conventional network address search.
FIG. 9 is a conceptual diagram of network connection using a conventional router.
[Explanation of symbols]
1,2,3 computer
10 Associative memory (CAM)
12 Associative memory table
14 Sequencer
16 Sequencer selection means
Claims (5)
前記エントリには少なくともプロトコル識別子およびプロトコルアドレスが記憶され、所定プロトコル識別子に一致するエントリが検出されるとともに、前記所定プロトコル識別子に応じたシーケンサが前記選択手段により選択され、前記検出されたエントリにおいて前記選択されたシーケンサにより、前記セグメント単位の前記プロトコルアドレスの論理積一致検索が行われることを特徴とするマルチプロトコルアドレス検索用連想メモリ。An associative memory table having a plurality of entries made up of a plurality of segments each having a predetermined bit length, and a sequencer selection means for controlling a matching search procedure for each protocol,
At least a protocol identifier and a protocol address are stored in the entry, and an entry that matches a predetermined protocol identifier is detected, and a sequencer corresponding to the predetermined protocol identifier is selected by the selection means, and the entry in the detected entry A multi-protocol address search associative memory, wherein a logical product match search of the protocol address in the segment unit is performed by a selected sequencer.
前記プロトコル識別子が記憶されているセグメントの一致検索を行い、前記所定プロトコル識別子が記憶されている前記エントリを検出するとともに、前記所定プロトコル識別子に基づいてシーケンサ識別子を獲得し、
次いで、前記シーケンサ識別子により前記所定プロトコル識別子に応じたシーケンサを選択し、
その後、前記選択されたシーケンサの制御に従って、前記所定プロトコル識別子により一致検出されたエントリの前記プロトコルアドレスが記憶されているセグメントの一致検索を行い、前記所定プロトコルアドレスが記憶されている前記エントリを検出することを特徴とするマルチプロトコルアドレスの検索方法。After storing the protocol identifier and protocol address corresponding to each protocol beforehand in different segments of each entry,
Performing a match search of the segment in which the protocol identifier is stored, detecting the entry in which the predetermined protocol identifier is stored, and obtaining a sequencer identifier based on the predetermined protocol identifier;
Next, a sequencer corresponding to the predetermined protocol identifier is selected by the sequencer identifier,
After that, according to the control of the selected sequencer, a search is performed for a segment in which the protocol address of the entry detected by the predetermined protocol identifier is stored, and the entry in which the predetermined protocol address is stored is detected. A method for searching for a multi-protocol address.
前記所定プロトコル識別子により一致検出されたエントリの前記セグメントの一部に記憶されたシーケンサ識別子を獲得する請求項3に記載のマルチプロトコルアドレスの検索方法。After previously storing the sequencer identifier corresponding to the protocol identifier in a part of the segment,
4. The multi-protocol address search method according to claim 3, wherein a sequencer identifier stored in a part of the segment of an entry detected by matching with the predetermined protocol identifier is acquired.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP01510295A JP3662618B2 (en) | 1995-02-01 | 1995-02-01 | Multi-protocol address search associative memory and its search method |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP01510295A JP3662618B2 (en) | 1995-02-01 | 1995-02-01 | Multi-protocol address search associative memory and its search method |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JPH08212790A JPH08212790A (en) | 1996-08-20 |
| JP3662618B2 true JP3662618B2 (en) | 2005-06-22 |
Family
ID=11879485
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP01510295A Expired - Lifetime JP3662618B2 (en) | 1995-02-01 | 1995-02-01 | Multi-protocol address search associative memory and its search method |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP3662618B2 (en) |
Families Citing this family (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2000151709A (en) * | 1998-11-12 | 2000-05-30 | Nec Corp | Routing address search system |
| CN1324861C (en) * | 2002-10-03 | 2007-07-04 | In4S公司 | Method and device for verifying bit string |
| WO2014141566A1 (en) | 2013-03-13 | 2014-09-18 | 長瀬産業株式会社 | Semiconductor device and entry address write/read method for semiconductor device |
-
1995
- 1995-02-01 JP JP01510295A patent/JP3662618B2/en not_active Expired - Lifetime
Also Published As
| Publication number | Publication date |
|---|---|
| JPH08212790A (en) | 1996-08-20 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US10715439B2 (en) | Longest prefix matching providing packet processing and/or memory efficiencies in processing of packets | |
| US5815664A (en) | Address reporting device and method for detecting authorized and unauthorized addresses in a network environment | |
| US6957272B2 (en) | Stackable lookup engines | |
| US10333845B2 (en) | Forwarding data packets | |
| US20060098644A1 (en) | Translating native medium access control (MAC) addresses to hierarchical MAC addresses and their use | |
| JPH10164118A (en) | LAN connection device | |
| EP1540522A1 (en) | Technique to improve network routing using best-match and exact-match techniques | |
| JP6437693B2 (en) | Multicast data packet forwarding | |
| US7440460B2 (en) | Apparatus and method for forwarding mixed data packet types in a high-speed router | |
| JP2000196672A (en) | Inter-network relay device | |
| US7145911B2 (en) | Method and system for parallel hash transformation for an address input | |
| US8018935B2 (en) | Address search | |
| JP3662618B2 (en) | Multi-protocol address search associative memory and its search method | |
| EP4423993A1 (en) | Mac-based routing | |
| US9014195B2 (en) | Packet forwarding method and system | |
| US10242740B2 (en) | T-CAM bier bit-string lookups | |
| JP3132426B2 (en) | High-speed LAN switching control method and system | |
| CN101099347A (en) | Maskable Content Addressable Memory | |
| EP2958286B1 (en) | A method of using generic modification instructions to enable flexible modifications of packets and an apparatus thereof | |
| US7275077B2 (en) | Method for associating a first address with a second address of reduced size for directly addressing a context memory on a computer | |
| JP3567903B2 (en) | Address search apparatus, method and recording medium recording the same | |
| JP3487342B2 (en) | Transfer destination information search method | |
| KR980013128A (en) | Layer 3 routing method and device using Ethernet switch | |
| JP3508057B2 (en) | Layer 3 switch | |
| JPH11308218A (en) | Layer 3 multicast transmission system |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20050121 |
|
| 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: 20050308 |
|
| A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050324 |
|
| 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: 20080401 Year of fee payment: 3 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090401 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090401 Year of fee payment: 4 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100401 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100401 Year of fee payment: 5 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110401 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110401 Year of fee payment: 6 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130401 Year of fee payment: 8 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140401 Year of fee payment: 9 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
| R360 | Written notification for declining of transfer of rights |
Free format text: JAPANESE INTERMEDIATE CODE: R360 |
|
| R371 | Transfer withdrawn |
Free format text: JAPANESE INTERMEDIATE CODE: R371 |
|
| S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
| EXPY | Cancellation because of completion of term |