(57)【特許請求の範囲】
【請求項１】
グループ別に分類されるパケットを一時的に蓄積し、処理するパケットバッファ装置であって、
到着したパケットを一時的に蓄積するためのパケット蓄積手段と、
パケットが到着した際に、前記パケット蓄積手段内の複数のグループのそれぞれのパケット蓄積量を合計した合計パケット蓄積量が、第１のしきい値を超えている場合には、当該到着したパケットの属するグループを、パケット廃棄すべきグループとして登録する登録手段と、
前記登録がなされているグループそれぞれについての前記パケット蓄積手段内のパケット蓄積量が、前記第１のしきい値とは異なる第２のしきい値を下回った場合に、当該グループに対して行なった前記登録を削除する削除手段と、
前記登録がなされているグループに属するパケットを廃棄する廃棄手段とを備えたことを特徴とするパケットバッファ装置。
【請求項２】
前記廃棄手段は、前記登録がなされているグループに属するパケットについて到着したものを廃棄することを特徴とする請求項１または２に記載のパケットバッファ装置。
【請求項３】
前記グループは、前記パケットのヘッダ情報に基づいて分類されるものであることを特徴とする請求項１または２に記載のパケットバッファ装置。
【請求項４】
グループ別に分類されるパケットを一時的にパケット蓄積手段に蓄積し、処理するパケットバッファ装置におけるパケット廃棄制御方法であって、
パケットが到着した際に、前記パケット蓄積手段内の複数のグループのそれぞれのパケット蓄積量を合計した合計パケット蓄積量が、第１のしきい値を超えている場合には、当該到着したパケットの属するグループを、パケット廃棄すべきグループとして登録するステップと、
前記登録がなされているグループそれぞれについての前記パケット蓄積手段内のパケット蓄積量が、前記第１のしきい値とは異なる第２のしきい値を下回った場合に、当該グループに対して行なった前記登録を削除するステップと、
前記登録がなされているグループに属するパケットを廃棄するステップとを有することを特徴とするパケット廃棄制御方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術の分野】
本発明は、パケット通信網の網構成要素であるパケットバッファ装置及びそのパケット廃棄制御方法に関する。
【０００２】
【従来の技術】
インターネットは、数多くのネットワークや端末間で通信できる基盤情報網として知られている。このインターネットはＩＰパケットと呼ばれるパケットを通信するパケット通信網である。一方、ＡＴＭ通信網は、通信品質の保証を行うことのできるディジタル広帯域公衆網の実現方式として期待されているが、これもまたセルと呼ばれる固定長のパケットを通信する一種のパケット通信網である。このように、パケット通信は有望な通信技術として広く認められており、さまざまな機関で研究開発が精力的に進められている。
【０００３】
パケット通信では、送信元端末がパケットの送信速度を変化させることによりネットワーク内の回線の使用率を変更することができる。そのため一つの回線の帯域資源を複数の端末が有効に共用することができるという利点がある。つまり、回線を他のものが使用していない場合には、その回線速度を１つの端末が独占でき、多数の端末が同時に使用する場合には、その回線速度を多数の端末で分割して共用することができる。
【０００４】
このような利点を積極的に利用するためには、回線の混雑度に応じてパケットの送信元端末がパケットの送信速度を適応的に変化させることが重要である。これを実現するプロトコルの１つに例えばＴＣＰと呼ばれるものがある。ＴＣＰはＩＰパケットを送受信する端末で動作し、回線の混雑度をＩＰパケットの廃棄によって間接的に知り、ＩＰパケットの送信速度を変化させる。
【０００５】
回線の混雑あるいは輻輳は主にパケット網内のパケットバッファ装置において発生する。パケットバッファ装置とは、具体的にはインターネットのルータ装置やＡＴＭ通信網のＡＴＭスイッチ装置などが代表的である。パケットバッファ装置における輻輳は、複数の入力ポートから入力したパケットが同時に１つの出力ポートへ向かう場合や、出力ポートの出力速度が入力ポートの合計速度よりも小さな場合に発生する。また例えば出力ポートがイーサネットに接続され、そのイーサネットに大きな負荷がかかっている場合などにも輻輳が発生する。さらにまたルータにおいて各パケットの経路を決定する処理に比べてパケットの到着速度が速くなった場合などにも輻輳が発生する。これらの混雑あるいは輻輳によって出力ポートに出力ができなかったパケットはパケットバッファ装置内のバッファに一時的に蓄積されるが、蓄積しているパケットの量が多くなるとパケットを廃棄しなければならなくなる。
【０００６】
端末にＴＣＰなどのプロトコルが実装されている場合には、パケットが廃棄されたことを検出すると送信側の端末はパケットの送信速度を下げる。これによって輻輳が解消され、パケットバッファ装置のバッファに再び余裕ができる。端末は、パケットが廃棄されずに転送されるとわかると再び転送速度を上げ、回線を有効に利用しようとする。このように一般的には端末は転送速度を上げたり下げたりすることを繰り返す。
【０００７】
端末がパケットを送出する速度が速くなるほど、または送信端末と受信端末の距離が遠くなるほど、パケットバッファ装置においてパケットが廃棄されてからそのパケットバッファ装置のパケット入力速度が低下するまでの期間に到着するパケットの量が多くなる。
【０００８】
従来のパケットバッファ装置は、蓄積しているパケットの量をしきい値と比較し、到着したパケットを廃棄するかどうかを決定していた。この場合、最初のパケットが廃棄されてからパケット入力速度が低下するまでの間、ずっとパケットバッファ装置の蓄積パケット量はしきい値付近に留まることになる。
【０００９】
この従来のパケットバッファ装置は、蓄積パケット量がしきい値付近に滞在している期間に到着するパケット量が多いため、この期間に到着するフローの全てがほぼ同時にパケット廃棄を経験することになり、結果的に全ての送信端末が同時に送信速度を下げる結果になってしまう。この現象はｇｌｏｂａｌ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎ現象として知られており、出力ポートの利用率を低下させる原因となっていた。
【００１０】
この問題点を解消する手法として、Ｓａｌｌｙ  ＦｌｏｙｄとＶａｎ  Ｊａｃｏｂｓｏｎが“Ｒａｎｄｏｍ  Ｅａｒｌｙ  Ｄｅｔｅｃｔｉｏｎ  Ｇａｔｅｗａｙｓ  ｆｏｒ  Ｃｏｎｇｅｓｔｉｏｎ  Ａｖｏｉｄａｎｃｅ”，ＩＥＥＥ／ＡＣＭ  Ｔｒａｎｓａｃｔｉｏｎｓ  ｏｎ  Ｎｅｔｗｏｒｋｉｎｇ，ｖｏｌ．１，ｎｏ．４，Ａｕｇｕｓｔ  １９９３．で提案しているＲＥＤがある。ＲＥＤは平均蓄積パケット量に応じた確率でランダムに到着パケットを廃棄する手法である。ランダムにパケットを廃棄するためｇｌｏｂａｌ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎを防止する効果がある。
【００１１】
しかしながら、ＲＥＤでは廃棄を検出しても送信速度を下げない端末が存在する場合にはその端末の影響で他の端末のスループットが不公平に低下してしまう欠点がある。ＲＥＤには一部の端末の影響を受けずにその他の端末に適正なサービスを提供し続けるという耐故障性がなかった。
【００１２】
また、Ｊｕｈａ  ＨｅｉｎａｎｅｎとＫａｌｅｖｉ  ＫｉｌｋｋｉがＦａｉｒＢｕｆｆｅｒ  Ａｌｌｏｃａｔｉｏｎ（ＦＢＡ）と呼ばれる手法を提案している。ＦＢＡは、バッファ領域をフロー毎に公平に割り当てる手法である。他のフローよりも多くのバッファを占有しているフローのパケットから廃棄していくアルゴリズムであるため、ＦＢＡもやはりｇｌｏｂａｌ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎの発生を抑止する効果がある。さらに耐故障性もある。
【００１３】
しかしながら、ＦＢＡではコネクション毎に割り当てる最大使用可能バッファ量を計算するために全バッファ容量をコネクション数で割るなどの複雑な演算を行う必要があり、実装が複雑になるという問題点があった。特に高速動作が要求されるパケットバッファ装置では実現が難しかった。
【００１４】
以上のように、従来のパケットバッファ装置では、輻輳状態と輻輳でない状態が周期的に繰り返され、結果として回線のスループットが低下してしまうという問題点があり、これまでに提案された改善方法では一部の端末の影響で他の端末のスループットが不公平に低下してしまう欠点や、実装が複雑になるという問題点があった。
【００１５】
【発明が解決しようとする課題】
以上述べたように従来のパケットバッファ装置は、輻輳状態と輻輳でない状態が周期的に繰り返され、結果として回線のスループットが低下してしまうという問題点があり、これまでに提案された改善方法では一部の端末の影響で他の端末のスループットが不公平に低下してしまう欠点や、実装が複雑になるという問題点があった。
【００１６】
本発明は、上記事情を考慮してなされたもので、出力ポートの平均的利用率を低下させるｇｌｏｂａｌ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎを抑止することができ、なおかつ単純な実装で耐故障性を実現できるパケットバッファ装置及びパケット廃棄制御方法を提供することを目的とする。
【００１７】
【課題を解決するための手段】
本発明は、グループ別に分類されるパケットを一時的に蓄積し、処理するパケットバッファ装置であって、到着したパケットを一時的に蓄積するためのパケット蓄積手段と、パケットが到着した際に、前記パケット蓄積手段内の複数のグループのそれぞれのパケット蓄積量を合計した合計パケット蓄積量が、第１のしきい値を超えている場合には、当該到着したパケットの属するグループを、パケット廃棄すべきグループとして登録する登録手段と、前記登録がなされているグループそれぞれについての前記パケット蓄積手段内のパケット蓄積量が、前記第１のしきい値とは異なる第２のしきい値を下回った場合に、当該グループに対して行なった前記登録を削除する削除手段と、前記登録がなされているグループに属するパケットを廃棄する廃棄手段とを備えたことを特徴とする。
好ましくは、前記廃棄手段は、前記登録がなされているグループに属するパケットについて到着したものを廃棄するようにしてもよい。
好ましくは、前記グループは、前記パケットのヘッダ情報に基づいて分類されるものであるようにしてもよい。
好ましくは、ようにしてもよい。
また、本発明は、グループ別に分類されるパケットを一時的にパケット蓄積手段に蓄積し、処理するパケットバッファ装置におけるパケット廃棄制御方法であって、パケットが到着した際に、前記パケット蓄積手段内の複数のグループのそれぞれのパケット蓄積量を合計した合計パケット蓄積量が、第１のしきい値を超えている場合には、当該到着したパケットの属するグループを、パケット廃棄すべきグループとして登録するステップと、前記登録がなされているグループそれぞれについての前記パケット蓄積手段内のパケット蓄積量が、前記第１のしきい値とは異なる第２のしきい値を下回った場合に、当該グループに対して行なった前記登録を削除するステップと、前記登録がなされているグループに属するパケットを廃棄するステップとを有することを特徴とする。
【００２４】
本発明によれば、「パケットを廃棄すべきグループ」として選ばれた（登録された）グループのパケットを選択的に廃棄するため、他のグループの送信端末は送信速度を下げずにすみ、ｇｌｏｂａｌ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎが発生しにくい。なおかつ、送信端末等が輻輳状態に適切に応じないフロー等のグループでも公平に選ばれ（登録され）パケット廃棄されることにより、耐故障性を実現できる。さらに、この制御は単純なしきい値比較等の処理により可能であるので実現も容易である。
【００２５】
なお、上記の装置に係る発明は方法に係る発明としても成立し、方法に係る発明は装置に係る発明としても成立する。
また、上記の発明は、相当する手順あるいは手段をコンピュータに実行させるためのプログラムを記録した機械読取り可能な媒体としても成立する。
【００２６】
【発明の実施の形態】
以下、図面を参照しながら発明の形態を説明する。
最初に、本実施形態に係るパケットバッファ装置に設ける基本的な機能について説明する。
【００２７】
本実施形態では、到着したパケットを一旦蓄積した後に送出するパケットバッファに対するパケット廃棄に関する制御を行う。本実施形態では、そのために、以下のような機能を設ける。
【００２８】
（１）第１に、本実施形態では、パケットバッファ装置に、所定の基準に従って選択した１つあるいは複数のグループを、「パケットを廃棄すべきグループ」として登録管理する機能を設ける。
【００２９】
ここでの「グループ」とは、ＡＴＭ通信の場合、例えば仮想コネクションであり、ヘッダのＶＰＩ、ＶＣＩと呼ばれる領域を参照することによって知ることができる。ＩＰ通信の場合、例えばフローであり、例えば宛先のアドレス、プロトコル識別子、ポート番号、および送信元のアドレス、プロトコル識別子、ポート番号の組で識別される。グループと仮想コネクションもしくはフローとは１対１に対応している必要はなく、例えばデスティネーションアドレスをｈａｓｈと呼ばれる手法で６ビットに圧縮し６４個のグループに分類するようにしてもよい。
【００３０】
「パケットを廃棄すべきグループ」の登録管理は、グループ毎に「パケットを廃棄すべきグループ」であるか否かを示すフラグを設けたテーブルとして管理してもよいし、「パケットを廃棄すべきグループ」とするグループの識別情報を登録したリストを作成して管理しても良い。
【００３１】
（２）第２に、本実施形態では、パケットバッファ装置に、複数のグループ全体として輻輳（基準以上の混雑）が生じたか否かを監視し、輻輳が生じたと判断された場合には、到着したパケットのグループおよびパケットバッファ内に蓄積されているパケットの属するグループの中から選択した１つのグループを、「パケットを廃棄すべきグループ」に追加登録する機能を設ける。
【００３２】
輻輳が生じたかどうかの判断は、簡単な方法としては、複数のグループ全体の蓄積パケット量が「しきい値」を越えているかどうかを調べることで可能である。蓄積パケット量として、パケットの数を管理するか、パケットの長さの合計を管理するかは、網のリソース管理ポリシーに依存して適宜選択すればよく、いずれによっても同等の効果を得ることができる。
【００３３】
蓄積パケット量としては、各時点における蓄積パケット量を用いてもよいが、いわゆる移動指数平均（ＴＣＰのＲｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅを計算するときなどに使用される平均の計算方法）などを用いて、時間的に平均をとった量を用いても良い。平均をとることでバースト性を持つパケットの到着による誤動作を抑制することができる。
【００３４】
また、輻輳が生じたかどうかの判断には、上記の蓄積パケット量による方法の他にも、入力パケットレートを測定する方法など、種々の方法を用いることができる。
【００３５】
次に、輻輳が生じた際に、どのグループを「パケットを廃棄すべきグループ」として選択するかについても種々の方法を用いることができる。原理的にはグループ間で不公平が発生しないように選択する方法を採用するものとする。
【００３６】
簡単な方法として、そのとき到着したパケットのグループを「パケットを廃棄すべきグループ」として選択するようにしてもよい。この方法によれば、各グループの選択される確率は到着レートに依存するので、大きな到着レートのグループほど選択されやすくなり、通信レート割り当ての公平化が期待できる。
【００３７】
別の方法としては、例えば、パケットバッファ内のグループ毎の蓄積パケット量の多いものを選択する方法、グループ毎の到着レートの多いものを選択する方法、ランダムに選択する方法、ラウンドロビンで選択する方法などを用いてもよい。
【００３８】
なお、「パケットを廃棄すべきグループ」に加えるグループを選択する際に、パケットバッファ内のグループ毎の蓄積パケット量が少ないものや、グループ毎の到着レートの小さいものを選択しないようにすれば、特定のフローにかたよって輻輳通知を行ってしまうことを避けることができる。
【００３９】
（３）第３に、本実施形態では、パケットバッファ装置に、「パケットを廃棄すべきグループ」のパケットを、予め定められた廃棄アルゴリズムに基づいて廃棄し、その後、そのグループを「パケットを廃棄すべきグループ」から削除する機能を設ける。
【００４０】
廃棄アルゴリズムの簡単な方法として、到着したパケットの属するグループを調べ、それが「パケットを廃棄すべきグループ」として登録されているものである場合には、該パケットをパケットバッファへは入れずに廃棄するようにしてもよい。
【００４１】
他の方法としては、到着したパケットの属するグループを調べ、それが「パケットを廃棄すべきグループ」として登録されているものである場合には、到着した該パケット自体はパケットバッファへ格納するが、その代わりにパケットバッファ内に蓄積されている同一グループに属するパケットの１つをランダムにまたは最も古いものから廃棄する方法を用いてもよい。また、この場合において、１つのパケットを廃棄するのではなく、パケットバッファ内に蓄積されている同一グループに属するすべてのパケットを廃棄するようにしてもよい。
【００４２】
さらには、一旦輻輳が生じたら、パケットバッファ内に蓄積されている「パケットを廃棄すべきグループ」に属するすべてのパケットを廃棄するようにしてもよい。
【００４３】
次に、グループを「パケットを廃棄すべきグループ」から削除する条件としては、例えば、そのグループのパケットバッファ内のパケット量が「しきい値」よりも小さくなったことや、そのグループの観測された到着レ−トが「しきい値」よりも小さくなったことを判定すればよい。また、グループが「パケットを廃棄すべきグループ」に登録されてから、ある一定量のパケット（例えば登録時の蓄積パケット量分のパケット）がパケットバッファから出力されたならばそのグループを「パケットを廃棄すべきグループ」から削除するような方法でもよい。
【００４４】
以下では、上記のような基本機能を持ったより詳しいパケットバッファ装置の実施形態について説明する。
図１に、本実施形態に係るパケットバッファ装置の構成例を示す。
【００４５】
本パケットバッファ装置は、パケットバッファ２、グループ識別部４、廃棄判定部６、管理テーブル８を備えている。
パケットバッファ２は、到着したパケットを一旦蓄積した後に送出する。
【００４６】
グループ識別部４は、本パケットバッファ装置にパケットが到着すると、該パケットのヘッダを参照することによって、該パケットの属するグループを求める。グループについては、前述したとおりである。
【００４７】
管理テーブル８には、グループ毎に、そのグループｉが「パケットを廃棄すべきグループ」であるか否かを示すフラグＦｌａｇｉと、そのグループに属するパケットについての蓄積パケット量（パケット数またはデータ量）を示すカウンタ値Ｃｎｔｉを記憶する。なお、ＦｌｇｉとＣｎｔｉにおけるｉはグループを示す変数とする。
【００４８】
ここでは、管理テーブルを用いたが、前述したようにリストを作成して管理しても良い。
廃棄判定部６は、概略的には、パケットバッファ２に対するパケットの入出力を監視して「パケットを廃棄すべきグループ」の設定／解除を行うとともに、パケットバッファ２に対して「パケットを廃棄すべきグループ」の指示を与える。
【００４９】
廃棄判定部６内には、全グループの蓄積パケット量の総和を示すカウンタ値ＣｎｔＡ（図中の６１）、このカウンタ値ＣｎｔＡの比較対象となる第１のしきい値ＴｈｒＡ（図中の６２）と、グループ毎の蓄積パケット量（カウンタ値Ｃｎｔｉ）の比較対象となる第２のしきい値Ｔｈｒ（図中の６３）が記憶される。
【００５０】
第１のしきい値ＴｈｒＡはグループ毎フラグＦｌｇｉをマークするために用いられ、第２のしきい値Ｔｈｒはグループ毎フラグＦｌｇｉのマークを解除するために用いられる。なお、第２のしきい値Ｔｈｒは、０に近い値に設定すると好ましい。
【００５１】
グループｉの蓄積パケット量Ｃｎｔｉは、パケットバッファ２へグループｉに属するパケットが入力する際に、パケット数“１”またはそのパケットのデータ長（例えばビット長）をインクリメントし、パケットバッファ２からグループｉに属するパケットが出力する際に、パケット数“１”またはそのパケットのデータ量をデクリメントすることにより、求めることができる。
【００５２】
全グループの蓄積パケット量の総和ＣｎｔＡは、パケットバッファ２へパケットが入力する際に、パケット数“１”またはそのパケットのデータ長をインクリメントし、パケットバッファ２からパケットが出力する際に、パケット数“１”またはそのパケットのデータ量をデクリメントすることにより、求めることができる。ＣｎｔＡは、グループｉの蓄積パケット量Ｃｎｔｉの総和をとることによっても求めることができる。
【００５３】
なお、パケットバッファ２は、ＷＦＱ（Ｗｅｉｇｈｔｅｄ  Ｆａｉｒ  Ｑｕｅｕｅｉｎｇ）のようにパケットをグループ毎に蓄積するものである場合でも、ＦＩＦＯ（Ｆｉｒｓｔ  Ｉｎｐｕｔ  Ｆｉｒｓｔ  Ｏｕｔｐｕｔ）のようにグループ毎に蓄積しないものである場合でも本発明は適用可能である。
【００５４】
次に、本実施形態に係るパケットバッファ装置の動作について説明する。
ここでは、パケット量をパケット個数でカウント場合について示す。
図２に、本パケットバッファ装置のパケット入力時の動作の一例を示す。
【００５５】
グループｉのパケットが到着したとき、まず現在のグループｉの蓄積パケット量を示すカウンタ値Ｃｎｔｉを一時的にｏｌｄＣｎｔに保存するとともに、全グループの蓄積パケット量の総和を示すカウンタＣｎｔＡを一時的にｏｌｄＣｎｔＡに保存する（ステップＳ１）。続いてカウンタ値Ｃｎｔｉとカウンタ値ＣｎｔＡをそれぞれ１づつインクリメントする（ステップＳ２）。
【００５６】
次に、カウンタ値ＣｎｔＡと第１のしきい値ＴｈｒＡとを比較し、ＣｎｔＡ＞ＴｈｒＡであった場合には（ステップＳ３）、グループｉのフラグＦｌｇｉをマークする（ステップＳ４）。なお、フラグＦｌｇｉをマークするとは、フラグＦｌｇｉを「パケットを廃棄すべきグループ」であることを示す状態にすることであり、ここではフラグＦｌｇｉの内容を１にするものとする。
【００５７】
一方、ステップＳ３にてＣｎｔＡ＞ＴｈｒＡでなければ、ステップＳ４は実行せずに、ステップＳ５に移る。
続いて、もしフラグＦｌｇｉがマークされていた場合には（ステップＳ５）、到着したそのグループのパケットを廃棄し（ステップＳ７）、ステップＳ２にてインクリメントしたカウンタ値Ｃｎｔｉとカウンタ値ＣｎｔＡをそれぞれ元のｏｌｄＣｎｔとｏｌｄＣｎｔＡに戻す（ステップＳ８）。
【００５８】
一方、ステップＳ６にて、フラグＦｌｇｉがマークされていなければ、その到着パケットをパケットバッファ２へ蓄積する（ステップＳ６）。
次に、インクリメント前のグループｉの蓄積パケット量ｏｌｄＣｎｔと第２のしきい値Ｔｈｒとを比較し、ｏｌｄＣｎｔ＜ＴｈｒまたはｏｌｄＣｎｔ＝Ｔｈｒであった場合には（ステップＳ９）、グループｉのフラグＦｌｇｉのマークを解除する（ステップＳ１０）。なお、フラグＦｌｇｉのマークを解除するとは、フラグＦｌｇｉを「パケットを廃棄すべきグループ」ではないことを示す状態にすることであり、ここではフラグＦｌｇｉの内容を０にするものとする。
【００５９】
次に、図３に、本パケットバッファ装置のパケット出力時の動作の一例を示す。
グループｉのパケットを出力するとき、まず蓄積パケット量カウンタＣｎｔｉとＣｎｔＡの値を１づつデクリメントする（ステップＳ１１）。
【００６０】
次に、デクリメント後のグループｉの蓄積パケット量Ｃｎｔｉと第２のしきい値Ｔｈｒとを比較し、Ｃｎｔｉ＜ＴｈｒまたはＣｎｔｉ＝Ｔｈｒであった場合には（ステップＳ１２）、グループｉのフラグＦｌｇｉのマークを解除する（ステップＳ１３）。
【００６１】
なお、上記手順は種々に変更して実施することが可能である。
例えば、上記では、パケット量をパケット個数でカウントしたが、パケット量をデータ量でカウントする場合には、図２のステップＳ２では到着したパケットの長さ（データ長）の分だけインクリメントし、図３のステップＳ１１では到着したパケットの長さ（データ長）の分だけデクリメントすればよい。
【００６２】
また、前述したように、蓄積パケット量としては、移動指数平均を用いてもよい。この場合、管理テーブル８にグループ毎の移動指数平均の項目を付加し、図２の手順ではステップＳ２の次に移動指数平均の保存と更新を行う処理が挿入され、ステップＳ８の次に移動指数平均を元に戻す処理が挿入され、ステップＳ３とステップＳ９の判断では移動指数平均が比較対象となり、図３の手順では、ステップＳ１１の次に移動指数平均の更新を行う処理が挿入され、ステップＳ１２の判断では移動指数平均が比較対象となる。
【００６３】
また、上記手順では、そのとき到着したパケットのグループを「パケットを廃棄すべきグループ」として選択したが、前述したような他の方法をとることも可能である。
【００６４】
また、輻輳が生じたかどうかの判断方法、パケットの廃棄方法、グループを「パケットを廃棄すべきグループ」から削除する方法なども、それぞれ、前述したような他の方法をとることも可能である。
【００６５】
以上のように、本実施形態に係るパケットバッファ装置では、「パケットを廃棄すべきグループ」としてマークされたグループの到着パケットを廃棄してパケットバッファに空きを作るため、マークされていないグループのパケットが廃棄されにくくなる。どのグループがマークされるかは公平に選ばれるため、結果的にどのグループも公平にマークされてスループットを下げ、その間は他のグループが高いスループットを保つことができる。全てのグループが同時にマークされにくいことからｇｌｏｂａｌ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎの問題が発生しにくく、全体のスループットは従来のパケットバッファ装置よりも高くなるという利点がある。
【００６６】
また、本実施形態によれば、輻輳時にもかかわらずレートを下げないグループが存在しても、マークされれば強制的に廃棄され続けパケットバッファに空きを作るため、他のグループは高いスループットを保つことができ、耐故障性があるということができる。
【００６７】
本実施形態では、複雑な数値演算は不要で、単純にしきい値との比較のみで実現することができるため、実装が容易であるという利点がある。
なお、本実施形態によればパケットに廃棄優先度を持たせることが可能である。例えば、高優先パケットと低優先パケットの２種類のパケットが存在する場合、高優先パケットのみを対象とするアルゴリズム（例えば図２および図３）と、低優先パケットのみを対象とするアルゴリズム（例えば図２および図３）とを同時に並行して動作させ、低優先パケットのフラグをマークする条件を、高優先パケットのフラグをマークする条件よりも早めになるようにすればよい。例えば、高優先パケットのフラグをマークする条件として、高優先パケットの合計の蓄積パケット量がしきい値を越えたときに、高優先パケットのフラグをマークするようにするのに対して、低優先パケットのフラグをマークする条件として、高優先パケットと低優先パケットの合計の蓄積パケット量がしきい値を越えたときに、低優先パケットのフラグをマークするようにすれば、低優先パケット用アルゴリズムと高優先パケット用アルゴリズムが同じしきい値設定であっても、低優先パケットのフラグが先にマークされる。
【００６８】
なお、以上の各機能は、ソフトウェアとしても実現可能である。また、上記した各手順あるいは手段をコンピュータに実行させるためのプログラムを記録した機械読取り可能な媒体として実施することもできる。
本発明は、上述した実施の形態に限定されるものではなく、その技術的範囲において種々変形して実施することができる。
【００６９】
【発明の効果】
本発明によれば、パケットを廃棄すべきグループとして選ばれたグループのパケットを選択的に廃棄するため、他のグループの送信端末は送信速度を下げずにすみ、ｇｌｏｂａｌ  ｓｙｎｃｈｒｏｎｉｚａｔｉｏｎが発生しにくい。なおかつ、送信端末等が輻輳状態に適切に応じないグループでも公平に選ばれパケット廃棄されることにより、耐故障性を実現できる。さらに、この制御は単純なしきい値比較等の処理により可能であるので実現も容易である。
【図面の簡単な説明】
【図１】本発明の一実施形態に係るパケットバッファ装置の構成例を示す図
【図２】同実施形態に係るパケットバッファ装置のパケット入力時の動作の一例を示すフローチャート
【図３】同実施形態に係るパケットバッファ装置のパケット出力時の動作の一例を示すフローチャート
【符号の説明】
２…パケットバッファ
４…グループ識別部
６…廃棄判定部
８…管理テーブル
【図１】
0003595134.tif 000002
【図２】
0003595134.tif 000003
【図３】
0003595134.tif 000004