(57)【特許請求の範囲】
【請求項１】
到着するセルの属するコネクション１〜ｋを識別する手段と、当該セルの受付可否を判定する手段と、
この判定する手段の判定結果にしたがってセルを多重化する手段と
を備えた多重化装置において、
コネクションｉ（ｉは１〜ｋのいずれか）毎にセルの到着レートＲｉを検出する手段と、
コネクションｉ毎にあらかじめ定められた重みＷｉの値を保持する手段とを備え、
セルの到着レートＲｉにはあらかじめ閾値となる最大レートが設定され、当該最大レートを超えるとほぼゼロになる前記セルの到着レートＲｉの総和ΣＲｉの連続関数をβ（ΣＲｉ）とし、前記多重化する手段に１以上のセルが蓄積されているコネクションｉの前記重みの和をＷａｃｔとし、
前記判定する手段は、許可到着レートＡＣＲｉを
ＡＣＲｉ＝β（ΣＲｉ）・Ｗｉ／Ｗａｃｔ
として計算する手段と、
コネクションｉ毎のセルの到着レートＲｉが当該許可到着レートＡＣＲｉ以下のコネクションに属するセルについてはこれを受付許可と判定する手段と
を備え、
前記判定する手段が受付拒否したコネクションｊ（ｊは１〜ｋのいずれか）の到着レートＲｊが許可到着レートＡＣＲｊを超えている割合を算出する手段と、
この算出する手段により算出された割合に応じた確率で前記判定する手段が受付拒否と判定したコネクションｊのセルについてもその一部を受付許可と判定されたセルとみなして前記多重化する手段に蓄積する手段と
を備えたことを特徴とする多重化装置。
【請求項２】
到着するセルの属するコネクション１〜ｋを識別する手段と、当該セルの受付可否を判定する手段と、
この判定する手段の判定結果にしたがってセルを多重化する手段と
を備えた多重化装置において、
コネクションｉ（ｉは１〜ｋのいずれか）毎にセルの到着レートＲｉを検出する手段と、
コネクションｉ毎にあらかじめ定められた重みＷｉの値を保持する手段とを備え、
セルの到着レートＲｉにはあらかじめ閾値となる最大レートが設定され、当該最大レートを超えるとほぼゼロになる前記セルの到着レートＲｉの総和ΣＲｉの連続関数をβ（ΣＲｉ）とし、前記多重化する手段に１以上のセルが蓄積されているコネクションｉの前記重みの和をＷａｃｔとし、
前記判定する手段は、許可到着レートＡＣＲｉを
ＡＣＲｉ＝β（ΣＲｉ）・Ｗｉ／Ｗａｃｔ
として計算する手段と、
コネクションｉ毎のセルの到着レートＲｉが当該許可到着レートＡＣＲｉ以下のコネクションに属するセルについてはこれを受付許可と判定する手段と
を備え、
前記判定する手段が受付拒否したコネクションｊ（１〜ｋのいずれか）の到着レートＲｊが前記許可到着レートＡＣＲｊを超えている割合を算出する手段を備え、
前記判定する手段は、この算出する手段の算出結果にしたがって少なくとも２個連続して前記コネクションｊのセルを受付拒否する手段を備えた
ことを特徴とする多重化装置。
【請求項３】
前記算出する手段の算出結果にしたがって受付拒否したコネクションｊのセルについて連続した受付拒否を禁止する手段を備えた請求項２記載の多重化装置。
【請求項４】
前記連続して前記コネクションｊのセルを受付拒否する手段と前記連続した受付拒否を禁止する手段とを切替選択する手段を備えた請求項２または３記載の多重化装置。
【請求項５】
到着するセルの属するコネクション１〜ｋを識別する手段と、当該セルの受付可否を判定する手段と、
この判定する手段の判定結果にしたがってセルを多重化する手段と
を備えた多重化装置において、
コネクションｉ（ｉは１〜ｋのいずれか）毎にセルの到着レートＲｉを検出する手段と、
コネクションｉ毎にあらかじめ定められた重みＷｉの値を保持する手段とを備え、
セルの到着レートＲｉにはあらかじめ閾値となる最大レートが設定され、当該最大レートを超えるとほぼゼロになる前記セルの到着レートＲｉの総和ΣＲｉの連続関数をβ（ΣＲｉ）とし、前記多重化する手段に１以上のセルが蓄積されているコネクションｉの前記重みの和をＷａｃｔとし、
前記判定する手段は、許可到着レートＡＣＲｉを
ＡＣＲｉ＝β（ΣＲｉ）・Ｗｉ／Ｗａｃｔ
として計算する手段と、
コネクションｉ毎のセルの到着レートＲｉが当該許可到着レートＡＣＲｉ以下のコネクションに属するセルについてはこれを受付許可と判定する手段と
を備え、
前記判定する手段が受付拒否したコネクションｊの到着レートＲｊが許可到着レートＡＣＲｊを超えている割合を算出する手段を備え、
前記判定する手段が受付拒否と判定したコネクションｊのセルに前記算出する手段により算出された割合に応じて一定時間の遅延を与えた後に前記多重化する手段に蓄積する手段を備えた
ことを特徴とする多重化装置。
【請求項６】
到着するセルの属するコネクション１〜ｋを識別する手段と、当該セルの受付可否を判定する手段と、
この判定する手段の判定結果にしたがってセルを多重化する手段と
を備えた多重化装置において、
コネクションｉ（ｉは１〜ｋのいずれか）毎にセルの到着レートＲｉを検出する手段と、
コネクションｉ毎にあらかじめ定められた重みＷｉの値を保持する手段とを備え、
セルの到着レートＲｉにはあらかじめ閾値となる最大レートが設定され、当該最大レートを超えるとほぼゼロになる前記セルの到着レートＲｉの総和ΣＲｉの連続関数をβ（ΣＲｉ）とし、前記多重化する手段に１以上のセルが蓄積されているコネクションｉの前記重みの和をＷａｃｔとし、
前記判定する手段は、許可到着レートＡＣＲｉを
ＡＣＲｉ＝β（ΣＲｉ）・Ｗｉ／Ｗａｃｔ
として計算する手段と、
コネクションｉ毎のセルの到着レートＲｉが当該許可到着レートＡＣＲｉ以下のコネクションに属するセルについてはこれを受付許可と判定する手段と
を備え、
前記判定する手段は、受付拒否と判定すべきコネクションｊのセルが前記多重化する手段に存在しないときにはこの受付拒否と判定すべきセルを受付許可と判定する手段を含む
ことを特徴とする多重化装置。
【請求項７】
到着するセルの属するコネクション１〜ｋを識別する手段と、当該セルの受付可否を判定する手段と、
この判定する手段の判定結果にしたがってセルを多重化する手段と
を備えた多重化装置において、
コネクションｉ（ｉは１〜ｋのいずれか）毎にセルの到着レートＲｉを検出する手段と、
コネクションｉ毎にあらかじめ定められた重みＷｉの値を保持する手段とを備え、
セルの到着レートＲｉにはあらかじめ閾値となる最大レートが設定され、当該最大レートを超えるとほぼゼロになる前記セルの到着レートＲｉの総和ΣＲｉの連続関数をβ（ΣＲｉ）とし、前記多重化する手段に１以上のセルが蓄積されているコネクションｉの前記重みの和をＷａｃｔとし、
前記判定する手段は、許可到着レートＡＣＲｉを
ＡＣＲｉ＝β（ΣＲｉ）・Ｗｉ／Ｗａｃｔ
として計算する手段と、
コネクションｉ毎のセルの到着レートＲｉが当該許可到着レートＡＣＲｉ以下のコネクションに属するセルについてはこれを受付許可と判定する手段と
を備え、
最低保証帯域を超えてネットワークに到着するセルについてはこれにタグが付与され、
前記判定する手段は、受付拒否と判定すべきセルに前記タグが付与されているときにはこの受付拒否と判定すべきセルを受付許可と判定する手段を含む
ことを特徴とする多重化装置。
【請求項８】
到着するセルの属するコネクション１〜ｋを識別する手段と、当該セルの受付可否を判定する手段と、
この判定する手段の判定結果にしたがってセルを多重化する手段と
を備えた多重化装置において、
コネクションｉ（ｉは１〜ｋのいずれか）毎にセルの到着レートＲｉを検出する手段と、
コネクションｉ毎にあらかじめ定められた重みＷｉの値を保持する手段とを備え、
セルの到着レートＲｉにはあらかじめ閾値となる最大レートが設定され、当該最大レートを超えるとほぼゼロになる前記セルの到着レートＲｉの総和ΣＲｉの連続関数をβ（ΣＲｉ）とし、前記多重化する手段に１以上のセルが蓄積されているコネクションｉの前記重みの和をＷａｃｔとし、
前記判定する手段は、許可到着レートＡＣＲｉを
ＡＣＲｉ＝β（ΣＲｉ）・Ｗｉ／Ｗａｃｔ
として計算する手段と、
コネクションｉ毎のセルの到着レートＲｉが当該許可到着レートＡＣＲｉ以下のコネクションに属するセルについてはこれを受付許可と判定する手段と
を備え、
コネクション識別番号があらかじめ複数のグループに分類され、
前記判定する手段は、受付拒否と判定すべきセルのコネクション識別番号が所定の前記グループに属するセルについてはこの受付拒否と判定すべきセルを受付許可と判定する手段を含む
ことを特徴とする多重化装置。
【請求項９】
到着するセルの属するコネクション１〜ｋを識別する手段と、当該セルの受付可否を判定する手段と、
この判定する手段の判定結果にしたがってセルを多重化する手段と
を備えた多重化装置において、
コネクションｉ（ｉは１〜ｋのいずれか）毎にセルの到着レートＲｉを検出する手段と、
コネクションｉ毎にあらかじめ定められた重みＷｉの値を保持する手段とを備え、
セルの到着レートＲｉにはあらかじめ閾値となる最大レートが設定され、当該最大レートを超えるとほぼゼロになる前記セルの到着レートＲｉの総和ΣＲｉの連続関数をβ（ΣＲｉ）とし、前記多重化する手段に１以上のセルが蓄積されているコネクションｉの前記重みの和をＷａｃｔとし、
前記判定する手段は、許可到着レートＡＣＲｉを
ＡＣＲｉ＝β（ΣＲｉ）・Ｗｉ／Ｗａｃｔ
として計算する手段と、
コネクションｉ毎のセルの到着レートＲｉが当該許可到着レートＡＣＲｉ以下のコネクションに属するセルについてはこれを受付許可と判定する手段と
を備え、
前記到着レートＲｉを検出する手段は、最低帯域が保証されたＡＦ(Assured Forwarding)クラスのセルの到着レートから最大帯域から高速転送を行うＥＦ(Expedited Forwarding)クラスのセルの到着レートを減算した値を減算するカウンタを備えた
ことを特徴とする多重化装置。
【請求項１０】
請求項１ないし９のいずれかに記載の多重化装置を備えたことを特徴とする帯域制御装置。
【請求項１１】
情報処理装置にインストールすることにより、その情報処理装置に、請求項１ないし９のいずれかに記載の多重化装置の機能を実現させることを特徴とするプログラム。
【請求項１２】
情報処理装置にインストールすることにより、その情報処理装置に、請求項１０記載の帯域制御装置の機能を実現させることを特徴とするプログラム。
【請求項１３】
請求項１１または１２記載のプログラムが記録された前記情報処理装置読み取り可能な記録媒体。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は通信網に収容される各コネクションの最低帯域の保証を行う装置に関する。本発明は、固定長パケットであるセルを扱うＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）通信網に利用する。
【０００２】
【従来の技術】
近年、インターネットやＬＡＮの急速な普及から、ＩＰトラヒック等のデータ系トラヒックが指数関数的に増加している。これにともないネットワーク上で輻輳発生頻度が増加しており、ユーザに対するサービス品質の低下が問題となっている。例えば、従来のインターネットでは転送品質を保証しないベストエフォートサービスが主流であったが、ベストエフォートサービスのみでは十分なスループットが得られないケースが増えており、ＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅ  Ｐｒｏｖｉｄｅｒ）間や企業間を高速回線で接続する場合に回線毎に最低帯域や遅延品質を保証するようなサービスの要求が今後ますます増加すると考えられる。
【０００３】
ユーザ毎に契約している最低帯域を保証するサービスとしてはＧＦＲ（Ｇｕａｒａｎｔｅｅｄ  Ｆｒａｍｅ  Ｒａｔｅ）サービスがある。非輻輳時には各ユーザは互いに利用可能帯域（残余帯域）を共有して利用できる。
【０００４】
ＧＦＲサービスを実現する方式に関しては数多くの提案がなされているが、その一つにＷＲＲ（Ｗｅｉｇｈｔｅｄ  Ｒｏｕｎｄ  Ｒｏｂｉｎ）方式がある。図２３はＷＲＲ方式の概略を表す図である。ＷＲＲ方式はコネクション毎にキューを持ち、コネクション毎に重みが付けられており、重みに応じた読出制御を各キューに対して行うことでコネクション間に帯域を分配する。
【０００５】
ＷＲＲに、帯域を共有する全てのコネクションを収容することによって、収容コネクションの重みに応じて帯域を分配することができる。ＷＲＲ方式により、最低帯域を保証しつつ、余剰帯域をある規則にしたがってコネクション間に公平に分配することが可能である。
【０００６】
しかし、ＷＲＲ方式のハードウェアの複雑さは収容するコネクション数に比例し、高速化のボトルネックとなる。また、コネクション毎にキューを持つ必要があるため、バッファ部のハード量も問題となる。つまり、ＷＲＲ方式は高速になり、収容されるコネクション数が増加すると、経済的にＧＦＲサービスを実現することが困難である。したがって、簡易なハードウェア構成でＧＦＲサービスを実現する方式が求められている。
【０００７】
簡易なハードウェア構成でＧＦＲサービスを実現する方式として、ＦＩＦＯ−Ｔａｇｇｉｎｇ方式が知られている。この方式では、バッファはコネクション毎に持つ必要はなく、回線毎に一つあればよい。ＦＩＦＯ−Ｔａｇｇｉｎｇ方式ではコネクション毎に網の入り口で網への入力レートを観測し、計測されたレートがＭＣＲ（Ｍｉｎｉｍｕｍ  Ｃｅｌｌ  Ｒａｔｅ）以下であれば、そのコネクションのセルはそのまま通過し、ＭＣＲを超えていればセルのヘッダ部にタグ（以下、Ｔａｇ）が付けられる。ここで、ＭＣＲとは網がコネクションに対して転送を保証する帯域のことである。
【０００８】
ＦＩＦＯバッファには閾値が設けられており、キュー長が閾値を超えているか否か常に観測している。仮にキュー長が設定された閾値を超えている場合には、ヘッダ部にＴａｇが付けられているセルはＦＩＦＯバッファに入る前に廃棄され、ＦＩＦＯバッファにはＴａｇが付いていないセル、つまり網への入力レートがＭＣＲ以下のコネクションのセルのみ通過する。
【０００９】
ＦＩＦＯ−Ｔａｇｇｉｎｇ方式では、ＦＩＦＯバッファの出力速度を収容するコネクションのＭＣＲの合計以上にすることで、輻輳時におけるＭＣＲの保証が可能である。また、非輻輳時、各コネクションのＭＣＲの和を超えた部分の帯域、余剰帯域がある場合には、その帯域は複数コネクションでシェアされる。
【００１０】
【発明が解決しようとする課題】
しかし、この方式では複数コネクションでバッファを共用するので、各コネクションのＭＣＲの和を超えた部分の帯域、余剰帯域に関しては、ＦＩＦＯバッファへの入力レートに比例するかたちで各コネクション間に分配されるため、「公平性」という面で問題があった。ＦＩＦＯ−Ｔａｇｇｉｎｇ方式では余剰帯域が生じた場合にその帯域をどのようにコネクション間で分配するかという規定がないため、極端な場合では余剰帯域を一つのコネクションが占有してしまうという不公平な状況が生じるという問題があった。
【００１１】
本発明は、このような背景に行われたものであって、通信網に収容されている各コネクションに対し、輻輳時においても契約している最低帯域を保証しつつ、通常時（非輻輳時）には、余剰帯域をコネクション間で公平に分配し、より効率的な網資源の利用を可能にすることができ、また、高速回線においても経済的に実現可能な多重化装置および帯域制御装置およびプログラムおよび記録媒体を提供することを目的とする。
【００１２】
【課題を解決するための手段】
本発明の第一の観点は、到着する固定長パケットであるセルの属するコネクション１〜ｋを識別する手段と、当該セルの受付可否を判定する手段と、この判定する手段の判定結果にしたがってセルを多重化する手段とを備えた多重化装置である。
【００１３】
ここで、本発明の特徴とするところは、コネクションｉ（ｉは１〜ｋのいずれか）毎にセルの到着レートＲｉを検出する手段と、コネクションｉ毎にあらかじめ定められた重みＷｉの値を保持する手段とを備え、セルの到着レートＲｉにはあらかじめ閾値となる最大レートが設定され、当該最大レートを超えるとほぼゼロになる前記セルの到着レートＲｉの総和ΣＲｉの連続関数をβ（ΣＲｉ）とし、前記多重化する手段に１以上のセルが蓄積されているコネクションｉの前記重みの和をＷａｃｔとし、前記判定する手段は、許可到着レートＡＣＲｉを
ＡＣＲｉ＝β（ΣＲｉ）・Ｗｉ／Ｗａｃｔ
として計算する手段と、コネクションｉ毎のセルの到着レートＲｉが当該許可到着レートＡＣＲｉ以下のコネクションに属するセルについてはこれを受付許可と判定する手段とを備えたところにある。
【００１４】
これにより、本発明の多重化装置は、各コネクションの最低帯域を保証しつつ、余剰帯域を契約しているＭＣＲと網資源の使用状況とを考慮して、コネクション間で分配するため、通信網を有効に使用することができる。また、本発明ではハードウェア構成が簡易なＦＩＦＯを採用しているため、高速回線においても経済的に実現可能である。
【００１５】
前記判定する手段が受付拒否したコネクションｊ（ｊは１〜ｋのいずれか）の到着レートＲｊが前記許可到着レートＡＣＲｊを超えている割合を算出する手段と、この算出する手段により算出された割合に応じた確率で前記判定する手段が受付拒否と判定したコネクションｊのセルについてもその一部を受付許可と判定されたセルとみなして前記多重化する手段に蓄積する手段とを備えることができる。
【００１６】
これにより、前記許可キュー長を超えたコネクションのセルを急峻に受付拒否する場合と比較すると、ゆるやかなトラヒック制御を行うことができるため、安定したトラヒック制御を実現することができる。
【００１７】
前記判定する手段が受付拒否したコネクションｊ（１〜ｋのいずれか）の到着レートＲｊが前記許可到着レートＡＣＲｊを超えている割合を算出する手段を備え、前記判定する手段は、この算出する手段の算出結果にしたがって少なくとも２個連続して前記コネクションｊのセルを受付拒否する手段を備えることができる。
【００１８】
また、前記算出する手段の算出結果にしたがって受付拒否したコネクションｊのセルについて連続した受付拒否を禁止する手段を備えることもできる。
【００１９】
この場合には、前記連続して前記コネクションｊのセルを受付拒否する手段と前記連続した受付拒否を禁止する手段とを切替選択する手段を備えることが望ましい。
【００２０】
例えば、急激に到着レートＲｊが許可到着レートＡＣＲｊを超えたときには、輻輳発生を回避するために急激なトラヒック制御を行う必要がある。そのような事態が発生したときには、セルを連続して廃棄することにより対処することができる。反対に、緩やかに到着レートＲｊが許可到着レートＡＣＲｊを超えたときには、緩やかなトラヒック制御を行って安定したトラヒック制御を実現することができる。このような相反する制御形態は、状況に応じて切替えて用いることが望ましい。このような切替制御は、前記判定する手段の付加機能として備えることが望ましい。
【００２１】
前記判定する手段が受付拒否したコネクションｊの到着レートＲｊが前記許可到着レートＡＣＲｊを超えている割合を算出する手段を備え、前記判定する手段が受付拒否と判定したコネクションｊのセルに前記算出する手段により算出された割合に応じて一定時間の遅延を与えた後に前記多重化する手段に蓄積する手段を備えることができる。
【００２２】
これにより、セルの廃棄を行わなくともＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）が大きくなり、セル送出元に対して送出レートを下げさせる効果が期待できるため、セルを廃棄してしまう場合と比較してトラヒックを有効に利用することができる。
【００２３】
前記判定する手段は、受付拒否と判定すべきコネクションｊのセルが前記多重化する手段に存在しないときにはこの受付拒否と判定すべきセルを受付許可と判定する手段を含むことができる。
【００２４】
すなわち、前記多重化する手段にコネクションｊのセルが存在しないということは、コネクションｊのセルは散発的であることを示している。このような散発的なセルを受付拒否して廃棄しても連続的なセルを廃棄する場合と比較して輻輳回避の効果はきわめて低い。したがって、このような散発的なセルを無意味に廃棄しないようにすることが望ましい。
【００２５】
最低保証帯域を超えてネットワークに到着するセルについてはこれにタグが付与され、前記判定する手段は、受付拒否と判定すべきセルに前記タグが付与されているときにはこの受付拒否と判定すべきセルを受付許可と判定する手段を含むことができる。これにより、最低帯域を保証したセル転送サービスを実現することができる。
【００２６】
コネクション識別番号があらかじめ複数のグループに分類され、前記判定する手段は、受付拒否と判定すべきセルのコネクション識別番号が所定の前記グループに属するセルについてはこの受付拒否と判定すべきセルを受付許可と判定する手段を含むことができる。これにより、緩やかなトラヒック制御を行い安定したトラヒック制御を実現することができる。
【００２７】
前記判定する手段は、所定周期毎に各周期毎に計算された許可到着レートＡＣＲｉに基づき受付可否判定を行う手段と、受付許可したコネクションｉの到着レートＲｉが許可到着レートＡＣＲｉよりも小さいときにはその差分を次周期の許可到着レートに加算した値を次周期の許可到着レートとする手段とを備えることができる。
【００２８】
これにより、トラヒックが時間的に偏っている場合に、トラヒックが小さい時間帯の余剰分をトラヒックが大きい時間帯に振り分けることができ、コネクションのスループットを向上させることができる。
【００２９】
前記判定する手段は、受付許可したコネクションｉの到着レートＲｉが許可到着レートＡＣＲｉよりも小さいときにその差分を他の受付拒否したコネクションｊの許可到着レートＡＣＲｊに加算することによりそのコネクションｊが受付許可となるときにはその差分をコネクションｊの許可到着レートＡＣＲｊに加算してコネクションｊのセルを受付許可と判定する手段を備えることができる。
【００３０】
これにより、特定のコネクションにトラヒックが偏った場合に、トラヒックが小さいコネクションから許可到着レートを譲り受けることができ、ネットワーク全体としてスループットを向上させることができる。
【００３１】
前記判定する手段は、所定周期毎に各周期毎に計算された許可到着レートＡＣＲｉに基づき受付可否判定を行う手段を備え、この所定周期は、許可到着レートＡＣＲｉの大きさに反比例した長さに設定されることができる。
【００３２】
すなわち、許可到着レートＡＣＲｉが小さい場合には、輻輳発生等の悪影響を及ぼす事態が発生する確率が低いため、きめ細かな制御をしなくともよいので、比較的長い許可到着レートＡＣＲｉの変更を行い、反対に、許可到着レートＡＣＲｉが大きい場合には、輻輳発生等の悪影響を及ぼす事態が発生する確率が高いため、きめ細かな制御を必要とするため、比較的短い周期で許可到着レートＡＣＲｉの変更を行う。これにより、常時、きめ細かな制御を実施する場合と比較して制御を簡素化することができる。
【００３３】
前記判定する手段は、所定周期毎に各周期毎に計算された許可到着レートＡＣＲｉに基づき受付可否判定を行う手段を備え、この所定周期は、異なるコネクション毎に位相が異なるように設定されることができる。
【００３４】
これにより、全てのコネクションが同時に輻輳制御されたり、解除されたりせず、安定化した制御を行うことができる。
【００３５】
同様の効果を期待できる構成としては、前記判定する手段は、乱数を発生させる手段と、この乱数に対応して複数のコネクションのうちのいずれかを選択する手段と、この選択する手段により選択されたコネクションについて所定周期毎に各周期毎に計算された許可到着レートＡＣＲｉに基づき受付可否判定を行う手段とを備えることができる。
【００３６】
さらに、同様の効果を期待できる構成としては、コネクション識別番号があらかじめ複数のグループに分類され、前記判定する手段は、複数の前記グループのいずれかを順次選択する手段と、この選択する手段により選択されたグループのコネクション識別番号に相当するコネクションについて所定周期毎に各周期毎に計算された許可到着レートＡＣＲｉに基づき受付可否判定を行う手段とを備えることもできる。
【００３７】
前記到着レートＲｉを検出する手段は、到着レートＲｉの所定の変化周期以下の変化周期について到着レートＲｉを検出する手段を含むことができる。これにより、瞬間的な到着レートＲｉの変化を吸収し、外乱によるトラヒック制御の誤動作を回避することができる。
【００３８】
このときに、前記到着レートＲｉを検出する手段は、所定の時間間隔をおいて到着レートＲｉを検出する手段を備えてもよい。これにより、さらに到着レートＲｉの変化を緩やかに検出することができるため、外乱によるトラヒック制御の誤動作を回避することができる。
【００３９】
同様の効果を期待できる構成としては、前記到着レートＲｉを検出する手段は、単位時間内の到着レートＲｉの最大値を到着レートＲｉの検出結果として当該単位時間毎に出力する手段を含むことができる。
【００４０】
前記到着レートＲｉを検出する手段は、最低帯域が保証されたＡＦ（Ａｓｓｕｒｅｄ  Ｆｏｒｗａｒｄｉｎｇ）クラスのセルの到着レートから最大帯域から高速転送を行うＥＦ（Ｅｘｐｅｄｉｔｅｄ  Ｆｏｒｗａｒｄｉｎｇ）クラスのセルの到着レートを減算した値を減算するカウンタを備えることができる。
【００４１】
すなわち、最大帯域からＥＦクラスのセルの到着レートを減算することにより、ＡＦクラスのセルに許容される帯域が残る。この帯域に応じた読出レートでＡＦクラスのセルの到着レートを減算したときに、カウンタ値が増加する傾向にあれば、到着レートが読出レートよりも大きいことを示す。また、カウンタ値が変化しないか減少する傾向にあれば、到着レートが読出レートと等しいか小さいことを示す。このようにしてカウンタ値の増減を観測することにより、到着レートＲｉを検出することができる。
【００４２】
前記到着レートＲｉを検出する手段は、到着セルを多重化する手段と、この到着セルを多重化する手段から前記許可到着レートＡＣＲｉに基づき仮想的にセルを読出す手段と、前記到着セルを多重化する手段のセル蓄積数にしたがって到着レートＲを検出する手段とを備えることができる。
【００４３】
すなわち、仮想的に許可到着レートＡＣＲｉでセルを読出し続けているところへ、到着セルを入れると、許可到着レートＡＣＲｉよりも到着レートが大きい場合には、セル蓄積数が増加する。反対に、許可到着レートＡＣＲｉよりも到着レートが小さい場合には、セル蓄積数が減少する。このセル蓄積数の増減を検出することにより到着レートＲｉの大小を推定することができる。
【００４４】
前記到着レートＲｉを検出する手段は、前記多重化する手段に蓄積されたコネクション毎のセル数を計数する手段と、このセル数に基づいて到着レートＲｉを検出する手段とを備えることができる。
【００４５】
すなわち、多重化する手段に蓄積された読出しを待つコネクション毎のセル数を検出することにより、到着レートＲｉの大小を推定することができる。多重化する手段に蓄積された読出しを待つコネクション毎のセルは、実際のネットワークの負荷となるセルであるから、確度の高い到着レートＲｉの検出を行うことができる。
【００４６】
前記到着レートＲｉを検出する手段は、セル到着間隔の逆数によりレートを検出する手段を備えることができる。すなわち、到着間隔が小さい場合には、頻繁にセルが到着しているので到着レートＲｉが大きいことを示し、到着間隔が大きい場合には、セルが疎らに到着しているので到着レートＲｉが小さいことを示す。これにより、複雑な演算を必要とせず、簡単に到着レートＲｉを推定することができる。
【００４７】
到着レートＲｉにより加算され許可到着レートＡＣＲｉにより減算されるカウンタと、このカウンタの計数値が閾値を超えた到着セルについてはこれを廃棄する手段とを備えることができる。
【００４８】
すなわち、このようなカウンタを設けることにより、判定する手段が受付拒否したセルを廃棄するための構成を実現することができる。
【００４９】
また、前記多重化する手段のキュー長を検出する手段を備え、前記閾値はこのキュー長を検出する手段により検出されたキュー長に比例して設定されることができる。
【００５０】
すなわち、キュー長が大きくなる場合には、セルが頻繁に到着しているのであるから、閾値を大きくすることによりセル廃棄率を大きくして輻輳発生を回避することができる。
【００５１】
また、複数のサービスクラスが設けられ、到着するセルが属する前記サービスクラスを識別する手段と、コネクションｉ毎にセルの到着レートＲｉを前記サービスクラス毎に検出する手段と、コネクションｉ毎にあらかじめ定められた前記サービスクラス毎の重みＷｉの値を保持する手段とを備え、前記判定する手段は、前記サービスクラス毎の許可到着レートＡＣＲｉを
ＡＣＲｉ＝β（ΣＲｉ）・Ｗｉ／Ｗａｃｔ
として計算する手段と、コネクションｉ毎の前記サービスクラス毎のセルの到着レートＲｉが前記サービスクラス毎の当該許可到着レートＡＣＲｉ以下のコネクションに属するセルについてはこれを受付許可と判定する手段とを備えることもできる。
【００５２】
例えば、一つのコネクションに属するセルをさらにリアルタイム性が重要なセルと、その他のセルとにサービスクラスを分類し、リアルタイム性が重要なセルの方に、その他のセルよりも重み付けの割合を大きくすれば、リアルタイム性が重要なセルの読出しをスムースに行うことができるため、ユーザに対するＱｏＳ（Ｑｕａｌｉｔｙ  ｏｆ  Ｓｅｒｖｉｃｅ）を向上させることができる。
【００５３】
本発明の第二の観点は、本発明の多重化装置を備えたことを特徴とする帯域制御装置である。
【００５４】
本発明の第三の観点は、情報処理装置にインストールすることにより、その情報処理装置に、本発明の多重化装置の機能を実現させることを特徴とするプログラムである。あるいは、情報処理装置にインストールすることにより、その情報処理装置に、本発明の帯域制御装置の機能を実現させることを特徴とするプログラムである。
【００５５】
本発明の第四の観点は、本発明のプログラムが記録された前記情報処理装置読み取り可能な記録媒体である。
【００５６】
【発明の実施の形態】
本発明実施例の多重化装置を図１を参照して説明する。図１は本発明実施例の多重化装置のブロック構成図である。
【００５７】
本発明は、図１に示すように、到着する固定長パケットであるセルの属するコネクション１〜ｋを識別するコネクション識別部１と、当該セルの受付可否を判定する受付判定部５と、この受付判定部５の判定結果にしたがってセルを一時蓄積するＦＩＦＯ型のバッファ６とを備えた多重化装置である。
【００５８】
ここで、本発明の特徴とするところは、コネクションｉ毎にセルの到着レートＲｉを検出するレート検出部８と、コネクションｉ毎にあらかじめ定められた重みＷｉの値を保持するコネクション情報格納部２とを備え、セルの到着レートＲｉにはあらかじめ閾値となる最大レートが設定され、当該最大レートを超えるとほぼゼロになる前記セルの到着レートＲｉの総和ΣＲｉの連続関数をβ（ΣＲｉ）とし、バッファ部１１のバッファ６に１以上のセルが蓄積されているコネクションｉの前記重みの和をＷａｃｔとし、許可到着レート計算部４は、許可到着レートＡＣＲｉを
ＡＣＲｉ＝β（ΣＲｉ）・Ｗｉ／Ｗａｃｔ
として計算し、受付判定部５は、コネクションｉ毎のセルの到着レートＲｉが当該許可到着レートＡＣＲｉ以下のコネクションに属するセルについてはこれを受付許可と判定するところにある。
【００５９】
本実施例では、複数コネクションが混在して一つのバッファ６に蓄積されている状況下における実際のバッファ６のキュー長に対してキュー長監視部７および仮想キュー管理部３によりコネクションｉ毎にバッファ６のキュー長Ｘｉを検出したものを仮想キュー長という。
【００６０】
図２２は本発明を適用して最低帯域保証サービスの提供を行うネットワークの構成図である。発側ユーザは着側ユーザへとネットワークを通してセルを送出する。ネットワークはユーザに対して契約している最低帯域までの転送レートの保証を行う。ネットワークの各リンクには複数ユーザが収容されており、余剰帯域に関しては料金や最低保証帯域などに基づいて決められる重みにしたがってユーザ間に分配される。
【００６１】
まず、発側ユーザがネットワークにセルを送出すると、ネットワークの入側エッジに位置するレート観測装置でユーザのネットワークへのセル送出レートが計測される。セルの送出レートが最低保証帯域を超えていれば、セルのヘッダにＴａｇが付けられ、最低保証帯域以下で送出されるセルに関してはそのままネットワークへと送出される。Ｔａｇが付けられていないセルをネットワーク内で廃棄することなく着側ユーザまで転送することで最低帯域の保証を行う。本発明の多重化装置は中継ノード内に位置し、複数ユーザで共用しているリンク帯域を各ユーザに重みにしたがって分配するという処理を行う。
【００６２】
以下では、本発明実施例をさらに詳細に説明する。
【００６３】
（第一実施例）
本発明第一実施例を図１ないし図１１を参照して説明する。本発明の多重化装置は、図１に示すように、コネクション識別部１、帯域制御部１０、バッファ部１１から構成されている。コネクション識別部１では到着したセルのヘッダからコネクションを識別する。帯域制御部１０では、そのコネクション情報をもとに帯域制御に関する処理を行う。バッファ部１１は単純なＦＩＦＯ型のバッファ６でリンクに収容されている全ユーザ間で共用されている。
【００６４】
バッファ６にはキュー長監視部７が接続されており、バッファ６のキュー長とセル入出力時に入出力セルに関する情報を前段の仮想キュー管理部３に伝達する。ここで、入出力セルに関する情報とは、バッファ６に入力またはバッファ６から出力されるセルのセル長およびそのセルが属しているコネクションの識別番号を含む。なお、セル長は一定であるので、セル長の情報は含まず、単に、バッファ６に対するセルの入出力情報を含むこともできる。
【００６５】
入力回線側からセルが到着すると、コネクション識別部１でセルのコネクション識別が行われ、後段の帯域制御部１０に送られ、バッファ６に入力するか否かの判定を行い、廃棄と判定されたセルはその場で廃棄され、廃棄と判定されなかったセルは後段のバッファ部１１へと入力されＦＩＦＯ規範にしたがって出力回線へと出力される。
【００６６】
本発明では帯域制御部１０でのセル廃棄に基づく帯域制御が重要な役割を果たす。したがって、帯域制御部１０の処理について詳細に説明する。帯域制御部１０は、レート検出部８、仮想キュー管理部３、許可到着レート計算部４、コネクション情報格納部２、受付判定部５により構成されている。
【００６７】
仮想キュー管理部３では、キュー長監視部７からの情報をもとにバッファ６のキュー長とコネクション毎のキュー長とを算出する。仮想キュー管理部３はコネクション情報格納部２と接続されており、算出されたコネクション毎の仮想的なキュー長はコネクション情報格納部２に記録される。
【００６８】
各キュー長の算出方法について説明する。まず、バッファ６のキュー長の算出に関しては、キュー長監視部７から伝達されるキュー長情報をそのまま仮想キュー管理部３に保持するだけである。次にコネクション毎の仮想キュー長の算出方法であるが、初期状態ではバッファ６は空であるため、各コネクションの仮想キュー長はゼロである。バッファ６にセルが入力されると、そのセルのセル長とコネクション識別番号とがキュー長監視部７を通して伝達される。その情報をもとに仮想キュー管理部３はコネクション識別部１にアクセスし、該当コネクションの仮想キュー長に送られてきたセル長を足し込むという処理を行う。セル出力時にはこれとは逆に仮想キュー長から伝達されたセル長を減算するという処理を行う。なお、セル長は一定であるから、キュー長監視部７は、バッファ６にセルが入出力されたときにそのセル長を伝達しなくても、単に、バッファ６にセルが入出力された旨を伝達してもよい。
【００６９】
図２はコネクション情報格納部２の一例で、仮想キュー管理部３で算出されたコネクション毎の仮想キュー長に関する情報、コネクションの重みに関する情報が格納されている。
【００７０】
次に、許可到着レート計算部４は、レート検出部８およびコネクション情報格納部２からセルの到着レートＲｉに関する情報と、コネクション毎の仮想キュー長、重みに関する情報を受け取り、それらをもとに許可到着レートＡＣＲｉを計算する機能を持つ。ここでコネクションｉの許可到着レートＡＣＲｉとはセル到着が認められる最大到着レートを表す。
【００７１】
コネクションｉの許可到着レートＡＣＲｉの計算方法について具体的に説明する。コネクションの重みをＷｉ、現在の到着レートをΣＲｉとすると、
ＡＣＲｉ＝β（ΣＲｉ）・Ｗｉ／Ｗａｃｔ
で計算される。β（ΣＲｉ）はある連続関数で、図３ないし図９のグラフは到着レートΣＲｉの関数β（ΣＲｉ）の一例である。横軸に到着レートΣＲｉをとり、縦軸に関数β（ΣＲｉ）の値をとる。Ｗａｃｔはアクティブなコネクションの重みの和である。ここでアクティブなコネクションとは仮想キュー長がゼロより大きなコネクション、つまり少なくとも一つ以上のセルがバッファ６に入っているコネクションのことである。
【００７２】
関数β（ΣＲｉ）は到着レートΣＲｉがある閾値（図ではＲｍａｘ）を超えるとゼロとなる。つまり到着レートΣＲｉがある閾値を超えた場合には、輻輳であると判定され、各コネクションの許可到着レートＡＣＲｉはゼロとなる。
【００７３】
例えば、図３の例では閾値Ｒｍａｘを超えない範囲では、関数β（ΣＲｉ）は一定の値をとり、閾値Ｒｍａｘを超えたときには関数β（ΣＲｉ）はゼロとなる。すなわち、閾値Ｒｍａｘを超えない範囲で許可到着レートＡＣＲｉはコネクションの重みに比例して分配される。
【００７４】
図４の例では、到着レートΣＲｉがゼロから閾値Ｒｍａｘ未満の所定の値までの間で、途中までは関数β（ΣＲｉ）は緩やかに減少し、閾値Ｒｍａｘに近付くにつれて急に減少し、閾値Ｒｍａｘではゼロとなる。すなわち、許可到着レートＡＣＲｉは到着レートΣＲｉが小さいときには、コネクションｉの重み以上に分配されるが、到着レートΣＲｉが所定の値を超えると急峻に許可到着レートＡＣＲｉの分配率が低下する。
【００７５】
図５の例では、到着レートΣＲｉと関数β（ΣＲｉ）の値とがリニアに反比例する。すなわち、許可到着レートＡＣＲｉは到着レートΣＲｉにリニアに反比例する。最も単純かつ基本的な制御例である。
【００７６】
図６の例では、到着レートΣＲｉと関数β（ΣＲｉ）の値とが二次関数にしたがって反比例する。すなわち、許可到着レートＡＣＲｉは到着レートΣＲｉが小さいときには大きいが、到着レートΣＲｉが増加するとともに急に減少を始め、到着レートΣＲｉが閾値Ｒｍａｘに近付くにつれて減少が緩やかになる。これにより、到着レートΣＲｉが増え始めた時点でトラヒックの増加を強く抑えることができる。
【００７７】
図７の例では、到着レートΣＲｉと関数β（ΣＲｉ）の値とが図６に示す二次関数とは逆転した二次関数にしたがって反比例する。すなわち、許可到着レートＡＣＲｉは到着レートΣＲｉが小さいときには大きいが、到着レートΣＲｉが増加するとともに徐々に減り始め、到着レートΣＲｉが閾値Ｒｍａｘに近付くにつれて減少が急になる。これにより、到着レートΣＲｉが閾値Ｒｍａｘに近付くにつれてトラヒックの増加を強く抑えることができる。
【００７８】
図８の例では、到着レートΣＲｉと関数β（ΣＲｉ）の値とが段階的に反比例する。すなわち、許可到着レートＡＣＲｉは到着レートΣＲｉが小さいときには大きいが、到着レートΣＲｉが増加するとともに徐々に減り始め、所定の到着レートΣＲｉから急に減り始め、到着レートΣＲｉが閾値Ｒｍａｘに近付くにつれて再び減少が緩やかになる。これにより、到着レートΣＲｉがゼロと閾値Ｒｍａｘとの中間付近にあるときにトラヒックの増加を強く抑えることができる。
【００７９】
図９の例では、到着レートΣＲｉと関数β（ΣＲｉ）の値とが図８の例とは逆転して段階的に反比例する。すなわち、許可到着レートＡＣＲｉは到着レートΣＲｉが小さいときには大きいが、到着レートΣＲｉが増加するとともに急に減り始め、所定の到着レートΣＲｉから緩やかに減り始め、到着レートΣＲｉが閾値Ｒｍａｘに近付くにつれて再び急に減り始める。これにより、到着レートΣＲｉがゼロから増え始めた時点と閾値Ｒｍａｘに近付いた時点とでトラヒックの増加を強く抑えることができる。
【００８０】
また、到着レートΣＲｉとしては現在の到着レート（瞬間値）を用いるとしているが、到着レートΣＲｉとして一定時間内の到着レートの平均値を採用してもよい。
【００８１】
受付判定部５は許可到着レートＡＣＲｉとコネクション毎の到着レートＲｉから到着したセルをバッファ６へ入力するか廃棄するかの判定をする。図１０は確定的な廃棄処理を行うセル到着時の処理フローを示すフローチャートであるが、図１０に示すように、到着レートＲｉが許可到着レートＡＣＲｉ以下であればバッファ６に入力し、許可到着レートＡＣＲｉを超えていれば、Ｔａｇが付けられているセルは廃棄し、Ｔａｇが付けられていないセルはバッファ６へ入力することにより、常に各コネクションの最低帯域は保証しつつ、バッファ６の占有率が公平になるように制御する。
【００８２】
また、到着レートＲｉが許可到着レートＡＣＲｉを超えていた場合には、上記のように確定的にセル廃棄するのではなく、確率的にセル廃棄することも可能である。図１１は確率的な廃棄処理を行うセル到着時の処理フローを示すフローチャートであるが、図１１に示すように、許可到着レートＡＣＲｉ、到着レートをＲｉとすると、廃棄確率Ｐは、
Ｐ＝（Ｒｉ−ＡＣＲｉ）／Ｒｉ
で与えられる。つまり、到着レートＲｉが許可到着レートＡＣＲｉを超えた場合には、超えた割合だけ落すというものである。確率的な廃棄によって帯域制御することで、一つのコネクションに注目した場合には、到着レートＲｉが許可到着レートＡＣＲｉを超えたときでも、連続してセルが廃棄される現象が、確定的にセル廃棄する場合よりも減少するため、ＴＣＰのレート制御との親和性が高くなるといえる。バッファ６へと入力されたセルはＦＩＦＯ規範にしたがって出力回線へと出力される。
【００８３】
図１１における擬似乱数Ｒａｎｄの生成は、セル到着毎に行われ、廃棄確率Ｐと擬似乱数Ｒａｎｄとを比較した結果に基づき廃棄を実行することにより、実際に廃棄確率Ｐによる廃棄を実現することができる。例えば、廃棄確率Ｐが０．５であるときに、擬似乱数Ｒａｎｄが０．５よりも大きい値をとる確率もまた０．５であり、擬似乱数Ｒａｎｄが０．５よりも大きい場合に廃棄を実行することにより、廃棄確率Ｐにしたがった廃棄が行われる。
【００８４】
本発明の多重化装置は到着レートＲｉをもとに網の輻輳状態を推定し、輻輳であると判定されれば許可到着レートＡＣＲｉはゼロに等しくなり、最低保証帯域以下のレートで網に送出されているパケットのみを網は転送する。到着レートＲｉがある閾値以下のときは、余剰帯域が存在すると判断され、各コネクションは重みに比例した許可到着レートＡＣＲｉによって、帯域をコネクション間に公平に配分することができる。
【００８５】
また、前述の実施例によれば、ハードウェア構成が簡易なＦＩＦＯバッファでＧＦＲサービスを実現しつつ、ＷＲＲ方式等のようなコネクション毎に個別にバッファを持ってセルの読出制御を行う方法と同様に余剰帯域を公平にコネクション間の分配することが可能である。また、一つのバッファを多数のコネクションで共用するため、コネクション毎に個別にバッファを持つ方式に比べて、統計多重効果により必要なバッファ量を削減できるという利点もある。
【００８６】
（第二実施例）
本発明第二実施例は図１に示す受付判定部５の機能として、受付判定部５が受付拒否したコネクションｊの到着レートＲｊが許可到着レートＡＣＲｊを超えている割合を算出し、この算出された割合が所定の値を超えているときには少なくとも２個連続してコネクションｊのセルを受付拒否し、この算出された割合が所定の値以下であるときには受付拒否したコネクションｊのセルについて連続した受付拒否を禁止する。
【００８７】
すなわち、急激に到着レートＲｊが許可到着レートＡＣＲｊを超えたときには、輻輳発生を回避するために急激なトラヒック制御を行う必要がある。そのような事態が発生したときには、セルを連続して廃棄することにより対処することができる。反対に、緩やかに到着レートＲｊが許可到着レートＡＣＲｊを超えたときには、緩やかなトラヒック制御を行って安定したトラヒック制御を実現することができる。
【００８８】
（第三実施例）
本発明第三実施例は図１に示す受付判定部５の機能として、受付拒否と判定すべきコネクションｊのセルがバッファ６に存在しないときにはこの受付拒否と判定すべきセルを受付許可と判定する。
【００８９】
すなわち、バッファ６にコネクションｊのセルが存在しないということは、コネクションｊのセルは散発的であることを示している。このような散発的なセルを受付拒否して廃棄しても連続的なセルを廃棄する場合と比較して輻輳回避の効果はきわめて低い。したがって、このような散発的なセルを無意味に廃棄しないようにする。
【００９０】
（第四実施例）
本発明第四実施例は図１に示す受付判定部５の機能として、受付拒否と判定したコネクションｊのセルに一定時間の遅延を与えた後にバッファ６に蓄積する。この一定時間は、到着レートＲｊが許可到着レートＡＣＲｊを超えた割合に応じて可変する。
【００９１】
これにより、セルの廃棄を行わなくともＲＴＴ（Ｒｏｕｎｄ  Ｔｒｉｐ  Ｔｉｍｅ）が大きくなり、セル送出元に対して送出レートを下げさせる効果が期待できるため、セルを廃棄してしまう場合と比較してトラヒックを有効に利用することができる。
【００９２】
（第五実施例）
本発明第五実施例は図１に示す受付判定部５の機能として、コネクション識別番号があらかじめ複数のグループに分類され、受付拒否と判定すべきセルのコネクション識別番号が所定の前記グループに属するときにはこの受付拒否と判定すべきセルを受付許可と判定する。例えば、コネクション識別番号が偶数または奇数のいずれか一方のセルについてはこの受付拒否と判定すべきセルを受付許可と判定する。これにより、緩やかなトラヒック制御を行い安定したトラヒック制御を実現することができる。
【００９３】
（第六実施例）
本発明第六実施例は図１に示す受付判定部５の機能として、受付判定部５は所定周期毎に各周期毎に計算された許可到着レートＡＣＲｉに基づき受付可否判定を行い、この所定周期は、許可到着レートＡＣＲｉの大きさに反比例した長さに設定される。
【００９４】
すなわち、許可到着レートＡＣＲｉが小さい場合には、輻輳発生等の悪影響を及ぼす事態が発生する確率が低いため、きめ細かな制御をしなくともよいので、比較的長い許可到着レートＡＣＲｉの変更を行い、反対に、許可到着レートＡＣＲｉが大きい場合には、輻輳発生等の悪影響を及ぼす事態が発生する確率が高いため、きめ細かな制御を必要とするため、比較的短い周期で許可到着レートＡＣＲｉの変更を行う。これにより、常時、きめ細かな制御を実施する場合と比較して制御を簡素化することができる。
【００９５】
（第七実施例）
本発明第七実施例は図１に示す受付判定部５の具体的構成例の実施例であり、受付判定部５は、図１２に示すように、到着レートＲｉにより加算され許可到着レートＡＣＲｉにより減算されるカウンタを備え、このカウンタの計数値が閾値を超えた到着セルについてはこれを廃棄する。
【００９６】
このときに、閾値を固定して用いる場合と、閾値を可変して用いる場合とがある。閾値を可変して用いる場合には、図２に示すコネクション情報管理部２の仮想キュー長を参照し、図１３に示すように、前記閾値はこの仮想キュー長に比例して設定することにより、仮想キュー長が大きくなる場合には、セルが頻繁に到着しているのであるから、閾値を大きくすることによりセル廃棄率を大きくして輻輳発生を回避することができる。
【００９７】
また、閾値を固定して用いる場合には、前述したように、許可到着レートＡＣＲｉが到着レートＲｉにほぼ反比例して変化するので、多数のセルが到着している場合には、許可到着レートＡＣＲｉは低い値をとり、カウンタの減算率が小さくなり、計数値はすぐに閾値を超えるのでセルの廃棄率も大きくなることから輻輳発生を回避することができる。
【００９８】
（第八実施例）
本発明第八実施例は図１に示すレート検出部８の機能として、到着レートＲｉの所定の変化周期以下の変化周期について到着レートＲｉを検出する。これにより、瞬間的な到着レートＲｉの変化を吸収し、外乱によるトラヒック制御の誤動作を回避することができる。
【００９９】
また、到着レートＲｉの検出を単位時間毎に区切り、単位時間の区切りの一つおき、あるいは二つおき、といったように検出タイミングを疎らに設定することもできる。これにより、緩やかな到着レートＲｉの検出結果を出力することができる。
【０１００】
（第九実施例）
本発明第九実施例は図１に示すレート検出部８の機能として、単位時間内の到着レートＲｉの最大値を到着レートＲｉの検出結果として当該単位時間毎に出力する。これにより、第六実施例と同様に、瞬間的な到着レートＲｉの変化を吸収し、外乱によるトラヒック制御の誤動作を回避することができる。
【０１０１】
また、第七実施例においても到着レートＲｉの検出を単位時間毎に区切り、単位時間の区切りの一つおき、あるいは二つおき、といったように検出タイミングを疎らに設定することもできる。これにより、緩やかな到着レートＲｉの検出結果を出力することができる。
【０１０２】
（第十実施例）
本発明第十実施例は図１に示すレート検出部８の具体的構成例を図１４を参照して説明する。レート検出部８は、図１４に示すように、最低帯域が保証されたＡＦ（Ａｓｓｕｒｅｄ  Ｆｏｒｗａｒｄｉｎｇ）クラスのセルの到着レートから最大帯域から高速転送を行うＥＦ（Ｅｘｐｅｄｉｔｅｄ  Ｆｏｒｗａｒｄｉｎｇ）クラスのセルの到着レートを減算した値を減算するカウンタを備えることにより実現できる。
【０１０３】
すなわち、最大帯域からＥＦクラスのセルの到着レートを減算することにより、ＡＦクラスのセルに許容される帯域が残る。この帯域に応じた読出レートでＡＦクラスのセルの到着レートを減算したときに、カウンタ値が増加する傾向にあれば、到着レートが読出レートよりも大きいことを示す。また、カウンタ値が変化しないか減少する傾向にあれば、到着レートが読出レートと等しいか小さいことを示す。このようにしてカウンタ値の増減を観測することにより、到着レートＲｉを検出することができる。
【０１０４】
（第十一実施例）
本発明第十一実施例は図１に示すレート検出部８の具体的構成例の実施例であり、レート検出部８は、図１５に示すように、到着セルを一時蓄積するＦＩＦＯ型バッファを備え、この一時蓄積した到着セルを許可到着レートＡＣＲｉに基づき仮想的にセルを読出し、セル蓄積数にしたがって到着レートＲｉを検出する。
【０１０５】
すなわち、仮想的に許可到着レートＡＣＲｉでセルを読出し続けているところへ、到着セルを入れると、許可到着レートＡＣＲｉよりも到着レートが大きい場合には、セル蓄積数が増加する。反対に、許可到着レートＡＣＲｉよりも到着レートが小さい場合には、セル蓄積数が減少する。このセル蓄積数の増減を検出することにより到着レートＲｉの大小を推定することができる。
【０１０６】
（第十二実施例）
本発明第十二実施例は図１に示すレート検出部８の具体的構成例の実施例であり、レート検出部８は、図１６に示すように、バッファ６に一時蓄積されたコネクション毎のセル数を計数し、このセル数に基づいて到着レートＲｉを検出する。
【０１０７】
すなわち、バッファ６に蓄積された読出しを待つコネクション毎のセル数を検出することにより、到着レートＲｉの大小を推定することができる。バッファ６に蓄積された読出しを待つコネクション毎のセルは、実際のネットワークの負荷となるセルであるから、確度の高い到着レートＲｉの検出を行うことができる。
【０１０８】
図１６に示すレート検出部８は、コネクションｉ毎に到着するセルによって加算され、コネクション情報格納部２の仮想キュー長に基づき読出されたコネクションｉ毎のセルによって減算されるカウンタを設ける。セル数検出部はこのカウンタの値を監視してバッファ６におけるコネクション毎のセル数を検出する。到着レート推定部では、このセル数を基づき到着レートＲｉを推定する。
【０１０９】
具体的には、バッファ６のセル数が大きいコネクションｉは、到着レートＲｉも大きいと推定し、バッファ６のセル数が小さいコネクションｉは、到着レートＲｉも小さいと推定する。したがって、到着レートＲｉが大きいときには、許可到着レートＡＣＲｉが小さくなるように制御され、到着レートＲｉが小さいときには、許可到着レートＡＣＲｉが大きくなるように制御されるのであるから、仮想キュー長に基づき許可到着レートＡＣＲｉを制御する構成を実現することができる。例えば、仮想キュー長に反比例して許可到着レートＡＣＲｉが制御される。
【０１１０】
（第十三実施例）
本発明第十三実施例は図１に示すレート検出部８の具体的構成例の実施例であり、レート検出部８は、セル到着間隔の逆数によりレートを検出する。すなわち、到着間隔が小さい場合には、頻繁にセルが到着しているので到着レートＲｉが大きいことを示し、到着間隔が大きい場合には、セルが疎らに到着しているので到着レートＲｉが小さいことを示す。これにより、複雑な演算を必要とせず、簡単に到着レートＲｉを推定することができる。
【０１１１】
（第十四実施例）
本発明第十四実施例は帯域制御方法についての実施例であり、図１に示す受付判定部５は、所定周期毎に各周期毎に計算された許可到着レートＡＣＲｉに基づき受付可否判定を行い、受付許可したコネクションｉの到着レートＲｉが許可到着レートＡＣＲｉよりも小さいときにはその差分を次周期の許可到着レートに加算した値を次周期の許可到着レートとする。
【０１１２】
図１７に第十四実施例の帯域制御フローを示す。到着レートＲｉと許可到着レートＡＣＲｉとを比較し（Ｓ１）、到着レートＲｉが許可到着レートＡＣＲｉ以下であれば（Ｓ２）、コネクションｉの到着セルは受付許可となる（Ｓ３）。また、到着レートＲｉが許可到着レートＡＣＲｉよりも大きければ（Ｓ２）、コネクションｉの到着セルは受付拒否となる（Ｓ６）。コネクションｉの到着セルが受付許可であるときに、到着レートＲｉと許可到着レートＡＣＲｉとの差分ΔＡＣＲをとり（Ｓ４）、この差分ΔＡＣＲを次回の許可到着レートに加算する（Ｓ５）。
【０１１３】
これにより、トラヒックが時間的に偏っている場合に、トラヒックが小さい時間帯の余剰分をトラヒックが大きい時間帯に振り分けることができ、コネクションのスループットを向上させることができる。
【０１１４】
（第十五実施例）
本発明第十五実施例は帯域制御方法についての実施例であり、図１に示す受付判定部５は、受付許可したコネクションｉの到着レートＲｉが許可到着レートＡＣＲｉよりも小さいときにその差分を他の受付拒否したコネクションｊの許可到着レートＡＣＲｊに加算することによりそのコネクションｊが受付許可となるときにはその差分をコネクションｊの許可到着レートＡＣＲｊに加算してコネクションｊのセルを受付許可と判定する。
【０１１５】
図１８に第十五実施例の帯域制御フローを示す。到着レートＲｉと許可到着レートＡＣＲｉとを比較し（Ｓ１０）、到着レートＲｉが許可到着レートＡＣＲｉ以下であれば（Ｓ１１）、コネクションｉの到着セルは受付許可となる（Ｓ１２）。また、到着レートＲｉが許可到着レートＡＣＲｉよりも大きければ（Ｓ１１）、コネクションｉの到着セルは受付拒否となる（Ｓ１７）。コネクションｉの到着セルが受付許可であるときに、到着レートＲｉと許可到着レートＡＣＲｉとの差分ΔＡＣＲをとる（Ｓ１３）。
【０１１６】
このときに、コネクションｊは到着レートＲｊが許可到着レートＡＣＲｊよりも大きいために到着セルが受付拒否となるが（Ｓ１４）、許可到着レートＡＣＲｊに差分ΔＡＣＲを加算することにより、コネクションｊの到着セルが受付許可となる場合には（Ｓ１５）、コネクションｊの許可到着レートＡＣＲｊに差分ΔＡＣＲを加算してこれをコネクションｊの許可到着レートとする（Ｓ１６）。
【０１１７】
さらに、コネクションｉの到着セルが受付拒否となったときに、他のコネクションの余剰許可到着レートＡＣＲが有り（Ｓ１８）、この余剰許可到着レートＡＣＲをコネクションｉの許可到着レートＡＣＲｉに加算することにより、コネクションｉの到着セルが受付許可となる場合には、コネクションｉの許可到着レートＲｉに余剰許可到着レートＡＣＲを加算してこれをコネクションｉの許可到着レートとする（Ｓ２０）。
【０１１８】
これにより、特定のコネクションにトラヒックが偏った場合に、トラヒックが小さいコネクションから許可到着レートを譲り受けることができ、ネットワーク全体としてスループットを向上させることができる。
【０１１９】
（第十六実施例）
本発明第十六実施例は帯域制御方法についての実施例であり、図１に示す受付判定部５は、所定周期毎に各周期毎に計算された許可到着レートＡＣＲｉに基づき受付可否判定を行い、この所定周期は、図１９に示すように、異なるコネクション毎に位相が異なるように設定される。これにより、全てのコネクションが同時に輻輳制御されたり、解除されたりせず、安定化した制御を行うことができる。
【０１２０】
（第十七実施例）
本発明第十七実施例は帯域制御方法についての実施例であり、図１に示す受付判定部５は、乱数を発生させ、この乱数に対応して複数のコネクションのうちのいずれかを選択し、この選択されたコネクションについて所定周期毎に各周期毎に計算された許可到着レートＡＣＲｉに基づき受付可否判定を行う。これにより、第十二実施例と同様に、全てのコネクションが同時に輻輳制御されたり、解除されたりせず、安定化した制御を行うことができる。
【０１２１】
（第十八実施例）
本発明第十八実施例は帯域制御方法についての実施例であり、コネクション識別番号があらかじめ複数のグループに分類され、図１に示す受付判定部５は、図２０に示すように、前記グループのいずれかを順次選択し、この選択されたコネクションについて所定周期毎に各周期毎に計算された許可到着レートＡＣＲｉに基づき受付可否判定を行う。例えば、偶数のコネクションまたは奇数のコネクションを交互に選択し、この選択されたコネクションについて所定周期毎に各周期毎に計算された許可到着レートＡＣＲｉに基づき受付可否判定を行う。これにより、第十二および第十三実施例と同様に、全てのコネクションが同時に輻輳制御されたり、解除されたりせず、安定化した制御を行うことができる。
【０１２２】
（第十九実施例）
本発明第十九実施例を図２１を参照して説明する。第十九実施例は、一つのコネクションに属するセルをさらに二つのサービスクラスに分類して取り扱う例である。一つのサービスクラスは、リアルタイム性を重要視するセルに対するリアルタイム（Ｒ）クラスであり、もう一つのサービスクラスは、リアルタイム性を重要視しないセルに対するノンリアルタイム（ＮＲ）クラスである。
【０１２３】
第十九実施例を実現するためには、図１に示すコネクション識別部１において、到着するセルのコネクションを識別すると共にそのセルのサービスクラスを識別する。また、仮想キュー管理部３では、バッファ６に蓄積されたセルのコネクションの情報と共にサービスクラスの情報も取得する。これにより、コネクション情報格納部２には、図２１に示すようなテーブルを設けることができる。
【０１２４】
例えば、コネクション＃１についてみると、仮想キュー長としてリアルタイムクラスに属するＸ１（Ｒ）およびノンリアルタイムクラスに属するＸ１（ＮＲ）が記録されている。また、重みとしてリアルタイムクラスの重みＷ１（Ｒ）およびノンリアルタイムクラスの重みＷ１（ＮＲ）が記録されている。重みＷ１（Ｒ）はＷ１（ＮＲ）よりも重く設定されており、リアルタイムクラスに属するセルをノンリアルタイムクラスに属するセルに優先して読出すことができる。
【０１２５】
これにより、リアルタイム性を重要視するセルの遅延を少なくすることができるため、ユーザに対するＱｏＳを向上させることができる。
【０１２６】
（その他の実施例）
本発明の多重化装置は、図２２に示すように、ネットワークに設けることにより、帯域制御装置（ＵＰＣ：Ｕｓａｇｅ  Ｐａｒａｍｅｔｅｒ  Ｃｏｎｔｒｏｌ）として用いることができる。また、セル交換スイッチ内に設けることにより、当該スイッチ内のバッファの輻輳の回避にも利用できる。
【０１２７】
本発明の多重化装置または帯域制御装置は、情報処理装置であるコンピュータ装置にインストールすることにより、そのコンピュータ装置に、本発明の多重化装置または帯域制御装置の機能を実現させるプログラムをコンピュータ装置にインストールすることにより実現できる。このプログラムは記録媒体に記録され、コンピュータ装置はこの記録媒体の記録内容を読み取ることにより本発明のプログラムをインストールしたり、あるいは、本発明のプログラムを保持するサーバからネットワークを介して直接本発明のプログラムをインストールする。
【０１２８】
【発明の効果】
以上説明したように、本発明によれば、通信網に収容されている各コネクションに対し、輻輳時においても契約している最低帯域を保証しつつ、通常時（非輻輳時）には、余剰帯域をコネクション間で公平に分配し、より効率的な網資源の利用を可能にすることができる。また、高速回線においても経済的に実現可能な多重化装置および帯域制御装置を実現することができる。
【図面の簡単な説明】
【図１】本発明実施例の多重化装置のブロック構成図。
【図２】コネクション情報格納部のテーブル例を示す図。
【図３】関数β（ΣＲｉ）の例を示す図。
【図４】関数β（ΣＲｉ）の例を示す図。
【図５】関数β（ΣＲｉ）の例を示す図。
【図６】関数β（ΣＲｉ）の例を示す図。
【図７】関数β（ΣＲｉ）の例を示す図。
【図８】関数β（ΣＲｉ）の例を示す図。
【図９】関数β（ΣＲｉ）の例を示す図。
【図１０】確定的な廃棄処理を行うセル到着時の処理フローを示すフローチャート。
【図１１】確率的な廃棄処理を行うセル到着時の処理フローを示すフローチャート。
【図１２】第七実施例の受付判定部の具体的構成例を示す図。
【図１３】第七実施例の受付判定部の閾値が可変となる具体的構成例を示す図。
【図１４】第十実施例のレート検出部の具体的構成例を示す図。
【図１５】第十一実施例のレート検出部の具体的構成例を示す図。
【図１６】第十二実施例のレート検出部の具体的構成例を示す図。
【図１７】第十四実施例の帯域制御フローを示すフローチャート。
【図１８】第十五実施例の帯域制御フローを示すフローチャート。
【図１９】第十六実施例の帯域制御方法を説明するための図。
【図２０】第十八実施例の帯域制御方法を説明するための図。
【図２１】第十九実施例のコネクション情報格納部のテーブル例を示す図。
【図２２】本発明を適用したネットワーク構成の一例を示す図。
【図２３】従来のＷＲＲ方式の概要を説明するための図。
【符号の説明】
１  コネクション識別部
２  コネクション情報格納部
３  仮想キュー管理部
４  許可到着レート計算部
５  受付判定部
６  バッファ
７  キュー長監視部
８  レート検出部
１０  帯域制御部
１１  バッファ部
【図１】
0003631701.tif 000002
【図２】
0003631701.tif 000003
【図３】
0003631701.tif 000004
【図４】
0003631701.tif 000005
【図５】
0003631701.tif 000006
【図６】
0003631701.tif 000007
【図７】
0003631701.tif 000008
【図８】
0003631701.tif 000009
【図９】
0003631701.tif 000010
【図１０】
0003631701.tif 000011
【図１１】
0003631701.tif 000012
【図１２】
0003631701.tif 000013
【図１３】
0003631701.tif 000014
【図１４】
0003631701.tif 000015
【図１５】
0003631701.tif 000016
【図１６】
0003631701.tif 000017
【図１７】
0003631701.tif 000018
【図１８】
0003631701.tif 000019
【図１９】
0003631701.tif 000020
【図２０】
0003631701.tif 000021
【図２１】
0003631701.tif 000022
【図２２】
0003631701.tif 000023
【図２３】
0003631701.tif 000024