(57)【特許請求の範囲】
【請求項１】
入力データを一時記憶するバッファメモリを制御するバッファ制御方法であって、
入力データを１又は複数のデータパターンと比較し、
前記入力データが、前記データパターンのうち少なくとも１つと一致した場合、前記バッファメモリ内のデータ記録単位内に該データパターンを示す符号を記録し、次の入力データが、連続して、前記データパターンのうち少なくとも１つと一致した場合には、前記データ記録単位と同一のデータ記録単位内に該データパターンを示す符号を記録し、
入力データが、前記データパターンのうち１つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録し、
データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも１つと一致した場合、該バッファメモリ内の更に別のデータ記録単位内に該データパターンを示す符号を記録し、
前記符号に対応したデータを再生して出力することを特徴とするバッファ制御方法。
【請求項２】
入力データを一時記憶するバッファメモリを制御するバッファ制御方法であって、
入力データを１又は複数のデータパターンと比較し、
前記入力データが、前記データパターンのうち少なくとも１つと一致した場合、前記バッファメモリ内のデータ記録単位を細分化した記録単位に該データパターンを示す符号を記録し、
入力データが、前記データパターンの１つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録し、
データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも１つと一致した場合、該バッファメモリ内において、データパターンの符号が既に記録されているデータ記録単位内に細分化した記録単位の空きがあるか否かを判定し、空きがあれば、該空きの細分化した記録単位に該データパターンを示す符号を記録し、
前記符号に対応したデータを再生して出力することを特徴とするバッファ制御方法。
【請求項３】
前記データパターンは、予め設定された所定のデータパターンであることを特徴とする請求項１又は２に記載のバッファ制御方法。
【請求項４】
所定の場合に、前記データパターンのうち1つ又は複数を新たなデータパターンと入れ替えることを特徴とする請求項１又は２に記載のバッファ制御方法。
【請求項５】
前記データパターンのうち、入力データと不一致であった回数が所定の回数以上、かつバッファメモリ内で使用されていないデータパターンがある場合に、
該データパターンを新たなデータパターンと入れ替えることを特徴とする請求項１又は２に記載のバッファ制御方法。
【請求項６】
前記データパターンに優先順位付けすることを可能とし、
前記データパターンのうち入力データと一致したデータパターンがある場合には、該データパターンを最高優先順位に遷移させ、
前記データパターンのうち１つとも入力データと一致しなかった場合には、低優先順位のデータパターンを、該データパターンがバッファメモリ内で使用されていない場合に、新たなデータパターンと入れ替え、
該新たなデータパターンを最高優先順位に遷移させることを特徴とする請求項１又は２に記載のバッファ制御方法。
【請求項７】
入力データを複数に分割し、該分割された部分毎に対応する１つ又は複数のデータパターンを用いることにより、該分割された部分を入力データとしてバッファ制御を行うことを特徴とする請求項１ないし６いずれか一項記載のバッファ制御方法。
【請求項８】
入力データを一時記憶するバッファメモリを制御するバッファ制御装置であって、
入力データを１又は複数のデータパターンと比較する手段と、
前記入力データが、前記データパターンのうち少なくとも１つと一致した場合に、前記バッファメモリ内のデータ記録単位内に該データパターンを示す符号を記録し、次の入力データが、連続して、前記データパターンのうち少なくとも１つと一致した場合には、前記データ記録単位と同一のデータ記録単位内に該データパターンを示す符号を記録する手段と、
入力データが、前記データパターンのうち１つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録する手段と、
データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも１つと一致した場合、該バッファメモリ内の更に別のデータ記録単位内に該データパターンを示す符号を記録する手段と、
前記符号に対応したデータを再生して出力する手段と、
を有することを特徴とするバッファ制御装置。
【請求項９】
入力データを一時記憶するバッファメモリを制御するバッファ制御装置であって、
入力データを１又は複数のデータパターンと比較する手段と、
前記入力データが、前記データパターンのうち少なくとも１つと一致した場合、前記バッファメモリ内のデータ記録単位を細分化した記録単位に該データパターンを示す符号を記録する手段と、
入力データが、前記データパターンの１つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録する手段と、
データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも１つと一致した場合、該バッファメモリ内において、データパターンの符号が既に記録されているデータ記録単位内に細分化した記録単位の空きがあるか否かを判定し、空きがあれば、該空きの細分化した記録単位に該データパターンを示す符号を記録する手段と、
前記符号に対応したデータを再生して出力する手段と、
を有することを特徴とするバッファ制御装置。
【請求項１０】
予め設定された所定のデータパターンを、前記データパターンとして保持する手段を有することを特徴とする請求項８又は９に記載のバッファ制御装置。
【請求項１１】
所定の場合に、前記データパターンのうち 1つ又は複数を新たなデータパターンと入れ替える手段を有することを特徴とする請求項８又は９に記載のバッファ制御装置。
【請求項１２】
前記データパターン毎にデータパターンと入力データが一致又は不一致であった回数を保持する手段と、
あるデータパターンがバッファメモリ内で使用中かどうかを判定する手段とを有し、
前記データパターンのうち、入力データと不一致であった回数が所定の回数以上、かつバッファメモリ内で使用されていないデータパターンがある場合に、該データパターンを新たなデータパターンと入れ替える手段を有することを特徴とする請求項８又は９に記載のバッファ制御装置。
【請求項１３】
前記データパターンに優先順位付けする手段と、あるデータパターンがバッファメモリ内で使用中かどうかを判定する手段とを有し、
前記データパターンのうち入力データと一致したデータパターンがある場合には、該データパターンを最高優先順位に遷移させ、
前記データパターンのうち１つとも入力データと一致しなかった場合には、低優先順位のデータパターンを、該データパターンがバッファメモリ内で使用されていない場合に、新たなデータパターンと入れ替え、
該新たなデータパターンを最高優先順位に遷移させる、
手段を有することを特徴とする請求項８又は９に記載のバッファ制御装置。
【請求項１４】
入力データを複数に分割する手段と、該分割された部分毎に対応する１つ又は複数のデータパターンとを有し、
該データパターンを用いることにより、該分割された部分それぞれを入力データとしてバッファ制御を行う手段を有することを特徴とする請求項８ないし１３いずれか一項記載のバッファ制御装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バッファ制御技術に関し、特に、入力データ群のパケットプロトコル処理又は出力レート制限等のためのバッファメモリ蓄積に際し、バッファメモリの消費量を削減し、バッファ溢れを回避するバッファ制御方法及びバッファ制御装置に関する。
【０００２】
【従来の技術】
図１は従来の技術におけるバッファ制御装置１０の例を示すブロック図である。バッファ制御装置１０は、パケット処理部４６におけるパケット処理やバッファメモリ２６におけるバッファチェーニングを制御するバッファ管理部１４、バッファ管理部１４に対する出力指示及びデータの出力を制御する出力スケジューリング部１２から構成されている。バッファ管理部１４は、空き先頭ポインタ１６、空き最後尾ポインタ１８、各ポインタを制御するポインタ制御部２０、出力先頭ポインタ２２、出力最後尾ポインタ２４を有する。本構成における動作は次の通りである。
【０００３】
連続したセグメントとしてデータ２が入力され、ポインタ制御部２０においてバッファメモリ２６内のバッファチェーニングを行うと共に、バッファメモリ２６内にセグメント単位にデータを一時蓄積する。なお、セグメント単位はバッファメモリにおけるデータ記録単位である。その間、パケット処理が必要であれば、パケット処理部４６にてパケット組み立て等のパケット処理を行う。また、出力レートを調整して出力する場合すなわちシェーピングの場合であれば、出力レート調整のための時間の間、データはバッファメモリ２６に蓄積される。その後、出力スケジューリング部１２がバッファ管理部１４に出力指示することにより、ポインタが制御されると共に、セグメント単位のデータ４またはパケット組み立て後のデータ６が出力される。セグメント単位のデータ４には出力レート調整等による空き時間があり、パケット組み立て後のデータ６にはパケット処理等による空き時間がある。
【０００４】
図２はバッファメモリ２６内の構成を示した図である。図１のバッファ管理部１４が有する各ポインタの役割を含めて図２について説明する。同図中、バッファメモリ２６は空きバッファチェーン２７と出力バッファチェーン２８を保持し、空きバッファチェーン２７と出力バッファチェーン２８はそれぞれセグメントから構成されている。なお、空きバッファチェーン２７内のセグメントを空きセグメント、出力バッファチェーン２８内のセグメントを出力セグメントと称する。空き先頭ポインタ１６は空きバッファチェーン２７の先頭セグメントアドレスを示し、空き最後尾ポインタ１８は空きバッファチェーン２７の最後尾セグメントアドレスを示す。出力先頭ポインタ２２は出力バッファチェーンの先頭セグメントアドレスを示し、出力最後尾ポインタ２４は出力バッファチェーンの最後尾セグメントアドレスを示す。出力セグメント内の次セグメントアドレス２９は次の出力セグメントのアドレスを示している。各出力セグメントにデータが格納される。
【０００５】
図３（ａ）、（ｂ）、（ｃ）は、バッファメモリ２６に３つのデータが蓄積される場合を示す図である。図３（ａ）に示すように、第１データを受信すると、空きバッファキュー、すなわち空きバッファチェーンから１つのセグメントが出力セグメントとして確保され、該出力セグメントにデータＸ−▲１▼が蓄積される。空き先頭ポインタ（空き先Ｐ）は次の空きセグメントを指す。図３（ｂ）、（ｃ）に示すように、第２、第3 データを受信すると、データ数に応じて空きセグメントが出力セグメントとして確保される。すなわち、従来のバッファ制御技術においては、受信したデータをそのままバッファメモリに蓄積する。
【０００６】
【発明が解決しようとする課題】
しかしながら、近年のＡＴＭ通信等においては高速化・高多重化が進み、マルチキャスト等による同一内容のデータが多量に高速に転送される場合が多くなっているので、同一内容のデータを連続受信した場合もその量だけバッファメモリを消費する上記従来の技術によると、バッファリング用に多量のメモリを必要とし、パケットプロトコル処理又は出力レート制限等によりバッファ溢れの可能性も大きいという問題点がある。
【０００７】
本発明は上記の点に鑑みなされたもので、入力データ群のパケットプロトコル処理又は出力レート制限等のためのバッファメモリ蓄積に際して、バッファメモリの消費を削減し、バッファ溢れを回避するバッファ制御方法及びバッファ制御装置を提供することを目的とする。
【０００８】
【課題を解決するための手段】
上記課題を解決するための本発明の構成は、以下の通りである。
【０００９】
請求項１に記載のバッファ制御方法は、入力データを一時記憶するバッファメモリを制御するバッファ制御方法であって、入力データを１又は複数のデータパターンと比較し、前記入力データが、前記データパターンのうち少なくとも１つと一致した場合、前記バッファメモリ内のデータ記録単位内に該データパターンを示す符号を記録し、次の入力データが、連続して、前記データパターンのうち少なくとも１つと一致した場合には、前記データ記録単位と同一のデータ記録単位内に該データパターンを示す符号を記録し、入力データが、前記データパターンのうち１つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録し、データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも１つと一致した場合、該バッファメモリ内の更に別のデータ記録単位内に該データパターンを示す符号を記録し、前記符号に対応したデータを再生して出力する。
【００１０】
請求項１に記載の発明によれば、バッファメモリに対して、パターンが一致した場合には、入力データの替わりにデータパターン符号を書き込むこととしたため、バッファメモリの消費量を削減でき、従来問題であったバッファあふれ等を回避することができる。
請求項２に記載のバッファ制御方法は、入力データを一時記憶するバッファメモリを制御するバッファ制御方法であって、入力データを１又は複数のデータパターンと比較し、前記入力データが、前記データパターンのうち少なくとも１つと一致した場合、前記バッファメモリ内のデータ記録単位を細分化した記録単位に該データパターンを示す符号を記録し、入力データが、前記データパターンの１つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録し、データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも１つと一致した場合、該バッファメモリ内において、データパターンの符号が既に記録されているデータ記録単位内に細分化した記録単位の空きがあるか否かを判定し、空きがあれば、該空きの細分化した記録単位に該データパターンを示す符号を記録し、前記符号に対応したデータを再生して出力する。
【００１１】
本発明によれば、データ記録単位を細分化してデータパターン符号を書き込むこととしたため、連続的に入力データがデータパターンと一致しない場合でも、バッファメモリの消費量の削減が可能となる。
請求項３に記載のバッファ制御方法は、前記データパターンが、予め設定された所定のデータパターンであることとする。
【００１２】
本発明によれば、定型的なデータが想定される場合に、効率的な処理を行うことができる。
請求項４に記載のバッファ制御方法は、所定の場合に、前記データパターンのうち 1つ又は複数を新たなデータパターンと入れ替える。
請求項５に記載のバッファ制御方法は、前記データパターンのうち、入力データと不一致であった回数が所定の回数以上、かつバッファメモリ内で使用されていないデータパターンがある場合に、該データパターンを新たなデータパターンと入れ替える。
【００１３】
請求項６に記載のバッファ制御方法は、前記データパターンに優先順位付けすることを可能とし、前記データパターンのうち入力データと一致したデータパターンがある場合には、該データパターンを最高優先順位に遷移させ、前記データパターンのうち１つとも入力データと一致しなかった場合には、低優先順位のデータパターンを、該データパターンがバッファメモリ内で使用されていない場合に、新たなデータパターンと入れ替え、該新たなデータパターンを最高優先順位に遷移させる。
【００１４】
請求項４〜６に記載の発明によれば、データパターンを書き換えることが可能であるため、入力データに対して、データパターンを一致させる可能性が高くなり、バッファメモリをより有効に使用することが可能となる。
請求項７に記載のバッファ制御方法は、入力データを複数に分割し、該分割された部分毎に対応する１つ又は複数のデータパターンを用いることにより、該分割された部分それぞれを入力データとしてバッファ制御を行う。
【００１５】
本発明によれば、入力データを分割して処理することができるため、入力データ内が定型部分と非定型部分に分かれる場合等に、定型部分にデータパターンを使用することにより、バッファメモリの消費量を削減でき、バッファあふれを回避できる。
【００１６】
請求項８に記載のバッファ制御装置は、入力データを一時記憶するバッファメモリを制御するバッファ制御装置であって、入力データを１又は複数のデータパターンと比較する手段と、前記入力データが、前記データパターンのうち少なくとも１つと一致した場合に、前記バッファメモリ内のデータ記録単位内に該データパターンを示す符号を記録し、次の入力データが、連続して、前記データパターンのうち少なくとも１つと一致した場合には、前記データ記録単位と同一のデータ記録単位内に該データパターンを示す符号を記録する手段と、入力データが、前記データパターンのうち１つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録する手段と、データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも１つと一致した場合、該バッファメモリ内の更に別のデータ記録単位内に該データパターンを示す符号を記録する手段と、前記符号に対応したデータを再生して出力する手段と、を有する。
【００１７】
請求項８に記載の発明によれば、バッファメモリに対して、パターンが一致した場合には、入力データの替わりにデータパターン符号を書き込むように構成したため、バッファメモリの消費量を削減でき、従来問題であったバッファあふれ等を回避することができる。
請求項９に記載のバッファ制御装置は、入力データを一時記憶するバッファメモリを制御するバッファ制御装置であって、入力データを１又は複数のデータパターンと比較する手段と、入力データが、前記データパターンのうち少なくとも１つと一致した場合、前記バッファメモリ内のデータ記録単位を細分化した記録単位に該データパターンを示す符号を記録する手段と、前記入力データが、前記データパターンの１つとも一致しない場合には、該バッファメモリ内の別のデータ記録単位内に該入力データを記録する手段と、データパターンと一致しなかった入力データの次の入力データが、前記データパターンのうち少なくとも１つと一致した場合、該バッファメモリ内において、データパターンの符号が既に記録されているデータ記録単位内に細分化した記録単位の空きがあるか否かを判定し、空きがあれば、該空きの細分化した記録単位に該データパターンを示す符号を記録する手段と、前記符号に対応したデータを再生して出力する手段と、を有する。
【００１８】
本発明によれば、データ記録単位を細分化してデータパターン符号を書き込むよう構成したため、連続的に入力データがデータパターンと一致しない場合でも、バッファメモリの消費量の削減が可能となる。
請求項１０に記載のバッファ制御装置は、予め設定された所定のデータパターンを、前記データパターンとして保持する手段を有する。
【００１９】
本発明によれば、定型的なデータが想定される場合に、効率的な処理を行うことができる。
請求項１１に記載のバッファ制御装置は、所定の場合に、前記データパターンのうち 1つ又は複数を新たなデータパターンと入れ替える手段を有する。請求項１２に記載のバッファ制御装置は、前記データパターン毎にデータパターンと入力データが一致又は不一致であった回数を保持する手段と、あるデータパターンがバッファメモリ内で使用中かどうかを判定する手段とを有し、前記データパターンのうち、入力データと不一致であった回数が所定の回数以上、かつバッファメモリ内で使用されていないデータパターンがある場合に、該データパターンを新たなデータパターンと入れ替える。
【００２０】
請求項１３に記載のバッファ制御装置は、前記データパターンに優先順位付けする手段と、あるデータパターンがバッファメモリ内で使用中かどうかを判定する手段とを有し、前記データパターンのうち入力データと一致したデータパターンがある場合には、該データパターンを最高優先順位に遷移させ、前記データパターンのうち１つとも入力データと一致しなかった場合には、低優先順位のデータパターンを、該データパターンがバッファメモリ内で使用されていない場合に、新たなデータパターンと入れ替え、該新たなデータパターンを最高優先順位に遷移させる手段を有する。
【００２１】
請求項１１〜１３に記載の発明によれば、データパターンを書き換えるよう構成したため、入力データに対して、データパターンを一致させる可能性が高くなり、バッファメモリをより有効に使用することが可能となる。
請求項１４に記載のバッファ制御装置は、入力データを複数に分割する手段と、該分割された部分毎に対応する１つ又は複数のデータパターンと、該データパターンを用いることにより、該分割された部分それぞれを入力データとしてバッファ制御を行う手段とを有する。
【００２２】
本発明によれば、入力データを分割して処理するよう構成したため、入力データ内が定型部分と非定型部分に分かれる場合等に、定型部分にデータパターンを使用することにより、バッファメモリの消費量を削減でき、バッファあふれを回避できる。
【００２３】
【発明の実施の形態】
次に、本発明の実施の形態として、図を用いて本発明の実施例を説明する。
図４は、本発明の第１の実施例を示すバッファ制御装置１０のブロック図である。本発明は定型的なパケットデータとしてデータパターンが予想できる場合に適しており、同図中、バッファ制御装置１０は、パケット処理部（図４には記載していない）におけるパケット組み立てやバッファメモリ２６におけるバッファチェーニングを制御するバッファ管理部１４、受信データとあらかじめ設定されたデータパターンとの比較を行うキャッシュ制御部３０、バッファ管理部１４に対する出力指示及びパターンデータの出力を制御する出力スケジューリング部１２から構成されている。キャッシュ制御部３０は受信データを一時蓄積するシフトレジスタ３６、予め設定されたデータパターンであるパターンＲ３２0 〜３２n 、シフトレジスタ３６の内容とパターンＲ３２0 〜３２n の内容を比較する比較部３４から構成される。バッファ管理部１４は、空き先頭ポインタ１６、空き最後尾ポインタ１８、各ポインタを制御するポインタ制御部２０、パターンＮｏ．ライトポインタ１７、出力先頭ポインタ２２、出力最後尾ポインタ２４を有する。なお、データパターンを示す符号をパターンＮｏ．と称する。
【００２４】
図４中、比較部３４は例えばＥＯＲ群で構成でき、パターンＲ３２0 〜３２n はＦＦ群もしくはメモリで構成でき、ソフトウェアプログラム等にて設定・変更可能とすることもできる。バッファ管理部１４の各ポインタはＦＦ群もしはメモリで構成できる。ポインタ制御部２０はハードロジックもしくはソフトウェアプログラムで構成できる。
【００２５】
図５はバッファメモリ２６内の構成を示した図である。図４のバッファ管理部１４が有する各ポインタの役割を含めて図５について説明する。同図中、バッファメモリ２６はデータ記録単位の繋がりである空きバッファチェーン２７と出力バッファチェーン２８を保持しており、空きバッファチェーン２７と出力バッファチェーン２８はそれぞれデータ記録単位であるセグメントから構成されている。空き先頭ポインタ１６は空きバッファチェーン２７の先頭セグメントアドレスを示し、空き最後尾ポインタ１８は空きバッファチェーン２７の最後尾セグメントアドレスを示す。パターンＮｏ．ライトポインタ１７はパターンＮｏ．のライトアドレスを示し、出力先頭ポインタ２２は出力バッファチェーンの先頭セグメントアドレスを示し、出力最後尾ポインタ２４は出力バッファチェーンの最後尾セグメントアドレスを示す。出力セグメント内の次セグメントアドレス４０は次の出力セグメントのアドレスを示し、パターンＮｏ．出力ポインタ４１はセグメント内で次に出力するパターンＮｏ．の場所を示し、パターンＮｏ．４２の領域においてパターンＮｏ．を格納し、データ格納領域４３は受信データを格納し、識別フラグ（Ｆ）４４はセグメント内にパターンＮｏ．を有するか否かを示し、ＥＮＤフラグ（ｆ）４５はセグメント内の最終パターンＮｏ．を示し、空きバッファチェーン２７及び出力バッファチェーン２８を制御する。
【００２６】
図６は、図１に示す実施例における受信処理の動作を示すフローチャートである。ステップ１としてキャッシュ制御部３０のシフトレジスタ３６がデータ受信すると、ステップ２として比較部３４において受信データとパターンＲ３２0 〜３２n との比較を行い、ステップ３にてデータ及びパターンＮｏ．をポインタ制御部に送出する。ステップ４としてキャッシュ制御部３０での比較結果をポインタ制御部２０にて判定し、ミスヒットすなわち不一致の場合はステップ５として空き先頭ポインタ１６を更新することでセグメントを獲得し、ステップ６として該セグメントにデータをライトし識別フラグ（Ｆ）を0 とし、ステップ７としてパターンＮｏ．ライトポインタを空きバッファチェーンの先頭セグメントアドレスとすることで初期化し、ステップ８として次セグメントアドレスを更新することで出力セグメントチェーンを更新し、出力最後尾ポインタを更新する。
【００２７】
ステップ４においてヒットすなわち一致の場合は、ステップ９としてパターンＮｏ．ライトポインタが初期状態か否かを判定し、初期状態の場合は前記ステップ５と同様に空き先頭ポインタを更新し、ステップ１０としてパターンＮｏ．ライトポインタが示すアドレスを基にパターンＮｏ．をライトし、識別フラグ（Ｆ）を1 として識別フラグをパターンＮｏ．を有する状態とし、ステップ１１としてＥＮＤフラグ（ｆ）を1 とし該当のセグメント内での最終パターンＮｏ．であることを示す状態とし、ステップ１２としてパターンＮｏ．出力ポインタを設定し、ステップ１３として、セグメント内に空きがある場合にはパターンＮｏ．ライトポインタを更新し、セグメント内に空きがない場合にはパターンＮｏ．ライトポインタ初期化する。そして、前記ステップ８と同様に出力セグメントチェーンを更新し、出力最後尾ポインタを更新する。
【００２８】
ステップ９においてパターンＮｏ．ライトポインタが初期状態でない場合、前記ステップ１０〜１１の処理の後、ステップ１４として前ＥＮＤフラグ（ｆ）を0 とし、前記ステップ１３とステップ８の処理を行う。
図７は、図４に示す実施例における送信処理の動作を示すフローチャートである。図７（ａ）は主にポインタ制御部２０における処理、図７（ｂ）は出力スケジューリング部１２における処理を示す。図７（ａ）において、データ送信時、ステップ２０として出力スケジューリング部１２がポインタ制御部２０に出力を指示すると、ステップ２１としてポインタ制御部２０において出力先頭ポインタが示すアドレスよりＦをリードし、ステップ２２としてパターンＮｏが有る否かを判定し、パターンＮｏ. 無しすなわちＦ＝０の場合、ステップ２３として出力先頭ポインタが示すアドレスよりデータをリードし、ステップ２４として出力先頭ポインタを更新し、ステップ２５として空き最後尾ポインタを更新することでセグメントを開放する。
【００２９】
ステップ２２における判定の結果、パターンＮｏ．が有る場合、ステップ２６として出力先頭ポインタが示すセグメント内のパターンＮｏ．出力ポインタよりパターンＮｏ．をリードし、ステップ２７としてＥＮＤフラグ（ｆ）が1 か否かを判定し、1 の場合は前記ステップ２４〜２５の処理、すなわち出力先頭ポインタを更新し、空き最後尾ポインタを更新する処理を行う。
【００３０】
ステップ２７における判定の結果、ＥＮＤフラグ（ｆ）が０の場合はパターンＮｏ．出力ポインタを更新する。
図７（ｂ）において、ステップ３０として出力スケジユーリング部１２はポインタ制御部２０からデータ又はパターンＮｏ．を受信する。ステップ３１においてデータかパターンＮｏ．かどうかを判定し、データの場合はそのままのデータをリードし、ステップ３２としてそのデータを出力し、パターンＮｏ．の場合は、ステップ３３として該パターンＮｏ．に対応したデータパターンの内容を出力する。
【００３１】
図８の（ａ）、（ｂ）、（ｃ）は、図４に示す実施例におけるデータ受信の例であり、３つのデータを受信し、第１データはヒット、第２データもヒット、第３データはミスヒットした場合を説明するための図である。図８（ａ）において、第1 データ受信時にキャッシュヒットしたがライトする領域がないため空きセグメントを1 つ消費して出力セグメントを確保し、パターンＮｏ．０をライトしている。このときパターンＮｏ．ライトポインタ（パＮｏ．ＷＰ）は次アドレスを示している。また、出力先頭ポインタ（出力先Ｐ）及び出力最後尾ポインタ（出力後Ｐ）は該出力セグメントを示している。図８（ｂ）において、第2 データ受信時にキャッシュヒットした場合は第1 データにて確保した出力セグメントにパターンＮｏ．１をライトする。このとき空きセグメントは消費しない。図８（ｃ）において、第3 データ受信時はキャッシュミスヒットのため空きセグメントを1 つ消費し、新たに確保した出力セグメントに受信したデータ（Ｘ−▲３▼）をそのまま格納する。この場合、出力最後尾ポインタ（出力後Ｐ）は新たに確保した出力セグメントを示す。
【００３２】
図９は、本発明の第２の実施例を示すバッファ制御装置１０のブロック図である。同図に示すように、図４に示した構成におけるパターンＮｏ．ライトポインタ１７の替わりに空きセグメントを細分化したセグメントアドレスを示す空きパターンＮｏ．ポインタ１９を有する構成である。
図１０は、空きバッファチェーンにおいて空きセグメントを細分化した細分化セグメントからなる空きパターンＮｏ．チェーン５０を示す図であり、同図中、パターンＮｏ．力ウンタ５２は細分化セグメントの獲得・開放状態を管理する。
【００３３】
図１１は、出力セグメント及び出力細分化セグメントから構成された出力バッファチェーン５４を示す図である。次細分化セグメントアドレス５６は次細分化セグメントを示し、次セグメントアドレスは次セグメントアドレスを示す。パターンＮｏ. ５８はパターンＮｏ．を格納する領域を示し、データ格納領域５９は受信データを格納し、識別フラグ（Ｆ）６０はセグメント又は細分化セグメント内がパターンＮｏ．か否かを示すものであり、空きバッファチェーン、空きパターンＮｏ．チェーン、出力バッファチェーンを制御する。出力先頭ポインタ２２は出力セグメント又は出力細分化セグメントの先頭を示し、出力最後尾ポインタ２４は出力セグメント又は出力細分化セグメントの最後尾を示す。なお、空きパターンＮｏ．ポインタはＦＦ群もしくはメモリで構成できる。
【００３４】
図１２は、図９に示す実施例における受信処理の動作を示すフローチャートである。ステップ４０としてキャッシュ制御部３０にて前述した図６におけるステップ１〜３と同一の処理が行われ、続いてステップ４１としてポインタ制御部２０においてキャッシュデータを受信し、キャッシュ制御部３０での比較結果を判定し、ミスヒットの場合はステップ４２として空き先頭ポインタを更新して新たにセグメントを獲得し、ステップ４３として該セグメントにデータをライトし識別フラグ（Ｆ）を０とする。そして、ステップ４４として出力セグメントチェーンを更新し、出力最後尾ポインタを更新する。
【００３５】
ステップ４１における判定の結果がヒットの場合、ステップ４５として空きパターンＮｏ．チェーンに空きが有るか否かを判定し、無しの場合は前記ステップ４２と同様の処理を行い空き先頭ポインタを更新し、ステップ４６として細分化セグメントにパターンＮｏ．をライトし識別フラグ（Ｆ）を1 とし、ステップ４４と同様に出力セグメントチェーンを更新し、出力最後尾ポインタを更新する。ステップ４５における判定の結果、空きパターンＮｏ．チェーンに空きが有る場合はステップ４７として空きパターンＮｏ．ポインタを更新することで空き細分化セグメントを獲得し、ステップ４６及びステップ４４と同様に該細分化セグメントにパターンＮｏ．をライトし識別フラグ（Ｆ）を1 とし、出力セグメントチェーンを更新し、出力最後尾ポインタを更新する。
【００３６】
図１３は、図９に示す実施例における送信処理の動作を示すフローチャートである。図１３（ａ）は主にポインタ制御部２０における処理、図１３（ｂ）は出力スケジューリング部１２における処理を示す。
図１３（ａ）において、データ送信時、ステップ５０として出力スケジューリング部１２がポインタ制御部２０に出力を指示すると、ステップ５１としてポインタ制御部２０において出力先頭ポインタが示すアドレスよりＦをリードし、ステップ５２としてパターンＮｏであるか否かを判定し、パターンＮｏ. でない、すなわちＦ＝０の場合、ステップ５３として出力先頭ポインタが示すアドレスよりデータをリードし、ステップ５４として出力先頭ポインタを更新し、ステップ５５として空き最後尾ポインタを更新することでセグメントを開放する。
【００３７】
ステップ５２における判定の結果、パターンＮｏ．の場合、ステップ５６として出力先頭ポインタが示すアドレスよりパターンＮｏ．をリードし、出力先頭ポインタを更新し、ステップ５７としてパターンＮｏ．カウンタを1 加算することで細分化セグメントを開放し、ステップ５８として該パターンＮｏ．カウンタが最大値か否かを判定し、最大値の場合、ステップ５５の処理、すなわち空き最後尾ポインタの更新を行いセグメントを開放し、最大値でない場合は更新等の処理は行わない。
【００３８】
図１３（ｂ）において、出力スケジユーリング部１２はポインタ制御部２０からデータ又はパターンＮｏ．を受信し、データかパターンＮｏ．かどうかを判定し、データの場合はそのままのデータをリードし、そのデータを出力し、パターンＮｏ．の場合は、該パターンＮｏ．に対応したデータパターンの内容を出力する。
【００３９】
図１４の（ａ）、（ｂ）、（ｃ）は、図９に示す実施例におけるデータ受信の例であり、３データを受信し、第１データはヒット、第２データもヒット、第３データはミスヒットした場合を説明するための図である。
図１４（ａ）において、第1 データ受信時にキャッシュヒットしたがライトする領域がないため空きセグメントを1 つ消費しかつ該セグメントを細別化し該細分化セグメントにパターンＮｏ．０をライトしている。このとき空きパターンＮｏ．ポインタ（空きパＮｏ．Ｐ）は空きパターンＮｏ．キューにおける次アドレスを示している。図１４（ｂ）において、第2 データ受信時にキャッシュヒットした場合は、第1 データにて確保した出力セグメント内の空きパターンＮｏ．キューより細別化セグメントを確保しパターンＮｏ．１をライトする。図１４（ｃ）において、第3 データ受信時はキャッシュミスヒットのため空きセグメントを1 つ消費し、新たに確保した出力セグメントに受信したデータ（Ｘ−▲３▼）をそのまま格納する。ただし、空きパターンＮｏ．キューに残った細別化セグメントは後のヒット時に利用可能である。
【００４０】
図１５は、本発明の第３の実施例を示す図である。同図に示すように、本実施例は、図４又は図９に示す構成におけるキャッシュ制御部３０においてパターン更新制御部３１が付加された構成をとる。パターン更新制御部３１におけるミスヒットＣＮＴ３７0 〜３７n は受信データとパターンデータを比較した結果不一致であった回数をカウントし、使用中ＣＮＴ３８0 〜３８n はパターンＮｏ．が出力バッファにチェーンすなわち使用されている個数をカウントする。ミスヒットＣＮＴ３７0 〜３７n からミスヒット数の多いパターンＲ内データを新パターンデータに書き換える構成である。ただし、使用中ＣＮＴ３８0 〜３８n により使用中であることが示されている状態のパターンは書き換えない。なお、ミスヒットＣＮＴ３７0 〜３７n 、使用中ＣＮＴ３８0 〜３８n はＦＦ群もしくはメモリで構成できる。また、ミスヒットＣＮＴ３７0 〜３７n はヒット数をカウントするものであっても実施可能であり、ミスヒットＣＮＴ３７0 〜３７n のカウント値による置き換え対象パターンＲの判定は、例えば、あるしきい値を設けて行ってもよい。
【００４１】
図１６は、図１５に示す実施例における受信処理のキャッシュ制御部３０における動作を示すフローチャートである。ステップ７０〜７２としてキャッシュ制御部３０にて前述した図６におけるステップ１〜３と同一の処理が行われ、ステップ７３としてパターン比較結果をパターン更新制御部３１にて判定し、ヒットの場合、ステップ７４として該ヒットパターンに対応するミスヒットＣＮＴをクリアもしくは保持し、ステップ７５として他のミスヒットＣＮＴに1 を加算し、ステップ７６として該ヒットパターンに対応する使用中カウンタに1 を加算する。
【００４２】
ステップ７３における判定の結果、全パターンがミスヒットの場合、ステップ７７としてパターンＲ３２0 〜３２n に空きがあるかどうかを判定し、空きが無い場合、ステップ７８としてミスヒットＣＮＴの値が大きくかつパターンが使用中でない条件に合致したパターンＲ内データを新パターンデータに書き換え、ステップ７７での判定の結果、未使用パターンＲがある場合、ステップ７９としてそこに新パターンデータを書き込む。
【００４３】
図１７の（ａ）、（ｂ）は、ミスヒットＣＮＴ、使用中ＣＮＴ、パターンＲ、出力バッファキューの状態変化を示した図である。図１７の（ａ）の前状態においてパターンＲ１に対応するミスヒットＣＮＴ１が４と多く、前状態から２バッファ出力後にミスヒットデータを受信した現状態を示す図１７の（ｂ）において、ミスヒットＣＮＴ値が大きくかつ使用中ＣＮＴが０であるパターンＲ1 が新パターンデータに置き換えられる。
【００４４】
図１８は、本発明の第４の実施例を示す図である。同図に示すように、本実施例は、図４又は図９に示す構成におけるキャッシュ制御部３０においてパターン更新制御部３１が付加された構成をとる。本実施例におけるパターン更新制御部３１は、パターンの優先順位を決定するヒット状態管理部３９及び使用中ＣＮＴ３８0 〜３８n を有する。ヒット状態管理部３９がパターンＲ３２0 〜３２n の優先順位を決定し、優先順位の低いパターンデータを新パターンデータに書き換えるものである。なお、ヒット状態管理部は例えばハードロジックもしくはソフトウェアプログラムで構成できる。
【００４５】
図１９は、図１８に示す実施例における受信処理のキャッシュ制御部３０における動作を示すフローチャートである。ステップ８０〜８２としてキャッシュ制御部３０にて前述した図６におけるステップ１〜３と同一の処理が行われ、ステップ８３としてパターン比較結果をパターン更新制御部３１にて判定し、ヒットの場合、ステップ８４としてヒットした該パターンＲを高優先順位に遷移させる。ステップ８３における判定の結果、全パターンがミスヒットの場合、ステップ８５としてパターンＲ３２0 〜３２n に空きがあるかどうかを判定し、空きが無い場合、ステップ８６として低優先順位かつパターンが使用中でないという条件に合致したパターンＲ内データを新パターンデータに書き換え、ステップ８８として該パターンR を高優先順位に遷移させる。ステップ８５における判定の結果、パターンＲ３２0 〜３２n に空きがある場合、未使用パターンＲへ新パターンデータを書き込み、該パターンR を高優先順位に遷移させる。図２０に、上述したヒット状態管理部３９におけるパターンの状態遷移を示す。
【００４６】
図２１（ａ）、（ｂ）は、データ受信してパターンの状態が遷移する例を示す図である。  図２１（ａ）において、第1 のデータを受信し、パターンＲ0 がヒットしたためパターンＲ０が高優先順位に遷移し、パターンＲ1 が低優先順位になることを示す。  図２１（ｂ）において、第2 のデータを受信し、ミスヒットのため低優先順位のパターンＲ1 が新パターンデータに置き換えられ高優先順位に遷移する。
【００４７】
図２２は本発明の第５の実施例を示すブロック図である。同図に示すように、本実施例の構成は、図１５又は図１８の構成において、ＨパターンＲ３３0 〜３３m が付加されたものである。ＨパターンＲ３３0 〜３３m は受信データの一部を比較し、パターンＲ３２0 〜３２n は受信データの残りの部分を比較し、それぞれの比較結果の組み合わせをバッファ管理部１４に送出する。なお、ＨパターンＲ３３0 〜３３m 、パターンＲ３２0 〜３２n はＦＦ群もしくはメモリで構成できる。また分割の数は3 以上であっても可能である。
【００４８】
図２３は、図２２に示す実施例における受信処理のキャッシュ制御部３０における動作を示すフローチャートである。ステップ９０でデータ受信し、ステップ９１及びステップ９２においてＨパターンＲとパターンＲをそれぞれ並行に比較し、ステップ９３においてその結果を送出する。
図２４は、データＢとデータＸから成るデータを受信した場合の例を示す図である。同図において、受信データをデータＢとデータＸに分割し、データＢをＨパターンＲとデータＸをパターンＲと比較し、それぞれマッチするので、その結果であるＨパターンＮｏ．1 とパターンＮｏ．０を送出することが示される。
【００４９】
図２５は本発明に係るバッファ制御装置がパケット転送モジュール６０に適用された場合の実施例を示した図である。パケット転送モジュール６０は、入力物理終端部６２、多重部６４、入力ＡＴＭ終端部６６、入力ＡＡＬ部６８、パケット処理部７０、出力ＡＡＬ終端部８０、マルチキャスト部８２、セルシェーピング部８４、出力ＡＴＭ終端部９０、分離部９２、出力物理終端部９４、制御部９６より構成される。パケット処理部７０は、本発明のバッファ制御装置が適用されるパケット組み立てバッファ７２とパケットヘッダ処理部７４とから構成され、セルシェーピング部８４は、本発明のバッファ制御装置が適用されるセルシェーピングバッファ８６とセルシェーピング制御部８８とから構成される。
【００５０】
同図中、入力回線からのデータは、各ポート毎に物理終端処理、多重処理、ＡＴＭ終端処理、ＡＡＬ終端処理され、パケット処理部へ入力される。パケット処理部では複数ＡＴＭコネクション（ＶＰＩ／ＶＣＩ）毎にパケットを組み立て、ヘッダ処理にて出力コネクションを決定しパケット化されたセルを出力し、ＡＡＬ終端される。出力したパケットがマルチキャストパケットの場合は、マルチキャスト部でパケットコピー又はセルコピーされシェーピング部に入力される。シェーピング部８４では各コネクション毎にセルを蓄積し、設定された出力レートにてセルを出力し、ＡＴＭ終端処理、分離処理、物理終端処理され回線へ出力される。制御部９６は、各ブロックの初期設定、状態管理等を行う。
【００５１】
本実施例のパケット転送モジュールを使用することにより、パケット組み立て及びシェーピング等におけるバッファ使用量が削減でき、バッファあふれ等が回避できる。
図２６は、本発明をＡＴＭモジュールに適用した場合の実施例を示すブロック図である。同図に示すように、ＡＴＭスイッチモジュール１００は、入力物理終端部１０２、入力ＡＴＭ終端部１０４、ＡＴＭスイッチ部１０６、セルシェーピング部１１６、出力ＡＴＭ終端部１２２、出力物理終端部１２４より構成される。ＡＴＭスイッチ部１０６は、多重部１０８、分離部１１２、スイッチ制御部１１４及び本発明のバッファ制御装置が適用されるスイッチバッファ１１０から構成される。セルシェーピング部１１６は、本発明のバッファ制御装置が適用されるセルシェーピングバッファ１１８とセルシェーピング制御部１２０とから構成される。
【００５２】
同図中、入力回線からのデータは、各ポート毎に物理終端処理、ＡＴＭ終端処理、ＡＴＭスイッチ部へ入力される。ＡＴＭスイッチ部１０６は各入力回線を多重し、複数ＡＴＭコネクション（ＶＰＩ／ＶＣＩ）毎にスイッチバッファに蓄積する。蓄積されたセルはスイッチ制御部１１４からのスイッチ情報に従い出力され、分離部にて出力先の回線へ出力される。スイッチ容量が大きい場合は、同図に示すように、スイッチバッファを多段に配置する。ＡＴＭスイッチ部１０６から出力されたセルは、シェーピングバッファに蓄積し、設定されたレートにてセルを出力し、ＡＴＭ終端処理、物理終端処理され回線へ出力される。制御部１２６は、各ブロックの初期設定、状態管理等を行う。
【００５３】
本実施例のＡＴＭスイッチモジュールを使用することにより、スイッチ処理及びシェーピング等におけるバッファ使用量が削減でき、バッファあふれ等が回避できる。
次に、本発明がネットワーク上で適用され、バッファあふれ防止等の効果が想定される例について図２７〜２９を用いて説明する。
【００５４】
図２７は、公衆ネットワーク１３４上に本発明のバッファを有するノード１３０、１３１、１３２が配置され、ホスト１３３等にデータが集中的に送られる場合を示す図である。ホスト等に対するＩＰ等のデータが集中する場合としては、単なる返信のアンケート回答や、時間指定のチケット購入申し込み等が想定され、それらに関するデータパケットは一時的で同一データが多い。図２７のデータ１３５〜１３９において、ＩＰヘッダや網内ヘッダは定型であり、内容はアドレス等のルート情報が主であるので、同一ノードへの入力は同一データとなる場合が多いため、データ量が多い場合でも本発明のバッファ制御装置によりバッファ溢れ等の防止が可能である。
【００５５】
図２８は、公衆ネットワーク１３４上に本発明のバッファを有するノード１３０、１３１、１３２が配置され、例えば企業内イントラネット等の中のユーザ１４１からユーザ１４０へ、多量のパケットデータ１４２を送信する場合を示す図である。データ１４２は企業内イントラネットにおけるデータであるので、各ヘッダは定型であり、同一データとなる場合が多く、ノード１３３において一般ユーザ又は多ネットワークのデータが着信している場合でも、バッファあふれ等の防止が可能である。
【００５６】
図２９は、データが放送型ユーザからマルチキャスト転送される場合を示す図であり、ノード１５ 1〜１５５、ユーザルータＡ１５６、ユーザルータＢ１５７は本発明のバッファ制御装置を有する。また、ユーザルータＢ１５７以外はマルチキャスト機能を有する。各ノードにおいて、本発明のバッファ制御装置を有するパケット組み立てバッファ１５８にてＡＴＭセルをパケットに組み立て、マルチキャスト部１５９においてマルチキャスト転送のためのパケットコピーが行われ、本発明のバッファ制御装置を有するシェーピングバッファ１６０にデータを蓄積する。複数にコピー生成されたデータ１６２中、マルチキャストデータは同一であるので、本発明におけるバッファあふれ等の防止効果が大きい。また、ユーザルータにおいては、本発明のバッファ制御装置を有するパケット組み立てバッファ１６１にてＡＴＭセルをパケットに組み立てる。マルチキャスト機能を有しないユーザルータＢ１５７においては、同一マルチキャストデータを有するデータ１６３が多量に入力されるので、本発明による効果が大きい。
【００５７】
なお、本発明は、上記の実施例に限定されることなく、特許請求の範囲内で種々変更・応用が可能である。
【００５８】
【発明の効果】
上述したように、本発明によれば、バッファメモリに対して、パターンが一致した場合には、入力データの替わりにデータパターン符号を書き込むこととしたため、バッファメモリの消費量を削減でき、従来問題であったバッファあふれ等を回避することができる。更に、データ記録単位を細分化してデータパターン符号を書き込むこととしたため、連続的に入力データがデータパターンと一致しない場合でも、バッファメモリの消費量の削減が可能となる。
【００５９】
また、本発明によれば、データパターンを書き換えることが可能であるため、入力データに対して、データパターンを一致させる可能性が高くなり、バッファメモリをより有効に使用することが可能となる。
更に、入力データを分割して処理することができるため、入力データ内が定型部分と非定型部分に分かれる場合等に、定型部分にデータパターンを使用することにより、バッファメモリの消費量を削減でき、バッファあふれをより効率的に回避できる。
【００６０】
したがって、本発明によれば、バッファメモリの最適利用が可能となり、データ入力スループットに対し出力スループットが小さい場合及びパケット処理時のバッファメモリのバッファ溢れを極力防止でき、データバッファ装置の性能および品質向上に寄与するところが大きい。特にマルチキャスト転送等のように同一データが多量に転送される場合に効果が大きく、又、同一データの無意味なデータ転送のような悪意データへの対応策としても効果がある。
【図面の簡単な説明】
【図１】従来技術によるバッファ制御装置のブロック図である。
【図２】図１におけるバッファメモリ２６内の構成を示す図である。
【図３】バッファメモリ２６に３つのデータが蓄積される例を示す図である。
【図４】本発明の第１の実施例を示すブロック図である。
【図５】図４におけるバッファメモリ２６内の構成を示す図である。
【図６】第１の実施例においてデータ受信時の動作を示すフローチャートである。
【図７】第１の実施例においてデータ送信時の動作を示すフローチャートである。
【図８】第１の実施例において３つのデータが蓄積される例を示す図である。
【図９】本発明の第２の実施例を示すブロック図である。
【図１０】第２の実施例における空きパターンＮｏ．チェーン内の構成を示す図である。
【図１１】第２の実施例における出力バッファチェーン内の構成を示す図である。
【図１２】第２の実施例においてデータ受信時の動作を示すフローチャートである。
【図１３】第２の実施例においてデータ送信時の動作を示すフローチャートである。
【図１４】第２の実施例において３つのデータが蓄積される例を示す図である。
【図１５】本発明の第３の実施例を示すブロック図である。
【図１６】第３の実施例においてデータ受信時の動作を示すフローチャートである。
【図１７】第３の実施例においてデータが更新される例を示す図である。
【図１８】本発明の第４の実施例を示すブロック図である。
【図１９】第４の実施例においてデータ受信時の動作を示すフローチャートである。
【図２０】第４の実施例におけるデータパターンの優先順位の遷移方法を表した図である。
【図２１】第４の実施例においてデータが更新される例を示す図である。
【図２２】本発明の第５の実施例を示すブロック図である。
【図２３】第５の実施例においてデータ受信時の動作を示すフローチャートである。
【図２４】第５の実施例において分割されたデータをデータパターンと比較する例を示す図である。
【図２５】本発明をパケット転送モジュールに適用した実施例を示すブロック図である。
【図２６】本発明をＡＴＭスイッチモジュールに適用した実施例を示すブロック図である。
【図２７】本発明をネットワーク上で適用する例であり、データ集中の場合を示す図である。
【図２８】本発明をネットワーク上で適用する例であり、同一ユーザ間に多量のパケットが転送される場合を示す図である。
【図２９】本発明をネットワーク上で適用する例であり、マルチキャスト転送が行われるの場合を示す図である。
【符号の説明】
２、４、６  データ
１０  バッファ制御装置
１２  出力スケジューリング部
１４  バッファ管理部
１６  空き先頭ポインタ
１７  パターンＮｏ．ライトポインタ
１８  空き最後尾ポインタ
１９  空きパターンＮｏ．ポインタ
２０  ポインタ制御部
２２  出力先頭ポインタ
２４  出力最後尾ポインタ
２６  バッファメモリ
２７  空きバッファチェーン
２８  出力バッファチェーン
２９、４０  次セグメントアドレス
３０  キャッシュ制御部
３１  パターン更新制御部
３２  パターンＲ
３３  ＨパターンＲ
３４  比較部
３６  シフトレジスタ
３７  ミスヒットＣＮＴ
３８  使用中ＣＮＴ
３９  ヒット状態管理部
４１  パターンＮｏ．出力ポインタ
４２、５８  パターンＮｏ．
４３、５９  データ格納領域
４４  識別フラグ（Ｆ）
４５  ＥＮＤフラグ（ｆ）
４６  パケット処理部
５０  空きパターンＮｏ．チェーン
５２  パターンＮｏ．カウンタ
５４  出力バッファチェーン
５６  次細分化セグメントアドレス
５７  次セグメントアドレス
６０  パケット転送モジュール
６２、１０２  入力物理終端部
６４、１０８  多重部
６６、１０４  入力ＡＴＭ終端部
６８  入力ＡＡＬ終端部
７０  パケット処理部
７２、１５８、１６１  パケット組み立てバッファ
７４  パケットヘッダ処理部
８０  出力ＡＡＬ終端部
８２、１５９  マルチキャスト部
８４、１１６  セルシェーピング部
８６、１１８、１６０  セルシェーピングバッファ
８８、１２０  セルシェーピング制御部
９０、１２２  出力ＡＴＭ終端部
９２、１１２  分離部
９４、１２４  出力物理終端部
９６、１２６  制御部
１００  ＡＴＭスイッチモジュール
１０６  ＡＴＭスイッチ部
１１０  スイッチバッファ
１１４  スイッチ制御部
１３０〜１３２、１５１〜１５７  ノード
１３３  ホスト等
１３４  公衆ネットワーク
１３５、１３６、１３７、１３８、１３９、１４２、１６２、１６３  データ
１４０、１４１  ユーザ
【図１】
0003765931.tif 000002
【図２】
0003765931.tif 000003
【図３】
0003765931.tif 000004
【図４】
0003765931.tif 000005
【図５】
0003765931.tif 000006
【図６】
0003765931.tif 000007
【図７】
0003765931.tif 000008
【図８】
0003765931.tif 000009
【図９】
0003765931.tif 000010
【図１０】
0003765931.tif 000011
【図１１】
0003765931.tif 000012
【図１２】
0003765931.tif 000013
【図１３】
0003765931.tif 000014
【図１４】
0003765931.tif 000015
【図１５】
0003765931.tif 000016
【図１６】
0003765931.tif 000017
【図１７】
0003765931.tif 000018
【図１８】
0003765931.tif 000019
【図１９】
0003765931.tif 000020
【図２０】
0003765931.tif 000021
【図２１】
0003765931.tif 000022
【図２２】
0003765931.tif 000023
【図２３】
0003765931.tif 000024
【図２４】
0003765931.tif 000025
【図２５】
0003765931.tif 000026
【図２６】
0003765931.tif 000027
【図２７】
0003765931.tif 000028
【図２８】
0003765931.tif 000029
【図２９】
0003765931.tif 000030