説明

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

【課題】本発明の目的は、ノード装置が所定のコンテンツを出力すると共に、話速変換処理を実行する場合であっても、通常通りコンテンツを出力することが可能な情報通信システム、ノード装置、情報通信方法を提供することである。
【解決手段】
本実施形態では、ノード装置Nnの性能が高い場合、ノード装置Nnは話速変換処理を実行しながらコンテンツの再生を行う。一方、ノード装置Nnの性能が低い場合、ノード装置Nnは、話変換処理の実行を行わす、上述したP2Pネットワーク9から該当する話速変換処理コンテンツを取得する。また、性能が高いノード装置Nnにより生成された話速変換コンテンツについては、P2Pネットワーク9で取得可能なようにパブリッシュされる。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、インターネットを介してコンテンツを取得し、出力する情報通信システムに関する。具体的には、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア(Peer to Peer(P2P))方式の通信システムの技術分野に関する。
【0002】
近年、特許文献1に開示されているようなピアツーピア方式の通信システムが注目されている。ピアツーピア方式の通信システムは、現在のコンテンツ配信における主流形態であるサーバクライアント方式に代わる新しい形態として注目されている。このピアツーピア方式の通信システムでは、センターのサーバ装置に対するコンテンツの要求が集中しない。そのため、サーバクライアント方式と比べて、短時間でコンテンツを取得することが可能となる。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2006−197400号公報
【発明の概要】
【発明が解決しようとする課題】
【0004】
ピアツーピア方式により取得されたコンテンツを出力する場合、話速変換処理が実行される場合がある。一般的に話速変換処理は、音声のピッチ、いわゆる声の高さを維持したまま、音声の早送り、または、遅送りを可能にする技術である。ノード装置により所定のコンテンツが出力される際、話速変換処理が実行されながら、動画等のコンテンツが出力されるのが一般的である。しかしながら、ピアツーピア方式に接続するノード装置には、高スペックのコンピュータと、低スペックのコンピュータとがある。そのため、低スペックのコンピュータを含むノード装置の場合、話速変換処理を実行しようとしても、コンピュータのスペックが低いためコンテンツが出力されない、または、コンテンツの出力が遅れてしまうという課題があった。
【0005】
本発明は、上述した問題点を解決するためになされたものである。本発明の目的は、ノード装置のスペックが低いため、コンテンツを出力しながら話速変換処理が実行できない場合であっても、話速変換処理されたコンテンツを取得して、通常通りコンテンツを出力することが可能な情報通信システム、ノード装置、コンテンツ取得方法を提供することである。
【課題を解決するための手段】
【0006】
請求項1に記載の発明によれば、所定のコンテンツを要求する要求部と、前記要求部によりコンテンツを要求したノード装置の性能を示す性能情報を取得する第1取得部と、前記要求部により所定のコンテンツが要求されるとき、前記性能情報が所定の性能より低いか否かを判定する第1判定部と、前記第1判定部により、前記性能情報が所定の性能より低いと判定されたとき、前記要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、ネットワーク上に存在するか否かを検索する検索部と、前記検索部により検索された前記話速変換コンテンツを取得する第2取得部と、を備えることを特徴とする情報通信システムである。
【0007】
請求項2に記載の発明によれば、前記情報通信システムは、複数のコンテンツが複数のノード装置間で送受信され、オーバーレイネットワークにより前記複数のコンテンツが前記複数のノード装置に分散して保存され、前記検索部は、前記第1判定部により、前記性能情報が所定の性能より低いと判定されたとき、前記要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、前記オーバーレイネットワーク上に存在するか否かを検索し、前記第2取得部は、前記検索部により検索された前記話速変換コンテンツを取得することを特徴とする。
【0008】
請求項3に記載の発明によれば、所定のコンテンツを要求する要求部と、前記要求部によりコンテンツを要求したノード装置の性能を示す性能情報を取得する第1取得部と、前記要求部により所定のコンテンツが要求されるとき、前記性能情報が所定の性能より低いか否かを判定する第1判定部と、前記第1判定部により、前記性能情報が所定の性能より低いと判定されたとき、前記要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、ネットワーク上に存在するか否かを検索する検索部と、前記検索部により検索された前記話速変換コンテンツを取得する第2取得部と、を備えることを特徴とするノード装置である。
【0009】
請求項4に記載の発明によれば、前記ノード装置は、複数のコンテンツが複数の前記ノード装置間で送受信され、オーバーレイネットワークにより前記複数のコンテンツが前記複数のノード装置に分散して保存される情報通信システムのノード装置であり、前記検索部は、前記第1判定部により、前記性能情報が所定の性能より低いと判定されたとき、前記要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、前記オーバーレイネットワーク上に存在するか否かを検索し、前記第2取得部は、前記検索部により検索された前記話速変換コンテンツを取得することを特徴とするノード装置である。
【0010】
請求項5に記載の発明によれば、前記要求部により要求されたコンテンツを取得する第3取得部と、前記第3取得部により取得されたコンテンツに話速変換処理を実行する処理部と、を備え、前記要求部により所定のコンテンツが要求されるとき、前記判定部は、前記性能情報が所定の性能より低いか高いかを判定し、前記判定部により、前記性能情報が所定の性能より高いと判定されたとき、前記処理部は、前記第3取得部により取得されたコンテンツを出力するときに、前記話速変換処理を実行することを特徴とするノード装置である。
【0011】
請求項6に記載の発明によれば、前記第1取得部は、前記性能情報と、前記コンテンツを要求したノード装置の演算付加を示す負荷情報とを取得し、前記コンテンツデータは、前記コンテンツデータが複数に分割された複数のコンテンツチャンクから構成され、前記要求部により要求されたコンテンツが出力される際、出力されるコンテンツの出力位置に対応した前記コンテンツチャンクを取得する第4取得部と、前記負荷情報が示す演算負荷が所定の負荷より低いか否かを判定する第2判定部を備え、前記第2判定部により、前記負荷情報が所定の負荷より低いと判定されたとき、前記第4取得部は、前記出力位置に対応した前記コンテンツチャンクと、前記出力位置の少なくとも次の出力位置に対応する前記コンテンツチャンクとを取得し、前記処理部は、前記第4取得部により取得された前記コンテンツチャンクに話速変換処理を実行することを特徴とするノード装置である。
【0012】
請求項7に記載の発明によれば、前記ノード装置は、複数のコンテンツが複数の前記ノード装置間で送受信され、オーバーレイネットワークにより前記複数のコンテンツが前記複数のノード装置に分散して保存される情報通信システムのノード装置であり、前記処理部により前記話速変換処理が実行されたコンテンツを、前記話速変換処理コンテンツとして前記オーバーレイネットワークで取得させるメッセージを前記複数のノード装置の少なくとも一部に送信する送信部を備えることを特徴とするノード装置である。
【0013】
請求項8に記載の発明によれば、所定のコンテンツを要求する要求ステップと、前記要求ステップによりコンテンツを要求したノード装置の性能を示す性能情報を取得する第1取得ステップと、前記要求ステップにより所定のコンテンツが要求されるとき、前記性能情報が所定の性能より低いか否かを判定する第1判定ステップと、前記第1判定ステップにより、前記性能情報が所定の性能より低いと判定されたとき、前記要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、ネットワーク上に存在するか否かを検索する検索ステップと、前記検索ステップにより検索された前記話速変換コンテンツを取得する第2取得ステップと、を含むコンテンツ取得方法である。
【0014】
請求項9に記載の発明によれば、所定のコンテンツを要求する要求ステップと、前記要求ステップによりコンテンツを要求したノード装置の性能を示す性能情報を取得する第1取得ステップと、前記要求ステップにより所定のコンテンツが要求されるとき、前記性能情報が所定の性能より低いか否かを判定する第1判定ステップと、前記第1判定ステップにより、前記性能情報が所定の性能より低いと判定されたとき、前記要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、ネットワーク上に存在するか否かを検索する検索ステップと、前記検索ステップにより検索された前記話速変換コンテンツを取得する第2取得ステップと、をノード装置のコンピュータに実行させるプログラムである。
【発明の効果】
【0015】
請求項1に記載の発明によれば、検索部は、第1判定部により、性能情報が所定の性能より低いと判定されたとき、要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、ネットワーク上に存在するか否かを検索する。第2取得部は、検索部により検索された話速変換コンテンツを取得する。この結果、ノード装置のスペックが低いため、コンテンツを出力しながら話速変換処理が実行できない場合であっても、話速変換コンテンツを取得して、通常通りコンテンツを出力することができる。
【0016】
請求項2に記載の発明によれば、検索部は、第1判定部により、性能情報が所定の性能より低いと判定されたとき、要求部により要求されたコンテンツに対応し、且つ、話速変換処理がされた話速変換コンテンツが、オーバーレイネットワーク上に存在するか否かを検索する。従って、話速変換コンテンツがオーバーレイネットワーク上に存在するかを検索することができる。この結果、ノード装置のスペックが低いため、コンテンツを出力しながら話速変換処理が実行できない場合であっても、話速変換コンテンツをオーバーレイネットワークから取得して、通常通りコンテンツを出力することができる。
【0017】
請求項3に記載の発明によれば、検索部は、第1判定部により、性能情報が所定の性能より低いと判定されたとき、要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、ネットワーク上に存在するか否かを検索する。第2取得部は、検索部により検索された話速変換コンテンツを取得する。この結果、ノード装置のスペックが低いため、コンテンツを出力しながら話速変換処理が実行できない場合であっても、話速変換コンテンツを取得して、通常通りコンテンツを出力することができる。
【0018】
請求項4に記載の発明によれば、検索部は、第1判定部により、性能情報が所定の性能より低いと判定されたとき、要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、前記オーバーレイネットワーク上に存在するか否かを検索する。従って、話速変換コンテンツがオーバーレイネットワーク上に存在するかを検索することができる。この結果、ノード装置のスペックが低いため、コンテンツを出力しながら話速変換処理が実行できない場合であっても、話速変換コンテンツをオーバーレイネットワークから取得して、通常通りコンテンツを出力することができる。
【0019】
請求項5に記載の発明によれば、判定部により、性能情報が所定の性能より高いと判定されたとき、処理部は、第3取得部により取得されたコンテンツを出力するときに、話速変換処理を実行する。従って、ノード装置のスペックが高いときは、話速変換コンテンツを検索する必要がない。この結果、ノード装置のスペックが低いときは、ネットワークから話速変換コンテンツを取得して、通常通りコンテンツを出力することができるとともに、ノード装置のスペックが高いときは、コンテンツの検索処理が必要なく、ノード装置自らが話速変換処理を実行し、出力することができる。
【0020】
請求項6に記載の発明によれば、第2判定部により、負荷情報が所定の負荷より低いと判定されたとき、第4取得部は、出力位置に対応したコンテンツチャンクと、出力位置の少なくとも次の出力位置に対応するコンテンツチャンクとを取得する。処理部は、第4取得部により取得されたコンテンツチャンクに話速変換処理を実行する。従って、ノード装置の負荷が低いときに、少なくとも次に出力されるコンテンツチャンクに話速変換処理が実行される。この結果、ノード装置のスペックが低いため、コンテンツを出力しながら話速変換処理が実行できない場合であっても、ノード装置の負荷が低いときに話速変換処理されたコンテンツを出力することができる。そのため、通常通りコンテンツを出力することができる。
【0021】
請求項7に記載の発明によれば、送信部は、処理部により話速変換処理が実行されたコンテンツを、話速変換処理コンテンツとしてオーバーレイネットワークで取得させるメッセージを前記複数のノード装置の少なくとも一部に送信する。この結果、処理部により生成された話速変換コンテンツが、オーバーレイネットワークにより、他のノード装置により取得することができる。
【0022】
請求項8及び請求項9の発明によれば、検索ステップは、第1判定ステップにより、性能情報が所定の性能より低いと判定されたとき、要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、ネットワーク上に存在するか否かを検索する。第2取得ステップは、検索ステップにより検索された話速変換コンテンツを取得する。この結果、ノード装置のスペックが低いため、コンテンツを出力しながら話速変換処理が実行できない場合であっても、話速変換コンテンツを取得して、通常通りコンテンツを出力することができる。
【図面の簡単な説明】
【0023】
【図1】本実施形態の分散保存システムSにおける各ノード装置Nnの接続態様示す概念図である。
【図2】本実施形態のノード装置Nnの電気的構成を示す概念図である。
【図3】本実施形態のメイン動作処理の処理手順を示すフローチャートである。
【図4】本実施形態の通常出力処理の処理手順を示すフローチャートである。
【図5】本実施形態のトリックプレイ出力処理の処理手順を示すフローチャートである。
【図6】本実施形態のトリックプレイ制御処理の処理手順を示すフローチャートである。
【図7】本実施形態のコンテンツ投入サーバCSにおけるメイン動作処理の処理手順を示すフローチャートである。
【発明を実施するための最良の形態】
【0024】
以下、本発明の最良の実施形態を図面に基づいて説明する。
【0025】
[分散保存システムの構成]
図1は、本実施形態の分散保存システムSの概念図を示す。図1は、分散保存システムSの具体的構成図101と、概念的構成図100とから構成される。分散保存システムSの具体的構成図101が示すように、分散保存システムSは、多数ノード装置Nn(n=1,2,3・・・の何れか)から構成される。
【0026】
図1の下部枠の具体的構成図101内に示すように、一般的なインターネット等のネットワーク8は、IX(Internet eXchange)3、ISP(Internet Service Provider)4a及び4b、DSL(Digital Subscriber Line)回線事業者の装置5a及び5b、FTTH(Fiber To The Home)回線事業者6の装置、通信回線7等によって構築されている。例えば、通信回線7は、電話回線や光ケーブル等である。図1に示す通信回線7の太さは、夫々、各通信回線により通信可能な帯域を示す。なお、図1の例におけるネットワーク8には、データ(パケット)を転送するためのルータが、適宜挿入されているが図示を省略している。
【0027】
多数のノード装置Nnは、ルータ等を介してインターネットで接続されている。また、概念的構成図100が示す各ノード装置Nnには、固有の製造番号およびIP(Internet Protocol)アドレスが割り当てられている。本実施形態の分散保存システムSは、ピアツーピア方式のネットワークシステムである。図1の上部枠の概念的構成図100内に示すように、ピアツーピア方式のネットワークシステムは、これらのノード装置Nnのうち、何れか複数のノード装置Nnの参加により形成される。本実施形態における参加とは、ノード装置Nnが分散保存システムSと接続し、コンテンツデータの送受信をすることを意味している。上述した多数のノード装置Nnの中には、性能が高いコンピュータを含むノード装置Nnと、性能が低いコンピュータを含むノード装置Nnとが存在する。コンピュータの性能は、たとえば、CPUの処理能力である。コンピュータの性能として、上記に加え、RAM等の記憶容量を含めた能力をCPUの処理能力としても良い。
【0028】
なお、図1の上部枠の概念的構成図100内に示すP2Pネットワーク9は、既存のネットワーク8を用いて形成されたP2Pネットワークである。P2Pネットワーク9は、図1の上部枠の概念的構成図100内の複数のノード装置を仮想的にリンクさせることで構築される。P2Pネットワーク9は、オーバーレイネットワーク、または、論理的なネットワークである。P2Pネットワーク9は、特定のアルゴリズム、により構築される。例えば、特許文献1の特開2006−197400に記載されたDHTを利用したアルゴリズムにより、P2Pネットワーク9は構築される。
【0029】
そして、P2Pネットワーク9を構成している各ノード装置Nnには、ノードIDが割り当てられている。ノードIDは、所定桁数からなる固有の識別情報である。また、具体的には、各ノード装置Nnに個別に割り当てられたIPアドレス或いは製造番号を基に、ノードIDは生成される。ノードIDは、上述のIPアドレス或いは製造番号を共通のハッシュ関数によりハッシュ化した値である。例えば、SHA−1等のハッシュ関数により、bit長が160bitのハッシュ値が生成される。各ノードIDは、ある一つのID空間に偏りなく分散して配置されることになる。
【0030】
図1に示すように、分散保存システムSは、コンテンツ投入サーバCSを備える。コンテンツ投入サーバCSは、新しいコンテンツデータを分散保存システムS内に投入するためのサーバである。コンテンツ投入サーバCSは、コンテンツデータを複製したデータを、分散保存システムSに投入する。また、コンテンツ投入サーバCSは、投入されたコンテンツデータのオリジナルを記憶する。つまり、コンテンツ投入サーバCSは、分散保存システムSに投入される全てのコンテンツデータが記憶される。図1には、コンテンツ投入サーバCSが一台図示されているが、一台に限定されない。分散保存システムS内に、コンテンツ投入サーバCSが複数台設けられても良い。
【0031】
なお、分散保存システムSへの参加は、分散保存システムSへ参加していないノード装置Nnが、参加している任意のノード装置Nnに対して参加メッセージを送信することによって行われる。参加メッセージは、分散保存システムSへの参加要求を示すメッセージである。分散保存システムSへの参加とは、ノード装置Nnが分散保存システムSに接続され、分散保存システムSからコンテンツデータを取得可能になることである。任意のノード装置Nnは、例えば、システムSに常時接続しているコンタクトノードである。
【0032】
また、各ノード装置Nnは、夫々、DHTを用いたルーティングテーブルを保持している。このルーティングテーブルは、分散保存システムS上における各種メッセージの転送先を規定している。具体的に、このルーティングテーブルには、ID空間内で適度に離れたノード装置NnのノードID、IPアドレス及びポート番号を含むノード情報が複数登録されている。
【0033】
分散保存システムSに接続している1台のノード装置は、必要最低限のノード装置Nnのノード情報をルーティングテーブルとして記憶している。各ノード装置Nn間で互いに各種メッセージが転送されることで、ノード情報を記憶していないノード装置Nnについてのノード情報が取得される。
【0034】
このようなDHTを用いたルーティングテーブルについては、特開2006−197400号公報等で公知であるので、詳しい説明を省略する。
【0035】
分散保存システムSは、内容の異なる様々なコンテンツデータの複製を所定のファイル形式で複数のノード装置Nnに分散して保存する。以下、この複製のことをレプリカと言う。また、コンテンツデータは、「コンテンツ」という。そして、各ノード装置Nn間でレプリカが利用可能になっている。各コンテンツのオリジナルはコンテンツ投入サーバCSに保存されている。例えば、ノード装置N5には、タイトルがXXXの映画のコンテンツのレプリカが保存されている。一方、ノード装置N3には、タイトルがYYYの映画のコンテンツのレプリカが保存される。このように、レプリカは複数のノード装置Nnに分散されて保存されている。以下、コンテンツのレプリカが保存されるノード装置Nは、「コンテンツ保持ノード」という。
【0036】
上述のコンテンツのレプリカには、コンテンツID等の情報が付加されている。コンテンツIDは、夫々、コンテンツ名及びコンテンツ毎に固有の識別情報である。このコンテンツIDは、例えば、コンテンツ名+任意の数値が、上記ノードIDを得るときと共通のハッシュ関数によりハッシュ化されて生成される。或いは、システム管理者が、コンテンツ毎に一意のID値を付与しても良い。
【0037】
分散保存されているコンテンツのレプリカの所在は、インデックス情報として、コンテンツのレプリカの所在を管理(記憶)しているノード装置Nn等により記憶される。以下、レプリカの所在を管理(記憶)しているノード装置Nnは、「ルートノード」という。インデックス情報は、レプリカを保存したノード装置Nnのノード情報と、コンテンツのコンテンツIDと等の組を含む。このようなルートノードは、例えば、コンテンツIDと最も近いノードIDを有するノード装置Nnであるように定められる。コンテンツIDと最も近いノードIDとは、例えば、IDの上位桁が最も多く一致するノードIDである。
【0038】
例えば、タイトルがXXXの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツのルートノードであるノード装置N4により管理される。また、例えば、タイトルがYYYの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツのルートノードであるノード装置N7により管理される。
【0039】
そして、あるノード装置Nnのユーザが、所望するコンテンツのレプリカを取得したい場合、このレプリカの取得を望むノード装置Nnは、メッセージを生成する。以下、ユーザによりレプリカの取得を望むノード装置Nnは、「ユーザノード」という。このメッセージは、取得を望むコンテンツのコンテンツID及びユーザノードのIPアドレス等を含むコンテンツ所在問合せメッセージである。コンテンツ所在問合せメッセージは、コンテンツ保持ノードを検索するためのメッセージでもある。上述のコンテンツ所在問合せメッセージが、ユーザノードが取得するDHTのルーティングテーブルに従って、他のノード装置Nnに対して送出される。つまり、ユーザノードは、コンテンツ所在問合せメッセージを、ルートノードに向けて送出する。コンテンツ所在メッセージは、問い合わせを行うコンテンツIDと、コンテンツの送信元であるユーザノードのIPアドレスとを含む。これにより、コンテンツ所在問合せメッセージは、コンテンツIDをキーとするDHTルーティングによって最終的にルートノードに到着することになる。
【0040】
各ノード装置Nnにおいて、コンテンツのコンテンツ名及びコンテンツID等の属性情報は、コンテンツカタログリストに記述されている。コンテンツカタログリストは、コンテンツ投入サーバCSにより作成されて、全てのノード装置Nnに配信される。コンテンツカタログリストは、コンテンツの属性情報を一覧として管理するための情報である。また、コンテンツカタログリストは、検索キーから一意にコンテンツを特定することができる情報である。コンテンツを特定することができるとは、コンテンツのレコードを探し出すことができることを意味する。この属性情報の内容はレコードに格納される。検索キーとしては、例えば、対応するレコードやコンテンツ名を共通のハッシュ関数によりハッシュ化した値が用いられる。或いは、検索キーは、コンテンツIDやコンテンツ名等であっても良い。
【0041】
また、上記コンテンツ所在問合せメッセージに含まれるコンテンツIDは、ユーザノードによって、コンテンツ名が上記共通のハッシュ関数によりハッシュ化されて生成されるようにしても良い。
【0042】
上記コンテンツ所在問合せメッセージを受信したルートノードは、これに含まれるコンテンツIDに対応するインデックス情報をインデックス情報キャッシュから取得する。取得されたインデックス情報は、コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信される。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてコンテンツのレプリカをダウンロード(取得)することができる。インデックス情報に含まれるコンテンツ保持ノードのIPアドレス等に基づいて、ユーザノードはコンテンツ保持ノードにアクセスする。アクセスしたコンテンツ保持ノードから、コンテンツのレプリカをダウンロードすることが可能になる。この場合、ユーザノードは、この複数のコンテンツ保持ノードのうち一つのコンテンツ保持ノードを選択する。そして、ユーザノードは、選択したコンテンツ保持ノードに接続してコンテンツのレプリカをダウンロードすることができる。
【0043】
なお、ルートノードは、このインデックス情報に含まれるIPアドレス等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信する。これにより、ユーザノードは、上記コンテンツ保持ノードからそのレプリカをダウンロードすることもできる。また、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、このルートノードと同じインデックス情報をキャッシュしているキャッシュノードから、上記ユーザノードは、このインデックス情報を取得することもできる。
【0044】
また、ユーザノードは、コンテンツ保持ノードからコンテンツのレプリカを取得して保存したとき、保存したユーザノードは、パブリッシュメッセージを生成する。パブリッシュメッセージは、レプリカを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、レプリカのコンテンツID及びレプリカを保存したノード装置のノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、コンテンツ所在問合せメッセージと同じように、コンテンツIDをキーとするDHTルーティングによってルートノードに到着することになる。そして、ルートノードは、パブリッシュメッセージを受信する。ルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツIDの組を含むインデックス情報をインデックス情報キャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツのレプリカを保持するコンテンツ保持ノードとなる。ノード情報は、メッセージ送信元のノードIDとIPアドレス及びポート番号とを含む。
【0045】
[話速変換処理コンテンツについて]
話速変換処理は、トリックプレイである。具体的にトリックプレイは、コンテンツデータが含む音声を早送り再生、巻戻し再生、スロー再生等を行うことである。一般的には、音声がトリックプレイされると、音声のピッチが変化する。音声のピッチの変化とは、ピッチが高くなる、または、ピッチが低くなることを示す。音声がトリックプレイされると音声のピッチが変化するため、音声が聞き取り難くなる問題がある。それを解決するために、本実施形態ではトリックプレイが行われる際、コンテンツデータが含む音声情報に話速変換処理が適用される。話速変換処理は、コンテンツデータの音声がトリックプレイにより早送り、または、スロー再生される場合であっても、通常の音声のピッチで音声を再生させる技術である。話速変換処理は公知の技術である。例えば、特表2006−070768号公報に記載されている公知の技術である。本実施例では、上述した話速変換処理技術が適用されたコンテンツを、話速変換処理コンテンツとする。
【0046】
話速変換処理は、ノード装置Nnが含むコンピュータのCPUの能力が一定水準以上でないと好適に機能することができない。例えば、性能が低いコンピュータを用いると、CPU使用率で7〜8割以上消費する場合がある。最近では、インターネットサイトの閲覧やメール処理を主とするコンピュータもあり、話速変換処理を行うと、コンテンツが滑らかに出力できないといった問題もある。
【0047】
本実施形態では、ノード装置Nnのコンピュータの性能が高い場合、ノード装置Nnは話速変換処理を実行しながらコンテンツの再生を行う。一方、ノード装置Nnのコンピュータの性能が低い場合、ノード装置Nnは、話変換処理の実行を行わす、上述したP2Pネットワーク9から該当する話速変換処理コンテンツを取得する。また、性能が高いコンピュータを含むノード装置Nnにより生成された話速変換コンテンツは、P2Pネットワーク9で取得可能なようにパブリッシュされる。パブリッシュとは、パブリッシュメッセージが、ノード装置Nnにより送信されることである。パブリッシュメッセージが送信されることで、P2Pネットワーク9によりコンテンツが取得可能になる。
【0048】
[ノード装置Nnの電気的構成]
次に、図2を参照して、ノード装置Nnの電気的構成ついて説明する。
【0049】
図2は、本実施形態のノード装置Nnの電気的構成を示すブロック図である。図2に示すように、本実施形態のノード装置Nnには、ノード装置Nnを制御するCPU11が備えられている。CPU11には、RAM12とHDD13とデコーダ部14と通信部19と入力部20とがそれぞれ電気的に接続されている。RAM12、HDD13などの記憶手段とCPU11とは、ノード装置Nnのコンピュータを構成している。そのコンピュータは、ノード装置Nnの動作を制御処理する。CPU11は、タイマー111を備える。タイマー111は、計時動作を行う。
【0050】
RAM12は、各種メッセージ一時記憶領域121と、出力対象情報一時記憶領域122と、コンテンツチャンク一時記憶領域123とを含む。
【0051】
各種メッセージ一時記憶領域121は、ノード装置Nnが受信した各種メッセージを一時記憶する。例えば、参加メッセージやコンテンツ所在問い合わせメッセージやパブリッシュメッセージ等である。
【0052】
出力対象情報一時記憶領域122は、出力対象情報を一時記憶する。本実施形態のコンテンツは、複数のコンテンツチャンクに分割されている。言い換えれば、複数のコンテンツチャンクにより一つのコンテンツが構成されている。本実施形態では、各コンテンツチャンクに上述したコンテンツIDが割当てられる。出力対象情報は、コンテンツを構成する何番目のコンテンツチャンクが出力対象であるかを示す情報である。現在出力対象であるコンテンツチャンクの番号が、出力対象情報一時記憶領域122に記憶される。
【0053】
コンテンツチャンク一時記憶領域123は、現在出力対象とされているコンテンツチャンクが一時記憶される。出力対象情報に対応するコンテンツチャンクが、コンテンツチャンク一時記憶領域123に記憶される。
【0054】
HDD13は、プログラム記憶領域131と、コンテンツデータ記憶領域134と、インデックスキャッシュ記憶領域135と、ルーティングテーブル記憶領域136と、コンテンツカタログリスト記憶領域137と、性能情報記憶領域138とトリックプレイデータ記憶領域139とを含む。
【0055】
プログラム記憶領域131は、メイン動作プログラム記憶領域132を含む。メイン動作プログラム記憶領域132は、ノード装置Nnを制御するためのメイン動作プログラム情報を記憶する。
【0056】
メイン動作プログラム記憶領域132は、通常出力プログラム記憶領域141とトリックプレイ出力プログラム記憶領域142とトリックプレイ制御プログラム記憶領域143とを含む。通常出力プログラム記憶領域141は、通常出力プログラムを記憶する。トリックプレイ出力プログラム記憶領域142は、トリックプレイ出力プログラムを記憶する。トリックプレイ出力プログラムは、コンテンツデータをトリックプレイ出力するプログラムである。トリックプレイ制御プログラム記憶領域143は、トリックプレイ制御プログラムを記憶する。トリックプレイ制御プログラムは、音声情報に話速変換処理を実行するためのプログラムである。
【0057】
コンテンツデータ記憶領域134は、ユーザノードが取得したコンテンツデータを記憶する。ユーザノードが取得するコンテンツデータは、ユーザノードがコンテンツ保持ノードとして記憶するコンテンツデータである。また、ユーザノードが取得するコンテンツデータは、ユーザノードが要求して他のノード装置Nnから取得したコンテンツデータである。
【0058】
インデックスキャッシュ記憶領域135は、上述したインデックス情報を記憶する。ルーティングテーブル記憶領域136は、上述したルーティングテーブルを記憶する。コンテンツカタログリスト記憶領域137は、上述したコンテンツカタログリストを記憶する。
【0059】
性能情報記憶領域138は、各ノード装置Nnの性能情報を記憶する。性能情報は、例えば、CPU11の処理能力である。また、性能情報として、CPU11とRAM12とを含んだコンピュータの処理能力が、ノード装置Nnの性能情報として用いられても良い。本実施形態の性能情報記憶領域138は、本発明の第1取得部の一例である。本実施形態の性能情報は、性能情報を管理する他の情報処理装置からネットワークを介して取得されても良い。取得された性能情報は、性能情報記憶領域138に記憶される。
【0060】
トリックプレイデータ記憶領域139は、話速変換処理が適用されたコンテンツデータのトリックプレイデータが記憶される。トリックプレイデータ記憶領域139に記憶される情報は、ノード装置Nnにより生成されたトリックプレイデータである。また、トリックプレイデータ記憶領域139に記憶される情報は、P2Pネットワーク9から取得された情報であっても良い。
【0061】
デコーダ部14は、映像情報と音声情報とをデコードする。本実施形態のデコードは、エンコード化された映像情報と音声情報とを、データ伸張または復号化することである。映像情報と音声情報とは、コンテンツデータのレプリカに含まれる。
【0062】
映像処理部15は、デコードされた映像情報に所定の描画処理を施して映像信号を出力する。
【0063】
ディスプレイ16は、映像処理部15から出力された映像信号に基づいて映像表示する。ディスプレイ16は、CRTディスプレイ、または、液晶ディスプレイにより構成される。
【0064】
音声処理部17は、上記デコードされた音声情報をアナログオーディオ信号にD(Digital)/A(Analog)変換する。スピーカ18は、変化されたアナログオーディオ信号を、アンプにより増幅して出力する。
【0065】
通信部19は、ノード装置Nnをインターネットと接続する。通信部19は、ネットワーク8を介して他のノード装置Nnまたはコンテンツ投入サーバCSと情報の送受信を行う。
【0066】
入力部20は、ユーザからの指示を受け付ける。入力部20は、キーボード、マウス、或いは、操作パネル等から構成される。なお、ノード装置Nnとしては、パーソナルコンピュータ、STB(Set Top Box)、或いは、TV受信機等を適用可能である。
【0067】
また、分散保存システムSが、分散保存システムSに参加する際のアクセス先となるコンタクトノードを備えている場合、各ノード装置NnのHDD13にはコンタクトノードのIPアドレスまたはポート番号等が記憶されている。なお、HDD13に記憶されるプログラムは、例えば、ネットワーク8上の所定のサーバからダウンロードされるようにしてもよい。また、CD−ROM等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【0068】
[コンテンツ投入サーバCSの電気的構成]
コンテンツ投入サーバCSの電気的構成は、図2に示すノード装置Nnの電気的構成と基本的に同じである。そのため、異なる点についてのみ記述する。コンテンツ投入サーバCSには、ディスプレイ16及びスピーカ18は、特に必須の構成ではない。また、コンテンツ投入サーバCSは、P2Pネットワーク9により管理されるコンテンツデータの全てを記憶している。コンテンツ投入サーバCSは、ノード装置Nnを含む他の装置からの要求に基づいて、トリックプレイデータを生成する。そのため、コンテンツ投入サーバCSは、トリックプレイデータを生成するためのプログラムをHDDに記憶している。
【0069】
[ノード装置Nnのメイン処理動作]
以上説明した構成からなる本実施形態のノード装置Nnの動作及び作用について、添付図面を参照して説明する。図3は、ノード装置Nnにおけるメイン動作の処理手順を示すフローチャートである。メイン動作処理は、メイン動作プログラムに従って実行される。ノード装置Nnにより上述したP2Pネットワーク9への参加処理の要求が行われたとき、ノード装置Nnのメイン動作処理が実行される。CPU11がメイン動作プログラムを実行することにより、遂行される。以下に示す処理は、CPU11により処理される。
【0070】
ステップS101では、ノード装置Nnのユーザからコンテンツの通常出力要求があったか否かが判定される。コンテンツの通常出力は、トリックプレイ等を行わず、コンテンツが通常速度で出力されることを示す。ユーザから通常出力が要求されたと判定されたとき、ステップS102が実行される。通常出力が要求されたと判定されなかったとき、ステップS103が実行される。本実施形態のコンピュータとステップS101とは、本発明の要求部の一例である。
【0071】
ステップS102では、通常出力処理が実行される。通常出力処理の詳細については、後述する。
【0072】
ステップS103では、他のノード装置Nnからコンテンツの検索要求を受信したか否かが判定される。具体的には、コンテンツの所在を問い合わせるコンテンツ所在問い合わせメッセージが受信されたか否かが判定される。所在問い合わせメッセージが受信されたと判定されたとき、ステップS104が実行される。所在問い合わせメッセージが受信されたと判定されなかったとき、ステップS107が実行される。
【0073】
ステップS104では、所在問い合わせメッセージを受信したノード装置Nnが、問い合わせされたコンテンツの所在を知るルートノードであるか否かが判定される。所在問い合わせメッセージに含まれるコンテンツIDに基づいて、ルートノードであるか否かが判定される。ルートノードであると判定されたとき、ステップS105が実行される。ルートノードであると判定されなかったとき、ステップS106が実行される。
【0074】
ステップS105では、ルートノードが保持するコンテンツ保持ノードのノード情報が、所在問い合わせメッセージの送信元のノード装置Nnへ送信される。送信されるノード情報は、コンテンツ保持ノードのIPアドレスと、ポート番号とを含む。
【0075】
ステップS106では、ルーティングテーブル記憶領域136に記憶されたDHTのルーティングテーブルに基づいて、ステップS103で受信した所在問い合わせメッセージが他のノード装置Nnへ転送される。
【0076】
ステップS107では、他のノード装置Nnから送信されたパブリッシュメッセージが受信されたか否かが判定される。他のノード装置Nnからパブリッシュメッセージが受信されたと判定されたとき、ステップS108が実行される。パブリッシュメッセージが受信されなかったと判定されたとき、ステップS111が実行される。
【0077】
ステップS108では、パブリッシュメッセージを受信したノード装置が、パブリッシュメッセージに含まれるコンテンツIDのルートノードであるか否かが判定される。ステップS108において、ルートノードであるか否かは、パブリッシュメッセージが含むコンテンツIDに基づいて判定される。ルートノードであると判定されたとき、ステップS109が実行される。ルートノードであると判定されなかったとき、ステップS110が実行される。
【0078】
ステップS109では、ステップS107で受信されたパブリッシュメッセージに含まれるノード情報が、パブリッシュメッセージを受信したノード装置のインデックスキャッシュ記憶領域135に記憶される。
【0079】
ステップS110では、ルーティングテーブル記憶領域136に記憶されたルーティングテーブルに基づいて、ステップS107で受信したパブリッシュメッセージが他のノード装置Nnへ転送される。
【0080】
ステップS111では、ノード装置Nnのユーザからコンテンツのトリックプレイ再生要求があったか否かが判定される。コンテンツのトリックプレイ再生は、コンテンツが含む音声情報の早送り又は遅送り(スロー再生)等である。具体的には、本実施形態では早送りとして、2倍早送りと、4倍早送りとが設定可能である。また、本実施形態ではスロー再生として、1/2倍スロー再生が設定可能である。設定可能なトリックプレイが、実行される。ユーザからトリックプレイ再生が要求されたと判定されたとき、ステップS112が実行される。トリックプレイ再生が要求されたと判定されなかったとき、ステップS113が実行される。本実施形態のコンピュータとステップS101とは、本発明の要求部の一例である。
【0081】
ステップS112では、トリックプレイ出力処理が実行される。トリックプレイ出力処理の詳細については、後述する。
【0082】
ステップS113では、ユーザノードの電源がオフにされたか否かが判定される。ユーザノードの電源がオフにされたと判定されたとき、メイン動作処理は終了される。ユーザノードの電源がオフにされたと判定されなかったとき、ステップS101が再度実行される。
【0083】
(通常出力処理)
図4は、ユーザノードにおける通常出力処理の手順を示すフローチャートである。通常出力処理は、通常出力処理プログラムに従って実行される。ステップS201では、コンテンツチャンクの出力対象情報がセットされる。ステップS201では、最初のコンテンツチャンクを示す「1」が出力対象情報としてセットされる。セットされた出力対象情報は、RAM12の出力対象情報一時記憶領域122に一時記憶される。
【0084】
ステップS202では、コンテンツデータ記憶領域134に、出力対象情報に対応するコンテンツチャンクが記憶されているかが判定される。出力対象情報は、出力対象情報一時記憶領域122に記憶されている情報である。出力対象情報一時記憶領域122に記憶されている出力対象情報に対応するコンテンツチャンクが記憶されているか否かが、ステップS202で判定される。記憶されていると判定されたとき、コンテンツデータ記憶領域134からコンテンツチャンクが読み出されて、ステップS205が実行される。記憶されていないと判定されたとき、ステップS203が実行される。
【0085】
ステップS203では、コンテンツカタログリストを用いてコンテンツチャンクが検索される。検索されるコンテンツチャンクは、出力対象情報一時記憶領域122に記憶された出力対象情報に対応するコンテンツチャンクである。コンテンツチャンクに対応するコンテンツIDに基づいて、ノード装置Nnは、P2Pネットワーク9に存在するコンテンツチャンクを検索する。
【0086】
ステップS204では、検索された結果に基づいて、該当するコンテンツチャンクが取得される。該当するコンテンツチャンクが、検索結果に存在する場合、該当するコンテンツチャンクがP2Pネットワーク9を介して取得される。該当するコンテンツチャンクが、検索結果に存在しない場合、該当するコンテンツチャンクがコンテンツ投入サーバCSから取得される。取得されたコンテンツチャンクは、コンテンツデータ記憶領域134に記憶される。本実施形態のコンピュータとステップS204とは、本発明の第3取得部と第4取得部との一例である。
【0087】
ステップS205では、出力対象情報一時記憶領域122に記憶された出力対象情報に対応するコンテンツチャンクが出力される。具体的には、コンテンツデータ記憶領域134から、出力対象情報に対応するコンテンツチャンクが読み出される。読み出されたコンテンツチャンクがディスプレイ16とスピーカ18とにより出力可能な映像信号及び音声信号が生成される。生成された映像信号がディスプレイ16に供給される。また、生成された音声信号がスピーカ18に供給される。
【0088】
ステップS206では、ノード装置Nnのユーザによりトリックプレイの要求があったか否かが判定される。ステップS206で要求されるトリックプレイは、例えば、コンテンツデータの早送りまたはスロー再生である。本実施形態では早送りとして、2倍早送りと、4倍早送りとが設定可能である。また、本実施形態ではスロー再生として、1/2倍スロー再生が設定可能である。トリックプレイの要求があったと判定されたとき、ステップS207が実行される。トリックプレイの要求がないと判定されたとき、ステップS208が実行される。
【0089】
ステップS207では、トリックプレイ制御が実行される。トリックプレイ制御の詳細は、後述する。
【0090】
ステップS208では、ステップS101で通常再生要求されたコンテンツの最後まで出力が終了したか否かが判定される。具体的には、RAM12の所定の記憶領域に、通常再生要求されたコンテンツの出力終了時間、または、通常再生要求されたコンテンツを構成するコンテンツチャンクの総数が記憶される。上述の所定の記憶領域に記憶された出力終了時間が経過したか否かが判定される。また、上述の所定の記憶領域に記憶された総数より、出力対象情報一時記憶領域122に記憶された値が大きくなったか否かが判定される。上述した判定処理が「Yes」のとき、コンテンツの最後まで出力が終了したと判定される。また、上述した判定処理が「No」のとき、コンテンツの最後まで出力が終了しなかったと判定される。コンテンツの最後まで出力が終了したと判定されたとき、通常出力処理は終了される。コンテンツの最後まで出力が終了したと判定されなかったとき、ステップS209が実行される。
【0091】
ステップS209では、出力対象情報一時記憶領域122に記憶された値に「1」が加算される。「1」加算された値が、出力対象情報一時記憶領域122に再度一時記憶される。
【0092】
(トリックプレイ出力処理)
図5は、ユーザノードにおけるトリックプレイ出力処理の手順を示すフローチャートである。トリックプレイ出力処理は、トリックプレイ出力処理プログラムに従って実行される。ステップS301では、コンテンツチャンクの出力対象情報がセットされる。本実施形態のコンテンツは、コンテンツが複数のコンテンツチャンクに分割されている。言い換えれば、複数のコンテンツチャンクにより一つのコンテンツが構成されている。本実施形態では、各コンテンツチャンクに上述したコンテンツIDが割当てられる。コンテンツチャンクの出力対象情報は、コンテンツを構成する何番目のコンテンツチャンクが出力対象であるかを示す。ステップS301では、最初のコンテンツチャンクを示す「1」が出力対象情報としてセットされる。セットされた出力対象情報は、RAM12の出力対象情報一時記憶領域122に一時記憶される。
【0093】
ステップS302では、コンテンツデータ記憶領域134に、出力対象情報に対応するコンテンツチャンクが記憶されているかが判定される。出力対象情報は、出力対象情報一時記憶領域122に記憶されている情報である。出力対象情報一時記憶領域122に記憶されている出力対象情報に対応するコンテンツチャンクが記憶されているか否かが、ステップS302で判定される。記憶されていると判定されたとき、ステップS305が実行される。記憶されていないと判定されたとき、ステップS303が実行される。
【0094】
ステップS303では、コンテンツカタログリストを用いてコンテンツチャンクが検索される。検索されるコンテンツチャンクは、出力対象情報一時記憶領域122に記憶された出力対象情報に対応するコンテンツチャンクである。コンテンツチャンクに対応するコンテンツIDに基づいて、ノード装置Nnは、P2Pネットワーク9に存在するコンテンツチャンクを検索する。
【0095】
ステップS304では、検索された結果に基づいて、該当するコンテンツチャンクが取得される。該当するコンテンツチャンクが、検索結果に存在する場合、該当するコンテンツチャンクがP2Pネットワーク9を介して取得される。該当するコンテンツチャンクが、検索結果に存在しない場合、該当するコンテンツチャンクがコンテンツ投入サーバCSから取得される。取得されたコンテンツチャンクは、コンテンツデータ記憶領域134に記憶される。本実施形態のコンピュータとステップS304とは、本発明の第3取得部と第4取得部との一例である。
【0096】
ステップS305では、トリックプレイ制御が実行される。トリックプレイ制御の詳細は、後述する。
【0097】
ステップS306では、トリックプレイデータ記憶領域139に記憶されたトリックプレイデータと、出力対象のコンテンツチャンクとが再生される。具体的には、コンテンツチャンクが含む映像情報が、ステップS111で指定されたトリックプレイで出力されるとともに、トリックプレイデータ記憶領域139に記憶されたトリックプレイデータが出力される。上述のコンテンツチャンクが、ディスプレイ16により出力可能な映像信号が生成される。また、上述のトリックプレイデータが、スピーカ18により出力可能な音声信号が生成される。生成された映像信号がディスプレイ16に供給される。また、生成された音声信号がスピーカ18に供給される。
【0098】
ステップS307では、ステップS111でトリックプレイ再生要求されたコンテンツの最後まで出力が終了したか否かが判定される。具体的には、RAM12の所定の記憶領域に、トリックプレイ再生が要求されたコンテンツの出力終了時間、または、通常再生要求されたコンテンツを構成するコンテンツチャンクの総数が記憶される。上述の所定の記憶領域に記憶された出力終了時間が経過したか否かが判定される。また、上述の所定の記憶領域に記憶された総数より、出力対象情報一時記憶領域122に記憶された値が大きくなったか否かが判定される。上述した判定処理が「Yes」のとき、コンテンツの最後まで出力が終了したと判定される。また、上述した判定処理が「No」のとき、コンテンツの最後まで出力が終了しなかったと判定される。コンテンツの最後まで出力が終了したと判定されたとき、トリックプレイ出力処理は終了される。コンテンツの最後まで出力が終了したと判定されなかったとき、ステップS308が実行される。
【0099】
ステップS308では、インデックス情報一時記憶領域122に記憶された値に「1」が加算される。「1」加算された値が、インデックス情報一時記憶領域122に再度一時記憶される。
【0100】
(トリックプレイ制御)
図6は、ユーザノードにおけるトリックプレイ制御の手順を示すフローチャートである。トリックプレイ制御は、トリックプレイ制御プログラムに従って実行される。ステップS401では、ユーザノードが含むコンピュータの性能が所定値以下であるか否かが判定される。具体的には、性能情報記憶領域138に記憶された性能情報が、所定値以下であるか否かが判定される。所定値以下であると判定されたとき、ステップS402が実行される。所定値以下であると判定されなかったとき、ステップS413が実行される。本実施形態のコンピュータとステップS401とは、本発明の第1判定部の一例である。また、本発明のステップS401は、本実施形態の第1判定ステップの一例である。尚、ステップS401が実行されるとき、性能情報記憶領域138から性能情報を読み出す処理は、第1取得ステップの一例である。
【0101】
ステップ402では、ユーザノードのCPU11に余力があるか否かが判定される。具体的には、CPU稼動率が所定の値以下であるか否かが判定される。CPU稼動率は、例えば、一般的に使用されているコンピュータに付随されている公知のソフトウェア等により決定される値である。CPU11の余力があると判定されたとき、ステップS403が実行される。CPU11の余力があると判定されなかったとき、ステップS406が実行される。本実施形態のコンピュータとステップS402とは、本発明の第2判定部の一例である。
【0102】
ステップS403では、現在の出力対象から、3個先までのコンテンツチャンクが検索される。現在の出力対象は、出力対象情報として出力対象情報一時記憶領域122に記憶された値である。出力対象情報一時記憶領域122に記憶された値から、その値に「3」を加算した値までの出力対象に対応するコンテンツチャンクが検索される。ステップS403では、所定の個数先までのコンテンツチャンクが検索されれば良い。上述したコンテンツチャンクは、コンテンツカタログリストに基づいて検索される。検索されたコンテンツチャンクは、コンテンツチャンク一時記憶領域123に一時記憶される。本実施形態のコンピュータとステップS403とは、本発明の検索部の一例である。また、本実施形態のステップS403は、本発明の検索ステップの一例である。
【0103】
ステップS404では、ステップS403で検索されたコンテンツチャンクの検索が成功したか否かが判定される。具体的には、ステップS403で検索されたコンテンツが、コンテンツチャンク一時記憶領域123に記憶されているか否かにより判定される。コンテンツチャンクの検索が成功したと判定されたとき、ステップS405が実行される。コンテンツチャンクの検索が成功したと判定されなかったとき、ステップS406が実行される。
【0104】
ステップS405では、ステップS404で検索が成功したコンテンツチャンクのトリックプレイデータが生成される。具体的には、ステップS111またはステップS206で指定された倍率に対応するトリックプレイデータが生成される。生成されたトリックプレイデータは、トリックプレイデータ記憶領域139に記憶される。
【0105】
ステップS406では、現在の出力対象と、次の出力対象とに対応するコンテンツチャンクのトリックプレイデータが検索される。次の出力対象は、現在の出力対象の次に出力されるコンテンツチャンクを示す。現在の出力対象は、出力対象情報として出力対象情報一時記憶領域122に記憶された値である。出力対象情報一時記憶領域122に記憶された値に「1」を加算した値に対応するコンテンツチャンクのトリックプレイデータが、次の出力対象として検索される。上述したコンテンツチャンクは、コンテンツカタログリストに基づいて検索される。検索されたコンテンツチャンクは、コンテンツチャンク一時記憶領域123に一時記憶される。
【0106】
ステップS407では、ステップS406で検索されたトリックプレイデータのコンテンツチャンクの検索が成功したか否かが判定される。具体的には、ルートノードから、コンテンツ保持ノードのIPアドレスが取得されたか否かにより判定される。例えば、P2Pネットワーク9上に検索したトリックプレイデータが存在しない場合、検索されたトリックプレイデータのコンテンツチャンクを取得することができない。トリックプレイデータの検索が成功したと判定されたとき、ステップS408が実行される。トリックプレイデータの取得が成功したと判定されなかったとき、ステップS409が実行される。トリックプレイデータのコンテンツチャンクの検索が成功したとき、トリックプレイデータのコンテンツチャンクのルートノードからコンテンツ保持ノードのIPアドレスが取得される。
【0107】
ステップS408では、コンテンツ保持ノードからトリックプレイデータのコンテンツチャンクが取得される。ステップS407で取得されたIPアドレスに基づいて、コンテンツ保持ノードからトリックプレイデータのコンテンツチャンクが取得される。取得されたトリックプレイデータのコンテンツチャンクは、トリックプレイデータ記憶領域139に記憶される。本実施形態のコンピュータとステップS408とは、本発明の第2取得部の一例である。また、本実施形態のステップS408は、本発明の第2取得ステップの一例である。
【0108】
ステップS409では、ステップS406で検索されたトリックプレイデータのコンテンツチャンクが、コンテンツ投入サーバCSに記憶されているか否かが判定される。記憶されていると判定されたとき、ステップS410が実行される。記憶されていないと判定されたとき、ステップS411が実行される。
【0109】
ステップS410では、ステップS406で検索されたトリックプレイデータのコンテンツチャンクが、コンテンツ投入サーバCSから取得される。取得されたトリックプレイデータのコンテンツチャンクは、トリックプレイデータ記憶領域139に記憶される。
【0110】
ステップS411では、ステップS406で検索されたコンテンツチャンクのトリックプレイデータが要求される。ステップS411では、ノード装置Nnからコンテンツ投入サーバCSへトリックプレイデータの生成要求が送信される。生成されたトリックプレイデータのコンテンツチャックは、トリックプレイデータ記憶領域139に記憶される。
【0111】
ステップS412では、ステップS411で生成を要求したトリックプレイデータが、コンテンツ投入サーバCSから取得される。具体的には、コンテンツ投入サーバCSから送信されたトリックプレイデータのコンテンツチャンクが、受信される。受信されたトリックプレイデータのコンテンツチャンクは、トリックプレイデータ記憶領域139に記憶される。
【0112】
ステップS413では、コンテンツが出力されながら、トリックプレイデータが生成される。生成されたトリックプレイデータは、トリックプレイデータ記憶領域139に記憶される。具体的には、コンテンツチャンクが含む映像情報がコンテンツチャンク一時記憶領域123から読み出されて、ステップS111またはステップS206で指定されたトリックプレイで出力されるとともに、トリックプレイデータ記憶領域139に記憶されたトリックプレイデータが出力される。上述のコンテンツチャンクが、ディスプレイ16により出力可能な映像信号が生成される。また、上述のトリックプレイデータが、スピーカ18により出力可能な音声信号が生成される。生成された映像信号がディスプレイ16に供給される。また、生成された音声信号がスピーカ18に供給される。本実施形態のコンピュータとステップS413とは、本発明の処理部の一例である。
【0113】
ステップS414では、ステップS413で生成されたトリックプレイデータがパブリッシュされる。トリックプレイデータを保持しているノード装置NnのIPアドレスとコンテンツIDとを含むパブリッシュメッセージが、トリックプレイデータのルートノード宛に送信される。
【0114】
[コンテンツ投入サーバCSのメイン処理動作]
以上説明した構成からなる本実施形態のコンテンツ投入サーバCSの動作及び作用について、添付図面を参照して説明する。図7は、コンテンツ投入サーバCSにおけるメイン動作の処理手順を示すフローチャートである。図示しないコンテンツ投入サーバCSのCPUが、メイン動作プログラムを実行することにより遂行される。以下に示す処理は、上記のCPUにより実行される。ステップS501では、ノード装置Nnを含む他の装置から、コンテンツチャンクの取得要求を受信したか否かが判定される。コンテンツチャンクの取得要求は、コンテンツIDと送信元のIPアドレスとを含む。コンテンツIDは、要求されたコンテンツチャンクのコンテンツIDである。送信元のIPアドレスは、取得要求を送信したノード装置Nnを含む他の装置のIPアドレスである。取得要求が受信されたと判定されたとき、ステップS502が実行される。取得要求が受信されたと判定されなかったとき、ステップS503が実行される。
【0115】
ステップS502では、ステップS501で受信したコンテンツIDに対応するコンテンツチャンクが送信される。ステップS502では、ステップS501で受信した送信元のIPアドレスに基づいて、コンテンツチャンクが送信される。
【0116】
ステップS503では、ノード装置Nnを含む他の装置から、トリックプレイデータの取得要求を受信したか否かが判定される。トリックプレイデータの取得要求は、トリックプレイデータの種別と、コンテンツIDと、送信元のIPアドレスとを含む。トリックプレイデータの種別は、ステップS111またはステップS206で指定された倍率である。コンテンツIDは、要求されたコンテンツチャンクのコンテンツIDである。送信元のIPアドレスは、取得要求を送信したノード装置Nnを含む他の装置のIPアドレスである。トリックプレイデータの取得要求が受信されたと判定されたとき、ステップS504が実行される。トリックプレイデータの取得要求が受信されたと判定されなかったとき、ステップS506が実行される。
【0117】
ステップS504では、コンテンツ投入サーバCSが記憶するコンテンツデータに基づいて、トリックプレイデータのコンテンツチャンクが生成される。具体的には、コンテンツ投入サーバCSが記憶するコンテンツの中から、ステップS503で受信したコンテンツIDのコンテンツデータが決定される。ステップS503で受信したトリックプレイデータ種別に基づいて、決定されたコンテンツデータは所定の倍速のトリックプレイデータに変換される。
【0118】
ステップS505では、ステップS504で生成されたトリックプレイデータのコンテンツチャンクが送信される。ステップS505では、ステップS503で受信した送信元のIPアドレスに基づいて、トリックプレイデータのコンテンツチャンクが送信される。
【0119】
ステップS506では、その他の処理が実行される。その他の処理は、P2Pネットワーク9に新規のコンテンツデータを投入する投入処理等である。
【0120】
ステップS507では、コンテンツ投入サーバCSの電源がオフにされたか否かが判定される。オフにされたと判定されたとき、コンテンツ投入サーバCSのメイン処理動作は終了される。電源オフにされたと判定されなかったとき、ステップS501が再度実行される。
【0121】
本実施形態では、コンテンツ投入サーバCSが、P2Pネットワーク9にコンテンツデータを投入する機能、及び、コンテンツデータのオリジナルを保存する機能の両方を有する。コンテンツデータを投入する機能を備えたサーバと、コンテンツデータのオリジナルを保存する機能を備えたサーバとが、夫々設置されても良い。
【0122】
本実施形態では、DHTを用いたルーティングテーブルが用いられているが、DHTに限定されるものではない。DHTを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。ハイブリッド型のピアツーピアシステムにも、本発明は適用可能である。
【0123】
本実施形態では、P2Pネットワーク9に保存するトリックプレイデータとして、音声情報のトリックプレイデータを保存したが、これに限定されるものではない。
P2Pネットワーク9に保存するトリックプレイデータとして、音声情報と映像情報とを含むトリックプレイデータが保存されても良い。
【0124】
本実施形態のステップS406では、現在の出力対象と、次の出力対象とに対応するコンテンツチャンクのトリックプレイデータが検索される。その後、検索されたトリックプレイデータが出力される。ステップS406の変形例として、次の対象となるコンテンツチャンクのトリックプレイデータだけが検索されて、取得されて良い。ステップS402で、CPUの余力がないと判定されたとき、現在の出力対象であるコンテンツチャンクのトリックプレイデータはノード自身が生成し、次の出力対象であるコンテンツチャンクのトリックプレイデータがステップS406で検索されて、取得されても良い。
【符号の説明】
【0125】
3 IX
4a、4b ISP
5a、5b DSL回線事業者
6 FTTH回線事業者
7 通信回線
8 ネットワーク
9 P2Pネットワーク
11 CPU
12 HDD
13 RAM
14 通信部
15 映像処理部
16 ディスプレイ
17 音声処理部
18 スピーカ
20 入力部
100 概念的構成図
101 具体的構成図
111 タイマー
121 各種メッセージ一時記憶領域
122 出力対象情報一時記憶領域
123 コンテンツチャンク一時記憶領域
131 プログラム記憶領域
132 メイン処理動作プログラム記憶領域
134 コンテンツデータ記憶領域
135 インデックスキャッシュ記憶領域
136 ルーティングテーブル記憶領域
137 コンテンツカタログリスト記憶領域
138 性能情報記憶領域
139 トリックプレイデータ記憶領域
S 分散保存システム
CS コンテンツ投入サーバ
Nn ノード装置

