JP2005210347A - 通信制御装置、および通信制御方法、並びにコンピュータ・プログラム - Google Patents

通信制御装置、および通信制御方法、並びにコンピュータ・プログラム Download PDF

Info

Publication number
JP2005210347A
JP2005210347A JP2004013906A JP2004013906A JP2005210347A JP 2005210347 A JP2005210347 A JP 2005210347A JP 2004013906 A JP2004013906 A JP 2004013906A JP 2004013906 A JP2004013906 A JP 2004013906A JP 2005210347 A JP2005210347 A JP 2005210347A
Authority
JP
Japan
Prior art keywords
bandwidth
flow
communication
band
communication control
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2004013906A
Other languages
English (en)
Inventor
Shingo Yamawaki
晋吾 山脇
Yoshiro Katsumi
吉朗 勝見
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Original Assignee
Sony Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Corp filed Critical Sony Corp
Priority to JP2004013906A priority Critical patent/JP2005210347A/ja
Publication of JP2005210347A publication Critical patent/JP2005210347A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】 通信フローの品質を維持し、特にストリーミング配信の帯域を優先的に確保して安定したストリーミングデータの配信を実現する装置および方法を提供する。
【解決手段】 広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御処理において、通信制御装置を介する通信フロー各々の希望使用帯域を取得し、希望使用帯域に基づいて帯域割り当て処理を実行する。特に優先フローに対する帯域割り当てにおいては、非優先フローの使用帯域をも含めた帯域を割り当て対象として設定する構成としたので、より広い帯域をストリーミング配信フローに優先的に割り当てることが可能となり、安定したストリーミングデータの配信、視聴が可能となる。
【選択図】 図12

Description

