本発明は、一つ以上の通信メディアを有している通信端末が、階層符号化マルチキャストパケットを受信する際に、ネットワーク(通信メディア)の選択と階層符号化が施されたコンテンツの受信品質を関連づけるための発明であり、一般的なマルチキャストプロトコルや階層符号化方式を利用するだけであって、マルチキャストプロトコルや階層符号化を実現するための方法は問わない。
[第1の実施形態]
図1〜図15により、本発明の第1の実施形態について説明する。本実施形態について、A〜Cの3階層(Aが基本層、B・Cが拡張層)に階層符号化されたマルチキャストフローのみ受信する例で説明する。本実施形態に係る階層符号化マルチキャスト通信システムのネットワーク構成の概念図を図1に示す。階層符号化マルチキャスト通信システムは、通信端末10と、マルチキャスト配信装置12と、分岐点管理サーバ13と、ルータ1〜5、7と、を備える。各々は以下のような機能及び/または構成を有する。
通信端末10はマルチキャストフローを受信しようとしている端末で、例えば、2つの通信メディア(NIC:Network Interface Card)NIC100及びNIC101、コンテンツを視聴するための視聴アプリケーション10a、他端末との通信を制御し帯域割り当てなどの機能を有する通信管理部10bで構成される。また、視聴アプリケーション10aは受信経路の違いによる遅延等を吸収するバッファ10fを備え、通信管理部10bはパス選択を行う判定手段10eを備える。なお、通信端末10は、Mobile IP機能を統括するMobile IP管理部をさらに含む構成としても良い。
通信端末10のIPアドレス(HoA)はIP10とし、NIC100のIPアドレスをCoA100、NIC101のIPアドレスをCoA101としている。また、NIC100のデフォルトゲートウェイ(Default GW)はルータ1とし、NIC101のデフォルトゲートウェイをルータ2と設定している。
また、マルチキャスト配信装置12は、コンテンツを階層符号化した後にプッシュ型のマルチキャストによって配信するサーバ(本実施形態においては映像配信サーバを想定)であり、そのIPアドレスはIP12であり、デフォルトゲートウェイをルータ7としている。
分岐点管理サーバ13は、後述の各分岐点のIPアドレスを管理するサーバであり、そのIPアドレスはIP13となっている。なお、この分岐点管理サーバ13のデフォルトゲートウェイについては本発明とは関連がないため、省略する。
図1中のルータ3〜5は、マルチキャストルーティング機能を有し、通常の階層符号化マルチキャストのルーティングプロトコルによって分岐点化されているルータであり、本発明においては分岐点3〜5と呼ぶこととする。また、ルータ(分岐点)3〜5は、通信端末10の通信管理部10bと同様な機能を有し他端末との通信を制御する通信管理部3a〜5aを備える。
マルチキャスト配信装置12が各階層のコンテンツに対してそれぞれ異なるマルチキャストIPアドレス宛にパケットを送信した場合、通常のマルチキャストのルーティングプロトコルによって分岐点が決まっているため、このパケットは、マルチキャスト配信装置−分岐点間、分岐点−分岐点間、分岐点−通信端末間では、それぞれ1つのストリームとなっている。各分岐点では、マルチキャスト配信装置12から見てネットワーク的に下流に位置する分岐点あるいは通信端末(受信者)に行き渡るようにパケットを複製し、転送する。
図2は、ルータを分岐点化した際の流れを示すシーケンス図である。各ルータは、分岐点化された際には、自身のIPアドレスとマルチキャストIPアドレスなどの情報を分岐点管理サーバ13に対して送信し、分岐点管理サーバ13はこれらIPアドレスを登録・管理する。
分岐点3、4、5は、それぞれ階層A、B、Cのみを扱う場合もあるし、それぞれ階層A、A+B、A+B+Cを扱う場合もある。本実施形態においては、前者のケースを例として説明する。なお、分岐点3、4、5は、通信端末10がマルチキャストを受信する場合に、NIC100とNIC101の一方、あるいは両方から、それぞれルータ1、ルータ2経由で、最終的に接続・参加する際の分岐点を表している。
マルチキャスト配信装置12が、配信しようとしているコンテンツに対して階層符号化を施した後、全ての階層(A+B+C)のコンテンツをルータ7に対して送信する。この際、各階層のパケットごとにマルチキャストIPアドレスは異なっている。各階層のパケットは、ルータ7以降のどこかで次第に別れ、最終的にそれぞれ階層A、B、Cを担当している分岐点3、4、5に到着している。
図3は、通信端末10が通信を開始してからマルチキャストフローを受信するまでの流れを説明するシーケンス図である。ここで、通信端末10がマルチキャストを受信するためには、NIC100とNIC101の一方、あるいは両方から、それぞれルータ1、ルータ2経由で、分岐点3、4、5に対して参加する必要がある。なお、受信するに際しては、最低でも基本層Aを扱う分岐点3に対して接続する必要がある。以下に図3のシーケンスについて説明する。
通信端末10の視聴アプリケーション10a(例えば、動画視聴アプリケーション)は、階層符号化マルチキャストパケットを受信するために、接続する分岐点のIPアドレスを知る必要があるが、その前に、その情報を保有する分岐点管理サーバ13のIPアドレスであるIP13を知る必要がある。これを知るための手段としては、インターネット上のどこかに存在するDNSサーバやDynamic DNSサーバに問い合わせて知る方法等があるが、本実施形態においては、マルチキャスト配信装置12から直接教えてもらう方法、つまり、マルチキャスト配信装置12が送信するRTSP/SDP(Real Time Streaming Protocol/Session Description Protocol)メッセージなどにIP13を含める方法を例として説明する。
まず、通信端末10の動画視聴アプリケーション10aは、マルチキャスト配信装置12に対して、RTSP/SDP DESCRIBEメッセージを送信する。この際に使用する通信メディアは、NIC100でもNIC101でも良い。すると、マルチキャスト配信装置12は、通信端末10の動画視聴アプリケーション10aに対して、分岐点管理サーバ13のIPアドレスを含むRTSP/SDP 200OKを返す。この際取得する情報には、各種コンテンツに関する情報、すなわち、受信するコンテンツの階層数、各階層の受信に必要な帯域幅、マルチキャストIPアドレスなどの情報が含まれている。
次に、通信端末10の動画視聴アプリケーション10aは、図4に示すような利用者の嗜好情報を含むフロー情報を、通信端末10の通信管理部10bに渡す。この嗜好情報とは、例えば映像ストリーミングにおいて、遅延量の少なさを優先するか画質を優先するか、等といった情報であり、予め設定されていても良いし、その都度、選択画面等により選択しても良い。また、嗜好情報は、その嗜好レベル(嗜好の度合い)が数値として処理できるようにされていて、スコア付けの際に重み付けして計算される。これは図4中のBW1、BW2、BW3等に付いている(*2)、や(*5)といった数値である。
図4は、フロー情報の一例を説明する図である。ここで、図4に示すフロー情報の説明を行う。フロー10−1とは、マルチキャスト配信装置12から通信端末10に向かってコンテンツが流れる経路を表している。ディスティネーションIPアドレス(Dst Addr (HoA))がIP10で、ソースIPアドレス(Src Addr (HoA))がIP12となっているが、ディスティネーションポート(Dst Port)とソースポート(Src Port)は規定されていない。ここで、この2つのIPアドレスは、この映像配信のフローを一意に識別するものである。
また、このフロー情報にはマルチキャストフローである旨が記述されている。嗜好情報に関わる帯域幅については、データが3段階に階層符号化されているため、基本層Aのみを受信するBW1の場合は32kbps必要であり、基本層Aと拡張層Bを受信するBW2の場合は320kbps必要であり、A〜Cの全ての階層を受信するBW3の場合は1Mbps必要であると設定されている。また、帯域幅の嗜好レベルについては、それぞれ、Must(必須)、*2、*5と設定されている。「Must」は名前の通り、これだけは最低必要という場合に用いる嗜好情報である。
さらに、このフロー10−1は階層符号化マルチキャストフローであるため、各帯域幅に応じたマルチキャストIPアドレス情報が付されている。これらは、IP12を有するマルチキャスト配信装置12から送信される階層符号化マルチキャストパケットのディスティネーションマルチキャストIPアドレスとして利用されるものであり、基本層A・拡張層B・拡張層Cのデータを送信する際には、それぞれIP31・IP32・IP33というマルチキャストIPアドレスを使用する。これらIP31〜IP33は、それぞれ分岐点3〜5に対応している。
また、遅延差については、最低のものを好み、嗜好レベルが*5と設定されている。コストに関しては嗜好レベルが0、すなわち考慮しないと設定されている。なお、ここで用いた数値・記述は、あくまで一例である。本例では、嗜好情報として帯域幅、遅延差、コストの3つのみを取り上げたが、これ以外のパラメータを含んでも良い。また、フロー情報として、図4に示す情報以外に、階層符号化マルチキャストフロー以外のフローの有無を示す情報などを含んでも良い。
次に、階層符号化マルチキャストパケットを受信するための分岐点のIPアドレスを知るために、通信端末10の通信管理部10bは、分岐点アドレスリスト要求を、分岐点管理サーバ13に送信する。この分岐点アドレスリスト要求には、自分のNICに割り当てられたIPアドレス(ここでは、CoA100とCoA101)及びそれらのネットワークアドレス、マルチキャストIPアドレス(ここでは、IP31〜IP33)などの情報が含まれている。
一方、前述のように、分岐点3〜5は、分岐点化した段階で、自身のIPアドレスとマルチキャストIPアドレスなどの情報を、分岐点管理サーバ13に送信していたが、これらの情報を、分岐点管理サーバ13は、図5に示すような対応表の形で保持し管理していたとする(これはあくまで一例であり、また全体の一部を表しているに過ぎない)。
すると、分岐点アドレスリスト要求を受信した分岐点管理サーバ13は、分岐点アドレスリスト要求内に含まれるIPアドレス(ここではCoA100とCoA101)のネットワークアドレス(NW Addr)と、マルチキャスト配信装置12の配下にある各分岐点のマルチキャストアドレス(IP31〜IP33)とから、図5を参照して、対応する分岐点のIPアドレスを含む分岐点アドレスリストを通信端末10の通信管理部10bに対して返す。この際、図5に示されるような対応表そのものを返しても良いし、その他の付加情報が付されていても良い。
これにより、通信端末10は、ディスティネーションマルチキャストIPアドレスがIP31である(基本層Aの)コンテンツを受信する場合には、NIC100の接続先となる分岐点3のIPアドレスはIP311であり、また、NIC101の接続先となる分岐点3のIPアドレスはIP312であることがわかる。以下同様にして、それぞれのディスティネーションマルチキャストIPアドレスに対し、各NICの接続先となる分岐点のIPアドレスを取得できる。
ここで、分岐点3〜5は、それぞれ別々のIPアドレスを有していても良いし、一部一致していたり、全て一致していたりしても良い。ここでいう一部一致のケースとは、例えば、分岐点3と4が同じ装置という意味であり、この場合は実質的に分岐点3と分岐点5しか分岐点が存在せず、マルチキャスト配信装置12は、2階層に階層符号化されたマルチキャストサービスを行っていることを表している。また、全て一致のケースとは、分岐点3〜5が全て同じ装置という意味であり、実質的に分岐点3しか分岐点が存在せず、マルチキャスト配信装置12は、1階層に階層符号化されたマルチキャストサービスを行っている(つまり、階層符号化を施していない通常のマルチキャストサービスを提供している)ことを表している。
図6は、図5に示すような分岐点アドレスリストに基づいて通信管理部10bが作成したパス(フローに対して割り当てる可能性のある経路の候補)について説明する図である。図6では、各分岐点3〜5はそれぞれ2つのIPアドレスを保有し、通信端末10の保有する各NIC100およびNIC101とそれぞれ1対1で対応していて、分岐点3〜5と通信端末10の間でパスが合計6個作成されている例を示している。なお、各分岐点が保有する2つのIPアドレスには、NICが2つあってそれぞれにIPアドレスが1つずつ付いている場合もあり、NICが1つでアドレスが2つ付いている場合もある。ここで、マルチキャストパケットを受信するためには、フロー10−1に対してどのパスを割り当てるか、すなわち、どちらのNICからどの分岐点に対して接続しに行くか、を決定する必要がある。
また、図7〜図9に示すような各分岐点と通信端末10との間のパス情報を、通信端末10の通信管理部10bが作成する。図7、図8、図9はそれぞれ通信端末10と分岐点3との間、通信端末10と分岐点4との間、通信端末10と分岐点5との間のパス情報の一例を示したものである。なお、このフローに関しては、RTT遅延差ではなく、GPSシステムなどをお互いに具備しており、絶対遅延を把握できたものとする。これら図7〜図9においては、帯域幅の欄だけが空白になっており、各パス1〜6において帯域測定を行う必要がある。
帯域測定を行う手法には2通りあり、ここでは、通信端末10と分岐点3との間の帯域測定を例にとって説明する。まず1つ目の手法は、測定を各分岐点側に行わせる手法である。まず、通信端末10が自身のCoA100(NIC100のIPアドレス)とCoA101(NIC101のIPアドレス)を分岐点3に対して通知する。次に、既存の測定手段を利用して、パス1の帯域(分岐点3のIP311から通信端末10のCoA100への帯域)を分岐点3が測定する。また、パス2の帯域(分岐点3のIP312から通信端末10のCoA101への帯域)についても同様の手段で測定し、それらの測定結果を通信端末10に対して返信する、という方法である。本発明においては、この手法を第1の測定方式と呼ぶことにする。
2つ目の手法は、測定を通信端末10側が行う方法である。通信端末10は、分岐点アドレスリストを取得した段階で、分岐点3のIPアドレスIP311とIP312を知っており、また、自身のIPアドレスCoA100とCoA101も知っているため、通信端末10が、既存の測定手段を利用して、パス1とパス2の帯域を測定する方法である。本発明においては、この手法を第2の測定方式と呼ぶことにする。以上のような測定手段を利用して、各分岐点と通信端末10との間の帯域幅を測定する。測定結果である帯域幅の値を反映させたパス情報を、図10〜図12に示す。図10、図11、図12はそれぞれ通信端末10と分岐点3との間、通信端末10と分岐点4との間、通信端末10と分岐点5との間のパス情報を表している。
次に、通信端末10の通信管理部10bの判定手段10eは、フロー10−1がどれだけの帯域を利用してもよいかを判断する。フローに対する帯域の割り当て方には様々な手法が考えられるが、本実施形態においては、優先順位の高いフローほどより多くの帯域を与える、という考え方に基づいて割り当てることとする。この際、例えば、図13や図14に示すフローチャートに基づいて、フローに帯域を割り当てても良い。本実施形態では、図13を例にとって説明する(図14を利用した場合に関しては、後述する第3の実施形態の項で説明する)。
なお、本実施形態においては、通信端末10の通信管理部10bは、現在1つのフロー(階層符号化マルチキャストフローのみ)を扱おうとしていることを、図4のフロー情報などによって認識しているため、特に問題とはならないが、複数フローを扱う場合には、各フローに対して優先順位を何らかの手段で設定する必要がある(複数フローを扱う場合については、後述する第2の実施形態の項で説明する)。
図13は、フローへの帯域割り当て判定方法の一例を説明するフローチャートである。BW(MAX)はフローが要求する最大帯域幅(最高品質のコンテンツを視聴するのに必要な帯域幅)を表しており、BW(MIN)はフローが要求する最低帯域幅(コンテンツを視聴するために最低限必要な帯域幅)を表しており、BW(可用)はネットワーク状態を測定するなどの手法によって把握される、通信端末で現在利用可能な帯域を表している。また、これ以外にも、各パスで利用可能な帯域や、通信メディアごとに利用可能な帯域(規格によって制限されている帯域)も同時に所有しているため、それぞれの利用可能な帯域を越えないようにフローに帯域を割り当てることとする。
通信端末10の通信管理部10bは、以下の手順でフローに帯域を割り当てる。ここで、図4に示すようなフロー情報などから、通信端末10に対するフローはフロー10−1だけであり、そのBW(MIN)は32kbps(BW1の帯域幅)であり、そのBW(MAX)は1Mbps(BW3の帯域幅)であることがわかっている。ここで、BW(可用)を3Mbpsであるとする。
まず、フロー10−1に対して最低帯域BW(MIN)の32kbpsを割り当てる。すると、残りの可用帯域(新しいBW(可用)の値)は3Mbps−32kbps=2.968Mbpsになる(ステップS11)。いま通信端末10に対するフローはフロー10−1のみであるので、フロー10−1に注目する(S12)。次に、BW(可用)の半分+BW(MIN)、つまり1.484Mbps+32kbps=1.516MbpsとBW(MAX)とを比較し、小さい方をフロー10−1に対して帯域として割り当てる(ステップS13)。ここでは1Mbpsがフロー10−1の帯域として割り当てられることになる。すると、BW(可用)は、2.968Mbps−(1Mbps−32kbps)=2Mbpsとなる。(ステップS13、14)。この処理(BW(可用)からフローに割り当てた帯域幅の減算)を行うことで、帯域割り当て処理を繰り返し行うことが可能になる。
次に、どのパスを利用するかを決定する。通常のフローにおいては、フロー毎にどのパスを選択するかを決定するだけである。しかし、本発明においては前述のように、通信端末10の通信管理部10bは、フロー10−1が階層符号化マルチキャストフローであることを把握しているため、階層ごとに使用パスを選択することが可能になる。また、この際使用する通信メディアによって分岐点が異なることもある。これら事項を考慮し、本実施形態においては階層ごとにパスを選択することとする。
まず、帯域幅がBW1である場合(基本層Aのみ受信する場合で、ディスティネーションマルチキャストIPアドレスがIP31の場合)のフローに要求される帯域は、図4に示すフロー情報から32kbpsである。この値は、先ほどフロー10−1に割り当てられた1Mbps以下に入り、また、図10のパス情報に示されるように、パス1とパス2の帯域幅の測定結果(BW(測定))がそれぞれ1.2Mbps、1.3Mbpsであることから、どちらのパスでも使用可能と判断される。
次にパス1、2のどちらを利用するかを決定する。本実施形態においては、スコア計算を利用して決定する。スコアには、帯域・遅延差・コストの3種類があり、パスごとに各スコアを合計した点を比較して、最大のものを利用するパスとする。ここで、帯域のスコアとしては、要求する帯域を満足する場合は100×嗜好レベル、満足しない場合は80×嗜好レベルとし、フローの要求する帯域に対して和を取った点とする。遅延差のスコアとしては、0msの場合は粗点を100点とし、2ms遅くなる毎に1点ずつ減点して、その点に嗜好レベルを積算した点とする。コストのスコアは、コストが0のものを粗点100点とし、コストが1上がる毎に粗点から5点ずつ減点して、その点に嗜好レベルを積算した点とする。
そこで、パス1のスコアを算出すると、帯域のスコアは必須なので0点、遅延のスコアは95×5=475点、コストのスコアは100×0=0点で、合計475点と評価される。同様にパス2に関しては、帯域のスコアは0点、遅延のスコアは90×5=450点、コストのスコアは100×0=0点で、合計450点となり、パス1とパス2の合計スコアの大きい方、つまり、パス1を使用することに決定される。
次に、帯域幅がBW2である場合(基本層A(32kbps)と拡張層B(320kbps−32kbps=288kbps)を受信する場合で、ディスティネーションマルチキャストIPアドレスがIP32の場合)のフローに必要とされる帯域は320kbpsであり、この値もフロー10−1に割り当てられた1Mbps以下に入り、また、パス3とパス4の帯域幅の測定結果(BW(測定)の値)がそれぞれ800kbps、1.5Mbpsであることから、どちらのパスでも使用可能と判断される。
次に拡張層Bを受信する場合に、パス3、4のどちらを利用するかを決定する。パス3のスコアを算出すると、帯域のスコアは100×2=200点、遅延のスコアは90×5=450点、コストのスコアは100×0=0点で、合計650点と評価される。パス4のスコアは、帯域のスコアが100×2=200点、遅延のスコアが97.5×5=487点(小数点以下切捨て)、コストのスコアが100×0=0点で、合計687点と評価され、この結果、パス4が選択される。なお、ここでは(帯域幅BW2に対するパスの決定に際して)、基本層Aについては分岐点3に接続しに行くこととしており、これは前述の過程で決定されているため、拡張層Bのみのコスト計算によるパス選択を行っている。
次に、帯域幅がBW3である場合(基本層A(32kbps)と拡張層B(288kbps)・C(1Mbps−32kbps−288kbps=680kbps)の全ての階層を受信する場合で、ディスティネーションマルチキャストIPアドレスがIP33の場合)のフローに必要とされる帯域は1Mbpsである。この値も、フロー10−1に割り当てられた1Mbps以下に入り、また、パス5とパス6の帯域幅の測定結果(BW(測定)の値)がそれぞれ500kbps、1.5Mbpsであることから、パス5では対応できず、パス6でのみ使用可能と判断される。
次に、拡張層Cを受信する場合に、パス5、6のどちらを利用するかを決定する。パス5のスコアを算出すると、帯域のスコアは80×5=400点、遅延のスコアは96×5=480点、コストのスコアは100×0=0点で、合計880点と評価される。パス6のスコアは、帯域のスコアは100×5=500点、遅延のスコアは92×5=460点、コストのスコアは100×0=0点で、合計960点と評価される。この結果、パス6が選択される。ここで、パス5を選択した場合、受信できないにも関わらずスコアを計算しているのは、コスト・遅延等の嗜好の問題で、ネットワーク的にはそのフローを受信可能だが、受信しないことを選択することも有り得るため、計算を行っている。なお、ここでも(帯域幅BW3に対するパスの決定に際して)、基本層A・拡張層Bについてはそれぞれ分岐点3・分岐点4に接続しに行くことと設定しており、これは前述の過程で決定されているため、拡張層Cのみのコスト計算によるパス選択を行っている。
以上から、本実施形態においては、IP31宛のマルチキャストフローに関してはパス1(NIC100)が、IP32宛のマルチキャストフローに関してはパス4(NIC101)が、IP33宛のマルチキャストフローに関してはパス6(NIC101)が選択されることになる。この結果、本実施形態において、通信端末10は、マルチキャスト配信装置12が提供する品質の中で、最高画質のコンテンツを受信することも可能であることになる。
次に、複数パスから同時に受信することを考え、各パスの遅延差を考慮してバッファ10fのバッファ量を適切に調節する。これにより受信経路などの違いにより遅延が生じる場合に、例えばBW3を受信する場合で複数の階層のマルチキャストデータを分岐点3〜5の全てからマルチキャストフローを受信する場合に、ネットワークの遅延・伝送速度の差などにより、再生中のデータの上位階層データが到達しないまま再生が始まってしまうことがなく、アプリケーションにとって好ましい帯域でマルチキャストフローを受信できる。本実施形態においては、ネットワーク状態の測定を利用して、バッファ量を設定する。
前述のとおり、各分岐点と通信端末10との間のネットワーク状態を測定する過程には、2つの手法があり、第1の測定方式は各分岐点が測定を行って測定結果を通信端末10に対して通知する方法であり、第2の測定方式は通信端末10が測定を行う方法であった。第1の測定方式を利用する場合は、各分岐点が一定時間ネットワーク状態を測定し、図10〜図12に示すようなネットワークの平均遅延や分散・標準偏差などの値を算出した後、その測定結果を通信端末10に対して通知する。通信端末10では、各分岐点から受信した各パスの平均遅延・分散・標準偏差などの情報をもとに、全パスの平均遅延差の標準偏差σを算出して、全パスの平均遅延差と3σの和に相当するデータ量をバッファ量として設定する。
第2の測定方式を利用する場合は、通信端末10が一定時間ネットワーク状態を測定し、図10〜図12に示すような各パスのネットワークの平均遅延や分散・標準偏差などの値を算出した後、全パスの平均遅延差の標準偏差σを算出して、全パスの平均遅延差と3σの和に相当するデータ量をバッファ量として設定する。
また、このとき通信端末10の通信管理部10bは、動画視聴アプリケーション10aに対して、図15のようなネットワーク状態を通知する。図15の32kbps、288kbps、680kbpsとは、それぞれパス1、パス4、パス6に対して割り当てられる帯域幅を示している。
以上のように、遅延の差を考慮してバッファ量を調節することで、アプリケーションは、好ましい帯域でマルチキャストフローを得ることが可能になる。
最後に通信端末10は、各マルチキャストフローに対して自身の欲しい通信メディアからマルチキャストグループへの参加メッセージをDefault GWに対して送信する。Default GW−分岐点間は、既存のルータ−ルータ間プロトコルによって情報を交換しているため、分岐点は通信端末10が参加要請していることを知り、通信端末10にマルチキャストパケットを転送するようになる。こうすることで、通信端末10はマルチキャストグループに参加できる。IP31宛のマルチキャストフローに対しては(基本層Aのみを受信したい場合には)、ソースアドレスをCoA100として通信端末10の通信管理部10bは、NIC100からDefault GWに対して参加メッセージを送信し、分岐点3からパス1経由で送信してもらうよう要求する。
また、IP32宛のマルチキャストフローに対しては(拡張層Bを受信する場合には)、ソースアドレスをCoA101として通信端末10の通信管理部10bは、NIC101からDefault GWに対して参加メッセージを送信し、分岐点4からパス4経由で送信してもらうよう要求する。そして、IP33宛のマルチキャストフローに対しては(拡張層Cを受信する場合には)、ソースアドレスをCoA101として通信端末10の通信管理部10bは、NIC101からDefault GWに対して参加メッセージを送信し、分岐点5からパス6経由で送信してもらうよう要求する。
以上の過程を経て、通信端末10はマルチキャスト配信装置12からコンテンツを適切に受信できるようになる。
[第2の実施形態]
図16〜図30により、本発明の第2の実施形態について説明する。本実施形態について、階層がA〜Dの4階層有る階層符号化マルチキャストフロー、及び、二つのユニキャストフローが有る例で説明する。ここでは、二つのユニキャストフローはTV電話の音声と映像と仮定する。また、マルチキャストフローは映像配信による動画視聴と仮定する。本実施形態に係る階層符号化マルチキャスト通信システムのネットワーク構成の概念図を図16に示す。本実施形態のマルチキャスト通信システムは、第1の実施形態と同様、通信端末10,11と、マルチキャスト配信装置12と、分岐点管理サーバ13と、ルータ1〜7と、を備える。
通信端末10は、例えば、2つの通信メディアNIC100及びNIC101、動画視聴アプリケーション10a、通信管理部10b、TV電話アプリケーション10c、MobileIP管理部10dで構成される。また、動画視聴アプリケーション10aはバッファ10fを備え、TV電話アプリケーション10cはバッファ10gを備え、通信管理部10bはパス選択を行う判定手段10eを備える。通信端末10のIPアドレス(HoA)はIP10とし、NIC100のIPアドレスをCoA100、NIC101のIPアドレスをCoA101としている。また、NIC100のデフォルトゲートウェイはルータ1とし、NIC101のデフォルトゲートウェイをルータ2と設定している。
通信端末11は通信端末10とTV電話を行っている端末で、1つの通信メディアNIC110と、通信管理部11bと、TV電話アプリケーション11cと、MobileIP管理部11d、とで構成される。通信端末11のIPアドレス(HoA)はIP11であり、NIC110のIPアドレスはCoA110である。
マルチキャスト配信装置12は映像を配信するサーバで、このサーバから映像はプッシュ型のマルチキャストで映像配信が行われている。マルチキャスト配信装置12のIPアドレスはIP12で、デフォルトゲートウェイはルータ7となっている。また、分岐点管理サーバ13は分岐点のIPアドレスを管理するサーバで、そのIPアドレスはIP13となっている。なお、この分岐点管理サーバ13のデフォルトゲートウェイは本発明とは関連がないので省略している。
ルータ3〜6は、マルチキャストルーティング機能を有し、通常のマルチキャストルーティングプロトコルによって分岐点化されるルータであり、本発明においては、図1の例と同様に、分岐点3〜6と呼ぶこととする。また、ルータ(分岐点)3〜6は、通信端末10の通信管理部10bと同様な機能を有し他端末との通信を制御する通信管理部3a〜6aを備える。
まず、マルチキャスト配信装置12は各階層に対して異なったマルチキャストIPアドレス宛にパケットの送信を開始する。この送信されるパケットは、マルチキャストのルーティングプロトコルによって分岐点が決められ、マルチキャスト配信装置−分岐点間、分岐点−分岐点間、分岐点−通信端末間では、それぞれ一つのストリームとしてパケットは送信される。なお、分岐点においては、ネットワーク的に下流に位置する分岐点又は通信端末(受信者)の個数だけ複製を作成し、パケットを送信する。振り返って本実施形態の図16においては、分岐点3〜6が各々A〜Dの各階層の通信端末10にとっての最終的な分岐点となっている。
次に、本実施形態にかかる階層符号化マルチキャストとTV電話のシーケンス図を図3及び図17を用いて説明する。また、ここでは、通信端末10における下りフローに関してのみ説明する。上りフローに関しては説明を省略する。
まず、第1の実施形態の場合と同様、図3に示すように、通信端末10の動画視聴アプリケーション10aは、マルチキャスト配信装置12に対して、RTSP/SDP DESCRIBEメッセージを送信する。この際に使用する通信メディアは、NIC100でもNIC101でも良い。すると、マルチキャスト配信装置12は、通信端末10の動画視聴アプリケーション10aに対して、分岐点管理サーバ13のIPアドレスを含むRTSP/SDP 200OKを返す。この際取得する情報には、各種コンテンツに関する情報、すなわち、受信するコンテンツの階層数、各階層の受信に必要な帯域幅、マルチキャストIPアドレスなどの情報が含まれている。
また、通信端末10のTV電話アプリケーション10cは、図17に示すように、通信端末11のTV電話アプリケーション11cに対して、SIP(Session Initiation Protocol)/SDP INVITEメッセージを送信する。この際に使用する通信メディアは、NIC100でもNIC101でも良い。すると、通信端末11のTV電話アプリケーション11cは、通信端末10のTV電話アプリケーション10cに対して、SIP/SDP 200OKを返す。
次に、通信端末10において、TV電話アプリケーション10cは図18に示すような嗜好情報を含むフロー情報を通信管理部10bに渡す。また、動画視聴アプリケーション10aも図19に示すような嗜好情報を含むフロー情報を通信管理部10bに渡す。
図18に示すフロー情報において、フロー10−1はTV電話の音声部に関するフローを示しており、フロー10−2は画像部に関するフローを示している。フロー10−1のソースIPアドレスはIP11でソースポートは特に規定せず、ディスティネーションIPアドレスはIP10でディスティネーションポートは7080(これらはフローを特定するための値)で、帯域幅は、狭いもの(品質が良くないもの)で8kbps、広いもの(品質のよりよいもの)で64kbpsという2種類の品質に対応している。それぞれの嗜好レベルは、8kbpsに関しては必須で、64kbpsに関しては*4となっている。また、遅延差に関しては最低のものを好み、嗜好レベルは*5となっていて、コストに関しては気にせず、マルチキャストフローではない設定となっている。
次にフロー10−2は、ソースIPアドレスはIP11でソースポートは特に規定せず、ディスティネーションIPアドレスはIP10でディスティネーションポートは9080となっている。上記のフロー10−1とフロー10−2とは、ディスティネーションポートによって区別している。次に嗜好情報については、まず帯域幅では最悪の場合(帯域が十分に確保できない場合)は映像を受信しなくても良く、映像を受信する場合は100kbps、500kbpsという2種類の品質に対応しており、各々の嗜好レベルは*3、*2となっている。遅延差に関しては最低なものを好み、その嗜好レベルは*1、コストに対しては安価なものを好み、その嗜好レベルは*5となっている。また、フロー10−1と同様にマルチキャストフローではないことになっている。
次に図19に示すフロー情報について説明する。フロー10−3に関しては、ディスティネーションIPアドレスが通信端末10のIPアドレス(IP10)でディスティネーションポートは規定されず、ソースIPアドレスがマルチキャスト配信装置12のIPアドレス(IP12)で、ソースポートは規定されていない。これら2つのIPアドレス(IP10、IP12)は、この映像配信のフローを一意に識別するものである。また、このフロー情報にはマルチキャストフローである旨が記述されている。嗜好等にかかわるデータとして帯域幅には4つの段階の品質が存在し、それぞれ32kbps,320kbps,1Mbps,8Mbpsとなっている。これらはそれぞれ基本層、基本層と1つの拡張層の和、基本層と2つの拡張層の和、基本層と全拡張層の和の帯域幅となっている。また、各々に対する嗜好レベルは必須/*2/*5/*3となっている。
さらに、このフローはマルチキャストフロー(階層符号化マルチキャストフロー)なので、各帯域幅に対してIPアドレス情報が付帯されている。これらは、IP12を有するマルチキャスト配信装置12から送信される階層符号化マルチキャストパケットのディスティネーションマルチキャストIPアドレスとして利用されるものであり、基本層A・拡張層B・拡張層C・拡張層Dのデータを送信する際には、それぞれIP31・IP32・IP33・IP34を使用する。
第1の実施形態と同様、各分岐点は通常のマルチキャストルーティングプロトコルによって分岐点化した段階で、図2のシーケンス図に示すような過程を経て、自身に割り当てられているIPアドレスとマルチキャストIPアドレスを、分岐点管理サーバ13へ登録しているものとする。また、分岐点管理サーバ13は各分岐点のIPアドレスとマルチキャストIPアドレスとを対応させて管理しているものとする。図25に、その対応表の1例を示す。
ここで、通信端末10の通信管理部10bは各マルチキャストアドレスに対応した分岐点アドレスリストを分岐点管理サーバ13から取得する。分岐点管理サーバ13は、通信端末10のIPアドレスとマルチキャストIPアドレスから、通信端末10の分岐点が何処となるかを把握しており、それを通信端末10からの要求に対して通知する。ここで、分岐点3〜6は各々異なっても良いし、同じ分岐点(実は分岐点3,4が同じ装置という意味)でも良い。
次に、通信端末10は、自身のNIC情報(図20参照)を通信端末11に対して送信する。通信端末11は、通信端末10から受信した通信端末10のNIC情報に通信端末11が持つNIC情報を追加したもの(図22参照)を添付して、パス情報(図21参照)として通信端末10へ送信する。なお、図21においては、帯域幅(BW)が未確定のため、空欄となっている。本実施形態においては、通信端末10の通信管理部10bがネットワーク状態を従来の手法を利用して測定し、帯域幅を把握した場合のパス情報を図23に示す。
ここで、通信端末10の通信管理部10bは各フローがどれだけの帯域を利用してもよいかを判断する。本実施形態の場合、通信端末10における通信管理部10bは、現在3つのフローを扱っていると認識する。ここで、各フロー(TV電話の音声、TV電話の画像、および動画視聴の3つのフロー)には優先度が設定されている。これは、より優先度の高いフローが、より多くの帯域を占有する権利があるためである。この優先度は、あらかじめ決められていても良いし、その都度ユーザが通信端末10に表示されるユーザインタフェース(例えば、GUI:Graphical User Interface)から決定しても良い。このGUIの例を図24に示す。
また、帯域の割り振りは、例えば、図13に示すようなフローチャートに基づいて行っても良いし、図14に示すようなフローチャートに基づいて行ってもよい。本実施形態では、図13を例にとって説明する(なお、図14に関しては第3の実施形態の項で説明する)。
今、TV電話の音声のフローが最も優先度が高く、次に動画視聴、最も優先度の低いものが、TV電話の画像とする。その結果、通信端末10の通信管理部10bは、まずTV電話の音声に帯域を割り当てる。ここで、図13のBW(MAX)とはフローの要求する最大の帯域で、BW(MIN)はフローが要求する最低の帯域で、BW(可用)とはネットワーク状態において把握される通信端末10が利用可能な帯域である。このBW(可用)が3Mbpsであるとする。また、この通信端末10の有する利用可能な帯域以外にも、各パスで利用可能な帯域(図23参照)、通信メディアで利用可能な帯域(図22参照)も同時に所有しており、それぞれの利用可能な帯域を越えないように割り当てて行く。
まず、各フローに最低限の帯域を割り当てる(ステップS11)。これは、図18及び図19から、TV電話の音声(フロー10−1)が8kbpsで、TV電話の画像(フロー10−2)が0、動画視聴(フロー10−3)が32kbpsとなっていて、この帯域だけは最初に割り当てる。このとき、残りのBW(可用)は、3Mbps−(32kbps+8kbps)=2.96Mbpsになる。
次に、フロー10−1に注目し、残った2.96Mbpsの半分(1.48Mbps)+8kbpsと最大要求帯域である64kbpsでどちらが小さいかを判断する(ステップS12、13)。その結果、より小さい64kbpsが選択され、フロー10−1に割り振られる。このとき、2.96Mbps−(64kbps−8kbps)=2.904Mbpsが残りのBW(可用)になる。(ステップS14)。そして、このフローの優先度を最下位とする(ステップS16)。
さらに、このフロー10−1がどのパスを使用するか決定する。本実施形態においては、通信端末11は通信メディアを一つしか所有していないので、通信端末10の所有する通信メディア数とパスの数は同じになり、図23に示すパス情報のようにパスの数は2つとなる。フロー10−1に関しては、パス1、パス2どちらを利用しても64kbpsを利用可能となる。
ここで、どちらのパスを利用する方が都合が良いかをスコアを用いて計算する。スコアの計算方法は、以下のように行う。まず、帯域に関しては、要求する帯域を満足する場合は100×嗜好レベル、満足しない場合は80×嗜好レベルとし、フローの要求する帯域に対して和を取り、その値を帯域に対するスコアとする。遅延差に関しては、0msの場合は粗点を100点とし、2ms遅くなる毎に1点減点する。さらに、その点に嗜好レベルを積算したものを遅延差に対するスコアとする。コストに対してはコストが0のものを粗点100点とし、コストが1上がる毎に粗点から5点減点する。さらに、その点に嗜好レベルを積算したものをコストに対するスコアとする。
本実施形態においては、フロー10−1の得点は、パス1が(100×4(帯域64kbpsに対するスコア))+(85×5(遅延差に対するスコア))+(100×0(コストに対するスコア))=825点となる。同様にパス2では、(100×4(帯域64kbpsに対するスコア))+(100×5(遅延差に対するスコア))+(100×0(コストに対するスコア))=900点となり、パス2がよりすぐれていると判断され、パス2が使用される。
次に、現在もっとも優先度の高いフロー10−3に関して、帯域を割り振る(ステップS12)。これは、図13に基づき、2.904Mbpsの半分(1.452Mbps)+32kbps=1.484Mbpsと8Mbpsとを比較して、1.484Mbpsをフロー10−3に割り当てる(ステップS13、14)。そして、このフローの優先度を最下位とする(ステップS16)。
さらに、フロー10−3に関してどのパスを利用するかであるが、本フローは階層符号化マルチキャストのフローであることを通信管理部10bは把握している。その結果、通常のフローでは、フロー毎にどのパスを選択するかだけであったが、本発明においては、本フローは各階層毎に使用パスを選択可能となる。また、この際使用する通信メディアによって分岐点が異なることもある。これらを考慮のうえ各階層毎にパスを選択する。以下、具体的に述べる。
まず、階層符号化における各階層と1対1に対応するマルチキャストIPアドレスに対して、分岐点が何処になるかを把握する。これは分岐点管理サーバ13(IP13)から取得する図25に示すような情報に基づいて行う。この際に、各NIC100、101の持つIPアドレス及びディスティネーションマルチキャストIPアドレスから分岐点のIPアドレスを取得する。
図25によれば、ディスティネーションマルチキャストIPアドレスがIP31である場合に、NIC100の接続先となる分岐点のIPアドレスはIP311であり、また、NIC101の接続先となる分岐点のIPアドレスはIP312であることがわかる。以下同様にして、それぞれのディスティネーションマルチキャストIPアドレスに対し、各NICの接続先となる分岐点のIPアドレスを取得できる。この結果、その分岐点のIPアドレスと自身の通信メディアとの間でパスを作成し、パスのネットワーク状態の把握(測定)が可能となる。ネットワーク状態を把握した後のパス情報を図26(A)〜(D)に示す。なお、このフローに関しては、RTT遅延差ではなく、GPSシステムなどをお互いに具備しており、絶対遅延を把握できたものとする。
これらをもとに、フロー10−3の帯域割り当て、及び、パスの割り当て方法を説明する。まず、基本層であるBW1すなわちディスティネーションマルチキャストIPアドレスがIP31のフローは、先ほど割り当てられた1.484Mbps以下に入るので、使用可能と判断される。次にパス3、4のどちらを利用するかを、前述と同様にスコア付けによって決定する。パス3のスコアは、帯域スコアは必須なのでスコアは付けず、(95×5(遅延に関して))+(100×0(コストに関して))=475点と評価される。パス4に関しては(90×5(遅延に関して))+(100×0(コストに関して))=450点となり、パス3を使用する。
次に、BW2すなわちディスティネーションマルチキャストIPアドレスがIP32のフローも、先ほど割り当てられた1.484Mbps以下に入るので、使用可能と判断される。次にパス5,6のどちらを利用するかを決定する。この際、前述と同様にスコアをつけ、パス5のスコアは、パス5を利用してもこのフローはカバーできて、スコアは(100×2(帯域に対して))+(90×5(遅延に関して))+(100×0(コストに関して))=650点と評価される。パス6に関してのスコアは(100×2(帯域に対して))+(97.5×5(遅延に関して))+(100×0(コストに関して))≒687(小数点以下切捨て)となる。この結果、パス6が選択される。
次に、BW3すなわちディスティネーションマルチキャストIPアドレスがIP33のフローも、先ほど割り当てられた1.484Mbps以下に入るので、使用可能と判断される。次にパス7,8のどちらを利用するかを決定する。前述と同様にスコアをつけ、パス7のスコアは、パス7を利用した場合このフローはカバーできず、(80×5(帯域に関して))+(96×5(遅延に関して))+(100×0(コストに関して))=880点となる。パス8を利用した場合は、カバーできてパス8に関してのスコアは(100×5(帯域に対して))+(92×5(遅延に関して))+(100×0(コストに関して))=960となる。この結果、パス8が選択される。ここで、帯域を使用しないのにスコアを計算しているのは、コスト・遅延等の嗜好の問題で、ネットワーク的にはそのフローを受信可能だが、受信しないことを選択する事も有り得るため、計算を行っている。
BW4に関しては、1.484Mbps以下に入らず、使用不可能と判断される。その結果、IP31宛のマルチキャストフローに関してはパス3(NIC100)が、IP32宛のマルチキャストフローに関してはパス6(NIC101)が、IP33宛のマルチキャストフローに関してはパス8(NIC101)が選択され、IP34宛のマルチキャストフローに関しては受信しないことが選択される。以上から、受信可能な最高品質のマルチキャストフロー(フロー10−3)はBW3となり、ここで使用された帯域は1Mbpsであるので、最終的に、2.904Mbpsから1Mbpsを引いて、1.904Mbpsが残りの可用帯域となる。
最後に現在もっとも優先度の高いフロー10−2に帯域を割り当てる(ステップS12)。まず、最大でフロー10−2が利用しても良い帯域を計算する。現在の可用帯域1.904Mbpsの半分(952kbps)+最低限の帯域(0kbps)=952kbpsと最大要求帯域(500kbps)とを比較し、小さい方の500kbpsを帯域に割り当てる。(ステップS13、15)。このフローの優先度を最下位とするが(ステップS16)、これで全てのフローに帯域を割り当てたので、帯域割り当てを終了する(ステップS17)。
次に、フロー10−2にパス1,2のどちらを利用するかを決定する。例えば、フロー10−2はフロー10−1と同一のパス情報(図23)を利用する。フロー10−1はパス2を利用するので、パス2の帯域は1.5Mbpsから64kbpsを引いて1.436Mbpsとなっている。まず、パス1を利用した場合のスコアを計算する。(100×3(BW2に対するスコア))+(100×2(BW3に対するスコア))+(85×1(遅延差に対するスコア))+(100×5(コストに対するスコア))=1085となる。パス2を使用した場合には、100×3(BW2に対するスコア))+(100×2(BW3に対するスコア))+(100×1(遅延差に対するスコア))+(100×5(コストに対するスコア))=1100となる。その結果、パス2を使用することを選択する。
以上をまとめると、フロー10−1と10−2に関してはパス2を選択し、フロー10−3に関してはBW1を利用する場合はパス3を、BW2を利用する場合はパス6を、BW3を利用する場合はパス8を選択する。
次に、これらの使用パス情報を、通信端末10は通信端末11に対して通知を行う。しかしながら、マルチキャスト配信装置12に対しては通知は行わない。通知された通信端末11では、フロー10−1と10−2の両方について通知されたパス2を使用するようにMobileIP管理部11dに対して設定を行う。すなわち、フローを特定する情報であるソースHoA(SrcHoA)、ソースポート(SrcPort)、ディスティネーションHoA(DstHoA)、ディスティネーションポート(DstPort)という4つのパラメータで決まるフローに対して、ルーティングの際に使用する2つのパラメータ(ソースCoA(SrcCoA)とディスティネーションCoA(DstCoA))に関する設定を行う。
図27は、フロー10−1に関する設定例であり、ソースHoAにはIP11を、ソースポートは任意で、ディスティネーションHoAにはIP10を、ディスティネーションポートには7080を設定し、また、ソースCoAにはCoA110(通信端末11におけるNIC110のIPアドレス)を、ディスティネーションCoAにはCoA101(通信端末10におけるNIC101のIPアドレス)を設定している。
フロー10−2についても同様に、ソースHoAにはIP11を、ソースポートは任意で、ディスティネーションHoAにはIP10を、ディスティネーションポートには9080を設定し、また、ソースCoAにはCoA110(通信端末11におけるNIC110のIPアドレス)を、ディスティネーションCoAにはCoA101(通信端末10におけるNIC101のIPアドレス)を設定している(図28参照)。
以上でTV電話に関する使用パスの設定が完了したので、次に、通信端末10の通信管理部10bは、図29に示すようなネットワーク状態をTV電話アプリケーション10cに通知する。このネットワーク状態を受けたTV電話アプリケーション10cは、通信端末11のTV電話アプリケーション11cに対して、SIP/SDP re−INVITEメッセージでコーデックの変更希望を送信する。
次にマルチキャストフローである10−3に関して説明する。このフローはマルチキャストであるので、MultipleCoAやMobileIPの設定は不要となる。その代わりに、各マルチキャストフローに対して、参加する必要が有る。これは、さらに、自身の欲しい通信メディアから発する必要が有る。
つまり、IP31宛のマルチキャストフローに対しては、ソースアドレスをCoA100としてNIC100からDefault GWであるルータ1へ参加メッセージを送信することによって、分岐点3からパス3経由でマルチキャストパケットを受信する。以下同様に、IP32宛のマルチキャストフローに対してはソースアドレスをCoA101としてNIC101からDefault GWであるルータ2へ参加メッセージを送信することで、分岐点4からパス6経由でマルチキャストパケットを受信する。IP33宛のマルチキャストフローに対しても、ソースアドレスをCoA101としてNIC101からDefault GWであるルータ2へ参加メッセージを送信することで、分岐点5からパス8経由でマルチキャストパケットを受信する。これらの参加メッセージは通信管理部10bが発信する。
また、第1の実施形態でも述べたように、一定時間ネットワーク状態を測定し、図26に示すような各パスのネットワークの平均遅延や分散・標準偏差などの値を算出した後、全パスの平均遅延差の標準偏差σを算出して、全パスの平均遅延差と3σの和に相当するデータ量をバッファ量として設定することで、動画視聴アプリケーション10cは、好ましい帯域でマルチキャストフローを得ることが可能になる。
本実地形態において、動画視聴アプリケーション10aに対して、ネットワーク状態として図30のようなネットワーク状態を得る。この結果、動画視聴アプリケーション10aでは、好ましい帯域でマルチキャストフローを得ることが可能となると共に、遅延の差を考慮してバッファ量を調節することが可能となる。
[第3の実施形態]
次に本発明の第3の実施形態について説明する。本実施形態は第2の実施形態において、帯域の割り当て方法を変えたものである。なお、必要な情報は第2の実施形態と同じものを用いる。現在通信端末10の通信管理部10bではフロー情報と、パスの情報、ネットワーク状態を把握しているものとする。
まず、通信管理部10bでは各フロー(TV電話の音声、TV電話の画像、動画視聴)に対して帯域を図14に示すような方法を用いて割り当てる(ステップS21)。まず、最も優先度の高いフロー10−1(TV電話の音声)に注目する。現在TV電話音声には帯域が割り振られていないので(ステップS22 NO、ステップS23 YES)、最低帯域(8kbps)が割り当てられ、2,992kbpsが残りの可用帯域となり(ステップS25)、TV電話の音声の優先度を最も低くする(ステップS27)。
次に、現在もっとも優先度の高いフロー10−3(動画視聴)に関して注目する(ステップS21)。同様に最低帯域の32kbpsを割り当て、同様に2960kbpsが残りの可用帯域となり(ステップS26)、動画視聴の優先度を最も低くする(ステップS27)。
次に、フロー10−2(TV電話の画像)に注目する(ステップS21)。フロー10−2の最低帯域は0kbpsなので、0kbpsを割り当てる(ステップS22、23、25)。これは、BW1まで現在は使用していることに意味がある。そしてTV電話の画像の優先度を最も低くする(ステップS27)。
次は、もう一度、フロー10−1(TV電話の音声)に戻る(ステップS21)。残りの可用帯域幅は現在2960kbpsであるので、64kbpsの帯域を割り当てることが可能である。このフロー10−1に64kbpsの割り当てると、残りの可用帯域は、2960−56=2904kbpsとなる(ステップS22、23、25)。そしてTV電話の音声の優先度を最も低くする(ステップS27)。
次に、フロー10−3(動画視聴)に関して注目し、同様に320kbpsを割り当て、同様に2616kbpsが残りの可用帯域となる(ステップS21〜23、25)。そして動画視聴の優先度を最も低くする(ステップS27)。
次にフロー10−2(TV電話の画像)に注目する(ステップS21)。現在0kbpsが割り当てられており、残りの可用帯域幅は現在2616kbpsであるので、100kbpsの帯域を割り当てることが可能である。このフローに100kbpsが割り当てられ、この結果残りの可用帯域は2516kbpsとなる(ステップS22、23、25)。そしてTV電話の画像の優先度を最も低くする(ステップS27)。
また、フロー10−1に戻る(ステップS21)。このとき、フロー10−1は既に最大の帯域を割り当てられているので、フロー10−1への帯域割り当ては終了する(ステップS22、24)。
次にフロー10−3に注目する(ステップS21)。現在320kbpsが割り当てられており、残りの可用帯域幅は現在2516kbpsであるので、1Mbpsの帯域を割り当てることが可能である。このフローに1Mbpsを割り当てられ、残りの可用帯域が1836kbpsとなる(ステップS22、23、25)。そして動画視聴の優先度を最も低くする(ステップS27)。
次にフロー10−2(TV電話の画像)に注目する(ステップS21)。現在100kbpsが割り当てられており、残りの可用帯域幅は現在1836kbpsであるので、500kbpsの帯域を割り当てることが可能である。このフローに500kbpsが割り当てられ、この結果残りの可用帯域は1436kbpsとなる(ステップS22、23、25)。そしてTV電話の画像の優先度を最も低くする(ステップS27)。
フロー10−1への割り当ては終わっているので、フロー10−3に注目する(ステップS21)。フロー10−3には既に1Mbpsが割り当てられており、次に8Mbpsの帯域を割り当てようとするが、残りの可用帯域(1436kbps)は8Mbpsよりも小さいために割り当てることができず、このフローへの割り当てを終了する(ステップS22、23、26)。
最後にフロー10−2(TV電話の画像)に注目する(ステップS21)。現在500kbpsが割り当てられているので、これはフロー10−2としては最高品質となっている(ステップS22 YES)。その結果、フロー10−2への割り当ても終了して(ステップS24)、これで、全てのフローへの帯域の割り当てが終了したので(ステップS28)、全てのフローへの帯域割り当てを終了する。
次に各フローをどのパスに割り当てるかを検討する。これは第1および第2の実施形態とは少し異なった方法で検討する。フロー10−1はパス1,2から選択し、フロー10−2も同様にパス1,2から選択し、フロー10−3に関しては、BW1はパス3,4から、BW2はパス5,6から、BW3はパス7,8から選択し、BW4はいずれのパスを選択しても帯域不足であるため、今回は考慮しない。その結果、2×2×2×2×2の32通りの組み合わせを考慮する。この組み合わせ表を図31に示す。この各組み合わせに対して、第1および第2の実施形態と同様にフロー毎にスコアを付け、組み合わせ毎に合計をとり、最高得点となった組み合わせを選択する。
ここでは、組み合わせ15(フロー10−1はパス1、フロー10−2もパス1、フロー10−3−BW1はパス4、フロー10−3−BW2はパス6、フロー10−3−BW3はパス7の組み合わせ)が最高得点となったものとする。その結果、組み合わせ15を選択し、この組み合わせのうち、通信端末11との通信部分に関するものを通信端末11に送信する。つまり、通信端末10は、フロー10−1にはパス1を、フロー10−2にもパス1を用いたい旨を通信端末11に通知する。フロー10−3についても同様に、通信端末10は、基本層Aを受信する場合にはパス4を、拡張層Bを受信する場合にはパス6を、拡張層Cを受信する場合はパス7を利用することを通信端末11に対して通知する。その結果、通信端末11では、この通知されたパスを利用するようにMobile IP管理部11dを操作し、各フローが適切にルーティングされるようにする。
また、通信端末10では、フロー10−3に関しては、適切な通信メディアからマルチキャストフローを受信できるようにするため、参加メッセージを各NICから送信する。
具体的にはIP31すなわちBW1と対応する基本層に関しては、NIC101からIP31のマルチキャストグループに参加したいので、CoA101をソースアドレスとし、IP31をディスティネーションアドレスとした参加メッセージを送信する。IP32すなわちBW2と対応する第二層の階層に関してはCoA101をソースアドレスとし、IP32をディスティネーションアドレスとした参加メッセージを送信する。最後に、IP33すなわちBW3と対応する第三層の階層に関してはCoA100をソースアドレスとし、IP33をディスティネーションアドレスとした参加メッセージを送信する。これらの結果、適切なパスでマルチキャストフローを受け取ることが可能となる。
また、これらが決定した際に通信管理部10bは動画視聴アプリケーション10aとTV電話アプリケーション10cに、それぞれ通信端末10と分岐点3〜5の間のネットワーク状態と通信端末10と通信端末11と間のネットワーク状態を通知する。この結果、TV電話アプリケーション10cでは、TV電話の呼制御によって品質を上げることが可能となり、動画視聴アプリケーション10aでは、適切な待受けや遅延/遅延差の大きさに合わせたバッファ量の設定が可能となる。
以上、マルチキャスト配信装置が動画配信を行うことを例に本発明の階層符号化マルチキャスト通信システムを説明してきたが、本発明は動画配信に限定されることなく、種々のコンテンツ(例えば、音楽・ラジオ配信)に対応できるものである。
1,2,7…ルータ、3〜6…ルータ(分岐点)、3a〜6a…通信管理部、10,11…通信端末、10a…動画視聴アプリケーション、10b,11b…通信管理部、10c,11c…TV電話アプリケーション、10d,11d…MobileIP管理部、10e…判定手段、10f,10g…バッファ、12…マルチキャスト配信装置、13…分岐点管理サーバ。