(57)【要約】【課題】複合コンテンツ配信の際のネットワーク負荷を低減することが可能な情報通信システムを提供する。【解決手段】センタサーバＳＶと、複数のノードＮｎと、から構成され、配信対象のコンテンツが分散して保存される各ノードＮｎがネットワーク８を介して接続されてなるオーバーレイネットワーク９を含む配信システムＳにおいて、センタサーバＳＶは、複合コンテンツの各サブコンテンツのいずれかをキーコンテンツとして決定する。キーコンテンツのルートノードは、キーコンテンツのインデックス情報と、キーコンテンツ以外のサブコンテンツのインデックス情報を記憶する記憶部を備える。ユーザノードは、各サブコンテンツを取得するとき、キーコンテンツのルートノードから各インデックス情報を一度に取得する。【選択図】図１
2012008848.tif 000002
【特許請求の範囲】
【請求項１】
複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される情報通信システムにおいて、
前記情報通信システムは、
所定の構造で関連付けられた複数のコンテンツのいずれかを第１コンテンツとして決定する決定手段を備える情報処理装置と、
前記決定手段により決定された前記第１コンテンツを保存する第１ノード装置のネットワーク内における所在を示す第１所在情報と、前記所定の構造で関連付けられた各前記コンテンツのうち前記第１コンテンツ以外の第２コンテンツを保存する第２ノード装置のネットワーク内における所在を示す第２所在情報と、を記憶する所在情報記憶手段を備える第３ノード装置と、
を含み、
前記ノード装置は前記第１コンテンツを取得するとき、前記第３ノード装置から、前記所在情報記憶手段に記憶された前記第１所在情報および前記第２所在情報を取得する取得手段を備えることを特徴とする情報通信システム。
【請求項２】
前記情報処理装置は、
前記所定の構造で関連付けられた前記コンテンツが前記ノード装置のいずれかにより取得された数を示す取得数、または、前記ノード装置のいずれかにより再生された数を示す再生数の少なくともいずれか一方を示すログ情報を取得する第１ログ取得手段と、
前記第１ログ取得手段により取得された前記ログ情報を記憶するログ記憶手段と、
を更に備え、
前記決定手段は、前記ログ記憶手段に記憶されている前記ログ情報に基づき、前記所定の構造で関連付けられた複数のコンテンツの中から、前記取得数または前記再生数の少なくともいずれか一方が多い前記コンテンツを優先させて、前記第１コンテンツとして決定することを特徴とする請求項１に記載の情報通信システム。
【請求項３】
前記第３ノード装置は、
前記ログ記憶手段から、前記ログ情報を取得する第２ログ取得手段と、
前記第２ログ取得手段により取得された前記ログ情報に基づいて、前記所定の構造で関連付けられた前記コンテンツの中で、前記ノード装置により前記第１コンテンツより先に取得されるべき前記第２コンテンツを保存する前記第２ノード装置の前記第２所在情報が他の前記ノード装置から参照されることを禁止する禁止手段と、
を備えることを特徴とする請求項２に記載の情報通信システム。
【請求項４】
前記第３ノード装置は、
前記ログ記憶手段から、前記ログ情報を取得する第２ログ取得手段と、
前記第２ログ取得手段により取得された前記ログ情報に基づいて、前記取得数または前記再生数の少なくともいずれか一方が予め設定された閾値以上の前記第２コンテンツを保存する前記第２ノード装置の前記第２所在情報を、前記取得数または前記再生数の少なくともいずれか一方が前記閾値よりも少ない前記第２コンテンツを保存する前記第２ノード装置の前記第２所在情報よりも優先させて前記所在情報記憶手段に記憶させる記憶制御手段と、
を備えることを特徴とする請求項２に記載の情報通信システム。
【請求項５】
前記ノード装置は、前記所定の構造で関連付けられた複数のコンテンツを検索するための第３コンテンツであって、前記オーバーレイネットワークにより分散して保存された複数のコンテンツをそれぞれ識別するための識別情報を含む前記第３コンテンツと、前記所定の構造で関連付けられた複数のコンテンツの中から前記第１コンテンツを識別するための第１コンテンツ識別情報とを取得する第２取得手段を備え、
前記第２取得手段により取得された前記第３コンテンツおよび前記第１コンテンツ識別情報に基づいて、前記取得手段は前記第１所在情報および前記第２所在情報を取得することを特徴とする請求項１から４のいずれか一項に記載の情報通信システム。
【請求項６】
前記第３ノード装置以外の前記ノード装置であって、前記第２所在情報を記憶する第２所在情報記憶手段を備えるノード装置は、前記第２コンテンツを取得した前記ノード装置から、当該ノード装置が前記第２コンテンツを取得して記憶した旨のメッセージであって前記第２所在情報の転送先の前記第３ノード装置を示す転送先情報を含むメッセージ受信したとき、前記第２所在情報記憶手段に記憶されている前記第２所在情報を、前記転送先情報により示される前記第３ノード装置に転送する転送手段を備えることを特徴とする請求項１から５のいずれか一項に記載の情報通信システム。
【請求項７】
複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される情報通信システムに含まれる情報処理装置において、
所定の構造で関連付けられた複数のコンテンツのいずれかを第１コンテンツとして決定する決定手段と、
前記所定の構造で関連付けられた各前記コンテンツのうち前記決定手段により決定された前記第１コンテンツ以外の第２コンテンツを保存する第２ノード装置の前記オーバーレイネットワーク内における所在を示す第２所在情報を、前記決定手段により決定された前記第１コンテンツを保存する第１ノード装置の前記オーバーレイネットワーク内における所在を示す第１所在情報を記憶する第３ノード装置の所在情報記憶手段に記憶させる制御手段と、
を備えることを特徴とする情報処理装置。
【請求項８】
複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される情報通信システムに含まれる第３ノード装置であって、所定の構造で関連付けられた複数のコンテンツのいずれかである第１コンテンツを保存する前記第１ノード装置のネットワーク内における所在を示す第１所在情報と、前記所定の構造で関連付けられた各前記コンテンツのうち前記第１コンテンツ以外の第２コンテンツを保存する第２ノード装置のネットワーク内における所在を示す第２所在情報と、を記憶する所在情報記憶手段を備える第３ノード装置に含まれるコンピュータに、
前記第１コンテンツを取得するノード装置からの前記第１所在情報を検索するための検索メッセージを受信したとき、当該受信した検索メッセージに対応する前記第１所在情報と、前記所在情報記憶手段に記憶されている前記第２所在情報とを、前記検索メッセージの送信元であるノード装置に送信するステップを実行させることを特徴とするノード装置用プログラム。
【請求項９】
複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される情報通信システムにおいて実行される情報通信方法において、
所定の構造で関連付けられた複数のコンテンツのいずれかを第１コンテンツとして決定する決定ステップと、
前記所定の構造で関連付けられた各前記コンテンツのうち前記決定ステップにより決定された前記第１コンテンツ以外の第２コンテンツを保存する第２ノード装置のネットワーク内における所在を示す第２所在情報を、前記決定ステップにより決定された前記第１コンテンツを保存する第１ノード装置のネットワーク内における所在を示す第１所在情報を記憶する第３ノード装置の所在情報記憶手段に記憶させる制御ステップと、
前記ノード装置において前記第１コンテンツを取得するとき、前記第３ノード装置の前記所在情報記憶手段に記憶された前記第１所在情報および前記第２所在情報を取得する取得ステップと、
を含むことを特徴とする情報通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、互いに通信可能な複数のノード装置と、情報処理装置と、を含む情報通信システムの技術分野に関する。なお以下の説明では、上記「ノード装置」を適宜「ノード」と称する。
【背景技術】
【０００２】
近年、映画や動画等の配信対象のコンテンツを、いわゆるピアツーピア（Peer to Peer（Ｐ２Ｐ））型のネットワークシステムを介して配信する技術が開発されている。このＰ２Ｐ型のネットワークスシステムでは、ネットワークシステム内に存在するノードそれぞれにコンテンツが分散保存される。このＰ２Ｐ型ネットワークシステムにおいて分散保存されたコンテンツの所在は、分散ハッシュテーブル（ＤＨＴ（Distributed Hash Table））を利用して、クエリにより効率良く検索可能になっている。と称する。このＤＨＴについては、例えば下記特許文献１に詳細に開示されている。また、以下の説明では、Ｐ２Ｐ型ネットワークシステムを、単にＰ２Ｐシステムと称する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１９７４００公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
このようなＰ２Ｐシステムを用いて複合コンテンツを配信したいという要求がある。複合コンテンツは複数のコンテンツにより構成される。しかしながら特許文献１に記載されたＰ２Ｐシステムでは、複合コンテンツを配信する際のネットワークの負担が増大するという問題があった。具体的には、複合コンテンツを配信するに当たり、その複合コンテンツを構成する複数のコンテンツそれぞれについて、複合コンテンツの配信が所望されているノードからクエリを送信する必要がある。多数のコンテンツにより複合コンテンツが構成されている場合、多数のクエリが多数のノード装置へ送信されることになり、そのクエリによりネットワークの帯域が占有されてしまう。この結果、ネットワークにおける負荷が増大する。
【０００５】
そこで、本発明は上記の問題点に鑑みて為されたもので、その目的の一例は、複合コンテンツ配信の際のネットワーク負荷を低減することが可能な情報通信システムおよびそれに含まれる情報処理装置ならびに情報通信方法およびノード装置において実行されるノード装置用プログラムを提供することにある。
【課題を解決するための手段】
【０００６】
上記の課題を解決するために、請求項１に記載の発明は、複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される情報通信システムにおいて、前記情報通信システムは、所定の構造で関連付けられた複数のコンテンツのいずれかを第１コンテンツとして決定する制御部等の決定手段を備えるセンタサーバ等の情報処理装置と、前記決定手段により決定された前記第１コンテンツを保存する第１ノード装置を前記オーバーレイネットワーク内における所在を示す第１所在情報と、前記所定の構造で関連付けられた各前記コンテンツのうち前記第１コンテンツ以外の第２コンテンツを保存する第２ノード装置を前記オーバーレイネットワーク内における所在を示す第２所在情報と、を記憶する記憶部等の所在情報記憶手段を備える第３ノード装置と、を含み、前記ノード装置は、前記第１コンテンツを取得するとき、前記第３ノード装置から、前記所在情報記憶手段に記憶された前記第１所在情報および前記第２所在情報を取得する制御部等の取得手段を備える。
【０００７】
上記の課題を解決するために、請求項９に記載の発明は、複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される情報通信システムにおいて実行される情報通信方法において、所定の構造で関連付けられた複数のコンテンツのいずれかを第１コンテンツとして決定する決定ステップと、前記所定の構造で関連付けられた各前記コンテンツのうち前記決定ステップにより決定された前記第１コンテンツ以外の第２コンテンツを保存する第２ノード装置の前記オーバーレイネットワーク内における所在を示す第２所在情報を、前記決定ステップにより決定された前記第１コンテンツを保存する第１ノード装置の前記オーバーレイネットワーク内における所在を示す第１所在情報を記憶する第３ノード装置の所在情報記憶手段に記憶させる制御ステップと、前記ノード装置において前記第１コンテンツを取得するとき、前記第３ノード装置の前記所在情報記憶手段に記憶された前記第１所在情報および前記第２所在情報を取得する取得ステップと、を含む。
【０００８】
請求項１または請求項９に記載の発明によれば、第３ノード装置が、第１所在情報と、第２所在情報と、を記憶する。第１コンテンツを取得するとき、ノード装置は、第３ノード装置から第１所在情報および第２所在情報を取得する。よって、第３ノード装置から第１所在情報および第２所在情報を一度に取得できるので、第１所在情報と第２所在情報とを別個に要求する場合に比してネットワークの負荷を低減できる。
【０００９】
請求項２に記載の発明において、前記情報処理装置は、前記所定の構造で関連付けられた前記コンテンツが前記ノード装置のいずれかにより取得された数を示す取得数、または、前記ノード装置のいずれかにより再生された数を示す再生数の少なくともいずれか一方を示すログ情報を取得する制御部等の第１ログ取得手段と、前記第１ログ取得手段により取得された前記ログ情報を記憶する記憶部等のログ記憶手段と、を更に備え、前記決定手段は、前記ログ記憶手段に記憶されている前記ログ情報に基づき、前記所定の構造で関連付けられた複数のコンテンツの中から、前記取得数または前記再生数の少なくともいずれか一方が多い前記コンテンツを優先させて、前記第１コンテンツとして決定するように構成される。
【００１０】
請求項２に記載の発明によれば、ログ情報に基づき、各ノード装置における取得数または再生数の少なくともいずれか一方が多いコンテンツを優先させて、第１コンテンツとして決定する。よって、所定の構造で関連付けられた複数のコンテンツを適切に取得することができる。
【００１１】
請求項３に記載の発明において、前記第３ノード装置は、前記情報処理装置の前記ログ記憶手段から、前記ログ情報を取得する制御部等の第２ログ取得手段と、前記第２ログ取得手段により取得された前記ログ情報に基づいて、前記所定の構造で関連付けられた前記コンテンツの中で、前記ノード装置により、前記第１コンテンツより先に取得されるべき前記第２コンテンツを保存する前記第２ノード装置の前記第２所在情報が他の前記ノード装置から参照されることを禁止する制御部等の禁止手段と、を備える。
【００１２】
請求項３に記載の発明によれば、ログ情報に基づいて、第１コンテンツより先に取得されるべき第２コンテンツの第２所在情報が他のノード装置から参照されることを禁止する。よって、第２所在情報を他のノード装置に効率的に参照させることができる。
【００１３】
請求項４に記載の発明において、前記第３ノード装置は、前記情報処理装置の前記ログ記憶手段から、前記ログ情報を取得する制御部等の第２ログ取得手段と、前記第２ログ取得手段により取得された前記ログ情報に基づいて、前記取得数または前記再生数の少なくともいずれか一方が予め設定された閾値以上の前記第２コンテンツを保存する前記第２ノード装置の前記第２所在情報を、前記取得数または前記再生数の少なくともいずれか一方が前記閾値よりも少ない前記第２コンテンツを保存する前記第２ノード装置の前記第２所在情報よりも優先させて前記所在情報記憶手段に記憶させる制御部等の記憶制御手段と、を備える。
【００１４】
請求項４に記載の発明によれば、ログ情報に基づいて、取得数または再生数の少なくともいずれか一方が閾値以上の第２コンテンツを保存する第２ノード装置の第２所在情報を、それ以外の第２所在情報よりも優先させて記憶させる。よって、第２所在情報を効率的に集約できる。
【００１５】
請求項５に記載の発明において、前記ノード装置は、前記所定の構造で関連付けられた複数のコンテンツを検索するための第３コンテンツであって、前記オーバーレイネットワークにより分散して保存された複数のコンテンツをそれぞれ識別するための識別情報を含む前記第３コンテンツと、前記所定の構造で関連付けられた複数のコンテンツの中から、前記第１コンテンツを識別するための第１コンテンツ識別情報とを取得する第２取得手段を備え、前記第２取得手段により取得された前記第３コンテンツおよび前記第１コンテンツ識別情報に基づいて、前記取得手段は、前記第１所在情報および前記第２所在情報を取得するように構成される。
【００１６】
請求項５に記載の発明によれば、第３コンテンツと第１コンテンツ識別情報とをノード装置が取得する。ノード装置は、取得した第３コンテンツおよび第１コンテンツ識別情報に基づいて、第１所在情報および第２所在情報を取得する。よって、所定の構造で関連付けられたコンテンツの識別情報と第１所在情報および第２所在情報を取得することで、ネットワークの負荷を低減しつつ各コンテンツを取得できる。
【００１７】
請求項６に記載の発明において、前記第３ノード装置以外の前記ノード装置であって、前記第２所在情報を記憶する第２所在情報記憶手段を備えるノード装置は、前記第２コンテンツを取得した前記ノード装置から、当該ノード装置が前記第２コンテンツを取得して記憶した旨のメッセージであって前記第２所在情報を転送して記憶させるべき前記第３ノード装置を示す転送先情報を含むメッセージを受信したとき、前記第２所在情報記憶手段に記憶されている前記第２所在情報を、前記転送先情報により示される前記第３ノード装置宛に転送する転送手段を備える。
【００１８】
請求項６に記載の発明によれば、第２所在情報を転送して記憶させるべき第３ノード装置を示す転送先情報を含むメッセージを受信したとき、その第２所在情報を転送先の第３ノード装置宛に転送する。よって、第１所在情報とこれに対応する第２所在情報を第３ノード装置に記憶させることができる。
【００１９】
上記の課題を解決するために、請求項７に記載の発明は、複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される情報通信システムに含まれるセンタサーバ等の情報処理装置において、所定の構造で関連付けられた複数のコンテンツのいずれかを第１コンテンツとして決定する制御部等の決定手段と、前記所定の構造で関連付けられた各前記コンテンツのうち前記決定手段により決定された前記第１コンテンツ以外の第２コンテンツを保存する第２ノード装置の前記オーバーレイネットワーク内における所在を示す第２所在情報を、前記決定手段により決定された前記第１コンテンツを保存する第１ノード装置の前記オーバーレイネットワーク内における所在を示す第１所在情報を記憶する第３ノード装置の記憶部等の所在情報記憶手段に記憶させる制御部等の制御手段と、を備える。
【００２０】
請求項７に記載の発明によれば、第３ノード装置に第２所在情報を記憶させる。第１コンテンツをノード装置において取得するとき、そのノード装置から第３ノード装置に取得要求をすることで、第１所在情報および第２所在情報を一度に取得できる。よって第１所在情報と第２所在情報とを別個に要求する場合に比してネットワークの負荷を低減できる。
【００２１】
上記の課題を解決するために、請求項８に記載の発明は、複数のノード装置により構成されるオーバーレイネットワークにより、コンテンツが前記複数のノード装置に分散して保存される情報通信システムに含まれる第３ノード装置であって、所定の構造で関連付けられた複数のコンテンツのいずれかである第１コンテンツを保存する前記第１ノード装置の前記オーバーレイネットワーク内における所在を示す第１所在情報と、前記所定の構造で関連付けられた各前記コンテンツのうち前記第１コンテンツ以外の第２コンテンツを保存する第２ノード装置の前記オーバーレイネットワーク内における所在を示す第２所在情報と、を記憶する記憶部等の所在情報記憶手段を備える第３ノード装置に含まれるコンピュータに、前記第１コンテンツを取得するノード装置からの前記第１所在情報を検索するための検索メッセージを受信したとき、当該受信した検索メッセージに対応する前記第１所在情報と、前記所在情報記憶手段に記憶されている前記第２所在情報とを、前記検索メッセージの送信元であるノード装置に送信するステップを実行させる。
【００２２】
請求項８に記載の発明によれば、第１コンテンツを取得するノード装置からの第１所在情報を検索するための検索メッセージを受信したとき、第１所在情報と、第２所在情報とを、検索メッセージの送信元であるノード装置に宛てて送信するステップをコンピュータに実行させる。第１所在情報の検索メッセージの送信元であるノード装置において、第１所在情報と第２所在情報とを一度に取得することができる。よって、第１所在情報および第２所在情報を取得できるので、第１所在情報と第２所在情報とを別個に要求する場合に比してネットワークの負荷を低減できる。
【発明の効果】
【００２３】
本発明によれば、第３ノード装置から第１所在情報および第２所在情報を一度に取得できる。よって、第１所在情報と第２所在情報とを別個に要求する場合に比してネットワークの負荷を低減できる。従って、複合コンテンツ配信の際のネットワーク負荷を低減することができる。
【図面の簡単な説明】
【００２４】
【図１】実施形態の配信システムにおける各ノード等の接続態様の一例を示す図である。
【図２】実施形態のコンテンツ構成等を例示する図である。（ａ）は複合コンテンツの構造を一般的に例示する図である。（ｂ）はメタファイルを一般的に例示する図である。
【図３】実施形態のインデックス情報の保持状態を例示する図である。
【図４】実施形態のセンタサーバ等の概要構成を示すブロック図である。（ａ）はセンタサーバの概要構成を示すブロック図である。（ｂ）はノードの概要構成を示すブロック図である。
【図５】実施形態のセンタサーバの動作を示すフローチャートである。
【図６】実施形態のキーコンテンツの決定動作を例示する図である。（ａ）は実施形態のメタファイルを例示する図である。（ｂ）は実施形態の取得数情報を例示する図である。（ｃ）は実施形態の取得順情報を例示する図である。（ｄ）はメタファイルの他の例を示す図である。
【図７】実施形態のノードの全体動作を示すフローチャートである。
【図８】実施形態のノードの細部動作を示すフローチャートである。（ａ）はインデックス情報取得動作を示すフローチャートである。（ｂ）は複合コンテンツ取得動作を示すフローチャートである。
【発明を実施するための形態】
【００２５】
次に、本発明を実施するための形態について、図１から図８を用いて説明する。以下に説明する実施形態は、Ｐ２Ｐシステムを用いてノードに動画等のコンテンツを配信する配信システムに対して本発明を適用した場合の実施形態である。実施形態の配信システムでは、複合コンテンツが各ノードに配信される。
（Ａ）配信システムの全体構成および動作概要
初めに、実施形態の配信システムの全体構成および動作概要について、図１を用いて説明する。なお図１は実施形態の配信システムＳにおける各ノードの接続態様の一例を示す図である。
【００２６】
図１の具体的構成図１０１内に示すように、ＩＸ（Internet eXchange）３、ＩＳＰ（Internet Service Provider）装置４、ＤＳＬ（Digital Subscriber Line）回線事業者装置５、ＦＴＴＨ（Fiber To The Home）回線事業者装置６および通信回線７等によって、インターネット等のネットワーク８が構築されている。このネットワーク８は現実世界の物理的な通信ネットワークである。通信回線７は具体的には電話回線や光ケーブル等により構成されている。なお図１の例におけるネットワーク８には、パケット化されたデータを転送するためのルータが適宜挿入されているが、図１ではその図示を省略している。
【００２７】
実施形態のネットワーク８には、複数のノードＮｎ（ｎ＝１、２、３、…）とセンタサーバＳＶが接続されている。各ノードＮｎには、固有の製造番号およびＩＰ（Internet Protocol）アドレスが割り当てられている。このノードＮｎは「ノード装置」の一例に相当する。またセンタサーバＳＶは、「情報処理装置」の一例に相当する。
【００２８】
実施形態の配信システムＳは、上述したようにＰ２Ｐシステムである。配信システムＳには、複数のノードＮｎと、センタサーバＳＶが含まれている。センタサーバＳＶは、配信システムＳ内における複合コンテンツの配信制御に用いられる情報を各ノードＮｎに提供するサーバ装置である。以下の説明では、「サーバ装置」を単に「サーバ」と称する。
【００２９】
図１の概念的構成図１００内に示すネットワークは、既存のネットワーク８を用いて形成された、仮想的なリンクを構成するオーバーレイネットワーク９である。このオーバーレイネットワーク９は論理的なネットワークである。オーバーレイネットワーク９は、特定のアルゴリズム、例えば上記ＤＨＴを利用したアルゴリズムにより実現される。オーバーレイネットワーク９に接続している各ノードＮｎには、所定の桁数からなる固有の識別データがノードＩＤとして割り当てられている。また各ノードＮｎは、ＤＨＴを用いたルーティングテーブルを夫々に保持している。このようなＤＨＴを用いたルーティングテーブルについては、上記特許文献１等で公知であるので、詳しい説明を省略する。
【００３０】
また配信システムＳにおいては、動画等のコンテンツが、所定のファイル形式で複数のノードＮｎに分散して保存されている。これらのコンテンツには、それぞれ、コンテンツ名およびコンテンツＩＤ等の情報が付与されている。コンテンツに付与されるコンテンツＩＤは、コンテンツ毎に固有の識別データである。またコンテンツＩＤは、対応するコンテンツが保存されているノードＮｎの所在を配信システムＳ内において検索するための検索情報でもある。
【００３１】
一方、配信システムＳでは、分散保存されているコンテンツの所在を示す情報と、コンテンツのコンテンツＩＤ等と、の組が含まれるインデックス情報が用いられる。このときのコンテンツの所在を示す情報とは、例えばそのコンテンツの保持ノードであるノードＮｎのノード情報である。ノード情報には、ノードＮｎのノードＩＤ、ＩＰアドレスおよびポート番号等が含まれる。インデックス情報は、コンテンツの所在を管理しているノードＮｎ等により、そのインデックスキャッシュに記憶され、管理される。このコンテンツの所在を管理しているノードＮｎを以下「ルートノード」と称する。ルートノードは、例えばコンテンツＩＤと最も近いノードＩＤを有するノードＮｎであるように定められる。このときコンテンツＩＤと最も近いか否かは、例えば上位桁がより多く一致するか否かにより判断される。
【００３２】
さらに実施形態の配信システムＳに参加している所定のノードＮｎのユーザがコンテンツの取得を所望するとする。コンテンツの取得を所望するユーザにより操作されるノードＮｎを、以下「ユーザノード」と称する。ユーザがコンテンツの取得を所望する場合、そのユーザのユーザノードは、そのコンテンツのコンテンツＩＤを、例えば所定のサーバから取得したコンテンツ配信ページまたはカタログ情報を参照して取得する。コンテンツ配信ページは、コンテンツＩＤが記述されたウェブページである。一方、カタログ情報とは、コンテンツのレコードが記述された情報である。コンテンツのレコードには、コンテンツのコンテンツＩＤ、コンテンツ名およびキーワード等が記述されている。コンテンツのレコードは、コンテンツが配信システムＳ内に投入される際に生成される。そして、生成されたレコードを含むカタログ情報はたとえばコンテンツ管理サーバから各ノードＮｎに配信される。
【００３３】
所望するコンテンツのコンテンツＩＤを取得したユーザノードは、このコンテンツＩＤに基づいて、コンテンツＩＤにより識別されるコンテンツをオーバーレイネットワーク９から取得する。具体的には、ユーザノードは、コンテンツ所在問合せメッセージを生成する。このコンテンツ所在問合せメッセージがクエリである。クエリは、コンテンツＩＤおよびユーザノード自体のＩＰアドレス等を含む。クエリは、ユーザノードに記憶されたＤＨＴを用いたルーティングテーブルに従って他のノードＮｎへ送信される。すなわちユーザノードは、クエリをルートノード宛に送信する。これによりクエリは、コンテンツＩＤをキーとするＤＨＴを用いたルーティングによって、最終的にルートノードに到着する。このようなＤＨＴルーティングについても上記特許文献１等で公知であるので、詳しい説明を省略する。なお実施形態の複合コンテンツを取得するユーザノードが送信するクエリには、実施形態の集約インデックス情報の要求が更に含まれている。この点については、後ほど詳述する。
【００３４】
クエリを受信したルートノードは、これに含まれるコンテンツＩＤに対応するインデックス情報をインデックスキャッシュから取得する。そしてルートノードは、先に受信したクエリの送信元であるユーザノードへインデックス情報を返信する。この方法でインデックス情報を取得すると、ユーザノードは、取得したインデックス情報に含まれる保持ノードのＩＰアドレス等に基づいて、その保持ノードにアクセスする。これによりユーザノードは、アクセスした保持ノードからコンテンツＩＤにより識別されるコンテンツを、オーバーレイネットワーク９を介して取得して再生することが可能になる。なお他の構成として、ルートノードが保持ノードへ、ユーザノードへのコンテンツ送信要求メッセージを送信するように構成することもできる。この場合の保持ノードは、インデックス情報に含まれるＩＰアドレス等により示された保持ノードである。このとき保持ノードは、コンテンツ送信要求メッセージに基づき、そのユーザノードへアクセスしてコンテンツを送信する。
【００３５】
実施形態の配信システムＳにおいてユーザノードは、保持ノードから単体で独立して利用可能な一般コンテンツに加えて、所定の構造で関連付けられた複数のコンテンツから構成される複合コンテンツが利用可能になっている。複合コンテンツを構成する各コンテンツは、一般コンテンツと同様、配信システムＳに分散保存されている。そしてユーザノードは、複合コンテンツを構成する各コンテンツのコンテンツＩＤに基づいて、オーバーレイネットワーク９を介して各コンテンツを保持ノードから取得する。こうして取得された各コンテンツにより、複合コンテンツがユーザノードにおいて纏めて再生可能となる。各コンテンツの取得方法についても、後ほど詳述する。
【００３６】
また、複合コンテンツを構成する各コンテンツのコンテンツＩＤは、複合コンテンツのメタファイルに記述されている。複合コンテンツのメタファイルとは、複合コンテンツを構成する各コンテンツを検索するためのファイルである。このメタファイルが、「第３コンテンツ」の一例に相当する。また、複合コンテンツのメタファイルには、複合コンテンツが有する所定の構造における各コンテンツの位置を示す位置情報が、そのコンテンツを識別するコンテンツＩＤに対応付けられて記述されている。更に、複合コンテンツのメタファイルには、このメタファイルを識別するための固有のコンテンツＩＤが付与される。そして、複合コンテンツのメタファイルは、一つのコンテンツとして配信システムＳに投入される。これにより各ノードＮｎは、投入されたメタファイルのコンテンツＩＤに基づいて、このコンテンツＩＤにより識別されるメタファイルを、オーバーレイネットワーク９から取得することができる。「オーバーレイネットワーク９から取得」とは、オーバーレイネットワーク９を介して保持ノードからダウンロードすることを意味する。
（Ｂ）複合コンテンツの構造等
次に、実施形態の複合コンテンツの構造等について図２を用いて具体的に説明する。図２は実施形態の複合コンテンツの構造等を例示する図である。以下の説明では、複合コンテンツの一例としてウェブページを用いて説明する。実施形態では、複合コンテンツを構成する複数のコンテンツの中からキーコンテンツを決定する。ここでキーコンテンツとは、複合コンテンツがウェブページである場合、その再生パターンによって取得されることが多いコンテンツをいう。このキーコンテンツが、「第１コンテンツ」の一例に相当する。また以下の説明では、複合コンテンツを構成するコンテンツのうちキーコンテンツ以外のコンテンツをサブコンテンツと称する。このサブコンテンツが、「第２コンテンツ」の一例に相当する。たとえば、ウェブページのフロントページを構成するコンテンツは取得されることが多いのでキーコンテンツになり得る。一方、ウェブぺージの遷移パターンが複数存在する場合において、再生されることが少ない遷移先のコンテンツはキーコンテンツになり難く、サブコンテンツとなる。いずれのコンテンツがキーコンテンツとなるかは、実施形態のセンタサーバＳＶにおいて決定される。たとえば、ノードＮｎのいずれかによる各コンテンツの取得数または再生数の少なくともいずれか一方が多いコンテンツを優先させて、キーコンテンツが決定される。これらの取得数または再生数は、各コンテンツを取得したノードＮｎからのログ情報を用いてセンタサーバＳＶにおいて算出される。
【００３７】
実施形態の複合コンテンツが有する所定の構造は、複合コンテンツを構成する各コンテンツにより構成される一纏まりの構造である。たとえば図２（ａ）に例示する階層構造ＳＲである。階層構造ＳＲは実施形態の複合コンテンツとしてのウェブページをユーザノードにおいて表示するための階層構造である。なおこの階層構造は、複合コンテンツを構成するコンテンツを含むファイルの階層構造でもよい。階層構造ＳＲにはキーコンテンツＫ１およびＫ２と、三つのサブコンテンツＳ１、Ｓ２およびＳ３とが階層的に含まれている。キーコンテンツＫ１の名称が「index.html」であり、サブコンテンツＳ１およびＳ２の名称がそれぞれ「image1.gif」および「image2.gif」である。またキーコンテンツＫ２の名称が「index2.html」であり、サブコンテンツＳ３の名称が「image3.gif」である。キーコンテンツＫ１は、サブコンテンツＳ１およびＳ２をユーザノードにおいて取得して、対応するウェブページを表示させるために用いられるコンテンツである。このためキーコンテンツＫ１には、図２（ａ）に実線矢印で示すように各サブコンテンツＳ１およびＳ２の名称と、それらの階層構造ＳＲにおける位置を示す位置情報と、が記述されている。キーコンテンツＫ２とサブコンテンツＳ３との対応関係についても、同様である。
【００３８】
そして、複合コンテンツとしてのウェブページのメタファイルＭＴには、図２（ａ）で示した階層構造ＳＲを示す位置情報が、各キーコンテンツＫ１およびＫ２ならびにサブコンテンツＳ１からＳ３それぞれの名称を示す名称情報と共に記述されている。図２（ｂ）に例示するメタファイルＭＴでは、たとえばキーコンテンツＫ１については、階層構造ＳＲに対応した位置情報および名称情報が「/index.html」と記述されている。またたとえばサブコンテンツＳ１については、階層構造ＳＲに対応した位置情報および名称情報が「/pie/image1.gif」と記述されている。さらにメタファイルＭＴには、これらに加えて、図２（ｂ）に例示するように各キーコンテンツＫ１およびＫ２ならびに各サブコンテンツＳ１からＳ３それぞれを識別するためのコンテンツＩＤが記述されている。図２（ｂ）に例示する場合、キーコンテンツＫ１を識別するためのコンテンツＩＤは「ＡＡ」であり、サブコンテンツＳ１を識別するためのコンテンツＩＤは「ＢＢ」である。またサブコンテンツＳ２を識別するためのコンテンツＩＤは「ＣＣ」である。キーコンテンツＫ２を識別するためのコンテンツＩＤは「ＤＤ」であり、サブコンテンツＳ３を識別するためのコンテンツＩＤは「ＥＥ」である。
（Ｃ）実施形態のインデックス情報等
実施形態では、キーコンテンツのルートノードに、複合コンテンツにおいてそのキーコンテンツに対応するサブコンテンツのインデックス情報を記憶させる。このキーコンテンツのルートノードが、「第３ノード装置」の一例に相当する。ここで、「キーコンテンツに対応するサブコンテンツ」とは、たとえば、ユーザノードにおいて、キーコンテンツに続いて取得されるサブコンテンツをいう。図２に例示する場合、キーコンテンツＫ１のルートノードに、キーコンテンツＫ１のインデックス情報に加えてサブコンテンツＳ１およびＳ２のインデックス情報を記憶させる。またキーコンテンツＫ２のルートノードに、キーコンテンツＫ２のインデックス情報に加えてサブコンテンツＳ３のインデックス情報を記憶させる。
【００３９】
より具体的に、図２に例示する場合について、図３を用いて説明する。図３は、オーバーレイネットワーク９を構成するノードＮｎが円状のいわゆるノード空間に分散されている状態を示している。図３に示すユーザノードＮｘは、コンテンツＩＤが「ＭＭ」であるメタファイルＭＴを取得済みであり、取得したメタファイルＭＴに基づいてキーコンテンツＫ１等を取得済みである。さらにユーザノードＮｘは、キーコンテンツ情報ＫＩをセンタサーバＳＶから取得済みである。このキーコンテンツ情報ＫＩは、コンテンツＩＤが「ＡＡ」であるコンテンツがキーコンテンツＫ１であり、コンテンツＩＤが「ＤＤ」であるコンテンツがキーコンテンツＫ２であることをそれぞれ示す。メタファイルＭＴおよびキーコンテンツＫ１等を取得したユーザノードＮｘは、その取得したメタファイルＭＴおよびキーコンテンツＫ１等に対応する実施形態の公開メッセージを、メタファイルＭＴおよびキーコンテンツＫ１等のルートノード宛てにそれぞれ送信する。このときサブコンテンツＳ１およびＳ２の公開メッセージには、それらのインデックス情報をキーコンテンツＫ１のルートノードに転送する旨の情報が含まれる。また、サブコンテンツＳ３の公開メッセージには、そのインデックス情報をキーコンテンツＫ２のルートノードに転送する旨の情報が含まれる。これらの公開メッセージを受信した各サブコンテンツＳ１からＳ３のルートノードは、各サブコンテンツＳ１からＳ３のインデックス情報を、対応するキーコンテンツＫ１またはＫ２のルートノードにそれぞれ転送する。このような実施形態の公開メッセージの送信動作およびサブコンテンツのインデックス情報の転送動作により、図３に例示するように、各キーコンテンツのルートノードに、対応するサブコンテンツのインデックス情報が記憶される。たとえばキーコンテンツＫ１のルートノードＲ−Ａのインデックス情報ＩＡとして、キーコンテンツＫ１のインデックス情報と共にサブコンテンツＳ１およびＳ２のインデックス情報が記憶される。またキーコンテンツＫ２のルートノードＲ−Ｄについても同様である。各キーコンテンツＫ１等のインデックス情報と共にそのルートノードに纏めて記憶されているサブコンテンツＳ１等のインデックス情報を、以下集約インデックス情報と称する。なお、メタファイルＭＴのインデックス情報は、そのルートノードＲ−Ｍに記憶される。さらに各サブコンテンツＳ１からＳ３のルートノードＲ−Ｂ、Ｒ−ＣおよびＲ−Ｅには、従来と同様にサブコンテンツＳ１からＳ３のインデックス情報ＩＢ、ＩＣおよびＩＥのみが記憶される。なお、図３に例示する各インデックス情報には、すべて、ユーザノードＮｘの所在を示すノード情報が含まれている。これは、ユーザノードＮｘが五つのコンテンツの保持ノードであることを示す。
【００４０】
図３に示すユーザノードＮｘ以外の他のユーザノードがたとえばキーコンテンツＫ１を取得するとき、実施形態によれば、サブコンテンツＳ１およびＳ２のインデックス情報を検索するためのクエリを別個に送信する必要はない。これにより、各サブコンテンツそれぞれについてのクエリを送信する場合に比して、クエリの数を低減してネットワーク８の付加を軽減することができる。
（Ｄ）センタサーバ等の具体的構成
次に、実施形態の配信システムＳに含まれるセンタサーバＳＶおよびノードＮｎの具体的な構成について、図４を用いて説明する。
（ａ）センタサーバの具体的構成
先ず、実施形態のセンタサーバＳＶの具体的構成および動作を、図４（ａ）を用いて説明する。なお図４（ａ）は実施形態のセンタサーバＳＶの具体的構成を示すブロック図である。図４（ａ）に示すように、実施形態のセンタサーバＳＶは、制御部３５、記憶部３６、通信部３７および入力部３９を備えている。これらの構成要素は、バス３８を介して相互にデータの授受が可能に接続されている。この制御部３５が、「決定手段」の一例、「ログ取得手段」の一例、「第１ログ取得手段」の一例および「制御手段」の一例に、それぞれ相当する。また記憶部３６が、「ログ記憶手段」の一例に相当する。
【００４１】
制御部３５は、演算機能を有するＣＰＵ（Central Processing Unit）、各種データを記憶するＲＡＭ（Random Access Memory）ならびに各種データおよびプログラムを記憶するＲＯＭ（Read Only Memory）等から構成されている。この各種データおよびプログラムには、オペレーティングシステムおよび各種アプリケーションが含まれている。記憶部３６は各種データおよび各種プログラム等を記憶保存するためのハードディスク等から構成される。通信部３７は、ネットワーク８を介してノードＮｎとの間の各種メッセージの通信制御を行う。さらに入力部３９は、使用者からの指示を受け付け当該指示に応じた指示信号を制御部３５に対して与える。この入力部３９は、例えばキーボードまたはマウス等により実現されるものである。
【００４２】
以上の構成において制御部３５は、ＣＰＵが記憶部３６またはＲＯＭ等に記憶されたプログラムを実行することにより、センタサーバＳＶ全体を統括制御する。さらに制御部３５は、後述する実施形態の複合コンテンツの配信動作におけるセンタサーバＳＶとしての各動作を実行する。
（ｂ）ノードの具体的構成
次に、実施形態のノードＮｎの具体的構成および動作を、図４（ｂ）を用いて説明する。なお図４（ｂ）は実施形態のノードＮｎの具体的構成を示すブロック図である。
【００４３】
図４（ｂ）に示すように、実施形態のノードＮｎは、制御部２１、記憶部２２、バッファメモリ２３、通信部２４、デコーダ部２５、入力部２６、映像処理部２７、表示部２８、音声処理部２９およびスピーカ３０を備えている。制御部２１、記憶部２２、バッファメモリ２３、通信部２４、デコーダ部２５および入力部２６は、バス３１を介してデータの授受が可能に相互接続されている。この制御部２１が、「取得手段」の一例、「第２取得手段」の一例、「第２ログ取得手段」の一例、「記憶制御手段」の一例、「メッセージ送信手段」の一例、「転送手段」の一例、「禁止手段」の一例および「所在情報送信手段」の一例に、それぞれ相当する。さらに記憶部２２が、「所在情報記憶手段」の一例および「第２所在情報記憶手段」の一例に、それぞれ相当する。
【００４４】
この構成において制御部２１は、演算機能を有するＣＰＵ、各種データを記憶するＲＡＭならびに各種データおよびプログラムを記憶するＲＯＭ等から構成される。記憶部２２は各種データおよび各種プログラム等を記憶保存するためのハードディスク等から構成される。バッファメモリ２３は通信部２４を介して取得されたコンテンツを一時的に蓄積する。デコーダ部２５は、コンテンツに含まれるエンコードされたビデオデータおよびオーディオデータ等をデコードする。映像処理部２７はデコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する。液晶ディスプレイ等からなる表示部２８は、映像処理部２７から出力されたビデオ信号に相当する映像を表示する。音声処理部２９はデコードされたオーディオデータをアナログのオーディオ信号にＤ／Ａ変換した後、これを増幅してスピーカ３０に出力する。スピーカ３０は音声処理部２９から出力されたオーディオ信号を音波として出力する。通信部２４はネットワーク８を介した他のノードＮｎやセンタサーバＳＶ等との間のデータ授受についての通信制御を行う。入力部２６はユーザからの指示を受け付け、その指示に応じた指示信号を制御部２１に出力する。この入力部２６は、例えばキーボード、マウス、あるいは操作パネル等により実現されるものである。なお以上の構成を備えるノードＮｎは、実際にはいわゆるパーソナルコンピュータ、ＳＴＢ（Set Top Box）またはテレビジョン受信機等として実現可能である。記憶部２２には、実施形態のノード処理プログラム、コンテンツとしてのファイル、ＤＨＴを用いたルーティングテーブル等が記憶されている。以上の構成において制御部２１は、ＣＰＵが記憶部２２またはＲＯＭ等に記憶されたノード処理プログラムを読み出して実行することにより、ノードＮｎ全体を統括制御する。具体的には、ノードＮｎが配信システムＳへ参加したのちに制御部２１がノード処理プログラムを実行することで、上述したユーザノード、ルートノードまたは保持ノード等の、少なくともいずれか一つのノードとして機能する。なお、実施形態の配信システムＳでは、キーコンテンツの保持ノードが「第１ノード装置の一例に相当する。またサブコンテンツの保持ノードが「第２ノード装置」の一例に相当する。
（Ｅ）コンテンツ配信動作
次に、実施形態の配信システムＳにおけるコンテンツ配信動作について、図５から図８を用いて具体的に説明する。
（ａ）センタサーバＳＶにおける動作
先ず、センタサーバＳＶにおける動作について、図５および図６を用いて説明する。なお図５は実施形態のセンタサーバＳＶの動作を示すフローチャートである。図６は実施形態のセンタサーバＳＶの動作に用いられる各種データを例示する図である。図５に示す動作は、センタサーバＳＶの図示しない電源スイッチがオンとされたタイミングから、開始される。図５に示すように、センタサーバＳＶの動作が開始されると制御部３５は、複合コンテンツを取得したユーザノードから送信されてくるログ情報を取得したか否かの監視を開始する（ステップＳ１）。ログ情報は、ユーザノードにおいて各コンテンツを取得する度にセンタサーバＳＶに送信されてくるログ情報である。図３に示す例では、ユーザノードＮｘにおいてキーコンテンツＫ１等を取得する度に、ユーザノードＮｘから例えばネットワーク８を介してセンタサーバＳＶに送信されてくるログ情報である。複合コンテンツを構成するコンテンツを取得した場合のログ情報には、そのコンテンツを取得した日時情報と、ユーザノードを示すノード情報と、そのコンテンツのコンテンツＩＤと、そのコンテンツを含む複合コンテンツに対応するメタファイルＭＴのコンテンツＩＤと、が含まれている。一方、複合コンテンツを構成するコンテンツ以外の一般コンテンツを取得した場合のログ情報には、その一般コンテンツを取得した日時情報と、ユーザノードを示すノード情報と、その一般コンテンツのコンテンツＩＤと、が含まれている。一般コンテンツを取得した場合のログ情報には、メタファイルＭＴのコンテンツＩＤは含まれていない。ステップＳ１の監視においていずれのログ情報も取得していない場合（ステップＳ１；ＮＯ）、制御部３５は後述するステップＳ３の動作に移行する。ステップＳ１の監視においていずれかのログ情報を取得した場合（ステップＳ１；ＹＥＳ）、制御部３５はその取得したログ情報を記憶部３６に記憶させる（ステップＳ２）。
【００４５】
次に制御部３５は、ログ情報の集計タイミングが到来したか否かを、制御部３５内の図示しないタイマにおける計時に基づいて判定する（ステップＳ３）。この集計タイミングは、たとえば一日おき等のように予め設定された期間毎に到来するタイミングである。ステップＳ３の判定においてログ情報の集計タイミングが到来していない場合（ステップＳ３；ＮＯ）、制御部３５は後述するステップＳ８の動作に移行する。ステップＳ３の判定においてログ情報の集計タイミングが到来したとき（ステップＳ３；ＹＥＳ）、制御部３５はステップＳ２の動作により新たに記憶したログ情報が複合コンテンツのコンテンツを取得したことを示すログ情報であるか否かを判定する（ステップＳ４）。このステップＳ４の判定において制御部３５は、配信される複合コンテンツのメタファイルＭＴのコンテンツＩＤを、たとえばその配信者からの通知等により予め認識している。そして制御部３５は、記憶したログ情報内にメタファイルＭＴのコンテンツＩＤがあるか否かにより、ステップＳ４の判定を行う。ステップＳ４の判定において新たに記憶したログ情報が複合コンテンツのコンテンツを取得したことを示すログ情報でない場合（ステップＳ４；ＮＯ）、制御部３５は後述するステップＳ８の動作に移行する。ステップＳ４の判定において新たに記憶したログ情報が複合コンテンツのコンテンツを取得したことを示すログ情報である場合（ステップＳ４；ＹＥＳ）、制御部３５は、新たに取得したログ情報を用いてコンテンツの取得数を集計する（ステップＳ５）。すなわち制御部３５は、それまでに記憶部３６に記憶されているログ情報を複合コンテンツ毎に分類する。次に制御部３５は、分類された各複合コンテンツに含まれるコンテンツ毎のすべてのノードＮｎにおける取得数を集計する。このステップＳ５の集計動作について図２に例示した複合コンテンツの場合を例に、図６を用いて説明する。その複合コンテンツのメタファイルＭＴは図６（ａ）例示するものである。すなわち、コンテンツＩＤで示したときに「ＡＡ」→「ＢＢ」→「ＣＣ」→「ＤＤ」→「ＥＥ」の順で五つのコンテンツが再生されることで、メタファイルＭＴに対応する複合コンテンツ全体が再生されるものと予め設定されているとする。この場合にステップＳ５の動作により得られる取得数情報ＮＢは、図６（ｂ）に例示するように、集計時点までのすべてのノードＮｎにおける取得数を五つのコンテンツ毎に示す情報を含む。次に制御部３５は、新たに取得したログ情報を用いてコンテンツの取得順による取得数を集計する（ステップＳ６）。すなわち制御部３５は、それまでに記憶部３６に記憶されているログ情報を送信元のユーザノードのたとえばノードＩＤ順および日時情報順に並べ直し、一回の複合コンテンツの取得におけるコンテンツの取得順を集計する。次に制御部３５は、その取得順で取得された回数を集計する。このステップＳ６の集計動作について図２に例示した複合コンテンツの場合を例に図６（ｃ）を用いて説明する。図２に例示した複合コンテンツの場合にステップＳ６の動作により得られる取得順情報ＯＤは、図６（ｃ）に例示するように各コンテンツの取得順毎に集計時点までの取得数を示す情報を含む。図６（ｃ）に例示する取得順情報ＯＤでは、コンテンツＩＤで示したときに「ＡＡ」→「ＢＢ」→「ＣＣ」→「ＤＤ」→「ＥＥ」の順で五つのコンテンツが取得された回数が五回であることが示されている。またコンテンツＩＤで示したときに「ＡＡ」→「ＤＤ」の順で二つのコンテンツが取得された回数が三回であり、コンテンツＩＤで示したときに「ＡＡ」→「ＤＤ」→「ＥＥ」の順で三つのコンテンツが取得された回数が二回であることが示されている。次に制御部３５は、図６（ｂ）に例示されるステップＳ５の集計結果を、取得数情報ＮＢとして記憶部３６に記憶させる。また制御部３５は、図６（ｃ）に例示されるステップＳ６の集計結果を、取得順情報ＯＤとして記憶部３６に記憶させる（ステップＳ７）。
【００４６】
次に制御部３５は、キーコンテンツの決定タイミングが到来したか否かを、制御部３５内の図示しないタイマにおける計時に基づいて判定する（ステップＳ８）。この決定タイミングは、たとえばステップＳ３の集計タイミングと同時でもよいし、異なった期間毎に到来するタイミングでもよい。ステップＳ８の判定においてキーコンテンツの決定タイミングが到来していない場合（ステップＳ８；ＮＯ）、制御部３５は後述するステップＳ１５の動作に移行する。ステップＳ８の判定においてキーコンテンツの決定タイミングが到来したとき（ステップＳ８；ＹＥＳ）、制御部３５は、新たにキーコンテンツになり得るコンテンツを暫定的に指定する（ステップＳ９）。制御部３５は、このステップＳ９の動作を、ステップＳ７の動作により記憶された取得数情報ＮＢを用いて行う。すなわち制御部３５は、取得数情報ＮＢに基づき、その複合コンテンツを構成するコンテンツの取得数の合計のたとえば二割以上の取得数のコンテンツを新たなキーコンテンツと指定する。どの程度の数のコンテンツを新たなキーコンテンツとして指定するかは、たとえば経験的あるいは実験的に予め決定されるものである。図６（ｂ）に例示する取得数情報ＮＢの場合、コンテンツの取得数の合計は「３８」であり、その二割は「７．６」である。よって制御部３５は、取得数情報ＮＢにおいて取得数が「８」以上であるコンテンツをキーコンテンツとして暫定的に指定する（ステップＳ９）。図６（ｂ）に例示する取得数情報ＮＢの場合は、コンテンツＩＤが「ＡＡ」であるコンテンツと、コンテンツＩＤが「ＤＤ」であるコンテンツと、が暫定的にキーコンテンツに指定される。次に制御部３５は、最も多い取得順においてステップＳ９の動作において指定したキーコンテンツが連続して取得されているかを確認する（ステップＳ１０）。制御部３５は、このステップＳ１０の動作を、ステップＳ７の動作により記憶された取得順情報ＯＤを用いて行う。すなわち制御部３５は、取得順情報ＯＤに基づき、その複合コンテンツを構成するコンテンツの取得順のうち、最も取得数が多い取得順において、ステップ９の動作において指定したキーコンテンツが連続して取得されているか否かを確認する。図６（ｃ）に示す例では、最も取得数が多い取得順は、コンテンツＩＤで示したときに「ＡＡ」→「ＢＢ」→「ＣＣ」→「ＤＤ」→「ＥＥ」の順である。よって制御部３５は、この順の中でステップ９の動作において指定したキーコンテンツが連続して取得されているかを確認する。図６に例示する場合、ステップＳ９の動作において指定したキーコンテンツは、コンテンツＩＤが「ＡＡ」であるサブコンテンツとコンテンツＩＤが「ＤＤ」であるコンテンツである（ステップＳ１０；ＮＯ）。よって制御部３５は、この場合には後述するステップＳ１３の動作に移行する。これに対して、仮にステップＳ９の動作において指定されたキーコンテンツが、コンテンツＩＤが「ＡＡ」であるコンテンツ、コンテンツＩＤが「ＢＢ」であるコンテンツおよびコンテンツＩＤが「ＣＣ」であるコンテンツであったとする。この場合ステップＳ１０の判定は「ＹＥＳ」となる。そこで制御部３５は、二番目以降に連続するキーコンテンツを除外する（ステップＳ１１）。すなわち制御部３５は、コンテンツＩＤが「ＢＢ」であるコンテンツおよびコンテンツＩＤが「ＣＣ」であるコンテンツをキーコンテンツから除外する。次に制御部３５は、ステップＳ１１の動作において除外したコンテンツの指定を解いて新たなキーコンテンツを再度暫定的に指定する（ステップＳ１２）。このステップＳ１２の動作は、ステップＳ９の動作と同様に取得数情報ＮＢを用いて行われる。その後制御部３５は、ステップＳ１０の動作に移行する。このステップＳ１０からステップＳ１２までの動作の繰り返しは、最も取得数が多い取得順において連続するコンテンツがキーコンテンツとして指定されることを防止する動作である。すなわち、最も取得数が多い取得順において連続するコンテンツがキーコンテンツとして指定されると、最後のキーコンテンツより取得順が後の全てのサブコンテンツのインデックス情報が、そのキーコンテンツのルートノードに纏めて記憶される。これではそのキーコンテンツのルートノードの記憶部２２の記憶容量を圧迫する。これを防ぐため、ステップＳ１０の判定において制御部３５が「ＮＯ」と判定するまで、ステップＳ１０からステップＳ１２までの動作を繰り返す。すなわち制御部３５は、ステップＳ２の動作により記憶されているログ情報に基づき、取得数が多いコンテンツを優先させてキーコンテンツを決定する。次に制御部３５は、ステップＳ９からステップＳ１２の動作により指定されているキーコンテンツのコンテンツＩＤを含むキーコンテンツ情報ＫＩを、メタファイルＭＴのルートノードに通知する（ステップＳ１３）。さらに制御部３５は、ステップＳ７の動作により記憶された取得数情報ＮＢおよび取得順情報ＯＤを、優先保持情報としてメタファイルＭＴのルートノードに通知する（ステップＳ１４）。このステップＳ１３およびＳ１４の動作において制御部３５は、そのメタファイルＭＴのコンテンツＩＤを用いたＤＨＴルーティングにより、キーコンテンツ情報ＫＩおよび優先保持情報を含むメッセージをメタファイルＭＴのルートノードに通知する。なお、ＤＨＴルーティングを用いることなく、キーコンテンツ情報ＫＩおよび優先保持情報を、たとえばネットワーク８を介してメタファイルＭＴのルートノードに直接送信してもよい。なおキーコンテンツ情報ＫＩは、メタファイルＭＴのルートノードに対してメタファイルＭＴのクエリが転送されてきたとき、メタファイルＭＴのインデックス情報と共に、そのクエリの送信元であるユーザノードに送信される。この点については、後ほど詳述する。また、キーコンテンツ情報ＫＩをメタファイルＭＴ自体に記述してもよい。具体的に制御部３５は、図６（ｄ）に「※」で例示するようなキーコンテンツを示す符号等の情報を元のメタファイルＭＴに追加した新たなメタファイルＭＴ’を生成する。次に制御部３５は、生成されたメタファイルＭＴ’を、新たなコンテンツとしてオーバーレイネットワーク９に投入する。さらに制御部３５は、既に各ノードＮｎに配布されているカタログ情報を、元のメタファイルＭＴのコンテンツＩＤに代えて新たなメタファイルＭＴ’のコンテンツＩＤが記述されている新たなカタログ情報に更新する動作を行う。これにより、キーコンテンツ情報を含む新たなメタファイルＭＴ’が、各ノードＮｎにおいて取得可能となる。
【００４７】
次に制御部３５は、センタサーバＳＶの電源スイッチがオフとされたか否かを判定する（ステップＳ１５）。ステップＳ１５の判定において電源スイッチがオフとされていない場合（ステップＳ１５；ＮＯ）、制御部３５はステップＳ１の動作に移行する。ステップＳ１５の判定において電源スイッチがオフとされている場合（ステップＳ１５；ＹＥＳ）、制御部３５はそのまま実施形態の動作を終了する。
（ｂ）ノードＮｎにおける動作
次に、各ノードＮｎにおける動作について、図７および図８を用いて説明する。なお図７および図８は実施形態の各ノードＮｎの動作を共通的に示すフローチャートである。また、図７に示すフローチャートでは、メタファイルＭＴのルートノード特有の動作と、各ルートノードに共通の動作と、ユーザノード特有の動作と、が一つのフローチャートに纏められている。すなわち、メタファイルＭＴのルートノード特有の動作は図８ステップＳ２０からステップＳ２２までであり、各ルートノードに共通の動作は図８ステップＳ２３からステップＳ４５までである。またユーザノード特有の動作は図８ステップＳ４６からステップＳ５０までである。
【００４８】
図７に示す動作は、ノードＮｎの図示しない電源スイッチがオンとされたタイミングから、開始される。図７に示すように、ノードＮｎの動作が開始されると制御部２１は、センタサーバＳＶから送信されてくるキーコンテンツ情報ＫＩおよび優先保持情報を取得したか否かの監視を開始する（ステップＳ２０）。図６（ｂ）および図６（ｃ）を用いて説明した場合、キーコンテンツ情報ＫＩには、「ＡＡ」であるコンテンツＩＤと、「ＤＤ」であるコンテンツＩＤが含まれている。また優先保持情報には、図６（ｂ）および図６（ｃ）に例示する取得数情報ＮＢと取得順情報ＯＤが含まれている。ステップＳ２０の監視においてキーコンテンツ情報ＫＩ等を取得していない場合（ステップＳ２０；ＮＯ）、制御部２１は後述するステップＳ２３の動作に移行する。ステップＳ２０の監視においてキーコンテンツ情報ＫＩ等を取得した場合（ステップＳ２０；ＹＥＳ）、制御部２１はその取得したキーコンテンツ情報ＫＩを記憶部２２に記憶させる（ステップＳ２１）。また制御部２１は、取得した優先保持情報を、キーコンテンツ情報ＫＩによりコンテンツＩＤが示されている各キーコンテンツのルートノード宛に転送する（ステップＳ２２）。この優先保持情報は、キーコンテンツ情報ＫＩのコンテンツＩＤを用いたＤＨＴルーティングにより、各キーコンテンツのルートノードに転送される。
【００４９】
次に制御部２１は、自身宛に転送されてきた優先保持情報を取得したか否かを判定する（ステップＳ２３）。ステップＳ２３の判定において優先保持情報を取得していない場合（ステップＳ２３；ＮＯ）、制御部２１は後述するステップＳ２５の動作に移行する。ステップＳ２３の判定において自身宛の優先保持情報を取得した場合（ステップＳ２３；ＹＥＳ）、その制御部２１が含まれるノードはいずれかのキーコンテンツのルートノードであることになる。そこでその制御部２１は、その取得した優先保持情報を記憶部２２に記憶させる（ステップＳ２４）。
【００５０】
次に制御部２１は、オーバーレイネットワーク９を介していずれかのクエリを受信したか否かを判定する（ステップＳ２５）。実施形態のノードＮｎが受信するクエリには、メタファイルＭＴまたはサブコンテンツのインデックス情報を要求するクエリと、キーコンテンツのインデックス情報を要求するクエリとがある。キーコンテンツのインデックス情報を要求するクエリには、そのインデックス情報と共にルートノードに記憶されている集約インデックス情報を要求する情報が付加されている。ステップＳ２５の判定においていずれのクエリも受信していない場合（ステップＳ２５；ＮＯ）、制御部２１は後述するステップＳ３４の動作に移行する。ステップＳ２５の判定においていずれかのクエリを受信した場合（ステップＳ２５；ＹＥＳ）、制御部２１は次に、記憶部２２内に、受信したクエリにより要求されているインデックス情報が記憶されているか否かを判定する（ステップＳ２６）。ステップＳ２６の判定において要求されているインデックス情報が記憶されていない場合（ステップＳ２６；ＮＯ）、制御部２１は、受信したクエリを転送する（ステップＳ２７）。その後制御部２１は、後述するステップＳ３４の動作に移行する。ステップＳ２６の判定において、要求されているインデックス情報を記憶している場合（ステップＳ２６；ＹＥＳ）、制御部２１は次に、キーコンテンツ情報ＫＩが記憶部２２に記憶されているか否かを判定する（ステップＳ２８）。ステップＳ２８の判定においてキーコンテンツ情報ＫＩが記憶されている場合（ステップＳ２８；ＹＥＳ）、そのキーコンテンツ情報ＫＩはステップＳ２１の動作により記憶部２２に記憶されたものである。制御部２１は、ステップＳ２５の動作により受信したクエリに対応するレスポンス情報に、記憶されているキーコンテンツ情報ＫＩを付加する（ステップＳ２９）。その後制御部２１は、後述するステップＳ３０の動作に移行する。ステップＳ２８の判定においてキーコンテンツ情報ＫＩが記憶されていない場合（ステップＳ２８；ＮＯ）、制御部２１は、ステップＳ２５の動作により受信したクエリが集約インデックス情報を要求するクエリであるか否かを判定する（ステップＳ３０）。ステップＳ３０の判定において、受信したクエリが集約インデックス情報を要求するクエリである場合（ステップＳ３０；ＹＥＳ）、その制御部２１が含まれるノードはいずれかのキーコンテンツのルートノードであることになる。そこで制御部２１は、取得したクエリに対応するレスポンス情報に、対応するインデックス情報と、記憶されている集約インデックス情報を付加する（ステップＳ３１）。その後制御部２１は、後述するステップＳ３３の動作に移行する。すなわち制御部２１は、キーコンテンツのインデックス情報を要求するクエリを受信したとき、キーコンテンツのインデックス情報と、集約インデックス情報とを、レスポンス情報としてクエリの送信元であるユーザノード宛に送信する。ステップＳ３０の判定において、取得したクエリが集約インデックス情報を要求するクエリでない場合（ステップＳ３０；ＮＯ）、制御部２１は、取得したクエリに対応するレスポンス情報に、対応するインデックス情報を付加する（ステップＳ３２）。その後制御部２１は、クエリの送信元であるユーザノード宛にレスポンス情報を送信する（ステップＳ３３）。
【００５１】
次に制御部２１は、公開メッセージを取得したか否かを判定する（ステップＳ３４）。ステップＳ３４の判定において公開メッセージを取得していない場合（ステップＳ３４；ＮＯ）、制御部２１は後述するステップＳ３８の動作に移行する。ステップＳ３４の判定において公開メッセージを取得した場合（ステップＳ３４；ＹＥＳ）、制御部２１は次に、その公開メッセージがその制御部２１が含まれるノード宛てであるか否かを判定する（ステップＳ３５）。ステップＳ３５の判定において制御部２１が含まれるノード宛てでない場合（ステップＳ３５；ＮＯ）、制御部２１は、取得した公開メッセージを転送する（ステップＳ３６）。その後制御部２１は、後述するステップＳ３８の動作に移行する。ステップＳ３５の判定において、制御部２１が含まれるノード宛ての公開メッセージである場合（ステップＳ３５；ＹＥＳ）、制御部２１はその公開メッセージに含まれているインデックス情報を記憶部２２に記憶させる（ステップＳ３７）。
【００５２】
次に制御部２１は、公開メッセージに含まれているインデックス情報の転送を行うタイミングが到来したか否かを、制御部２１内の図示しないタイマにおける計時に基づいて判定する（ステップＳ３８）。この転送タイミングは、たとえば予め設定された一定時間おきのタイミングである。ステップＳ３８の判定においてインデックス情報の転送タイミングが到来していない場合（ステップＳ３８；ＮＯ）、制御部２１は後述するステップＳ４２の動作に移行する。ステップＳ３８の判定において、インデックス情報の転送タイミングが到来したとき（ステップＳ３８；ＹＥＳ）、制御部２１は、転送先が設定されているインデックス情報が記憶部２２に記憶されているか否かを判定する（ステップＳ３９）。ここで、転送先が設定されているインデックス情報とは、サブコンテンツの公開メッセージに含まれていた、そのサブコンテンツのインデックス情報である。そしてこの場合の転送先とは、そのサブコンテンツに対応するキーコンテンツのルートノードである。この点については、後ほど図８（ｂ）を用いて詳述する。ステップＳ３９の判定において、転送先が設定されているインデックス情報が記憶されていない場合（ステップＳ３９；ＮＯ）、制御部２１は後述するステップＳ４２の動作に移行する。ステップＳ３９の判定において、転送先が設定されているインデックス情報が記憶されている場合（ステップＳ３９；ＹＥＳ）、制御部２１は次に、そのインデックス情報を、設定されている転送先のルートノードに向けて転送する（ステップＳ４０）。すなわち制御部２１は、サブコンテンツの公開メッセージに基づき、それに含まれていたインデックス情報を、その転送先であるキーコンテンツのルートノード宛に転送する。その後制御部２１は、ステップＳ４０の動作により転送されたインデックス情報における転送先の設定を初期化する（ステップＳ４１）。このステップＳ４１の動作は、ステップＳ４０の動作による転送後も、転送対象であったインデックス情報自体は記憶部２２内に残っているため、残っているインデックス情報における転送先の設定を初期化する動作である。
【００５３】
次に制御部２１は、他のノードＮｎにおけるステップＳ４０の動作により転送されたインデックス情報を、他のノードＮｎから取得したか否かを判定する（ステップＳ４２）。ステップＳ４２の判定においてインデックス情報を取得した場合（ステップＳ４２；ＹＥＳ）、制御部２１は次に、そのインデックス情報の転送先がその制御部２１が含まれるノードであるか否かを判定する（ステップＳ４３）。ステップＳ４３の判定において制御部２１が含まれるノードが転送先でない場合（ステップＳ４３；ＮＯ）、制御部２１は、取得したインデックス情報を転送する（ステップＳ４４）。その後制御部２１は、後述するステップＳ４６の動作に移行する。ステップＳ４３の判定において、制御部２１が含まれるノードがインデックス情報の転送先である場合（ステップＳ４３；ＹＥＳ）、制御部２１はそのインデックス情報の取得動作を行う（ステップＳ４５）。このステップＳ４５の動作については、後ほど図８（ａ）を用いて詳述する。
【００５４】
次に制御部２１は、その制御部２１が含まれるノードの入力部２６を用いて、コンテンツの取得指示が為されたか否かを判定する（ステップＳ４６）。このステップＳ４６の判定は、制御部２１が含まれるノードが、コンテンツの取得が所望されているユーザノードであるか否かの判定である。ステップＳ４６の判定において、コンテンツの取得指示が為されていない場合（ステップＳ４６；ＮＯ）、制御部２１は後述するステップＳ５１の動作に移行する。ステップＳ４６の判定において、コンテンツの取得指示が為された場合（ステップＳ４６；ＹＥＳ）、制御部２１は、その取得対象が複合コンテンツであるか否かを判定する（ステップＳ４７）。このステップＳ４７の判定において制御部２１は、たとえば、複合コンテンツとして予め設定されている特定の形式により取得指示が為された場合、その取得対象が複合コンテンツであると判定する。この特定の形式とは、たとえばウェブページを用いて複合コンテンツの閲覧をする場合、メタファイルＭＴのコンテンツＩＤと共に、最初に取得されるべきコンテンツのコンテンツＩＤが取得指示に含まれているような形式である。この最初に取得されるべきコンテンツとは、たとえば図２（ａ）に例示するキーコンテンツＫ１である。一方、ウェブページを用いて一般コンテンツの閲覧をする場合、取得指示には、通常コンテンツＩＤが一つしか含まれていない。ステップＳ４７の判定において、取得対象が複合コンテンツである場合（ステップＳ４７；ＹＥＳ）、制御部２１はその複合コンテンツの取得動作を行う（ステップＳ５０）。このステップＳ５０の動作については、後ほど図８（ｂ）を用いて詳述する。ステップＳ４７の判定において、取得対象が複合コンテンツでない場合（ステップＳ４７；ＮＯ）、制御部２１は、従来と同様の方法により、取得指示において指定されたコンテンツＩＤを用いてそのコンテンツを取得する（ステップＳ４８）。さらに制御部２１は、その取得したコンテンツについての公開メッセージを、従来と同様の方法により送信する（ステップＳ４９）。
【００５５】
次に制御部２１は、ノードＮｎの電源スイッチがオフとされたか否かを判定する（ステップＳ５１）。ステップＳ５１の判定において電源スイッチがオフとされていない場合（ステップＳ５１；ＮＯ）、制御部２１はステップＳ２０の動作に移行する。ステップＳ５１の判定において電源スイッチがオフとされている場合（ステップＳ５１；ＹＥＳ）、制御部２１はそのまま実施形態の動作を終了する。
【００５６】
次に、ステップＳ４５におけるインデックス情報取得動作の詳細について、図８（ａ）を用いて説明する。なお図８（ａ）はインデックス情報の取得動作の詳細を示すフローチャートである。
【００５７】
ステップＳ４５の動作において制御部２１は、その制御部２１が含まれるノードがインデックス情報の転送先である場合（ステップＳ４３；ＹＥＳ）、そのインデックス情報の取得動作を行う。始めに制御部２１は、優先保持情報が記憶部２２に記憶されているか否かを判定する（ステップＳ４５０）。ステップＳ４５０の判定において優先保持情報が記憶されていない場合（ステップＳ４５０；ＮＯ）、制御部２１は図７に示すステップＳ４６の動作に移行する。ステップＳ４５０の判定において優先保持情報が記憶されている場合（ステップＳ４５０；ＹＥＳ）、制御部２１が含まれているノードＮｎはいずれかのキーコンテンツのルートノードであることになる。これは、ステップＳ２２の動作により、優先保持情報の転送先が、キーコンテンツ情報ＫＩによりコンテンツＩＤが示されている各キーコンテンツのルートノード宛だからである。次に制御部２１は、記憶部２２における集約インデックス情報の記憶量が、予め設定された制限値以下であるか否かを判定する（ステップＳ４５２）。このステップＳ４５２の判定に用いられる制限値は、集約インデックス情報の記憶量の上限値であって、記憶部２２の有効活用の観点から、たとえば実験的または経験的に設定される値である。ステップＳ４５２の判定において、記憶部２２における集約インデックス情報の記憶量が制限値以下である場合（ステップＳ４５２；ＹＥＳ）、制御部２１はそのまま図７に示すステップＳ４６の動作に移行する。ステップＳ４５２の判定が「ＮＯ」のとき、制御部２１は次に、取得順情報ＯＤを用いて、取得数が最も多い取得順において自身が管理するコンテンツよりも先に取得されるべきコンテンツのインデックス情報が、記憶部２２に記憶されているか否かを判定する（ステップＳ４５３）。ステップＳ４５３の判定に用いられる取得順情報ＯＤは優先保持情報として記憶部２２に記憶されているものである。ステップＳ４５３の判定において、先に取得されるべきコンテンツのインデックス情報が記憶されている場合（ステップＳ４５３；ＹＥＳ）、制御部２１はそのインデックス情報を記憶部２２から削除する（ステップＳ４５４）。すなわち制御部２１は、ステップＳ２４の動作により取得した優先保持情報の取得順情報ＯＤに基づいて、キーコンテンツより先に取得されるべきコンテンツのインデックス情報を記憶部２２から削除する。これにより、このインデックス情報が他のノードＮｎから参照されることが禁止される。その後制御部２１はステップＳ４５２の動作に移行する。ステップＳ４５３の判定において、先に取得されるべきコンテンツのインデックス情報が記憶されていない場合（ステップＳ４５３；ＮＯ）、制御部２１は、取得数情報ＮＢを用いて、取得数が予め設定された閾値取得数よりも少ないコンテンツのインデックス情報を、記憶部２２から削除する（ステップＳ４５５）。すなわち制御部２１は、ステップＳ２４の動作により取得した優先保持情報の取得数情報ＮＢに基づいて、取得数が閾値取得数以上のコンテンツのインデックス情報を優先させて記憶部２２に記憶させる。ステップＳ４５５の判定に用いられる取得数情報ＮＢは優先保持情報として記憶部２２に記憶されているものである。またステップＳ４５３の判定に用いられる閾値取得数は、たとえば実験的または経験的に予め設定されているものである。その後制御部２１はステップＳ４５２の動作に移行する。以上のステップＳ４５の動作により、キーコンテンツのルートノードに記憶される集約インデックス情報について、優先順位が付けられて記憶される。具体的に制御部２１は、取得数が最も多い取得順において自身が管理するコンテンツよりも後に取得されるべきコンテンツのインデックス情報を、最優先して記憶部２２に記憶させる。更に制御部２１は、取得数が閾値取得数以上であるコンテンツのインデックス情報を、次に優先して記憶部２２に記憶させる。これにより、記憶部２２における記憶容量が圧迫されることなく、集約インデックス情報の集約効率を向上させることができる。
【００５８】
次に、ステップＳ５０における複合コンテンツ取得動作の詳細について、図８（ｂ）を用いて説明する。なお図８（ｂ）は複合コンテンツ取得動作の詳細を示すフローチャートである。ステップＳ５０の動作は、ユーザノードとしてのノードＮｎ特有の動作である。
【００５９】
ステップＳ５０の動作において制御部２１は、取得指示された複合コンテンツの取得を行う（ステップＳ４７；ＹＥＳ）。始めに制御部２１は、その複合コンテンツのメタファイルＭＴを検索するためのクエリを送信する（ステップＳ５００）。その後制御部２１は、送信したクエリのレスポンス情報に付加されたキーコンテンツ情報ＫＩを取得したか否かを判定する（ステップＳ５０１）。このキーコンテンツ情報ＫＩはステップＳ２９の動作によりレスポンス情報に付加されるキーコンテンツ情報ＫＩである。ステップＳ５０１においてキーコンテンツ情報ＫＩを取得していない場合（ステップＳ５０１；ＮＯ）、制御部２１は後述するステップＳ５０３の動作に移行する。ステップＳ５０１の判定においてキーコンテンツ情報ＫＩを取得した場合（ステップＳ５０１；ＹＥＳ）、制御部２１は次に、その取得したキーコンテンツ情報ＫＩを記憶部２２に記憶させる（ステップＳ５０２）。次に制御部２１は、ステップＳ５００の動作により送信したクエリに対応するメタファイルＭＴを取得する（ステップＳ５０３）。次に制御部２１は、入力部２６において、取得したメタファイルＭＴに対応する複合コンテンツを構成するコンテンツの取得指示が為されたか否かを判定する（ステップＳ５０４）。ステップＳ５０４の判定においてコンテンツの取得指示が為されていない場合（ステップＳ５０４；ＮＯ）、制御部２１は図７に示すステップＳ５１の動作に移行する。ステップＳ５０４の判定においてコンテンツの取得指示が為された場合（ステップＳ５０４；ＹＥＳ）、制御部２１は次に、その複合コンテンツについてのキーコンテンツ情報ＫＩが記憶部２２に記憶されているか否かを判定する（ステップＳ５０５）。ステップＳ５０５の判定においてキーコンテンツ情報ＫＩが記憶されている場合（ステップＳ５０５；ＹＥＳ）、制御部２１は次に、そのキーコンテンツ情報ＫＩに基づき、ステップＳ５０４の取得指示の対象となったコンテンツがキーコンテンツであるか否かを判定する（ステップＳ５０６）。ステップＳ５０６の判定において取得指示の対象となったコンテンツがキーコンテンツでない場合（ステップＳ５０６；ＮＯ）、制御部２１は後述するステップＳ５１６の動作に移行する。ステップＳ５０６の判定においてキーコンテンツが取得指示の対象である場合（ステップＳ５０６；ＹＥＳ）、制御部２１はキーコンテンツ情報ＫＩにより示されるキーコンテンツに対応する集約インデックス情報を取得するためのクエリを送信する（ステップＳ５０７）。このクエリは、キーコンテンツ情報ＫＩにより示されるキーコンテンツを取得するためのクエリと共に送信される。次に制御部２１は、ステップＳ５０７の動作により送信されたクエリに対応したキーコンテンツのインデックス情報を、そのキーコンテンツのルートノードから取得する（ステップＳ５０８）。さらに制御部２１は、ステップＳ５０７の動作により送信されたクエリに対応した集約インデックス情報を、そのキーコンテンツのルートノードから取得する（ステップＳ５０９）。すなわち制御部２１は、メタファイルＭＴおよびキーコンテンツ情報ＫＩに基づいて、キーコンテンツのインデックス情報および集約インデックス情報を取得する。次に制御部２１は、取得した集約インデックス情報を記憶部２２に記憶させる（ステップＳ５１０）。次に制御部２１は、キーコンテンツ情報ＫＩにより示されているサブコンテンツについての公開メッセージに含まれるインデックス情報の転送先を設定する（ステップＳ５１１）。すなわち制御部２１は、サブコンテンツについての公開メッセージに含まれるインデックス情報の転送先を、そのキーコンテンツのルートノードに設定する。次に制御部２１は、キーコンテンツのキャッシュが記憶部２２に既に記憶されているか否かを判定する（ステップＳ５１２）。ステップＳ５１２の判定においてキーコンテンツのキャッシュが記憶部２２に記憶されている場合（ステップＳ５１２；ＹＥＳ）、制御部２１はステップＳ５０４の動作に移行する。ステップＳ５１２の判定においてキーコンテンツのキャッシュが記憶部２２に記憶されていない場合（ステップＳ５１２；ＮＯ）、制御部２１はステップＳ５０８の動作により取得したインデックス情報を用いてキーコンテンツを取得する（ステップＳ５１３）。次に制御部２１は、取得したキーコンテンツに対応するログ情報を生成してセンタサーバＳＶに送信する（ステップＳ５１４）。このログ情報には、ステップＳ５１３の動作においてキーコンテンツを取得した日時情報と、ユーザノードを示すノード情報と、そのキーコンテンツのコンテンツＩＤと、そのキーコンテンツを含む複合コンテンツに対応するメタファイルＭＴのコンテンツＩＤと、が含まれている。これは、このログ情報がキーコンテンツに対応するログ情報であるからである。次に制御部２１は、ステップＳ５１３の動作により取得したキーコンテンツに対応する公開メッセージを送信する（ステップＳ５１５）。具体的に図３に例示する場合に、制御部２１は、コンテンツＩＤが「ＡＡ」であるキーコンテンツＫ１の公開メッセージをルートノードＲ−Ａ宛てに送信し、コンテンツＩＤが「ＤＤ」であるキーコンテンツＫ２の公開メッセージをルートノードＲ−Ｄ宛てに送信する。なお、メタファイルＭＴの公開メッセージはそのルートノードＲ−Ｍ宛てに送信する。その後制御部２１はステップＳ５０４の動作に移行する。一方、ステップＳ５０５の判定においてキーコンテンツ情報ＫＩが記憶されていない場合（ステップＳ５０５；ＮＯ）、制御部２１は、いずれかのコンテンツのキャッシュが記憶部２２に記憶されているか否かを判定する（ステップＳ５１６）。ステップＳ５０６の判定において「ＮＯ」と制御部２１が判定した場合にステップＳ５１６の動作に移行することから、以下のステップＳ５１６からステップＳ５２４までの動作は、サブコンテンツを対象として実行される。ステップＳ５１６の判定においてサブコンテンツのキャッシュが記憶部２２に記憶されている場合（ステップＳ５１６；ＹＥＳ）、制御部２１はステップＳ５０４の動作に移行する。ステップＳ５１６の判定においてサブコンテンツのキャッシュが記憶部２２に記憶されていない場合（ステップＳ５１６；ＮＯ）、制御部２１は、ステップＳ５０４の動作において取得指示が為されたサブコンテンツのインデックス情報が記憶部２２に記憶されているか否かを判定する（ステップＳ５１７）。ステップＳ５１７の判定においてサブコンテンツのインデックス情報が記憶されている場合（ステップＳ５１７；ＹＥＳ）、制御部２１は後述するステップＳ５２０の動作に移行する。ステップＳ５１７の判定においてサブコンテンツのインデックス情報が記憶されていない場合（ステップＳ５１７；ＮＯ）、制御部２１は次に、取得指示の対象であるサブコンテンツに対応するインデックス情報を取得するためのクエリを送信する（ステップＳ５１８）。次に制御部２１は、ステップＳ５１８の動作により送信されたクエリに対応したサブコンテンツのインデックス情報を、そのサブコンテンツのルートノードから取得する（ステップＳ５１９）。次に制御部２１は、ステップＳ５１９の動作により取得したインデックス情報を用いてサブコンテンツを取得する（ステップＳ５２０）。次に制御部２１は、取得したサブコンテンツに対応するログ情報を生成してセンタサーバＳＶに送信する（ステップＳ５２１）。このログ情報には、ステップＳ５２０の動作においてサブコンテンツを取得した日時情報と、ユーザノードを示すノード情報と、そのサブコンテンツのコンテンツＩＤと、そのサブコンテンツを含む複合コンテンツに対応するメタファイルＭＴのコンテンツＩＤと、が含まれている。これは、このログ情報がサブコンテンツに対応するログ情報であるからである。次に制御部２１はインデックス情報の転送先が、ステップＳ５１１の動作により設定済みであるか否かを判定する（ステップＳ５２２）。ステップＳ５２２の判定においてインデックス情報の転送先が設定済みである場合は（ステップＳ５２２；ＹＥＳ）、ステップＳ５０５の動作によりキーコンテンツ情報ＫＩが記憶済みであり且つ今回取得指示されたコンテンツがキーコンテンツでないサブコンテンツである場合となる。よって制御部２１は、そのインデックス情報の転送先をキーコンテンツのルートノードと設定して、ステップＳ５２０の動作により取得したサブコンテンツに対応する公開メッセージを送信する（ステップＳ５２４）。図３に例示した場合、このステップＳ５２４の動作において、コンテンツＩＤが「ＢＢ」であるサブコンテンツＳ１の公開メッセージにはコンテンツＩＤ「ＡＡ」が含まれる。このコンテンツＩＤは、サブコンテンツＳ１のインデックス情報の転送先をコンテンツＩＤが「ＡＡ」であるキーコンテンツＫ１のルートノードとする旨の情報である。サブコンテンツＳ１の公開メッセージはルートノードＲ−Ｂ宛てに送信される。またコンテンツＩＤが「ＣＣ」であるサブコンテンツＳ２の公開メッセージにもコンテンツＩＤ「ＡＡ」が含まれる。このコンテンツＩＤは、コンテンツＩＤが「ＣＣ」であるサブコンテンツＳ２のインデックス情報の転送先もコンテンツＩＤが「ＡＡ」であるキーコンテンツＫ１のルートノードとする旨の情報である。コンテンツＩＤが「ＣＣ」であるサブコンテンツの公開メッセージはルートノードＲ−Ｃ宛てに送信される。さらにコンテンツＩＤが「ＥＥ」であるサブコンテンツＳ３の公開メッセージにはコンテンツＩＤ「ＤＤ」が含まれる。このコンテンツＩＤは、コンテンツＩＤが「ＥＥ」であるサブコンテンツＳ３のインデックス情報の転送先をコンテンツＩＤが「ＤＤ」であるキーコンテンツＫ２のルートノードとする旨の情報である。コンテンツＩＤが「ＥＥ」であるサブコンテンツの公開メッセージはルートノードＲ−Ｅ宛てに送信される。これら転送先を示すコンテンツＩＤを用いて、後のステップＳ４０の動作において、制御部２１は各インデックス情報を転送する。この結果、図３に例示したように、各キーコンテンツＫ１およびＫ２のルートノードに、各キーコンテンツＫ１およびＫ２に対応する集約インデックス情報が記憶される。その後制御部２１はステップＳ５０４の動作に移行する。ステップＳ５２２の判定においてインデックス情報の転送先が設定済みでない場合は（ステップＳ５２２；ＮＯ）、キーコンテンツ情報ＫＩが未だ取得されておらず且つ今回取得指示されたコンテンツがキーコンテンツでない場合となる。よって制御部２１は、そのインデックス情報の転送先をメタファイルＭＴのルートノードと設定する（ステップＳ５２３）。その後制御部２１はステップＳ５２４の動作に移行する。このステップＳ５２３の動作では、キーコンテンツ情報ＫＩが取得されていないためインデックス情報の転送先が不明となるので、メタファイルＭＴのルートノードをその転送先とするものである。これは、メタファイルＭＴのルートノードは、複合コンテンツの再生を所望するユーザノードからのクエリを受信する場合が他のルートノードよりも多いと考えられる。よって、集約インデックス情報をユーザノードに取得させる機会もより得られ易いと考えられるからである。
【００６０】
なお、本実施形態のログ情報として、各ユーザノードにおいて取得された後に実際に再生されたサブコンテンツに対応するログ情報を取得してもよい。この場合のログ情報には、本実施形態のログ情報に含まれる日時情報の代わりに、取得したサブコンテンツを再生した日時情報が含まれる。
【００６１】
また実施形態では、優先保持情報は、センタサーバＳＶから各ルートノードへ直接優先保持情報を送信するようにしてもよい。この場合センタサーバＳＶは、どのコンテンツのルートノードがどのノードＮｎであるかを管理しておく必要がある。
【００６２】
さらに、図５に示した動作に対応するプログラムは、例えばネットワーク８に接続された所定のサーバからセンタサーバＳＶにダウンロードされるようにしても良い。また同様に、図７および図８に示した動作に対応するプログラムは、例えばネットワーク８に接続された所定のサーバから各ノードＮｎにダウンロードされるようにしても良い。また上述のプログラムは、例えば記録媒体に記録されて当該記録媒体のドライブを介して実施形態におけるセンタサーバＳＶの制御部３５または、ノードＮｎの制御部２１に読み込まれて実行されるようにしても良い。
【産業上の利用可能性】
【００６３】
本発明はコンテンツを配信する配信システムの分野に利用することが可能であり、特にＰ２Ｐ型のネットワークシステムにおいて複合コンテンツを配信する場合に適用すれば特に顕著な効果が得られる。
【符号の説明】
【００６４】
９    オーバーレイネットワーク
Ｋ    キーコンテンツ
Ｎｘ    ユーザノード
ＳＲ    階層構造
Ｓ１、Ｓ２    サブコンテンツ
ＭＴ、ＭＴ’    メタファイル
ＫＩ    キーコンテンツ情報
ＮＢ    取得数情報
ＯＤ    取得順情報
【図１】
2012008848.tif 000003
【図２】
2012008848.tif 000004
【図３】
2012008848.tif 000005
【図４】
2012008848.tif 000006
【図５】
2012008848.tif 000007
【図６】
2012008848.tif 000008
【図７】
2012008848.tif 000009
【図８】
2012008848.tif 000010