(57)【要約】【課題】同一回線を複数の利用者で共有するネットワーク構成において、通信利用量またはセッション接続時間に基づいて利用可能帯域を算出し、ネットワーク利用の公平性の確保およびネットワーク全体のＰ２Ｐ通信の抑制を図る帯域制御装置を提供すること。【解決手段】帯域計算部１１２は、統計管理メモリ１０８に記録されているユーザ毎の通信量またはセッション接続時間と、帯域設定メモリ１１３に記録されている最低帯域情報および最大帯域情報から、利用可能帯域を算出する。帯域計算部１１２は、通信量が少ないまたはセッション接続時間が短いユーザに大きな利用可能帯域を割当てる。送信制御部１０９は、パケットバッファ１１０に格納されたパケット情報を、送信予定時刻メモリ１１１に格納された利用可能帯域から計算される送信予定時刻に基づいて送信スケジューリングを行なう。【選択図】図１
2010177797.tif 000002
【特許請求の範囲】
【請求項１】
受信されたパケットをユーザ毎に格納するパケットバッファと、
ユーザ毎にパケットの通信量を管理する廃棄制御部と、
ユーザに帯域を割り当てる帯域計算部であって、予め定められた単位時間当たりの平均通信量が相対的に大きいユーザは割り当てる帯域を小さくし、かつ、該平均通信量が相対的に小さいユーザは割り当てる帯域を大きくする帯域計算部と、
前記パケットバッファに格納されたユーザ毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信する送信ユーザを選択し、該送信ユーザのパケットを前記パケットバッファから読み出して送信する送信制御部と
を備える帯域制御装置。
【請求項２】
受信されたパケットをユーザ毎に格納するパケットバッファと、
ユーザ毎にパケットの通信量を管理し、予め定められた時間毎にパケットの通信量を参照してセッション接続時間を求める廃棄制御部と、
ユーザに帯域を割り当てる帯域計算部であって、セッション接続時間が相対的に大きいユーザは割り当てる帯域を小さくし、かつ、セッション接続時間が相対的に小さいユーザは割り当てる帯域を大きくする帯域計算部と、
前記パケットバッファに格納されたユーザ毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信する送信ユーザを選択し、該送信ユーザのパケットを前記パケットバッファから読み出して送信する送信制御部と
を備える帯域制御装置。
【請求項３】
前記送信制御部は、
前記パケットバッファにパケットが格納されているユーザの中から、割り当てられた帯域に応じて送信ユーザを選択する請求項１又は２に記載の帯域制御装置。
【請求項４】
前記送信制御部は、選択された送信ユーザについて、割り当てられた帯域を超えても、予め該ユーザに対して割り当てられた最大帯域を超えなければ、パケットを前記パケットバッファから読み出して出力する請求項１又は２に記載の帯域制御装置。
【請求項５】
前記送信制御部は、
ユーザに割り当てられた帯域と、送信したパケットのパケット長とに基づき、パケットを送信する送信予定時刻をユーザ毎に求め、
前記パケットバッファにパケットが格納されているユーザの中から、求められた送信予定時刻が最も早いユーザを送信ユーザとして選択する請求項１又は２に記載の帯域制御装置。
【請求項６】
前記送信制御部は、パケットの送信後に、パケットを送信する前の送信予定時刻と、送信パケット長を割り当てられた帯域で除算した結果との和により新たな送信予定時刻を求める請求項５に記載の帯域制御装置。
【請求項７】
前記帯域制御部は、平均通信量の逆数を求めて該逆数に応じた帯域をユーザに割り当て、又は、平均通信量が増加するに従い帯域が減少する予め定められた関数を用いて、平均通信量に対応する帯域をユーザに割り当てる請求項１に記載の帯域制御装置。
【請求項８】
前記廃棄制御部は、予め定められた時間毎にパケットの通信量を参照し、パケットの通信量が増加していればセッション接続時間を増加して更新し、パケットの通信量が増加していなければセッション接続時間をリセットする請求項２に記載の帯域制御装置。
【請求項９】
前記帯域制御部は、セッション接続時間の逆数を求めて該逆数に応じた帯域をユーザに割り当て、又は、セッション接続時間が増加するに従い帯域が減少する予め定められた関数を用いて、セッション接続時間に対応する帯域をユーザに割り当てる請求項２に記載の帯域制御装置。
【請求項１０】
パケットを受信及び送信するためのインタフェースと、
受信されたパケットのヘッダ情報に基づき宛先を求める経路探索処理と、パケットのヘッダ情報に基づきユーザ識別情報を求めるフロー検索処理を実行する検索エンジンと、
前記検索エンジンで求められた宛先に応じた前記廃棄制御部に、パケットと前記検索エンジンで求められたユーザ識別情報とを転送する転送エンジンと
をさらに備えた請求項１又は２に記載の帯域制御装置。
【請求項１１】
ユーザ毎の最低帯域と、ひとつ又は複数のユーザが属するグループの最大帯域とが予め定められ、
前記帯域計算部は、
グループの最大帯域から、該グループに属する各ユーザの最低帯域を引いて分配可能な余剰帯域を求め、
求められた分配可能な余剰帯域を、各ユーザの平均通信量又はセッション接続時間に応じてユーザに分配して割り当て、
割り当てられた余剰帯域とユーザの最低帯域との和を、ユーザに割り当てる前記帯域とする請求項１又は２に記載の帯域制御装置。
【請求項１２】
前記送信制御部が、パケットの送信量が、割り当てられた帯域を超えないように送信抑制することによって、回線帯域が余剰時においてもヘビーユーザに対して帯域制御が可能となることを特徴とする請求項１又は２に記載の帯域制御装置。
【請求項１３】
前記帯域計算部が、前記廃棄制御部で管理するユーザ毎の平均通信量又はセッション接続時間に上限値を設けて、閾値超過分は予め定められたルールに基づいて利用可能帯域を計算することを特徴とする請求項１又は２に記載の帯域制御装置。
【請求項１４】
受信されたパケットをトラフィック種別又はフロー毎に格納するパケットバッファと、
トラフィック種別又はフロー毎にパケットの通信量を管理する廃棄制御部と、
トラフィック種別又はフローに対して帯域を割り当てる帯域計算部であって、予め定められた単位時間当たりの平均通信量が相対的に大きいトラフィック種別又はフローは割り当てる帯域を小さくし、かつ、該平均通信量が相対的に小さいトラフィック種別又はフローは割り当てる帯域を大きくする帯域計算部と、
前記パケットバッファに格納されたトラフィック種別又はフロー毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信するトラフィック種別又はフローを選択し、トラフィック種別又はフローのパケットを前記パケットバッファから読み出して送信する送信制御部と
を備える帯域制御装置。
【請求項１５】
受信されたパケットをトラフィック種別又はフロー毎に格納するパケットバッファと、
トラフィック種別又はフロー毎にパケットの通信量を管理し、予め定められた時間毎にパケットの通信量を参照してセッション接続時間を求める廃棄制御部と、
トラフィック種別又はフローに対して帯域を割り当てる帯域計算部であって、セッション接続時間が相対的に大きいトラフィック種別又はフローは割り当てる帯域を小さくし、かつ、セッション接続時間が相対的に小さいトラフィック種別又はフローは割り当てる帯域を大きくする帯域計算部と、
前記パケットバッファに格納されたトラフィック種別又はフロー毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信するトラフィック種別又はフローを選択し、トラフィック種別又はフローのパケットを前記パケットバッファから読み出して送信する送信制御部と
を備える帯域制御装置。
【請求項１６】
受信されたパケットをユーザ毎に格納するためのバッファ制御機能と、
ユーザ毎にパケットの通信量を管理する廃棄制御機能と、
ユーザに帯域を割り当てる帯域計算機能であって、予め定められた単位時間当たりの平均通信量が相対的に大きいユーザは割り当てる帯域を小さくし、かつ、該平均通信量が相対的に小さいユーザは割り当てる帯域を大きくする帯域計算機能と、
前記バッファ制御機能で格納されたユーザ毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信する送信ユーザを選択し、該送信ユーザのパケットを読み出して送信する送信制御機能と
を備える通信制御半導体。
【請求項１７】
受信されたパケットをユーザ毎に格納するためのバッファ制御機能と、
ユーザ毎にパケットの通信量を管理し、予め定められた時間毎にパケットの通信量を参照してセッション接続時間を求める廃棄制御機能と、
ユーザに帯域を割り当てる帯域計算機能であって、セッション接続時間が相対的に大きいユーザは割り当てる帯域を小さくし、かつ、セッション接続時間が相対的に小さいユーザは割り当てる帯域を大きくする帯域計算機能と、
前記バッファ制御機能で格納されたユーザ毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信する送信ユーザを選択し、該送信ユーザのパケットを読み出して送信する送信制御機能と
を備える通信制御半導体。
【請求項１８】
受信されたパケットをトラフィック種別又はフロー毎に格納するためのバッファ制御機能と、
トラフィック種別又はフロー毎にパケットの通信量を管理する廃棄制御機能と、
トラフィック種別又はフローに対して帯域を割り当てる帯域計算機能であって、予め定められた単位時間当たりの平均通信量が相対的に大きいトラフィック種別又はフローは割り当てる帯域を小さくし、かつ、該平均通信量が相対的に小さいトラフィック種別又はフローは割り当てる帯域を大きくする帯域計算機能と、
前記バッファ制御機能で格納されたトラフィック種別又はフロー毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信するトラフィック種別又はフローを選択し、トラフィック種別又はフローのパケットを読み出して送信する送信制御機能と
を備える通信制御半導体。
【請求項１９】
受信されたパケットをトラフィック種別又はフロー毎に格納するためのバッファ制御機能と、
トラフィック種別又はフロー毎にパケットの通信量を管理し、予め定められた時間毎にパケットの通信量を参照してセッション接続時間を求める廃棄制御機能と、
トラフィック種別又はフローに対して帯域を割り当てる帯域計算機能であって、セッション接続時間が相対的に大きいトラフィック種別又はフローは割り当てる帯域を小さくし、かつ、セッション接続時間が相対的に小さいトラフィック種別又はフローは割り当てる帯域を大きくする帯域計算機能と、
前記バッファ制御機能で格納されたトラフィック種別又はフロー毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信するトラフィック種別又はフローを選択し、トラフィック種別又はフローのパケットを読み出して送信する送信制御機能と
を備える通信制御半導体。
【請求項２０】
前記バッファ制御機能は、半導体内部に備えられたパケットバッファにパケットを格納する、又は、外部のパケットバッファにパケットを格納する請求項１６乃至１９のいずれかに記載の通信制御半導体。
【請求項２１】
受信されたパケットのヘッダ情報に基づき宛先を求める経路探索処理と、パケットのヘッダ情報に基づきユーザ識別情報を求めるフロー検索処理を実行する検索機能と、
前記検索エンジンで求められた宛先に応じた前記廃棄制御機能に、パケットと前記検索エンジンで求められたユーザ識別情報とを転送する転送機能と
をさらに備えた請求項１６乃至１９のいずれかに記載の通信制御半導体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帯域制御装置および通信制御半導体に係り、特に、ＩＰネットワークなどの通信分野において、あらかじめ設定された最低帯域や最大帯域と、通信量またはセッション接続時間の情報に基づいて利用可能帯域を計算して帯域制御可能な帯域制御装置および通信制御半導体に関する。
【背景技術】
【０００２】
インターネット網や企業内ＬＡＮなどで使用されるイーサネット技術（イーサネットは登録商標）のアクセス制御はＣＳＭＡ／ＣＤ（Ｃａｒｒｉｅｒ  Ｓｅｎｓｅ  Ｍｕｌｔｉｐｌｅ  Ａｃｃｅｓｓ／Ｃｏｌｌｉｓｉｏｎ  Ｄｅｔｅｃｔｉｏｎ）方式によって制御されるため、パケットを多く送受信するユーザによって帯域が占有されやすい特性を持つ。つまり、同一回線上に過大なネットワーク負荷を及ぼす利用者（以降、ヘビーユーザ）が存在すると、通信量が少ない利用者（以降、ライトユーザ）の通信帯域が十分に確保されないことがある。そのため、インターネットへの常時アクセスを提供するＩＳＰ（Ｉｎｔｅｒｎｅｔ  Ｓｅｒｖｉｃｅｓ  Ｐｒｏｖｉｄｅｒ）などでは利用者間で利用可能な帯域が不公平にならないような帯域制御機能を備えるパケット中継装置を用いることがある。
【０００３】
そのような帯域制御機能を提供する技術として、例えば、特許文献１ではリーキーバケット水位が最低帯域を超えた状態にあるバッファに対して送信権を与えることによって、各利用者に対して最低帯域と最大帯域による帯域制御方法について記載されている。
【０００４】
また、特許文献２ではパケット送信する入力側ノードとパケット受信する出力側ノードの間で制御パケットの送信時刻とデータ蓄積量が記録されている制御パケットにそれぞれ含まれる情報に基づいて、前記出力側に送信すべきデータパケットの送信許容レートを決定する帯域制御技術が記載されている。
【０００５】
また、各ＩＳＰの回線帯域を圧迫している理由の一つに、Ｐ２Ｐ（Ｐｅｅｒ  ｔｏ  Ｐｅｅｒ）アプリケーションがある。従来のサーバクライアント型の通信は、情報資源を集中管理するサーバと、サーバが管理する情報資源を利用するクライアントから成り、サーバに対して負荷が集中する場合があった。それに対してＰ２Ｐ型の通信は、各端末がサーバおよびクライアントの両方の役割を担う。Ｐ２Ｐネットワークでは、情報資源にアクセスする場合、隣接のクライアントを経由して情報資源が伝搬され、中継ノードのクライアントにも情報資源が保存されることによって情報資源の拡散を図る。そして、拡散された情報を利用してクライアントがサーバとしての役割を担えるようになるため、局所的に負荷が集中することを防止できるのが特徴である。Ｐ２Ｐは非常に優れた通信技術だが、Ｐ２Ｐネットワーク上で例えば著作権違反物が流通し、結果として、ネットワーク全体のトラフィックが増大している要因に繋がる場合がある。このような背景からトラフィック増大の要因となっているＰ２Ｐアプリケーション通信を規制しようという動きがＩＳＰで起こりつつある。
【０００６】
そのような帯域制御機能を提供する技術として、例えば、特許文献３では、ハニーポッドのようなダミーノードを設置してＰ２Ｐアプリケーションに該当するトラフィックを誘導して、トラフィックのアプリケーション層まで解析して帯域制御する技術が記載されている。
【０００７】
また、特許文献４では、Ｐ２Ｐアプリケーションの特徴点を統計的に捕らえ、特にＰ２ＰアプリケーションのＳＹＮ／ＡＣＫ処理の特徴点に着目して統計的手法によって当該トラフィックがＰ２Ｐアプリケーションであるか否か判定する帯域制御が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００３−１９８６１１号公報
【特許文献２】特開２００３−３１８９６７号公報
【特許文献３】特開２００５−２０２５８９号公報
【特許文献４】特開２００８−４８１３１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献１のような帯域制御技術により、ネットワーク輻輳時に利用者間の通信帯域の偏りを是正することは可能になるが、ネットワークに過大負荷を与えているヘビーユーザとライトユーザを区別することなく帯域制御が行なわれるため、長期的なスパンで見ると、ヘビーユーザがＩＳＰの回線帯域を占有しやすい構図は是正できない。トラフィック増大が課題となっているＩＳＰにとって、ヘビーユーザが回線帯域を占有する構図を是正することができる帯域制御技術が必要となっている。
【００１０】
また、特許文献２には、帯域計算の際にバッファに蓄積されたパケット量から許容送信レートを計算して、パケット送信する入力側ノードに対して送信抑制する制御を行うものであるが、バッファに蓄積されたパケット量からはヘビーユーザか否かを特定は困難である。また、通信機器間で制御パケットがやりとりされるためにネットワークに負荷を及ぼし、入力側ノードに制御パケットの情報に基づいて帯域抑制機能を設ける必要があるなど機器構成に柔軟性が掛けてしまう課題がある。
【００１１】
なお、運用による解決手法として、通信量がある一定の閾値を超えたら超過分へ従量制を導入することまたはヘビーユーザを特定して利用停止を図るなどの対策を講じようとすることも考えられるが、通信量の上限があれば上限値に達しない範囲で最大限に利用しようとするヘビーユーザが存在するだけであって課題の抜本的な解決には繋がらない。また、通信量の上限を設けることはネットワークの自由な利用を妨げるもので通信サービスの魅力を損なう場合がある。
【００１２】
また、Ｐ２Ｐアプリケーションの帯域抑制の為、特許文献３のようにユーザトラフィックを引き込んで解析するトラフィック解析型手法は、複数のパケットを組み立ててトラフィックのアプリケーション層まで検査して監視しなければならず、解析処理が非常に複雑であるために性能上のボトルネックとなりやすい。また、ネットワークの性能劣化に繋がるほかに、トラフィック解析が完了するまでの処理待ちによる遅延が生じる可能性が高く、ＴＣＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ）通信の実効速度の低下や電話などの双方向のリアルタイム通信における会話のしやすさに影響を及ぼす場合がある。また、このようなトラフィック解析専用の装置を全国に設置にするには、莫大なコスト増が避けられず、各ＩＳＰの収益を圧迫する要因となる場合がある。
【００１３】
また、特許文献４のような統計的解析手法によるＰ２Ｐ通信の特定手法は、帯域制御対象とならないアプリケーション通信の特徴点を真似て作られると、帯域制限対象か否かの判別が難しく通信手順などを変更すれば簡単に回避可能となってしまう可能性が高い。
本発明は、以上の点に鑑み、通信量が多いヘビーユーザが帯域を占有しやすいという傾向を是正し、且つ、回線に余裕があるときは各ユーザの最大帯域まで帯域を使用可能な帯域制御装置および通信制御半導体を提供することを目的とする。
【００１４】
また、本発明は、ヘビーユーザに対して利用可能帯域を小さくし、ライトユーザに対して利用可能帯域を大きく割当てるなど、通信状況に基づいてきめ細かい帯域制御をすることを目的のひとつとする。また、本発明は、ヘビーユーザとライトユーザ間での通信量の差を是正し、常時接続サービスを提供するＩＳＰにとって最適な帯域制御方式を提供することを目的のひとつとする。
【００１５】
さらに、本発明は、各利用者の通信量と最低帯域／最大帯域から利用可能帯域を算出する帯域制御機能を持った帯域制御装置等を提供することを目的のひとつとする。また、本発明は、各利用者のセッション接続時間から利用可能帯域を算出する帯域制御機能を持った帯域制御装置等を提供することを目的のひとつとする。
【課題を解決するための手段】
【００１６】
本帯域制御装置および通信制御半導体は、受信した可変長パケットを予め指定された最低帯域や最大帯域による帯域制御機能を具備する帯域制御装置において、各ユーザの出力帯域を制御するものであって、受信したパケットをユーザ毎に分類する検索エンジンと、受信したパケットを送信スケジューリング中に蓄積するためのパケットバッファと、ユーザ毎の平均通信量や送信統計やセッション接続時間を管理する廃棄制御部と、各ユーザにおいて予め設定された最低帯域や最大帯域から利用可能な帯域を計算する帯域計算部と、前記の利用可能帯域によるユーザ間のスケジューリングと最大帯域による送信制御を行なって、送信ユーザのパケット情報をパケットバッファから読み出す送信制御部を具備し、前記帯域制御計算部が廃棄制御部で管理するユーザ毎の平均通信量に基づいて余剰帯域の分配比率を決定して、その余剰帯域の分配比率から利用可能帯域を計算することによって、通信量の多いユーザに対して帯域抑制を行なう。
【００１７】
上述の帯域制御装置および通信制御半導体において、前記帯域計算部が廃棄制御部で管理するユーザ毎のセッション接続時間に基づいて余剰帯域の分配比率を決定してその余剰帯域の分配比率から利用可能帯域を計算することによって、長時間連続的に通信を実施しているユーザに対して帯域抑制を行なう。
【００１８】
本発明の第１の解決手段によると、
受信されたパケットをユーザ毎に格納するパケットバッファと、
ユーザ毎にパケットの通信量を管理する廃棄制御部と、
ユーザに帯域を割り当てる帯域計算部であって、予め定められた単位時間当たりの平均通信量が相対的に大きいユーザは割り当てる帯域を小さくし、かつ、該平均通信量が相対的に小さいユーザは割り当てる帯域を大きくする帯域計算部と、
前記パケットバッファに格納されたユーザ毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信する送信ユーザを選択し、該送信ユーザのパケットを前記パケットバッファから読み出して送信する送信制御部と
を備える帯域制御装置が提供される。
【００１９】
本発明の第２の解決手段によると、
受信されたパケットをユーザ毎に格納するパケットバッファと、
ユーザ毎にパケットの通信量を管理し、予め定められた時間毎にパケットの通信量を参照してセッション接続時間を求める廃棄制御部と、
ユーザに帯域を割り当てる帯域計算部であって、セッション接続時間が相対的に大きいユーザは割り当てる帯域を小さくし、かつ、セッション接続時間が相対的に小さいユーザは割り当てる帯域を大きくする帯域計算部と、
前記パケットバッファに格納されたユーザ毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信する送信ユーザを選択し、該送信ユーザのパケットを前記パケットバッファから読み出して送信する送信制御部と
を備える帯域制御装置が提供される。
【００２０】
本発明の第３の解決手段によると、
受信されたパケットをトラフィック種別又はフロー毎に格納するパケットバッファと、
トラフィック種別又はフロー毎にパケットの通信量を管理する廃棄制御部と、
トラフィック種別又はフローに対して帯域を割り当てる帯域計算部であって、予め定められた単位時間当たりの平均通信量が相対的に大きいトラフィック種別又はフローは割り当てる帯域を小さくし、かつ、該平均通信量が相対的に小さいトラフィック種別又はフローは割り当てる帯域を大きくする帯域計算部と、
前記パケットバッファに格納されたトラフィック種別又はフロー毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信するトラフィック種別又はフローを選択し、トラフィック種別又はフローのパケットを前記パケットバッファから読み出して送信する送信制御部と
を備える帯域制御装置が提供される。
【００２１】
本発明の第４の解決手段によると、
受信されたパケットをトラフィック種別又はフロー毎に格納するパケットバッファと、
トラフィック種別又はフロー毎にパケットの通信量を管理し、予め定められた時間毎にパケットの通信量を参照してセッション接続時間を求める廃棄制御部と、
トラフィック種別又はフローに対して帯域を割り当てる帯域計算部であって、セッション接続時間が相対的に大きいトラフィック種別又はフローは割り当てる帯域を小さくし、かつ、セッション接続時間が相対的に小さいトラフィック種別又はフローは割り当てる帯域を大きくする帯域計算部と、
前記パケットバッファに格納されたトラフィック種別又はフロー毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信するトラフィック種別又はフローを選択し、トラフィック種別又はフローのパケットを前記パケットバッファから読み出して送信する送信制御部と
を備える帯域制御装置が提供される。
【００２２】
本発明の第５の解決手段によると、
受信されたパケットをユーザ毎に格納するためのバッファ制御機能と、
ユーザ毎にパケットの通信量を管理する廃棄制御機能と、
ユーザに帯域を割り当てる帯域計算機能であって、予め定められた単位時間当たりの平均通信量が相対的に大きいユーザは割り当てる帯域を小さくし、かつ、該平均通信量が相対的に小さいユーザは割り当てる帯域を大きくする帯域計算機能と、
前記バッファ制御機能で格納されたユーザ毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信する送信ユーザを選択し、該送信ユーザのパケットを読み出して送信する送信制御機能と
を備える通信制御半導体が提供される。
【００２３】
本発明の第６の解決手段によると、
受信されたパケットをユーザ毎に格納するためのバッファ制御機能と、
ユーザ毎にパケットの通信量を管理し、予め定められた時間毎にパケットの通信量を参照してセッション接続時間を求める廃棄制御機能と、
ユーザに帯域を割り当てる帯域計算機能であって、セッション接続時間が相対的に大きいユーザは割り当てる帯域を小さくし、かつ、セッション接続時間が相対的に小さいユーザは割り当てる帯域を大きくする帯域計算機能と、
前記バッファ制御機能で格納されたユーザ毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信する送信ユーザを選択し、該送信ユーザのパケットを読み出して送信する送信制御機能と
を備える通信制御半導体が提供される。
【００２４】
本発明の第７の解決手段によると、
受信されたパケットをトラフィック種別又はフロー毎に格納するためのバッファ制御機能と、
トラフィック種別又はフロー毎にパケットの通信量を管理する廃棄制御機能と、
トラフィック種別又はフローに対して帯域を割り当てる帯域計算機能であって、予め定められた単位時間当たりの平均通信量が相対的に大きいトラフィック種別又はフローは割り当てる帯域を小さくし、かつ、該平均通信量が相対的に小さいトラフィック種別又はフローは割り当てる帯域を大きくする帯域計算機能と、
前記バッファ制御機能で格納されたトラフィック種別又はフロー毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信するトラフィック種別又はフローを選択し、トラフィック種別又はフローのパケットを読み出して送信する送信制御機能と
を備える通信制御半導体が提供される。
【００２５】
本発明の第８の解決手段によると、
受信されたパケットをトラフィック種別又はフロー毎に格納するためのバッファ制御機能と、
トラフィック種別又はフロー毎にパケットの通信量を管理し、予め定められた時間毎にパケットの通信量を参照してセッション接続時間を求める廃棄制御機能と、
トラフィック種別又はフローに対して帯域を割り当てる帯域計算機能であって、セッション接続時間が相対的に大きいトラフィック種別又はフローは割り当てる帯域を小さくし、かつ、セッション接続時間が相対的に小さいトラフィック種別又はフローは割り当てる帯域を大きくする帯域計算機能と、
前記バッファ制御機能で格納されたトラフィック種別又はフロー毎のパケットの有無と割り当てられた帯域とに応じて、パケットを送信するトラフィック種別又はフローを選択し、トラフィック種別又はフローのパケットを読み出して送信する送信制御機能と
を備える通信制御半導体が提供される。
【発明の効果】
【００２６】
本発明によると、通信量が多いヘビーユーザが帯域を占有しやすいという傾向を是正し、且つ、回線に余裕があるときは各ユーザの最大帯域まで帯域を使用可能な帯域制御装置および通信制御半導体を提供することができる。
【００２７】
本発明によると、ヘビーユーザに対して利用可能帯域を小さくし、ライトユーザに対して利用可能帯域を大きく割当てるなど、通信状況に基づいてきめ細かい帯域制御が可能となる。これによってヘビーユーザとライトユーザ間での通信量の差を是正し、常時接続サービスを提供するＩＳＰにとって最適な帯域制御方式を提供することが可能となる。
【００２８】
本発明の一形態によると、各利用者の通信量と最低帯域／最大帯域から利用可能帯域を算出する帯域制御機能を持った帯域制御装置等を提供できる。本発明の他の形態によると、各利用者のセッション接続時間から利用可能帯域を算出する帯域制御機能を持った帯域制御装置等を提供できる。
【図面の簡単な説明】
【００２９】
【図１】帯域制御装置のブロック図である。
【図２】ユーザ収容ネットワークの構成図である。
【図３】帯域制御装置の帯域制御動作を示すフローチャートである。
【図４】第１の実施の形態に係る帯域制御装置における利用可能帯域の計算に利用されるフローチャートである。
【図５】第１の実施の形態に係る帯域制御装置における利用可能帯域の計算例を示す図である。
【図６】第２の実施の形態に係る帯域制御装置における利用可能帯域の計算に利用されるフローチャートである。
【図７】第２の実施の形態に係る帯域制御装置における利用可能帯域の計算例を示す図である。
【図８】従来技術におけるヘビーユーザとライトユーザの帯域割当の状況を示す図である。
【図９】第１および第２の実施の形態におけるヘビーユーザとライトユーザの帯域割当の状況を示す図である。
【図１０】統計管理メモリ１０８に格納される情報を示す図である。
【図１１】帯域設定メモリ１１３に格納される情報を示す図である。
【図１２】送信予定時刻メモリ１１１の説明図である。
【図１３】グループ情報の説明図である。
【図１４】従来技術におけるヘビーユーザとライトユーザの帯域割当の平均状況を示す説明図である。
【図１５】第１および第２の実施の形態におけるヘビーユーザとライトユーザの帯域割当の平均状況を示す説明図である。
【発明を実施するための形態】
【００３０】
１．第１の実施の形態
（装置構成）
図２は、ユーザ収容ネットワークの構成図である。
図２は、ＦＴＴＨ（Ｆｉｂｅｒ  Ｔｏ  Ｔｈｅ  Ｈｏｍｅ）やＡＤＳＬ（Ａｓｙｍｍｅｔｒｉｃ  Ｄｉｇｉｔａｌ  Ｓｕｂｓｃｒｉｂｅｒ  Ｌｉｎｅ）等のユーザ収容ネットワークの概念イメージであり、帯域制御装置の適用領域となるネットワークの物理構成を示す。
【００３１】
図２のユーザ収容ネットワークでは、帯域制御装置２０４が、例えば、コアルータ２０５と加入者収容スイッチ２０３の間に配置される。なお、帯域制御機能をコアルータ２０５または加入者収容スイッチ２０３の中に内蔵しても良い。
帯域制御装置２０４は、例えば、上位回線側のコアルータ２０５と下位回線側の加入者収容スイッチ２０３の間に設置され、端末２０１、２０２と、インターネット２０６との通信が帯域制御装置２０４を経由するネットワーク構成となっている。なお、帯域制御装置２０４は、入力されたトラフィックを一旦バッファメモリに格納して、各利用者に設定された最低帯域、最大帯域によって帯域制御を行うパケット中継装置である。
【００３２】
図１に、帯域制御装置のブロック図を示す。
帯域制御装置１０１は、例えば、転送エンジン１０２と、検索エンジン１０３と、インタフェース１０４と、帯域制御エンジン１０５を備える。図１における帯域制御エンジン１０５は、各回線に対して独立して複数設置されているが、帯域制御装置１０１に対して一つだけ配置する集中エンジン型に配置を行っても良いし、転送エンジン１０２と検索エンジン１０３とインタフェース１０４と帯域制御エンジン１０５を統一して含む１つの半導体で構成しても良く、これらに限定するものではない。また、検索エンジン１０３と、後述する廃棄制御部、帯域計算部、送信制御部との処理をソフトウェアを用いる事によって実現してもよい。なお、インタフェース１０４および帯域制御エンジン１０５は、図示の例に限らず適宜の数備えてもよい。
【００３３】
転送エンジン１０２は、例えば、受信パケット種別の判定を行ない、パケットの宛先検索に必要な情報を抽出して検索エンジン１０３に転送する機能を備える。検索エンジン１０３に提供する情報は、例えば、パケット種別の判定結果（例えば、Ｅｔｈｅｒｖ２かＩＥＥＥ８０２．３、ＩＰｖ４かＩＰｖ６等）と、パケット内のヘッダ情報（例えば、レイヤ２〜レイヤ４）である。転送エンジン１０２は、検索エンジン１０３にて検索が完了するまでの間、パケット情報を保存し、検索エンジン１０３の応答によって得られた宛先に該当する帯域制御エンジン１０５にパケット情報を転送する。なお、後述する検索エンジン１０３より得られるユーザＩＤ情報も、転送エンジン１０２によって帯域制御エンジン１０５に転送される。
【００３４】
検索エンジン１０３は、転送エンジン１０２から得た上述の情報に基づいて経路検索処理と、帯域制御エンジン１０５の制御で用いるユーザＩＤ情報を決定するためのフロー検索処理を行なう。経路検索処理では、検索エンジン１０３は、例えば、レイヤ２転送では宛先ＭＡＣアドレス、レイヤ３転送では宛先ＩＰアドレスを用い、検索エンジン１０３の中にある転送テーブル（フォワーディングテーブルもしくはルーティングテーブルと呼ばれる）との比較一致処理によって宛先を検索する。検索エンジン１０３は、一致した宛先回線の情報を転送エンジン１０２に転送する。また、フロー検索処理では、検索エンジン１０３は、例えば、ユーザＩＤ情報毎にパケットのレイヤ２〜レイヤ４までの検索キーとなる情報をあらかじめ設定しておき、経路検索処理と同様にフロー検索テーブルとの比較一致処理によって当該パケット情報のユーザＩＤ情報を得て、ユーザＩＤ情報を転送エンジン１０２に転送する。なお、これらの比較一致処理を短時間で完了させるため、転送テーブルとフロー検索テーブルに例えば、ＣＡＭ（Ｃｏｎｔａｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）と呼ばれる一致比較処理に特化したメモリ素子を用いても良い。
【００３５】
帯域制御エンジン１０５は、検索エンジン１０３によって付与されたユーザＩＤ情報に基づいて、ユーザ個別に予め設定された最低帯域および最大帯域によって帯域制御を行なう。インタフェース１０４は、例えば、コアルータ２０５等の外部の機器と通信するためのインタフェースである。
【００３６】
なお、本実施の形態では、一例として、２段階の階層を持つ帯域制御装置を例として記載する。具体的には、例えば、第１階層ではユーザを束ねたグループで最大帯域による帯域制御を行ない、第２階層ではユーザ個別に最低帯域と最大帯域にて帯域制御を行なう。なお、本実施の形態に係る帯域制御装置の特長は、帯域制御の階層数に縛られることはない。つまり、１階層または３階層以上の帯域制御機能を備えても良く、これらに制限するものではない。
【００３７】
以下に、帯域制御エンジン１０５について詳しく説明する。
帯域制御エンジン１０５は、例えば、廃棄制御部１０６と、キュー管理メモリ１０７と、統計管理メモリ１０８と、送信制御部１０９と、パケットバッファ１１０と、送信予定時刻メモリ１１１と、帯域計算部１１２と、帯域設定メモリ１１３とを備える。なお、帯域制御エンジン１０５を半導体チップで構成する場合、パケットバッファ１１０は半導体内部又は外部のいずれに備えてもよく、パケットバッファにパケットを格納し、読み出すバッファ制御機能を有してもよい。
【００３８】
図１０に、統計管理メモリ１０８に格納される情報を示す。
統計管理メモリ１０８は、例えば、ユーザ毎に送信パケット数、送信バイト数、平均通信量、廃棄パケット数、廃棄バイト数およびセッション接続時間を記憶する。これらの各情報は、例えば、ユーザＩＤ情報に対応して記憶されてもよいし、ユーザＩＤ情報に基づき特定されるアドレス領域に記憶されてもよい。送信パケット数および送信バイト数は、送信されるパケット情報の累積量を示し、例えば、帯域制御装置１０１を起動したときからの累積量、適宜のタイミングでリセットされた後の累積量などを示す。平均通信量は、単位時間当たりの送信したパケット情報の累積量を示す。廃棄パケット数および廃棄バイト数は、廃棄したパケット情報の累積量を示し、例えば、帯域制御装置１０１を起動したときからの累積量、適宜のタイミングでリセットされた後の累積量などを示す。セッション接続時間は、例えば、各ユーザが連続的に通信を行なっている経過時間を示す。なお、第１の実施の形態の統計管理メモリ１０８は、セッション接続時間を省略してもよい。
【００３９】
図１１に、帯域設定メモリ１１３に格納される情報を示す。
帯域設定メモリ１１３は、例えば、ユーザ毎に最低帯域情報、最大帯域情報および余剰帯域の分配比率を記憶する。これらの各情報は、例えば、ユーザＩＤ情報に対応して記憶されてもよいし、ユーザＩＤ情報に基づき特定されるアドレス領域に記憶されてもよい。最低帯域情報は、ユーザに予め割当てられた最低帯域の値を示す。最大帯域情報は、ユーザが使用可能な予め定められた最大帯域の値を示す。余剰帯域の分配比率は、ユーザが属するグループの余剰帯域を当該ユーザに割当てる割合を示す。
【００４０】
図１２に、送信予定時刻メモリ１１１の説明図を示す。
送信予定時刻メモリ１１１には、例えば、ユーザを束ねたグループ毎に、グループの最大帯域による送信予定時刻と、グループのパケット有無の情報と、グループに属するひとつまたは複数のユーザのユーザＩＤ情報と、ユーザ毎の利用可能帯域による送信予定時刻と、ユーザ毎の最大帯域による送信予定時刻と、ユーザ毎のパケット有無の情報が格納される。なお、送信予定時刻メモリ１１１の構成は図示の例に限らず、適宜の構成にしてもよい。
なお、送信予定時刻は、割当てられる帯域に応じて求められる送信予定時刻に基づいて、パケット情報を送信する送信ユーザの探索および送信判定が行われる。
【００４１】
図１３に、グループ情報の説明図を示す。
グループ情報は、例えば、グループ毎に、グループの最大帯域情報およびグループに属するユーザのユーザＩＤ情報を含み、適宜のメモリに記憶される。グループの最大帯域情報は、グループが使用可能な予め定められた最大帯域の値を示す。なお、ユーザＩＤ情報は、ひとつのグループに対してひとつまたは複数記憶される。また、グループ情報は図示の例に限らず、適宜の構成で記憶することができる。
【００４２】
（帯域制御の動作）
図３は、帯域制御装置の帯域制御動作を示すフローチャートである。
帯域制御エンジン１０５の各部の動作を図３を参照しながら説明する。
廃棄制御部１０６は、転送エンジン１０２からパケット情報とユーザＩＤ情報を受信する（ステップ３０１）。次に、廃棄制御部１０６にて、パケットバッファ１１０にパケット情報が書き込めるか否かの廃棄判定を実施する（ステップ３０２）。帯域制御装置１０１は、一旦、パケットバッファ１１０にパケット情報を記録してから送信スケジューリングを実施するので、パケットバッファ１１０に書き込み可能なデータ領域が余っているか否かを判別する必要がある。帯域制御装置１０１は、特定ユーザによるパケットバッファ１１０の領域の占有を防止するために、ユーザ毎に最大キュー長とパケット滞留数をキュー管理メモリ１０７にて管理する。また、複数ユーザを束ねたグループでキュー管理する場合にも同様な手順によって、キュー長とパケット滞留数を管理して廃棄判定および後述する統計情報の採取を行う必要がある。
【００４３】
ステップ３０２にて「廃棄（パケットバッファ１１０に空きのデータ領域がなくパケット情報を書き込むことができない）」と判定された場合、廃棄制御部１０６にて、受信したパケット情報のパケット数およびバイト数をユーザ個別に統計管理メモリ１０８の廃棄統計情報（例：廃棄パケット数、廃棄バイト数）に保存する（ステップ３０３）。また、廃棄制御部１０６は、受信したパケット情報を廃棄して処理を完了する。なお、ステップ３０３の廃棄統計の処理については、省略してもよい。
【００４４】
一方、ステップ３０２にて「送信（パケットバッファ１１０にパケット情報を書き込むことができる）」と判定された場合、廃棄制御部１０６にて、受信したパケット情報のパケット数およびバイト数をユーザ個別に統計管理メモリ１０８の送信統計情報（例：送信パケット数、送信バイト数）に保存する（ステップ３０４）。上記処理完了の後、廃棄制御部１０６は、パケット情報とユーザＩＤ情報を送信制御部１０９に転送する。なお、第１の実施の形態では上記処理にて採取した送信バイト数の情報を参照して、後に各ユーザの通信帯域を判断する処理（利用可能帯域の計算処理）が行なわれる。
【００４５】
パケット情報とユーザＩＤ情報を受信した送信制御部１０９は、送信ユーザを決定するまでパケット情報を格納しておくパケットバッファ１１０に、パケット情報の書き込み命令を行なう（ステップ３０５）。なお、送信制御部１０９は、パケットバッファ１１０からパケット情報を読み出す際にどの領域にデータを書き込んだかを把握するために、パケット情報を書き込んだアドレス情報を別に管理する。
【００４６】
送信制御部１０９は、パケット受信ユーザの送信予定時刻の更新（受信時）処理を行なう（ステップ３０６）。例えば、送信制御部１０９は、パケット受信時に、ユーザＩＤ情報に基づき送信予定時刻メモリ１１１に格納されている該パケット情報が属するユーザの利用可能帯域による送信予定時刻と、ユーザの最大帯域による送信予定時刻と、ユーザのパケット有無の情報と、該パケット情報が属するグループの最大帯域による送信予定時刻とを参照する。送信制御部１０９は、参照された、ユーザの利用可能帯域による送信予定時刻と、ユーザの最大帯域による送信予定時刻と、グループの最大帯域による送信予定時刻がそれぞれ、現時刻より過去を示し、且つ、ユーザのパケット有無の情報が「無」（パケット情報なし）を示す場合に、該当するユーザの利用可能帯域による送信予定時刻、ユーザの最大帯域による送信予定時刻およびグループの最大帯域による送信予定時刻を現時刻に更新する。例えば、あるユーザからのパケットが所定時間以上受信されないと、送信予定時刻が現時刻より過去になり、ステップ３０６の処理により送信予定時刻が現時刻に更新される。送信制御部１０９は、それ以外の条件では各送信予定時刻は更新しない。また、送信制御部１０９は、該パケット情報が属するグループのパケット有無の情報とユーザのパケット有無の情報は、元々が「無」であれば、「有」（パケット情報あり）に変更する。
【００４７】
送信制御部１０９は、複数ユーザ中から送信ユーザを決定するスケジューリング処理（送信ユーザの探索）を行なう（ステップ３０７）。送信ユーザを決定するために、送信制御部１０９によって、送信予定時刻メモリ１１１に格納されているユーザ毎の利用可能帯域による送信予定時刻とユーザ毎のパケット有無の情報が用いられる。送信制御部１０９は、送信ユーザとして、送信予定時刻メモリ１１１を参照しユーザのパケット有無の情報が「有」のユーザの中で、ユーザの利用可能帯域による送信予定時刻が最も古い時刻を指し示すユーザを選び、対応するユーザＩＤ情報を取得する。なお、利用可能帯域については帯域計算部１１２から提供され、その算出方法については後述にて明らかにする。上記手順によって利用可能帯域による送信スケジューリングが行なわれ、送信ユーザが選出される。
【００４８】
送信制御部１０９にて、ステップ３０７にて選ばれた送信ユーザのパケット情報が送信可能か否かの送信判定処理を実施する（ステップ３０８）。送信判定処理では、送信制御部１０９は、送信予定時刻メモリ１１１に記録されている当該ユーザ（送信ユーザ）の最大帯域による送信予定時刻および当該ユーザが属するグループの最大帯域による送信予定時刻を参照する。送信制御部１０９は、どちらか一方でも送信予定時刻が現時刻に達していない場合には送信不可と判定し、どちらも送信予定時刻が現時刻を経過している場合には送信可と判定する。どちらか一方でも送信予定時刻が現時刻に達していない場合は、現時刻でパケット情報を送信すると最大帯域を超過することに相当する。一方、どちらも送信予定時刻が現時刻を経過している場合は、パケット情報を送信しても最大帯域を超過しない。また、ユーザの最大帯域による送信予定時刻を用いて送信判定をすることにより、例えば、ヘビーユーザは利用可能帯域を超過してもユーザの最大帯域を超過しない範囲で帯域を使用でき、回線が空いている場合に有効に帯域を使用することができる。
【００４９】
なお、送信判定の手段は他にも考えられる。例えば、各ユーザの最大帯域による送信予定時刻を使用せず、利用可能帯域によって計算される各ユーザの利用可能帯域による送信予定時刻を用いることも可能である。その場合、利用可能帯域で出力帯域が抑制されるので、回線に空きがあっても、ユーザの帯域抑制を行いたい場合には有効な手段である。また、ユーザ毎に送信判定を最大帯域もしくは利用可能帯域のどちらで行なうかによって、より柔軟な帯域制御機能を提供することができる。
【００５０】
ステップ３０８にて送信不可と判断された場合、送信制御部１０９は、ステップ３０７の送信ユーザを決定するスケジューリング処理に戻り、処理を継続する。送信ユーザの探索をやり直す理由は、既に選出されている送信ユーザが送信可能な状態になるまでの間に、パケット受信によって当該受信ユーザの各送信予定時刻が更新されて、送信ユーザに相応しい別ユーザが現れる可能性があるので、送信制御部１０９は、定期的に送信ユーザを確認（探索）する。
【００５１】
一方、ステップ３０８にて送信可と判断された場合、送信制御部１０９は、送信ユーザのパケット情報をパケットバッファ１１０から読み出す（ステップ３０９）。パケット情報が書き込みされた位置の情報は、ステップ３０５の処理時点でユーザ毎に把握され、送信制御部１０９は、その情報に基づいて送信ユーザのパケット情報を読み出す。
送信制御部１０９は、読み出したパケット情報をインタフェース１０４に転送し、外部の接続機器に対してパケット情報を送信する（ステップ３１０）。
【００５２】
送信制御部１０９は、送信予定時刻の更新（送信時）処理を行う（ステップ３１１）。  例えば、パケット情報の送信後、送信制御部１０９は、送信ユーザの利用可能帯域による送信予定時刻と、送信ユーザの最大帯域による送信予定時刻と、送信ユーザのパケット有無の情報と、送信ユーザが属するグループの最大帯域による送信予定時刻と、グループのパケット有無の情報を以下のように更新する。
【００５３】
まず、各パケット有無の情報の更新について説明する。
送信ユーザのパケット有無の情報は、送信ユーザのパケット滞留数が１個だった場合には、パケット情報の送信によってパケットバッファ１１０に滞留しているパケット情報が無くなってしまうため、送信制御部１０９は、送信予定時刻メモリ１１１の送信ユーザのユーザＩＤ情報に対応するユーザのパケット有無の情報を「無」に更新し、それ以外の条件では更新を行なわない。また、グループのパケット有無の情報については、一例として、送信制御部１０９は、グループに属する全てのユーザのパケット有無の情報が「無」になった場合に、グループのパケット有無の情報を「無」に更新してもよいし、グループ毎にパケット滞留数を管理してもよい。
【００５４】
次に、各送信予定時刻の更新について説明する。
送信予定時刻の更新に必要となる情報は、それぞれの送信予定時刻に対する帯域情報と送信パケット長の情報である。なお、帯域情報については、帯域計算部１１２から送信制御部１０９に伝えられる。パケット情報送信時の送信予定時刻の更新処理は、パケット送信前の送信予定時刻に、送信パケット長とそれぞれの帯域情報の帰除結果の和を取って更新される。各送信予定時刻は、例えば、次式により表される。
（送信予定時刻）＝（パケット送信前の送信予定時刻）＋（送信パケット長）／（各種帯域）
【００５５】
上記式における「各種帯域」とは帯域計算部１１２から伝えられる帯域情報であり、ユーザ毎の利用可能帯域および最大帯域、グループ毎の最大帯域がそれに該当する。なお、ユーザ毎およびグループ毎の最大帯域の値はあらかじめ設定される値である。一方、利用可能帯域は帯域計算部１１２にて計算される。利用可能帯域の計算処理については後述する。なお、送信予定時刻を計算する上で、イーサネットパケット上のオーバヘッド部分であるプリアンブルとＳＦＤ（Ｓｔａｒｔ  Ｆｒａｍｅ  Ｄｅｌｉｍｅｔｅｒ）とＩＦＧ（Ｉｎｔｅｒ  Ｆｒａｍｅ  Ｇａｐ）を帯域計算に含めるかどうかは仕様によって選択できるようにしておくと良い。
【００５６】
各送信予定時刻の更新について、各ブロックの具体的な動作について以下に説明する。
送信制御部１０９は、送信ユーザのユーザＩＤ情報を帯域計算部１１２に通知する。帯域計算部１１２は、ユーザＩＤ情報に基づいて、帯域設定メモリ１１３より対応するユーザの最大帯域情報とユーザの最低帯域情報を取得する。また、帯域計算部１１２は、ユーザＩＤ情報に基づいて、グループ情報より対応するグループの最大帯域情報を取得する。さらに、帯域計算部１１２は、取得されたそれぞれの帯域情報に基づいてユーザの利用可能帯域を計算する（利用可能帯域の計算処理）。帯域計算部１１２は、取得したユーザの最大帯域情報およびグループの最大帯域情報と、計算した利用可能帯域を送信制御部１０９に通知する。
【００５７】
送信制御部１０９は、通知された利用可能帯域と、送信予定時刻メモリ１１１に記憶されているパケット送信前のユーザの利用可能帯域による送信予定時刻と、ステップ３１０において送信したパケット情報のパケット長に基づいて、上述の式によりユーザの利用可能帯域による送信予定時刻を計算する。送信制御部１０９は、計算したユーザの利用可能帯域による送信予定時刻を、ユーザＩＤ情報に対応して送信予定時刻メモリ１１１に記憶する。また、送信制御部１０９は、通知されたユーザの最大帯域情報と、送信予定時刻メモリ１１１に記憶されているパケット送信前のユーザの最大帯域による送信予定時刻と、ステップ３１０において送信したパケット情報のパケット長に基づいて、上述の式によりユーザの最大帯域による送信予定時刻を計算する。送信制御部１０９は、計算したユーザの最大帯域による送信予定時刻を、ユーザＩＤ情報に対応して送信予定時刻メモリ１１１に記憶する。さらに、送信制御部１０９は、通知されたグループの最大帯域情報と、送信予定時刻メモリ１１１に記憶されているパケット送信前のグループの最大帯域による送信予定時刻と、ステップ３１０において送信したパケット情報のパケット長に基づいて、上述の式によりグループの最大帯域による送信予定時刻を計算する。送信制御部１０９は、計算したグループの最大帯域による送信予定時刻を、ユーザＩＤ情報に対応して送信予定時刻メモリ１１１に記憶する。
【００５８】
また、ユーザの利用可能帯域による送信予定時刻は、ユーザ間の送信順番を決めるために使用されるため、ユーザの利用可能帯域による送信予定時刻が現在（現時刻）に達していなくてもパケット情報の送信が行なわれるケースがある。利用可能帯域によるパケット送信前の送信予定時刻が「現在」に達していない場合、送信制御部１０９は、上記計算式のパケット送信前の送信予定時刻を現時刻に置き換えて計算を行ない、本フローチャートに示された処理を完了する。
【００５９】
図３に示される一連の処理を行なう事によって、帯域制御装置１０１は、入力されたトラフィック（パケット情報）の廃棄判定を実施して、廃棄と判定されなかったパケット情報をバッファメモリ（例えば、パケットバッファ１１０）に格納して、各利用者に設定された最低帯域および最大帯域から利用可能帯域が計算され、利用可能帯域に基づいた送信スケジューリングを行なう帯域制御機能を実現することが可能となる。
【００６０】
（利用可能帯域の計算）
次に、帯域計算部１１２による利用可能帯域の計算処理について説明する。第１の実施の形態では、ユーザ毎の通信量に基づいて計算される利用可能帯域による帯域制御機能を提供する。
【００６１】
図４に、第１の実施の形態における利用可能帯域の計算処理のフローチャートを示す。
帯域計算部１１２は、利用可能帯域を計算するために分配可能な余剰帯域がどれだけあるかを計算する（ステップ４０１）。あらかじめユーザ毎に設定された最低帯域および最大帯域の値が帯域設定メモリ１１３に格納されている。また、グループの最大帯域の値があらかじめ適宜のメモリに格納されている。帯域計算部１１２は、それらの値から全ユーザに対して分配可能な余剰帯域を計算する。なお、この分配可能な余剰帯域は、例えば、複数ユーザが属するグループの最大帯域から各ユーザの最低帯域の和を減算した値である。
【００６２】
動作の一例を説明すると、例えば、帯域計算部１１２は、送信制御部１０９から通知された送信ユーザのユーザＩＤ情報に基づいてグループ情報を参照し、対応するグループの最大帯域情報と、同一グループに属するユーザのユーザＩＤ情報を取得する。帯域計算部１１２は、取得した各ユーザＩＤ情報に対応する最低帯域情報を、それぞれ帯域設定メモリ１１３より取得する。帯域計算部１１２は、取得したグループの最大帯域情報から各最低帯域情報の和を減算し、分配可能な余剰帯域を求める。
【００６３】
なお、余剰帯域を求める計算式において、ユーザの最低帯域の和には、通信を行なっていないユーザの最低帯域は除外する。これによって通信をおこなっていないユーザの最低帯域が余剰帯域として他ユーザに分配が可能となり、帯域有効活用を図ることができる。
【００６４】
次に、ユーザ毎の通信量を把握するために、帯域計算部１１２は、統計管理メモリ１０８に格納されている送信バイト数の情報を参照し、平均通信量を計算する（ステップ４０２）。なお、送信バイト数は、例えば帯域制御装置１０１を起動したときからの累積通信量であるので、単純に送信バイト数が多いユーザをヘビーユーザであると決めることは出来ない。時間当たりの通信量を見なければ、加入暦が長い利用者ほど不利になってしまう。そこで、時間当たりの通信量として平均通信量を定義する。帯域計算部１１２は、各ユーザの通信量を計測する時間単位を統一して、予め定められた同一単位内の通信量を平均通信量として統計管理メモリ１０８に格納する。
【００６５】
本実施の形態において各ユーザの平均通信量を求める計算例では、過去１時間の通信量を利用して平均通信量を算出する例を記載しているが、時間的により広い範囲（たとえば、週や月単位など）のデータを使用して平均通信量を算出してもよい。
また、例えば、各ユーザの加入時の時刻をあらかじめ適宜のメモリに記憶しておき、帯域計算部１１２は、送信ユーザの送信バイト数を加入時間（現時刻−加入時の時刻）で割り、平均通信量を計算してもよい。
【００６６】
次に、帯域計算部１１２は、送信ユーザの平均通信量と平均通信量の上限値を比較して、平均通信量の上限値を超過した送信ユーザに対してより厳しいペナルティを課すための判定処理を行なう（ステップ４０３）。平均通信量の上限値は、あらかじめ設定によって与えられる数値である。送信ユーザの平均通信量が平均通信量の上限値を超過した場合（ステップ４０３のｙｅｓ）、帯域計算部１１２は、例えば、送信ユーザに対して通信遮断やヘビーユーザである送信ユーザに対してより厳しい帯域制御を適用するなどのペナルティを課す処理を実施する（ステップ４０４）。なお、利用料金を多く払っているユーザであるか否かやフロー種別等に応じて、平均通信量の上限値を異なる値に設定を行なったり、判定対象外としてもよい。平均通信量の上限値を設ける必要がない場合、ステップ４０３、ステップ４０４の処理は省略できる。
【００６７】
一方、送信ユーザの平均通信量が平均通信量の上限値を超過していない場合（ステップ４０３のｎｏ）、帯域計算部１１２は、余剰帯域の分配比率について計算を行なう（ステップ４０５）。余剰帯域の分配比率は、ステップ４０２にて算出した「各ユーザの平均通信量」を用いて、通信量が相対的に多いユーザに対して余剰帯域の分配比率を小さくし、通信量が相対的に少ないユーザに対して余剰帯域の分配比率を大きくするような制御を行なう。なお、本実施の形態においては、説明簡略化の為に、例えば余剰帯域の分配比率を「各ユーザの平均通信量」の逆数から算出しているが、余剰帯域の分配比率の計算は各ＩＳＰの運用ポリシーに沿った関数に変更しても構わない。例えば、平均通信量が増加するに従い帯域が減少する予め定められた関数を用いてもよい。また、各ユーザの余剰帯域の分配比率を求める処理と一緒に、帯域計算部１１２は、各ユーザの余剰帯域の分配比率の合計値も計算する。なお、各ユーザの余剰帯域の分配比率の合計値を計算する際、通信を行なっていないユーザの余剰帯域の分配比率は除外する。帯域計算部１１２は、計算した各ユーザの余剰帯域の分配比率を、ユーザＩＤ情報に対応して帯域設定メモリ１１３に記憶する。
【００６８】
次に、帯域計算部１１２は、各ユーザに割当られる余剰帯域について計算する（ステップ４０６）。各ユーザに割当られる余剰帯域の算出は、例えば、ステップ４０１にて算出した「分配可能な余剰帯域」と、ステップ４０５にて算出した「各ユーザの余剰帯域の分配比率」を「各ユーザの余剰帯域の分配比率の合計値」で割った数値との積を取って算出する。
【００６９】
次に、帯域計算部１１２は、各ユーザの利用可能帯域について計算する（ステップ４０７）。利用可能帯域は、例えば、ステップ４０６によって算出されたユーザに割当られる余剰帯域とユーザに設定された最低帯域の和、もしくはユーザに設定された最大帯域によって算出される。なお、図４のステップ４０７においてｍｉｎ｛；｝は、｛｝内の；で区切られた値のうちの最低値を返す処理を意味する。つまり、ユーザに割当られる余剰帯域と最低帯域の和が、ユーザの最大帯域を超過している場合、利用可能帯域がユーザの最大帯域となる様に計算が行なわれる。より具体的には、例えば、帯域計算部１１２は、送信ユーザのユーザＩＤ情報に基づいて、対応する最低帯域情報および最大帯域情報を帯域設定メモリ１１３より取得する。帯域計算部１１２は、ステップ４０６で計算した送信ユーザに割当られた余剰帯域と取得した最低帯域情報の和と、取得した最大帯域情報とを比較し、小さい方の値を利用可能帯域として送信制御部１０９に通知する。
【００７０】
図５に、本発明の第１の実施の形態について具体的な帯域計算例を示す。
図５に示す例では平均通信量の上限値を設けず、上述のステップ４０３、ステップ４０４の処理は省略している。また、ユーザＡ〜Ｃまでのユーザを収容し、平均通信量は過去１時間の通信量に基づいて計算するものとして、第１の実施の形態に係る帯域計算フロー（図４）に従って各ユーザの利用可能帯域を算出している。図５によって示すとおり、平均通信量が少ないユーザＡに対しては大きな利用可能帯域が割当てられ、平均通信量が多いユーザＣに対しては少ない利用可能帯域しか割当てられない。これにより、通信量が多いヘビーユーザが帯域を占有しやすいという傾向を是正することができる。また、ユーザの最大帯域による送信予定時刻に基づいて送信判定をすることにより、利用可能帯域を越えても回線に余裕があるときは各ユーザの最大帯域まで使用可能であるので回線帯域を最大限に有効活用でき、自由なネットワーク利用が妨げられることも無い。
【００７１】
図８は、従来技術におけるヘビーユーザとライトユーザの帯域割当の状況を示す図である。
従来技術では、図８のようにヘビーユーザとライトユーザに対する利用可能帯域の計算について、ヘビーユーザとライトユーザの区別は無く、利用可能帯域の計算は公平に行なわれていた。例えば、ヘビーユーザのみが通信をしている期間（例えば、図８の（１）、（３）の期間）においては、ヘビーユーザにのみ帯域が割当てられ、回線が輻輳している期間（例えば、図８の（２）の期間）においては、利用可能帯域の計算が公平に行なわれるため、ヘビーユーザとライトユーザそれぞれに同等の利用可能帯域が割当てられる。このため、輻輳している期間において利用者間の通信帯域の偏りはないが、ライトユーザであっても、当該期間では割当てられた帯域を超過して廃棄されるパケット数が多くなる。そのため、より長い期間（例えば、図８の（１）〜（３）の期間）の平均をみた場合では、例えば図１４に示すように、ヘビーユーザがライトユーザの通信をさまたげる。
【００７２】
図９は、本実施の形態におけるヘビーユーザとライトユーザの帯域割当の状況を示す図である。
本実施の形態に係る帯域制御機能を用いることにより、図９のように回線が輻輳しているときには、ヘビーユーザに対してライトユーザの利用可能帯域を大きくすることができる。例えば、ヘビーユーザのみが通信をしている期間（例えば、図９の（１）、（３）の期間）においては、上述のスケジューリング処理においてパケット情報が有るユーザ（この場合ヘビーユーザ）に帯域が割当てられる。一方、回線が輻輳している期間（例えば、図９の（２）の期間）においては、上述のスケジューリング処理において、通信量の少ないライトユーザにより多くの帯域が割当てられる。このため、輻輳している期間において、廃棄されるライトユーザのパケット数は少なく（または無く）なる。そのため、より長い期間（例えば、図９の（１）〜（３）の期間）の平均をみた場合では、例えば図１５に示すように、ライトユーザの通信が確保される。
【００７３】
このように、比較的長い時間でのヘビーユーザとライトユーザの公平性を保ちつつ、且つ、ライトユーザのパケット情報がなく帯域に余裕がある場合には、ヘビーユーザが帯域を使用することができ、帯域の効率的利用を図ることができる。なお、図３に示すステップ３０８において各ユーザの最大帯域による送信予定時刻を送信判定処理に使用せず、ユーザの利用可能帯域による送信予定時刻を送信判定処理に用いれば、回線に余裕があっても利用可能帯域以上の送信を許さないといった帯域制御が可能である。
【００７４】
２．第２の実施の形態
第２の実施の形態として、ユーザ毎のセッション接続時間に基づいて計算される利用可能帯域による帯域制御機能を提供する。なお、帯域制御装置１０１の構成、各メモリの構成および帯域制御の動作については、第１の実施の形態と同様である。第１の実施の形態における利用可能帯域の計算処理（図４）が、以下に示す処理にかわる。
【００７５】
セッション接続時間とは、各利用者が連続的に通信を行なっている経過時間のことを指している。Ｐ２Ｐ通信は隣接するクライアントを次々と経由して通信が行なわれ、特にネットワークに悪影響を及ぼすクライアント（以下、スーパーノード）の特徴として、回線速度が速く多数のクライアントと隣接すること、また、需要の高い情報資源を保持して他クライアントから次々と情報資源のダウンロード要求を受け、連続的に長時間通信が途切れずに行なわれる傾向を持っている。セッション接続時間によって確実にＰ２Ｐ通信であるか否かを判断できない場合もあるが、ネットワークに悪影響を及ぼすスーパーノードの通信帯域を抑制することができれば、結果的にネットワーク全体のＰ２Ｐ通信量を効果的に抑えられることに繋がる。また、サーバクライアント型の通信でもバッチ処理のように情報資源に連続的にアクセスする場合、同様に、ネットワークに対して過度な負荷を与えるので帯域を抑える対象として特定できる。なお、ＷＥＢ閲覧等の通信は人手によって情報資源にアクセスし、ＷＥＢページを閲覧している時間では通信が発生しないので長時間に及んで連続的に通信が発生する可能性は低い。したがって、ネットワークに負荷を及ぼす通信のみに効果的に帯域制御を掛けることができる。
【００７６】
図６に、第２の実施の形態に係る帯域制御装置における利用可能帯域の計算処理のフローチャートを示す。
まず、帯域計算部１１２は、利用可能帯域を計算するために分配可能な余剰帯域がどれだけあるかを計算する（ステップ４０１）。この処理内容は第１の実施の形態と共通処理であるので説明を割愛する。
【００７７】
次に、ユーザ毎のセッション接続時間を把握するために、帯域計算部１１２は、統計管理メモリ１０８に格納されているセッション接続時間の情報を参照する（ステップ６０１）。なお、セッション接続時間の算出方法としては、例えば、廃棄制御部１０６にて、統計管理メモリ１０８に記録された送信統計情報を定期的にポーリングして、送信パケット数等の情報が上昇しているか否かを監視し、送信パケット数が上昇し続けていた場合には統計管理メモリ１０８のセッション接続時間を上昇させ、送信パケット数が動いていない場合には統計管理メモリ１０８のセッション接続時間をクリアする。より具体的には、例えば、廃棄制御部１０６は、統計管理メモリ１０８の送信パケット数（または、送信バイト数）を参照した際に、参照した送信パケット数を適宜のメモリに記憶しておき、次に統計管理メモリ１０８の送信パケット数を参照する際に、参照した送信パケット数と、記憶した送信パケット数とを比較することで送信パケット数が上昇しているか否かを判断することができる。なお、セッション接続時間はユーザ個別に統計管理メモリ１０８にて保存される。また、セッション接続時間の監視間隔はパラメータによって自由に設定可能であり、実ネットワークの利用状況に合わせてチューニングが可能である状態にしておく事ができる。
【００７８】
次に、帯域計算部１１２は、送信ユーザのセッション接続時間とセッション接続時間の上限値を比較して、セッション接続時間の上限値を超過した送信ユーザに対してより厳しいペナルティを課す判定処理を行なう（ステップ６０２）。なお、セッション接続時間の上限値は、例えばあらかじめ適宜のメモリに設定される。送信ユーザのセッション接続時間がセッション接続時間の上限値を超過した場合（ステップ６０２のｙｅｓ）、帯域計算部１１２は、例えば、送信ユーザに対して通信遮断やヘビーユーザである送信ユーザに対してより厳しい帯域制御を適用するなどのペナルティを課す処理を実施する（ステップ４０４）。なお、利用料金を多く払っているユーザであるか否かやフロー種別等に応じて、セッション接続時間の上限値を異なる値に設定を行なったり、判定対象外としてもよい。セッション接続時間による上限値を設ける必要がない場合、ステップ６０２、ステップ４０４の処理は省略できる。
【００７９】
一方、送信ユーザのセッション接続時間がセッション接続時間の上限値を超過していない場合（ステップ６０２のｎｏ）、帯域計算部１１２は、余剰帯域の分配比率について計算を行なう（ステップ６０３）。余剰帯域の分配比率は、ステップ６０１にて参照した「各ユーザのセッション接続時間」を用いる。本実施の形態では、セッション接続時間が相対的に長いユーザに対して余剰帯域の分配比率を小さくし、セッション接続時間が相対的に短いユーザに対して余剰帯域の分配比率を大きくする。なお、本実施の形態においては、説明簡略化の為に例えば「各ユーザのセッション接続時間」の逆数を余剰帯域の分配比率として記載しているが、余剰帯域の分配比率の計算は各ＩＳＰの運用ポリシーに沿った関数に変更しても構わない。例えば、セッション接続時間が増加するに従い帯域が減少する予め定められた関数を用いてもよい。また、各ユーザの余剰帯域の分配比率を求める処理と一緒に、帯域計算部１１２は、各ユーザの余剰帯域の分配比率の合計値も計算する。なお、各ユーザの余剰帯域の分配比率の合計値を計算する際、通信を行なっていないユーザの余剰帯域の分配比率は除外する。帯域計算部１１２は、計算した各ユーザの余剰帯域の分配比率を、ユーザＩＤ情報に対応して帯域設定メモリ１１３に記憶する。
【００８０】
次に、帯域計算部１１２は、各ユーザに割当てる余剰帯域について計算して（ステップ４０６）、各ユーザの利用可能帯域を算出する（ステップ４０７）。この処理内容は第１の実施の形態と共通処理であるので説明を割愛する。
【００８１】
図７に、第２の実施の形態について具体的な帯域計算例を示す。
図７に示す例ではセッション接続時間の上限値を設けず、上述のステップ６０２、ステップ４０４の処理は省略している。また、ユーザＡ〜Ｃまでのユーザを収容し、第２の実施の形態に係る帯域計算フロー（図６）に従って各ユーザの利用可能帯域を算出している。図７によって示すとおり、セッション接続時間が短いユーザＡおよびユーザＢに対しては大きな利用可能帯域が割当てられ、セッション接続時間が長いユーザＣに対しては少ない利用可能帯域しか割当てられない。これにより、セッション接続時間が長いユーザのトラフィックが帯域を占有しやすいという傾向を是正することができる。また、ユーザの最大帯域による送信予定時刻に基づいて送信判定をすることにより、利用可能帯域を越えても回線に余裕があるときは各ユーザの最大帯域まで使用可能であるので回線帯域を最大限に有効活用でき、自由なネットワーク利用が妨げられることも無い。
【００８２】
本実施の形態によるヘビーユーザとライトユーザの帯域割当の状況については、第１の実施の形態と同様である（例えば、図８〜９、図１４〜１５参照）。例えば、従来技術では、図８のようにヘビーユーザとライトユーザに対する利用可能帯域の計算について、ヘビーユーザとライトユーザの区別は無く、利用可能帯域の計算は公平に行なわれていたものが、本実施の形態に係る帯域制御機能を用いることにより、図９のように回線が輻輳しているときには、ヘビーユーザに対してライトユーザの利用可能帯域を大きくすることができる。
【００８３】
なお、第１の実施の形態と同様に、図３に示すステップ３０８において各ユーザの最大帯域による送信予定時刻を送信判定処理に使用せず、ユーザの利用可能帯域による送信予定時刻を送信判定処理に用いれば、回線に余裕があっても利用可能帯域以上の送信を許さないといった帯域制御が可能である。
【００８４】
３．第１および第２の実施の形態の変形
上述の第１および第２の実施の形態では、例えばユーザ＝利用者である前提として説明をしているが、ユーザをトラフィック種別またはユーザをフローに置き換えて考えても良い。トラフィック種別の分類としては、例えば、高品質音声、ハイビジョン放送、標準画質放送、ＷＥＢ閲覧、Ｐ２Ｐ通信等に分類してそれぞれにトラフィック特性やＩＳＰ運用方針に従って適した帯域制御機能を提供するなどが考えられる。例えば、ＩＳＰ自らが提供するサービス（例えば、高品質音声、ハイビジョン放送など）については、通信量またはセッション接続時間による帯域制御の対象から除外して、ＷＥＢ閲覧に対しては緩い規制を掛け、Ｐ２Ｐ通信に対しては厳しい規制を掛けるなど、トラフィック種別に応じた帯域制御を掛けるなどの利用もできる。なお、受信パケットのトラフィック種別及びフローは、例えば検索エンジン１０３で、パケットのヘッダ情報等に基づき識別することができる。
【００８５】
また、第１および第２の実施の形態に係る帯域制御機能の利用形態として、例えば、図２のようなＦＴＴＨのユーザ収容ネットワークを利用して説明を行なったが、無線ＬＡＮのアクセスポイントまたはパケット負荷分散装置であるロードバランサーなど、パケット中継機能を有する通信装置または第１および第２の実施の形態に係る帯域制御機能を実施する部品（通信制御半導体など）に対しても適用が可能な技術である。
【００８６】
また、第１および第２の実施の形態に係る帯域制御の機能としてパケットを中心に説明を行なってきたが、例えば、ＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓ  ｆｅｒ  Ｍｏｄｅ）に対するセッション毎の帯域制御としても使用可能である。ＡＴＭは通信単位が固定長のセルなので、送信予定時刻を計算する際に可変長のパケットに対して適用していたものを固定長のセルで計算することで適用可能となる。第１および第２の実施の形態に係る帯域制御機能は、パケットだけではなく、ＡＴＭなど他の通信プロトコルにも適用が可能であり、これらに制限するものではない。
【産業上の利用可能性】
【００８７】
本発明は、例えば、帯域制御機能を備えるパケット中継装置、半導体チップ等に適用することができる。
【符号の説明】
【００８８】
１０１、２０４  帯域制御装置
１０２  転送エンジン
１０３  検索エンジン
１０４  インタフェース
１０５  帯域制御エンジン
１０６  廃棄制御部
１０７  キュー管理メモリ
１０８  統計管理メモリ
１０９  送信制御部
１１０  パケットバッファ
１１１  送信予定時刻メモリ
１１２  帯域計算部
１１３  帯域設定メモリ
２０１、２０２  ユーザ端末
２０３  加入者収容スイッチ
２０５  コアルータ
２０６  インターネット
【図１】
2010177797.tif 000003
【図２】
2010177797.tif 000004
【図３】
2010177797.tif 000005
【図４】
2010177797.tif 000006
【図５】
2010177797.tif 000007
【図６】
2010177797.tif 000008
【図７】
2010177797.tif 000009
【図８】
2010177797.tif 000010
【図９】
2010177797.tif 000011
【図１０】
2010177797.tif 000012
【図１１】
2010177797.tif 000013
【図１２】
2010177797.tif 000014
【図１３】
2010177797.tif 000015
【図１４】
2010177797.tif 000016
【図１５】
2010177797.tif 000017