【文献】
高橋 宏和 他,広帯域映像の多地点ストリーム配信における複製負荷分散手法の検討,電子情報通信学会技術研究報告,2008年 1月17日,第107巻,第444号,p.1〜5
(58)【調査した分野】(Int.Cl.,DB名)
【背景技術】
【0002】
近年、映像配信サービスにおけるコンテンツの充実や品質の向上に伴い、ネットワーク上に流れるマルチキャストトラヒックの量は増大している。そのため、ネットワークの帯域の更なる消費が懸念されている。ネットワークにおけるマルチキャスト配信の技術として、スヌーピングによる効率化が図られている(例えば特許文献1参照)。
【0003】
図9は、スヌーピングによるマルチキャスト配信を行うシステムの概略を示す図である。
図9に示されるシステムは、映像サーバ91、第一中継装置92、第二中継装置93、複数の通信装置94(94−1〜94−3)を備える。複数の通信装置94は、一つのVLAN(Virtual Local Area Network)に接続されている。
映像サーバ91は、ネットワークを介して複数の通信装置94に対し、映像データをマルチキャスト配信する。以下、マルチキャスト配信されているデータをマルチキャストデータという。第一中継装置92は、第二中継装置93よりも上流側(映像サーバ91側)に配置されており、ネットワークを介して映像サーバ91からマルチキャストデータを受信する。第一中継装置92は、マルチキャストデータを下流側(通信装置94側)に配置された第二中継装置93に転送する。
【0004】
第二中継装置93は、マルチキャストデータを要求している通信装置94が接続されたポートを記憶している。第二中継装置93は、第一中継装置92からマルチキャストデータを受信すると、マルチキャストデータを要求している通信装置94が接続されたポート(以下、「転送先ポート」という。)を判定し、転送先ポートの数に応じてマルチキャストデータをコピーする。そして、第二中継装置93は、コピーしたマルチキャストデータを、各転送先ポートから通信装置94へ転送する。
【発明を実施するための形態】
【0014】
[第一実施形態]
図1は、本発明の第一実施形態の映像配信システム1のシステム構成を示すシステム構成図である。まず、映像配信システム1の概略について説明する。
映像配信システム1は、映像サーバ101、複数台の中継装置102(102−1、102−2)、複数台の通信装置103(103−1〜103−3)を備える。複数の通信装置103は、一つのVLANに接続されている。
【0015】
映像サーバ101は、ネットワークを介して複数の通信装置103に対し、映像データをマルチキャスト配信する。中継装置102−1(本発明の第一中継装置又は第二中継装置と、通信制御装置と、に相当)は、中継装置102−2よりも上流側(映像サーバ101側)に配置されており、ネットワークを介して映像サーバ101からマルチキャストデータを受信する。中継装置102−1は、マルチキャストデータを下流側(通信装置103側)に配置された中継装置102−2に転送する。中継装置102−2(本発明の第一中継装置又は第二中継装置と、通信制御装置と、に相当)は、中継装置102−1からマルチキャストデータを受信すると、マルチキャストデータの宛先となっている通信装置103に対してマルチキャストデータを転送する。
【0016】
映像配信システム1では、システム内の通信状態に応じて、マルチキャストアドレスと配信先の通信装置103との組み合わせ毎にコピーポイントを制御する。コピーポイントとは、一つのマルチキャストデータを複数のデータ(マルチキャストデータ又はユニキャストデータ)に変換する際に生じるデータのコピー処理を行う装置を示す。従来はマルチキャストデータのコピー処理は、通信路の分岐点に位置する通信装置(例えば、
図9の第二中継装置93)が全て行っていた。しかし、映像配信システム1では、通信路の分岐点に位置する装置(中継装置102−2)と、通信路の分岐点よりも上流に位置する装置(中継装置102−1)とが分担してコピー処理処理を行う。すなわち、映像配信システム1ではコピーポイントを分散する。そのため、コピー処理が特定の中継装置102に集中してしまうことを防止し、装置の性能不足による通信品質の低下を軽減することが可能となる。
【0017】
<詳細>
以下、本発明の一実施形態の詳細について説明する。
図2は、映像配信システム1の中継装置102の機能構成を示す概略ブロック図である。中継装置102は、バスで接続されたCPU(Central Processing Unit)やメモリや補助記憶装置などを備え、中継プログラムを実行する。中継装置102は、中継プログラムを実行することによって、通信部201、中継部202、コピー部203、状態判定部204、状態情報記憶部205、移行判定部206、マルチキャスト情報記憶部207、移行部208を備える装置として機能する。なお、中継装置102の各機能の全て又は一部は、ASIC(Application Specific Integrated Circuit)やPLD(Programmable Logic Device)やFPGA(Field Programmable Gate Array)等のハードウェアを用いて実現されても良い。また、中継プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。中継プログラムは、電気通信回線を介して送信されても良い。
【0018】
通信部201は、ネットワークインターフェースとしての機能を有し、ネットワーク等の伝送路との間でデータの送受信を行う。
中継部202は、上流側に配置されている装置から受信したデータを下流側の装置に中継する。また、中継部202は、下流側に配置されている装置から受信したデータを上流側の装置に中継する。
また、中継部202は、マルチキャストデータを受信した場合には、マルチキャスト情報記憶部207が記憶するマルチキャスト情報テーブルと、受信したマルチキャストデータのマルチキャストアドレスと、に基づいてコピー処理を行うか否か判定する。コピー処理を行うと判定した場合には、コピー処理の実行をコピー部203に指示する。この後、中継部202は、コピー処理によって生成されたデータを下流側の装置に中継する。
【0019】
コピー部203は、中継部202から受ける指示に従って、一つのマルチキャストデータを複数のデータ(マルチキャストデータ又はユニキャストデータ)にコピーする。
状態判定部204は、中継装置102が設置された通信路における通信状態や自装置(中継装置102)の状態を判定する。状態判定部204が判定する通信状態は、例えば、パケットロス率、単位時間当たりの通信量、総マルチキャストデータ量、などである。総マルチキャストデータ量とは、マルチキャストアドレス宛のデータを受信している通信装置103と、そのマルチキャストアドレスとの組み合わせの総数を表す。例えば、通信装置103−1が2つのマルチキャストアドレス宛のデータを受信し、通信装置103−2も同じ2つのマルチキャストアドレス宛のデータを受信している場合には、総マルチキャストデータ量は“4”となる。自装置の状態は、例えばCPU負荷率、メモリ使用量などである。
【0020】
状態情報記憶部205は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。状態情報記憶部205は、状態情報(本発明の通信の状態に相当)を記憶する。状態情報は、状態判定部204の判定結果を表す情報である。
移行判定部206は、状態情報に対する移行条件を予め記憶している。移行条件は、通信品質の低下が生じる状態であるか否かを判定するための条件である。移行条件を満たさない場合には通信品質の低下が生じない(生じたとしても許容範囲にとどまる)ように、移行条件が設定される。
【0021】
移行判定部206は、状態情報記憶部205に記憶されている状態情報(状態判定部204の判定結果)が移行条件を満たしたか否かに基づいて、移行処理を行うか否か判定する。以下、移行判定処理の具体例について説明する。例えば、移行判定部206は、パケットロス率が所定値以上である状態が所定時間継続した場合に移行処理を行うと判定しても良い。例えば、移行判定部206は、単位時間当たりの通信量が所定値以上である状態が所定時間継続した場合に移行処理を行うと判定しても良い。例えば、移行判定部206は、総マルチキャストデータ量が所定値を超えた場合に移行処理を行うと判定しても良い。例えば、移行判定部206は、CPU負荷率が所定値以上である状態が所定時間継続した場合に移行処理を行うと判定しても良い。例えば、移行判定部206は、メモリ使用量が所定値以上である状態が所定時間継続した場合に移行処理を行うと判定しても良い。また、移行判定部206は、上述した条件のうち複数の条件が満たされた場合に移行処理を行うと判定しても良い。
【0022】
マルチキャスト情報記憶部207は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。マルチキャスト情報記憶部207は、マルチキャスト情報テーブルを記憶する。マルチキャスト情報テーブルは、自装置が接続されているネットワークにおけるマルチキャストデータのうち、自装置がコピー処理を行う対象となるマルチキャストデータを示す情報である。
移行部208は、移行判定部206によって移行処理を行うという判定がなされた場合に、他の中継装置102との間で移行処理を実行する。
【0023】
図3は、マルチキャスト情報テーブルの具体例を表す図である。マルチキャスト情報テーブルは、自装置が接続されたネットワークにおいてマルチキャストデータの要求元となる通信装置103の識別情報(例えばMACアドレス)毎に、要求される可能性のあるマルチキャストアドレス、配信フラグ、コピーポイントフラグを対応付けたレコード31を有する。配信フラグは、識別情報が表す通信装置103が、そのレコード31のマルチキャストアドレス宛のデータを要求しているか否かを表す。例えば、“1”は要求していることを表し、“0”は要求していないことを表す。コピーポイントフラグは、そのレコード31のマルチキャストアドレスが表すマルチキャストデータを、識別情報が表す通信装置103宛に送信する際に行われるコピー処理を、自装置が行うか否かを表す。例えば、“1”は自装置がコピー処理を行うことを表し、“0”は自装置がコピー処理を行わないことを示す。
【0024】
中継部202は、マルチキャストデータを受信すると、受信したマルチキャストデータのアドレス(マルチキャストアドレス)に対応するレコード31を参照し、コピーポイントフラグが“1”となっているレコード31を検索する。コピーポイントフラグが“1”となっているレコード31が無い場合、中継部202はコピー処理をコピー部203に指示することなく、マルチキャストデータを下流側に転送する。
【0025】
一方、コピーポイントフラグが“1”となっているレコード31が有る場合、中継部202は、検索されたレコード31に基づいてコピー処理をコピー部203に指示する。例えば、中継部202は、検索されたレコード31のMACアドレスに対応する通信装置103宛のデータを生成することをコピー部203に指示する。コピー部203は、中継部202の指示に応じてコピー処理を実行し、検索されたレコード31のMACアドレス宛に送信するためのデータを生成する。このとき、複数のレコード31が検索された場合には、コピー部203は検索されたレコード31の数に応じてコピー処理を実行する。
【0026】
図4は、中継装置102における移行処理に関する処理の流れを示すフローチャートである。状態判定部204は、状態判定を行うタイミングが到来すると状態判定を行う(ステップS101−YES、ステップS102)。状態判定部204は、判定結果を状態情報記憶部205に記録する。また、移行判定部206は、移行判定を行うタイミングが到来すると移行判定を行う(ステップS103−YES、ステップS104)。移行判定部206が移行処理を実行しないと判定した場合(ステップS105−NO)、中継装置102はステップS101の処理に戻る。
【0027】
移行判定部206が移行処理を行うと判定した場合(ステップS105−YES)、移行部208は他の中継装置102に対してコピー処理の移行を依頼する(ステップS106)。依頼先の中継装置102が移行を承諾しない場合(ステップS107−NO)、移行部208はさらに他の中継装置102(例えば所定時間内に依頼先となっていない中継装置102)があるか否か判定する。さらに他の中継装置102がある場合(ステップS108−YES)、その中継装置102に対してステップS106以降の処理を行う。他の中継装置102が無い場合(ステップS108−NO)、移行部208は移行処理を実行しないことを決定する(ステップS109)。そして、中継装置102はステップS101の処理に戻る。
【0028】
ステップS107の処理において、依頼先の中継装置102が移行承諾をした場合(ステップS107−YES)、移行部208は、移行を承諾した中継装置102との間で移行処理を行う(ステップS110)。具体的には以下の通りである。まず、移行部208は、マルチキャスト情報テーブルから移行処理の対象となるレコード31を選択する。例えば、移行部208は、コピーポイントフラグが“1”になってからの時間が最も短いレコード31を移行処理の対象として選択する。移行部208は、選択したレコード31のMACアドレス及びマルチキャストアドレスを、移行先の中継装置102に通知する。そして、移行部208は、マルチキャスト情報テーブルを更新する(ステップS111)。具体的には、移行部208は、移行処理の対象となったレコード31のコピーポイントフラグの値を“0”に変更する。
【0029】
図5は、移行先の中継装置102の処理の流れを示すフローチャートである。移行判定部206は、他の中継装置102から移行依頼を受信すると(ステップS201−YES)、移行受理判定処理を実行する(ステップS202)。移行受理判定処理は、移行受理条件を満たしたか否かによって判定される。移行受理条件は、移行条件と同じであっても良いし、異なる条件であっても良い。例えば、移行受理条件における所定値は、移行条件の所定値よりも高く設定されても良い。例えば、移行受理条件における所定時間は、移行条件の所定時間よりも長く設定されても良い。また、移行判定部206は、移行がなされた後の通信状態や自装置の状態を推定し、推定結果に基づいて移行受理条件を判定しても良い。
【0030】
移行受理条件が満たされない場合(ステップS203−NO)、移行部208は移行拒否を移行元の中継装置102に対して通知する(ステップS204)。一方、移行受理条件が満たされた場合(ステップS203−YES)、移行部208は移行承諾を移行元の中継装置102に対して通知する(ステップS205)。その後、移行部208は、移行元の中継装置102との間で移行処理を行う(ステップS206)。具体的には以下の通りである。まず、移行部208は、移行処理の対象となるレコード31を移行元の中継装置102から通知される。移行部208は、通知されたレコード31のMACアドレス及びマルチキャストアドレスに対応するレコード31を、自装置のマルチキャスト情報テーブルから検索する。そして、移行部208は、検索されたレコード31を更新する(ステップS207)。具体的には、移行部208は、移行処理の対象となったレコード31のコピーポイントフラグの値を“1”に変更する。
このように構成された映像配信システム1では、マルチキャスト配信を行う際の通信品質の低下を軽減することが可能となる。具体的には以下の通りである。
【0031】
映像配信システム1では、各中継装置102において、通信品質の低下が生じない(生じたとしても許容範囲にとどまる)ように、移行条件が設定されている。そして、移行条件が満たされた場合、すなわち通信品質の低下が生じる(許容範囲を超える)可能性が生じた場合には、コピー処理の一部又は全部を他の中継装置102に移行する。そして、いずれの中継装置102においても移行条件を満たさないようにコピー処理が分担される。そのため、マルチキャスト通信においてコピー処理の負担による通信品質の低下を軽減することが可能となる。
【0032】
<変形例>
映像配信システム1において、マルチキャスト配信されるデータは映像データに限定される必要は無い。
図1に示すシステム構成は一例に過ぎない。映像配信システム1のシステム構成は
図1に示される構成に限定されない。例えば、中継装置102の下流に複数の中継装置102が接続されても良い。
移行先の中継装置102が、一台のみで全てのコピー処理を行っても移行条件を満たさない場合には、複数の中継装置102でコピー処理を分担するのではなく、移行先の中継装置102のみによって全てのコピー処理が実行されても良い。
【0033】
コピー処理の移行が行われた後に、移行元の中継装置102において移行条件を満たさなくなった場合には、移行元の中継装置102の移行部208は移行先の中継装置102に対してコピー処理の移行を解除することを通知しても良い。この場合、移行先の中継装置102の移行部208は、移行元の中継装置102から移行を受けていたコピー処理を移行元の中継装置102に戻す処理を行っても良い。具体的には、それぞれの中継装置102において記録されている移行対象だったレコード31のコピーポイントフラグの値を移行前に戻す処理が行われる。
【0034】
[第二実施形態]
図6は、第二実施形態における映像配信システム1aのシステム構成を示すシステム構成図である。映像配信システム1aは、管理装置104(本発明の通信制御装置に相当)をさらに備える点で映像配信システム1(第一実施形態)と異なり、他の構成は同様である。
【0035】
図7は、映像配信システム1aの管理装置104の機能構成を表す概略ブロック図である。管理装置104は、バスで接続されたCPUやメモリや補助記憶装置などを備え、管理プログラムを実行する。管理装置104は、管理プログラムを実行することによって、通信部401、状態情報収集部402、状態情報記憶部403、移行判定部404、マルチキャスト情報記憶部405を備える装置として機能する。なお、管理装置104の各機能の全て又は一部は、ASICやPLDやFPGA等のハードウェアを用いて実現されても良い。また、管理プログラムは、コンピュータ読み取り可能な記録媒体に記録されても良い。コンピュータ読み取り可能な記録媒体とは、例えばフレキシブルディスク、光磁気ディスク、ROM、CD−ROM等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置である。中継プログラムは、電気通信回線を介して送信されても良い。
【0036】
通信部401は、ネットワークインターフェースとしての機能を有し、ネットワーク等の伝送路との間でデータの送受信を行う。
状態情報収集部402は、各中継装置102から状態情報を収集する。例えば、状態情報収集部402は、各中継装置102の状態判定部204によって送信された状態情報を受信することによって、各中継装置102の状態情報を収集しても良い。状態情報収集部402は、収集した状態情報を状態情報記憶部403に記録する。
【0037】
状態情報記憶部403は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。状態情報記憶部403は、状態情報記憶部403によって収集された各中継装置102の状態情報を記憶する。
移行判定部404は、状態情報に対する移行条件を予め記憶している。移行判定部404は、状態情報記憶部403に記憶されている各中継装置102の状態情報が移行条件を満たしたか否かに基づいて、移行処理を行うか否か判定する。移行判定部404は、移行処理を行うと判定した場合、移行先となる中継装置102を決定する。そして、移行判定部404は、移行元の中継装置102と移行先となる中継装置102とに対して移行処理の実行を指示する。
【0038】
マルチキャスト情報記憶部405は、磁気ハードディスク装置や半導体記憶装置などの記憶装置を用いて構成される。マルチキャスト情報記憶部405は、管理用マルチキャスト情報テーブルを記憶する。管理用マルチキャスト情報テーブルは、自装置が接続されているネットワークにおけるマルチキャストデータのうち、各中継装置102がコピー処理を行う対象となるマルチキャストデータを示す情報である。
【0039】
図8は、管理用マルチキャスト情報テーブルの具体例を表す図である。管理用マルチキャスト情報テーブルは、コピーポイントフラグに代えてコピーポイントIDを有する点でマルチキャスト情報テーブルと異なり、他の構成は同様である。コピーポイントIDは、そのレコードに対応するコピー処理を行う中継装置102を表す情報である。
【0040】
以下、移行判定部404が行う移行判定処理の具体例について説明する。例えば、移行判定部404は、ある中継装置102について移行条件を満たしたと判定した場合、移行先となりうる中継装置102の有無について判定する。このとき、移行判定部404は、例えば移行条件を満たした中継装置102(移行元)以外の各中継装置102について、移行受理判定処理を行う。そして、ある中継装置102について移行可能であると判定した場合、移行判定部404は、その中継装置102を移行先として選択する。その後、移行判定部404は、移行元の中継装置102に対して、移行対象となるレコード32を選択して、移行処理の実行を指示する。例えば、移行判定部404は、コピーポイントIDが移行元の中継装置102のIDになってからの時間が最も短いレコード32を移行処理の対象として選択する。
【0041】
各中継装置102の移行部208は、管理装置104から移行指示を受けると、受けた移行指示にしたがって移行処理を行う。移行部208は、移行処理が完了すると、管理装置104に完了したことを通知する。管理装置104の移行判定部404は、移行元の中継装置102と移行先の中継装置102の両方から完了の通知を受けると、マルチキャスト情報テーブルを更新する。具体的には、移行対象となったレコード32のコピーポイントIDを、移行元の中継装置102のIDから移行先の中継装置102のIDに変更する。
【0042】
このように構成された第二実施形態の映像配信システム1aにおいても、第一実施形態の映像配信システム1と同様の効果を得ることが可能となる。
また、第二実施形態の映像配信システム1aでは、移行元の中継装置102と移行先の中継装置102とを管理装置104が判断する。そのため、第一実施形態の映像配信システム1とは異なり、移行先を決定する際に生じる中継装置102同士の通信を削減することが可能となる。
【0043】
<変形例>
第二実施形態の映像配信システム1aは、第一実施形態と同様に変形して構成されても良い。
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。