JP2008071229A - ネットワークavシステム及びコントローラ - Google Patents

ネットワークavシステム及びコントローラ Download PDF

Info

Publication number
JP2008071229A
JP2008071229A JP2006250551A JP2006250551A JP2008071229A JP 2008071229 A JP2008071229 A JP 2008071229A JP 2006250551 A JP2006250551 A JP 2006250551A JP 2006250551 A JP2006250551 A JP 2006250551A JP 2008071229 A JP2008071229 A JP 2008071229A
Authority
JP
Japan
Prior art keywords
server
load
predicted
content file
renderer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2006250551A
Other languages
English (en)
Inventor
Shuntaro Kashi
俊太郎 樫
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Onkyo Corp
Original Assignee
Onkyo Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Onkyo Corp filed Critical Onkyo Corp
Priority to JP2006250551A priority Critical patent/JP2008071229A/ja
Publication of JP2008071229A publication Critical patent/JP2008071229A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Reverberation, Karaoke And Other Acoustics (AREA)

Abstract

【課題】ストリーミング配信されたコンテンツファイルにコンテンツの途切れが発生するのを抑制できるネットワークAVシステムを提供する。
【解決手段】コントロールポイントCPは、曲ファイルMU11を蓄積するサーバSV1が曲ファイルMU11をデコードしてストリーミング配信する場合にサーバSV1にかかる予測負荷を算出する(S104〜S106)。サーバSV1の予測負荷が基準負荷未満である場合(S107でYES)、曲ファイルMU11を配信する配信サーバをサーバSV1とする(S118)。サーバSV1の予測負荷が基準負荷を超える場合(S107でNO)、他のサーバSV2、SV3のうち予測負荷が基準負荷未満のサーバを配信サーバとする(S108〜S112)。予測負荷の低いサーバが曲ファイルを配信するため、音切れ等の発生を抑制できる。
【選択図】図9

Description

