(57)【要約】【課題】ストリーミング配信されたコンテンツファイルにコンテンツの途切れが発生するのを抑制できるネットワークＡＶシステムを提供する。【解決手段】コントロールポイントＣＰは、曲ファイルＭＵ１１を蓄積するサーバＳＶ１が曲ファイルＭＵ１１をデコードしてストリーミング配信する場合にサーバＳＶ１にかかる予測負荷を算出する（Ｓ１０４〜Ｓ１０６）。サーバＳＶ１の予測負荷が基準負荷未満である場合（Ｓ１０７でＹＥＳ）、曲ファイルＭＵ１１を配信する配信サーバをサーバＳＶ１とする（Ｓ１１８）。サーバＳＶ１の予測負荷が基準負荷を超える場合（Ｓ１０７でＮＯ）、他のサーバＳＶ２、ＳＶ３のうち予測負荷が基準負荷未満のサーバを配信サーバとする（Ｓ１０８〜Ｓ１１２）。予測負荷の低いサーバが曲ファイルを配信するため、音切れ等の発生を抑制できる。【選択図】図９
2008071229.tif 000002
【特許請求の範囲】
【請求項１】
互いに接続可能な複数のサーバと、前記複数のサーバに接続可能なレンダラと、前記複数のサーバ及びレンダラに接続可能なコントローラとを備えたネットワークＡＶシステムであって、
前記サーバは、
複数のコンテンツファイルを蓄積するコンテンツ蓄積手段と、
前記レンダラからの要求に応じて、選択されたコンテンツファイルをデコードして前記レンダラにストリーミング配信する配信手段と、
自身にかかる負荷に関する負荷情報を前記コントローラに送信する負荷情報送信手段とを備え、
前記コントローラは、
前記各サーバが蓄積するコンテンツファイルの詳細及び所在に関するコンテンツ情報と、前記各サーバから送信される負荷情報と、コンテンツファイルをデコードしてストリーミング配信することにより各サーバにかかる負荷に関する配信負荷情報とを記憶する記憶手段と、
前記コンテンツ情報に基づいて、選択されたコンテンツファイルを蓄積するサーバを特定するサーバ特定手段と、
前記特定されたサーバの負荷情報及び前記特定されたサーバの配信負荷情報に基づいて、前記選択されたコンテンツファイルを配信するときに前記特定されたサーバにかかる予測負荷を算出する予測負荷算出手段と、
前記算出された予測負荷が基準負荷未満の場合、前記特定されたサーバから前記選択されたコンテンツファイルの配信を受けて再生するよう前記レンダラに再生指示を送信する再生指示手段とを備え、
前記レンダラは、
前記再生指示に基づいて、前記選択されたコンテンツファイルのストリーミング配信を前記サーバに要求する要求手段と、
配信されたコンテンツファイルを再生する再生手段とを備えることを特徴とするネットワークＡＶシステム。
【請求項２】
請求項１に記載のネットワークＡＶシステムであって、
前記予測負荷算出手段はさらに、前記各サーバの負荷情報及び前記各サーバの配信負荷情報に基づいて、各サーバが前記選択されたコンテンツファイルを配信する場合に各サーバにかかる予測負荷を算出し、
前記コントローラはさらに、
前記特定されたサーバの予測負荷が前記基準負荷を超える場合、前記複数のサーバのうち、予測負荷が前記基準負荷未満となるサーバを検索する検索手段と、
前記予測負荷が基準負荷未満となるサーバを前記検索手段が検索したとき、前記検索されたサーバに対して前記特定されたサーバから前記選択されたコンテンツファイルを取得するよう取得指示を送信する取得指示手段とを備え、
前記サーバはさらに、
前記取得指示を受けたとき、前記特定されたサーバから前記選択されたコンテンツファイルを取得する取得手段とを備え、
前記再生指示手段は、前記検索手段が前記サーバを検索したとき、前記検索されたサーバから前記選択されたコンテンツファイルの配信を受けて再生するよう前記レンダラに再生指示を送信することを特徴とするネットワークＡＶシステム。
【請求項３】
請求項２に記載のネットワークＡＶシステムであって、
前記検索手段はさらに、前記予測負荷が基準負荷未満となるサーバが複数存在するとき、前記予測負荷が最小のサーバを検索することを特徴とするネットワークＡＶシステム。
【請求項４】
請求項１に記載のネットワークＡＶシステムであって、
前記負荷情報は、前記サーバにかかる負荷に関する時系列の負荷データで構成され、
前記予測負荷算出手段は、
前記選択されたコンテンツファイルの再生時間を算出する再生時間算出手段と、
前記負荷情報及び前記再生時間に基づいて、現時点から前記選択されたコンテンツファイルの再生が完了するまでの時系列の負荷データを外挿法により予測する時系列データ算出手段と、
前記予測された時系列の負荷データに前記配信負荷情報を加算して時系列の予測負荷データからなる予測負荷とする加算手段とを備え、
前記再生指示手段は、前記時系列の予測負荷データの全てが前記基準負荷未満のとき、前記再生指示を送信することを特徴とするネットワークＡＶシステム。
【請求項５】
複数のコンテンツファイルを蓄積し、要求に応じてコンテンツファイルをデコードしてストリーミング配信する複数のサーバと、選択されたコンテンツファイルのストリーミング配信を前記サーバに要求し、ストリーミング配信されたコンテンツファイルを再生するレンダラと、前記複数のサーバ及びレンダラに接続可能なコントローラとを備えたネットワークＡＶシステムの前記コントローラであって、
前記各サーバが蓄積するコンテンツファイルの詳細及び所在に関するコンテンツ情報と、前記各サーバにかかる負荷に関する情報であって前記各サーバから送信される負荷情報と、コンテンツファイルをデコードしてストリーミング配信することにより各サーバにかかる負荷に関する配信負荷情報とを記憶する記憶手段と、
前記コンテンツ情報に基づいて、選択されたコンテンツファイルを蓄積するサーバを特定するサーバ特定手段と、
前記特定されたサーバの負荷情報及び前記特定されたサーバの配信負荷情報に基づいて、前記選択されたコンテンツファイルを配信するときに前記特定されたサーバにかかる予測負荷を算出する予測負荷算出手段と、
前記算出された予測負荷が基準負荷未満の場合、前記特定されたサーバから前記選択されたコンテンツファイルの配信を受けて再生するよう前記レンダラに再生指示を送信する再生指示手段とを備えることを特徴とするコントローラ。
【請求項６】
請求項６に記載のコントローラであって、
前記予測負荷算出手段はさらに、前記各サーバの負荷情報及び前記各サーバの配信負荷情報に基づいて、各サーバが前記選択されたコンテンツファイルを配信する場合に各サーバにかかる予測負荷を算出し、
前記コントローラはさらに、
前記特定されたサーバの予測負荷が前記基準負荷を超える場合、前記複数のサーバのうち、予測負荷が前記基準負荷未満となるサーバを検索する検索手段と、
前記予測負荷が基準負荷未満となるサーバを前記検索手段が検索したとき、前記検索されたサーバに対して前記特定されたサーバから前記選択されたコンテンツファイルを取得するよう取得指示を送信する取得指示手段とを備え、
前記再生指示手段は、前記検索手段が前記サーバを検索したとき、前記検索されたサーバから前記選択されたコンテンツファイルの配信を受けて再生するよう前記レンダラに再生指示を送信することを特徴とするコントローラ。
【請求項７】
請求項５に記載のコントローラであって、
前記検索手段はさらに、前記予測負荷が基準負荷未満となるサーバが複数存在するとき、前記予測負荷が最小のサーバを検索することを特徴とするコントローラ。
【請求項８】
請求項５〜７のいずれか１項に記載の手段をコンピュータに実現させるためのコントローラプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークＡＶシステム及びコントローラに関し、さらに詳しくは、複数のコンテンツファイルを蓄積するサーバと、サーバからストリーミング配信されるコンテンツファイルを再生するレンダラと、サーバ及びレンダラに接続可能なコントローラとを備えたネットワークＡＶシステム及びコントローラに関する。
【背景技術】
【０００２】
最近、家庭内のパーソナルコンピュータやＡＶ（Audio Visual）機器を相互に接続し、連携して使用するネットワークＡＶシステムが登場している。たとえば、ＤＬＮＡ（Digital Living Network Alliance）ガイドラインに基づくネットワークＡＶシステムでは、コントロールポイントと呼ばれるコントローラが、映像や音楽といったコンテンツを蓄積するソースデバイスであるメディアサーバと、コンテンツを再生する再生装置（シンクデバイス）であるメディアレンダラとを制御する。
【０００３】
このようなＤＬＮＡガイドラインに基づくネットワークシステムにおいて、ストリーミングによるコンテンツファイルの再生を実行する場合、サーバはコンテンツファイルを所定のファイル形式にデコードした後、レンダラにストリーミング配信する。たとえば、サーバはｍｐ３形式の曲ファイルをＬＰＣＭ形式にデコードした後、レンダラにストリーミング配信する。
【０００４】
しかしながら、サーバがコンテンツファイルをデコードしてストリーミング配信する場合、サーバにかかる負荷が増大し、その結果、レンダラで再生される映像や音声が途切れるという問題が生じる。
【０００５】
特開２００４−１０２３３９号公報（特許文献１）には、コンテンツサーバ内のコンテンツファイルをトランスコードサーバが所定のファイル形式にデコードしてクライアント端末に送信する技術が開示されている。しかしながら、仮に、トランスコードサーバがデコードされたコンテンツファイルをクライント端末にストリーミング配信するのであれば、トランスコードサーバの負荷増大によりコンテンツが途切れる可能性が生じる。
【特許文献１】特開２００４−１０２３３９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
本発明の目的は、ストリーミング配信されたコンテンツファイルにコンテンツの途切れが発生するのを抑制できるネットワークＡＶシステムを提供することである。
【課題を解決するための手段及び発明の効果】
【０００７】
本発明によるネットワークＡＶシステムは、互いに接続可能な複数のサーバと、複数のサーバに接続可能なレンダラと、複数のサーバ及びレンダラに接続可能なコントローラとを備える。サーバは、コンテンツ蓄積手段と、配信手段と、負荷情報送信手段とを備える。コンテンツ蓄積手段は、複数のコンテンツファイルを蓄積する。配信手段は、レンダラからの要求に応じて、選択されたコンテンツファイルをデコードしてレンダラにストリーミング配信する。負荷情報送信手段は、自身にかかる負荷に関する負荷情報をコントローラに送信する。コントローラは、記憶手段と、サーバ特定手段と、予測負荷算出手段と、再生指示手段とを備える。記憶手段は、各サーバから送信される負荷情報と、コンテンツファイルをデコードしてストリーミング配信することにより各サーバにかかる負荷に関する配信負荷情報とを記憶する。サーバ特定手段は、コンテンツ情報に基づいて、選択されたコンテンツファイルを蓄積するサーバを特定する。予測負荷算出手段は、特定されたサーバの負荷情報及び特定されたサーバの配信負荷情報に基づいて、選択されたコンテンツファイルを配信するときに特定されたサーバにかかる予測負荷を算出する。再生指示手段は、算出された予測負荷が基準負荷未満の場合、特定されたサーバから選択されたコンテンツファイルの配信を受けて再生するようレンダラに再生指示を送信する。レンダラは、要求手段と、再生手段とを備える。要求手段は、再生指示に基づいて、選択されたコンテンツファイルのストリーミング配信をサーバに要求する。再生手段は、配信されたコンテンツファイルを再生する。
【０００８】
本発明によるネットワークＡＶシステムでは、コントロールポイントは、選択されたコンテンツファイルを蓄積するサーバを特定し、特定されたサーバが選択されたコンテンツファイルをデコードして配信するときに、特定されたサーバにかかる負荷を予測する。そして、コントロールポイントは、予測した負荷が基準負荷未満の場合に選択されたコンテンツファイルの再生を指示する。予測負荷が低いときに特定サーバからコンテンツファイルが配信されるため、再生中のコンテンツに途切れが生じるのを抑制できる。
【０００９】
好ましくは、予測負荷算出手段はさらに、各サーバの負荷情報及び各サーバの配信負荷情報に基づいて、各サーバが選択されたコンテンツファイルを配信する場合に各サーバにかかる予測負荷を算出する。コントローラはさらに、検索手段と、取得指示手段とを備える。検索手段は、特定されたサーバの予測負荷が基準負荷を超える場合、複数のサーバのうち、予測負荷が基準負荷未満となるサーバを検索する。取得指示手段は、予測負荷が基準負荷未満となるサーバを検索手段が検索したとき、検索されたサーバに対して特定されたサーバから選択されたコンテンツファイルを取得するよう取得指示を送信する。サーバはさらに、取得手段を備える。取得手段は、取得指示を受けたとき、特定されたサーバから選択されたコンテンツファイルを取得する。再生指示手段は、検索手段がサーバを検索したとき、検索されたサーバから選択されたコンテンツファイルの配信を受けて再生するようレンダラに再生指示を送信する。
【００１０】
これにより、特定されたサーバの予測負荷が高い場合、予測負荷の低いサーバが特定されたサーバに代わってコンテンツファイルのデコード及びストリーミング配信を代理する。コンテンツファイルの配信は予測負荷の低いサーバが実行するため、コンテンツに途切れが生じるのを抑制できる。
【００１１】
好ましくは、検索手段はさらに、予測負荷が基準負荷未満となるサーバが複数存在するとき、予測負荷が最小のサーバを検索する。
【００１２】
この場合、予測負荷が最小のサーバが選択されたコンテンツファイルを配信する。したがって、コンテンツに途切れが生じるのを抑制できる。
【００１３】
好ましくは、負荷情報は、サーバにかかる負荷に関する時系列の負荷データで構成される。予測負荷算出手段は、再生時間算出手段と、時系列データ算出手段と、加算手段とを備える。再生時間算出手段は、選択されたコンテンツファイルの再生時間を算出する。時系列データ算出手段は、負荷情報及び再生時間に基づいて、現時点から選択されたコンテンツファイルの再生が完了するまでの時系列の負荷データを外挿法により予測する。加算手段は、予測された時系列の負荷データに配信負荷情報を加算して時系列の予測負荷データからなる予測負荷とする。再生指示手段は、時系列の予測負荷データの全てが基準負荷未満のとき、再生指示を送信する。
【００１４】
この場合、コンテンツを再生中にサーバにかかる予測負荷を時系列に求めることができる。そのため、予測の精度が向上する。
【発明を実施するための最良の形態】
【００１５】
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
【００１６】
［全体構成］
図１を参照して、本発明の実施の形態によるネットワークＡＶシステム１は、コントロールポイントＣＰと、複数のサーバＳＶ１〜ＳＶ３（これらを総称してサーバＳＶともいう）と、レンダラＲＥとを備える。これらは、ＤＬＮＡガイドラインに対応しており、ＵＰｎＰプロトコルに基づいて相互に接続される。図１に示されるレンダラＲＥは１つだが、２以上あってもよい。また、図１中のサーバＳＶは３つであるが、サーバＳＶの数は２つでもよいし、４以上あってもよい。
【００１７】
コントロールポイントＣＰは、サーバＳＶ１〜ＳＶ３及びレンダラＲＥを制御する。コントロールポイントＣＰは、サーバＳＶ１〜ＳＶ３に蓄積された複数の曲ファイルのうち、所望の曲ファイルをユーザ操作に応じて選択する。そして、選択された曲ファイルをサーバＳＶから取得して再生するようレンダラＲＥに指示する。
【００１８】
サーバＳＶ１〜ＳＶ３は、レンダラＲＥからの要求に応じて、選択された曲ファイルをデコードしてストリーミング配信する。レンダラＲＥはストリーミング配信された曲ファイルを受け、曲を再生する。以下、コントロールポイントＣＰ、サーバＳＶ及びレンダラＲＥの構成をそれぞれ説明する。
【００１９】
［コントロールポイント］
図２を参照して、コントロールポイントＣＰは、ＣＰＵ（Central Processing Unit）１１と、メモリ１２と、サーバＳＶ１〜３及びレンダラＲＥと通信するための通信部１３と、ハードディスクドライブ（以下、ＨＤＤという）１４と、ディスプレイ１５とを備える。
【００２０】
ＨＤＤ１４は、負荷情報データベース１４１と、コンテンツ情報データベース１４２と、配信負荷データベース１４３とを記憶する。
【００２１】
負荷情報データベース１４１には、図３に示すとおり、サーバＳＶ１〜ＳＶ３の各々にかかる負荷情報が登録される。ここで、負荷情報は、各サーバＳＶ１〜ＳＶ３にかかる時系列の負荷データから構成される。本実施の形態では、負荷データは、各サーバＳＶ１〜ＳＶ３のＣＰＵ使用率とする。たとえば、図３において、時刻ｔ０１におけるサーバＳＶ１の負荷データ（ＣＰＵ使用率）は３％である。負荷データは、所定時間ごとに各サーバＳＶからコントロールポイントＣＰに送信される。
【００２２】
コンテンツ情報データベース１４２には、図４に示すように、各サーバＳＶ１〜ＳＶ３に蓄積された複数の曲ファイルの詳細及び所在に関する情報（以下、コンテンツ情報という）が登録される。具体的には、コンテンツ情報は、各曲ファイルを特定するための曲ＩＤ（ＭＵ１１、ＭＵ２１、ＭＵ３１等）、曲のタイトルや歌手名といった曲の詳細情報、及び曲ファイルの所在情報であるＵＲＩ（Uniform Resource Identifier）を含む。コンテンツ情報は、各サーバＳＶに蓄積された曲ファイルが更新されるごとに各サーバＳＶからコントロールポイントＣＰに送信される。
【００２３】
配信負荷データベース１４３には、図５に示すように、各サーバＳＶが曲ファイルをデコードしてストリーミング配信するときの負荷データ（以下、配信負荷という）が登録される。配信負荷は各サーバＳＶで予め測定されたものであってもよいし、過去の実績に基づいて予め登録されたものでもよい。
【００２４】
ＨＤＤ１４はさらに、コントローラプログラム１４４を記憶する。コントローラプログラム１４４がメモリ１２にロードされ、ＣＰＵ１１がメモリ１２にロードされたコントローラプログラム１４４を実行することにより、コントロールポイントＣＰは後述の動作を実行する。
【００２５】
ディスプレイ１５は、各サーバＳＶが蓄積する曲を列挙したプレイリストを表示したり、レンダラＲＥの動作状況（曲再生中、停止中等）を表示したりする。なお、プレイリストはコンテンツ情報データベース１４２に基づいて作成され、ディスプレイ１５に表示される。ユーザは、ディスプレイ１５に表示されたプレイリストを参照し、所望の曲ファイルを選択する。
【００２６】
［サーバ］
図６を参照して、サーバＳＶは、ＣＰＵ２１と、メモリ２２と、コントロールポイントＣＰやレンダラＲＥ等と通信するための通信部２３と、ＨＤＤ２４とを備える。
【００２７】
ＨＤＤ２４は、コンテンツデータベース２４１を記憶する。コンテンツデータベース２４１には、複数の曲ファイルが登録される。コンテンツデータベース２４１にはさらに、登録された複数の曲ファイルに対応したコンテンツ情報が登録される。サーバＳＶはコンテンツデータベース２４１内に新たな曲ファイルが追加されたり、曲ファイルを削除した場合、つまり、コンテンツデータベース２４１が更新された場合、コンテンツ情報を更新し、コントロールポイントＣＰに送信する。
【００２８】
ＨＤＤ２４はさらに、サーバプログラム２４２を記憶する。サーバプログラム２４２がメモリ２２にロードされ、ＣＰＵ２１がメモリ２２にロードされたサーバプログラム２４２を実行することにより、サーバＳＶは後述の動作を実行する。
【００２９】
［レンダラ］
図７を参照して、レンダラＲＥは、ＣＰＵ３１と、レンダラプログラムを格納するメモリ３２と、外部と通信するための通信部３３と、サーバからストリーミング配信された曲ファイルを再生するための再生部３４とを備える。ＣＰＵ３１がメモリ３２に格納されたレンダラプログラムを実行することにより、レンダラＲＥは後述の動作を実行する。
【００３０】
［動作］
上述の構成を有するネットワークＡＶシステム１の動作について説明する。
【００３１】
図８を参照して、コントロールポイントＣＰは、各サーバから定期的に送信される負荷データを負荷情報データベース１４１に蓄積する（１）。
【００３２】
ディスプレイ１５に表示されたプレイリストを参照したユーザが所望の曲ファイルＭＵ１１を選択したとき、ユーザ操作に応じてコントロールポイントＣＰに曲ファイルＭＵ１１の再生指示が入力される（２）。
【００３３】
このとき、コントロールポイントＣＰは、曲ファイルＭＵ１１の再生中に音切れが発生するのを抑制するために、サーバＳＶ１〜ＳＶ３の中から、曲ファイルＭＵ１１をデコードしてストリーミング配信するサーバ（以下、配信サーバという）を決定する（配信サーバ決定処理：（３））。
【００３４】
配信サーバ決定処理では、コントロールポイントＣＰは、各サーバＳＶが曲ファイルＭＵ１１をデコードして配信する場合に各サーバにかかる負荷を予測する。曲ファイルＭＵ１１を蓄積するサーバＳＶ１の予測負荷が小さければ、サーバＳＶ１を配信サーバに決定する（ＣＡＳＥ１）。この場合、コントロールポイントＣＰは、レンダラＲＥに再生指示を送信し（４）、レンダラＲＥは再生指示に基づいてサーバＳＶ１に曲ファイルＭＵ１１のストリーム配信を要求する（５）。
【００３５】
一方、サーバＳＶ１の予測負荷が大きい場合、サーバＳＶ１が配信サーバとなれば音切れが生じる可能性がある。そこでこの場合、予測負荷の小さい他のサーバＳＶ（たとえばサーバＳＶ２）が曲ファイルＭＵ１１のデコード及び配信を代理する（ＣＡＳＥ２）。予測負荷の小さい他のサーバＳＶが代理することにより、音切れの発生を抑制できる。
【００３６】
サーバＳＶ２を配信サーバとする場合、サーバＳＶ２は曲ファイルＭＵ１１を蓄積していない。そこで、コントロールポイントＣＰは、サーバＳＶ２に対して曲ファイルＭＵ１１の取得を指示する（６）。取得指示に基づいてサーバＳＶが曲ファイルＭＵ１１を取得して保存したとき、サーバＳＶ２は取得した曲ファイルＭＵ１１の所在情報（ＵＲＩ）をコントロールポイントＣＰに送信する（７）。
【００３７】
コントロールポイントＣＰは送信されたＵＲＩに基づいて曲ファイルＭＵ１１を再生するようレンダラＲＥに指示する（８）。レンダラＲＥはサーバＳＶ２から曲ファイルＭＵ１１を取得して再生する（９）。
【００３８】
以上の動作により、ネットワークＡＶシステム１は、再生中の曲ファイルに音切れが発生するのを抑制する。以下、コントロールポイントＣＰ、サーバＳＶ、及びレンダラＲＥの動作処理について詳細に説明する。
【００３９】
［配信サーバ決定処理］
図９を参照して、ユーザ操作に応じて曲ファイルＭＵ１１が選択され、選択された曲ファイルＭＵ１１の再生指示が入力されたとき（Ｓ１０１でＹＥＳ）、コントロールポイントＣＰは、コンテンツ情報データベース１４２を参照して、コンテンツファイルＭＵ１１を蓄積するサーバをサーバＳＶ１と特定する（Ｓ１０２）。
【００４０】
続いて、コントロールポイントＣＰは、特定されたサーバＳＶ１がコンテンツファイルＭＵ１１をストリーム配信するときにサーバＳＶ１にかかる予測負荷を求める（Ｓ１０３〜Ｓ１０６）。コントロールポイントＣＰはまず、曲ファイルＭＵ１１の再生時間Δｔ１を求める（Ｓ１０３）。再生時間Δｔ１は、ファイル内のタイムスタンプに基づいて決定されてもよいし、曲ファイルＭＵ１１のデータ容量から算定されてもよい。
【００４１】
再生時間Δｔ１を求めた後、負荷情報データベース１４１を参照して、サーバＳＶ１の時系列負荷データのうち、現在時刻（つまり、選択された曲ファイルの再生指示の入力を受けた時刻）ｔ１から所定期間Δｔ０遡った時刻ｔ１−Δｔ０と、時刻ｔ１との間の負荷データを読み出す（Ｓ１０４）。続いて、ステップＳ１０４で読み出された負荷データに基づいて、外挿法により時刻ｔ１〜時刻ｔ１＋Δｔ１の時系列の負荷データ（近似関数）を算出する（Ｓ１０５）。たとえば、図１０を参照して、時刻ｔ１までの時系列の負荷データが図１０の実線で示される場合、コントロールポイントＣＰは、ステップＳ１０４で時刻ｔ１−Δｔ０〜時刻ｔ１間の負荷データＣ０を読み出し、ステップＳ１０５で外挿法により点線で表された負荷データ（近似関数）Ｃ１を算出する。
【００４２】
負荷データを算出後、コントロールポイントＣＰは、以下の式（１）に基づいて時系列の予測負荷データからなる予測負荷を算出する（Ｓ１０６）。
【００４３】
予測負荷データ＝ステップＳ１０５で算出された負荷データ＋配信負荷データ  （１）
ここでいう配信負荷データは、サーバＳＶ１の配信負荷データであり、配信負荷データベース１４３から読み出される。図１０において、負荷データＣ１に配信負荷データを加算することにより得られた一点鎖線の曲線Ｃ２が、予測負荷となる。以上の動作により、時刻ｔ１〜ｔ１＋ΔｔにおけるサーバＳＶ１の予測負荷が算出される。
【００４４】
コントロールポイントＣＰは、算出された予測負荷が、基準負荷Ｌｒｅｆ未満であるか否かを判断する（Ｓ１０７）。基準負荷Ｌｒｅｆは、各サーバＳＶ１〜ＳＶ３が曲ファイルＭＵを再生するときに音切れが発生しない負荷の上限である。つまり、サーバＳＶ１の負荷が基準負荷Ｌｒｅｆを超えると、音切れが発生し得る。基準負荷ＬｒｅｆはコントロールポイントＣＰ内のＨＤＤ１４内に予め記憶されている。
【００４５】
ステップＳ１０７において、コントロールポイントＣＰは、時刻ｔ１〜時刻ｔ１＋Δｔ１間の時系列の予測負荷データの全てが基準負荷Ｌｒｅｆ未満である場合、予測負荷が基準負荷Ｌｒｅｆ未満であると判断する（Ｓ１０７でＹＥＳ）。一方、時刻ｔ１〜時刻ｔ１＋Δｔ間の予測負荷データのうちの少なくとも一部が基準負荷Ｌｒｅｆを超えた場合、予測負荷が基準負荷Ｌｒｅｆを超えたと判断する（Ｓ１０７でＮＯ）。
【００４６】
ステップＳ１０７での判断の結果、図１０に示すように、サーバＳＶ１の予測負荷Ｃ２がサーバＳＶ１の基準負荷Ｌｒｅｆ未満である場合（Ｓ１０７でＹＥＳ）、サーバＳＶ１を曲ファイルＭＵ１１を配信するサーバ（以下、配信サーバという）に決定する（Ｓ１１８）。予測負荷が基準負荷Ｌｒｅｆよりも低いため、サーバＳＶ１が曲ファイルＭＵ１１を配信しても音切れが発生しないと予想されるからである。
【００４７】
一方、ステップＳ１０７での判断の結果、サーバＳＶ１の予測負荷がサーバＳＶ１の基準負荷Ｌｒｅｆを超えた場合（Ｓ１０７でＮＯ）、他のサーバＳＶ２及びＳＶ３について予測負荷を算出する（Ｓ１０８）。サーバＳＶ１で曲ファイルＭＵ１１を配信すれば音切れが発生する可能性が高いため、予測負荷の低い他のサーバ（ＳＶ２又はＳＶ３）に曲ファイルＭＵ１１のデコード及び配信を代理させるためである。以下、ステップＳ１０８の詳細を説明する。
【００４８】
図１１を参照して、ステップＳ１０８の処理をサーバＳＶ１を除く各サーバ（ＳＶ２及びＳＶ３）に対して実行する。以下、サーバＳＶ２に対するステップＳ１０８の処理について説明するが、サーバＳＶ３に対する処理も同様である。
【００４９】
コントロールポイントＣＰはまず、サーバＳＶ１からサーバＳＶ２に曲ファイルＭＵ１１をダウンロード配信するのに必要な時間（以下、ダウンロード時間という）Δｔ３を算出する（Ｓ４０１）。コントロールポイントＣＰは、図１２に示すサーバ間ネットワーク速度データベースを予めＨＤＤ１４に記憶する。コントロールポイントＣＰは、サーバ間ネットワーク速度データベースを参照して、サーバＳＶ１からサーバＳＶ２へファイルを配信するときの速度ａａ３（Bytes/s）を読み出す。続いて、曲ファイルＭＵ１１のデータ容量を読み出し、読み出したデータ容量を速度ａａ３（Bytes/s）で除して、ダウンロード時間Δｔ３を算出する。
【００５０】
続いて、コントロールポイントＣＰは、負荷情報データベース１４１を参照して、時刻ｔ１−Δｔ０〜時刻ｔ１間のサーバＳＶ２の負荷データを読み出す（Ｓ４０２）。
【００５１】
ダウンロード時間Δｔ３を求め、負荷データを読み出した後、コントロールポイントＣＰは、時刻ｔ１＋Δｔ３〜時刻ｔ１＋Δｔ１＋Δｔ３間の負荷データを外挿法により算出する（Ｓ４０３）。ステップＳ１０５と比較して、負荷データを求める時間帯がΔｔ３だけずれているが、これは、サーバＳＶ２が曲ファイルＭＵ１１を配信する場合、事前にサーバＳＶ１から曲ファイルＭＵ１１をダウンロードしなければならないことに起因する。つまり、サーバＳＶ２が曲ファイルＭＵ１１を配信する時刻は、曲ファイルＭＵ１１のダウンロードが完了した時刻ｔ１＋Δｔ３から時刻ｔ１＋Δｔ＋Δｔ３までとなるため、この時間帯の負荷データを外挿法により算出する。
【００５２】
負荷データを算出後、コントロールポイントＣＰは式（１）に基づいて予測負荷を算出する（Ｓ４０４）。このとき、配信負荷データベース内のサーバＳＶ２の配信負荷データを読み出し、式（１）に代入する。
【００５３】
以上の動作によりサーバＳＶ２及びサーバＳＶ３の予測負荷を算出する。
【００５４】
図９に戻って、ステップＳ１０８でサーバＳＶ２及びＳＶ３の予測負荷を算出後、コントロールポイントＣＰは、予測負荷が基準負荷Ｌｒｅｆ未満のサーバ（以下、対応可能サーバという）を検索する（Ｓ１０９）。具体的には、コントロールポイントＣＰは、ＨＤＤ１４内に格納された基準負荷Ｌｒｅｆを読み出し、サーバＳＶ２の予測負荷データの全てが基準負荷Ｌｒｅｆ未満か否かを判断する。コントロールポイントＣＰはさらに、サーバＳＶ３についても同様に判断する。要するに、全てのサーバ（ＳＶ２、ＳＶ３）について、算出された予測負荷データが基準負荷Ｌｒｅｆ未満であるか否かを判断する。
【００５５】
ステップＳ１０９での検索の結果、対応可能サーバが存在する場合（Ｓ１０９でＹＥＳ）、コントロールポイントＣＰは、対応可能サーバが複数存在するか否かを判断する（Ｓ１１０）。
【００５６】
ステップＳ１１０の判断の結果、対応可能サーバが１つだけの場合（Ｓ１１０でＮＯ）、たとえば、サーバＳＶ２のみが対応可能サーバである場合、コントロールポイントＣＰは、サーバＳＶ２を配信サーバに決定する（Ｓ１１８）。
【００５７】
一方、ステップＳ１１０の判断の結果、対応可能サーバが複数存在する場合（Ｓ１１０でＹＥＳ）、複数の対応可能サーバの中から予測負荷が最小のサーバを検索する（Ｓ１１１及びＳ１１２）。具体的には、コントロールポイントＣＰは、各対応可能サーバの予測負荷データの平均値を算出する（Ｓ１１１）。たとえば、サーバＳＶ２及びＳＶ３が対応可能サーバの場合、サーバＳＶ２及びＳＶ３の各々の予測負荷データの平均値を求める。全ての対応可能サーバについて予測負荷データの平均値を求めた後、予測負荷データの平均値が最小の対応可能サーバを配信サーバとして決定する（Ｓ１１２）。
【００５８】
一方、ステップＳ１０９での判断の結果、サーバＳＶ１を除く他のサーバ（ＳＶ２及びＳＶ３）の予測負荷も基準負荷Ｌｒｅｆを超えるとき、サーバＳＶ１〜ＳＶ３のいずれが曲ファイルＭＵ１１を配信しても、音切れが発生し得る。この場合、以下の方法により、音切れが発生する可能性が最小のサーバを配信サーバに決定する（Ｓ１１４〜Ｓ１１７）。
【００５９】
コントロールポイントＣＰはまず、各サーバＳＶ１〜ＳＶ３の予測負荷データの全てが基準負荷Ｌｒｅｆを超えているか否かを判断する。予測負荷データの全てが基準負荷Ｌｒｅｆを超えている場合（Ｓ１１３でＹＥＳ）、コントロールポイントＣＰは、サーバごとの予測負荷データの平均値を算出する（Ｓ１１６）。そして、算出された平均値が最小のサーバＳＶを配信サーバに決定する（Ｓ１１７）。
【００６０】
一方、ステップＳ１１３での判断の結果、サーバＳＶ１〜ＳＶ３の少なくとも１つにおいて、予測負荷データの一部が基準負荷Ｌｒｅｆ未満となる場合（Ｓ１１３でＮＯ）、予測負荷データからなる近似関数が基準負荷Ｌｒｅｆのラインと交差する。たとえば、図１３に示すように、サーバＳＶ２の負荷データＣＳＶ２に基づいて算出された予測負荷データＣＰＳＶ２と、サーバＳＶ３の負荷データＣＳＶ３に基づいて算出された予測負荷データＣＰＳＶ３とが基準負荷Ｌｒｅｆラインと交差する。以下、図１３に基づいてステップＳ１１４及びＳ１１５を説明する。
【００６１】
コントロールポイントＣＰは、予測負荷データＣＰＳＶ２、ＣＰＳＶ３が基準負荷Ｌｒｅｆ（ＳＶ）未満となる時間Δｔｓｖ２及びΔｔｓｖ３を算出する（Ｓ１１４）。具体的には、各予測負荷データから基準負荷Ｌｒｅｆ（ＳＶ）を差分した差分値を求め、差分値が負となる時間の総和により時間Δｔｓｖ２及びΔｔｓｖ３を求める。
【００６２】
時間Δｔｓｖ２及びΔｔｓｖ３を算出後、コントロールポイントＣＰは、算出された時間Δｔｓｖが最大のサーバを配信サーバに決定する。図１３では、時間Δｔｓｖ２が時間Δｔｓｖ３よりも長いため、コントロールポイントＣＰは、サーバＳＶ２を配信サーバに決定する（Ｓ１１５）。
【００６３】
以上、コントロールポイントＣＰは、曲ファイルＭＵ１１を配信するときに各サーバＳＶ１〜ＳＶ３にかかる負荷を予測することにより、配信サーバを決定する。そのため、再生時に音切れの発生を抑制できる。
【００６４】
［配信サーバを決定した後のネットワークＡＶシステムの動作処理］
配信サーバを決定したコントロールポイントＣＰは、レンダラＲＥに対して再生指示を送信する。配信サーバをサーバＳＶ１以外のサーバ（ＳＶ２、ＳＶ３）とする場合、コントロールポイントＣＰは、配信サーバに曲ファイルＭＵ１１を取得させた後、レンダラに対して再生指示を送信する。
【００６５】
［配信サーバがサーバＳＶ１の場合］
図１４〜図１６を参照して、コントロールポイントＣＰはまず、配信サーバが、選択された曲ファイルＭＵ１１を蓄積したサーバか否かを判断する（Ｓ２０１）。コントロールポイントＣＰは、コンテンツ情報データベース１４２を参照して、配信サーバが曲ファイルＭＵ１１を蓄積するか否かを判断する。
【００６６】
配信サーバがサーバＳＶ１のとき、サーバＳＶ１は既に曲ファイルＭＵ１１を蓄積している（Ｓ２０１でＹＥＳ）。この場合、配信サーバＳＶ１は、他のサーバＳＶから曲ファイルＭＵ１１を取得する必要がない。したがって、コントロールポイントＣＰは、コンテンツ情報データベース１４２に登録された曲ファイルＭＵ１１の所在（ＵＲＩ１１）を含む再生指示をレンダラＲＥに送信する（Ｓ２０５）。
【００６７】
レンダラＲＥは再生指示を受けたとき（Ｓ５０１でＹＥＳ）、再生指示に含まれるＵＲＩ１１に基づいて、ストリーミング配信を要求するサーバをサーバＳＶ１と決定し、サーバＳＶ１に対してＵＲＩ１１を含むストリーミング配信要求を送信する（Ｓ５０２）。
【００６８】
サーバＳＶ１１は、ストリーミング配信要求を受信したと判断したとき（Ｓ３０１でＹＥＳ、Ｓ３０２でＮＯ）、曲ファイルＭＵ１１をデコードしてレンダラＲＥにストリーミング配信する（Ｓ３０６）。このとき、レンダラＲＥはストリーミング配信された曲ファイルＭＵ１１を受信し、再生する（Ｓ５０３）。
【００６９】
サーバＳＶ１はストリーミング配信を完了したとき（Ｓ３０７でＹＥＳ）、曲ファイルＭＵ１１は自身が蓄積していた曲ファイルであると判断し（Ｓ３０８でＮＯ）、コントロールポイントＣＰに対してストリーミング配信完了通知を送信する（Ｓ３１０）。
【００７０】
［配信サーバがサーバＳＶ２又はＳＶ３である場合］
次に、配信サーバがサーバＳＶ２である場合のネットワークＡＶシステム１の動作について説明する。コントロールポイントＣＰは、ステップＳ２０１において、配信サーバ（サーバＳＶ２）が、曲ファイルＭＵ１１を蓄積していないと判断する（Ｓ２０１でＮＯ）。配信サーバ（ＳＶ２）はサーバＳＶ１から曲ファイルＭＵ１１を取得しなければ、曲ファイルＭＵ１１をレンダラＲＥにストリーミング配信できない。そこで、コントロールポイントＣＰは、サーバＳＶ２に対して、曲ファイルＭＵ１１の所在（ＵＲＩ１１）を含む取得指示を送信する（Ｓ２０２）。
【００７１】
サーバＳＶ２は取得指示を受信したとき（Ｓ３０１及びＳ３０２でＹＥＳ）、取得指示に含まれる曲ファイルＭＵ１１のＵＲＩ１１に基づいて、曲ファイルＭＵ１１のダウンロード配信要求をサーバＳＶ１に送信する（Ｓ３０３）。サーバＳＶ２は、サーバＳＶ１からダウンロード配信された曲ファイルＭＵ１１を受け、ＨＤＤ１４内に保存する（Ｓ３０４）。曲ファイルＭＵ１１の保存を完了した後、サーバＳＶ２は、曲ファイルＭＵ１１の保存場所に基づく曲ファイルＭＵ１１のＵＲＩ（ＵＲＩ２５とする）をコントロールポイントＣＰに送信する（Ｓ３０５）。
【００７２】
コントロールポイントＣＰはサーバＳＶ２から送信された曲ファイルＭＵ１１のＵＲＩ２５を受け、メモリ１２に保存する（Ｓ２０３）。コントロールポイントＣＰは続いて、メモリ１２に保存されたＵＲＩ２５を含む再生指示をレンダラＲＥに送信する（Ｓ２０４）。
【００７３】
レンダラＲＥは再生指示に基づいてサーバＳＶ２に対して曲ファイルＭＵ１１のＵＲＩ２５を含むストリーミング配信要求を送信し（Ｓ５０２）、サーバＳＶ２はＵＲＩ２５に基づいて曲ファイルＭＵ１１をデコードし、配信する（Ｓ３０６）。配信が完了したとき（Ｓ３０７）、サーバＳＶ２は他のサーバＳＶ１から曲ファイルＭＵ１１を取得したと判断する（Ｓ３０８でＹＥＳ）。このとき、サーバＳＶ２は自身が保存する曲ファイルＭＵ１１を削除する（Ｓ３０９）。曲ファイルＭＵ１１は既にサーバＳＶ１に蓄積されているため、サーバＳＶ２でさらに蓄積する必要がないからである。
【００７４】
曲ファイルＭＵ１１を削除した後、サーバＳＶ２はコントロールポイントＣＰに配信完了通知を送信する（Ｓ３１０）。
【００７５】
なお、配信サーバがサーバＳＶ３である場合も、サーバＳＶ２の場合と同様の動作が実行される。
【００７６】
以上のとおり、本実施の形態によるネットワークＡＶシステムは、選択された曲ファイルＭＵを蓄積するサーバＳＶのデコード及び配信時の負荷を予測し、予測負荷が小さい場合に曲ファイルを配信させる。また、予測負荷が大きい場合、負荷の小さい他のサーバＳＶに曲ファイルＭＵのデコード及び配信を代理させる。そのため、再生中の曲ファイルの音切れを抑制できる。
【００７７】
本実施の形態によるネットワークＡＶシステムは、コンテンツファイルを曲ファイルとしたが、映像ファイルでもよいし、映像及び音声ファイルであってもよい。
【００７８】
また、本実施の形態では、基準負荷ＬｒｅｆをサーバＳＶに依存せず一定としたが、サーバごとに基準負荷Ｌｒｅｆが異なっていてもよい。また、基準負荷Ｌｒｅｆが曲ファイルごとに異なっていてもよい。この場合、基準負荷Ｌｒｅｆはたとえば、コンテンツ情報データベース１４２内の各レコードに対応して予め登録される。
【００７９】
本実施の形態では、図９中のステップＳ１１１及びＳ１１２において、予測負荷データの平均値が最小となるサーバを配信サーバに決定したが、他の方法により配信サーバを決定してもよい。たとえば、コントロールポイントＣＰはネットワーク上のサーバＳＶ１〜ＳＶ３を列挙したサーバリストを予めＨＤＤ１４に記憶する。ステップＳ１１０でＹＥＳの場合、予測負荷が基準負荷Ｌｒｅｆよりも低い複数のサーバのうち、サーバリストの最上位に列挙されたサーバを配信サーバとしてもよい。この場合、予測負荷データの平均値の算出が不要となる。また、複数のサーバＳＶのうち、予測負荷が基準負荷未満であることが最初に判明したサーバＳＶを配信サーバに決定してもよい。
【００８０】
また、ステップＳ１０５，Ｓ１０６及びステップＳ４０３，Ｓ４０４では、外挿法により算出された負荷データに配信負荷を加算して予測負荷としたが、他の方法により予測負荷を算出してもよい。たとえば、時刻ｔ１に直近の１つの負荷データのみを読み出して、その負荷データに単に配信負荷情報を加算することにより予測負荷としてもよい。
【００８１】
サーバ間ネットワーク速度データベース内のネットワーク速度は、サーバ間のネットワーク速度を測定して予め登録される。ｐｉｎｇを利用してサーバ間のネットワーク速度を推定し、推定されたネットワーク速度をサーバ間ネットワーク速度データベースに登録してもよい。
【００８２】
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
【図面の簡単な説明】
【００８３】
【図１】本発明の実施の形態によるネットワークＡＶシステムの全体構成を示す機能ブロック図である。
【図２】図１に示したコントロールポイントの構成を示す機能ブロック図である。
【図３】図２中のハードディスクドライブに格納される負荷情報データベースのデータ構造を示す図である。
【図４】図２中のハードディスクドライブに格納されるコンテンツ情報データベースのデータ構造を示す図である。
【図５】図２中のハードディスクドライブに格納される配信負荷データベースのデータ構造を示す図である。
【図６】図１に示したサーバの構成を示す機能ブロック図である。
【図７】図１に示したレンダラの構成を示す機能ブロック図である。
【図８】図１に示したネットワークＡＶシステムの動作概要を説明するための図である。
【図９】図１中のコントロールポイントが実行する配信サーバ決定処理の詳細を示すフロー図である。
【図１０】図９中のステップＳ１０５及びＳ１０６を説明するためのサーバの負荷データの推移を示す図である。
【図１１】図９中のステップＳ１０８の詳細を示すフロー図である。
【図１２】図２中のハードディスクドライブに格納されたサーバ間ネットワーク速度データベースのデータ構造を示す図である。
【図１３】図１０と異なる、サーバの負荷データの推移を示す他の図である。
【図１４】図９に示した配信サーバ決定処理を実行後のコントロールポイントの動作の詳細を示すフロー図である。
【図１５】図１中のサーバの動作の詳細を示すフロー図である。
【図１６】図１中のレンダラの動作の詳細を示すフロー図である。
【符号の説明】
【００８４】
１  ネットワークＡＶシステム
１４１  負荷情報データベース
１４２  コンテンツ情報データベース
１４３  配信負荷データベース
２４１  コンテンツデータベース
ＣＰ  コントロールポイント
ＲＥ  レンダラ
ＳＶ１〜ＳＶ３  サーバ
【図１】
2008071229.tif 000003
【図２】
2008071229.tif 000004
【図３】
2008071229.tif 000005
【図４】
2008071229.tif 000006
【図５】
2008071229.tif 000007
【図６】
2008071229.tif 000008
【図７】
2008071229.tif 000009
【図８】
2008071229.tif 000010
【図９】
2008071229.tif 000011
【図１０】
2008071229.tif 000012
【図１１】
2008071229.tif 000013
【図１２】
2008071229.tif 000014
【図１３】
2008071229.tif 000015
【図１４】
2008071229.tif 000016
【図１５】
2008071229.tif 000017
【図１６】
2008071229.tif 000018