【特許請求の範囲】
【請求項1】
所定のコンテンツを要求する要求部と、
前記要求部によりコンテンツを要求したノード装置の性能を示す性能情報を取得する第1取得部と、
前記要求部により所定のコンテンツが要求されるとき、前記性能情報が所定の性能より低いか否かを判定する第1判定部と、
前記第1判定部により、前記性能情報が所定の性能より低いと判定されたとき、前記要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、ネットワーク上に存在するか否かを検索する検索部と、
前記検索部により検索された前記話速変換コンテンツを取得する第2取得部と、
を備えることを特徴とする情報通信システム。
【請求項2】
前記情報通信システムは、複数のコンテンツが複数のノード装置間で送受信され、オーバーレイネットワークにより前記複数のコンテンツが前記複数のノード装置に分散して保存され、
前記検索部は、前記第1判定部により、前記性能情報が所定の性能より低いと判定されたとき、前記要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、前記オーバーレイネットワーク上に存在するか否かを検索し、
前記第2取得部は、前記検索部により検索された前記話速変換コンテンツを取得することを特徴とする請求項1に記載の情報通信システム。
【請求項3】
所定のコンテンツを要求する要求部と、
前記要求部によりコンテンツを要求したノード装置の性能を示す性能情報を取得する第1取得部と、
前記要求部により所定のコンテンツが要求されるとき、前記性能情報が所定の性能より低いか否かを判定する第1判定部と、
前記第1判定部により、前記性能情報が所定の性能より低いと判定されたとき、前記要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、ネットワーク上に存在するか否かを検索する検索部と、
前記検索部により検索された前記話速変換コンテンツを取得する第2取得部と、
を備えることを特徴とするノード装置。
【請求項4】
前記ノード装置は、
複数のコンテンツが複数の前記ノード装置間で送受信され、オーバーレイネットワークにより前記複数のコンテンツが前記複数のノード装置に分散して保存される情報通信システムのノード装置であり、
前記検索部は、前記第1判定部により、前記性能情報が所定の性能より低いと判定されたとき、前記要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、前記オーバーレイネットワーク上に存在するか否かを検索し、
前記第2取得部は、前記検索部により検索された前記話速変換コンテンツを取得することを特徴とする請求項3に記載のノード装置。
【請求項5】
前記要求部により要求されたコンテンツを取得する第3取得部と、
前記第3取得部により取得されたコンテンツに話速変換処理を実行する処理部と、
を備え、
前記要求部により所定のコンテンツが要求されるとき、前記判定部は、前記性能情報が所定の性能より低いか高いかを判定し、
前記判定部により、前記性能情報が所定の性能より高いと判定されたとき、前記処理部は、前記第3取得部により取得されたコンテンツを出力するときに、前記話速変換処理を実行することを特徴とする請求項3または請求項4に記載のノード装置。
【請求項6】
前記第1取得部は、前記性能情報と、前記コンテンツを要求したノード装置の演算付加を示す負荷情報とを取得し、
前記コンテンツデータは、前記コンテンツデータが複数に分割された複数のコンテンツチャンクから構成され、
前記要求部により要求されたコンテンツが出力される際、出力されるコンテンツの出力位置に対応した前記コンテンツチャンクを取得する第4取得部と、
前記負荷情報が示す演算負荷が所定の負荷より低いか否かを判定する第2判定部を備え、
前記第2判定部により、前記負荷情報が所定の負荷より低いと判定されたとき、前記第4取得部は、前記出力位置に対応した前記コンテンツチャンクと、前記出力位置の少なくとも次の出力位置に対応する前記コンテンツチャンクとを取得し、
前記処理部は、前記第4取得部により取得された前記コンテンツチャンクに話速変換処理を実行することを特徴とする請求項3から請求項5のいずれかに記載のノード装置。
【請求項7】
前記ノード装置は、
複数のコンテンツが複数の前記ノード装置間で送受信され、オーバーレイネットワークにより前記複数のコンテンツが前記複数のノード装置に分散して保存される情報通信システムのノード装置であり、
前記処理部により前記話速変換処理が実行されたコンテンツを、前記話速変換処理コンテンツとして前記オーバーレイネットワークで取得させるメッセージを前記複数のノード装置の少なくとも一部に送信する送信部を備えることを特徴とする請求項3から請求項6のいずれかに記載のノード装置。
【請求項8】
所定のコンテンツを要求する要求ステップと、
前記要求ステップによりコンテンツを要求したノード装置の性能を示す性能情報を取得する第1取得ステップと、
前記要求ステップにより所定のコンテンツが要求されるとき、前記性能情報が所定の性能より低いか否かを判定する第1判定ステップと、
前記第1判定ステップにより、前記性能情報が所定の性能より低いと判定されたとき、前記要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、ネットワーク上に存在するか否かを検索する検索ステップと、
前記検索ステップにより検索された前記話速変換コンテンツを取得する第2取得ステップと、
を含むコンテンツ取得方法。
【請求項9】
所定のコンテンツを要求する要求ステップと、
前記要求ステップによりコンテンツを要求したノード装置の性能を示す性能情報を取得する第1取得ステップと、
前記要求ステップにより所定のコンテンツが要求されるとき、前記性能情報が所定の性能より低いか否かを判定する第1判定ステップと、
前記第1判定ステップにより、前記性能情報が所定の性能より低いと判定されたとき、前記要求部により要求されたコンテンツに対応するコンテンツであり、且つ、話速変換処理がされた話速変換コンテンツが、ネットワーク上に存在するか否かを検索する検索ステップと、
前記検索ステップにより検索された前記話速変換コンテンツを取得する第2取得ステップと、
をノード装置のコンピュータに実行させるプログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate


【公開番号】特開2011−76183(P2011−76183A)
【公開日】平成23年4月14日(2011.4.14)
【国際特許分類】
【出願番号】特願2009−224235(P2009−224235)
【出願日】平成21年9月29日(2009.9.29)
【出願人】(000005267)ブラザー工業株式会社 (13,856)
【Fターム(参考)】