(57)【要約】      （修正有）【課題】放送されたコンテンツデータの再生を行うことが可能なコンテンツ分散保存システム、コンテンツ保存方法を提供する。【解決手段】ネットワークを介して互いに通信可能な複数のノード装置に複数のコンテンツデータが分散保存され、前記コンテンツデータを保存しているノード装置のノード情報は、他のノード装置からの問い合わせに応じて提供可能なように、当該コンテンツデータの管理元となるノード装置において登録されるようにしたコンテンツ分散保存システムに含まれる前記ノード装置であって、コンテンツ受信手段と、前記コンテンツデータの所定の単位分が受信された場合、当該単位分を保存するか否かをランダムに決定する保存決定手段と、該単位分の保存手段と、保存された場合に、登録メッセージを当該コンテンツデータの管理元に送出する登録メッセージ送出手段と、を備える。【選択図】図５
2008294626.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能な複数のノード装置に複数のコンテンツデータが分散保存され、前記コンテンツデータを保存しているノード装置のノード情報は、他のノード装置からの問い合わせに応じて提供可能なように、当該コンテンツデータの管理元となるノード装置において登録されるようにしたコンテンツ分散保存システムに含まれる前記ノード装置であって、
放送されてきたコンテンツデータを受信するコンテンツ受信手段と、
前記コンテンツデータが所定の単位分受信された場合には、当該単位分のコンテンツデータを保存するか否かをランダムに決定する保存決定手段と、
前記保存すると決定された前記単位分のコンテンツデータを保存する保存手段と、
前記単位分のコンテンツデータが保存された場合に、当該コンテンツデータを保存するノード装置として自己のノード情報を登録させるための登録メッセージを当該コンテンツデータの管理元となるノード装置宛に送出する登録メッセージ送出手段と、
を備えることを特徴とするノード装置。
【請求項２】
請求項１に記載のノード装置において、
前記保存決定手段は、前記単位分のコンテンツデータが受信される毎に、当該単位分のコンテンツデータを保存するか否かをランダムに決定することを特徴とするノード装置。
【請求項３】
請求項１又は２に記載のノード装置において、
前記単位分のコンテンツデータは、前記放送に係るコンテンツデータが予め設定された時間毎に区切られたコンテンツデータであることを特徴とするノード装置。
【請求項４】
請求項１乃至３の何れか一項に記載のノード装置において、
互いに異なる複数の前記コンテンツデータが、夫々に対応する放送チャンネル毎に放送されるものであって、
前記保存対象の前記コンテンツデータを受信する放送チャンネルをランダムに決定する放送チャンネル決定手段を更に備え、
前記コンテンツ受信手段は、前記決定された放送チャンネルで放送されたコンテンツデータを受信し、
前記保存決定手段は、前記決定された放送チャンネルで放送された前記コンテンツデータが前記単位分受信された場合に、当該単位分のコンテンツデータを保存するか否かをランダムに決定することを特徴とするノード装置。
【請求項５】
コンピュータを、請求項１乃至４の何れか一項に記載のノード装置として機能させることを特徴とするノード処理プログラム。
【請求項６】
ネットワークを介して互いに通信可能な複数のノード装置に複数のコンテンツデータが分散保存され、前記コンテンツデータを保存しているノード装置のノード情報は、他のノード装置からの問い合わせに応じて提供可能なように、当該コンテンツデータの管理元となるノード装置において登録されるようにしたコンテンツ分散保存システムであって、
各前記ノード装置は、
放送されてきたコンテンツデータを受信するコンテンツ受信手段と、
前記コンテンツデータが所定の単位分受信された場合には、当該単位分のコンテンツデータを保存するか否かをランダムに決定する保存決定手段と、
前記保存すると決定された前記単位分のコンテンツデータを保存する保存手段と、
前記単位分のコンテンツデータが保存された場合に、当該コンテンツデータを保存するノード装置として自己のノード情報を登録させるための登録メッセージを当該コンテンツデータの管理元となるノード装置宛に送出する登録メッセージ送出手段と、
を備え、
前記管理元のノード装置は、
前記登録メッセージを受信するメッセージ受信手段と、
前記受信された登録メッセージに応じて、前記単位分のコンテンツデータを保存したノード装置のノード情報を登録するノード情報登録手段と、
を備えることを特徴とするコンテンツ分散保存システム。
【請求項７】
ネットワークを介して互いに通信可能な複数のノード装置に複数のコンテンツデータが分散保存され、前記コンテンツデータを保存しているノード装置のノード情報は、他のノード装置からの問い合わせに応じて提供可能なように、当該コンテンツデータの管理元となるノード装置において登録されるようにしたコンテンツ分散保存システムにおけるコンテンツ保存方法であって、
各前記ノード装置は、
放送されてきたコンテンツデータを受信する工程と、
前記コンテンツデータが所定の単位分受信された場合には、当該単位分のコンテンツデータを保存するか否かをランダムに決定する工程と、
前記保存すると決定された前記単位分のコンテンツデータを保存する工程と、
前記単位分のコンテンツデータが保存された場合に、当該コンテンツデータを保存するノード装置として自己のノード情報を登録させるための登録メッセージを当該コンテンツデータの管理元となるノード装置宛に送出する工程と、
を備え、
前記管理元のノード装置は、
前記登録メッセージを受信する工程と、
前記受信された登録メッセージに応じて、前記単位分のコンテンツデータを保存したノード装置のノード情報を登録する工程と、
を備えることを特徴とするコンテンツ保存方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の通信システムの技術分野に関する。
【背景技術】
【０００２】
近年、デジタル放送、ハードディスクレコーダ、Ｇコード（番組を予約録画するための要素（録画日，録画チャンネル，録画開始時刻，録画終了時刻）を符号化したもの）予約、自動ＣＭ（Commercial Message）カットなど、利用者個人で録画するコンテンツのクオリティが高くなっている。また、キーワード録画などによって、極力撮り逃しを防ぐ機能も知られている。
【０００３】
例えば特許文献１には、放送されている番組の映像及び音声を含む番組データを記録する複数の録画装置と、放送される番組毎に少なくとも番組の放送開始時刻及び番組の放送終了時刻を表す番組情報を記録する番組データベース装置と、番組データベース装置に接続されたサーバ装置とを備えた番組録画システムが開示されている。この番組録画システムでは、ある録画装置において番組データの記録の開始が放送開示時刻に間に合わない場合、必要な番組の放送開始時刻から放送終了時刻までの番組データがサーバ装置によって各録画装置に記録された番組データの中から検索され、検索された番組データが番組データの記録に失敗した録画装置によって取得され記録されるようになっている。これにより、１つの録画装置において所定の番組データの記録が放送開始時刻よりも後に記録された番組データの中から必要な番組データが検索されて、録画装置間で番組データの受け渡しをすることができる。
【０００４】
一方、コンテンツの放送形態として、例えば特許文献２に開示されるようなピアツーピア型のツリー型放送（配信）システムが知られている。このツリー型放送システムでは、各ノード装置がネットワーク接続関係を認識するためのトポロジー情報を有しており、各ノード装置はトポロジー情報により認識した上位階層（上流）のノード装置に接続し、当該上位階層のノード装置から送信されるストリームデータを受信し、それを下位階層（下流）のノード装置に転送（中継）するツリー型放送（配信）システムが知られており、これにより、当該ツリー型の放送システムに参加している各ノード装置は、ストリーム配信されたコンテンツデータの提供を受け、再生することができるようになっている。
【特許文献１】特開２００４−３２０４５５号公報
【特許文献２】特開２００６−３３５１４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、上述した番組録画システムやインターネット配信システムでは、録画装置間の番組データ等のコンテンツデータの受け渡しをサーバ装置が取り持つようになっているため、当該番組録画システムの利用者の数が増大すると、サーバ装置に多大の負荷がかかるという問題がある。
【０００６】
また、放送された全てのコンテンツデータをノード装置におけるＨＤＤ（ハードディスクドライブ）等の記憶（記録）装置に記憶しておくようにする場合、当該記憶装置の記憶容量を多く消費してしまうという問題もある。
【０００７】
本発明は、以上の問題等に鑑みてなされたものであり、上記サーバ装置のような特定の装置に多大の負荷をかけることなく、さらに、各ノード装置における記憶装置をより効率良く使用して、過去に放送されたコンテンツデータの再生を行うことが可能なコンテンツ分散保存システム、コンテンツ保存方法、ノード装置、及びノード処理プログラムを提供すること等を課題とする。
【課題を解決するための手段】
【０００８】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置に複数のコンテンツデータが分散保存され、前記コンテンツデータを保存しているノード装置のノード情報は、他のノード装置からの問い合わせに応じて提供可能なように、当該コンテンツデータの管理元となるノード装置において登録されるようにしたコンテンツ分散保存システムに含まれる前記ノード装置であって、放送されてきたコンテンツデータを受信するコンテンツ受信手段と、前記コンテンツデータが所定の単位分受信された場合には、当該単位分のコンテンツデータを保存するか否かをランダムに決定する保存決定手段と、前記保存すると決定された前記単位分のコンテンツデータを保存する保存手段と、前記単位分のコンテンツデータが保存された場合に、当該コンテンツデータを保存するノード装置として自己のノード情報を登録させるための登録メッセージを当該コンテンツデータの管理元となるノード装置宛に送出する登録メッセージ送出手段と、を備えることを特徴とする。
【０００９】
この発明によれば、各ノード装置は、放送されてきたコンテンツデータが所定の単位分受信された場合には、当該単位分のコンテンツデータを保存するか否かをランダムに決定の上、保存し、保存した場合には、当該コンテンツデータを保存するノード装置として自己のノード情報を登録させるための登録メッセージを当該コンテンツデータの管理元となるノード装置宛に送出するように構成したので、サーバ装置のような特定の装置に多大の負荷をかけることなく、さらに、各ノード装置における記憶装置をより効率良く使用して、各ノード装置が自身が保存していない、過去に放送された単位分のコンテンツデータを、他のノード装置から取得して再生することができる。
【００１０】
請求項２に記載の発明は、請求項１に記載のノード装置において、前記保存決定手段は、前記単位分のコンテンツデータが受信される毎に、当該単位分のコンテンツデータを保存するか否かをランダムに決定することを特徴とする。
【００１１】
この発明によれば、各ノード装置は、単位分のコンテンツデータ毎に保存するか否かをランダムに決定するので、各単位分のコンテンツデータをコンテンツ分散保存システム上で分散保存することができる。
【００１２】
請求項３に記載の発明は、請求項１又は２に記載のノード装置において、前記単位分のコンテンツデータは、前記放送に係るコンテンツデータが予め設定された時間毎に区切られたコンテンツデータであることを特徴とする。
【００１３】
請求項４に記載の発明は、請求項１乃至３の何れか一項に記載のノード装置において、互いに異なる複数の前記コンテンツデータが、夫々に対応する放送チャンネル毎に放送されるものであって、前記保存対象の前記コンテンツデータを受信する放送チャンネルをランダムに決定する放送チャンネル決定手段を更に備え、前記コンテンツ受信手段は、前記決定された放送チャンネルで放送されたコンテンツデータを受信し、前記保存決定手段は、前記決定された放送チャンネルで放送された前記コンテンツデータが前記単位分受信された場合に、当該単位分のコンテンツデータを保存するか否かをランダムに決定することを特徴とする。
【００１４】
この発明によれば、コンテンツデータを受信する放送チャンネルをもランダムに決定するように構成したので、より幅広い放送チャンネルで放送されたコンテンツデータを単位分毎にコンテンツ分散保存システム上で分散保存することができる。
【００１５】
請求項５に記載のノード処理プログラムの発明は、コンピュータを、請求項１乃至４の何れか一項に記載のノード装置として機能させることを特徴とする。
【００１６】
請求項６に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置に複数のコンテンツデータが分散保存され、前記コンテンツデータを保存しているノード装置のノード情報は、他のノード装置からの問い合わせに応じて提供可能なように、当該コンテンツデータの管理元となるノード装置において登録されるようにしたコンテンツ分散保存システムであって、各前記ノード装置は、放送されてきたコンテンツデータを受信するコンテンツ受信手段と、前記コンテンツデータが所定の単位分受信された場合には、当該単位分のコンテンツデータを保存するか否かをランダムに決定する保存決定手段と、前記保存すると決定された前記単位分のコンテンツデータを保存する保存手段と、前記単位分のコンテンツデータが保存された場合に、当該コンテンツデータを保存するノード装置として自己のノード情報を登録させるための登録メッセージを当該コンテンツデータの管理元となるノード装置宛に送出する登録メッセージ送出手段と、を備え、前記管理元のノード装置は、前記登録メッセージを受信するメッセージ受信手段と、前記受信された登録メッセージに応じて、前記単位分のコンテンツデータを保存したノード装置のノード情報を登録するノード情報登録手段と、を備えることを特徴とする。
【００１７】
請求項７に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置に複数のコンテンツデータが分散保存され、前記コンテンツデータを保存しているノード装置のノード情報は、他のノード装置からの問い合わせに応じて提供可能なように、当該コンテンツデータの管理元となるノード装置において登録されるようにしたコンテンツ分散保存システムにおけるコンテンツ保存方法であって、各前記ノード装置は、放送されてきたコンテンツデータを受信する工程と、前記コンテンツデータが所定の単位分受信された場合には、当該単位分のコンテンツデータを保存するか否かをランダムに決定する工程と、前記保存すると決定された前記単位分のコンテンツデータを保存する工程と、前記単位分のコンテンツデータが保存された場合に、当該コンテンツデータを保存するノード装置として自己のノード情報を登録させるための登録メッセージを当該コンテンツデータの管理元となるノード装置宛に送出する工程と、を備え、前記管理元のノード装置は、前記登録メッセージを受信する工程と、前記受信された登録メッセージに応じて、前記単位分のコンテンツデータを保存したノード装置のノード情報を登録する工程と、を備えることを特徴とする。
【発明の効果】
【００１８】
本発明によれば、各ノード装置は、放送されてきたコンテンツデータが所定の単位分受信された場合には、当該単位分のコンテンツデータを保存するか否かをランダムに決定の上、保存し、保存した場合には、当該コンテンツデータを保存するノード装置として自己のノード情報を登録させるための登録メッセージを当該コンテンツデータの管理元となるノード装置宛に送出するように構成したので、サーバ装置のような特定の装置に多大の負荷をかけることなく、さらに、各ノード装置における記憶装置をより効率良く使用して、各ノード装置が自身が保存していない、過去に放送された単位分のコンテンツデータを、他のノード装置から取得して再生することができる。
【発明を実施するための最良の形態】
【００１９】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、通信システムに本発明を適用した場合の実施形態である。
【００２０】
［１．通信システムの構成等］
始めに、図１等を参照して、本実施形態に係る通信システムの概要構成等について説明する。
【００２１】
図１は、本実施形態に係る通信システムにおける各ノード装置の接続態様の一例を示す図である。
【００２２】
図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４ａ,４ｂ、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５ａ,５ｂ、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界の通信ネットワークであり）８が構築されている。なお、図１の例におけるネットワーク（通信ネットワーク）８には、データ（パケット）を転送するためのルータが、適宜挿入されているが図示を省略している。
【００２３】
このようなネットワーク８には、複数のノード装置（以下、「ノード」という）Ｎｎ（ｎ＝１，２，３・・・の何れか）が接続されている。また、各ノードＮｎには、固有の製造番号およびＩＰ（Internet Protocol）アドレスが割り当てられている。このような製造番号およびＩＰアドレスは、複数のノード間で重複しないものである。
【００２４】
そして、本実施形態に係る通信システムＳは、これらのノードＮｎのうち、図１の上部枠１００内に示すように、何れか複数のノードＮｎの参加により形成されるピアツーピア方式のネットワークシステムとなっている。なお、図１の上部枠１００内に示すネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するオーバーレイネットワーク９（論理的なネットワーク）である。
【００２５】
また、この通信システムＳは、ツリー型コンテンツ放送（配信）システムとコンテンツ分散（型）保存システムとから構成されている。
【００２６】
［１−２．ツリー型コンテンツ放送システムの構成及び機能等］
ここで、ツリー型コンテンツ放送システムについて説明する。
【００２７】
図２は、ツリー型コンテンツ放送システムにおいてコンテンツデータが放送される様子を示した概念図である。
【００２８】
ツリー型コンテンツ放送システムは、図２に示すように、当該複数のノードＮｎが、配信元装置１０を最上位として複数の階層を形成しつつネットワーク８を介してツリー状に接続されている。そして、配信元装置１０から放送（ストリーム配信）されたコンテンツデータは、上位階層（以下、「上流」という）のノードＮｎから下位階層（以下、「下流」という）のノードＮｎに順次転送されるようになっている。
【００２９】
このようなツリー型コンテンツ放送システムにおけるツリー状のトポロジー（ノードＮｎ間の接続態様）は、放送チャンネル毎に構築されるようになっており、接続先紹介サーバ２０におけるトポロジー管理データベースにより管理される。かかるトポロジー管理データベースには、ツリー状のトポロジーに参加している配信元装置及び各ノードＮｎのネットワークアドレス情報（例えばＩＰアドレス及びポート番号）と、当該トポロジーにおいて各ノードＮｎが位置する階層と、配信元装置及び各ノードＮｎ夫々の下流ノードを示す下流ノード情報と、配信元装置及び各ノードＮｎに接続可能な下流ノードの接続許容数と、配信元装置及び各ノードＮｎが他のノードＮｎへコンテンツデータを転送する転送能力と、が当該放送チャンネル毎に登録されている。ここで、転送能力とは、例えば、ノードＮｎのＣＰＵの処理速度（ＧＨｚ）やネットワーク８における有効帯域（例えば、データ転送速度（ｂｐｓ））のことをいう。
【００３０】
そして、接続先紹介サーバ２０は、あるノードＮｎにおいて選択された特定の放送チャンネルに係るトポロジーへの参加要求を受けた場合、当該参加要求に応じて上記トポロジー管理データベースから、接続されている下流ノードの数が接続許容数に満たない（下流側に接続が可能なノードＮｎ）上流ノードを検索し、検索された１以上の上流ノード候補を接続先として紹介（当該上流ノードのネットワークアドレス情報を通知）する。これにより、参加要求を行ったノードＮｎは、紹介された上流ノードに接続し、当該上流ノードから送信されてきたコンテンツデータのストリームを受信することになる。
【００３１】
ところで、配信元装置１０からは、一連のコンテンツデータが放送スケジュールにしたがって順次、時系列的に放送されるようになっているが、かかるコンテンツデータは、例えば、図２に示すように、コンテンツデータＡ、コンテンツデータＢ、コンテンツデータＣ・・・というように、予め設定された時間毎に区切ることができる。この区切りは、例えば、番組や映画等の内容に応じて決定される。例えば、コンテンツデータＡは、あるバラエティ番組のデータであり、コンテンツデータＢは、あるニュース番組のデータであり、コンテンツデータＣは、ある映画のデータといった具合である。なお、このように区切られる個々のコンテンツデータ一単位を、単位分のコンテンツデータと称する。
【００３２】
このように放送されてきたコンテンツデータを受信した各ノードＮｎは、一連のコンテンツデータのうちの、ある単位分のコンテンツデータを保存するか否かをランダムに決定し、保存すると決定された単位分のコンテンツデータのみを例えばＨＤＤ等の記憶部（記憶装置）に記憶保存するようになっている。例えば、図２において、ノードＮ１では単位分のコンテンツデータＣのみを保存し、ノードＮ２では単位分のコンテンツデータＡのみを保存している。
【００３３】
このように保存された単位分のコンテンツデータは、後述するコンテンツ分散保存システムにおいて、他のノードＮｎからの問い合わせに応じて提供可能とされる。
【００３４】
［１−３．コンテンツ分散保存システムの構成及び機能等］
次に、コンテンツ分散保存システムについて説明する。
【００３５】
コンテンツ分散保存システムは、これに参加している複数のノードＮｎに複数のコンテンツデータが分散保存され、当該コンテンツデータを保存しているノードＮｎのノード情報（例えば当該ノードＮｎに割り当てられた固有の識別情報であるノードＩＤ、ＩＰアドレス及びポート番号）が、他のノードＮｎからの問い合わせに応じて提供可能なように、当該コンテンツデータの管理元となるルートノードに登録されるようになっている。なお、各ノードは、ツリー型コンテンツ放送システムとコンテンツ分散保存システムの双方に参加することができる。
【００３６】
また、コンテンツ分散保存システムに参加している各ノードＮｎに割り当てられた、所定桁数からなるノードＩＤは、例えば、各ノードＮｎに個別に割り当てられたＩＰアドレス或いは製造番号を共通のハッシュ関数（例えば、ＳＨＡ−１等）によりハッシュ化した値（例えば、ｂｉｔ長が１６０ｂｉｔ）であり、一つのＩＤ空間に偏りなく分散して配置されることになる。
【００３７】
なお、コンテンツ分散保存システムへの参加は、未参加のノードＮｎが、既参加の任意のノードＮｎ（例えば、当該システムに常時参加しているコンタクトノード）に対して参加要求を行うことによりなされる。
【００３８】
また、コンテンツ分散保存システムに参加している各ノードＮｎは、夫々、ＤＨＴ（Distributed Hash Table）を用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ分散保存システム上における各種メッセージの転送先を規定しており、具体的には、ＩＤ空間内で適度に離れたノードＮｎのノード情報が複数登録されている。
【００３９】
コンテンツ分散保存システムに参加している１台のノードＮｎは、該システムに参加している全てのノードＮｎのうち、必要最低限のノードＮｎのノード情報をルーティングテーブルに登録しておき、ノード情報を知らない（記憶していない）ノードＮｎについては、各ノードＮｎ間で互いに各種メッセージを転送し合って届けてもらうようになっている。
【００４０】
なお、このようなＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００４１】
ところで、ツリー型コンテンツ放送システムにおける配信元装置１０から放送された単位分のコンテンツデータを保存したノードＮｎは、当該コンテンツデータを保存するコンテンツ保持ノードとして自己のノード情報を登録させるための登録メッセージであるパブリッシュメッセージを当該コンテンツデータの管理元となるルートノードに送出するようになっている。
【００４２】
ここで、各単位分のコンテンツデータには、夫々に固有のコンテンツＩＤが付加されている。このコンテンツＩＤは、例えば、放送チャンネル及び放送日時（開始時刻）等が、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化されて生成される（ノードＩＤと同一のＩＤ空間に配置）ようになっている。なお、コンテンツＩＤは、各ノードＮｎにより放送チャンネル及び放送日時（開始時刻）等に基づいて生成されるようにしても良いし、放送されてきた各単位分のコンテンツデータに付加されるようにしても良い。
【００４３】
また、単位分のコンテンツデータを保存したノードＮｎから送出されるパブリッシュメッセージには、当該単位分のコンテンツデータのコンテンツＩＤ及び自己のノード情報が含まれている。そして、当該パブリッシュメッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによって、当該コンテンツＩＤと最も近い（例えば最も上位桁が一致する）ノードＩＤを有するルートノードに到着することになり、該ルートノードにおいてパブリッシュメッセージに含まれるコンテンツ保持ノードのノード情報、及びコンテンツＩＤの組を含むインデックス情報が登録（インデックスキャッシュ領域に記憶）されることになる。これにより、例えば、単位分のコンテンツデータＡについてのインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードである例えばノードＮ１４により管理され、単位分のコンテンツデータＢについてのインデックス情報は、そのコンテンツのルートノードである例えばノードＮ１８により管理されることになる。
【００４４】
なお、ＤＨＴルーティングについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００４５】
そして、コンテンツ分散保存システムに参加している、あるノードＮｎのユーザが、所望する単位分のコンテンツデータを取得して視聴したい場合、当該コンテンツデータの取得を望むノードＮｎ（以下、「ユーザノード」という）は、当該ユーザにより指定された単位分のコンテンツデータのコンテンツＩＤ及び自己のノード情報を含むコンテンツ所在問合せ（検索）メッセージ（クエリ）を生成し、これを自己のＤＨＴを用いたルーティングテーブルにしたがって他のノードＮｎに対して送出する。つまり、ユーザノードは、コンテンツ所在問合せメッセージを、そのルートノードに向けて（ルートノード宛に）送出する。これにより、コンテンツ所在問合せメッセージは、上記パブリッシュメッセージと同様、当該コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着することになる。
【００４６】
上記コンテンツ所在問合せメッセージを受信したルートノードは、これに含まれるコンテンツＩＤに対応するインデックス情報をインデックスキャッシュから取得して、当該インデックス情報を、該コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信する。これにより、ユーザノードは、所望の単位分のコンテンツデータを保存しているコンテンツ保持ノードに対して、コンテンツ送信要求メッセージを送信し、そこから当該コンテンツデータを受信し再生が可能になる。
【００４７】
或いは、ルートノードは、当該インデックス情報に含まれるノード情報に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信する。これにより、ユーザノードは、当該コンテンツ保持ノードから当該コンテンツデータを受信し再生が可能になる。
【００４８】
図３は、ユーザノードが各単位分のコンテンツデータをコンテンツ保持ノードから取得する様子を示す概念図である。図３の例では、ユーザノードであるノードＮ５は、自身が保存しなかった単位分のコンテンツデータＡ及びＣを、コンテンツ保持ノードであるノードＮ２及びＮ１から受信している。
【００４９】
［１−４．ノードＮｎの構成及び機能等］
次に、図４を参照して、ノードＮｎの構成及び機能について説明する。
【００５０】
図４は、ノードＮｎの概要構成例を示す図である。
【００５１】
各ノードＮｎは、図４に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データおよびプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部１１と、各種データ（例えば、コンテンツデータ、インデックス情報、ＤＨＴ等）及び各種プログラム等を記憶保存（格納）するためのＨＤＤ等から構成された記憶部１２と、受信されたコンテンツデータ等を一時蓄積するバッファメモリ１３と、コンテンツデータに含まれるエンコードされたビデオデータ（映像情報）およびオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）するデコーダ部１４と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部１５と、当該映像処理部１５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部１６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部１７と、当該音声処理部１７から出力されたオーディオ信号を音波として出力するスピーカ１８と、ネットワーク８を通じて他のノードＮｎや接続先紹介サーバ２０等との間の情報の通信制御を行うための通信部１９ａと、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部１１に対して与える入力部（例えば、キーボード、マウス、或いは、操作パネル、リモコン等）１９ｂと、を備えて構成され、制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４、通信部１９ａ、及び入力部１９ｂはバス１９ｃを介して相互に接続されている。
【００５２】
なお、ノードＮｎとしては、パーソナルコンピュータ、ＳＴＢ（Set Top Box）、或いは、ＴＶ受信機等を適用可能である。
【００５３】
また、記憶部１２には、ツリー型コンテンツ放送システムに参加する際のアクセス先となる接続先紹介サーバ２０のＩＰアドレス及びポート番号、及びコンテンツ分散保存システムに参加する際のアクセス先となるコンタクトノードのＩＰアドレス及びポート番号等が記憶されている。
【００５４】
そして、制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラム（本発明に係るノード処理プログラムを含む）等を読み出して実行することにより、全体を統括制御し、本発明におけるコンテンツ受信手段、保存決定手段、保存手段、登録メッセージ送出手段、及び放送チャンネル決定手段等として機能するようになっている。
【００５５】
具体的には、制御部１１は、ツリー型コンテンツ放送システムへの参加により、配信元装置１０又は上流ノードからストリーム配信されてきたコンテンツデータのパケットの受信制御を行う。受信されたコンテンツデータのパケットは、例えばＦＩＦＯ（First In First Out）形式のリングバッファからなるバッファメモリ１３に蓄積され、一定量蓄積されると、当該コンテンツデータが読み出されデコーダ部１４によりデコードされた後、映像処理部１５、表示部１６、音声処理部１７、及びスピーカ１８を通じて再生出力される。
【００５６】
また、制御部１１は、当該コンテンツデータが所定の単位分受信された（バッファメモリ１３に蓄積された）場合は、当該単位分のコンテンツデータを保存するか否かをランダムに決定するようになっている。かかる決定は、例えば、単位分のコンテンツデータが受信される毎に行われる。
【００５７】
そして、制御部１１は、単位分のコンテンツデータを保存すると決定した場合には、当該単位分のコンテンツデータを記憶部１２に記憶保存（つまり、バッファメモリ１３からＨＤＤに転送）する。こうして、単位分のコンテンツデータが保存された場合には、制御部１１は、当該コンテンツデータのコンテンツＩＤが含まれるパブリッシュメッセージを生成し、そのルートノードに向けて送出する制御を行う。
【００５８】
なお、上記ノード処理プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
【００５９】
［２．通信システムの動作］
次に、図５を参照して、本実施形態に係る通信システムの動作について説明する。
【００６０】
図５は、ノードＮｎの制御部１１における処理を示すフローチャートである。
【００６１】
なお、当該ノードＮｎは、コンテンツ分散保存システムに既に参加しているものとする。
【００６２】
図５の処理は、ユーザにより放送チャンネルが選択（指定）される又は切り替え選択されることにより開始され、先ず、制御部１１は、ツリー型コンテンツ放送システム（言い換えれば、当該放送チャンネルに係るトポロジー）への参加処理を行う（ステップＳ１）。かかる参加処理においては、上述したように、当該ノードＮｎが接続先紹介サーバ２０に接続して選択された放送チャンネルに係るトポロジーへの参加要求を行うことにより、接続先となる上流ノード（又は配信元装置１０）のネットワークアドレス情報を取得する。そして、当該ノードＮｎが取得したネットワークアドレス情報にしたがって上流ノードに接続し、当該上流ノードに対してコンテンツデータのストリーミング開始要求を行う。
【００６３】
次いで、制御部１１は、放送（ストリーム配信）されてきたコンテンツデータの受信処理を行う（ステップＳ２）。こうして受信されたコンテンツデータのパケットは、上述したように、バッファメモリ１３に蓄積されつつ再生出力される。
【００６４】
次いで、制御部１１は、自ノードに接続されている下流ノードが存在するか否かを判別する（ステップＳ３）。そして、下流ノードが存在しない場合には（ステップＳ３：ＮＯ）、制御部１１は、ステップＳ５に進み、下流ノードが存在する場合には（ステップＳ３：ＹＥＳ）、受信したコンテンツデータのパケットを下流ノードに対して転送し（ステップＳ４）、ステップＳ５に進む。
【００６５】
ステップＳ５では、制御部１１は、受信されたコンテンツデータが単位分蓄積されたか否かを判断する。例えば、制御部１１は、コンテンツデータの区切り（予めコンテンツデータ中に区切りを示すデータが付加されている）を検出することにより単位分蓄積されたか否かを判断する。或いは、制御部１１は、予め設定された時刻（例えば、１０時）からある単位時間（例えば、３０分）毎に区切ることにより単位分蓄積されたか否かを判断する。
【００６６】
そして、制御部１１は、例えば、コンテンツデータの区切りを検出した（或いは、上記単位時間が経過した）場合、コンテンツデータが単位分蓄積されたと判断し（ステップＳ５：ＹＥＳ）、ステップＳ６に進み、当該単位分蓄積されていないと判断した場合には（ステップＳ５：ＮＯ）、ステップＳ１０に進む。
【００６７】
ステップＳ６では、制御部１１は、当該単位分のコンテンツデータを保存するか否かをランダムに（乱数を発生させて）決定する。当該単位分のコンテンツデータを保存すると決定された場合（ステップＳ６：ＹＥＳ）、ステップＳ７に進み、当該単位分のコンテンツデータを保存すると決定されない場合（ステップＳ６：ＮＯ）、ステップＳ１０に進む。
【００６８】
ステップＳ７では、制御部１１は、当該単位分のコンテンツデータを記憶部１２に記憶保存する。
【００６９】
次いで、制御部１１は、こうして保存された単位分のコンテンツデータに対してコンテンツＩＤを付与する（ステップＳ８）。例えば、制御部１１は、当該単位分のコンテンツデータの先頭に付加されたコンテンツＩＤを取得して当該コンテンツデータに付与する。或いは、制御部１１は、当該単位分のコンテンツデータの放送チャンネル及び放送日時を、ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化して生成してコンテンツＩＤを取得して当該コンテンツデータに付与する。
【００７０】
次いで、制御部１１は、当該保存された単位分のコンテンツデータに対して付与されたコンテンツＩＤ及び自己のノード情報を含むパブリッシュメッセージを、自己のＤＨＴを用いたルーティングテーブルにしたがってルートノード宛に送出する（ステップＳ９）。つまり、当該コンテンツＩＤと最も近いノードＩＤを有するノードＮｎがルーティングテーブルから特定され当該ノードＮｎに対してパブリッシュメッセージが送信される（その後、当該ルートノードまで転送される）。
【００７１】
ステップＳ１０では、制御部１１は、コンテンツデータの放送が終了したか否かを判別し、終了していない場合には（ステップＳ１０：ＮＯ）、ステップＳ２に戻り、上記と同様に処理を繰り返す。一方、コンテンツデータの放送が終了した場合には（ステップＳ１０：ＹＥＳ）、当該処理を終了する。
【００７２】
以上説明した処理は、当該放送チャンネルに係るトポロジーに参加している全てのノードＮｎにおいて行われることになり、各ノードＮｎでは、ランダムで決定した単位分のコンテンツデータを他のノードＮｎに提供可能に保存することになる。こうして、各単位分のコンテンツデータは、複数のノードＮｎに跨って分散して保存されることになる。
【００７３】
そして、各ノードＮｎのユーザは、当該ユーザが使用するユーザノードに保存していない単位分のコンテンツデータを再生して視聴したい場合、当該視聴したい単位分のコンテンツデータの放送チャンネル及び放送日時等を指定することにより、上述したように、当該コンテンツデータのコンテンツ所在問合せメッセージが、当該ユーザノードからルートノード向けて送出されることになる。その結果、当該ユーザノードは、当該単位分のコンテンツデータを保存するコンテンツ保持ノードから当該コンテンツデータのストリーム配信を受け再生することになり、当該ユーザはこれを視聴することができる。なお、このようにストリーム配信された単位分のコンテンツデータは、バッファメモリに蓄積されつつ直ちに再生出力されることになるが、記憶部１２には記憶保存されない。これは、コンテンツ分散保存システムに参加している各ノードＮｎの記憶部１２をより効率良く使用するためである。
【００７４】
以上説明したように上記実施形態によれば、各ノードＮｎは、放送されてきたコンテンツデータが所定の単位分受信された場合には、当該単位分のコンテンツデータを保存するか否かをランダムに決定の上、保存し、保存した場合には、当該保存された単位分のコンテンツデータに対して付与されたコンテンツＩＤ等を含むパブリッシュメッセージを、そのルートノードに向けて送出するように構成したので、サーバ装置のような特定の装置に多大の負荷をかけることなく、さらに、各ノードＮｎにおける記憶部１２をより効率良く使用して、各ノードＮｎが自身が保存していない、過去に放送された単位分のコンテンツデータを、他のノードＮｎから取得して再生することができ、システム全体で効率の良いコンテンツの記録再生が可能になる。また、各ノードＮｎは、記憶部１２における記憶容量の消費をより低減することができる。
【００７５】
また、各ノードＮｎは、単位分のコンテンツデータが蓄積される毎に、これを記憶部１２に保存するか否かをランダムに決定するので、各単位分のコンテンツデータを他のノードＮｎから利用可能にコンテンツ分散保存システム上で分散保存することができる。
【００７６】
なお、上記実施形態においては、ユーザにより選択された放送チャンネルで放送された単位分のコンテンツデータが保存される態様を示したが、別の例として、各ノードＮｎは、放送チャンネルをランダムに決定し、当該ランダムに決定した放送チャンネルで放送された上記単位分のコンテンツデータを保存して、パブリッシュメッセージを送出するようにすれば、より幅広い放送チャンネルで放送されたコンテンツデータを単位分毎にコンテンツ分散保存システム上で利用可能に分散保存することができ、保存される単位分のコンテンツデータの幅が広がるので、より効果的である。
【００７７】
例えば、ユーザがコンテンツの視聴をしていない状態（表示部１６におけるディスプレイの電源オフ状態）において、予め設定された時刻になった場合に、制御部１１は、保存対象のコンテンツデータを受信する放送チャンネルをランダムに決定する。そして、制御部１１は、図５に示す処理を開始し、ステップＳ１において、当該決定された放送チャンネルに係るトポロジーへの参加処理を行い、上記実施形態と同様、ステップＳ２〜Ｓ１０の処理を行う。また、ノードＮｎが、複数の放送チャンネルで放送された夫々異なるコンテンツデータを受信可能である場合（例えば、通信ポート及びバッファメモリを分ける）、現在ユーザが視聴している放送チャンネルとは異なる放送チャンネル（いわゆる、裏チャンネル）をランダムに決定して、当該決定された放送チャンネルで放送された単位分のコンテンツデータを保存して、パブリッシュメッセージを送出するように構成しても良い。
【００７８】
更に、各ノードＮｎは、コンテンツデータの受信を開始（図５の処理を開始）する時刻をもランダムに決定し、当該決定された時刻が到来した場合に、放送チャンネルをランダムに決定、又は現在選択されている放送チャンネルを決定し、決定した放送チャンネルで放送された上記単位分のコンテンツデータを保存して、パブリッシュメッセージを送出するようにすれば、保存される単位分のコンテンツデータの幅が更に広がるので、より効果的である。
【００７９】
なお、上記実施形態においては、ツリー型の放送形態に対して本発明を適用した場合の例を説明したが、その他の放送形態（例えば電波による放送形態や、サーバ−クライアント型の放送形態等）に対しても本発明は適用可能である。
【００８０】
また、上記実施形態におけるコンテンツ分散保存システムは、ＤＨＴを利用したアルゴリズムによって形成されることを前提として説明したが、本発明はこれに限定されるものではない。
【図面の簡単な説明】
【００８１】
【図１】本実施形態に係る通信システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】ツリー型コンテンツ放送システムにおいてコンテンツデータが放送される様子を示した概念図である。
【図３】ユーザノードが各単位分のコンテンツデータをコンテンツ保持ノードから取得する様子を示す概念図である。
【図４】ノードＮｎの概要構成例を示す図である。
【図５】ノードＮｎの制御部１１における処理を示すフローチャートである。
【符号の説明】
【００８２】
８  ネットワーク
９  オーバーレイネットワーク
１１  制御部
１２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
１９ａ  通信部
１９ｂ  入力部
１９ｃ  バス
Ｎｎ  ノード
Ｓ  通信システム
【図１】
2008294626.tif 000003
【図２】
2008294626.tif 000004
【図３】
2008294626.tif 000005
【図４】
2008294626.tif 000006
【図５】
2008294626.tif 000007