(57)【要約】【課題】  確実な通信フローの帯域制御処理を行い高品質なデータ通信を実現する装置および方法を提供する。【解決手段】  広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御処理において、通信制御装置を介する通信フローに含まれる制御パケットの帯域制御用記述データの書き換え処理を実行し、広域ネットワーク接続機器に送信する。本構成により、確実な通信フローの帯域制御処理の実行が可能となり、高品質なストリーミング配信が実現される。また、帯域制御用記述データの書き換え処理のみならずシェイピング処理を実行し、また、必要に応じて自ら帯域制御用記述データを持つパケットを生成して広域ネットワーク接続機器に送信する構成としたので、より確実な通信フローの帯域制御処理が可能となる。【選択図】  図２
2005210346.tif 000002
【特許請求の範囲】
【請求項１】
広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御を実行する通信制御装置であり、
広域ネットワーク側の利用可能帯域を測定する帯域測定部と、
通信制御装置を介する通信フローの監視を実行する通信フロー監視部と、
前記帯域測定部から入力する利用可能帯域情報と、前記通信フロー監視部から入力するフロー情報とに基づいて、通信制御装置を介する通信フローに対する割り当て帯域値を算出する帯域計算部と、
前記帯域計算部の算出した割り当て帯域値に応じた帯域制御処理を実行する帯域制御部とを有し、
前記帯域制御部は、
通信制御装置を介する通信フローに含まれる制御パケットの帯域制御用記述データの書き換え処理を実行し、広域ネットワーク接続機器に送信することにより通信フローの帯域制御処理を実行する構成であることを特徴とする通信制御装置。
【請求項２】
前記帯域制御部は、
帯域制御用記述データの書き換え処理を実行するメッセージ書き換え部と、
シェイピング処理を実行するシェイピング部とを有し、
メッセージ書き換えまたはシェイピング処理の少なくともいずれかを実行して帯域制御処理を実行する構成であることを特徴とする請求項１に記載の通信制御装置。
【請求項３】
前記帯域制御部は、
帯域制御用記述データを含むパケットを生成し、該生成パケットを広域ネットワーク接続機器に送信することにより通信フローの帯域制御処理を実行する構成であることを特徴とする請求項１に記載の通信制御装置。
【請求項４】
前記帯域制御部は、
ローカルネットワーク接続機器から広域ネットワーク接続機器へ送信されるＳＥＴ＿ＰＡＲＡＭＥＴＥＲメソッド中のＳｅｔ Ｄｅｌｉｖｅｒｙ ＢａｎｄＷｉｄｔｈフィールドの記述データの書き換え処理を実行し、広域ネットワーク接続機器に送信することにより通信フローの帯域制御処理を実行する構成であることを特徴とする請求項１に記載の通信制御装置。
【請求項５】
前記通信制御装置は、
前記帯域計算部の算出した通信フローに割り当てる帯域値を保持する割り当て帯域テーブルを有し、
前記帯域制御部は、
前記割り当て帯域テーブルに記録された各フロー毎の設定帯域値に基づく帯域制御処理を実行する構成であることを特徴とする請求項１に記載の通信制御装置。
【請求項６】
広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御を実行する通信制御方法であり、
広域ネットワーク側の利用可能帯域を測定する帯域測定ステップと、
通信制御装置を介する通信フローの監視を実行する通信フロー監視ステップと、
前記帯域測定ステップにおいて取得する利用可能帯域情報と、前記通信フロー監視ステップにおいて取得するフロー情報とに基づいて、通信制御装置を介する通信フローに対する割り当て帯域値を算出する帯域計算ステップと、
前記帯域計算ステップにおいて算出した割り当て帯域値に応じた帯域制御処理を実行する帯域制御ステップとを有し、
前記帯域制御ステップは、
通信制御装置を介する通信フローに含まれる制御パケットの帯域制御用記述データの書き換え処理を実行し、広域ネットワーク接続機器に送信することにより通信フローの帯域制御処理を実行することを特徴とする通信制御方法。
【請求項７】
前記帯域制御ステップは、
帯域制御用記述データの書き換え処理、または、シェイピング処理の少なくともいずれかを実行して帯域制御処理を実行することを特徴とする請求項６に記載の通信制御方法。
【請求項８】
前記帯域制御ステップは、
帯域制御用記述データを含むパケットを生成し、該生成パケットを広域ネットワーク接続機器に送信することにより通信フローの帯域制御処理を実行するステップを含むことを特徴とする請求項６に記載の通信制御方法。
【請求項９】
前記帯域制御ステップは、
ローカルネットワーク接続機器から広域ネットワーク接続機器へ送信されるＳＥＴ＿ＰＡＲＡＭＥＴＥＲメソッド中のＳｅｔ Ｄｅｌｉｖｅｒｙ ＢａｎｄＷｉｄｔｈフィールドの記述データの書き換え処理を実行し、広域ネットワーク接続機器に送信することにより通信フローの帯域制御処理を実行するステップであることを特徴とする請求項６に記載の通信制御方法。
【請求項１０】
前記通信制御方法は、さらに、
前記帯域計算部の算出した通信フローに割り当てる帯域値を割り当て帯域テーブルに記録する記録ステップを有し、
前記帯域制御ステップは、
前記割り当て帯域テーブルに記録された各フロー毎の設定帯域値に基づく帯域制御処理を実行するステップであることを特徴とする請求項６に記載の通信制御方法。
【請求項１１】
広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御を実行するコンピュータ・プログラムであり、
広域ネットワーク側の利用可能帯域を測定する帯域測定ステップと、
通信制御装置を介する通信フローの監視を実行する通信フロー監視ステップと、
前記帯域測定ステップにおいて取得する利用可能帯域情報と、前記通信フロー監視ステップにおいて取得するフロー情報とに基づいて、通信制御装置を介する通信フローに対する割り当て帯域値を算出する帯域計算ステップと、
前記帯域計算ステップにおいて算出した割り当て帯域値に応じた帯域制御処理を実行する帯域制御ステップとを有し、
前記帯域制御ステップは、
通信制御装置を介する通信フローに含まれる制御パケットの帯域制御用記述データの書き換え処理を実行し、広域ネットワーク接続機器に送信することにより通信フローの帯域制御処理を実行することを特徴とするコンピュータ・プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信制御装置、および通信制御方法、並びにコンピュータ・プログラムに関する。さらに詳細には、ネットワークを介するデータ通信、特にストリーミングデータ通信における通信品質としてのＱｏＳ（Ｑｕａｌｉｔｙ ｏｆ Ｓｅｒｖｉｃｅ）を保証した通信を実現する通信制御装置、および通信制御方法、並びにコンピュータ・プログラムに関する。
【背景技術】
【０００２】
昨今、インターネットを介したデータ通信が盛んに行われており、特に近年は、ＡＤＳＬ(Asymmetric Digital Subscriber Line)などの高速通信網の整備による通信のブロードバンド化が進み、いわゆるストリーミング配信と呼ばれる動画あるいは音楽データなどの配信が多く行なわれるようになってきている。
【０００３】
インターネットを介して動画、音声データなどストリーミングデータを配信する場合、データは、複数のパケットに分割されて配信される。データパケットを受信したＰＣなどのクライアント機器において、パケットからデータを取り出して再構築して、再生する。しかし、ネットワーク上でのパケットのドロップ、すなわちパケット消失の問題は常に存在し、このようなパケット消失が発生すると、画像、音声データの再生の際に乱れが発生することになる。
【０００４】
特に、多くの通信機器を家庭内で接続したホームネットワーク構成を持つ場合、ホームルータを介して動画等のストリーミング配信を受信しながら、ＦＴＰ（Ｆｉｌｅ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）に基づくファイル転送処理や、Ｗｅｂデータに対するアクセス処理などが並列に実行される場合も多くなってきている。このような様々なデータ通信が同時に実行されると、帯域のボトルネックとなるアクセス回線上で輻輳が起こる。
【０００５】
複数の通信フローが存在する場合、他のフローの使用帯域や広域ネットワークであるＷＡＮ（Ｗｉｄｅ Ａｒｅａ Ｎｅｔｗｏｒｋ）側の実際の利用可能帯域などを考慮することなく、各フローに対応するプロトコル独自の輻輳制御処理がなされると、帯域の奪い合いが発生する。
【０００６】
このような各通信フロー間の帯域奪い合いが生じた場合、定常的な広帯域を必要とするストリーミングの配信に影響を及ぼし、例えば動画再生において安定した視聴ができない場合がある。
【０００７】
具体的には、ホームネットワークに接続されたＴＶなどでストリーミングサービスによって配信される動画データを視聴する場合に、配信される動画データ用の十分な帯域が確保されないことになり、結果としてパケット欠落などが生じ、動画の表示処理がスムーズに実行できなくなるという問題が発生する。
【０００８】
このような観点から、ネットワークを介したデータ通信において、通信品質（ＱｏＳ：Ｑｕａｌｉｔｙ ｏｆ Ｓｅｒｖｉｃｅ）の保証が求められている。ＱｏＳ保証を実現するにはネットワークに設定されたパケット転送装置においてＱｏＳ制御を行う必要がある。ＱｏＳ制御としては、例えばスケジューリングによる帯域保証，バッファ管理処理、あるいは流入量規制（ポリシング）等がある。
【０００９】
例えば特許文献１には、ネットワーク接続用の帯域を複数のクライアントで共有するような環境下において、一部クライアントが当該帯域を占有することがないように、公平に帯域を利用可能とするために、アドレス管理部において、帯域を使用するクライアントに対してアドレスを貸与して、帯域管理部において、このアドレスに対して帯域の再配分を行い、クライアント全体に対して公平でバランスのとれた帯域の確保をなす構成が示されている。具体的には、ＷＡＮ側の帯域を固定値（ＩＳＤＮなら１２８ｋｂｐｓなど）としてルータ配下のトラフィックを各クライアントに公平に割り当てる処理を行なう構成である。
【００１０】
この帯域割り当て手法は、ＷＡＮ側の帯域が固定的であるＩＳＤＮ回線や専用線であれば、一定の帯域保証を実現する構成として有効であるが、ＡＤＳＬなどを利用した場合、リンクレートがそのまま使用可能帯域として設定されない。例えば、ＡＤＳＬ８Ｍの回線で８Ｍｂｐｓが利用できるわけではない。しかも、リンクレートには時間的変動が生じるため、上記の帯域割り当てを行なっても、ストリーミング配信において十分なＱｏＳ維持が図られる保証はないという問題がある。
【００１１】
また、特許文献２には、通信中継装置で複数経路の中から帯域の最適な経路をストリーミングなどの優先フローに割り当ててＱｏＳを確保する構成が示されている。
【００１２】
しかし、インターネット上に経路が複数存在していても、利用可能な帯域のボトルネックとなるのは経路が分岐する前のユーザのアクセス回線上であり、アクセス回線上での輻輳の問題点は解消されない。
【００１３】
さらに、特許文献３には、通信中継装置においてＲＴＳＰ（Ｒｅａｌ−ｔｉｍｅ Ｓｔｒｅａｍｉｎｇ Ｐｒｏｔｏｃｏｌ）パケットに含まれる帯域制御データを読み取ってキューをスケジューリングして帯域保証を実現する構成を開示している。しかし、この手法では、配信サーバの送信トラフィック量を制御することはないので、アクセス回線の下り方向の輻輳を防ぐことは不可能である。従って、アクセス回線の下り方向の輻輳が発生した場合のＱｏＳの十分な保証はできないという問題がある。
【特許文献１】特開２００２−２７１３５９号公報
【特許文献２】特開２００１−３３３１００号公報
【特許文献３】特開２００３−１５８５４３号公報
【発明の開示】
【発明が解決しようとする課題】
【００１４】
本発明は、上述の問題点に鑑みてなされたものであり、ネットワークを介するデータ通信、特にストリーミングデータ通信における通信品質としてのＱｏＳ（Ｑｕａｌｉｔｙ ｏｆ Ｓｅｒｖｉｃｅ）を保証した通信を実現する通信制御装置、および通信制御方法、並びにコンピュータ・プログラムを提供することを目的とする。
【００１５】
特に、本発明は、ホームネットワーク等、様々な通信機器がそれぞれ同時にデータ通信を実行するような環境において、ストリーミングデータ通信に対して優先的な帯域割り当てを実行して、高品質なストリーミング配信を実現する通信制御装置、および通信制御方法、並びにコンピュータ・プログラムを提供することを目的とする。
【００１６】
より具体的には、本発明は、帯域制御部において、通信制御装置を介する通信フローに含まれる制御パケットの帯域制御用記述データの書き換え処理を実行し、広域ネットワーク接続機器に送信することにより確実な通信フローの帯域制御処理を実行することで高品質なストリーミング配信を実現する通信制御装置、および通信制御方法、並びにコンピュータ・プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１７】
本発明の第１の側面は、
広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御を実行する通信制御装置であり、
広域ネットワーク側の利用可能帯域を測定する帯域測定部と、
通信制御装置を介する通信フローの監視を実行する通信フロー監視部と、
前記帯域測定部から入力する利用可能帯域情報と、前記通信フロー監視部から入力するフロー情報とに基づいて、通信制御装置を介する通信フローに対する割り当て帯域値を算出する帯域計算部と、
前記帯域計算部の算出した割り当て帯域値に応じた帯域制御処理を実行する帯域制御部とを有し、
前記帯域制御部は、
通信制御装置を介する通信フローに含まれる制御パケットの帯域制御用記述データの書き換え処理を実行し、広域ネットワーク接続機器に送信することにより通信フローの帯域制御処理を実行する構成であることを特徴とする通信制御装置にある。
【００１８】
さらに、本発明の通信制御装置の一実施態様において、前記帯域制御部は、帯域制御用記述データの書き換え処理を実行するメッセージ書き換え部と、シェイピング処理を実行するシェイピング部とを有し、メッセージ書き換えまたはシェイピング処理の少なくともいずれかを実行して帯域制御処理を実行する構成であることを特徴とする。
【００１９】
さらに、本発明の通信制御装置の一実施態様において、前記帯域制御部は、帯域制御用記述データを含むパケットを生成し、該生成パケットを広域ネットワーク接続機器に送信することにより通信フローの帯域制御処理を実行する構成であることを特徴とする。
【００２０】
さらに、本発明の通信制御装置の一実施態様において、前記帯域制御部は、ローカルネットワーク接続機器から広域ネットワーク接続機器へ送信されるＳＥＴ＿ＰＡＲＡＭＥＴＥＲメソッド中のＳｅｔ Ｄｅｌｉｖｅｒｙ ＢａｎｄＷｉｄｔｈフィールドの記述データの書き換え処理を実行し、広域ネットワーク接続機器に送信することにより通信フローの帯域制御処理を実行する構成であることを特徴とする。
【００２１】
さらに、本発明の通信制御装置の一実施態様において、前記通信制御装置は、前記帯域計算部の算出した通信フローに割り当てる帯域値を保持する割り当て帯域テーブルを有し、前記帯域制御部は、前記割り当て帯域テーブルに記録された各フロー毎の設定帯域値に基づく帯域制御処理を実行する構成であることを特徴とする。
【００２２】
さらに、本発明の第２の側面は、
広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御を実行する通信制御方法であり、
広域ネットワーク側の利用可能帯域を測定する帯域測定ステップと、
通信制御装置を介する通信フローの監視を実行する通信フロー監視ステップと、
前記帯域測定ステップにおいて取得する利用可能帯域情報と、前記通信フロー監視ステップにおいて取得するフロー情報とに基づいて、通信制御装置を介する通信フローに対する割り当て帯域値を算出する帯域計算ステップと、
前記帯域計算ステップにおいて算出した割り当て帯域値に応じた帯域制御処理を実行する帯域制御ステップとを有し、
前記帯域制御ステップは、
通信制御装置を介する通信フローに含まれる制御パケットの帯域制御用記述データの書き換え処理を実行し、広域ネットワーク接続機器に送信することにより通信フローの帯域制御処理を実行することを特徴とする通信制御方法にある。
【００２３】
さらに、本発明の通信制御方法の一実施態様において、前記帯域制御ステップは、帯域制御用記述データの書き換え処理、または、シェイピング処理の少なくともいずれかを実行して帯域制御処理を実行することを特徴とする。
【００２４】
さらに、本発明の通信制御方法の一実施態様において、前記帯域制御ステップは、帯域制御用記述データを含むパケットを生成し、該生成パケットを広域ネットワーク接続機器に送信することにより通信フローの帯域制御処理を実行するステップを含むことを特徴とする。
【００２５】
さらに、本発明の通信制御方法の一実施態様において、前記帯域制御ステップは、ローカルネットワーク接続機器から広域ネットワーク接続機器へ送信されるＳＥＴ＿ＰＡＲＡＭＥＴＥＲメソッド中のＳｅｔ Ｄｅｌｉｖｅｒｙ ＢａｎｄＷｉｄｔｈフィールドの記述データの書き換え処理を実行し、広域ネットワーク接続機器に送信することにより通信フローの帯域制御処理を実行するステップであることを特徴とする。
【００２６】
さらに、本発明の通信制御方法の一実施態様において、前記通信制御方法は、さらに、前記帯域計算部の算出した通信フローに割り当てる帯域値を割り当て帯域テーブルに記録する記録ステップを有し、前記帯域制御ステップは、前記割り当て帯域テーブルに記録された各フロー毎の設定帯域値に基づく帯域制御処理を実行するステップであることを特徴とする。
【００２７】
さらに、本発明の第３の側面は、
広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御を実行するコンピュータ・プログラムであり、
広域ネットワーク側の利用可能帯域を測定する帯域測定ステップと、
通信制御装置を介する通信フローの監視を実行する通信フロー監視ステップと、
前記帯域測定ステップにおいて取得する利用可能帯域情報と、前記通信フロー監視ステップにおいて取得するフロー情報とに基づいて、通信制御装置を介する通信フローに対する割り当て帯域値を算出する帯域計算ステップと、
前記帯域計算ステップにおいて算出した割り当て帯域値に応じた帯域制御処理を実行する帯域制御ステップとを有し、
前記帯域制御ステップは、
通信制御装置を介する通信フローに含まれる制御パケットの帯域制御用記述データの書き換え処理を実行し、広域ネットワーク接続機器に送信することにより通信フローの帯域制御処理を実行することを特徴とするコンピュータ・プログラムにある。
【００２８】
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、ＣＤやＦＤ、ＭＯなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
【００２９】
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【発明の効果】
【００３０】
本発明の構成によれば、広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御処理において、通信制御装置を介する通信フローに含まれる制御パケットの帯域制御用記述データの書き換え処理を実行し、広域ネットワーク接続機器に送信することにより確実な通信フローの帯域制御処理の実行が可能となり、高品質なストリーミング配信が実現される。
【００３１】
さらに、本発明の構成によれば、ホームネットワーク等、様々な通信機器がそれぞれ同時にデータ通信を実行するような環境において、帯域制御用記述データの書き換え処理のみならず、シェイピング処理を実行して帯域制御処理を行い、また、必要に応じて自ら帯域制御用記述データを持つパケットを生成して広域ネットワーク接続機器に送信する構成としたので、より確実な通信フローの帯域制御処理が可能となる。
【発明を実施するための最良の形態】
【００３２】
以下、図面を参照しながら本発明の通信制御装置、および通信制御方法、並びにコンピュータ・プログラムの詳細について説明する。
【００３３】
まず、図１を参照して本発明の通信制御装置の利用構成概要について説明する。図１において、１つのローカルネットワークを構成するホームネットワーク１００には、複数のホームネットワーク機器（クライアント）としての例えばＴＶ１０１、ＰＣ１０２が接続され、それぞれが例えばホームルータなどによって構成される通信制御装置１２０を介して広域ネットワークとしてのＷＡＮ（Ｗｉｄｅ Ａｒｅａ Ｎｅｔｗｏｒｋ）側の様々な機器、例えばサーバに接続され通信を行なう。
【００３４】
例えばストリーミングサーバ１３１は、ＲＴＳＰ（Ｒｅａｌ−ｔｉｍｅ Ｓｔｒｅａｍｉｎｇ Ｐｒｏｔｏｃｏｌ）に従った動画データなどのストリーミングデータ配信を実行し、ホームネットワーク１００内に接続されたホームネットワーク機器としてのＴＶ１０１に動画データを提供する。
【００３５】
また、各種サーバ１３２は、ＦＴＰ（Ｆｉｌｅ Ｔｒａｎｓｆｅｒ Ｐｒｏｔｏｃｏｌ）に基づくファイル転送処理を実行するＦＴＰサーバ、Ｗｅｂサーバなどのサーバであり、ホームネットワーク１００内に接続されたホームネットワーク機器としてのＰＣ１０２にデータを提供する。
【００３６】
なお、図１には、ホームネットワーク１００に存在する２つのホームネットワーク機器としてＴＶ１０１、ＰＣ１０２のみを示し、それぞれの通信フローを優先フローＡ、非優先フローＢとして示してあるが、この他にもホームネットワーク１００には複数の機器が存在可能であり、また３以上の通信フローが存在可能である。
【００３７】
通信制御装置１２０は、ＷＡＮ側とホームネットワーク機器との間で実行される複数のデータ通信の制御を行う。通信制御装置１２０は、ＷＡＮ側に接続された帯域測定サーバ１５０と通信を実行し、帯域測定サーバ１５０と連携して実行する帯域測定情報に基づいて、通信制御装置１２０を介するデータ通信における帯域制御を行なう。
【００３８】
なお、通信制御装置１２０は例えばＡＤＳＬ(Asymmetric Digital Subscriber Line)などの高速通信網に接続されている。ＡＤＳＬは、背景技術の欄で説明したようにリンクレートがそのまま使用可能帯域として設定されない。例えば、ＡＤＳＬ８Ｍの回線を使用した場合であっても、常に８Ｍｂｐｓが利用できるわけではなく時間的変動も発生する。なお、帯域測定サーバ１５０は、例えば帯域のボトルネックとなるＡＤＳＬアクセス回線の帯域を測定する際に使用されるが、帯域測定サーバ１５０は、インターネット等のネットワーク上のどの位置に存在してもよい。
【００３９】
通信制御装置１２０は、このような使用可能帯域の固定値が保証されない通信網に接続されているが、帯域測定サーバ１５０からの情報を逐次受領して動的な帯域制御を行なう。具体的には、ストリーミング配信フローＡを優先フローとし、その他のデータ通信フローＢを非優先フローとして設定して、ストリーミング配信における品質保証、すなわちＱｏＳ保証を実現する。
【００４０】
通信制御装置１２０は、以下の４つの機能を持つ。
（１）帯域測定機能
アクセス回線下り方向の利用可能帯域を測定する機能である。この帯域測定処理は、帯域測定サーバ１５０と連携して実行する。
（２）通信フロー監視機能
ＷＡＮ側とホームネットワーク機器との間で実行される通信フローの検知および認識を行なう機能である。
（３）帯域計算機能
ＷＡＮ側とホームネットワーク機器との間で実行される通信フロー各フローに割り当てるべき通信帯域を計算する機能である。
（４）帯域制御機能
ＷＡＮ側とホームネットワーク機器との間で実行される通信フロー各フローに、帯域計算機能で計算した結果としての通信帯域に設定する制御を実行する機能である。
【００４１】
ホームルータ（ＨＲ）等によって構成される通信制御装置１２０は、上記の４つの機能を用いて、アクセス回線下り方向、すなわちＷＡＮ側からホームネットワーク機器に向かう通信に利用可能な帯域を計測し、各通信フローに対して予め設定された優先度に基づいて動的な帯域割り当て処理を実行して、割り当て結果に基づく帯域を利用した通信を実行するように制御を行う。
【００４２】
通信制御装置１２０は、ホームネットワークの下り方向のトラフィックを一括管理することにより、アクセス回線下り方向の輻輳を防ぎ、特に優先フローとして設定されるストリーミングデータの品質の保証を実現する。なお、各通信フローが優先フローであるか、または非優先フローであるかは、通信プロトコル、アドレス、ポート番号などに応じた規定値として通信制御装置１２０内の設定ファイルなどに記述され保持される。
【００４３】
図２に通信制御装置１２０の詳細構成を示す。通信制御装置１２０が上記４つの機能を適用して実行する帯域制御処理について、図２を参照しながら説明する。
【００４４】
通信制御装置１２０は、図２に示すように、上述の帯域測定機能を実行する帯域測定部２１０、通信フロー監視機能を実行する通信フロー監視部２２０、帯域計算機能を実行する帯域計算部２３０、帯域制御機能を実行する帯域制御部２４０を有し、さらに、割り当て帯域テーブル２５０、通信フローの経路設定処理を実行するルーティング部２７０、ＤＨＣＰ（Dynamic Host Configuration Protocol）プロトコルに基づいて、クライアント（図１に示すＴＶ１０１、ＰＣ１０２などのホームネットワーク機器）からのＩＰアドレスの割当て要求に対して、自らがプールしているＩＰアドレスの貸与を行うＤＨＣＰサーバ部２８０を有する。
【００４５】
通信フロー監視部２２０には、通信フローを構成するパケットに含まれる制御データに基づいて各フローの希望帯域値を見積もる希望帯域見積もり部２２１を有する。また、帯域計算部２３０は、新規フローに対する設定帯域の計算を実行する帯域新規設定処理モジュール２３１と、通信中のフローに対する帯域変更処理の際の更新帯域の計算を実行する帯域更新処理モジュール２３２を有する。
【００４６】
帯域制御部２４０は、通信フロー中の制御パケットなどに含まれる帯域制御データの書き換え処理を実行するメッセージ書き換え／作成部２４１、ネットワークにおける通信時に、帯域を超えるようなトラフィックの発生が予想される際などに、パケット損失が発生しないように、送信側のトラフィックの転送速度を遅らせたりする転送制御を行うシェイピング処理を実行するシェイピング部２４２、シェイピング処理のためのインタフェースとして機能するシェイピングＩ／Ｆ２４３を有する。
【００４７】
以下、各処理部の実行する処理の詳細について説明する。
帯域測定部２１０は、ホームルータ（ＨＲ）等によって構成される通信制御装置１２０のアクセス回線下り方向の実際に利用可能な帯域を、ネットワーク上にある帯域測定サーバ１５０と連携して測定を行う。この測定処理は、予め設定された測定間隔としての一定時間毎に実行される。
【００４８】
利用可能な帯域の測定手法としては、実際に帯域測定サーバ１５０からデータをダウンロードすることによって測定するといったものではなく、回線への負荷が小さく、それほど多くの時間を要しない手法を用いる。この種の測定手法としては、例えばｐａｔｈｌｏａｄ／ｐａｔｈｒａｔｅ、ｃｐｒｏｂｅなどがあり、これらの手法を適用する。
【００４９】
なお、ｐａｔｈｌｏａｄ／ｐａｔｈｒａｔｅについては、［ｈｔｔｐ：／／ｗｗｗ．ｃｃ．ｇａｔｅｃｈ．ｅｄｕ／ｆａｃ／Ｃｏｎｓｔａｎｔｉｎｏｓ．Ｄｏｖｒｏｌｉｓ／ｂｗ．ｈｔｍｌ］「Ｍ．Ｊａｉｎ  ａｎｄ  Ｃ．Ｄｏｖｒｏｌｉｓ，"Ｅｎｄ−ｔｏ  ｅｎｄ  ａｖａｉｌａｂｌｅ  ｂａｎｄｗｉｄｔｈ：Ｍｅａｓｕｒｅｍｅｎｔ  ｍｅｔｈｏｄｏｌｏｇｙ，ｄｙｎａｍｉｃｓ，ａｎｄ  ｒｅｌａｔｉｏｎ  ｗｉｔｈ  ＴＣＰ  ｔｈｒｏｕｇｈｐｕｔ"，ｉｎ  Ｐｒｏｃｅｅｄｉｎｇｓ  ｏｆ  ＡＣＭ  ＳＩＧＣＯＭＭ  ２００２，Ａｕｇ．２００２」に詳細が記載されている。
【００５０】
また、ｃｐｒｏｂｅについては、「Ｒ．Ｌ．  Ｃａｒｔｅｒ  ａｎｄ  Ｍ．Ｅ．Ｃｒｏｖｅｌｌａ，"Ｍｅａｓｕｒｉｎｇ  ｂｏｔｔｌｅｎｅｃｋ  ｌｉｎｋ  ｓｐｅｅｄ  ｉｎ  ｐａｃｋｅｔ−ｓｗｉｔｃｈｅｄ  ｎｅｔｗｏｒｋｓ"，Ｔｅｃｈ．Ｒｅｐ．ＴＲ−９６−００６，Ｂｏｓｔｏｎ  Ｕｎｉｖｅｒｓｉｔｙ  Ｃｏｍｐｕｔｅｒ  Ｓｃｉｅｎｃｅ  Ｄｅｐａｒｔｍｅｎｔ，Ｍａｒ．１９９９」に詳細が記載されている。
【００５１】
通信制御装置１２０の通信フロー監視部２２０は、通信制御装置１２０を経由する全ての通信フローを検知する。通信フローは、送信ホスト（例えばストリーミングサーバ１５１）から受信ホスト（例えばＴＶ１０１、ＰＣ１０２などのホームネットワーク機器）へ送られる特定のアプリケーションでの時間的にまとまったパケットの集合である。
【００５２】
通信制御装置１２０の通信フロー監視部２２０は、通信制御装置１２０を介する通信に関して次の事象の検出処理を実行する。
（ａ）フローの通信開始と終了
（ｂ）通信中フローのトラフィックレート
（ｃ）通信中のフロー数
（ｄ）各通信フロー毎の希望使用帯域値
【００５３】
上記事象中、各通信フロー毎の希望使用帯域値の検出は、希望帯域見積もり部２２１において実行される処理であり、検出したフローから通信に必要な帯域値を見積もる処理として実行される。例えば、ＲＴＳＰ（Ｒｅａｌ−ｔｉｍｅ Ｓｔｒｅａｍｉｎｇ Ｐｒｏｔｏｃｏｌ）のような帯域を意識したプロトコル、すなわち、動画データの配信などのように所定帯域の確保を要求するアプリケーションでは、動画データなどの通信データを格納したＲＴＳＰパケット中に帯域制御用データが格納されているので、このフィールドのデータを、希望帯域見積もり部２２１が読み取ることにより通信に必要な帯域値を見積もる。
【００５４】
具体的には、ＲＴＳＰの帯域制御用データは、配信サーバ（例えば図１に示すストリーミングサーバ１３１）からクライアント（例えば図１に示すＴＶ１０１）へ送信されるＲＴＳＰ／ＳＤＰ（Session Description Protocol）パケット内の帯域制御用データ「ｂ＝ＡＳ：○○」や、クライアントから配信サーバへのＳＥＴ＿ＰＡＲＡＭＥＴＥＲメソッド中のＳｅｔ Ｄｅｌｉｖｅｒｙ ＢａｎｄＷｉｄｔｈフィールドに記述されており、通信制御装置１２０の希望帯域見積もり部２２１は、これらのデータを読み取ることにより通信に必要な帯域値を見積もる。なお、ＲＴＳＰ／ＳＤＰパケット内に複数の帯域制御用データ「ｂ＝ＡＳ：○○」がある場合は、その総和をとる。
【００５５】
一方、帯域を意識しないプロトコル（ＦＴＰやＨＴＴＰ）など帯域制御用データを持たないプロトコルを適用した通信フローについては、希望帯域見積もり部２２１は、通信データに基づいて希望使用帯域値を見積もれないので、このような通信フローの場合は、希望帯域見積もり部２２１は、フローの希望使用帯域値を無限大（∞）とみなす処理を実行する。
【００５６】
通信制御装置１２０の通信検知機能は、このように、通信制御装置１２０を経由する全ての通信フローを検知して、（ａ）フローの通信開始と終了、（ｂ）通信中フローのトラフィックレート、（ｃ）通信中のフロー数、（ｄ）各通信フロー毎の希望使用帯域値を取得する。これらの取得情報は、通信制御装置１２０内のメモリに保持され、また、これらの情報は、帯域計算部２３０に逐次入力される。
【００５７】
次に、通信制御装置１２０の帯域計算部２３０の実行する処理について説明する。
帯域計算部２３０は、
（１）新規に開始する通信フローに対して帯域を割り当てる帯域新規設定処理を実行する帯域新規設定処理モジュール２３１と、
（２）通信実行中の通信フローに対する帯域変更としての帯域更新処理を実行する帯域更新処理モジュール２３２と、
を有する。
【００５８】
まず、帯域新規設定処理モジュール２３１の実行する帯域新規設定処理について説明する。
【００５９】
帯域新規設定処理は、通信制御装置１２０における通信フロー監視部２２０が検知した各通信フローの希望使用帯域値と、帯域測定部２１０が帯域測定サーバ１５０と連携して測定した帯域測定結果の値を入力し、これらを比較して、新たに通信を開始するフローに対する使用帯域値の計算、例えば希望帯域をそのまま割り当ててよいかの判定などを行なう。
【００６０】
帯域新規設定処理の実行において、帯域計算分２３０の帯域新規設定処理モジュール２３１が入力するデータと、出力するデータは以下の通りである。
（ａ）入力データ
アクセス回線下り方向の利用可能な帯域値
現在実行中の通信フローに対する割り当て帯域値
通信開始フローの希望使用帯域値
（ｂ）出力データ
通信開始フローに設定する新しい割り当て帯域値
【００６１】
上記入力データ中［アクセス回線下り方向の利用可能な帯域値］は、通信制御装置帯域測定部２１０から入力され、［現在実行中の通信フローに対する割り当て帯域値］、［通信開始フローの希望使用帯域値］は、通信フロー監視部２２０から入力される。
【００６２】
出力データとしての［通信開始フローに設定する新しい割り当て帯域値］は、割り当て帯域テーブル２５０に書き込まれ、保持される。帯域制御部２４０は、割り当て帯域テーブル２５０に書き込まれた帯域データに基づく帯域制御を実行する。
【００６３】
割り当て帯域テーブル２５０のデータ例を図３に示す。割り当て帯域テーブル２５０は、図３に示すように、通信制御装置１２０を介して実行中の通信フロー各々に関する管理データが対応付けて設定されたテーブルであり、
フローの管理番号
送信元ＩＰアドレス
送信元ＩＰアドレス
宛先ＩＰアドレス
宛先ポート番号
プロトコル
割り当て通信帯域
の各データが保持される。
【００６４】
帯域計算部２３０からの出力データとしての［通信開始フローに設定する新しい割り当て帯域値］は、割り当て帯域テーブル２５０の［割り当て通信帯域］フィールドに書き込まれ、帯域制御部２４０は、割り当て帯域テーブル２５０の［割り当て通信帯域］フィールドに書き込まれた帯域データに従って各通信フローの帯域制御を実行する。
【００６５】
帯域計算部２３０は、さらに、帯域更新処理モジュール２３２を有し、帯域更新処理モジュール２３２は、既に実行中の通信フローについて更新帯域の算出処理を実行する。
【００６６】
帯域更新処理において、帯域更新処理モジュール２３２が入力するデータと、出力するデータは以下の通りである。
（ａ）入力
アクセス回線下り方向の利用可能な帯域値
現在実行中の通信フローに対する割り当て帯域値
現在実行中の通信フロー数
現在実行中の通信フロー各々の希望使用帯域値
（ｂ）出力
現在実行中の通信フロー各々に対する更新割り当て帯域値
【００６７】
上記入力データ中［アクセス回線下り方向の利用可能な帯域値］は、通信制御装置帯域測定部２１０から入力され、［現在実行中の通信フローに対する割り当て帯域値］、［現在実行中の通信フロー数］、［現在実行中の通信フロー各々の希望使用帯域値］は、通信フロー監視部２２０から入力される。
【００６８】
出力データとしての［通信開始フローに設定する新しい割り当て帯域値］は、割り当て帯域テーブル２５０に書き込まれ、保持される。帯域制御部２４０は、割り当て帯域テーブル２５０に書き込まれた帯域データに基づく帯域制御を実行する。
【００６９】
次に、帯域制御部２４０の処理について説明する。帯域制御部２４０は、帯域計算部２３０において算出され、割り当て帯域テーブル２５０に書き込まれた新規フローに対する新規設定帯域、あるいは通信中のフローに対する更新帯域の値に基づいて、各通信フローの帯域制御を実行する。帯域計算部２３０において計算された結果を反映するために、実際に下り方向のフローのトラフィック量を制御する。帯域制御部２４０は、以下の２つの処理を実行する。
【００７０】
（ａ）メッセージ書き換え／作成部２４１において実行する割り当て帯域テーブル２５０に書き込まれた帯域値に従った帯域制御メッセージの書換え／作成処理
（ｂ）シェイピング部２４２で実行する割り当て帯域テーブル２５０に書き込まれた帯域値に従ったシェイピング処理
【００７１】
まず、（ａ）メッセージ書き換え／作成部２４１において実行する割り当て帯域テーブル２５０に書き込まれた帯域値に従った帯域制御メッセージの書換え／作成処理について説明する。
【００７２】
帯域制御部２４０のメッセージ書き換え／作成部２４１は、通信制御装置１２０を通過する通信フローに含まれる制御データ中の帯域制御メッセージの値を割り当て帯域テーブル２５０に書き込まれた帯域値に従った値に書き換える処理を実行する。
【００７３】
例えば動画配信などのストリーミング配信プロトコルとして適用されるＲＴＳＰではクライアント（図１に示すＴＶ１０１、ＰＣ１０２などのホームネットワーク機器）から配信サーバ（例えばストリーミングサーバ１３１）に向かって送信されるメッセージ［ＳＥＴ＿ＰＡＲＡＭＥＴＥＲ］中に含まれるフィールド［ＳｅｔＤｅｌｉｖｅｒｙＢａｎｄｗｉｄｔｈ］を、割り当て帯域テーブル２５０に書き込まれた帯域値に書き換えるなどといった処理を行う。
【００７４】
このメッセージ書き換え処理により、配信サーバはクライアントが書き換えられた値での配信を要求していると解釈し、要求レートでの送信処理を実行する。
【００７５】
図４を参照して、帯域制御部２４０のメッセージ書き換え／作成部２４１におけるメッセージ書き換えによる帯域制御処理の具体例について説明する。
【００７６】
図４（ａ）の状態は、例えばＲＴＳＰプロトコルによるストリーミング動画配信が３Ｍｂｐｓで実行されている状態を示している。この状態では、クライアント（ＴＶ１０１）からストリーミングサーバ１３１に向かって送信されるメッセージ［ＳＥＴ＿ＰＡＲＡＭＥＴＥＲ］中に含まれるフィールド［ＳｅｔＤｅｌｉｖｅｒｙＢａｎｄｗｉｄｔｈ］に書き込まれた帯域制御メッセージは、３Ｍｂｐｓでの送信を要求するメッセージが設定されており、ストリーミングサーバ１３１は、このメッセージに合わせたレート、すなわち３Ｍｂｐｓで動画データのストリーミング配信を実行している状態である。
【００７７】
ここで、帯域制御部２４０のメッセージ書き換え／作成部２４１は、割り当て帯域テーブル２５０を参照して、現状の３Ｍｂｐｓのストリーミングフローについて、割り当て帯域テーブル２５０に設定された帯域値が１Ｍｂｐｓであることを検出すると、クライアント（ＴＶ１０１）からストリーミングサーバ１３１に向かって送信されるメッセージ［ＳＥＴ＿ＰＡＲＡＭＥＴＥＲ］中に含まれるフィールド［ＳｅｔＤｅｌｉｖｅｒｙＢａｎｄｗｉｄｔｈ］に書き込まれた帯域制御メッセージ［３Ｍｂｐｓ］を［１Ｍｂｐｓ］に書き換える処理を実行する。
【００７８】
ストリーミングサーバ１３１は、［１Ｍｂｐｓ］に書き換えられた帯域制御メッセージを受信すると、図４（ｂ）に示すように、クライアント（ＴＶ１０１）が［１Ｍｂｐｓ］でのデータ送信を希望していると解釈し、ストリーミング配信データの送信レートを［３Ｍｂｐｓ］から［１Ｍｂｐｓ］に切り替えて送信処理を実行する。
【００７９】
この結果、ストリーミングサーバ１３１からクライアント（ＴＶ１０１）に送信されるストリーミングデータは、［１Ｍｂｐｓ］に切り替えられて送信され、割り当て帯域テーブル２５０に設定された帯域値に応じたデータ送信が実行されることになる。
【００８０】
なお、通信制御装置１２０の帯域制御部２４０のメッセージ書き換え／作成部２４１は、クライアントから帯域制御パケットが頻繁に送信されない場合などには、自身で帯域制御パケットを作成して配信サーバに送信する。すなわち、帯域制御部２４０のメッセージ書き換え／作成部２４１は、自ら帯域制御用記述データを含むパケットを生成し、該生成パケットを広域ネットワーク接続機器としての配信サーバに送信することにより通信フローの帯域制御処理を実行する。
【００８１】
なお、この処理の際は通信制御装置１２０で独自にパケットを作成するため、同じフロー中の全てのシーケンス番号を通信制御装置１２０で管理し、配信サーバ、クライアントから送信されるパケットのシーケンス番号に矛盾が起こらないように書き換えて配信サーバに対する制御パケットの送信処理を実行する。
【００８２】
次に、帯域制御部２４０のシェイピング部２４２で実行する割り当て帯域テーブル２５０に書き込まれた帯域値に従ったシェイピング処理について説明する。
【００８３】
シェイピング部２４２は、割り当て帯域テーブル２５０を参照して、割り当て帯域テーブル２５０の該当フローの帯域値に併せた通信が実行されるように各フロー毎にシェイピングを実行する。シェイピング処理は、パケット損失が発生しないように、送信側のトラフィックの転送速度を遅らせたりするパケット転送制御処理である。
【００８４】
帯域制御部２４０は、メッセージ書き換え／作成部２４１による制御メッセージ書き換え、送信処理と、シェイピング部２４２におけるシェイピング処理の少なくともいずれかを実行して、通信制御装置１２０を経由する各通信フローの帯域を割り当て帯域テーブル２５０の設定値に対応するように制御を実行する。
【００８５】
帯域制御部２４０において、帯域制御処理を実行するトリガー（開始条件）は、帯域の新規設定や、帯域の変更処理を行なう条件が設定された時点であり、これは、帯域計算部２３０において、帯域の新規設定や、帯域の変更処理に伴う帯域計算処理が実行されて、割り当て帯域テーブル２５０の更新が実行された場合である。
【００８６】
帯域計算部２３０において、帯域の新規設定や、帯域の変更処理に伴う帯域計算処理を開始するトリガーとしては、複数のトリガーがある。これらのトリガーと、トリガーの検出態様について、図５を参照して説明する。
【００８７】
図５に示すように、トリガーとしては、
Ｉ．優先フロー通信開始
ＩＩ．非優先フロー通信開始
ＩＩＩ．フロー通信終了
ＩＶ．リンクレートの増減
の４つが存在する。
【００８８】
Ｉ．優先フロー通信開始、ＩＩ．非優先フロー通信開始、および、ＩＩＩ．フロー通信終了の各トリガーについては、通信フロー監視部２２０のフロー監視情報に基づいて検出される。
【００８９】
また、ＩＶ．リンクレートの増減については、帯域測定部２１０の測定する利用可能帯域の情報に基づいて検出される情報である。
【００９０】
帯域計算部２３０は、図５に示すＩ〜ＶＩのいずれかのトリガーの発生に基づいて、帯域の新規設定や、帯域の変更処理に伴う帯域計算処理を開始し、その計算結果を割り当て帯域テーブル２５０に格納する割り当て帯域テーブル２５０の更新を実行する。
【００９１】
割り当て帯域テーブル２５０の更新が実行されると、帯域制御部２４０は、メッセージ書き換え／作成部２４１による制御メッセージ書き換え、送信処理、または、シェイピング部２４２におけるシェイピング処理の少なくともいずれかを実行して、通信制御装置１２０を経由する各通信フローの帯域を割り当て帯域テーブル２５０の設定値に対応するように制御を実行する。
【００９２】
図６を参照して、通信制御装置１２０の持つ帯域測定部２１０、通信フロー監視部２２０、帯域計算部２３０、帯域制御部２４０の各処理の実行シーケンスについて説明する。
【００９３】
まず、帯域測定部２１０は、定期的に外部の帯域測定サーバ１５０（図１、図２参照）と連携して通信制御装置１２０を経由した通信に利用可能な通信帯域の測定処理を実行する。図６に示すステップＳ１１、Ｓ１２の処理である。帯域測定部２１０が、利用可能な通信大域の変化（増減）を検出すると、検出情報は、帯域計算部２３０に入力され、帯域計算部２３０は、これをトリガー（ステップＳ３３）としてステップＳ３４において、帯域更新のための帯域を算出して、割り当て帯域テーブル２５０を更新する。
【００９４】
割り当て帯域テーブル２５０が更新されると、帯域制御部２４０は、ステップＳ４３において、メッセージ書き換え／作成部２４１による制御メッセージ書き換え、送信処理、または、シェイピング部２４２におけるシェイピング処理の少なくともいずれかを実行して、通信制御装置１２０を経由する各通信フローの帯域を割り当て帯域テーブル２５０の設定値に対応するように制御を実行（ステップＳ４４）する。
【００９５】
また、通信フロー監視部２２０は、通信フローの監視を常時実行（ステップＳ２１）し、通信フローの開始、終了を検出すると、帯域計算部２３０に検出情報を通知する。
【００９６】
帯域計算部２３０は、これをトリガー（ステップＳ３１）としてステップＳ３２において、新規帯域設定、あるいは帯域更新のための帯域を算出して、割り当て帯域テーブル２５０を更新する。
【００９７】
割り当て帯域テーブル２５０が更新されると、帯域制御部２４０は、ステップＳ４１において、メッセージ書き換え／作成部２４１による制御メッセージ書き換え、送信処理、または、シェイピング部２４２におけるシェイピング処理の少なくともいずれかを実行して、通信制御装置１２０を経由する各通信フローの帯域を割り当て帯域テーブル２５０の設定値に対応するように制御を実行（ステップＳ４２）する。
【００９８】
次に、図７を参照して、通信制御装置の実行する帯域制御処理の全体シーケンスについて説明する。
【００９９】
ステップＳ１０１では、帯域制御実行のトリガーの検知処理を行なう。これは、先に図５を参照して説明したように、
Ｉ．優先フロー通信開始
ＩＩ．非優先フロー通信開始
ＩＩＩ．フロー通信終了
ＩＶ．リンクレートの増減
の４つのいずれかのトリガーを検出する処理であり、Ｉ．優先フロー通信開始、ＩＩ．非優先フロー通信開始、および、ＩＩＩ．フロー通信終了の各トリガーについては、通信フロー監視部２２０のフロー監視情報に基づいて検出される情報であり、ＩＶ．リンクレートの増減については、帯域測定部２１０の測定する利用可能帯域の情報に基づいて検出される情報である。
【０１００】
ステップＳ１０２では、検出されたトリガーが上記Ｉ〜ＶＩのいずれであるかを判別する処理を実行する。
Ｉ．優先フロー通信開始
ＩＩ．非優先フロー通信開始
のいずれかである場合は、ステップＳ１０３に進み、
ＩＩＩ．フロー通信終了
ＩＶ．リンクレートの増減
のいずれかである場合は、ステップＳ１０６に進む。
【０１０１】
トリガーがＩ．優先フロー通信開始、ＩＩ．非優先フロー通信開始のいずれかである場合は、ステップＳ１０３において、通信開始フローの希望帯域値の見積もり処理を実行する。この希望帯域値の見積もり処理は、通信フロー監視部２２０の希望帯域見積もり部２２１において実行される処理であり、前述したように、ＲＴＳＰ／ＳＤＰ（Session Description Protocol）パケット内の帯域制御用データや、クライアントから配信サーバへのＳＥＴ＿ＰＡＲＡＭＥＴＥＲメソッド中のＳｅｔ Ｄｅｌｉｖｅｒｙ ＢａｎｄＷｉｄｔｈフィールドの記述情報に基づいて通信に必要な帯域値を見積もる。なお、ＦＴＰやＨＴＴＰなど帯域制御用データを持たないプロトコルを適用した通信フローについては、希望使用帯域値を無限大（∞）とみなす処理を実行する。
【０１０２】
次にステップＳ１０４において、帯域新規設定処理を実行する。この帯域新規設定処理は、帯域計算部２３０において実行する処理であり、この場合は、新規フローに対する帯域設定であるので、帯域新規設定モジュール２３１が、新規フローに対する帯域を設定する。
【０１０３】
ステップＳ１０４の帯域新規設定処理の詳細について、図８のフローを参照して説明する。
【０１０４】
なお、図８他のフローを参照した説明において示す記号の定義を以下に示す。
＊  ｋ：インデックス
＊  ｉ：優先フローのインデックス
＊  ｊ：非優先フローのインデックス
＊  Ｆ，Ｘ：フロー
＊  Ａ［］：優先フローを表す配列
＊  Ｂ［］：非優先フローを表す配列
＊  Ａ［ｉ］：優先フローのｉ番目のフロー
＊  Ｂ［ｊ］：非優先フローのｊ番目のフロー
＊  ＡＢＷ：アクセス回線下り方向の利用可能帯域（帯域測定部における測定値）
＊  ＵＢＷ：ＡＢＷのうち、アクセス回線下り方向の未使用帯域値
＊  Ｂａｓｅ＿ＢＷ：帯域更新処理モジュールでベースとなる帯域値
＊  Ｎｕｍ＿Ｆｌｏｗ［Ａ］：現在の優先フロー数
＊  Ｎｕｍ＿Ｆｌｏｗ［Ｂ］：現在の非優先フロー数
＊  ＲＢＷ［］：希望使用帯域値の配列
＊  ＢＷ［］：割り当て帯域テーブルを表す配列
＊  Ｔｍｐ＿ＢＷ［Ｆ］：フローＦの１つに割り当て可能な仮の最大帯域値
＊  ＮＥＷ＿ＢＷ［Ｆ］：フローＦへ割り当てる新しい帯域値
【０１０５】
帯域新規設定処理の詳細について、図８のフローを参照して説明する。図８のフロー葉帯域計算部２３０の帯域新規設定モジュール２３１が実行する処理である。
【０１０６】
ステップＳ２０１において、帯域新規設定モジュール２３１は、以下の情報を入力する。
ＲＢＷ［Ｆ］：新規通信開始フローＦの希望使用帯域値
ＢＷ［ｉ］：割り当て帯域テーブルに設定済みの非優先フローの設定帯域情報
ＡＢＷ：アクセス回線下り方向の利用可能帯域（帯域測定部における測定値）
ＵＢＷ：ＡＢＷのうち、アクセス回線下り方向の未使用帯域値
【０１０７】
ステップＳ２０２において、
ＲＢＷ［Ｆ］≦ＵＢＷ
が成立するか否かを判定する。
すなわち、新規通信開始フローＦの希望使用帯域値ＲＢＷ［Ｆ］が、アクセス回線下り方向の未使用帯域値［ＵＢＷ］以下か否かを判定する。
【０１０８】
ＲＢＷ［Ｆ］≦ＵＢＷ
が成立する場合は、ステップＳ２１１に進み、新規通信開始フローＦの希望使用帯域値ＲＢＷ［Ｆ］をそのまま、新規通信開始フローＦに割り当てる帯域値ＮＥＷ＿ＲＢＷ［Ｆ］として設定する。
【０１０９】
ステップＳ２１２では、新規通信開始フローＦに割り当てる帯域値ＮＥＷ＿ＲＢＷ［Ｆ］を出力、すなわち割り当て帯域テーブル２５０に、新規通信開始フローＦの設定帯域として登録する処理を実行する。この場合は、図７において、ステップＳ１０５のスキップ判定処理を［Ｙｅｓ］として、ステップＳ１１１〜Ｓ１１２の非優先フローに関する帯域見積もり、更新処理を実行することなく、ステップＳ１１３に進み、帯域制御部は２４０は、新規通信開始フローＦの使用帯域を、割り当て帯域テーブル２５０に登録された帯域値ＮＥＷ＿ＲＢＷ［Ｆ］に制御する処理を実行することになる。
【０１１０】
帯域制御部は２４０は、メッセージ書き換え／作成部２４１による制御メッセージ書き換え、送信処理、または、シェイピング部２４２におけるシェイピング処理の少なくともいずれかを実行して、通信制御装置１２０を経由する各通信フローの帯域を割り当て帯域テーブル２５０の設定値に対応するように制御を実行する。新規通信開始フローＦについては、割り当て帯域テーブル２５０に登録された帯域値ＮＥＷ＿ＲＢＷ［Ｆ］に制御する処理を実行することになる。
【０１１１】
一方、ステップＳ２０２において、
ＲＢＷ［Ｆ］≦ＵＢＷ
が成立しないと判定した場合、すなわち、新規通信開始フローＦの希望使用帯域値ＲＢＷ［Ｆ］が、アクセス回線下り方向の未使用帯域値［ＵＢＷ］より大きいと判定した場合は、ステップＳ２０３に進み、新規通信開始フローＦが優先フロー［Ａ］であるか否かを判定する。この判定処理は、通信フローＦの通信プロトコル、使用アドレス情報、使用ポート番号などに基づいて判定する。
【０１１２】
新規通信開始フローＦが非優先フロー［Ｂ］であると判定すると、図７に示すステップＳ１１１の非優先フローの帯域見積もり処理に移行する。
【０１１３】
新規通信開始フローＦが優先フロー［Ａ］であると判定すると、ステップＳ２０４に進み、
ＡＢＷ−ΣＢＷ［Ａ［ｉ］］＜ＲＢＷ［Ｆ］
が成立するか否かを判定する。
【０１１４】
すなわち、新規通信開始フローＦの希望使用帯域値ＲＢＷ［Ｆ］が、アクセス回線下り方向の利用可能帯域ＡＢＷから、既に使用済みの優先フローＡ［ｉ］のトータルの使用帯域を減算した帯域より大であるか否かが判定される。
【０１１５】
図９を参照して、この判定処理の詳細について説明する。図９には、
ＡＢＷ：アクセス回線下り方向の利用可能帯域（帯域測定部における測定値）
ＵＢＷ：ＡＢＷのうち、アクセス回線下り方向の未使用帯域
ΣＢＷ：非優先フローによって使用されている総帯域
ΣＡＷ：優先フローによって使用されている総帯域
を示している。
【０１１６】
上記式：ＡＢＷ−ΣＢＷ［Ａ［ｉ］］＜ＲＢＷ［Ｆ］は、図９に示す
α−β＝γ＜ＲＢＷ［Ｆ］
が成立するか否かを判定する処理である。
すなわち、新規通信開始フローＦの希望使用帯域値ＲＢＷ［Ｆ］が、アクセス回線下り方向の利用可能帯域ＡＢＷから、優先フローによって使用されている総帯域ΣＡＷを減算した帯域γより大であるか否かを判定する処理である。
【０１１７】
ＡＢＷ−ΣＢＷ［Ａ［ｉ］］＜ＲＢＷ［Ｆ］
が成立する場合、すなわち、新規通信開始フローＦの希望使用帯域値ＲＢＷ［Ｆ］が、アクセス回線下り方向の利用可能帯域ＡＢＷから、優先フローによって使用されている総帯域ΣＡＷを減算した帯域γより大であると判定した場合は、ステップＳ２０５に進み、新規通信開始フローＦに割り当てる帯域値ＮＥＷ＿ＲＢＷ［Ｆ］を、ＡＢＷ−ΣＢＷ［Ａ［ｉ］］、すなわち、図９に示すγとして設定する。
【０１１８】
一方、ステップＳ２０４の判定処理において、
ＡＢＷ−ΣＢＷ［Ａ［ｉ］］＜ＲＢＷ［Ｆ］
が成立しない場合、すなわち、新規通信開始フローＦの希望使用帯域値ＲＢＷ［Ｆ］が、アクセス回線下り方向の利用可能帯域ＡＢＷから、優先フローによって使用されている総帯域ΣＡＷを減算した帯域γ以下であると判定した場合は、ステップＳ２０６に進み、新規通信開始フローＦの希望使用帯域値ＲＢＷ［Ｆ］をそのまま、新規通信開始フローＦに割り当てる帯域値ＮＥＷ＿ＲＢＷ［Ｆ］として設定する。
【０１１９】
ステップＳ２０７では、新規通信開始フローＦに割り当てる帯域値ＮＥＷ＿ＲＢＷ［Ｆ］を出力、すなわち割り当て帯域テーブル２５０に、新規通信開始フローＦの設定帯域として登録する処理を実行する。
【０１２０】
ここで、新規の優先フローＦの帯域割り当ては終了するが、さらに通信を実行中の非優先フローが存在する場合は、非優先フローの帯域更新処理を実行することが必要となり、図７に示すステップＳ１０５のスキップ判定をＮｏと判定して、ステップＳ１１１の非優先フローの希望使用帯域見積もり処理に移行する。通信を実行中の非優先フローが存在しない場合は、非優先フローの帯域更新処理を実行することは不要であり、図７に示すステップＳ１０５のスキップ判定をＹｅｓと判定して、ステップＳ１１３に進み、帯域制御部２４０が、割り当て帯域テーブル２５０に登録された帯域値に基づく帯域制御を実行することになる。
【０１２１】
帯域制御部２４０は、メッセージ書き換え／作成部２４１による制御メッセージ書き換え、送信処理、または、シェイピング部２４２におけるシェイピング処理の少なくともいずれかを実行して、通信制御装置１２０を経由する各通信フローの帯域を割り当て帯域テーブル２５０の設定値に対応するように制御を実行する。新規通信開始フローＦについては、割り当て帯域テーブル２５０に登録された帯域値ＮＥＷ＿ＲＢＷ［Ｆ］に制御する処理を実行することになる。
【０１２２】
ステップＳ１１１と、ステップＳ１１２において実行する非優先フローに対する帯域見積もり処理、および帯域更新処理は、ステップＳ１０６とステップＳ１０７において実行する優先フローに対する帯域見積もり処理、帯域更新処理と同様の処理として実行される。
【０１２３】
ステップＳ１０６と、ステップＳ１０７の処理が実行されるのは、ステップＳ１０２のトリガー態様判別処理において、トリガーが、
ＩＩＩ．フロー通信終了
ＩＶ．リンクレートの増減
のいずれかである場合である。
【０１２４】
これらのＩＩＩ．フロー通信終了、または、ＩＶ．リンクレートの増減が発生した場合、ステップＳ１０６において、優先フローに対する希望使用帯域見積もり処理を実行する。これは、通信を実行中の優先フローに対する帯域見積もり処理である。通信を実行中の優先フローがない場合は、ステップＳ１０６，Ｓ１０７の処理は省略される。
【０１２５】
ステップＳ１１１，Ｓ１１２の非優先フローに対する希望使用帯域の見積もり、更新処理は、ステップＳ１０３、Ｓ１０４の処理が実行されて、通信を実行中の非優先処理の帯域更新の必要が発生した場合と、ステップＳ１０６と、ステップＳ１０７の処理が実行された後、ステップＳ１０８において、利用可能な帯域が残っており非優先フローに対する帯域割り当てが可能な場合である。
【０１２６】
ステップＳ１０６およびステップＳ１１１で実行する希望使用帯域の見積もり処理は、通信フロー監視部２２０の希望帯域見積もり部２２１において実行される処理であり、前述したように、ＲＴＳＰ／ＳＤＰ（Session Description Protocol）パケット内の帯域制御用データや、クライアントから配信サーバへのＳＥＴ＿ＰＡＲＡＭＥＴＥＲメソッド中のＳｅｔ Ｄｅｌｉｖｅｒｙ ＢａｎｄＷｉｄｔｈフィールドの記述情報に基づいて通信に必要な帯域値を見積もる。なお、ＦＴＰやＨＴＴＰなど帯域制御用データを持たないプロトコルを適用した通信フローについては、希望使用帯域値を無限大（∞）とみなす処理を実行する。
【０１２７】
ステップＳ１０７の優先フローの帯域更新処理、ステップＳ１１２の非優先フローの帯域更新処理の詳細について、図１０〜図１２のフロー、および具体的処理例を示す図１３を参照して説明する。
【０１２８】
図１０は、帯域更新処理の全体フローである。この帯域更新処理は、帯域計算部２３０の帯域更新処理モジュール２３２が実行する処理である。ステップＳ３０１において、帯域更新処理モジュール２３２は、以下のデータを入力する。
ＲＢＷ［Ｘ［ｋ］］：帯域更新対象の通信フローＸ［ｋ］各々の希望使用帯域値
ＡＢＷ：アクセス回線下り方向の利用可能帯域（帯域測定部における測定値）
ＢＷ［Ｘ［ｋ］］：帯域更新対象の通信フローＸ［ｋ］各々について割り当て帯域テーブルに設定された帯域値
Ｎｕｍ＿Ｆｌｏｗ［ｘ］：現在のフロー数
以上のデータを入力する。
【０１２９】
上記入力データ中、
ＲＢＷ［Ｘ［ｋ］］：帯域更新対象の通信フローＸ［ｋ］各々の希望使用帯域値
Ｎｕｍ＿Ｆｌｏｗ［ｘ］：現在のフロー数
は、通信フロー監視部２２０から入力する。
ＡＢＷ：アクセス回線下り方向の利用可能帯域（帯域測定部における測定値）
は、帯域測定部２１０から入力する。
ＢＷ［Ｘ［ｋ］］：帯域更新対象の通信フローＸ［ｋ］各々について割り当て帯域テーブルに設定された帯域値
は、割り当て帯域テーブル２５０から取得する。
【０１３０】
帯域計算部２３０の帯域更新処理モジュール２３２は、上記データを取得すると、ステップＳ２０２において前処理を実行する。前処理の詳細シーケンスを図１１のフローに示す。
【０１３１】
図１１のステップＳ４０１では、非優先フローに対する割り当て処理であるか、優先フローに対する割り当て処理であるかを判定し、非優先フローに対する割り当て処理である場合は、ステップＳ４０２に進み、
Ｂａｓｅ＿ＢＷ、すなわち、帯域更新処理モジュールでベースとなる帯域値を、
Ｂａｓｅ＿ＢＷ←ＡＢＷ−ΣＢＷ［Ａ］
として設定する。
【０１３２】
すなわち、Ｂａｓｅ＿ＢＷは、帯域更新処理モジュールで更新対象となるフローに割り当て可能な総帯域であり、この場合、非優先フローに対する割り当て可能な総帯域［Ｂａｓｅ＿ＢＷ］として、ＡＢＷ−ΣＢＷ［Ａ］、すなわち、アクセス回線下り方向の利用可能な総帯域［ＡＢＷ］から、優先フローによって使用されている総帯域［ΣＢＷ［Ａ］］を減算した帯域を帯域更新処理モジュールで更新対象となるフローに割り当て可能な総帯域［Ｂａｓｅ＿ＢＷ］として設定する。
【０１３３】
これは、先に説明した図９の帯域利用構成において、
ＡＢＷ−ΣＢＷ［Ａ］、すなわち、
α−β＝γ
で示されるγの帯域を、非優先フローに対する割り当て可能な総帯域［Ｂａｓｅ＿ＢＷ］として設定するものである。
【０１３４】
一方、ステップＳ４０１において、優先フローに対する割り当て処理であると判定した場合は、ステップＳ４０３に進み、
Ｂａｓｅ＿ＢＷ、すなわち、帯域更新処理モジュールでベースとなる帯域値を、
Ｂａｓｅ＿ＢＷ←ＡＢＷ
として設定する。
【０１３５】
この処理は、アクセス回線下り方向の利用可能な総帯域［ＡＢＷ］全体を、優先フローに対する割り当て可能な総帯域［Ｂａｓｅ＿ＢＷ］として設定するものである。
【０１３６】
この前処理のアルゴリズムを以下に示す。
【数１】
2005210346.tif 000003
【０１３７】
上記アルゴリズムを実行することにより、帯域更新処理を実行する際、更新対象が非優先フローである場合は、非優先フローに対する割り当て可能な総帯域［Ｂａｓｅ＿ＢＷ］＝ＡＢＷ−ΣＢＷ［Ａ］として設定し、更新対象が優先フローである場合は、優先フローに対する割り当て可能な総帯域［Ｂａｓｅ＿ＢＷ］＝ＡＢＷとして設定する。
【０１３８】
次に、図１０のステップＳ３０３の帯域更新処理ループを実行する。帯域更新処理ループの詳細シーケンスについて、図１２のフローを参照して説明する。
【０１３９】
まず、ステップＳ５０１において、
Ｔｍｐ＿ＢＷ［ｘ］：更新対象フローの１つに割り当て可能な仮の最大帯域値
を、
Ｔｍｐ＿ＢＷ［ｘ］←（Ｂａｓｅ＿ＢＷ）／（Ｎｕｍ＿Ｆｌｏｗ［ｘ］）
として設定する。
【０１４０】
これは、すなわち、フローに対する割り当て可能な総帯域［Ｂａｓｅ＿ＢＷ］を更新対象フロー数［Ｎｕｍ＿Ｆｌｏｗ［ｘ］］で均等に分割した帯域を更新対象フロー［ｘ］の１つに割り当て可能な仮の最大帯域値［Ｔｍｐ＿ＢＷ［ｘ］］として設定する処理である。
【０１４１】
次に、ステップＳ５０２〜Ｓ５０８のメインループを実行する。ステップＳ５０２〜Ｓ５０８のメインループの実行条件は、未確定のＮＥＷ＿ＢＷ［Ｘ［ｋ］］、すなわち、更新対象のフローであって更新帯域が未確定のフローがあることと、前のループよりその数が減少していることである。
【０１４２】
ステップＳ５０３〜Ｓ５０６はサブループであり、未確定のＮＥＷ＿ＢＷ［Ｘ［ｋ］］、すなわち、更新対象のフローであって更新帯域が未確定のフローについて各々実行する。なお、この処理において、帯域計算部は、通信フロー各々の希望使用帯域の値がより小さいフローに対して、より優先的に順次帯域割り当て処理を実行し、希望帯域を満たし確実な通信が実行できるフローをより多く設定する処理を行なう。
【０１４３】
まず、ステップＳ５０４では、
ＲＢＷ［Ｘ［ｋ］］：帯域更新対象の通信フローＸ［ｋ］の希望使用帯域値と、
［Ｔｍｐ＿ＢＷ［ｘ］］：更新対象フローの１つに割り当て可能な仮の最大帯域値
との比較を実行する。
【０１４４】
ＲＢＷ［Ｘ［ｋ］］≦［Ｔｍｐ＿ＢＷ［ｘ］］
が成立する場合は、ステップＳ５０５に進み、
ＮＥＷ＿ＢＷ［Ｘ［ｋ］］←Ｔｍｐ＿ＢＷ［ｘ］
として設定する。
【０１４５】
すなわち、帯域更新対象の通信フローＸ［ｋ］の希望使用帯域値［ＲＢＷ［Ｘ［ｋ］］］が、更新対象フローの１つに割り当て可能な仮の最大帯域値［Ｔｍｐ＿ＢＷ［ｘ］］以下である場合は、帯域更新対象の通信フローＸ［ｋ］の更新帯域値［ＮＥＷ＿ＢＷ［Ｘ［ｋ］］］を、帯域更新対象の通信フローＸ［ｋ］の希望使用帯域値［ＲＢＷ［Ｘ［ｋ］として設定する。
【０１４６】
一方、ステップＳ５０４の判定処理において、
ＲＢＷ［Ｘ［ｋ］］≦［Ｔｍｐ＿ＢＷ［ｘ］］
が成立しない場合は、ステップＳ５０６に進み、次の未確定のＮＥＷ＿ＢＷ［Ｘ［ｋ］］、すなわち、更新対象のフローであって更新帯域が未確定のフローについてステップＳ５０３〜Ｓ５０５を各々実行する。
【０１４７】
すべての未確定のＮＥＷ＿ＢＷ［Ｘ［ｋ］］、すなわち、更新対象のフローであって更新帯域が未確定のフローについてステップＳ５０３〜Ｓ５０６を実行した後、ステップＳ５０７に進み、
Ｔｍｐ＿ＢＷ［ｘ］←（Ｂａｓｅ＿ＢＷ−ΣＮＥＷ＿ＢＷ［Ｘ［ｋ］］）／（Ｎｕｍ＿Ｆｌｏｗ［Ｘ］−確定したＮＥＷ＿ＢＷ［Ｘ［ｋ］］の数）
としてＴｍｐ＿ＢＷ［ｘ］の値を更新する。
【０１４８】
すなわち、更新対象フローの１つに割り当て可能な仮の最大帯域値［Ｔｍｐ＿ＢＷ［ｘ］］を、
フローに対する割り当て可能な総帯域［Ｂａｓｅ＿ＢＷ］から既に確定した更新帯域総計値［ΣＮＥＷ＿ＢＷ［Ｘ［ｋ］］］を減算した値（Ｂａｓｅ＿ＢＷ−ΣＮＥＷ＿ＢＷ［Ｘ［ｋ］］）を、
更新対象フロー数［Ｎｕｍ＿Ｆｌｏｗ［Ｘ］］から確定した更新帯域［ＮＥＷ＿ＢＷ［Ｘ［ｋ］］］のフロー数で、等分割した帯域として更新する処理を実行する。
【０１４９】
全ての未確定のＮＥＷ＿ＢＷ［Ｘ［ｋ］］について、ステップＳ５０２〜Ｓ５０８のメインループが終了すると、ステップＳ５０９〜Ｓ５１１に進み、更新帯域未確定の帯域更新対象フローについての更新帯域［ＮＥＷ＿ＢＷ［Ｘ［ｋ］］］設定処理を実行する。
【０１５０】
すなわち、ステップＳ５１０において、更新帯域未確定の帯域更新対象フローについての更新帯域［ＮＥＷ＿ＢＷ［Ｘ［ｋ］］］を、
ＮＥＷ＿ＢＷ［Ｘ［ｋ］］←Ｔｍｐ＿ＢＷ［ｘ］
として設定する。
【０１５１】
すなわち、更新帯域未確定の帯域更新対象フローについての更新帯域［ＮＥＷ＿ＢＷ［Ｘ［ｋ］］］を、ステップＳ５０７において設定した更新対象フローの１つに割り当て可能な仮の最大帯域値［Ｔｍｐ＿ＢＷ［ｘ］］として設定するものである。以上の処理によって、帯域更新処理が終了する。
【０１５２】
この帯域更新処理ループのアルゴリズムを以下に示す。
【数２】
2005210346.tif 000004
【０１５３】
具体的な帯域更新処理例について、図１３を参照して説明する。図１３に示す例は、帯域更新対象となるフロー数＝３、ベース帯域、すなわち、帯域更新対象となるフローに割り当て可能な総帯域であるベース帯域＝１０Ｍｂｐｓとした例である。
【０１５４】
なお、帯域更新フロー１，２，３のいずれも同一の優先度を持つフロー、すなわち、すべて優先フローであるか、すべて非優先フローであるかのいずれかである。
【０１５５】
帯域更新フロー１およびフロー２は、通信フロー中の制御パケットから希望使用帯域を見積もることが可能なフローであり、それぞれ、
フロー１の希望使用帯域＝２Ｍｂｐｓ
フロー２の希望使用帯域＝４Ｍｂｐｓ
である。
一方、フロー３は、通信フロー中の制御パケットから希望使用帯域を見積もることができなかったフローであり、この場合、前述したように、
フロー３の希望使用帯域＝∞
と、みなされる。
【０１５６】
まず、帯域更新ループの第１回目の処理において、ステップＳ７１において、更新対象フローの１つに割り当て可能な仮の最大帯域値［Ｔｍｐ＿ＢＷ［ｘ］］の計算がなされる。計算式は、下記のとおりとなる。
Ｔｍｐ＿ＢＷ［ｘ］＝１０／３＝３．３
この計算の結果、更新対象フローの１つに割り当て可能な仮の最大帯域値は、３．３として設定される。この計算は、図１２のフローのステップＳ５０１の処理に相当する。
【０１５７】
次に、決定した仮の最大帯域値＝３．３を適用した各フローの更新帯域の決定処理に移行する。
【０１５８】
ステップＳ７２において、フロー１についての更新帯域の決定処理を実行する。なお、更新帯域の決定処理の順番は任意であるが、例えば希望帯域の小さいものから順に実行する。図１３の例では、フロー１の希望使用帯域＝２Ｍｂｐｓのフロー１の更新帯域決定処理を最初に実行した例を示している。すなわち、帯域計算部は、通信フロー各々の希望使用帯域の値がより小さいフローに対して、より優先的に順次帯域割り当て処理を実行し、希望帯域を満たし確実な通信が実行できるフローをより多く設定する処理を行なう。
【０１５９】
フロー１の希望使用帯域ＲＢＷ［Ｘ［１］］＝２Ｍｂｐｓと、決定した仮の最大帯域値Ｔｍｐ＿ＢＷ［ｘ］＝３．３との比較を行い、
ＲＢＷ［Ｘ［１］］≦Ｔｍｐ＿ＢＷ［ｘ］
が成立するか否かを判定する。この判定処理は、図１２のフローのステップＳ５０４の処理に相当する。
フロー１の場合、
ＲＢＷ［Ｘ［１］］＝２
Ｔｍｐ＿ＢＷ［ｘ］＝３．３
であるので、
ＲＢＷ［Ｘ［１］］≦Ｔｍｐ＿ＢＷ［ｘ］
が成立する。
この結果、フロー１の更新帯域ＮＥＷ＿ＢＷ［Ｘ［１］］は、フロー１の希望使用帯域ＲＢＷ［Ｘ［１］］＝２Ｍｂｐｓがそのまま設定される。すなわち、
ＮＥＷ＿ＢＷ［Ｘ［１］］＝ＲＢＷ［Ｘ［１］］＝２Ｍｂｐｓ
となる。
この処理は、図１２のフローのステップＳ５０５の処理に相当する。
【０１６０】
次に、ステップＳ７３において、フロー２についての更新帯域の決定処理を実行する。フロー２の希望使用帯域ＲＢＷ［Ｘ［１］］＝４Ｍｂｐｓと、決定した仮の最大帯域値Ｔｍｐ＿ＢＷ［ｘ］＝３．３との比較を行い、
ＲＢＷ［Ｘ［１］］≦Ｔｍｐ＿ＢＷ［ｘ］
が成立するか否かを判定する。この判定処理は、図１２のフローのステップＳ５０４の処理に相当する。
フロー２の場合、
ＲＢＷ［Ｘ［１］］＝４
Ｔｍｐ＿ＢＷ［ｘ］＝３．３
であるので、
ＲＢＷ［Ｘ［１］］≦Ｔｍｐ＿ＢＷ［ｘ］
が成立しない。
この結果、フロー２の更新帯域は、保留とされる。
【０１６１】
次に、ステップＳ７４において、フロー３についての更新帯域の決定処理を実行する。フロー３の希望使用帯域ＲＢＷ［Ｘ［１］］＝∞Ｍｂｐｓと、決定した仮の最大帯域値Ｔｍｐ＿ＢＷ［ｘ］＝３．３との比較を行い、
ＲＢＷ［Ｘ［１］］≦Ｔｍｐ＿ＢＷ［ｘ］
が成立するか否かを判定する。この判定処理は、図１２のフローのステップＳ５０４の処理に相当する。
フロー３の場合、
ＲＢＷ［Ｘ［１］］＝∞
Ｔｍｐ＿ＢＷ［ｘ］＝３．３
であるので、
ＲＢＷ［Ｘ［１］］≦Ｔｍｐ＿ＢＷ［ｘ］
が成立しない。
この結果、フロー３の更新帯域は、保留とされる。
【０１６２】
次に、ステップＳ８１において、仮の最大帯域値Ｔｍｐ＿ＢＷ［ｘ］の更新を実行する。これは、図１２のフローのステップＳ５０７の処理に相当する。すなわち、
Ｔｍｐ＿ＢＷ［ｘ］←（Ｂａｓｅ＿ＢＷ−ΣＮＥＷ＿ＢＷ［Ｘ［ｋ］］）／（Ｎｕｍ＿Ｆｌｏｗ［Ｘ］−確定したＮＥＷ＿ＢＷ［Ｘ［ｋ］］の数）
としてＴｍｐ＿ＢＷ［ｘ］の値を更新する。
図１３の例では、
Ｔｍｐ＿ＢＷ［ｘ］＝（１０−２）／（３−１）＝４
となる。
【０１６３】
次に、ステップＳ８２において、フロー２についての更新帯域の決定処理を実行する。フロー２の希望使用帯域ＲＢＷ［Ｘ［１］］＝４Ｍｂｐｓと、決定した仮の最大帯域値Ｔｍｐ＿ＢＷ［ｘ］＝４との比較を行い、
ＲＢＷ［Ｘ［１］］≦Ｔｍｐ＿ＢＷ［ｘ］
が成立するか否かを判定する。この判定処理は、図１２のフローのステップＳ５０４の処理に相当する。
ＲＢＷ［Ｘ［１］］＝４
Ｔｍｐ＿ＢＷ［ｘ］＝４
であるので、
ＲＢＷ［Ｘ［１］］≦Ｔｍｐ＿ＢＷ［ｘ］
が成立する。
【０１６４】
この結果、フロー２の更新帯域ＮＥＷ＿ＢＷ［Ｘ［２］］は、フロー２の希望使用帯域ＲＢＷ［Ｘ［２］］＝４Ｍｂｐｓがそのまま設定される。すなわち、
ＮＥＷ＿ＢＷ［Ｘ［２］］＝ＲＢＷ［Ｘ［２］］＝４Ｍｂｐｓ
となる。
この処理は、図１２のフローのステップＳ５０５の処理に相当する。
【０１６５】
次に、ステップＳ８３において、フロー３についての更新帯域の決定処理を実行する。フロー３の希望使用帯域ＲＢＷ［Ｘ［１］］＝∞Ｍｂｐｓと、決定した仮の最大帯域値Ｔｍｐ＿ＢＷ［ｘ］＝４との比較を行い、
ＲＢＷ［Ｘ［１］］≦Ｔｍｐ＿ＢＷ［ｘ］
が成立するか否かを判定する。この判定処理は、図１２のフローのステップＳ５０４の処理に相当する。
ＲＢＷ［Ｘ［１］］＝∞
Ｔｍｐ＿ＢＷ［ｘ］＝４
であるので、
ＲＢＷ［Ｘ［１］］≦Ｔｍｐ＿ＢＷ［ｘ］
が成立しない。
この結果、フロー３の更新帯域は、保留とされる。
【０１６６】
次に、更新帯域設定処理３回目のステップＳ９１において、仮の最大帯域値Ｔｍｐ＿ＢＷ［ｘ］の更新を実行する。これは、図１２のフローのステップＳ５０７の処理に相当する。すなわち、
Ｔｍｐ＿ＢＷ［ｘ］←（Ｂａｓｅ＿ＢＷ−ΣＮＥＷ＿ＢＷ［Ｘ［ｋ］］）／（Ｎｕｍ＿Ｆｌｏｗ［Ｘ］−確定したＮＥＷ＿ＢＷ［Ｘ［ｋ］］の数）
としてＴｍｐ＿ＢＷ［ｘ］の値を更新する。
図１３の例では、
Ｔｍｐ＿ＢＷ［ｘ］＝（１０−２−４）／（３−１−１）＝４
となる。
【０１６７】
次に、ステップＳ９２において、フロー３についての更新帯域の決定処理を実行する。フロー３の希望使用帯域ＲＢＷ［Ｘ［１］］＝∞Ｍｂｐｓと、決定した仮の最大帯域値Ｔｍｐ＿ＢＷ［ｘ］＝４との比較を行い、
ＲＢＷ［Ｘ［１］］≦Ｔｍｐ＿ＢＷ［ｘ］
が成立するか否かを判定する。この判定処理は、図１２のフローのステップＳ５０４の処理に相当する。
ＲＢＷ［Ｘ［１］］＝∞
Ｔｍｐ＿ＢＷ［ｘ］＝４
であるので、
ＲＢＷ［Ｘ［１］］≦Ｔｍｐ＿ＢＷ［ｘ］
が成立しない。
この結果、フロー３の更新帯域は、一旦保留とされる。
【０１６８】
さらに、次の更新帯域設定処理４回目を実行することになるが、この時点で、更新帯域設定処理３回目と、同じ数の更新帯域未決定フロー数＝１が存在することになる。この結果、図１２のメインループ（Ｓ５０２〜Ｓ５０８）を終了し、図１２のステップＳ５０９に移行することになる。図１２のメインループ（Ｓ５０２〜Ｓ５０８）の実行条件は、図１２のステップＳ５０２に記載のように、未確定のＮＥＷ＿ＢＷ［Ｘ［ｋ］］、すなわち、更新対象のフローであって更新帯域が未確定のフローがあることと、前のループよりその数が減少していることであるからである。
【０１６９】
図１３に示すステップＳ９３が、図１２のステップＳ５０９〜Ｓ５１１の処理に相当する。具体的には、図１２のステップＳ５１０の更新帯域計算、すなわち、
ＮＥＷ＿ＢＷ［Ｘ［３］］＝Ｔｍｐ＿ＢＷ［Ｘ］
としてフロー３の更新帯域が決定する。
【０１７０】
この時点で、
Ｔｍｐ＿ＢＷ［Ｘ］＝４
であるので、フロー３の更新帯域は、
ＮＥＷ＿ＢＷ［Ｘ［３］］＝Ｔｍｐ＿ＢＷ［Ｘ］＝４として設定される。
【０１７１】
このような更新帯域設定処理により、全てのフローに対する更新帯域が決定され、決定した更新帯域情報が、割り当て帯域テーブル２５０に登録される。帯域制御部２４０は、割り当て帯域テーブル２５０に登録された各フローの更新帯域値に従ってメッセージ書き換えやシェイピング処理を実行して、各フローを更新帯域値に対応した帯域での通信が実行されるように制御する。
【０１７２】
この制御の結果、優先フローとして設定されるフロー、例えばＲＴＳＰプロトコルに基づくストリーミングデータは、安定した動画等のコンテンツ再生を行なうために必要となる帯域を優先的に取得してデータ送信を行なうことが可能となり、ホームネットワークに接続されたクライアント機器における安定したコンテンツ再生が可能となる。
【０１７３】
なお、通信制御装置１２０を介した通信フローの帯域設定情報をユーザが確認し、また設定の変更を可能とするため、設定情報やフロー情報を表示するＧＵＩ機能を保持する構成とすることが好ましい。
【０１７４】
ＧＵＩによる情報表示例を図１４に示す。図１４に示す情報表示例は、優先フローと非優先フローとの設定情報を示し、ユーザによる設定変更を可能とした設定情報表示部５０１、帯域測定部２１０によって測定された現在の利用可能な帯域情報を示す利用可能帯域情報表示部５０２、現在実行中の通信フローの設定帯域やアドレス情報を示す通信フロー状態情報表示部５０３を有する。
【０１７５】
ユーザは、設定情報表示部５０１の設定を変更することで、どの通信フローを優先フローとし、また非優先フローとするかを設定することが可能となる。通信制御装置１２０は、設定情報に基づいて、各通信フローの優先度を判定して、上述した帯域設定、更新処理を実行する。
【０１７６】
次に、通信制御装置のハードウェア構成例について、図１５を参照して説明する。
【０１７７】
ＣＰＵ(Central Processing Unit)７０１は、メモリ７０３等に記憶されているプログラムに従って、各種の処理を実行する。具体的には、上述のフローに従った帯域制御処理を実行する。ＲＡＭ(Random Access Memory)７０２には、ＣＰＵ７０１が実行するプログラムやデータが適宜記憶される。ＣＰＵ７０１、ＲＯＭ７０２、およびメモリ７０３は、バス７１１を介して相互に接続されている。
【０１７８】
バス７１１には、入出力インタフェース７１２が接続されており、この入出力インタフェース７１２には、例えば、ユーザにより操作されるキーボード、スイッチ、ボタン、ポインティングデバイス、あるいはマウス等により構成される入力部７０４、ユーザに各種の情報を提示するＬＣＤ、ＣＲＴ、スピーカ等により構成される出力部７０５が接続される。図１４を参照して説明したＧＵＩ機能に基づく情報表示は出力部７０５を介して実行される。
【０１７９】
さらに、ＷＡＮ側とのデータ送受信手段として機能する通信Ｉ／Ｆ７０６、さらに、ホームネットワーク機器とのデータ送受信手段として機能する通信Ｉ／Ｆ７０７を有し、ＷＡＮ側の例えばストリーミングサーバと、ホームネットワーク機器間のデータ送受信を仲介する。なお、ＷＡＮ側とのデータ送受信手段として機能する通信Ｉ／Ｆ７０６は、帯域測定サーバとの通信も実行し、通信によって取得した情報に基づいてＣＰＵ７０１の制御の下に利用可能な帯域値の算出処理が実行される。
【０１８０】
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
【０１８１】
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
【０１８２】
例えば、プログラムは記録媒体としてのハードディスクやＲＯＭ（Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、ＣＤ−ＲＯＭ(Compact Disc Read Only Memory)，ＭＯ(Magneto optical)ディスク，ＤＶＤ(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納（記録）しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
【０１８３】
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータ・プログラム実行機能を持つ装置にインストールする他、ダウンロードサイトから無線転送したり、ＬＡＮ(Local Area Network)、インターネットといったネットワークを介して有線で転送し、コンピュータ・プログラム実行機能を持つ装置において転送プログラムを受信しメモリにインストールすることができる。
【０１８４】
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
【産業上の利用可能性】
【０１８５】
以上、説明したように、本発明の構成によれば、広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御処理において、通信制御装置を介する通信フローに含まれる制御パケットの帯域制御用記述データの書き換え処理を実行し、広域ネットワーク接続機器に送信することにより確実な通信フローの帯域制御処理の実行が可能となり、高品質なストリーミング配信が実現される。
【０１８６】
さらに、本発明の構成によれば、ホームネットワーク等、様々な通信機器がそれぞれ同時にデータ通信を実行するような環境において、帯域制御用記述データの書き換え処理のみならず、シェイピング処理を実行して帯域制御処理を行い、また、必要に応じて自ら帯域制御用記述データを持つパケットを生成して広域ネットワーク接続機器に送信する構成としたので、より確実な通信フローの帯域制御処理が可能となる。
【図面の簡単な説明】
【０１８７】
【図１】本発明の通信制御装置の利用態様を説明する図である。
【図２】本発明の通信制御装置の詳細構成を示すブロック図である。
【図３】本発明の通信制御装置が保持する割り当て帯域テーブルの具体例について説明する図である。
【図４】本発明の通信制御装置の帯域制御部において実行する制御パケットのメッセージ書き換えによる帯域制御の具体例について説明する図である。
【図５】本発明の通信制御装置において帯域制御を実行するトリガーおよびトリガーの検出態様について説明する図である。
【図６】本発明の通信制御装置において実行する帯域制御のシーケンスについて説明する図である。
【図７】本発明の通信制御装置において実行する帯域制御の処理手順を説明するフローチャートである。
【図８】本発明の通信制御装置において実行する帯域新規設定処理の処理手順を説明するフローチャートである。
【図９】本発明の通信制御装置における帯域制御において、制御対象の帯域の構成例を説明する図である。
【図１０】本発明の通信制御装置において実行する帯域更新処理の処理手順を説明するフローチャートである。
【図１１】本発明の通信制御装置において実行する帯域更新処理の前処理の手順を説明するフローチャートである。
【図１２】本発明の通信制御装置において実行する帯域更新処理の帯域更新ループの処理手順を説明するフローチャートである。
【図１３】本発明の通信制御装置において実行する帯域更新処理の具体的な処理例を説明する図である。
【図１４】本発明の通信制御装置の情報表示例を説明する図である。
【図１５】本発明の通信制御装置のハードウェア構成例を示す図である。
【符号の説明】
【０１８８】
１００  ホームネットワーク
１０１  ＴＶ（ホームネットワーク機器）
１０２  ＰＣ（ホームネットワーク機器）
１２０  通信制御装置
１３１  ストリーミングサーバ
１３２  各種サーバ
１５０  帯域測定サーバ
２１０  帯域測定部
２２０  通信フロー監視部
２２１  希望帯域見積もり部
２３０  帯域計算部
２３１  帯域新規設定処理モジュール
２３２  帯域更新処理モジュール
２４０  帯域制御部
２４１  メッセージ書き換え／作成部
２４２  シェイピング部
２４３  シェイピンクＩ／Ｆ
２５０  割り当て帯域テーブル
２７０  ルーティング部
２８０  ＤＨＣＰサーバ部
５０１  設定情報表示部
５０２  利用可能帯域情報表示部
５０３  通信フロー状態情報表示部
７０１  ＣＰＵ(Central Processing Unit)
７０２  ＲＡＭ(Random Access Memory)
７０３  メモリ
７０４  入力部
７０５  出力部
７０６  通信Ｉ／Ｆ
７０７  通信Ｉ／Ｆ
７１１  バス
７１２  入出力インタフェース
【図１】
2005210346.tif 000005
【図２】
2005210346.tif 000006
【図３】
2005210346.tif 000007
【図４】
2005210346.tif 000008
【図５】
2005210346.tif 000009
【図６】
2005210346.tif 000010
【図７】
2005210346.tif 000011
【図８】
2005210346.tif 000012
【図９】
2005210346.tif 000013
【図１０】
2005210346.tif 000014
【図１１】
2005210346.tif 000015
【図１２】
2005210346.tif 000016
【図１３】
2005210346.tif 000017
【図１４】
2005210346.tif 000018
【図１５】
2005210346.tif 000019