10,11,12…通信端末、20…データベースサーバ、30…インターネット、40…動画サーバ、100,110,120…NIC(Network Interface Card)、101,111,121…制御部、101a,111a…VoIPアプリケーション、101b,111b,121b…通信管理部、101c…動画ビューアアプリケーション、101d,111d…TV電話アプリケーション、101e,121e…画像管理アプリケーション、400…NIC(Network Interface Card)、401…制御部、401c…ストリーミング配信アプリケーション。
以下、図面を参照しながら、本発明に係る帯域割り当て方法、帯域割り当て装置、通信端末、帯域割り当てプログラム及びプログラム記録媒体を実施するための最良の形態について説明する。
なお、以下の説明においては、本発明に係る帯域割り当て装置を搭載した通信端末における帯域割り当て方法に関して、その実施形態の一例について説明し、帯域割り当てプログラム及びプログラム記録媒体に関する実施形態の説明は省略する。しかし、以下の帯域割り当て方法に関する詳細な説明から、本帯域割り当て方法をコンピュータによりプログラムとして実行する帯域割り当てプログラム、及び、該帯域割り当てプログラムをコンピュータにより読み取り可能な記録媒体に記録するプログラム記録媒体についても容易に理解することができる。
(第1の実施例)
本実施例においては、VoIPアプリケーションを用いる場合を例に取って、図1に示す第1の実施例におけるシステム構成図を用いて説明する。図1は、インターネット30を経由して互いにVoIP通信を行なう通信端末10,11が存在している場合を模式的に示している。図1のシステム構成図において、通信端末10,通信端末11のそれぞれは、全体を制御する制御部101,111及びインターネット30と接続するための通信メディア装置としての通信インタフェースカードNIC(Network Interface Card)100,110を具備しており、制御部101,111のそれぞれには、各通信端末10,11に対応する処理を実行するVoIPアプリケーション101a,111a、及び、該VoIPアプリケーション101a,111aそれぞれからの要求を受け取り、通信用の帯域の割り当てなどを行なう帯域割り当て装置が備えられ、帯域割り当て装置それぞれには帯域割り当てを含めVoIPアプリケーション101a,111aそれぞれの通信を管理する通信管理部101b、111bが備えられている。更に、通信端末10,通信端末11には、図示していないが、各種情報の表示が可能な表示装置を具備するものが望ましい。
ここで、通信端末10は、VoIPアプリケーション101aの要求に応じて、通信管理部101bの制御の下、NIC100を介してインターネット30と接続しており、通信端末11は、VoIPアプリケーション111aの要求に応じて、通信管理部111bの制御の下、NIC110を介してインターネット30に接続しているものとする。
本実施例では、VoIPアプリケーション101a,111aが使用要求帯域幅として4つの異なる帯域幅を利用可能とし、更に、通信端末からネットワークへ向かう上り回線とネットワークから通信端末へ向かう下り回線とで異なる帯域のコーデックを利用可能とする場合について説明する。また、ネットワーク情報、NIC情報、フロー情報として管理する帯域幅BWとして、通信速度(bps)以外に、単位時間当たりに転送するパケット数pps(packets per second:1秒当たりに転送可能なパケット数)情報も含まれている場合について例示する。
以下、図1に示すシステム構成図における通信端末10,11のVoIPアプリケーション101a,111a間の通話に用いる帯域割り当て方法について、図2に示すシーケンスチャートを用いて説明する。ここに、図2は、本発明に係る帯域割り当て方法の第1の実施例を説明するためのシーケンスチャートであり、ネットワークから通信端末10,11に向かう下り方向のフローにおける割当(使用可能)帯域幅を選択する場合を例に取って、図1に示す通信端末10,11間で送受信されるデータのシーケンスを示している。また、通信端末10,11それぞれの内部におけるVoIPアプリケーション101a,111aと通信管理部101b,111bとの間のデータの送受信についても示している。
まず、発呼側通信端末10のVoIPアプリケーション101aは、通信管理部101bを介して、着呼側通信端末11のVoIPアプリケーション111aに対して、SIP/SDPを用いて、INVITE(通信招待)メッセージを送信する(シーケンスS21)。
なお、このINVITEメッセージの送信は、Proxyサーバ経由としても良い。INVITEメッセージを受信した着呼側通信端末11のVoIPアプリケーション111aは、発呼側通信端末10のVoIPアプリケーション101aとの通信が可能な状態にあれば、通信管理部111bを介して、発呼側通信端末10のVoIPアプリケーション101aに対して、SIP/SDPを用いて、200 OKレスポンスを返送する(シーケンスS22)。なお、この200 OKレスポンスの返送も、Proxyサーバ経由としても良い。
ここで、VoIP通信において使用されている呼制御プロトコルとしては、前述したように、SIP(Session Initiation Protocol)が適用されている場合が多い。一般に、SIPを用いる場合には、着呼側通信端末では、通信相手の発呼側通信端末からINVITE(通信招待)メッセージが届くまで、一方、発呼側通信端末では、INVITEメッセージに対する200 OKメッセージが返送されてくるまで、通信相手の着呼側通信端末のIPアドレスが判明しなく、通信を特定するパスが判明しないことがある。
VoIPアプリケーション101a,111a間の呼制御が完了した際には、互いの通信端末において、相手IPアドレスが判明するのみならず、その他のフロー情報についても確定することができる。ここで、フロー情報とは、VoIPアプリケーション101a,111a間の通信を行なうためのIPアドレスや通信ポートや使用要求帯域幅を指定するものであり、通信を行なうフローを特定するための宛先などの情報や、通信相手のVoIPアプリケーションとの間の通信に使用可能なコーデック情報から得られる帯域情報(使用要求帯域幅情報)などから構成されている。
なお、帯域情報とは、当該VoIPアプリケーションとして、最低限どの程度の帯域幅が必要であり、最高のクオリティを達成するには最大どの程度の帯域幅を確保したいかなど、割り当てを要求したい1乃至複数の帯域幅を含む情報である。
具体的には、フロー情報は、少なくとも、データ送信先のIPアドレスを示すディスティネーションアドレス(Dst Addr:Destination Address)、データ送信元の自IPアドレスを示すソースアドレス(Src Addr:Source Address)、データ送信先ポート番号を示すディスティネーションポート(Dst Port:Destination Port)、最低限必要な帯域幅(BW(MIN):Bandwidth(Minimum))、最高クオリティに必要な最大の帯域幅(BW(MAX):Bandwidth(Maximum))を含んでいる。呼制御が終了すると、通信端末10,11の通信管理部101b,111bは、それぞれのアプリケーション101a,111aからそれぞれのフロー情報が渡される(シーケンスS23,S24)。通信制御部101b,111bが取得するフロー情報を、それぞれ表1−1及び表1−2に示す。
ここで、表1−1,表1−2に示すフロー情報は、4つの異なる帯域幅を利用可能とするように、最低限必要な最低使用要求帯域幅(BW(MIN))、最高のクオリティを得るために必要な最大使用要求帯域幅(BW(MAX))の他に、第2の帯域幅(BW(2))、第3の帯域幅(BW(3))が追加された構成となっている。更に、BW(MIN),BW(2),BW(3),BW(MAX)それぞれの帯域幅には、前述したように、使用を要求する通信速度(bps)以外に、使用を要求する単位時間当たりに転送可能なパケット数(pps)の情報も追加されている。
表1−1,表1−2に示すように、通信管理部101b,111bのそれぞれが取得したフロー情報は同一の内容とされているが、表1−1は、通信端末10の通信管理部101bが取得したフロー情報であり、表1−2は、通信端末11の通信管理部111bが取得したフロー情報であり、それぞれの通信管理部101b、111bで用いられる。
SIP/SDPのINVITEメッセージを受け取った着呼側通信端末11の通信管理部111bは、通信が可能な状態を示す200 OKレスポンスを、発呼側通信端末10の通信管理部101bに返送した後、更に、表2に示すような自身のNIC110の情報即ちNIC情報を、発呼側通信端末10の通信管理部101bに対して送信する(シーケンスS25)。但し、200 OKを受け取った発呼側通信端末10の通信管理部101bから、自身のNIC100の情報即ちNIC情報を、着呼側通信端末11の通信管理部111bに対して送信するようにしても構わない。
また、通信端末10,11の通信管理部101b,111bは、それぞれの通信端末10,11をインターネット30に接続するための通信メディア装置であるネットワークインタフェースカード(通信インタフェースカード)NIC100,110の性能限界即ち使用可能帯域(余り)も取得して管理している。即ち、通信相手の通信端末との間の通信用のパスとして用いるNICに対応付けて、パス情報に付帯するNIC情報として管理している。ここに、NIC情報は、少なくとも、当該NICを備えている通信端末名(端末)(または前記通信端末名と同等の効果をもつIPアドレス等に代表される識別子)、通信端末からネットワークへ向かう上り回線の最大帯域幅(BW(上り))、上り回線の未使用(余り)となっている使用可能帯域幅(BW(上り・余り))、ネットワークから通信端末へ向かう下り回線の最大帯域幅(BW(下り))、下り回線の未使用(余り)となっている使用可能帯域幅(BW(下り・余り))を含んでいる。ここで、表2に示すNIC110に関するNIC情報は、表1−1,表1−2のフロー情報の場合と同様に、転送可能なリンク速度(bps)以外に単位時間当たりに転送可能なパケット数(pps)の情報も追加されている。
着呼側通信端末11のNIC110のNIC情報を受け取った発呼側通信端末10の通信管理部101bでは、着呼側通信端末11から得たNIC情報即ちNIC110の情報と通信端末10自身のNIC情報即ちNIC100の情報とをマージして、表3に示すような双方のNIC情報(NIC管理表)を作成すると共に、双方のNIC情報に基づいて、表4に示すようなパス情報を作成し、通信相手の着呼側通信端末11に対して送信する(シーケンスS26)。
この結果、通信端末10,11の通信管理部101b,111bは、VoIPアプリケーション101a,111a間の通信に用いるパス情報、NIC情報をそれぞれ取得した状態となる。なお、発呼通信端末10のNIC情報は、当該通信端末10からネットワークに向かう上り回線の通信可能帯域幅(BW(上り))が1Mbpsと下り回線の通信可能帯域幅(BW(下り))の11Mbpsに比して狭い場合を示している。
次に、パス情報を受け取った着呼側通信端末11の通信管理部111bでは、得られたNIC情報とパス情報とを基にして、現在のネットワークの通信状況を示すネットワーク情報を調査するために、ネットワーク情報測定要求メッセージを、通信相手の発呼側通信端末10の通信管理部101bに対して送信する(シーケンスS27)。本実施例においては、互いの通信端末10,11間でテストデータの送受信動作を行なうことにより、END−ENDでネットワークの“使用可能帯域幅”を示すネットワーク情報を測定する場合を示している。また、これらの使用可能帯域幅はデータベースサーバ20が保持しており、データベースサーバ20に対してネットワーク情報を問い合わせても良い。
着呼側通信端末11の通信管理部111bからのネットワーク情報測定要求メッセージを受け取った発呼側通信端末10の通信管理部101bと送信元の着呼側通信端末11の通信管理部111bとの間でテストデータを各種の帯域幅で送受信し合い(シーケンスS28)、送受信データの測定結果に基づいて、発呼側通信端末10の通信管理部101b及び着呼側通信端末11の通信管理部111bそれぞれで、上り回線、下り回線毎のフローについての使用可能帯域幅を決定する。
その結果、通信端末10,11のそれぞれでは、通信相手の通信端末11,10との間の通信フローにて実測された使用可能な帯域幅を示すネットワーク情報として、即ち、パス情報の一つとして、表4に示す空欄部分(「パス1」、「パス2」のBW(測定)、pps(測定))に関する情報が得られ、表5に示すパス情報となる。更に、通信相手の通信端末11,10との間の通信フローにおけるネットワークにて最大使用可能な帯域幅を示すネットワーク情報として、即ち、パス情報の一つとして、「パス1」、「パス2」のBW(可用)、pps(可用)についても、END−ENDの実測結果である「パス1」、「パス2」のBW(測定)、pps(測定)がコピーされる。
ここで、表5のパス情報に例示するように、発呼側通信端末10から着呼側通信端末11へ向かう回線(「パス1」)と、逆方向の着呼側通信端末11から発呼側通信端末10へ向かう回線(「パス2」)とは、ネットワーク上のパスとして使用可能な帯域幅が異なっている場合(例えば、BW(測定)は、「フロー1」の場合が128kbps、「フロー2」が4Mbps)を示している。また、「パス1」、「パス2」の使用可能帯域幅を示すBW(可用)、pps(可用)とは、前述のように、それぞれEND−ENDの実測値であるBW(測定)、pps(測定)の値と同一の値を設定するようにしている。
而して、通信端末10,11の通信管理部101b,111bでは、VoIPアプリケーション101a,111aそれぞれのフロー情報とパス情報の使用可能帯域幅(BW(可用))、単位時間当たり使用可能パケット数(pps(可用))に示す情報とを得ることにより、VoIPアプリケーション101a,111a間の通信フローに使用可能な最大の帯域幅、単位時間当たりパケット数を適切に割り当てることができる。
即ち、表1−1,表1−2のフロー情報と、表3のNIC情報と、表5のパス情報とを参照して、END−END実測結果から取得した表5の使用可能帯域幅(BW(可用))と、アプリケーション101a,111aの使用要求帯域幅即ちフロー情報として収集した表1−1,表1−2の最低限必要な帯域幅(BW(MIN))、第2の帯域幅(BW(2))、第3の帯域幅(BW(3))、最高クオリティに必要な最大の帯域幅(BW(MAX))とを比較することにより、現在のネットワーク状況として割り当て可能な帯域幅を判断することができる。
また、同様に、表1−1,表1−2のフロー情報と、表3のNIC情報と、表5のパス情報とを参照して、END−END実測結果から取得した表5の単位時間当たりの使用可能パケット数(pps(可用))と、アプリケーション101a,111aの要求帯域幅即ちフロー情報として収集した表1−1,表1−2の最低限必要な帯域幅(BW(MIN))、第2の帯域幅(BW(2))、第3の帯域幅(BW(3))、最高クオリティに必要な最大の帯域幅(BW(MAX))に示す単位時間当たりの使用要求パケット数(pps)とを比較することにより、現在のネットワーク状況として割り当て可能な単位時間当たりのパケット数を判断することができる。
ここで、本実施例においてフローは、通信端末からネットワークに向かう上り回線1本、逆方向の下り回線1本ずつとされているので、ネットワーク状況が許す限りの最高の水準の帯域幅を選択すれば良い。従って、表5のようなパス情報が得られている場合は、着呼側通信端末11→発呼側通信端末10へのフロー1(ネットワークの使用可能帯域幅128kbps)では、使用要求帯域幅90kbps、単位時間当たり使用要求パケット数50ppsの第3の帯域幅BW(3)が選択され、一方、発呼側通信端末10→着呼側通信端末11へのフロー2(ネットワークの使用可能帯域幅4Mbps)では、最高のクオリティが得られる使用要求帯域幅115kbps、単位時間当たり使用要求パケット数100ppsの最大帯域幅BW(MAX)が選択される。
更に言えば、通信端末10では、ネットワークから通信端末10へ向かう下りフローは、フロー1の使用要求帯域幅BW(3)が選択され、通信端末10からネットワークへ向かう上りフローは、フロー2の使用要求帯域幅BW(MAX)が選択される。一方、ネットワークから通信端末11へ向かう下りフローは、フロー2の使用要求帯域幅BW(MAX)が選択され、通信端末11からネットワークへ向かう上りフローは、フロー1の使用要求帯域幅BW(3)が選択される。
しかる後、発呼側通信端末10の通信管理部101bは、当該通信端末10のVoIPアプリケーション101aに対して、受信用のフロー1として使用可能な帯域幅として使用要求帯域幅BW(3)を、送信用のフロー2として使用可能な帯域幅として使用要求帯域幅BW(MAX)を通知すると共に(シーケンスS29)、通信相手の通信端末11の通信管理部111bに対しても、発呼側通信端末10の使用可能な帯域幅として割り当てた使用要求帯域幅を示すパス情報・NIC情報を送信する(シーケンスS31)。
一方、着呼側通信端末11の通信管理部111bも、当該通信端末11のVoIPアプリケーション111aに対して、受信用のフロー2として使用可能な帯域幅として使用要求帯域幅BW(MAX)を、送信用のフロー1として使用可能な帯域幅として使用要求帯域幅BW(3)を通知すると共に(シーケンスS30)、通信相手の通信端末10の通信管理部101bに対しても、着呼側通信端末11の使用可能な使用要求帯域幅を示すパス情報・NIC情報を送信する(シーケンスS32)。
更に、アプリケーション101a,111aや他のアプリケーションからの次の通信要求の発生、即ち、次のフローの発生に備えて、帯域を割り当てた後における表5のパス情報の使用可能帯域幅(BW(可用))の残り、時間当たり使用可能パケット数(pps(可用))の残りや、表3のNIC情報の使用可能帯域幅(BW(上り・余り)、BW(下り・余り))の余りや時間当たり使用可能パケット数(pps(上り・余り)、pps(下り・余り))の余りを、以降の使用可能な帯域幅として算出し直す。
また、以降の使用可能帯域幅(余り/可用)の算出に当たっては、アプリケーション101a,111aに対して実際に割り当てた使用要求帯域幅BW、単位時間当たり使用要求パケット数ppsをそのまま用いて、表5のパス情報の使用可能帯域幅(BW(可用))、単位時間当たり使用可能パケット数(pps(可用))及び表3のNIC情報の使用可能帯域幅(BW(上り・余り)、BW(下り・余り))、時間当たり使用可能パケット数(pps(上り・余り)、pps(下り・余り))から減算して、それぞれの残り、余りを示す使用可能帯域幅(BW(可用))、単位時間当たり使用可能パケット数(pps(可用))、使用可能帯域幅(BW(上り・余り)、BW(下り・余り))、時間当たり使用可能パケット数(pps(上り・余り)、pps(下り・余り))としても良いし、アプリケーション101a,111aに実際に割り当てた使用要求帯域幅BW、単位時間当たり使用要求パケット数ppsに対して適度な余裕(例えば1.5倍など予め定めた倍率による余裕)を持たせて減算しても良い。
各VoIPアプリケーションに実際に割り当てた帯域幅BWと単位時間当たりのパケット数ppsとをそのままそれぞれ減算している。実際に割り当てた帯域幅BWと単位時間当たりのパケット数ppsとを減算した結果得られたパス情報、NIC情報を、それぞれ表6、表7に示している。
しかる後、発呼側通信端末10の通信管理部101bから使用可能帯域の割り当ての通知を受け取ったVoIPアプリケーション101aは、下りフロー通信用のリソースとして用いるコーデックについてフロー1に割り当てられた帯域幅BW(3)(即ち、使用要求帯域幅BW90kbps、単位時間当たり使用要求パケット数50pps)に適したものを選択して、コーデック変更要求メッセージとして、SIP/SDPに従って、通信相手の通信端末11のVoIPアプリケーション111aに対して通知する(シーケンスS33)。
このコーデック変更要求メッセージを受信した通信端末11のVoIPアプリケーション111aは、VoIPアプリケーション101aのコーデック変更要求に従ってコーデックの設定・変更を行ない、要求元の発呼側通信端末10のVoIPアプリケーション101aに対して、コーデックの変更を実施済みであり、変更後の帯域を用いた通信が可能である旨を示す200 OKレスポンスを、SIP/SDPに従って返送する(シーケンスS34)。
更に、着呼側通信端末11の通信管理部111bから使用要求帯域の割り当ての通知を受け取ったVoIPアプリケーション111aは、下りフロー通信用のリソースとして用いるコーデックについてフロー2に割り当てられた帯域幅BW(MAX)(即ち、使用要求帯域幅BW115kbps、単位時間当たり使用要求パケット数100pps)に適したものを選択して、コーデック変更要求メッセージとして、SIP/SDPに従って、通信相手の通信端末10のVoIPアプリケーション101aに対して通知する(シーケンスS35)。
このコーデック変更要求メッセージを受信した通信端末10のVoIPアプリケーション101aは、VoIPアプリケーション111aのコーデック変更要求に従ってコーデックの設定・変更を行ない、要求元の着呼側通信端末11のVoIPアプリケーション111aに対して、コーデックの変更を実施済みであり、変更後の帯域を用いた通信が可能である旨を示す200 OKレスポンスを、SIP/SDPに従って返送する(シーケンスS36)。
而して、4つの異なる帯域幅を利用可能としたVoIPアプリケーション101a,111aに対して、現在のネットワーク状況に応じた最適な帯域を用いた通信が可能とするように、上り回線と下り回線とで異なる帯域のコーデックを利用可能とすると共に、更に、使用可能な使用要求帯域幅BWのみならず、単位時間当たりの使用要求パケット数ppsも最適な状態で通信を行なうことが可能となる。例えば、VoIP通信を用いるアプリケーション101a,111aでは、今まで上下回線共に低品質なコーデックを用いていたとしても、上り回線と下り回線との現在のネットワーク状況に応じて最高のクオリティが得られる、より高品質なコーデックに動的に変更することになる。
(第2の実施例)
本実施例においては、前述の第1の実施例で例示したVoIPアプリケーションを用いる場合とは異なり、インターネットを介して通信端末間でTV電話(テレビ電話)を行なう場合を例に取って、図3に示すシステム構成図を用いて説明する。ここに、図3は、本発明に係る帯域割り当て方法の第2の実施例を説明するためのシステム構成図であり、インターネット30を経由して互いにTV電話を行なう通信端末10,11が存在している場合を模式的に示している。
図3のシステム構成図においては、図1に示すシステム構成図と同様に、通信端末10,通信端末11のそれぞれは、制御部101,111及び通信メディア装置としての通信インタフェースカードNIC(Network Interface Card)100,110を具備しており、制御部101,111のそれぞれには、各通信端末10,11に対応してTV電話用の処理を実行するTV電話アプリケーション101d,111d、及び、該TV電話アプリケーション101d,111dそれぞれからの要求を受け取り、通信用の帯域の割り当てなどを行なう帯域割り当て装置がそれぞれに備えられ、帯域割り当て装置には帯域割り当てを含めTV電話アプリケーション101d,111dそれぞれの通信を管理する通信管理部101b、111bが備えられている。更に、通信端末10,通信端末11は、図示していないが、各種情報の表示が可能な表示装置を具備するものが望ましい。
ここで、通信端末10は、TV電話アプリケーション101dの要求に応じて、通信管理部101bの制御の下、NIC100を介してインターネット30と接続しており、通信端末11は、TV電話アプリケーション111dの要求に応じて、通信管理部111bの制御の下、NIC110を介してインターネット30に接続しているものとする。
なお、本実施例においては、各通信端末10,11のTV電話アプリケーション101d、111dが通信用として使用するフローは、前述の第1の実施例とは異なり、上下回線にそれぞれ対応するフローが、音声用と映像用との2本ずつ、即ち、合計4本のフローを備えている。
即ち、TV電話アプリケーションの場合の本実施例においては、通信端末11→通信端末10方向に、音声用のフロー1と映像用のフロー2との2本のデータフローが存在し、逆方向の通信端末10→通信端末11方向にも、同様に、音声用のフロー3と映像用のフロー4との2本のデータフローが存在する。ここで、本実施例においても、上下回線毎に異なる帯域幅のコーデックを選択することができるものとする。
以下、図3に示すシステム構成図における通信端末10,11のTV電話アプリケーション101d,111d間の通話に用いる帯域割り当て方法について、図4に示すシーケンスチャートを用いて説明する。ここに、図4は、本発明に係る帯域割り当て方法の第2の実施例を説明するためのシーケンスチャートであり、ネットワークから通信端末10,11に向かう下り方向のフローにおける割当(使用可能)帯域幅を選択する場合を例に取って、図3に示す通信端末10,11間で送受信されるデータのシーケンスを示している。また、通信端末10,11それぞれの内部におけるTV電話アプリケーション101d,111dと通信管理部101b,111bとの間のデータの送受信についても示している。
ここで、SIP/SDPによる呼が確定するまでの動作(シーケンスS81,S82)については、第1の実施例のVoIP通信の場合と全く同じであるので、以降の説明は省略する。なお、本実施例では、この呼制御が確定した段階では、第1の実施例の場合と同様に、TV電話アプリケーション101d,111d間の通話について最低限の帯域幅を用いて音声のみの通信を開始している例(シーケンスS83)を示しているが、第1の実施例と同様に、呼制御が確定しても、使用可能な割当(使用可能)帯域幅が決定するまで、通話を開始しないようにしても構わない。
呼制御が終了すると、通信端末10,11の通信管理部101b,111bは、それぞれのアプリケーション101d,111dからそれぞれのフロー情報が渡される(シーケンスS84,S85)。通信管理部101b,111bが取得するフロー情報を、それぞれ表8及び表9に示す。
なお、表8及び表9には、帯域幅追加割り当てを制御するための「状態管理パラメータ」と帯域割り当て結果を示すフロー毎の割当(使用可能)帯域幅を示す「BW(付与)」、「pps(付与)」欄を追加して設けていると共に、更に、帯域割り当ての優先度を制御するための「優先度」欄が追加されている。また、表8、表9に示す例では、音声用のフロー1、フロー3の方が映像用のフロー2、フロー4よりも優先的に帯域の割り当てを行なうように指定されている。
アプリケーション101d,111dからそれぞれのフロー情報を受け取った各通信端末10,11の通信管理部101b,111bでは、ネットワークから当該通信端末に向かう下り方向のフロー情報を得ることになる。
フロー情報を受け取った発呼側通信端末10の通信管理部101bは、第1の実施例の場合と同様に、着呼側通信端末11との間のTV電話用に用いるパス情報を作成するために、当該通信端末10のNIC100に関する情報即ちNIC情報を、着呼側通信端末11の通信管理部111bに対して送信する(シーケンスS86)。通信相手の通信端末10のNIC情報を受け取った着呼側通信端末11の通信管理部111bでは、第1の実施例の場合と同様に、通信端末10から得た通信端末10のNIC情報と通信端末11自身のNIC情報即ちNIC110の情報とから、パス情報を作成し、通信端末10の通信管理部101bに対して送信する(シーケンスS87)。
この結果、発呼側通信端末10の通信管理部101bと着呼側通信端末11の通信管理部111bとは、TV電話アプリケーション101d,111d間の通信に用いるパス情報、NIC情報をそれぞれ取得した状態となる。ここで、発呼側通信端末10と着呼側通信端末11とのNIC情報をマージして得られるNIC情報を、表10に示す。表10に示すように、発呼側通信端末10のNIC100の上り回線の使用可能帯域幅のみ、他の回線の使用可能帯域幅に比し、狭い帯域幅しか使用できない例を示している。
なお、前述のように、発呼側通信端末10の通信管理部101bからNIC情報を送信して着呼側通信端末11の通信管理部111bからパス情報を受け取る場合とは異なり、第1の実施例にて説明したように、逆に、着呼側通信端末11の通信管理部111bからNIC情報を送信して発呼側通信端末10の通信管理部101bからパス情報を受け取るようにしても構わない。また、各アプリケーション101d,111dがそれぞれの通信管理部101b,111bにフロー情報を引き渡す際には、前述した実施例においても同様であるが、各アプリケーション101d,111dは、通信管理部101b,111bにおいて発呼側・着呼側のいずれかが判別できる情報を付与して、発呼側フロー情報・着呼側フロー情報として引き渡す。
また、前述したように、安定した通信品質を確保したい場合には、各TV電話アプリケーション101d,111dがそれぞれの通信管理部101b,111bに引き渡すフロー情報として、実際に用いるコーデックの使用帯域幅よりも大きい帯域幅を用いるようにしても良い。
次に、パス情報を受け取った発呼側通信端末10の通信管理部101bにおいては、第1の実施例と同様に、得られたNIC情報とパス情報とを基にして、通信相手の着呼側通信端末11との間の通信において使用可能な現在のネットワークの通信状況を示すネットワーク情報を調査するために、ネットワーク情報測定要求メッセージを、通信相手の着呼側通信端末11の通信管理部111bに対して送信する(シーケンスS88)。
即ち、本実施例においては、データベースサーバ20に対してネットワーク情報を問い合わせる第1の実施例の場合と同様、互いの通信端末10,11間でテストデータの送受信動作を行なうことにより、END−ENDでネットワークの“使用可能帯域幅”を示すネットワーク情報を測定する場合を示しているが、データベースサーバからネットワーク情報を取得するようにしても構わない。
発呼側通信端末10の通信管理部101bからのネットワーク情報測定要求メッセージを受け取った着呼側通信端末11の通信管理部111bと送信元の発呼側通信端末10の通信管理部101bとの間でテストデータを各種の帯域幅で送受信し合い(シーケンスS89)、送受信データの測定結果に基づいて、発呼側通信端末10の通信管理部101b及び着呼側通信端末11の通信管理部111bそれぞれで、上り回線、下り回線毎のフローについての使用可能帯域幅を決定する。
その結果、通信端末10,11のそれぞれでは、通信相手の通信端末11,10との間の通信フローにて実測された使用可能な帯域幅を示すネットワーク情報として、即ち、パス情報の一つとして、表11に示す「パス1」、「パス2」のBW(測定)、pps(測定))に関する情報が得られる。更に、通信相手の通信端末11,10との間の通信フローにおけるネットワークにて最大使用可能な帯域幅を示すネットワーク情報として、即ち、パス情報の一つとして、「パス1」、「パス2」のBW(可用)、pps(可用)についても、END−ENDの実測結果である「パス1」、「パス2」のBW(測定)、pps(測定)がコピーされる。
表11に示すパス情報において、パス1は、着呼側通信端末11→発呼側通信端末10へ向かう通信に使用されるパス情報を示し、パス2は、逆に、発呼側通信端末10→着呼側通信端末11へ向かう通信に使用されるパス情報を示している。表11に示すように、パス1の使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))は、それぞれ、2Mbps,160ppsであり、一方、パス2は、それぞれ1Mbps,100ppsとパス1よりも使用可能な帯域が狭い場合を示している。
次に、図6〜図8に示す帯域割り当て方法によって、各フローに対して使用可能な帯域幅を割り当てる例について説明する。まず、通信端末10の通信管理部101bにおける帯域割り当てについて詳述する。
まず、通信端末10の通信管理部101bでは、表8に示すフロー情報を参照して、図6のフローチャートにおいて、最低限の使用要求帯域幅(BW(MIN))即ち表8における最低使用要求帯域幅(BW(1))が示す音声用帯域幅30kbps及び映像用帯域幅100kbps、単位時間当たりの最低使用要求パケット数として音声用10pps及び映像用8ppsを割り当てる(ステップST01)。
その結果、最低限の使用要求帯域幅(BW(MIN))としてフロー1及びフロー2に割り当てた合計使用要求帯域幅のリソースが、フローの方向が下り回線方向であることを考慮して、パス情報の使用可能帯域幅(BW(可用))から減算されて、今後利用可能なパス情報の使用可能帯域幅(BW(可用))として更新され、更に、NIC情報の下り方向の使用可能帯域幅(BW(下り−余り))から減算されて、今後利用可能なNIC情報の使用可能帯域幅(BW(下り−余り))として更新される(ステップST02)。
同様に、最低限の使用要求帯域幅(BW(MIN))としてフロー1及びフロー2に割り当てた単位時間当たりの合計使用要求パケット数のリソースが、フローの方向が下り回線方向であることを考慮して、パス情報の単位時間当たり使用可能パケット数(pps(可用))から減算されて、今後利用可能なパス情報の単位時間当たりの使用可能パケット数(pps(可用))として更新され、更に、NIC情報の下り方向の単位時間当たり使用可能パケット数(pps(下り−余り))から減算されて、今後利用可能なNIC情報の単位時間当たり使用可能パケット数(pps(下り−余り))として更新される(ステップST03)。
次に、今後利用可能なパス情報の使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))、今後利用可能なNIC情報の使用可能帯域幅(BW(下り−余り))、単位時間当たりの使用可能パケット数(pps(下り−余り))のいずれも正数であるか否か、即ち、残りの使用可能帯域幅(BW(可用)、BW(下り−余り))、単位時間当たりの使用可能パケット数(pps(可用)、pps(下り−余り))がまだ残されているか否かを調べ(ステップST04)、正数ではない場合(ステップST04のNO)、先に割り当てた最低限の使用要求帯域幅(BW(MIN))を確保することができない場合であり、帯域割り当てに失敗したものとして、TV電話アプリケーション101dに対してエラーの旨を報告して、帯域割り当て処理を終了する(ステップST05)。
次に、図7のフローチャートにおいて、最高のクオリティが得られる最大の使用要求帯域幅(BW(MAX))即ち表8における最大使用要求帯域幅(BW(3))が示す音声用帯域幅120kbps及び映像用帯域幅1Mbps、単位時間当たりの最低使用要求パケット数として音声用60pps及び映像用80ppsを割り当てる(ステップST06)。
その結果、最大の使用要求帯域幅(BW(MAX))としてフロー1及びフロー2に割り当てた合計使用要求帯域幅のリソースが、フローの方向が下り回線方向であることを考慮して、パス情報の使用可能帯域幅(BW(可用))から減算されて、今後利用可能なパス情報の使用可能帯域幅(BW(可用))として算出され、更に、NIC情報の下り方向の使用可能帯域幅(BW(下り−余り))から減算されて、今後利用可能なNIC情報の使用可能帯域幅(BW(下り−余り))として算出される(ステップST07)。
ここで、状態管理パラメータとは、図8に示す帯域割り当て処理をする場合についてループ処理からの脱出の有無を制御するためのパラメータのことであり、フロー情報の各フロー毎に対応付けて付加して設けている。ここで、各フロー毎の状態管理パラメータの初期値は「0」であるが、「規定ループ回数+1」に設定することにより、図8のループ処理から脱出することを指示している。
一方、今後利用可能なパス情報の使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))のいずれかが正数ではない場合(ステップST09のNO)、先に割り当てた最大の使用要求帯域幅(BW(MAX))を確保することができない状態にある場合であり、ステップST01〜ST03で最低限の使用要求帯域幅(BW(MIN))の割り振りに成功しているパス情報の状態に一旦戻す(ステップST11)。
割り当て結果として、パス情報の残りの使用可能帯域幅やNIC情報の余りの使用可能帯域幅を算出した結果、図6及び図7のステップST04及びST09のいずれにおいても正数の値となるので(ステップST04のYES、ステップST09のYES)、音声用フロー1、映像用フロー2共に、最大使用要求帯域幅(BW(MAX)即ち表8のBW(3))の帯域幅BW、単位時間当たりのパケット数ppsを、フロー1、フロー2に対して割り当てて、帯域割り当て処理を終了する。
発呼側通信端末10の通信管理部101bは、TV電話アプリケーション101dに対して、TV電話用として割り当てた割当(使用可能)帯域幅を通知する(シーケンスS90)。この結果、発呼側通信端末10のTV電話アプリケーション101dにおいては、今までは、シーケンスS83において最低レートの帯域幅を用いた音声だけで通信を開始していたが、通信相手の着呼側通信端末11のTV電話アプリケーション111dから、最高レートの音声用フロー1と、最高レートの映像用フロー2とを用いて、受信可能な状態になる。TV電話アプリケーション101dに帯域割り当てを行なった結果のフロー情報を表12に示す。
表12に示すように、音声用フロー1、映像用フロー2については、最大の使用要求帯域幅を割り当てているので、状態管理パラメータの値は、共に、「規定ループ回数+1」となる「5」が設定され、割当(使用可能)帯域幅を示す「BW(付与)」には、それぞれ、120kbps,1Mbpsが、また、単位時間当たりの割当(使用可能)パケット数を示す「pps(付与)」には、それぞれ、60pps,80ppsが設定される。
TV電話アプリケーション101dに対する帯域割り当てを終了した結果として、通信端末10の通信管理部101bにおいて、以降のアプリケーションからのフローの要求に備えて、ネットワークから当該通信端末10へ向かうパス1に関するパス情報の使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))、及び、NIC100に関するNIC情報の使用可能帯域幅(BW(下り−余り))、単位時間当たり使用可能パケット数(pps(下り−余り))を更新して保存する。即ち、TV電話アプリケーション101dに実際に割り当てた帯域幅BWと単位時間当たりのパケット数ppsとを減算した結果得られたパス情報、NIC情報を、それぞれ表13、表14に示している。
ここで、表13に示すパス情報の使用可能帯域幅(BW(可用))は、実際に割り当てた割当(使用可能)帯域幅を減算した計算結果からは、880kbpsが得られるが、一方、単位時間当たりの使用可能パケット数(pps(可用))の算出結果としては、僅か20ppsしか残されていないため、使用可能帯域幅(BW(可用))についても、単位時間当たりのパケット数20ppsを受信可能な限界値である250kbpsに変更して設定している。
更新したパス情報、NIC情報は、通信相手の着呼側通信端末11の通信管理部111bに対して送信されて(シーケンスS92)、着呼側通信端末11の通信管理部111bにて、通信端末10向けのパス情報、NIC情報の更新用として利用される(シーケンスS93)。
シーケンスS90において、割当(使用可能)帯域幅の通知を受け取った発呼側通信端末10のTV電話アプリケーション101dにおいては、着呼側通信端末11のTV電話アプリケーション111dに対して、SIP/SDPの「Re−INVITE」メッセージを用いて、下り方向のフローに関して、映像用に使用開始する映像コーデックと最低限度のレートで使用中の音声コーデックの変更とを要求するコーデック変更要求を送信する(シーケンスS94)。
このコーデック変更要求を受信した着呼側通信端末11のTV電話アプリケーション111dは、TV電話アプリケーション101dのコーデック変更要求に従ってコーデックの設定・変更を行ない、要求元の発呼側通信端末10のTV電話アプリケーション101dに対して、コーデックの変更を実施済みであり、変更後の帯域を用いた通信が可能である旨を示す200 OKレスポンスを、SIP/SDPに従って返送する(シーケンスS95)。
この結果、着呼側通信端末11→発呼側通信端末10方向のTV電話用のフローが決定する。しかる後、着呼側通信端末11のTV電話アプリケーション111dは、RTPに従って、TV電話の音声用フロー1と映像用フロー2とを帯域変更後の音声用コーデックと映像用コーデックを用いて、発呼側通信端末10のTV電話アプリケーション101dに対して送信する(シーケンスS96)。
次に、通信端末11の通信管理部111bにおける帯域割り当てについて説明する。即ち、発呼側通信端末10→着呼側通信端末11に関する帯域割り当てについて説明する。なお、本実施例においては、通信端末10の場合と同様に、図8におけるループ処理を繰り返す規定ループ回数は、4回とする。
まず、通信端末11の通信管理部111bでは、通信端末10の通信管理部101bにおける処理と同様に、表9に示すフロー情報を参照して、図6のフローチャートにおいて、最低限の使用要求帯域幅(BW(MIN))即ち表9における最低使用要求帯域幅(BW(1))が示す音声用帯域幅30kbps及び映像用帯域幅100kbps、単位時間当たりの最低使用要求パケット数として音声用10pps及び映像用8ppsを割り当てる(ステップST01)。
割り当て結果として、パス情報の残りの使用可能帯域幅やNIC情報の余りの使用可能帯域幅を算出した結果を、表15のパス情報、表16のNIC情報に示す。
表15、表16に示すように、図6のステップST04において、算出結果が正数の値となるので(ステップST04のYES)、次に、図7のフローチャートにおいて、最高のクオリティが得られる最大の使用要求帯域幅(BW(MAX))即ち表9における最大使用要求帯域幅(BW(3))が示す音声用帯域幅120kbps及び映像用帯域幅1Mbps、単位時間当たりの最低使用要求パケット数として音声用60pps及び映像用80ppsを割り当てる(ステップST06)。
最大の使用要求帯域幅(BW(MAX))の割り当て結果として、パス情報の残りの使用可能帯域幅やNIC情報の余りの使用可能帯域幅を算出した結果、パス情報のパス2についてはパス1よりも狭い使用可能帯域幅であるので、図7のステップST09において、パス情報の残りの使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))のいずれも正数の値とならなく(ステップST09のNO)、最大の使用要求帯域幅(BW(MAX))を割り当てることができないことが判明する。
そこで、図8に示す帯域割り当て方法に沿って、パス2に関する割当(使用可能)帯域幅を決定することになる。以降の説明に当たって参考のため、図5に、本実施例において図8の帯域割り当て方法によって割り当てられていく各フロー(フロー3及びフロー4)の帯域割り当て状況を模式的に示している。
まず、表9に示すフロー情報においては、現在、音声用フロー3,映像用フロー4のいずれのフローについても、状態管理パラメータの値は初期値の「0」であるので、より優先度の高い音声用フロー3に注目して(ステップST12)、最大使用要求帯域幅(BW(MAX)即ち表9のBW(3)の使用要求帯域幅120kbps及び単位時間当たりの使用要求パケット数60pps)となるために必要とする残りの使用要求帯域幅90kbps及び単位時間当たりの使用要求パケット数50ppsと、表15に示すパス情報のパス2の使用可能帯域幅(BW(可用))の半分435kbps及び単位時間当たり使用可能パケット数(pps(可用))の半分41ppsとを比較する(ステップST13)。
その結果、最大使用要求帯域幅(BW(MAX))の使用要求帯域幅120kbpsになるために必要とする残りの帯域幅90kbpsは、パス2の使用可能帯域幅(BW(可用))の半分435kbps以下であるが、最大使用要求帯域幅(BW(MAX))の単位時間当たりの使用要求パケット数60ppsになるための残り50ppsは、パス2の単位時間当たり使用可能パケット数(pps(可用))の半分41pps以上になっていることが分かる。
従って、割当(使用可能)帯域幅BWとしては、フロー3が要求する最大使用要求帯域幅(BW(MAX))即ち使用要求帯域幅BW(3)ではなく、表15に示すパス情報における使用可能帯域幅の半分の435kbps,41ppsを追加して割り当てる(ステップST18)。しかし、追加して割り当てた帯域幅435kbpsと先に割り当て済みの最小使用要求帯域幅30kbpsとの合計は、フロー3の最大使用要求帯域幅(BW(MAX)即ちBW(3))の120kbpsよりも大きいので、帯域幅については、最大使用要求帯域幅(BW(MAX))即ち使用要求帯域幅BW(3)の120kbpsを割り当てる。
即ち、フロー3に関しては、割当(使用可能)帯域幅として、最低限使用要求帯域幅(BW(MIN))として先に割り当て済みの割当(使用可能)帯域幅30kbpsを置換して、最高のクオリティが得られる最大使用要求帯域幅(BW(MAX))即ち使用要求帯域幅BW(3)の120kbpsを割り当て、単位時間当たり割当(使用可能)パケット数としては、最低限使用要求帯域幅(BW(MIN))として先に割り当て済みの単位時間当たり割当(使用可能)パケット数10ppsに、更に41ppsを加えた合計51ppsが割り当てられる(図5におけるフロー3のループ回数1の状態)。
次に、フロー3の次の優先度であり、状態管理パラメータがまだ「0」の状態にあるフロー4に関する帯域割り当て処理に移行する。
映像用フロー4の最大使用要求帯域幅(BW(MAX)即ち表9のBW(3)の使用要求帯域幅1Mbps及び単位時間当たりの使用要求パケット数80pps)となるために必要とする残りの使用要求帯域幅900kbps及び単位時間当たりの使用要求パケット数72ppsのいずれも、フロー3の割当(使用可能)帯域幅を割り当てた後のパス2の使用可能帯域幅(BW(可用))780kbpsの半分及び単位時間当たり使用可能パケット数(pps(可用))41ppsの半分よりも小さい値ではないので(ステップST13のNO)、パス情報における使用可能帯域幅(BW(可用))の半分390kbps及び単位時間当たりの使用可能パケット数(pps(可用))の半分21ppsを追加して割り当てる(ステップST18)。
その結果、注目するフローに関して追加して割り当てた半帯域幅のリソースが、フローの方向が下り回線方向であることを考慮して、パス情報の使用可能帯域幅(BW(可用))から減算されて、今後利用可能なパス情報の使用可能帯域幅(BW(可用))として更新され、更に、最低限使用可能帯域幅(BW(MIN))により先に更新済みのNIC情報の下り方向の使用可能帯域幅(BW(下り−余り))から減算されて、今後利用可能なNIC情報の使用可能帯域幅(BW(下り−余り))として更新される(ステップST19)。
同様に、注目するフローに関して追加して割り当てた単位時間当たりの使用可能パケット数のリソースが、フローの方向が下り回線方向であることを考慮して、パス情報の単位時間当たりの使用可能パケット数(pps(可用))から減算されて、今後利用可能なパス情報の単位時間当たりの使用可能パケット数(pps(可用))として更新される。更に、最低限使用要求帯域幅(BW(MIN))により先に更新済みのNIC情報の下り方向の単位時間当たりの使用可能パケット数(pps(下り−余り))から減算されて、今後利用可能なNIC情報の単位時間当たりの使用可能パケット数(pps(下り−余り))として更新される(ステップST20)。なお、この更新結果のパス情報,NIC情報の表示は省略する。
この結果、フロー4に関しては、最低限使用要求帯域幅(BW(MIN))として先に割り当て済みの割当(使用可能)帯域幅100kbps、単位時間当たり割当(使用可能)パケット数8ppsに、それぞれ更に390kbps,21ppsを加えた合計490kbps,29ppsの帯域幅が、割当(使用可能)帯域幅、単位時間当たり割当(使用可能)パケット数として割り当てられる(図5におけるフロー4のループ回数1の状態)。
次に、状態管理パラメータの値が「1」で、優先度が高いフロー3の帯域割り当てに戻って、フロー3の単位時間当たり割当(使用可能)パケット数は、まだ、最大使用要求帯域幅(BW(MAX))即ち使用要求帯域幅BW(3)の60ppsに至っていないので、2回目のループ処理(追加帯域幅割り当て処理)に移行する。
2回目のループ処理結果として、フロー3の単位時間当たり割当(使用可能)パケット数については、最大使用要求帯域幅(BW(MAX))即ち使用要求帯域幅BW(3)の60ppsになるまでの残りの割り当てパケット数9ppsが、1回目の割り当て処理後のパス2の単位時間当たりの使用可能パケット数(pps(可用))の半分10pps以下になっているので、フロー3が要求する最大使用要求帯域幅(BW(MAX))即ち使用要求帯域幅BW(3)の単位時間当たり使用要求パケット数60ppsを割り当てる(ステップST14)。
この結果、フロー3の割当(使用可能)帯域幅は、フロー3が要求する最大使用要求帯域幅(BW(MAX))即ち使用要求帯域幅BW(3)の120kbps,60ppsが割り当てられ、状態管理パラメータの値も、「規定ループ回数+1」の「5」に設定されて、フロー3に関する帯域割り当て処理を終了する(図5におけるフロー3のループ回数2の状態)。
その結果、注目するフローに関して割り当てる割当(使用可能)帯域幅のリソースのうち、最低限使用要求帯域幅(BW(MIN))として先に割り当て済みの割当(使用可能)帯域幅を差し引いた残りの帯域幅が、フローの方向が下り回線方向であることを考慮して、パス情報の使用可能帯域幅(BW(可用))から減算されて、今後利用可能なパス情報の使用可能帯域幅(BW(可用))として更新される。更に、最低限使用要求帯域幅(BW(MIN))により先に更新済みのNIC情報の下り方向の使用可能帯域幅(BW(下り−余り))から減算されて、今後利用可能なNIC情報の使用可能帯域幅(BW(下り−余り))として更新される(ステップST15)。
同様に、注目するフローに関して割り当てる単位時間当たりの割当(使用可能)パケット数のリソースのうち、最低限使用要求帯域幅(BW(MIN))として先に割り当て済みの単位時間当たりの割当(使用可能)パケット数を差し引いた残りのパケット数が、フローの方向が下り回線方向であることを考慮して、パス情報の単位時間当たりの使用可能パケット数(pps(可用))から減算されて、今後利用可能なパス情報の単位時間当たりの使用可能パケット数(pps(可用))として更新される。更に、最低限使用要求帯域幅(BW(MIN))により先に更新済みのNIC情報の下り方向の単位時間当たりの使用可能パケット数(pps(下り−余り))から減算されて、今後利用可能なNIC情報の単位時間当たりの使用可能パケット数(pps(下り−余り))として更新される(ステップST16)。
次に、ステップST17に移行して、フローの要求する最大使用要求帯域幅(BW(MAX))が割り振られた場合には、その旨を示すために「規定ループ回数+1」をフローの状態管理パラメータとしてフロー情報に保持する(ステップST17)。
以降、フロー4に関して、図8の帯域割り当て方法に示すループ処理を規定ループ回数4回まで繰り返すことにより、割当(使用可能)帯域幅、単位時間当たり割当(使用可能)パケット数として、832kbps,39ppsが割り当てられる(図5におけるフロー4のループ回数4の状態)。ここで、TV電話アプリケーション111dから要求されたフロー4に関する使用要求帯域幅のうち、算出された割り当て可能な割当(使用可能)帯域幅832kbps、単位時間当たり割当(使用可能)パケット数39ppsを超えない条件の下で最も高いクオリティが得られる使用要求帯域幅BW(2)の300kbps,24ppsが、実際にフロー4に割り当てるべき割当(使用可能)帯域幅として決定される。
以上の帯域割り当て方法により各フローに対して割り当てられた割当(使用可能)帯域幅BW、単位時間当たり割当(使用可能)パケット数ppsは、優先する音声ストリームのフローについては、それぞれ、最高のクオリティが得られる最大使用要求帯域幅(BW(MAX))即ち使用要求帯域幅(BW(3))であり、一方、映像ストリームのフローについては、それぞれ、最低限の使用要求帯域幅(BW(MIN))即ち使用要求帯域幅(BW(1))と最大使用要求帯域幅(BW(MAX))即ち使用要求帯域幅(BW(4))との間の帯域幅である。
ここで、フロー情報として要求している使用要求帯域幅として、割当(使用可能)帯域幅に該当するものは存在していない場合は、ネットワーク状況として割り当て可能な帯域幅以下で最良の品質が得られる使用要求帯域幅とし、使用要求帯域幅(BW(2))となる。即ち、この使用要求帯域幅(BW(2))よりも1つ上の使用要求帯域幅(BW(3))を割り当てることができない限り、この使用要求帯域幅(BW(2))以上の帯域幅を割り当てても無駄になるだけである。
従って、フロー4に関しては、前述したように、多少の余裕を与えるようにしても良いが、TV電話アプリケーション101dから要求されている使用要求帯域幅(BW(2))に示す1Mbps、85ppsを割り振ることとし、フロー2に関する割当(使用可能)帯域幅として算出された使用要求帯域幅(BW(2))を超える帯域幅については、割り当てを取り消して開放し、今後利用するフローに対して使用可能な使用可能帯域幅(BW(可用))、単位時間当たり使用可能パケット数(pps(可用))、また、NIC100として使用可能な使用可能帯域幅(BW(下り−余り))、単位時間当たり使用可能パケット数(pps(下り−余り))に返還する(ステップST23)。しかる後、帯域割り当て処理を終了する(ステップST24)。
帯域の割り当て処理が終了すると、着呼側通信端末11の通信管理部111bは、TV電話アプリケーション111dに対して、TV電話用として割り当てた割当(使用可能)帯域幅を通知する(シーケンスS91)。この結果、着呼側通信端末11のTV電話アプリケーション111dにおいては、今までは、シーケンスS83において最低レートの帯域幅を用いた音声だけで通信を開始していたが、通信相手の発呼側通信端末10のTV電話アプリケーション101dから、使用要求帯域幅(BW(2))により割り当てられた割当(使用可能)帯域幅の音声用フロー3と映像用フロー4とを、受信可能な状態になる。
以上により、音声用フロー1については、最大使用要求帯域幅(BW(MAX))即ち使用要求帯域幅(BW(3))の帯域幅120kbps,単位時間当たりのパケット数60ppsを、映像用フロー2については、使用要求帯域幅(BW(2))の帯域幅300kbps,単位時間当たりのパケット数24ppsを割り当てることになる。
このように、音声用フロー3と映像用フロー4とのコーデックを両者で異なるクオリティで制御することが可能な場合には、前述したように、音声用フロー3については、最高のクオリティが得られる使用要求帯域幅(BW(MAX)即ち表9のBW(3))を割り当て、映像用フロー4については、最高のクオリティとはならないが、使用可能とされる範囲で最高のクオリティとなる使用要求帯域幅(BW2))を割り当てることができる。
一方、音声用フロー3と映像用フロー4との両者のコーデックを異なるクオリティで制御することができない場合には、両者が同時に使用可能となるクオリティである使用要求帯域幅(BW2))を割り当てることになり、音声用フロー3として先に割り当てていた割当(使用可能)帯域幅(120kbps,60pps)を、使用要求帯域幅BW(2)の90kbps,30ppsに変更して割り当て直す。音声用フロー3と映像用フロー4とで同一のクオリティのコーデックを用いて制御する場合において、TV電話アプリケーション111dに対して帯域割り当てを行なった結果のフロー情報を表17に示す。
以上のように、TV電話アプリケーション111dに対する帯域割り当てを終了した結果として、通信端末11の通信管理部111bにおいて、以降のアプリケーションからのフローの要求に備えて、ネットワークから当該通信端末11へ向かうパス2に関するパス情報の使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))、及び、NIC110に関するNIC情報の使用可能帯域幅(BW(下り−余り))、単位時間当たり使用可能パケット数(pps(下り−余り))を更新して保存する。
即ち、音声用フロー3と映像用フロー4とで同一のクオリティが得られるように帯域幅を割り当てた場合において、TV電話アプリケーション111dに実際に割り当てた帯域幅BWと単位時間当たりのパケット数ppsとを減算した結果得られたパス情報、NIC情報を、それぞれ表18、表19に示している。
更新したパス情報、NIC情報は、通信相手の発呼側通信端末10の通信管理部101bに対して送信されて(シーケンスS93)、発呼側通信端末10の通信管理部101bにて、通信端末11向けのパス情報、NIC情報の更新用として利用される。
シーケンスS91において、割当(使用可能)帯域幅の通知を受け取った着呼側通信端末11のTV電話アプリケーション111dにおいては、発呼側通信端末10のTV電話アプリケーション101dに対して、SIP/SDPの「Re−INVITE」メッセージを用いて、下り方向のフローに関して、映像用に使用開始する映像コーデックと最低限度のレートで使用中の音声コーデックの変更とを要求するコーデック変更要求を送信する(シーケンスS97)。
このコーデック変更要求を受信した発呼側通信端末10のTV電話アプリケーション101dは、TV電話アプリケーション111dのコーデック変更要求に従ってコーデックの設定・変更を行ない、要求元の着呼側通信端末11のTV電話アプリケーション111dに対して、コーデックの変更を実施済みであり、変更後の帯域を用いた通信が可能である旨を示す200 OKレスポンスを、SIP/SDPに従って返送する(シーケンスS98)。
この結果、発呼側通信端末10→着呼側通信端末11方向のTV電話用のフローが決定する。しかる後、発呼側通信端末10のTV電話アプリケーション101dは、RTPに従って、TV電話の音声用フロー3と映像用フロー4とを帯域変更後の音声用コーデックと映像用コーデックを用いて、着呼側通信端末11のTV電話アプリケーション111dに対して送信する(シーケンスS99)。
なお、シーケンスS92,S93において、通信端末10,11の通信管理部101b、111b間でパス情報、NIC情報を送受信し合うことにより、それぞれで、パス1及びパス2、NIC100及びNIC110がマージされ、パス情報(パス管理表)、NIC情報(NIC管理表)が更新される。これにより、以降の通信においては、通信相手の通信端末10,11における通信管理部101b、111bそれぞれが、互いのパス情報、NIC情報を認識することができる状態になっている。マージされた更新後のパス情報(パス管理表)、NIC情報(NIC管理表)を、それぞれ、表20、表21に示す。
而して、現在のネットワーク状況に応じた最適な帯域を用いた通信が可能となるように、使用可能な帯域幅が割り当てられ、割り当てられた割当(通信可能)帯域幅にマッチしたコーデックを用いて、通信端末10,11間のTV電話の通信が可能となる。
(第3の実施例)
本実施例においては、通信端末間でインターネットを介してTV電話(テレビ電話)を行なっている最中において、一方の通信端末が動画サーバから動画を受信する動画ビューアアプリケーションを起動した場合を例に取って、図9に示すシステム構成図を用いて説明する。ここに、図9は、本発明に係る帯域割り当て方法の第3の実施例を説明するためのシステム構成図であり、インターネット30を経由して互いにTV電話を行なう通信端末10,11と、インターネット30を経由して動画ストリーミングデータを配信する動画サーバ40が存在する場合を模式的に示している。
図9のシステム構成図において、通信端末10,11のそれぞれには、図3のシステム構成図と全く同様の機能ブロックが備えられているものであり、その詳細な説明は省略する。但し、以降の本実施例の説明に用いるアプリケーション例として、通信端末11との間でTV電話中に動画サーバ40と通信を行なう通信端末10には、動画サーバ40から配信される動画ストリーミングを受信するための動画ビューアアプリケーション101cとTV電話用のTV電話アプリケーション101dとの双方を図示している。
以下、図9に示すシステム構成図における通信端末10,11のTV電話アプリケーション101d,111d間の通話中に、動画ビューアアプリケーション101cを起動して動画サーバ40から配信される動画ストリーミングデータを受信する場合における帯域割り当て方法について、図10に示すシーケンスチャートを用いて説明する。
ここに、図10は、本発明に係る帯域割り当て方法の第3の実施例を説明するためのシーケンスチャートであり、通信端末10,11間でTV電話中に、ネットワークから通信端末10に向かう下り方向のフローにおける割当(使用可能)帯域幅を選択する場合を例に取って、図9に示す通信端末10,11間及び通信端末10−動画サーバ40間で送受信されるデータのシーケンスを示している。また、通信端末10の内部における複数のアプリケーション(TV電話アプリケーション101d及び動画ビューアアプリケーション101c)と通信管理部101bとの間のデータの送受信についても示している。
なお、本実施例における帯域割り当て方法の説明に当たっては、説明を簡単にするために、TV電話に関しては、通信端末10の下り方向のみのフローを考慮し、図10には、下り方向のフローに関連するシーケンスのみを示し、更に、下りフローの通信速度即ち使用可能帯域幅BWのみを説明するものとし、単位時間当たりのパケット数ppsに関しては説明を省略している。
通信端末10−通信端末11との間のTV電話において使用可能な帯域幅を示す使用可能帯域幅8Mbpsがネットワーク情報として得られている状況下において、第2の実施例の場合と同様に、通信端末10の下りフローに対して、音声用フロー用として120kbps、映像用フロー用として1Mbpsの最大使用要求帯域幅(BW(MAX))が割当(使用可能)帯域幅として割り振りが行なわれた場合のフロー情報を表22に示す。
この帯域割り当て結果として、作成されたパス情報及びNIC情報に関して、通信端末10の下り方向に関連する部分のみを、表23及び表24に示す。表23のパス情報におけるパス2は、通信端末10における上り方向のパスであり、また、表24のNIC情報におけるNIC100の上り、NIC110の下りも、通信端末10における上り方向の情報であり、通信端末10に対する下り方向の帯域割り当てを説明する本実施例においては無関係であり、それぞれの表には示していない。
このような帯域割り当て結果により選択されたコーデックを用いて、通信端末10のTV電話アプリケーション101dは、通信端末11のTV電話アプリケーション111dとの間でTV電話を行ない、TV電話アプリケーション111dからのTV電話用のデータを受信している。
このTV電話の最中に(シーケンスS101)、通信端末10が動画サーバ40から動画ストリーミングデータの配信を要求すると、通信端末10は、動画サーバ40とのネゴシエーション(RTSP−DESCRIBEメッセージとSIP/SDP 200 OKレスポンスの交換)が正常に終了すれば(シーケンスS102,S103)、新たなフロー5(音声用下りフロー),フロー6(映像用下りフロー)、新たなパス3(動画サーバ40からの下りパス)・NIC400(動画サーバ40のNIC)とが追加されるようになる。
この結果、通信端末10の通信管理部101bは、動画ビューアアプリケーション101cからフロー情報を受け取り(シーケンスS104)、動画サーバ40の通信管理部401bとの間で、NIC情報、パス情報の交換を行なうと共に(シーケンスS105,S106)、例えば、動画サーバ40との間でEND−ENDで通信可能な帯域幅をネットワーク情報として取得することにより(シーケンスS107,S108)、通信管理部101bには、新たな通信の管理対象として、動画サーバ40との新たなフロー5,6、パス3、NIC400が追加される。この結果として、既に帯域幅を割り当て済みのフロー1,2も含めて、帯域の割り当てをし直すことになる。
そのため、フロー情報(フロー管理表)、パス情報・NIC情報(パス管理表・NIC管理表)は、フロー、パス、NICの各帯域の割り当てについて初期状態に一旦戻されて、割り当てが済んでいない状態に書き換えられる。書き換え後のフロー情報、パス情報、NIC情報を、それぞれ、表25、表26、表27に示す。なお、表25のフロー情報のBW(付与)欄には、フロー1,2にTV電話用として既に割り当てられていた割当(使用可能)帯域幅が残されて記録されているが、状態管理パラメータの値は、いずれも「0」の初期値に復帰して、新たに帯域を割り当て直す状態に設定されている。
このような状況において、各フローの帯域割り当て順序を示す優先度としては、表25のフロー情報に示すように、TV電話の音声用フロー1→動画配信の映像用フロー6→TV電話の映像用フロー2→動画配信の音声用フロー5の順番と設定されており、更に、TV電話用のフロー1,2についてはパス1を利用し、動画ストリーミング配信用のフロー5,6については、パス3を利用するものと仮定する。
ここで、図6〜図8に示した帯域割り当て方法を用いて、各フローに対して使用可能な通信帯域幅を割当(使用可能)帯域幅として割り振ることになるが、本実施例においては、通信端末10の通信相手が、通信端末11と動画サーバ40と複数になったため、各フローの帯域割り当て用として参照するパス情報の使用可能帯域幅(BW(可用))・NIC情報の使用可能帯域幅(BW(下り−余り))について、新たに、最小使用可能帯域幅(BW(余り))という概念を導入する。
この最小使用可能帯域幅(BW(余り))とは、注目しているパスについて、パス情報の使用可能帯域幅(BW(可用))、当該通信端末10自身におけるNIC情報の使用可能帯域幅(BW(下り−余り))、通信相手の通信端末11又は動画サーバ40に関するNIC情報の使用可能帯域幅(BW((上り−余り))のうち、いずれか最も小さい値とするものである。本実施例の場合、この時点では、表26のパス情報の最小使用可能帯域幅(BW(余り))に示すように、パス情報の使用可能帯域幅(BW(可用))8Mbpsが最小のものとして設定される。
図8に示す帯域幅の追加割り当て処理に対して、前述のような最小使用可能帯域幅(BW(余り))の概念を適用した場合の帯域割り当て方法について、図11に示す。即ち、図11は、本発明に係る帯域割り当て方法の図7に続く第3の実施例における処理を説明するためのフローチャートであり、最大使用要求帯域幅(BW(MAX))を割り当てられない場合の追加帯域幅割り当て処理を示す図8のフローチャートに対して、新たに最小使用可能帯域幅(BW(余り))を求めるためのステップST12Aの処理を追加したものである。このステップST12A以外の処理については、図8と全く同様である。次に、図6,7及び図11の帯域割り当て方法を用いて、各フローに対して帯域を割り当てる割り当て方法について説明する。
まず、実施例2の場合と同様に、図6において、最低限の最低使用要求帯域幅(BW(MIN)即ち表25のBW(1))の各フローの帯域幅(パス1用として130kbps、パス3用として330kbps)を割り当てることが可能か調査する。この結果、最低使用要求帯域幅(BW(MIN))の割り当て処理は、エラーとはならないので(ステップST04のYES)、パス1用として130kbps、パス3用として330kbpsを割り当てる。
割り当てた結果、パス1の残りの使用可能帯域幅(BW(可用))は、パス1として割り当てた帯域幅分減少して、7.87Mbpsとなり、パス3の残りの使用可能帯域幅(BW(可用))は、9.67Mbpsとなる。一方、TV電話用のパス1と動画配信用のパス3とを共用するNIC100に関する余りの使用可能帯域幅(BW(下り−余り))は、パス1とパス3とに割り当てた合計帯域分減少して、10.54Mbpsとなり、パス1用のみに関与するNIC110の余りの使用可能帯域幅(BW(上り−余り))は、10.87Mbpsとなる。また、パス3用のみに関与するNIC400の余りの使用可能帯域幅(BW(上り−余り))は、199.67Mbpsとなる。
次に、図7の処理に移行して、最高のクオリティが得られる最大使用要求帯域幅(BW(MAX)即ち表25のBW(3))の各フローの帯域幅を割り振ることが可能か否かを調査する。
その結果、各フローの最大使用要求帯域幅(BW(MAX)即ち表25のBW(3))を割り当てることができないことが判明するので(ステップST09のNO)、図11に移行して、まず、各フローのうち、状態管理パラメータの値が低く、かつ、最も優先順位の高いフロー1に注目する(ステップST12)。なお、以降の説明に当たって参考のため、図12に、本実施例において図11の帯域割り当て方法によって割り当てられていく各フローの帯域割り当て状況を模式的に示している。また、図11の帯域割り当てにおけるループ処理の最大回数を示す「規定ループ回数」は「3回」と仮定する。
ステップST12の処理に続いて、図11において新たに追加した処理として、前述のような最小使用可能帯域幅(BW(余り))を求める。ここで、本実施例においては、表26に示すパス情報の使用可能帯域幅(BW(可用))が8Mbps、表27に示す当該通信端末10自身におけるNIC100の情報及び通信相手の通信端末11におけるNIC110の情報の使用可能帯域幅(BW(下り−余り))が共に11Mbpsであるので、最小使用可能帯域幅(BW(余り))は8Mbpsである。
しかし、図6において、既にパス1に関する各フロー1,2に対して最低使用要求帯域幅(BW(MIN))130kbpsを割り当てているので、最小使用可能帯域幅(BW(余り))は8Mbpsから130kbpsを減算した7.87Mbpsとなる(ステップST12A)。
次に、最小使用可能帯域幅(BW(余り))の半分3.935Mbpsと最大使用要求帯域幅(BW(MAX)即ち表25の(BW(3))の使用要求帯域幅120kbpsとなるために必要とする残りの帯域幅90kbpsとを比較する(ステップST13)。比較結果、後者の値が前者の最小使用可能帯域幅(BW(余り))の半分よりも小さいと判定されて(ステップST13のYES)、フロー1に関しては、最大使用要求帯域幅(BW(MAX))を割り当てる(ステップST14)。
即ち、最低限使用要求帯域幅(BW(MIN))として先に割り当て済みの割当(使用可能)帯域幅30kbpsを置換して、最高のクオリティが得られる最大使用要求帯域幅(BW(MAX)即ちBW(3))の120kbpsを割当(使用可能)帯域幅として割り当てる。この結果、パス1の残りの使用可能帯域幅(BW(可用))は、7.78Mbpsとなり、NIC100の余りの使用可能帯域幅(BW(下り−余り))、及び、NIC110の余りの使用可能帯域幅BW(上り−余り))は、それぞれ、10.45Mbps及び10.78Mbpsとなる(図12におけるフロー1のループ回数1の状態)。ここで、フロー1に関しては、最大使用要求帯域幅(BW(MAX))が割り当てられたので、フロー情報の「状態管理パラメータ」には、「規定ループ回数+1」の「4」が設定され、以降、フロー1に関するループ処理は行なわれない。
次に、状態管理パラメータの値が低く、かつ、次に優先順位が高い動画配信の映像用フロー6に対して帯域を割り当てる。パス3に関する最低使用要求帯域幅(BW(MIN))を割り当てた後の残りの使用可能帯域幅(BW(可用))は、9.67Mbpsであり、NIC100の余りの使用可能帯域幅(BW(上り−余り))は、10.45Mbps、NIC110の余りの使用可能帯域幅(BW(上り−余り))は、199.67Mbpsであるので、最小使用可能帯域幅(BW(余り))は9.67Mbpsとなる(ステップST12A)。
この場合、フロー6に関して、最大使用要求帯域幅(BW(MAX)即ち表25の(BW(3))の使用要求帯域幅10Mbpsとなるために必要とする残りの帯域幅9.7Mbpsが、最小使用可能帯域幅(BW(余り))の半分よりも小さくならないので(ステップST13のNO)、最小使用可能帯域幅(BW(余り))の半分4.84Mbpsが追加して割り当てられる(ステップST18)。
追加して割り当てられた結果、フロー6の割当(使用可能)帯域幅は、最低使用要求帯域幅(BW(MIN))として既に割り当て済みの300kbpsと合計して、5.14Mbpsとなり、パス3に関する残りの使用可能帯域幅(BW(可用))は、追加割当帯域幅分減算して4.83Mbpsとなり、NIC100の余りの使用可能帯域幅(BW(下り−余り))、及び、NIC400の余りの使用可能帯域幅BW(上り−余り))は、それぞれ、5.61Mbps及び194.83Mbpsとなる(図12におけるフロー6のループ回数1の状態)。フロー6に関して、1回目の帯域割り当て処理が終了したので、フロー情報の状態管理パラメータに「+1」して、「1」を設定する(ステップST21)。
次に、状態管理パラメータの値が低く、かつ、優先順位が次に高いTV電話の映像用フロー2に対して帯域を割り当てる。パス1に関するフロー1の最大使用要求帯域幅(BW(MAX))を割り当てた後の残りの使用可能帯域幅(BW(可用))は、7.78Mbpsであり、フロー6に帯域を割り当てた後のNIC100の余りの使用可能帯域幅(BW(上り−余り))は、5.61Mbps、フロー1に帯域を割り当てた後のNIC110の余りの使用可能帯域幅(BW(上り−余り))は、10.78Mbpsであるので、最小使用可能帯域幅(BW(余り))は5.61Mbpsとなる(ステップST12A)。
この場合、フロー2に関して、最大使用要求帯域幅(BW(MAX)即ち表25の(BW(3))の使用要求帯域幅1Mbpsとなるために必要とする残りの帯域幅0.9Mbpsが、最小使用可能帯域幅(BW(余り))の半分よりも小さい値であるので(ステップST13のYES)、フロー2に関しては、最大使用要求帯域幅(BW(MAX))を割り当てる(ステップST14)。
即ち、最低限使用要求帯域幅(BW(MIN))として先に割り当て済みの割当(使用可能)帯域幅100kbpsを置換して、最高のクオリティが得られる最大使用要求帯域幅(BW(MAX)即ちBW(3))の1Mbpsを割当(使用可能)帯域幅として割り当てる。
この結果、新たに追加された帯域幅分0.9Mbpsを減算して、パス1の残りの使用可能帯域幅(BW(可用))は、6.88Mbpsとなり、NIC100の余りの使用可能帯域幅(BW(下り−余り))、及び、NIC110の余りの使用可能帯域幅BW(上り−余り))は、それぞれ、4.71Mbps及び9.88Mbpsとなる(図12におけるフロー2のループ回数1の状態)。ここで、フロー2に関しても、最大使用要求帯域幅(BW(MAX))が割り当てられたので、フロー情報の「状態管理パラメータ」には、「規定ループ回数+1」の「4」が設定され、以降、フロー2に関するループ処理は行なわれない。
次に、状態管理パラメータの値が低く、かつ、次に優先順位が高い動画配信の音声用フロー5に対して帯域を割り当てる。映像用フロー6に関する割当(使用可能)帯域幅を割り当てた後の残りの使用可能帯域幅(BW(可用))は、4.83Mbpsであり、フロー2に帯域を割り当てた後のNIC100の余りの使用可能帯域幅(BW(上り−余り))は、4.71Mbps、フロー6に帯域を割り当てた後のNIC400の余りの使用可能帯域幅(BW(上り−余り))は、194.83Mbpsであるので、最小使用可能帯域幅(BW(余り))は4.71Mbpsとなる(ステップST12A)。
この場合、フロー5に関して、最大使用要求帯域幅(BW(MAX)即ち表25の(BW(3))の使用要求帯域幅200kbpsとなるために必要とする残りの帯域幅170kbpsが、最小使用可能帯域幅(BW(余り))の半分よりも小さい値であるので(ステップST13のYES)、フロー5に関しては、最大使用要求帯域幅(BW(MAX))を割り当てる(ステップST14)。
即ち、最低限使用要求帯域幅(BW(MIN))として先に割り当て済みの割当(使用可能)帯域幅30kbpsを置換して、最高のクオリティが得られる最大使用要求帯域幅(BW(MAX)即ちBW(3))の200kbpsを割当(使用可能)帯域幅として割り当てる。
この結果、新たに追加された帯域幅分0.17Mbpsを減算して、パス1の残りの使用可能帯域幅(BW(可用))は、4.66Mbpsとなり、NIC100の余りの使用可能帯域幅(BW(下り−余り))、及び、NIC400の余りの使用可能帯域幅BW(上り−余り))は、それぞれ、4.54Mbps及び194.66Mbpsとなる(図12におけるフロー5のループ回数1の状態)。ここで、フロー5に関しても、最大使用要求帯域幅(BW(MAX))が割り当てられたので、フロー情報の「状態管理パラメータ」には、「規定ループ回数+1」の「4」が設定され、以降、フロー5に関するループ処理は行なわれない。
以上により、帯域割り当てに関する第1回目のループ処理が終了するが、第2回目のループ処理に移行すべきフローは、状態管理パラメータの設定値から、動画配信の映像用フロー6のみと判定される。即ち、フロー6以外のフローについては、最大使用要求帯域幅(BW(MAX))が割り当てられているので、更なる帯域割り当て用ループ処理は不要である。
次いで、動画配信の映像用フロー6に対して追加の帯域を割り当てる2回目の処理に移行する。パス3に関するフロー5に帯域を割り当てた後の残りの使用可能帯域幅(BW(可用))は、4.66Mbpsであり、NIC100の余りの使用可能帯域幅(BW(上り−余り))は、4.54Mbps、NIC400の余りの使用可能帯域幅(BW(上り−余り))は、194.66Mbpsであるので、最小使用可能帯域幅(BW(余り))は4.54Mbpsとなる(ステップST12A)。
この場合、フロー6に関して、最大使用要求帯域幅(BW(MAX)即ち表25の(BW(3))の使用要求帯域幅10Mbpsとなるために必要とする残りの帯域幅4.86Mbpsが、最小使用可能帯域幅(BW(余り))の半分よりも小さくならないので(ステップST13のNO)、最小使用可能帯域幅(BW(余り))の半分2.27Mbpsが追加して割り当てられる(ステップST18)。
追加して割り当てられた結果、フロー6の割当(使用可能)帯域幅は、第1回目のループ処理結果として既に割り当て済みの5.14Mbpsと合計して、7.41Mbpsとなり、パス3に関する残りの使用可能帯域幅(BW(可用))は、追加割当帯域幅分減算して2.39Mbpsとなり、NIC100の余りの使用可能帯域幅(BW(下り−余り))、及び、NIC400の余りの使用可能帯域幅BW(上り−余り))は、それぞれ、2.27Mbps及び192.39Mbpsとなる(図12におけるフロー6のループ回数2の状態)。フロー6に関して、2回目の帯域割り当て処理が終了したので、フロー情報の状態管理パラメータに「+1」して、「2」を設定する(ステップST21)。
動画配信の映像用フロー6に対する第3回目の帯域割り当て処理に移行すると、最小使用可能帯域幅(BW(余り))は2.27Mbpsであり(ステップST12A)、最大使用要求帯域幅(BW(MAX)即ち表25の(BW(3))の使用要求帯域幅10Mbpsとなるために必要とする残りの帯域幅2.59Mbpsが、最小使用可能帯域幅(BW(余り))の半分よりも小さくならないので(ステップST13のNO)、最小使用可能帯域幅(BW(余り))の半分1.14Mbpsが追加して割り当てられる(ステップST18)。
追加して割り当てられた結果、フロー6の割当(使用可能)帯域幅は、第2回目のループ処理結果として既に割り当て済みの7.41Mbpsと合計して、8.55Mbpsとなり、パス3に関する残りの使用可能帯域幅(BW(可用))は、追加割当帯域幅分減算して1.25Mbpsとなり、NIC100の余りの使用可能帯域幅(BW(下り−余り))、及び、NIC400の余りの使用可能帯域幅BW(上り−余り))は、それぞれ、1.13Mbps及び191.25Mbpsとなる(図12におけるフロー6のループ回数3の状態)。
ここで、フロー6について、3回目の帯域割り当て処理が終了したので、フロー情報の状態管理パラメータに「+1」して、「3」となる(ステップST21)。従って、フロー6に関しても、ループ処理(追加帯域幅割り当て処理)から脱して、使用要求帯域幅の中から、フロー6に対して割り当て可能な割当(使用可能)帯域幅8.55Mbps以下の条件を満たす使用要求帯域幅(BW(2))4Mbpsが選択され、最終的な割当(使用可能)帯域幅BWとして割り当てられる(ステップST22)。
従って、割り当て可能な割当(使用可能)帯域幅8.55Mbpsから最終的に割り当てた割当(使用可能)帯域幅4Mbpsを差し引いた残りの帯域幅4.55Mbpsは、パス情報及びNIC情報の残り及び余りの帯域幅として返還される。その結果、パス3の残りの使用可能帯域幅(BW(可用))、NIC100の余りの使用可能帯域幅(BW(下り−余り))、及び、NIC400の余りの使用可能帯域幅BW(上り−余り))は、それぞれ、5.8Mbps,5.68Mbps、及び、195.8Mbpsとなる(図12における帯域返還後の状態)。
最終的な帯域割り当て処理を終了した後、各フローに関するフロー情報、パス情報、及び、NIC情報を表28、表29、及び、表30に示す。
なお、通信端末10の下り方向の帯域割り当てに関する処理は、全て、通信管理部101bで行なわれ、その結果得られる各フロー毎の割当(使用可能)帯域幅は、各アプリケ−ション(TV電話アプリケーション101d、動画ビューアアプリケーション101c)にそれぞれ通知される(シーケンスS109,S110)。更に、表28〜表30に示すように更新されたパス情報、NIC情報は、通信端末10の通信管理部101bから、それぞれのフローに対する通信相手の通信端末11の通信管理部111b、動画サーバ40の通信管理部401bに対して送信される(シーケンスS111,S112)。
ここで、TV電話中に動画配信用の新たなフローが発生したことに伴い、前述のような帯域割り当て処理をし直した結果として、表28のフロー情報に示すように、動画配信用の帯域幅の割り当てをした後でも、TV電話用の割当(使用可能)帯域幅には変化が生じないので、TV電話アプリケーション101dは、以前のコーデックの設定状態のまま、TV電話用の通信を継続することができる。しかし、異なる帯域幅を割り当て直す場合は、SIP/SDPのコーデック変更要求メッセージとその応答である「200 OK」レスポンスの交換を行なってから(シーケンスS113,S114)、異なる帯域幅のコーデックに変更してTV電話の通信を再開することになる(シーケンスS115)。
また、動画ストリーミングデータの配信用の動画ビューアアプリケーション101cは、通信管理部101bから、音声用フロー5として最大使用要求帯域幅(BW(MAX)即ちBW(3))の200kbps、映像用フロー6として使用要求帯域幅(BW(2))の4Mbpsを割り当てた旨の通知を受け取る。
その結果、動画ビューアアプリケーション101cでは、映像を4Mbpsのコーデックで、音声を200kbpsのコーデックで、配信することを要求する旨を示すメッセージを、RTSP−SETUPメッセージとして動画サーバ40のストリーミング配信アプリケーション401cに対して送信し、その応答のSIP/SDP 200 OKレスポンスを得る(シーケンスS116,S117)。
その結果、通信端末10においては、TV電話アプリケーション101dにより、通信端末11とTV電話をしながら、動画サーバ40のストリーミング配信アプリケーション401cからは、通信端末10の動画ビューアアプリケーション101cから変更要求した帯域幅のコーデックを用いた動画ストリーミングデータの配信を受け取ることができるようになる(シーケンスS118,S119)。
(第4の実施例)
本実施例においては、通信端末間でインターネットを介してTV電話(テレビ電話)を行なっている最中において、一方の通信端末が他の通信端末宛に画像配信を開始した場合を例に取って、図13に示すシステム構成図を用いて説明する。ここに、図13は、本発明に係る帯域割り当て方法の第4の実施例を説明するためのシステム構成図であり、インターネット30を経由して互いにTV電話を行なう通信端末10,11と、TV電話中に通信端末10からインターネット30を経由して画像データを送信する他の通信端末12が存在する場合を模式的に示している。
図13のシステム構成図において、通信端末10,11及び通信端末12のそれぞれには、図3のシステム構成図と全く同様の機能ブロックが備えられており、その詳細な説明は省略する。但し、通信端末10,12には、画像データを配信することができる画像管理アプリケーション101e,121eがそれぞれ備えられていて、通信端末10,11間でTV電話中に、通信端末10から、他の通信端末12に対して画像データを配信することができるように構成されている。
なお、本実施例は、第3の実施例とは異なり、画像配信用として帯域を割り当てるべき新たなフローが発生したとしても、第2の実施例において説明した通信端末10−通信端末11におけるTV電話の状態からそのまま継続して実行されることを前提とする場合について説明する。即ち、第2の実施例においてTV電話のフローを実行するために割り当てた割当(使用可能)帯域幅を示すフロー情報(表12、表17)、及び、そのTV電話フローに帯域幅を割り当てた結果として、更新されたパス情報(表20)及びNIC情報(表21)をそのまま用いて実行するものとする。ここに、表12、表17、表20、及び、表21に示したフロー情報、パス情報、NIC情報を、表31、表32、表33、及び、表34としてそれぞれ再掲する。
このような環境下で、通信端末10の画像管理アプリケーション101eから通信端末12の画像管理アプリケーション121eに向けた画像配信を要求するフローが新たに発生するものとする。新たに加わる画像配信用のフローをフロー5としてそのフロー情報を表35に示す。
画像管理アプリケーション101eから画像配信用のフロー5に関するフロー情報を新たに受け取った通信管理部101bでは、通信端末10から通信端末12に向かう上りフローに関する帯域幅を割り振ることが必要になる。このため、通信管理部101bは、まず、フロー5の通信相手となる通信端末12との間のパス3として使用可能な帯域幅を含むネットワーク情報を取得して、パス情報、NIC情報を取得する。取得したパス情報、NIC情報を、表36、表37にそれぞれ示す。
ここで、第3の実施例の場合と同様に、全てのフローについて、改めて帯域幅を割り当て直すようにしても良いが、本実施例の場合、第3の実施例の場合とは異なり、TV電話用のフローに対して先に割り当てていた割当(使用可能)帯域幅を初期状態に戻して、新たに加わったフロー5も含めて再度割り当て直す処理を行なうことなく、新たに加わったフロー5についてのみ帯域幅を追加して割り当てる場合について、図14,図15のフローチャートを用いて説明する。ここに、図14は、本発明に係る帯域割り当て方法の第4の実施例を説明するためのフローチャートであり、図15は、本発明に係る帯域割り当て方法の図14に続く処理を説明するためのフローチャートである。
図14のフローチャートに示すように、通信管理部101bは、まず、新たに要求されたフロー5に関して最高のクオリティが得られる最大使用要求帯域幅(BW(MAX)即ち表35のBW(3))が示す帯域幅3Mbps、単位時間当たりの使用要求パケット数240ppsを割り当てる(ステップST31)。
その結果、最大使用要求帯域幅(BW(MAX))としてフロー5に割り当てた帯域幅3Mbpsのリソースが、フローの方向が上り回線方向であることを考慮して、表36に示すパス情報の使用可能帯域幅(BW(可用))2Mbpsから減算され、更に、表37に示すNIC情報の上り方向の使用可能帯域幅(BW(上り−余り))2.61Mbpsから減算される(ステップST32)。
同様に、最大使用要求帯域幅(BW(MAX))としてフロー5に割り当てた単位時間当たりの使用要求パケット数240ppsのリソースが、フローの方向が上り回線方向であることを考慮して、表36に示すパス情報の単位時間当たり使用可能パケット数(pps(可用))160ppsから減算され、更に、表37に示すNIC情報の上り方向の単位時間当たり使用可能パケット数(pps(上り−余り))186ppsから減算される(ステップST33)。
次に、減算されて得られた今後利用可能なパス情報の使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))、今後利用可能なNIC情報の使用可能帯域幅(BW(上り−余り))、単位時間当たりの使用可能パケット数(pps(上り−余り))のいずれも正数であるか否かを調べる(ステップST34)。
表35〜表37に示す帯域情報の場合には該当していないが、例えば、いずれも正数であれば(ステップST34のYES)、新たなフロー5に対して先に割り当てた最大使用要求帯域幅(BW(MAX)即ちBW(3))が確保されている状態である。この場合、ステップST32,ST33でそれぞれ算出されている、今後利用可能なパス情報の単位時間当たりの使用可能パケット数(pps(可用))、使用可能帯域幅(BW(可用))、今後利用可能なNIC情報の使用可能帯域幅(BW(上り−余り))、単位時間当たり使用可能パケット数(pps(上り−余り))により、パス情報、NIC情報を更新すると共に、状態管理パラメータに「規定ループ数+1」を代入して、帯域割り当て処理を終了する(ステップST35)。
一方、表35〜表37に示す帯域情報のように、今後利用可能なパス情報の使用可能帯域幅(BW(可用)、BW(上り−余り))、単位時間当たりの使用可能パケット数(pps(可用))、pps(上り−余り))のいずれかが正数ではない場合は(ステップST34のNO)、フロー5として最高のクオリティが得られる帯域幅として先に割り当てようとした最大使用要求帯域幅(BW(MAX)即ちBW(3))が確保できない状態であり、図15のフローチャートに移行して、次に、フロー5に割り当てる帯域幅として、最低限の使用要求帯域幅(BW(MIN))即ち表35における最低使用要求帯域幅BW(1)が示す帯域幅300kbps、単位時間当たりの最低使用要求パケット数24ppsを割り当てる(ステップST36)。
その結果、最低使用要求帯域幅(BW(MIN))としてフロー5に割り当てた帯域幅300kbpsのリソースが、フローの方向が上り回線方向であることを考慮して、表36に示すパス情報の使用可能帯域幅(BW(可用))2Mbpsから減算され、更に、表37に示すNIC情報の上り方向の使用可能帯域幅(BW(上り−余り))2.61Mbpsから減算される(ステップST37)。
同様に、最低使用要求帯域幅(BW(MIN))としてフロー5に割り当てた単位時間当たりの使用要求パケット数24ppsのリソースが、フローの方向が上り回線方向であることを考慮して、表36に示すパス情報の単位時間当たり使用可能パケット数(pps(可用))160ppsから減算され、更に、表37に示すNIC情報の上り方向の単位時間当たり使用可能パケット数(pps(上り−余り))186ppsから減算される(ステップST38)。
次に、減算されて得られた今後利用可能なパス情報の使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))、今後利用可能なNIC情報の使用可能帯域幅(BW(上り−余り))、単位時間当たりの使用可能パケット数(pps(上り−余り))のいずれも正数であるか否かを調べる(ステップST39)。
表35〜表37に示す帯域情報の場合には該当していないが、例えば、いずれかが正数でない場合は(ステップST39のNO)、最低限の帯域幅であっても、新たに追加されたフロー5に帯域を割り当てることができないものとして、要求元の画像管理アプリケーション101eに対して帯域割り当てが不可能なエラーの旨を報告して、帯域割り当て処理を終了する(ステップST40)。
なお、この場合、直ちに、エラーとすることなく、前述した第3の実施例の場合と同様に、TV電話用として既に割当済みの割当(使用可能)帯域幅を再度初期状態に戻して、図14の先頭のステップST31に戻って、全てのフローに対して、帯域の割り当て処理をし直すようにしても良い。ここでは、ステップST39において、いずれかが正数ではないと判定された場合(ステップST39のNO)、全てのフローがそれぞれで要求する最低限の最低使用要求帯域幅(BW(MIN))であっても、割り当てることができない状況にある場合であり、複数の通信を同時には継続することができないことを意味しているとして、新たに加わった画像管理アプリケーション101eに対してエラーの旨を報告することになる。
あるいは、全てのフローに対して最低使用要求帯域幅(BW(MIN))であっても割り当てることができない場合は、新たに加わろうとするアプリケーションに対して通信を諦めさせるエラー報告をする代わりに、既に通信中の状態にあるいずれかのアプリケーションの通信を終了させ、新たに加わるアプリケーションに帯域を割り当てるようにしても良い。いずれか一つ又は複数のフローに帯域を割り当てることを諦めて、その他のフローに関する通信を継続するようにする帯域割り当て方法については、第6の実施例として後述する。
ステップST39において、減算されて得られた今後利用可能なパス情報の使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))、今後利用可能なNIC情報の使用可能帯域幅(BW(上り−余り))、単位時間当たりの使用可能パケット数(pps(上り−余り))のいずれも正数であると判定された場合(ステップST39のYES)、新たに加わったフロー5について、前述した実施例と同様に、使用可能な帯域幅の条件下において最も良好な条件の使用要求帯域幅を割り当てるようにしても良いが、本実施例においては、ステップST41に移って、フロー5の方向を考慮して通信端末10における上り方向の全てのフローについて、再度、帯域を割り当て直す場合について以下に説明する。
ステップST41に移行した場合、全てのフローに対して、最大使用要求帯域幅(BW(MAX))を割り当てることはできないものの、少なくとも、全てのフローに対して最低限の最低使用要求帯域幅(BW(MIN))を割り当てることができる状況にある。ここで、通信端末10における上り方向のフローに関連するフロー情報、パス情報、NIC情報について、それぞれ、帯域割り当て前の初期状態に戻した状態を表38、表39、表40に纏め直して示している。なお、いずれの表も、上りフローに関係がない値は表示していない。
この初期状態において、まず、全ての上りフローについて、それぞれの最低使用要求帯域幅(BW(MIN)即ち表38のBW(1))を割り当てる。割り当てた結果のフロー情報、パス情報、NIC情報を、表41、表42、表43に示す。
更に、全ての上りフローにそれぞれの最低使用要求帯域幅(BW(MIN)を割り当てた後の余った帯域幅について、各フローの最大使用要求帯域幅(BW(MAX)即ち表38のBW(3))に比例した大きさの帯域幅を、それぞれの上りフローに対して追加して割り当てる(ステップST41)。
ここで、一例として、表43に示すNIC情報のNIC100の使用可能帯域幅(BW(上り−余り))について、各フローの最大使用要求帯域幅(BW(MAX)即ち表38のBW(3))の値に応じて比例配分した計算例を、表44に示す。
しかる後、前述した各実施例の場合と同様に、追加して割り当てた各フロー毎の帯域幅、単位時間当たりの使用可能パケット数を、表42に示すパス情報の使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))、及び、表43のNIC情報の使用可能帯域幅(BW(上り−余り))、単位時間当たりの使用可能パケット数(pps(上り−余り))から減算して、今後利用可能なNIC情報の使用可能帯域幅(BW(上り−余り))を更新し(ステップST42,ST43)、更に、各フローが要求している使用要求帯域幅のうち、割り当てた各フローの割当(使用可能)帯域幅以下の条件で、最も良好なクオリティが得られる帯域幅を選択して、実際のフローに割り当てる割当(使用可能)帯域幅として決定して、余った帯域幅を、次に利用する新たなフローのために使用可能帯域幅として返還するようにしても良い。
なお、前述の各実施例において説明したように、本実施例においても、上りフローに関する帯域割り当てについては、通信相手からの帯域割り当て結果によって決定するようにしても良い。従って、この場合には、前述のステップST41において、表44のように、通信端末10自身のNIC100における残りの使用可能帯域幅(BW(上り−余り))を最大使用要求帯域幅(BW(MAX))に応じて比例配分した追加帯域幅BW、単位時間当たりの追加パケット数ppsに関する情報を、通信相手の通信端末11,12の通信管理部111b,121bにそれぞれに通知するようにする。
追加帯域幅BW、単位時間当たりの追加パケット数ppsに関する情報を受け取った各通信端末11,12の通信管理部111b,121bにおいては、改めて、対応する各下りフローについての帯域幅をそれぞれ割り当て直して、通信端末10に対して、更新後のパス情報、NIC情報、割当(使用可能)帯域幅を通知する。
ここで、通信相手の通信端末11,12の通信管理部111b,121bに対してNIC100の各フロー毎の追加帯域幅BW、単位時間当たりの追加パケット数ppsに関する情報を通知する際に、各フロー毎の追加帯域幅BW、単位時間当たりの追加パケット数ppsに関する情報を、パス情報の使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))を変更する情報として用いて、パス情報として通知するようにする。
即ち、パス2に対応するフロー3,フロー4についてそれぞれ算出された追加帯域幅BW、単位時間当たりの追加パケット数ppsを合計して、表42に示すパス情報におけるパス2の使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))とそれぞれ比較し、いずれかより低い値の帯域幅を用いて、パス情報の使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))を更新する。
同様に、パス3に対応するフロー5について算出された追加帯域幅BW、単位時間当たりの追加パケット数ppsを、表42に示すパス情報におけるパス3の使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))とそれぞれ比較し、いずれかより低い値の帯域幅を用いて、パス情報の使用可能帯域幅(BW(可用))、単位時間当たりの使用可能パケット数(pps(可用))を更新する。
更に、追加帯域幅BW、単位時間当たりの追加パケット数ppsと、表41のように既に割り当て済みの最低使用要求帯域幅(BW(MIN))の帯域幅、単位時間当たりの追加パケット数とをそれぞれ合計した値を、表42に示すパス情報における使用可能帯域幅(BW(実測))、単位時間当たりの使用可能パケット数(pps(実測))とそれぞれ比較し、いずれかより低い値の帯域幅を用いて、パス情報の使用可能帯域幅(BW(実測))、単位時間当たりの使用可能パケット数(pps(実測))を更新する。
以上のようにして、算出された追加帯域幅BW、単位時間当たりの追加パケット数ppsを用いて更新したパス情報とNIC情報とを、通信相手の通信端末11,12の通信管理部111b,121bに対して送信する。更新したパス情報とNIC情報とを受信した通信相手の通信端末11,12の通信管理部111b,121bにて、対応する下りフローのそれぞれの帯域幅を割り当て直す。更新後のパス情報とNIC情報とを、それぞれ表45、表46に示す。
例えば、表45のパス情報に示すように、NIC情報として得られた情報に基づいてパス2,3に当初設定されていた表39のパス情報の使用可能帯域幅(BW(可用)、BW(実測))、単位時間当たりの使用可能パケット数(pps(可用)、pps(実測))よりも、更新後のパス情報の使用可能帯域幅(BW(可用)、BW(実測))、単位時間当たりの使用可能パケット数(pps(可用)、pps(実測))が低い値に更新されていることが分かる。
通信端末10の通信管理部101bから表45のパス情報、表46のNIC情報を受け取った、通信相手の通信端末11,12の通信管理部111b,121bにおいては、再度、通信端末10向けの下り方向の対応するフローの帯域幅を割り当て直して、割り当て直した帯域幅を通信端末10の通信管理部101bに対して送信する。以上により、通信端末10,11,12のそれぞれのアプリケーションはコーデックの変更処理などを実行し、各フローの通信を行なう。この結果、通信端末10は、新たに割り当てられた割当(使用可能)帯域幅を用いて、通信端末11とTV電話をしながら、新たに、通信端末12に対する画像配信を行なうことができる。
(第5の実施例)
本実施例においては、通信端末間でインターネットを介してTV電話を行なっている最中に、ネットワークの状態が変化した場合について、第4の実施例の図13に示すシステム構成図を用いて説明する。
即ち、第4の実施例において前述したように、通信端末11とTV電話中の通信端末10において、通信端末12に画像配信を行なう上りフローが新たに増加したために、ネットワーク情報に変化が生じている場合である。なお、この他にも、例えば、無線通信環境にある場合に、無線状態など何らかの影響により、通信中のパスに関するネットワーク状態に変化が生じている場合や今まで通信中であったフローが終了した場合でも、本実施例で説明する処理と同様の処理が実行される。
前述の第4の実施例に説明したように、通信端末10においてネットワーク状態に変化が生じたことを、表45のパス情報、表46のNIC情報により通知された通信端末11の通信管理部111bにおいては、前述した図6〜図8に示した帯域割り当て方法を用いて、再度、通信端末10からの下り方向のフロー3、フロー4に関する帯域を割り当て直す。表45のパス情報のうち、最低使用要求帯域幅(BW(MIN))を割り当てる前の使用可能帯域幅(BW(実測))829kbps、単位時間当たりの使用可能パケット数(pps(実測))91ppsを用いた場合の帯域割り当ての経過を図16に示す。ここに、図16は、本実施例において図8の帯域割り当て方法によって割り当てられていく各フローの帯域割り当て状況を示す模式図である。
図16に示すように、音声用フロー3については、最高のクオリティが得られる最大使用要求帯域幅(BW(MAX)即ち表38のBW(3))となる120kbps,60ppsを割り当てることが可能である。一方、映像用フロー4については、最大でも、最大使用要求帯域幅(BW(MAX))より少ない665kbps,32ppsしか割り当てられなく、この条件下で、最も良好な使用要求帯域幅として、使用要求帯域幅(BW(2))の300kbps,24ppsが、実際のフロー4に割り当てるべき割当(使用可能)帯域幅として決定される。
従って、前述のように、TV電話アプリケーションに用いる音声用コーデックと映像用コーデックとの両者で使用する帯域幅を揃える必要がある場合には、音声用フロー3についても、使用要求帯域幅(BW(2))の90kbps,30ppsが、実際に割り当てるべき割当(使用可能)帯域幅として決定される。このようにして決定されたフロー3,4に関するフロー情報を表47に示す。
なお、通信端末11の通信管理部111bにより算出し直されたフロー3,4の結果は、第4の実施例において割り当てられていた表32のフロー情報と同じ結果であり、コーデックの変更は不要であることを意味しており、通信管理部111bは、通信端末11のTV電話アプリケーション111dに対して、特に何も通知する必要はない。一方、通信相手の通信端末10の通信管理部101bに対しては、再度作成し直したパス情報、NIC情報を送信する。しかし、この時、パス情報、NIC情報を送信しないで、あるいは、パス情報、NIC情報と共に、作成し直したパス情報、NIC情報が以前に送信した情報と変化していない旨を通知するようにしても良い。
また、帯域幅を再度割り当て直した結果が、以前割り当てていた帯域幅と異なる場合、通信端末11のTV電話アプリケーション111dに対して、コーデック変更要求メッセージを送信することにより、動的に、コーデックの使用帯域幅を変更可能とすると共に、通信相手の通信端末10の通信管理部101bに対しても、作成し直したパス情報、NIC情報を送信する。
(第6の実施例)
本実施例においては、例えば、図6や図15に示す帯域割り当て方法において、アプリケーションから要求されている最低限の帯域即ち最低使用要求帯域幅(BW(MIN))を割り当てることができない場合(図6のステップST04のNO、図15のステップST39のNOの場合)におけるエラー処理(図6のステップST05の処理、図15のステップST40の処理)について、図17のフローチャートを用いて説明する。ここに、図17は、本発明に係る帯域割り当て方法の第6の実施例を説明するためのフローチャートであり、複数のフローの全てについては、最低使用要求帯域幅(BW(MIN))さえも割り当てられなかった場合の処理内容に説明するものである。
通信端末10の通信管理部101bが、帯域の割り当てを要求されている複数のフローのいずれかについて最低使用要求帯域幅(BW(MIN))を割り当てることができない旨判定されていることが判明した場合(ステップST51)、いずれか一つでも使用要求帯域幅に該当する帯域を割り当てることが可能な状態にあるか否かを調べ(ステップST52)、可能であることが判明すれば(ステップST52のYES)、通信を継続すべきいずれかのフローを選択して(ステップST53)、当該フローに対して帯域を割り当てて通信を継続させる(ステップST54)。
ここで、ステップST53において、通信を継続すべきフローを選択する場合、図18のような選択メニュー画面の画面表示を行ない、ユーザに選択させるようにしても良い。図18は、本実施例において、ユーザが通信を継続すべきフローを選択するための選択メニュー画面の一例を示す模式図であり、帯域割り当てを要求するアプリケーション全てのうち、いずれか1乃至複数を選択して、通信を継続することができる場合を示している。即ち、図18の例では、帯域割り当てを要求したアプリケーションのフローとして、TV電話−ボイス(音声)、TV電話−映像、動画ストリーミング−映像、動画ストリーミング−ボイス(音声)の4つのフローのいずれでも選択可能であることを「○」印を付して表示している。
あるいは、図18と異なる表示例として、図19のような画面表示を行ない、ユーザに選択させるようにしても良い。図19は、本実施例において、ユーザが通信を継続すべきフローを選択するための選択メニュー画面の異なる例を示す模式図であり、帯域割り当てを要求するアプリケーション全てのうち、動画ストリーミング・映像を除くフローについていずれか1乃至複数を選択して、通信を継続することができる場合を示している。即ち、図19において、選択対象外である動画ストリーミング−映像については、使用要求帯域幅(BW(MIN))をも割り当てることができない旨を示す「×」印を付して表示している。
ステップST53において、例えば、図18の選択メニュー画面が表示された場合、通信を継続したいフローをユーザが選択する一例を図20に示す。図20は、本実施例において、選択メニュー画面から通信を継続すべきフローを選択した結果の一例を示す模式図であり、TV電話−ボイス(音声)のみを選択している場合を、「◎」印を付して示している。ここで、TV電話−ボイス(音声)が選択された結果、動画ストリーミング・映像に「×」印が付されて、動画ストリーミング−映像を選択することができなくなったことを示している。
次に、図20の選択メニュー画面を用いて、ユーザがTV電話・映像のフローを選択した結果を図21に示す。図21は、本実施例において、選択メニュー画面から通信を継続すべきフローを更に選択した結果の一例を示す模式図であり、TV電話−ボイス(音声)に続いて、TV電話−映像のフローを通信を継続すべきフローとして選択した結果、残りの全てのフローについて「×」印が付されて、これ以上は選択することができなくなったことを示している。
なお、ステップST53におけるフローの選択処理においては、ユーザが或るフローを選択する都度、パス情報の現在使用可能な帯域幅(BW(可用))から、選択したフローに関する最低使用要求帯域幅(BW(MIN))が減算されて、使用可能帯域幅(BW(可用))が更新され、更に他のフローに対して帯域の割り当てが可能か否か、即ち、更新後の使用可能帯域幅(BW(可用))が、次に選択対象とする各フローが要求する最低使用要求帯域幅(BW(MIN))以上の値であるか否かを判定して、図18〜図21に示すように、選択可能か否かを「○」、「×」表示する。
また、図18〜図21において、ユーザが「OK」ボタンを選択すると、その時点で選択されていないフロー関しては通信を継続しないものとして、選択されたフローのみに帯域の割り当てを再び行なうようにする。
なお、本実施例では、通信を継続することができるフローを選択メニュー画面として画面表示し、その中から、通信を継続するフローを選択する例を示したが、逆に、全てのフローの中から、通信を放棄しても良いフローを選択メニュー画面として画面表示し、その中から、通信を放棄するフローを選択するようにしても良い。
一方、ステップST52において、全てのフローについて、使用要求帯域幅に該当する帯域を全く割り当てることができないことが判明した場合(ステップST52のNO)、図22に示すように、「エラー:通信できません」の旨を画面表示して、ユーザにエラーを通知して終了する(ステップST55)。ここに、図22は、本実施例において、帯域を割り当てることができない旨を示すエラー画面表示の一例を示す模式図であり、複数のフローのいずれにも帯域を割り当てることができない旨をユーザに対して提示している。
(第7の実施例)
本実施例においては、通信端末10の通信管理部101bにおいてアプリケーションの各フローに対する帯域割り当て方法について、前述した各実施例とは異なる他のバリエーションを例示するものであり、各フローの使用要求帯域幅について全ての組み合わせを作成して、その中から各フローに対して割り当てるべき割当(使用可能)帯域幅を決定しようとするものである。
本実施例において、例えば、帯域を割り当てるべき3つのフローは存在しているものと仮定し、この3つのフロー情報について、表48に示す。
表48に示すフロー情報においては、実際に割り当てる割当(使用可能)帯域幅を決定する選択肢として、フロー1については4通り、フロー2については3通り、フロー3については2通りの自由度が存在している。その結果、各フロー全ての使用要求帯域幅の組み合わせとしては、表49に一部を示すように、24通りの組み合わせを作成することができる。
ここで、例えば図23のフローチャートに示すような帯域割り当て方法を用いて、この表49の中で、パスの状態にマッチして、現在の使用可能な帯域幅の条件を満たす使用要求帯域幅の組み合わせを選択して、各フローに割当(使用可能)帯域幅として割り当てていく。ここに、図23は、本発明に係る帯域割り当て方法の第7の実施例を説明するためのフローチャートである。
図23のフローチャートにおいて、まず、表49の使用要求帯域幅の組み合わせの中から、合計使用要求帯域幅(表49の合計BW、合計pps)が、ネットワークとしての使用可能な帯域幅を示すパス情報の使用可能帯域幅(BW(可用)、pps(可用))の値を超えるものを削除する(ステップST61)。次に、割当(使用可能)帯域幅が決定していないフローのうち、最も優先順位が高いフローに関する組み合わせを抽出する(ステップST62)。抽出した組み合わせのうち、選択しているフローに関して最も大きい帯域幅を有する組み合わせ以外のものを削除する(ステップST63)。
残された組み合わせが複数存在している場合、次に優先順位が高いフローについて最も大きい帯域幅を有する組み合わせ以外を削除する。最終的に、残された組み合わせに含まれている選択したフローに関する使用要求帯域幅を、当該フローの割当(使用可能)帯域幅として決定する(ステップST64)。
全てのフローについて、まだ、割当(使用可能)帯域幅が決定されていない場合には(ステップST65のNO)、ステップST62に戻って、次の優先順位のフローについて割り当て処理を繰り返す。一方、全てのフローについて、割当(使用可能)帯域幅が決定している場合には(ステップST65のYES)、各フローに対する割当(使用可能)帯域幅を最終的に決定し、次の帯域割り当て要求に備えて、パス情報を更新する(ステップST66)。
このように、帯域割り当て要求がなされた全てのフローそれぞれが要求する1乃至複数の使用要求帯域幅について作成した全ての組み合わせについて、ネットワークを介した通信相手との通信に使用可能な帯域幅の条件を満たして、帯域を割り当てることが可能な組み合わせの中から、より優先度が高いフローについてより大きい帯域幅の使用要求帯域幅を要求している組み合わせを選択し、選択した組み合わせが示す各フローの使用要求帯域幅を、割当(使用可能)帯域幅としてそれぞれのフローに割り当てるという帯域割り当て方法を適用すれば、より優先順位の高いフローに対して、より大きい帯域幅を割り当てることが可能となる。
なお、表49においては、最低限の使用要求帯域幅(BW(MIN))であっても、全てのフローに対して確実に帯域を割り当てることが可能なことを条件として、使用要求帯域幅の組み合わせ表を作成している例を示したが、場合によっては、優先順位が低いフローを除いた場合も含む使用要求帯域幅の組み合わせ表を作成して、ネットワークの使用可能な帯域幅の状況如何によって、優先順位が低いフローについて帯域を割り当てない組み合わせを選択することを可能としても良い。このように優先順位が低いフローに対して帯域が割り当てられない組み合わせが選択された場合、優先順位が低いフローに対応するアプリケーションに対して、割り当てた割当(使用可能)帯域幅を通知する代わりに、帯域割り当てが不可能であった旨を通知することになる。