説明

情報通信システム、ノード装置、情報通信方法、及び情報通信プログラム

【課題】コンテンツの再生位置の操作を可能とした場合に、他の装置から受信されるコンテンツの再生遅延を短くする。
【解決手段】情報通信システムは、複数のノード装置と、コンテンツの各再生位置の優先度を決定する情報処理装置と、を備え、ノード装置は、コンテンツの再生位置の操作の履歴を示す操作履歴情報を、情報処理装置に送信する送信手段と、コンテンツの要求を受け付ける受付手段と、情報処理装置により決定された優先度を取得する第1取得手段と、受付手段によりコンテンツの要求が受け付けられた場合には、要求されたコンテンツの各再生位置に対応する部分コンテンツを、情報処理装置により決定された優先度の高い順に、他のノード装置から取得する第2取得手段と、を備え、情報処理装置は、ノード装置から操作履歴情報を受信する受信手段と、受信手段により受信された操作履歴情報に基づいて、優先度を決定する決定手段と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))方式の通信システムの技術分野に関する。
【背景技術】
【0002】
従来、ネットワークを介して配信されてきたコンテンツを端末装置が再生するシステムが知られている。例えば、特許文献1に記載された技術においては、映像配信サーバが複数の映像からなる番組映像を端末装置に配信する。端末装置は、視聴される番組映像の再生、一時停止、早送り再生、スキップ、停止などの操作に関する情報を視聴情報として、端末装置が視聴解析サーバに送信する。視聴解析サーバは、視聴情報に基づいて、視聴者が番組を視聴する集中度である視聴集中度を解析する。端末装置は、視聴者が視聴する番組の全ての映像を格納する。そして、端末装置が、視聴される番組映像のうち視聴集中度が所定のしきい値以上である映像のみを表示する。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2005−260578号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載された技術では、端末装置が、番組映像を構成する全ての映像の受信が完了した後でないと、視聴集中度が所定のしきい値以上である映像のみの表示を行うことができなかった。そのため、例えば、ストリーミングによりコンテンツの受信及び再生を行う場合においては、コンテンツが再生に遅延が生じる。
【0005】
そこで、本発明は、以上の点に鑑みてなされたものである。本発明は、コンテンツの再生位置の操作を可能とした場合に、他の装置から受信されるコンテンツの再生遅延を短くすることを可能とする情報通信システム、ノード装置、情報通信方法、及び情報通信プログラムを提供することを目的とする。
【課題を解決するための手段】
【0006】
上記課題を解決するために、請求項1に記載の発明は、ノード装置により再生されるコンテンツが複数のノード装置間で送受信される情報通信システムであって、前記情報通信システムは、前記複数のノード装置と、コンテンツの各再生位置の優先度を決定する情報処理装置と、を備え、前記ノード装置は、コンテンツの再生位置の操作の履歴を示す操作履歴情報を、前記情報処理装置に送信する送信手段と、コンテンツの要求を受け付ける受付手段と、前記情報処理装置により決定された前記優先度を取得する第1取得手段と、前記受付手段によりコンテンツの要求が受け付けられた場合には、要求されたコンテンツの各再生位置に対応する部分コンテンツを、前記情報処理装置により決定された前記優先度の高い順に、他の前記ノード装置から取得する第2取得手段と、を備え、前記情報処理装置は、前記ノード装置から前記操作履歴情報を受信する受信手段と、前記受信手段により受信された前記操作履歴情報に基づいて、前記優先度を決定する決定手段と、を備えることを特徴とする。
【0007】
この発明によれば、コンテンツの各再生位置に対応する部分コンテンツが、再生位置の操作履歴に基づいて決定された優先度の高い順に他のノード装置から取得される。操作履歴の有無及び操作履歴の内容は、部分コンテンツの視聴数が多いか少ないかを決定する重要な要素の一つである。そのため、操作履歴情報に基づいてコンテンツの取得に優先度を付けることで、全てのコンテンツデータを取得する前であっても、視聴数が多い部分コンテンツを取得し、再生可能な状態にすることができる。
【0008】
請求項2に記載の発明は、請求項1に記載の情報通信システムにおいて、前記送信手段は、通常再生させる操作の情報を含む前記操作履歴情報を送信し、前記決定手段は、通常再生された位置の優先度を、再生されていない位置の優先度よりも高くすることを特徴とする。
【0009】
この発明によれば、通常再生された位置の優先度が、再生されていない位置の優先度よりも高くなるので、これまでにユーザが視聴したいと望んだ再生位置の部分が優先的に取得される。よって、全てのコンテンツデータを取得する前であっても、視聴数が多いと想定されるコンテンツを取得し、再生可能な状態にすることができる。
【0010】
請求項3に記載の発明は、請求項1又は請求項2に記載の情報通信システムにおいて、前記送信手段は、シークさせる操作の情報を含む前記操作履歴情報を送信し、前記決定手段は、シークにより再生されなかった位置の優先度を、通常再生された位置の優先度よりも低くすることを特徴とする。
【0011】
この発明によれば、シークにより再生されなかった位置の優先度が通常再生された位置の優先度よりも低くなるので、これまでにユーザが視聴したいと望んだ再生位置の部分が優先的に取得される。よって、全てのコンテンツデータを取得する前であっても、視聴数が多いと想定されるコンテンツを取得し、再生可能な状態にすることができる。
【0012】
請求項4に記載の発明は、請求項1乃至3の何れか1項に記載の情報通信システムにおいて、前記送信手段は、スロー再生させる操作の情報を含む前記操作履歴情報を送信し、前記決定手段は、スロー再生された位置の優先度を、通常再生された位置の優先度よりも高くすることを特徴とする。
【0013】
この発明によれば、スロー再生された位置の優先度が、通常再生された位置の優先度よりも高くなるので、ユーザにとって重要な再生位置の部分が優先的に取得される。よって、全てのコンテンツデータを取得する前であっても、視聴数が多いと想定されるコンテンツを取得し、再生可能な状態にすることができる。
【0014】
請求項5に記載の発明は、ノード装置により再生されるコンテンツが複数のノード装置間で送受信される情報通信システムにおける前記ノード装置であって、コンテンツの再生位置の操作の履歴を示す操作履歴情報を、前記操作履歴情報に基づいてコンテンツの各再生位置の優先度を決定する情報処理装置に送信する送信手段と、コンテンツの要求を受け付ける受付手段と、前記情報処理装置により決定された前記優先度を取得する第1取得手段と、前記受付手段によりコンテンツの要求が受け付けられた場合には、要求されたコンテンツの各再生位置に対応する部分コンテンツを、前記情報処理装置により決定された前記優先度の高い順に、他の前記ノード装置から取得する第2取得手段と、を備えることを特徴とする。
【0015】
コンテンツの各再生位置に対応する部分コンテンツが、再生位置の操作履歴に基づいて決定された優先度の高い順に他のノード装置から取得される。操作履歴の有無及び操作履歴の内容は、部分コンテンツの視聴数が多いか少ないかを決定する重要な要素の一つである。そのため、操作履歴情報に基づいてコンテンツの取得に優先度を付けることで、全てのコンテンツデータを取得する前であっても、視聴数が多い部分コンテンツを取得し、再生可能な状態にすることができる。
【0016】
請求項6に記載の発明は、請求項5に記載のノード装置において、コンテンツの現在の再生位置を示す位置情報を取得する第3取得手段を更に備え、前記第2取得手段は、要求されたコンテンツの各再生位置に対応する部分コンテンツを、前記第3取得手段により取得された前記位置情報が示す現在の再生位置以降で、前記優先度の高い順に取得することを特徴とする。
【0017】
現在の再生位置以降の再生位置の方が、現在の再生位置より前の範囲よりも、この後再生される可能性が高い。この発明によれば、再生される可能性が高い再生位置の中から、視聴数が多いコンテンツを取得し、再生可能な状態にすることができる。
【0018】
請求項7に記載の発明は、請求項6に記載のノード装置において、前記第2取得手段は、要求されたコンテンツの各再生位置に対応する部分コンテンツを、現在の再生位置から所定の範囲内で、前記優先度の高い順に取得することを特徴とする。
【0019】
現在の再生位置から所定の範囲内にある再生位置ほど、この後再生される可能性が高い。この発明によれば、現在の再生位置から所定の範囲内の再生位置であって、再生される可能性が高い再生位置の中から、視聴数が多いコンテンツを取得し、再生可能な状態にすることができる。
【0020】
請求項8に記載の発明は、請求項6又は請求項7に記載のノード装置において、前記第2取得手段は、要求されたコンテンツの各再生位置に対応する部分コンテンツを前記優先度の高い順に取得するとともに、現在の再生位置に対応する部分コンテンツを取得することを特徴とする。
【0021】
ノード装置によりコンテンツを再生するユーザによっては、現在の再生位置から再生したいユーザと、再生位置を変更する操作をして希望の再生位置から再生したいユーザとが存在する。この発明によれば、全てのコンテンツデータを取得する前であっても、視聴数が多いコンテンツと、現在の再生位置とに対応したコンテンツとを取得し、何れのユーザにとっても再生可能な状態にすることができる。
【0022】
請求項9に記載の発明は、請求項6乃至8の何れか1項に記載のノード装置において、前記第2取得手段は、前記優先度が同一である再生位置が複数存在する場合には、現在の再生位置に近い再生位置に対応する部分コンテンツを優先して取得することを特徴とする。
【0023】
現在の再生位置に近いほど、この後再生される可能性が高い。この発明によれば、現在の再生位置から近い再生位置であって、再生される可能性が高い再生位置に対応する視聴数が多いコンテンツを取得し、再生可能な状態にすることができる。
【0024】
請求項10に記載の発明は、請求項5乃至9の何れか1項に記載のノード装置において、コンテンツの属性情報を取得する第4取得手段を更に備え、前記第2取得手段は、前記第4取得手段により取得された前記属性情報に基づいて、要求されたコンテンツの各再生位置に対応する部分コンテンツを、予め定められた再生順に取得するか、又は、前記優先度の高い順に取得するかを決定することを特徴とする。
【0025】
この発明によれば、コンテンツの属性に合った取得方法が選択されることで、コンテンツを効率的に取得することができる。
【0026】
請求項11に記載の発明は、請求項10に記載のノード装置において、前記第4取得手段は、前記属性情報としてコンテンツの総再生時間を取得し、前記第2取得手段は、前記総再生時間が予め定められた時間以上である場合に、要求されたコンテンツの各再生位置に対応する部分コンテンツを前記優先度の高い順に取得することを特徴とする。
【0027】
コンテンツの総再生時間が長いほど、コンテンツの再生中に再生位置の操作が行われやすいものと考えられる。よって、この発明によれば、ノード装置が、総再生時間の長さが長いコンテンツは、再生位置に優先度を付けて取得することで、遅延を小さくして再生可能な状態にすることができる。
【0028】
請求項12に記載の発明は、請求項10に記載のノード装置において、前記第4取得手段は、前記属性情報としてコンテンツの再生位置の操作頻度を取得し、前記第2取得手段は、前記操作頻度が予め定められた数以上である場合に、要求されたコンテンツの各再生位置に対応する部分コンテンツを前記優先度の高い順に取得することを特徴とする。
【0029】
コンテンツの再生位置の操作頻度が大きいコンテンツほど、コンテンツの再生中に再生位置の変更操作が行われやすいものと考えられる。よって、この発明によれば、ノード装置が、操作頻度が高いコンテンツは、再生位置に優先度を付けて取得することで、遅延を小さくして再生可能な状態にすることができる。
【0030】
請求項13に記載の発明は、請求項10に記載のノード装置において、前記第4取得手段は、前記属性情報としてコンテンツの各再生位置における優先度の大きさの分散の値を取得し、前記第2取得手段は、前記分散の値が予め定められた値以上である場合に、要求されたコンテンツの各再生位置に対応する部分コンテンツを前記優先度の高い順に取得することを特徴とする。
【0031】
コンテンツの各再生位置の優先度の分散の値が大きいほど、コンテンツの再生中に再生位置の操作が行われやすいものと考えられる。よって、この発明によれば、ノード装置が、分散が高いコンテンツは、再生位置に優先度を付けて取得することで、遅延を小さくして再生可能な状態にすることができる。
【0032】
請求項14に記載の発明は、ノード装置により再生されるコンテンツが複数のノード装置間で送受信される情報通信システムにおける情報通信方法であって、コンテンツの再生位置の操作の履歴を示す操作履歴情報を、前記操作履歴情報に基づいてコンテンツの各再生位置の優先度を決定する情報処理装置に送信する送信工程と、コンテンツの要求を受け付ける受付工程と、前記情報処理装置により決定された前記優先度を取得する第1取得工程と、前記受付工程においてコンテンツの要求が受け付けられた場合には、要求されたコンテンツの各再生位置に対応する部分コンテンツを、前記情報処理装置により決定された前記優先度の高い順に、他の前記ノード装置から取得する第2取得工程と、を有することを特徴とする。
【0033】
請求項15に記載の発明は、ノード装置により再生されるコンテンツが複数のノード装置間で送受信される情報通信システムにおける前記ノード装置に含まれるコンピュータに、コンテンツの再生位置の操作の履歴を示す操作履歴情報を、前記操作履歴情報に基づいてコンテンツの各再生位置の優先度を決定する情報処理装置に送信する送信ステップ、コンテンツの要求を受け付ける受付ステップと、前記情報処理装置により決定された前記優先度を取得する第1取得ステップと、前記受付ステップにおいてコンテンツの要求が受け付けられた場合には、要求されたコンテンツの各再生位置に対応する部分コンテンツを、前記情報処理装置により決定された前記優先度の高い順に、他の前記ノード装置から取得する第2取得ステップと、を実行させることを特徴とする。
【発明の効果】
【0034】
本発明によれば、コンテンツの各再生位置に対応する部分コンテンツが、再生位置の操作履歴に基づいて決定された優先度の高い順に他のノード装置から取得される。操作履歴の有無及び操作履歴の内容は、部分コンテンツの視聴数が多いか少ないかを決定する重要な要素の一つである。そのため、操作履歴情報に基づいてコンテンツの取得に優先度を付けることで、全てのコンテンツデータを取得する前であっても、視聴数が多い部分コンテンツを取得し、再生可能な状態にすることができる。
【図面の簡単な説明】
【0035】
【図1】一実施形態に係るコンテンツ分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。
【図2】ノード装置Nnがコンテンツをダウンロードしながら再生する場合におけるコンテンツ分散保存システムSの動作概要の一例を示す図である。
【図3】センターサーバSAの概要構成例を示す図である。
【図4】ノードNnの概要構成例を示す図である。
【図5】一実施形態に係るノードNnの制御部21のサーバ処理における処理例を示す図である。
【図6】一実施形態に係るノードNnの制御部21のコンテンツ取得処理における処理例を示す図である。
【図7】一実施形態に係るノードNnの制御部21のコンテンツ再生処理における処理例を示す図である。
【発明を実施するための形態】
【0036】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ分散保存システムに本発明を適用した場合の実施形態である。
【0037】
[1.コンテンツ分散保存システムの構成及び動作概要]
始めに、図1を参照して、本実施形態に係るコンテンツ分散保存システムの構成及び動作概要について説明する。図1は、本実施形態に係るコンテンツ分散保存システムSにおける各ノード装置の接続態様の一例を示す図である。図1は、コンテンツ分散保存システムSの具体的構成図101と、概念的構成図100とから構成される。コンテンツ分散保存システムSの具体的構成図101が示すように、コンテンツ分散保存システムSは、多数のノード装置Nn(n=1,2,3・・・の何れか)から構成される。
【0038】
図1の具体的構成図101内に示すように、コンテンツ分散保存システムSは、複数のノード装置Nnがインターネットを介して接続されることで構成される。また、図1の下部枠101内に示すように、IX(Internet eXchange)3、ISP(Internet Service Provider)4a,4b、DSL(Digital Subscriber Line)回線事業者の装置5a,5b、FTTH(Fiber To The Home)回線事業者の装置6、及び通信回線7等によって、インターネット等のネットワーク8が構築されている。ネットワーク8は、現実世界の通信ネットワークである。なお、図1の例におけるネットワーク8には、データパケットを転送するためのルータが適宜挿入されているが、図1では図示を省略している。また、通信回線7としては、例えば、電話回線や光ケーブル等が用いられる。
【0039】
このようなネットワーク8には、複数のノード装置Nn(n=1,2,3・・・の何れか)が接続されている。以下、ノード装置を、「ノード」という。また、各ノードNnには、固有の製造番号及びIP(Internet Protocol)アドレスが割り当てられている。そして、本実施形態に係るコンテンツ分散保存システムSは、これらのノードNnのうち、図1の概念的構成図100内に示すように、何れか複数のノードNnの接続により形成されるピアツーピア方式のネットワークシステムとなっている。
【0040】
なお、図1の概念的構成図100内に示すネットワーク9は、既存のネットワーク8を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク9である。論理的なネットワークであるオーバーレイネットワーク9は、特定のアルゴリズム、例えば、DHTを利用したアルゴリズムにより実現される。そして、コンテンツ分散保存システムSに接続されている各ノードNnには、所定桁数からなる固有の識別情報であるノードIDが割り当てられている。また、ノードIDは、例えば、各ノードNnに個別に割り当てられたIPアドレス或いは製造番号を共通のハッシュ関数によりハッシュ化した値である。
【0041】
なお、コンテンツ分散保存システムSへの接続は、接続していないノードNn、例えば、ノードN8が、接続している任意のノードNnに対してコンテンツ分散保存システムへの参加要求を示す参加メッセージを送信することによって行われる。コンテンツ分散保存システムSへの参加とは、ノード装置Nnがコンテンツ分散保存システムSに接続され、コンテンツ分散保存システムSからコンテンツデータを取得可能になることである。任意のノードNnは、例えば、システムSに常時接続しているコンタクトノードである。
【0042】
また、各ノードNnは、夫々、DHTを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システムS上における各種メッセージの転送先を規定している。具体的に、このルーティングテーブルには、ID空間内で適度に離れたノードNnのノードID、IPアドレス及びポート番号を含むノード情報が複数登録されている。コンテンツ分散保存システムSに接続している1台のノードは、必要最低限のノードNnのノード情報をルーティングテーブルとして記憶している。各ノードNn間で互いに各種メッセージが転送されることで、ノード情報を記憶していないノードNnについてのノード情報が取得される。
【0043】
コンテンツ分散保存システムSは、内容の異なる様々なコンテンツデータのレプリカを所定のファイル形式で複数のノードNnに分散して保存する。以下、コンテンツデータを、「コンテンツ」という。そして、各ノードNn間でレプリカが利用可能になっている。各コンテンツのオリジナルはセンターサーバSAに保存されている。例えば、ノードN5には、タイトルがXXXの映画のコンテンツのレプリカが保存されている。一方、ノードN3には、タイトルがYYYの映画のコンテンツのレプリカが保存される。このように、コンテンツは、複数のノードNnに分散されて保存されている。以下、コンテンツのレプリカが保存されるノードNを、「コンテンツ保持ノード」という。また、以下の説明においては、オリジナルのコンテンツとレプリカとを特に区別することなく、コンテンツと称する。
【0044】
上述のコンテンツには、夫々、コンテンツ名及びコンテンツ毎に固有の識別情報であるコンテンツID等の情報が付加されている。このコンテンツIDは、例えば、コンテンツ名+任意の数値が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される。或いは、システム管理者が、コンテンツ毎に一意のID値を付与しても良い。
【0045】
分散保存されているコンテンツの所在は、インデックス情報として、コンテンツの所在を管理(記憶)しているノードNn等により記憶される。以下、コンテンツの所在を管理(記憶)しているノードNnを、「ルートノード」という。インデックス情報は、コンテンツを保存したノードNnのノード情報と、コンテンツのコンテンツIDと等の組を含む。このようなルートノードは、例えば、コンテンツIDと最も近いノードIDを有するノードNnであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、IDの上位桁が最も多く一致するノードIDである。なお、ルートノードは、情報処理装置の一例である。例えば、タイトルがXXXの映画のコンテンツについてのインデックス情報は、そのコンテンツのルートノードであるノードN4により管理される。また、例えば、タイトルがYYYの映画のコンテンツについてのインデックス情報は、そのコンテンツのルートノードであるノードN7により管理される。また、このようなルートノードは、例えば、コンテンツIDと最も近いノードIDを有するノードNnであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、コンテンツIDと上位桁がより多く一致するノードIDである。
【0046】
そして、或るノードNnのユーザが、所望するコンテンツを取得したい場合、このコンテンツの取得を望むノードNnは、メッセージを生成する。以下、ユーザによりコンテンツの取得を望むノードNnを、「ユーザノード」という。このメッセージは、取得を望むコンテンツのコンテンツID及びユーザノードのIPアドレス等を含む検索メッセージである。検索メッセージは、コンテンツ保持ノードを検索するためのメッセージである。上述の検索メッセージが、ユーザノードが取得するDHTのルーティングテーブルに従って、他のノードNnに対して送出される。つまり、ユーザノードは、検索メッセージを、ルートノードに向けて送出する。これにより、検索メッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。
【0047】
各ノードNnにおいて、コンテンツのコンテンツ名及びコンテンツID等の属性情報は、コンテンツカタログ情報に記述されている。コンテンツカタログ情報は、センターサーバSAにより作成されて、全てのノードNnに配信される。なお、DHTルーティングについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
【0048】
上記検索メッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をインデックス情報キャッシュから取得する。取得されたインデックス情報は、検索メッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてコンテンツをダウンロード(取得)することができる。ユーザノードは、インデックス情報に含まれるコンテンツ保持ノードのIPアドレス及びポート番号等に基づいて、コンテンツ要求メッセージをコンテンツ保持ノードに送信する。コンテンツ要求メッセージには、取得を望むコンテンツのコンテンツIDが含まれている。コンテンツ要求メッセージを受信したコンテンツ保持ノードは、コンテンツ要求メッセージに含まれるコンテンツIDに対応するコンテンツをユーザノードに送信する。このようにして、ユーザノードは、コンテンツをダウンロードすることが可能になる。なお、インデックス情報には、複数のコンテンツ保持ノードのノード情報が含まれていることもある。この場合、ユーザノードは、この複数のコンテンツ保持ノードのうち1つのコンテンツ保持ノードを選択する。そして、ユーザノードは、選択したコンテンツ保持ノードに接続してコンテンツをダウンロードすることができる。
【0049】
なお、ルートノードは、このインデックス情報に含まれるIPアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信しても良い。これにより、ユーザノードは、上記コンテンツ保持ノードからそのコンテンツをダウンロードすることもできる。また、上記ユーザノードは、検索メッセージがルートノードに辿り着くまでの間に、このルートノードと同じインデックス情報をキャッシュしているキャッシュノードからこのインデックス情報を取得することもできる。
【0050】
また、ユーザノードは、コンテンツ保持ノードからコンテンツを取得して保存したとき、保存したユーザノードは、パブリッシュメッセージを生成する。パブリッシュメッセージは、コンテンツを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、コンテンツのコンテンツID及びコンテンツを保存したノード装置のノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、検索メッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。そして、ルートノードは、パブリッシュメッセージを受信する。ルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報をインデックス情報キャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツを保持するコンテンツ保持ノードとなる。
【0051】
[2.コンテンツの再生及びダウンロード]
次に、図2を参照して、コンテンツ分散保存システムSにおけるコンテンツの再生及びダウンロードの概要について説明する。図2は、ノード装置Nnがコンテンツをダウンロードしながら再生する場合におけるコンテンツ分散保存システムSの動作概要の一例を示す図である。
【0052】
コンテンツ配信システムSにおいては、コンテンツの種類として、ノードNnにより再生可能な動画データ等のコンテンツが存在する。再生可能なコンテンツは、複数のデータに分割されている。この分割された個々のデータを、「チャンク」という。このチャンクにも、通常のコンテンツと同様にコンテンツIDが割り当てられている。従って、ノードNnは、チャンクを、通常のコンテンツと同様の方法でダウンロードすることができる。なお、チャンクは、部分コンテンツの一例である。
【0053】
コンテンツを構成する各チャンクには、予め定められた再生順に対応したシーケンス番号が割り当てられている。例えば、再生順が先頭であるチャンクには、シーケンス番号として1が割り当てられ、再生順が2番目以降のチャンクには、2、3、4・・・と、順次シーケンス番号が割り当てられている。このシーケンス番号は、コンテンツの再生時間軸上における再生位置に対応している。
【0054】
コンテンツの再生中、または、ノードNnにコンテンツを再生させる際、ユーザは再生位置の操作を行うことができる。再生位置の操作としては、通常再生させる操作と、特殊再生させる操作とがある。通常再生は、一般的な再生であり、通常の再生速度、すなわち、一倍速でコンテンツを再生することをいう。特殊再生としては、例えば、スロー再生、早送り再生、巻き戻し再生、シーク等の再生態様がある。スロー再生は、通常再生時の再生速度よりも遅い速度でコンテンツを再生することをいう。早送り再生は、通常再生時の再生速度よりも速い速度でコンテンツを再生することをいう。巻き戻し再生は、予め定められた順序とは逆順にコンテンツを再生することをいう。言い換えると、巻き戻し再生は、再生時間軸上において、通常再生時の再生方向とは逆方向にコンテンツを再生することをいう。シークは、現在の再生位置を、ユーザが指定した位置に移動させることをいう。
【0055】
コンテンツ分散保存システムSにおいては、コンテンツの再生位置の操作の履歴に基づいて、ノードNnによる、コンテンツを構成する各チャンクのダウンロードの順序が決定される。各再生位置に対してどのような再生を行わせるかによって、各再生位置のコンテンツに対するユーザの視聴の重要度が異なるものと考えられる。つまり、コンテンツの再生位置の操作は、各再生位置のコンテンツが再生される可能性の高さ、すなわち、再生数の多さを決定付ける要素の1つと考えられる。そこで、コンテンツ分散保存システムSは、再生される可能性の高い順にチャンクがダウンロードされるようになっている。これにより、コンテンツの再生遅延を短くし、スムーズにコンテンツを再生することができる。以下に具体的に説明する。
【0056】
例えば、ノードN2のユーザが、コンテンツを視聴したい場合、ノードN2を操作してWebサーバSWにアクセスする。WebサーバSWは、コンテンツ配信サイトを構成するWebページをノードN2に送信する。そして、コンテンツ配信サイトを構成するWebページ上で、ユーザが視聴したいコンテンツを選択する。するとノードN2は、再生対象のコンテンツをチャンク単位で順次ダウンロードしながら再生を行う(図2(1))。なお、チャンクのダウンロードの順序は、後述する重要度リストに基づいて決定されるが、便宜上、ここでは説明を省略する。
【0057】
コンテンツの再生の際に、ユーザは、再生位置の操作を行う場合がある。ノードN2は、視聴履歴情報を記録する。この視聴履歴情報は、ユーザによる再生位置の操作の履歴を示す情報である。例えば、視聴履歴情報には、各再生位置に対応するチャンク毎に、再生位置の操作によってどのような再生が行われたか、すなわち、再生態様が記録される。なお、視聴履歴情報は、操作履歴情報の一例である。ノードN2は、記録した視聴履歴情報を、再生したコンテンツのルートノード、例えば、ノードN1に向けて送信する(図2(2))。送信された視聴履歴情報は、DHTルーティングによって最終的にノードN1に到着する。
【0058】
ノードN1は、各ノードNnから受信した視聴履歴情報に基づいて、重要度リストを更新する(図2(3))。重要度リストは、コンテンツを構成する各チャンクの重要度を示す情報である。この重要度が高いほど、再生される可能性が高いことを示す。なお、重要度は、優先度の一例である。重要度リストにおいて、各チャンクの重要度の初期値として、例えば、0が設定されている。そして、視聴履歴情報に基づいて、各チャンクの重要度が加算されていく。そして、加算される値は、そのチャンクに対応する再生位置における再生態様によって決定される。例えば、通常再生は+2、シークは+0、スロー再生は+4、早送り再生は+1、巻き戻し再生は+3が、それぞれ加算される。コンテンツの再生された部分は、再生されなかった部分よりも再生される可能性が高い。そこで、再生された部分に対しては、重要度にプラスの値が加算される。シークの場合、現在の再生位置がユーザの指定した位置に移動することによって再生されなかった位置に対して加算される値が+0となる。つまり、再生されなかった位置の重要度は上がらない。スロー再生された部分は、例えば、ユーザがその部分をじっくりと視聴したい部分と考えられる。つまり、スロー再生された部分は、再生された部分の中でもユーザにとってより重要な部分と考えられる。そこで、スロー再生の場合は、加算される重要度の値が通常再生の場合よりも大きくなっている。早送り再生された部分は、例えば、ユーザがその部分をじっくりと視聴する必要がなかった部分と考えられる。そこで、早送り再生の場合は、加算される重要度の値が通常再生の場合よりも小さくなっている。巻き戻し再生された部分は、例えば、ユーザがその部分を視聴した後に更に巻き戻して視聴する場合等が考えられる。つまり、巻き戻し再生された部分は、何度も再生される可能性が高いと考えられる。そこで、巻き戻し再生の場合は、加算される重要度の値が通常再生の場合よりも大きくなっている。
【0059】
なお、本実施形態では、再生態様として、通常再生と、スロー再生と、早送り再生と、巻き戻し再生と、シークとが用いられている。しかしながら、再生態様として、例えば、通常再生と、シークとを用いても良い。この場合、通常再生によって再生された再生位置の重要度に、通常再生に対応するプラスの値が加算されることになる。また、1つのチャンクについて、例えば、最初は通常再生されて、途中からシークされる、というように、複数の再生態様で再生される場合がある。この場合は、例えば、再生態様に予め優先順位を付け、優先順位の高い方の重要度を、再生されたチャンクの重要度に加算しても良い。またこの場合、重要度が高い方の再生態様の優先順位を、重要度が低い方の再生態様の優先順位より高くしても良い。例えば、1つのチャンクについて、複数の再生態様が実行された場合、重要度の高い再生態様の優先順位を高くしても良い。この場合、重要度の高い再生態様に応じた値の重要度が加算される。1つのチャンクについて、複数の再生態様が実行された場合、重要度の低い再生態様の優先順位を高くしても良い。この場合、重要度の低い再生態様に応じた値の重要度が加算される。
【0060】
その後、例えば、ノードN4のユーザが、ノードN2によって再生されたコンテンツと同じコンテンツの再生を選択する。するとノードN4は、ルートノードであるノードN1から、選択されたコンテンツの重要度リストを取得する(図2(4))。そして、ノードN4は、重要度リストに基づいて、再生対象のコンテンツをチャンク単位で順次ダウンロードしながら、ユーザによる再生位置の操作に従って再生を行う(図2(5))。具体的に、ノードN4は、重要度リストに示す重要度が高い順にチャンクをダウンロードする。なお、ノードN4が既に保持しているチャンクについては、ダウンロードする必要はない。
【0061】
ここで、ユーザによる再生位置の操作が行われることにより、又は、再生位置の操作が行われなかったことにより、重要度の高い順にこれまでダウンロードされているチャンクの中に、現在の再生位置に対応するチャンクが含まれていない場合がある。そこで、ノードN4は、重要度の高い順にチャンクをダウンロードしつつ、現在の再生位置に対応するチャンクもダウンロードする。
【0062】
また、再生時間軸上にけるコンテンツの再生方向において、現在の再生位置以降の部分の方が、現在の再生位置の前方にある部分よりも、この後再生される可能性が高いと考えられる。そこで、再生時間軸上において現在の再生位置以降のチャンクが、現在の再生位置の前方にあるチャンクよりも優先してダウンロードされる。また、現在の再生位置以降の部分であっても、現在の再生位置により近いほど、この後、再生される可能性が高いと考えられる。そこで、現在の再生位置から予め設定された設定距離までの範囲内で、重要度の高い順にチャンクがダウンロードされる。この距離は、例えば、チャンクの個数や再生時間で表すことができる。例えば、設定距離としてチャンクの個数を用い、設定距離としての個数が10個であるとする。そして、現在の再生位置のシーケンス番号が5である場合、シーケンス番号が6から15までの範囲内にあるチャンクの中から重要度の高い順にチャンクがダウンロードされる。
【0063】
また、コンテンツの属性に基づいて、チャンクをダウンロードする順序を、重要度の高い順とするか、又は、予め定められた再生順、すなわち、シーケンス番号の小さい順とするかが決定される。例えば、属性としてコンテンツの総再生時間が長いほど、コンテンツの再生開始から終了までの間に、再生位置の操作が行われる可能性が高いと考えられる。そこで、総再生時間が予め設定された設定時間以上である場合には、重要度の高い順とし、総再生時間が設定時間未満である場合には、シーケンス番号の小さい順としても良い。コンテンツの総再生時間は、例えば、ノードNnがカタログ情報から取得することができる。また、例えば、属性としてコンテンツの再生位置の操作頻度が、予め設定された設定回数以上である場合には、重要度の高い順とし、コンテンツの再生位置の操作頻度が設定回数未満である場合には、シーケンス番号の小さい順としても良い。再生位置の操作頻度は、ノードNnがユーザによる再生位置の操作に基づいて取得することができる。また、属性として各再生位置に対応するチャンクの重要度の分散の値が、予め設定された設定値以上である場合には、重要度の高い順とし、前記の分散の値が設定値未満である場合には、シーケンス番号の小さい順としても良い。この分散の値は、重要度リストに設定されている重要度に基づいて算出することができる。
【0064】
[3.各装置の構成及び機能]
次に、図3及び図4を参照して、各装置の構成及び機能について説明する。図3は、センターサーバSAの概要構成例を示す図である。また、図4は、ノードNnの概要構成例を示す図である。
【0065】
[3.1 センターサーバSAの構成]
センターサーバSAは、図3に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成された制御部11を備えている。また、センターサーバSAは、各種データ及び各種プログラム等を記憶保存するためのHD等から構成された記憶部12を備えている。更に、センターサーバSAは、ネットワーク8等を通じてノードNnとの間の情報の通信制御を行うための通信部13を備えている。また更に、センターサーバSAは、各種情報を表示するCRT,液晶ディスプレイ等の表示部14を備えている。更にまた、センターサーバSAは、オペレータからの指示を受け付けこの指示に応じた指示信号を制御部11に対して与える入力部15(例えば、キーボード、マウス等)を備えている。そして、制御部11、記憶部12、通信部13、表示部14、及び入力部15はバス16を介して相互に接続されている。
【0066】
記憶部12には、各ノードNnのノードID、IPアドレス及びポート番号等が記憶されている。制御部11は、CPUが記憶部12等に記憶されたデータベース管理プログラム等のプログラムを読み出して実行することにより、センターサーバSA全体を統括制御する。
【0067】
[3.2 ノードNnの構成]
各ノードNnは、図4に示すように、演算機能を有するCPU,作業用RAM,各種データ及びプログラムを記憶するROM等から構成されたコンピュータとしての制御部21を備えている。また、各ノードNnは、各種データ及び各種プログラム等を記憶保存するためのHD(ハードディスク)等から構成された記憶部22と、受信されたコンテンツのレプリカ等を一時蓄積するバッファメモリ23とを備えている。更に、各ノードNnは、コンテンツのレプリカに含まれるエンコードされたビデオデータ(映像情報)及びオーディオデータ(音声情報)等をデコードするデコーダ部24を備えている。また更に、各ノードNnは、このデコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部25と、この映像処理部25から出力されたビデオ信号に基づき映像表示するCRT,液晶ディスプレイ等の表示部26と、を備えている。更にまた、各ノードNnは、上記デコードされたオーディオデータをアナログオーディオ信号にD (Digital)/A(Analog)変換した後これをアンプにより増幅して出力する音声処理部27と、この音声処理部27から出力されたオーディオ信号を音波として出力するスピーカ28と、を備えている。また更に、各ノードNnは、ネットワーク8を通じて他のノードNn等間の情報の通信制御を行うための通信部29を備えている。更にまた、各ノードNnは、ユーザからの指示を受け付けこの指示に応じた指示信号を制御部21に対して与える入力部30(例えば、キーボード、マウス、或いは、リモコンや操作パネル等)を備えている。そして、制御部21、記憶部22、バッファメモリ23、デコーダ部24、通信部29、及び入力部30はバス31を介して相互に接続されている。また、入力部30は、第2検索入力手段の一例である。なお、ノードNnとしては、例えば、パーソナルコンピュータ、STB(Set Top Box)等を適用可能である。
【0068】
記憶部22には、DHTを用いたルーティングテーブル、インデックス情報、並びに、コンテンツ分散保存システムSに参加する際のアクセス先となるコンタクトノードのIPアドレス及びポート番号、及びセンターサーバSAのIPアドレス及びポート番号等が記憶されている。また、記憶部22には、視聴履歴情報及び重要度リストが、それぞれコンテンツIDに対応付けて記憶される。更に、記憶部22には、コンテンツ分散保存システムSに接続し、他のノードNnとの通信等を行うためのP2Pソフトウェア(本発明の情報通信プログラムを含む)等が記憶されている。
【0069】
制御部21は、CPUが記憶部22等に記憶されたプログラムを読み出して実行することにより、送信手段、受付手段、第1取得手段、第2取得手段、第3取得手段、第4取得手段、受信手段、及び決定手段として機能する。なお、P2Pソフトウェアは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしても良いし、例えば、CD−ROM等の記録媒体に記録されてこの記録媒体のドライブを介して読み込まれるようにしても良い。
【0070】
[4.コンテンツ分散保存システムSの動作]
次に、図5乃至図7を参照して、本実施形態に係るコンテンツ分散保存システムSの動作について説明する。図5は、本実施形態に係るノードNnの制御部21のサーバ処理における処理例を示す図である。なお、図5においては、本実施形態の説明に必要ではない処理については、図示を省略している。
【0071】
図5に示す処理は、例えば、ユーザがP2PソフトウェアをノードNnに実行させることによって、P2Pソフトウェアに含まれるサーバ処理用のプログラムが起動されたときに開始される。先ず、制御部21は、他のノードNnから視聴履歴情報を受信したか否かを判定する(ステップS1)。このとき、制御部21は、受信手段として視聴履歴情報を受信した場合には(ステップS1:YES)、視聴履歴情報を受信したノードNn自身がルートノードであるか否かを判定する(ステップS2)。他のノードNnから送信されてくる視聴履歴情報には、コンテンツIDが付加されている。そこで、制御部21は、例えば、付加されているコンテンツIDとルーティングテーブルとに基づいて、視聴履歴情報を受信したノードNnよりも、ルートノードとなるのにふさわしいノードNnが存在するか否かを判定する。そして、視聴履歴情報を受信したノードNnよりも、ルートノードとなるのにふさわしいノードNnが存在しない場合には、視聴履歴情報を受信したノードNnがルートノードであるとされる。視聴履歴情報を受信したノードNnよりもルートノードとなるのにふさわしいノードNnとは、例えば、視聴履歴情報を受信したノードNnのノードIDよりも、付加されているコンテンツIDと近いノードIDが割り当てられたノードNnである。
【0072】
このとき、制御部21は、視聴履歴情報を受信したノードNn自身がルートノードである場合には(ステップS2:YES)、決定手段として、受信した視聴履歴情報に基づいて重要度リストを更新する(ステップS3)。具体的に、制御部21は、視聴履歴情報に付加されているコンテンツIDに対応する重要度リストを記憶部22から決定する。そして、制御部21は、決定した重要度リストに設定されている各チャンクの重要度に、視聴履歴情報に設定されている対応するチャンクの再生態様に応じた重要度をそれぞれ加算する。
【0073】
ステップS2において、制御部21は、視聴履歴情報を受信したノードNn自身がルートノードではない場合には(ステップS2:NO)、ルーティングテーブルを用いて、視聴履歴情報を他のノードに中継する(ステップS4)。
【0074】
制御部21は、視聴履歴情報を受信していない場合(ステップS1:NO)、ステップS3の処理を終えた場合、又は、ステップS4の処理を終えた場合には、他のノードNnから重要度リスト要求メッセージを受信したか否かを判定する(ステップS5)。このとき、制御部21は、重要度リスト要求メッセージを受信した場合には(ステップS5:YES)、重要度リスト要求メッセージを受信したノードNn自身がルートノードであるか否かを判定する(ステップS6)。重要度リスト要求メッセージを受信したノードNn自身がルートノードであるか否かは、重要度リスト要求メッセージに含まれるコンテンツIDに基づいて、ステップS2の場合と同様に判定される。
【0075】
このとき、制御部21は、重要度リスト要求メッセージを受信したノードNn自身がルートノードである場合には(ステップS6:YES)、重要度リストをユーザノードに送信する(ステップS7)。具体的に、制御部21は、受信した重要度リスト要求メッセージに含まれているコンテンツIDに対応する重要度リストを記憶部22から読み出し、読み出した重要度リストを送信する。
【0076】
ステップS6において、制御部21は、重要度リスト要求メッセージを受信したノードNn自身がルートノードではない場合には(ステップS6:NO)、ルーティングテーブルを用いて、重要度リスト要求メッセージを他のノードに中継する(ステップS8)。
【0077】
制御部21は、重要度リスト要求メッセージを受信していない場合(ステップS5:NO)、ステップS7の処理を終えた場合、又は、ステップS8の処理を終えた場合には、他のノードNnからコンテンツ要求メッセージを受信したか否かを判定する(ステップS9)。このとき、制御部21は、コンテンツ要求メッセージを受信した場合には(ステップS9:YES)、要求されたチャンクをコンテンツ要求メッセージの送信元のノードNnに送信する(ステップS10)。具体的に、制御部21は、受信したコンテンツ要求メッセージに含まれているコンテンツIDに対応するチャンクを記憶部22から読み出し、読み出したチャンクを送信する。制御部21は、ステップS10の処理を終えると、ステップS9に移行する。
【0078】
ステップS9において、制御部21は、他のノードNnからコンテンツ要求メッセージを受信していない場合には(ステップS9:NO)、ユーザの操作によるサーバ処理用のプログラムの終了要求があったか否かを判定する(ステップS11)。このとき、制御部21は、終了要求がなかった場合には(ステップS11:NO)、ステップS1に移行する。一方、制御部21は、終了要求があった場合には(ステップS11:YES)、図5に示す処理を終了させる。
【0079】
図6は、本実施形態に係るノードNnの制御部21のコンテンツ取得処理における処理例を示す図である。例えば、ユーザが、コンテンツ配信サイトにおいて、コンテンツの要求として、視聴したいコンテンツを選択する。制御部21は、受付手段として、コンテンツの選択を受け付け、WebサーバSWにリクエストを送信する。すると、WebサーバSWが、選択されたコンテンツ再生用のWebページのHTML(HyperText Markup Language)文書をノードNnに送信する。制御部21は、受信したHTML文書に基づいて、Webページを表示部26により表示させる。図6に示す処理は、例えば、コンテンツ再生用のWebページが表示されたときに開始される。
【0080】
先ず、制御部21は、第1取得手段として、重要度リストを取得する。具体的に、制御部21は、重要度リスト要求メッセージをルートノードに向けて送信する(ステップS21)。WebサーバSWから受信されたHTML文書には、再生すべきコンテンツのコンテンツIDが記述されている。そこで、制御部21は、HTML文書に記述されているコンテンツIDを含む重要度リスト要求メッセージを送信する。その後、制御部21は、ルートノードから送信されてきた重要度リストを受信する(ステップS22)。
【0081】
次いで、制御部21は、再生すべきコンテンツの先頭のチャンクをダウンロードする(ステップS23)。先ず、制御部21は、各チャンクのコンテンツIDをシーケンス番号と対応付けて示すメタ情報を取得する。このメタ情報は、例えば、コンテンツ再生用のWebページのHTML文書に記述されていても良い。そして、制御部21は、ダウンロードすべきチャンクのコンテンツIDを含む検索リクエストを送信することにより、ルートノードからインデックス情報を受信する。次いで、制御部21は、受信したインデックス情報に基づいて、ダウンロードすべきチャンクのコンテンツIDを含むコンテンツ要求メッセージをコンテンツ保持ノードに送信する。次いで、制御部21は、コンテンツ保持ノードからチャンクを受信する。そして、制御部21は、受信したチャンクを記憶部22に記憶させる。
【0082】
制御部21は、ステップS23の処理を終えると、再生すべきコンテンツを構成するチャンクを全てダウンロードしたか否かを判定する(ステップS24)。このとき、制御部21は、ダウンロードしていないチャンクがまだ存在する場合には(ステップS24:NO)、現在の再生位置に対応するチャンクが記憶部22に記憶されているか否かを判定する(ステップS25)。例えば、現在の再生位置を示すシーケンス番号が、後述するコンテンツ再生処理において、作業用RAMの所定の領域に設定される。そこで、制御部21は、第3取得手段として、現在の再生位置を示すシーケンス番号を作業用RAMから取得する。なお、作業用RAMに設定されているシーケンス番号は、位置情報の一例である。次いで、制御部21は、取得したシーケンス番号に対応するコンテンツIDを前記のメタ情報から取得する。そして、制御部21は、取得したコンテンツIDに対応するチャンクが、記憶部22に記憶されているか否かを判定する。
【0083】
このとき、制御部21は、現在の再生位置に対応するチャンクが記憶部22に記憶されていない場合には(ステップS25:NO)、現在の再生位置に対応するチャンクをダウンロードする(ステップS26)。制御部21は、ステップS26の処理を終えると、ステップS24に移行する。
【0084】
一方、制御部21は、現在の再生位置に対応するチャンクが記憶部22に記憶されている場合には(ステップS25:YES)、再生すべきコンテンツの総再生時間が、閾値としての設定時間以上であるか否かを判定する(ステップS27)。このとき、制御部21は、コンテンツの総再生時間が閾値未満である場合には(ステップS27:NO)、ステップS29に移行する。
【0085】
一方、制御部21は、コンテンツの総再生時間が閾値以上である場合には(ステップS27:YES)、再生すべきコンテンツを構成する各チャンクの重要度の分散の値が、閾値としての設定値以上であるか否かを判定する(ステップS28)。このとき、制御部21は、各チャンクの重要度の分散の値が閾値未満である場合には(ステップS28:NO)、ステップS29に移行する。一方、制御部21は、各チャンクの重要度の分散の値が閾値以上である場合には(ステップS28:YES)、ステップS30に移行する。
【0086】
ステップS29において、制御部21は、第2取得手段として、シーケンス番号順に従って、チャンクをダウンロードする。具体的に、制御部21は、記憶部22に記憶されていないチャンクのうち、再生順が最も先頭に近いチャンクを、ダウンロード対象として選択する。そして、制御部21は、選択されたチャンクをダウンロードする。制御部21は、ステップS29の処理を終えると、ステップS24に移行する。
【0087】
ステップS30において、制御部21は、第2取得手段として、重要度リストに基づいて、チャンクをダウンロードする(ステップS30)。具体的に、制御部21は、現在の再生位置以降から設定距離までの範囲内に含まれるチャンクのうち、記憶部22に記憶されていないチャンクを抽出する。次いで、制御部21は、抽出されたチャンクのうち、重要度が最も高いチャンクを、ダウンロード対象として選択する。このとき、制御部21は、重要度が最も高いチャンクが複数存在する場合には、これらのチャンクのうち、その再生位置が現在の再生位置に最も近いチャンクを、ダウンロード対象として選択する。そして、制御部21は、選択されたチャンクをダウンロードする。制御部21は、ステップS30の処理を終えると、ステップS24に移行する。なお、ステップS29の処理を終了した時点で、ダウンロードしていないチャンクがまだ存在し、現在の再生位置に対応するチャンクが記憶部22に記憶されている場合には、ステップS24〜S28の判定処理を経由して、ステップS29の処理が再び実行される。従って、ステップS29の処理が繰り返されることにより、重要度の高い順にチャンクがダウンロードされる。
【0088】
ステップS24において、制御部21は、再生すべきコンテンツを構成するチャンクを全てダウンロードした場合には(ステップS24:YES)、図6に示す処理を終了させる。
【0089】
図7は、本実施形態に係るノードNnの制御部21のコンテンツ再生処理における処理例を示す図である。図7に示す処理は、例えば、表示部26によりコンテンツ再生用のWebページが表示された後、ユーザが、通常再生等のコンテンツの再生を開始させる操作を行ったときに開始される。先ず、制御部21は、ユーザからコンテンツ再生の終了を依頼する操作が入力部30を用いて行われたか否かを判定する(ステップS41)。このとき、制御部21は、コンテンツ再生の終了を依頼する操作が行われていない場合には(ステップS41:NO)、コンテンツの再生位置の操作が入力部30を用いて行われたか否かを判定する(ステップS42)。
【0090】
このとき、制御部21は、コンテンツの再生位置の操作が行われた場合には(ステップS42:YES)、コンテンツの再生位置を移動させる(ステップS43)。具体的に、制御部21は、作業用RAMに設定されている再生位置を示すシーケンス番号を、再生位置の操作に対応した再生態様に基づいて変更する。
【0091】
次いで、制御部21は、視聴履歴情報を記録する(ステップS44)。例えば、制御部21は、再生位置の操作に対応した再生態様を、WebサーバSWから受信されたHTML文書に記述されているコンテンツID、及び、現在の再生位置を示すシーケンス番号に対応して記憶部22に記録する。
【0092】
制御部21は、コンテンツの再生位置の操作が行われていない場合(ステップS42:NO)、又は、ステップS44の処理を終えた場合には、現在の再生位置に対応するチャンクが記憶部22に記憶されているか否かを判定する(ステップS45)。このとき、制御部21は、現在の再生位置に対応するチャンクが記憶部22に記憶されていない場合には(ステップS45:NO)、現在の再生位置に対応するチャンクがダウンロードされるまで待機する(ステップS46)。
【0093】
制御部21は、現在の再生位置に対応するチャンクが記憶部22に記憶されている場合(ステップS45:YES)、又は、ステップS46の処理を終えた場合には、現在の再生位置に対応するチャンクを再生する(ステップS47)。このとき、制御部21は、作業用RAMに設定されている再生位置を示すシーケンス番号に、1を加算する。制御部21は、ステップS47の処理を終えると、ステップS41に移行する。
【0094】
ステップS41において、制御部21は、コンテンツ再生の終了を依頼する操作が行われた場合には(ステップS41:YES)、記録された視聴履歴情報をルートノードに向けて送信する(ステップS48)。このとき、制御部21は、WebサーバSWから受信されたHTML文書に記述されているコンテンツIDを視聴履歴情報に付加して送信する。制御部21は、ステップS48の処理を終えると、図7に示す処理を終了させる。
【0095】
以上説明したように、本実施形態によれば、ノードNnは、コンテンツの要求を受け付けると、要求されたコンテンツの各再生位置に対応するチャンクを、重要度リストに基づいて重要度の高い順に、他のノードNnからダウンロードする。従って、コンテンツの各再生位置に対応するチャンクが、再生位置の操作履歴に基づいて決定された重要度の高い順に他のノードNnから取得される。操作履歴の有無及び操作履歴の内容は、チャンクの視聴数が多いか少ないかを決定する重要な要素の一つである。そのため、視聴履歴情報に基づいてコンテンツの取得に重要度を付けることで、全てのコンテンツデータを取得する前であっても、視聴数が多いチャンクを取得し、再生可能な状態にすることができる。
【0096】
また、ルートノードが、通常再生された位置の重要度が、再生されていない位置の重要度よりも高くなるように重要度リストを更新する。従って、これまでにユーザが視聴したいと望んだ再生位置の部分が優先的に取得される。よって、全てのコンテンツを取得する前であっても、視聴数が多いと想定されるコンテンツを取得し、再生可能な状態にすることができる。
【0097】
また、ルートノードが、シークにより再生されなかった位置の重要度が、通常再生された位置の重要度よりも低くなるように重要度リストを更新する。従って、これまでにユーザが視聴したいと望んだ再生位置の部分が優先的に取得される。よって、全てのコンテンツデータを取得する前であっても、視聴数が多いと想定されるコンテンツを取得し、再生可能な状態にすることができる。
【0098】
また、ルートノードが、スロー再生された位置の重要度が、通常再生された位置の重要度よりも高くなるように重要度リストを更新する。従って、ユーザにとって重要な再生位置の部分が優先的に取得される。よって、全てのコンテンツデータを取得する前であっても、視聴数が多いと想定されるコンテンツを取得し、再生可能な状態にすることができる。
【0099】
また、ノードNnが、コンテンツの現在の再生位置を示すシーケンス番号を取得する。そして、ノードNnが、要求されたコンテンツの各再生位置に対応するチャンクを、シーケンス番号が示す現在の再生位置以降で、重要度の高い順に取得する。従って、再生される可能性が高い再生位置の中から、視聴数が多いコンテンツを取得し、再生可能な状態にすることができる。
【0100】
また、ノードNnが、要求されたコンテンツの各再生位置に対応するチャンクを、現在の再生位置から予め設定された設定距離の範囲内で、重要度の高い順に取得する。従って、現在の再生位置から設定距離の範囲内の再生位置であって、再生される可能性が高い再生位置の中から、視聴数が多いコンテンツを取得し、再生可能な状態にすることができる。
【0101】
また、ノードNnが、要求されたコンテンツの各再生位置に対応するチャンクを重要度の高い順に取得するとともに、現在の再生位置に対応するチャンクを取得する。ノードNnによりコンテンツを再生するユーザによっては、現在の再生位置から再生したいユーザと、再生位置を変更する操作をして希望の再生位置から再生したいユーザとが存在する。従って、全てのコンテンツデータを取得する前であっても、視聴数が多いコンテンツと、現在の再生位置とに対応したコンテンツとを取得し、何れのユーザにとっても再生可能な状態にすることができる。
【0102】
また、ノードNnが、重要度が同一である再生位置が複数存在する場合には、現在の再生位置に近い再生位置に対応するチャンクを優先して取得する。従って、現在の再生位置から近い再生位置であって、再生される可能性が高い再生位置に対応する視聴数が多いコンテンツを取得し、再生可能な状態にすることができる。
【0103】
また、ノードNnが、コンテンツの属性を取得し、取得された属性情報に基づいて、要求されたコンテンツの各再生位置に対応するチャンクを、シーケンス番号順に取得するか、又は、重要度の高い順に取得するかを決定する。従って、コンテンツの属性に合った取得方法が選択されることで、コンテンツを効率的に取得することができる。
【0104】
ここで、ノードNnが、属性情報としてコンテンツの総再生時間を取得し、総再生時間が設定時間以上である場合に、要求されたコンテンツの各再生位置に対応するチャンクを重要度の高い順に取得しても良い。この場合、ノードNnが、総再生時間の長さが長いコンテンツは、再生位置に重要度を付けて取得することで、遅延を小さくして再生可能な状態にすることができる。
【0105】
また、ノードNnが、属性情報としてコンテンツの再生位置の操作頻度を取得し、操作頻度が設定回数以上である場合に、要求されたコンテンツの各再生位置に対応するチャンクを重要度の高い順に取得しても良い。この場合、ノードNnが、操作頻度が高いコンテンツは、再生位置に重要度を付けて取得することで、遅延を小さくして再生可能な状態にすることができる。
【0106】
また、ノードNnが、属性情報としてコンテンツの各再生位置における重要度の分散の値を算出し、分散の値が設定値以上である場合に、要求されたコンテンツの各再生位置に対応するチャンクを重要度の高い順に取得しても良い。この場合、ノードNnが、分散が高いコンテンツは、再生位置に重要度を付けて取得することで、遅延を小さくして再生可能な状態にすることができる。
【0107】
なお、上記実施形態においては、本発明の情報処理装置を、ルートノードに適用していた。しかしながら、本発明の情報処理装置を、センターサーバSAに適用しても良い。この場合、センターサーバSAが、各ノードNnから視聴履歴情報を受信し、全てのコンテンツについて各チャンクの重要度を決定することになる。
【0108】
また、上記実施形態においては、DHTを利用したピアツーピアネットワークが適用されていたが、これに限られるものではない。例えば、ハイブリッド型のピアツーピアネットワーク等が適用されても良い。
【0109】
また、本発明をクライアント−サーバ型のシステムに適用しても良い。この場合、サーバ装置が、コンテンツを構成する各チャンクをクライアントの端末装置に配信する。また、サーバ装置が、クライアントの端末装置から視聴履歴情報を受信し、全てのコンテンツについて各チャンクの重要度を決定する。
【符号の説明】
【0110】
3 IX
4a、4b ISP
5a、5b DSL回線業者の装置
6 FTTH回線業者の装置
7 通信回線
8 ネットワーク
9 オーバーレイネットワーク
11 制御部
12 記憶部
13 通信部
14 表示部
15 入力部
16 バス
21 制御部
22 記憶部
23 バッファメモリ
24 デコーダ部
25 映像処理部
26 表示部
27 音声処理部
28 スピーカ
29 通信部
30 入力部
31 バス
Nn ノード
SA センターサーバ
SW Webサーバ
S コンテンツ分散保存システム