本発明は、ネットワークAVシステム及びコントローラに関し、さらに詳しくは、複数のコンテンツファイルを蓄積するサーバと、サーバからストリーミング配信されるコンテンツファイルを再生するレンダラと、サーバ及びレンダラに接続可能なコントローラとを備えたネットワークAVシステム及びコントローラに関する。
最近、家庭内のパーソナルコンピュータやAV(Audio Visual)機器を相互に接続し、連携して使用するネットワークAVシステムが登場している。たとえば、DLNA(Digital Living Network Alliance)ガイドラインに基づくネットワークAVシステムでは、コントロールポイントと呼ばれるコントローラが、映像や音楽といったコンテンツを蓄積するソースデバイスであるメディアサーバと、コンテンツを再生する再生装置(シンクデバイス)であるメディアレンダラとを制御する。
このようなDLNAガイドラインに基づくネットワークシステムにおいて、ストリーミングによるコンテンツファイルの再生を実行する場合、サーバはコンテンツファイルを所定のファイル形式にデコードした後、レンダラにストリーミング配信する。たとえば、サーバはmp3形式の曲ファイルをLPCM形式にデコードした後、レンダラにストリーミング配信する。
しかしながら、サーバがコンテンツファイルをデコードしてストリーミング配信する場合、サーバにかかる負荷が増大し、その結果、レンダラで再生される映像や音声が途切れるという問題が生じる。
特開2004−102339号公報(特許文献1)には、コンテンツサーバ内のコンテンツファイルをトランスコードサーバが所定のファイル形式にデコードしてクライアント端末に送信する技術が開示されている。しかしながら、仮に、トランスコードサーバがデコードされたコンテンツファイルをクライント端末にストリーミング配信するのであれば、トランスコードサーバの負荷増大によりコンテンツが途切れる可能性が生じる。
特開2004−102339号公報
本発明の目的は、ストリーミング配信されたコンテンツファイルにコンテンツの途切れが発生するのを抑制できるネットワークAVシステムを提供することである。
課題を解決するための手段及び発明の効果
本発明によるネットワークAVシステムは、互いに接続可能な複数のサーバと、複数のサーバに接続可能なレンダラと、複数のサーバ及びレンダラに接続可能なコントローラとを備える。サーバは、コンテンツ蓄積手段と、配信手段と、負荷情報送信手段とを備える。コンテンツ蓄積手段は、複数のコンテンツファイルを蓄積する。配信手段は、レンダラからの要求に応じて、選択されたコンテンツファイルをデコードしてレンダラにストリーミング配信する。負荷情報送信手段は、自身にかかる負荷に関する負荷情報をコントローラに送信する。コントローラは、記憶手段と、サーバ特定手段と、予測負荷算出手段と、再生指示手段とを備える。記憶手段は、各サーバから送信される負荷情報と、コンテンツファイルをデコードしてストリーミング配信することにより各サーバにかかる負荷に関する配信負荷情報とを記憶する。サーバ特定手段は、コンテンツ情報に基づいて、選択されたコンテンツファイルを蓄積するサーバを特定する。予測負荷算出手段は、特定されたサーバの負荷情報及び特定されたサーバの配信負荷情報に基づいて、選択されたコンテンツファイルを配信するときに特定されたサーバにかかる予測負荷を算出する。再生指示手段は、算出された予測負荷が基準負荷未満の場合、特定されたサーバから選択されたコンテンツファイルの配信を受けて再生するようレンダラに再生指示を送信する。レンダラは、要求手段と、再生手段とを備える。要求手段は、再生指示に基づいて、選択されたコンテンツファイルのストリーミング配信をサーバに要求する。再生手段は、配信されたコンテンツファイルを再生する。
本発明によるネットワークAVシステムでは、コントロールポイントは、選択されたコンテンツファイルを蓄積するサーバを特定し、特定されたサーバが選択されたコンテンツファイルをデコードして配信するときに、特定されたサーバにかかる負荷を予測する。そして、コントロールポイントは、予測した負荷が基準負荷未満の場合に選択されたコンテンツファイルの再生を指示する。予測負荷が低いときに特定サーバからコンテンツファイルが配信されるため、再生中のコンテンツに途切れが生じるのを抑制できる。
好ましくは、予測負荷算出手段はさらに、各サーバの負荷情報及び各サーバの配信負荷情報に基づいて、各サーバが選択されたコンテンツファイルを配信する場合に各サーバにかかる予測負荷を算出する。コントローラはさらに、検索手段と、取得指示手段とを備える。検索手段は、特定されたサーバの予測負荷が基準負荷を超える場合、複数のサーバのうち、予測負荷が基準負荷未満となるサーバを検索する。取得指示手段は、予測負荷が基準負荷未満となるサーバを検索手段が検索したとき、検索されたサーバに対して特定されたサーバから選択されたコンテンツファイルを取得するよう取得指示を送信する。サーバはさらに、取得手段を備える。取得手段は、取得指示を受けたとき、特定されたサーバから選択されたコンテンツファイルを取得する。再生指示手段は、検索手段がサーバを検索したとき、検索されたサーバから選択されたコンテンツファイルの配信を受けて再生するようレンダラに再生指示を送信する。
これにより、特定されたサーバの予測負荷が高い場合、予測負荷の低いサーバが特定されたサーバに代わってコンテンツファイルのデコード及びストリーミング配信を代理する。コンテンツファイルの配信は予測負荷の低いサーバが実行するため、コンテンツに途切れが生じるのを抑制できる。
好ましくは、検索手段はさらに、予測負荷が基準負荷未満となるサーバが複数存在するとき、予測負荷が最小のサーバを検索する。
この場合、予測負荷が最小のサーバが選択されたコンテンツファイルを配信する。したがって、コンテンツに途切れが生じるのを抑制できる。
好ましくは、負荷情報は、サーバにかかる負荷に関する時系列の負荷データで構成される。予測負荷算出手段は、再生時間算出手段と、時系列データ算出手段と、加算手段とを備える。再生時間算出手段は、選択されたコンテンツファイルの再生時間を算出する。時系列データ算出手段は、負荷情報及び再生時間に基づいて、現時点から選択されたコンテンツファイルの再生が完了するまでの時系列の負荷データを外挿法により予測する。加算手段は、予測された時系列の負荷データに配信負荷情報を加算して時系列の予測負荷データからなる予測負荷とする。再生指示手段は、時系列の予測負荷データの全てが基準負荷未満のとき、再生指示を送信する。
この場合、コンテンツを再生中にサーバにかかる予測負荷を時系列に求めることができる。そのため、予測の精度が向上する。
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明は繰り返さない。
[全体構成]
図1を参照して、本発明の実施の形態によるネットワークAVシステム1は、コントロールポイントCPと、複数のサーバSV1〜SV3(これらを総称してサーバSVともいう)と、レンダラREとを備える。これらは、DLNAガイドラインに対応しており、UPnPプロトコルに基づいて相互に接続される。図1に示されるレンダラREは1つだが、2以上あってもよい。また、図1中のサーバSVは3つであるが、サーバSVの数は2つでもよいし、4以上あってもよい。
コントロールポイントCPは、サーバSV1〜SV3及びレンダラREを制御する。コントロールポイントCPは、サーバSV1〜SV3に蓄積された複数の曲ファイルのうち、所望の曲ファイルをユーザ操作に応じて選択する。そして、選択された曲ファイルをサーバSVから取得して再生するようレンダラREに指示する。
サーバSV1〜SV3は、レンダラREからの要求に応じて、選択された曲ファイルをデコードしてストリーミング配信する。レンダラREはストリーミング配信された曲ファイルを受け、曲を再生する。以下、コントロールポイントCP、サーバSV及びレンダラREの構成をそれぞれ説明する。
[コントロールポイント]
図2を参照して、コントロールポイントCPは、CPU(Central Processing Unit)11と、メモリ12と、サーバSV1〜3及びレンダラREと通信するための通信部13と、ハードディスクドライブ(以下、HDDという)14と、ディスプレイ15とを備える。
HDD14は、負荷情報データベース141と、コンテンツ情報データベース142と、配信負荷データベース143とを記憶する。
負荷情報データベース141には、図3に示すとおり、サーバSV1〜SV3の各々にかかる負荷情報が登録される。ここで、負荷情報は、各サーバSV1〜SV3にかかる時系列の負荷データから構成される。本実施の形態では、負荷データは、各サーバSV1〜SV3のCPU使用率とする。たとえば、図3において、時刻t01におけるサーバSV1の負荷データ(CPU使用率)は3%である。負荷データは、所定時間ごとに各サーバSVからコントロールポイントCPに送信される。
コンテンツ情報データベース142には、図4に示すように、各サーバSV1〜SV3に蓄積された複数の曲ファイルの詳細及び所在に関する情報(以下、コンテンツ情報という)が登録される。具体的には、コンテンツ情報は、各曲ファイルを特定するための曲ID(MU11、MU21、MU31等)、曲のタイトルや歌手名といった曲の詳細情報、及び曲ファイルの所在情報であるURI(Uniform Resource Identifier)を含む。コンテンツ情報は、各サーバSVに蓄積された曲ファイルが更新されるごとに各サーバSVからコントロールポイントCPに送信される。
配信負荷データベース143には、図5に示すように、各サーバSVが曲ファイルをデコードしてストリーミング配信するときの負荷データ(以下、配信負荷という)が登録される。配信負荷は各サーバSVで予め測定されたものであってもよいし、過去の実績に基づいて予め登録されたものでもよい。
HDD14はさらに、コントローラプログラム144を記憶する。コントローラプログラム144がメモリ12にロードされ、CPU11がメモリ12にロードされたコントローラプログラム144を実行することにより、コントロールポイントCPは後述の動作を実行する。
ディスプレイ15は、各サーバSVが蓄積する曲を列挙したプレイリストを表示したり、レンダラREの動作状況(曲再生中、停止中等)を表示したりする。なお、プレイリストはコンテンツ情報データベース142に基づいて作成され、ディスプレイ15に表示される。ユーザは、ディスプレイ15に表示されたプレイリストを参照し、所望の曲ファイルを選択する。
[サーバ]
図6を参照して、サーバSVは、CPU21と、メモリ22と、コントロールポイントCPやレンダラRE等と通信するための通信部23と、HDD24とを備える。
HDD24は、コンテンツデータベース241を記憶する。コンテンツデータベース241には、複数の曲ファイルが登録される。コンテンツデータベース241にはさらに、登録された複数の曲ファイルに対応したコンテンツ情報が登録される。サーバSVはコンテンツデータベース241内に新たな曲ファイルが追加されたり、曲ファイルを削除した場合、つまり、コンテンツデータベース241が更新された場合、コンテンツ情報を更新し、コントロールポイントCPに送信する。
HDD24はさらに、サーバプログラム242を記憶する。サーバプログラム242がメモリ22にロードされ、CPU21がメモリ22にロードされたサーバプログラム242を実行することにより、サーバSVは後述の動作を実行する。
[レンダラ]
図7を参照して、レンダラREは、CPU31と、レンダラプログラムを格納するメモリ32と、外部と通信するための通信部33と、サーバからストリーミング配信された曲ファイルを再生するための再生部34とを備える。CPU31がメモリ32に格納されたレンダラプログラムを実行することにより、レンダラREは後述の動作を実行する。
[動作]
上述の構成を有するネットワークAVシステム1の動作について説明する。
図8を参照して、コントロールポイントCPは、各サーバから定期的に送信される負荷データを負荷情報データベース141に蓄積する(1)。
ディスプレイ15に表示されたプレイリストを参照したユーザが所望の曲ファイルMU11を選択したとき、ユーザ操作に応じてコントロールポイントCPに曲ファイルMU11の再生指示が入力される(2)。
このとき、コントロールポイントCPは、曲ファイルMU11の再生中に音切れが発生するのを抑制するために、サーバSV1〜SV3の中から、曲ファイルMU11をデコードしてストリーミング配信するサーバ(以下、配信サーバという)を決定する(配信サーバ決定処理:(3))。
配信サーバ決定処理では、コントロールポイントCPは、各サーバSVが曲ファイルMU11をデコードして配信する場合に各サーバにかかる負荷を予測する。曲ファイルMU11を蓄積するサーバSV1の予測負荷が小さければ、サーバSV1を配信サーバに決定する(CASE1)。この場合、コントロールポイントCPは、レンダラREに再生指示を送信し(4)、レンダラREは再生指示に基づいてサーバSV1に曲ファイルMU11のストリーム配信を要求する(5)。
一方、サーバSV1の予測負荷が大きい場合、サーバSV1が配信サーバとなれば音切れが生じる可能性がある。そこでこの場合、予測負荷の小さい他のサーバSV(たとえばサーバSV2)が曲ファイルMU11のデコード及び配信を代理する(CASE2)。予測負荷の小さい他のサーバSVが代理することにより、音切れの発生を抑制できる。
サーバSV2を配信サーバとする場合、サーバSV2は曲ファイルMU11を蓄積していない。そこで、コントロールポイントCPは、サーバSV2に対して曲ファイルMU11の取得を指示する(6)。取得指示に基づいてサーバSVが曲ファイルMU11を取得して保存したとき、サーバSV2は取得した曲ファイルMU11の所在情報(URI)をコントロールポイントCPに送信する(7)。
コントロールポイントCPは送信されたURIに基づいて曲ファイルMU11を再生するようレンダラREに指示する(8)。レンダラREはサーバSV2から曲ファイルMU11を取得して再生する(9)。
以上の動作により、ネットワークAVシステム1は、再生中の曲ファイルに音切れが発生するのを抑制する。以下、コントロールポイントCP、サーバSV、及びレンダラREの動作処理について詳細に説明する。
[配信サーバ決定処理]
図9を参照して、ユーザ操作に応じて曲ファイルMU11が選択され、選択された曲ファイルMU11の再生指示が入力されたとき(S101でYES)、コントロールポイントCPは、コンテンツ情報データベース142を参照して、コンテンツファイルMU11を蓄積するサーバをサーバSV1と特定する(S102)。
続いて、コントロールポイントCPは、特定されたサーバSV1がコンテンツファイルMU11をストリーム配信するときにサーバSV1にかかる予測負荷を求める(S103〜S106)。コントロールポイントCPはまず、曲ファイルMU11の再生時間Δt1を求める(S103)。再生時間Δt1は、ファイル内のタイムスタンプに基づいて決定されてもよいし、曲ファイルMU11のデータ容量から算定されてもよい。
再生時間Δt1を求めた後、負荷情報データベース141を参照して、サーバSV1の時系列負荷データのうち、現在時刻(つまり、選択された曲ファイルの再生指示の入力を受けた時刻)t1から所定期間Δt0遡った時刻t1−Δt0と、時刻t1との間の負荷データを読み出す(S104)。続いて、ステップS104で読み出された負荷データに基づいて、外挿法により時刻t1〜時刻t1+Δt1の時系列の負荷データ(近似関数)を算出する(S105)。たとえば、図10を参照して、時刻t1までの時系列の負荷データが図10の実線で示される場合、コントロールポイントCPは、ステップS104で時刻t1−Δt0〜時刻t1間の負荷データC0を読み出し、ステップS105で外挿法により点線で表された負荷データ(近似関数)C1を算出する。
負荷データを算出後、コントロールポイントCPは、以下の式(1)に基づいて時系列の予測負荷データからなる予測負荷を算出する(S106)。
予測負荷データ=ステップS105で算出された負荷データ+配信負荷データ (1)
ここでいう配信負荷データは、サーバSV1の配信負荷データであり、配信負荷データベース143から読み出される。図10において、負荷データC1に配信負荷データを加算することにより得られた一点鎖線の曲線C2が、予測負荷となる。以上の動作により、時刻t1〜t1+ΔtにおけるサーバSV1の予測負荷が算出される。
コントロールポイントCPは、算出された予測負荷が、基準負荷Lref未満であるか否かを判断する(S107)。基準負荷Lrefは、各サーバSV1〜SV3が曲ファイルMUを再生するときに音切れが発生しない負荷の上限である。つまり、サーバSV1の負荷が基準負荷Lrefを超えると、音切れが発生し得る。基準負荷LrefはコントロールポイントCP内のHDD14内に予め記憶されている。
ステップS107において、コントロールポイントCPは、時刻t1〜時刻t1+Δt1間の時系列の予測負荷データの全てが基準負荷Lref未満である場合、予測負荷が基準負荷Lref未満であると判断する(S107でYES)。一方、時刻t1〜時刻t1+Δt間の予測負荷データのうちの少なくとも一部が基準負荷Lrefを超えた場合、予測負荷が基準負荷Lrefを超えたと判断する(S107でNO)。
ステップS107での判断の結果、図10に示すように、サーバSV1の予測負荷C2がサーバSV1の基準負荷Lref未満である場合(S107でYES)、サーバSV1を曲ファイルMU11を配信するサーバ(以下、配信サーバという)に決定する(S118)。予測負荷が基準負荷Lrefよりも低いため、サーバSV1が曲ファイルMU11を配信しても音切れが発生しないと予想されるからである。
一方、ステップS107での判断の結果、サーバSV1の予測負荷がサーバSV1の基準負荷Lrefを超えた場合(S107でNO)、他のサーバSV2及びSV3について予測負荷を算出する(S108)。サーバSV1で曲ファイルMU11を配信すれば音切れが発生する可能性が高いため、予測負荷の低い他のサーバ(SV2又はSV3)に曲ファイルMU11のデコード及び配信を代理させるためである。以下、ステップS108の詳細を説明する。
図11を参照して、ステップS108の処理をサーバSV1を除く各サーバ(SV2及びSV3)に対して実行する。以下、サーバSV2に対するステップS108の処理について説明するが、サーバSV3に対する処理も同様である。
コントロールポイントCPはまず、サーバSV1からサーバSV2に曲ファイルMU11をダウンロード配信するのに必要な時間(以下、ダウンロード時間という)Δt3を算出する(S401)。コントロールポイントCPは、図12に示すサーバ間ネットワーク速度データベースを予めHDD14に記憶する。コントロールポイントCPは、サーバ間ネットワーク速度データベースを参照して、サーバSV1からサーバSV2へファイルを配信するときの速度aa3(Bytes/s)を読み出す。続いて、曲ファイルMU11のデータ容量を読み出し、読み出したデータ容量を速度aa3(Bytes/s)で除して、ダウンロード時間Δt3を算出する。
続いて、コントロールポイントCPは、負荷情報データベース141を参照して、時刻t1−Δt0〜時刻t1間のサーバSV2の負荷データを読み出す(S402)。
ダウンロード時間Δt3を求め、負荷データを読み出した後、コントロールポイントCPは、時刻t1+Δt3〜時刻t1+Δt1+Δt3間の負荷データを外挿法により算出する(S403)。ステップS105と比較して、負荷データを求める時間帯がΔt3だけずれているが、これは、サーバSV2が曲ファイルMU11を配信する場合、事前にサーバSV1から曲ファイルMU11をダウンロードしなければならないことに起因する。つまり、サーバSV2が曲ファイルMU11を配信する時刻は、曲ファイルMU11のダウンロードが完了した時刻t1+Δt3から時刻t1+Δt+Δt3までとなるため、この時間帯の負荷データを外挿法により算出する。
負荷データを算出後、コントロールポイントCPは式(1)に基づいて予測負荷を算出する(S404)。このとき、配信負荷データベース内のサーバSV2の配信負荷データを読み出し、式(1)に代入する。
以上の動作によりサーバSV2及びサーバSV3の予測負荷を算出する。
図9に戻って、ステップS108でサーバSV2及びSV3の予測負荷を算出後、コントロールポイントCPは、予測負荷が基準負荷Lref未満のサーバ(以下、対応可能サーバという)を検索する(S109)。具体的には、コントロールポイントCPは、HDD14内に格納された基準負荷Lrefを読み出し、サーバSV2の予測負荷データの全てが基準負荷Lref未満か否かを判断する。コントロールポイントCPはさらに、サーバSV3についても同様に判断する。要するに、全てのサーバ(SV2、SV3)について、算出された予測負荷データが基準負荷Lref未満であるか否かを判断する。
ステップS109での検索の結果、対応可能サーバが存在する場合(S109でYES)、コントロールポイントCPは、対応可能サーバが複数存在するか否かを判断する(S110)。
ステップS110の判断の結果、対応可能サーバが1つだけの場合(S110でNO)、たとえば、サーバSV2のみが対応可能サーバである場合、コントロールポイントCPは、サーバSV2を配信サーバに決定する(S118)。
一方、ステップS110の判断の結果、対応可能サーバが複数存在する場合(S110でYES)、複数の対応可能サーバの中から予測負荷が最小のサーバを検索する(S111及びS112)。具体的には、コントロールポイントCPは、各対応可能サーバの予測負荷データの平均値を算出する(S111)。たとえば、サーバSV2及びSV3が対応可能サーバの場合、サーバSV2及びSV3の各々の予測負荷データの平均値を求める。全ての対応可能サーバについて予測負荷データの平均値を求めた後、予測負荷データの平均値が最小の対応可能サーバを配信サーバとして決定する(S112)。
一方、ステップS109での判断の結果、サーバSV1を除く他のサーバ(SV2及びSV3)の予測負荷も基準負荷Lrefを超えるとき、サーバSV1〜SV3のいずれが曲ファイルMU11を配信しても、音切れが発生し得る。この場合、以下の方法により、音切れが発生する可能性が最小のサーバを配信サーバに決定する(S114〜S117)。
コントロールポイントCPはまず、各サーバSV1〜SV3の予測負荷データの全てが基準負荷Lrefを超えているか否かを判断する。予測負荷データの全てが基準負荷Lrefを超えている場合(S113でYES)、コントロールポイントCPは、サーバごとの予測負荷データの平均値を算出する(S116)。そして、算出された平均値が最小のサーバSVを配信サーバに決定する(S117)。
一方、ステップS113での判断の結果、サーバSV1〜SV3の少なくとも1つにおいて、予測負荷データの一部が基準負荷Lref未満となる場合(S113でNO)、予測負荷データからなる近似関数が基準負荷Lrefのラインと交差する。たとえば、図13に示すように、サーバSV2の負荷データCSV2に基づいて算出された予測負荷データCPSV2と、サーバSV3の負荷データCSV3に基づいて算出された予測負荷データCPSV3とが基準負荷Lrefラインと交差する。以下、図13に基づいてステップS114及びS115を説明する。
コントロールポイントCPは、予測負荷データCPSV2、CPSV3が基準負荷Lref(SV)未満となる時間Δtsv2及びΔtsv3を算出する(S114)。具体的には、各予測負荷データから基準負荷Lref(SV)を差分した差分値を求め、差分値が負となる時間の総和により時間Δtsv2及びΔtsv3を求める。
時間Δtsv2及びΔtsv3を算出後、コントロールポイントCPは、算出された時間Δtsvが最大のサーバを配信サーバに決定する。図13では、時間Δtsv2が時間Δtsv3よりも長いため、コントロールポイントCPは、サーバSV2を配信サーバに決定する(S115)。
以上、コントロールポイントCPは、曲ファイルMU11を配信するときに各サーバSV1〜SV3にかかる負荷を予測することにより、配信サーバを決定する。そのため、再生時に音切れの発生を抑制できる。
[配信サーバを決定した後のネットワークAVシステムの動作処理]
配信サーバを決定したコントロールポイントCPは、レンダラREに対して再生指示を送信する。配信サーバをサーバSV1以外のサーバ(SV2、SV3)とする場合、コントロールポイントCPは、配信サーバに曲ファイルMU11を取得させた後、レンダラに対して再生指示を送信する。
[配信サーバがサーバSV1の場合]
図14〜図16を参照して、コントロールポイントCPはまず、配信サーバが、選択された曲ファイルMU11を蓄積したサーバか否かを判断する(S201)。コントロールポイントCPは、コンテンツ情報データベース142を参照して、配信サーバが曲ファイルMU11を蓄積するか否かを判断する。
配信サーバがサーバSV1のとき、サーバSV1は既に曲ファイルMU11を蓄積している(S201でYES)。この場合、配信サーバSV1は、他のサーバSVから曲ファイルMU11を取得する必要がない。したがって、コントロールポイントCPは、コンテンツ情報データベース142に登録された曲ファイルMU11の所在(URI11)を含む再生指示をレンダラREに送信する(S205)。
レンダラREは再生指示を受けたとき(S501でYES)、再生指示に含まれるURI11に基づいて、ストリーミング配信を要求するサーバをサーバSV1と決定し、サーバSV1に対してURI11を含むストリーミング配信要求を送信する(S502)。
サーバSV11は、ストリーミング配信要求を受信したと判断したとき(S301でYES、S302でNO)、曲ファイルMU11をデコードしてレンダラREにストリーミング配信する(S306)。このとき、レンダラREはストリーミング配信された曲ファイルMU11を受信し、再生する(S503)。
サーバSV1はストリーミング配信を完了したとき(S307でYES)、曲ファイルMU11は自身が蓄積していた曲ファイルであると判断し(S308でNO)、コントロールポイントCPに対してストリーミング配信完了通知を送信する(S310)。
[配信サーバがサーバSV2又はSV3である場合]
次に、配信サーバがサーバSV2である場合のネットワークAVシステム1の動作について説明する。コントロールポイントCPは、ステップS201において、配信サーバ(サーバSV2)が、曲ファイルMU11を蓄積していないと判断する(S201でNO)。配信サーバ(SV2)はサーバSV1から曲ファイルMU11を取得しなければ、曲ファイルMU11をレンダラREにストリーミング配信できない。そこで、コントロールポイントCPは、サーバSV2に対して、曲ファイルMU11の所在(URI11)を含む取得指示を送信する(S202)。
サーバSV2は取得指示を受信したとき(S301及びS302でYES)、取得指示に含まれる曲ファイルMU11のURI11に基づいて、曲ファイルMU11のダウンロード配信要求をサーバSV1に送信する(S303)。サーバSV2は、サーバSV1からダウンロード配信された曲ファイルMU11を受け、HDD14内に保存する(S304)。曲ファイルMU11の保存を完了した後、サーバSV2は、曲ファイルMU11の保存場所に基づく曲ファイルMU11のURI(URI25とする)をコントロールポイントCPに送信する(S305)。
コントロールポイントCPはサーバSV2から送信された曲ファイルMU11のURI25を受け、メモリ12に保存する(S203)。コントロールポイントCPは続いて、メモリ12に保存されたURI25を含む再生指示をレンダラREに送信する(S204)。
レンダラREは再生指示に基づいてサーバSV2に対して曲ファイルMU11のURI25を含むストリーミング配信要求を送信し(S502)、サーバSV2はURI25に基づいて曲ファイルMU11をデコードし、配信する(S306)。配信が完了したとき(S307)、サーバSV2は他のサーバSV1から曲ファイルMU11を取得したと判断する(S308でYES)。このとき、サーバSV2は自身が保存する曲ファイルMU11を削除する(S309)。曲ファイルMU11は既にサーバSV1に蓄積されているため、サーバSV2でさらに蓄積する必要がないからである。
曲ファイルMU11を削除した後、サーバSV2はコントロールポイントCPに配信完了通知を送信する(S310)。
なお、配信サーバがサーバSV3である場合も、サーバSV2の場合と同様の動作が実行される。
以上のとおり、本実施の形態によるネットワークAVシステムは、選択された曲ファイルMUを蓄積するサーバSVのデコード及び配信時の負荷を予測し、予測負荷が小さい場合に曲ファイルを配信させる。また、予測負荷が大きい場合、負荷の小さい他のサーバSVに曲ファイルMUのデコード及び配信を代理させる。そのため、再生中の曲ファイルの音切れを抑制できる。
本実施の形態によるネットワークAVシステムは、コンテンツファイルを曲ファイルとしたが、映像ファイルでもよいし、映像及び音声ファイルであってもよい。
また、本実施の形態では、基準負荷LrefをサーバSVに依存せず一定としたが、サーバごとに基準負荷Lrefが異なっていてもよい。また、基準負荷Lrefが曲ファイルごとに異なっていてもよい。この場合、基準負荷Lrefはたとえば、コンテンツ情報データベース142内の各レコードに対応して予め登録される。
本実施の形態では、図9中のステップS111及びS112において、予測負荷データの平均値が最小となるサーバを配信サーバに決定したが、他の方法により配信サーバを決定してもよい。たとえば、コントロールポイントCPはネットワーク上のサーバSV1〜SV3を列挙したサーバリストを予めHDD14に記憶する。ステップS110でYESの場合、予測負荷が基準負荷Lrefよりも低い複数のサーバのうち、サーバリストの最上位に列挙されたサーバを配信サーバとしてもよい。この場合、予測負荷データの平均値の算出が不要となる。また、複数のサーバSVのうち、予測負荷が基準負荷未満であることが最初に判明したサーバSVを配信サーバに決定してもよい。
また、ステップS105,S106及びステップS403,S404では、外挿法により算出された負荷データに配信負荷を加算して予測負荷としたが、他の方法により予測負荷を算出してもよい。たとえば、時刻t1に直近の1つの負荷データのみを読み出して、その負荷データに単に配信負荷情報を加算することにより予測負荷としてもよい。
サーバ間ネットワーク速度データベース内のネットワーク速度は、サーバ間のネットワーク速度を測定して予め登録される。pingを利用してサーバ間のネットワーク速度を推定し、推定されたネットワーク速度をサーバ間ネットワーク速度データベースに登録してもよい。
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
本発明の実施の形態によるネットワークAVシステムの全体構成を示す機能ブロック図である。 図1に示したコントロールポイントの構成を示す機能ブロック図である。 図2中のハードディスクドライブに格納される負荷情報データベースのデータ構造を示す図である。 図2中のハードディスクドライブに格納されるコンテンツ情報データベースのデータ構造を示す図である。 図2中のハードディスクドライブに格納される配信負荷データベースのデータ構造を示す図である。 図1に示したサーバの構成を示す機能ブロック図である。 図1に示したレンダラの構成を示す機能ブロック図である。 図1に示したネットワークAVシステムの動作概要を説明するための図である。 図1中のコントロールポイントが実行する配信サーバ決定処理の詳細を示すフロー図である。 図9中のステップS105及びS106を説明するためのサーバの負荷データの推移を示す図である。 図9中のステップS108の詳細を示すフロー図である。 図2中のハードディスクドライブに格納されたサーバ間ネットワーク速度データベースのデータ構造を示す図である。 図10と異なる、サーバの負荷データの推移を示す他の図である。 図9に示した配信サーバ決定処理を実行後のコントロールポイントの動作の詳細を示すフロー図である。 図1中のサーバの動作の詳細を示すフロー図である。 図1中のレンダラの動作の詳細を示すフロー図である。
符号の説明
1 ネットワークAVシステム
141 負荷情報データベース
142 コンテンツ情報データベース
143 配信負荷データベース
241 コンテンツデータベース
CP コントロールポイント
RE レンダラ
SV1〜SV3 サーバ

