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