(57)【要約】【課題】配信装置が無用にコンテンツデータの複製をキャッシュしないようにでき、新たに視聴要求した視聴者の待ち時間が無用に長くなることを防止できるマルチキャスト配信制御装置、コンピュータプログラム、マルチキャスト配信制御システム及びマルチキャスト配信制御方法を提供する。【解決手段】配信制御サーバが視聴要求を受け付け、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したときであって（Ｓ１０４でＹＥＳ）、キャッシュ生成に要する必要時間が配信中のコンテンツデータの視聴が終了するまでの残り時間より短いと判断した場合（Ｓ１１１でＹＥＳ）、視聴要求されたコンテンツデータの複製を他の外部装置にキャッシュさせる生成指示をストリーミングサーバに送信するとともに受け付けた視聴要求を受付順に待ち状態にすべく視聴者予約リストＴ２へ登録する（Ｓ１１３）。【選択図】図８
2009089019.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツデータの視聴要求を順次受け付ける手段と、受け付けた視聴要求に応じてコンテンツデータを配信させる配信指示を第一の外部装置に送信する配信指示手段と、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になるか否かを判断する配信判断手段と、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したとき、受け付けた視聴要求を受付順で待ち状態にする制御手段とを備えるマルチキャスト配信制御装置において、
視聴要求されたコンテンツデータの複製を第二の外部装置にキャッシュさせる生成指示を第一の外部装置に送信する生成指示手段と、
キャッシュ生成に要する必要時間を算出する第１算出手段と、
第一の外部装置により配信されているコンテンツデータの視聴が終了するまでの残り時間を算出する第２算出手段と、
前記必要時間が前記残り時間より短いか否かを判断する時間判断手段と
を備え、
前記制御手段は、前記時間判断手段にて前記必要時間が前記残り時間より短いと判断した場合、前記生成指示手段によりキャッシュの生成指示を送信するようにしてあることを特徴とするマルチキャスト配信制御装置。
【請求項２】
前記制御手段にて受け付けた視聴要求を待ち状態にしている場合、コンテンツデータの配信を一時停止させない禁止指示を第一の外部装置に送信する禁止指示手段を更に備え、
第２算出手段は、前記禁止指示手段にてコンテンツデータの配信を一時停止させない状態での、該コンテンツデータの視聴が終了するまでの残り時間を算出するようにしてあることを特徴とする請求項１に記載のマルチキャスト配信制御装置。
【請求項３】
前記禁止指示手段は、一時停止の累積時間が予め設定された時間を超えた場合に禁止指示を第一の外部装置に送信するようにしてあることを特徴とする請求項２に記載のマルチキャスト配信制御装置。
【請求項４】
前記禁止指示手段は、一時停止の回数が予め設定された回数を超えた場合に禁止指示を第一の外部装置へ送信するようにしてあることを特徴とする請求項２に記載のマルチキャスト配信制御装置。
【請求項５】
コンピュータに、コンテンツデータの視聴要求を順次受け付け、受け付けた視聴要求に応じてコンテンツデータを配信させる配信指示を第一の外部装置に送信し、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になるか否かを判断し、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したとき、受け付けた視聴要求を受付順で待ち状態にさせるコンピュータプログラムにおいて、
視聴要求されたコンテンツデータの複製を第二の外部装置にキャッシュさせる必要時間を算出させるステップと、
外部装置により配信されているコンテンツデータの視聴が終了するまでの残り時間を算出させるステップと、
前記必要時間が前記残り時間より短いか否かを判断させるステップと、
受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したときであって、前記必要時間が前記残り時間より短いと判断した場合、視聴要求されたコンテンツデータの複製を第二の外部装置にキャッシュさせる生成指示を第一の外部装置に送信させるステップと
をコンピュータに実行させるようにしてあることを特徴とするコンピュータプログラム。
【請求項６】
コンテンツデータをマルチキャスト配信する複数の配信装置と、該配信装置と通信可能な配信制御装置とを備え、該配信制御装置は、コンテンツデータの視聴要求を順次受け付ける手段と、受け付けた視聴要求に応じてコンテンツデータを配信させる配信指示を前記配信装置に送信する配信指示手段と、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になるか否かを判断する配信判断手段と、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したとき、受け付けた視聴要求を受付順で待ち状態にする制御手段とを備え、各配信装置は、前記配信制御装置から送信された配信指示を受信する手段と、受信した配信指示に応じてコンテンツデータをマルチキャスト配信する手段とを備えるマルチキャスト配信制御システムにおいて、
前記配信制御装置は、
視聴要求されたコンテンツデータの複製を他の配信装置にキャッシュさせる生成指示を配信装置に送信する生成指示手段と、
キャッシュ生成に要する必要時間を算出する第１算出手段と、
配信装置により配信されているコンテンツデータの視聴が終了するまでの残り時間を算出する第２算出手段と、
前記必要時間が前記残り時間より短いか否かを判断する時間判断手段と
を備え、
前記配信装置は、
前記配信制御装置から送信された生成指示を受信する手段と、
受信した生成指示に応じて視聴要求されたコンテンツデータを複製し、コンテンツデータの複製を他の配信装置へ送信する手段と
を備え、
前記他の配信装置は、
前記配信装置から送信されたコンテンツデータの複製を受信する手段と、
受信したコンテンツデータの複製をキャッシュする手段と、
前記配信制御装置から送信された配信指示を受信したとき、キャッシュしてあるコンテンツデータをマルチキャスト配信する手段と
を備え、
前記制御手段は、前記時間判断手段にて前記必要時間が前記残り時間より短いと判断した場合、前記生成指示手段によりキャッシュの生成指示を送信するようにしてあることを特徴とするマルチキャスト配信制御システム。
【請求項７】
コンテンツデータをマルチキャスト配信する複数の配信装置を制御する配信制御装置でコンテンツデータの視聴要求を順次受け付け、受け付けた視聴要求に応じてコンテンツデータを配信させる配信指示を前記配信装置に送信すると共に、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になるか否かを判断し、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したとき、受け付けた視聴要求を受付順で待ち状態にし、各配信装置で前記配信制御装置から送信された配信指示を受信し、受信した配信指示に応じてコンテンツデータをマルチキャスト配信するマルチキャスト配信制御方法において、
前記配信制御装置は、
視聴要求されたコンテンツデータの複製を他の配信装置にキャッシュさせる生成指示を配信装置に送信し、
キャッシュ生成に要する必要時間を算出し、
配信装置により配信されているコンテンツデータの視聴が終了するまでの残り時間を算出し、
前記必要時間が前記残り時間より短いが否かを判断し、
受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したときであって、前記必要時間が前記残り時間より短いと判断した場合、視聴要求されたコンテンツデータの複製を他の配信装置にキャッシュさせる生成指示を配信装置に送信すると共に受け付けた視聴要求を受付順で待ち状態にし、
前記配信装置は、
前記配信制御装置から送信されたキャッシュの生成指示を受信し、
受信した生成指示に応じて視聴要求されたコンテンツデータを複製し、コンテンツデータの複製を他の配信装置へ送信し、
前記他の配信装置は、
前記配信装置から送信されたコンテンツデータの複製を受信し、
受信したコンテンツデータの複製をキャッシュし、
前記配信制御装置から送信された配信指示を受信したとき、キャッシュしてあるコンテンツデータをマルチキャスト配信することを特徴とするマルチキャスト配信制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンテンツデータのマルチキャスト配信の同時配信数を最適に調整することができるマルチキャスト配信制御装置、コンピュータプログラム、マルチキャスト配信制御システム及びマルチキャスト配信制御方法に関する。
【背景技術】
【０００２】
近年、ブロードバンドの普及により、インターネットなどの通信網において複数の通信端末装置を指定してコンテンツデータを同時配信するマルチキャストができるようになった。従来のマルチキャストは、配信制御サーバが配信すべきデータをパケットバッファに記憶しておき、配信数に応じてパケットバッファから読み出されたデータを複数個コピーして配信するようにしていた。更に、ＴＣＰ／ＩＰネットワークでは、配信制御サーバが指定した複数の通信端末装置へデータを配信したとき、通信経路上のルータが指定した通信端末装置に応じてデータを自動的に複数していくようにし、通信網のトラフィックを圧迫することなく効率よく配信することができた。そのため、従来のマルチキャストは、特にストリーミング・ビデオ・オンデマンド（Streaming Video On Demand）などの映像を配信するために広く普及した。
【０００３】
しかし、従来のマルチキャストでは、多数の通信端末装置からのコンテンツデータの視聴要求が集中した場合、リンク帯域、ルータのパケット複製能力、ルータの管理能力等がオーバーフローしてマルチキャストが不可能となり、コンテンツデータの安定的な配信が不可能となる問題を有していた。
【０００４】
そこで、従来のマルチキャストでは、マルチキャストの同時配信に制限数を設けることにより、高品質のコンテンツデータを安定的に配信できるようにした配信制御システムが提案された（例えば、特許文献１）。特許文献１に記載された配信制御システムは、最大配信数及び同時配信数を計数して記憶する配信制御サーバがコンテンツデータの配信を制御する。配信制御サーバは、各通信端末装置から視聴要求を受け付けた場合、同時配信数を計数し、計数した同時配信数が最大配信数を超えない限り、コンテンツデータの配信を続ける。
【特許文献１】特開２００５−２２９４６５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、特許文献１に記載された配信制御システムでは、人気のあるコンテンツデータに視聴要求が集中して最大配信数を超える状態が続くような場合、先に視聴要求した通信端末装置での視聴が終了し、後から視聴要求した通信端末装置での視聴を開始させるよう、順次視聴させるように制御するので、先に視聴要求した通信端末装置が確立したセッションを開放するまで、後から視聴要求した通信端末装置に対してコンテンツデータの配信ができず、後から視聴要求した通信端末装置の待ち時間が不確定となるという問題を有していた。また、コンテンツデータの配信依頼者にあっても、自らが依頼したコンテンツの視聴稼働率が上がらず、無用な依頼費用を強いられるという問題を有していた。
【０００６】
このような場合、コンテンツデータの複製を別の配信装置にキャッシュし、キャッシュした別の配信装置がコンテンツデータの配信を行うことにより、通信端末装置での待ち時間を短縮できる制御システムが考えられる。しかし、コンテンツデータの複製を別の配信装置にキャッシュするための必要時間が通信端末装置での待ち時間を超えるような場合にまで一律キャッシュを行うだけでは、却って待ち時間を無用に長引かせることになるため、このような制御システムは、採用するに値しない。
【０００７】
本発明はこのような事情を鑑みてなされたものであり、その目的とするところは、受け付けた視聴要求に応じてコンテンツデータの配信指示を外部装置へ送信するマルチキャスト配信制御装置が、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したとき、受け付けた視聴要求を受付順に待ち状態にし、更にキャッシュ生成に要する必要時間が配信中のコンテンツデータの視聴が終了するまでの残り時間より短いと判断した場合、視聴要求されたコンテンツデータの複製を他の外部装置にキャッシュさせる生成指示を外部装置に送信することにより、配信装置が無用にコンテンツデータの複製をキャッシュしないようにでき、後から視聴要求した視聴者の待ち時間が無用に長くなることを防止できるマルチキャスト配信制御装置、コンピュータプログラム、マルチキャスト配信制御システム及びマルチキャスト配信制御方法を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を解決するために本発明に係るマルチキャスト配信制御装置は、コンテンツデータの視聴要求を順次受け付ける手段と、受け付けた視聴要求に応じてコンテンツデータを配信させる配信指示を第一の外部装置に送信する配信指示手段と、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になるか否かを判断する配信判断手段と、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したとき、受け付けた視聴要求を受付順で待ち状態にする制御手段とを備えるマルチキャスト配信制御装置において、視聴要求されたコンテンツデータの複製を第二の外部装置にキャッシュさせる生成指示を第一の外部装置に送信する生成指示手段と、キャッシュ生成に要する必要時間を算出する第１算出手段と、第一の外部装置により配信されているコンテンツデータの視聴が終了するまでの残り時間を算出する第２算出手段と、前記必要時間が前記残り時間より短いか否かを判断する時間判断手段とを備え、前記制御手段は、前記時間判断手段にて前記必要時間が前記残り時間より短いと判断した場合、前記生成指示手段によりキャッシュの生成指示を送信するようにしてあることを特徴とする。
【０００９】
また、本発明に係るマルチキャスト配信制御装置は、前記制御手段にて受け付けた視聴要求を待ち状態にしている場合、コンテンツデータの配信を一時停止させない禁止指示を第一の外部装置に送信する禁止指示手段を更に備え、第２算出手段は、前記禁止指示手段にてコンテンツデータの配信を一時停止させない状態での、該コンテンツデータの視聴が終了するまでの残り時間を算出するようにしてあることを特徴とする。
【００１０】
また、本発明に係るマルチキャスト配信制御装置は、前記禁止指示手段は、一時停止の累積時間が予め設定された時間を超えた場合に禁止指示を第一の外部装置に送信するようにしてあることを特徴とする。
【００１１】
また、本発明に係るマルチキャスト配信制御装置は、前記禁止指示手段は、一時停止の回数が予め設定された回数を超えた場合に禁止指示を第一の外部装置へ送信するようにしてあることを特徴とする。
【００１２】
また、本発明に係るコンピュータプログラムは、コンピュータに、コンテンツデータの視聴要求を順次受け付け、受け付けた視聴要求に応じてコンテンツデータを配信させる配信指示を第一の外部装置に送信し、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になるか否かを判断し、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したとき、受け付けた視聴要求を受付順で待ち状態にさせるコンピュータプログラムにおいて、視聴要求されたコンテンツデータの複製を第二の外部装置にキャッシュさせる必要時間を算出させるステップと、外部装置により配信されているコンテンツデータの視聴が終了するまでの残り時間を算出させるステップと、前記必要時間が前記残り時間より短いか否かを判断させるステップと、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したときであって、前記必要時間が前記残り時間より短いと判断した場合、視聴要求されたコンテンツデータの複製を第二の外部装置にキャッシュさせる生成指示を第一の外部装置に送信させるステップとをコンピュータに実行させるようにしてあることを特徴とする。
【００１３】
また、本発明に係るマルチキャスト配信制御システムは、コンテンツデータをマルチキャスト配信する複数の配信装置と、該配信装置と通信可能な配信制御装置とを備え、該配信制御装置は、コンテンツデータの視聴要求を順次受け付ける手段と、受け付けた視聴要求に応じてコンテンツデータを配信させる配信指示を前記配信装置に送信する配信指示手段と、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になるか否かを判断する配信判断手段と、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したとき、受け付けた視聴要求を受付順で待ち状態にする制御手段とを備え、各配信装置は、前記配信制御装置から送信された配信指示を受信する手段と、受信した配信指示に応じてコンテンツデータをマルチキャスト配信する手段とを備えるマルチキャスト配信制御システムにおいて、前記配信制御装置は、視聴要求されたコンテンツデータの複製を他の配信装置にキャッシュさせる生成指示を配信装置に送信する生成指示手段と、キャッシュ生成に要する必要時間を算出する第１算出手段と、配信装置により配信されているコンテンツデータの視聴が終了するまでの残り時間を算出する第２算出手段と、前記必要時間が前記残り時間より短いか否かを判断する時間判断手段とを備え、前記配信装置は、前記配信制御装置から送信された生成指示を受信する手段と、受信した生成指示に応じて視聴要求されたコンテンツデータを複製し、コンテンツデータの複製を他の配信装置へ送信する手段とを備え、前記他の配信装置は、前記配信装置から送信されたコンテンツデータの複製を受信する手段と、受信したコンテンツデータの複製をキャッシュする手段と、前記配信制御装置から送信された配信指示を受信したとき、キャッシュしてあるコンテンツデータをマルチキャスト配信する手段とを備え、前記制御手段は、前記時間判断手段にて前記必要時間が前記残り時間より短いと判断した場合、前記生成指示手段によりキャッシュの生成指示を送信するようにしてあることを特徴とする。
【００１４】
また、本発明に係るマルチキャスト配信制御方法は、コンテンツデータをマルチキャスト配信する複数の配信装置を制御する配信制御装置でコンテンツデータの視聴要求を順次受け付け、受け付けた視聴要求に応じてコンテンツデータを配信させる配信指示を前記配信装置に送信すると共に、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になるか否かを判断し、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したとき、受け付けた視聴要求を受付順で待ち状態にし、各配信装置で前記配信制御装置から送信された配信指示を受信し、受信した配信指示に応じてコンテンツデータをマルチキャスト配信するマルチキャスト配信制御方法において、前記配信制御装置は、視聴要求されたコンテンツデータの複製を他の配信装置にキャッシュさせる生成指示を配信装置に送信し、キャッシュ生成に要する必要時間を算出し、配信装置により配信されているコンテンツデータの視聴が終了するまでの残り時間を算出し、前記必要時間が前記残り時間より短いが否かを判断し、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したときであって、前記必要時間が前記残り時間より短いと判断した場合、視聴要求されたコンテンツデータの複製を他の配信装置にキャッシュさせる生成指示を配信装置に送信すると共に受け付けた視聴要求を受付順で待ち状態にし、前記配信装置は、前記配信制御装置から送信されたキャッシュの生成指示を受信し、受信した生成指示に応じて視聴要求されたコンテンツデータを複製し、コンテンツデータの複製を他の配信装置へ送信し、前記他の配信装置は、前記配信装置から送信されたコンテンツデータの複製を受信し、受信したコンテンツデータの複製をキャッシュし、前記配信制御装置から送信された配信指示を受信したとき、キャッシュしてあるコンテンツデータをマルチキャスト配信することを特徴とする。
【００１５】
本発明にあっては、コンテンツデータの視聴要求を順次受け付け、受け付けた視聴要求に応じてコンテンツデータを配信させる配信指示を配信装置に送信すると共に、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したとき、受け付けた視聴要求を受付順で待ち状態にすることにより、コンテンツデータの同時配信数が所定の制限値未満で保持されるように配信装置に対するマルチキャスト配信を制御する。また、キャッシュ生成に要する必要時間が配信中のコンテンツデータの視聴が終了するまでの残り時間より短いと判断した場合、視聴要求されたコンテンツデータの複製を他の配信装置にキャッシュさせる生成指示を配信装置に送信することにより、配信装置が無用にコンテンツデータの複製をキャッシュしないようにでき、新たに視聴要求した視聴者の待ち時間が無用に長くなることを防止できる。
【発明の効果】
【００１６】
配信装置が無用にコンテンツデータの複製をキャッシュしないようにでき、新たに視聴要求した視聴者の待ち時間が無用に長くなることを防止できる。また、マルチキャスト配信での待ち状態を最適化することでコンテンツデータの配信依頼者は、自らが依頼したコンテンツデータの視聴稼働率が向上して、依頼費用のコストパフォーマンスをあげることができる。
【発明を実施するための最良の形態】
【００１７】
以下、本発明に係るマルチキャスト配信制御装置、コンピュータプログラム、マルチキャスト配信制御システム及びマルチキャスト配信制御方法について、実施の形態を示す図面に基づいて説明する。図１は本発明に係るマルチキャスト配信制御システムの全体構成を示す模式図である。
【００１８】
図１で示すとおり、本発明に係るマルチキャスト配信制御システムは、複数の通信端末装置１、１、…と、複数のストリーミングサーバ２、２、…と、各ストリーミングサーバ２に接続されたコンテンツ用データベース３、３、…と、配信制御サーバ４とで構成されている。各通信端末装置１及び各ストリーミングサーバ２又は配信制御サーバ４は、相互にコンテンツデリバリネットワークを介して接続されている。各ストリーミングサーバ２及び配信制御サーバ４は、相互に管理用ネットワークを介して接続されている。
【００１９】
通信端末装置１は、コンテンツデータの視聴を希望する視聴者の入力によりコンテンツデータの視聴要求を受け付けたとき、受け付けたコンテンツデータの視聴要求を配信制御サーバ４へ送信する。
配信制御サーバ４は、通信端末装置１から送信された視聴要求を受信し、マルチキャスト配信制御処理を実行する。配信制御サーバ４は、処理の結果、現在の配信数がシステム上の配信制限数未満であると判断した場合、コンテンツデータの配信指示をストリーミングサーバ２へ送信する。
ストリーミングサーバ２は、配信制御サーバ４から送信された配信指示を受信し、視聴要求した通信端末装置１との間でＲＴＰ（Real-time Transport Protocol）、ＲＴＣＰ（RTP Control Protocol）及びＲＴＳＰ（Real Time Streaming Protocol）などの通信プロトコルを用いたセッションを確立し、通信端末装置１へのストリーミングによる配信を行う。
【００２０】
一方、配信制御サーバ４は、現在の配信数がシステム上の配信制限数以上であると判断した場合、後述するように、キャッシュ生成に必要な必要時間Ｔ１を算出し、視聴状態にある視聴者のうち、最初に視聴終了する視聴者の残り視聴時間Ｔ２を算出する。そして、必要時間Ｔ１が残り視聴時間Ｔ２より短いと判断した場合、キャッシュの生成が必要であるとして、キャッシュ生成指示を原本となるコンテンツデータが配置されたストリーミングサーバ２へ送信する。
ストリーミングサーバ２は、配信制御サーバ４から送信されたキャッシュ生成指示の受信し、コンテンツデータの複製を予備となるストリーミングサーバ２へ送信する。ストリーミングサーバ２は、キャッシュ生成を開始した旨の通知を配信制御サーバ４へ送信する。
予備となるストリーミングサーバ２は、ストリーミングサーバ２から送信されたコンテンツデータの複製を受信する。予備となるストリーミングサーバ２は、受信したコンテンツデータの複製を自らが接続しているコンテンツ用データベース３の空き領域に記憶し、キャッシュを生成する。
配信制御サーバ４は、ストリーミングサーバ２から送信されたキャッシュ生成を開始した旨の通知を受信し、キャッシュされたコンテンツのＩＤ、キャッシュした予備であるストリーミングサーバ２の番号、キャッシュの生成が開始されたキャッシュ生成開始時刻を後述する視聴者予約リストＴ３に新規登録する。
【００２１】
ストリーミングサーバ２は、キャッシュの生成が終了した旨の通知を配信制御サーバ４へ送信する。
配信制御サーバ４は、ストリーミングサーバ２から送信されたキャッシュの生成が終了した旨の通知を受信し、後述する視聴者予約リストＴ３に登録してある待ち状態にある視聴者のＩＤが示す通信端末装置１へコンテンツデータの配信を行うようコンテンツデータの配信指示を予備であるストリーミングサーバ２へ送信する。
ストリーミングサーバ２は、配信制御サーバ４から送信された配信指示を受信し、視聴要求した通信端末装置１との間でセッションを確立し、通信端末装置１へのストリーミングによる配信を行う。
【００２２】
通信端末装置１は、視聴者の入力により一時停止要求を受け付けたとき、受け付けた一時停止要求をコンテンツデータを配信しているストリーミングサーバ２へ送信する。
ストリーミングサーバ２は、通信端末装置１から送信された一時停止要求を受信し、受信した一時停止要求及び要求した視聴者のＩＤを配信制御サーバ４へ送信する。
配信制御サーバ４は、ストリーミングサーバ２から送信された一時停止要求及び視聴者ＩＤを受信し、後述する配信管理情報テーブルＴ２内にて受信した視聴者ＩＤに対応する累積一時停止時間及び一時停止回数を更新する。
ストリーミングサーバ２は、コンテンツデータの配信状態を配信制御サーバ４へ送信する。
配信制御サーバ４は、ストリーミングサーバ２から送信された配信状態を受信し、受信した配信状態に応じて後述する配信管理情報テーブルＴ２内の視聴状態を更新する。
【００２３】
配信制御サーバ４は、現在の一時停止の累積時間を計時し、現在の一時停止の累積時間が予め設定された一時停止の累積時間を超えたと判断した場合、一時停止を禁止する禁止指示をストリーミングサーバ２へ送信する。
また、これに限らず、配信制御サーバ４は、現在の一時停止の回数を計数し、現在の一時停止の回数が予め設定された一時停止の回数を超えたと判断した場合、一時停止を禁止する禁止指示をストリーミングサーバ２へ送信してもよい。
ストリーミングサーバ２は、配信制御サーバ４から送信された禁止指示を受信し、受信した禁止指示に応じてコンテンツデータの配信を一時停止しないようにする。
【００２４】
コンテンツデータの再生を終了した通信端末装置１は、視聴終了した旨の通知をコンテンツデータを配信しているストリーミングサーバ２へ送信する。
ストリーミングサーバ２は、通信端末装置１から送信された視聴終了した旨の通知を受信し、コンテンツデータの配信を停止する。ストリーミングサーバ２は、視聴終了した旨の通知を配信制御サーバ４へ送信する。
配信制御サーバ４は、ストリーミングサーバ２から送信された視聴終了した旨の通知を受信し、キャッシュ削除指示をキャッシュした予備であるストリーミングサーバ２へ送信する。
ストリーミングサーバ２は、配信制御サーバ４から送信されたキャッシュ削除指示を受信し、自らが接続しているコンテンツ用データベース３内のキャッシュを削除する。
【００２５】
ここで上述したストリーミング配信について説明する。ストリーミングサーバ２は、ＲＴＰに基づいてリアルタイム伝送を実現するため、コンテンツデータと共に同期クロック情報、順序番号、データタイプなどの通信制御用データを通信端末装置１へ送信する。
通信端末装置１は、通信制御用データに基づいてコンテンツデータをリアルタイムで再生する。通信端末装置１は、ＲＴＣＰに基づいて実行帯域幅、遅延時間などの通信制御用データをストリーミングサーバ２へ送信する。
ストリーミングサーバ２は、通信端末装置１から送信された通信制御用データを受信し、受信した通信制御用データに基づいてＲＴＰにより配信すべきコンテンツデータの品質を調整しつつ、コンテンツデータを通信端末装置１へ配信する。
【００２６】
次に各通信端末装置１の構成及び作用について説明する。通信端末装置１は、例えば、コンテンツデリバリネットワークへの接続が可能なパーソナルコンピュータ、携帯電話機、携帯動画再生プレイヤーなどが該当する。通信端末装置１は、少なくとも、ストリーミング配信されたコンテンツデータを受信するための通信部と、受信したコンテンツデータをリアルタイムで再生するための制御部及び出力部とで構成されている。通信端末装置１は、視聴者毎に操作権限を与えており、本システムにおいて、当該視聴者を識別するための視聴者ＩＤは、通信端末装置１を識別するために用いられる。通信端末装置１は、視聴者により操作され、ストリーミング配信されたコンテンツデータをリアルタイムで再生するため、後述の処理を実行する。
【００２７】
次に各ストリーミングサーバ２の構成及び作用について説明する。図２はストリーミングサーバ２の構成を示すブロック図である。ストリーミングサーバ２は、第１通信インタフェース２１と、第２通信インタフェース２２と、ＲＡＭ２３と、補助記憶装置２４と、入力インタフェース２５と、出力インタフェース２６と、データベース通信インタフェース２７と、ＣＰＵ２８とで構成されている。各ハードウェアは、バス２０を介して相互に接続されている。
尚、本発明に係るマルチキャスト配信制御システムは、例えば、原本となるコンテンツデータを管理しているストリーミングサーバ２の他に、コンテンツデータの複製のキャッシュするための予備となるストリーミングサーバ２を複数備えている。
【００２８】
第１通信インタフェース２１は、コンテンツデリバリネットワーク上の終端であり、コンテンツデリバリネットワークを介して通信端末装置１と通信を行うための窓口となる。ここでコンテンツデリバリネットワークとは、デジタル化された動画データなどのコンテンツデータをストリーミングにより配信するための通信網をいい、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ回線網、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網などが該当する。第１通信インタフェース２１は、コンテンツデータ又は通信制御用データなどを通信端末装置１へ送信する。また、第１通信インタフェース２１は、通信端末装置１から送信された通信制御用データを受信してＲＡＭ２３へ出力する。
【００２９】
第２通信インタフェース２２は、管理用ネットワーク上の終端であり、管理用ネットワークを介して他のストリーミングサーバ２及び配信制御サーバ４と通信を行うための窓口となる。ここで管理用ネットワークとは、コンテンツデータの複製をキャッシュ先となる他のストリーミングサーバ２へ送信するための通信網をいい、例えば、インターネット、イントラネット、エキストラネット、ＬＡＮ、ＩＳＤＮ回線網、ＶＡＮ、ＣＡＴＶ通信網、仮想専用網（Virtual Private Network）、電話回線網、移動体通信網、衛星通信網などが該当する。第２通信インタフェース２２は、キャッシュすべきコンテンツデータの複製などをキャッシュ先となる他のストリーミングサーバ２へ送信する。また、第２通信インタフェース２２は、ストリーミングサーバ２から送信されたコンテンツデータの複製、配信制御サーバ４から送信されたキャッシュ生成指示、キャッシュ削除指示などを受信する。
【００３０】
ＲＡＭ２３は、複数の情報を記憶し、記憶順、記憶位置などに関係なく読み出すことが可能な主記憶装置であり、ＳＲＡＭ又はＤＲＡＭに分類される。ＲＡＭ２３は、例えば、補助記憶装置２４から読み出されたプログラム、該プログラムを実行することにより発生する各種データ、外部から受信した各種情報を記憶する。ＲＡＭ２３は、ＣＰＵ２８の読出指示に応じて記憶してある各種情報などを適宜読み出す。
【００３１】
補助記憶装置２４は、磁気記憶方式のハードディスクなどが該当する。補助記憶装置２４は、例えば、コンテンツデータをストリーミング配信するためのプログラム、キャッシュを生成するためのプログラム及び各種データを記憶する。補助記憶装置２４は、ＣＰＵ２８の読出指示に応じて記憶してあるプログラムなどを適宜読み出す。
【００３２】
入力インタフェース２５は、入力装置２５１に接続してある。入力装置２５１は、例えば、キーボード又はマウスなどが該当する。入力装置２５１は、サーバ管理者により操作され、ストリーミングサーバ２の保守及び管理のための各種指示を入力するために用いられる。入力インタフェース２５は、入力装置２５１を介して入力された各種指示を受け付け、受け付けた各種指示をＣＰＵ２８に出力する。
【００３３】
出力インタフェース２６は、ディスプレイ装置２６１に接続してある。ディスプレイ装置２６１は、ストリーミングサーバ２の保守及び管理のための情報を映像出力するために用いられる。出力インタフェース２６は、ストリーミングサーバ２の保守及び管理のための情報をディスプレイ装置２６１へ出力する。
【００３４】
データベース通信インタフェース２７は、コンテンツ用データベース３に接続してあり、コンテンツ用データベース３との通信を行うための窓口として用いられる。コンテンツ用データベース３には、原本となるコンテンツデータ又はコンテンツデータの複製のキャッシュが記憶されている。
【００３５】
ＣＰＵ２８は、ストリーミングサーバ２の各ハードウェアを制御することにより、コンテンツデータのストリーミング配信、コンテンツデータの複製、キャッシュの生成などの各種処理を実行する。尚、ＣＰＵ２８が実行する各種処理の手順については、後述において説明する。
【００３６】
次に配信制御サーバ４の構成及び作用について説明する。図３は配信制御サーバ４の構成を示すブロック図である。配信制御サーバ４は、外部記憶装置４１と、第１通信インタフェース４２と、第２通信インタフェース４３と、ＲＡＭ４４と、補助記憶装置４５と、入力インタフェース４６と、出力インタフェース４７と、ＣＰＵ４８とで構成されている。各ハードウェアは、バス４０を介して相互に接続されている。
【００３７】
外部記憶装置４１は、記録媒体４１１に記録してあるプログラム又は各種データを読み出すための装置である。外部記憶装置４１は、挿入口（図示せず）に記録媒体４１１が挿入されたとき、挿入された記録媒体４１１に記録してあるプログラム又は各種データを読み出し、読み出したプログラム又は各種データを補助記憶装置４５へ出力する。
【００３８】
第１通信インタフェース４２は、コンテンツデリバリネットワーク上の終端であり、コンテンツデリバリネットワークを介して通信端末装置１と通信を行うための窓口となる。第１通信インタフェース４２は、通信制御用データなどを各通信端末装置１へ送信する。また、第１通信端末装置１は、通信端末装置１から送信された通信制御用データ、コンテンツデータの視聴要求、視聴終了した旨の通知などを受信してＲＡＭ４４へ出力する。
【００３９】
第２通信インタフェース４３は、管理用ネットワーク上の終端であり、管理用ネットワークを介してストリーミングサーバ２と通信を行うための窓口となる。第２通信インタフェース４３は、コンテンツデータの配信指示、キャッシュ生成指示、キャッシュ削除指示などをストリーミングサーバ２へ送信する。また、第２通信インタフェース４３は、ストリーミングサーバ２から送信されたキャッシュ生成が終了した旨の通知などを受信してＲＡＭ４４へ出力する。
【００４０】
ＲＡＭ４４は、複数の情報を記憶し、記憶順、記憶位置などに関係なく読み出すことが可能な主記憶装置であり、ＳＲＡＭ又はＤＲＡＭに分類される。ＲＡＭ４４は、例えば、補助記憶装置４５から読み出されたプログラム、該プログラムを実行することにより発生する各種データ、外部から受信した各種情報を記憶する。ＲＡＭ４４は、ＣＰＵ４８の読出指示に応じて記憶してある各種情報などを適宜読み出す。
【００４１】
補助記憶装置４５は、例えば、磁気記憶方式のハードディスクなどが該当する。補助記憶装置４５は、例えば、コンテンツデータの配信指示を出力させるためのプログラム、キャッシュの生成指示、削除指示などを出力させるためのプログラム及び各種データを記憶する。また、補助記憶装置４５は、コンテンツ管理情報テーブルＴ１、配信管理情報テーブルＴ２及び視聴予約リストＴ３を記憶する。補助記憶装置４５は、ＣＰＵ４８の読出指示に応じて記憶してあるプログラムなどを適宜読み出す。
【００４２】
入力インタフェース４６は、入力装置４６１に接続してある。入力装置４６１は、例えば、キーボード又はマウスなどが該当する。入力装置４６１は、サーバ管理者により操作され、配信制御サーバ４の保守、管理又は配信制御のための各種指示を入力するために用いられる。入力インタフェース４６は、入力装置４６１を介して入力された各種指示を受け付け、受け付けた各種指示をＣＰＵ２８に出力する。
【００４３】
出力インタフェース４７は、ディスプレイ装置４７１に接続してある。ディスプレイ装置４７１は、配信制御サーバ４の保守、管理又は配信制御のための情報を映像出力するために用いられる。出力インタフェース４７は、配信制御サーバ４の保守、管理又は配信制御のための情報をディスプレイ装置４７１に出力する。
【００４４】
ＣＰＵ４８は、配信制御サーバ４の各ハードウェアを制御することにより、各通信端末装置１からコンテンツデータの視聴要求又は視聴終了した旨の通知を受信し、ストリーミングサーバ２へコンテンツデータの配信指示、キャッシュ生成指示又はキャッシュ削除指示などを送信するための処理を実行する。尚、ＣＰＵ４８が実行する各種処理の手順については、後述において説明する。
【００４５】
その他、配信制御サーバ４は、現在時刻、キャッシュ生成開始時刻又は視聴開始時刻を計時する第１タイマ、一時停止時間の累積時間を計時する第２タイマ、一時停止時間の回数を計数するカウンタを備える（図示しない）。
【００４６】
次に配信制御サーバ４の補助記憶装置４５に記憶してあるコンテンツ管理情報テーブルＴ１、配信管理情報テーブルＴ２及び視聴者予約リストＴ３の格納例について説明する。図４はコンテンツ管理情報テーブルＴ１の格納例を示す図、図５は配信管理情報テーブルＴ２の格納例を示す図、図６は視聴者予約リストＴ３の格納例を示す図である。
【００４７】
コンテンツ管理情報テーブルＴ１には、コンテンツデータを管理するためのコンテンツ管理情報がコンテンツＩＤ毎に分類されて格納されている。コンテンツ管理情報には、コンテンツＩＤに対応付けてコンテンツ情報及びコンテンツ配置情報が含まれている。コンテンツ情報には、コンテンツのタイトル、コンテンツデータの再生時間、コンテンツデータのファイルサイズが含まれている。コンテンツ配置情報には、原本コンテンツ配置ストリーミングサーバ番号及びキャッシュコンテンツ配置情報が含まれている。キャッシュコンテンツ配置情報には、キャッシュの配置数、キャッシュが生成されたストリーミングサーバ２の番号が含まれている。
コンテンツ情報及び原本コンテンツ配置ストリーミングサーバ番号は、コンテンツデータの配信依頼主により予め設定され、コンテンツ管理情報テーブルＴ１に新規登録又は更新される。キャッシュコンテンツ配置情報は、予備であるストリーミングサーバ２がキャッシュを生成したときに新規登録され、予備であるストリーミングサーバ２がキャッシュを生成する都度ストリーミングサーバ番号が追加更新される。
【００４８】
配信管理情報テーブルＴ２には、コンテンツデータの配信を管理するための配信管理情報がコンテンツＩＤ毎に分類されて格納されている。配信管理情報には、コンテンツＩＤに対応してコンテンツデータを配信しているストリーミングサーバ２の番号、配信されたコンテンツデータを視聴している視聴者のＩＤ、配信されたコンテンツデータの視聴が開始された視聴開始時刻、コンテンツデータ再生の一時停止の累積時間を示す累積一時停止時間、一時停止回数、コンテンツデータの視聴状態が含まれている。コンテンツＩＤ、ストリーミングサーバ番号、視聴者ＩＤ及び視聴開始時刻は、ストリーミングサーバ２がコンテンツデータの配信を開始するときに新規登録される。累積一時停止時間及び一時停止回数は、配信制御サーバ４がストリーミングサーバ２から送信された一時停止要求を受信する都度更新される。視聴状態は、配信制御サーバ４がストリーミングサーバ２から送信されたコンテンツデータの配信状態の受信する都度例えば、再生中又は一時停止中などに更新される。
【００４９】
視聴者予約リストＴ３には、視聴要求をしたにもかかわらず現在の配信数がシステム上の配信制御数が超えているため待ち状態にされた視聴者のＩＤが視聴要求されたコンテンツのＩＤ毎に分類されて格納されている。視聴者予約リストＴ３には、視聴要求されたコンテンツのＩＤ、当該コンテンツのデータをキャッシュした予備であるストリーミングサーバ２の番号、当該ストリーミングサーバ２にてキャッシュ生成が開始されたキャッシュ生成開始時刻、当該コンテンツデータの配信を待っている視聴者の予約者数、当該コンテンツデータの配信を待っている視聴者のＩＤが格納されている。コンテンツＩＤ、ストリーミングサーバ番号及びキャッシュ生成開始時刻は、ストリーミングサーバ２がキャッシュの生成を開始したときに新規登録される。予約者数及び視聴者ＩＤは、配信制限数を超えて視聴要求を受け付けたときに更新される。
【００５０】
次に配信制御サーバ４が視聴要求時に実行するマルチキャスト配信の制御処理の手順について説明する。図７及び図８は視聴要求時に実行するマルチキャスト配信制御処理の手順を示すフローチャートである。コンテンツデータの視聴を希望するユーザは、操作権限のある通信端末装置１へコンテンツデータの視聴要求を入力する。通信端末装置１は、コンテンツデータの視聴要求を受け付けたとき、受け付けた視聴要求を配信制御サーバ４へ送信する。
【００５１】
配信制御サーバ４のＣＰＵ４８は、通信端末装置１から送信された視聴要求を受信し（Ｓ１０１）、要求されたコンテンツデータを格納しているストリーミングサーバ２の番号をコンテンツ管理情報テーブルＴ１から抽出する（Ｓ１０２）。ＣＰＵ４８は、抽出したストリーミングサーバ番号及び視聴要求されたコンテンツのＩＤに対応する配信数をコンテンツ管理情報テーブルＴ１から抽出する（Ｓ１０３）。ＣＰＵ４８は、抽出した配信数が予め設定されている配信制限数より上であるか否かを判断する（Ｓ１０４）。
【００５２】
その結果、ＣＰＵ４８は、抽出した配信数が配信制限数未満であると判断した場合（Ｓ１０４でＮＯ）、視聴要求した視聴者のＩＤ及び視聴開始時刻を配信管理情報テーブルＴ２に登録する（Ｓ１０５）。ＣＰＵ４８は、抽出したストリーミングサーバ番号が示すストリーミングサーバ２へコンテンツデータ配信指示を送信し（Ｓ１０６）、併せて視聴要求した視聴者のＩＤを当該ストリーミングサーバ２へ送信する。ＣＰＵ４８は、視聴要求した視聴者のＩＤが示す通信端末装置１へ視聴可能である旨の通知を送信し（Ｓ１０７）、視聴要求時に実行するマルチキャスト配信制御処理を終了する。
尚、ストリーミングサーバ２のＣＰＵ２８は、配信制御サーバ４から送信されたコンテンツデータ配信指示及び視聴者ＩＤを受信し、指示されたコンテンツデータを視聴者ＩＤが示す通信端末装置１に配信する。
【００５３】
一方、ＣＰＵ４８は、抽出した配信数が配信制御数以上であると判断した場合（Ｓ１０４でＹＥＳ）、予備となるストリーミングサーバ２にて、視聴要求されたコンテンツデータのキャッシュが生成中であるか否かを判断する（Ｓ１０８）。その結果、ＣＰＵ４８は、予備となるストリーミングサーバ２にて、視聴要求されたコンテンツデータのキャッシュが生成中であると判断した場合（Ｓ１０８でＹＥＳ）、キャッシュされたコンテンツのＩＤ、キャッシュ生成中の予備となるストリーミングサーバ２の番号に対応付けて視聴要求した視聴者のＩＤを視聴者予約リストＴ３に登録する（Ｓ１１３）。そして、ＣＰＵ４８は、視聴要求時に実行するマルチキャスト配信制御処理を終了する。
尚、ＣＰＵ４８は、ストリーミングサーバ２から送信されたキャッシュ生成が終了した旨の通知を受信したとき（後述するＳ２０１参照）、キャッシュされたコンテンツデータを視聴者予約リストＴ３に登録されている待ち状態の視聴者に配信するための処理を実行する。
【００５４】
一方、ＣＰＵ４８は、ステップＳ１０８において視聴要求されたコンテンツデータのキャッシュが生成されていないと判断した場合（Ｓ１０８でＮＯ）、キャッシュ生成に必要な時間Ｔ１を算出する（Ｓ１０９）。例えば、ＣＰＵ４８は、コンテンツデータのファイルサイズ÷単位あたりのファイルサイズのキャッシュ生成に必要な時間−（現在時刻−キャッシュ生成開始時刻）という式に各種データを代入して必要時間Ｔ１を算出する。
【００５５】
また、ＣＰＵ４８は、視聴状態にある視聴者のうち、最初に視聴終了する視聴者の残り視聴時間Ｔ２を算出する（Ｓ１１０）。例えば、ＣＰＵ４８は、視聴要求されたコンテンツのＩＤを配信管理情報テーブルＴ２から抽出し、抽出したコンテンツＩＤに対応する視聴開始時刻のうち、最も早い時刻を特定する。そして、ＣＰＵ４８は、コンテンツの再生時間−（現在時刻−特定した視聴開始時刻）＋（許容する一時停止の累積時間−現在の一時停止の累積時間）という式に各種データを代入して残り視聴時間Ｔ２を算出する。
尚、ＣＰＵ４８は、現在の一時停止の累積時間が予め許容された一時停止の累積時間を超えたと判断した場合、ストリーミングサーバ２に対して、コンテンツデータの配信の一時停止を禁止する指示を出力し、残り視聴時間Ｔ２を算出するようにしてもよい。また、ＣＰＵ４８は、現在の一時停止の回数が予め許容された一時停止の回数を超えたと判断した場合、ストリーミングサーバ２に対して、コンテンツデータの配信の一時停止を禁止する指示を出力し、残り視聴時間Ｔ２を算出するようにしてもよい。その結果、視聴状態にある視聴者が一時停止できる程度を抑制し、当該視聴者の通信端末装置が確立しているセッションをできるだけ早く開放するようにでき、待ち状態にある視聴者の待ち時間が無用に長引くことがないようにできる。
【００５６】
ＣＰＵ４８は、算出した必要時間Ｔ１が残り視聴時間Ｔ２より短いか否かを判断する（Ｓ１１１）。その結果、ＣＰＵ４８は、必要時間Ｔ１が残り視聴時間Ｔ２を超えていると判断した場合（Ｓ１１１でＮＯ）、キャッシュ生成が不適切として、視聴要求されたコンテンツのＩＤ、ストリーミングサーバ２の番号に対応付けて視聴要求した視聴者のＩＤを視聴者予約リストＴ３に登録する（Ｓ１１３）。そして、ＣＰＵ４８は、視聴要求時に実行するマルチキャスト配信制御処理を終了する。
尚、ＣＰＵ４８は、所定時間が経過したタイミングでステップＳ１０１へ戻り、処理を繰り返す。
【００５７】
一方、ＣＰＵ４８は、算出した必要時間Ｔ１が残り視聴時間Ｔ２より短いと判断した場合（Ｓ１１１でＹＥＳ）、キャッシュ生成が適切として、キャッシュ生成指示を原本となるコンテンツが配置されたストリーミングサーバ２へ送信する（Ｓ１１２）。
尚、当該ストリーミングサーバ２のＣＰＵ２８は、配信制御サーバ４から送信されたキャッシュ生成指示の受信し、コンテンツデータを複製する。ＣＰＵ２８は、コンテンツデータの複製を予備となるストリーミングサーバ２に送信する。
予備となるストリーミングサーバ２のＣＰＵ２８は、コンテンツデータの複製を受信し、受信したコンテンツデータの複製をコンテンツ用データベース３内の空き記憶領域にキャッシュとして格納する。
配信制御サーバ４のＣＰＵ４８は、ストリーミングサーバ２から送信されたキャッシュ生成が終了した旨の通知を受信したとき（後述するＳ２０１参照）、キャッシュされたコンテンツデータを視聴者予約リストＴ３に登録されている待ち状態の視聴者に配信するための処理を実行する。
【００５８】
配信制御サーバ４のＣＰＵ４８は、視聴要求されたコンテンツのＩＤ、キャッシュした予備となるストリーミングサーバ２の番号に対応付けて視聴要求した視聴者のＩＤを視聴者予約リストＴ３に登録する（Ｓ１１３）。そして、ＣＰＵ４８は、視聴要求時に実行すべきマルチキャスト配信制御処理を終了する。
尚、ＣＰＵ４８は、ストリーミングサーバ２から送信されたキャッシュ生成が終了した旨の通知を受信したとき（後述するＳ２０１参照）、キャッシュされたコンテンツデータを視聴者予約リストＴ３に登録されている待ち状態の視聴者に配信するための処理を実行する。
【００５９】
次に配信制御サーバ４がキャッシュ生成終了後に実行するマルチキャスト配信の制御処理の手順について説明する。図９はキャッシュ生成終了後に実行するマルチキャスト配信制御処理の手順を示すフローチャートである。ストリーミングサーバ２のＣＰＵ２８は、キャッシュ生成が終了したとき、キャッシュ生成が終了した旨の通知を配信制御サーバ４へ送信する。
【００６０】
配信制御サーバ４のＣＰＵ４８は、ストリーミングサーバ２から送信されたキャッシュ生成終了の通知を受信し（Ｓ２０１）、生成終了したコンテンツのＩＤに対応する待ち状態の視聴者のＩＤを視聴者予約リストＴ３から抽出する（Ｓ２０２）。ＣＰＵ４８は、抽出した視聴者ＩＤが示す通信端末装置１へ視聴可能である旨の通知を送信する（Ｓ２０３）。
尚、通信端末装置１は、配信制御サーバ４から送信された通知を受信し、受信した通知をユーザに対して出力する。通信端末装置１は、通知の出力に応じてユーザから入力されたコンテンツデータの視聴要求を受け付けたとき、受け付けた視聴要求を配信制御サーバ４へ送信する。
【００６１】
配信制御サーバ４のＣＰＵ４８は、通信端末装置１から送信された視聴要求を受信し（Ｓ２０４）、キャッシュした予備となるストリーミングサーバ２へコンテンツデータの配信指示を送信する（Ｓ２０５）。
尚、予備となるストリーミングサーバ２のＣＰＵ２８は、配信制御サーバ４から送信されたコンテンツデータの配信指示を受信し、視聴要求した視聴者のＩＤが示す通信端末装置１へコンテンツデータを配信する。ＣＰＵ２８は、コンテンツデータの配信を開始した旨の通知を配信制御サーバ４へ送信する。
【００６２】
配信制御サーバ４のＣＰＵ４８は、予備となるストリーミングサーバ２から送信されたコンテンツデータの配信を開始した旨の通知を受信する（Ｓ２０６）。ＣＰＵ４８は、視聴要求した視聴者のＩＤを視聴者予約リストＴ３から削除し（Ｓ２０７）、対応する予約者数を減らす。ＣＰＵ４８は、コンテンツデータの配信を開始した予備となるストリーミングサーバ２の番号を配信されたコンテンツのＩＤに対応付けてコンテンツ管理情報テーブルＴ１に登録する（Ｓ２０８）。ＣＰＵ４８は、配信されたコンテンツのＩＤ、コンテンツデータの配信を開始した予備となるストリーミングサーバ２の番号、視聴者ＩＤ、視聴開始時刻、累積する一時停止時間、一時停止の回数及び視聴状態を配信管理情報テーブルＴ２に登録する（Ｓ２０９）。そして、ＣＰＵ４８は、キャッシュ生成終了後に実行するマルチキャスト配信制御処理を終了する。
尚、ＣＰＵ４８は、通信端末装置１から送信された視聴が終了した旨の通知を受信したとき、後述の処理を実行する。
【００６３】
次に配信制御サーバ４が視聴終了後に実行するマルチキャスト配信制御の処理の手順について説明する。図１０及び図１１は視聴終了後に実行するマルチキャスト配信制御処理の手順を示すフローチャートである。通信端末装置１は、配信されたコンテンツデータの再生が終了したとき、視聴終了した旨の通知をコンテンツデータを配信しているストリーミングサーバ２へ送信する。ストリーミングサーバ２は、通信端末装置１から送信された通知を受信し、コンテンツデータの配信を停止すると共に、視聴終了した旨の通知を配信制御サーバ４へ送信する。
【００６４】
配信制御サーバ４のＣＰＵ４８は、ストリーミングサーバ２から送信された視聴終了した旨の通知を受信し（Ｓ３０１）、視聴終了した視聴者のＩＤに基づいて配信が停止されたコンテンツのＩＤ及び配信を停止したストリーミングサーバ２の番号を配信管理情報テーブルＴ２から抽出する（Ｓ３０２）。ＣＰＵ４８は、配信管理情報テーブルＴ２を検索することにより、抽出したコンテンツＩＤ及びストリーミングサーバ番号と同じ視聴があるか否かを判断する（Ｓ３０３）。その結果、ＣＰＵ４８は、抽出したコンテンツＩＤ及びストリーミングサーバ番号と同じ視聴があると判断した場合（Ｓ３０３でＹＥＳ）、キャッシュを削除すべきではないとして、視聴終了した視聴者についての情報のみ配信管理情報テーブルＴ２から削除する（Ｓ３０９）。その後、ＣＰＵ４８は、視聴終了後に実行するマルチキャスト配信制御処理を終了する。
【００６５】
一方、ＣＰＵ４８は、抽出したコンテンツＩＤ及びストリーミングサーバ番号と同じ視聴が存在していないと判断した場合（Ｓ３０３でＮＯ）、視聴者予約リストＴ３を検索することにより、抽出したコンテンツＩＤ及びストリーミングサーバ番号と同じ視聴予約があるか否かを判断する（Ｓ３０４）。その結果、ＣＰＵ４８は、抽出したコンテンツＩＤ及びストリーミングサーバ番号と同じ視聴予約があると判断した場合（Ｓ３０４でＹＥＳ）、キャッシュを削除すべきではないとして、視聴終了した視聴者についての情報のみを配信管理情報テーブルＴ２から削除する（Ｓ３０９）。その後、ＣＰＵ４８は、視聴終了後に実行するマルチキャスト配信制御処理を終了する。
【００６６】
一方、ＣＰＵ４８は、抽出したコンテンツＩＤ及びストリーミングサーバ番号が同じ視聴予約が存在していないと判断した場合（Ｓ３０４でＮＯ）、コンテンツ管理情報テーブルＴ１を検索することにより、抽出したストリーミングサーバ番号がコンテンツ配置情報に登録されているか否かを判断する（Ｓ３０５）。その結果、ＣＰＵ４８は、抽出したストリーミングサーバ番号がコンテンツ配置情報に登録されていないと判断した場合（Ｓ３０５でＮＯ）、視聴終了した視聴者についての情報のみを配信管理情報テーブルＴ２から削除する（Ｓ３０９）。その後、ＣＰＵ４８は、視聴終了後に実行するマルチキャスト配信制御処理を終了する。
【００６７】
一方、ＣＰＵ４８は、抽出したストリーミングサーバ番号がコンテンツ配置情報に登録されていると判断した場合（Ｓ３０５でＹＥＳ）、抽出したストリーミングサーバ番号が示すストリーミングサーバ２へキャッシュ削除指示を送信する（Ｓ３０６）。ストリーミングサーバ２のＣＰＵ２８は、配信制御サーバ４から送信されたキャッシュ削除指示を受信し、自らが接続しているコンテンツ用データベース３内のキャッシュを削除する。ＣＰＵ４８は、抽出したストリーミングサーバ番号をコンテンツ管理情報テーブルＴ１から削除し（Ｓ３０７）、削除したストリーミング番号に対応する配置数から１を引く（Ｓ３０８）。ＣＰＵ４８は、視聴終了した視聴者についての情報を配信管理情報テーブルＴ２から削除し（Ｓ３０９）、視聴終了時に実行するマルチキャスト配信制御処理を終了する。その後、配信管理情報テーブルＴ２内の配信数が減少することにより現在の配信数が配信制限数未満になった場合、原本となるコンテンツが配置されたストリーミングサーバ２がコンテンツデータを配信する。
尚、本実施例では、便宜上、空き領域にキャッシュを生成するとした。しかし、本発明は、これに限定されることなく、例えば、なんらかのデータが記録されているデータ領域であっても、そのデータに上書きしてキャッシュを生成しても問題はない。
【００６８】
以上の実施の形態に関し、更に以下の付記を開示する。
【００６９】
（付記１）
コンテンツデータの視聴要求を順次受け付ける手段と、受け付けた視聴要求に応じてコンテンツデータを配信させる配信指示を第一の外部装置に送信する配信指示手段と、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になるか否かを判断する配信判断手段と、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したとき、受け付けた視聴要求を受付順で待ち状態にする制御手段とを備えるマルチキャスト配信制御装置において、
視聴要求されたコンテンツデータの複製を第二の外部装置にキャッシュさせる生成指示を第一の外部装置に送信する生成指示手段と、
キャッシュ生成に要する必要時間を算出する第１算出手段と、
第一の外部装置により配信されているコンテンツデータの視聴が終了するまでの残り時間を算出する第２算出手段と、
前記必要時間が前記残り時間より短いか否かを判断する時間判断手段と
を備え、
前記制御手段は、前記時間判断手段にて前記必要時間が前記残り時間より短いと判断した場合、前記生成指示手段によりキャッシュの生成指示を送信するようにしてあることを特徴とするマルチキャスト配信制御装置。
【００７０】
（付記２）
前記制御手段にて受け付けた視聴要求を待ち状態にしている場合、コンテンツデータの配信を一時停止させない禁止指示を第一の外部装置に送信する禁止指示手段を更に備え、
第２算出手段は、前記禁止指示手段にてコンテンツデータの配信を一時停止させない状態での、該コンテンツデータの視聴が終了するまでの残り時間を算出するようにしてあることを特徴とする付記１に記載のマルチキャスト配信制御装置。
【００７１】
（付記３）
前記禁止指示手段は、一時停止の累積時間が予め設定された時間を超えた場合に禁止指示を第一の外部装置に送信するようにしてあることを特徴とする付記２に記載のマルチキャスト配信制御装置。
【００７２】
（付記４）
前記禁止指示手段は、一時停止の回数が予め設定された回数を超えた場合に禁止指示を第一の外部装置へ送信するようにしてあることを特徴とする付記２に記載のマルチキャスト配信制御装置。
【００７３】
（付記５）
コンピュータに、コンテンツデータの視聴要求を順次受け付け、受け付けた視聴要求に応じてコンテンツデータを配信させる配信指示を第一の外部装置に送信し、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になるか否かを判断し、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したとき、受け付けた視聴要求を受付順で待ち状態にさせるコンピュータプログラムにおいて、
視聴要求されたコンテンツデータの複製を第二の外部装置にキャッシュさせる必要時間を算出させるステップと、
外部装置により配信されているコンテンツデータの視聴が終了するまでの残り時間を算出させるステップと、
前記必要時間が前記残り時間より短いか否かを判断させるステップと、
受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したときであって、前記必要時間が前記残り時間より短いと判断した場合、視聴要求されたコンテンツデータの複製を第二の外部装置にキャッシュさせる生成指示を第一の外部装置に送信させるステップと
をコンピュータに実行させるようにしてあることを特徴とするコンピュータプログラム。
【００７４】
（付記６）
コンテンツデータをマルチキャスト配信する複数の配信装置と、該配信装置と通信可能な配信制御装置とを備え、該配信制御装置は、コンテンツデータの視聴要求を順次受け付ける手段と、受け付けた視聴要求に応じてコンテンツデータを配信させる配信指示を前記配信装置に送信する配信指示手段と、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になるか否かを判断する配信判断手段と、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したとき、受け付けた視聴要求を受付順で待ち状態にする制御手段とを備え、各配信装置は、前記配信制御装置から送信された配信指示を受信する手段と、受信した配信指示に応じてコンテンツデータをマルチキャスト配信する手段とを備えるマルチキャスト配信制御システムにおいて、
前記配信制御装置は、
視聴要求されたコンテンツデータの複製を他の配信装置にキャッシュさせる生成指示を配信装置に送信する生成指示手段と、
キャッシュ生成に要する必要時間を算出する第１算出手段と、
配信装置により配信されているコンテンツデータの視聴が終了するまでの残り時間を算出する第２算出手段と、
前記必要時間が前記残り時間より短いか否かを判断する時間判断手段と
を備え、
前記配信装置は、
前記配信制御装置から送信された生成指示を受信する手段と、
受信した生成指示に応じて視聴要求されたコンテンツデータを複製し、コンテンツデータの複製を他の配信装置へ送信する手段と
を備え、
前記他の配信装置は、
前記配信装置から送信されたコンテンツデータの複製を受信する手段と、
受信したコンテンツデータの複製をキャッシュする手段と、
前記配信制御装置から送信された配信指示を受信したとき、キャッシュしてあるコンテンツデータをマルチキャスト配信する手段と
を備え、
前記制御手段は、前記時間判断手段にて前記必要時間が前記残り時間より短いと判断した場合、前記生成指示手段によりキャッシュの生成指示を送信するようにしてあることを特徴とするマルチキャスト配信制御システム。
【００７５】
（付記７）
前記配信制御装置は、
前記制御手段にて受け付けた視聴要求を待ち状態にしている場合、コンテンツデータの配信を一時停止させない禁止指示を配信装置に送信する禁止指示手段を更に備え、
前記配信装置は、
前記禁止指示により送信された禁止指示を受信する手段と、
受信した禁止指示に応じてコンテンツデータの配信を一時停止しない手段と
を備え、
第２算出手段は、前記禁止指示手段にてコンテンツデータの配信を一時停止させない状態での、コンテンツデータの視聴が終了するまでの残り時間を算出するようにしてあることを特徴とする付記６に記載のマルチキャスト配信制御システム。
【００７６】
（付記８）
前記禁止指示手段は、一時停止の累積時間が予め設定された時間を超えた場合に禁止指示を配信装置に送信するようにしてあることを特徴とする付記７に記載のマルチキャスト配信制御システム。
【００７７】
（付記９）
前記禁止指示手段は、一時停止の回数が予め設定された回数を超えた場合に禁止指示を配信装置に送信するようにしてあることを特徴とする付記７に記載のマルチキャスト配信制御システム。
【００７８】
（付記１０）
コンテンツデータをマルチキャスト配信する複数の配信装置を制御する配信制御装置でコンテンツデータの視聴要求を順次受け付け、受け付けた視聴要求に応じてコンテンツデータを配信させる配信指示を前記配信装置に送信すると共に、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になるか否かを判断し、受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したとき、受け付けた視聴要求を受付順で待ち状態にし、各配信装置で前記配信制御装置から送信された配信指示を受信し、受信した配信指示に応じてコンテンツデータをマルチキャスト配信するマルチキャスト配信制御方法において、
前記配信制御装置は、
視聴要求されたコンテンツデータの複製を空き記憶領域を有する他の配信装置にキャッシュさせる生成指示を配信装置に送信し、
キャッシュ生成に要する必要時間を算出し、
配信装置により配信されているコンテンツデータの視聴が終了するまでの残り時間を算出し、
前記必要時間が前記残り時間より短いが否かを判断し、
受け付けた視聴要求に応じることによりコンテンツデータの同時配信数が所定の制限値以上になると判断したときであって、前記必要時間が前記残り時間より短いと判断した場合、視聴要求されたコンテンツデータの複製を他の配信装置にキャッシュさせる生成指示を配信装置に送信すると共に受け付けた視聴要求を受付順で待ち状態にし、
前記配信装置は、
前記配信制御装置から送信された生成指示を受信し、
受信した生成指示に応じて視聴要求されたコンテンツデータを複製し、コンテンツデータの複製を他の配信装置へ送信し、
前記他の配信装置は、
前記配信装置から送信されたコンテンツデータの複製を受信し、
受信したコンテンツデータの複製を空き領域にキャッシュし、
前記配信制御装置から送信された配信指示を受信したとき、キャッシュしてあるコンテンツデータをマルチキャスト配信することを特徴とするマルチキャスト配信制御方法。
【図面の簡単な説明】
【００７９】
【図１】本発明に係るマルチキャスト配信制御システムの全体構成を示す模式図である。
【図２】ストリーミングサーバの構成を示すブロック図である。
【図３】配信制御サーバの構成を示すブロック図である。
【図４】コンテンツ管理情報テーブルの格納例を示す図である。
【図５】配信管理情報テーブルの格納例を示す図である。
【図６】視聴者予約リストの格納例を示す図である。
【図７】視聴要求時に実行するマルチキャスト配信制御処理の手順を示すフローチャートである。
【図８】視聴要求時に実行するマルチキャスト配信制御処理の手順を示すフローチャートである。
【図９】キャッシュ生成終了後に実行するマルチキャスト配信制御処理の手順を示すフローチャートである。
【図１０】視聴終了後に実行するマルチキャスト配信制御処理の手順を示すフローチャートである。
【図１１】視聴終了後に実行するマルチキャスト配信制御処理の手順を示すフローチャートである。
【符号の説明】
【００８０】
１  通信端末装置
２  ストリーミングサーバ
３  コンテンツ用データベース
４  配信制御サーバ
【図１】
2009089019.tif 000003
【図２】
2009089019.tif 000004
【図３】
2009089019.tif 000005
【図４】
2009089019.tif 000006
【図５】
2009089019.tif 000007
【図６】
2009089019.tif 000008
【図７】
2009089019.tif 000009
【図８】
2009089019.tif 000010
【図９】
2009089019.tif 000011
【図１０】
2009089019.tif 000012
【図１１】
2009089019.tif 000013