Claims (8)

  1. 互いに接続可能な複数のサーバと、前記複数のサーバに接続可能なレンダラと、前記複数のサーバ及びレンダラに接続可能なコントローラとを備えたネットワークAVシステムであって、
    前記サーバは、
    複数のコンテンツファイルを蓄積するコンテンツ蓄積手段と、
    前記レンダラからの要求に応じて、選択されたコンテンツファイルをデコードして前記レンダラにストリーミング配信する配信手段と、
    自身にかかる負荷に関する負荷情報を前記コントローラに送信する負荷情報送信手段とを備え、
    前記コントローラは、
    前記各サーバが蓄積するコンテンツファイルの詳細及び所在に関するコンテンツ情報と、前記各サーバから送信される負荷情報と、コンテンツファイルをデコードしてストリーミング配信することにより各サーバにかかる負荷に関する配信負荷情報とを記憶する記憶手段と、
    前記コンテンツ情報に基づいて、選択されたコンテンツファイルを蓄積するサーバを特定するサーバ特定手段と、
    前記特定されたサーバの負荷情報及び前記特定されたサーバの配信負荷情報に基づいて、前記選択されたコンテンツファイルを配信するときに前記特定されたサーバにかかる予測負荷を算出する予測負荷算出手段と、
    前記算出された予測負荷が基準負荷未満の場合、前記特定されたサーバから前記選択されたコンテンツファイルの配信を受けて再生するよう前記レンダラに再生指示を送信する再生指示手段とを備え、
    前記レンダラは、
    前記再生指示に基づいて、前記選択されたコンテンツファイルのストリーミング配信を前記サーバに要求する要求手段と、
    配信されたコンテンツファイルを再生する再生手段とを備えることを特徴とするネットワークAVシステム。
  2. 請求項1に記載のネットワークAVシステムであって、
    前記予測負荷算出手段はさらに、前記各サーバの負荷情報及び前記各サーバの配信負荷情報に基づいて、各サーバが前記選択されたコンテンツファイルを配信する場合に各サーバにかかる予測負荷を算出し、
    前記コントローラはさらに、
    前記特定されたサーバの予測負荷が前記基準負荷を超える場合、前記複数のサーバのうち、予測負荷が前記基準負荷未満となるサーバを検索する検索手段と、
    前記予測負荷が基準負荷未満となるサーバを前記検索手段が検索したとき、前記検索されたサーバに対して前記特定されたサーバから前記選択されたコンテンツファイルを取得するよう取得指示を送信する取得指示手段とを備え、
    前記サーバはさらに、
    前記取得指示を受けたとき、前記特定されたサーバから前記選択されたコンテンツファイルを取得する取得手段とを備え、
    前記再生指示手段は、前記検索手段が前記サーバを検索したとき、前記検索されたサーバから前記選択されたコンテンツファイルの配信を受けて再生するよう前記レンダラに再生指示を送信することを特徴とするネットワークAVシステム。
  3. 請求項2に記載のネットワークAVシステムであって、
    前記検索手段はさらに、前記予測負荷が基準負荷未満となるサーバが複数存在するとき、前記予測負荷が最小のサーバを検索することを特徴とするネットワークAVシステム。
  4. 請求項1に記載のネットワークAVシステムであって、
    前記負荷情報は、前記サーバにかかる負荷に関する時系列の負荷データで構成され、
    前記予測負荷算出手段は、
    前記選択されたコンテンツファイルの再生時間を算出する再生時間算出手段と、
    前記負荷情報及び前記再生時間に基づいて、現時点から前記選択されたコンテンツファイルの再生が完了するまでの時系列の負荷データを外挿法により予測する時系列データ算出手段と、
    前記予測された時系列の負荷データに前記配信負荷情報を加算して時系列の予測負荷データからなる予測負荷とする加算手段とを備え、
    前記再生指示手段は、前記時系列の予測負荷データの全てが前記基準負荷未満のとき、前記再生指示を送信することを特徴とするネットワークAVシステム。
  5. 複数のコンテンツファイルを蓄積し、要求に応じてコンテンツファイルをデコードしてストリーミング配信する複数のサーバと、選択されたコンテンツファイルのストリーミング配信を前記サーバに要求し、ストリーミング配信されたコンテンツファイルを再生するレンダラと、前記複数のサーバ及びレンダラに接続可能なコントローラとを備えたネットワークAVシステムの前記コントローラであって、
    前記各サーバが蓄積するコンテンツファイルの詳細及び所在に関するコンテンツ情報と、前記各サーバにかかる負荷に関する情報であって前記各サーバから送信される負荷情報と、コンテンツファイルをデコードしてストリーミング配信することにより各サーバにかかる負荷に関する配信負荷情報とを記憶する記憶手段と、
    前記コンテンツ情報に基づいて、選択されたコンテンツファイルを蓄積するサーバを特定するサーバ特定手段と、
    前記特定されたサーバの負荷情報及び前記特定されたサーバの配信負荷情報に基づいて、前記選択されたコンテンツファイルを配信するときに前記特定されたサーバにかかる予測負荷を算出する予測負荷算出手段と、
    前記算出された予測負荷が基準負荷未満の場合、前記特定されたサーバから前記選択されたコンテンツファイルの配信を受けて再生するよう前記レンダラに再生指示を送信する再生指示手段とを備えることを特徴とするコントローラ。
  6. 請求項6に記載のコントローラであって、
    前記予測負荷算出手段はさらに、前記各サーバの負荷情報及び前記各サーバの配信負荷情報に基づいて、各サーバが前記選択されたコンテンツファイルを配信する場合に各サーバにかかる予測負荷を算出し、
    前記コントローラはさらに、
    前記特定されたサーバの予測負荷が前記基準負荷を超える場合、前記複数のサーバのうち、予測負荷が前記基準負荷未満となるサーバを検索する検索手段と、
    前記予測負荷が基準負荷未満となるサーバを前記検索手段が検索したとき、前記検索されたサーバに対して前記特定されたサーバから前記選択されたコンテンツファイルを取得するよう取得指示を送信する取得指示手段とを備え、
    前記再生指示手段は、前記検索手段が前記サーバを検索したとき、前記検索されたサーバから前記選択されたコンテンツファイルの配信を受けて再生するよう前記レンダラに再生指示を送信することを特徴とするコントローラ。
  7. 請求項5に記載のコントローラであって、
    前記検索手段はさらに、前記予測負荷が基準負荷未満となるサーバが複数存在するとき、前記予測負荷が最小のサーバを検索することを特徴とするコントローラ。
  8. 請求項5〜7のいずれか1項に記載の手段をコンピュータに実現させるためのコントローラプログラム。

