(57)【要約】      （修正有）【課題】アドレス記憶に、アドレスを分割記憶する複数のメモリを用いることで、広い１連のビット列記憶回路を提供する。【解決手段】１連のビット列を１連のビット列記憶回路に記憶する方法は、そのｎ（＝４８）ビットからなる１連のビット列であるＭＡＣソースアドレスの先頭からｍ（＝２４）ビットをｍビットアドレスの第１のメモリの指定に用い、次のＬビットを２のＬ乗に展開するデコーダのビットに用い、残りの（ｎ−ｍ−Ｌ）ビットを、各デコーダ出力で選択される第２から第Ｋ（Ｋ＝３）のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成とし、第２分割ソースアドレスまたは第２分割デスティネーションアドレスと第３分割ソースアドレスまたは第３分割デスティネーションアドレスとは、それぞれ使用するアドレスビットの６ビット分アドレスを重複させ、アドレスを記憶するアドレス空間を広くする。【選択図】図１
2014158246.tif 000002
【特許請求の範囲】
【請求項１】
１連のビット列を分割記憶する１連のビット列記憶回路において、
目的の１連のビット列を１連のビット列記憶回路に記憶する方法は、そのｎビットからなる１連のビット列または１連のビット列のハッシュ値の先頭からｍビットをｍビットアドレスの第１のメモリの指定に用い、次のＬビットを２のＬ乗（Ｌ＝０，１，２，３，−−−）に展開するデコーダのビットに用い、残りの（ｎ−ｍ−Ｌ）ビットを、前記各デコーダ出力で選択される第２から第Ｋ（Ｋ＝２，３，−−−）のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第１から第Ｋのメモリを上記指定アドレスで読んだ場合に、
どれか一つのメモリのアドレス記憶出力が０の場合に、全メモリについて、前記指定アドレス位置にアドレス記憶データとして１を書き込み、かつ、前記メモリの読み出しでアドレス記憶出力が０であった中の一つのメモリの前記指定アドレス位置に、１連のビット列全体の記憶データとして目的の１連のビット列全体と付加情報または目的の１連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
一方、アドレス記憶出力が全てのメモリで１であり、かつ、読み出された１連のビット列全体の記憶データとしての１連のビット列全体または１連のビット列の圧縮したハッシュ値が記憶すべき目的の１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値と一致する１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値がある場合は、何もせず、無い場合には、目的の１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値が記憶されていないメモリの前記指定アドレス位置に、１連のビット列全体の記憶データとして目的の１連のビット列全体と付加情報または目的の１連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
目的の１連のビット列が１連のビット列記憶回路に記憶されていることを確認する方法は、そのｎビットからなる１連のビット列または１連のビット列のハッシュ値の先頭からｍビットをｍビットアドレスの第１のメモリの指定に用い、次のＬビットを２のＬ乗（Ｌ＝０，１，２，３，−−−）に展開するデコーダのビットに用い、残りの（ｎ−ｍ−Ｌ）ビットを、前記各デコーダ出力で選択される第２から第Ｋ（Ｋ＝２，３，−−−）のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第１から第Ｋのメモリを上記指定アドレスで読んだ場合に、どれか一つのメモリのアドレス記憶出力が０である場合には、目的の１連のビット列は記憶されていないと判断し、全てのメモリのアドレス記憶出力が１であり、かつ、第１のメモリから第Ｋのメモリの前記指定アドレスで読んだ場合のいずれかのメモリ出力の１連のビット列全体の記憶データが目的の１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値と一致する場合には、目的の１連のビット列が記憶されていると判断し、その一致した目的の１連のビット列または目的の１連のビット列の圧縮したハッシュ値とともに記憶されている付加情報を読み出し、
一方、全てのメモリのアドレス記憶出力が１であり、かつ、目的の１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値と一致する読み出した１連のビット列全体の記憶データがどのメモリ出力にも無い場合には、目的の１連のビット列は記憶されていないと判断する方法であること、
を特徴とする１連のビット列を分割記憶する１連のビット列記憶回路。
【請求項２】
請求項１に記載の１連のビット列を分割記憶する１連のビット列記憶回路おいて、
目的の１連のビット列全体と付加情報または目的の１連のビット列の圧縮したハッシュ値と付加情報を記憶させるのは、第１のメモリ以外のメモリであること、
を特徴とする１連のビット列を分割記憶する１連のビット列記憶回路。
【請求項３】
請求項１乃至２に記載の１連のビット列を分割記憶する１連のビット列記憶回路おいて、
第２メモリから第Ｋメモリのメモリは互いに１連のビット列の指定アドレスビットを１部重複して使用すること、
を特徴とする１連のビット列を分割記憶する１連のビット列記憶回路。
【請求項４】
請求項１乃至３に記載の１連のビット列を分割記憶する１連のビット列記憶回路おいて、
目的の１連のビット列を１連のビット列記憶回路に記憶する場合、目的の１連のビット列の下位ビット列のみを２度用いて、メモリのアドレス指定を行うこと、
を特徴とする１連のビット列を分割記憶する１連のビット列記憶回路。
【請求項５】
請求項１乃至４に記載の１連のビット列を分割記憶する１連のビット列記憶回路おいて、
目的の１連のビット列を１連のビット列記憶回路から消去する方法は、そのｎビットからなる１連のビット列または１連のビット列のハッシュ値の先頭からｍビットをｍビットアドレスの第１のメモリの指定に用い、次のＬビットを２のＬ乗（Ｌ＝０，１，２，３，−−−）に展開するデコーダのビットに用い、残りの（ｎ−ｍ−Ｌ）ビットを、前記各デコーダ出力で選択される第２から第Ｋ（Ｋ＝２，３，−−−）のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第１から第Ｋのメモリを上記指定アドレスで読んだ場合に、全てのメモリのアドレス記憶出力が１であり、かつ、第１のメモリから第Ｋのメモリの前記指定アドレスで読んだ場合のいずれかのメモリ出力の１連のビット列全体の記憶データが目的の１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値と一致する場合に、その目的の１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値と一致する１連のビット列全体の記憶データを消去する方法であること、
を特徴とする１連のビット列を分割記憶する１連のビット列記憶回路
【請求項６】
請求項１乃至５に記載の１連のビット列を分割記憶する１連のビット列記憶回路おいて、
１連のビット列はＩＰソースアドレスまたはＩＰデスティネーションアドレスであること、
を特徴とする１連のビット列を分割記憶する１連のビット列記憶回路。
【請求項７】
請求項１乃至５に記載の１連のビット列を分割記憶する１連のビット列記憶回路おいて、
１連のビット列は固定電話番号ソースアドレスまたは固定電話番号デスティネーションアドレスであること、
を特徴とする１連のビット列を分割記憶する１連のビット列記憶回路。
【請求項８】
請求項１乃至５に記載の１連のビット列を分割記憶する１連のビット列記憶回路おいて、
１連のビット列は、スイッチングハブまたはＬ２スイッチまたはリングノードスイッチに用いられる１連のビット列記憶回路に、１連のビット列として記憶するＭＡＣソースアドレスまたはＭＡＣデスティネーションアドレスであり、付加情報はポート番号であること、
を特徴とする１連のビット列を分割記憶する１連のビット列記憶回路。
【請求項９】
請求項１乃至５に記載の１連のビット列を分割記憶する１連のビット列記憶回路おいて、
１連のビット列は携帯電話番号ソースアドレスまたは携帯電話番号デスティネーションアドレスであること、
を特徴とする１連のビット列を分割記憶する１連のビット列記憶回路。
【請求項１０】
請求項１乃至５に記載の１連のビット列を分割記憶する１連のビット列記憶回路おいて、
１連のビット列は、スイッチングハブまたはＬ２スイッチまたはリングノードスイッチに用いられる１連のビット列記憶回路に、１連のビット列または１連のビット列のハッシュ値として記憶するメールサーバのドメイン名またはＷｅｂサーバのドメイン名の各文字をビット列に変換したビット列であり、付加情報はポート番号であること、
を特徴とする１連のビット列を分割記憶する１連のビット列記憶回路。
【請求項１１】
請求項１乃至５に記載の１連のビット列を分割記憶する１連のビット列記憶回路おいて、
１連のビット列は、スイッチングハブまたはＬ２スイッチまたはリングノードスイッチに用いられる１連のビット列記憶回路に、１連のビット列または１連のビット列のハッシュ値として記憶する人名の各文字をビット列に変換したビット列であり、付加情報はポート番号であること、
を特徴とする１連のビット列を分割記憶する１連のビット列記憶回路。
【請求項１２】
請求項１乃至５に記載の１連のビット列を分割記憶する１連のビット列記憶回路おいて、
１連のビット列は、スイッチングハブまたはＬ２スイッチまたはリングノードスイッチに用いられる１連のビット列記憶回路に、１連のビット列または１連のビット列のハッシュ値として記憶するファイル名の各文字をビット列に変換したビット列であり、付加情報はポート番号であること、
を特徴とする１連のビット列を分割記憶する１連のビット列記憶回路。
【請求項１３】
請求項１乃至１２に記載の１連のビット列を分割記憶する１連のビット列記憶回路を持つリング網において、
１連のビット列記憶回路を１重または２重リング網の各ノードに置き、そのノードに接続されるスイッチは１連のビット列記憶回路を持ち、端末からそのスイッチを介して、リングノードにＡＤＤしたパケットは、リング入口の前記１連のビット列記憶回路に、リングからドロップアドレス用の１連のビット列を記憶してリングに上がり、リング上のパケットがノードに入力した場合には、そのパケットの持つ１連のビット列である宛先アドレスが、そのノードの１連のビット列記録回路に記録されている場合には、そのパケットをドロップし、記憶されていない場合には、そのノードをスルーし、リング上に宛先がなく、リングにＡＤＤしたノードに戻った場合には、そのパケットは廃棄すること、
を特徴とする１連のビット列を分割記憶する１連のビット列記録回路を持つリング網。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、携帯電話番号、固定電話番号、ＭＡＣソースアドレス、ＭＡＣデスティネーションアドレス、ＩＰソースアドレス、ＩＰデスティネーションアドレスのような１連のビット列を分割記憶する１連のビット列記憶回路に関する。
【背景技術】
【０００２】
１連のビット列記憶回路の従来技術としては、特開２０００−１５１６１７「テーブル作成検索装置」がある。この従来例を図８により説明する。この従来例は、ＭＡＣアドレスの記憶回路に関するもので、行列アドレス８００とＭＡＣアドレスデータエリアＭＡ（４８ビット）８０１とインデックスエリアＩＡ８０２を持つＲＡＭ等で構成される第１のテーブルと行列アドレス８２０とＭＡＣアドレスデータエリアＭＡ（４８ビット）８２１とインデックスエリアＩＡ８２２を持つＲＡＭ等で構成される第２のテーブルからなる。第１、第２テーブルのＭＡＣアドレスは１６進表示で示している。
【０００３】
まず、到着パケットのソースＭＡＣアドレスの記憶方法を説明する。
到着したパケットのＭＡＣアドレスの下位１６ビットの示すアドレス（例えば８０３）で、第１のテーブルのＭＡＣアドレステーブルが指定されるＭＡＣアドレスデータエリアＭＡ（４８ビット）８０１（例えば８０５）に４８ビットのＭＡＣアドレスが既に記憶されていなければ、そこに記憶し、記憶されている場合で、そのインデックスエリアＩＡに記憶アドレスが無い場合は、第２のテーブルのＭＡＣアドレスデータエリアＭＡ（４８ビット）８２１のアドレスに既にＭＡＣアドレスが記憶されていない書き込みアドレスを探し、そこにＭＡＣアドレスを記憶し（例えば８２６）、その記憶したアドレス（例えば２）を第１テーブルのインデックスエリアＩＡ８０２に記憶する（例えば８０８）。次に到着したＭＡＣアドレスの下位１６ビットの示す第１テーブルのアドレス（例えば８０３）のインデックスエリアＩＡ８０２に既にアドレスが記憶されている場合には、第２テーブルのそのアドレス（例えば２）の示すインデックスエリアＩＡ８２２のエリア８３０に記憶アドレスが無い場合には、第２テーブルのＭＡＣアドレスデータエリアＭＡ（４８ビット）８２１の記憶されていないアドレスを探し、そこに到着パケットのＭＡＣアドレスを記憶し、そのアドレス（例えば３）を前記インデックスエリアＩＡ８２２の８３０に記憶する。一方、インデックエリアＩＡ８２２の８３０に既にアドレスが記憶されている場合には、そのアドレス（例えば３）の示すインデックスエリアＩＡ８２２の８３１に記憶アドレスが無い場合には、ＭＡＣアドレスデータエリアＭＡ（４８ビット）８２１のデータが記憶されていないアドレスを探し、そこに到着パケットのＭＡＣアドレスを記憶し、そのアドレス（例えば４）を前記インデックスエリア８３１に記憶する。
【０００４】
次に、到着パケットのデスティネーションＭＡＣアドレスがテーブルにあるか確認する方法を説明する。
【０００５】
到着したパケットのＭＡＣアドレスの下位１６ビットの示すアドレス（例えば８０３）で、第１のテーブルのＭＡＣアドレステーブルが指定されるＭＡＣアドレスデータエリアＭＡ（４８ビット）８０１（例えば８０５）に記憶されているＭＡＣアドレスが到着パケットのＭＡＣアドレスと一致しない場合には、そのインデックスエリアＩＡ８０８に記憶されている第２テーブルのアドレス（例えば２）を検索し、そこに記憶されているＭＡＣアドレスが到着パケットのＭＡＣアドレスに一致しない場合には、そのインデックスエリアＩＡ８３０に記憶されている第２テーブルのアドレス（例えば３）を検索し、そこに記憶されているＭＡＣアドレスが到着パケットのＭＡＣアドレスに一致しない場合には、そのインデックスエリアＩＡ８３１に記憶に記憶されている第２テーブルのアドレス（例えば４）を検索し、そこに記憶されているＭＡＣアドレスが到着パケットのＭＡＣアドレスに一致する場合には、到着したパケットのデスティネーションＭＡＣアドレスが記憶されていると判断する。
【０００６】
また、１連のビット列記憶回路の別の従来技術としては、特開２００２−３３４１１４「テーブル管理方法及び装置」がある。この従来例を図９により説明する。図９において、９００は受信ＭＡＣアドレス、９０１はＣＲＣ等のハッシュ関数、９０２はハッシュ値であるエントリテーブル９０３のアドレス指定ビット（１０ビット）、エントリテーブル９０３は、受信ＭＡＣアドレスをそのハッシュ値アドレスに収容するテーブルであり、この例では、Ｂ１，Ｂ２，Ｂ３，Ｂ４の４つのテーブルがあり、各エントリ９０３は、ＭＡＣアドレス４８ビット、ポート番号等が格納さる。９０４は、アドレスビット９０２により読み出された登録ＭＡＣアドレス４８ビット、９０５、９０６，９０７，９０８は、Ｂ１，Ｂ２，Ｂ３，Ｂ４の各エントリテーブルからアドレス９０２により読み出されたＭＡＣアドレス４８ビットと受信ＭＡＣアドレス４８ビット（９０９）の比較器であり、９１０は、各比較器出力のＯＲ回路であり、９１１はその出力の一致検出信号である。
【０００７】
以下に動作を説明する。受信ソースＭＡＣアドレス９００のハッシュ値のアドレスビット９０２で指定された４つのエントリテーブルのアドレス位置の格納エントリにあるＭＡＣアドレスの内に受信ＭＡＣアドレスと一致するものが無く、格納されていないエントリエリアがあれば、その位置に受信ソースＭＡＣアドレス４８ビットとそのポート番号を書き込み、指定されたエントリテーブルのアドレス位置に格納されているどれかのＭＡＣアドレスが受信ＭＡＣアドレスと一致する場合には、そのままとし、一致するものが無く、エントリテーブルに空きが無い場合には、再ハッシュが発生し、格納エントリＭＡＣアドレスを受信ＭＡＣアドレスに変更する。さらに、そのパケットのデスティネーションＭＡＣアドレスのハッシュ値のアドレスビット９０２で指定されたエントリテーブルのアドレス位置にＭＡＣアドレスが格納されていなければ、そのパケットはｕｎｋｎｏｗｎパケットとして、フラッディングする。一方、格納されていれば、その４つのＭＡＣアドレスと受信デスティネーションＭＡＣアドレスを比較し、一致するものがある場合には、そのアドレス位置に共に格納されているポート番号にそのパケットを送出し、一致しなければ、ｕｎｋｎｏｗｎパケットとして、フラッディングする。
次に、従来のリング技術について述べる。従来のリング技術として、従来のＬ２ＳＷ等のＭＡＣスイッチを用いたＥＡＳＰ，  ＭＲＰ，  ＭＭＲＰ２等のリングが提案されているが、これらはすべて、ループができないように、リングフローを切るポイントがリング上に存在していた。
【０００８】
これに対して、リング上のパケット転送を、パケットに、リングへのパケットのＡＤＤノードのＭＡＣアドレスと、リングからＤＲＯＰするノードのＭＡＣアドレスを端末ＭＡＣヘッダに付けることにより、カプセル化するとともに、リング上を周回するパケットが送信元のＡＤＤリングノードに戻った場合には、そのパケットを廃棄する機能を持つことにより初めて、ＭＡＣリング転送を実現したＲＰＲが提案され、標準化されている。
【０００９】
そのリング網は、ＩＥＥＥ８０２．１７  ＲＰＲ（Ｒｅｓｉｌｉｅｎｔ  Ｐａｃｋｅｔ  Ｒｉｎｇ）である。この従来技術の実施例として、特許文献１特開２００９−７７２８５号公報（パケットリングネットワークシステム、およびフォワーディングデータベース管理方法）等がある。これらのＲＰＲは、従来問題になっていたループによる輻輳ストームを解決した。
【００１０】
リングに適用する従来のＭＡＣ形動作をするノード装置として図１０に示す従来のＭＡＣＳＷがある。図１０において、符号３０５，３０６はノード装置、符号３００、３０１はそこで使われる各ポートに入力するパケットのソースアドレスとその入力ポートとを記憶したＭＡＣアドレステーブル、符号３０２は右回りリング伝送路、符号３０３は左回りリング伝送路、符号３０４は入力パケットのヘッダ読み取り回路、符号３０７，３０８は、ＡＤＤ伝送路のポート、３０９，３１０はリング伝送路のポートである。
【００１１】
各ヘッダ読み取り回路およびリング伝送路へのパケット合流点に必要なバッファは図では省略されている。各ポートに入力するパケットのデスティネーションアドレスがＭＡＣアドレステーブル３００，３０１にあれば、そのアドレスとともに書かれているポートに出力し、なければｕｎｋｎｏｗｎパケットとして、コピーしてすべてのポートに出力する。図中、ＭＡＣＣＤ，ＭＡＣＢＡ，ＭＡＣＡＢ，ＭＡＣＤＣの表示のＭＡＣの後の英文字ＣＤ，ＢＡ等は、デスティネーションアドレスが、Ｃ，Ｂであり、ソースアドレスがＤ，Ａであることを示す。
【００１２】
右側のノードのポート２（３０８）に到着したパケットＭＡＣＢＡは、ＭＡＣアドレステーブル３０１のデスティネーションアドレスＭＡＣＢの出力先ポートであるポート４（３１０）に繋がる左回りリング伝送路３０３に（１）ＭＡＣＢＡとして、送出され、左側のノードのＭＡＣアドレステーブル３００にあるデスティネーションアドレスＭＡＣＢの出力先ポートであるポート２（３０８）に（２）ＭＡＣＢＡとしてドロップされる。
【００１３】
一方、その対向フローである左側のノードのポート２（３０８）に到着したパケットＭＡＣＡＢは、ＭＡＣアドレステーブル（３００）のデスティネーションアドレスＭＡＣＡの出力先ポートであるポート３（３０９）に繋がる右回りリング伝送路３０２に（３）ＭＡＣＡＢとして、送出され、右側のノードのＭＡＣアドレステーブル３０１にあるデスティネーションアドレスＭＡＣＡの出力先ポートであるポート２（３０８）に（４）ＭＡＣＡＢとしてドロップされる。（５）、（６）ＭＡＣＣＤ，および（７）、（８）ＭＡＣＤＣの動作も同様である。
【００１４】
次に、従来技術のＲＰＲのリング動作を図１１に示す。図１１は０系リング伝送路３２１と１系リング伝送路３２０上にノードＡ（３２２），Ｂ（３２３），Ｃ（３２４），Ｄ（３２５）の４つのリングノードを持ち、各リングノードは、そのリングノード識別番号として、それぞれ、ＭＡＣソースアドレスであるＭＡＣＡ，ＭＡＣＢ，ＭＡＣＣ，ＭＡＣＤを持ち、ノードＡには、端末Ｈ（３３０），ノードＢには端末Ｆ（３３１），ノードＣには、端末Ｇ（３３２）が接続されている。端末Ｈ（３３０）のＭＡＣソースアドレスはＭＡＣＨであり、ＩＰソースアドレスはＩＰＨであり，端末ＦのＭＡＣソースアドレスはＭＡＣＦであり、ＩＰソースアドレスはＩＰＦであり，端末ＧのＭＡＣソースアドレスはＭＡＣＧであり、ＩＰソースアドレスはＩＰＧである。
【００１５】
このリング上でのパケット伝送は、端末から到着したパケットに、リング上でそのパケットを転送するために必要なノードＭＡＣソースアドレスとノードＭＡＣデスティネーションアドレスを持つＭＡＣヘッダを付け加えて、行われる。そのための端末ＭＡＣヘッダにノード間転送用のノードＭＡＣヘッダを付けるために必要なヘッダ変換テーブルを各ノードのリングに上がる入り口で持っている。
【００１６】
その変換テーブルは、各端末からノードに最初に到着した時に学習して持つ必要がある。これは端末から到着するＡＲＰパケットにより行われるもので、この従来例の図はその動作を示したものである。以下にその動作を示す。
【００１７】
端末Ｈ（３３０）から、端末Ｆ（３３１）宛ての端末ＦへのＩＰデスティネーションアドレスであるＩＰＦを持ち、ＭＡＣデスティネーションアドレスがオール１であり、端末ＨのＭＡＣソースアドレスであるＭＡＣＨとＩＰソースアドレスであるＩＰＨを持つ、ＡＲＰパケット（１）ＡＲＰ，ＭＡＣ，ａｌｌ１，Ｈ，ＩＰＦ，Ｈが、リングノードＡ（３２２）に到着した場合、ノードＡ（３２２）は、そのパケットの宛先が分からないため、そのＭＡＣパケットに、ブロードキャストパケット表示であるオール１のＭＡＣデスティネーションアドレスとノードＡのＭＡＣソースアドレスであるＭＡＣＡのＭＡＣヘッダを付けたパケット、（２）Ｂｒｏａｄｃａｓｔ，ＭＡＣ，ａｌｌ１，Ａ，ＭＡＣ，ａｌｌ１，Ｈ，ＩＰＦ，Ｈを、両系リングまたは片系リングに送出する。
【００１８】
そのパケットは、各ノードＢ（３２３），ノードＣ（３２４），ノードＤ（３２５）でコピーされてドロップされる。各ノードでドロップされたそのパケットは、そのノードの出口に、そのパケットの外側ＭＡＣソースアドレスであるＭＡＣＡと端末ＭＡＣソースアドレスであるＭＡＣＨのヘッダ変換表を作成してから、外側のＭＡＣヘッダが取り除かれて、（３）ＡＲＰ，  ＭＡＣ，ａｌｌ１，Ｈ，ＩＰＦ，Ｈとして、下位ドロップ伝送路に送出される。そのパケットは、そのパケットの宛先ＩＰアドレスであるＩＰＦが端末のソースアドレスと一致する端末Ｆ（３３１）だけが、そのパケットを取り込み、ＡＲＰ応答パケット、（４）ＡＲＰ応答，ＭＡＣ，Ｈ，Ｆ，ＩＰＨ，ＦをノードＢに送出する。
【００１９】
ノードＢ（３２３）はその端末パケットのＭＡＣデスティネーションアドレスから、宛先リングノードＭＡＣアドレスをヘッダ変換表から検索するともに、その端末Ｈ，端末Ｆ，ノードＡの関係を記したその端末間接続に関するヘッダ変換表を完成させ、その端末パケットに、リングノード間転送用のＭＡＣヘッダ、ＭＡＣ，Ａ，Ｂを付け、（５）ＭＡＣ，Ａ，Ｂ，ＭＡＣ，Ｈ，Ｆ，ＩＰＨ，Ｆ、として１系リング（３２０）に送出する。
【００２０】
その際、ノードＢ（３２３）は、宛先であるノードＡ（３２２）への最短経路を前もって知っているため、そのパケットを１系リングに送出する。その１系リングに上がったパケットは、そのパケットの宛先であるノードＡ（３２２）でドロップされ、そのドロップ点出口で、そのパケットから、端末Ｈ，端末Ｆ，ノードＢの関係を記したその端末間接続に関するヘッダ変換表を完成させてから、外側のＭＡＣヘッダが除去されて、端末Ｈに、（６）ＡＲＰ応答，ＭＡＣ，Ｈ，Ｆ，ＩＰＨ，Ｆとして、送出される。以後、端末Ｈと端末Ｆ間のこのリングを介してのパケット転送は、ノードＡとノードＢに作成した前記ヘッダ変換テーブルを用いて、行われる。
【００２１】
図１２は、従来技術であるＲＰＲにおける、各ノードのＭＡＣ変換テーブルが完成後の、その場合のユニキャストパケットの転送動作を示したものである。この図では、ノードＡ（３２２）に端末Ｅ（３３３）と端末Ｈ（３３０）が接続され、ノードＢ（３２３）に端末Ｆ（３３１）が接続され、ノードＣ（３２４）に端末Ｇ（３３２）が接続され、端末Ｈと端末Ｆ間、端末Ｅと端末Ｇ間でパケット転送が行われている様子を示している。
【００２２】
図１２では、各リング上に端末間でリングノードを介して転送されるパケットのＭＡＣヘッダが記されている。各端末は、ノードＡ，ノードＢ，ノードＣのヘッダ変換テーブルに示した、送信元端末ＭＡＣアドレス、送信先端末ＭＡＣアドレス、送信元ノードＭＡＣアドレス、送信先ノードＭＡＣアドレスの関係表を用いて、各ノードのリングに上がる際、ヘッダ変換を行って、パケット転送する。
【００２３】
次に、従来例のＭＡＣ動作するリングのノード装置を図１３に示す。図１３は、特願２０１２−２０６０１１（パケット転送法およびノード装置）に開示されているもので、パスまたは１フロー用のパケット伝送に用いられる例で、現用、予備のドロップアドレステーブルを持つ例である。図１３において、６０９は現用ドロップアドレステーブル、６１０は予備ドロップアドレステーブルであり、６００は、０系リング伝送路、６０１は１系リング伝送路、６０２はＡＤＤ伝送路、６０３はＤＲＯＰ伝送路、６０４はＭＡＣＢＡ（Ｂは宛先ＭＡＣアドレス、Ａは送信元ＭＡＣアドレス）、６０５はＭＡＣＡＢ，６０６は、０系伝送路のパケットのヘッダ読み取り回路（ＢＵＦ付）、６０７は、１系伝送路のパケットのヘッダ読み取り回路（ＢＵＦ付）、６０８は、パケット振り分け回路（ＢＵＦ付）である。以下に、動作を示す。ＡＤＤ伝送路６０２からノードに入力したパケットＭＡＣＢＡ６０４は、パケット振り分け回路６０８で、そのパケットのソースアドレスが読み取られ、そのアドレスが現用のドロップアドレステーブル６０９に無ければ、そのテーブルにそのソースアドレスを書き込み、ある場合は、そのまま、そのパケットのソースアドレスＡの最下位ビット（この例では０）の示す０系リング伝送路６００に送出される。
【００２４】
一方、リング上からこのノードに到着するパケットは、ヘッダ読み取り回路６０６または６０７で、そのパケットのデスティネーションアドレスが読み取られ、そのアドレスが最初に現用側のドロップアドレステーブル６０９に有るか検索し、有れば、そのパケットをドロップし、無ければ、予備のドロップアドレステーブル６１０を検索し、有れば、ドロップし、無ければ、そのパケットはそのまま、その出力リング伝送路にスルーして、送出される。
【００２５】
この例では、１系リング伝送路６０１から、ＭＡＣＡＢ６０５がノードに到着する例で、そのデスティネーションアドレスＡが現用ドロップアドレステーブル６０９にあるので、そのパケットは、ＤＲＯＰ伝送路６０３に送出される。このような動作で、予備のドロップアドレステーブル６１０が一定時間以上、検索において、ヒットすることが無い場合には、予備ドロップアドレステーブル６１０内のソースアドレスが古くなったものと判断し、そのテーブル内の全メモリをクリアするとともに、予備ドロップアドレステーブル６１０を現用ドロップアドレステーブルとし、これまで現用であったドロップアドレステーブル６０９を予備ドロップアドレステーブルに変更する。この例ではＭＡＣテーブルには、ドロップアドレスしかなく、動作が簡単化されている。
【先行技術文献】
【特許文献】
【００２６】
【特許文献１】特開２０００−１５１６１７  号公報
【特許文献２】特開２００２−３３４１１４  号公報
【特許文献３】特願２０１２−２０６０１１  号公報
【非特許文献】
【００２７】
【非特許文献１】ＩＥＥＥ８０２．１７  ＲＰＲ（Ｒｅｓｉｌｉｅｎｔ  Ｐａｃｋｅｔ  Ｒｉｎｇ）
【発明の概要】
【発明が解決しようとする課題】
【００２８】
従来の１連のビット列記憶回路としての従来例特開２０００−１５１６１７は到着したパケットのＭＡＣアドレスを到着した順にテーブルに記憶する方法に比べて、記憶動作が簡単化されているが、それは到着したパケットの下位ＭＡＣアドレス１６ビットの示す第１テーブルのＭＡＣアドレスデータ記憶エリアにまだ全ＭＡＣアドレスビットが記憶されていない場合であり、既に違う全ＭＡＣアドレスビットが記憶されている場合には、そのアドレスのインデックスエリアに記憶先が記憶されている第２テーブルのアドレス位置を検索し、そこに到着したパケットの全ＭＡＣアドレスビットが記憶されていなければ、そのアドレスに到着パケットのＭＡＣアドレスを記憶する。
【００２９】
もし、そこに既に違う全ＭＡＣアドレスビットが記憶されている場合には、空きエリアを探してそこに、全ＭＡＣアドレスビットを記憶し、そのアドレスを前のインデックスエリアに記憶する。このように、次々と記憶エリアをたどらなければ、記憶も、記憶読み出しもできないため、到着パケットのＭＡＣアドレス処理に時間がかかる問題がある。また、記憶できるアドレス空間が狭い問題がある。また、到着パケットのＭＡＣアドレスの下位１６ビットしか見ないため、到着パケットのＭＡＣアドレスが存在しないにもかかわらず、下位１６ビットが一致する確率が高いため、到着パケットのＭＡＣアドレスが存在しないことを確認するには、多くのインデックスエリアをチェックしなければならず、アドレス処理に時間がかかる問題がある。
【００３０】
また、従来の１連のビット列記憶回路としての従来例特開２００２−３３４１１４は、ハッシュ関数により、ＭＡＣアドレスの検索が高速になるが、受信ＭＡＣアドレスのハッシュ値であるアドレスビットの示すアドレスの格納されているＭＡＣアドレスと受信ソースＭＡＣアドレスが一致しない場合には、エントリテーブルのＭＡＣアドレスを変更する必要があり、誤動作の可能性が出る。また、ハッシュ値は、同じハッシュ値になる複数キーが存在するため、正確記憶にならない問題がある。また、ハッシュ値は１メモリのアドレス空間に限られるため、アドレス空間が狭い問題がある。
【００３１】
また、従来のリング技術としてのＩＥＥＥ８０２．１７  ＲＰＲ（Ｒｅｓｉｌｉｅｎｔ  Ｐａｃｋｅｔ  Ｒｉｎｇ）図１１、図１２は特殊のＲＰＲヘッダを用い、ＲＰＲヘッダにはＤＲＯＰノード番号が必要であり、その学習に時間がかかる。また、その変換テーブルＦＤＢ（Ｆｏｒｗａｒｄｉｎｇ  Ｄａｔａｂａｓｅ）を作成後も端末から受信したパケットはこのテーブルを見て、ＤＲＯＰ先ノードのＭＡＣアドレスを持つヘッダを付ける必要があり、変換に時間がかかる。
【００３２】
ＲＰＲは制御パケットをリングノード間で転送することにより、各ノードはリング上の他のノードの位置情報を持っており、ＤＲＯＰノードまでの最短経路が分かる。しかし、他リングと接続するためには、他リングＩＤをパケットに設定する必要があり、その学習に時間がかかる。それゆえにＲＰＲは基本的に単一２重リング以外への適用が難しいので、ＭＡＮ，ＬＡＮへの適用例はあるが、大規模網への適用例はない。
【００３３】
また、ＲＰＲはカプセル化したことで、リング上では、高速転送可能となったが、他リングに接続するためには、他リング入り口ノードで再度リングドロップノードを学習する必要があり、本質的に問題がある。
【００３４】
また、ＲＰＲはカプセル化しているため、パス接続のリングでもあるが、リング外から入力するパス構成のパケットはリング内ではさらにリングヘッダでカプセル化しなければリング上を転送できない問題があった。また、メールアドレスのドメイン名またはＷｅｂアドレスのドメイン名により目的の宛先にパケットを転送できない問題があった。
【００３５】
また、リングの従来技術である特願２０１２−２０６０１１の図１３に示した従来のＭＡＣ動作リングは、ノード装置が簡単化され、高速動作が可能であるが、ＭＡＣアドレス４８ビットを収容するには、ＲＡＭ，ＳＲＡＭ，ＣＡＭのようなメモリは使用できないため、コストが高くなる欠点があった。そのため、ＭＡＣアドレステーブルを使用するしかなく、そのため、多数のＭＡＣアドレスを収容できない問題があった。また、メールアドレスのドメイン名またはＷｅｂアドレスのドメイン名により目的の宛先にパケットを転送できない問題があった。
【課題を解決するための手段】
【００３６】
本発明は、上記従来技術の問題点を鑑みて成されたもので、その目的とする所は、アドレス記憶に、アドレスを分割記憶する複数のメモリを用いることで、アドレス空間の広い１連のビット列記憶回路を提供することにある。また、それを用いたリング網を提供することにある。
【００３７】
本発明（１）によれば、１連のビット列を分割記憶する１連のビット列記憶回路において、
目的の１連のビット列を１連のビット列記憶回路に記憶する方法は、そのｎビットからなる１連のビット列または１連のビット列のハッシュ値の先頭からｍビットをｍビットアドレスの第１のメモリの指定に用い、次のＬビットを２のＬ乗（Ｌ＝０，１，２，３，−−−）に展開するデコーダのビットに用い、残りの（ｎ−ｍ−Ｌ）ビットを、前記各デコーダ出力で選択される第２から第Ｋ（Ｋ＝２，３，−−−）のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第１から第Ｋのメモリを上記指定アドレスで読んだ場合に、どれか一つのメモリのアドレス記憶出力が０の場合に、全メモリについて、前記指定アドレス位置にアドレス記憶データとして１を書き込み、かつ、前記メモリの読み出しでアドレス記憶出力が０であった中の一つのメモリの前記指定アドレス位置に、１連のビット列全体の記憶データとして目的の１連のビット列全体と付加情報または目的の１連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
一方、アドレス記憶出力が全てのメモリで１であり、かつ、読み出された１連のビット列全体の記憶データとしての１連のビット列全体または１連のビット列の圧縮したハッシュ値が記憶すべき目的の１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値と一致する１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値がある場合は、何もせず、
無い場合には、目的の１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値が記憶されていないメモリの前記指定アドレス位置に、１連のビット列全体の記憶データとして目的の１連のビット列全体と付加情報または目的の１連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
目的の１連のビット列が１連のビット列記憶回路に記憶されていることを確認する方法は、そのｎビットからなる１連のビット列または１連のビット列のハッシュ値の先頭からｍビットをｍビットアドレスの第１のメモリの指定に用い、次のＬビットを２のＬ乗（Ｌ＝０，１，２，３，−−−）に展開するデコーダのビットに用い、残りの（ｎ−ｍ−Ｌ）ビットを、前記各デコーダ出力で選択される第２から第Ｋ（Ｋ＝２，３，−−−）のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第１から第Ｋのメモリを上記指定アドレスで読んだ場合に、どれか一つのメモリのアドレス記憶出力が０である場合には、目的の１連のビット列は記憶されていないと判断し、
全てのメモリのアドレス記憶出力が１であり、かつ、第１のメモリから第Ｋのメモリの前記指定アドレスで読んだ場合のいずれかのメモリ出力の１連のビット列全体の記憶データが目的の１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値と一致する場合には、目的の１連のビット列が記憶されていると判断し、その一致した目的の１連のビット列または目的の１連のビット列の圧縮したハッシュ値とともに記憶されている付加情報を読み出し、
一方、全てのメモリのアドレス記憶出力が１であり、かつ、目的の１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値と一致する読み出した１連のビット列全体の記憶データがどのメモリ出力にも無い場合には、目的の１連のビット列は記憶されていないと判断する方法であることを特徴とする１連のビット列を分割記憶する１連のビット列記憶回路を提供する。
【００３８】
好ましくは、本発明（２）においては、上記本発明（１）において、目的の１連のビット列全体と付加情報または目的の１連のビット列の圧縮したハッシュ値と付加情報を記憶させるのは、第１のメモリ以外のメモリであることを特徴とする１連のビット列を分割記憶する１連のビット列記憶回路を提供する。
【００３９】
また、好ましくは、本発明（３）においては、上記本発明（１、２）において、第２メモリから第Ｋメモリのメモリは互いに１連のビット列の指定アドレスビットを１部重複して使用することを特徴とする１連のビット列を分割記憶する１連のビット列記憶回路を提供する。
【００４０】
また、好ましくは、本発明（４）においては、上記本発明（１から３）において、目的の１連のビット列を１連のビット列記憶回路に記憶する場合、目的の１連のビット列の下位ビット列のみを２度用いて、メモリのアドレス指定を行うことを特徴とする１連のビット列を分割記憶する１連のビット列記憶回路を提供する。
【００４１】
また、好ましくは、本発明（５）においては、上記本発明（１から４）において、
目的の１連のビット列を１連のビット列記憶回路から消去する方法は、そのｎビットからなる１連のビット列または１連のビット列のハッシュ値の先頭からｍビットをｍビットアドレスの第１のメモリの指定に用い、次のＬビットを２のＬ乗（Ｌ＝０，１，２，３，−−−）に展開するデコーダのビットに用い、残りの（ｎ−ｍ−Ｌ）ビットを、前記各デコーダ出力で選択される第２から第Ｋ（Ｋ＝２，３，−−−）のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第１から第Ｋのメモリを上記指定アドレスで読んだ場合に、全てのメモリのアドレス記憶出力が１であり、かつ、第１のメモリから第Ｋのメモリの前記指定アドレスで読んだ場合のいずれかのメモリ出力の１連のビット列全体の記憶データが目的の１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値と一致する場合に、その目的の１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値と一致する１連のビット列全体の記憶データを消去する方法であることを特徴とする１連のビット列を分割記憶する１連のビット列記憶回路を提供する。
【００４２】
また、好ましくは、本発明（６）においては、上記本発明（１から５）において、１連のビット列はＩＰソースアドレスまたはＩＰデスティネーションアドレスであることを特徴とする。
【００４３】
また、好ましくは、本発明（７）においては、上記本発明（１から５）において、１連のビット列は固定電話番号ソースアドレスまたは固定電話番号デスティネーションアドレスであることを特徴とする。
【００４４】
また、好ましくは、本発明（８）においては、上記本発明（１から５）において、１連のビット列は、スイッチングハブまたはＬ２スイッチまたはリングノードスイッチに用いられる１連のビット列記憶回路に、１連のビット列として記憶するＭＡＣソースアドレスまたはＭＡＣデスティネーションアドレスであり、付加情報はポート番号であることを特徴とする。
【００４５】
また、好ましくは、本発明（９）においては、上記本発明（１から５）において、
１連のビット列は携帯電話番号ソースアドレスまたは携帯電話番号デスティネーションアドレスであることを特徴とする。
【００４６】
また、好ましくは、本発明（１０）においては、上記本発明（１から５）において、１連のビット列は、リングノードスイッチに用いられる１連のビット列記憶回路に、１連のビット列または１連のビット列のハッシュ値として記憶する
メールサーバのドメイン名またはＷｅｂサーバのドメイン名の各文字をビット列に変換したビット列であり、付加情報はポート番号であることを特徴とする。
【００４７】
また、好ましくは、本発明（１１）においては、上記本発明（１から５）において、１連のビット列は、スイッチングハブまたはＬ２スイッチまたはリングノードスイッチに用いられる１連のビット列記憶回路に、１連のビット列または１連のビット列のハッシュ値として記憶する人名の各文字をビット列に変換したビット列であり、付加情報はポート番号であることを特徴とする。
【００４８】
また、好ましくは、本発明（１２）においては、上記本発明（１から５）において、１連のビット列は、スイッチングハブまたはＬ２スイッチまたはリングノードスイッチに用いられる１連のビット列記憶回路に、１連のビット列または１連のビット列のハッシュ値として記憶するファイル名の各文字をビット列に変換したビット列であり、付加情報はポート番号であることを特徴とする。
【００４９】
また、好ましくは、本発明（１３）においては、上記本発明（１から１２）において、１連のビット列記憶回路を１重または２重リング網の各ノードに置き、そのノードに接続されるスイッチは１連のビット列記憶回路を持ち、端末からそのスイッチを介して、リングノードにＡＤＤしたパケットは、リング入口の前記１連のビット列記憶回路に、リングからドロップアドレス用の１連のビット列を記憶してリングに上がり、リング上のパケットがノードに入力した場合には、そのパケットの持つ１連のビット列である宛先アドレスが、そのノードの１連のビット列記録回路に記録されている場合には、そのパケットをドロップし、記憶されていない場合には、そのノードをスルーし、リング上に宛先がなく、リングにＡＤＤしたノードに戻った場合には、そのパケットは廃棄することを特徴とする１連のビット列を分割記憶する１連のビット列記録回路を持つリング網を提供する。
【発明の効果】
【００５０】
以上、説明したように、本発明は、アドレス記憶に、アドレスを分割記憶する複数のメモリを用いることで、アドレス空間が広く、かつアドレスを正確記憶できる１連のビット列記憶回路を提供できる利点がある。また、それを用いたＭＡＣアドレス記憶数の多いリング網を提供できる利点がある。
【００５１】
また、１連のビット列記憶回路に用いる第１メモリには、データ１しか記憶しないので、アドレス空間を広くでき、かつ、その１連のビット列記憶回路をリング網に用いた場合には、リングノードでドロップしないパケットを高速に検出できる確率が増加するので、高速動作が可能になる利点がある。
【図面の簡単な説明】
【００５２】
【図１】本発明の第１実施例の１連のビット列記憶回路へのソースアドレス書き込み前の読み出し動作を説明するための図である。
【図２】本発明の第１実施例の１連のビット列記憶回路へのソースアドレス書き込み動作を説明するための図である。
【図３】本発明の第１実施例の１連のビット列記憶回路のデスティネーションアドレス読み出し動作を説明するための図である。
【図４】本発明の第２実施例の１連のビット列記憶回路へのソースアドレス書き込み前の読み出し動作を説明するための図である。
【図５】本発明の第２実施例の１連のビット列記憶回路へのソースアドレス書き込み動作を説明するための図である。
【図６】本発明の第２実施例の１連のビット列記憶回路のデスティネーションアドレス読み出し動作を説明するための図である。
【図７】本発明の第３実施例の１連のビット列記憶回路を用いたリング網の動作を説明するための図である。
【図８】従来技術を説明するための図である。
【図９】従来技術を説明するための図である。
【図１０】従来技術を説明するための図である。
【図１１】従来技術を説明するための図である。
【図１２】従来技術を説明するための図である。
【図１３】従来技術を説明するための図である。
【発明を実施するための形態】
【００５３】
本発明の第１実施例を図１、図２、図３により説明する。この実施例は、第３実施例で示すリングノードに用いる１連のビット列記憶回路に関するもので、ＭＡＣソースアドレスを第１の分割ソースアドレスと第２の分割ソースアドレスと第３の分割ソースアドレスに分けて、書き込みおよび記憶読み出しする例であり、図１はＭＡＣソースアドレスを書き込む前の読み出し動作の場合の例、図２はＭＡＣソースアドレスを書き込む動作の場合の例、図３は書き込まれたＭＡＣソースアドレスをＭＡＣデスティネーションアドレスとして記憶されているか確認する場合の例である。また、図１は、デコーダのビットＬ＝０の場合で、メモリＫ＝３の例である。
【００５４】
図１において、１は第１のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ），ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ  ），ＣＡＭ（Ｃｏｎｔｅｎｔｓ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）等のメモリであり、２は第１メモリと同じ構成の第２のメモリであり、３は第１メモリと同じ構成の第３のメモリであり、５は受信パケットのＭＡＣソースアドレス４８ビット、６はそのＭＡＣソースアドレスの分割回路、７は、２４ビットの第１の分割ソースアドレスで指定される第１メモリの読み出しアドレス、８は、１８ビットの第２の分割ソースアドレスで指定される第２メモリの読み出しアドレス、９は、１８ビットの第３の分割ソースアドレスで指定される第３メモリの読み出しアドレス、１１は読み出し信号、１２は第３メモリの１ビット読み出しデータ（１）、１３は第２メモリの１ビット読み出しデータ（０）、１４は第１メモリの１ビット読み出しデータ（０）、１５は第３メモリの４８ビット読み出しデータ（無）、１６は第２メモリの４８ビット読み出しデータ（無）である。
【００５５】
また、図２において、２０は、２４ビットの第１の分割ソースアドレスで指定される第１メモリの書き込みアドレス、２１は、１８ビットの第２の分割ソースアドレスで指定される第２メモリの書き込みアドレス、２２は、１８ビットの第３の分割ソースアドレスで指定される第３メモリの書き込みアドレス、２３は、書き込みデータ１、２４は書き込み信号、２５は、４８ビット書き込みデータであり、他は図１と同じである。
【００５６】
また、図３において、３０は受信パケットのＭＡＣデスティネーションアドレス４８ビット、３１はそのＭＡＣデスティネーションアドレスの分割回路、３２は、２４ビットの第１の分割デスティネーションアドレスで指定される第１メモリの読み出しアドレス、３３は、１８ビットの第２の分割デスティネーションアドレスで指定される第２メモリの読み出しアドレス、３４は、１８ビットの第３の分割デスティネーションアドレスで指定される第３メモリの読み出しアドレス、３５は読み出し信号、３６は第３メモリの１ビット読み出しデータ（１）、３７は第２メモリの１ビット読み出しデータ（１）、３８は第１メモリの１ビット読み出しデータ（１）、３９は第３メモリの４８ビット読み出しデータ（無）、４０は第２メモリの４８ビット読み出しデータ（有）である。
【００５７】
以下動作を説明する。
【００５８】
１連のビット列を分割記憶する１連のビット列記憶回路において、
目的の１連のビット列を１連のビット列記憶回路に記憶する方法は、そのｎ（＝４８）ビットからなる１連のビット列であるＭＡＣソースアドレスの先頭からｍ（＝２４）ビットをｍビットアドレスの第１のメモリの指定に用い（７）、次のＬビットを２のＬ乗（Ｌ＝０）に展開するデコーダのビットに用い、残りの（ｎ−ｍ−Ｌ）ビットを、前記各デコーダ出力で選択される第２から第Ｋ（Ｋ＝３）のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第１から第Ｋのメモリを上記指定アドレスで読んだ場合に、どれか一つのメモリのアドレス記憶出力が０の場合に、全メモリについて、前記指定アドレス位置にアドレス記憶データとして１を書き込み、かつ、前記メモリの読み出しでアドレス記憶出力が０であった中の一つのメモリの前記指定アドレス位置に、１連のビット列全体の記憶データとして目的の１連のビット列全体（４８ビット）と付加情報または目的の１連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
一方、アドレス記憶出力が全てのメモリで１であり、かつ、読み出された１連のビット列全体の記憶データとしての１連のビット列全体（４８ビット）または１連のビット列の圧縮したハッシュ値が記憶すべき目的の１連のビット列全体（４８ビット）または目的の１連のビット列の圧縮したハッシュ値と一致する１連のビット列全体（４８ビット）または目的の１連のビット列の圧縮したハッシュ値がある場合は、何もせず、無い場合には、目的の１連のビット列全体（４８ビット）または目的の１連のビット列の圧縮したハッシュ値が記憶されていないメモリの前記指定アドレス位置に、１連のビット列全体の記憶データとして目的の１連のビット列全体（４８ビット）と付加情報または目的の１連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
目的のＭＡＣデスティネーションアドレスである１連のビット列が１連のビット列記憶回路に記憶されていることを確認する方法は、そのｎ（＝４８）ビットからなる１連のビット列であるＭＡＣデスティネーションアドレスの先頭からｍ（＝２４）ビットをｍビットアドレスの第１のメモリの指定に用い、次のＬビットを２のＬ乗（Ｌ＝０）に展開するデコーダのビットに用い、残りの（ｎ−ｍ−Ｌ）ビットを、前記各デコーダ出力で選択される第２から第Ｋ（Ｋ＝３）のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第１から第Ｋのメモリを上記指定アドレスで読んだ場合に、どれか一つのメモリのアドレス記憶出力が０である場合には、目的の１連のビット列は記憶されていないと判断し、全てのメモリのアドレス記憶出力が１であり、かつ、第１のメモリから第Ｋのメモリの前記指定アドレスで読んだ場合のいずれかのメモリ出力の１連のビット列全体の記憶データが目的の１連のビット列全体（４８ビット）または目的の１連のビット列の圧縮したハッシュ値と一致する場合には、目的の１連のビット列が記憶されていると判断し、その一致した目的の１連のビット列または目的の１連のビット列の圧縮したハッシュ値とともに記憶されている付加情報を読み出し、
一方、全てのメモリのアドレス記憶出力が１であり、かつ、目的の１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値と一致する読み出した１連のビット列全体の記憶データがどのメモリ出力にも無い場合には、目的の１連のビット列は記憶されていないと判断する方法である。
【００５９】
この実施例では、第２分割ソースアドレスまたは第２分割デスティネーションアドレスと第３分割ソースアドレスまたは第３分割デスティネーションアドレスとは、それぞれ使用するアドレスビットが、６ビット分アドレスが重複している。これは、アドレスを記憶するアドレス空間を広くするためである。また、４８ビットの受信ＭＡＣソースアドレス全体を記憶させるメモリは、指定アドレス位置にデータ１が記憶されていないメモリまたは受信ＭＡＣソースアドレス全体が記憶されていないメモリであり、かつ第１メモリでないメモリである。第１メモリには、４８ビットの受信ＭＡＣソースアドレス全体を記憶させることはないので、メモリのアドレス空間を広くでき、ＭＡＣデスティネーションアドレスとして読み出す際に、そのアドレスを記憶されていないことを高速に判断する確率を大きくできる。
【００６０】
また、この実施例はＬ＝０で、デコーダがない場合の例である。
【００６１】
なお、全てのメモリが、指定アドレス位置に４８ビットＭＡＣソースアドレス全体を記憶している場合には、他のメモリの空きアドレスに目的の４８ビットＭＡＣソースアドレスを記憶させ、そのアドレスを、１連のビット列回路のどれかのメモリの指定アドレス位置のインデックスエリアに記憶させても良い。
【００６２】
また、指定アドレス位置に４８ビットＭＡＣソースアドレス全体を記憶する場合には、その４８ビットＭＡＣソースアドレスから記憶するメモリの指定アドレスビット列を除くビット列を記憶するだけでもよい。
【００６３】
また、目的の１連のビット列であるＭＡＣソースアドレスを１連のビット列記憶回路に記憶する場合、ＭＡＣソースアドレスの下位アドレスを２度用いて、メモリのアドレス指定を行うことも有効である。この場合には、第１メモリに対しては、下位ＭＡＣソースアドレス２４ビットでアドレス指定することになる。
【００６４】
次に、本発明の第２実施例を図４、図５、図６により説明する。この実施例は、第３実施例で示すリングノードに用いる１連のビット列記憶回路に関するもので、ソースアドレスを第１の分割ソースアドレスと第２の分割ソースアドレスに分けて、書き込みおよび記憶読み出しする例であり、図１はソースアドレスを書き込む前の読み出し動作の場合の例、図２はソースアドレスを書き込む動作の場合の例、図３は書き込まれたソースアドレスをデスティネーションアドレスとして記憶されているか確認する場合の例である。また、図１は、デコーダのビットＬ＝１の場合で、メモリＫ＝２の例である。
【００６５】
図４において、４１は第１のＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ），ＳＲＡＭ（Ｓｔａｔｉｃ  Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ  ），ＣＡＭ（Ｃｏｎｔｅｎｔｓ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）等のメモリであり、４２は第１メモリと同じ構成の第２のメモリであり、４３は第１メモリと同じ構成の第２のメモリであり、４５は受信パケットのＭＡＣソースアドレス４８ビット、４６はそのＭＡＣソースアドレスの分割回路、４７は、２４ビットの第１の分割ソースアドレスで指定される第１メモリの読み出しアドレス、４８は、２３ビットの第２の分割ソースアドレスで指定される第２メモリの読み出しアドレス、４９は、１ビットのＬ＝１のデコーダ、５０は、デコーダ４９の出力でメモリ４２の選択信号１（１）、５０は、デコーダ４９の出力でメモリ４３の選択信号２（０）、５２は読み出し信号、５３は第２メモリ（４３）の１ビット読み出しデータ（０）、５４は第２メモリ（４２）の１ビット読み出しデータ（０）、５５は第１メモリ（４１）の１ビット読み出しデータ（０）、５６は第２メモリ（４３）の４８ビット読み出しデータ（無）、５７は第２メモリ（４２）の４８ビット読み出しデータ（無）である。
【００６６】
また、図５において、６０は、２４ビットの第１の分割ソースアドレスで指定される第１メモリの書き込みアドレス、６１は、２３ビットの第２の分割ソースアドレスで指定される第２メモリの書き込みアドレス、６３は、書き込みデータ１、６２は書き込み信号、６４は、４８ビット書き込みデータであり、他は図４と同じである。
【００６７】
また、図６において、７０は受信パケットのＭＡＣデスティネーションアドレス４８ビット、７１はそのＭＡＣデスティネーションアドレスの分割回路、７２は、２４ビットの第１の分割デスティネーションアドレスで指定される第１メモリの読み出しアドレス、７３は、２３ビットの第２の分割デスティネーションアドレスで指定される第２メモリの読み出しアドレス、７４は読み出し信号、７５は第２メモリ（４３）の１ビット読み出しデータ（０）、７６は第２メモリ（４２）の１ビット読み出しデータ（１）、７７は第１メモリ（４１）の１ビット読み出しデータ（１）、７８は第２メモリ（４３）の４８ビット読み出しデータ（無）、７９は第２メモリ（４２）の４８ビット読み出しデータ（有）である。
【００６８】
以下、動作を説明する。
１連のビット列を分割記憶する１連のビット列記憶回路において、
目的の１連のビット列を１連のビット列記憶回路に記憶する方法は、そのｎ（＝４８）ビットからなる１連のビット列であるＭＡＣソースアドレスの先頭からｍ（＝２４）ビットをｍビットアドレスの第１のメモリの指定に用い（４７）、次のＬビットを２のＬ乗（Ｌ＝１）に展開するデコーダのビットに用い、残りの（ｎ−ｍ−Ｌ）ビットを、前記各デコーダ出力で選択される第２から第Ｋ（Ｋ＝２）のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第１から第Ｋのメモリを上記指定アドレスで読んだ場合に、どれか一つのメモリのアドレス記憶出力が０の場合に、全メモリについて、前記指定アドレス位置にアドレス記憶データとして１を書き込み、かつ、前記メモリの読み出しでアドレス記憶出力が０であった中の一つのメモリの前記指定アドレス位置に、１連のビット列全体の記憶データとして目的の１連のビット列全体（４８ビット）と付加情報または目的の１連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
一方、アドレス記憶出力が全てのメモリで１であり、かつ、読み出された１連のビット列全体の記憶データとしての１連のビット列全体（４８ビット）または１連のビット列の圧縮したハッシュ値が記憶すべき目的の１連のビット列全体（４８ビット）または目的の１連のビット列の圧縮したハッシュ値と一致する１連のビット列全体（４８ビット）または目的の１連のビット列の圧縮したハッシュ値がある場合は、何もせず、
無い場合には、目的の１連のビット列全体（４８ビット）または目的の１連のビット列の圧縮したハッシュ値が記憶されていないメモリの前記指定アドレス位置に、１連のビット列全体の記憶データとして目的の１連のビット列全体（４８ビット）と付加情報または目的の１連のビット列の圧縮したハッシュ値と付加情報を書き込む方法であり、
目的のＭＡＣデスティネーションアドレスである１連のビット列が１連のビット列記憶回路に記憶されていることを確認する方法は、そのｎ（＝４８）ビットからなる１連のビット列であるＭＡＣデスティネーションアドレスの先頭からｍ（＝２４）ビットをｍビットアドレスの第１のメモリの指定に用い、次のＬビットを２のＬ乗（Ｌ＝１）に展開するデコーダのビットに用い、残りの（ｎ−ｍ−Ｌ）ビットを、前記各デコーダ出力で選択される第２から第Ｋ（Ｋ＝２）のメモリの各メモリに対して、メモリ番号順にアドレス指定に用いた構成であり、
第１から第Ｋのメモリを上記指定アドレスで読んだ場合に、どれか一つのメモリのアドレス記憶出力が０である場合には、目的の１連のビット列は記憶されていないと判断し、全てのメモリのアドレス記憶出力が１であり、かつ、第１のメモリから第Ｋのメモリの前記指定アドレスで読んだ場合のいずれかのメモリ出力の１連のビット列全体の記憶データが目的の１連のビット列全体（４８ビット）または目的の１連のビット列の圧縮したハッシュ値と一致する場合には、目的の１連のビット列が記憶されていると判断し、その一致した目的の１連のビット列または目的の１連のビット列の圧縮したハッシュ値とともに記憶されている付加情報を読み出し、
一方、全てのメモリのアドレス記憶出力が１であり、かつ、目的の１連のビット列全体または目的の１連のビット列の圧縮したハッシュ値と一致する読み出した１連のビット列全体の記憶データがどのメモリ出力にも無い場合には、目的の１連のビット列は記憶されていないと判断する方法である。
【００６９】
この実施例では、１ビットのデコーダ４９により第２分割ソースアドレスまたは第２分割デスティネーションアドレスを展開している。これは、アドレスを記憶するアドレス空間を広くするためである。また、４８ビットの受信ＭＡＣソースアドレス全体を記憶させるメモリは、指定アドレス位置にデータ１が記憶されていないメモリまたは受信ＭＡＣソースアドレス全体を記憶していないメモリであり、かつ第１メモリでないメモリである。第１メモリには、４８ビットの受信ＭＡＣソースアドレス全体を記憶させることはないので、メモリのアドレス空間を広くでき、ＭＡＣデスティネーションアドレスとして読み出す際に、そのアドレスを記憶されていないことを高速に判断する確率を大きくできる。
【００７０】
また、この実施例はＬ＝１で、１ビットのデコーダの場合の例である。第２メモリの読み出しおよび書き込みを行うのは、デコーダにより選択された第２メモリのみである。この例ではメモリ４２が選択されている。
【００７１】
なお、全てのメモリが、指定アドレス位置に４８ビットＭＡＣソースアドレス全体を記憶している場合には、他のメモリの空きアドレスに目的の４８ビットＭＡＣソースアドレスを記憶させ、そのアドレスを、１連のビット列回路のどれかのメモリの指定アドレス位置のインデックスエリアに記憶させても良い。
【００７２】
以上述べた、第１実施例、第２実施例の図では、指定アドレス位置に４８ビットＭＡＣソースアドレス全体を記憶し、その記憶データが記憶されているか確認する例を示したが、４８ビットＭＡＣソースアドレス全体の代わりに４８ビットＭＡＣソースアドレスをハッシュ計算により圧縮した８ビット等のハッシュ値を記憶し、その記憶データが記憶されているか確認する方法でもよい。
【００７３】
また、以上述べた、第１実施例、第２実施例の図で示した指定アドレス位置に４８ビットＭＡＣソースアドレス全体を記憶したその記憶データを消すこともできる。また、４８ビットＭＡＣソースアドレス全体の代わりに４８ビットＭＡＣソースアドレスをハッシュ計算により圧縮した８ビット等のハッシュ値を記憶したその記憶データを消去することもできる。
【００７４】
第１実施例、第２実施例では、１連のビット列として、ＭＡＣソースアドレスまたはＭＡＣデスティネーションアドレスを用いる例を示したが、ＭＡＣソースアドレスまたはＭＡＣデスティネーションアドレスの代わりに、ＩＰソースアドレスまたはＩＰデスティネーションアドレス、固定電話番号ソースアドレスまたは固定電話番号デスティネーションアドレス、携帯電話番号ソースアドレスまたは携帯電話番号デスティネーションアドレス、メールサーバのドメイン名またはＷｅｂサーバのドメイン名の各文字をビット列に変換したビット列、人名の各文字をビット列に変換したビット列、ファイル名の各文字をビット列に変換したビット列またはメールサーバのドメイン名またはＷｅｂサーバのドメイン名の各文字をビット列に変換したビット列のハッシュ値、人名の各文字をビット列に変換したビット列のハッシュ値、ファイル名の各文字をビット列に変換したビット列のハッシュ値を用いることもできる。ファイル名の各文字をビット列に変換したビット列またはメールサーバのドメイン名またはＷｅｂサーバのドメイン名の各文字をビット列に変換したビット列のハッシュ値、人名の各文字をビット列に変換したビット列のハッシュ値、ファイル名の各文字をビット列に変換したビット列のハッシュ値を用いる場合には、前記ハッシュ値の部分ハッシュ値である指定アドレス位置に１連のビット列全体を記憶する代わりに、前記ハッシュ値全体または元のビット列をさらに圧縮した別のハッシュ値を記憶させてもよい。
【００７５】
次に、本発明の第３実施例を図７により説明する。この実施例は、第１実施例、第２実施例で示した本発明の１連のビット列記憶回路をリング伝送路ノードのドロップアドレスメモリに使用した例である。ドロップアドレスメモリは、ＭＡＣソースアドレスを記憶する１連のビット列記憶回路で構成される。
【００７６】
図７において、８０は、リングノード、８１、８９は、１連のビット列記憶回路としてのアドレス記憶回路、８３は０系リング伝送路、８４は１系リング伝送路、９０は、サーバ、９５は、端末、９８は、Ｌ２スイッチである。以下に動作を説明する。
【００７７】
１連のビット列記憶回路８１を２重リング網の各ノード８０に置き、そのノード８０に接続されるＬ２スイッチ９８は１連のビット列記憶回路８９を持ち、そのリングにＬ２スイッチ９８を介して接続されたサーバ９０は、自身のＭＡＣソースアドレスである１連のビット列をリングノード入口の１連のビット列記憶回路８１に記憶させる構成であり、端末９５からＬ２スイッチ９８を介して、リングノード８０にＡＤＤしたパケットは、リング入口の前記１連のビット列記憶回路８１に、リングからドロップアドレス用の１連のビット列であるＭＡＣソースアドレスを記憶してリングに上がり、リング上のパケットがノードに入力した場合には、そのパケットの持つ１連のビット列であるＭＡＣデスティネーションアドレスが、そのノードの１連のビット列記録回路８１に記録されている場合には、そのパケットをドロップし、記憶されていない場合には、そのノードをスルーし、リング上に宛先がなく、リングにＡＤＤしたノードに戻った場合には、そのパケットは廃棄する動作を行う。
【符号の説明】
【００７８】
１  第１のメモリ
２  第２のメモリ
３  第３のメモリ
５  受信パケットのＭＡＣソースアドレス４８ビット
６  ＭＡＣソースアドレスの分割回路
７  ２４ビットの第１の分割ソースアドレスで指定される第１メモリの読み出しアドレス８  １８ビットの第２の分割ソースアドレスで指定される第２メモリの読み出しアドレス９  １８ビットの第３の分割ソースアドレスで指定される第３メモリの読み出しアドレス１１  読み出し信号
１２  第３メモリの１ビット読み出しデータ（１）
１３  第２メモリの１ビット読み出しデータ（０）
１４  第１メモリの１ビット読み出しデータ（０）
１５  第３メモリの４８ビット読み出しデータ（無）
１６  第２メモリの４８ビット読み出しデータ（無）
２０  ２４ビットの第１の分割ソースアドレスで指定される第１メモリの書き込みアドレス
２１  １８ビットの第２の分割ソースアドレスで指定される第２メモリの書き込みアドレス
２２  １８ビットの第３の分割ソースアドレスで指定される第３メモリの書き込みアドレス
２３  書き込みデータ１
２４  書き込み信号
２５  ４８ビット書き込みデータ
３０  受信パケットのＭＡＣデスティネーションアドレス４８ビット
３１  ＭＡＣデスティネーションアドレスの分割回路
３２  ２４ビットの第１の分割デスティネーションアドレスで指定される第１メモリの読み出しアドレス
３３  １８ビットの第２の分割デスティネーションアドレスで指定される第２メモリの読み出しアドレス
３４  １８ビットの第３の分割デスティネーションアドレスで指定される第３メモリの読み出しアドレス
３５  読み出し信号
３６  第３メモリの１ビット読み出しデータ（１）
３７  第２メモリの１ビット読み出しデータ（１）
３８  第１メモリの１ビット読み出しデータ（１）
３９  第３メモリの４８ビット読み出しデータ（無）
４０  第２メモリの４８ビット読み出しデータ（有）
４１  第１のメモリ
４２  第２のメモリ
４３  第２のメモリ
４５  受信パケットのＭＡＣソースアドレス４８ビット
４６  ＭＡＣソースアドレスの分割回路
４７  ２４ビットの第１の分割ソースアドレスで指定される第１メモリの読み出しアドレス
４８  ２３ビットの第２の分割ソースアドレスで指定される第２メモリの読み出しアドレス
４９  １ビットのＬ＝１のデコーダ
５０  デコーダ４９の出力でメモリ４２の選択信号１
５１  デコーダ４９の出力でメモリ４３の選択信号２
５２  読み出し信号
５３  第２メモリ（４３）の１ビット読み出しデータ（０）
５４  第２メモリ（４２）の１ビット読み出しデータ（０）
５５  第１メモリ（４１）の１ビット読み出しデータ（０）
５６  第２メモリ（４３）の４８ビット読み出しデータ（無）
５７  第２メモリ（４２）の４８ビット読み出しデータ（無）
６０  ２４ビットの第１の分割ソースアドレスで指定される第１メモリの書き込みアドレス
６１  ２３ビットの第２の分割ソースアドレスで指定される第２メモリの書き込みアドレス
６３  書き込みデータ１
６２  書き込み信号
６４  ４８ビット書き込みデータ
７０  受信パケットのＭＡＣデスティネーションアドレス４８ビット
７１  ＭＡＣデスティネーションアドレスの分割回路
７２  ２４ビットの第１の分割デスティネーションアドレスで指定される第１メモリの読み出しアドレス
７３  ２３ビットの第２の分割デスティネーションアドレスで指定される第２メモリの読み出しアドレス
７４  読み出し信号
７５  第２メモリ（４３）の１ビット読み出しデータ（０）
７６  第２メモリ（４２）の１ビット読み出しデータ（１）
７７  第１メモリ（４１）の１ビット読み出しデータ（１）
７８  第２メモリ（４３）の４８ビット読み出しデータ（無）
７９  第２メモリ（４２）の４８ビット読み出しデータ（有）
８０  リングノード
８１、８９  １連のビット列記憶回路としてのアドレス記憶回路
８３  ０系リング伝送路
８４  １系リング伝送路
９０  サーバ
９５  端末
９８  Ｌ２スイッチ
８００  行列アドレス
８０１  ＭＡＣアドレスデータエリアＭＡ（４８ビット）
８０２  インデックスエリアＩＡ
８２０  行列アドレス
８２１  ＭＡＣアドレスデータエリアＭＡ（４８ビット）
８２２  インデックスエリアＩＡ
９００  受信ＭＡＣアドレス
９０１  ＣＲＣ等のハッシュ関数
９０２  ハッシュ値であるエントリテーブル９０３のアドレス指定ビット（１０ビット）９０３  エントリテーブル
９０４  登録ＭＡＣアドレス（４８ビット）
９０５，９０６，９０７，９０８  比較器
９０９  比較用ＭＡＣアドレス（４８ビット）
９１０  ＯＲ回路
９１１  一致検出信号
【図１】
2014158246.tif 000003
【図２】
2014158246.tif 000004
【図３】
2014158246.tif 000005
【図４】
2014158246.tif 000006
【図５】
2014158246.tif 000007
【図６】
2014158246.tif 000008
【図７】
2014158246.tif 000009
【図８】
2014158246.tif 000010
【図９】
2014158246.tif 000011
【図１０】
2014158246.tif 000012
【図１１】
2014158246.tif 000013
【図１２】
2014158246.tif 000014
【図１３】
2014158246.tif 000015