(57)【要約】【課題】コンテンツの配信方法を動的に制御することによって、コンテンツ配信システムの負荷耐性を高める。【解決手段】コンテンツ配信システムにおける配信制御サーバは、配信サーバの負荷情報を受信して（Ｓ２１）、高負荷であると判定した場合（Ｓ２２でＹｅｓ）、コンテンツの特徴に基づいて負荷分散（マルチキャストまたは広域負荷分散）を行うための配信方法を決定する（Ｓ２４）。また、配信制御サーバは、負荷分散手段がマルチキャストの場合（Ｓ２７でＹｅｓ）、輻輳予測を行って、輻輳の可能性を判定し（Ｓ３１）、輻輳の可能性ありと判定した場合（Ｓ３１でＹｅｓ）、負荷分散を行うための配信方法を決定する（Ｓ３２）。また、配信制御サーバは、負荷分散の解除条件を満たすと判定した場合（Ｓ２８でＹｅｓ）、負荷分散の解除を決定する（Ｓ２９）。【選択図】 図２
2011171962.tif 000002
【特許請求の範囲】
【請求項１】
コンテンツを配信する配信サーバおよびその配信方法を決定し、決定した前記配信方法を前記配信サーバに送信する配信制御サーバと、受信した前記配信方法に基づいてコンテンツを配信する配信サーバとによって構成されるコンテンツ配信システムであって、
前記配信サーバは、
自身のサーバ負荷を表すパラメータと、コンテンツごとにユニキャストで同時に配信している数を表す同時接続数を示すパラメータとを負荷パラメータとし、前記負荷パラメータの値を所定の周期で測定する手段と、
少なくとも前記負荷パラメータの測定値を含む負荷情報を生成して、前記配信制御サーバに送信する手段と、
前記配信制御サーバから受信した前記配信方法に基づいてコンテンツを配信する手段と、
を備え、
前記配信制御サーバは、
配信サーバおよびコンテンツごとに、前記配信サーバから受信した前記負荷情報を格納している配信サーバ負荷情報を記憶している記憶手段と、
前記配信サーバ負荷情報に格納されている前記負荷パラメータの測定値の大小に応じて、コンテンツを配信する配信サーバおよびその配信方法を決定し、決定した当該配信方法を当該配信サーバに送信する手段と、
を備える
ことを特徴とするコンテンツ配信システム。
【請求項２】
前記配信サーバは、
前記負荷パラメータの測定値と予め記憶している第１の閾値とを比較する手段と、
比較結果に基づいて、前記測定値が前記第１の閾値以上の場合、高負荷と判定して、当該測定値のパラメータに高負荷を識別する高負荷識別情報を付して、前記測定値と前記高負荷識別情報とを前記負荷情報に含め、前記配信制御サーバに送信する手段と、
を備え、
前記配信制御サーバは、
前記高負荷識別情報を含む負荷情報を格納している前記配信サーバ負荷情報と、前記コンテンツごとに前記高負荷識別情報を付されたパラメータの高負荷を解消するための負荷分散手段の種別を紐付けて格納しているコンテンツ管理情報と、を記憶している前記記憶手段と、
当該負荷情報を送信してきた配信サーバについて、前記配信サーバ負荷情報に前記高負荷識別情報が存在し、当該高負荷識別情報が付されているパラメータがサーバ負荷のパラメータである場合、前記配信サーバ負荷情報を参照して、当該配信サーバ内で最も同時接続数の大きいコンテンツを特定し、前記コンテンツ管理情報を参照して、当該コンテンツに紐付けられている負荷分散手段を配信方法として決定する手段と、
当該負荷情報を送信してきた配信サーバについて、前記配信サーバ負荷情報に前記高負荷識別情報が存在し、当該高負荷識別情報が付されているパラメータが同時接続数を示すパラメータである場合、当該高負荷識別情報が付されたパラメータの値を持つコンテンツを特定し、前記コンテンツ管理情報を参照して、当該コンテンツに紐付けられている負荷分散手段を配信方法として決定する手段と、
を備える
ことを特徴とする請求項１に記載のコンテンツ配信システム。
【請求項３】
前記負荷分散手段の種別の一方は、マルチキャストであり、
前記負荷分散手段の種別の他方は、高負荷と判定された配信サーバとは別の配信サーバからコンテンツを配信する広域負荷分散である
ことを特徴とする請求項１または請求項２に記載のコンテンツ配信システム。
【請求項４】
前記配信制御サーバは、
高負荷と判定されていない配信サーバにおいてマルチキャスト配信を実施中の場合、
所定の単位時間ごとに前記マルチキャストにより配信されるコンテンツの配信要求数を測定する手段と、
所定期間内に測定された前記単位時間ごとの配信要求数の時間的変化の割合が所定の割合より大きいかを判定する手段と、
前記単位時間ごとの配信要求数の時間的変化の割合が所定の割合より大きくないと判定したとき、前記コンテンツ管理情報を参照して、マルチキャスト配信を実施中のコンテンツと同じコンテンツを格納している他の配信サーバを検索する手段と、
検索結果に基づいて、前記他の配信サーバが存在する場合、当該他の配信サーバからコンテンツを配信することを示す配信方法を決定する手段と、
を備え、
前記配信サーバは、
前記配信制御サーバによって決定された配信方法を受信して、当該配信方法に基づいてコンテンツを配信する手段
を備える
ことを特徴とする請求項３に記載のコンテンツ配信システム。
【請求項５】
前記配信制御サーバは、
高負荷と判定されていない配信サーバにおいてマルチキャスト配信を実施中の場合、
所定の単位時間ごとに前記マルチキャストにより配信されるコンテンツの配信要求数を測定する手段と、
所定期間内に測定された前記単位時間ごとの配信要求数、および前記配信サーバ負荷情報に格納された前記負荷パラメータの測定値の時系列の個々の値と、予め記憶しているそれぞれの値に対応する第２の閾値とを比較する手段と、
その比較結果に基づいて、前記所定期間内の前記単位時間ごとの配信要求数および当該負荷パラメータの測定値がすべて前記第２の閾値以下の場合、前記マルチキャスト配信を解除する指示情報を当該配信サーバに送信する手段と、
を備え、
前記配信サーバは、
前記マルチキャスト配信を解除する指示情報を受信して、前記指示情報によって解除を指示された当該マルチキャスト配信を停止してユニキャスト配信に変更する手段
を備える
ことを特徴とする請求項３に記載のコンテンツ配信システム。
【請求項６】
前記配信制御サーバは、
高負荷と判定されていない配信サーバにおいて広域負荷分散配信を実施中の場合、
前記配信サーバ負荷情報から読み出した所定期間内の負荷パラメータの測定値の時系列の個々の値と、予め記憶しているそれぞれの値に対応する第２の閾値とを比較する手段と、
その比較結果に基づいて、前記所定期間内の前記負荷パラメータの測定値がすべて前記第２の閾値以下の場合、前記広域負荷分散配信を解除する指示情報を当該配信サーバに送信する手段と、
を備え、
前記配信サーバは、
前記広域負荷分散配信を解除する指示情報を受信して、前記指示情報によって解除を指示された当該広域負荷分散配信を停止する手段
を備える
ことを特徴とする請求項３に記載のコンテンツ配信システム。
【請求項７】
コンテンツを配信する配信サーバおよびその配信方法を決定し、決定した前記配信方法を前記配信サーバに送信する配信制御サーバと、受信した前記配信方法に基づいてコンテンツを配信する配信サーバとによって構成されるコンテンツ配信システムにおいて用いられるコンテンツ配信方法であって、
前記配信サーバは、
自身のサーバ負荷を表すパラメータと、コンテンツごとにユニキャストで同時に配信している数を表す同時接続数を示すパラメータとを負荷パラメータとし、前記負荷パラメータの値を所定の周期で測定するステップと、
少なくとも前記負荷パラメータの測定値を含む負荷情報を生成して、前記配信制御サーバに送信するステップと、
前記配信制御サーバから受信した前記配信方法に基づいてコンテンツを配信するステップと、
を実行し、
前記配信制御サーバは、
配信サーバおよびコンテンツごとに、前記配信サーバから受信した前記負荷情報を格納している配信サーバ負荷情報を記憶している記憶手段を備え、
前記配信サーバ負荷情報に格納されている前記負荷パラメータの測定値の大小に応じて、コンテンツを配信する配信サーバおよびその配信方法を決定し、決定した当該配信方法を当該配信サーバに送信するステップ
を実行し、
前記配信サーバは、
前記配信制御サーバから受信した前記配信方法に基づいてコンテンツを配信するステップ
を実行する
ことを特徴とするコンテンツ配信方法。
【請求項８】
前記配信サーバは、
前記負荷パラメータの測定値と予め記憶している第１の閾値とを比較するステップと、
比較結果に基づいて、前記測定値が前記第１の閾値以上の場合、高負荷と判定して、当該測定値のパラメータに高負荷を識別する高負荷識別情報を付して、前記測定値と前記高負荷識別情報とを前記負荷情報に含め、前記配信制御サーバに送信するステップと、
を実行し、
前記配信制御サーバは、
前記高負荷識別情報を含む負荷情報を格納している前記配信サーバ負荷情報と、前記コンテンツごとに前記高負荷識別情報を付されたパラメータの高負荷を解消するための負荷分散手段の種別を紐付けて格納しているコンテンツ管理情報と、を記憶している前記記憶手段を備え、
当該負荷情報を送信してきた配信サーバについて、前記配信サーバ負荷情報に前記高負荷識別情報が存在し、当該高負荷識別情報が付されているパラメータがサーバ負荷のパラメータである場合、前記配信サーバ負荷情報を参照して、当該配信サーバ内で最も同時接続数の大きいコンテンツを特定し、前記コンテンツ管理情報を参照して、当該コンテンツに紐付けられている負荷分散手段を配信方法として決定するステップと、
当該負荷情報を送信してきた配信サーバについて、前記配信サーバ負荷情報に前記高負荷識別情報が存在し、当該高負荷識別情報が付されているパラメータが同時接続数を示すパラメータである場合、当該高負荷識別情報が付されたパラメータの値を持つコンテンツを特定し、前記コンテンツ管理情報を参照して、当該コンテンツに紐付けられている負荷分散手段を配信方法として決定するステップと、
を実行する
ことを特徴とする請求項７に記載のコンテンツ配信方法。
【請求項９】
前記負荷分散手段の種別の一方は、マルチキャストであり、
前記負荷分散手段の種別の他方は、高負荷と判定された配信サーバとは別の配信サーバからコンテンツを配信する広域負荷分散である
ことを特徴とする請求項７または請求項８に記載のコンテンツ配信方法。
【請求項１０】
前記配信制御サーバは、
高負荷と判定されていない配信サーバにおいてマルチキャスト配信を実施中の場合、
所定の単位時間ごとに前記マルチキャストにより配信されるコンテンツの配信要求数を測定するステップと、
所定期間内に測定された前記単位時間ごとの配信要求数の時間的変化の割合が所定の割合より大きいかを判定するステップと、
前記単位時間ごとの配信要求数の時間的変化の割合が所定の割合より大きくないと判定したとき、前記コンテンツ管理情報を参照して、マルチキャスト配信を実施中のコンテンツと同じコンテンツを格納している他の配信サーバを検索するステップと、
検索結果に基づいて、前記他の配信サーバが存在する場合、当該他の配信サーバからコンテンツを配信することを示す配信方法を決定するステップと、
を実行し、
前記配信サーバは、
前記配信制御サーバによって決定された配信方法を受信して、当該配信方法に基づいてコンテンツを配信するステップ
を実行する
ことを特徴とする請求項８に記載のコンテンツ配信方法。
【請求項１１】
前記配信制御サーバは、
高負荷と判定されていない配信サーバにおいてマルチキャスト配信を実施中の場合、
所定の単位時間ごとに前記マルチキャストにより配信されるコンテンツの配信要求数を測定するステップと、
所定期間内に測定された前記単位時間ごとの配信要求数、および前記配信サーバ負荷情報に格納された前記負荷パラメータの測定値の時系列の個々の値と、予め記憶しているそれぞれの値に対応する第２の閾値とを比較するステップと、
その比較結果に基づいて、前記所定期間内の前記単位時間ごとの配信要求数および当該負荷パラメータの測定値がすべて前記第２の閾値以下の場合、前記マルチキャスト配信を解除する指示情報を当該配信サーバに送信するステップと、
を実行し、
前記配信サーバは、
前記マルチキャスト配信を解除する指示情報を受信して、前記指示情報によって解除を指示された当該マルチキャスト配信を停止してユニキャスト配信に変更するステップ
を実行する
ことを特徴とする請求項８に記載のコンテンツ配信方法。
【請求項１２】
前記配信制御サーバは、
高負荷と判定されていない配信サーバにおいて広域負荷分散配信を実施中の場合、
前記配信サーバ負荷情報から読み出した所定期間内の負荷パラメータの測定値の時系列の個々の値と、予め記憶しているそれぞれの値に対応する第２の閾値とを比較するステップと、
その比較結果に基づいて、前記所定期間内の前記負荷パラメータの測定値がすべて前記第２の閾値以下の場合、前記広域負荷分散配信を解除する指示情報を当該配信サーバに送信するステップと、
を実行し、
前記配信サーバは、
前記広域負荷分散配信を解除する指示情報を受信して、前記指示情報によって解除を指示された当該広域負荷分散配信を停止するステップ
を実行する
ことを特徴とする請求項８に記載のコンテンツ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介してコンテンツを配信するコンテンツ配信システムにおいて、システムの負荷状況に応じて、コンテンツの配信方法を動的に切り換えることによって、コンテンツ配信システムの負荷耐性を高める技術に関する。
【背景技術】
【０００２】
近年、ＩＰ（Internet Protocol）網を用いて、音声や映像といったコンテンツを連続データとして配信するコンテンツ配信サービスが行われている。一般的に、コンテンツをユニキャストで配信する場合には、そのサービスのユーザ数の増加にともなって、コンテンツを配信しているネットワークのリソースの負荷が増大し、正常な配信ができなくなる虞がある。特許文献１には、ユニキャストで配信している際に、複数のユーザについての配信状況を監視し、同一のコンテンツの複数のユニキャスト配信をマルチキャスト配信に変更して、ネットワーク設備の負荷を低減する技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００４−８０５６６号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、特許文献１に開示されている技術は、再生時間の短いコンテンツに対しては、ネットワークを構成するノードにおけるマルチキャストツリーの管理のための負荷が増加してしまう虞がある。つまり、再生時間の短いコンテンツに対してマルチキャストを適用すると、再生時間の開始および終了に応じて、ユーザのマルチキャストグループへの参加または離脱が頻繁に発生することになり、ノードの負荷が増加してしまう虞がある。
【０００５】
また、コンテンツの配信では、ビデオオンデマンドのように、コンテンツの先頭から連続データを送信しなければサービスとして成立しない場合と、生中継のように、コンテンツの途中からでもサービスとして成立する場合とがある。そこで、ビデオオンデマンドでは、ユニキャスト配信を用いる必要があり、生中継では、マルチキャスト配信でも問題がない。つまり、コンテンツには、ユニキャスト配信を用いるべきものと、マルチキャスト配信を用いた方がよいものとがあって、このようなコンテンツの特徴を、特許文献１では考慮していない。
そこで、本発明の課題は、コンテンツ配信システムの負荷状況やコンテンツの特徴を考慮しつつ、コンテンツの配信方法を動的に制御することによって、コンテンツ配信システムの負荷耐性を高めることを目的とする。
【課題を解決するための手段】
【０００６】
本発明は、コンテンツを配信する配信サーバおよびその配信方法を決定し、決定した前記配信方法を前記配信サーバに送信する配信制御サーバと、受信した前記配信方法に基づいてコンテンツを配信する配信サーバとによって構成されるコンテンツ配信システムであって、前記配信サーバが、自身のサーバ負荷を表すパラメータと、コンテンツごとにユニキャストで同時に配信している数を表す同時接続数を示すパラメータとを負荷パラメータとし、前記負荷パラメータの値を所定の周期で測定する手段と、少なくとも前記負荷パラメータの測定値を含む負荷情報を生成して、前記配信制御サーバに送信する手段と、前記配信制御サーバから受信した前記配信方法に基づいてコンテンツを配信する手段と、を備え、前記配信制御サーバが、配信サーバおよびコンテンツごとに、前記配信サーバから受信した前記負荷情報を格納している配信サーバ負荷情報を記憶している記憶手段と、前記配信サーバ負荷情報に格納されている前記負荷パラメータの測定値の大小に応じて、コンテンツを配信する配信サーバおよびその配信方法を決定し、決定した当該配信方法を当該配信サーバに送信する手段と、を備えることを特徴とする。
【０００７】
また、本発明は、コンテンツを配信する配信サーバおよびその配信方法を決定し、決定した前記配信方法を前記配信サーバに送信する配信制御サーバと、受信した前記配信方法に基づいてコンテンツを配信する配信サーバとによって構成されるコンテンツ配信システムにおいて用いられるコンテンツ配信方法であって、前記配信サーバが、自身のサーバ負荷を表すパラメータと、コンテンツごとにユニキャストで同時に配信している数を表す同時接続数を示すパラメータとを負荷パラメータとし、前記負荷パラメータの値を所定の周期で測定するステップと、少なくとも前記負荷パラメータの測定値を含む負荷情報を生成して、前記配信制御サーバに送信するステップと、前記配信制御サーバから受信した前記配信方法に基づいてコンテンツを配信するステップと、を実行し、前記配信制御サーバが、配信サーバおよびコンテンツごとに、前記配信サーバから受信した前記負荷情報を格納している配信サーバ負荷情報を記憶している記憶手段を備え、前記配信サーバ負荷情報に格納されている前記負荷パラメータの測定値の大小に応じて、コンテンツを配信する配信サーバおよびその配信方法を決定し、決定した当該配信方法を当該配信サーバに送信するステップを実行し、前記配信サーバが、前記配信制御サーバから受信した前記配信方法に基づいてコンテンツを配信するステップを実行することを特徴とする。
【０００８】
このような構成によれば、配信制御サーバが配信サーバの負荷情報を受信し、その負荷情報に基づいて、コンテンツの配信方法を動的に制御することができる。したがって、コンテンツ配信システムの負荷状況を考慮しつつ、コンテンツの配信方法を動的に制御することによって、コンテンツ配信システムの負荷耐性を高めることができる。
【０００９】
本発明は、前記配信サーバが、前記負荷パラメータの測定値と予め記憶している第１の閾値とを比較する手段と、比較結果に基づいて、前記測定値が前記第１の閾値以上の場合、高負荷と判定して、当該測定値のパラメータに高負荷を識別する高負荷識別情報を付して、前記測定値と前記高負荷識別情報とを前記負荷情報に含め、前記配信制御サーバに送信する手段と、を備え、前記配信制御サーバが、前記高負荷識別情報を含む負荷情報を格納している前記配信サーバ負荷情報と、前記コンテンツごとに前記高負荷識別情報を付されたパラメータの高負荷を解消するための負荷分散手段の種別を紐付けて格納しているコンテンツ管理情報と、を記憶している前記記憶手段と、当該負荷情報を送信してきた配信サーバについて、前記配信サーバ負荷情報に前記高負荷識別情報が存在し、当該高負荷識別情報が付されているパラメータがサーバ負荷のパラメータである場合、前記配信サーバ負荷情報を参照して、当該配信サーバ内で最も同時接続数の大きいコンテンツを特定し、前記コンテンツ管理情報を参照して、当該コンテンツに紐付けられている負荷分散手段を配信方法として決定する手段と、当該負荷情報を送信してきた配信サーバについて、前記配信サーバ負荷情報に前記高負荷識別情報が存在し、当該高負荷識別情報が付されているパラメータが同時接続数を示すパラメータである場合、当該高負荷識別情報が付されたパラメータの値を持つコンテンツを特定し、前記コンテンツ管理情報を参照して、当該コンテンツに紐付けられている負荷分散手段を配信方法として決定する手段と、を備えることを特徴とする。
【００１０】
また、本発明は、前記配信サーバが、前記負荷パラメータの測定値と予め記憶している第１の閾値とを比較するステップと、比較結果に基づいて、前記測定値が前記第１の閾値以上の場合、高負荷と判定して、当該測定値のパラメータに高負荷を識別する高負荷識別情報を付して、前記測定値と前記高負荷識別情報とを前記負荷情報に含め、前記配信制御サーバに送信するステップと、を実行し、前記配信制御サーバが、前記高負荷識別情報を含む負荷情報を格納している前記配信サーバ負荷情報と、前記コンテンツごとに前記高負荷識別情報を付されたパラメータの高負荷を解消するための負荷分散手段の種別を紐付けて格納しているコンテンツ管理情報と、を記憶している前記記憶手段を備え、当該負荷情報を送信してきた配信サーバについて、前記配信サーバ負荷情報に前記高負荷識別情報が存在し、当該高負荷識別情報が付されているパラメータがサーバ負荷のパラメータである場合、前記配信サーバ負荷情報を参照して、当該配信サーバ内で最も同時接続数の大きいコンテンツを特定し、前記コンテンツ管理情報を参照して、当該コンテンツに紐付けられている負荷分散手段を配信方法として決定するステップと、当該負荷情報を送信してきた配信サーバについて、前記配信サーバ負荷情報に前記高負荷識別情報が存在し、当該高負荷識別情報が付されているパラメータが同時接続数を示すパラメータである場合、当該高負荷識別情報が付されたパラメータの値を持つコンテンツを特定し、前記コンテンツ管理情報を参照して、当該コンテンツに紐付けられている負荷分散手段を配信方法として決定するステップと、を実行することを特徴とする。
【００１１】
このような構成によれば、最も負荷分散の効果を上げるために、高負荷と判定したパラメータの種別を判別することによって、負荷分散を適用するコンテンツを選択することができる。したがって、コンテンツ配信システムの負荷状況を考慮しつつ、コンテンツの配信方法を動的に制御することによって、コンテンツ配信システムの負荷耐性を高めることができる。
【００１２】
本発明は、前記負荷分散手段の種別の一方が、マルチキャストであり、前記負荷分散手段の種別の他方が、高負荷と判定された配信サーバとは別の配信サーバからコンテンツを配信する広域負荷分散であることを特徴とする。
【００１３】
このような構成によれば、コンテンツの特徴を考慮した負荷分散手段を適用することができる。したがって、コンテンツの特徴を考慮しつつ、コンテンツの配信方法を動的に制御することによって、コンテンツ配信システムの負荷耐性を高めることができる。
【００１４】
本発明は、前記配信制御サーバが、高負荷と判定されていない配信サーバにおいてマルチキャスト配信を実施中の場合、所定の単位時間ごとに前記マルチキャストにより配信されるコンテンツの配信要求数を測定する手段と、所定期間内に測定された前記単位時間ごとの配信要求数の時間的変化の割合が所定の割合より大きいかを判定する手段と、前記単位時間ごとの配信要求数の時間的変化の割合が所定の割合より大きくないと判定したとき、前記コンテンツ管理情報を参照して、マルチキャスト配信を実施中のコンテンツと同じコンテンツを格納している他の配信サーバを検索する手段と、検索結果に基づいて、前記他の配信サーバが存在する場合、当該他の配信サーバからコンテンツを配信することを示す配信方法を決定する手段と、を備え、前記配信サーバが、前記配信制御サーバによって決定された配信方法を受信して、当該配信方法に基づいてコンテンツを配信する手段を備えることを特徴とする。
【００１５】
また、本発明は、前記配信制御サーバが、高負荷と判定されていない配信サーバにおいてマルチキャスト配信を実施中の場合、所定の単位時間ごとに前記マルチキャストにより配信されるコンテンツの配信要求数を測定するステップと、所定期間内に測定された前記単位時間ごとの配信要求数の時間的変化の割合が所定の割合より大きいかを判定するステップと、前記単位時間ごとの配信要求数の時間的変化の割合が所定の割合より大きくないと判定したとき、前記コンテンツ管理情報を参照して、マルチキャスト配信を実施中のコンテンツと同じコンテンツを格納している他の配信サーバを検索するステップと、検索結果に基づいて、前記他の配信サーバが存在する場合、当該他の配信サーバからコンテンツを配信することを示す配信方法を決定するステップと、を実行し、前記配信サーバが、前記配信制御サーバによって決定された配信方法を受信して、当該配信方法に基づいてコンテンツを配信するステップを実行することを特徴とする。
【００１６】
このような構成によれば、マルチキャスト配信の場合には、同時接続数によって高負荷か否かを管理することができなくなるので、配信制御サーバは、マルチキャスト配信に切り換えた後に受け付ける配信要求数に基づいて、サーバ負荷が高負荷とならないように、輻輳予測を行うことができる。したがって、コンテンツ配信システムの負荷状況を考慮しつつ、コンテンツの配信方法を動的に制御することによって、コンテンツ配信システムの負荷耐性を高めることができる。
【００１７】
本発明は、前記配信制御サーバが、高負荷と判定されていない配信サーバにおいてマルチキャスト配信を実施中の場合、所定の単位時間ごとに前記マルチキャストにより配信されるコンテンツの配信要求数を測定する手段と、所定期間内に測定された前記単位時間ごとの配信要求数、および前記配信サーバ負荷情報に格納された前記負荷パラメータの測定値の時系列の個々の値と、予め記憶しているそれぞれの値に対応する第２の閾値とを比較する手段と、その比較結果に基づいて、前記所定期間内の前記単位時間ごとの配信要求数および当該負荷パラメータの測定値がすべて前記第２の閾値以下の場合、前記マルチキャスト配信を解除する指示情報を当該配信サーバに送信する手段と、を備え、前記配信サーバが、前記マルチキャスト配信を解除する指示情報を受信して、前記指示情報によって解除を指示された当該マルチキャスト配信を停止してユニキャスト配信に変更する手段を備えることを特徴とする。
【００１８】
また、本発明は、前記配信制御サーバが、高負荷と判定されていない配信サーバにおいてマルチキャスト配信を実施中の場合、所定の単位時間ごとに前記マルチキャストにより配信されるコンテンツの配信要求数を測定するステップと、所定期間内に測定された前記単位時間ごとの配信要求数、および前記配信サーバ負荷情報に格納された前記負荷パラメータの測定値の時系列の個々の値と、予め記憶しているそれぞれの値に対応する第２の閾値とを比較するステップと、その比較結果に基づいて、前記所定期間内の前記単位時間ごとの配信要求数および当該負荷パラメータの測定値がすべて前記第２の閾値以下の場合、前記マルチキャスト配信を解除する指示情報を当該配信サーバに送信するステップと、を実行し、前記配信サーバが、前記マルチキャスト配信を解除する指示情報を受信して、前記指示情報によって解除を指示された当該マルチキャスト配信を停止してユニキャスト配信に変更するステップを実行することを特徴とする。
【００１９】
このような構成によれば、コンテンツ配信システムの負荷状況を考慮しつつ、マルチキャスト配信実施中の配信サーバを、負荷状況を容易に管理できる通常のユニキャスト配信に切り換えることができ、コンテンツ配信システムの負荷耐性を高めることができる。
【００２０】
本発明は、前記配信制御サーバが、高負荷と判定されていない配信サーバにおいて広域負荷分散配信を実施中の場合、前記配信サーバ負荷情報から読み出した所定期間内の負荷パラメータの測定値の時系列の個々の値と、予め記憶しているそれぞれの値に対応する第２の閾値とを比較する手段と、その比較結果に基づいて、前記所定期間内の前記負荷パラメータの測定値がすべて前記第２の閾値以下の場合、前記広域負荷分散配信を解除する指示情報を当該配信サーバに送信する手段と、を備え、前記配信サーバが、前記広域負荷分散配信を解除する指示情報を受信して、前記指示情報によって解除を指示された当該広域負荷分散配信を停止する手段を備えることを特徴とする。
【００２１】
また、本発明は、前記配信制御サーバが、高負荷と判定されていない配信サーバにおいて広域負荷分散配信を実施中の場合、前記配信サーバ負荷情報から読み出した所定期間内の負荷パラメータの測定値の時系列の個々の値と、予め記憶しているそれぞれの値に対応する第２の閾値とを比較するステップと、その比較結果に基づいて、前記所定期間内の前記負荷パラメータの測定値がすべて前記第２の閾値以下の場合、前記広域負荷分散配信を解除する指示情報を当該配信サーバに送信するステップと、を実行し、前記配信サーバが、前記広域負荷分散配信を解除する指示情報を受信して、前記指示情報によって解除を指示された当該広域負荷分散配信を停止するステップを実行する
ことを特徴とする。
【００２２】
このような構成によれば、コンテンツ配信システムの負荷状況を考慮しつつ、広域負荷分散配信実施中の配信サーバによる配信を停止することができ、また、複製しているコンテンツが削除される。したがって、コンテンツ配信システムのリソースに余裕を作ることができるので、コンテンツ配信システムの負荷耐性を高めることができる。
【発明の効果】
【００２３】
本発明によれば、コンテンツ配信システムの負荷状況やコンテンツの特徴を考慮しつつ、コンテンツの配信方法を動的に制御することによって、コンテンツ配信システムの負荷耐性を高めることができる。
【図面の簡単な説明】
【００２４】
【図１】コンテンツ配信システムの構成例および動作例を示す図である。
【図２】配信制御サーバにおける主な処理の流れの例を示す図である。
【図３】配信サーバの構成例および機能例を示す図である。
【図４】コンテンツＤＢの一例を示す図である。
【図５】同時接続数ＤＢの一例を示す図である。
【図６】負荷ＤＢの一例を示す図である。
【図７】閾値ＤＢの一例を示す図である。
【図８】配信制御サーバの構成例および機能例を示す図である。
【図９】配信サーバ負荷ＤＢの一例を示す図である。
【図１０】コンテンツ管理ＤＢの一例を示す図である。
【図１１】ユーザ登録ＤＢの一例を示す図である。
【図１２】配信サーバが高負荷のときの処理の流れの例を示す図である。
【図１３】（ａ）はマルチキャストの場合の負荷分散の解除処理の流れの例を示す図であり、（ｂ）は広域負荷分散の場合の負荷分散の解除処理の流れの例を示す図である。
【図１４】輻輳予測に基づく負荷分散処理の流れの例を示す図である。
【発明を実施するための形態】
【００２５】
次に、本発明を実施するための形態（以降「本実施形態」と称す。）について、適宜図面を参照しながら詳細に説明する。
【００２６】
（コンテンツ配信システムの概要）
本実施形態におけるコンテンツ配信システムの構成例について、図１を用いて説明する。図１に示すように、コンテンツ配信システム１００は、配信制御サーバ１、配信サーバ２、接続制御サーバ３、端末４、ネットワーク５によって構成される。なお、ネットワーク５は、１以上のルータ６をノードとし、ルータ６間を通信可能に接続することによって構成される。ルータ６は、データをルーチングすることによって、コンテンツを目的地に伝達する。端末４は、例えば、パソコン、通信機能を備えたテレビ、または携帯電話等の携帯端末である。接続制御サーバ３は、端末４からのコンテンツ配信要求（配信要求とも称す。）を受け付けて、そのコンテンツ配信要求を配信制御サーバ１へ転送する。配信制御サーバ１は、コンテンツ配信要求に基づいて、コンテンツを配信する配信サーバ２および配信方法を決定し、決定した配信方法を当該配信サーバ２に送信する。配信サーバ２は、配信制御サーバ１によって決定された配信方法に基づいて、コンテンツを端末４へ送信する。なお、図１において、配信制御サーバ１、配信サーバ２、接続サーバ３、および端末４は、それぞれ１台ずつしか記載していないが、２台以上であっても構わない。また、ルータ６は、図１では３台記載しているが、３台に限られない。
【００２７】
次に、本実施形態におけるコンテンツ配信システム１００の動作例の概要について、図１を用いて説明する。
ステップＳ１１では、ユーザが用いる端末４が、コンテンツの配信を要求するコンテンツ配信要求を接続制御サーバ３へ送信する。コンテンツ配信要求には、少なくとも、コンテンツを識別するコンテンツＩＤと送信元の端末４を識別する端末識別情報（例えば、端末４のＩＰアドレス）とが含まれている。
【００２８】
ステップＳ１２では、接続制御サーバ３は、コンテンツ配信要求を配信制御サーバ１に転送する。なお、接続制御サーバ３は、端末４から、コンテンツ配信要求以外の、他の端末４やサーバ（不図示）等への接続を要求する接続要求を受け付ける。したがって、接続制御サーバ３は、接続要求がコンテンツ配信要求であるか否かを、コンテンツ配信要求であることを識別するコンテンツ配信要求識別情報を用いて判定する。そして、接続制御サーバ３は、接続要求がコンテンツ配信要求であると判定した場合に、そのコンテンツ配信要求を配信制御サーバ１へ転送する。
【００２９】
ステップＳ１３では、配信制御サーバ１は、受信したコンテンツ配信要求や、配信サーバ２から受信する配信サーバの負荷情報（後記）に基づいて、コンテンツを配信する配信サーバ２および配信方法を決定する。
配信方法には、デフォルトとして通常の配信に用いられるユニキャスト配信と、配信サーバ２が高負荷となった場合に負荷を分散する（高負荷を解消する）ための負荷分散手段として用いられるマルチキャスト配信および広域負荷分散配信とがある。負荷分散手段を適用して、ユニキャスト配信をマルチキャスト配信に変更することは、複数のユニキャスト用のパケットを１つのマルチキャスト用のパケットにまとめることができるため、回線の使用帯域だけでなく配信サーバ１の処理負荷を減らすことができる。ただし、配信先が分岐している場合には、ネットワーク等でデータのコピーを生成しなければならなくなり、処理負荷が増加することもある。また、広域負荷分散配信は、同一コンテンツを配信する配信サーバ２を新たに別に設けて、高負荷となっている配信サーバ２の処理負荷を、それ以上増加させないようにすることができる。なお、広域負荷分散配信では、ユニキャスト配信によってコンテンツが送信される。
【００３０】
ステップＳ１４では、配信制御サーバ１は、決定した配信サーバ２と配信方法とを、コンテンツ配信要求に対応する接続応答情報として、端末４に送信する。接続応答情報には、少なくとも、コンテンツＩＤと接続先情報とが格納されている。接続先情報は、マルチキャスト配信の場合にはマルチキャストアドレスであり、ユニキャスト配信の場合には配信サーバ２のアドレスである。
ステップＳ１５では、端末４は、受信した接続応答情報に基づいて、コンテンツの配信開始を指示するコンテンツ配信開始指示を配信サーバ２に送信する。コンテンツ配信開始指示には、少なくとも、コンテンツＩＤと接続先情報と送信元の端末識別情報が格納されている。
ステップＳ１６では、配信サーバ２は、コンテンツ配信開始指示を受信して、ステップＳ１８において配信制御サーバ１から受信している配信方法に基づいて、コンテンツを端末４に配信する。
【００３１】
ステップＳ１７では、配信サーバ２は、少なくとも、サーバ負荷を表す各パラメータ（例えば、ＣＰＵ使用率、メモリ使用率、使用帯域）と、自身に格納しているコンテンツのコンテンツＩＤごとにユニキャストで同時に配信している数を表す同時接続数を示すパラメータとを負荷パラメータとし、その負荷パラメータについて所定の周期ＤＸで測定する。そして、配信サーバ２は、負荷パラメータの測定値と閾値（第１の閾値）とを比較し、測定値が閾値（第１の閾値）以上の場合に、高負荷と判定するものとする。そして、配信サーバ２は、高負荷と判定した測定値のパラメータに、高負荷を識別する高負荷識別情報を付して、それらの測定値と高負荷識別情報とを含む負荷情報を配信制御サーバ１に送信する。なお、負荷情報の配信制御サーバ１への送信タイミングは、所定の周期ＤＹ（≧ＤＸ）のときおよび高負荷と判定したときである。
ステップＳ１８では、配信制御サーバ１は、配信サーバ２から受信した負荷情報に基づいて配信サーバ２および配信方法を決定し、決定した配信方法を配信方法指示として当該配信サーバ２に送信する。
【００３２】
（配信制御サーバの概要）
次に、配信制御サーバ１における配信制御の主な処理の流れについて、図２を用いて説明する。
ステップＳ２１では、配信制御サーバ１は、配信サーバ２から、所定の周期で、または配信サーバ２が高負荷と判定したときに、負荷情報を受信する。負荷情報には、その負荷情報を送信した配信サーバ２を識別するサーバＩＤが紐付けられているものとする。
ステップＳ２２では、配信制御サーバ１は、受信した負荷情報に含まれる高負荷識別情報に基づいて、配信サーバ２が高負荷になっているか否かを判定する。すなわち、配信制御サーバ１は、高負荷識別情報が存在していれば、高負荷と判定する。なお、ステップＳ２２において高負荷と判定された場合（ステップＳ２２でＹｅｓ）、処理は、ステップＳ２３へ進む。
【００３３】
ステップＳ２３では、配信制御サーバ１は、負荷情報に紐付けられている配信サーバ２が、負荷分散手段を実施中の配信サーバか否かを判定する。負荷分散手段を実施中の配信サーバである場合（ステップＳ２３でＹｅｓ）、処理はステップＳ２１に戻る。また、負荷分散手段を実施中の配信サーバでない場合（ステップＳ２３でＮｏ）、処理は、ステップＳ２４へ進む。
ステップＳ２４では、配信制御サーバ１は、後記する方法によって負荷分散の対象とするコンテンツを選択し、そのコンテンツの特徴に基づいて、負荷分散を行うための配信方法を決定する。なお、ステップＳ２４における配信方法を決定する処理の詳細については後記する。
ステップＳ２５では、配信制御サーバ１は、決定した配信方法を配信方法指示として配信サーバ２に送信する。そして、ステップＳ２５の後の処理は、ステップＳ２１へ戻り、新たに受信した負荷情報を用いて（ステップＳ２１）、ステップＳ２２以降の処理を繰り返す。
【００３４】
ステップＳ２２において、高負荷と判定されなかった場合（ステップＳ２２でＮｏ）、処理は、ステップＳ２６へ進む。
ステップＳ２６では、配信制御サーバ１は、負荷情報を送信してきた配信サーバが、負荷分散手段を実施中（負荷分散実施中）の配信サーバか否かを判定する。負荷分散実施中の配信サーバでない場合（ステップＳ２６でＮｏ）、処理はステップＳ２１に戻る。また、負荷分散実施中の配信サーバである場合（ステップＳ２６でＹｅｓ）、処理は、ステップＳ２７へ進む。
ステップＳ２７では、配信制御サーバ１は、負荷分散手段がマルチキャスト配信か否かを判定する。負荷分散手段がマルチキャスト配信でない場合（ステップＳ２７でＮｏ）、処理は、ステップＳ２８へ進む。
【００３５】
ステップＳ２８では、配信制御サーバ１は、負荷分散の解除条件を満足するか否かを判定する。この解除条件の詳細については、後記する。負荷分散の解除条件を満足しない場合（ステップＳ２８でＮｏ）、処理は、ステップＳ２１へ戻る。負荷分散の解除条件を満足する場合（ステップＳ２８でＹｅｓ）、処理は、ステップＳ２９へ進む。
ステップＳ２９では、配信制御サーバ１は、負荷分散の解除を決定する。負荷分散の解除を決定する処理の詳細については後記する。
ステップＳ３０では、配信制御サーバ１は、決定した配信方法を配信方法指示（解除）として配信サーバ２に送信する。そして、ステップＳ３０の後の処理は、ステップＳ２１へ戻り、新たに受信した負荷情報を用いて、ステップＳ２２以降の処理を繰り返す。
【００３６】
ステップＳ２７において、負荷分散手段がマルチキャスト配信である場合（ステップＳ２７でＹｅｓ）、処理は、ステップＳ３１へ進む。
ステップＳ３１では、配信制御サーバ１は、輻輳の可能性があるかないかを判定する。このステップＳ３１の処理は、マルチキャスト配信されているコンテンツに対して行われる。この理由は、負荷分散手段によってユニキャスト配信からマルチキャスト配信に変更された場合、配信データが一つに束ねられてしまうので、配信サーバ２は、ユニキャスト配信のときのように同時接続数を測定できなくなるためである。すなわち、配信サーバ２から配信制御サーバ１へ送信される負荷情報に、同時接続数が含まれなくなる。そこで、配信制御サーバ１は、マルチキャスト配信中の当該コンテンツに対する新規の配信要求数を所定期間ごとに測定する。次に、配信制御サーバ１は、所定期間内の配信要求数の時間的変化傾向を算出する。そして、配信制御サーバ１は、時間的変化傾向が減少傾向か否かを判定する。時間的変化傾向が所定の割合より大きな減少傾向と判定した場合、輻輳の可能性がないと判定する。
ステップＳ３１において、輻輳の可能性がないと判定された場合（ステップＳ３１でＮｏ）、処理は、ステップＳ２８へ進む。また、輻輳の可能性があると判定された場合（ステップＳ３１でＹｅｓ）、処理は、ステップＳ３２へ進む。
【００３７】
ステップＳ３２では、配信制御サーバ１は、負荷分散を行うための配信方法を決定する。なお、ステップＳ３２における配信方法を決定する処理の詳細については後記する。
ステップＳ３３では、配信制御サーバ１は、決定した配信方法を配信方法指示として配信サーバ２に送信する。そして、ステップＳ３３の後の処理は、ステップＳ２１へ戻り、新たに受信した負荷情報を用いて（ステップＳ２１）、ステップＳ２２以降の処理を繰り返す。
【００３８】
（配信サーバ）
次に、配信サーバ２の構成例および機能例について、図３を用いて説明する。配信サーバ２は、処理部２１、通信部２２、および記憶部２３を備える。処理部２１は、コンピュータのＣＰＵとメインメモリとで構成され、記憶部２３に格納されているアプリケーションプログラムをメインメモリに展開して、負荷測定部２１１、負荷判定部２１２、負荷情報通知部２１３、配信先変更部２１４、およびコンテンツ複製削除部２１５を具現化する。
【００３９】
負荷測定部２１１は、コンテンツＩＤごとの同時接続数を所定の周期ＤＸで測定する。また、負荷測定部２１１は、自身のサーバ負荷を所定の周期ＤＸで測定する。例えば、サーバ負荷として、ＣＰＵ使用率、メモリ使用率、および使用帯域がある。負荷測定部２１１は、測定結果を所定の周期ＤＸで負荷判定部２１２に送信する。
【００４０】
負荷判定部２１２は、負荷測定部２１１から受信した測定結果に含まれる個々の負荷パラメータ（ＣＰＵ使用率、メモリ使用率、使用帯域、同時接続数）の値が、予め設定してある個々の閾値より大きいか否かを判定する。負荷判定部２１２は、負荷パラメータの値が閾値より大きいと判定した場合、その負荷パラメータに高負荷を識別する高負荷識別情報を付して、負荷パラメータの値と高負荷識別情報とを負荷情報通知部２１３に送信する。
【００４１】
負荷情報通知部２１３は、負荷判定部２１２から受信した負荷パラメータの値と高負荷識別情報とを負荷情報として、所定の周期ＤＹで配信制御サーバ１に送信する。ただし、所定の周期は、ＤＹ≧ＤＸとする。また、負荷情報通知部２１３は、高負荷識別情報を検出した場合、所定の周期でなくても、その時の負荷情報を配信制御サーバ１に送信する。
【００４２】
配信先変更部２１４は、配信制御サーバ１から通信部２２を介して受信した配信方法指示がマルチキャスト配信の指示であった場合、指示されたコンテンツの配信をユニキャスト配信からマルチキャスト配信に変更する。また、マルチキャスト配信に変更した後は、負荷分散（マルチキャスト配信）が解除されるまで、同該コンテンツをユニキャスト配信しない。
【００４３】
コンテンツ複製削除部２１５は、配信制御サーバ１から通信部２２を介して受信した配信方法指示が広域負荷分散の実施であり、かつコンテンツの複製を指示している場合、当該コンテンツを管理するコンテンツ管理サーバ（不図示）等からそのコンテンツをダウンロードして、複製を生成する。また、コンテンツ複製削除部２１５は、配信制御サーバ１から通信部２２を介して受信した配信方法指示が負荷分散の解除であり、かつ複製したコンテンツの削除を指示している場合、当該コンテンツを削除する。
また、処理部２１は、通信部２２および記憶部２３の制御を司り、情報の送受を行う。
【００４４】
通信部２２は、通信を制御する機能を備える。
記憶部２３は、コンテンツＤＢ２３１、同時接続数ＤＢ２３２、負荷ＤＢ２３３、および閾値ＤＢ２３４を記憶している。
コンテンツＤＢ２３１は、図４に示すように、配信サーバ２が格納しているコンテンツに割り当てられているコンテンツＩＤと、複製した場合に付されるフラグとを紐付けて記憶している。フラグは、複製したことを表す場合には「１」と表示される。なお、フラグは、「１」に限らす、複製したことを識別可能な記号であっても構わない。また、複製したコンテンツは負荷分散が解除された場合に削除され、それに合わせてフラグ「１」も削除される。
【００４５】
同時接続数ＤＢ２３２は、図５に示すように、コンテンツＩＤと最大同時接続数と現在の同時接続数とを紐付けて記憶している。最大同時接続数は、予め設定されるもので、同時に接続可能な最大の接続数を表す。現在の同時接続数は、所定の周期ＤＸに測定した値を表す。
負荷ＤＢ２３３は、図６に示すように、時刻とＣＰＵ使用率とメモリ使用率と使用帯域（Mbit）とを紐付けて記憶している。なお、図６では、時刻を１分刻み（単位）で記載しているが、これに限られない。
閾値ＤＢ２３４は、図７に示すように、サーバ負荷の各パラメータと、高負荷判定用の閾値とを紐付けて記憶している。また、図７には記載していないが、同時接続数については、コンテンツごとに閾値（例えば、図５に示す最大同時接続数）を記憶している。なお、図７に示す閾値は、一例であって、配信サーバの処理能力に応じて適宜決められればよい。
【００４６】
（配信制御サーバ）
次に、配信制御サーバ１の構成例および機能例について、図８を用いて説明する。配信制御サーバ１は、処理部１１、通信部１２、および記憶部１３を備える。処理部１１は、コンピュータのＣＰＵとメインメモリとで構成され、記憶部１３に格納されているアプリケーションプログラムをメインメモリに展開して、負荷情報収集部１１１、負荷分散決定部１１２、負荷分散解除部１１３、コンテンツ管理部１１４、および配信要求受付部１１５を具現化する。また、処理部１１は、通信部１２および記憶部１３の制御を司り、各情報の送受を行う。
【００４７】
負荷情報収集部１１１は、図２のステップＳ２１の処理を実行する。すなわち、負荷情報収集部１１１は、配信サーバ２から負荷情報を収集する。また、負荷情報収集部１１１は、所定の単位時間ごとの配信要求数を測定する。そして、負荷情報収集部１１１は、収集した負荷情報および所定の単位時間ごとの配信要求数を、時系列として、配信サーバ負荷ＤＢ１３１（後記）に記憶する。
【００４８】
負荷分散決定部１１２は、図２のステップＳ２２〜Ｓ２７、Ｓ３１〜Ｓ３３の処理を実行する。すなわち、負荷分散決定部１１２は、配信サーバから収集した負荷情報に高負荷識別情報を付されたパラメータが含まれていることを検出した場合、その高負荷識別情報を付されたパラメータの値を持つコンテンツＩＤを抽出し、コンテンツ管理ＤＢ１３２（後記）を参照して、当該コンテンツＩＤに紐付けられている負荷分散手段を読み出すことによって、当該負荷分散手段を決定する。そして、負荷分散決定部１１２は、決定した負荷分散手段を配信方法指示として配信サーバ２に送信する。また、負荷分散決定部１１２は、配信サーバ負荷ＤＢ１３１（後記）に記憶されている配信要求数に基づいて、負荷分散を行う配信方法を決定し、その配信方法を配信方法指示として配信サーバ２に送信する。なお、負荷分散手段の決定の詳細については後記する。
【００４９】
負荷分散解除部１１３は、図２のステップＳ２８〜Ｓ３０の処理を実行する。すなわち、負荷分散解除部１１３は、配信サーバ負荷ＤＢ１３１を参照して、負荷分散手段を適用している配信サーバの負荷情報を監視し、負荷分散手段を適用しないでも高負荷とならないと判定した場合には、負荷分散手段（負荷分散）を解除する。なお、負荷分散の解除の詳細については、後記する。
【００５０】
コンテンツ管理部１１４は、コンテンツの特徴に基づいて負荷分散手段を決定する。また、コンテンツ管理部１１４は、負荷分散決定部１１２および負荷分散解除部１１３の処理結果に基づいて、コンテンツの配信を受信するために端末４がアクセスすべき接続先を示す接続先情報を生成する。接続先情報は、負荷分散が適用されていない通常の配信の場合にはユニキャスト配信であるので配信サーバアドレス、マルチキャスト配信が適用されている場合にはマルチキャストアドレス、広域負荷分散配信が適用されている場合には配信サーバアドレスとなる。そして、コンテンツ管理部１１４は、コンテンツＩＤごとに、そのコンテンツを格納しているサーバＩＤ、負荷分散手段、高負荷識別情報を付されたパラメータ、コンテンツの複製の有無、および接続先情報を紐付けてコンテンツ管理ＤＢ１３２に記憶する。
【００５１】
配信要求受付部１１５は、コンテンツ配信要求を受信する。そして、配信要求受付部１１５は、コンテンツ管理ＤＢ１３２を参照して、接続制御サーバ３を介して端末４へ、接続応答情報（コンテンツＩＤ、接続先情報）を送信する。また、配信要求受付部１１５は、所定の単位時間ごとに配信要求数を測定し、配信サーバ負荷ＤＢ１３１（後記）に記憶する。
なお、コンテンツ配信サービスを提供する際に予めユーザを登録しておく場合には、配信要求受付部１１５は、ユーザを識別するユーザＩＤが含まれるコンテンツ配信要求を受信する。そして、配信要求受付部１１５は、ユーザ登録ＤＢ１３３（後記）を参照して、ユーザＩＤに紐付けられているデフォルトの配信サーバ２について、配信サーバ２を決定するときの優先順位を付して、負荷分散決定部１１２に送信してもよい。負荷分散決定部１１２では、負荷情報に差異がない場合には、その優先順位を考慮して、配信サーバ２を決定してもよい。
【００５２】
記憶部１３は、配信サーバ負荷ＤＢ１３１、コンテンツ管理ＤＢ１３２、およびユーザ登録ＤＢ１３３を記憶している。
配信サーバ負荷ＤＢ１３１は、図９に示すように、サーバＩＤ、コンテンツＩＤ、サーバ負荷の各パラメータ、負荷分散手段の適用有無、同時接続数、配信要求数、および高負荷識別情報を付されたパラメータを紐付けて記憶している。サーバ負荷の各パラメータ、同時接続数、および配信要求数は、時系列で記憶される。配信要求数は、配信要求受付部１１５によって所定の単位時間ごとに測定された値である。負荷分散手段の適用有無の欄は、負荷分散手段の種別（マルチキャストまたは広域負荷分散）と、適用している場合には「有」、適用していない場合には「無」とを記憶している。高負荷識別情報を付されたパラメータの欄は、高負荷と判定されているパラメータの例として、「サーバ負荷（メモリ使用率）」、「同時接続数」を記憶している場合を表している。
【００５３】
コンテンツ管理ＤＢ１３２は、図１０に示すように、コンテンツＩＤ、サーバＩＤ、負荷分散手段、高負荷識別情報を付されたパラメータ、複製、および接続先情報を記憶している。負荷分散手段は、コンテンツの特徴に基づいて決められる。すなわち、負荷分散手段は、再生時間が所定時間より長いコンテンツの場合および生中継するコンテンツの場合のいずれか一方または双方のとき、マルチキャスト配信とする。また、マルチキャスト配信でない負荷分散手段は、広域負荷分散配信とする。複製の欄は、複製した場合にはフラグ「１」を付して記憶している。接続先情報の欄は、負荷分散手段がマルチキャストの場合にはマルチキャストアドレスを記憶し、広域負荷分散の場合には配信サーバアドレスを記憶している。なお、負荷分散が適用されていない通常配信の場合、接続先情報の欄には配信サーバアドレスが記憶される。
【００５４】
ユーザ登録ＤＢ１３３は、図１１に示すように、ユーザＩＤとサーバＩＤとを紐付けて記憶している。サーバＩＤ欄には、負荷情報に差異がない場合に選択される優先順位の順番に、サーバＩＤが記憶されている。
【００５５】
（配信サーバが高負荷のときの処理の流れ）
配信サーバ２が高負荷のときの処理の流れについて、図１２を用いて説明する（適宜、図８〜１０参照）。なお、この図１２に示すステップＳ４１〜Ｓ４９の処理は、図２のステップＳ２４〜Ｓ２５の処理を詳細に表したものである。
【００５６】
ステップＳ４１では、負荷分散決定部１１２は、配信サーバ負荷ＤＢ１３１を参照して、高負荷識別情報を付されたパラメータ欄に格納されているパラメータ（高負荷パラメータ）を抽出する。そして、負荷分散決定部１１２は、抽出した高負荷パラメータがサーバ負荷のパラメータおよび同時接続数のいずれかまたは双方かを判定する。高負荷パラメータがサーバ負荷のパラメータの場合には、ステップＳ４２へ進む。高負荷パラメータが同時接続数の場合には、ステップＳ４３へ進む。また、高負荷パラメータがサーバ負荷のパラメータおよび同時接続数の双方の場合には、ステップＳ４２へ進む。
【００５７】
ステップＳ４２では、負荷分散決定部１１２は、配信サーバ負荷ＤＢ１３１を参照して、配信サーバ２内で最も同時接続数の多いコンテンツＩＤを特定する。
ステップＳ４３では、負荷分散決定部１１２は、高負荷識別情報が付されているパラメータが同時接続数を示すパラメータである場合、当該高負荷識別情報が付されたパラメータの値を持つコンテンツＩＤを特定する。そして、負荷分散決定部１１２は、ステップＳ４２またはステップＳ４３で特定されたコンテンツＩＤを用いて、コンテンツ管理ＤＢ１３２を参照して、当該コンテンツＩＤに紐付けられている負荷分散手段を抽出し、その負荷分散手段を適用することを決定する。負荷分散手段が広域負荷分散の場合は、処理は、ステップＳ４４へ進む。
ステップＳ４４では、負荷分散決定部１１２は、コンテンツ管理ＤＢ１３２を参照して、同一のコンテンツを配信している他の配信サーバを検索する。同一のコンテンツを配信している他の配信サーバが無い場合、処理は、ステップＳ４５へ進む。
【００５８】
ステップＳ４５では、負荷分散決定部１１２は、配信サーバ負荷ＤＢ１３１を参照して、最もサーバ負荷の低い配信サーバを選択し、その配信サーバに対象コンテンツの複製を指示する配信方法指示を送信する。なお、最もサーバ負荷の低い配信サーバ２は、ＣＰＵ使用率、メモリ使用率、使用帯域を変数とする所定の関数によって算出された値に基づいて、選択される。
ステップＳ５０では、配信要求受付部１１５は、新規の配信要求を受信したとき、コンテンツを複製した配信サーバ２の接続先情報を端末４に送信して、コンテンツを複製した配信サーバ２に接続することを指示する。
【００５９】
ステップＳ４４の検索結果において、同一のコンテンツＩＤのコンテンツを配信している配信サーバが１以上ある場合、処理は、ステップＳ４６へ進む。ステップＳ４６では、負荷分散決定部１１２は、配信サーバ負荷ＤＢ１３１を参照して、最もサーバ負荷の低い配信サーバ２を選択する。
ステップＳ５１では、配信要求受付部１１５は、新規の配信要求を受信したとき、選択した配信サーバ２を接続先とする接続先情報を端末４に送信して、選択した配信サーバ２に接続することを指示する。
【００６０】
ステップＳ４３において、負荷分散手段がマルチキャストの場合は、処理は、ステップＳ４７へ進む。ステップＳ４７では、負荷分散決定部１１２は、コンテンツ管理ＤＢ１３２を参照して、同一のコンテンツ（コンテンツＩＤ）を記憶している他の配信サーバを検索する。同一のコンテンツを記憶している他の配信サーバが１以上ある場合、処理は、ステップＳ４８へ進む。
ステップＳ４８では、負荷分散決定部１１２は、サーバ負荷の最も小さい配信サーバ２に、配信方法指示を送信する。なお、サーバ負荷の大小を判定する場合には、パラメータとしてＣＰＵ使用率、メモリ使用率、使用帯域の３つがあるので、これらのパラメータの加重平均に基づいて判定する。
【００６１】
ステップＳ４７の検索結果において、同一コンテンツＩＤのコンテンツを記憶している配信サーバがない場合、処理は、ステップＳ４９へ進む。ステップＳ４９では、負荷分散決定部１１２は、ステップＳ４１において処理対象となった高負荷の配信サーバに、配信方法指示を送信する。
ステップＳ５２では、配信要求受付部１１５は、新規の接続要求を受信したとき、配信方法指示を送信した配信サーバ２を接続先とする接続先情報を端末４に送信して、当該配信サーバ２に接続することを指示する。
【００６２】
（負荷分散解除の処理の流れ）
負荷分散を解除する処理の流れについて、図１３（ａ），（ｂ）を用いて説明する。図１３（ａ）は、マルチキャストの場合の負荷分散の解除処理の流れを示す図であり、図１３（ｂ）は広域負荷分散の場合の負荷分散の解除処理の流れを示す図である。なお、この図１３（ａ），（ｂ）に示す処理は、図２のステップＳ２８〜Ｓ３０の処理を詳細に表したものである。
【００６３】
図１３（ａ）に示すように、マルチキャスト配信を実施中の場合、ステップＳ６１では、負荷分散解除部１１３は、配信サーバ負荷ＤＢ１３１を参照して、当該配信サーバ２について、所定の単位時間ごとの新規の配信要求数およびサーバ負荷のパラメータの測定値を取得する。なお、負荷分散解除部１１３は、配信要求受付部１１５によって測定された所定の単位時間ごとの新規の配信要求数を直接取得してもよい。
ステップＳ６２では、負荷分散解除部１１３は、マルチメディア配信しているコンテンツに対して、所定期間（配信サーバの送信周期ＤＹより大きい長さ）内の所定の単位時間ごとの新規の配信要求数およびサーバ負荷のパラメータの測定値が、それぞれに対応する閾値（第２の閾値）以下かを判定する。なお、閾値（第２の閾値）は、予め定めておくものとする。
【００６４】
ステップＳ６２において、いずれかまたはすべてが閾値（第２の閾値）より大きいと判定された場合、処理はステップＳ６１へ戻り、すべてが閾値（第２の閾値）以下と判定された場合、ステップＳ６３へ進む。
ステップＳ６３では、負荷分散解除部１１３は、負荷分散手段を解除する指示を示す配信方法指示（解除）を配信サーバ２へ送信し、実施中の負荷分散手段を解除する。そして、配信サーバ２は、負荷分散手段を解除する配信方法指示（解除）を受信して、マルチキャスト配信を実施中の負荷分散手段を停止してユニキャスト配信に変更する。
【００６５】
ここで、マルチキャスト配信において、新規の配信要求数を解除判定に用いる理由は、マルチキャスト配信では、途中で配信を受けることをやめたユーザ数を把握することができないため、すなわち、同時接続数を知ることができないためである。そして、所定期間内の所定の単位時間ごとの配信要求数が閾値（第２の閾値）以下になるということは、その後、配信サーバ２のサーバ負荷が高負荷となる可能性が低いと想定している。なお、所定期間内の所定の単位時間ごとの配信要求数と閾値（第２の閾値）とを比較する代わりに、後記する図１４のステップＳ８２で用いる方法によって、高負荷となる可能性を判定してもよい。
【００６６】
次に、図１３（ｂ）に示すように、広域負荷分散配信を実施中の場合、ステップＳ７１では、負荷分散解除部１１３は、配信サーバ負荷ＤＢ１３１を参照して、当該配信サーバ２の負荷パラメータの測定値を読み出す。
ステップＳ７２では、負荷分散解除部１１３は、広域負荷分散配信しているコンテンツに対して、所定期間（配信サーバの送信周期ＤＹより大きい長さ）のサーバ負荷のパラメータの測定値および同時接続数が、それぞれに対応する閾値（第２の閾値）以下かを判定する。なお、閾値（第２の閾値）は、予め定めておくものとする。
ステップＳ７２において、いずれかまたはすべてが閾値（第２の閾値）より大きいと判定された場合（ステップＳ７２でＮｏ）、処理はステップＳ７１へ戻り、すべてが閾値（第２の閾値）以下と判定された場合（ステップＳ７２でＹｅｓ）、ステップＳ７３へ進む。
【００６７】
ステップＳ７３では、負荷分散解除部１１３は、負荷分散を解除する指示を示す配信方法指示（解除）を配信サーバ２へ送信し、配信サーバ２の負荷分散を解除する。そして、配信サーバ２は、負荷分散手段を解除する配信方法指示（解除）を受信して、広域負荷分散配信を実施中の負荷分散手段を停止する。また、配信サーバ２は、コンテンツＤＢ２３１を参照して、コンテンツの複製の有無を判定して、コンテンツが複製である場合には、当該コンテンツを削除する。
【００６８】
（輻輳予測の処理の流れ）
高負荷と判定されていない配信サーバにおいて前記負荷分散手段としてマルチキャスト配信を実施中における、輻輳予測の処理の流れについて、図１４を用いて説明する。前記したように、マルチキャスト配信においては、同時接続数によって高負荷か否かを管理することができなくなる。そこで、配信制御サーバ１は、マルチキャスト配信に切り換えた後に受け付ける新規の配信要求数によって、サーバ負荷が高負荷とならないように、輻輳予測を行う。なお、この図１４に示す処理は、図２のステップＳ３１〜Ｓ３３の処理を詳細に表したものである。
【００６９】
ステップＳ８１では、負荷情報収集部１１１は、コンテンツごとに所定の単位時間ごとの配信要求数を測定し、配信サーバ負荷ＤＢ１３１に記憶する。負荷分散決定部１１２は、配信サーバ負荷ＤＢ１３１を参照して、配信要求数を取得する。
ステップＳ８２では、負荷分散決定部１１２は、所定期間内に測定された前記単位時間ごとの配信要求数の時間的変化の割合が所定の割合（負値）より大きいか否か（輻輳の可能性ありかなしか）を判定する。つまり、負荷分散決定部１１２は、単位時間ごとの配信要求数の時間的変化の割合が所定の割合（負値）より大きい場合には、輻輳の可能性があると判定する。ここで、単位時間ごとの配信要求数の時間的変化の割合は、０を含めて正の値から負の値まで取りうるので、所定の割合（負値）との比較において、数値の大小で判定される。ステップＳ８２において、単位時間ごとの配信要求数の時間的変化傾向の割合が所定の割合（負値）より大きいと判定された場合（ステップＳ８２でＹｅｓ）、処理はステップＳ８３へ進み、単位時間ごとの配信要求数の時間的変化傾向の割合が所定の割合（負値）より大きくないと判定された場合（ステップＳ８２でＮｏ）、ステップＳ２８（図２参照）へ進む。
【００７０】
ステップＳ８３では、負荷分散決定部１１２は、配信サーバ負荷ＤＢ１３１を参照し、同一コンテンツを記憶している他の配信サーバ２を検索する。検索した結果、同一コンテンツを配信している他の配信サーバ２が１台以上の場合、処理は、ステップＳ８４へ進む。
ステップＳ８４では、負荷分散決定部１１２は、サーバ負荷の最も小さい配信サーバ２に配信方法指示を送信する。
ステップＳ８５では、配信要求受付部１１５は、新規の配信要求を受信したとき、配信方法指示を送信した配信サーバ２の接続先情報を端末４に送信して、当該配信サーバ２に接続することを指示する。
【００７１】
以上、本実施形態のコンテンツ配信システム１００では、配信制御サーバ１が配信サーバ２の負荷状況を管理して、その配信サーバ２の負荷分散を動的に制御するので、負荷耐性を高めることができる。また、コンテンツ配信システム１００の負荷を低減するために用いる負荷分散手段（マルチキャストまたは広域負荷分散）はコンテンツの特徴に基づいて決定されるので、コンテンツ配信サービスとしてのサービス条件（頭出しが必要か否か）を満足するとともに、負荷耐性を高めることができる。また、配信制御サーバ１は、マルチキャスト配信時に新規の配信要求数に基づいて輻輳予測を実施するので、負荷耐性を高めることができる。
【００７２】
なお、図１４のステップＳ８２において、所定期間内の配信要求数を用いて閾値と比較するように説明したが、所定期間内の配信要求数に限られなくともよい。例えば、所定期間内の配信要求数から、その一つ前の所定期間内の配信要求数を減算した値を用いてもよい。また、複数の所定期間内の配信要求数の加重平均としてもよい。すなわち、配信要求数が増加傾向にあるのか、減少傾向にあるのかを判定する指標が用いられてもよい。
【符号の説明】
【００７３】
１  配信制御サーバ
２  配信サーバ
３  接続制御サーバ
４  端末
５  ネットワーク
６  ルータ
１１，２１  処理部
１２，２２  通信部
１３、２３  記憶部
１００  コンテンツ配信システム
１１１  負荷情報収集部
１１２  負荷分散決定部
１１３  負荷分散解除部
１１４  コンテンツ管理部
１１５  配信要求受付部
１３１  配信サーバ負荷ＤＢ
１３２  コンテンツ管理ＤＢ
１３３  ユーザ登録ＤＢ
２１１  負荷測定部
２１２  負荷判定部
２１３  負荷情報通知部
２１４  配信先変更部
２１５  コンテンツ複製削除部
２３１  コンテンツＤＢ
２３２  同時接続数ＤＢ
２３３  負荷ＤＢ
２３４  閾値ＤＢ
【図１】
2011171962.tif 000003
【図２】
2011171962.tif 000004
【図３】
2011171962.tif 000005
【図４】
2011171962.tif 000006
【図５】
2011171962.tif 000007
【図６】
2011171962.tif 000008
【図７】
2011171962.tif 000009
【図８】
2011171962.tif 000010
【図９】
2011171962.tif 000011
【図１０】
2011171962.tif 000012
【図１１】
2011171962.tif 000013
【図１２】
2011171962.tif 000014
【図１３】
2011171962.tif 000015
【図１４】
2011171962.tif 000016