JP2006250551A 2006-09-15 2006-09-15 ネットワークavシステム及びコントローラ Pending JP2008071229A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006250551A JP2008071229A (ja) 2006-09-15 2006-09-15 ネットワークavシステム及びコントローラ

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006250551A JP2008071229A (ja) 2006-09-15 2006-09-15 ネットワークavシステム及びコントローラ

Publications (1)

Publication Number Publication Date
JP2008071229A true JP2008071229A (ja) 2008-03-27

Family

ID=39292740

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006250551A Pending JP2008071229A (ja) 2006-09-15 2006-09-15 ネットワークavシステム及びコントローラ

Country Status (1)

Country Link
JP (1) JP2008071229A (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010039727A (ja) * 2008-08-05 2010-02-18 Nec Corp 負荷制御装置
JP2010085748A (ja) * 2008-09-30 2010-04-15 Canon Inc 画像表示装置、画像表示システム及び画像表示方法
JP2010212831A (ja) * 2009-03-09 2010-09-24 Panasonic Corp 情報サービス提供システム
KR101373344B1 (ko) * 2012-02-06 2014-03-10 엘지전자 주식회사 네트워크 스트리밍 시스템 및 그것의 부하 제어 방법
WO2016031043A1 (ja) * 2014-08-29 2016-03-03 三菱電機株式会社 処理振り分け装置、処理振り分けプログラムおよびデータ処理システム

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010039727A (ja) * 2008-08-05 2010-02-18 Nec Corp 負荷制御装置
JP2010085748A (ja) * 2008-09-30 2010-04-15 Canon Inc 画像表示装置、画像表示システム及び画像表示方法
JP2010212831A (ja) * 2009-03-09 2010-09-24 Panasonic Corp 情報サービス提供システム
KR101373344B1 (ko) * 2012-02-06 2014-03-10 엘지전자 주식회사 네트워크 스트리밍 시스템 및 그것의 부하 제어 방법
WO2016031043A1 (ja) * 2014-08-29 2016-03-03 三菱電機株式会社 処理振り分け装置、処理振り分けプログラムおよびデータ処理システム
JPWO2016031043A1 (ja) * 2014-08-29 2017-04-27 三菱電機株式会社 処理振り分け装置、処理振り分けプログラムおよびデータ処理システム

Similar Documents

Publication Publication Date Title
JP4944919B2 (ja) メディアファイルの自動選択
JP4859943B2 (ja) メタデータ注入を用いたメディアファイルの管理
US8544050B2 (en) Rule-based playlist engine
US8290349B2 (en) Playback apparatus, method, and program
US20070056013A1 (en) Portable device for storing media content
KR20120031176A (ko) 동기화된 분산 미디어 자산
JP5439761B2 (ja) コンテンツ再生装置、コンテンツ再生方法およびコンテンツ再生プログラム
JP2008071229A (ja) ネットワークavシステム及びコントローラ
US8521844B2 (en) Information processing apparatus and method and program
JP5092179B2 (ja) サーバ及びサーバプログラム
JP4952348B2 (ja) コンテンツ推薦装置及びコンテンツ推薦プログラム
KR20090020327A (ko) 컨텐츠 자동 수신 및 제공 방법 및 장치
KR100717059B1 (ko) 홈 네트워크에서 하나의 컨텐츠를 복수의 디바이스에분할하여 저장하기 위한 방법 및 장치
JP2013045273A (ja) キャッシュサーバ、キャッシュ対象決定方法、コンテンツ配信システム及びキャッシュ対象決定プログラム
JPWO2014065165A1 (ja) 情報処理装置、情報処理方法、およびプログラム、並びに情報処理システム
JP2011028792A (ja) データ提供装置、データ提供方法、データ提供プログラム、及びデータ提供システム
JP5560545B2 (ja) 配信システム、ならびに配信方法
JP3865139B2 (ja) ネットワークavシステム
JP2006140663A (ja) コンテンツ配信装置、コンテンツ配信方法、コンテンツ配信プログラム、及びコンテンツ配信プログラムの記録媒体
JP5267475B2 (ja) 情報通信システム、ノード装置、情報通信方法、及び情報通信プログラム
JP4438621B2 (ja) サーバ装置、およびオーディオ再生システム
CN102640122B (zh) 内容检索装置、内容检索方法
JP2008109188A (ja) コンテンツ配信システム、ピア及びセンタサーバ
JP2007329846A (ja) コンテンツ再生装置およびコンテンツ再生方法
KR100833237B1 (ko) 복수의 미디어 포맷을 포함하는 스트리밍 서비스에 관한정보를 제공하는 방법 및 이를 위한 장치