【特許請求の範囲】
【請求項1】
ノード装置により再生されるコンテンツが複数のノード装置間で送受信される情報通信システムであって、
前記情報通信システムは、
前記複数のノード装置と、
コンテンツの各再生位置の優先度を決定する情報処理装置と、
を備え、
前記ノード装置は、
コンテンツの再生位置の操作の履歴を示す操作履歴情報を、前記情報処理装置に送信する送信手段と、
コンテンツの要求を受け付ける受付手段と、
前記情報処理装置により決定された前記優先度を取得する第1取得手段と、
前記受付手段によりコンテンツの要求が受け付けられた場合には、要求されたコンテンツの各再生位置に対応する部分コンテンツを、前記情報処理装置により決定された前記優先度の高い順に、他の前記ノード装置から取得する第2取得手段と、
を備え、
前記情報処理装置は、
前記ノード装置から前記操作履歴情報を受信する受信手段と、
前記受信手段により受信された前記操作履歴情報に基づいて、前記優先度を決定する決定手段と、
を備えることを特徴とする情報通信システム。
【請求項2】
請求項1に記載の情報通信システムにおいて、
前記送信手段は、通常再生させる操作の情報を含む前記操作履歴情報を送信し、
前記決定手段は、通常再生された位置の優先度を、再生されていない位置の優先度よりも高くすることを特徴とする情報通信システム。
【請求項3】
請求項1又は請求項2に記載の情報通信システムにおいて、
前記送信手段は、シークさせる操作の情報を含む前記操作履歴情報を送信し、
前記決定手段は、シークにより再生されなかった位置の優先度を、通常再生された位置の優先度よりも低くすることを特徴とする情報通信システム。
【請求項4】
請求項1乃至3の何れか1項に記載の情報通信システムにおいて、
前記送信手段は、スロー再生させる操作の情報を含む前記操作履歴情報を送信し、
前記決定手段は、スロー再生された位置の優先度を、通常再生された位置の優先度よりも高くすることを特徴とする情報通信システム。
【請求項5】
ノード装置により再生されるコンテンツが複数のノード装置間で送受信される情報通信システムにおける前記ノード装置であって、
コンテンツの再生位置の操作の履歴を示す操作履歴情報を、前記操作履歴情報に基づいてコンテンツの各再生位置の優先度を決定する情報処理装置に送信する送信手段と、
コンテンツの要求を受け付ける受付手段と、
前記情報処理装置により決定された前記優先度を取得する第1取得手段と、
前記受付手段によりコンテンツの要求が受け付けられた場合には、要求されたコンテンツの各再生位置に対応する部分コンテンツを、前記情報処理装置により決定された前記優先度の高い順に、他の前記ノード装置から取得する第2取得手段と、
を備えることを特徴とするノード装置。
【請求項6】
請求項5に記載のノード装置において、
コンテンツの現在の再生位置を示す位置情報を取得する第3取得手段を更に備え、
前記第2取得手段は、要求されたコンテンツの各再生位置に対応する部分コンテンツを、前記第3取得手段により取得された前記位置情報が示す現在の再生位置以降で、前記優先度の高い順に取得することを特徴とするノード装置。
【請求項7】
請求項6に記載のノード装置において、
前記第2取得手段は、要求されたコンテンツの各再生位置に対応する部分コンテンツを、現在の再生位置から所定の範囲内で、前記優先度の高い順に取得することを特徴とするノード装置。
【請求項8】
請求項6又は請求項7に記載のノード装置において、
前記第2取得手段は、要求されたコンテンツの各再生位置に対応する部分コンテンツを前記優先度の高い順に取得するとともに、現在の再生位置に対応する部分コンテンツを取得することを特徴とするノード装置。
【請求項9】
請求項6乃至8の何れか1項に記載のノード装置において、
前記第2取得手段は、前記優先度が同一である再生位置が複数存在する場合には、現在の再生位置に近い再生位置に対応する部分コンテンツを優先して取得することを特徴とするノード装置。
【請求項10】
請求項5乃至9の何れか1項に記載のノード装置において、
コンテンツの属性情報を取得する第4取得手段を更に備え、
前記第2取得手段は、前記第4取得手段により取得された前記属性情報に基づいて、要求されたコンテンツの各再生位置に対応する部分コンテンツを、予め定められた再生順に取得するか、又は、前記優先度の高い順に取得するかを決定することを特徴とするノード装置。
【請求項11】
請求項10に記載のノード装置において、
前記第4取得手段は、前記属性情報としてコンテンツの総再生時間を取得し、
前記第2取得手段は、前記総再生時間が予め定められた時間以上である場合に、要求されたコンテンツの各再生位置に対応する部分コンテンツを前記優先度の高い順に取得することを特徴とするノード装置。
【請求項12】
請求項10に記載のノード装置において、
前記第4取得手段は、前記属性情報としてコンテンツの再生位置の操作頻度を取得し、
前記第2取得手段は、前記操作頻度が予め定められた数以上である場合に、要求されたコンテンツの各再生位置に対応する部分コンテンツを前記優先度の高い順に取得することを特徴とするノード装置。
【請求項13】
請求項10に記載のノード装置において、
前記第4取得手段は、前記属性情報としてコンテンツの各再生位置における優先度の大きさの分散の値を取得し、
前記第2取得手段は、前記分散の値が予め定められた値以上である場合に、要求されたコンテンツの各再生位置に対応する部分コンテンツを前記優先度の高い順に取得することを特徴とするノード装置。
【請求項14】
ノード装置により再生されるコンテンツが複数のノード装置間で送受信される情報通信システムにおける情報通信方法であって、
コンテンツの再生位置の操作の履歴を示す操作履歴情報を、前記操作履歴情報に基づいてコンテンツの各再生位置の優先度を決定する情報処理装置に送信する送信工程と、
コンテンツの要求を受け付ける受付工程と、
前記情報処理装置により決定された前記優先度を取得する第1取得工程と、
前記受付工程においてコンテンツの要求が受け付けられた場合には、要求されたコンテンツの各再生位置に対応する部分コンテンツを、前記情報処理装置により決定された前記優先度の高い順に、他の前記ノード装置から取得する第2取得工程と、
を有することを特徴とする情報通信方法。
【請求項15】
ノード装置により再生されるコンテンツが複数のノード装置間で送受信される情報通信システムにおける前記ノード装置に含まれるコンピュータに、
コンテンツの再生位置の操作の履歴を示す操作履歴情報を、前記操作履歴情報に基づいてコンテンツの各再生位置の優先度を決定する情報処理装置に送信する送信ステップ、
コンテンツの要求を受け付ける受付ステップと、
前記情報処理装置により決定された前記優先度を取得する第1取得ステップと、
前記受付ステップにおいてコンテンツの要求が受け付けられた場合には、要求されたコンテンツの各再生位置に対応する部分コンテンツを、前記情報処理装置により決定された前記優先度の高い順に、他の前記ノード装置から取得する第2取得ステップと、
を実行させることを特徴とする情報通信プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−160052(P2011−160052A)
【公開日】平成23年8月18日(2011.8.18)
【国際特許分類】
【出願番号】特願2010−18031(P2010−18031)
【出願日】平成22年1月29日(2010.1.29)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】