(57)【要約】【課題】システム内に公開前の新規コンテンツを投入する際、当該コンテンツの購入予約をしていたノード装置に対して、当該新規コンテンツを保存させる保存指示装置等を提供する。【解決手段】ネットワークを介して互いに通信可能な複数のノード装置と、該複数のノード装置間で共用される複数の共用情報を該複数のノード装置に分散して保存させる保存指示装置と、を備えた情報共有システムに含まれる前記保存指示装置において、前記情報共有システムに投入し前記複数のノード装置によって共用可能とすべき前記共用情報を取得する手段と、前記取得された共用情報の購入予約を行なったノード装置を識別する少なくとも１以上のノード装置識別情報を含む事前予約情報を取得する手段と、前記取得された共用情報と、当該共用情報の保存を指示する保存指示情報と、を、前記事前予約情報に含まれる前記ノード装置識別情報に基づいて識別される前記ノード装置に送出する手段と、を有する。【選択図】図５
2008020938.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能な複数のノード装置と、該複数のノード装置間で共用される複数の共用情報を該複数のノード装置に分散して保存させる保存指示装置と、を備えた情報共有システムに含まれる前記保存指示装置において、
前記情報共有システムに投入し前記複数のノード装置によって共用可能とすべき前記共用情報を取得する共用情報取得手段と、
前記取得された共用情報の購入予約を行なったノード装置を識別する少なくとも１以上のノード装置識別情報を含む事前予約情報を取得する事前予約情報取得手段と、
前記取得された共用情報と、当該共用情報の保存を指示する保存指示情報と、を、前記事前予約情報に含まれる前記ノード装置識別情報に基づいて識別される前記ノード装置に送出する保存指示手段と、
を有することを特徴とする保存指示装置。
【請求項２】
請求項１に記載の保存指示装置において、
前記保存指示手段は、前記事前予約情報に複数の前記ノード装置識別情報を含む場合には、全ての前記ノード装置識別情報に基づいて識別される全ての前記ノード装置に、前記共用情報、前記保存指示情報を夫々送出することを特徴とする保存指示装置。
【請求項３】
請求項１に記載の保存指示装置において、
前記保存指示手段は、前記事前予約情報に複数の前記ノード装置識別情報を含む場合には、その一部のノード装置識別情報に基づいて識別される前記ノード装置に前記共用情報及び前記保存指示情報と、更に前記事前予約情報を送出し、かつ、送出先のノード装置に対して、当該事前予約情報に含まれる前記ノード装置識別情報に基づいて識別される他のノード装置に、前記共用情報及び前記保存指示情報を送出するよう指示することを特徴とする保存指示装置。
【請求項４】
請求項３に記載の保存指示装置において、
前記共用情報取得手段にて取得された共用情報の保存数を決定する保存数決定手段を有し、
前記保存指示手段は、前記事前予約情報に含まれる各前記ノード装置識別情報に基づいて識別される前記ノード装置に、前記保存数を示す保存数情報を更に送出し、送出先のノード装置に対して、前記事前予約情報に含まれる前記ノード装置識別情報に基づいて識別される他のノード装置が無い場合には、前記保存数情報に基づいて前記情報共有システムに含まれる何れかのノード装置に前記共用情報及び前記保存指示情報を送出するよう指示することを特徴とする保存指示装置。
【請求項５】
請求項１乃至４のいずれか一項に記載の保存指示装置において、
前記ノード装置識別情報は、前記ノード装置の宛先情報、又は前記ノード装置を一意に識別するための固有の識別ＩＤであることを特徴とする保存指示装置。
【請求項６】
コンピュータを、請求項１乃至５のいずれか一項に記載の保存指示装置として機能させることを特徴とする保存指示プログラム。
【請求項７】
ネットワークを介して互いに通信可能な複数のノード装置と、該複数のノード装置間で共用される複数の共用情報を該複数のノード装置に分散して保存させる保存指示装置と、を備えた情報共有システムに含まれる前記ノード装置において、
前記保存指示装置又は他のノード装置から、保存指示の対象とされる前記共用情報を受信して、当該共用情報の保存が指示されると、受信した前記共用情報を記憶手段に保存する保存制御手段と、
前記保存指示装置又は他のノード装置から、前記受信した共用情報の購入予約を行なった前記ノード装置を識別する少なくとも１以上のノード装置識別情報を含む事前予約情報を受信する事前予約情報受信手段と、
前記事前予約情報に、自己にかかるノード装置識別情報以外のノード装置識別情報が含まれる場合には、その一部の前記ノード装置識別情報に基づいて識別される他のノード装置に、前記共用情報、当該共用情報の保存を指示する保存指示情報、及び前記事前予約情報を送出する保存指示手段と、
を有することを特徴とするノード装置。
【請求項８】
請求項７に記載のノード装置において、
前記保存指示装置又は他のノード装置から、保存指示の対象とされる前記共用情報の保存数を示す保存数情報を受信する保存数情報受信手段を有し、
前記保存指示手段は、前記事前予約情報受信手段にて受信した事前予約情報に、自己にかかるノード装置識別情報以外のノード装置識別情報が無い場合であっても、前記保存数情報に基づいて前記情報共有システムに含まれる何れかのノード装置に前記共用情報、前記保存指示情報及び前記保存数情報を送出することを特徴とするノード装置。
【請求項９】
請求項７又は８に記載のノード装置において、
ユーザからの前記共用情報の視聴要求を受け付けると、当該視聴要求がされた共用情報が、前記記憶手段に記憶されているか否かを判定する判定手段と、
当該視聴要求がされた共用情報が、前記記憶手段に記憶されている場合には、当該記憶手段に記憶された該共用情報の再生処理を行なう再生処理手段と、
当該視聴要求がされた共用情報が、前記記憶手段に記憶されていない場合には、前記情報共有システムに含まれる前記複数のノード装置から、当該共用情報を保存するノード装置を検索して、当該共用情報を保存するノード装置から前記共用情報を取得する共有情報取得手段とを備えることを特徴とするノード装置。
【請求項１０】
請求項７乃至９のいずれか一項に記載のノード装置において、
前記保存指示装置から、保存指示の対象とされる前記共用情報と、前記事前予約情報と、前記保存数情報と、を受信して、前記共用情報を前記複数のノード装置に分散して保存するよう要求を受けると、前記保存指示装置に代わって、前記事前予約情報と前記保存数情報に基づいて前記共用情報を前記複数のノード装置に分散して保存させることを特徴とするノード装置。
【請求項１１】
請求項１０に記載のノード装置は、前記情報共有システムに参加しているノード装置のうち、前記保存指示装置が前記ノード装置識別情報を記憶しているノード装置であることを特徴とするノード装置。
【請求項１２】
請求項１１に記載のノード装置は、前記情報共有システムに参加している少なくとも１以上の他のノード装置の前記ノード装置識別情報を記憶しており、かつ、前記情報共有システムに所定時間以上参加しているサポータノード装置であることを特徴とするノード装置。
【請求項１３】
請求項７乃至１２のいずれか一項に記載のノード装置において、
前記ノード装置識別情報は、前記ノード装置の宛先情報、又は前記ノード装置を一意に識別するための固有の識別ＩＤであることを特徴とするノード装置。
【請求項１４】
コンピュータを、請求項７乃至１３のいずれか一項に記載のノード装置として機能させることを特徴とする制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに接続された複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型のコンテンツ共用システム及び方法等の技術分野に関し、複数のノード装置間で共用されるべき映画や音楽等のコンテンツ（共用情報）を、共用可能に公開（保存）する前に、コンテンツ共用システム中の複数のノード装置に予め記録させておく保存指示装置、ノード装置、保存指示プログラム及び制御プログラムの技術分野に属する。
【背景技術】
【０００２】
近年、ブロードバンドの普及によりＶＯＤ（ビデオオンデマンド）等のコンテンツ配信サービスが行われている。現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として、ピアツーピアという技術が注目されてきている。ピアツーピア型のコンテンツ共用システムにおいて、例えば、分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用して論理的に構築されたオーバーレイネットワークでは、各ノード装置が、当該オーバーレイネットワークに参加している全てのノード装置へのリンク情報（例えば、ＩＰアドレス）を認識しているわけではなく、参加の際などに得られる一部のノード装置へのリンク情報だけを保持（記憶）しており、かかるリンク情報に基づき、データの問い合わせ等を行うようになっている。
【０００３】
このようなオーバーレイネットワークにおいては、ノード装置の参加及び脱退（離脱）が頻繁に行われても、負荷分散が適切に行われる必要があり、非特許文献１には、オーバーレイネットワークにおいて、参加及び脱退（離脱）が頻繁に行われる場合であっても、適切に負荷分散を行なうための技術が開示されている。
【０００４】
また、コンテンツ共用システムにおいて複数のノード装置間で共用されるコンテンツは、１つのコンテンツに対して複数個のレプリカ（コンテンツデータ）がシステムに参加している各ノード装置１に記憶されている。特許文献１には、このレプリカの数を、コンテンツの人気度等に応じて、各ノード装置に適正数保持させたデータ共有システムに関する技術が開示されている。
【非特許文献１】岡敏生、森川博之、青山友紀、「分散ハッシュテーブルの軽量な負荷分散手法の検討」、電子情報通信学会技術研究報告、（日本）、社団法人電子情報通信学会、２００４年２月５日、第１０３巻、第６５０号、p.7-12
【特許文献１】特開２００６−１５５４８６号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
このようなコンテンツ共用システムにおいて、分散ストレージ技術を使ってコンテンツの配信サービスを行なう場合、特に、新規コンテンツの公開前に、当該新規コンテンツが公開されることがアナウンスされると、予め購入を希望するコンテンツに対して購入予約を行なうことができるような場合には、人気のあるコンテンツは公開後、購入予約を行なったノード装置からのアクセスが集中する。
【０００６】
従って、公開直後に多くの要求があると、特定のノード装置にアクセスの集中が生じてしまうという問題があった。
【０００７】
そこで、本発明は上記の問題点に鑑みて為されたもので、システム内に公開前の新規コンテンツを投入する際、当該コンテンツの購入予約をしていたノード装置に対して、当該新規コンテンツを保存させる保存指示装置等を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するために、請求項１に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置と、該複数のノード装置間で共用される複数の共用情報を該複数のノード装置に分散して保存させる保存指示装置と、を備えた情報共有システムに含まれる前記保存指示装置において、前記情報共有システムに投入し前記複数のノード装置によって共用可能とすべき前記共用情報を取得する共用情報取得手段と、前記取得された共用情報の購入予約を行なったノード装置を識別する少なくとも１以上のノード装置識別情報を含む事前予約情報を取得する事前予約情報取得手段と、前記取得された共用情報と、当該共用情報の保存を指示する保存指示情報と、を、前記事前予約情報に含まれる前記ノード装置識別情報に基づいて識別される前記ノード装置に送出する保存指示手段と、を有することを特徴とする保存指示装置である。
【０００９】
これによれば、新たに投入する共用情報の購入予約を行なったノード装置に対して、当該コンテンツを他のノード装置と共用可能に保持するよう保存指示を行なうため、共用情報の公開後、購入予約を行なったノード装置は、共用情報を検索して他のノード装置から配信を受ける必要がないため、共用情報の公開後に、特定のノード装置に対する負荷の増大を防ぐことができる。
【００１０】
上記の課題を解決するために、請求項２に記載の発明は、請求項１に記載の保存指示装置において、前記保存指示手段は、前記事前予約情報に複数の前記ノード装置識別情報を含む場合には、全ての前記ノード装置識別情報に基づいて識別される全ての前記ノード装置に、前記共用情報、前記保存指示情報を夫々送出することを特徴とする保存指示装置である。
【００１１】
これによれば、新たに投入する共用情報の購入予約を行なった全てのノード装置に対して、当該コンテンツを他のノード装置と共用可能に保持するよう保存指示を行なうため、購入予約を行なったノード装置に確実に保存指示を行なうことができる。
【００１２】
上記の課題を解決するために、請求項３に記載の発明は、請求項１に記載の保存指示装置において、前記保存指示手段は、前記事前予約情報に複数の前記ノード装置識別情報を含む場合には、その一部のノード装置識別情報に基づいて識別される前記ノード装置に前記共用情報及び前記保存指示情報と、更に前記事前予約情報を送出し、かつ、送出先のノード装置に対して、当該事前予約情報に含まれる前記ノード装置識別情報に基づいて識別される他のノード装置に、前記共用情報及び前記保存指示情報を送出するよう指示することを特徴とする保存指示装置である。
【００１３】
これによれば、新たに投入する共用情報の購入予約を行なった一部のノード装置に対して、当該コンテンツを他のノード装置と共用可能に保持するよう保存指示を行ない、更に、事前予約情報のノード装置識別情報に基づいて、他のノード装置に保存指示を送出（転送）するよう指示するため、購入予約を行なったノード装置の一部に確実に保存指示を行ない、当該一部のノード装置から、購入予約を行なった他のノード装置へと保存指示を転送して保存指示処理を分担して行なうことができる。
【００１４】
上記の課題を解決するために、請求項４に記載の発明は、請求項３に記載の保存指示装置において、前記共用情報取得手段にて取得された共用情報の保存数を決定する保存数決定手段を有し、前記保存指示手段は、前記事前予約情報に含まれる各前記ノード装置識別情報に基づいて識別される前記ノード装置に、前記保存数を示す保存数情報を更に送出し、送出先のノード装置に対して、前記事前予約情報に含まれる前記ノード装置識別情報に基づいて識別される他のノード装置が無い場合には、前記保存数情報に基づいて前記情報共有システムに含まれる何れかのノード装置に前記共用情報及び前記保存指示情報を送出するよう指示することを特徴とする保存指示装置である。
【００１５】
これによれば、新たに投入する共用情報の数を示す保存数を定め、購入予約を行なった一部のノード装置に対して保存指示を行なう際に、当該保存数を示す保存数情報も送出し、そして、当該一部のノード装置に事前予約情報のノード装置識別情報に基づいて、他のノード装置に保存指示を送出（転送）するよう指示する際に、当該事前予約情報にノード装置識別情報に基づいて識別される他のノード装置が無い場合には、保存数情報に基づいて何れかのノード装置に保存指示を転送するよう指示するため、決定した保存数分の共用情報を確実にシステム内に投入することができる。
【００１６】
上記の課題を解決するために、請求項５に記載の発明は、請求項１乃至４のいずれか一項に記載の保存指示装置において、前記ノード装置識別情報は、前記ノード装置の宛先情報、又は前記ノード装置を一意に識別するための固有の識別ＩＤであることを特徴とする保存指示装置である。
【００１７】
これによれば、購入予約を行なったノード装置を他のノード装置と確実に識別することができる。
【００１８】
上記の課題を解決するために、請求項６に記載の発明は、コンピュータを、請求項１乃至５のいずれか一項に記載の保存指示装置として機能させることを特徴とする保存指示プログラムである。
【００１９】
上記の課題を解決するために、請求項７に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置と、該複数のノード装置間で共用される複数の共用情報を該複数のノード装置に分散して保存させる保存指示装置と、を備えた情報共有システムに含まれる前記ノード装置において、前記保存指示装置又は他のノード装置から、保存指示の対象とされる前記共用情報を受信して、当該共用情報の保存が指示されると、受信した前記共用情報を記憶手段に保存する保存制御手段と、前記保存指示装置又は他のノード装置から、前記受信した共用情報の購入予約を行なった前記ノード装置を識別する少なくとも１以上のノード装置識別情報を含む事前予約情報を受信する事前予約情報受信手段と、前記事前予約情報に、自己にかかるノード装置識別情報以外のノード装置識別情報が含まれる場合には、その一部の前記ノード装置識別情報に基づいて識別される他のノード装置に、前記共用情報、当該共用情報の保存を指示する保存指示情報、及び前記事前予約情報を送出する保存指示手段と、を有することを特徴とするノード装置である。
【００２０】
これによれば、共用情報の保存の指示を受けると、当該共用情報を自己の記憶部に保存し、更に事前予約情報に自己以外の他のノード装置のノード装置識別情報がある場合には、当該他のノード装置の一部のノード装置識別情報に基づいて識別される一部の他のノード装置に保存指示を送出（転送）するよう指示するため、購入予約を行なったノード装置から、購入予約を行なった他のノード装置へと保存指示を転送して保存指示処理を分担して行なうことができる。
【００２１】
上記の課題を解決するために、請求項８に記載の発明は、請求項７に記載のノード装置において、前記保存指示装置又は他のノード装置から、保存指示の対象とされる前記共用情報の保存数を示す保存数情報を受信する保存数情報受信手段を有し、前記保存指示手段は、前記事前予約情報受信手段にて受信した事前予約情報に、自己にかかるノード装置識別情報以外のノード装置識別情報が無い場合であっても、前記保存数情報に基づいて前記情報共有システムに含まれる何れかのノード装置に前記共用情報、前記保存指示情報及び前記保存数情報を送出することを特徴とするノード装置である。
【００２２】
これによれば、事前予約情報にノード装置識別情報に基づいて識別される他のノード装置が無い場合には、保存数情報に基づいて何れかのノード装置に保存指示を転送するよう指示するため、指示された保存数分の共用情報を確実にシステム内に投入することができる。
【００２３】
上記の課題を解決するために、請求項９に記載の発明は、請求項７又は８に記載のノード装置において、ユーザからの前記共用情報の視聴要求を受け付けると、当該視聴要求がされた共用情報が、前記記憶手段に記憶されているか否かを判定する判定手段と、当該視聴要求がされた共用情報が、前記記憶手段に記憶されている場合には、当該記憶手段に記憶された該共用情報の再生処理を行なう再生処理手段と、、当該視聴要求がされた共用情報が、前記記憶手段に記憶されていない場合には、前記情報共有システムに含まれる前記複数のノード装置から、当該共用情報を保存するノード装置を検索して、当該共用情報を保存するノード装置から前記共用情報を取得する共有情報取得手段とを備えることを特徴とするノード装置である。
【００２４】
これによれば、ユーザからコンテンツの視聴要求を受け付けると、先ず、記憶手段に記憶されているか否かを確認するため、自己が購入予約を行なっていれば、既に記憶手段に記憶された共用情報を取得して迅速に再生処理を行なうことができる。
【００２５】
上記の課題を解決するために、請求項１０に記載の発明は、請求項７乃至９のいずれか一項に記載のノード装置において、前記保存指示装置から、保存指示の対象とされる前記共用情報と、前記事前予約情報と、前記保存数情報と、を受信して、前記共用情報を前記複数のノード装置に分散して保存するよう要求を受けると、前記保存指示装置に代わって、前記事前予約情報と前記保存数情報に基づいて前記共用情報を前記複数のノード装置に分散して保存させることを特徴とするノード装置である。
【００２６】
これによれば、現在システムに参加しているノード装置が、保存指示装置として機能するため、現在システムに参加している他のノード装置の存在を把握しているので、より迅速に共用情報の分散保存を行なうことができる。
【００２７】
上記の課題を解決するために、請求項１１に記載の発明は、請求項１０に記載のノード装置は、前記情報共有システムに参加しているノード装置のうち、前記保存指示装置が前記ノード装置識別情報を記憶しているノード装置であることを特徴とするものである。
【００２８】
これによれば、保存指示装置は、他のノード装置に保存指示を出すことのできるノード装置に対して共用情報を複数のノード装置に分散して保存するよう要求することができる。
【００２９】
上記の課題を解決するために、請求項１２に記載の発明は、請求項１１に記載のノード装置は、前記情報共有システムに参加している少なくとも１以上の他のノード装置の前記ノード装置識別情報を記憶しており、かつ、前記情報共有システムに所定時間以上参加しているサポータノード装置であることを特徴とするものである。
【００３０】
これによれば、情報共有システムに所定時間以上参加しており、現在システムに参加している少なくとも１以上の他のノード装置を知っているサポータノード装置が保存指示装置として機能するため、確実に共用情報の分散保存を行なうことができる。
【００３１】
上記の課題を解決するために、請求項１３に記載の発明は、請求項７乃至１２のいずれか一項に記載のノード装置において、前記ノード装置識別情報は、前記ノード装置の宛先情報、又は前記ノード装置を一意に識別するための固有の識別ＩＤであることを特徴とするノード装置である。
【００３２】
これによれば、購入予約を行なったノード装置を他のノード装置と確実に識別することができる。
【００３３】
上記の課題を解決するために、請求項１４に記載の発明は、コンピュータを、請求項７乃至１３のいずれか一項に記載のノード装置として機能させることを特徴とする制御プログラムである。
【発明の効果】
【００３４】
本発明によれば、保存指示装置が、新たに投入する共用情報の購入予約を行なったノード装置に対して、当該コンテンツを他のノード装置と共用可能に保持するよう保存指示を行ない、購入予約を行なったノード装置が新たな共用情報を保存するため、共用情報の公開後、購入予約を行なったノード装置は、共用情報を検索して他のノード装置から配信を受ける必要がなくなり、共用情報の公開後に、特定のノード装置に対する負荷の増大を防ぐことができる。
【発明を実施するための最良の形態】
【００３５】
＜１．コンテンツ配信システムの構成等＞
始めに、図１を参照して、複数のノード装置で映画や音楽等のコンテンツ（共用情報）を共用する情報共有システムにおけるコンテンツの配信システムの概略構成等について説明する。
【００３６】
図１は、本実施形態に係るコンテンツ配信システムＳにおける各ノード装置の接続態様の一例を示す図である。
【００３７】
図１の下部枠５０１内に示すように、中継装置としてのＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４、ＤＳＬ（Digital Subscriber Line）回線事業者の装置５、ＦＴＴＨ（Fiber To The Home）回線事業者の装置６、及び通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界のネットワーク）８が構築されている。
【００３８】
そして、このようなネットワーク８を介して相互に接続された各ノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・には、ＩＰ（Internet Protocol）アドレス及びポート番号の宛先情報と、各ノード装置を特定し、一のノード装置を一意に識別するための固有の値としてのノードＩＤ（ＩＤentifier）と、がノード情報として割り当てられている。これらノードＩＤは複数のノード装置間で重複しないものである。なお、以下の説明において、ノード装置１ａ，１ｂ，１ｃ・・・１ｘ，１ｙ，１ｚ・・・のうち何れかのノード装置を示す場合には、便宜上、ノード装置１という場合がある。
【００３９】
コンテンツ配信システムＳは、新しいコンテンツをシステム内に投入する本発明の保存指示装置としてのディストリビュータ１００と、未公開のコンテンツの購入予約を各ノード装置１から受け付け、管理する予約受付サーバ２００と、システム内に投入されているコンテンツを全て保存しているコンテンツプールサーバ３００を備える。
【００４０】
ディストリビュータ１００（或いは、システム運営者が設置した図示しない他の管理装置）から、システム内に投入予定のコンテンツ（この時点では未公開）の情報が出されると、各ノード装置１は、所望のコンテンツの購入予約を予約受付サーバ２００に対して行なう。
【００４１】
ディストリビュータ１００は、新たなコンテンツの購入予約を行なったノード装置１に、当該コンテンツの保存を指示する。具体的には、予約受付サーバ２００から予約リスト（事前予約情報の一例）を取得して、購入予約を行なったノード装置１に対してコンテンツの保存を指示するよう構成する。コンテンツの保存指示を受けたノード装置１は、当該コンテンツを自己の記憶部に保存する。具体的には、ディストリビュータ１００が購入予約を行なったノード装置１に対してコンテンツを送信してもよいし、ノード装置１が自ら保存対象のコンテンツをディストリビュータ１００からダウンロードしてもよい。
【００４２】
そして、新たなコンテンツが公開され、当該コンテンツの情報がシステム運営者が配布するカタログリストに掲載され、コンテンツのダウンロードが可能（コンテンツ配信システムＳに参加する複数のノード装置１間で共用可能）になると、購入予約を行なっていないユーザは、（ｉ）当該コンテンツを検索して（ｉｉ）当該コンテンツを保存するノード装置１からコンテンツをダウンロードして取得する。一方、購入予約を行なったユーザは、自己の記憶部に保存したコンテンツが、システム運営者が配布するカタログリストに掲載され、他のノード装置１からの配信要求に応じることが可能（共用可能）になると、自己の記憶部に記憶しているコンテンツを取得して視聴することができる。
【００４３】
このように、ユーザは公開予定のコンテンツに対して購入予約を行なえば、自身の記憶部にコンテンツが保存されるので、上記ステップ（（ｉ）検索〜（ｉｉ）配信）を踏むことなく、自身の記憶部からコンテンツを取得してより簡単かつ迅速に視聴することができる。特に、あるコンテンツの購入を予定しているノード装置１が多数ある場合に、当該コンテンツが共用可能になった後に、これら多数のノード装置１が一斉に上記ステップ（（ｉ）検索〜（ｉｉ）配信）を行なうと、特定のノード装置に対する負荷の増大が増大し、ひいては公開直後のシステム全体の負荷増大に繋がってしまうが、本発明によれば、予約しているノード装置が上記ステップ（（ｉ）検索〜（ｉｉ）配信）を踏むことなくコンテンツを取得できるためこのような問題を解消することができる。なお、ディストリビュータ１００は、新たなコンテンツをシステム内に保存させる数（保存数）を定め、当該保存数分のノード装置１にコンテンツを保存させる。従って、上述したように購入予定を行なったノード装置１があれば、これら各ノード装置１に保存させた後に、保存数の残り分を、システム内に含まれるノード装置１に保存させる。購入予約を行なったノード装置が１台も無い場合には、保存数分を、システム内に含まれるノード装置１夫々に保存させる。
【００４４】
本実施形態におけるコンテンツの購入とは、コンテンツを保存するノード装置からダウンロードしてコンテンツデータを取得すること、又は、ダウンロードして一定期間視聴（レンタル視聴）可能な状態で取得すること等を言う。購入予約は、図示しない課金サーバに対してコンテンツ購入に対する対価を支払い、コンテンツの購入を行なうことを約束すること、実際に課金サーバに対価の支払いを済ませておくこと、の双方を含む。
【００４５】
コンテンツプールサーバ３００は、システム内に投入済みのコンテンツを全て保存し、コンテンツを保存しているノード装置１が全てシステムから脱退しており、コンテンツの配信が正常に行えないなど、何らかの障害が発生した際に、コンテンツを保存しているノード装置１に替わってコンテンツの配信要求に応える。
【００４６】
ところで、コンテンツ配信システムＳにおいて、当該ノード装置１が、他のノード装置１の持つ情報にアクセスする際には、その情報を持つノード装置１のＩＰアドレス等の宛先情報を知っていなければならない。
【００４７】
このようなシステムの一例として、ＤＨＴを利用したアルゴリズムによって、図１の上部枠５００内に示すような、オーバーレイネットワーク９が構築されることになる。つまり、このオーバーレイネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するネットワークを意味し、本実施形態のコンテンツ配信システムＳは、当該オーバーレイネットワーク９に参加する複数のノード装置１により構成されることになる。
【００４８】
ノード装置を識別するノードＩＤは、各ノード装置を一意に識別することができるものであればよく、例えば、工場出荷時に予め割り振られる製造番号やマシン名等を共通のハッシュ関数（ハッシュアルゴリズム）によりハッシュ化して得たハッシュ値をＧＵＩＤ（Global Unique IDentifier）として用い、これをノードＩＤとして各ノード装置１に用いることが可能である。
【００４９】
またノードＩＤは、コンテンツ配信システムＳにおけるノード装置の最大運用台数を収容できるだけのｂｉｔ数を持たせる必要がある。例えば、128ｂｉｔの番号とすれば、2＾128≒340×10＾36台のノード装置を運用できる。実際には既知のハッシュ関数であるＳＨＡ−1（Secure Hash Algorithm １）（生成桁数160bit）やMD５（Message Digest 5）（生成桁数120Bit）を用いることが想定される。
【００５０】
このように共通のハッシュ関数により求められたノードＩＤは、当該製造番号やマシン名が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。
【００５１】
＜１−２．ＤＨＴの概要＞
以下に、本実施形態に係る分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用したアルゴリズムについて説明する。
【００５２】
本実施形態は、ＤＨＴを利用したアルゴリズムによって構築されたオーバーレイネットワーク９を前提としており、このオーバーレイネットワーク９（図１の上部枠５００内）に配置されたノード装置１が、オーバーレイネットワーク９に参加しているノード装置１、言い換えれば、コンテンツ配信システムＳに参加しているノード装置１である。
【００５３】
このようなコンテンツ配信システムＳへ参加する際には、参加していないノード装置１が、他のノード装置との通信に使用するためのＩＰアドレス等の宛先情報及びノードＩＤが書かれたテーブル情報をシステムに参加しているノード装置から取得して、システムに参加しているノード装置を知ることにより、システムに参加している他のノード装置との通信が可能になる。このとき、システムに参加しているノード装置であれば何れのノード装置にこのテーブル情報を要求してもよいが、システム運営者が設置した、システム参加時に最初にアクセスするための専用のコンタクトノード装置（図示せず）にテーブル情報を要求するよう構成することが好ましい。このような専用のコンタクトノード装置は、システム内に常駐（電源が落ちない）するよう管理されているので、比較的新しいテーブル情報を取得することができるからである。以下、テーブル情報について説明する。
【００５４】
次に、図２及び図３を参照して、テーブル情報の作成手法の一例について説明する。なお、当該テーブル情報は、複数のノード装置間を転送しつつ作成（更新）されるので、ルーティングテーブルとも呼ぶ。
【００５５】
図２は、ルーティングテーブル（テーブル情報）が作成される様子の一例を示す図であり、図３は、ルーティングテーブル（テーブル情報）の一例を示す図である。
【００５６】
まず、図２（Ａ）に示す如く、ＩＤ空間を幾つかのエリアに分割する。なお、このエリアはルーティングテーブルを作成するためにＩＤ空間を分割したものであって、実際には、１６分割程度が良く用いられるが、説明を簡単にするためここでは４分割とし、ＩＤをビット長１６Ｂｉｔの４進数で表すこととした。そして、ノード装置１ＮのノードＩＤを「10230210」とし、このノード装置１Ｎのルーティングテーブルを作る例について説明する。
【００５７】
（レベル１のルーティング）
まず、ＩＤ空間を４分割とすると、それぞれのエリアは４進数で表すと最大桁が異なる４つのエリア「0XXXXXXX」「1XXXXXXX」、「2XXXXXXX」、「3XXXXXXX」（Xは０から３の自然数、以下同様。）で分けられる。あるノード装置（以下、ノード装置１Ｎと言う。）は、当該ノード装置１Ｎ自身のノードＩＤが「10230210」であるため、図中左下「1XXXXXXX」のエリアに存在することになる。そして、ノード装置１Ｎは、自分の存在するエリア（すなわち、「1XXXXXXX」のエリア）以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤのＩＰアドレス等の宛先情報をレベル１のテーブルに記憶する。図３（Ａ）がレベル１のテーブルの一例である。２列目はノード装置１Ｎ自身を示しているため、ＩＰアドレス等の宛先情報を記憶する必要は無い。
【００５８】
（レベル２のルーティング）
次に、図２（Ｂ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、更に４つのエリア「10XXXXXX」「11XXXXXX」、「12XXXXXX」、「13XXXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤのＩＰアドレス等の宛先情報をレベル２のテーブルに記憶する。図３（Ｂ）がレベル２のテーブルの一例である。１列目はノード装置１Ｎ自身を示しているため、宛先情報を記憶する必要は無い。
【００５９】
（レベル３のルーティング）
さらに、図２（Ｃ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、更に４つのエリア「100XXXXX」「101XXXXX」、「102XXXXX」、「103XXXXX」と分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在するノード装置１を適当に選択し、当該ノードＩＤのＩＰアドレス等の宛先情報をレベル１のテーブルに記憶する。図３（Ｃ）がレベル３のテーブルの一例である。３列目はノード装置１Ｎ自身を示しているため、ＩＰアドレス等の宛先情報を記憶する必要は無く、２列目、４列目はそのエリアにノード装置が存在しないため空白となる。
【００６０】
このようにして、レベル４以下レベル８まで同様にルーティングテーブルを図３（Ｄ）に示す如く作成することにより、１６ｂｉｔのＩＤ全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
【００６１】
このように、各ノード装置１は、他のノード装置１のＩＰアドレス等の宛先情報と、ノードＩＤ空間のエリア、すなわちＤＨＴの各レベル及び各列と、を対応付けてテーブル情報として記憶している。つまり、各ノード装置１は、複数に分けられた各エリアに属する一のノードのＩＰアドレス等の宛先情報を、夫々のエリアに対応付けて一の段階（レベル）として規定し、更に自己が属するエリアが複数のエリアに分けられ、当該分けられた各エリアに属する一のノード装置１のＩＰアドレス等の宛先情報を、夫々のエリアに対応付けて次の段階（レベル）として規定するルーティングテーブル（以下、「テーブル情報」と呼ぶ）を後述する制御部のＲＡＭに記憶している。
【００６２】
実際に、コンテンツ配信システムＳに未参加のノード装置１が、コンテンツ配信システムＳに参加して、上述したようなテーブル情報を取得するには、まず、過去にシステムに参加したことがなく、初めてシステムに参加する際（新規参加）には、上述したように、システム管理者により設置されたコンタクトノード装置（図示せず）に対して「参加メッセージ」を送信して、コンタクトノード装置（図示せず）からテーブル情報を取得する。
【００６３】
そして、ノード装置１は、取得したテーブル情報を、システムに参加している間中自己の制御部のＲＡＭに記憶して、コンテンツの検索や、コンテンツの公開の際に行なわれるメッセージ転送の際に利用し、また、動的に最新の情報に書き換えていく。具体的には、メッセージ転送やコンテンツ配信等の際に、他のノード装置１の存在を知ったタイミングで、その装置のノードＩＤがテーブルのどのマス目に適合するかを判断して、各テーブルの内容を追記（更新）していく。また、他のノード装置が脱退したことを知ったタイミングで、当該装置のノードＩＤをテーブルから削除する。
【００６４】
このように、テーブル情報はメッセージやコンテンツの配信等の情報の授受によって、常に動的に書き換えられているので、現在システムに参加しているノード装置１からテーブル情報をもらえば、システムから脱退したノード装置のノード情報が比較的少なく、システムに参加しているノード装置のノード情報が比較的多い、最新のテーブル情報を得ることができる。
【００６５】
＜１−３．コンテンツの保存と配信＞
次に、各ノード装置１で共用されるコンテンツの保存と、当該コンテンツの配信について説明する。コンテンツ配信システムＳに参加している複数のノード装置１には、１のノード装置１から他のノード装置１に配信される共用情報としてのコンテンツ（例えば、映画や音楽等）データが分散して保存（格納）されているが、当該コンテンツにも、それぞれのコンテンツ毎にユニーク（固有）なコンテンツＩＤが付与される。このコンテンツＩＤは、ノードＩＤと同様の長さ（例えば、１２８ｂｉｔ等）であって、コンテンツをコンテンツ配信システムＳに投入する際（ノード装置１に保存指示を行なう際）ディストリビュータ１００によって決定され各コンテンツに付与される。
【００６６】
図４は３２ｂｉｔでノードＩＤ及びコンテンツＩＤを付与し、ＩＤ空間上に図示したものである。図中黒点はノードＩＤを、黒ひし形はコンテンツＩＤを示し、反時計回りでＩＤが増加するものとする。
【００６７】
図４に示すようなＩＤ空間において、どのノード装置１に、どのコンテンツが管理されるかは、コンテンツＩＤとノードＩＤとが「所定の関係」にあるか否かによって決定される。ここで、「所定の関係」とは、一定の規則の下に決定されるが、本実施形態においては、「あるコンテンツＩＤを有するコンテンツを管理するノード装置は、そのコンテンツＩＤに最も近接するノードＩＤを有するノード装置１である」という規則とする。つまり、コンテンツＩＤと最も近接する（例えば、上位桁がより多く一致する）ノードＩＤであって、コンテンツＩＤの値と同じかそれ以下の値となるノードＩＤを有するノード装置１が、当該コンテンツを保存するノード装置１の所在情報を管理することとする。
【００６８】
例えば、「所定の関係」は、当該コンテンツＩＤを超えず、コンテンツＩＤとノードＩＤとの差が一番少ないものと定義する。同図に示す例では、この定義に基づいて、コンテンツＩＤａは、ノードＩＤａを有するノード装置に管理され、コンテンツＩＤｂは、ノードＩＤｂを有するノード装置に管理される。この他、各コンテンツの管理を各ノード装置１に割り振る際に、一貫していればどのような定義であってもよい。
【００６９】
また、コンテンツＩＤｃ、ＩＤｄは、ノードＩＤｃを有するノード装置１に管理されるように、あるノード装置は複数の異なるコンテンツデータを管理することもある。なお、ここで「管理」というのは、コンテンツを保存／保存していることを意味するのではなく、「コンテンツのデータ（コンテンツデータ）が何れのノード装置１に保存されているかを知っている」、すなわち、コンテンツの所在情報として、コンテンツを保存するノード装置のＩＰアドレス等の宛先情報を記憶（キャッシュ）していること言う。
【００７０】
表１に、各ノード装置１が自己の制御部のＲＡＭに記憶するキャッシュ情報の一例を示す。
【００７１】
【表１】
2008020938.tif 000003
【００７２】
ノード装置１は、ディストリビュータ１００からコンテンツを保存するよう指示を受けたノード装置１（例えば、購入予約を行なったノード装置１）が新しいコンテンツをコンテンツ配信システムＳ上に参加する他のノード装置に見えるように公開する際に送信する「公開メッセージ」に含まれるＩＰアドレス等の宛先情報（コンテンツの所在情報）を、受信して取得し、自己の制御部のＲＡＭに記憶されているキャッシュ情報（表１）に書き込む。なお、本実施形態では、コンテンツＩＤと所定の関係を有するノードＩＤにかかるノード装置１のみならず、「公開メッセージ」が各ノード装置間を転送する際の経路上にあるノード装置１も、当該コンテンツの所在情報を後述する制御部のＲＡＭにキャッシュ情報として記憶するよう構成する。
【００７３】
＜１−４．コンテンツの保存指示〜公開〜検索〜取得＞
＜１−４−１．コンテンツの保存指示＞
次に、新しいコンテンツが購入予約を行なったノード装置に保存される手順について説明する。
【００７４】
ディストリビュータ１００が、予約受付サーバ２００から取得した予約リストに基づいて、新たなコンテンツの購入予約をしているノード装置１に当該新たなコンテンツを送信して、保存指示を行なうが、
（Ｉ）ディストリビュータ１００が、新たなコンテンツの購入予約をしている全てのノード装置１に対して、新たなコンテンツを送信して保存指示を行なう方法（繰り返し法）と、
（ＩＩ）ディストリビュータ１００が、新たなコンテンツの購入予約をしている一部のノード装置１に対して、新たなコンテンツを送信して、保存指示を行ない、保存したノード装置１がその他の購入予約をしているノード装置１に対してリレー方式で保存指示を転送していく方法（保存指示の転送）、
について図を用いて説明する。
【００７５】
＜Ｉ.繰り返し法によるコンテンツの保存＞
図５は、新しいコンテンツが購入予約を行なったノード装置に保存される様子の一例を示す図である。
【００７６】
ディストリビュータ１００は、予約受付サーバ２００に対して新たなコンテンツの予約リストを要求し、予約受付サーバ２００は、これに応じて予約リストをディストリビュータ１００に送る。
【００７７】
予約リストには、コンテンツの購入予約を行なったノード装置１のＩＰアドレスが、例えば、表２の如く記載されているので、ディストリビュータ１００は、当該ＩＰアドレスに従って、各ノード装置１に対してコンテンツを送信し、保存指示を行なう。
【００７８】
【表２】
2008020938.tif 000004
【００７９】
表２に示す予約リストの例の場合には、ＩＰアドレス１〜４までの４つの購入予約済みのノード装置１に対してコンテンツを送信し、保存指示を行なう（実線矢印参照）。
【００８０】
図５に示す例は、ディストリビュータ１００から購入予約済みのノード装置１に対してコンテンツを送信しているので、いわゆる「プッシュ式」のコンテンツ保存方法となる。これとは別にディストリビュータ１００が購入予約済みのノード装置１に対して保存指示のみを送信し、コンテンツの取得は保存指示を受けた各購入予約済みのノード装置１が所定のタイミングで（例えば、他の処理を行なっておらず、処理負荷の低いとき）ディストリビュータ１００からダウンロードを行なういわゆる「プル式」のコンテンツ保存方法も可能である。
【００８１】
ディストリビュータ１００が、当該コンテンツの人気度に応じて定めた保存数（例えば、「６」）が、購入予約をしたノード装置１の数（例えば、「４」）よりも多ければ、残りの保存数分（６−４＝２）を、購入予約を行なっていないノード装置にコンテンツを送信し、保存指示を行なう（破線矢印参照）。図５に示す例の場合、ＩＰアドレス１０と１１のノード装置が、購入予約を行なっていないが、保存の指示を受けている。なお、購入予約を行なっていないノード装置を選ぶ場合、ＩＤ空間中にコンテンツが偏りなく散らばるよう、ノードＩＤを考慮して選ぶことが望ましい。
【００８２】
上述したコンテンツの人気度とは、例えば、コンテンツが映画である場合、既に劇場公開されているような場合、その観客動員数に応じて決定したり、コンテスト等の受賞履歴等に基づいて決定したり、或いは、コンテンツが音楽である場合、そのアーティストの過去の作品の売り上げ等を考慮して決定すればよい。
【００８３】
＜ＩＩ.保存指示の転送によるコンテンツの保存＞
図６は、新しいコンテンツが購入予約を行なったノード装置に保存される様子の一例を示す図である。
【００８４】
ディストリビュータ１００は、予約受付サーバ２００に対して新たなコンテンツの予約リストを要求し、予約受付サーバ２００は、これに応じて予約リストをディストリビュータ１００に送る。
【００８５】
予約リストには、コンテンツの購入予約を行なったノード装置１のＩＰアドレスが、上述した表２の如く記載されているので、ディストリビュータ１００は、当該ＩＰアドレスのうち、一つのＩＰアドレス（例えば、一番上に記載されているＩＰアドレス１）のノード装置に対してのみコンテンツを送信し、保存指示を行なう。このとき、予約リストと保存数も共に送信する。
【００８６】
ディストリビュータ１００からコンテンツ、予約リスト及び保存数を受信したＩＰアドレス１のノード装置は、予約リストに掲載された自己のＩＰアドレス以外の一つのＩＰアドレスを（例えば、次に記載されているＩＰアドレス２）に従って、当該ＩＰアドレス２のノード装置に対してコンテンツ、予約リスト及び保存数を送信し、保存指示を行なう。なお、予約リストから自己のＩＰアドレス１を削除し、また、保存数から自己がコンテンツを保存したことに起因して「１」減算して保存数を更新してからＩＰアドレス２のノード装置に送信する。
【００８７】
ＩＰアドレス１のノード装置からコンテンツ、予約リスト及び保存数を受信したＩＰアドレス２のノード装置も、同様にして、予約リストに掲載された自己のＩＰアドレス以外の一つのＩＰアドレスを（例えば、次に記載されているＩＰアドレス３）に従って、当該ＩＰアドレス３のノード装置に対してコンテンツ、予約リスト（自己のＩＰアドレス２は削除する）及び保存数（「１」減算して更新）を送信し、保存指示を行なう。
【００８８】
ＩＰアドレス３のノード装置からＩＰアドレス４のノード装置へも同様にして保存指示を出し、予約リストに掲載された全てのノード装置（ＩＰアドレス１〜４）にコンテンツの保存が完了する。
【００８９】
ＩＰアドレス４のノード装置は、空の状態（ＩＰアドレスの記載がない）の予約リストを受信するが（或いは、予約リストが空であれば、ＩＰアドレス３のノード装置は予約リストをＩＰアドレス４のノード装置に送らなくてもよい。）、保存数が「１」以上ある場合には、当該保存数が「０」となるまで、上記保存指示を繰り返し行なう（破線矢印参照）。何れのノード装置に保存指示を行なうかは、ＩＰアドレス４のノード装置が知っているＩＰアドレス（例えば、テーブル情報に記載）のノード装置に対して行なえばよい。
【００９０】
図６に示す例の場合、ＩＰアドレス４のノード装置は、ＩＰアドレス１０のノード装置に対してコンテンツ、予約リスト（自己のＩＰアドレス４は削除する）及び保存数（「１」減算して更新）を送信し、保存指示を行なう。そして、ＩＰアドレス１０のノード装置も同様に、ＩＰアドレス１１のノード装置に保存指示を行なう（破線矢印参照）。
【００９１】
なお、購入予約を行なっていないノード装置に対して保存指示を行なう場合には、予約リストは既に空の状態であるため、予約リストは送信しなくてもよい。
【００９２】
そして、保存数から「１」減算して更新したときに、「０」となった場合ときに、保存指示の転送を止める。図６に示す例の場合、ディストリビュータ１００が送信した保存数は「６」であり、ＩＰアドレス１〜４、１０、１１の合計６台のノード装置に保存が完了したときに、保存数が「０」になるので、ＩＰアドレス１１のノード装置でコンテンツの保存（保存指示の転送）を終了する。
【００９３】
上述した保存指示の転送（授受）を行なうことにより、互いの存在を知ることとなり、例えば、ＩＰアドレス２のノード装置は、自己の制御部のＲＡＭに記憶されたテーブル情報に、ＩＰアドレス１のノード装置のノード情報（ＩＰアドレス等の宛先情報、ノードＩＤ）が追記され、ノード装置３でも同様にして、制御部のＲＡＭに記憶されたテーブル情報にＩＰアドレス２のノード装置のノード情報が無ければ、当該ＩＰアドレス２のノード装置のノード情報が追記される（テーブル登録）。
【００９４】
また、Ｉ.繰り返し法による場合も、ＩＩ.保存指示の転送による場合も、購入予約を行なっていないノード装置を選ぶ場合、コンテンツ検索がスムーズに行なえるよう、ＩＤ空間中にコンテンツが偏りなく散らばるようにノードＩＤを考慮して選ぶことが望ましい。例えば、ランダムにノードＩＤを生成し、当該ノードＩＤのルートノードへ、保存指示を行うよう構成すればよい。
【００９５】
また、最初に保存数を決める一因となるコンテンツの人気度は、例えば、コンテンツが映画である場合、既に劇場公開されているような場合、その観客動員数に応じて決定したり、コンテスト等の受賞歴等に基づいて決定したり、或いは、コンテンツが音楽である場合、そのアーティストの過去の作品の売り上げ等を考慮して決定すればよい。
【００９６】
＜１−４−２．コンテンツの公開〜検索〜取得＞
次に、保存されたコンテンツが他のノード装置からの配信要求に応じて配信される手順について説明する。
【００９７】
図７は、ＤＨＴによりコンテンツが公開され、他のノード装置からの配信要求に応じるまでの様子の一例を示す図である。
【００９８】
ここでは、ディストリビュータ１００から新たなコンテンツを受信して保存指示を受けたノード装置１ａが当該コンテンツを公開する際の手順について説明する。
【００９９】
先ず、ノード装置１は、コンテンツのタイトル等からコンテンツＩＤを求め、当該コンテンツＩＤと同じノードＩＤを持つノード装置に向けて（このノード装置が実在するか否かはこの時点ではわからない。）「公開メッセージ」を送信する。
【０１００】
ここでは、購入予約を行ない、ディストリビュータ１００から新たなコンテンツの保存指示を受けたノードＩＤ「12003030」のノード装置１ａが、当該新たなコンテンツ（コンテンツＩＤ「31330012」）を公開する際の手順について説明する。
【０１０１】
まず、ノード装置１ａは、自己が制御部のＲＡＭに記憶しているテーブル情報のレベル１のテーブルを参照して、コンテンツＩＤ「31330012」と同じエリアのノードＩＤを持つノード装置に対して「公開メッセージ」を送信する。つまり、コンテンツＩＤ「31330012」は「3XXXXXXX」のエリアであるため、当該「3XXXXXXX」のエリアに属すノード装置１のうち、ＩＰアドレス等の宛先情報を知っている（すなわち、テーブル情報にＩＰアドレス等の宛先情報が記憶されている）ノード装置１ｂに対して「公開メッセージ」を送信する。
【０１０２】
図７に示す例に拠れば、ノードＩＤが「30100000」であるノード装置１ｂのＩＰアドレス等の宛先情報がノード装置１ａのテーブル情報に記憶されていたので、ノード装置１ａは、ノードＩＤが「30100000」であるノード装置１ｂに対して「公開メッセージ」を送信する。
【０１０３】
次に、「公開メッセージ」を受信したノード装置１ｂは、当該ノード装置１ｂ自身が制御部のＲＡＭに記憶しているテーブル情報のレベル２のテーブルを参照して、「31XXXXXX」のエリアに属すノード装置１のうち、ＩＰアドレス等の宛先情報を知っているノード装置１ｃ（ノードＩＤ「31012001」）に対して「公開メッセージ」を転送する。
【０１０４】
このように、コンテンツＩＤの桁を上から順に適合していく要領で「公開メッセージ」の転送が進み、最終的にノード装置１ｄに辿り着く。
【０１０５】
そして、最終的に辿り着いた当該ノード装置１ｄは、「公開メッセージ」に含まれるコンテンツＩＤ、コンテンツを保存するノード装置１ａのＩＰアドレス「ＩＰアドレス１」をコンテンツの所在情報として、自己の制御部のＲＡＭに記憶しているキャッシュ情報に記憶する。また、本実施形態では、コンテンツを保存するノード装置１ａから、テーブル情報に従って、「公開メッセージ」を転送（中継）したノード装置１ｂ及び１ｃも、「公開メッセージ」に含まれるコンテンツＩＤ、コンテンツを保存するノード装置１ａのＩＰアドレス「ＩＰアドレス１」をコンテンツの所在情報として、自己の制御部のＲＡＭに記憶しているキャッシュ情報に記憶する。
【０１０６】
そして、コンテンツの視聴を所望する際にも、コンテンツＩＤを含む当該コンテンツの所在を問い合わせる「検索メッセージ」が、当該「検索メッセージ」に含まれるコンテンツＩＤをキーとするルーティングに従って、各ノード装置間を転送し、当該コンテンツのキャッシュ情報をＲＡＭに記憶しているノード装置に辿り着くと、当該ノード装置が、コンテンツを保存するノード装置に対して、コンテンツの送信を指示する「コンテンツ送信指示メッセージ」を送信し、これを受けたノード装置が「検索メッセージ」の送信元のノード装置に対してコンテンツを配信する。
【０１０７】
図７に示すの例の場合、ノード装置１ｅ（リクエスタ）から送信された検索対象のコンテンツのコンテンツＩＤ「31330012」を含む「検索メッセージ」は、他のノード装置間を経由して当該コンテンツＩＤ「31330012」の所在情報を有するノード装置１ｃに辿り着く。そして、ノード装置１ｃは、ノード装置１ａの「ＩＰアドレス１」を取得して、当該ＩＰアドレス１に従って、ノード装置１ａに対して、「検索メッセージ」の送信元のノード装置１ｅのＩＰアドレスを含む「コンテンツ送信指示メッセージ」を送信する。そして、ノード装置１ａは、「コンテンツ送信指示メッセージ」に含まれるノード装置１ｅのＩＰアドレスに従って、ノード装置１ｅにコンテンツを配信する。
【０１０８】
この例では、コンテンツの所在情報を有するノード装置１ｃが、コンテンツを保存するノード装置１ａに、「検索メッセージ」の送信元のノード装置１ｅに対してコンテンツを送信するよう指示したが、コンテンツの配信を希望するノード装置１ｅが、コンテンツの所在情報を有するノード装置１ｃから、コンテンツの所在情報を受信してノード装置１ｅからノード装置１ａに対してアクセスして、コンテンツの配信を行なうよう構成しても良い。
【０１０９】
上述したメッセージ等の情報の授受を行なうことにより、互いの存在を知ることとなり、例えば、ノード装置１ｅでは、自己の制御部のＲＡＭに記憶されたテーブル情報に、ノード装置１ｃのノード情報（ＩＰアドレス等の宛先情報、ノードＩＤ）が追記される。
【０１１０】
また、コンテンツを保存するノード装置１ａと、コンテンツの配信を希望するノード装置１ｅとが、コンテンツの配信という情報の授受を行なうことにより、互いの存在を知ることとなり、ノード装置１ａでは、制御部のＲＡＭに記憶されたテーブル情報に、ノード装置１ｅのノード情報が無ければ、当該ノード装置１ｅのノード情報が追記され、ノード装置１ｅでも同様にして、制御部のＲＡＭに記憶されたテーブル情報にノード装置１ａのノード情報が無ければ、当該ノード装置１ａのノード情報が追記される。
【０１１１】
＜２.各装置の構成及び機能＞
＜２−１.ノード装置の構成及び機能＞
次に、ノード装置１の構成及び機能について説明する。図８は、ノード装置１の概略構成例を示すブロック図である。同図に示すように、実施形態に係るノード装置１は、演算機能を有するＣＰＵと、テーブル情報、キャッシュ情報、カタログ情報等を記憶する作業用ＲＡＭ（Random Access Memory）と、各種データ及びプログラム（本発明の制御プログラムを含む）を記憶するＲＯＭ等と、から構成されたコンピュータとしての制御部１１と、コンテンツデータやプログラム等を記憶保存（格納）するためのＨＤＤ等から構成された記憶部１２と、受信したコンテンツデータを一時蓄積するバッファメモリ１３と、コンテンツデータに含まれるエンコードされたビデオデータ（映像情報）及びオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）するデコーダ部１４と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部１５と、当該映像処理部１５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部１６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ（Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部１７と、当該音声処理部１７から出力されたオーディオ信号を音波として出力するスピーカ１８と、ネットワーク８を通じて他のノード装置１、ディストリビュータ１００、予約受付サーバ２００及びコンテンツプールサーバ３００との間の情報の通信制御を行なうための通信部２０と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部１１に対して与える入力部（例えば、キーボード、マウス、或いは、操作パネル等）２１と、を備えて構成され、制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４及び通信部２０はバス２３を介して相互に接続されている。
【０１１２】
そして、制御部１１におけるＣＰＵが記憶部１２等に記録された各種プログラムを実行することにより、制御部１１が、実施形態に係るノード装置１としての全体動作を統括制御し、上記各構成部材と協動して、保存制御手段、事前予約情報受信手段、保存指示手段、保存数情報受信手段、判定手段、再生処理手段及び共有情報取得手段として機能する。
【０１１３】
＜２−２.ディストリビュータの構成及び機能＞
続いて、ディストリビュータ１００の概略構成について図９を用いて説明する。なお、図９は実施形態に係るディストリビュータ１００の概略構成を示すブロック図である。
【０１１４】
図９に示すように、実施形態に係る配信システムに含まれるディストリビュータ１００は、演算機能を有するＣＰＵ、作業用ＲＡＭ（Random Access Memory）、各種データ及びプログラムを記録するＲＯＭ（Read Only Memory）等から構成された制御部１０１と、投入するコンテンツデータや投入済みのコンテンツデータ及びその他の必要なプログラム等を記録保存（格納）するためのＨＤＤ（Hard Disc Drive）等から構成された記憶部１０２と、ネットワークを通じて配信システムに含まれる各ノード装置１、予約受付サーバ２００及びコンテンツプールサーバ３００との間の情報の通信制御を行なうための通信部１０３と、当該ディストリビュータ１００を操作する操作者からの指示を受け付け当該指示に応じた指示信号を制御部１０１に出力する入力部（例えば、キーボード、マウス或いは、操作パネル等）１０４と、を備えて構成され、制御部１０１、記憶部１０２及び通信部１０３はバス１０５を介して相互にデータの授受が可能に接続されている。
【０１１５】
そして、制御部１０１におけるＣＰＵが記憶部１０２等に記録された各種プログラムを実行することにより、制御部１０１が、実施形態に係るディストリビュータ１００としての全体動作を統括制御し、上記各構成部材と協動して当該ディストリビュータ１００を本発明における保存指示装置として機能させる。
【０１１６】
＜２−３.予約受付サーバの構成及び機能＞
続いて、予約受付サーバ２００の概略構成について図１０を用いて説明する。なお、図１０は実施形態に係る予約受付サーバ２００の概略構成を示すブロック図である。
【０１１７】
図１０に示すように、実施形態に係る配信システムに含まれる予約受付サーバ２００は、演算機能を有するＣＰＵ、作業用ＲＡＭ（Random Access Memory）、各種データ及びプログラムを記録するＲＯＭ（Read Only Memory）等から構成された制御部２０１と、公開予定の各コンテンツにかかる事前予約情報及びその他の必要なプログラム等を記憶保存（格納）するためのＨＤＤ（Hard Disc Drive）等から構成された記憶部２０２と、ネットワークを通じて配信システムに含まれる各ノード装置１、ディストリビュータ１００及びコンテンツプールサーバ３００との間の情報の通信制御を行なうための通信部２０３と、当該予約受付サーバ２００を操作する操作者からの指示を受け付け当該指示に応じた指示信号を制御部２０１に出力する入力部（例えば、キーボード、マウス或いは、操作パネル等）２０４と、を備えて構成され、制御部２０１、記憶部２０２及び通信部２０３はバス２０５を介して相互にデータの授受が可能に接続されている。
【０１１８】
記憶部２０２は、公開予定のコンテンツ毎に、当該コンテンツに対して購入予約を行なったノード装置１のＩＰアドレスを予約リスト（事前予約情報の一例）として記憶する（表２参照。）。
【０１１９】
そして、ディストリビュータ１００から予約リストの要求がされると、通信部２０３を介して当該予約リストをディストリビュータ１００に送信する。
【０１２０】
制御部２０１におけるＣＰＵが記憶部２０２等に記録された各種プログラムを実行することにより、制御部２０１が、実施形態に係る予約受付サーバ２００としての全体動作を統括制御する。
【０１２１】
＜２−４.コンテンツプールサーバの構成及び機能＞
続いて、コンテンツプールサーバ３００の概略構成について図９を用いて説明する。なお、図１１は実施形態に係るコンテンツプールサーバ３００の概略構成を示すブロック図である。
【０１２２】
図１１に示すように、実施形態に係る配信システムに含まれるコンテンツプールサーバ３００は、演算機能を有するＣＰＵ、作業用ＲＡＭ（Random Access Memory）、各種データ及びプログラムを記録するＲＯＭ（Read Only Memory）等から構成された制御部３０１と、システム内に投入されている全てのコンテンツに係るコンテンツデータ及びその他の必要なプログラム等を記録保存（格納）するためのＨＤＤ（Hard Disc Drive）等から構成された記憶部３０２と、ネットワークを通じて配信システムに含まれる各ノード装置１、ディストリビュータ１００及び予約受付サーバ２００との間の情報の通信制御を行なうための通信部３０３と、当該コンテンツプールサーバ３００を操作する操作者からの指示を受け付け当該指示に応じた指示信号を制御部３０１に出力する入力部（例えば、キーボード、マウス或いは、操作パネル等）３０４と、を備えて構成され、制御部３０１、記憶部３０２及び通信部３０３はバス３０５を介して相互にデータの授受が可能に接続されている。
【０１２３】
記憶部３０２は、既にシステム内に投入されている全てのコンテンツに係るコンテンツデータを、コンテンツＩＤと対応付けて記憶する（表３参照。）。
【０１２４】
【表３】
2008020938.tif 000005
【０１２５】
そして、制御部３０１におけるＣＰＵが記憶部３０２等に記録された各種プログラムを実行することにより、制御部３０１が、実施形態に係るコンテンツプールサーバ３００としての全体動作を統括制御する。
【０１２６】
＜３．各装置の処理＞
＜３−１.予約受付サーバ２００の予約処理＞
先ず、予約受付サーバ２００における予約処理について図１２を参照して説明する。当該予約処理は、制御部２０１の制御に基づいて行われる。
【０１２７】
先ず、予約受付サーバ２００の電源がオフとされたか否かを判定し（ステップＳ１）、オフとされていない場合（ステップ１：Ｎｏ）には、メッセージを受信したか否かを判定する（ステップＳ２）。メッセージを受信していない場合（ステップＳ２：Ｎｏ）には、その他の処理（ステップＳ３）が実行されて電源がオフとされる（ステップＳ１：Ｙｅｓ）までステップＳ１〜３の処理が繰り返し行なわれる。その他の処理とは、予約受付サーバ２００自体の予約処理以外の他の処理（表示処理やバックアップ処理等の通常の処理等）である。
【０１２８】
そして、ステップＳ２にてメッセージを受信した場合（ステップＳ２：Ｙｅｓ）には、システムＳに含まれるノード装置１からのコンテンツの購入予約メッセージであるか否かを判定し（ステップＳ４）、コンテンツの購入予約メッセージである場合（ステップ４：Ｙｅｓ）には、指定されたコンテンツの予約リスト（表２参照）へ、メッセージ送信元のノード装置のＩＰアドレスを追加して（ステップＳ５）、ステップＳ１の処理へ移行する。
【０１２９】
一方、コンテンツの購入予約メッセージでない場合（ステップＳ４：Ｎｏ）には、ディストリビュータ１００からのコンテンツの予約リスト要求メッセージであるか否かを判定し（ステップＳ６）、コンテンツの予約リスト要求メッセージである場合（ステップ６：Ｙｅｓ）には、指定されたコンテンツの予約リストを、ディストリビュータ１００へ送信して（ステップＳ７）、送信した予約リストをリセットしてステップＳ１の処理へ移行する。
【０１３０】
このように、ステップＳ１〜７の処理が、電源がオフとされる（ステップＳ１：Ｙｅｓ）まで繰り返し行なわれる。
【０１３１】
＜３−２.ディストリビュータ１００の保存指示処理＞
ディストリビュータ１００における保存指示処理について図１３及び図１４を参照して説明する。当該保存指示処理は、制御部１０１の制御に基づいて本発明の保存指示プログラムが実行されることにより行われる。
【０１３２】
＜３−２−１. 繰り返し法による保存指示処理＞
先ず、図５を用いて説明した繰り返し法によるコンテンツ保存の際の保存指示処理について図１３を用いて説明する。
【０１３３】
ディストリビュータ１００の電源がオフとされたか否かを判定し（ステップＳ１１）、オフとされていない場合（ステップ１１：Ｎｏ）には、新規コンテンツの投入が指示されたか否かを判定する（ステップＳ２）。新規コンテンツの投入の指示は、ディストリビュータ１００の操作者が入力部１０４を操作することにより行なわれたり、或いは、他のシステム運営者の管理するサーバ等から通信部１０３を介して新規コンテンツ投入開始の指示を受けることにより行なわれる。
【０１３４】
新規コンテンツの投入が指示されていない場合（ステップＳ１２：Ｎｏ）には、その他の処理（ステップＳ１３）が実行されて電源がオフとされる（ステップＳ１１：Ｙｅｓ）までステップＳ１１〜１３の処理が繰り返し行なわれる。その他の処理とは、保存指示処理以外のディストリビュータ１００自体の他の処理（表示処理やバックアップ処理等の通常の処理等）である。
【０１３５】
そして、ステップＳ１２にて新規コンテンツの投入が指示された場合（ステップＳ１２：Ｙｅｓ）には、制御部１０１は共用情報取得手段として機能し、記憶部１０２から投入すべき新規コンテンツを取得すると共に、予約受付サーバ２００へ、当該新規コンテンツの予約リスト要求メッセージを送信する（ステップＳ１４）。そして、制御部１０１は事前予約情報取得手段として機能し、予約受付サーバ２００から予約リストを取得する（ステップＳ１５）。
【０１３６】
次に、制御部１０１は保存数決定手段及び保存指示手段として機能し、新規コンテンツの人気度から保存数を決定し（ステップＳ１６）、予約リストと決定した保存数に基づいて、保存数分のノード装置に新規コンテンツを含む保存指示情報の一例としての保存指示メッセージを送信し（ステップＳ１７）、ステップＳ１１の処理へ移行する。ステップＳ１７についてより具体的に説明すると、図５を用いて上述したように、先ず、予約リストに掲載された全てのＩＰアドレスのノード装置に対して、新規コンテンツと、当該新規コンテンツの保存を指示する保存指示メッセージを送信する（図５の実線矢印参照）。そして、予約リストに掲載された全てのＩＰアドレスが、ステップＳ６で決定した保存数に満たない場合には、その残数分のシステムＳに参加している予約リストにない他のノード装置に対して、新規コンテンツを含む保存を指示する保存指示メッセージを送信する（図５の破線矢印参照）。
【０１３７】
このように、ステップＳ１１〜１７の処理が、電源がオフとされる（ステップＳ１１：Ｙｅｓ）まで繰り返し行なわれる。
【０１３８】
＜３−２−２. 保存指示の転送による保存指示処理＞
次に、図６を用いて説明した保存指示の転送によるコンテンツ保存の際の保存指示処理について図１４を用いて説明する。
【０１３９】
先ず、ディストリビュータ１００の電源がオフとされたか否かを判定し（ステップＳ２１）、オフとされていない場合（ステップ２１：Ｎｏ）には、新規コンテンツの投入が指示されたか否かを判定する（ステップＳ２２）。
【０１４０】
新規コンテンツの投入が指示されていない場合（ステップＳ２２：Ｎｏ）には、その他の処理（ステップＳ２３）が実行されて電源がオフとされる（ステップＳ２１：Ｙｅｓ）までステップＳ２１〜２３の処理が繰り返し行なわれる。
【０１４１】
そして、ステップＳ２２にて新規コンテンツの投入が指示された場合（ステップＳ２２：Ｙｅｓ）には、制御部１０１は共用情報取得手段として機能し、記憶部１０２から投入すべき新規コンテンツを取得すると共に予約受付サーバ２００へ、当該新規コンテンツの予約リスト要求メッセージを送信する（ステップＳ２４）。そして、制御部１０１は事前予約情報取得手段として機能し、予約受付サーバ２００から予約リストを取得する（ステップＳ２５）。
【０１４２】
次に、取得した予約リストが空（ＩＰアドレスが掲載されていない）か否かを判定し（ステップＳ２６）、空である場合（ステップＳ２６：Ｙｅｓ）には、ステップＳ２８に移行し、空で無い場合（ステップＳ２７：Ｎｏ）には、当該予約リストもコンテンツと一緒に送信するため、コンテンツデータに当該予約リストを予約リスト情報として付加する（ステップＳ２７）。
【０１４３】
続いて、制御部１０１は保存数決定手段として機能し、新規コンテンツの人気度から保存数を決定し、当該保存数もコンテンツと一緒に送信するため、コンテンツデータに当該保存数を保存数情報として付加する（ステップＳ２８）。
【０１４４】
そして、制御部１０１は保存指示手段として機能し、予約リストと決定した保存数に基づいて、ノード装置に新規コンテンツを含む保存指示メッセージを送信し（ステップＳ２９）、ステップＳ２１の処理へ移行する。
【０１４５】
ステップＳ２９の処理についてより具体的に説明すると、図６を用いて上述したように、先ず、予約リストにＩＰアドレスが掲載されている場合には、当該ＩＰアドレスの中から、例えば、一つのＩＰアドレスにかかるノード装置に対して、新規コンテンツと保存を指示する保存指示メッセージ（保存数情報、予約リスト情報を含む）を送信する。予約リストが空であれば、保存数分の新規コンテンツを保存すべく、システムＳに参加している何れかのノード装置に対して新規コンテンツと保存を指示する保存指示メッセージ（保存数情報、予約リスト情報を含む）を送信する。
【０１４６】
＜３−３.コンテンツプールサーバ３００のコンテンツ配信補助処理＞
コンテンツプールサーバ３００におけるコンテンツ配信補助処理について図１５を参照して説明する。当該コンテンツ配信補助処理は、制御部３０１の制御に基づいて行われる。
【０１４７】
先ず、コンテンツプールサーバ３００の電源がオフとされたか否かを判定し（ステップＳ８１）、オフとされていない場合（ステップＳ８１：Ｎｏ）には、メッセージを受信したか否かを判定する（ステップＳ８２）。メッセージを受信していない場合（ステップＳ８２：Ｎｏ）には、その他の処理（ステップＳ８３）が実行されて電源がオフとされる（ステップＳ８１：Ｙｅｓ）までステップＳ８１〜８３の処理が繰り返し行なわれる。その他の処理とは、コンテンツ配信補助処理以外のコンテンツプールサーバ３００自体の他の処理（表示処理やバックアップ処理等の通常の処理等）である。
【０１４８】
そして、ステップＳ８２にてメッセージを受信した場合（ステップＳ８２：Ｙｅｓ）には、システムＳに含まれるノード装置１からのコンテンツの配信要求メッセージであるか否かを判定する（ステップＳ８４）。
【０１４９】
判定の結果、コンテンツの配信要求メッセージでない場合（ステップＳ８４：Ｎｏ）には、ステップＳ８３へ移行し、コンテンツの配信要求メッセージである場合（ステップＳ８４：Ｙｅｓ）には、メッセージの送信元のノード装置（リクエスタ）に対して、指定されたコンテンツを配信（送信）し（ステップＳ８５）、ステップＳ８１の処理へ移行する。
【０１５０】
このように、ステップＳ８１〜Ｓ８５の処理が、電源がオフとされる（ステップＳ８１：Ｙｅｓ）まで繰り返し行なわれる。
【０１５１】
＜３−４.ノード装置１の処理＞
ノード装置１における処理について図１６〜図２２を参照して説明する。当該処理は、制御部１１の制御に基づいて行われる。
【０１５２】
先ず、ノード装置１の電源がオフとされたか否かを判定し（ステップＳ３１）、オフとされていない場合（ステップＳ３１：Ｎｏ）には、「システム参加処理」（ステップＳ３２）、「コンテンツの予約処理」（ステップＳ３３）、「コンテンツの視聴処理」（ステップＳ３４）、が順に行なわれる。
【０１５３】
そして、メッセージを受信したか否かが判定され（ステップＳ３５）、メッセージを受信した場合（ステップＳ３２：Ｙｅｓ）には、「メッセージに基づく処理」（ステップＳ３６）、「テーブル登録処理」（ステップＳ３７）を行ない、メッセージを受信していない場合（ステップＳ３５：Ｎｏ）には、コンテンツを受信したか否かを判定する（ステップＳ３８）。
【０１５４】
そして、コンテンツを受信した場合（ステップＳ３８：Ｙｅｓ）には、「メッセージに基づく処理」が行なわれ（ステップＳ３９）、コンテンツを受信していない場合（ステップＳ３８：Ｎｏ）には、「その他の処理」（ステップＳ４０）が実行されて電源がオフとされる（ステップＳ３１：Ｙｅｓ）までステップＳ３１〜４０の処理が繰り返し行なわれる。「その他の処理」とは、ノード装置１自体の予約処理以外の他の処理（表示処理やバックアップ処理等の通常の処理等）である。
【０１５５】
以下、上記ステップにおける各処理について説明する。
【０１５６】
■ステップＳ３３における予約処理
上記ステップＳ３３における予約処理について図１７を用いて説明する。
【０１５７】
先ず、コンテンツの購入予約が指示されたか否かを判定する（ステップＳ４１）。購入予約の指示とは、具体的には、ディストリビュータ１００（或いは、システム運営者が設置した図示しない他の管理装置）から受信したシステム内に投入予定のコンテンツ（この時点では未公開）の情報を表示部１６に表示し、これを確認したユーザが、入力部２１を操作して、購入予約を希望するコンテンツを指定してコンテンツの購入予約を指示することである。
【０１５８】
そして、コンテンツの購入予約が指示されていない場合（ステップ４１：Ｎｏ）には処理を終了し、コンテンツの購入予約が指示された場合（ステップＳ４１：Ｙｅｓ）には、指定されたコンテンツにかかる購入予約メッセージを、予約受付サーバ２００へ送信して（ステップＳ４２）、処理を終了する。
【０１５９】
■ステップＳ３４における視聴処理
上記ステップＳ３４における視聴処理について図１８を用いて説明する。
【０１６０】
先ず、コンテンツの視聴が指示されたか否かを判定する（ステップＳ５１）。視聴の指示とは、例えば、ユーザが入力部２１を操作して、視聴したいコンテンツを指定して視聴を指示（視聴要求）することである。
【０１６１】
そして、コンテンツの視聴が指示されていない場合（ステップ５１：Ｎｏ）には処理を終了し、コンテンツの視聴が指示された場合（ステップＳ５１：Ｙｅｓ）には、制御部１１は判定手段として機能し、指定されたコンテンツが、自己の記憶部１２に記憶されているか否かを判定する（ステップＳ５２）。自己の記憶部１２に記憶されている場合とは、例えば、ディストリビュータ１００（又は、他のノード装置１）から、当該コンテンツの保持を指示され、当該コンテンツを取得した場合、或いは過去に既に他のノード装置１から配信を受けていた（ダウンロード済）場合等である。
【０１６２】
指定されたコンテンツが、自己の記憶部１２に記憶されている場合（ステップＳ５２：Ｙｅｓ）には、制御部１１は再生処理手段として機能し、当該記憶部１２に記憶されたコンテンツの再生を開始する（ステップＳ５３）。
【０１６３】
ステップＳ５２において、指定されたコンテンツが、自己の記憶部１２に記憶されていない場合（ステップＳ５２：Ｎｏ）には、当該コンテンツの所在がキャッシュ情報として自己の記憶部１２に記憶されているか否かを判定する（ステップＳ５４）。
【０１６４】
記憶されている場合（ステップＳ５４：Ｙｅｓ）には、キャッシュ情報に従ってコンテンツを保持するノード装置１に対して、コンテンツを送信するよう指示する「コンテンツ送信指示メッセージ」を送信し（ステップＳ５５）して処理を終了する。
【０１６５】
他方、コンテンツの所在がキャッシュ情報として記憶されていない場合（ステップＳ５４：Ｎｏ）には、制御部１１は共有情報取得手段として機能し、通常のコンテンツ検索により他のノード装置１からコンテンツを取得する。具体的には、先ず、コンテンツ名等からコンテンツＩＤを生成し（各ノード装置にシステム運営者等から配布されたコンテンツのカタログリストにコンテンツＩＤが含まれている場合には、これを利用する）、当該コンテンツＩＤをキーに、テーブル情報を参照して「検索メッセージ」の送信先のノード装置１を決定する。このとき、自分のノードＩＤよりも、コンテンツＩＤと上記「所定の関係」となるようなノードＩＤがテーブル情報になく、自分が当該コンテンツのルートノードである場合（ステップＳ５６：Ｙｅｓ）には、本来自分がキャッシュ情報を所持しているべきであるところ、ステップＳ５４の判定でキャッシュ情報を所持せず判定されている。従って、コンテンツプールサーバ３００へコンテンツを要求（ステップＳ５７）して処理を終了する。
【０１６６】
自分が当該コンテンツのルートノードではない場合（ステップＳ５６：Ｎｏ）には、テーブル情報を参照して決定した「検索メッセージ」の送信先のノード装置１に対して、「検索メッセージ」を送信（ステップＳ５８）して処理を終了する。「検索メッセージ」は、複数のノード装置間を転送され、ルートノードに辿り着き、ルートノードがコンテンツを保存しているノード装置に対して「コンテンツ送信指示メッセージ」を送信することとなる（図７参照）。
【０１６７】
このように、購入予約をしていれば、コンテンツは記憶部１２に記憶されているので、コンテンツを記憶部１２から取得してすぐに再生処理を行なうことができる。
【０１６８】
■ステップＳ３６におけるメッセージに基づく処理
上記ステップＳ３６におけるメッセージに基づく処理について図１９を用いて説明する。
【０１６９】
先ず、コンテンツの「検索メッセージ」を受信したか否かを判定する（ステップＳ７１）。コンテンツの「検索メッセージ」を受信した場合には（ステップＳ７１：Ｙｅｓ）、指定されたコンテンツの所在情報がキャッシュ情報に登録されているか否かを判定し（ステップＳ７２）、登録されていれば（ステップＳ７２：Ｙｅｓ）、コンテンツを保持するノード装置に、リクエスタに対して、コンテンツを送信するよう指示する「コンテンツ送信指示メッセージ」を送信し（ステップＳ７３）、処理を終了する。
【０１７０】
一方、指定されたコンテンツの所在情報がキャッシュ情報に登録されていない場合（ステップＳ７２：Ｎｏ）には、テーブル情報を参照して、コンテンツの「検索メッセージ」の送信先（転送先）があるか否かを判定し（ステップＳ７４）、送信先がなければ（ステップＳ７４：Ｙｅｓ）、そのまま処理を終了し、送信先があれば（ステップＳ７４：Ｎｏ）、「検索メッセージ」を転送して（ステップＳ７５）、処理を終了する。
【０１７１】
また、ステップＳ７１において、コンテンツの「検索メッセージ」を受信していない場合には（ステップＳ７１：Ｎｏ）、「コンテンツ送信指示メッセージ」を受信したか否かを判定する（ステップＳ７６）。「コンテンツ送信指示メッセージ」を受信した場合には（ステップＳ７６：Ｙｅｓ）、指定されたコンテンツをリクエスタに送信し（ステップＳ７７）、処理を終了する。
【０１７２】
一方、「コンテンツ送信指示メッセージ」を受信していない場合には（ステップＳ７６：Ｎｏ）、処理を終了する。
【０１７３】
■ステップＳ３７におけるテーブル登録処理
上記ステップＳ３７におけるテーブル登録処理について図２０を用いて説明する。
【０１７４】
先ず、メッセージの授受や、コンテンツの授受、その他の情報の授受等、他のノード装置１と通信があったか否かを判定する（ステップＳ９１）。他のノード装置１と通信がなければ（ステップＳ９１：Ｎｏ）、処理を終了し、他のノード装置１と通信があった場合（ステップＳ９１：Ｙｅｓ）には、通信があった他のノード装置１のノードＩＤ及びＩＰアドレスを取得し（ステップＳ９２）、テーブル情報に登録（記憶）して（ステップＳ９３）処理を終了する。
【０１７５】
■ステップＳ３９におけるコンテンツ受信処理
続いて、上記ステップＳ３９におけるコンテンツ受信処理について説明する。
【０１７６】
＜Ｉ＞繰り返し法によるコンテンツ保存の際のコンテンツ受信処理
先ず、図５を用いて説明した繰り返し法によるコンテンツ保存の際のコンテンツ受信処理について図２１を用いて説明する。
【０１７７】
ディストリビュータ１００から、新規コンテンツと共に「保存指示メッセージ」を受信したか否かを判定する（ステップＳ１０１）。「保存指示メッセージ」を受信した場合には（ステップＳ１０１：Ｙｅｓ）、制御部１１は保存制御手段として機能し、受信した新規コンテンツを記憶手段としての記憶部１２に保存し（ステップＳ１０２）、当該新規コンテンツの公開処理（パブリッシュ）を行ない（ステップＳ１０３）、処理を終了する。
【０１７８】
一方、「保存指示メッセージ」を受信していない場合には（ステップＳ１０１：Ｎｏ）、上述した「視聴処理」（図１８）におけるステップＳ５５、Ｓ５７及びＳ５８の処理にて他のノード装置或いはコンテンツプールサーバ３００に要求（検索）したコンテンツの受信か否か、そして要求（検索）した全てのコンテンツを受信したか否かを判定し（ステップＳ１０４）、要求（検索）した全てのコンテンツを受信した場合（ステップＳ１０４：Ｙｅｓ）には、当該コンテンツを記憶部１２に保存して、コンテンツの公開処理（パブリッシュ）を行ない（ステップＳ１０５）、再生処理を開始（ステップＳ１０６）して処理を終了する。要求（検索）したコンテンツの受信でない場合、或いはステップＳ５５の処理にて要求した全てのコンテンツを受信していない場合（ステップＳ１０４：Ｎｏ）には処理を終了する。このように、要求したコンテンツが複数あるときは、要求したコンテンツが全て揃ったときにステップＳ１０６にて再生処理を開始するが、受信できなかったコンテンツがある場合には、図２１の処理を終了後、或いは処理終了前に、再検索を行なったり、又はコンテンツプールサーバ３００にコンテンツを要求する。
【０１７９】
＜II＞保存指示の転送によるコンテンツ保存の際のコンテンツ受信処理
次に、図６を用いて説明した保存指示の転送によるコンテンツ保存の際のコンテンツ受信処理について図２２を用いて説明する。
【０１８０】
ディストリビュータ１００又は他のノード装置１から、新規コンテンツと共に保存数情報を含む「保存指示メッセージ」を受信したか否かを判定し（ステップＳ１１１）、「保存指示メッセージ」を受信した（制御部１１が保存数情報受信手段として機能した）場合には（ステップＳ１１１：Ｙｅｓ）、制御部１１は保存制御手段として機能し、受信した新規コンテンツを記憶部１２に保存し、当該新規コンテンツの公開処理（パブリッシュ）を行なう（ステップＳ１１２）。
【０１８１】
そして、自己が記憶部１２に保存したことに起因して保存数を「１」減算して更新し（ステップ１１３）、「保存指示メッセージ」に含まれる保存数情報で示されるコンテンツの保存数が、「０」か否かを判定し（ステップＳ１１４）、「０」である場合には（ステップＳ１１４：Ｙｅｓ）、処理を終了し、「０」でない場合には（ステップＳ１１４：Ｎｏ）、次に、「保存指示メッセージ」に予約リスト情報が含まれているか否かを判定する（ステップＳ１１５）。そして、予約リスト情報が含まれている場合（ステップＳ１１５：Ｙｅｓ）（事前予約情報取得手段）には、予約リスト情報が示す予約リストに、自己のＩＰアドレスがあるか否かを判定する（ステップＳ１１６）。
【０１８２】
予約リストに、自己のＩＰアドレスがある場合（ステップＳ１１６：Ｙｅｓ）には、自分のＩＰアドレスを予約リストから削除して予約リストを更新し（ステップＳ１１７）、予約リストが空（ＩＰアドレスが掲載されていない）か否かを判定し（ステップＳ１１８）、空である場合（ステップＳ１１８：Ｙｅｓ）には、予約リストを削除し（ステップＳ１１９）、空で無い場合（ステップＳ１１８：Ｎｏ）には、ステップＳ１２０に移行する。また、ステップＳ１１６の処理において、予約リストに自己のＩＰアドレスがない場合（ステップＳ１１６：Ｎｏ）、ステップＳ１２０へ移行する。
【０１８３】
そして、ステップＳ１２０では、変数「ｎｕｍ」を１と初期化し（ステップＳ１２０）、変数「ｎｕｍ」が予約リストに登録されているＩＰアドレスの数以下か否かを判定する（ステップＳ１２１）。
【０１８４】
変数「ｎｕｍ」が予約リストに登録されているＩＰアドレスの数以下である場合（ステップＳ１２１：Ｙｅｓ）には、制御部１１は保存指示手段として機能し、予約リストの「ｎｕｍ」番目のＩＰアドレスに係るノード装置１に、新規コンテンツと保存指示メッセージ（保存数情報、予約リスト情報を含む）を送信し、送信できたか否かを判定する（ステップＳ１２２）。そして、新規コンテンツと保存指示メッセージを送信できた場合（ステップＳ１２２：Ｙｅｓ）には、処理を終了し、他方、新規コンテンツと保存指示メッセージを送信できなかった場合（ステップＳ１２２：Ｎｏ）には、変数「ｎｕｍ」に１を加算し（ステップＳ１２３）、ステップＳ１２１の処理に戻る。
【０１８５】
また、ステップＳ１１５の処理において、「保存指示メッセージ」に予約リスト情報が含まれていない場合（ステップＳ１１５：Ｎｏ）、及び、ステップＳ１２１の処理において、変数「ｎｕｍ」が予約リストに登録されているＩＰアドレスの数以下でないと判定された場合（ステップＳ１２１：Ｎｏ）には、システムＳに参加している何れかのノード装置１を選択し、当該ノード装置１に新規コンテンツと保存指示メッセージを送信する。具体的には、自己が知っている、システムＳに参加しているノード装置１であればよいので、例えば、テーブル情報に登録されているノード装置１から選んで送信すればよい。また、ステップＳ１１５：Ｎｏからの処理の場合には、保存指示メッセージには保存数情報を含み、ステップＳ１２１Ｎｏからの処理の場合には、保存指示メッセージには保存数情報と予約リスト情報を含む。
【０１８６】
最初の処理、「保存指示メッセージ」を受信していない場合には（ステップＳ１１１：Ｎｏ）、上述した「視聴処理」（図１８）におけるステップＳ５５の処理にて要求（検索）したコンテンツの受信か否かを判定し（ステップＳ１２５）、要求（検索）したコンテンツの受信である場合（ステップＳ１２５：Ｙｅｓ）には、当該コンテンツを記憶部１２に保存して、コンテンツの公開処理（パブリッシュ）を行ない（ステップＳ１２６）、再生処理を開始（ステップＳ１２７）して処理を終了する。要求（検索）したコンテンツの受信でない場合には（ステップＳ１２５：Ｎｏ）処理を終了する。
【０１８７】
以上説明した本実施の形態によれば、ディストリビュータ１００が、新規コンテンツを、当該新規コンテンツを予約したノード装置１の情報を予約リストとして取得し、当該予約リストに登録された、予約済みのノード装置１に新規コンテンツを保存させるよう構成したので、新規コンテンツを予約済みのノード装置１は、新規コンテンツが共用可能になると、自己の記憶部１２から新規コンテンツを取得して迅速に視聴することができる。
【０１８８】
また、ディストリビュータ１００は、新たなコンテンツをコンテンツ配信システムＳ内に保存させる数（保存数）を定め、先ず、予約リストに登録された予約済みのノード装置１に優先的に新規コンテンツを保存させた後に、予約していないノード装置１にも保存して、保存数分のノード装置１に確実にコンテンツを保存させる。従って、予約済みのノード装置１に優先的に新規コンテンツを保存させ、かつ、新規コンテンツの予約リストに登録された予約済みのノード装置１の数に依ることなく（予約数が多くても少なくても）、新規コンテンツを、例えば人気度等に基づいて定めた保存数分、確実にコンテンツ配信システムＳ内に投入することができる。
【０１８９】
＜４.変形形態＞
＜４−１．変形形態１＞
変形形態として、コンテンツ配信システムＳに参加しているノード装置１が、新規コンテンツの保存指示メッセージを、ディストリビュータ１００に代わり送出する構成について説明する。
【０１９０】
上述した実施形態では、ディストリビュータ１００が、新たなコンテンツの購入予約をしたノード装置１（及びそれ以外の保存数分のノード装置１）に新規コンテンツを送信して保存を指示（保存指示メッセージ）したが、ディストリビュータ１００が、システムＳに参加しているノード装置１に、保存指示を出す保存指示装置となるよう命じ、命じられたノード装置１が、上述した実施形態におけるディストリビュータ１００の処理を行なう。
【０１９１】
ディストリビュータ１００に代わり、保存指示装置となるべきノード装置１は、コンテンツ配信システムＳに所定時間以上参加しているノード装置が好ましい。
【０１９２】
ここでは、コンテンツ配信システムＳにシステム運営者が用意したサポータノード装置１Ｓを備え、当該サポータノード装置１Ｓが、ディストリビュータ１００に代わり、保存指示装置となる。このサポータノード装置１Ｓは、図２３に示す如く分散ハッシュテーブルによるＩＤ空間にて分散して配置され、例えば、システム内に参加ノード装置１が少なくなった場合でも、システム内の各ノード装置１間の通信状態を常に安定性良く保つためにシステム内に常駐している（電源が落ちない）。図２３に示す例によれば、サポータノード装置１Ｓは、ＩＤ空間の、４つのエリア「0XXXXXXX」「1XXXXXXX」、「2XXXXXXX」、「3XXXXXXX」ごとに１台設置される。
【０１９３】
各サポータノード装置１Ｓが有するキャッシュ情報は、一般のノード装置１よりも保存期間が長いか、又はキャッシュ情報を保存するための記憶容量が一般のノード装置１よりも大きく、一般のノード装置１よりも多くのキャッシュ情報を常に記憶できるよう構成することが好ましい。これにより、コンテンツ配信システムＳに参加しているノード装置１の数が少ない場合でも、ＤＨＴルーティングによる各ノード装置１間のメッセージの授受をスムーズ且つ迅速に行なうことが可能になっている。
【０１９４】
また、各サポータノード装置１Ｓは、一般利用者のノード装置１のテーブル情報への登録優先順位を低くして、一般利用者のノード装置１のテーブル情報へは登録されにくい設定とする。サポータノード装置１Ｓは、システム運営者がサービス開始当初に設置し、以後常時稼動し続けるため、一旦他のノード装置知られ、テーブル情報に登録がされてしまうと、メッセージの送信に失敗することがなく、書換えが行なわれることも無いので、テーブル情報から削除されることはない。従って、サポータノード装置１Ｓのテーブル情報への登録が、他の一般利用者のノード装置１と同じ優先順位で登録されることとしてしまうと、サポータノード装置１Ｓの安定性の高さから、サポータノード装置１Ｓの負荷の増大を招いてしまう。従って、できるだけ一般利用者のノード装置１間でメッセージ転送を行い、何らかの不都合が生じた場合（例えば、自己のテーブル情報に登録された他の一般利用者のノード装置１が全て無効（応答が無い等）である場合）にだけ、サポータノード装置１Ｓが利用されることが好ましい。例えば、テーブル情報に優先順位を設けて、サポータノード装置１Ｓのテーブル情報への登録優先順位を低く設定することにより、一般利用者のノード装置１のテーブル情報に、サポータノード装置１Ｓが登録されにくくする手法がある。なお、テーブル情報の優先順位について、本願出願人により特許出願（特願2006‐095557、特願2006-125030）がされていることをここに付記する。
【０１９５】
ディストリビュータ１００は、何れかのサポータノード装置１Ｓに対して、保存指示装置となるよう指示を出し（保存指示装置命令）、これを受けたサポータノード装置１Ｓが本発明の保存指示装置として機能する。
【０１９６】
保存指示装置命令には、保存指示の対象となる新規コンテンツと、当該新規コンテンツの予約リストを示す予約リスト情報と、保存数を示す保存数情報を含む。
【０１９７】
図２４は、サポータノード装置１Ｓによる＜Ｉ＞繰り返し法による新規コンテンツ保存の様子の一例を示す説明図である。
【０１９８】
サポータノード装置１Ｓは、ディストリビュータ１００から新規コンテンツの保存指示装置命令を受けると、当該命令に従って、予約リストに登録されたＩＰアドレスに従って、各ノード装置１に対してコンテンツを送信し、保存指示を行なう（実線矢印参照）。
【０１９９】
また、保存数情報で示される保存数が、購入予約をしたノード装置１の数（例えば、「４」）よりも多ければ、残りの保存数分（６−４＝２）を、購入予約を行なっていないノード装置にコンテンツを送信し、保存指示を行なう（破線矢印参照）。図２４に示す例の場合、ＩＰアドレス１０と１１のノード装置が、購入予約を行なっていないが、保存の指示を受けている。なお、購入予約を行なっていないノード装置を選ぶ場合、サポータノード装置１は自己が知っている（例えば、テーブル情報に記載された）ノード装置１の中から任意に選択するが、この際、ＩＤ空間中にコンテンツが偏りなく散らばるよう、ノードＩＤを考慮して選ぶことがより望ましい。
【０２００】
図２５は、サポータノード装置１Ｓによる＜ＩＩ＞保存指示の転送による新規コンテンツ保存の様子の一例を示す説明図である。
【０２０１】
サポータノード装置１Ｓは、ディストリビュータ１００から新規コンテンツの保存指示装置命令を受けると、当該命令に従って、予約リストに登録されたＩＰアドレスのうち、一つのＩＰアドレス（例えば、一番上に記載されているＩＰアドレス１）に従って、当該ＩＰアドレス１のノード装置に対してコンテンツを送信し、保存指示を行なう。このとき、予約リストと保存数も共に送信する。
【０２０２】
サポータノード装置１Ｓからコンテンツ、予約リスト及び保存数を受信したＩＰアドレス１のノード装置は、予約リストに掲載された自己のＩＰアドレス以外の一つのＩＰアドレスを（例えば、次に記載されているＩＰアドレス２）に従って、当該ＩＰアドレス２のノード装置に対してコンテンツ、予約リスト及び保存数を送信し、保存指示を行なう。以下、図６を参照して上述したディストリビュータ１００から発せられた保存指示と同様に、予約リストに登録されたノード装置１、更に保存数分のノード装置１にコンテンツが保存されるまで、各ノード装置１間を保存指示メッセージが転送されていく。
【０２０３】
変形形態による、上述したノード装置１の処理（図１６）のステップＳ３９のコンテンツ受信処理について説明する。なお、図１６〜図２２を用いて説明したノード装置としての他の処理は上記と同様である。
【０２０４】
■ステップＳ３９におけるコンテンツ受信処理（変形形態）
＜Ｉ＞繰り返し法によるコンテンツ保存の際のコンテンツ受信処理
先ず、図２６を用いて説明した変形形態に係る＜Ｉ＞繰り返し法によるコンテンツ保存の際のコンテンツ受信処理（変形形態）について、図２６を用いて説明する。当該処理は、図１６のノード装置の処理におけるステップＳ３９の処理であって、通常のノード装置１とサポータノード装置１Ｓに共通の処理である。
【０２０５】
ディストリビュータ１００から「保存指示装置命令」を受けたか、又は他のノード装置１から「保存指示メッセージ」を受信したかを判定し（ステップＳ１４１）、保存指示装置命令又は「保存指示メッセージ」を受信した場合には（ステップＳ１４１：Ｙｅｓ）、「保存指示メッセージ」であれば、受信した新規コンテンツを記憶部１２に保存し（保存制御手段）、当該新規コンテンツの公開処理（パブリッシュ）を行なう。そして、自己がコンテンツを保存したことに起因して保存数を「１」減算して更新する（ステップＳ１４２）。保存指示装置命令である場合には、自身は単に保存を指示するサポータノード装置１Ｓであるので、コンテンツの保存や公開、保存数の更新は行なわない。
【０２０６】
そして、受信した保存指示装置命令又は「保存指示メッセージ」に予約リスト情報が含まれているか否かを判定し（ステップＳ１４３）、予約リスト情報が含まれていない場合（ステップＳ１４３：Ｎｏ）には、「予約リストに登録されている数」を「０」と定義し（ステップ１４４）、ステップＳ１５０へ移行する。
【０２０７】
一方、予約リスト情報が含まれている場合（ステップＳ１４３：Ｙｅｓ）（事前予約情報取得手段）には、予約リスト情報が示す予約リストに、自己のＩＰアドレスがあるか否かを判定する（ステップＳ１４５）。予約リストに、自己のＩＰアドレスがある場合（ステップＳ１４５：Ｙｅｓ）には、自分のＩＰアドレスを予約リストから削除して予約リストを更新する（ステップＳ１４６）。予約リストに自己のＩＰアドレスがない場合（ステップＳ１４５：Ｎｏ）、ステップＳ１４９へ移行して変数「ｎｕｍ」を１と初期化する（ステップＳ１４９）。
【０２０８】
そしてステップＳ１４７では、予約リストが空（ＩＰアドレスが掲載されていない）か否かを判定し（ステップＳ１４７）、空で無い場合（ステップＳ１４８：Ｎｏ）には、変数「ｎｕｍ」を１と初期化し（ステップＳ１４９）、空である場合（ステップＳ１４７：Ｙｅｓ）には、予約リストを削除し（ステップＳ１４８）て、変数「ｎｕｍ」を１と初期化する（ステップＳ１４９）。
【０２０９】
次に、ステップＳ１５０では「保存指示メッセージ」に含まれる保存数情報で示されるコンテンツの保存数が、「０」か否かを判定し（ステップＳ１５０）、「０」である場合には（ステップＳ１５０：Ｙｅｓ）、処理を終了し、「０」でない場合には（ステップＳ１５０：Ｎｏ）、変数「ｎｕｍ」が予約リストに登録されているＩＰアドレスの数以下か否かを判定する（ステップＳ１５１）。
【０２１０】
変数「ｎｕｍ」が予約リストに登録されているＩＰアドレスの数以下である場合（ステップＳ１５１：Ｙｅｓ）には、予約リストの「ｎｕｍ」番目のＩＰアドレスに係るノード装置１に、新規コンテンツと保存指示メッセージ（保存数情報、予約リスト情報を含む）を送信し（保存指示手段）、送信できたか否かを判定する（ステップＳ１５２）。そして、新規コンテンツと保存指示メッセージを送信できた場合（ステップＳ１５２：Ｙｅｓ）には、１つ保存が完了したので、保存数を「１」減算して更新し（ステップＳ１５３）、変数「ｎｕｍ」に１を加算し（ステップＳ１５４）、ステップＳ１５０の処理に戻る。一方、新規コンテンツと保存指示メッセージを送信できなかった場合（ステップＳ１５２：Ｎｏ）には、変数「ｎｕｍ」に１を加算し（ステップＳ１５４）、ステップＳ１５０の処理に戻る。
【０２１１】
また、変数「ｎｕｍ」が予約リストに登録されているＩＰアドレスの数以下でないと判定された場合（ステップＳ１５１：Ｎｏ）には、システムＳに参加している何れかのノード装置１を選択し、当該ノード装置１に新規コンテンツと保存指示メッセージを送信する。具体的には、自己が知っている、システムＳに参加しているノード装置１であればよいので、例えば、テーブル情報に登録されているノード装置１から選んで送信すればよい。
【０２１２】
最初の処理、保存指示装置命令、「保存指示メッセージ」の何れも受信していない場合には（ステップＳ１４１：Ｎｏ）、上述した「視聴処理」（図１８）におけるステップＳ５５の処理にて要求（検索）したコンテンツの受信か否かを判定し（ステップＳ１５６）、要求（検索）したコンテンツの受信である場合（ステップＳ１５６：Ｙｅｓ）には、当該コンテンツを記憶部１２に保存して、コンテンツの公開処理（パブリッシュ）を行ない（ステップＳ１５６）、再生処理を開始（ステップＳ１５７）して処理を終了する。要求（検索）したコンテンツの受信でない場合には（ステップＳ１５６：Ｎｏ）処理を終了する。
【０２１３】
なお、変形形態による＜ＩＩ＞保存指示の転送による新規コンテンツ保存の場合は、図２２におけるステップＳ１１１の処理においてディストリビュータ１００から保存指示装置命令を受けたか、又は他のノード装置１から「保存指示メッセージ」を受信したかを判定し、何れかを受けている場合にはステップＳ１１２へ移行する。ステップＳ１１２では、受信したものが「保存指示メッセージ」であれば、コンテンツを記憶部１２に保存、公開する。また、ステップ１１４では、ステップＳ１１２にて保存、公開を行なったときにだけ、保存数の更新を行なう。その他の処理は図２２の処理と同様である。
【０２１４】
＜４−２．変形形態２＞
上述した＜Ｉ＞繰り返し法による新規コンテンツの保存と、＜ＩＩ＞保存指示の転送による新規コンテンツの保存と、を組み合わせることもできる。
【０２１５】
図２７は、＜Ｉ＞繰り返し法と＜ＩＩ＞保存指示転送の組み合わせによる保存指示の転送の様子を示す説明図である。
【０２１６】
サポータノード装置１Ｓから保存指示を受けたノード装置は、二台のノード装置１に保存指示を転送する。これを受けたノード装置も、二台のノード装置１に保存指示を転送する。各ノード装置１に指示を転送する際には、保存数を、転送する数（枝分かれ数）で除算する。
【０２１７】
図２８は、＜Ｉ＞繰り返し法と＜ＩＩ＞保存指示転送の組み合わせによる保存指示の転送の様子を示すスパニングツリーによる説明図である。
【０２１８】
先ず、サポータノード装置１Ｓは、ディストリビュータ１００から、保存指示装置命令を受信する。当該保存指示装置命令は、予約リスト情報と保存数情報（保存数＝１０）を含む。
【０２１９】
そして、サポータノード装置１Ｓは、予約リスト情報に基づいて、購入予約済みノード装置１に「保存指示メッセージ」を送出する。
【０２２０】
これを受けた購入予約済みノード装置１は、自己の記憶部１２に新規コンテンツを保存して保存数を１０‐１＝９と更新し、更新後の保存数「９」を、転送するノード装置の数（枝分かれする数）で分割する。同図に示す例の場合、「４」と「５」に二分割し夫々を保存数情報として含む「保存指示メッセージ」を、予約リスト情報に基づいて、他の購入予約済みノード装置１に送信する。
【０２２１】
これを順に繰り返し行い、予約リストに登録がある限り予約リストに登録された購入予約済みノード装置１に転送し、予約リストの登録がなくなってからは、保存数が「0」になる限り、コンテンツの保存を行なう。
【０２２２】
このような、＜Ｉ＞繰り返し法と＜ＩＩ＞保存指示転送の組み合わせによれば、公開日が近い新規コンテンツを急いでシステム内に分散投入させたい場合に、より迅速に投入を行なうことができる。
【０２２３】
なお、ノード装置の処理としては、図２２における処理と略同様である。異なる処理として、ステップＳ１１１の処理においてディストリビュータ１００から保存指示装置命令を受けたか、又は他のノード装置１から「保存指示メッセージ」を受信したかを判定し、何れかを受けている場合にはステップＳ１１２へ移行する。ステップＳ１１２では、受信したものが「保存指示メッセージ」であれば、コンテンツを保存~公開する。また、ステップ１１４では、ステップＳ１１２にて保存〜公開を行なったときにだけ、保存数の更新を行なう。そして、ステップＳ１２０の処理の前に、保存数を「保存指示メッセージ」を転送するノード装置の数で分割して更新し、予約リスト情報に登録されている情報も同様に「保存指示メッセージ」を転送するノード装置の数で分割して更新する。その他の処理は図２２の処理と同様である。
【０２２４】
なお、ディストリビュータ１００が保存指示装置命令を出すノード装置１として、システム運営者によって設置されたサポータノード装置１を利用する手法について述べたが、現在システムに参加しているノード装置１であれば、何れのノード装置１に対して保存指示装置命令を出しても良い。すなわち、システムに参加している何れのノード装置１も本発明の保存指示装置として機能することができる。
【０２２５】
以上説明した実施形態では、購入予約を行なったノード装置１の宛先情報であるＩＰアドレスをノード装置識別情報の一例として用いて予約リストに登録しているが、購入予約を行なったノード装置１を識別できれば、ＩＰアドレスでなくともよく、例えば、ＤＨＴのメッセージ転送に利用されるノードＩＤ（識別ＩＤ）を、ノード装置識別情報として用いてもよい。ＩＰアドレスは、購入予約をしているノード装置１に他のノード装置を介すことなく、直接コンテンツを送ることができるので便利であるが、ノード装置１がネットワークに接続する際に経由する接続業者のルータ等で、随時変更されてしまう可能性がある。このように、コンテンツの保存処理が行なわれるときのＩＰアドレスが、購入予約を行なったときに登録したＩＰアドレスと異なってしまう可能性がある場合には、ノードＩＤをノード装置識別情報として用いることが好ましい。
【０２２６】
ノードＩＤをノード装置識別情報として用いる場合には、「保存指示メッセージ」は、ＩＰアドレスを用いて通信をする際のように、直接通信が行なわれるのではなく、「コンテンツ検索メッセージ」や「公開メッセージ」と同様に、各ノード装置１間をＤＨＴルーティングにより転送されることとなる。
【０２２７】
また、ディストリビュータ１００（又はディストリビュータ１００から保存指示装置命令を受けたノード装置１）は、システムＳに投入しようとする新規コンテンツを自己の記憶部１０２から新規コンテンツを取得しても、他のコンテンツ格納装置（図示しない）等から新規コンテンツを取得してもよい。
【０２２８】
さらに、ディストリビュータ１００と予約受付サーバ２００とを１台の装置にて構成してもよい。
【０２２９】
以上説明したように、本発明はネットワークを介したコンテンツの配信の分野に利用することが可能であり、特に複数のノードで共用されるべき公開前のコンテンツを各ノード装置に分散配置させる分野に適用すれば特に顕著な効果が得られる。
【図面の簡単な説明】
【０２３０】
【図１】本実施形態に係るコンテンツ配信システムＳにおける各ノード装置の接続態様の一例を示す図である。
【図２】ルーティングテーブル（テーブル情報）が作成される様子の一例を示す図である。
【図３】ルーティングテーブル（テーブル情報）の一例を示す図である。
【図４】ＩＤ空間の説明図である。
【図５】新しいコンテンツが購入予約を行なったノード装置に保存される様子の一例を示す図である。
【図６】新しいコンテンツが購入予約を行なったノード装置に保存される様子の一例を示す図である。
【図７】ＤＨＴによりコンテンツが公開され、他のノード装置からの配信要求に応じるまでの様子の一例を示す図である。
【図８】本実施形態に係るノード装置１の概略構成例を示すブロック図である。
【図９】本実施形態に係るディストリビュータ１００の概略構成を示すブロック図である。
【図１０】本実施形態に係る予約受付サーバ２００の概略構成を示すブロック図である。
【図１１】本実施形態に係るコンテンツプールサーバ３００の概略構成を示すブロック図である。
【図１２】本実施形態に係る予約受付サーバ２００における予約処理を示すフローチャートである。
【図１３】繰り返し法によるコンテンツ保存の際の保存指示処理を示すフローチャートである。
【図１４】保存指示の転送によるコンテンツ保存の際の保存指示処理を示すフローチャートである。
【図１５】本実施形態に係るコンテンツプールサーバ３００におけるコンテンツ配信補助処理を示すフローチャートである。
【図１６】本実施形態に係るノード装置１における処理を示すフローチャートである。
【図１７】ステップＳ３３における予約処理を示すフローチャートである。
【図１８】ステップＳ３４における視聴処理を示すフローチャートである。
【図１９】ステップＳ３６におけるメッセージに基づく処理示すフローチャートである。
【図２０】ステップＳ３７におけるテーブル登録処理を示すフローチャートである。
【図２１】ステップＳ３９におけるコンテンツ受信処理（＜Ｉ＞繰り返し法）を示すフローチャートである。
【図２２】ステップＳ３９におけるコンテンツ受信処理（＜ＩＩ＞転送）を示すフローチャートである。
【図２３】変形形態１に係るサポータノード装置１のＩＤ空間における配置説明図である。
【図２４】サポータノード装置１Ｓによる＜Ｉ＞繰り返し法による新規コンテンツ保存の様子の一例を示す説明図である。
【図２５】サポータノード装置１Ｓによる＜ＩＩ＞保存指示の転送による新規コンテンツ保存の様子の一例を示す説明図である。
【図２６】変形形態１に係るステップＳ３９におけるコンテンツ受信処理（＜Ｉ＞繰り返し法）を示すフローチャートである。
【図２７】＜Ｉ＞繰り返し法と＜ＩＩ＞保存指示転送の組み合わせによる保存指示の転送の様子を示す説明図である。
【図２８】＜Ｉ＞繰り返し法と＜ＩＩ＞保存指示転送の組み合わせによる保存指示の転送の様子を示すスパニングツリーによる説明図である。
【符号の説明】
【０２３１】
１  ノード装置
１１    制御部
１２    記憶部
１３    バッファメモリ
１４    デコーダ部
１５    映像処理部
１６    表示部
１７    音声処理部
１８    スピーカ
１９    通信部
２０    入力部
２１    バス
１００  ディストリビュータ
１０１  制御部
１０２  記憶部
１０３  通信部
１０４  入力部
１０５  バス
２００  予約受付サーバ
２０１  制御部
２０２  記憶部
２０３  通信部
２０４  入力部
２０５  バス
３００  コンテンツプールサーバ
３０１  制御部
３０２  記憶部
３０３  通信部
３０４  入力部
３０５  バス
１Ｓ  サポータノード装置
Ｓ  コンテンツ配信システム
【図１】
2008020938.tif 000006
【図２】
2008020938.tif 000007
【図３】
2008020938.tif 000008
【図４】
2008020938.tif 000009
【図５】
2008020938.tif 000010
【図６】
2008020938.tif 000011
【図７】
2008020938.tif 000012
【図８】
2008020938.tif 000013
【図９】
2008020938.tif 000014
【図１０】
2008020938.tif 000015
【図１１】
2008020938.tif 000016
【図１２】
2008020938.tif 000017
【図１３】
2008020938.tif 000018
【図１４】
2008020938.tif 000019
【図１５】
2008020938.tif 000020
【図１６】
2008020938.tif 000021
【図１７】
2008020938.tif 000022
【図１８】
2008020938.tif 000023
【図１９】
2008020938.tif 000024
【図２０】
2008020938.tif 000025
【図２１】
2008020938.tif 000026
【図２２】
2008020938.tif 000027
【図２３】
2008020938.tif 000028
【図２４】
2008020938.tif 000029
【図２５】
2008020938.tif 000030
【図２６】
2008020938.tif 000031
【図２７】
2008020938.tif 000032
【図２８】
2008020938.tif 000033