本発明は、通信制御装置、および通信制御方法、並びにコンピュータ・プログラムに関する。さらに詳細には、ネットワークを介するデータ通信、特にストリーミングデータ通信における通信品質としてのQoS(Quality of Service)を保証した通信を実現する通信制御装置、および通信制御方法、並びにコンピュータ・プログラムに関する。
昨今、インターネットを介したデータ通信が盛んに行われており、特に近年は、ADSL(Asymmetric Digital Subscriber Line)などの高速通信網の整備による通信のブロードバンド化が進み、いわゆるストリーミング配信と呼ばれる動画あるいは音楽データなどの配信が多く行なわれるようになってきている。
インターネットを介して動画、音声データなどストリーミングデータを配信する場合、データは、複数のパケットに分割されて配信される。データパケットを受信したPCなどのクライアント機器において、パケットからデータを取り出して再構築して、再生する。しかし、ネットワーク上でのパケットのドロップ、すなわちパケット消失の問題は常に存在し、このようなパケット消失が発生すると、画像、音声データの再生の際に乱れが発生することになる。
特に、多くの通信機器を家庭内で接続したホームネットワーク構成を持つ場合、ホームルータを介して動画等のストリーミング配信を受信しながら、FTP(File Transfer Protocol)に基づくファイル転送処理や、Webデータに対するアクセス処理などが並列に実行される場合も多くなってきている。このような様々なデータ通信が同時に実行されると、帯域のボトルネックとなるアクセス回線上で輻輳が起こる。
複数の通信フローが存在する場合、他のフローの使用帯域や広域ネットワークであるWAN(Wide Area Network)側の実際の利用可能帯域などを考慮することなく、各フローに対応するプロトコル独自の輻輳制御処理がなされると、帯域の奪い合いが発生する。
このような各通信フロー間の帯域奪い合いが生じた場合、定常的な広帯域を必要とするストリーミングの配信に影響を及ぼし、例えば動画再生において安定した視聴ができない場合がある。
具体的には、ホームネットワークに接続されたTVなどでストリーミングサービスによって配信される動画データを視聴する場合に、配信される動画データ用の十分な帯域が確保されないことになり、結果としてパケット欠落などが生じ、動画の表示処理がスムーズに実行できなくなるという問題が発生する。
このような観点から、ネットワークを介したデータ通信において、通信品質(QoS:Quality of Service)の保証が求められている。QoS保証を実現するにはネットワークに設定されたパケット転送装置においてQoS制御を行う必要がある。QoS制御としては、例えばスケジューリングによる帯域保証,バッファ管理処理、あるいは流入量規制(ポリシング)等がある。
例えば特許文献1には、ネットワーク接続用の帯域を複数のクライアントで共有するような環境下において、一部クライアントが当該帯域を占有することがないように、公平に帯域を利用可能とするために、アドレス管理部において、帯域を使用するクライアントに対してアドレスを貸与して、帯域管理部において、このアドレスに対して帯域の再配分を行い、クライアント全体に対して公平でバランスのとれた帯域の確保をなす構成が示されている。具体的には、WAN側の帯域を固定値(ISDNなら128kbpsなど)としてルータ配下のトラフィックを各クライアントに公平に割り当てる処理を行なう構成である。
この帯域割り当て手法は、WAN側の帯域が固定的であるISDN回線や専用線であれば、一定の帯域保証を実現する構成として有効であるが、ADSLなどを利用した場合、リンクレートがそのまま使用可能帯域として設定されない。例えば、ADSL8Mの回線で8Mbpsが利用できるわけではない。しかも、リンクレートには時間的変動が生じるため、上記の帯域割り当てを行なっても、ストリーミング配信において十分なQoS維持が図られる保証はないという問題がある。
また、特許文献2には、通信中継装置で複数経路の中から帯域の最適な経路をストリーミングなどの優先フローに割り当ててQoSを確保する構成が示されている。
しかし、インターネット上に経路が複数存在していても、利用可能な帯域のボトルネックとなるのは経路が分岐する前のユーザのアクセス回線上であり、アクセス回線上での輻輳の問題点は解消されない。
さらに、特許文献3には、通信中継装置においてRTSP(Real−time Streaming Protocol)パケットに含まれる帯域制御データを読み取ってキューをスケジューリングして帯域保証を実現する構成を開示している。しかし、この手法では、配信サーバの送信トラフィック量を制御することはないので、アクセス回線の下り方向の輻輳を防ぐことは不可能である。従って、アクセス回線の下り方向の輻輳が発生した場合のQoSの十分な保証はできないという問題がある。
特開2002−271359号公報 特開2001−333100号公報 特開2003−158543号公報
本発明は、上述の問題点に鑑みてなされたものであり、ネットワークを介するデータ通信、特にストリーミングデータ通信における通信品質としてのQoS(Quality of Service)を保証した通信を実現する通信制御装置、および通信制御方法、並びにコンピュータ・プログラムを提供することを目的とする。
特に、本発明は、ホームネットワーク等、様々な通信機器がそれぞれ同時にデータ通信を実行するような環境において、ストリーミングデータ通信に対して優先的な帯域割り当てを実行して、高品質なストリーミング配信を実現する通信制御装置、および通信制御方法、並びにコンピュータ・プログラムを提供することを目的とする。
より具体的には、本発明は、通信フロー監視部において、通信制御装置を介する通信フロー各々の希望使用帯域を取得し、帯域計算部において、通信フロー各々の希望使用帯域の値に応じて各フローに対して順次帯域割り当て処理を実行することにより、各通信フローの品質を維持することを可能とした通信制御装置、および通信制御方法、並びにコンピュータ・プログラムを提供することを目的とする。
本発明の第1の側面は、
広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御を実行する通信制御装置であり、
広域ネットワーク側の利用可能帯域を測定する帯域測定部と、
通信制御装置を介する通信フローの監視を実行する通信フロー監視部と、
前記帯域測定部から入力する利用可能帯域情報と、前記通信フロー監視部から入力するフロー情報とに基づいて、通信制御装置を介する通信フローに対する割り当て帯域値を算出する帯域計算部と、
前記帯域計算部の算出した割り当て帯域値に応じた帯域制御処理を実行する帯域制御部とを有し、
前記通信フロー監視部は、
通信制御装置を介する通信フロー各々の希望使用帯域を取得する処理を実行する構成であり、
前記帯域計算部は、
前記通信フロー各々の希望使用帯域の値がより小さいフローに対して、より優先的に順次帯域割り当て処理を実行する構成であることを特徴とする通信制御装置にある。
さらに、本発明の通信制御装置の一実施態様において、前記帯域計算部は、前記通信フロー監視部から入力するフローの開始またはフローの終了、または、前記帯域測定部から入力する利用可能帯域の変化のいずれかをトリガーとして、通信フローに対して割り当てる帯域の設定値または更新値の算出処理を実行する構成であることを特徴とする。
さらに、本発明の通信制御装置の一実施態様において、前記通信制御装置は、前記帯域計算部の算出した通信フローに割り当てる帯域値を保持する割り当て帯域テーブルを有し、前記帯域制御部は、前記割り当て帯域テーブルに記録された各フロー毎の設定帯域値に基づく帯域制御処理を実行する構成であることを特徴とする。
さらに、本発明の通信制御装置の一実施態様において、前記帯域計算部は、予め定められた優先フローに対する割り当て帯域算出処理においては、前記帯域測定部から入力する利用可能帯域中、未使用帯域と非優先フローの使用帯域との合計帯域を、前記優先フローに対する割り当て可能帯域としてのベース帯域として設定する構成であり、非優先フローに対する割り当て帯域算出処理においては、前記帯域測定部から入力する利用可能帯域中、優先フローの使用帯域を除く帯域を、前記非優先フローに対する割り当て可能帯域としてのベース帯域として設定する構成であることを特徴とする。
さらに、本発明の通信制御装置の一実施態様において、前記帯域計算部は、複数フローについての帯域更新処理において、帯域更新対象フローに対する割り当て可能帯域としてのベース帯域を帯域更新対象フロー数に基づいて等分した帯域値を仮の最大帯域として算出し、通信フロー各々の希望使用帯域の値に応じて各フローに対して順次、各フローの希望使用帯域と、前記仮の最大帯域との比較を実行し、前記希望使用帯域が前記仮の最大帯域以下である場合には、前記希望使用帯域を更新帯域として設定し、前記希望使用帯域が前記仮の最大帯域以下でない場合には、前記仮の最大帯域の値を順次変更して、変更した仮の最大帯域と各フローの希望使用帯域との比較を実行し、各フローに対する更新帯域の設定を実行する構成であることを特徴とする。
さらに、本発明の通信制御装置の一実施態様において、前記帯域計算部は、新たに通信を開始する新規フローに対する割り当て帯域算出処理において、新規フローの希望使用帯域と、前記帯域測定部から入力する利用可能帯域中の未使用帯域との比較を実行し、前記希望使用帯域が前記未使用帯域以下である場合には、前記希望使用帯域を新規フローに対する割り当て帯域として算出する構成であることを特徴とする。
さらに、本発明の通信制御装置の一実施態様において、前記帯域計算部は、新たに通信を開始する新規フローに対する割り当て帯域算出処理において、前記新規フローが予め定められた優先フローである場合、前記帯域測定部から入力する利用可能帯域から優先フローの使用帯域を除く帯域を割り当て可能帯域とし、該割り当て可能帯域と、前記新規フローの希望使用帯域との比較を実行し、前記希望使用帯域が前記割り当て可能帯域以下である場合には、前記希望使用帯域を前記新規フローに対する割り当て帯域として算出し、前記希望使用帯域が前記割り当て可能帯域以下でない場合には、前記割り当て可能帯域を前記新規フローに対する割り当て帯域として算出する構成であることを特徴とする。
さらに、本発明の通信制御装置の一実施態様において、前記通信フロー監視部は、通信制御装置を介する通信フロー各々の希望使用帯域取得処理において、通信フローに含まれる制御パケット内の記述データを取得し、該取得データに基づいて、各フローの希望使用帯域を取得する構成であることを特徴とする。
さらに、本発明の通信制御装置の一実施態様において、前記通信フロー監視部は、通信制御装置を介する通信フロー各々の希望使用帯域取得処理において、通信フローに含まれる制御パケット内の記述データに基づく各フローの希望使用帯域を取得できない場合、該フローの希望使用帯域を無限大とみなす処理を実行する構成であることを特徴とする。
さらに、本発明の第2の側面は、
広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御を実行する通信制御方法であり、
広域ネットワーク側の利用可能帯域を測定する帯域測定ステップと、
通信制御装置を介する通信フローの監視を実行する通信フロー監視ステップと、
前記帯域測定ステップにおいて取得する利用可能帯域情報と、前記通信フロー監視ステップにおいて取得するフロー情報とに基づいて、通信制御装置を介する通信フローに対する割り当て帯域値を算出する帯域計算ステップと、
前記帯域計算ステップにおいて算出した割り当て帯域値に応じた帯域制御処理を実行する帯域制御ステップとを有し、
前記通信フロー監視ステップは、
通信制御装置を介する通信フロー各々の希望使用帯域を取得する処理を実行するステップを含み、
前記帯域計算ステップは、
前記通信フロー各々の希望使用帯域の値がより小さいフローに対して、より優先的に順次帯域割り当て処理を実行することを特徴とする通信制御方法にある。
さらに、本発明の通信制御方法の一実施態様において、前記帯域計算ステップは、前記通信フロー監視ステップにおいて検出するフローの開始またはフローの終了、または、前記帯域測定ステップの測定する利用可能帯域の変化のいずれかをトリガーとして、通信フローに対して割り当てる帯域の設定値または更新値の算出処理を実行するステップであることを特徴とする。
さらに、本発明の通信制御方法の一実施態様において、前記通信制御方法は、さらに、前記帯域計算部の算出した通信フローに割り当てる帯域値を割り当て帯域テーブルに記録する記録ステップを有し、前記帯域制御ステップは、前記割り当て帯域テーブルに記録された各フロー毎の設定帯域値に基づく帯域制御処理を実行するステップであることを特徴とする。
さらに、本発明の通信制御方法の一実施態様において、前記帯域計算ステップは、予め定められた優先フローに対する割り当て帯域算出処理においては、前記帯域測定ステップにおいて取得する利用可能帯域中、未使用帯域と非優先フローの使用帯域との合計帯域を、前記優先フローに対する割り当て可能帯域としてのベース帯域として設定し、非優先フローに対する割り当て帯域算出処理においては、前記帯域測定ステップにおいて取得する利用可能帯域中、優先フローの使用帯域を除く帯域を、前記非優先フローに対する割り当て可能帯域としてのベース帯域として設定することを特徴とする。
さらに、本発明の通信制御方法の一実施態様において、前記帯域計算ステップは、複数フローについての帯域更新処理において、帯域更新対象フローに対する割り当て可能帯域としてのベース帯域を帯域更新対象フロー数に基づいて等分した帯域値を仮の最大帯域として算出し、通信フロー各々の希望使用帯域の値に応じて各フローに対して順次、各フローの希望使用帯域と、前記仮の最大帯域との比較を実行し、前記希望使用帯域が前記仮の最大帯域以下である場合には、前記希望使用帯域を更新帯域として設定し、前記希望使用帯域が前記仮の最大帯域以下でない場合には、前記仮の最大帯域の値を順次変更して、変更した仮の最大帯域と各フローの希望使用帯域との比較を実行し、各フローに対する更新帯域の設定を実行するステップであることを特徴とする。
さらに、本発明の通信制御方法の一実施態様において、前記帯域計算ステップは、新たに通信を開始する新規フローに対する割り当て帯域算出処理において、新規フローの希望使用帯域と、前記帯域測定ステップにおいて取得する利用可能帯域中の未使用帯域との比較を実行し、前記希望使用帯域が前記未使用帯域以下である場合には、前記希望使用帯域を新規フローに対する割り当て帯域として算出するステップであることを特徴とする。
さらに、本発明の通信制御方法の一実施態様において、前記帯域計算ステップは、新たに通信を開始する新規フローに対する割り当て帯域算出処理において、前記新規フローが予め定められた優先フローである場合、前記帯域測定ステップにおいて取得する利用可能帯域から優先フローの使用帯域を除く帯域を割り当て可能帯域とし、該割り当て可能帯域と、前記新規フローの希望使用帯域との比較を実行し、前記希望使用帯域が前記割り当て可能帯域以下である場合には、前記希望使用帯域を前記新規フローに対する割り当て帯域として算出し、前記希望使用帯域が前記割り当て可能帯域以下でない場合には、前記割り当て可能帯域を前記新規フローに対する割り当て帯域として算出するステップであることを特徴とする。
さらに、本発明の通信制御方法の一実施態様において、前記通信フロー監視ステップは、通信制御装置を介する通信フロー各々の希望使用帯域取得処理において、通信フローに含まれる制御パケット内の記述データを取得し、該取得データに基づいて、各フローの希望使用帯域を取得するステップを含むことを特徴とする。
さらに、本発明の通信制御方法の一実施態様において、前記通信フロー監視ステップは、通信制御装置を介する通信フロー各々の希望使用帯域取得処理において、通信フローに含まれる制御パケット内の記述データに基づく各フローの希望使用帯域を取得できない場合、該フローの希望使用帯域を無限大とみなす処理を実行するステップを含むことを特徴とする。
さらに、本発明の第3の側面は、
広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御を実行するコンピュータ・プログラムであり、
広域ネットワーク側の利用可能帯域を測定する帯域測定ステップと、
通信制御装置を介する通信フローの監視を実行する通信フロー監視ステップと、
前記帯域測定ステップにおいて取得する利用可能帯域情報と、前記通信フロー監視ステップにおいて取得するフロー情報とに基づいて、通信制御装置を介する通信フローに対する割り当て帯域値を算出する帯域計算ステップと、
前記帯域計算ステップにおいて算出した割り当て帯域値に応じた帯域制御処理を実行する帯域制御ステップとを有し、
前記通信フロー監視ステップは、
通信制御装置を介する通信フロー各々の希望使用帯域を取得する処理を実行するステップを含み、
前記帯域計算ステップは、
前記通信フロー各々の希望使用帯域の値がより小さいフローに対して、より優先的に順次帯域割り当て処理を実行することを特徴とするコンピュータ・プログラムにある。
なお、本発明のコンピュータ・プログラムは、例えば、様々なプログラム・コードを実行可能なコンピュータ・システムに対して、コンピュータ可読な形式で提供する記憶媒体、通信媒体、例えば、CDやFD、MOなどの記録媒体、あるいは、ネットワークなどの通信媒体によって提供可能なコンピュータ・プログラムである。このようなプログラムをコンピュータ可読な形式で提供することにより、コンピュータ・システム上でプログラムに応じた処理が実現される。
本発明のさらに他の目的、特徴や利点は、後述する本発明の実施例や添付する図面に基づくより詳細な説明によって明らかになるであろう。なお、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
本発明の構成によれば、広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御処理において、通信制御装置を介する通信フロー各々の希望使用帯域を取得し、希望使用帯域に基づいて帯域割り当て処理を実行する構成としたので、各通信フローの帯域割り当てを確実に効率的に実行することが可能となり、特に優先フローに対する帯域割り当てにおいては、非優先フローの使用帯域をも含めた帯域を割り当て対象として設定する構成としたので、例えばストリーミング配信を実行するフローを優先フローとして設定することで、より広い帯域をストリーミング配信フローに優先的に割り当てることが可能となり、安定したストリーミングデータの配信、視聴が可能となる。
さらに、本発明の構成によれば、ホームネットワーク等、様々な通信機器がそれぞれ同時にデータ通信を実行するような環境において、ストリーミングデータ通信に対して優先的な帯域割り当てを実行する構成としたので、高品質なストリーミング配信が実現される。また、通信フロー監視部において、通信制御装置を介する通信フロー各々の希望使用帯域を取得し、帯域計算部において、通信フロー各々の希望使用帯域の値がより小さいフローに対して、より優先的に順次帯域割り当て処理を実行する構成としたので、希望帯域を満たし確実な通信が実行できるフローをより多く設定することが可能となり、各通信フローの品質を優先度に応じて維持することが可能となる。
以下、図面を参照しながら本発明の通信制御装置、および通信制御方法、並びにコンピュータ・プログラムの詳細について説明する。
まず、図1を参照して本発明の通信制御装置の利用構成概要について説明する。図1において、1つのローカルネットワークを構成するホームネットワーク100には、複数のホームネットワーク機器(クライアント)としての例えばTV101、PC102が接続され、それぞれが例えばホームルータなどによって構成される通信制御装置120を介して広域ネットワークとしてのWAN(Wide Area Network)側の様々な機器、例えばサーバに接続され通信を行なう。
例えばストリーミングサーバ131は、RTSP(Real−time Streaming Protocol)に従った動画データなどのストリーミングデータ配信を実行し、ホームネットワーク100内に接続されたホームネットワーク機器としてのTV101に動画データを提供する。
また、各種サーバ132は、FTP(File Transfer Protocol)に基づくファイル転送処理を実行するFTPサーバ、Webサーバなどのサーバであり、ホームネットワーク100内に接続されたホームネットワーク機器としてのPC102にデータを提供する。
なお、図1には、ホームネットワーク100に存在する2つのホームネットワーク機器としてTV101、PC102のみを示し、それぞれの通信フローを優先フローA、非優先フローBとして示してあるが、この他にもホームネットワーク100には複数の機器が存在可能であり、また3以上の通信フローが存在可能である。
通信制御装置120は、WAN側とホームネットワーク機器との間で実行される複数のデータ通信の制御を行う。通信制御装置120は、WAN側に接続された帯域測定サーバ150と通信を実行し、帯域測定サーバ150と連携して実行する帯域測定情報に基づいて、通信制御装置120を介するデータ通信における帯域制御を行なう。
なお、通信制御装置120は例えばADSL(Asymmetric Digital Subscriber Line)などの高速通信網に接続されている。ADSLは、背景技術の欄で説明したようにリンクレートがそのまま使用可能帯域として設定されない。例えば、ADSL8Mの回線を使用した場合であっても、常に8Mbpsが利用できるわけではなく時間的変動も発生する。なお、帯域測定サーバ150は、例えば帯域のボトルネックとなるADSLアクセス回線の帯域を測定する際に使用されるが、帯域測定サーバ150は、インターネット等のネットワーク上のどの位置に存在してもよい。
通信制御装置120は、このような使用可能帯域の固定値が保証されない通信網に接続されているが、帯域測定サーバ150からの情報を逐次受領して動的な帯域制御を行なう。具体的には、ストリーミング配信フローAを優先フローとし、その他のデータ通信フローBを非優先フローとして設定して、ストリーミング配信における品質保証、すなわちQoS保証を実現する。
通信制御装置120は、以下の4つの機能を持つ。
(1)帯域測定機能
アクセス回線下り方向の利用可能帯域を測定する機能である。この帯域測定処理は、帯域測定サーバ150と連携して実行する。
(2)通信フロー監視機能
WAN側とホームネットワーク機器との間で実行される通信フローの検知および認識を行なう機能である。
(3)帯域計算機能
WAN側とホームネットワーク機器との間で実行される通信フロー各フローに割り当てるべき通信帯域を計算する機能である。
(4)帯域制御機能
WAN側とホームネットワーク機器との間で実行される通信フロー各フローに、帯域計算機能で計算した結果としての通信帯域に設定する制御を実行する機能である。
ホームルータ(HR)等によって構成される通信制御装置120は、上記の4つの機能を用いて、アクセス回線下り方向、すなわちWAN側からホームネットワーク機器に向かう通信に利用可能な帯域を計測し、各通信フローに対して予め設定された優先度に基づいて動的な帯域割り当て処理を実行して、割り当て結果に基づく帯域を利用した通信を実行するように制御を行う。
通信制御装置120は、ホームネットワークの下り方向のトラフィックを一括管理することにより、アクセス回線下り方向の輻輳を防ぎ、特に優先フローとして設定されるストリーミングデータの品質の保証を実現する。なお、各通信フローが優先フローであるか、または非優先フローであるかは、通信プロトコル、アドレス、ポート番号などに応じた規定値として通信制御装置120内の設定ファイルなどに記述され保持される。
図2に通信制御装置120の詳細構成を示す。通信制御装置120が上記4つの機能を適用して実行する帯域制御処理について、図2を参照しながら説明する。
通信制御装置120は、図2に示すように、上述の帯域測定機能を実行する帯域測定部210、通信フロー監視機能を実行する通信フロー監視部220、帯域計算機能を実行する帯域計算部230、帯域制御機能を実行する帯域制御部240を有し、さらに、割り当て帯域テーブル250、通信フローの経路設定処理を実行するルーティング部270、DHCP(Dynamic Host Configuration Protocol)プロトコルに基づいて、クライアント(図1に示すTV101、PC102などのホームネットワーク機器)からのIPアドレスの割当て要求に対して、自らがプールしているIPアドレスの貸与を行うDHCPサーバ部280を有する。
通信フロー監視部220には、通信フローを構成するパケットに含まれる制御データに基づいて各フローの希望帯域値を見積もる希望帯域見積もり部221を有する。また、帯域計算部230は、新規フローに対する設定帯域の計算を実行する帯域新規設定処理モジュール231と、通信中のフローに対する帯域変更処理の際の更新帯域の計算を実行する帯域更新処理モジュール232を有する。
帯域制御部240は、通信フロー中の制御パケットなどに含まれる帯域制御データの書き換え処理を実行するメッセージ書き換え/作成部241、ネットワークにおける通信時に、帯域を超えるようなトラフィックの発生が予想される際などに、パケット損失が発生しないように、送信側のトラフィックの転送速度を遅らせたりする転送制御を行うシェイピング処理を実行するシェイピング部242、シェイピング処理のためのインタフェースとして機能するシェイピングI/F243を有する。
以下、各処理部の実行する処理の詳細について説明する。
帯域測定部210は、ホームルータ(HR)等によって構成される通信制御装置120のアクセス回線下り方向の実際に利用可能な帯域を、ネットワーク上にある帯域測定サーバ150と連携して測定を行う。この測定処理は、予め設定された測定間隔としての一定時間毎に実行される。
利用可能な帯域の測定手法としては、実際に帯域測定サーバ150からデータをダウンロードすることによって測定するといったものではなく、回線への負荷が小さく、それほど多くの時間を要しない手法を用いる。この種の測定手法としては、例えばpathload/pathrate、cprobeなどがあり、これらの手法を適用する。
なお、pathload/pathrateについては、[http://www.cc.gatech.edu/fac/Constantinos.Dovrolis/bw.html]「M.Jain and C.Dovrolis,"End−to end available bandwidth:Measurement methodology,dynamics,and relation with TCP throughput",in Proceedings of ACM SIGCOMM 2002,Aug.2002」に詳細が記載されている。
また、cprobeについては、「R.L. Carter and M.E.Crovella,"Measuring bottleneck link speed in packet−switched networks",Tech.Rep.TR−96−006,Boston University Computer Science Department,Mar.1999」に詳細が記載されている。
通信制御装置120の通信フロー監視部220は、通信制御装置120を経由する全ての通信フローを検知する。通信フローは、送信ホスト(例えばストリーミングサーバ151)から受信ホスト(例えばTV101、PC102などのホームネットワーク機器)へ送られる特定のアプリケーションでの時間的にまとまったパケットの集合である。
通信制御装置120の通信フロー監視部220は、通信制御装置120を介する通信に関して次の事象の検出処理を実行する。
(a)フローの通信開始と終了
(b)通信中フローのトラフィックレート
(c)通信中のフロー数
(d)各通信フロー毎の希望使用帯域値
上記事象中、各通信フロー毎の希望使用帯域値の検出は、希望帯域見積もり部221において実行される処理であり、検出したフローから通信に必要な帯域値を見積もる処理として実行される。例えば、RTSP(Real−time Streaming Protocol)のような帯域を意識したプロトコル、すなわち、動画データの配信などのように所定帯域の確保を要求するアプリケーションでは、動画データなどの通信データを格納したRTSPパケット中に帯域制御用データが格納されているので、このフィールドのデータを、希望帯域見積もり部221が読み取ることにより通信に必要な帯域値を見積もる。
具体的には、RTSPの帯域制御用データは、配信サーバ(例えば図1に示すストリーミングサーバ131)からクライアント(例えば図1に示すTV101)へ送信されるRTSP/SDP(Session Description Protocol)パケット内の帯域制御用データ「b=AS:○○」や、クライアントから配信サーバへのSET_PARAMETERメソッド中のSet Delivery BandWidthフィールドに記述されており、通信制御装置120の希望帯域見積もり部221は、これらのデータを読み取ることにより通信に必要な帯域値を見積もる。なお、RTSP/SDPパケット内に複数の帯域制御用データ「b=AS:○○」がある場合は、その総和をとる。
一方、帯域を意識しないプロトコル(FTPやHTTP)など帯域制御用データを持たないプロトコルを適用した通信フローについては、希望帯域見積もり部221は、通信データに基づいて希望使用帯域値を見積もれないので、このような通信フローの場合は、希望帯域見積もり部221は、フローの希望使用帯域値を無限大(∞)とみなす処理を実行する。
通信制御装置120の通信検知機能は、このように、通信制御装置120を経由する全ての通信フローを検知して、(a)フローの通信開始と終了、(b)通信中フローのトラフィックレート、(c)通信中のフロー数、(d)各通信フロー毎の希望使用帯域値を取得する。これらの取得情報は、通信制御装置120内のメモリに保持され、また、これらの情報は、帯域計算部230に逐次入力される。
次に、通信制御装置120の帯域計算部230の実行する処理について説明する。
帯域計算部230は、
(1)新規に開始する通信フローに対して帯域を割り当てる帯域新規設定処理を実行する帯域新規設定処理モジュール231と、
(2)通信実行中の通信フローに対する帯域変更としての帯域更新処理を実行する帯域更新処理モジュール232と、
を有する。
まず、帯域新規設定処理モジュール231の実行する帯域新規設定処理について説明する。
帯域新規設定処理は、通信制御装置120における通信フロー監視部220が検知した各通信フローの希望使用帯域値と、帯域測定部210が帯域測定サーバ150と連携して測定した帯域測定結果の値を入力し、これらを比較して、新たに通信を開始するフローに対する使用帯域値の計算、例えば希望帯域をそのまま割り当ててよいかの判定などを行なう。
帯域新規設定処理の実行において、帯域計算分230の帯域新規設定処理モジュール231が入力するデータと、出力するデータは以下の通りである。
(a)入力データ
アクセス回線下り方向の利用可能な帯域値
現在実行中の通信フローに対する割り当て帯域値
通信開始フローの希望使用帯域値
(b)出力データ
通信開始フローに設定する新しい割り当て帯域値
上記入力データ中[アクセス回線下り方向の利用可能な帯域値]は、通信制御装置帯域測定部210から入力され、[現在実行中の通信フローに対する割り当て帯域値]、[通信開始フローの希望使用帯域値]は、通信フロー監視部220から入力される。
出力データとしての[通信開始フローに設定する新しい割り当て帯域値]は、割り当て帯域テーブル250に書き込まれ、保持される。帯域制御部240は、割り当て帯域テーブル250に書き込まれた帯域データに基づく帯域制御を実行する。
割り当て帯域テーブル250のデータ例を図3に示す。割り当て帯域テーブル250は、図3に示すように、通信制御装置120を介して実行中の通信フロー各々に関する管理データが対応付けて設定されたテーブルであり、
フローの管理番号
送信元IPアドレス
送信元IPアドレス
宛先IPアドレス
宛先ポート番号
プロトコル
割り当て通信帯域
の各データが保持される。
帯域計算部230からの出力データとしての[通信開始フローに設定する新しい割り当て帯域値]は、割り当て帯域テーブル250の[割り当て通信帯域]フィールドに書き込まれ、帯域制御部240は、割り当て帯域テーブル250の[割り当て通信帯域]フィールドに書き込まれた帯域データに従って各通信フローの帯域制御を実行する。
帯域計算部230は、さらに、帯域更新処理モジュール232を有し、帯域更新処理モジュール232は、既に実行中の通信フローについて更新帯域の算出処理を実行する。
帯域更新処理において、帯域更新処理モジュール232が入力するデータと、出力するデータは以下の通りである。
(a)入力
アクセス回線下り方向の利用可能な帯域値
現在実行中の通信フローに対する割り当て帯域値
現在実行中の通信フロー数
現在実行中の通信フロー各々の希望使用帯域値
(b)出力
現在実行中の通信フロー各々に対する更新割り当て帯域値
上記入力データ中[アクセス回線下り方向の利用可能な帯域値]は、通信制御装置帯域測定部210から入力され、[現在実行中の通信フローに対する割り当て帯域値]、[現在実行中の通信フロー数]、[現在実行中の通信フロー各々の希望使用帯域値]は、通信フロー監視部220から入力される。
出力データとしての[通信開始フローに設定する新しい割り当て帯域値]は、割り当て帯域テーブル250に書き込まれ、保持される。帯域制御部240は、割り当て帯域テーブル250に書き込まれた帯域データに基づく帯域制御を実行する。
次に、帯域制御部240の処理について説明する。帯域制御部240は、帯域計算部230において算出され、割り当て帯域テーブル250に書き込まれた新規フローに対する新規設定帯域、あるいは通信中のフローに対する更新帯域の値に基づいて、各通信フローの帯域制御を実行する。帯域計算部230において計算された結果を反映するために、実際に下り方向のフローのトラフィック量を制御する。帯域制御部240は、以下の2つの処理を実行する。
(a)メッセージ書き換え/作成部241において実行する割り当て帯域テーブル250に書き込まれた帯域値に従った帯域制御メッセージの書換え/作成処理
(b)シェイピング部242で実行する割り当て帯域テーブル250に書き込まれた帯域値に従ったシェイピング処理
まず、(a)メッセージ書き換え/作成部241において実行する割り当て帯域テーブル250に書き込まれた帯域値に従った帯域制御メッセージの書換え/作成処理について説明する。
帯域制御部240のメッセージ書き換え/作成部241は、通信制御装置120を通過する通信フローに含まれる制御データ中の帯域制御メッセージの値を割り当て帯域テーブル250に書き込まれた帯域値に従った値に書き換える処理を実行する。
例えば動画配信などのストリーミング配信プロトコルとして適用されるRTSPではクライアント(図1に示すTV101、PC102などのホームネットワーク機器)から配信サーバ(例えばストリーミングサーバ131)に向かって送信されるメッセージ[SET_PARAMETER]中に含まれるフィールド[SetDeliveryBandwidth]を、割り当て帯域テーブル250に書き込まれた帯域値に書き換えるなどといった処理を行う。
このメッセージ書き換え処理により、配信サーバはクライアントが書き換えられた値での配信を要求していると解釈し、要求レートでの送信処理を実行する。
図4を参照して、帯域制御部240のメッセージ書き換え/作成部241におけるメッセージ書き換えによる帯域制御処理の具体例について説明する。
図4(a)の状態は、例えばRTSPプロトコルによるストリーミング動画配信が3Mbpsで実行されている状態を示している。この状態では、クライアント(TV101)からストリーミングサーバ131に向かって送信されるメッセージ[SET_PARAMETER]中に含まれるフィールド[SetDeliveryBandwidth]に書き込まれた帯域制御メッセージは、3Mbpsでの送信を要求するメッセージが設定されており、ストリーミングサーバ131は、このメッセージに合わせたレート、すなわち3Mbpsで動画データのストリーミング配信を実行している状態である。
ここで、帯域制御部240のメッセージ書き換え/作成部241は、割り当て帯域テーブル250を参照して、現状の3Mbpsのストリーミングフローについて、割り当て帯域テーブル250に設定された帯域値が1Mbpsであることを検出すると、クライアント(TV101)からストリーミングサーバ131に向かって送信されるメッセージ[SET_PARAMETER]中に含まれるフィールド[SetDeliveryBandwidth]に書き込まれた帯域制御メッセージ[3Mbps]を[1Mbps]に書き換える処理を実行する。
ストリーミングサーバ131は、[1Mbps]に書き換えられた帯域制御メッセージを受信すると、図4(b)に示すように、クライアント(TV101)が[1Mbps]でのデータ送信を希望していると解釈し、ストリーミング配信データの送信レートを[3Mbps]から[1Mbps]に切り替えて送信処理を実行する。
この結果、ストリーミングサーバ131からクライアント(TV101)に送信されるストリーミングデータは、[1Mbps]に切り替えられて送信され、割り当て帯域テーブル250に設定された帯域値に応じたデータ送信が実行されることになる。
なお、通信制御装置120の帯域制御部240のメッセージ書き換え/作成部241は、クライアントから帯域制御パケットが頻繁に送信されない場合などには、自身で帯域制御パケットを作成して配信サーバに送信する。すなわち、帯域制御部240のメッセージ書き換え/作成部241は、自ら帯域制御用記述データを含むパケットを生成し、該生成パケットを広域ネットワーク接続機器としての配信サーバに送信することにより通信フローの帯域制御処理を実行する。
なお、この処理の際は通信制御装置120で独自にパケットを作成するため、同じフロー中の全てのシーケンス番号を通信制御装置120で管理し、配信サーバ、クライアントから送信されるパケットのシーケンス番号に矛盾が起こらないように書き換えて配信サーバに対する制御パケットの送信処理を実行する。
次に、帯域制御部240のシェイピング部242で実行する割り当て帯域テーブル250に書き込まれた帯域値に従ったシェイピング処理について説明する。
シェイピング部242は、割り当て帯域テーブル250を参照して、割り当て帯域テーブル250の該当フローの帯域値に併せた通信が実行されるように各フロー毎にシェイピングを実行する。シェイピング処理は、パケット損失が発生しないように、送信側のトラフィックの転送速度を遅らせたりするパケット転送制御処理である。
帯域制御部240は、メッセージ書き換え/作成部241による制御メッセージ書き換え、送信処理と、シェイピング部242におけるシェイピング処理の少なくともいずれかを実行して、通信制御装置120を経由する各通信フローの帯域を割り当て帯域テーブル250の設定値に対応するように制御を実行する。
帯域制御部240において、帯域制御処理を実行するトリガー(開始条件)は、帯域の新規設定や、帯域の変更処理を行なう条件が設定された時点であり、これは、帯域計算部230において、帯域の新規設定や、帯域の変更処理に伴う帯域計算処理が実行されて、割り当て帯域テーブル250の更新が実行された場合である。
帯域計算部230において、帯域の新規設定や、帯域の変更処理に伴う帯域計算処理を開始するトリガーとしては、複数のトリガーがある。これらのトリガーと、トリガーの検出態様について、図5を参照して説明する。
図5に示すように、トリガーとしては、
I.優先フロー通信開始
II.非優先フロー通信開始
III.フロー通信終了
IV.リンクレートの増減
の4つが存在する。
I.優先フロー通信開始、II.非優先フロー通信開始、および、III.フロー通信終了の各トリガーについては、通信フロー監視部220のフロー監視情報に基づいて検出される。
また、IV.リンクレートの増減については、帯域測定部210の測定する利用可能帯域の情報に基づいて検出される情報である。
帯域計算部230は、図5に示すI〜VIのいずれかのトリガーの発生に基づいて、帯域の新規設定や、帯域の変更処理に伴う帯域計算処理を開始し、その計算結果を割り当て帯域テーブル250に格納する割り当て帯域テーブル250の更新を実行する。
割り当て帯域テーブル250の更新が実行されると、帯域制御部240は、メッセージ書き換え/作成部241による制御メッセージ書き換え、送信処理、または、シェイピング部242におけるシェイピング処理の少なくともいずれかを実行して、通信制御装置120を経由する各通信フローの帯域を割り当て帯域テーブル250の設定値に対応するように制御を実行する。
図6を参照して、通信制御装置120の持つ帯域測定部210、通信フロー監視部220、帯域計算部230、帯域制御部240の各処理の実行シーケンスについて説明する。
まず、帯域測定部210は、定期的に外部の帯域測定サーバ150(図1、図2参照)と連携して通信制御装置120を経由した通信に利用可能な通信帯域の測定処理を実行する。図6に示すステップS11、S12の処理である。帯域測定部210が、利用可能な通信大域の変化(増減)を検出すると、検出情報は、帯域計算部230に入力され、帯域計算部230は、これをトリガー(ステップS33)としてステップS34において、帯域更新のための帯域を算出して、割り当て帯域テーブル250を更新する。
割り当て帯域テーブル250が更新されると、帯域制御部240は、ステップS43において、メッセージ書き換え/作成部241による制御メッセージ書き換え、送信処理、または、シェイピング部242におけるシェイピング処理の少なくともいずれかを実行して、通信制御装置120を経由する各通信フローの帯域を割り当て帯域テーブル250の設定値に対応するように制御を実行(ステップS44)する。
また、通信フロー監視部220は、通信フローの監視を常時実行(ステップS21)し、通信フローの開始、終了を検出すると、帯域計算部230に検出情報を通知する。
帯域計算部230は、これをトリガー(ステップS31)としてステップS32において、新規帯域設定、あるいは帯域更新のための帯域を算出して、割り当て帯域テーブル250を更新する。
割り当て帯域テーブル250が更新されると、帯域制御部240は、ステップS41において、メッセージ書き換え/作成部241による制御メッセージ書き換え、送信処理、または、シェイピング部242におけるシェイピング処理の少なくともいずれかを実行して、通信制御装置120を経由する各通信フローの帯域を割り当て帯域テーブル250の設定値に対応するように制御を実行(ステップS42)する。
次に、図7を参照して、通信制御装置の実行する帯域制御処理の全体シーケンスについて説明する。
ステップS101では、帯域制御実行のトリガーの検知処理を行なう。これは、先に図5を参照して説明したように、
I.優先フロー通信開始
II.非優先フロー通信開始
III.フロー通信終了
IV.リンクレートの増減
の4つのいずれかのトリガーを検出する処理であり、I.優先フロー通信開始、II.非優先フロー通信開始、および、III.フロー通信終了の各トリガーについては、通信フロー監視部220のフロー監視情報に基づいて検出される情報であり、IV.リンクレートの増減については、帯域測定部210の測定する利用可能帯域の情報に基づいて検出される情報である。
ステップS102では、検出されたトリガーが上記I〜VIのいずれであるかを判別する処理を実行する。
I.優先フロー通信開始
II.非優先フロー通信開始
のいずれかである場合は、ステップS103に進み、
III.フロー通信終了
IV.リンクレートの増減
のいずれかである場合は、ステップS106に進む。
トリガーがI.優先フロー通信開始、II.非優先フロー通信開始のいずれかである場合は、ステップS103において、通信開始フローの希望帯域値の見積もり処理を実行する。この希望帯域値の見積もり処理は、通信フロー監視部220の希望帯域見積もり部221において実行される処理であり、前述したように、RTSP/SDP(Session Description Protocol)パケット内の帯域制御用データや、クライアントから配信サーバへのSET_PARAMETERメソッド中のSet Delivery BandWidthフィールドの記述情報に基づいて通信に必要な帯域値を見積もる。なお、FTPやHTTPなど帯域制御用データを持たないプロトコルを適用した通信フローについては、希望使用帯域値を無限大(∞)とみなす処理を実行する。
次にステップS104において、帯域新規設定処理を実行する。この帯域新規設定処理は、帯域計算部230において実行する処理であり、この場合は、新規フローに対する帯域設定であるので、帯域新規設定モジュール231が、新規フローに対する帯域を設定する。
ステップS104の帯域新規設定処理の詳細について、図8のフローを参照して説明する。
なお、図8他のフローを参照した説明において示す記号の定義を以下に示す。
* k:インデックス
* i:優先フローのインデックス
* j:非優先フローのインデックス
* F,X:フロー
* A[]:優先フローを表す配列
* B[]:非優先フローを表す配列
* A[i]:優先フローのi番目のフロー
* B[j]:非優先フローのj番目のフロー
* ABW:アクセス回線下り方向の利用可能帯域(帯域測定部における測定値)
* UBW:ABWのうち、アクセス回線下り方向の未使用帯域値
* Base_BW:帯域更新処理モジュールでベースとなる帯域値
* Num_Flow[A]:現在の優先フロー数
* Num_Flow[B]:現在の非優先フロー数
* RBW[]:希望使用帯域値の配列
* BW[]:割り当て帯域テーブルを表す配列
* Tmp_BW[F]:フローFの1つに割り当て可能な仮の最大帯域値
* NEW_BW[F]:フローFへ割り当てる新しい帯域値
帯域新規設定処理の詳細について、図8のフローを参照して説明する。図8のフロー葉帯域計算部230の帯域新規設定モジュール231が実行する処理である。
ステップS201において、帯域新規設定モジュール231は、以下の情報を入力する。
RBW[F]:新規通信開始フローFの希望使用帯域値
BW[i]:割り当て帯域テーブルに設定済みの非優先フローの設定帯域情報
ABW:アクセス回線下り方向の利用可能帯域(帯域測定部における測定値)
UBW:ABWのうち、アクセス回線下り方向の未使用帯域値
ステップS202において、
RBW[F]≦UBW
が成立するか否かを判定する。
すなわち、新規通信開始フローFの希望使用帯域値RBW[F]が、アクセス回線下り方向の未使用帯域値[UBW]以下か否かを判定する。
RBW[F]≦UBW
が成立する場合は、ステップS211に進み、新規通信開始フローFの希望使用帯域値RBW[F]をそのまま、新規通信開始フローFに割り当てる帯域値NEW_RBW[F]として設定する。
ステップS212では、新規通信開始フローFに割り当てる帯域値NEW_RBW[F]を出力、すなわち割り当て帯域テーブル250に、新規通信開始フローFの設定帯域として登録する処理を実行する。この場合は、図7において、ステップS105のスキップ判定処理を[Yes]として、ステップS111〜S112の非優先フローに関する帯域見積もり、更新処理を実行することなく、ステップS113に進み、帯域制御部は240は、新規通信開始フローFの使用帯域を、割り当て帯域テーブル250に登録された帯域値NEW_RBW[F]に制御する処理を実行することになる。
帯域制御部は240は、メッセージ書き換え/作成部241による制御メッセージ書き換え、送信処理、または、シェイピング部242におけるシェイピング処理の少なくともいずれかを実行して、通信制御装置120を経由する各通信フローの帯域を割り当て帯域テーブル250の設定値に対応するように制御を実行する。新規通信開始フローFについては、割り当て帯域テーブル250に登録された帯域値NEW_RBW[F]に制御する処理を実行することになる。
一方、ステップS202において、
RBW[F]≦UBW
が成立しないと判定した場合、すなわち、新規通信開始フローFの希望使用帯域値RBW[F]が、アクセス回線下り方向の未使用帯域値[UBW]より大きいと判定した場合は、ステップS203に進み、新規通信開始フローFが優先フロー[A]であるか否かを判定する。この判定処理は、通信フローFの通信プロトコル、使用アドレス情報、使用ポート番号などに基づいて判定する。
新規通信開始フローFが非優先フロー[B]であると判定すると、図7に示すステップS111の非優先フローの帯域見積もり処理に移行する。
新規通信開始フローFが優先フロー[A]であると判定すると、ステップS204に進み、
ABW−ΣBW[A[i]]<RBW[F]
が成立するか否かを判定する。
すなわち、新規通信開始フローFの希望使用帯域値RBW[F]が、アクセス回線下り方向の利用可能帯域ABWから、既に使用済みの優先フローA[i]のトータルの使用帯域を減算した帯域より大であるか否かが判定される。
図9を参照して、この判定処理の詳細について説明する。図9には、
ABW:アクセス回線下り方向の利用可能帯域(帯域測定部における測定値)
UBW:ABWのうち、アクセス回線下り方向の未使用帯域
ΣBW:非優先フローによって使用されている総帯域
ΣAW:優先フローによって使用されている総帯域
を示している。
上記式:ABW−ΣBW[A[i]]<RBW[F]は、図9に示す
α−β=γ<RBW[F]
が成立するか否かを判定する処理である。
すなわち、新規通信開始フローFの希望使用帯域値RBW[F]が、アクセス回線下り方向の利用可能帯域ABWから、優先フローによって使用されている総帯域ΣAWを減算した帯域γより大であるか否かを判定する処理である。
ABW−ΣBW[A[i]]<RBW[F]
が成立する場合、すなわち、新規通信開始フローFの希望使用帯域値RBW[F]が、アクセス回線下り方向の利用可能帯域ABWから、優先フローによって使用されている総帯域ΣAWを減算した帯域γより大であると判定した場合は、ステップS205に進み、新規通信開始フローFに割り当てる帯域値NEW_RBW[F]を、ABW−ΣBW[A[i]]、すなわち、図9に示すγとして設定する。
一方、ステップS204の判定処理において、
ABW−ΣBW[A[i]]<RBW[F]
が成立しない場合、すなわち、新規通信開始フローFの希望使用帯域値RBW[F]が、アクセス回線下り方向の利用可能帯域ABWから、優先フローによって使用されている総帯域ΣAWを減算した帯域γ以下であると判定した場合は、ステップS206に進み、新規通信開始フローFの希望使用帯域値RBW[F]をそのまま、新規通信開始フローFに割り当てる帯域値NEW_RBW[F]として設定する。
ステップS207では、新規通信開始フローFに割り当てる帯域値NEW_RBW[F]を出力、すなわち割り当て帯域テーブル250に、新規通信開始フローFの設定帯域として登録する処理を実行する。
ここで、新規の優先フローFの帯域割り当ては終了するが、さらに通信を実行中の非優先フローが存在する場合は、非優先フローの帯域更新処理を実行することが必要となり、図7に示すステップS105のスキップ判定をNoと判定して、ステップS111の非優先フローの希望使用帯域見積もり処理に移行する。通信を実行中の非優先フローが存在しない場合は、非優先フローの帯域更新処理を実行することは不要であり、図7に示すステップS105のスキップ判定をYesと判定して、ステップS113に進み、帯域制御部240が、割り当て帯域テーブル250に登録された帯域値に基づく帯域制御を実行することになる。
帯域制御部240は、メッセージ書き換え/作成部241による制御メッセージ書き換え、送信処理、または、シェイピング部242におけるシェイピング処理の少なくともいずれかを実行して、通信制御装置120を経由する各通信フローの帯域を割り当て帯域テーブル250の設定値に対応するように制御を実行する。新規通信開始フローFについては、割り当て帯域テーブル250に登録された帯域値NEW_RBW[F]に制御する処理を実行することになる。
ステップS111と、ステップS112において実行する非優先フローに対する帯域見積もり処理、および帯域更新処理は、ステップS106とステップS107において実行する優先フローに対する帯域見積もり処理、帯域更新処理と同様の処理として実行される。
ステップS106と、ステップS107の処理が実行されるのは、ステップS102のトリガー態様判別処理において、トリガーが、
III.フロー通信終了
IV.リンクレートの増減
のいずれかである場合である。
これらのIII.フロー通信終了、または、IV.リンクレートの増減が発生した場合、ステップS106において、優先フローに対する希望使用帯域見積もり処理を実行する。これは、通信を実行中の優先フローに対する帯域見積もり処理である。通信を実行中の優先フローがない場合は、ステップS106,S107の処理は省略される。
ステップS111,S112の非優先フローに対する希望使用帯域の見積もり、更新処理は、ステップS103、S104の処理が実行されて、通信を実行中の非優先処理の帯域更新の必要が発生した場合と、ステップS106と、ステップS107の処理が実行された後、ステップS108において、利用可能な帯域が残っており非優先フローに対する帯域割り当てが可能な場合である。
ステップS106およびステップS111で実行する希望使用帯域の見積もり処理は、通信フロー監視部220の希望帯域見積もり部221において実行される処理であり、前述したように、RTSP/SDP(Session Description Protocol)パケット内の帯域制御用データや、クライアントから配信サーバへのSET_PARAMETERメソッド中のSet Delivery BandWidthフィールドの記述情報に基づいて通信に必要な帯域値を見積もる。なお、FTPやHTTPなど帯域制御用データを持たないプロトコルを適用した通信フローについては、希望使用帯域値を無限大(∞)とみなす処理を実行する。
ステップS107の優先フローの帯域更新処理、ステップS112の非優先フローの帯域更新処理の詳細について、図10〜図12のフロー、および具体的処理例を示す図13を参照して説明する。
図10は、帯域更新処理の全体フローである。この帯域更新処理は、帯域計算部230の帯域更新処理モジュール232が実行する処理である。ステップS301において、帯域更新処理モジュール232は、以下のデータを入力する。
RBW[X[k]]:帯域更新対象の通信フローX[k]各々の希望使用帯域値
ABW:アクセス回線下り方向の利用可能帯域(帯域測定部における測定値)
BW[X[k]]:帯域更新対象の通信フローX[k]各々について割り当て帯域テーブルに設定された帯域値
Num_Flow[x]:現在のフロー数
以上のデータを入力する。
上記入力データ中、
RBW[X[k]]:帯域更新対象の通信フローX[k]各々の希望使用帯域値
Num_Flow[x]:現在のフロー数
は、通信フロー監視部220から入力する。
ABW:アクセス回線下り方向の利用可能帯域(帯域測定部における測定値)
は、帯域測定部210から入力する。
BW[X[k]]:帯域更新対象の通信フローX[k]各々について割り当て帯域テーブルに設定された帯域値
は、割り当て帯域テーブル250から取得する。
帯域計算部230の帯域更新処理モジュール232は、上記データを取得すると、ステップS202において前処理を実行する。前処理の詳細シーケンスを図11のフローに示す。
図11のステップS401では、非優先フローに対する割り当て処理であるか、優先フローに対する割り当て処理であるかを判定し、非優先フローに対する割り当て処理である場合は、ステップS402に進み、
Base_BW、すなわち、帯域更新処理モジュールでベースとなる帯域値を、
Base_BW←ABW−ΣBW[A]
として設定する。
すなわち、Base_BWは、帯域更新処理モジュールで更新対象となるフローに割り当て可能な総帯域であり、この場合、非優先フローに対する割り当て可能な総帯域[Base_BW]として、ABW−ΣBW[A]、すなわち、アクセス回線下り方向の利用可能な総帯域[ABW]から、優先フローによって使用されている総帯域[ΣBW[A]]を減算した帯域を帯域更新処理モジュールで更新対象となるフローに割り当て可能な総帯域[Base_BW]として設定する。
これは、先に説明した図9の帯域利用構成において、
ABW−ΣBW[A]、すなわち、
α−β=γ
で示されるγの帯域を、非優先フローに対する割り当て可能な総帯域[Base_BW]として設定するものである。
一方、ステップS401において、優先フローに対する割り当て処理であると判定した場合は、ステップS403に進み、
Base_BW、すなわち、帯域更新処理モジュールでベースとなる帯域値を、
Base_BW←ABW
として設定する。
この処理は、アクセス回線下り方向の利用可能な総帯域[ABW]全体を、優先フローに対する割り当て可能な総帯域[Base_BW]として設定するものである。
この前処理のアルゴリズムを以下に示す。
Figure 2005210347
上記アルゴリズムを実行することにより、帯域更新処理を実行する際、更新対象が非優先フローである場合は、非優先フローに対する割り当て可能な総帯域[Base_BW]=ABW−ΣBW[A]として設定し、更新対象が優先フローである場合は、優先フローに対する割り当て可能な総帯域[Base_BW]=ABWとして設定する。
次に、図10のステップS303の帯域更新処理ループを実行する。帯域更新処理ループの詳細シーケンスについて、図12のフローを参照して説明する。
まず、ステップS501において、
Tmp_BW[x]:更新対象フローの1つに割り当て可能な仮の最大帯域値
を、
Tmp_BW[x]←(Base_BW)/(Num_Flow[x])
として設定する。
これは、すなわち、フローに対する割り当て可能な総帯域[Base_BW]を更新対象フロー数[Num_Flow[x]]で均等に分割した帯域を更新対象フロー[x]の1つに割り当て可能な仮の最大帯域値[Tmp_BW[x]]として設定する処理である。
次に、ステップS502〜S508のメインループを実行する。ステップS502〜S508のメインループの実行条件は、未確定のNEW_BW[X[k]]、すなわち、更新対象のフローであって更新帯域が未確定のフローがあることと、前のループよりその数が減少していることである。
ステップS503〜S506はサブループであり、未確定のNEW_BW[X[k]]、すなわち、更新対象のフローであって更新帯域が未確定のフローについて各々実行する。なお、この処理において、帯域計算部は、通信フロー各々の希望使用帯域の値がより小さいフローに対して、より優先的に順次帯域割り当て処理を実行し、希望帯域を満たし確実な通信が実行できるフローをより多く設定する処理を行なう。
まず、ステップS504では、
RBW[X[k]]:帯域更新対象の通信フローX[k]の希望使用帯域値と、
[Tmp_BW[x]]:更新対象フローの1つに割り当て可能な仮の最大帯域値
との比較を実行する。
RBW[X[k]]≦[Tmp_BW[x]]
が成立する場合は、ステップS505に進み、
NEW_BW[X[k]]←Tmp_BW[x]
として設定する。
すなわち、帯域更新対象の通信フローX[k]の希望使用帯域値[RBW[X[k]]]が、更新対象フローの1つに割り当て可能な仮の最大帯域値[Tmp_BW[x]]以下である場合は、帯域更新対象の通信フローX[k]の更新帯域値[NEW_BW[X[k]]]を、帯域更新対象の通信フローX[k]の希望使用帯域値[RBW[X[k]として設定する。
一方、ステップS504の判定処理において、
RBW[X[k]]≦[Tmp_BW[x]]
が成立しない場合は、ステップS506に進み、次の未確定のNEW_BW[X[k]]、すなわち、更新対象のフローであって更新帯域が未確定のフローについてステップS503〜S505を各々実行する。
すべての未確定のNEW_BW[X[k]]、すなわち、更新対象のフローであって更新帯域が未確定のフローについてステップS503〜S506を実行した後、ステップS507に進み、
Tmp_BW[x]←(Base_BW−ΣNEW_BW[X[k]])/(Num_Flow[X]−確定したNEW_BW[X[k]]の数)
としてTmp_BW[x]の値を更新する。
すなわち、更新対象フローの1つに割り当て可能な仮の最大帯域値[Tmp_BW[x]]を、
フローに対する割り当て可能な総帯域[Base_BW]から既に確定した更新帯域総計値[ΣNEW_BW[X[k]]]を減算した値(Base_BW−ΣNEW_BW[X[k]])を、
更新対象フロー数[Num_Flow[X]]から確定した更新帯域[NEW_BW[X[k]]]のフロー数で、等分割した帯域として更新する処理を実行する。
全ての未確定のNEW_BW[X[k]]について、ステップS502〜S508のメインループが終了すると、ステップS509〜S511に進み、更新帯域未確定の帯域更新対象フローについての更新帯域[NEW_BW[X[k]]]設定処理を実行する。
すなわち、ステップS510において、更新帯域未確定の帯域更新対象フローについての更新帯域[NEW_BW[X[k]]]を、
NEW_BW[X[k]]←Tmp_BW[x]
として設定する。
すなわち、更新帯域未確定の帯域更新対象フローについての更新帯域[NEW_BW[X[k]]]を、ステップS507において設定した更新対象フローの1つに割り当て可能な仮の最大帯域値[Tmp_BW[x]]として設定するものである。以上の処理によって、帯域更新処理が終了する。
この帯域更新処理ループのアルゴリズムを以下に示す。
Figure 2005210347
具体的な帯域更新処理例について、図13を参照して説明する。図13に示す例は、帯域更新対象となるフロー数=3、ベース帯域、すなわち、帯域更新対象となるフローに割り当て可能な総帯域であるベース帯域=10Mbpsとした例である。
なお、帯域更新フロー1,2,3のいずれも同一の優先度を持つフロー、すなわち、すべて優先フローであるか、すべて非優先フローであるかのいずれかである。
帯域更新フロー1およびフロー2は、通信フロー中の制御パケットから希望使用帯域を見積もることが可能なフローであり、それぞれ、
フロー1の希望使用帯域=2Mbps
フロー2の希望使用帯域=4Mbps
である。
一方、フロー3は、通信フロー中の制御パケットから希望使用帯域を見積もることができなかったフローであり、この場合、前述したように、
フロー3の希望使用帯域=∞
と、みなされる。
まず、帯域更新ループの第1回目の処理において、ステップS71において、更新対象フローの1つに割り当て可能な仮の最大帯域値[Tmp_BW[x]]の計算がなされる。計算式は、下記のとおりとなる。
Tmp_BW[x]=10/3=3.3
この計算の結果、更新対象フローの1つに割り当て可能な仮の最大帯域値は、3.3として設定される。この計算は、図12のフローのステップS501の処理に相当する。
次に、決定した仮の最大帯域値=3.3を適用した各フローの更新帯域の決定処理に移行する。
ステップS72において、フロー1についての更新帯域の決定処理を実行する。なお、更新帯域の決定処理の順番は任意であるが、例えば希望帯域の小さいものから順に実行する。図13の例では、フロー1の希望使用帯域=2Mbpsのフロー1の更新帯域決定処理を最初に実行した例を示している。すなわち、帯域計算部は、通信フロー各々の希望使用帯域の値がより小さいフローに対して、より優先的に順次帯域割り当て処理を実行し、希望帯域を満たし確実な通信が実行できるフローをより多く設定する処理を行なう。
フロー1の希望使用帯域RBW[X[1]]=2Mbpsと、決定した仮の最大帯域値Tmp_BW[x]=3.3との比較を行い、
RBW[X[1]]≦Tmp_BW[x]
が成立するか否かを判定する。この判定処理は、図12のフローのステップS504の処理に相当する。
フロー1の場合、
RBW[X[1]]=2
Tmp_BW[x]=3.3
であるので、
RBW[X[1]]≦Tmp_BW[x]
が成立する。
この結果、フロー1の更新帯域NEW_BW[X[1]]は、フロー1の希望使用帯域RBW[X[1]]=2Mbpsがそのまま設定される。すなわち、
NEW_BW[X[1]]=RBW[X[1]]=2Mbps
となる。
この処理は、図12のフローのステップS505の処理に相当する。
次に、ステップS73において、フロー2についての更新帯域の決定処理を実行する。フロー2の希望使用帯域RBW[X[1]]=4Mbpsと、決定した仮の最大帯域値Tmp_BW[x]=3.3との比較を行い、
RBW[X[1]]≦Tmp_BW[x]
が成立するか否かを判定する。この判定処理は、図12のフローのステップS504の処理に相当する。
フロー2の場合、
RBW[X[1]]=4
Tmp_BW[x]=3.3
であるので、
RBW[X[1]]≦Tmp_BW[x]
が成立しない。
この結果、フロー2の更新帯域は、保留とされる。
次に、ステップS74において、フロー3についての更新帯域の決定処理を実行する。フロー3の希望使用帯域RBW[X[1]]=∞Mbpsと、決定した仮の最大帯域値Tmp_BW[x]=3.3との比較を行い、
RBW[X[1]]≦Tmp_BW[x]
が成立するか否かを判定する。この判定処理は、図12のフローのステップS504の処理に相当する。
フロー3の場合、
RBW[X[1]]=∞
Tmp_BW[x]=3.3
であるので、
RBW[X[1]]≦Tmp_BW[x]
が成立しない。
この結果、フロー3の更新帯域は、保留とされる。
次に、ステップS81において、仮の最大帯域値Tmp_BW[x]の更新を実行する。これは、図12のフローのステップS507の処理に相当する。すなわち、
Tmp_BW[x]←(Base_BW−ΣNEW_BW[X[k]])/(Num_Flow[X]−確定したNEW_BW[X[k]]の数)
としてTmp_BW[x]の値を更新する。
図13の例では、
Tmp_BW[x]=(10−2)/(3−1)=4
となる。
次に、ステップS82において、フロー2についての更新帯域の決定処理を実行する。フロー2の希望使用帯域RBW[X[1]]=4Mbpsと、決定した仮の最大帯域値Tmp_BW[x]=4との比較を行い、
RBW[X[1]]≦Tmp_BW[x]
が成立するか否かを判定する。この判定処理は、図12のフローのステップS504の処理に相当する。
RBW[X[1]]=4
Tmp_BW[x]=4
であるので、
RBW[X[1]]≦Tmp_BW[x]
が成立する。
この結果、フロー2の更新帯域NEW_BW[X[2]]は、フロー2の希望使用帯域RBW[X[2]]=4Mbpsがそのまま設定される。すなわち、
NEW_BW[X[2]]=RBW[X[2]]=4Mbps
となる。
この処理は、図12のフローのステップS505の処理に相当する。
次に、ステップS83において、フロー3についての更新帯域の決定処理を実行する。フロー3の希望使用帯域RBW[X[1]]=∞Mbpsと、決定した仮の最大帯域値Tmp_BW[x]=4との比較を行い、
RBW[X[1]]≦Tmp_BW[x]
が成立するか否かを判定する。この判定処理は、図12のフローのステップS504の処理に相当する。
RBW[X[1]]=∞
Tmp_BW[x]=4
であるので、
RBW[X[1]]≦Tmp_BW[x]
が成立しない。
この結果、フロー3の更新帯域は、保留とされる。
次に、更新帯域設定処理3回目のステップS91において、仮の最大帯域値Tmp_BW[x]の更新を実行する。これは、図12のフローのステップS507の処理に相当する。すなわち、
Tmp_BW[x]←(Base_BW−ΣNEW_BW[X[k]])/(Num_Flow[X]−確定したNEW_BW[X[k]]の数)
としてTmp_BW[x]の値を更新する。
図13の例では、
Tmp_BW[x]=(10−2−4)/(3−1−1)=4
となる。
次に、ステップS92において、フロー3についての更新帯域の決定処理を実行する。フロー3の希望使用帯域RBW[X[1]]=∞Mbpsと、決定した仮の最大帯域値Tmp_BW[x]=4との比較を行い、
RBW[X[1]]≦Tmp_BW[x]
が成立するか否かを判定する。この判定処理は、図12のフローのステップS504の処理に相当する。
RBW[X[1]]=∞
Tmp_BW[x]=4
であるので、
RBW[X[1]]≦Tmp_BW[x]
が成立しない。
この結果、フロー3の更新帯域は、一旦保留とされる。
さらに、次の更新帯域設定処理4回目を実行することになるが、この時点で、更新帯域設定処理3回目と、同じ数の更新帯域未決定フロー数=1が存在することになる。この結果、図12のメインループ(S502〜S508)を終了し、図12のステップS509に移行することになる。図12のメインループ(S502〜S508)の実行条件は、図12のステップS502に記載のように、未確定のNEW_BW[X[k]]、すなわち、更新対象のフローであって更新帯域が未確定のフローがあることと、前のループよりその数が減少していることであるからである。
図13に示すステップS93が、図12のステップS509〜S511の処理に相当する。具体的には、図12のステップS510の更新帯域計算、すなわち、
NEW_BW[X[3]]=Tmp_BW[X]
としてフロー3の更新帯域が決定する。
この時点で、
Tmp_BW[X]=4
であるので、フロー3の更新帯域は、
NEW_BW[X[3]]=Tmp_BW[X]=4として設定される。
このような更新帯域設定処理により、全てのフローに対する更新帯域が決定され、決定した更新帯域情報が、割り当て帯域テーブル250に登録される。帯域制御部240は、割り当て帯域テーブル250に登録された各フローの更新帯域値に従ってメッセージ書き換えやシェイピング処理を実行して、各フローを更新帯域値に対応した帯域での通信が実行されるように制御する。
この制御の結果、優先フローとして設定されるフロー、例えばRTSPプロトコルに基づくストリーミングデータは、安定した動画等のコンテンツ再生を行なうために必要となる帯域を優先的に取得してデータ送信を行なうことが可能となり、ホームネットワークに接続されたクライアント機器における安定したコンテンツ再生が可能となる。
なお、通信制御装置120を介した通信フローの帯域設定情報をユーザが確認し、また設定の変更を可能とするため、設定情報やフロー情報を表示するGUI機能を保持する構成とすることが好ましい。
GUIによる情報表示例を図14に示す。図14に示す情報表示例は、優先フローと非優先フローとの設定情報を示し、ユーザによる設定変更を可能とした設定情報表示部501、帯域測定部210によって測定された現在の利用可能な帯域情報を示す利用可能帯域情報表示部502、現在実行中の通信フローの設定帯域やアドレス情報を示す通信フロー状態情報表示部503を有する。
ユーザは、設定情報表示部501の設定を変更することで、どの通信フローを優先フローとし、また非優先フローとするかを設定することが可能となる。通信制御装置120は、設定情報に基づいて、各通信フローの優先度を判定して、上述した帯域設定、更新処理を実行する。
次に、通信制御装置のハードウェア構成例について、図15を参照して説明する。
CPU(Central Processing Unit)701は、メモリ703等に記憶されているプログラムに従って、各種の処理を実行する。具体的には、上述のフローに従った帯域制御処理を実行する。RAM(Random Access Memory)702には、CPU701が実行するプログラムやデータが適宜記憶される。CPU701、ROM702、およびメモリ703は、バス711を介して相互に接続されている。
バス711には、入出力インタフェース712が接続されており、この入出力インタフェース712には、例えば、ユーザにより操作されるキーボード、スイッチ、ボタン、ポインティングデバイス、あるいはマウス等により構成される入力部704、ユーザに各種の情報を提示するLCD、CRT、スピーカ等により構成される出力部705が接続される。図14を参照して説明したGUI機能に基づく情報表示は出力部705を介して実行される。
さらに、WAN側とのデータ送受信手段として機能する通信I/F706、さらに、ホームネットワーク機器とのデータ送受信手段として機能する通信I/F707を有し、WAN側の例えばストリーミングサーバと、ホームネットワーク機器間のデータ送受信を仲介する。なお、WAN側とのデータ送受信手段として機能する通信I/F706は、帯域測定サーバとの通信も実行し、通信によって取得した情報に基づいてCPU701の制御の下に利用可能な帯域値の算出処理が実行される。
以上、特定の実施例を参照しながら、本発明について詳解してきた。しかしながら、本発明の要旨を逸脱しない範囲で当業者が該実施例の修正や代用を成し得ることは自明である。すなわち、例示という形態で本発明を開示してきたのであり、限定的に解釈されるべきではない。本発明の要旨を判断するためには、冒頭に記載した特許請求の範囲の欄を参酌すべきである。
なお、明細書中において説明した一連の処理はハードウェア、またはソフトウェア、あるいは両者の複合構成によって実行することが可能である。ソフトウェアによる処理を実行する場合は、処理シーケンスを記録したプログラムを、専用のハードウェアに組み込まれたコンピュータ内のメモリにインストールして実行させるか、あるいは、各種処理が実行可能な汎用コンピュータにプログラムをインストールして実行させることが可能である。
例えば、プログラムは記録媒体としてのハードディスクやROM(Read Only Memory)に予め記録しておくことができる。あるいは、プログラムはフレキシブルディスク、CD−ROM(Compact Disc Read Only Memory),MO(Magneto optical)ディスク,DVD(Digital Versatile Disc)、磁気ディスク、半導体メモリなどのリムーバブル記録媒体に、一時的あるいは永続的に格納(記録)しておくことができる。このようなリムーバブル記録媒体は、いわゆるパッケージソフトウエアとして提供することができる。
なお、プログラムは、上述したようなリムーバブル記録媒体からコンピュータ・プログラム実行機能を持つ装置にインストールする他、ダウンロードサイトから無線転送したり、LAN(Local Area Network)、インターネットといったネットワークを介して有線で転送し、コンピュータ・プログラム実行機能を持つ装置において転送プログラムを受信しメモリにインストールすることができる。
なお、明細書に記載された各種の処理は、記載に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。また、本明細書においてシステムとは、複数の装置の論理的集合構成であり、各構成の装置が同一筐体内にあるものには限らない。
以上、説明したように、本発明の構成によれば、広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御処理において、通信制御装置を介する通信フロー各々の希望使用帯域を取得し、希望使用帯域に基づいて帯域割り当て処理を実行する構成としたので、各通信フローの帯域割り当てを確実に効率的に実行することが可能となり、特に優先フローに対する帯域割り当てにおいては、非優先フローの使用帯域をも含めた帯域を割り当て対象として設定する構成としたので、例えばストリーミング配信を実行するフローを優先フローとして設定することで、より広い帯域をストリーミング配信フローに優先的に割り当てることが可能となり、安定したストリーミングデータの配信、視聴が可能となる。
さらに、本発明の構成によれば、ホームネットワーク等、様々な通信機器がそれぞれ同時にデータ通信を実行するような環境において、ストリーミングデータ通信に対して優先的な帯域割り当てを実行する構成としたので、高品質なストリーミング配信が実現される。また、通信フロー監視部において、通信制御装置を介する通信フロー各々の希望使用帯域を取得し、帯域計算部において、通信フロー各々の希望使用帯域の値がより小さいフローに対して、より優先的に順次帯域割り当て処理を実行する構成としたので、希望帯域を満たし確実な通信が実行できるフローをより多く設定し、各通信フローの品質を優先度に応じて維持することが可能となる。
本発明の通信制御装置の利用態様を説明する図である。 本発明の通信制御装置の詳細構成を示すブロック図である。 本発明の通信制御装置が保持する割り当て帯域テーブルの具体例について説明する図である。 本発明の通信制御装置の帯域制御部において実行する制御パケットのメッセージ書き換えによる帯域制御の具体例について説明する図である。 本発明の通信制御装置において帯域制御を実行するトリガーおよびトリガーの検出態様について説明する図である。 本発明の通信制御装置において実行する帯域制御のシーケンスについて説明する図である。 本発明の通信制御装置において実行する帯域制御の処理手順を説明するフローチャートである。 本発明の通信制御装置において実行する帯域新規設定処理の処理手順を説明するフローチャートである。 本発明の通信制御装置における帯域制御において、制御対象の帯域の構成例を説明する図である。 本発明の通信制御装置において実行する帯域更新処理の処理手順を説明するフローチャートである。 本発明の通信制御装置において実行する帯域更新処理の前処理の手順を説明するフローチャートである。 本発明の通信制御装置において実行する帯域更新処理の帯域更新ループの処理手順を説明するフローチャートである。 本発明の通信制御装置において実行する帯域更新処理の具体的な処理例を説明する図である。 本発明の通信制御装置の情報表示例を説明する図である。 本発明の通信制御装置のハードウェア構成例を示す図である。
符号の説明
100 ホームネットワーク
101 TV(ホームネットワーク機器)
102 PC(ホームネットワーク機器)
120 通信制御装置
131 ストリーミングサーバ
132 各種サーバ
150 帯域測定サーバ
210 帯域測定部
220 通信フロー監視部
221 希望帯域見積もり部
230 帯域計算部
231 帯域新規設定処理モジュール
232 帯域更新処理モジュール
240 帯域制御部
241 メッセージ書き換え/作成部
242 シェイピング部
243 シェイピンクI/F
250 割り当て帯域テーブル
270 ルーティング部
280 DHCPサーバ部
501 設定情報表示部
502 利用可能帯域情報表示部
503 通信フロー状態情報表示部
701 CPU(Central Processing Unit)
702 RAM(Random Access Memory)
703 メモリ
704 入力部
705 出力部
706 通信I/F
707 通信I/F
711 バス
712 入出力インタフェース

Claims (19)

  1. 広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御を実行する通信制御装置であり、
    広域ネットワーク側の利用可能帯域を測定する帯域測定部と、
    通信制御装置を介する通信フローの監視を実行する通信フロー監視部と、
    前記帯域測定部から入力する利用可能帯域情報と、前記通信フロー監視部から入力するフロー情報とに基づいて、通信制御装置を介する通信フローに対する割り当て帯域値を算出する帯域計算部と、
    前記帯域計算部の算出した割り当て帯域値に応じた帯域制御処理を実行する帯域制御部とを有し、
    前記通信フロー監視部は、
    通信制御装置を介する通信フロー各々の希望使用帯域を取得する処理を実行する構成であり、
    前記帯域計算部は、
    前記通信フロー各々の希望使用帯域の値がより小さいフローに対して、より優先的に順次帯域割り当て処理を実行する構成であることを特徴とする通信制御装置。
  2. 前記帯域計算部は、
    前記通信フロー監視部から入力するフローの開始またはフローの終了、または、前記帯域測定部から入力する利用可能帯域の変化のいずれかをトリガーとして、通信フローに対して割り当てる帯域の設定値または更新値の算出処理を実行する構成であることを特徴とする請求項1に記載の通信制御装置。
  3. 前記通信制御装置は、
    前記帯域計算部の算出した通信フローに割り当てる帯域値を保持する割り当て帯域テーブルを有し、
    前記帯域制御部は、
    前記割り当て帯域テーブルに記録された各フロー毎の設定帯域値に基づく帯域制御処理を実行する構成であることを特徴とする請求項1に記載の通信制御装置。
  4. 前記帯域計算部は、
    予め定められた優先フローに対する割り当て帯域算出処理においては、前記帯域測定部から入力する利用可能帯域中、未使用帯域と非優先フローの使用帯域との合計帯域を、前記優先フローに対する割り当て可能帯域としてのベース帯域として設定する構成であり、
    非優先フローに対する割り当て帯域算出処理においては、前記帯域測定部から入力する利用可能帯域中、優先フローの使用帯域を除く帯域を、前記非優先フローに対する割り当て可能帯域としてのベース帯域として設定する構成であることを特徴とする請求項1に記載の通信制御装置。
  5. 前記帯域計算部は、
    複数フローについての帯域更新処理において、
    帯域更新対象フローに対する割り当て可能帯域としてのベース帯域を帯域更新対象フロー数に基づいて等分した帯域値を仮の最大帯域として算出し、
    通信フロー各々の希望使用帯域の値に応じて各フローに対して順次、各フローの希望使用帯域と、前記仮の最大帯域との比較を実行し、前記希望使用帯域が前記仮の最大帯域以下である場合には、前記希望使用帯域を更新帯域として設定し、
    前記希望使用帯域が前記仮の最大帯域以下でない場合には、前記仮の最大帯域の値を順次変更して、変更した仮の最大帯域と各フローの希望使用帯域との比較を実行し、各フローに対する更新帯域の設定を実行する構成であることを特徴とする請求項1に記載の通信制御装置。
  6. 前記帯域計算部は、
    新たに通信を開始する新規フローに対する割り当て帯域算出処理において、
    新規フローの希望使用帯域と、前記帯域測定部から入力する利用可能帯域中の未使用帯域との比較を実行し、前記希望使用帯域が前記未使用帯域以下である場合には、前記希望使用帯域を新規フローに対する割り当て帯域として算出する構成であることを特徴とする請求項1に記載の通信制御装置。
  7. 前記帯域計算部は、
    新たに通信を開始する新規フローに対する割り当て帯域算出処理において、
    前記新規フローが予め定められた優先フローである場合、
    前記帯域測定部から入力する利用可能帯域から優先フローの使用帯域を除く帯域を割り当て可能帯域とし、該割り当て可能帯域と、前記新規フローの希望使用帯域との比較を実行し、
    前記希望使用帯域が前記割り当て可能帯域以下である場合には、前記希望使用帯域を前記新規フローに対する割り当て帯域として算出し、
    前記希望使用帯域が前記割り当て可能帯域以下でない場合には、前記割り当て可能帯域を前記新規フローに対する割り当て帯域として算出する構成であることを特徴とする請求項1に記載の通信制御装置。
  8. 前記通信フロー監視部は、
    通信制御装置を介する通信フロー各々の希望使用帯域取得処理において、通信フローに含まれる制御パケット内の記述データを取得し、該取得データに基づいて、各フローの希望使用帯域を取得する構成であることを特徴とする請求項1に記載の通信制御装置。
  9. 前記通信フロー監視部は、
    通信制御装置を介する通信フロー各々の希望使用帯域取得処理において、通信フローに含まれる制御パケット内の記述データに基づく各フローの希望使用帯域を取得できない場合、該フローの希望使用帯域を無限大とみなす処理を実行する構成であることを特徴とする請求項1に記載の通信制御装置。
  10. 広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御を実行する通信制御方法であり、
    広域ネットワーク側の利用可能帯域を測定する帯域測定ステップと、
    通信制御装置を介する通信フローの監視を実行する通信フロー監視ステップと、
    前記帯域測定ステップにおいて取得する利用可能帯域情報と、前記通信フロー監視ステップにおいて取得するフロー情報とに基づいて、通信制御装置を介する通信フローに対する割り当て帯域値を算出する帯域計算ステップと、
    前記帯域計算ステップにおいて算出した割り当て帯域値に応じた帯域制御処理を実行する帯域制御ステップとを有し、
    前記通信フロー監視ステップは、
    通信制御装置を介する通信フロー各々の希望使用帯域を取得する処理を実行するステップを含み、
    前記帯域計算ステップは、
    前記通信フロー各々の希望使用帯域の値がより小さいフローに対して、より優先的に順次帯域割り当て処理を実行することを特徴とする通信制御方法。
  11. 前記帯域計算ステップは、
    前記通信フロー監視ステップにおいて検出するフローの開始またはフローの終了、または、前記帯域測定ステップの測定する利用可能帯域の変化のいずれかをトリガーとして、通信フローに対して割り当てる帯域の設定値または更新値の算出処理を実行するステップであることを特徴とする請求項10に記載の通信制御方法。
  12. 前記通信制御方法は、さらに、
    前記帯域計算部の算出した通信フローに割り当てる帯域値を割り当て帯域テーブルに記録する記録ステップを有し、
    前記帯域制御ステップは、
    前記割り当て帯域テーブルに記録された各フロー毎の設定帯域値に基づく帯域制御処理を実行するステップであることを特徴とする請求項10に記載の通信制御方法。
  13. 前記帯域計算ステップは、
    予め定められた優先フローに対する割り当て帯域算出処理においては、前記帯域測定ステップにおいて取得する利用可能帯域中、未使用帯域と非優先フローの使用帯域との合計帯域を、前記優先フローに対する割り当て可能帯域としてのベース帯域として設定し、
    非優先フローに対する割り当て帯域算出処理においては、前記帯域測定ステップにおいて取得する利用可能帯域中、優先フローの使用帯域を除く帯域を、前記非優先フローに対する割り当て可能帯域としてのベース帯域として設定することを特徴とする請求項10に記載の通信制御方法。
  14. 前記帯域計算ステップは、
    複数フローについての帯域更新処理において、
    帯域更新対象フローに対する割り当て可能帯域としてのベース帯域を帯域更新対象フロー数に基づいて等分した帯域値を仮の最大帯域として算出し、
    通信フロー各々の希望使用帯域の値に応じて各フローに対して順次、各フローの希望使用帯域と、前記仮の最大帯域との比較を実行し、前記希望使用帯域が前記仮の最大帯域以下である場合には、前記希望使用帯域を更新帯域として設定し、
    前記希望使用帯域が前記仮の最大帯域以下でない場合には、前記仮の最大帯域の値を順次変更して、変更した仮の最大帯域と各フローの希望使用帯域との比較を実行し、各フローに対する更新帯域の設定を実行するステップであることを特徴とする請求項10に記載の通信制御方法。
  15. 前記帯域計算ステップは、
    新たに通信を開始する新規フローに対する割り当て帯域算出処理において、
    新規フローの希望使用帯域と、前記帯域測定ステップにおいて取得する利用可能帯域中の未使用帯域との比較を実行し、前記希望使用帯域が前記未使用帯域以下である場合には、前記希望使用帯域を新規フローに対する割り当て帯域として算出するステップであることを特徴とする請求項10に記載の通信制御方法。
  16. 前記帯域計算ステップは、
    新たに通信を開始する新規フローに対する割り当て帯域算出処理において、
    前記新規フローが予め定められた優先フローである場合、
    前記帯域測定ステップにおいて取得する利用可能帯域から優先フローの使用帯域を除く帯域を割り当て可能帯域とし、該割り当て可能帯域と、前記新規フローの希望使用帯域との比較を実行し、
    前記希望使用帯域が前記割り当て可能帯域以下である場合には、前記希望使用帯域を前記新規フローに対する割り当て帯域として算出し、
    前記希望使用帯域が前記割り当て可能帯域以下でない場合には、前記割り当て可能帯域を前記新規フローに対する割り当て帯域として算出するステップであることを特徴とする請求項10に記載の通信制御方法。
  17. 前記通信フロー監視ステップは、
    通信制御装置を介する通信フロー各々の希望使用帯域取得処理において、通信フローに含まれる制御パケット内の記述データを取得し、該取得データに基づいて、各フローの希望使用帯域を取得するステップを含むことを特徴とする請求項10に記載の通信制御方法。
  18. 前記通信フロー監視ステップは、
    通信制御装置を介する通信フロー各々の希望使用帯域取得処理において、通信フローに含まれる制御パケット内の記述データに基づく各フローの希望使用帯域を取得できない場合、該フローの希望使用帯域を無限大とみなす処理を実行するステップを含むことを特徴とする請求項10に記載の通信制御方法。
  19. 広域ネットワーク接続機器とローカルネットワーク接続機器間の通信フロー制御を実行するコンピュータ・プログラムであり、
    広域ネットワーク側の利用可能帯域を測定する帯域測定ステップと、
    通信制御装置を介する通信フローの監視を実行する通信フロー監視ステップと、
    前記帯域測定ステップにおいて取得する利用可能帯域情報と、前記通信フロー監視ステップにおいて取得するフロー情報とに基づいて、通信制御装置を介する通信フローに対する割り当て帯域値を算出する帯域計算ステップと、
    前記帯域計算ステップにおいて算出した割り当て帯域値に応じた帯域制御処理を実行する帯域制御ステップとを有し、
    前記通信フロー監視ステップは、
    通信制御装置を介する通信フロー各々の希望使用帯域を取得する処理を実行するステップを含み、
    前記帯域計算ステップは、
    前記通信フロー各々の希望使用帯域の値がより小さいフローに対して、より優先的に順次帯域割り当て処理を実行することを特徴とするコンピュータ・プログラム。
JP2004013906A 2004-01-22 2004-01-22 通信制御装置、および通信制御方法、並びにコンピュータ・プログラム Pending JP2005210347A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004013906A JP2005210347A (ja) 2004-01-22 2004-01-22 通信制御装置、および通信制御方法、並びにコンピュータ・プログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2004013906A JP2005210347A (ja) 2004-01-22 2004-01-22 通信制御装置、および通信制御方法、並びにコンピュータ・プログラム

Publications (1)

Publication Number Publication Date
JP2005210347A true JP2005210347A (ja) 2005-08-04

Family

ID=34899839

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004013906A Pending JP2005210347A (ja) 2004-01-22 2004-01-22 通信制御装置、および通信制御方法、並びにコンピュータ・プログラム

Country Status (1)

Country Link
JP (1) JP2005210347A (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008062621A1 (fr) * 2006-11-20 2008-05-29 Sharp Kabushiki Kaisha Système de communication à transmission en continu
EP2104281A1 (en) 2008-03-19 2009-09-23 Sony Corporation Communication control apparatus, communication control method and communication control program
EP2148490A2 (en) 2008-07-24 2010-01-27 NEC Corporation Method and device for receiving and reproducing content
EP2148491A2 (en) 2008-07-24 2010-01-27 NEC Corporation Method and device for receiving content in a content delivery system
EP2148510A1 (en) 2008-07-24 2010-01-27 NEC Corporation Device and method for preventing unauthorized reproduction of content
JP2014036442A (ja) * 2012-08-07 2014-02-24 Ntt Docomo Inc 複数のクライアントにマルチメディアデータを送信するための方法、システム及びネットワーク

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008062621A1 (fr) * 2006-11-20 2008-05-29 Sharp Kabushiki Kaisha Système de communication à transmission en continu
US8228945B2 (en) 2006-11-20 2012-07-24 Sharp Kabushiki Kaisha Streaming communication system
EP2104281A1 (en) 2008-03-19 2009-09-23 Sony Corporation Communication control apparatus, communication control method and communication control program
JP2009231857A (ja) * 2008-03-19 2009-10-08 Sony Corp 通信制御装置、通信制御方法および通信制御プログラム
US8223645B2 (en) 2008-03-19 2012-07-17 Sony Corporation Communication control apparatus, communication control method, and communication control program
EP2148490A2 (en) 2008-07-24 2010-01-27 NEC Corporation Method and device for receiving and reproducing content
EP2148491A2 (en) 2008-07-24 2010-01-27 NEC Corporation Method and device for receiving content in a content delivery system
EP2148510A1 (en) 2008-07-24 2010-01-27 NEC Corporation Device and method for preventing unauthorized reproduction of content
US8886013B2 (en) 2008-07-24 2014-11-11 Nec Corporation Device and method for preventing unauthorized reproduction of content
JP2014036442A (ja) * 2012-08-07 2014-02-24 Ntt Docomo Inc 複数のクライアントにマルチメディアデータを送信するための方法、システム及びネットワーク

Similar Documents

Publication Publication Date Title
US10069885B2 (en) Bandwidth management for over-the-top adaptive streaming
JP6268090B2 (ja) 帯域幅および対応する装置を制御する方法
JP5659125B2 (ja) 中継装置、中継方法
EP2675132B1 (en) System for dynamic stream management in audio video bridged networks
EP2649759B1 (en) Technique for managing traffic at a router
US8254252B2 (en) Bandwidth control apparatus
US20150236962A1 (en) Method and system for using dynamic bandwidth detection to drive quality of service control refinement
US8228945B2 (en) Streaming communication system
US9042355B2 (en) Quality of service (QoS) for satellite communications network
JP5590146B2 (ja) サービス品質管理システム及び方法
US20180063853A1 (en) Resource Reallocation
JP6628785B2 (ja) マルチメディアシステムにおける情報を送受信する方法及び装置
JP5252347B2 (ja) ネットワークシステム及び通信計画サーバ
CN111194543B (zh) 用于在网络中使用的流控制系统
JP2005210347A (ja) 通信制御装置、および通信制御方法、並びにコンピュータ・プログラム
US11863465B1 (en) Local network traffic prioritization for improved quality of service
WO2020036079A1 (ja) ネットワーク制御装置、ネットワーク制御方法及びプログラム
WO2020162361A1 (ja) 制御装置、制御方法及びプログラム
US20180139146A1 (en) Method and apparatus for providing deadline-based segmentation for video traffic
JP2005210346A (ja) 通信制御装置、および通信制御方法、並びにコンピュータ・プログラム
CN112615798B (zh) 一种基于大象流预约的带宽分配方法和设备
JP5945247B2 (ja) トラヒック規制システム、トラヒック規制制御装置、優先制御方法およびそのプログラム
JP6248497B2 (ja) コンテンツ配信制御システム、転送装置、配信制御装置、視聴制御装置、転送プログラム、配信制御プログラム及び視聴制御プログラム
JP3725401B2 (ja) アクセス振り分け方法、装置、及び記録媒体
KR101566397B1 (ko) 대역폭 관리 장치, 중앙 관리 장치, 및 대역폭 관리 방법