(57)【要約】【課題】バッファメモリを用いて通信パケットの送受を行なうネットワーク機器等のフロー制御において、バッファメモリが記憶可能な最大パケット数を有効利用可能なバッファオーバーフロー検出方法及び回路を提供する。【解決手段】△ｔ時間の信号を生成する自己同期型タイマ１と、△ｔ時間毎のパケット増減数を計数するカウンタ２と、計数結果を順次保持するレジスタ３ａ〜３ｃと、保持された各時間毎の増減計数値を元に△ｔ時間後の将来のバッファ内パケット増減数を予測し、その予測値に応じて閾値を制御するしきい値決定部４と、しきい値決定部４が定めた新たな閾値と現在のバッファメモリ内パケット数とを比較する比較器５とを備えてバッファオーバーフロー検出回路を構成し、予測値に応じて柔軟に閾値を可変するようにしたので、バッファメモリの記憶できる最大パケット数を有効に利用することが可能となる。【選択図】　　　　図１
2004104192.tif 000002
【特許請求の範囲】
【請求項１】
バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出方法において、
一定時間△ｔ毎に前記バッファメモリ内のパケット数増減を検出する計数をし、
該計数したパケット数増減結果を複数ｎ段保持すると共に保持したｎ個のパケット数増減結果から増減の大小量及び増減の傾向を求め、
求めた結果に基づき△ｔ時間後のパケット数増減を予測し、
該予測値に基づき閾値を決定し、
該閾値と現在のバッファメモリ内パケット数とを比較する上記手順を繰り返し行ない、
バッファメモリ内パケット数が閾値を越えたときにバッファオーバーフロー検出とすることを特徴としたバッファオーバーフロー検出方法。
【請求項２】
バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出回路において、
一定時間△ｔ毎に前記バッファメモリ内のパケット数増減を検出する計数手段と、
前記計数手段のパケット数増減結果を複数ｎ段保持する記憶手段と、
前記記憶手段の保持したｎ個のパケット数増減結果から増減の大小量及び増減の傾向を求める演算手段と、
前記演算手段の求めた結果に基づき△ｔ時間後のパケット数増減を予測する予測手段と、
前記予測手段の予測値に基づき閾値を決定する閾値制御手段と、
前記閾値制御手段からの閾値とバッファメモリ内パケット数とを比較する比較手段とを備え、
バッファメモリ内パケット数が閾値を越えたときにバッファオーバーフロー検出とすることを特徴としたバッファオーバーフロー検出回路。
【請求項３】
バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出回路において、
所定の一定時間間隔信号を出力するタイマと、
前記バッファメモリへのパケット入力／出力に応じて増減計数すると共に前記タイマ出力に基づきリセットするカウンタと、
前記カウンタからの計数値を前記タイマ出力に基づき順次保持するシフトレジスタと、
前記シフトレジスタが保持した各時間毎の増減計数値の変化度合いに基づき将来の増減量を予測すると共に該予測値に応じて閾値を可変する閾値決定部と、
閾値決定部が定める閾値とバッファメモリ内パケット数とを比較する比較器とを備えたことを特徴とするバッファオーバーフロー検出回路。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、バッファオーバーフロー検出回路に関し、特に、バッファメモリを用いて通信パケットの送受を行なうネットワーク機器等のフロー制御において伝送効率を最適に維持するバッファオーバーフロー検出回路に関する。
【０００２】
【従来の技術】
近年、インターネットに代表されるネットワーク接続が普及し、企業のみならず一般家庭のコンピュータ端末、或いは携帯電話端末などもネットワークに接続され、相互に通信可能になっている。大規模なネットワークシステムも、構築の階層をたどれば、各種のＬＡＮ（Ｌｏｃａｌ　Ａｒｅａ　Ｎｅｔｗｏｒｋ）の集合からなっていることが多く、ＬＡＮの代表的な通信方式としてイーサネット（Ｘｅｒｏｘ社商標）が知られている。
図４は、データ通信ネットワークの構成モデル例を示す図であり、複数の端末１０が、リピータハブ２０或いはスイッチングハブ３０に接続され、リピータハブ２０或いはスイッチングハブ３０は、別のリピータハブ２０、スイッチングハブ３０又は、ルータ４０と相互に接続された構成となっている。各機器を相互接続する伝送路は、有線、無線に関わらず多様な通信回線が用いられる。このようなネットワークにおいて、端末と端末を結びデータ通信を行なう場合には、リピータハブ２０、スイッチングハブ３０、ルータ４０といったネットワーク機器を経由して通信が行なわれることになる。
【０００３】
そして、このような通信においては、情報がパケットと呼ばれる単位ごとに伝送されるデータ通信方式が主流となっており、前記ネットワーク機器はパケットに付されたヘッダ部分のアドレス指定に基づきパケットの中継を行なう。
ここでパケット中継に関し、ネットワーク機器の中には、入力するパケットを一時保存するためのバッファメモリと呼ばれる記憶素子を持つものがあり、上述の例にあっては、スイッチングハブ３０やルータ４０が該当する。このように入力パケットをバッファメモリに一時保存し、パケットのチェックを行なった後に送信すべきポートの判断を行なって送信する方式としてストア＆フォワード方式が知られている。この方式は、通信の信頼性が高く、通信速度の変換も可能である反面、フレームの大きさに比例して、転送遅延が大きくなるという特性をもつものである。
【０００４】
更に、上位のレイヤにおいて、例えば、インターネットで広く用いられているＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ　Ｃｏｎｔｒｏｌ　Ｐｒｏｔｏｃｏｌ）では、情報が確実に転送されるようフロー制御を行なっている。フロー制御は、送信元とあて先でバッファを設定しておき、あて先は予め送信元に自己が設定したバッファ容量を、ＴＣＰヘッダーのウィンドウの大きさを示す領域に格納して通知しておくことで、送信元はあて先のバッファ容量に合わせてセグメント（データストリームを分割化した単位）を送信するようにし、これは適宜、送受信間のハンドシェーク・シーケンスにより可変制御がなされるものである。なお、ＴＣＰに限らず、このような通信制御の手段をフロー制御と呼び、シリアル通信や、上述のイーサネットなど様々な通信方式に応用されている。
【０００５】
図５はネットワーク機器間のフロー制御のイメージを示すモデル図である。
この例では、２台のネットワーク機器が対向接続されており、一方を、バッファメモリを備えた当該ネットワーク機器５０とし、他方を、対向のネットワーク機器６０として説明する。ここでは、対向のネットワーク機器６０側からパケットを送信し、当該ネットワーク機器５０側にて受信しており、当該ネットワーク機器５０は、自己のバッファメモリの状況に応じたフロー制御信号を返送することで、確実にパケットを転送している。
また、バッファメモリの容量が有限であり、受信側の処理能力を超えて一定時間内に大量のパケットが到来してしまうと、バッファメモリの容量に納まらずオーバーフローを引き起こしてしまうことになる。こうなると、後続の受信パケットは廃棄され、著しい通信効率の低下を招いてしまう。そこで、上述のフロー制御における一つの機能として、バッファオーバーフロー検出が重要となってくる。
【０００６】
従来、このフロー制御におけるバッファオーバーフロー検出は、送受信ネットワーク機器間のシーケンス制御にて、転送パケット長サイズやバッファメモリ容量の割り当てを確認した後に通信を開始し、受信側ではバッファメモリ内に格納されているパケット数を監視し、パケット数が一定のしきい値を超えた時にバッファオーバーフロー検出として、送信側に通知することで、実際のバッファオーバーフローが生じる前に、送信側からの出力を制限するようにしていた。
【０００７】
【発明が解決しようとする課題】
しかしながら、上述した従来のバッファオーバーフロー検出方法においては、以下に示すような問題点があった。つまり、パケット数がしきい値に達した時点で送信側の対向ネットワーク機器にパケットを送出しないよう伝えても、これに応じて対向ネットワーク機器が送出を停止するまでには、パケットを出力してしまうので、その分を配慮して予めしきい値を低めに設定していた。しきい値を低めに設定するということは、バッファメモリが記憶可能な最大パケット数を活かすことができないので、その分、伝送効率も低下することになる。
【０００８】
本発明はこのような問題点を解決するためになされたものであり、バッファメモリが記憶可能な最大パケット数を活かすことが可能なバッファオーバーフロー検出方法及び回路を提供することを目的とする。
【０００９】
【課題を解決するための手段】
上記課題を解決するために本発明に係わるバッファオーバーフロー検出方法の請求項１の発明は、バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出方法において、一定時間△ｔ毎に前記バッファメモリ内のパケット数増減を検出する計数をし、該計数したパケット数増減結果を複数ｎ段保持すると共に保持したｎ個のパケット数増減結果から増減の大小量及び増減の傾向を求め、求めた結果に基づき△ｔ時間後のパケット数増減を予測し、該予測値に基づき閾値を決定し、該閾値と現在のバッファメモリ内パケット数とを比較する上記手順を繰り返し行ない、バッファメモリ内パケット数が閾値を越えたときにバッファオーバーフロー検出とすることを特徴とする。
【００１０】
また、本発明に係わるバッファオーバーフロー検出回路の請求項２の発明は、バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出回路において、一定時間△ｔ毎に前記バッファメモリ内のパケット数増減を検出する計数手段と、前記計数手段のパケット数増減結果を複数ｎ段保持する記憶手段と、前記記憶手段の保持したｎ個のパケット数増減結果から増減の大小量及び増減の傾向を求める演算手段と、前記演算手段の求めた結果に基づき△ｔ時間後のパケット数増減を予測する予測手段と、前記予測手段の予測値に基づき閾値を決定する閾値制御手段と、前記閾値制御手段からの閾値とバッファメモリ内パケット数とを比較する比較手段とを備え、バッファメモリ内パケット数が閾値を越えたときにバッファオーバーフロー検出とすることを特徴とする。
【００１１】
また、本発明に係わるバッファオーバーフロー検出回路の請求項３の発明は、バッファメモリを用いたパケット送受信に係るバッファオーバーフロー検出回路において、所定の一定時間間隔信号を出力するタイマと、前記バッファメモリへのパケット入力／出力に応じて増減計数すると共に前記タイマ出力に基づきリセットするカウンタと、前記カウンタからの計数値を前記タイマ出力に基づき順次保持するシフトレジスタと、前記シフトレジスタが保持した各時間毎の増減計数値の変化度合いに基づき将来の増減量を予測すると共に該予測値に応じて閾値を可変する閾値決定部と、閾値決定部が定める閾値とバッファメモリ内パケット数とを比較する比較器とを備えたことを特徴とする。
【００１２】
【発明の実施の形態】
以下、図示した実施の形態例に基づいて本発明を詳細に説明する。
図１は本発明に係わるバッファオーバーフロー検出回路の実施の形態例を示す機能ブロック図である。
【００１３】
この例に示すバッファオーバーフロー検出回路は、自己同期型タイマ１と、前記自己同期型タイマ１の出力をリセット信号として動作するカウンタ２と、前記カウンタ２が出力するカウント値を、前記自己同期型タイマ１の出力をロード信号として保持する複数のレジスタ３ａ〜３ｃと、前記各レジスタ３ａ〜３ｃが保持する値を受け、しきい値を出力するしきい値決定部４と、前記しきい値決定部４が出力するしきい値と、外部からの現在のバッファメモリ内パケット数とを比較する比較器５とを備えている。
【００１４】
前記自己同期型タイマ１は、起動から微小時間△ｔ経過したところで満了し、再び起動を繰り返すよう動作するもので、再起動に際し外部からのトリガ信号を要しないタイマである。これにより、起動から満了までの微小時間△ｔを任意に指定することで、微小時間△ｔを示す旨の信号を出力する。
前記カウンタ２は、図示を省略したパケット監視部によるバッファメモリへのパケット書込み／読出しに応じたパケット入力信号及びパケット出力信号を、それぞれカウントアップ信号及びカウントダウン信号として計数する。つまり、カウンタ２は自己同期型タイマ１が満了したときにカウンタ２が保持しているカウント値を“０”にリセットし、パケット入力信号があったときカウント値に“１”を加算し、パケット出力信号があったときカウント値に“１”を減算することで、微小時間△ｔあたりのパケット数の増減を計数するのである。
【００１５】
前記レジスタ３ａ〜３ｃは、シフトレジスタとして機能し、前記カウンタ２が微小時間△ｔごとに計数したカウント値が順次レジスタ３ｃからレジスタ３ａに移行しつつ保持される。ここで、図２にレジスタ３ａ〜３ｃの動作モデルを示す。この図に示すモデルは、カウンタ２からの微小時間△ｔごとのパケット増減数（カウント値）を、△ａ１、△ａ２、△ａ３、△ａ４として表わし、これらの値がレジスタ３ｃからレジスタ３ａに順次シフトしていく様子を示している。なお、図中の“Ｘ”は、保持値が空であることを示しており、実際には数値“０”となる。このようにしてレジスタ３ａ〜３ｃには、微小時間△ｔごとの相対的なパケット増減数が保持される。
【００１６】
次に、前記しきい値決定部４の動作例について図を用いて説明する。
図３は、バッファメモリへの書込みパケット数が、読出しパケット数を上回る場合のバッファ内パケット数変化を示すグラフ図であり、（ａ）は、増加量が加速している場合を示し、（ｂ）は、増加量が減速している場合を示している。
なお、縦軸はバッファ内パケット数“ｎ”であり、横軸は時間“ｔ”であって、バッファ内パケット数“ｎ”の上限値は、「バッファが格納可能な最大パケット数」として点線で示し、△ｔ時間ごとのパケット数を黒点で示す。
また、同図中のポイントＡ，Ｂ，Ｃ，Ｄ間の夫々の増減数は、Ａ−Ｂ間を△ａ１、Ｂ−Ｃ間を△ａ２、Ｃ−Ｄ間を△ａ３として表わす。
また、バッファメモリの容量割り当てや、転送に用いるパケットの大きさ（パケット長）は、転送前のシーケンス制御により既に設定されているものとし、当該設定に基づいて前記バッファが格納可能な最大パケット数が固定される。
【００１７】
そして、しきい値決定部４は、前記バッファが格納可能な最大パケット数に応じたデフォルトとなる基準しきい値を設定する。
まず、（ａ）のグラフについて説明すると、ポイントＤが現在の時点であって、即ち、レジスタ３ａからは△ａ１の値が出力され、レジスタ３ｂからは△ａ２の値が出力され、レジスタ３ｃからは△ａ３の値が出力されており、しきい値決定部４は、△ａ１〜△ａ３が何れも増加傾向にあって、且つ、△ａ１＜△ａ２＜△ａ３という関係にあることを認知する。そして、しきい値決定部４は△ａ１〜△ａ３の情報を基に、直線近似により次の△ｔ時間後（予測時点）における増減量を予測（ポイントＥ）し、予測したＤ−Ｅ間の予測値に基づき、しきい値を制御する。この例では、増加量が次第に多くなってきており、予測値における増加量が大きいので、しきい値決定部４は、現在のしきい値より下げ、且つ下げ幅が大きな新たなしきい値を決定することになる。
【００１８】
次に、（ｂ）のグラフについて説明すると、しきい値決定部４は、△ａ１〜△ａ３が何れも増加傾向にあって、且つ、△ａ１＞△ａ２＞△ａ３という関係にあることを認知する。そして、しきい値決定部４は△ａ１〜△ａ３の情報を基に、直線近似により次の△ｔ時間後（予測時点）における増減量を予測（ポイントＥ’）し、予測したＤ−Ｅ’間の予測値に基づき、しきい値を制御する。この例では、増加量が次第に少なくなってきており、予測値における増加量が小さいので、しきい値決定部４は、現在のしきい値より下げ、且つ下げ幅が小さな新たなしきい値を決定することになる。
【００１９】
また、図示を省略するが、△ａ１〜△ａ３が何れも減少傾向にある場合には、直線近似による予測時点の予測値も減少となり、しきい値決定部４は、現在のしきい値より上げる制御を行なうことになる。
このように、しきい値決定部４は、現在時点から△ｔ時間後の予測時点における予測値を求め、この予測時点におけるバッファ内パケット数の絶対値と、各レジスタが保持する△ｔ時間毎の遷移履歴とを参照し、新たなしきい値を次の比較器５へ供給する。
【００２０】
図１に戻り、比較器５について説明する。比較器５は、前記しきい値決定部４からの新たなしきい値と、図示を省略したパケット監視部より出力されるバッファメモリ内の現在のパケット数とを比較する。そして、比較器５はバッファメモリ内の現在のパケット数がしきい値を越えているときに、バッファオーバーフローを出力する。
【００２１】
このように、バッファオーバーフロー検出回路は、比較器５からバッファオーバーフローが出力されたことをもってバッファオーバーフロー検出とし、当該ネットワーク機器は、バッファオーバーフロー検出に基づき、フロー制御により対向のネットワーク機器にバッファオーバーフローとなったことを通知する。これにより対向のネットワーク機器はパケット送信を停止するよう処理するので、当該ネットワーク機器には、バッファオーバーフロー検出から対向のネットワーク機器がパケット送信停止までの時間分のパケット（残留パケットという）が送られてくることになる。しかし、本願発明に係わるバッファオーバーフロー検出回路は、現在から△ｔ時間後における予測によりバッファオーバーフロー検出を行なっているため、残留パケットの到来分は予期されており、実際のバッファメモリにおいては、格納可能な最大パケット数内にて処理されるので、パケットを破棄することなく処理することができる。
【００２２】
以上のように、本発明に係わるバッファオーバーフロー検出回路は、△ｔ時間の信号を生成する自己同期型タイマ１と、△ｔ時間毎のパケット増減数を計数するカウンタ２と、計数結果を順次保持するレジスタ３ａ〜３ｃと、保持された各時間毎の増減計数値を元に△ｔ時間後の将来のバッファ内パケット増減数を予測し、その予測値に応じてしきい値を制御するしきい値決定部４と、しきい値決定部４が定めた新たなしきい値と現在のバッファメモリ内パケット数とを比較する比較器５とを備えて構成し、予測値に応じて柔軟にしきい値を可変するようにしたので、バッファメモリの記憶できる最大パケット数を有効に利用することが可能となる。
【００２３】
【発明の効果】
以上のように本発明に係わるバッファオーバーフロー検出回路は、複数のレジスタに△ｔ時間ごとの過去のバッファ内パケット増減数を記憶し、これを元に△ｔ時間後の将来のバッファ内パケット増減数を予測し、この予測値に基づいてバッファオーバーフロー検出のためのしきい値を可変制御して新たなしきい値を自動決定し、バッファオーバーフローを検出するようにしたので、バッファメモリの記憶できる最大パケット数を活かした効率の良いパケット伝送が実現できる。
【００２４】
【その他】
尚、本文中「イーサーネット」は登録商標です。
【図面の簡単な説明】
【図１】本発明に係るバッファオーバーフロー検出回路の構成例を示すブロック図である。
【図２】本発明に係るバッファオーバーフロー検出回路における各レジスタの動作モデルを示す図である。
【図３】バッファメモリ内パケット数の変化例を示す図であり、（ａ）は増加量が加速している場合を示し、（ｂ）は増加量が減速している場合を示す。
【図４】データ通信ネットワークの構成モデルを示す図である。
【図５】ネットワーク機器間のフロー制御のイメージを示すモデル図である。
【符号の説明】
１・・・自己同期型タイマ
２・・・カウンタ
３ａ〜５ｃ・・・レジスタ
４・・・しきい値決定部
５・・・比較器
１０・・・端末
２０・・・リピータハブ（ネットワーク機器）
３０・・・スイッチングハブ（ネットワーク機器）
４０・・・ルータ（ネットワーク機器）
５０・・・当該ネットワーク機器
６０・・・対向のネットワーク機器
【図１】
2004104192.tif 000003
【図２】
2004104192.tif 000004
【図３】
2004104192.tif 000005
【図４】
2004104192.tif 000006
【図５】
2004104192.tif 000007