(57)【要約】【課題】新規コンテンツカタログ情報が配布された場合であっても、アクセスの集中による装置負荷及びネットワーク負荷を抑えること等が可能な情報配信システム、情報配信方法、配信装置及びノード装置等を提供する。【解決手段】本発明は、ネットワークを介して互いに通信可能な複数のノード装置であって所定のグループ分け条件に応じて複数のグループに分けられる前記複数のノード装置を備えた情報配信システムにおいて、夫々の前記ノード装置により取得可能なコンテンツデータの属性情報が記述されたコンテンツカタログ情報を、前記複数のノード装置に対して配信する配信装置であって、前記夫々のノード装置により新たに取得可能となるべき新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報を記憶する記憶手段と、前記グループ分け条件に応じて分けられる前記グループ毎に異なるタイミングで、夫々の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信する配信手段と、を備える。【選択図】図１３
2008129694.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能な複数のノード装置であって所定のグループ分け条件に応じて複数のグループに分けられる前記複数のノード装置を備えた情報配信システムにおいて、夫々の前記ノード装置により取得可能なコンテンツデータの属性情報が記述されたコンテンツカタログ情報を、前記複数のノード装置に対して配信する配信装置であって、
前記夫々のノード装置により新たに取得可能となるべき新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報を記憶する記憶手段と、
前記グループ分け条件に応じて分けられる前記グループ毎に異なるタイミングで、夫々の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信する配信手段と、
を備えることを特徴とする配信装置。
【請求項２】
請求項１に記載の配信装置において、
前記配信手段は、前記新規コンテンツカタログ情報の配信対象となるグループに対応するグループ分け条件を示す条件情報を、前記新規コンテンツカタログ情報に付加して配信することを特徴とする配信装置。
【請求項３】
請求項１又は２に記載の配信装置において、
前記夫々のノード装置には、夫々に固有の識別情報であって一定桁数からなるノード識別情報が割り当てられ、前記複数のノード装置は、前記ノード識別情報における所定桁目の値に応じて前記複数のグループに分けられ、
前記配信手段は、前記所定桁目の値に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
【請求項４】
請求項１又は２に記載の配信装置において、
前記複数のノード装置は、前記夫々のノード装置の設置地域に応じて前記複数のグループに分けられ、
前記配信手段は、前記設置地域に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
【請求項５】
請求項１又は２に記載の配信装置において、
前記複数のノード装置は、前記夫々のノード装置の前記ネットワークへの接続サービス提供者に応じて前記複数のグループに分けられ、
前記配信手段は、前記接続サービス提供者に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
【請求項６】
請求項１又は２に記載の配信装置において、
前記複数のノード装置は、前記配信装置から前記夫々のノード装置までのホップ数に応じて前記複数のグループに分けられ、
前記配信手段は、前記ホップ数に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
【請求項７】
請求項１又は２に記載の配信装置において、
前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの再生時間又は再生回数に応じて前記複数のグループに分けられ、
前記配信手段は、前記再生時間又は再生回数に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
【請求項８】
請求項７に記載の配信装置において、
前記配信手段は、前記再生時間が最も長い又は前記再生回数が最も多い前記グループを優先して、当該グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
【請求項９】
請求項７又は８に記載の配信装置において、
前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの種別毎の再生時間又は再生回数に応じて前記複数のグループに分けられ、
前記配信手段は、前記新規コンテンツデータと同一種別において前記再生時間が最も長い又は前記再生回数が最も多い前記グループを優先して、当該グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
【請求項１０】
請求項１又は２に記載の配信装置において、
前記複数のノード装置は、前記夫々のノード装置における通電時間に応じて前記複数のグループに分けられ、
前記配信手段は、前記通電時間に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
【請求項１１】
請求項１０に記載の配信装置において、
前記配信手段は、前記通電時間が最も長い前記グループを優先して、当該グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
【請求項１２】
請求項１又は２に記載の配信装置において、
前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの再生時間又は再生回数に応じて前記複数のグループに分けられ、且つ、前記夫々のノード装置における通電時間に応じて前記複数のグループに分けられ、
前記配信手段は、前記再生時間が最も長い又は前記再生回数が最も多い前記グループに属し、且つ、前記通電時間が最も長い前記グループに属する前記ノード装置を優先して、当該ノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
【請求項１３】
請求項１２に記載の配信装置において、
前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの種別毎の再生時間又は再生回数に応じて前記複数のグループに分けられ、
前記配信手段は、前記新規コンテンツデータと同一種別において前記再生時間が最も長い又は前記再生回数が最も多い前記グループに属し、且つ、前記通電時間が最も長い前記グループに属する前記ノード装置を優先して、当該ノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
【請求項１４】
請求項１乃至１３の何れか一項に記載の配信装置において、
前記配信手段は、一の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信してから予め設定された時間経過後、次の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
【請求項１５】
請求項１乃至１４の何れか一項に記載の配信装置において、
一の前記グループに属するノード装置に対する前記新規コンテンツカタログ情報の配信後、前記ノード装置による前記新規コンテンツデータを取得するための要求の数を示す要求数情報を取得する取得手段を更に備え、
前記配信手段は、前記要求数情報に示される要求の数が、予め設定された基準数以上となった場合に、次の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする配信装置。
【請求項１６】
コンピュータを、請求項１乃至１５に記載の配信装置として機能させることを特徴とする配信処理プログラム。
【請求項１７】
請求項２乃至１５に記載の配信装置から配信されてきた前記新規コンテンツカタログ情報を受信するノード装置であって、
前記受信された新規コンテンツカタログ情報に付加される条件情報に示される前記グループ分け条件を満たすか否かを判別する判別手段と、
前記グループ分け条件を満たすと判別された場合には、前記受信された新規コンテンツカタログ情報を利用可能に保存する保存手段と、
を備えることを特徴とするノード装置。
【請求項１８】
コンピュータを、請求項１７に記載のノード装置として機能させることを特徴とするノード処理プログラム。
【請求項１９】
ネットワークを介して互いに通信可能な複数のノード装置であって所定のグループ分け条件に応じて複数のグループに分けられる前記複数のノード装置と、夫々の前記ノード装置により取得可能なコンテンツデータの属性情報が記述されたコンテンツカタログ情報を、前記複数のノード装置に対して配信する配信装置と、を備える情報配信システムであって、
前記配信装置は、
前記夫々のノード装置により新たに取得可能となるべき新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報を記憶する記憶手段と、
前記グループ分け条件に応じて分けられる前記グループ毎に異なるタイミングで、夫々の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信する配信手段と、を備え、
前記ノード装置は、
前記配信装置から配信されてきた前記新規コンテンツカタログ情報を受信する受信手段を備えることを特徴とする情報配信システム。
【請求項２０】
ネットワークを介して互いに通信可能な複数のノード装置であって所定のグループ分け条件に応じて複数のグループに分けられる前記複数のノード装置と、夫々の前記ノード装置により取得可能なコンテンツデータの属性情報が記述されたコンテンツカタログ情報を、前記複数のノード装置に対して配信する配信装置と、を備える情報配信システムにおける情報配信方法であって、
前記配信装置が、前記夫々のノード装置により新たに取得可能となるべき新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報を記憶し、前記グループ分け条件に応じて分けられる前記グループ毎に異なるタイミングで、夫々の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信し、
前記ノード装置が、前記配信装置から配信されてきた前記新規コンテンツカタログ情報を受信することを特徴とする情報配信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型のコンテンツ配信システムに関し、特に、複数のコンテンツデータが複数のノード装置に分散して保存されたコンテンツ配信システム等の技術分野に関する。
【背景技術】
【０００２】
この種のコンテンツ配信システムにおいては、コンテンツデータを複数のノード装置に分散配置（分散保存）させておくシステムが知られており、これにより、対故障性やアクセスの分散性を高められている。このように分散保存されたコンテンツデータの所在は、例えば特許文献１に開示されるような分散ハッシュテーブル（以下、ＤＨＴ（Distributed Hash Table）という）を利用して効率良く検索可能になっている。当該ＤＨＴは、各ノード装置に記憶されており、当該ＤＨＴには、各種メッセージの転送先となるべき複数のノード装置を示すノード情報（例えば、ＩＰアドレス及びポート番号を含む）が登録されている。
【０００３】
そして、各ノード装置は、分散保存されているコンテンツデータの属性情報（例えば、コンテンツ名、ジャンル、アーティスト名等）が記述されたコンテンツカタログ情報を有しており、当該コンテンツカタログ情報に記述された属性情報に基づき、所望のコンテンツデータの所在を検索（発見）するためのメッセージ（クエリ）を他のノード装置に送出することにより、当該メッセージは、上記ＤＨＴにしたがって、複数の中継のノード装置により当該コンテンツデータの所在の管理元のノード装置に向かって転送され、最終的に当該メッセージが辿り着く上記管理元のノード装置からノード情報を取得することになる。これにより、当該メッセージを送出したノード装置は、上記検索に係るコンテンツデータを保存しているノード装置に対して、当該コンテンツデータを要求し、当該コンテンツデータの提供を受けることができる。
【０００４】
ところで、上記システム内に新たなコンテンツデータが投入、保存された場合、そのコンテンツデータの属性情報が記述された新規コンテンツカタログ情報は、全てのノード装置に配布される必要がある。
【特許文献１】特開２００６−１９７４００号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
しかしながら、新規コンテンツカタログ情報が一時期に全てのノード装置に配布されると、多くのノード装置が、新規コンテンツカタログ情報に属性情報が記述されている新規コンテンツデータを取得（ダウンロード）するために、上記メッセージ（クエリ）が当該新規コンテンツデータの所在の管理元のノード装置に対して集中し、更には、新規コンテンツデータの要求（リクエスト）がこれを保存しているノード装置に集中し、装置負荷及びネットワーク負荷が増大することが懸念され、これによる待ち時間の発生はユーザの不満を生じさせる結果となる。特に、新規コンテンツカタログ情報が配布された当初は、そこに記述されている新規コンテンツデータが投入されたばかりであり、これを取得して保存しているノード装置の数が少なく、多くのノード装置からの要求に耐えうる保存数に達していない状況にあると考えられる。
【０００６】
本発明は、以上の点に鑑みてなされたものであり、新規コンテンツカタログ情報が配布された場合であっても、アクセスの集中による装置負荷及びネットワーク負荷を抑えること等が可能な情報配信システム、情報配信方法、配信装置及びノード装置等を提供することを課題とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置であって所定のグループ分け条件に応じて複数のグループに分けられる前記複数のノード装置を備えた情報配信システムにおいて、夫々の前記ノード装置により取得可能なコンテンツデータの属性情報が記述されたコンテンツカタログ情報を、前記複数のノード装置に対して配信する配信装置であって、前記夫々のノード装置により新たに取得可能となるべき新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報を記憶する記憶手段と、前記グループ分け条件に応じて分けられる前記グループ毎に異なるタイミングで、夫々の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信する配信手段と、を備えることを特徴とする。
【０００８】
この発明によれば、グループ分け条件に応じて分けられるグループ毎に異なるタイミングで（タイミングをずらして）、夫々のグループに属するノード装置に対して新規コンテンツカタログ情報を配信するように構成したので、装置へのアクセスの集中による装置負荷及びネットワーク負荷を極力抑えることができ、ユーザによる待ち時間を少なくさせることができる。
【０００９】
請求項２に記載の発明は、請求項１に記載の配信装置において、前記配信手段は、前記新規コンテンツカタログ情報の配信対象となるグループに対応するグループ分け条件を示す条件情報を、前記新規コンテンツカタログ情報に付加して配信することを特徴とする。
【００１０】
この発明によれば、端末装置が受信した新規コンテンツカタログ情報の配信対象となるグループに属するか否かを判別することができ、グループに属する場合には、新規コンテンツカタログ情報を利用可能に保存することができる。
【００１１】
請求項３に記載の発明は、請求項１又は２に記載の配信装置において、前記夫々のノード装置には、夫々に固有の識別情報であって一定桁数からなるノード識別情報が割り当てられ、前記複数のノード装置は、前記ノード識別情報における所定桁目の値に応じて前記複数のグループに分けられ、前記配信手段は、前記所定桁目の値に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
【００１２】
この発明によれば、ノード識別情報における所定桁目の値に応じて分けられた夫々のグループ毎に異なるタイミングで（タイミングをずらして）新規コンテンツカタログ情報を配信することができる。また、ノード識別情報における所定桁目の値に応じてグループ分けすることで効率良くグループ分けができる。
【００１３】
請求項４に記載の発明は、請求項１又は２に記載の配信装置において、前記複数のノード装置は、前記夫々のノード装置の設置地域に応じて前記複数のグループに分けられ、前記配信手段は、前記設置地域に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
【００１４】
この発明によれば、夫々のノード装置の設置地域に応じて分けられた夫々のグループ毎に異なるタイミングで（タイミングをずらして）新規コンテンツカタログ情報を配信することができる。また、夫々のノード装置の設置地域に応じてグループ分けすることで効率良くグループ分けができる。
【００１５】
請求項５に記載の発明は、請求項１又は２に記載の配信装置において、前記複数のノード装置は、前記夫々のノード装置の前記ネットワークへの接続サービス提供者に応じて前記複数のグループに分けられ、前記配信手段は、前記接続サービス提供者に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
【００１６】
この発明によれば、夫々のノード装置のネットワークへの接続サービス提供者に応じて分けられた夫々のグループ毎に異なるタイミングで（タイミングをずらして）新規コンテンツカタログ情報を配信することができる。また、夫々のノード装置のネットワークへの接続サービス提供者に応じてグループ分けすることで効率良くグループ分けができる。
【００１７】
請求項６に記載の発明は、請求項１又は２に記載の配信装置において、前記複数のノード装置は、前記配信装置から前記夫々のノード装置までのホップ数に応じて前記複数のグループに分けられ、前記配信手段は、前記ホップ数に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
【００１８】
この発明によれば、夫々のノード装置までのホップ数に応じて分けられた夫々のグループ毎に異なるタイミングで（タイミングをずらして）新規コンテンツカタログ情報を配信することができる。また、夫々のノード装置までのホップ数に応じてグループ分けすることで効率良くグループ分けができる。
【００１９】
請求項７に記載の発明は、請求項１又は２に記載の配信装置において、前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの再生時間又は再生回数に応じて前記複数のグループに分けられ、前記配信手段は、前記再生時間又は再生回数に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
【００２０】
この発明によれば、コンテンツデータの再生時間又は再生回数に応じて分けられた夫々のグループ毎に異なるタイミングで（タイミングをずらして）新規コンテンツカタログ情報を配信することができる。また、コンテンツデータの再生時間又は再生回数に応じてグループ分けすることで効率良くグループ分けができる。
【００２１】
請求項８に記載の発明は、請求項７に記載の配信装置において、前記配信手段は、前記再生時間が最も長い又は前記再生回数が最も多い前記グループを優先して、当該グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
【００２２】
この発明によれば、新規コンテンツカタログ情報を利用する可能性が高いノード装置に対して、先行して新規コンテンツカタログ情報を配信することができる。これにより、システム負荷を上げることなく、十分な数の新規コンテンツデータのレプリカを早い段階でノードに分散保存させることができる。
【００２３】
請求項９に記載の発明は、請求項７又は８に記載の配信装置において、前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの種別毎の再生時間又は再生回数に応じて前記複数のグループに分けられ、前記配信手段は、前記新規コンテンツデータと同一種別において前記再生時間が最も長い又は前記再生回数が最も多い前記グループを優先して、当該グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
【００２４】
この発明によれば、新規コンテンツカタログ情報を利用する可能性がより一層高いノード装置に対して、先行して新規コンテンツカタログ情報を配信することができる。これにより、システム負荷を上げることなく、十分な数の新規コンテンツデータのレプリカを早い段階でノードに分散保存させることができる。
【００２５】
請求項１０に記載の発明は、請求項１又は２に記載の配信装置において、前記複数のノード装置は、前記夫々のノード装置における通電時間に応じて前記複数のグループに分けられ、前記配信手段は、前記通電時間に応じて分けられるグループ毎に異なるタイミングで、前記夫々のグループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
【００２６】
この発明によれば、夫々のノード装置における通電時間に応じて分けられた夫々のグループ毎に異なるタイミングで（タイミングをずらして）新規コンテンツカタログ情報を配信することができる。また、夫々のノード装置における通電時間に応じてグループ分けすることで効率良くグループ分けができる。
【００２７】
請求項１１に記載の発明は、請求項１０に記載の配信装置において、前記配信手段は、前記通電時間が最も長い前記グループを優先して、当該グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
【００２８】
この発明によれば、新規コンテンツカタログ情報を利用する可能性が高いノード装置に対して、先行して新規コンテンツカタログ情報を配信することができる。これにより、システム負荷を上げることなく、十分な数の新規コンテンツデータのレプリカを早い段階でノードに分散保存させることができる。
【００２９】
請求項１２に記載の発明は、請求項１又は２に記載の配信装置において、前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの再生時間又は再生回数に応じて前記複数のグループに分けられ、且つ、前記夫々のノード装置における通電時間に応じて前記複数のグループに分けられ、前記配信手段は、前記再生時間が最も長い又は前記再生回数が最も多い前記グループに属し、且つ、前記通電時間が最も長い前記グループに属する前記ノード装置を優先して、当該ノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
【００３０】
この発明によれば、新規コンテンツカタログ情報を利用する可能性がより一層高いノード装置に対して、先行して新規コンテンツカタログ情報を配信することができる。これにより、システム負荷を上げることなく、十分な数の新規コンテンツデータのレプリカを早い段階でノードに分散保存させることができる。
【００３１】
請求項１３に記載の発明は、請求項１２に記載の配信装置において、前記複数のノード装置は、前記夫々のノード装置におけるコンテンツデータの種別毎の再生時間又は再生回数に応じて前記複数のグループに分けられ、前記配信手段は、前記新規コンテンツデータと同一種別において前記再生時間が最も長い又は前記再生回数が最も多い前記グループに属し、且つ、前記通電時間が最も長い前記グループに属する前記ノード装置を優先して、当該ノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
【００３２】
この発明によれば、新規コンテンツカタログ情報を利用する可能性がより一層高いノード装置に対して、先行して新規コンテンツカタログ情報を配信することができる。これにより、システム負荷を上げることなく、十分な数の新規コンテンツデータのレプリカを早い段階でノードに分散保存させることができる。
【００３３】
請求項１４に記載の発明は、請求項１乃至１３の何れか一項に記載の配信装置において、前記配信手段は、一の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信してから予め設定された時間経過後、次の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
【００３４】
この発明によれば、新規コンテンツカタログ情報のグループ毎の配信間隔をより効率良く設定することができる。
【００３５】
請求項１５に記載の発明は、請求項１乃至１４の何れか一項に記載の配信装置において、一の前記グループに属するノード装置に対する前記新規コンテンツカタログ情報の配信後、前記ノード装置による前記新規コンテンツデータを取得するための要求の数を示す要求数情報を取得する取得手段を更に備え、前記配信手段は、前記要求数情報に示される要求の数が、予め設定された基準数以上となった場合に、次の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信することを特徴とする。
【００３６】
この発明によれば、新規コンテンツカタログ情報のグループ毎の配信間隔を、上記要求数に応じてより効率良く設定することができる。
【００３７】
請求項１６に記載の配信処理プログラムの発明は、コンピュータを、請求項１乃至１５に記載の配信装置として機能させることを特徴とする。
【００３８】
請求項１７に記載の発明は、請求項２乃至１５に記載の配信装置から配信されてきた前記新規コンテンツカタログ情報を受信するノード装置であって、前記受信された新規コンテンツカタログ情報に付加される条件情報に示される前記グループ分け条件を満たすか否かを判別する判別手段と、前記グループ分け条件を満たすと判別された場合には、前記受信された新規コンテンツカタログ情報を利用可能に保存する保存手段と、を備えることを特徴とする。
【００３９】
この発明によれば、各端末装置は、受信した新規コンテンツカタログ情報の配信対象となるグループに属するか否かを判別することができ、グループに属する場合には、新規コンテンツカタログ情報を利用可能に保存することができる。
【００４０】
請求項１８に記載のノード処理プログラムの発明は、コンピュータを、請求項１７に記載のノード装置として機能させることを特徴とする。
【００４１】
請求項１９に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置であって所定のグループ分け条件に応じて複数のグループに分けられる前記複数のノード装置と、夫々の前記ノード装置により取得可能なコンテンツデータの属性情報が記述されたコンテンツカタログ情報を、前記複数のノード装置に対して配信する配信装置と、を備える情報配信システムであって、前記配信装置は、前記夫々のノード装置により新たに取得可能となるべき新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報を記憶する記憶手段と、前記グループ分け条件に応じて分けられる前記グループ毎に異なるタイミングで、夫々の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信する配信手段と、を備え、前記ノード装置は、前記配信装置から配信されてきた前記新規コンテンツカタログ情報を受信する受信手段を備えることを特徴とする。
【００４２】
請求項２０に記載の発明は、ネットワークを介して互いに通信可能な複数のノード装置であって所定のグループ分け条件に応じて複数のグループに分けられる前記複数のノード装置と、夫々の前記ノード装置により取得可能なコンテンツデータの属性情報が記述されたコンテンツカタログ情報を、前記複数のノード装置に対して配信する配信装置と、を備える情報配信システムにおける情報配信方法であって、前記配信装置が、前記夫々のノード装置により新たに取得可能となるべき新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報を記憶し、前記グループ分け条件に応じて分けられる前記グループ毎に異なるタイミングで、夫々の前記グループに属するノード装置に対して前記新規コンテンツカタログ情報を配信し、前記ノード装置が、前記配信装置から配信されてきた前記新規コンテンツカタログ情報を受信することを特徴とする。
【発明の効果】
【００４３】
本発明によれば、グループ分け条件に応じて分けられるグループ毎に異なるタイミングで（タイミングをずらして）、夫々のグループに属するノード装置に対して新規コンテンツカタログ情報を配信するように構成したので、装置へのアクセスの集中による装置負荷及びネットワーク負荷を極力抑えることができ、ユーザによる待ち時間を少なくさせることができる。
【発明を実施するための最良の形態】
【００４４】
以下、本発明の最良の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、ＤＨＴ（Distributed Hash Table）を利用したコンテンツ配信システムに本発明を適用した場合の実施形態である。
【００４５】
［１．コンテンツ配信システムの構成等］
始めに、図１を参照して、情報配信システムの一例としてのコンテンツ配信システムの概要構成等について説明する。
【００４６】
図１は、本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
【００４７】
図１の下部枠１０１内に示すように、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４、ＤＳＬ（Digital Subscriber Line）回線事業者（の装置）５、ＦＴＴＨ（Fiber To The Home）回線事業者（の装置）６、および通信回線（例えば、電話回線や光ケーブル等）７等によって、インターネット等のネットワーク（現実世界のネットワーク）８が構築されている。なお、図１の例におけるネットワーク（通信ネットワーク）８には、メッセージ（パケット）を転送するためのルータが、適宜挿入されているが図示を省略している。
【００４８】
コンテンツ配信システムＳは、このようなネットワーク８を介して相互に接続された複数のノード装置（以下、「ノード」という）Ａ，Ｂ，Ｃ・・・Ｘ，Ｙ，Ｚ・・・を備えて構成されることになり、ピアツーピア方式のネットワークシステムとなっている。各ノードＡ，Ｂ，Ｃ・・・Ｘ，Ｙ，Ｚ・・・には、固有の製造番号及び宛先情報としてのＩＰ（Internet Protocol）アドレスが割り当てられている。このような製造番号およびＩＰアドレスは、複数のノード間で重複しないものである。
【００４９】
次に、本実施形態に係る分散ハッシュテーブル（以下、「ＤＨＴ」という）を利用したアルゴリズムについて説明する。
【００５０】
上述したコンテンツ配信システムＳにおいて、当該ノード同士が、互いに情報をやり取りする際には、お互いのＩＰアドレス等を知っていなければならない。
【００５１】
例えば、コンテンツを互いに共有するシステムにおいては、ネットワーク８に参加している各ノードが互いにネットワーク８に参加している全てのノードのＩＰアドレスを知っておくのが単純な手法であるが、端末数が何万何十万と多数になると、その全てのノードのＩＰアドレスを覚えておくのは現実的ではない。また、任意のノードの電源がＯＮ或いはＯＦＦとすると、各ノードにて記憶している当該任意のノードのＩＰアドレスの更新が頻繁になり、運用上困難となる。
【００５２】
そこで、１台のノードでは、ネットワーク８に参加している全てのノードのうち、必要最低限のノードのＩＰアドレスだけを覚えて（記憶して）おいて、ＩＰアドレスを知らない（記憶していない）ノードについては、各ノード間で互いに情報を転送し合って届けてもらうというシステムが考案されている。
【００５３】
このようなシステムの一例として、ＤＨＴを利用したアルゴリズムによって、図１の上部枠１００内に示すような、オーバーレイネットワーク９が構築されることになる。つまり、このオーバーレイネットワーク９は、既存のネットワーク８を用いて形成された仮想的なリンクを構成するネットワークを意味する。
【００５４】
本実施形態においては、ＤＨＴを利用したアルゴリズムによって構築されたオーバーレイネットワーク９を前提としており、このオーバーレイネットワーク９上に配置されたノードを、オーバーレイネットワーク９に参加しているノードという。なお、オーバーレイネットワーク９への参加は、未だ参加していないノードが、既に参加している任意のノード（例えば、オーバーレイネットワーク９に常時参加しているコンタクトノード）に対して参加要求を送ることによって行われる。
【００５５】
また、各ノードは、固有のノード識別情報としてのノードＩＤを有しており、当該ノードＩＤは、例えば、ＩＰアドレスあるいは製造番号を共通のハッシュ関数（例えば、ＳＨＡ−１等）によりハッシュ化して得た一定桁数からなるハッシュ値であり、一つのＩＤ空間に偏りなく分散して配置されることになる。このノードＩＤは、ノードの最大運用台数を収容できるだけのｂｉｔ数を持たせる必要がある。例えば、１２８ｂｉｔの番号とすれば、2＾128＝340×10＾36台のノードを運用できる。
【００５６】
このように共通のハッシュ関数により求められたノードＩＤは、当該ＩＰアドレスあるいは製造番号が異なれば、同じ値になる確率が極めて低いものである。なお、ハッシュ関数については公知であるので詳しい説明を省略する。
【００５７】
［１．１  ＤＨＴのルーティングテーブルの作成手法］
次に、図２及び図３を参照して、ＤＨＴの内容であるルーティングテーブルの作成手法の一例について説明する。
【００５８】
図２は、ルーティングテーブルが作成される様子の一例を示す図であり、図３は、ルーティングテーブルの一例を示す図である。
【００５９】
各ノードに付与されたノードＩＤは、共通のハッシュ関数によって生成したため、図２（Ａ）乃至図２（Ｃ）に示す如く、同一のリング状のＩＤ空間上にさほど偏ることなく、散らばって存在するものとして考えることができる。同図は８ｂｉｔでノードＩＤを付与し、図示したものである。図中黒点はノードＩＤを示し、反時計回りでＩＤが増加するものとする。
【００６０】
先ず、図２（Ａ）に示す如く、ＩＤ空間が、所定の規則に従って幾つかのエリアに分割される（分けられる）。実際には、１６分割程度が良く用いられるが、説明を簡単にするためここでは４分割とし、ＩＤをビット長８Ｂｉｔの４進数で表すこととした。そして、ノードＮのノードＩＤを「1023」とし、このノードＮのルーティングテーブルを作る例について説明する。
【００６１】
（レベル１のルーティング）
ＩＤ空間を４分割とすると、それぞれのエリアは４進数で表すと最大桁が異なる４つのエリア「0XXX」、「1XXX」、「2XXX」、「3XXX」（Ｘは０から３の整数、以下同様。）で分けられる。ノードＮは、当該ノードＮ自身のノードＩＤが「1023」であるため、図中左下「1XXX」のエリアに存在することになる。
【００６２】
そして、ノードＮは、自分の存在するエリア（すなわち、「1XXX」のエリア）以外のエリアに存在する各ノードを代表のノードとして任意に選択し、当該ノードＩＤのＩＰアドレス等（実際には、ポート番号も含まれる、以下同様）をレベル１のテーブルにおける各欄（テーブルエントリー）に登録（記憶）する。図３（Ａ）がレベル１のテーブルの一例である。なお、レベル１のテーブルにおける２列目の欄は、ノードＮ自身を示しているため、ＩＰアドレス等を登録する必要は無い。
【００６３】
（レベル２のルーティング）
次に、図２（Ｂ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、４つのエリア「10XX」、「11XX」、「12XX」、「13XX」に分ける。
【００６４】
そして、上記と同様に自分の存在するエリア以外のエリアに存在する各ノードを代表のノードとして任意に選択し、当該ノードＩＤのＩＰアドレス等をレベル２のテーブルにおける各欄（テーブルエントリー）に登録する。図３（Ｂ）がレベル２のテーブルの一例である。なお、レベル２のテーブルにおける１列目の欄は、ノードＮ自身を示しているため、ＩＰアドレス等を登録する必要は無い。
【００６５】
（レベル３のルーティング）
更に、図２（Ｃ）に示す如く、上記ルーティングによって４分割したエリアのうち、自分の存在するエリアを更に４分割し、４つのエリア「100X」、「101X」、「102X」、「103X」に分ける。そして、上記と同様に自分の存在するエリア以外のエリアに存在する各ノードを代表のノードとして任意に選択し、当該ノードＩＤのＩＰアドレス等をレベル３のテーブルにおける各欄（テーブルエントリー）に登録する。図３（Ｃ）がレベル３のテーブルの一例である。なお、レベル３のテーブルにおける３列目の欄は、ノードＮ自身を示しているため、ＩＰアドレス等を登録する必要は無く、２列目及び４列目の欄はそのエリアにノードが存在しないため空白となる。
【００６６】
このようにして、レベル４まで同様にルーティングテーブルが図３（Ｄ）に示す如く作成されることにより、８ｂｉｔのＩＤ全てを網羅することができる。レベルが上がる毎にテーブルの中に空白が目立つようになる。
【００６７】
以上説明した手法（規則）に従って作成したルーティングテーブルを、全てのノードが夫々作成して所有することになる（かかるルーティングテーブルの作成は、例えば、未参加のノードがオーバーレイネットワーク９に参加する際に行われるが、本発明とは直接の関係がないので詳しい説明を省略する）。
【００６８】
つまり、各ノードは、複数に分けられた各エリアに属する一のノードのＩＰアドレス等を、夫々のエリアに対応付けて一の段階（レベル）として規定し、さらに自己が属するエリアが複数のエリアに分けられ、当該分けられた各エリアに属する一のノードのＩＰアドレス等を、夫々のエリアに対応付けて次の段階（レベル）として規定するルーティングテーブルを記憶している。
【００６９】
なお、ノードＩＤの桁数に応じてレベルの数が決まり、進数の数に応じて図３（Ｄ）における各レベルの注目桁の数が決まる。具体的に、１６桁１６進数である場合には、６４ｂｉｔのＩＤとなり、レベル１６で注目桁の（英）数字は０〜Ｆとなる。後述するルーティングテーブルの説明においては、各レベルの注目桁の数を示す部分を単に「列」ともいう。
【００７０】
［１．２  コンテンツデータの保存及び発見方法］
次に、コンテンツ配信システムＳにおいて取得可能なコンテンツデータの保存及び発見方法について説明する。
【００７１】
オーバーレイネットワーク９においては、様々なコンテンツ（例えば、映画や音楽等）データが複数のノードに分散して保存（格納）されている（言い換えれば、コンテンツデータが複製されその複製情報であるレプリカが分散保存されている）。
【００７２】
例えば、ノードＡ及びノードＤには、タイトルがＸＸＸの映画のコンテンツデータが保存されており、一方、ノードＢ及びノードＣには、タイトルがＹＹＹの映画のコンテンツデータが保存されるというように、複数のノード（以下、「コンテンツ保持ノード」という）に分散されて保存される。
【００７３】
また、これらのコンテンツデータには、夫々、コンテンツ名（タイトル）及びコンテンツＩＤ（コンテンツ毎に固有のコンテンツ識別情報）等の情報が付加されている。このコンテンツＩＤは、例えば、コンテンツ名＋任意の数値（或いは、当該コンテンツデータの先頭数バイトでも良い）が、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化されて生成される（ノードＩＤと同一のＩＤ空間に配置）。或いは、システム運営者が、コンテンツ毎に一意のＩＤ値（ノードＩＤと同一ビット長）を付与しても良い。この場合は、後述するコンテンツカタログ情報に、コンテンツ名とそのコンテンツＩＤの対応が書かれた状態で、各ノードに配布される。
【００７４】
また、このように分散保存されているコンテンツデータの所在、つまり、当該コンテンツデータを保存したノードのＩＰアドレス等と、当該コンテンツデータに対応するコンテンツＩＤ等の組が含まれるインデックス情報が、当該コンテンツデータの所在の管理元のノード（以下、「ルートノード」、又は「コンテンツ（コンテンツＩＤ）のルートノード」という）等により記憶（インデックスキャッシュに記憶）、管理されるようになっている。
【００７５】
例えば、タイトルがＸＸＸの映画のコンテンツデータのインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードであるノードＭにより管理され、タイトルがＹＹＹの映画のコンテンツデータのインデックス情報は、そのコンテンツ（コンテンツＩＤ）のルートノードであるノードＯにより管理される。
【００７６】
つまり、コンテンツ毎にルートノードが分けられるので負荷分散が図らており、しかも、同一のコンテンツデータ（コンテンツＩＤが同一）が、夫々、複数のコンテンツ保持ノードに保存されている場合であっても、かかるコンテンツデータのインデックス情報は、１つのルートノードで管理することができる。また、このようなルートノードは、例えば、コンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有するノードであるように定められる。
【００７７】
このようにしてコンテンツデータを保存したノード（コンテンツ保持ノード）は、当該コンテンツデータを保存したことをそのルートノードに知らせるために、そのコンテンツデータのコンテンツＩＤ及び自己のＩＰアドレス等が含まれるパブリッシュ（登録通知）メッセージ（コンテンツデータを保存したので、ＩＰアドレス等の登録の要求を示す登録メッセージ）を生成し、該パブリッシュメッセージを、そのルートノードに向けて送出する。これにより、パブリッシュメッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。
【００７８】
図４は、コンテンツ保持ノードから送出されたパブリッシュメッセージの流れの一例をＤＨＴのノードＩＤ空間にて示した概念図である。
【００７９】
図４の例において、例えば、コンテンツ保持ノードであるノードＡは、自己のＤＨＴのレベル１のテーブルを参照して、パブリッシュメッセージに含まれるコンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有する例えばノードＨのＩＰアドレス等を取得し、そのＩＰアドレス等宛てに、上記パブリッシュメッセージを送信する。
【００８０】
これに対して、ノードＨは、当該パブリッシュメッセージを受信し、自己のＤＨＴのレベル２のテーブルを参照して、当該パブリッシュメッセージに含まれるコンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有する例えばノードＩのＩＰアドレス等を取得し、そのＩＰアドレス等宛てに、上記パブリッシュメッセージを転送する。
【００８１】
これに対して、ノードＩは、当該パブリッシュメッセージを受信し、自己のＤＨＴのレベル３のテーブルを参照して、当該パブリッシュメッセージに含まれるコンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤを有する例えばノードＭの転送先ノード情報に含まれるＩＰアドレス等を取得し、そのＩＰアドレス等宛てに、上記パブリッシュメッセージを転送する。
【００８２】
これに対して、ノードＭは、パブリッシュメッセージを受信し、自己のＤＨＴのレベル４のテーブルを参照して、当該パブリッシュメッセージに含まれるコンテンツＩＤと最も近い（例えば、上位桁がより多く一致する）ノードＩＤが自分である、つまり、自分がそのコンテンツＩＤのルートノードであることを認識し、当該パブリッシュメッセージに含まれるＩＰアドレス等及びコンテンツＩＤの組を含むインデックス情報を登録（インデックスキャッシュ領域に記憶）することになる。
【００８３】
なお、パブリッシュメッセージに含まれるＩＰアドレス等及びコンテンツＩＤの組を含むインデックス情報は、コンテンツ保持ノードからルートノードに至るまでの転送経路におけるノード（以下、「中継ノード」という。図４の例では、ノードＨ、及びノードＩ）においても登録（キャッシュ）される（このように、インデックス情報をキャッシュする中継ノードをキャッシュノードという）。
【００８４】
そして、あるノードのユーザが、所望するコンテンツデータを取得したい場合、当該コンテンツデータの取得を望むノード（以下、「ユーザノード」という）は、当該ユーザによりコンテンツカタログ情報から選択されたコンテンツデータのコンテンツＩＤを含むコンテンツ所在問合せメッセージを、自己のＤＨＴのルーティングテーブルにしたがって他のノードに対して送出する。これにより、当該コンテンツ所在問合せメッセージは、上述したパブリッシュメッセージと同様に、コンテンツＩＤをキーとするＤＨＴルーティングによって、いくつかの中継ノードを経由（転送）されて、そのコンテンツＩＤのルートノードに辿り着く。そして、上記ユーザノードは、当該ルートノードから、上述したそのコンテンツデータのインデックス情報を取得（受信）し、当該ＩＰアドレス等に基づいて上記コンテンツデータを保存しているコンテンツ保持ノードに接続し、そこから当該コンテンツデータを取得（ダウンロード）することが可能になる。なお、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、当該ルートノードと同じインデックス情報をキャッシュしている中継ノード（キャッシュノード）から当該ＩＰアドレス等を取得（受信）することもできる。
【００８５】
［１．３  コンテンツカタログ情報の内容］
次に、コンテンツカタログ情報の内容等について説明する。
【００８６】
コンテンツカタログ情報（コンテンツリストともいう）には、コンテンツ配信システムＳにおいて各ノードが取得可能なコンテンツデータの属性情報が、夫々のコンテンツＩＤに対応付けられて記述（登録ともいう）されている。
【００８７】
この属性情報としては、例えば、コンテンツ名（コンテンツが映画の場合、映画タイトル、コンテンツが楽曲の場合、楽曲タイトル、コンテンツが放送番組の場合、番組タイトル）、種別の一例としてのジャンル（コンテンツが映画の場合、アニメ、アクション、ホラー、コメディ、ラブストーリー等、コンテンツが音楽の場合、ロック、ジャズ、ポップス、クラシック等、コンテンツが放送番組の場合、ドラマ、スポーツ、ニュース、映画、音楽、アニメ、バラエティ等）、アーティスト名（コンテンツが音楽の場合の歌手、グループ等）、出演者（コンテンツが映画や放送番組の場合のキャスト）、監督名（コンテンツが映画の場合）等が挙げられる。
【００８８】
このような属性情報は、ユーザが所望のコンテンツデータを特定する場合の要素であり、多くのコンテンツデータの中から所望のコンテンツデータを検索するための検索条件としての検索キーワードとしても利用される。
【００８９】
例えば、ユーザが検索キーワードとして「ジャズ」を入力すると、属性情報に「ジャズ」に該当する全てのコンテンツデータが検索され、検索されたコンテンツデータの属性情報（例えば、コンテンツ名、ジャンル等）がユーザに選択可能に提示されることになる。
【００９０】
図５は、ノードにおけるミュージックカタログの表示形態遷移の一例を示す概念図である。このようなミュージックカタログ（映画カタログであっても良い）に対して、上述したコンテンツカタログ情報が組み込まれることになる。図５（Ａ）に示す例では、表示されたジャンル一覧の中から、検索キーワードとして例えばジャズが入力され検索されることにより、図５（Ｂ）に示すように、当該ジャズに該当するアーティスト名一覧が表示され、そのアーティスト名一覧の中から、検索キーワードとして例えばアーティスト「ＡＡＢＢＣ」が入力され検索されることにより、図５（Ｃ）に示すように、当該アーティストに該当する（例えば、当該アーティストにより歌われる、又は演奏される）楽曲タイトル一覧が表示される。そして、かかる楽曲タイトル一覧の中から、ユーザが入力部を介して所望の楽曲タイトルを選択すると、その楽曲データ（コンテンツデータの一例）のコンテンツＩＤが取得され、上述したように、コンテンツＩＤを含むコンテンツ所在問合せメッセージが、そのルートノード向かって送出されることになる。なお、当該コンテンツＩＤは、コンテンツカタログ情報に記述されなくとも良く、この場合、各ノードは、例えば属性情報に含まれるコンテンツ名＋任意の数値を、上述したノードＩＤをハッシュ化した共通のハッシュ関数によりハッシュ化してコンテンツＩＤを生成するものであっても良い。
【００９１】
このようなコンテンツカタログ情報は、例えばシステム管理者等により管理されるノード（以下、「カタログ管理ノード」（配信装置の一例）という）、或いは、カタログ管理サーバ（配信装置の一例）により管理されるようになっている。
【００９２】
そして、新規コンテンツデータ（つまり、各ノードにより新たに取得可能となるべき新規コンテンツデータ）が、コンテンツ配信システムＳ上における、あるノードに投入（初めて保存）される際に、当該新規コンテンツデータの属性情報が登録された新規コンテンツカタログ情報が作成され、オーバーレイネットワーク９に参加している全てのノードに配信（配布）されることになる。なお、一旦投入されたコンテンツデータは、上述したように、コンテンツ保持ノードから取得、その複製が保存されていくことになる。
【００９３】
［１．４  コンテンツカタログ情報の配信方法］
新たに作成された新規コンテンツカタログ情報は、１又は複数のカタログ管理サーバにより、オーバーレイネットワーク９に参加している全てのノードに対して配信されるように構成しても良い（この場合、カタログ管理サーバが配信対象のノードのＩＰアドレス等を記憶している）が、上記ＤＨＴを利用したマルチキャスト（以下、「ＤＨＴマルチキャスト」という）によれば、オーバーレイネットワーク９に参加している全てのノードに対してより効率良く新規コンテンツカタログ情報を配信することができる。
【００９４】
ここで、図６乃至図１１を参照して、ＤＨＴマルチキャストによるコンテンツカタログ情報の配信方法について説明する。
【００９５】
図６は、カタログ管理ノードであるノードＸが保持するルーティングテーブルの一例であり、図７は、カタログ配布メッセージを模式的に表した図であり、図８乃至図１１は、ＤＨＴマルチキャストが行われる様子を示す図である。
【００９６】
なお、ノードＸは、図６に示すようなルーティングテーブルを保持しているものとし、当該ルーティングテーブルのレベル１〜４の各エリアに対応する欄には、ノードＡ〜ノードＩの何れかのノードのノードＩＤ（４桁４進数）及びＩＰアドレス等が記憶されているものとする。
【００９７】
カタログ配布メッセージは、図７（Ａ）に示すように、ヘッダ部とペイロード部から構成されるパケットからなり、ヘッダ部には、ターゲットノードＩＤ、ＩＤマスク、及びターゲットノードＩＤに対応するノードのＩＰアドレス等（図示せず）が含まれており、ペイロード部には、新規コンテンツカタログ情報等を有する主情報が含まれている。
【００９８】
ここで、ターゲットノードＩＤとＩＤマスクとの関係について詳しく説明する。
【００９９】
ターゲットノードＩＤは、ノードＩＤと同等の桁数であり（図６の例では、４桁４進数）、送信先ターゲットとなるノードを設定するものであり、ＩＤマスクの値に応じて、例えば、カタログ配布メッセージの送信元又は転送元のノードのノードＩＤとしたり、送信先のノードのノードＩＤとする。
【０１００】
また、ＩＤマスクは、ターゲットノードＩＤの有効桁数を指定するものであり、有効桁数により、ターゲットノードＩＤにおける上位から有効桁数分が共通するノードＩＤが示される。具体的には、ＩＤマスク（ＩＤマスクの値）は、０以上ノードＩＤの最大桁数以下の整数となり、例えば、ノードＩＤが４桁４進数の場合、０〜４までの整数となる。
【０１０１】
例えば、図７（Ｂ）に示すように、ターゲットノードＩＤが「２１３２」であり、ＩＤマスクの値が「４」の場合には、ターゲットノードＩＤの「４」桁全てが有効であり、ノードＩＤが「２１３２」であるノードのみがカタログ配布メッセージの送信先タッゲートとなる。
【０１０２】
また、図７（Ｃ）に示すように、ターゲットノードＩＤが「３３０１」であり、ＩＤマスクの値が「２」の場合には、ターゲットノードＩＤの上位「２」が有効であり（ノードＩＤが「３３＊＊」）上位二桁が「３３」である（下位２桁はどのような値でも良い）ルーティングテーブル上の全てのノードがカタログ配布メッセージの送信先ターゲットとなる。
【０１０３】
更に、図７（Ｄ）に示すように、ターゲットノードＩＤが「１２２０」であり、ＩＤマスクの値が「０」の場合には、ターゲットノードＩＤの上位「０」桁が有効、すなわち、いずれの桁もどのような値であっても良く（そのため、このときのターゲットノードＩＤは、どのような値であってもよいことになる。）、ルーティングテーブル上の全てのノードがカタログ配布メッセージの送信先ターゲットとなる。
【０１０４】
そして、ノードＩＤを４桁４進数とした場合、カタログ管理ノードであるノードＸから送出されるカタログ配布メッセージのＤＨＴマルチキャストは、図８乃至図１１に示すように、第１段階から第４段階までのステップで行われる。
【０１０５】
（第１段階）
先ず、ノードＸは、ヘッダ部におけるターゲットノードＩＤを自己（自ノード）のノードＩＤ「３１０２」とし、ＩＤマスクを「０」として、当該ヘッダ部及びペイロード部を含むカタログ配布メッセージを生成する。そして、図７（Ａ）、（Ｂ）に示すように、ノードＸは、図６に示すルーティングテーブルを参照し、ＩＤマスク「０」に「１」を加算したレベル「１」のテーブルにおける各欄に登録された（つまり、各エリアに属する）代表のノード（ノードＡ，Ｂ，Ｃ）に対してカタログ配布メッセージを送信する。
【０１０６】
（第２段階）
次に、ノードＸは、上記カタログ配布メッセージのヘッダ部におけるＩＤマスク「０」を「１」に変換したカタログ配布メッセージを生成する。なお、ターゲットノードＩＤは自己のノードＩＤであるため、変更されない。そして、ノードＸは、図６に示すルーティングテーブルを参照し、図９（Ａ）のノードＩＤ空間の右上のエリア及び図９（Ｂ）に示すように、ＩＤマスク「１」に「１」を加算したレベル「２」のテーブルにおける各欄に登録された各ノード（ノードＤ，Ｅ，Ｆ）に対して当該カタログ配布メッセージを送信する。
【０１０７】
一方、第１段階において、ノードＸからカタログ配布メッセージ（自己が属するエリアに対するカタログ配布メッセージ）を受信したノードＡは、当該カタログ配布メッセージのヘッダ部におけるＩＤマスク「０」を「１」に変換し、且つ、ターゲットノードＩＤ「３１０２」を自己のノードＩＤ「０１３２」に変換したカタログ配布メッセージを生成する。
【０１０８】
そして、ノードＡは、図示しない自己のルーティングテーブルを参照し、図９（Ａ）のノードＩＤ空間の左上のエリア及び図９（Ｂ）に示すように、ＩＤマスク「１」に「１」を加算したレベル「２」のテーブルにおける各欄に登録された各ノード（ノードＡ１，Ａ２，Ａ３）に対して当該カタログ配布メッセージを送信する。
【０１０９】
つまり、ノードＡは、自己が属するエリア「0XXX」がさらに複数のエリア（「00XX」、「01XX」、「02XX」、「03XX」）に分けられている場合には、当該さらに分けられている各エリアに属する一の（代表の）ノード（ノードＡ１，Ａ２，Ａ３）を決定し、当該決定された全てのノード（ノードＡ１，Ａ２，Ａ３）に対して、上記受信したカタログ配布メッセージを送信する（以下、同様）。
【０１１０】
同様にして、図９（Ａ）のノードＩＤ空間の左下及び右下のエリア及び図９（Ｂ）に示すように、第１段階において、ノードＸからカタログ配布メッセージを受信したノードＢ及びノードＣも、夫々、自己のルーティングテーブルを参照し、レベル２のテーブルにおける各欄に登録された各ノード（ノードＢ１，Ｂ２，Ｂ３，Ｃ１，Ｃ２，Ｃ３）に対して、ＩＤマスクを「１」とし、且つ、自己のノードＩＤをターゲットノードＩＤとしたカタログ配布メッセージを生成し、これを送信する。
【０１１１】
（第３段階）
次に、ノードＸは、上記カタログ配布メッセージのヘッダ部におけるＩＤマスク「１」を「２」に変換したカタログ配布メッセージを生成する。なお、上記と同様、ターゲットノードＩＤは変更されない。そして、ノードＸは、図６に示すルーティングテーブルを参照し、図１０（Ａ）のノードＩＤ空間の右上のエリア及び図１０（Ｂ）に示すように、ＩＤマスク「２」に「１」を加算したレベル「３」のテーブルにおける各欄に登録された各ノード（ノードＧ，Ｈ）に対して当該カタログ配布メッセージを送信する。
【０１１２】
一方、第２段階において、ノードＸからカタログ配布メッセージを受信したノードＤは、当該カタログ配布メッセージのヘッダ部におけるＩＤマスク「１」を「２」に変換し、且つ、ターゲットノードＩＤ「３１０２」を自己のノードＩＤ「３００１」に変換したカタログ配布メッセージを生成する。そして、ノードＤは、自己のルーティングテーブルを参照し、図１０（Ｂ）に示すように、ＩＤマスク「２」に「１」を加算したレベル「３」のテーブルにおける各欄に登録された各ノード（ノードＤ１，Ｄ２，Ｄ３）に対して当該カタログ配布メッセージを送信する。
【０１１３】
同様にして、図示しないが、第２段階において、カタログ配布メッセージを受信したノードＥ，Ｆ，Ａ１，Ａ２，Ａ３，Ｂ１，Ｂ２，Ｂ３，Ｃ１，Ｃ２，Ｃ３も、夫々、自己のルーティングテーブルを参照し、レベル３のテーブルにおける各欄に登録された各ノード（図示せず）に対して、ＩＤマスクを「２」とし、且つ、自己のノードＩＤをターゲットノードＩＤとしたカタログ配布メッセージを生成し、これを送信する。
【０１１４】
（第４段階）
次に、ノードＸは、上記カタログ配布メッセージのヘッダ部におけるＩＤマスク「２」を「３」に変換したカタログ配布メッセージを生成する。なお、上記と同様、ターゲットノードＩＤは変更されない。そして、ノードＸは、図６に示すルーティングテーブルを参照し、図１１（Ａ）のノードＩＤ空間の右上のエリア及び図１１（Ｂ）に示すように、ＩＤマスク「３」に「１」を加算したレベル「４」のテーブルにおける各欄に登録されたノードＩに対して当該カタログ配布メッセージを送信する。
【０１１５】
一方、第３段階において、ノードＸからカタログ配布メッセージを受信したノードＧは、当該カタログ配布メッセージのヘッダ部におけるＩＤマスク「２」を「３」に変換し、且つ、ターゲットノードＩＤ「３１０２」を自己のノードＩＤ「３１２３」に変換したカタログ配布メッセージを生成する。そして、ノードＧは、自己のルーティングテーブルを参照し、図１１（Ｂ）に示すように、ＩＤマスク「３」に「１」を加算したレベル「４」のテーブルにおける各欄に登録されたノードＧ１に対して当該カタログ配布メッセージを送信する。
【０１１６】
同様にして、図示しないが、第３段階において、カタログ配布メッセージを受信した各ノードも、自己のルーティングテーブルを参照し、レベル４のテーブルにおける各欄に登録された各ノードに対して、ＩＤマスクを「３」とし、且つ、自己のノードＩＤをターゲットノードＩＤとしたカタログ配布メッセージを生成し、これを送信する。
【０１１７】
（最終段階）
最後に、ノードＸは、上記カタログ配布メッセージのヘッダ部におけるＩＤマスク「３」を「４」に変換したカタログ配布メッセージを生成する。そうすると、ターゲットノードＩＤとＩＤマスクから、当該カタログ配布メッセージが自己（自ノード）宛であることを認識し、送信処理を終了する。
【０１１８】
一方、第４段階において、カタログ配布メッセージを受信した各ノードも、当該カタログ配布メッセージのヘッダ部におけるＩＤマスク「３」を「４」に変換したカタログ配布メッセージを生成する。そうすると、ターゲットノードＩＤとＩＤマスクから、当該カタログ配布メッセージが自己（自ノード）宛であることを認識し、送信処理を終了する。
【０１１９】
以上のように、新規コンテンツカタログ情報は、カタログ管理ノードであるノードＸから、ＤＨＴマルチキャストにより、オーバーレイネットワーク９に参加している全てのノードに配布され、各ノードは、コンテンツカタログ情報を保存することが可能となる。
【０１２０】
［１．５  コンテンツカタログ情報の時分割での配信］
ところで、上述したように、新規コンテンツカタログ情報が一時期に全てのノードに配布されると、多くのノードが新規コンテンツカタログ情報に属性情報が登録されている新規コンテンツデータを取得（ダウンロード）するために、該新規コンテンツデータのインデックス情報の要求がそのルートノードに対して集中（つまり、新規コンテンツデータのコンテンツＩＤを含むコンテンツ所在問合せメッセージが集中）し、更には、新規コンテンツデータの要求がそのコンテンツ保持ノードに集中し、ノード負荷及びネットワーク負荷が増大することが懸念され、これによる待ち時間の発生はユーザの不満を生じさせる結果となる。特に、新規コンテンツカタログ情報が配布された当初は、そこに登録されている新規コンテンツデータが投入されたばかりであり、これを取得して保存しているノードの数が少なく、多くのノードからの要求に耐えうる保存数に達していない状況にあると考えられる。
【０１２１】
そこで、本実施形態においては、所定のグループ分け条件に応じて（により）上記複数のノードを複数のグループに分け、グループ毎に異なるタイミングで（言い換えれば、グループ毎に時間をずらして）、夫々のグループに属するノードに対して新規コンテンツカタログ情報を配信するように構成した。
【０１２２】
ここで、カタログ管理ノードからＤＨＴマルチキャストにより新規コンテンツカタログ情報を配信する場合、上述したようにカタログ配布メッセージはオーバーレイネットワーク９に参加している全てのノードにより受信されるので、配信対象となる特定のグループに属するノードのみが当該新規コンテンツカタログ情報を利用可能とするために、新規コンテンツカタログ情報の配信対象となるグループに対応するグループ分け条件を示す条件情報を当該新規コンテンツカタログ情報に付加して上記カタログ配布メッセージを配信する。そして、新規コンテンツカタログ情報を受信した各ノードは、新規コンテンツカタログ情報に付加される条件情報に示されるグループ分け条件を満たすか否かを判別し、グループ分け条件を満たす場合には、受信された新規コンテンツカタログ情報を利用可能に保存し、該当しない場合には、当該新規コンテンツカタログ情報を破棄するようになっている。
【０１２３】
一方、カタログ管理サーバにより新規コンテンツカタログ情報を配信する場合、カタログ管理サーバが、オーバーレイネットワーク９に参加している全てのノードに関する、グループ分けに必要な情報を認識しており（例えばコンタクトノード等から取得することによる）、当該認識している情報に基づき、各ノードをグループ分けし、配信対象となる特定のグループに属するノードに新規コンテンツカタログ情報を配信することとなり、この場合は、新規コンテンツカタログ情報に上記条件情報を付加する必要はない。
【０１２４】
また、上記グループ分け条件となる要素としては、ノードＩＤにおける所定桁目の値、ノードの設置地域、ノードのネットワーク８への接続サービス提供者、ノードまでのホップ数、ノードにおけるコンテンツデータの再生時間（試聴時間）又は再生回数（試聴回数）、ノードにおける通電時間等が挙げられる。
【０１２５】
ノードＩＤにおける所定桁目の値をグループ分け条件の要素とする場合、例えば、最下位桁目（最上位桁目等でも良い）が「１」であるノードのグループ、「２」であるノードのグループ・・・と、いうように分けることができる。また、ノードＩＤが１６進数である場合、所定桁目の値は、０〜Ｆのうち何れかで表されるので、１６のグループに分けることができる。そして、カタログ管理ノード又はカタログ管理サーバは、例えばノードＩＤの最下位桁目が「１」のグループに属する全てのノードに対して新規コンテンツカタログ情報を配信（ＤＨＴマルチキャストによる配信の場合は、新規コンテンツカタログ情報にグループ分け条件（例えば、ノードＩＤの最下位桁目が「１」）を示す条件情報が付加される）し、当該配信してから予め設定された時間（例えば、２４時間）経過後、次に、ノードＩＤの最下位桁目が「２」のグループに属するノードに対して新規コンテンツカタログ情報を配信（例えば、１６のグループに分けられる場合には、１６回時間をずらして配信）する。
【０１２６】
また、ノードの設置地域をグループ分け条件の要素とする場合、例えば、設置地域が東京都港区であるノードのグループ、東京都渋谷区であるノードのグループ・・・と、いうように分けることができる。かかる設置地域は、例えば各ノードにおいて設定された郵便番号や電話番号から判断することができる。そして、カタログ管理ノード又はカタログ管理サーバは、例えば設置地域が東京都渋谷区のグループに属する全てのノードに対して新規コンテンツカタログ情報を配信（ＤＨＴマルチキャストによる配信の場合は、新規コンテンツカタログ情報にグループ分け条件（例えば、設置地域が東京都渋谷区）を示す条件情報が付加される）し、当該配信してから予め設定された時間（例えば、２４時間）経過後、次に、設置地域が東京都港区のグループに属するノードに対して新規コンテンツカタログ情報を配信する。
【０１２７】
また、ノードのネットワーク８への接続サービス提供者（例えば、インターネット接続サービスプロバイダ（以下、「ＩＳＰ」という））をグループ分け条件の要素とする場合、例えば、ＡＳ（Autonomous System）番号の違いで分けることができる。ここで、ＡＳとは、インターネットを構成する、一つ（共通）の運用ポリシーを持ったネットワークの塊をいい（自律システムともいう）、インターネットはこのＡＳの集合体ととらえることができ、例えば各ＩＳＰにより構成されるネットワーク毎にＡＳが区分され、互いに異なる一意のＡＳ番号が、例えば、１〜６５５３５の範囲から割り当てられるようになっている。また、各ノードは、自分が属するＡＳ番号を取得するには、ＩＲＲ（Internet Routing Registry）やＪＰＮＩＣ（社団法人日本ネットワークインフォメーションセンター）のＷＨＯＩＳデータベースにアクセスする方法（ＩＰアドレスからＡＳ番号が分かる）、或いはユーザがＩＳＰから契約している回線のＡＳ番号を入手して、その値をユーザがノードに予め入力しておく方法、などが可能である。そして、カタログ管理ノード又はカタログ管理サーバは、例えばＡＳ番号が「２３４５」のグループに属する全てのノードに対して新規コンテンツカタログ情報を配信（ＤＨＴマルチキャストによる配信の場合は、新規コンテンツカタログ情報にグループ分け条件（例えば、ＡＳ番号が「２３４５」）を示す条件情報が付加される）し、当該配信してから予め設定された時間（例えば、２４時間）経過後、次に、ＡＳ番号が「３４５６」のグループに属するノードに対して新規コンテンツカタログ情報を配信する。
【０１２８】
また、ノードまでのホップ数をグループ分け条件の要素とする場合、例えばカタログ管理サーバからノードまでホップ（ＨＯＰ）数（パケットがルータ等の中継機器を経由する回数）が「１〜１０」であるノードのグループ、「１１〜２０」であるノードのグループ・・・と、いうように分けることができる。ここで、新規コンテンツカタログ情報を配信するためのパケットには、到達可能範囲を示すＴＴＬ（Time To Live）が含まれており、当該ＴＴＬは、最大“２５５”までの整数値で表され、カタログ配布メッセージ（パケット）がルータ等を１回経由する度に１減少し、ＴＴＬが“０”になった時点で当該メッセージが廃棄されるようになっている。従って、カタログ管理サーバはホップ数が「１〜１０」のグループに対してコンテンツカタログ情報を配信する場合、ＴＴＬ値を「１０」にしてカタログ配布メッセージを配信すれば良く、次に、ホップ数が「１１〜２０」のグループに対してコンテンツカタログ情報を配信する場合、ＴＴＬ値を「２０」にしてカタログ配布メッセージを配信すれば良い（なお、重複して同じカタログ配布メッセージがノードにより受信された場合、一方のメッセージはノード側で破棄される）。
【０１２９】
また、ノードにおけるコンテンツデータの再生時間（試聴時間）又は再生回数（試聴回数）をグループ分け条件の要素とする場合、例えば再生時間が「３０時間以上」（又は再生回数が「３０回以上」）であるノードのグループ、再生時間が「２０時間以上３０時間未満」（又は再生回数が「２０回以上３０回未満」）であるノードのグループ、・・・と、いうように分けることができる。ここで、再生時間とは、例えば、ノードにおいて所定期間（例えば１ヶ月）内にコンテンツデータが再生された累計時間を意味し、また、再生回数とは、ノードにおいて所定期間（例えば１ヶ月）内にコンテンツデータが再生された累計回数を意味し、これらは各ノードにおいて計測される。そして、カタログ管理ノード又はカタログ管理サーバは、例えば再生時間が「３０時間以上」のグループに属する全てのノードに対して新規コンテンツカタログ情報を配信（ＤＨＴマルチキャストによる配信の場合は、新規コンテンツカタログ情報にグループ分け条件（例えば、再生時間が３０時間以上）を示す条件情報が付加される）し、当該配信してから予め設定された時間（例えば、２４時間）経過後、次に、例えば再生時間が「２０時間以上３０時間未満」のグループに属するノードに対して新規コンテンツカタログ情報を配信（このように、例えば、再生時間が最も長い又は再生回数が最も多いグループを優先して、新規コンテンツカタログ情報を配信）する。なお、カタログ管理サーバが新規コンテンツカタログ情報を配信する場合、全てのノードから上記再生時間又は再生回数を示す情報を定期的に収集することになる。
【０１３０】
また、かかる再生時間又は再生回数は、コンテンツデータのジャンル毎に計測されれば、ユーザの好みが分かるので望ましい。例えば、あるノードにおいて、ジャンルが「アニメ」のコンテンツデータが所定期間内に再生された累計時間（再生累積時間）が３０時間で、ジャンルが「アクション」のコンテンツデータが所定期間内に再生された累計時間が１３時間、であれば、当該ノードのユーザは「アニメ」が好きであるということが分かる。そして、この場合、新規コンテンツカタログに属性情報が登録される新規コンテンツデータと同一ジャンルにおいて再生時間が最も長い又は再生回数が最も多いグループを優先して当該新規コンテンツカタログ情報が配信される。
【０１３１】
また、ノードにおける通電時間（通電継続時間）をグループ分け条件の要素とする場合、例えば通電時間が「２００時間以上」であるノードのグループ、通電時間が「１５０時間以上２００時間未満」であるノードのグループ、・・・と、いうように分けることができる。ここで、通電時間とは、例えば、ノードの電源がＯＮ状態になっている継続時間を意味し、これは各ノードにおいて計測される。また、各ノードは、通常、電源ＯＮによりオーバーレイネットワーク９に参加するので、通電時間とはオーバーレイネットワーク９に参加継続している時間とも言える。そして、カタログ管理ノード又はカタログ管理サーバは、例えば通電時間が「２００時間以上」のグループに属する全てのノードに対して新規コンテンツカタログ情報を配信（ＤＨＴマルチキャストによる配信の場合は、新規コンテンツカタログ情報にグループ分け条件（例えば、通電時間が２００時間以上）を示す条件情報が付加される）し、当該配信してから予め設定された時間（例えば、２４時間）経過後、次に、例えば通電時間が「１５０時間以上２００時間未満」のグループに属するノードに対して新規コンテンツカタログ情報を配信（このように、例えば、通電時間が最も長いグループを優先して、新規コンテンツカタログ情報を配信）する。
【０１３２】
また、ノードＩＤにおける所定桁目の値、ノードの設置地域、ノードのネットワーク８への接続サービス提供者、ノードまでのホップ数、ノードにおけるコンテンツデータの再生時間（試聴時間）又は再生回数（試聴回数）、及びノードにおける通電時間等のうちの何れか二つ以上の組合せによりグループ分けを行うようにすれば、より効果的である。
【０１３３】
ところで、グループ分け条件に応じて分けられるグループの数は、オーバーレイネットワーク９に参加しているノードの数と、当該システムＳの処理能力と、コンテンツカタログ情報の配信間隔（つまり、一のグループに属する全てのノードに対して新規コンテンツカタログ情報を配信してから次のグループに属するノードに対して配信するまでの配信間隔）により決まってくるが、当該配信間隔の最大値を１日（２４時間）に設定した場合は、１０グループ程度が妥当である、この場合、最初のグループに対する最終のグループへの配信遅れは最大１０日になる。
【０１３４】
また、ユーザの試聴可能時間は、１日のうちで変動が大きいが曜日による変動は１日よりは大きくないと想定されるので、上記配信間隔は、１日（２４時間）程度とすることが望ましい。例えば、子供向けのコンテンツの場合、試聴頻度は曜日に関わらず１７：００から２０：００ぐらいに高くなると想定されるので、この間にはレプリカも多く作成されると期待できる。よって、短時間に次の配信順位のグループに対して新規コンテンツカタログ情報の配信が可能になる可能性があるが、夜中では試聴される可能性は殆どないので、レプリカの作成は翌日にならないと期待できない。そこで、最大配信間隔を１日（２４時間）とすることでこのようなアクセス頻度の変動を吸収することができる。
【０１３５】
また、カタログ管理ノード又はカタログ管理サーバは、一のグループに属する全てのノードに対して新規コンテンツカタログ情報を配信してから予め設定された時間経過後、次のグループに属するノードに対して新規コンテンツカタログ情報を配信する方法の他にも、例えば、カタログ管理ノード又はカタログ管理サーバは、一のグループに属するノードに対する新規コンテンツカタログ情報の配信後、これらのノードによる新規コンテンツデータを取得するための要求（例えばコンテンツ所在問合せメッセージ）の数を示す要求数情報を、例えば当該新規コンテンツデータのルートノードやキャッシュノードから取得し、当該要求数情報に示される要求の数が、予め設定された基準数（規程数量）以上となった場合に、次のグループに属するノードに対して新規コンテンツカタログ情報を配信する方法もある。
【０１３６】
［２．ノードの構成等］
次に、図１２を参照して、ノードの構成及び機能について説明する。
【０１３７】
図１２は、ノードの概要構成例を示す図である。
【０１３８】
各ノードは、図１２に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データおよびプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部１１と、コンテンツデータ、コンテンツカタログ情報、ルーティングテーブル及び各種プログラム等を記憶保存（格納）するためのＨＤ等から構成された記憶手段としての記憶部１２と、受信されたコンテンツデータ等を一時蓄積するバッファメモリ１３と、コンテンツデータに含まれるエンコードされたビデオデータ（映像情報）およびオーディオデータ（音声情報）等をデコード（データ伸張や復号化等）するデコーダ部１４と、当該デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部１５と、当該映像処理部１５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部１６と、上記デコードされたオーディオデータをアナログオーディオ信号にＤ （Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部１７と、当該音声処理部１７から出力されたオーディオ信号を音波として出力するスピーカ１８と、ネットワーク８を通じて他のノードとの間の情報の通信制御を行うための通信部２０と、ユーザからの指示を受け付け当該指示に応じた指示信号を制御部１１に対して与える入力部（例えば、キーボード、マウス、或いは、操作パネル等）２１と、を備えて構成され、制御部１１、記憶部１２、バッファメモリ１３、デコーダ部１４および通信部２０はバス２２を介して相互に接続されている。なお、ノードとしては、パーソナルコンピュータ、ＳＴＢ（Set Top Box）、或いは、ＴＶ受信機等を適用可能である。
【０１３９】
そして、このような構成において、制御部１１は、ＣＰＵが記憶部１２等に記憶された各種プログラム（本発明のノード処理プログラムを含む）を読み出して実行することにより、全体を統括制御し、コンテンツ配信システムＳへの参加により上述したユーザノード、中継ノード、ルートノード、キャッシュノード、及びコンテンツ保持ノードの少なくとも何れか一つのノードとしての処理を行い、特に、ユーザノードとして本発明における判別手段、受信手段及び保存手段等として機能するようになっている。
【０１４０】
そして更に、カタログ管理ノードとなるノードの制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラム（本発明の配信処理プログラムを含む）を読み出して実行することにより、本発明の配信手段等として機能するようになっている。
【０１４１】
また、制御部１１は、取得されたコンテンツデータが、デコーダ部１４、映像処理部１５、表示部１６、音声処理部１７及びスピーカ１８を通じて再生出力される場合、当該コンテンツデータの再生時間（又は再生回数）を計測し、当該コンテンツデータのジャンルに対応する（つまり、ジャンル毎に区分されている）再生累積時間に加算（積算）し記憶部１２に記憶するようになっている。なお、再生累積時間は、例えば１ヶ月毎にリセット（初期化）される。また、制御部１１は、電源ＯＮとなったときに通電時間の計測を開始し、電源ＯＦＦ指令があったときに当該計測を終了し、計測した通電時間を記憶部１２に記憶するようになっている。
【０１４２】
また、各ノードの記憶部１２には、ネットワーク８への接続時に割り当てられたＡＳ番号、並びにユーザにより入力された郵便番号（又は電話番号）が記憶されるようになっている。また、各ノードの記憶１２には、コンタクトノードのＩＰアドレス等が予め記憶される。
【０１４３】
また、カタログ管理ノードの記憶部１２には、上述したグループ分け条件及び配信順序を規定するグループ分け条件テーブルが記憶されている。
【０１４４】
なお、上記ノード処理プログラム及び配信処理プログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしてもよいし、例えば、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしてもよい。
【０１４５】
なお、カタログ管理サーバのハードウェア構成としては、図示しないが、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データおよびプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部、コンテンツカタログ情報及び各種プログラム等を記憶保存（格納）するためのＨＤ等から構成された記憶手段としての記憶部、及びネットワーク８を通じて他のノードとの間の情報の通信制御を行うための通信部等を備えるサーバコンピュータにより構成される。
【０１４６】
［３．コンテンツ配信システムの動作］
次に、コンテンツ配信システムＳの動作について説明する。
【０１４７】
［３．１  カタログ管理ノードによる配信］
先ず、カタログ管理ノードにより新規コンテンツカタログ情報を配信する場合について、図１３及び図１４を用いて説明する。
【０１４８】
図１３は、カタログ管理ノードにおける新規コンテンツカタログ情報配信処理を示すフローチャートであり、図１４は、新規コンテンツカタログ情報受信処理を示すフローチャートである。なお、オーバーレイネットワーク９に参加している各ノードは、稼働（すなわち、電源が入れられ、各種設定を初期化している）し、ユーザからの入力部２１を介した指示待機、及び他のノードからのネットワーク８を介したメッセージの受信待機状態にあるものとする。
【０１４９】
図１３に示す処理は、カタログ管理ノードであるノードＸにおいて、新規コンテンツデータがあるノードに投入されたことを示す情報（当該新規コンテンツデータの属性情報を含む）を、例えばコンテンツ投入サーバ（コンテンツ配信システムＳにおいて新規コンテンツデータの投入許可をし、これを１又は複数のノードに投入するサーバ）から受信したときに開始される。なお、新規コンテンツカタログ情報には、１つずつ新規コンテンツデータの属性情報が記述されるものであっても良いし、同時期に投入される複数の新規コンテンツデータを纏めてそれら属性情報が記述されるものであっても良い。更に、同時期に投入される複数の新規コンテンツデータをジャンル毎に纏めてそれらの属性情報が記述されるものであっても良い。
【０１５０】
先ず、ノードＸの制御部１１は、コンテンツ投入サーバから取得した新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報をペイロード部に含むカタログ配布メッセージを生成する（ステップＳ１）。生成されたカタログ配布メッセージは一時記憶される。
【０１５１】
次いで、制御部１１は、上記生成したカタログ配布メッセージのヘッダ部におけるターゲットノードＩＤとして自己のノードＩＤ例えば「３１０２」を設定し、ＩＤマスクとして「０」を設定し、ＩＰアドレスとして自己のＩＰアドレス等を設定する（ステップＳ２）。
【０１５２】
次いで、制御部１１は、例えば記憶部１２に記憶されたグループ分け条件テーブルを参照して、配信対象となるグループを決定（選定）する（ステップＳ３）。
【０１５３】
図１５（Ａ）〜（Ｃ）は、グループ分け条件テーブルの内容の一例を示す図である。
【０１５４】
図１５（Ａ）に示すグループ分け条件テーブルを用いる場合には、コンテンツデータの再生時間をグループ分け条件の要素としており、「３０時間以上」のグループａ、「２０時間以上３０時間未満」のグループｂ、「１０時間以上２０時間未満」のグループｃ、及び「１０時間未満」のグループｄに区分されている。このように区分されたグループのうち、例えば配信順序が１位である、再生時間が最も長いグループ（「再生時間が３０時間以上」のグループａ）が始めに（最初のループで）選定される（次回以降のループで順次、再生時間が長い順（配信順序２位→３位→４位の順）に選定される）。
【０１５５】
また、図１５（Ｂ）に示すグループ分け条件テーブルを用いる場合には、例えば配信順序が１位である、通電時間が最も長いグループ（「通電時間が２００時間以上」のグループｅ）が始めに（最初のループで）選定（配信順序が１位）される（次回以降のループで順次、再生時間が長い順に選定される）ことになる。
【０１５６】
また、図１５（Ｃ）に示すように、再生時間と通電時間の組合せによりグループ分けしたグループ分け条件テーブルを用いる場合、配信順序が１位である「再生時間が３０時間以上、且つ、通電時間が２００時間以上」のグループｉが始めに（最初のループで）選定され（つまり、グループｉに属するノードが優先（言い換えれば、図１５（Ａ）に示す再生時間が最も長いグループａに属し、且つ図１５（Ｂ）に示す通電時間が最も長いグループｅ属するノードが優先）され）、配信順序が２位である「再生時間が３０時間以上、且つ、通電時間が２００時間未満」のグループｊが次に（次のループで）選定される。なお、図１５（Ｃ）に示すグループ分け条件テーブルからグループｉを選定することに代えて、図１５（Ａ）に示すグループ分け条件テーブルからグループａを選定し、且つ、図１５（Ｂ）に示すグループ分け条件テーブルからグループｅを選定するように構成しても良い。これ以降は、再生時間のみによるグループｋ→グループｌ→グループｍの順に選定される。このように、「再生時間が３０時間以上、且つ、通電時間が２００時間以上」のグループｉを最優先とすることで、新規コンテンツデータの試聴可能性が高いユーザのノードに対して配信できるので、そのレプリカをオーバーレイネットワーク９上で増やす（つまり、当該新規コンテンツデータのレプリカを保存するノードを増やす）確率を高めることができ、更に、通電時間が長くオーバーレイネットワーク９から脱退する可能性が低いノードに対して配信できるので、当該新規コンテンツデータを他のノードが取得する（新規コンテンツデータの取得要求に応える）確率を高めることができる。このように、最初に効率良くレプリカが保存されるので、次からは新規コンテンツデータへのアクセスが分散される。
【０１５７】
なお、図１５（Ｃ）に示すグループ分け条件テーブルにおいて、グループｊを「再生時間が３０時間以上、且つ、通電時間が１５０時間以上２００時間未満」とし、グループｋを「再生時間が３０時間以上、且つ、通電時間が１００時間以上１５０時間未満」とし、グループｌを「再生時間が３０時間以上、且つ、通電時間が１００時間未満」とし、グループｍを「再生時間が２０時間以上３０時間未満、且つ、通電時間が２００時間以上」・・・というように、組合せ条件を変えても良い。
【０１５８】
なお、当該処理で一度選定されたグループは重複して選定されないように当該グループに対して例えばフラグ（“１”）が立てられる。
【０１５９】
次いで、制御部１１は、決定したグループに対応するグループ分け条件（例えば再生時間が３０時間以上、或いは、例えば再生時間が３０時間以上、且つ、通電時間が２００時間以上）を示す条件情報を、上記カタログ配布メッセージにおけるペイロード部に含まれる新規コンテンツカタログ情報に付加する（ステップＳ４）。
【０１６０】
ここで、例えば図１５（Ａ）に示すグループ分け条件テーブルを用いる場合には、「ジャンル（例えば配信する新規コンテンツカタログに属性情報が登録された新規コンテンツデータと同一ジャンル）がアニメであるコンテンツデータの再生時間が３０時間以上」とのグループ分け条件を示す条件情報を新規コンテンツカタログ情報に付加するようにし、例えば図１５（Ｃ）に示すグループ分け条件テーブルを用いる場合には、例えば「ジャンルがアニメであるコンテンツデータの再生時間が３０時間以上、且つ、通電時間が２００時間以上」とのグループ分け条件を示す条件情報を新規コンテンツカタログ情報に付加するように構成すれば、より当該新規コンテンツカタログ情報を欲し、利用される可能性が高いユーザに対して新規コンテンツカタログ情報を配信することができる。
【０１６１】
次いで、制御部１１は、上記設定したＩＤマスク（値）が、自己のルーティングテーブルの全レベル数（図６の例では、「４」）よりも小さいか否かを判別（判断）する（ステップＳ５）。ＩＤマスクが「０」に設定されている場合は、ルーティングテーブルの全レベル数よりも小さいため、当該制御部１１は、ＩＤマスクがルーティングテーブルの全レベル数よりも小さいと判別し（ステップＳ５：ＹＥＳ）、自己のルーティングテーブルにおける「上記設定したＩＤマスク＋１」のレベルに登録されている全てのノードを決定し、当該決定したノードに対して上記生成したカタログ配布メッセージを送信し（ステップＳ６）、タイマにより、次のグループへの配信間隔である配信待機時間（例えば、２４時間に設定）のカウントを開始する。
【０１６２】
図６の例では、「ＩＤマスク「０」＋１」であるレベル１に登録されたノードＡ、ノードＢ、及びノードＣに対してカタログ配布メッセージが送信されることになる。
【０１６３】
次いで、制御部１１は、上記カタログ配布メッセージのヘッダ部において設定されたＩＤマスクに「１」を加算して当該ＩＤマスクを再設定し（ステップＳ７）、ステップＳ５に戻る。
【０１６４】
その後、制御部１１は、ＩＤマスク「１」，「２」，「３」について同様にステップＳ５〜Ｓ７の処理を繰り返す。これにより、上記カタログ配布メッセージは、自己のルーティングテーブルに登録されている全てのノードに送信されることになる。
【０１６５】
一方、上記ステップＳ５において、ＩＤマスクが、自己のルーティングテーブルの全レベル数よりも小さくないと判別された場合（図６の例では、ＩＤマスクが「４」の場合）には（ステップＳ５：ＮＯ）、ステップＳ８に移行する。
【０１６６】
ステップＳ８においては、制御部１１は、グループ分け条件テーブルに規定された全グループに対してカタログ配布メッセージを配信したか否かを判別し、全グループに対してカタログ配布メッセージを配信していない（例えば、図１５（Ａ）に示すグループ分け条件テーブルにおける４つのグループの全てが上記ステップＳ３において選定されていない）場合には（ステップＳ８：ＮＯ）、次のグループに対する配信条件を満たすか否か（例えば次のグループへの配信待機時間が経過（カウントアップ）したか否か）を判断する（ステップＳ９）。次のグループに対する配信条件を満たさない（例えば、上記配信待機時間が経過していない）場合には（ステップＳ９：ＮＯ）、制御部１１は、その他の処理を行い（ステップＳ１０）、ステップＳ９に戻る。ステップＳ１０におけるその他の処理においては、例えば他のノードから受信した各種メッセージに応じた処理等が行われる。
【０１６７】
一方、次のグループに対する配信条件を満たす（例えば、上記配信待機時間が経過した）場合には（ステップＳ９：ＹＥＳ）、ステップＳ３に戻り、カタログ配布メッセージの配信対象となる次のグループ（例えば、次に再生時間が長いグループ）が選定され、上記と同様にステップＳ４以降の処理が行われる。
【０１６８】
そして、上記ステップＳ８において、全グループに対してカタログ配布メッセージが配信されたと判断された場合には（ステップＳ８：ＹＥＳ）、当該処理が終了する。
【０１６９】
なお、上記ステップＳ３においては、コンテンツデータの再生時間をグループ分け条件の要素として配信対象となるグループが決定されるように構成したが、この他にも、コンテンツデータの再生回数、ノードＩＤにおける所定桁目（例えば、最下位桁）の値、ノードの設置地域、ノードのネットワーク８への接続サービス提供者、又はノードにおける通電時間、或いはこれらの組合せ等をグループ分け条件の要素として配信対象となるグループに属するノードが決定されるように構成しても良い。
【０１７０】
また、上記ステップＳ９において、制御部１１は、一のグループに属するノードに対する新規コンテンツカタログ情報の配信後、これらのノードによる新規コンテンツデータを取得するための要求（例えばコンテンツ所在問合せメッセージ）の数を示す要求数情報を、例えば当該新規コンテンツデータのルートノードやキャッシュノードから取得し、当該要求数情報に示される要求の数が、予め設定された基準数（例えば十分なレプリカが確保される数）以上となったか否かを判断し、当該基準数以上となった場合に、配信条件を満たすと判断して、ステップＳ３に戻り、カタログ配布メッセージの配信対象となる次のグループを選定するように構成しても良い。この構成によれば、人気のある新規コンテンツデータは、その要求の数が基準数以上となるのが比較的早いことが想定されるので、次のグループに属するノードに対して新規コンテンツカタログ情報を迅速に配信できる。
【０１７１】
なお、新規コンテンツデータを取得するための要求（例えばコンテンツ所在問合せメッセージ）の数が、予め設定された基準数以上となったか否かの判断は、ルートノードやキャッシュノード、或いはルートノードやキャッシュノードを管理するライセンスサーバ等が行い、当該基準数以上となった場合に、基準数以上となったことを示す情報をカタログ管理ノードへ送信し、当該カタログ管理ノードは、基準数以上となったことを示す情報を受信した場合に、上記ステップＳ９において配信条件を満たすと判断するように構成しても良い。
【０１７２】
更にまた、上記ステップＳ９において、上記新規コンテンツデータを取得するための要求の数が予め設定された基準数以上となったか否かを判断し、且つ、次のグループへの配信待機時間が経過（カウントアップ）したか否かを判断し、何れか一方を満たす場合に、配信条件を満たすと判断するように構成すればより効果的である。すなわち、人気のある新規コンテンツデータは、その要求の数が基準数以上となるのが比較的早いことが想定されるので、上記配信待機時間が経過するのを待たずに、上記要求の数が基準数以上となったことをもって、次のグループに属するノードに対して新規コンテンツカタログ情報を迅速に配信でき、一方、あまり人気のない新規コンテンツデータは、いつまでたってもその要求の数が基準数以上とならないことが想定されるので、上記要求の数が基準数以上にならなくても、上記配信待機時間（一定の時間制限）が経過したら、次のグループに属するノードに対して新規コンテンツカタログ情報を迅速に配信できるというメリットがある。
【０１７３】
次に、上記のように送信されたカタログ配布メッセージを受信した各ノードは、当該カタログ配布メッセージを一時格納し、図１４に示す処理を開始する。ここでは、ノードＡを例にとって説明する。
【０１７４】
図１４に示す処理が開始されると、ノードＡの制御部１１は、自己のノードＩＤが、受信したカタログ配布メッセージのヘッダ部におけるターゲットノードＩＤ及びＩＤマスクにより特定されるターゲットに含まれるか否かを判別する（ステップＳ１１）。
【０１７５】
ここで、ターゲットとは、ターゲットノードＩＤにおいて、ＩＤマスクの値に該当する上位桁が共通するノードＩＤを示し、例えば、ＩＤマスクが「０」であれば、全てのノードＩＤがターゲットに含まれ、ＩＤマスクが「２」でターゲットノードＩＤが「３１０２」であれば、上位 「２」桁が「３１」となる「３１＊＊」（＊＊はどのような値でも良い）のノードＩＤがターゲットに含まれることとなる。
【０１７６】
ノードＡが受信したカタログ配布メッセージのヘッダ部におけるＩＤマスクは「０」であり、有効桁数が指定されていないので、ノードＡの制御部１１は、自己のノードＩＤ「０１３２」がターゲットに含まれると判別し（ステップＳ１１：ＹＥＳ）、当該カタログ配布メッセージのヘッダ部におけるターゲットノードＩＤを、自己のノードＩＤ「０１３２」に変換設定する（ステップＳ１２）。
【０１７７】
次いで、制御部１１は、上記カタログ配布メッセージのヘッダ部におけるＩＤマスクに「１」を加算して当該ＩＤマスクを再設定（ここでは、「０」から「１」に変換（一のレベルを示すＩＤマスクを次のレベルを示すＩＤマスクに変えて））する（ステップＳ１３）。
【０１７８】
次いで、制御部１１は、上記再設定したＩＤマスクの値が、自己のルーティングテーブルの全レベル数よりも小さいか否かを判別する（ステップＳ１４）。
【０１７９】
このとき、ＩＤマスクに「１」が設定されているので、ルーティングテーブルの全レベル数よりも小さいため、制御部１１は、ＩＤマスクがルーティングテーブルの全レベル数よりも小さいと判別し（ステップＳ１４：ＹＥＳ）、自己のルーティングテーブルにおける「上記再設定したＩＤマスク＋１」のレベルに登録されている全てのノードを決定し（つまり、ノードＡが属するエリアがさらに複数のエリアに分けられているので、当該さらに分けられている各エリアに属する一のノードが決定される）、当該決定したノードに対して上記生成したカタログ配布メッセージを送信し（ステップＳ１５）、ステップＳ１３に戻る。
【０１８０】
例えば、「ＩＤマスク「１」＋１」であるレベル２に登録されたノードＡ１、ノードＡ２、及びノードＡ３に対してカタログ配布メッセージが送信されることになる。
【０１８１】
その後、制御部１１は、ＩＤマスク「２」，「３」について同様にステップＳ１４及びＳ１５の処理を繰り返す。これにより、上記カタログ配布メッセージは、自己のルーティングテーブルに登録されている全てのノードに送信されることになる。
【０１８２】
一方、上記ステップＳ１１において、制御部１１は、自己のノードＩＤが、受信したカタログ配布メッセージのヘッダ部におけるターゲットノードＩＤ及びＩＤマスクにより特定されるターゲットに含まれないと判別した場合には（ステップＳ１１：ＮＯ）、ルーティングテーブル中で、当該ターゲットノードＩＤと上位桁から一致する桁数が最も多いノードに対して上記受信したカタログ配布メッセージを送信（転送）し（ステップＳ１７）、当該処理を終了する。
【０１８３】
例えば、ＩＤマスクが「２」でターゲットノードＩＤが「３１０２」であったとすると、ノードＡのノードＩＤ「０１３２」は、ターゲット「３１＊＊」に含まれないと判別される。なお、ステップＳ１７の転送処理は、通常のＤＨＴのルーティングテーブルを用いたメッセージの転送である。
【０１８４】
一方、上記ステップＳ１４において、制御部１１は、ＩＤマスクの値が、自己のルーティングテーブルの全レベル数よりも小さくないと判別した場合には（ステップＳ１４：ＮＯ）、一時格納したカタログ配布メッセージのペイロード部における新規コンテンツカタログ情報に付加された条件情報を抽出し、その条件情報に示されるグループ分け条件を満たすか否かを判別する（ステップＳ１６）。
【０１８５】
例えば、当該条件情報にグループ分け条件として「再生時間が３０時間以上」と示されている場合、制御部１１は、記憶部１２に記憶された再生累積時間が３０時間以上であるか否かを判断（当該グループ分け条件に、ジャンルが指定されていない場合、各ジャンルに対応する再生累積時間の総和が３０時間以上であるか否かが判断される、再生回数についても同様）し、再生累積時間が３０時間以上でない場合、グループ分け条件を満たさないと判別し（ステップＳ１６：ＮＯ）、上記一時格納したカタログ配布メッセージのペイロード部における新規コンテンツカタログ情報を破棄（削除）し（ステップＳ１８）、当該処理を終了する。一方、制御部１１は、再生累積時間が３０時間以上である場合、グループ分け条件を満たすと判別し（ステップＳ１６：ＹＥＳ）、上記一時格納したカタログ配布メッセージのペイロード部における新規コンテンツカタログ情報を利用可能に記憶部１２に保存し（ステップＳ１９）、当該処理を終了する。こうして、新規コンテンツカタログ情報は、実質的に、当該グループ分け条件を満たすノードに対してのみ配信され、利用（例えば、新規コンテンツカタログ情報における新規コンテンツデータのコンテンツＩＤを取得し、コンテンツＩＤを含むコンテンツ所在問合せメッセージを、上述したように、ルートノード向けて送出）される結果となる。
【０１８６】
また、例えば、当該条件情報にグループ分け条件として「ジャンルがアニメであるコンテンツデータの再生時間が３０時間以上」というように、ジャンルが指定されている場合、制御部１１は、ジャンル「アニメ」に対応する再生累積時間が３０時間以上であるか否かを判断（再生回数についても同様）し、３０時間以上でない（つまり、グループ分け条件を満たさない）場合は、上記新規コンテンツカタログ情報を破棄（削除）し、３０時間以上である（つまり、グループ分け条件を満たす）場合は、上記新規コンテンツカタログ情報を利用可能に記憶部１２に保存することになる。
【０１８７】
また、例えば、当該条件情報にグループ分け条件として「通電時間が２００時間以上」と示されている場合、制御部１１は、記憶部１２に記憶された通電時間が２００時間以上であるか否かを判断し、通電時間が２００時間以上でない（つまり、グループ分け条件を満たさない）場合は、上記新規コンテンツカタログ情報を破棄（削除）し、通電時間が２００時間以上である（つまり、グループ分け条件を満たす）場合は、上記新規コンテンツカタログ情報を利用可能に記憶部１２に保存することになる。
【０１８８】
また、例えば、当該条件情報にグループ分け条件としてノードＩＤにおける所定桁目（例えば、最下位桁）の値が示されている場合、制御部１１は、当該示された値と、自ノードのノードＩＤにおける所定桁目（例えば、最下位桁）の値が一致するか否かを判断し、一致しない（つまり、グループ分け条件を満たさない）場合は、上記新規コンテンツカタログ情報を破棄（削除）し、一致する（つまり、グループ分け条件を満たす）場合は、上記新規コンテンツカタログ情報を利用可能に記憶部１２に保存することになる。
【０１８９】
また、例えば、当該条件情報にグループ分け条件としてノードの設置地域（例えば、東京都港区）が示されている場合、制御部１１は、記憶部１２に記憶されている郵便番号や電話番号が当該設置地域に該当するか否かを判断し、該当しない（つまり、グループ分け条件を満たさない）場合は、上記新規コンテンツカタログ情報を破棄（削除）し、該当する（つまり、グループ分け条件を満たす）場合は、上記新規コンテンツカタログ情報を利用可能に記憶部１２に保存することになる。
【０１９０】
また、例えば、当該条件情報にグループ分け条件としてネットワーク８への接続サービス提供者に対応するＡＳ番号が示されている場合、制御部１１は、当該示されたＡＳ番号と、記憶部１２に記憶されているＡＳ番号が一致するか否かを判断し、一致しない（つまり、グループ分け条件を満たさない）場合は、上記新規コンテンツカタログ情報を破棄（削除）し、一致する（つまり、グループ分け条件を満たす）場合は、上記新規コンテンツカタログ情報を利用可能に記憶部１２に保存することになる。
【０１９１】
また、例えば、当該条件情報にグループ分け条件として「再生時間が３０時間以上、且つ、通電時間が２００時間以上」というように再生時間と通電時間の組合せが示されている場合、制御部１１は、記憶部１２に記憶された再生累積時間が３０時間以上であり、且つ、記憶部１２に記憶された通電時間が２００時間以上であるか否かを判断し、この条件を満たさない（つまり、グループ分け条件を満たさない）場合は、上記新規コンテンツカタログ情報を破棄（削除）し、この条件を満たす（つまり、グループ分け条件を満たす）場合は、上記新規コンテンツカタログ情報を利用可能に記憶部１２に保存することになる。
【０１９２】
このように、カタログ管理ノードによる新規コンテンツカタログ情報の配信の場合は、当該新規コンテンツカタログ情報は、ＤＨＴマルチキャストによりオーバーレイネットワーク９に参加している全てのノードに順次転送されつつ配信され、各ノード側でグループ分け条件を満たすか否かを判別して新規コンテンツカタログ情報の取得可否（利用可否）を決定するので、カタログ管理サーバのような特定のサーバに与える負荷を大幅に低減することができる。
【０１９３】
なお、ノードＩＤにおける最上位桁目の値をグループ分け条件の要素とする場合、ＤＨＴマルチキャストを利用して配信対象となるグループに属するノードのみに新規コンテンツカタログ情報を配信することができる。この場合の新規コンテンツカタログ情報配信処理について説明する。
【０１９４】
図１６は、ノードＩＤにおける最上位桁目の値をグループ分け条件の要素とした場合における、カタログ管理ノードにおける新規コンテンツカタログ情報配信処理を示すフローチャートである。
【０１９５】
図１６におけるステップＳ２１及びＳ２２の処理は、図１３におけるステップＳ１及びＳ２と同様である。そして、ステップＳ２３では、カタログ管理ノードの制御部１１は、上記生成したカタログ配布メッセージの配信対象となるグループγを決定する。なお、ノードＩＤが１６進数である場合、γは０〜Ｆの何れかの値をとることになるが、ここでは説明の便宜上、ノードＩＤが４桁４進数であるとして説明する。
【０１９６】
次いで、制御部１１は、自己（自ノード）のノードＩＤ（例えば、「３１０２」とする）の最上位桁がγ（例えば、３）であるか否かを判別し（ステップＳ２４）、γである場合には（ステップＳ２４：ＹＥＳ）、上記カタログ配布メッセージのヘッダ部において設定されたＩＤマスクに「１」を加算して当該ＩＤマスクを再設定する（ステップＳ２５）。
【０１９７】
次いで、制御部１１は、上記ＩＤマスクが、自己のルーティングテーブルの全レベル数（図６の例では、「４」）よりも小さいか否かを判別し（ステップＳ２６）、ＩＤマスクがルーティングテーブルの全レベル数よりも小さい場合には（ステップＳ２６：ＹＥＳ）、自己のルーティングテーブルにおける「ＩＤマスク＋１」のレベル（このときは、「ＩＤマスク「１」＋１」＝２となる）に登録されている全てのノードを決定し、当該決定したノードに対して上記生成したカタログ配布メッセージを送信し（ステップＳ２７）、タイマにより、次のグループへの配信待機時間のカウントを開始する。
【０１９８】
図６の例では、「ＩＤマスク「１」＋１」であるレベル２に登録されたノードＤ、ノードＥ、及びノードＦに対してカタログ配布メッセージが送信されることになるが、レベル１に登録されたノードＡ、ノードＢ、及びノードＣに対しては配信されない。
【０１９９】
次いで、制御部１１は、上記カタログ配布メッセージのヘッダ部において設定されたＩＤマスクに「１」を加算して当該ＩＤマスクを再設定し（ステップＳ２８）、ステップＳ２６に戻る。
【０２００】
その後、制御部１１は、ＩＤマスク「２」，「３」について同様にステップＳ２６〜Ｓ２８の処理を繰り返す。これにより、上記カタログ配布メッセージは、自己のルーティングテーブルに登録されているレベル２〜レベル４の全てのノードに送信されることになる。そして、当該送信されたカタログ配布メッセージを受信した各ノードにより、図１４に示すステップＳ１１〜ステップＳ１５の処理が行われることによって、例えばグループγ（＝３）に属するノード（例えば、図８（Ａ）の右上の「３０００」〜「３３３３」内のノードＩＤを有するノード）にカタログ配布メッセージが配信される。この場合、ステップＳ１６及びＳ１８の処理は行われず、当該カタログ配布メッセージを受信した各ノードは、上記新規コンテンツカタログ情報を利用可能に記憶部１２に保存することになる。
【０２０１】
一方、上記ステップＳ２６において、ＩＤマスクが、自己のルーティングテーブルの全レベル数よりも小さくないと判別された場合（図６の例では、ＩＤマスクが「４」の場合）には（ステップＳ２６：ＮＯ）、ステップＳ３０に移行する。
【０２０２】
そして、制御部１１は、全グループ（γ＝０〜３）に対してカタログ配布メッセージを配信したか否かを判別し、全グループに対してカタログ配布メッセージを配信していない場合には（ステップＳ３０：ＮＯ）、上述したステップＳ９と同様、次のグループに対する配信条件を満たすか否かを判断する（ステップＳ３１）。次のグループに対する配信条件を満たさない場合には（ステップＳ３１：ＮＯ）、制御部１１は、上述したステップＳ１０と同様、その他の処理を行い（ステップＳ３２）、ステップＳ３１に戻る。
【０２０３】
一方、次のグループに対する配信条件を満たす場合には（ステップＳ３１：ＹＥＳ）、ステップＳ２３に戻り、カタログ配布メッセージの配信対象となる次のグループγ（例えば、０）が選定される。
【０２０４】
そして、上記ステップＳ２４において、自己のノードＩＤの最上位桁がγでない場合には（ステップＳ２４：ＮＯ）、制御部１１は、自己のルーティングテーブルの最上位のレベル１に登録されているノードのうち、ノードＩＤの最上位桁がγ（例えば、０）のノード（例えば、ノードＩＤが「０１３２」のノードＡ）を決定し、当該決定したノードに対して上記生成したカタログ配布メッセージを送信し（ステップＳ２９）た後、ステップＳ３０に移行し、上記と同様の処理を行う。そして、当該送信されたカタログ配布メッセージを受信した各ノードにより、図１４に示すステップＳ１１〜ステップＳ１５の処理が行われることによって、例えばグループγ（＝０）に属するノード（例えば、図８（Ａ）の左上の「００００」〜「０３３３」内のノードＩＤを有するノード）にカタログ配布メッセージが配信される。この場合も、ステップＳ１６及びＳ１８の処理は行われず、当該カタログ配布メッセージを受信した各ノードは、上記新規コンテンツカタログ情報を利用可能に記憶部１２に保存することになる。こうして、順次、残りのグループγ（例えば１及び２）が選定され、当該グループに属するノードにカタログ配布メッセージが配信されることになる。
【０２０５】
このように、ノードＩＤにおける最上位桁目の値をグループ分け条件の要素とする場合、配信対象となるグループに属するノードのみに新規コンテンツカタログ情報が配信されるので、各ノードは、上記ステップＳ１６に示すようにグループ分け条件を満たすか否かを判別する処理を削減することができ、また、ネットワーク８の負荷を低減することができる。
【０２０６】
［３．２  カタログ管理サーバによる配信］
次に、カタログ管理サーバにより新規コンテンツカタログ情報を配信する場合について、図１７を用いて説明する。
【０２０７】
図１７は、カタログ管理サーバにおける新規コンテンツカタログ情報配信処理を示すフローチャートである。
【０２０８】
図１７に示す処理は、図１３に示す処理と同様、カタログ管理サーバにおいて、新規コンテンツデータがあるノードに投入されたことを示す情報を、例えばコンテンツ投入サーバから受信したときに開始される。
【０２０９】
なお、カタログ管理サーバは、カタログ管理ノードと同様、上述したグループ分け条件及び配信順序を規定するグループ分け条件テーブルを記憶しており、更に、各グループに属するノードのノードＩＤ及びＩＰアドレス等を記憶している。また、グループ分け条件に必要な各ノードの情報（例えば、ノードの設置地域（例えば、郵便番号や電話番号）、ノードのネットワーク８への接続サービス提供者（例えば、ＡＳ番号）、ノードにおけるコンテンツデータのジャンル毎の再生時間又は再生回数、ノードにおける通電時間等）を記憶しており、かかる情報は、例えば、各ノードがオーバーレイネットワーク９に参加する際にアクセスするコンタクトノード（通常、複数設置）から取得される。すなわち、各ノードは、自己に割り当てられたコンタクトノードにアクセスしたときに、そのとき記憶している上記グループ分け条件に必要なノードの情報をコンタクトノードに送信し、オーバーレイネットワーク９への参加後に変わる情報（例えば、上記コンテンツデータのジャンル毎の再生時間又は再生回数、ノードにおける通電時間等の情報）については、定期的に、コンタクトノードに送信するようになっている。カタログ管理サーバは、これらのコンタクトノードから定期的にグループ分け条件に必要な各ノードの情報を収集することにより、定期的に、上記グループ分けを再編することになる。カタログ管理サーバが、各ノードから、上記グループ分け条件に必要な各ノードの情報を取得することも可能であるが、コンタクトノードを介することで、カタログ管理サーバの負荷等を低減することができる。
【０２１０】
図１７に示す処理が開始されると、カタログ管理サーバの制御部は、コンテンツ投入サーバから取得した新規コンテンツデータの属性情報が記述された新規コンテンツカタログ情報をペイロード部に含むカタログ配布メッセージを生成する（ステップＳ４１）。生成されたカタログ配布メッセージは一時記憶される。
【０２１１】
次いで、カタログ管理サーバの制御部は、図１３に示す処理と同様、記憶されたグループ分け条件テーブルを参照して、配信対象となるグループを決定（選定）する（ステップＳ４２）。例えば、図１５（Ａ）に示すグループ分け条件テーブルを用いる場合、配信順序が１位である「３０時間以上」のグループａが始めに（最初のループで）選定される。なお、当該ステップＳ４２においてグループ分け条件テーブルを用いてグループを決定する方法については、図１３に示すステップＳ３と同様であるが、コンテンツデータの再生時間（又は再生回数）に関してジャンルを考慮する場合、例えば図１５（Ａ）に示されるグループ分け条件テーブルをコンテンツデータのジャンル毎に記憶しておくことを要し、新規コンテンツデータのジャンル（例えば、アニメ）に対応するグループ分け条件テーブルが参照されて、配信対象となるグループは決定（選定）されることになる。
【０２１２】
次いで、カタログ管理サーバの制御部は、上記選定されたグループに属するノードのＩＰアドレス等を特定し、当該特定したノードに対して上記生成したカタログ配布メッセージを配信し（ステップＳ４３）、タイマにより、次のグループへの配信待機時間（例えば、２４時間に設定）のカウントを開始する。
【０２１３】
次いで、カタログ管理サーバの制御部は、ステップＳ８と同様、グループ分け条件テーブルに規定された全グループに対してカタログ配布メッセージを配信したか否かを判別し（ステップＳ４４）、全グループに対してカタログ配布メッセージを配信していない場合には（ステップＳ４４：ＮＯ）、次のグループに対する配信条件を満たすか否か（例えば次のグループへの配信待機時間が経過（カウントアップ）したか否か）を判断する（ステップＳ４５）。
【０２１４】
次のグループに対する配信条件を満たさない（例えば、上記配信待機時間が経過していない）場合には（ステップＳ４５：ＮＯ）、当該制御部は、その他の処理を行い（ステップＳ４６）、ステップＳ４５に戻る。なお、ステップＳ４６の処理は、ステップＳ１０と同様である。一方、次のグループに対する配信条件を満たす（例えば、上記配信待機時間が経過した）場合には（ステップＳ４５：ＹＥＳ）、ステップＳ４２に戻り、カタログ配布メッセージの配信対象となる次のグループ（例えば、次に再生時間が長いグループ）が選定され、上記と同様にステップＳ４３以降の処理が行われる。
【０２１５】
そして、上記ステップＳ４４において、全グループに対してカタログ配布メッセージが配信されたと判断された場合には（ステップＳ４４：ＹＥＳ）、当該処理が終了する。
【０２１６】
なお、かかるステップＳ４５の場合も、上記ステップＳ９と同様、一のグループに属するノードに対する新規コンテンツカタログ情報の配信後、これらのノードによる新規コンテンツデータを取得するための要求（例えばコンテンツ所在問合せメッセージ）の数が、予め設定された基準数以上となったか否かを判断し、当該基準数以上となった場合に、配信条件を満たすと判断しても良い。また、上記新規コンテンツデータを取得するための要求の数が予め設定された基準数以上となったか否かを判断し、且つ、次のグループへの配信待機時間が経過（カウントアップ）したか否かを判断し、何れか一方を満たす場合に、配信条件を満たすと判断するように構成すればより効果的である。
【０２１７】
こうして配信されたカタログ配布メッセージは、各ノードにより受信され、当該カタログ配布メッセージのペイロード部における新規コンテンツカタログ情報が利用可能に記憶部１２に記憶保存されることになる。
【０２１８】
このように、カタログ管理サーバによる新規コンテンツカタログ情報の配信の場合は、当該カタログ管理サーバ側で配信対象となるグループに属するノードが特定され、当該ノードにのみ新規コンテンツカタログ情報が配信されるので、各ノードは、上記ステップＳ１６に示すようにグループ分け条件を満たすか否かを判別する処理を削減することができる。
【０２１９】
以上説明したように、上記実施形態によれば、グループ分け条件に応じて分けられるグループ毎に異なるタイミングで（タイミングをずらして）、夫々のグループに属するノードに対して新規コンテンツカタログ情報を配信するように構成したので、装置へのアクセスの集中による装置負荷及びネットワーク負荷を極力抑えることができる。また、新規コンテンツデータを初期保存するための当該システムの増強等の設備費用を増やすことなく、ユーザによる待ち時間を少なくさせることができる。
【０２２０】
また、新規コンテンツカタログ情報を利用する可能性がより高い（つまり、新規コンテンツデータを要求（リクエスト）する可能性が高い）グループ）、例えば、再生時間が最も長い（又は前記再生回数が最も多い）グループや、通電時間が最も長いグループ等を優先して、当該グループに属するノードに対して新規コンテンツカタログ情報を配信するように構成したので、システム負荷を上げることなく、十分な数の新規コンテンツデータのレプリカを早い段階でノードに分散保存させることができる。
【０２２１】
また、上記実施形態においては、ＤＨＴを利用したアルゴリズムによって構築されたオーバーレイネットワーク９を前提として説明したが、本発明はこれに限定されるものではない。  
【図面の簡単な説明】
【０２２２】
【図１】本実施形態に係るコンテンツ配信システムにおける各ノード装置の接続態様の一例を示す図である。
【図２】ルーティングテーブルが作成される様子の一例を示す図である。
【図３】ルーティングテーブルの一例を示す図である。
【図４】コンテンツ保持ノードから送出されたパブリッシュメッセージの流れの一例をＤＨＴのノードＩＤ空間にて示した概念図である。
【図５】ミユージックカタログの表示形態遷移の一例を示す概念図である。
【図６】カタログ管理ノードであるノードＸが保持するルーティングテーブルの一例である。
【図７】カタログ配布メッセージを模式的に表した図である。
【図８】ＤＨＴマルチキャストが行われる様子を示す図である。
【図９】ＤＨＴマルチキャストが行われる様子を示す図である。
【図１０】ＤＨＴマルチキャストが行われる様子を示す図である。
【図１１】ＤＨＴマルチキャストが行われる様子を示す図である。
【図１２】ノードの概要構成例を示す図である。
【図１３】カタログ管理ノードにおける新規コンテンツカタログ情報配信処理を示すフローチャートである。
【図１４】新規コンテンツカタログ情報受信処理を示すフローチャートである。
【図１５】グループ分け条件テーブルの内容の一例を示す図である。
【図１６】ノードＩＤにおける最上位桁目の値をグループ分け条件の要素とした場合における、カタログ管理ノードにおける新規コンテンツカタログ情報配信処理を示すフローチャートである。
【図１７】カタログ管理サーバにおける新規コンテンツカタログ情報配信処理を示すフローチャートである。
【符号の説明】
【０２２３】
Ａ〜Ｚ  ノード
８  ネットワーク
９  オーバーレイネットワーク
１１  制御部
１２  記憶部
１３  バッファメモリ
１４  デコーダ部
１５  映像処理部
１６  表示部
１７  音声処理部
１８  スピーカ
２０  通信部
２１  入力部
２２  バス
Ｓ  コンテンツ配信システム
【図１】
2008129694.tif 000003
【図２】
2008129694.tif 000004
【図３】
2008129694.tif 000005
【図４】
2008129694.tif 000006
【図５】
2008129694.tif 000007
【図６】
2008129694.tif 000008
【図７】
2008129694.tif 000009
【図８】
2008129694.tif 000010
【図９】
2008129694.tif 000011
【図１０】
2008129694.tif 000012
【図１１】
2008129694.tif 000013
【図１２】
2008129694.tif 000014
【図１３】
2008129694.tif 000015
【図１４】
2008129694.tif 000016
【図１５】
2008129694.tif 000017
【図１６】
2008129694.tif 000018
【図１７】
2008129694.tif 000019