(57)【要約】【課題】コンテンツデータのストリームをノードからノードへと順次転送していくシステムにおいて、大容量記憶装置を用いずとも早送り、巻き戻しといったトリック再生を実現することが可能な端末装置を実現する。【解決手段】各ノード１１は、上位ノードから受信したコンテンツデータのストリームを一定時間分バッファ領域にキャッシングし、下位ノードに転送する。また、各ノード１１は、目的のコンテンツ視聴位置に応じて、接続対象の上位ノードを変更する機能を有している。例えば、早送り（コンテンツ視聴位置を進める）がユーザによって要求された場合には、ノード１１は、視聴対象時刻のストリームを送出している上位ノードを見つけて接続し、それまでのストリーム送出元である直上のノードとの接続を切断する。【選択図】図１
2009206743.tif 000002
【特許請求の範囲】
【請求項１】
複数のノードを含む階層構造の論理ネットワークを用いてコンテンツデータのストリームをピアツーピア形式で配信するコンテンツ配信システムに適用され、前記複数のノードの任意の１つとして動作可能な端末装置であって、
前記論理ネットワーク内の指定された上位ノードから送信される再生対象のコンテンツデータのストリームを受信する受信手段と、
前記受信されたコンテンツデータを再生するストリーミング再生処理を実行する再生手段と、
前記受信されたコンテンツデータのストリームの転送先となる下位ノードが指定されている場合、前記受信および再生されたコンテンツデータのストリームをバッファ領域に所定時間維持した後に前記指定された下位ノードに転送する転送手段と、
前記再生手段によって再生されるコンテンツデータの再生位置を時間的に後方または前方に変更することを示す再生位置変更要求イベントの発生に応答して、前記端末装置へ再生対象のコンテンツデータのストリームを転送する転送元ノードを、前記指定された上位ノードよりも前記論理ネットワーク内において上位または下位のレベルに位置する他のノードに変更する転送元ノード変更処理を実行する転送元ノード変更手段とを具備することを特徴とする端末装置。
【請求項２】
前記転送元ノード変更手段は、前記下位ノードが指定されている場合、前記下位ノードに前記コンテンツデータのストリームを転送するノードを、前記端末装置から、前記論理ネットワーク内において前記端末装置と同じレベルに位置する他のノードに変更するための処理を実行した後に、前記転送元ノード変更処理を実行することを特徴とする請求項１記載の端末装置。
【請求項３】
前記転送元ノード変更手段は、
前記下位ノードが指定されている場合、前記論理ネットワーク内に前記端末装置と同じレベルに位置し且つ前記下位ノードにコンテンツデータのストリームを転送可能な他の所定のノードを探索する手段と、
前記他の所定のノードが探索された場合、前記下位ノードに前記コンテンツデータのストリームを転送するノードを、前記端末装置から、前記探索された前記他の所定のノードに変更した後、前記転送元ノード変更処理を実行する手段と、
前記他の所定のノードが探索されなかった場合、前記指定された上位ノードから送信されるコンテンツデータのストリームを受信する処理と受信されたコンテンツデータのストリームを前記バッファ領域に所定時間維持した後に前記下位ノードに転送する処理とを継続しながら、前記転送元ノード変更処理を実行する手段とを含み、
前記再生手段は、変更された転送元ノードから送信されるコンテンツデータのストリームを再生することを特徴とする請求項１記載の端末装置。
【請求項４】
各ノードが上位のノードから受信したコンテンツデータのストリームを１以上の下位のノードに転送することによって、前記コンテンツデータのストリームを階層構造の論理ネットワークを構成する複数のノードに配信するコンテンツ配信システムであって、
前記各ノードには、指定された上位のノードから受信したコンテンツデータを再生するストリーミング再生処理を実行する手段と、前記受信されたコンテンツデータのストリームの転送先となる下位ノードが指定されている場合、前記受信および再生されたコンテンツデータのストリームをバッファ領域に所定時間維持した後に前記指定された下位ノードに転送する転送手段とが設けられており、
前記論理ネットワークの階層構造を示すネットワーク構成情報を記憶するネットワーク構成情報記憶手段と、
前記複数のノードのいずれかから、コンテンツデータの再生位置を時間的に後方または前方に変更することを要求する再生位置変更要求を受信した場合、前記ネットワーク構成情報に基づいて、前記論理ネットワーク内で、前記再生位置変更要求によって要求された変更先の再生位置に対応するコンテンツデータを出力しているレベルに位置するノードを特定する手段と、
前記再生位置変更要求を送信したノードへ再生対象のコンテンツデータのストリームを転送する転送元ノードを、前記特定されたノードに変更する転送元ノード変更処理を実行する転送元ノード変更手段とを具備することを特徴とするコンテンツ配信システム。
【請求項５】
前記転送元ノード変更手段は、前記再生位置変更要求を送信したノードにコンテンツデータのストリームを転送すべき下位ノードが存在する場合、前記下位ノードに前記コンテンツデータのストリームを転送するノードを、前記再生位置変更要求を送信したノードから、前記論理ネットワーク内において前記再生位置変更要求を送信したノードと同じレベルに位置する他のノードに変更するための処理を実行した後に、前記転送元ノード変更処理を実行することを特徴とする請求項４記載のコンテンツ配信システム。
【請求項６】
前記転送元ノード変更手段は、
前記再生位置変更要求を送信したノードにコンテンツデータのストリームを転送すべき下位ノードが存在する場合、前記論理ネットワーク内に前記再生位置変更要求を送信したノードと同じレベルに位置し且つ前記下位ノードにコンテンツデータのストリームを転送可能な他の所定のノードを探索する手段と、
前記他の所定のノードが探索された場合、前記下位ノードに前記コンテンツデータのストリームを転送するノードを、前記再生位置変更要求を送信したノードから、前記探索された前記他の所定のノードに変更した後、前記転送元ノード変更処理を実行する手段と、
前記他の所定のノードが探索されなかった場合、前記再生位置変更要求を送信したノードに、前記指定された上位ノードから送信されるコンテンツデータのストリームを受信する処理と受信されたコンテンツデータのストリームを前記バッファ領域に所定時間維持した後に前記下位ノードに転送する処理とを継続して実行させながら、前記転送元ノード変更処理を実行する手段とを含み、
前記再生位置変更要求を送信したノードは、変更された転送元ノードから送信されるコンテンツデータのストリームを再生することを特徴とする請求項４記載のコンテンツ配信システム。
【請求項７】
各ノードが上位のノードから受信したコンテンツデータのストリームを１以上の下位のノードに転送することによって、前記コンテンツデータのストリームを階層構造の論理ネットワークを構成する複数のノードに配信するコンテンツ配信方法であって、
前記各ノードは、指定された上位のノードから受信したコンテンツデータを再生するストリーミング再生処理を実行すると共に、前記受信されたコンテンツデータのストリームの転送先となる下位ノードが指定されている場合、前記受信および再生されたコンテンツデータのストリームをバッファ領域に所定時間維持した後に前記指定された下位ノードに転送するように構成されており、
前記複数のノードのいずれかから、コンテンツデータの再生位置を時間的に後方または前方に変更することを要求する再生位置変更要求を受信した場合、記憶装置に格納されている、前記論理ネットワークの階層構造を示すネットワーク構成情報に基づいて、前記論理ネットワーク内で、前記再生位置変更要求によって要求された変更先の再生位置に対応するコンテンツデータを出力しているレベルに位置するノードを特定するステップと、
前記再生位置変更要求を送信したノードへ再生対象のコンテンツデータのストリームを転送する転送元ノードを、前記特定されたノードに変更する転送元ノード変更処理を実行する転送元ノード変更ステップとを具備することを特徴とするコンテンツ配信方法。
【請求項８】
前記転送元ノード変更ステップは、前記再生位置変更要求を送信したノードにコンテンツデータのストリームを転送すべき下位ノードが存在する場合、前記下位ノードに前記コンテンツデータのストリームを転送するノードを、前記再生位置変更要求を送信したノードから、前記論理ネットワーク内において前記再生位置変更要求を送信したノードと同じレベルに位置する他のノードに変更するための処理を実行した後に、前記転送元ノード変更処理を実行することを特徴とする請求項７記載のコンテンツ配信方法。
【請求項９】
前記転送元ノード変更ステップは、
前記再生位置変更要求を送信したノードにコンテンツデータのストリームを転送すべき下位ノードが存在する場合、前記論理ネットワーク内に前記再生位置変更要求を送信したノードと同じレベルに位置し且つ前記下位ノードにコンテンツデータのストリームを転送可能な他の所定のノードを探索するステップと、
前記他の所定のノードが探索された場合、前記下位ノードに前記コンテンツデータのストリームを転送するノードを、前記再生位置変更要求を送信したノードから、前記探索された前記他の所定のノードに変更した後、前記転送元ノード変更処理を実行するステップと、
前記他の所定のノードが探索されなかった場合、前記再生位置変更要求を送信したノードに、前記指定された上位ノードから送信されるコンテンツデータのストリームを受信する処理と受信されたコンテンツデータのストリームを前記バッファ領域に所定時間維持した後に前記下位ノードに転送する処理とを継続して実行させながら、前記転送元ノード変更処理を実行するステップとを含み、
前記再生位置変更要求を送信したノードは、変更された転送元ノードから送信されるコンテンツデータのストリームを再生することを特徴とする請求項７記載のコンテンツ配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はネットワークを介してコンテンツデータを配信するシステムに適用される端末装置およびコンテンツ配信システムに関する。
【背景技術】
【０００２】
近年、動画像データ等のコンテンツデータをインターネットワークのようなネットワークを介してサーバからクライアント端末それぞれに配信するコンテンツ配信サービスが利用され始めている。
【０００３】
例えば、特許文献１には、複数のサーバにコンテンツデータを分散して蓄積しておき、これら各サーバがクライアント端末にコンテンツデータを配信する技術が開示されている。
【０００４】
また、最近では、サーバの負荷やネットワークトラフィックの増大を避けるために、コンテンツデータのストリームをピアツーピア形式で配信するコンテンツ配信システムが利用され始めている。このコンテンツ配信システムは、複数のノードをツリーのような階層構造で論理接続することによって論理ネットワークを構成し、サーバからのコンテンツデータのストリームをノードからノードへと順次転送していくものである。
【０００５】
このようにピアツーピア形式でコンテンツ配信を行うことにより、配信対象のクライアント端末の台数が増加した場合であっても、送信元となるサーバからコンテンツデータを直接的に送信することが必要なクライアント端末の数を低減することできる。また特定のサーバにトラフィックが集中するといった事態の発生を防止することも可能となる。
【特許文献１】特開２００３−１６７８１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかし、従来のピアツーピア型のコンテンツ配信システムでは、視聴中のコンテンツデータの早送り、巻き戻しといったトリック再生を行うことについては何等考慮されていない。
【０００７】
各ノードに大容量記憶装置を設けてそこにコンテンツデータを蓄積すれば、トリック再生は可能となる。しかし、コンテンツデータを各ノードに自由に蓄積させることは、著作権保護の観点から望ましくない場合もある。また、大容量記憶装置を持たないノードは、トリック再生を行うことはできない。
【０００８】
よって、大容量記憶装置を用いずとも、トリック再生を実現することが可能な新たな機能の実現が必要である。
【０００９】
本発明は上述の事情を考慮してなされたものであり、コンテンツデータのストリームをノードからノードへと順次転送していくシステムにおいて、大容量記憶装置を用いずとも早送り、巻き戻しといったトリック再生を実現することが可能な端末装置、コンテンツ配信システムおよびコンテンツ配信方法を提供することを目的とする。
【課題を解決するための手段】
【００１０】
上述の課題を解決するため、本発明の一態様によれば、複数のノードを含む階層構造の論理ネットワークを用いてコンテンツデータのストリームをピアツーピア形式で配信するコンテンツ配信システムに適用され、前記複数のノードの任意の１つとして動作可能な端末装置であって、前記論理ネットワーク内の指定された上位ノードから送信される再生対象のコンテンツデータのストリームを受信する受信手段と、前記受信されたコンテンツデータを再生するストリーミング再生処理を実行する再生手段と、前記受信されたコンテンツデータのストリームの転送先となる下位ノードが指定されている場合、前記受信および再生されたコンテンツデータのストリームをバッファ領域に所定時間維持した後に前記指定された下位ノードに転送する転送手段と、前記再生手段によって再生されるコンテンツデータの再生位置を時間的に後方または前方に変更することを示す再生位置変更要求イベントの発生に応答して、前記端末装置へ再生対象のコンテンツデータのストリームを転送する転送元ノードを、前記指定された上位ノードよりも前記論理ネットワーク内において上位または下位のレベルに位置する他のノードに変更する転送元ノード変更処理を実行する転送元ノード変更手段とを具備することを特徴とする端末装置が提供される。
【００１１】
本発明の別の態様によれば、各ノードが上位のノードから受信したコンテンツデータのストリームを１以上の下位のノードに転送することによって、前記コンテンツデータのストリームを階層構造の論理ネットワークを構成する複数のノードに配信するコンテンツ配信システムであって、前記各ノードには、指定された上位のノードから受信したコンテンツデータを再生するストリーミング再生処理を実行する手段と、前記受信されたコンテンツデータのストリームの転送先となる下位ノードが指定されている場合、前記受信および再生されたコンテンツデータのストリームをバッファ領域に所定時間維持した後に前記指定された下位ノードに転送する転送手段とが設けられており、前記論理ネットワークの階層構造を示すネットワーク構成情報を記憶するネットワーク構成情報記憶手段と、前記複数のノードのいずれかから、コンテンツデータの再生位置を時間的に後方または前方に変更することを要求する再生位置変更要求を受信した場合、前記ネットワーク構成情報に基づいて、前記論理ネットワーク内で、前記再生位置変更要求によって要求された変更先の再生位置に対応するコンテンツデータを出力しているレベルに位置するノードを特定する手段と、前記再生位置変更要求を送信したノードへ再生対象のコンテンツデータのストリームを転送する転送元ノードを、前記特定されたノードに変更する転送元ノード変更処理を実行する転送元ノード変更手段とを具備することを特徴とするコンテンツ配信システムが提供される。
【００１２】
本発明のさらに別の態様によれば、各ノードが上位のノードから受信したコンテンツデータのストリームを１以上の下位のノードに転送することによって、前記コンテンツデータのストリームを階層構造の論理ネットワークを構成する複数のノードに配信するコンテンツ配信方法であって、前記各ノードは、指定された上位のノードから受信したコンテンツデータを再生するストリーミング再生処理を実行すると共に、前記受信されたコンテンツデータのストリームの転送先となる下位ノードが指定されている場合、前記受信および再生されたコンテンツデータのストリームをバッファ領域に所定時間維持した後に前記指定された下位ノードに転送するように構成されており、前記複数のノードのいずれかから、コンテンツデータの再生位置を時間的に後方または前方に変更することを要求する再生位置変更要求を受信した場合、記憶装置に格納されている、前記論理ネットワークの階層構造を示すネットワーク構成情報に基づいて、前記論理ネットワーク内で、前記再生位置変更要求によって要求された変更先の再生位置に対応するコンテンツデータを出力しているレベルに位置するノードを特定するステップと、前記再生位置変更要求を送信したノードへ再生対象のコンテンツデータのストリームを転送する転送元ノードを、前記特定されたノードに変更する転送元ノード変更処理を実行する転送元ノード変更ステップとを具備することを特徴とするコンテンツ配信方法が提供される。
【発明の効果】
【００１３】
本発明によれば、コンテンツデータのストリームをノードからノードへと順次転送していくシステムにおいて、早送り、巻き戻しといったトリック再生を実現することが可能となる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して本発明の実施形態を説明する。
【００１５】
図１は、本発明の一実施形態に係るコンテンツ配信システムのネットワーク構成例が示されている。このコンテンツ配信システムは、複数のノードを含む階層構造の論理ネットワークを用いて、コンテンツデータのストリームをピアツーピア形式で配信するシステムである。
【００１６】
すなわち、このコンテンツ配信システムにおいては、各ノードが上位のノードから受信したコンテンツデータのストリームを１以上の下位のノードに転送することによって、コンテンツデータのストリームがノードからノードへと順次転送される。これによって、コンテンツデータのストリームが、ツリーのような階層構造の論理ネットワークを構成する複数のノードに配信される（ストリーミング放送）。
【００１７】
図１においては、データ配信元ノード１０と、コンテンツデータの受信、視聴、および転送を行う複数のノード１１とによって論理ネットワークが構成されている例が示されている。この論理ネットワークは、例えば、配信対象のコンテンツデータ単位で構成される。各ノード１１は、ネットワーク構成管理サーバ２０によって指定された上位ノードから送信されるコンテンツデータを受信及び再生すると共に、その受信したコンテンツデータを、ネットワーク構成管理サーバ２０によって指定された下位ノードに転送する。
【００１８】
データ配信元ノード１０は、コンテンツデータを配信する端末またはサーバによって実現されている。複数のノード１１は、データ配信元ノード１０から配信されるコンテンツデータの視聴を要求した端末群である。各ノード１１は、インターネットのようなネットワークに接続可能な、例えば、パーソナルコンピュータ、ＴＶ、ＰＤＡ、携帯電話のような電子機器から構成されている。さらに、別の端末が、データ配信元ノード１０から配信されるコンテンツデータの視聴を要求した場合には、その端末が、現在の論理ネットワークに追加される。その端末は、例えば、ツリー形式の階層構造内から選択されたノード、例えば階層構造の末端のノード（ノードｅ，ｇ，またはｈ等）の下流側に論理的に接続される。
【００１９】
論理ネットワークは、例えば、インターネットのようなＩＰネットワーク上に構築されている。論理ネットワーク内に属するノード間のデータ転送は、ＩＰネットワークを介して実行される。
【００２０】
ネットワーク構成管理サーバ２０は、本コンテンツ配信システムの論理ネットワークの階層構造を管理する管理装置である。このネットワーク構成管理サーバ２０は、同じコンテンツデータの視聴を要求した端末同士が一つの論理ネットワークを構成するように、その論理ネットワークの階層構造つまりそれら端末それぞれの論理的な接続関係を管理する。ネットワーク構成管理サーバ２０には、論理ネットワークの階層構造を示すネットワーク構成情報、つまりノード１１毎にその上位ノードおよび下位ノードを示す情報が保持されている。ノード１１によって複数の下位ノードが割り当てられるノードもある。また、下位ノードが割り当てられていないノード１１も存在する。
【００２１】
本実施形態においては、各ノード１１は、上位ノードから受信したコンテンツデータのストリームを一定時間分（例えば３０秒）ノード１１内のバッファ領域にキャッシングし、そして下位ノードに転送する。すなわち、各ノード１１は、コンテンツデータを受信しながらそれを再生するが（ストリーミング再生）、受信及び再生したコンテンツデータのストリームを直ぐに下位ノードに転送するのではなく、受信および再生されたコンテンツデータのストリームをバッファ領域に所定時間（例えば３０秒）だけ維持した後に下位ノードに転送する。この結果、図１の論理ネットワークにおいては、その論理ネットワーク内の各段（レベル）毎に、コンテンツデータのストリームは３０秒の遅延を伴って転送される。このようなキャッシングを行うのは、論理ネットワーク内にできるだけ長い時間コンテンツデータを滞留させておくためである。
【００２２】
図１の論理ネットワークでは、例えば、１段目のノードａから現在送信されているコンテンツデータのストリームと５段目のノードから送信されるコンテンツデータのストリームとの間には、１２０秒分のコンテンツ視聴位置（コンテンツデータの先頭からの絶対時刻）の差がある。
【００２３】
例えば、４段目の４段目のノードｎまたはｍを基準に考えると、ノードｎまたはｍの１レベル下位の段に位置するノードｅ，ｇまたはｈにおけるコンテンツ視聴位置は３０秒だけ時間的に前方（過去）の位置となる。同様に、ノードｎまたはｍの１レベル上位の段に位置するノードｃまたはｆにおけるコンテンツ視聴位置は３０秒だけ時間的に前方（未来）の位置となり、２レベル上位の段に位置するノードｂにおけるコンテンツ視聴位置は６０秒だけ時間的に後方の位置となる。
【００２４】
本実施形態では、このような段毎のコンテンツ視聴位置の違いを利用して、視聴中のコンテンツデータの早送り、巻き戻しといったトリック再生を実現する。すなわち、本実施形態では、ノード１１として機能し得る各端末は、目的のコンテンツ視聴位置に応じて、接続対象の上位ノードを変更する機能を有している。例えば、早送り（コンテンツ視聴位置を進める）がユーザによって要求された場合には、各端末は、視聴対象時刻のストリームを送出している上位ノードを見つけて接続し、それまでのストリーム送出元である直上のノードとの接続を切断する。同様に、巻き戻し（コンテンツ視聴位置を遅らせる）がユーザによって要求された場合には、各端末は、視聴対象時刻のストリームを送出している下位ノードを見つけ出して接続し、それまでのストリーム送出元の直上のノードとの接続を切断する。
【００２５】
たとえば、自ノードは、現在４段目にいるノードｎであるとする。ノードｎは、コンテンツの３０秒後の部分を見たいときは３段目に移動し、２段目のノードに接続する。コンテンツの６０秒後の部分を見たいときは、ノードｎは、２段目に移動して、１段目のノードａに接続する。
【００２６】
また、コンテンツの３０秒前の部分を見たいときは、ノードｎは、５段目に移動して、４段目のノードに接続する。また、コンテンツの６０秒前の部分を見たいときは、ノードｎは、６段目に移動して、５段目のノードに接続する。
【００２７】
このように、再生対象のコンテンツデータのストリームを転送する転送元ノードを、予め指定された上位ノードよりも論理ネットワーク内において上位または下位のレベルに位置する他のノードに変更することで、コンテンツ視聴位置を時間的に後方または前方に変更することができる。
【００２８】
図２には、各ノード１１の機能構成の例が示されている。
【００２９】
各ノード１１は、配信要求処理部１００、ノードテーブル１００ａ、受信部１０１、バッファ１０２、再生部１０３、転送部１０４、再生位置変更要求部１０５、および転送元ノード変更部１０６を備えている。
【００３０】
配信要求処理部１００は、再生対象のコンテンツデータの配信をネットワーク構成管理サーバ２０に要求するモジュールである。配信要求処理部１００からの配信要求（視聴要求とも云う）に応じて、ネットワーク構成管理サーバ２０は、コンテンツの配信を要求したノード１１に対して、コンテンツデータのストリームの転送元となる上位ノードを通知する。また、ネットワーク構成管理サーバ２０は、必要に応じて、コンテンツの配信を要求したノード１１に対して、コンテンツデータのストリームの転送先となる下位ノードも通知する。ネットワーク構成管理サーバ２０によって指定された上位ノードおよび下位ノードをそれぞれ指定する上位ノード識別情報および下位ノード識別情報はノードテーブル１００ａに保持される。
【００３１】
受信部１０１は、論理ネットワーク内の指定された上位ノードから送信される再生対象のコンテンツデータのストリームを受信する。すなわち、受信部１０１は、ノードテーブル１００ａに保持されている上位ノード識別情報によって指定される上位ノードからのデータを受信するように当該上位ノードに論理的に接続し、当該上位ノードから送信されるコンテンツデータのストリームを受信する。
【００３２】
バッファ１０２は受信部１０１によって受信されたコンテンツデータのストリームを格納する。このバッファ１０２はノード内のメモリ上に確保された記憶領域（バッファ領域）から構成されており、例えば３０秒分のコンテンツデータのストリームを格納可能なメモリサイズを有している。
【００３３】
再生部１０３は、受信部１０１によって受信されたコンテンツデータを再生するストリーミング再生処理を実行する。この再生部１０３は、バッファ１０２に格納されたコンテンツデータを順次読み出しながら、そのコンテンツデータを再生する。なお、再生部１０３は、バッファ１０２を介さずに、受信部１０１から直接的にコンテンツデータを受け取りながら、そのコンテンツデータを再生することもできる。
【００３４】
転送部１０４は、受信および再生されたコンテンツデータのストリームをバッファ１０２に所定時間（例えば３０秒）維持した後に、指定された下位ノードに転送する。下位ノードへのデータ転送は、受信されたコンテンツデータのストリームの転送先となる下位ノードが指定されている場合、つまりノード１１の下流に別のノードが論理接続されている場合にのみ実行される。転送先となる下位ノードは、ノードテーブル１００ａに保持されている下位ノード識別情報によって指定される。
【００３５】
再生位置変更要求部１０５は、ユーザによる視聴中のコンテンツデータに対する早送りまたは巻き戻しの要求に応じて、コンテンツデータの現在の再生位置（コンテンツ視聴位置）を時間的に後方または前方に変更すべきことを示す再生位置変更要求イベントを発生する。この再生位置変更要求イベントは転送元ノード変更部１０６に送られる。
【００３６】
転送元ノード変更部１０６は、再生位置変更要求イベントに応じて、再生対象のコンテンツデータのストリームを転送する転送元ノード（上位ノード）を変更する転送元ノード変更処理を実行する。この転送元ノード変更処理では、転送元ノード変更部１０６は、再生対象のコンテンツデータのストリームをノード１１に転送する転送元ノードを、上位ノード識別情報によって指定された上位ノードよりも論理ネットワーク内において上位または下位のレベルに位置する他のノードに変更するための処理を実行する。
【００３７】
より具体的には、転送元ノード変更部１０６は、ネットワーク構成管理サーバ２０によって管理されているネットワーク構成情報に基づいて、論理ネットワーク内で、再生位置変更要求イベントによって要求された変更先の再生位置に対応するコンテンツデータを出力しているレベルに位置するノードを新たな転送元モード（新たな上位ノード）として特定する。
【００３８】
例えば、もし再生位置変更要求イベントが現在の再生位置（コンテンツ視聴位置）を時間的に後方に変更すべきことを要求する場合には、ノード１１の現在の上位ノードよりも論理ネットワーク内において上位のレベルに位置するノードが新たな転送元ノードとして特定される。また、もし再生位置変更要求イベントが現在の再生位置（コンテンツ視聴位置）を時間的に前方に変更すべきことを要求する場合には、ノード１１の現在の上位ノードよりも論理ネットワーク内において下位のレベルに位置するノードが新たな転送元ノードとして特定される。
【００３９】
そして、転送元ノード変更部１０６は、ノード１１へ再生対象のコンテンツデータのストリームを転送する転送元ノードを、上位ノード識別情報によって指定された上位ノードから、特定された新たな転送元ノードに変更する。受信部１０１は、特定された新たな転送元ノードに論理的に接続し、その新たな転送元ノードから送信されるコンテンツデータのストリームの受信を開始する。
【００４０】
図３には、バッファ１０３の構成例が示されている。
【００４１】
バッファ１０３は３０秒分のコンテンツデータのストリームを保持するキャッシュエリア２０１を有している。さらに、バッファ１０３は、キャッシュエリア２０１の前段側に設けられた受信バッファエリア２０２と、キャッシュエリア２０１の後段側に設けられた送信バッファエリア２０３を有している。これら受信バッファエリア２０２、キャッシュエリア２０１、および送信バッファエリア２０３により、１つのＦＩＦＯバッファが構成されている。
【００４２】
受信バッファエリア２０２はネットワークゆらぎ等に対する耐性を提供するために受信データを一時的に保持するバッファ領域である。送信バッファエリア２０３は送信データの再送制御等に使用されるバッファ領域である。受信されたデータ（パケット）は最初に受信バッファエリア２０２に格納される。受信バッファエリア２０２が一杯になると、受信バッファエリア２０２に新たな受信データが格納される度に、受信バッファエリア２０２に格納されている最も古いデータがキャッシュエリア２０１に移動される。
【００４３】
キャッシュエリア２０１に移動されたデータは再生部１０３によって順次再生される。再生部１０３によって再生された後も、データはキャッシュエリア２０１に維持される。キャッシュエリア２０１が一杯になると、受信バッファエリア２０２に新たな受信データが格納される度に、キャッシュエリア２０１に格納されている最も古いデータが送信バッファエリア２０３に移動される。送信バッファエリア２０３のデータは、転送部１０４によって下位ノードへ転送される。
【００４４】
次に、図４のフローチャートを参照して、コンテンツ視聴位置を変更するための転送元ノード変更処理の手順について説明する。
【００４５】
いま、自ノードはノードｎであるとする。
【００４６】
ユーザがノードｎに設けられた入力装置を操作することによって視聴中のコンテンツデータの早送りまたは巻き戻しを要求した時、再生位置変更要求部１０５は、再生位置変更要求イベントを発生する（ステップＳ１１）。この再生位置変更要求イベントは、目的のコンテンツ視聴位置を示す。目的のコンテンツ視聴位置は、例えば、ノードｎの現在のコンテンツ視聴位置に対する相対的な時間情報を含む。例えば、早送りの場合には、再生位置変更要求イベントは、＋３０秒、＋６０秒、または＋９０秒といった相対的な時間情報を含む。巻き戻しの場合には、再生位置変更要求イベントは、−３０秒、−６０秒、または−９０秒といった相対的な時間情報を含む。
【００４７】
転送元ノード変更部１０６は、ネットワーク構成管理サーバ２０に対し、再生位置変更要求イベントによって指定される目的のコンテンツ視聴位置のストリームを送出しているノードを問い合わせる（ステップＳ１２）。ネットワーク構成管理サーバ２０は、ノードｎからの問い合わせに応答して、ネットワーク構成情報を格納しているデータベース（ＤＢ）を参照することにより、論理ネットワーク内で、ノードｎから要求された目的のコンテンツ視聴位置のストリームを送出しているレベルに位置するノードを特定し、その特定されたノードのノード識別情報（ＩＰアドレスなど）をノードｎに通知する（ステップＳ２１）。
【００４８】
問い合わせが完了すると、ノードｎの転送元ノード変更部１０６は、目的のコンテンツ視聴位置のストリームを送出しているノード（ネットワーク構成管理サーバ２０から通知されたノード）に論理的に接続し（ステップＳ１３）、そして現在の上位ノードとの接続を切断する（ステップＳ１４）。ステップＳ１３，Ｓ１４の処理により、ノードｎへ再生対象のコンテンツデータのストリームを転送する転送元ノードは、目的のコンテンツ視聴位置のストリームを送出しているノードに変更される。
【００４９】
例えば、早送り（＋３０秒）を行う場合には、ノードｎの現在の上位ノードよりも１レベルだけ上位のレベルに位置するノード（例えばノードｂ）が目的のコンテンツ視聴位置のストリームを送出しているノードとして特定され、図５に示すように、ノードｎがコンテンツデータを受けるべき転送元ノードは、ノードｆからノードｂに変更される。
【００５０】
また、例えば、巻き戻し（−６０秒）を行う場合には、ノードｎの現在の上位ノードよりも２レベルだけ下位のレベルに位置するノード（例えばノードｅ）が目的のコンテンツ視聴位置のストリームを送出しているノードとして特定され、図６に示すように、ノードｎがコンテンツデータを受けるべき転送元ノードは、ノードｆからノードｅに変更される。
【００５１】
次に、図７のフローチャートを参照して、コンテンツ視聴位置を変更するための転送元ノード変更処理の別の手順について説明する。
【００５２】
ここでは、自ノードが、ネットワーク構成管理サーバ２０によって下位ノードが指定されているノード、つまりコンテンツデータの転送先ノード（下位ノード）が存在するノードである場合を想定する。いま、自ノードは、ノードｍであったとする。
【００５３】
ユーザがノードｍに設けられた入力装置を操作することによって視聴中のコンテンツデータの早送りまたは巻き戻しを要求した時、ノードｍの再生位置変更要求部１０５は、再生位置変更要求イベントを発生する（ステップＳ３１）。ノードｍの転送元ノード変更部１０６は、ノードｍの下位ノード（ノードｇ，ｈ）に対してコンテンツデータのストリームを転送するノードを、自ノードｍから、別のノードに変更するための処理を実行する。この場合、再生位置変更要求部１０５は、まず、論理ネットワーク内において自ノードｍと同じレベルに位置し、且つ下位ノード（ノードｇ，ｈ）に対してコンテンツデータのストリームを転送可能な他のノードを、ネットワーク構成管理サーバ２０に対して問い合わせる（ステップＳ３２）。
【００５４】
ネットワーク構成管理サーバ２０は、ノードｍからの問い合わせに応答して、ネットワーク構成情報を格納しているデータベース（ＤＢ）を参照することにより、ノードｍと同じレベルに位置し且つ下位ノード（ノードｇ，ｈ）に対してコンテンツデータのストリームを転送可能なノードを探索し、探索されたノード（例えばノードｄ）のノード識別情報（ＩＰアドレスなど）をノードｍに通知する（ステップＳ４１）。コンテンツデータのストリームを転送可能なノードであるか否かの判定は、例えば、当該ノードの現在の下位ノードの数が一定数以下であるか否かによって行うようにしてもよい。
【００５５】
ノードｍの再生位置変更要求部１０５は、下位ノード（ノードｇ，ｈ）に対してノードｄが新たな上位ノードであることを通知して、下位ノード（ノードｇ，ｈ）をノードｄに接続させると共に、ノードｄに対してノードｇ，ｈが下位ノードであることを通知する（ステップＳ３３）。この後、ノードｍの再生位置変更要求部１０５は、下位ノード（ノードｇ，ｈ）を切断する（ステップＳ３４）。このときｍは、切断・接続に先立って、
切断・接続によるノードｇ、ｈへ一時的なパケット喪失を考慮して、ノードｇ、ｈに対して自分がキャッシュしていたデータを送出しても良い。
【００５６】
そして、ノードｍの再生位置変更要求部１０５は、目的のコンテンツ視聴位置のストリームを送出しているノードに接続するための処理を実行する（ステップＳ３５）。ステップＳ３５では、図４のステップＳ１２〜Ｓ１４の処理が実行される。
【００５７】
例えば、早送り（＋３０秒）を行う場合には、図８に示すように、まず、ノードｍの下位ノードｇ，ｈにコンテンツデータを転送するノードがノードｄに変更され、その後に、ノードｍがコンテンツデータを受けるべき転送元ノードが、ノードｆからノードｂに変更される。
【００５８】
次に、図９のフローチャートを参照して、コンテンツ視聴位置を変更するための転送元ノード変更処理のさらに別の手順について説明する。
【００５９】
ここでは、自ノードと同じレベルに位置し、且つ下位ノードにコンテンツデータのストリームを転送可能なノードが存在しなかった場合の処理を想定する。いま、自ノードは、ノードｍであったとする。
【００６０】
ユーザがノードｍに設けられた入力装置を操作することによって視聴中のコンテンツデータの早送りまたは巻き戻しを要求した時、ノードｍの再生位置変更要求部１０５は、再生位置変更要求イベントを発生する（ステップＳ５１）。この再生位置変更要求イベントに応答して、再生位置変更要求部１０５は、まず、論理ネットワーク内において自ノードｍと同じレベルに位置し、且つ下位ノード（ノードｇ，ｈ）に対してコンテンツデータのストリームを転送可能な他のノードを、ネットワーク構成管理サーバ２０に対して問い合わせる（ステップＳ５２）。
【００６１】
ネットワーク構成管理サーバ２０は、ノードｍからの問い合わせに応答して、ネットワーク構成情報を格納しているデータベース（ＤＢ）を参照することにより、ノードｍと同じレベルに位置し且つ下位ノード（ノードｇ，ｈ）に対してコンテンツデータのストリームを転送可能なノードを探索する（ステップＳ６１）。ノードｍと同じレベルに位置し且つ下位ノード（ノードｇ，ｈ）に対してコンテンツデータのストリームを転送可能なノードを探索できなかった場合、ネットワーク構成管理サーバ２０は、探索の失敗をノードｍに通知する。
【００６２】
ノードｍの再生位置変更要求部１０５は、ノードｍの通信帯域および処理能力に余裕が有るか否かを判別する（ステップＳ５３）。ノードｍに余裕がある場合には（ステップＳ５３のＹＥＳ）、再生位置変更要求部１０５は、現在の上位ノードｆから送信されるコンテンツデータのストリームを受信する処理と受信されたコンテンツデータのストリームを所定時間だけ維持した後に下位ノードｇ，ｈに転送する処理とを継続しながら、転送元ノード変更処理を実行する（ステップＳ３５）。すなわち、ステップＳ３５では、ノードｍは、現在の上位ノードｆとの接続を維持したまま、目的のコンテンツ視聴位置のストリームを送出しているノードに接続する。現在の上位ノードｆから受信したコンテンツデータは下位ノードｇ，ｈへの転送に用いられ、新たに接続されたノードから受信されたコンテンツデータは再生部１０３によって再生される。
【００６３】
例えば、早送り（＋３０秒）を行う場合には、図１０に示すように、ノードｍは、現在の上位ノードｆとの接続（パスＰ１）を維持したまま、目的のコンテンツ視聴位置のストリームを送出しているノードｄに接続する（パスＰ２）。パスＰ１を介して受信したデータはバッファ１０３に所定時間キャッシュされた後に下位ノードｇ，ｈに転送される。一方、再生部１０３によって再生されるデータは、パスＰ１を介してノードｆから受信したデータから、パスＰ２を介してノードｂから受信したデータに切り替えられる。
【００６４】
巻き戻し（−６０秒）を行う場合には、図１１に示すように、ノードｍは、現在の上位ノードｆとの接続（パスＰ１）を維持したまま、目的のコンテンツ視聴位置のストリームを送出しているノードｅに接続する（パスＰ２）。パスＰ１を介して受信したデータはバッファ１０３に所定時間キャッシュされた後に下位ノードｇ，ｈに転送される。一方、再生部１０３によって再生されるデータは、パスＰ１を介してノードｆから受信したデータから、パスＰ２を介してノードｅから受信したデータに切り替えられる。
【００６５】
以上のように、本実施形態によれば、再生位置変更要求イベントの発生に応答して、再生対象のコンテンツデータのストリームを転送する転送元ノードが、現在の上位ノードよりも論理ネットワーク内において上位または下位のレベルに位置する他のノードに動的に変更される。よって、ＰＳＰ型のコンテンツ配信システムにおいても、大容量記憶装置を用いずとも早送り、巻き戻しといったトリック再生を実現することが可能となる。また、各ノードでは、コンテンツデータの再生後もそのデータをバッファ１０３内に所定時間維持した後に下位ノードへ転送しているので、論理ネットワーク内に比較的長い時間コンテンツデータを滞留させておくことが可能となり、結果として早送り、巻き戻し可能な時間幅を広く設定することが出来る。
【００６６】
なお、早送り、巻き戻ししたい行き先が現在の再生ポイントと近く、目的のデータがキャッシュエリア２０１に存在する場合、つまり目的のデータが図３のバッファ１０３の再生禁止部分を除いた範囲内にあれば、バッファ１０３から再生を行ってもよい。また、論理ネットワークの階層構造を管理するネットワーク構成管理機能は、サーバ２０ではなく、あるノード１１に設けるようにしてもよい。
【００６７】
また、ネットワーク構成情報を各ノード１１に記憶しておくようにしてもよい。この場合、各ノード１１の転送元ノード変更部１０６は、サーバ２０に問い合わせすることなく、ネットワーク構成情報を参照して、論理ネットワーク内で目的のコンテンツ視聴位置のストリームを送出しているレベルに位置するノードを特定することができる。また、論理ネットワーク内において自ノードと同じレベルに位置する他のノードを探索する処理を、サーバ２０に問い合わせすることなく、実行することができる。
【００６８】
また、図４、図７、図９のフローチャートで説明した処理の全てをサーバ２０によって実行するようにしてもよい。この場合、サーバ２０は、例えば、ノードｎからコンテンツデータの再生位置を時間的に後方または前方に変更することを要求する再生位置変更要求を受信した時に、ネットワーク構成情報に基づいて、論理ネットワーク内で、再生位置変更要求によって要求された変更先の再生位置に対応するコンテンツデータを出力しているレベルに位置するノードを新たな転送元ノードとして特定する。そして、サーバ２０は、再生位置変更要求を送信したノードｎに対して新たな転送元ノードを通知し、且つ新たな転送元ノードに対してはノードｎへのコンテンツデータの転送を指示する。これにより、ノードｎへ再生対象のコンテンツデータのストリームを転送する転送元ノードを、新たな転送元ノードに変更することができる。また、もしノードｎに下位ノードが接続されているならば、図７または図９の処理を実行する。
【００６９】
すなわち、サーバ２０は、ノードｎにコンテンツデータのストリームを転送すべき下位ノードが存在する場合、論理ネットワーク内にノードｎと同じレベルに位置し且つノードｎの下位ノードにコンテンツデータのストリームを転送可能という条件を満たすノードを探索する。このようなノードが探索された場合には、サーバ２０は、ノードｎの下位ノードにコンテンツデータのストリームを転送するノードを、ノードｎから、探索されたノードに変更した後、上述の転送元ノード変更処理を実行する。もし上述の条件を満たすノードが探索されなかった場合には、サーバ２０は、ノードｎに、現在の上位ノードから送信されるコンテンツデータのストリームを受信する処理と受信されたコンテンツデータのストリームをバッファ１０３に所定時間維持した後に下位ノードに転送する処理とを継続して実行すべきことを指示した後、上述の転送元ノード変更処理を実行する。
【００７０】
また、本発明は上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【図面の簡単な説明】
【００７１】
【図１】本発明の一実施形態に係るコンテンツ配信システムのネットワーク構成の例を示すブロック図。
【図２】同実施形態のコンテンツ配信システムで用いられる端末装置の構成例を示すブロック図。
【図３】図２の端末装置に設けられるバッファの構成例を示す図。
【図４】同実施形態のコンテンツ配信システムによって実行される転送元ノード変更処理の手順の例を示すフローチャート。
【図５】同実施形態のコンテンツ配信システム内のノードの接続位置の移動結果の例を示す第１の図。
【図６】同実施形態のコンテンツ配信システム内のノードの接続位置の移動結果の例を示す第２の図。
【図７】同実施形態のコンテンツ配信システムによって実行される転送元ノード変更処理の別の手順の例を示すフローチャート。
【図８】同実施形態のコンテンツ配信システム内のノードの接続位置の移動結果の例を示す第３の図。
【図９】同実施形態のコンテンツ配信システムによって実行される転送元ノード変更処理のさらに別の手順の例を示すフローチャート。
【図１０】同実施形態のコンテンツ配信システム内のノードの接続位置の移動結果の例を示す第４の図。
【図１１】同実施形態のコンテンツ配信システム内のノードの接続位置の移動結果の例を示す第５の図。
【符号の説明】
【００７２】
１０，１１…ノード、２０…ネットワーク構成管理サーバ、１０１…受信部、１０２…バッファ、１０３…再生部、１０４…転送部、１０５…再生位置変更要求部、１０６…転送元ノード変更部。
【図１】
2009206743.tif 000003
【図２】
2009206743.tif 000004
【図３】
2009206743.tif 000005
【図４】
2009206743.tif 000006
【図５】
2009206743.tif 000007
【図６】
2009206743.tif 000008
【図７】
2009206743.tif 000009
【図８】
2009206743.tif 000010
【図９】
2009206743.tif 000011
【図１０】
2009206743.tif 000012
【図１１】
2009206743.tif 000013