(57)【要約】【課題】オーバーレイネットワークを介してサブコンテンツを円滑に配信することが可能な配信システム、コンテンツ保存方法、サーバ装置、及びコンテンツ保存プログラムを提供する。【課題を解決するための手段】本発明に係る配信システムは、複数の情報処理装置により構成される第１ストレージ領域であって第１コンテンツを保存するための第１ストレージ領域と、複数の情報処理装置により構成される第２ストレージ領域であって第２コンテンツを保存するための第２ストレージ領域と、を含み、第１ストレージ領域は第２ストレージ領域より大きいストレージ容量を有する保存手段と、複数の前記第２コンテンツの中の少なくとも何れか一つの第２コンテンツを、前記第２ストレージ領域のストレージ容量以下に収まるように前記第２ストレージ領域に保存させる制御手段と、を備える。【選択図】図６
2012068712.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して互いに通信可能な複数の情報処理装置に複数のコンテンツが分散保存され、前記複数の情報処理装置より構成されるオーバーレイネットワークを介して前記コンテンツが配信される配信システムにおいて、
前記コンテンツには、前記オーバーレイネットワークを介して、前記配信システムで主として配信される第１コンテンツと、前記オーバーレイネットワークを介して、前記第１コンテンツとは異なるコンテンツとして配信される第２コンテンツと、があり、
前記複数の情報処理装置により構成される第１ストレージ領域であって前記第１コンテンツを保存するための第１ストレージ領域と、前記複数の情報処理装置により構成される第２ストレージ領域であって前記第２コンテンツを保存するための第２ストレージ領域と、を含み、前記第１ストレージ領域は前記第２ストレージ領域より大きいストレージ容量を有する保存手段と、
複数の前記第２コンテンツの中の少なくとも何れか一つの第２コンテンツを、前記第２ストレージ領域のストレージ容量以下に収まるように前記第２ストレージ領域に保存させる制御手段と、
を備えることを特徴とする配信システム。
【請求項２】
前記制御手段は、前記第２コンテンツを保存するサーバ装置に備えられ、
前記サーバ装置の前記制御手段は、前記第２コンテンツを保存するための空き領域を確認する確認情報を所定の情報処理装置へ送信する第１送信手段を備え、
前記情報処理装置は、
前記保存手段を構成する第１記憶手段と、
前記確認情報が受信された場合に、前記第１記憶手段に前記第２コンテンツを保存するための空き領域があるか否かを判定する判定手段と、
を備え、
前記判定手段により前記空き領域があると判定された場合に、前記制御手段は、前記空き領域を確認した情報処理装置へ前記第２コンテンツを送信する制御を行うことを特徴とする請求項１に記載の配信システム。
【請求項３】
前記情報処理装置は、前記判定手段により前記空き領域があると判定された場合に、前記空き領域があることを示す空き領域情報を前記サーバ装置へ送信する第２送信手段を備え、
前記サーバ装置の前記制御手段は、前記空き領域情報が受信された場合に、前記空き領域を確認した情報処理装置へ送信する前記第２コンテンツを決定する決定手段を備えることを特徴とする請求項２に記載の配信システム。
【請求項４】
前記情報処理装置には１以上の端末装置が通信手段を介して接続されており、
前記情報処理装置は、前記端末装置のユーザの属性を示す属性情報を取得する第１取得手段を備え、
前記第２送信手段は、前記第１取得手段により取得された属性情報を含む空き領域情報を前記サーバ装置へ送信し、
前記サーバ装置の前記決定手段は、前記空き領域情報が受信された場合に、前記空き領域情報に含まれる前記属性情報に対応する前記第２コンテンツを決定することを特徴とする請求項３に記載の配信システム。
【請求項５】
前記サーバ装置の前記制御手段は、前記オーバーレイネットワークに新たに保存させる前記第２コンテンツを保存するための空き領域がある情報処理装置がないと判定した場合に、前記オーバーレイネットワークに既に保存されている前記第２コンテンツの所在を管理している情報処理装置へ既に保存されている前記第２コンテンツの削除を要求する第１削除要求情報を送信する第３送信手段を備え、
前記第２コンテンツの所在を管理している情報処理装置は、
前記第２コンテンツを保存している情報処理装置の所在を示す所在情報を記憶する第２記憶手段と、
前記第１削除要求情報が受信された場合に、前記第２記憶手段に複数の前記所在情報が記憶されている場合には、前記複数の前記所在情報の中から何れか１以上の前記所在情報を取得する第２取得手段と、
前記第２取得手段により取得された前記所在情報に対応する情報処理装置へ前記第２コンテンツの削除を要求する第２削除要求情報を送信する第４送信手段と、
を備え、
前記第２コンテンツを保存している情報処理装置は、
前記保存手段を構成する第３記憶手段と、
前記第２削除要求情報が受信された場合に、前記第３記憶手段から前記第２削除要求情報に示される第２コンテンツを削除する削除手段と、
を備えることを特徴とする請求項２乃至４の何れか一項に記載の配信システム。
【請求項６】
前記情報処理装置には１以上の端末装置が通信手段を介して接続されており、
前記情報処理装置は、
前記端末装置のユーザの属性を示す属性情報を取得する第３取得手段と、
前記第３取得手段により取得された前記属性情報に対応する前記第２コンテンツの送信を要求する送信要求情報を、前記属性情報を管理する情報処理装置へ送信する第５送信手段と、
を備え、
前記制御手段は、前記属性情報を管理する情報処理装置に備えられ、
前記属性情報を管理する情報処理装置は、前記属性情報に対応する複数の前記第２コンテンツ毎の優先度であって、前記オーバーレイネットワークを介して配信する前記優先度を示す情報を記憶する第４記憶手段を備え、
前記送信要求情報が受信された場合に、前記制御手段は、前記属性情報に対応する複数の前記第２コンテンツの中で前記優先度が高い第２コンテンツを、前記送信要求情報を送信した情報処理装置へ送信する制御を行うことを特徴とする請求項１から請求項５のいずれか一項に記載の配信システム。
【請求項７】
ネットワークを介して互いに通信可能な複数の情報処理装置に複数のコンテンツが分散保存され、前記複数の情報処理装置より構成されるオーバーレイネットワークを介して前記コンテンツが配信される配信システムにおけるコンテンツ保存方法であって、
前記コンテンツには、前記オーバーレイネットワークを介して、前記配信システムで主として配信される第１コンテンツと、前記オーバーレイネットワークを介して、前記第１コンテンツとは異なるコンテンツとして配信される第２コンテンツと、があり、
前記配信システムは、前記複数の情報処理装置により構成される第１ストレージ領域であって前記第１コンテンツを保存するための第１ストレージ領域と、前記複数の情報処理装置により構成される第２ストレージ領域であって前記第２コンテンツを保存するための第２ストレージ領域と、を含み、前記第１ストレージ領域は前記第２ストレージ領域より大きいストレージ容量を有する保存手段を備え、
前記コンテンツ保存方法は、複数の前記第２コンテンツの中の少なくとも何れか一つの第２コンテンツを、前記第２ストレージ領域のストレージ容量以下に収まるように前記第２ストレージ領域に保存させることを特徴とするコンテンツ保存方法。
【請求項８】
ネットワークを介して互いに通信可能な複数の情報処理装置に複数のコンテンツが分散保存され、前記複数の情報処理装置より構成されるオーバーレイネットワークを介して前記コンテンツが配信される配信システムであって、
前記コンテンツには、前記オーバーレイネットワークを介して、前記配信システムで主として配信される第１コンテンツと、前記オーバーレイネットワークを介して、前記第１コンテンツとは異なるコンテンツとして配信される第２コンテンツと、があり、
前記複数の情報処理装置により構成される第１ストレージ領域であって前記第１コンテンツを保存するための第１ストレージ領域と、前記複数の情報処理装置により構成される第２ストレージ領域であって前記第２コンテンツを保存するための第２ストレージ領域と、を含み、前記第１ストレージ領域は前記第２ストレージ領域より大きいストレージ容量を有する保存手段を備えた前記配信システムのサーバ装置において、
複数の前記第２コンテンツの中の少なくとも何れか一つの第２コンテンツを、前記第２ストレージ領域のストレージ容量以下に収まるように前記第２ストレージ領域に保存させる制御手段を備えることを特徴とするサーバ装置。
【請求項９】
ネットワークを介して互いに通信可能な複数の情報処理装置に複数のコンテンツが分散保存され、前記複数の情報処理装置より構成されるオーバーレイネットワークを介して前記コンテンツが配信される配信システムにおいて、
前記コンテンツには、前記オーバーレイネットワークを介して、前記配信システムで主として配信される第１コンテンツと、前記オーバーレイネットワークを介して、前記第１コンテンツとは異なるコンテンツとして配信される第２コンテンツと、があり、
前記配信システムは、前記複数の情報処理装置により構成される第１ストレージ領域であって前記第１コンテンツを保存するための第１ストレージ領域と、前記複数の情報処理装置により構成される第２ストレージ領域であって前記第２コンテンツを保存するための第２ストレージ領域と、を含み、前記第１ストレージ領域は前記第２ストレージ領域より大きいストレージ容量を有する保存手段を備え、
コンピュータに、複数の前記第２コンテンツの中の少なくとも何れか一つの第２コンテンツを、前記第２ストレージ領域のストレージ容量以下に収まるように前記第２ストレージ領域に保存させるステップを実行させるためのコンテンツ保存プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））型の配信システムの技術分野に関する。
【背景技術】
【０００２】
近年、ピアツーピア型の配信システムが知られている。ピアツーピア型の配信システムでは、複数のノード装置により構成されるオーバーレイネットワークに複数のコンテンツデータが分散保存されている。そして、オーバーレイネットワークを介してコンテンツデータが配信されるようになっている。コンテンツデータを、以下、「コンテンツ」という。このようなピアツーピア型の配信システムでは、クライアント・サーバ型の配信システムのようなサーバへの負荷集中を軽減することができる。また、オーバーレイネットワークに分散保存されたコンテンツの所在は、例えば特許文献１に開示されるような分散ハッシュテーブルを用いたルーティングテーブルを利用して効率良く検索可能になっている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１９７４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、ピアツーピア型の配信システムでは、オーバーレイネットワークを介して、配信システムで主として配信されるメインコンテンツの他に、オーバーレイネットワークを介して、メインコンテンツとは異なるサブコンテンツを配信したいという要求がある。このとき、オーバーレイネットワークを介してメインコンテンツを円滑に配信するために、配信システム全体でのメインコンテンツのストレージ容量はサブコンテンツのストレージ容量より大きく設定する必要がある。しかしながら、この場合、サブコンテンツのストレージ容量ではオーバーレイネットワークを介して円滑に配信することが可能な数のサブコンテンツを担保することが困難であった。
【０００５】
そこで、本発明は、以上の点等に鑑みてなされたものであり、オーバーレイネットワークを介してサブコンテンツを円滑に配信することが可能な配信システム、コンテンツ保存方法、サーバ装置、及びコンテンツ保存プログラムを提供すること等を課題とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置に複数のコンテンツが分散保存され、前記複数の情報処理装置より構成されるオーバーレイネットワークを介して前記コンテンツが配信される配信システムにおいて、前記コンテンツには、前記オーバーレイネットワークを介して、前記配信システムで主として配信される第１コンテンツと、前記オーバーレイネットワークを介して、前記第１コンテンツとは異なるコンテンツとして配信される第２コンテンツと、があり、前記複数の情報処理装置により構成される第１ストレージ領域であって前記第１コンテンツを保存するための第１ストレージ領域と、前記複数の情報処理装置により構成される第２ストレージ領域であって前記第２コンテンツを保存するための第２ストレージ領域と、を含み、前記第１ストレージ領域は前記第２ストレージ領域より大きいストレージ容量を有する保存手段と、複数の前記第２コンテンツの中の少なくとも何れか一つの第２コンテンツを、前記第２ストレージ領域のストレージ容量以下に収まるように前記第２ストレージ領域に保存させる制御手段と、を備えることを特徴とする。
【０００７】
請求項２に記載の発明は、請求項１に記載の配信システムにおいて、前記制御手段は、前記第２コンテンツを保存するサーバ装置に備えられ、前記サーバ装置の前記制御手段は、前記第２コンテンツを保存するための空き領域を確認する確認情報を所定の情報処理装置へ送信する第１送信手段を備え、前記情報処理装置は、前記保存手段を構成する第１記憶手段と、前記確認情報が受信された場合に、前記第１記憶手段に前記第２コンテンツを保存するための空き領域があるか否かを判定する判定手段と、を備え、前記判定手段により前記空き領域があると判定された場合に、前記制御手段は、前記空き領域を確認した情報処理装置へ前記第２コンテンツを送信する制御を行うことを特徴とする。
【０００８】
請求項３に記載の発明は、請求項２に記載の配信システムにおいて、前記情報処理装置は、前記判定手段により前記空き領域があると判定された場合に、前記空き領域があることを示す空き領域情報を前記サーバ装置へ送信する第２送信手段を備え、前記サーバ装置の前記制御手段は、前記空き領域情報が受信された場合に、前記空き領域を確認した情報処理装置へ送信する前記第２コンテンツを決定する決定手段を備えることを特徴とする。
【０００９】
請求項４に記載の発明は、請求項３に記載の配信システムにおいて、前記情報処理装置には１以上の端末装置が通信手段を介して接続されており、前記情報処理装置は、前記端末装置のユーザの属性を示す属性情報を取得する第１取得手段を備え、前記第２送信手段は、前記第１取得手段により取得された属性情報を含む空き領域情報を前記サーバ装置へ送信し、前記サーバ装置の前記決定手段は、前記空き領域情報が受信された場合に、前記空き領域情報に含まれる前記属性情報に対応する前記第２コンテンツを決定することを特徴とする。
【００１０】
請求項５に記載の発明は、請求項２乃至４の何れか一項に記載の配信システムにおいて、前記サーバ装置の前記制御手段は、前記オーバーレイネットワークに新たに保存させる前記第２コンテンツを保存するための空き領域がある情報処理装置がないと判定した場合に、前記オーバーレイネットワークに既に保存されている前記第２コンテンツの所在を管理している情報処理装置へ既に保存されている前記第２コンテンツの削除を要求する第１削除要求情報を送信する第３送信手段を備え、前記第２コンテンツの所在を管理している情報処理装置は、前記第２コンテンツを保存している情報処理装置の所在を示す所在情報を記憶する第２記憶手段と、前記第１削除要求情報が受信された場合に、前記第２記憶手段に複数の前記所在情報が記憶されている場合には、前記複数の前記所在情報の中から何れか１以上の前記所在情報を取得する第２取得手段と、前記第２取得手段により取得された前記所在情報に対応する情報処理装置へ前記第２コンテンツの削除を要求する第２削除要求情報を送信する第４送信手段と、を備え、前記第２コンテンツを保存している情報処理装置は、前記保存手段を構成する第３記憶手段と、前記第２削除要求情報が受信された場合に、前記第３記憶手段から前記第２削除要求情報に示される第２コンテンツを削除する削除手段と、を備えることを特徴とする。
【００１１】
請求項６に記載の発明は、請求項１から請求項５のいずれか一項に記載の配信システムにおいて、請求項１に記載の配信システムにおいて、前記情報処理装置には１以上の端末装置が通信手段を介して接続されており、前記情報処理装置は、前記端末装置のユーザの属性を示す属性情報を取得する第３取得手段と、前記第３取得手段により取得された前記属性情報に対応する前記第２コンテンツの送信を要求する送信要求情報を、前記属性情報を管理する情報処理装置へ送信する第５送信手段と、を備え、前記制御手段は、前記属性情報を管理する情報処理装置に備えられ、前記属性情報を管理する情報処理装置は、前記属性情報に対応する複数の前記第２コンテンツ毎の優先度であって、前記オーバーレイネットワークを介して配信する前記優先度を示す情報を記憶する第４記憶手段を備え、前記送信要求情報が受信された場合に、前記制御手段は、前記属性情報に対応する複数の前記第２コンテンツの中で前記優先度が高い第２コンテンツを、前記送信要求情報を送信した情報処理装置へ送信する制御を行うことを特徴とする。
【００１２】
請求項７に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置に複数のコンテンツが分散保存され、前記複数の情報処理装置より構成されるオーバーレイネットワークを介して前記コンテンツが配信される配信システムにおけるコンテンツ保存方法であって、前記コンテンツには、前記オーバーレイネットワークを介して、前記配信システムで主として配信される第１コンテンツと、前記オーバーレイネットワークを介して、前記第１コンテンツとは異なるコンテンツとして配信される第２コンテンツと、があり、前記配信システムは、前記複数の情報処理装置により構成される第１ストレージ領域であって前記第１コンテンツを保存するための第１ストレージ領域と、前記複数の情報処理装置により構成される第２ストレージ領域であって前記第２コンテンツを保存するための第２ストレージ領域と、を含み、前記第１ストレージ領域は前記第２ストレージ領域より大きいストレージ容量を有する保存手段を備え、前記コンテンツ保存方法は、複数の前記第２コンテンツの中の少なくとも何れか一つの第２コンテンツを、前記第２ストレージ領域のストレージ容量以下に収まるように前記第２ストレージ領域に保存させることを特徴とするコンテンツ保存方法である。
【００１３】
請求項８に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置に複数のコンテンツが分散保存され、前記複数の情報処理装置より構成されるオーバーレイネットワークを介して前記コンテンツが配信される配信システムであって、前記コンテンツには、前記オーバーレイネットワークを介して、前記配信システムで主として配信される第１コンテンツと、前記オーバーレイネットワークを介して、前記第１コンテンツとは異なるコンテンツとして配信される第２コンテンツと、があり、前記配信システムは、前記複数の情報処理装置により構成される第１ストレージ領域であって前記第１コンテンツを保存するための第１ストレージ領域と、前記複数の情報処理装置により構成される第２ストレージ領域であって前記第２コンテンツを保存するための第２ストレージ領域と、を含み、前記第１ストレージ領域は前記第２ストレージ領域より大きいストレージ容量を有する保存手段を備えた前記配信システムのサーバ装置において、複数の前記第２コンテンツの中の少なくとも何れか一つの第２コンテンツを、前記第２ストレージ領域のストレージ容量以下に収まるように前記第２ストレージ領域に保存させる制御手段を備えることを特徴とする。
【００１４】
請求項９に記載の発明は、ネットワークを介して互いに通信可能な複数の情報処理装置に複数のコンテンツが分散保存され、前記複数の情報処理装置より構成されるオーバーレイネットワークを介して前記コンテンツが配信される配信システムにおいて、前記コンテンツには、前記オーバーレイネットワークを介して、前記配信システムで主として配信される第１コンテンツと、前記オーバーレイネットワークを介して、前記第１コンテンツとは異なるコンテンツとして配信される第２コンテンツと、があり、前記配信システムは、前記複数の情報処理装置により構成される第１ストレージ領域であって前記第１コンテンツを保存するための第１ストレージ領域と、前記複数の情報処理装置により構成される第２ストレージ領域であって前記第２コンテンツを保存するための第２ストレージ領域と、を含み、前記第１ストレージ領域は前記第２ストレージ領域より大きいストレージ容量を有する保存手段を備え、コンピュータに、複数の前記第２コンテンツの中の少なくとも何れか一つの第２コンテンツを、前記第２ストレージ領域のストレージ容量以下に収まるように前記第２ストレージ領域に保存させるステップを実行させるためのコンテンツ保存プログラムである。
【発明の効果】
【００１５】
請求項１、７乃至９に記載の発明によれば、複数の第２コンテンツの中の少なくとも何れか一つの第２コンテンツが第２ストレージ領域のストレージ容量以下に収まるように保存される。そのため、ストレージ容量が小さい中で必要な数の第２コンテンツを担保することが可能となる。その結果、オーバーレイネットワークを介して第２コンテンツを円滑に配信することができる。
【００１６】
請求項２に記載の発明によれば、空き領域を確認する確認情報を送信することで前記第２コンテンツを保存するための空き領域がある情報処理装置を特定することができる。その結果、第２コンテンツを迅速に情報処理装置に保存させることができる。
【００１７】
請求項３に記載の発明によれば、空き領域を確認した情報処理装置へ保存させる前記第２コンテンツを迅速に決定することができる。
【００１８】
請求項４に記載の発明によれば、空き領域を確認した情報処理装置へ保存させる前記第２コンテンツとして、端末装置のユーザの属性に合った第２コンテンツを決定することができる。
【００１９】
請求項５に記載の発明によれば、重複する複数の第２コンテンツの少なくとも一つを第２ストレージ領域から削除することができる。また、第２コンテンツを保存させる情報処理装置を迅速に確保することができる。
【００２０】
請求項６に記載の発明によれば、端末装置のユーザの属性に合った第２コンテンツで、なおかつ第２コンテンツの提供者がユーザに視聴させたい第２コンテンツを情報処理装置に保存させることができる。
【図面の簡単な説明】
【００２１】
【図１】本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。
【図２】（Ａ）は、サブコンテンツ管理サーバＳＳの概要構成例を示すブロック図である。（Ｂ）は、ノードＮｎの概要構成例を示すブロック図である。
【図３】サブコンテンツ管理サーバＳＳの制御部１における処理を示すフローチャートである。
【図４】ノードＮｎの制御部１１における処理を示すフローチャートである。
【図５】ノードＮｎの制御部１１における処理を示すフローチャートである。
【図６】（Ａ）は、空き領域確認メッセージが複数のノードＮｎ間を転送される様子の一例を示す図である。（Ｂ）は、空き領域確認メッセージが複数のノードＮｎ間を転送される様子の別の例を示す図である。
【図７】（Ａ）は、重複サブコンテンツの削除要求メッセージがノードＮｎ間を送信される様子の一例を示す図である。（Ｂ）は、サブコンテンツ送信要求メッセージがノードＮｎ間を送信される様子の一例を示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに本発明を適用した場合の実施形態である。
【００２３】
［１．コンテンツ配信システムの構成及び動作概要］
始めに、図１を参照して、本実施形態に係るコンテンツ配信システムの構成及び動作概要について説明する。図１は、本実施形態に係るコンテンツ配信システムの概要構成例を示す図である。図１に示すように、本実施形態に係るコンテンツ配信システムＳは、サブコンテンツ管理サーバＳＳ、ユーザ情報管理サーバＵＳ、及びノード装置Ｎｎ（ｎ＝１，２，３・・・ｊ）等により構成されている。サブコンテンツ管理サーバＳＳ、ユーザ情報管理サーバＵＳ、及びノード装置ＮｎはネットワークＮＷに接続されている。ネットワークＮＷは、インターネット等からなる。サブコンテンツ管理サーバＳＳは、本発明におけるサーバ装置の一例である。また、サブコンテンツ管理サーバＳＳは、コンテンツ配信システムＳにおいて、後述するサブコンテンツの保存制御を行うサーバである。また、ノード装置は、本発明における情報処理装置の一例である。なお、ノード装置を、以下、「ノード」という。
【００２４】
また、図１に示すように、コンテンツ配信システムＳには、複数の拠点Ｐｎ毎に拠点ネットワークＮＬｎが構築されている。この拠点の例としては、例えばカラオケ店舗、学校、会社、住宅、又はその他の施設等が挙げられる。拠点ネットワークＮＬｎは、例えば、通信手段としてのＬＡＮ（Local Area Network）等のプライベートネットワークである。また、各拠点ネットワークＮＬｎには、ノードＮｎと複数の視聴端末Ｔｎ−ｌ（ｌ＝１，２，３）とが接続されている。ノードＮｎは、同じ拠点ネットワークＮＬｎに接続されている視聴端末Ｔｎ−ｌへコンテンツを提供するエッジサーバとしての機能を有する。視聴端末Ｔｎ−ｌは、本発明における端末装置の一例である。
【００２５】
また、視聴端末Ｔｎ−ｌは、拠点ネットワークＮＬｎ及びネットワークＮＷを介してユーザ情報管理サーバＵＳへアクセス可能になっている。ユーザ情報管理サーバＵＳは、視聴端末Ｔｎ−ｌのユーザのユーザ情報を管理するサーバである。ユーザ情報は、予めユーザ情報管理サーバＵＳのデータベースに登録されるようになっている。また、ユーザ情報には、ユーザＩＤ、ユーザの属性を示す属性情報等が含まれる。ユーザＩＤは、ユーザを、複数のユーザの中から識別する固有の識別情報である。また、ユーザの属性としては、例えば、ユーザの好みのジャンル、ユーザの好みのアーティスト、ユーザの性別、及びユーザの年齢層等が挙げられる。そして、ユーザ情報管理サーバＵＳは、視聴端末Ｔｎ−ｌからのログイン要求に応じてログイン処理等を行う。なお、図１の例では、各拠点Ｐｎには夫々３つの視聴端末Ｔｎ−ｌが設置されている例を示しているが、視聴端末Ｔｎ−ｌの数は限定されるものではない。例えば、拠点Ｐ１では視聴端末Ｔ１−ｌの数が１０台である一方、拠点Ｐ２では視聴端末Ｔ２−ｌの数が２台であってもよい。
【００２６】
また、図１に示すように、コンテンツ配信システムＳには、ネットワークＮＷを介して互いに通信可能な複数のノードＮｎ（ｎ＝１，２，３・・・ｋ）の参加によりオーバーレイネットワークＯＮが構成されている。オーバーレイネットワークＯＮは、仮想的なリンクを構成する論理的なネットワークである。オーバーレイネットワークＯＮは、特定のアルゴリズム、例えば、分散ハッシュテーブルを利用したアルゴリズムにより実現される。なお、分散ハッシュテーブルを、以下、「ＤＨＴ（Distributed Hash Table）」という。ここで、オーバーレイネットワークＯＮに参加するとは、ＤＨＴを用いたルーティングテーブルに基づいてオーバーレイネットワークＯＮを介して他のノードＮｎとの間で各種メッセージを送受信できる状態に稼動することをいう。なお、ＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００２７】
また、オーバーレイネットワークＯＮに参加している各ノードＮｎにはノードＩＤが付与されている。このノードＩＤは、ノードＮｎを、オーバーレイネットワークＯＮに参加しているノードＮｎの中から識別する固有の識別情報である。また、オーバーレイネットワークＯＮに参加している複数のノードＮｎには、内容の異なる様々なコンテンツが分散保存されている。言い換えれば、オーバーレイネットワークＯＮに参加している複数のノードＮｎによりコンテンツを保存するための一つのストレージが構成される。このストレージは、コンテンツ配信システムＳ全体で管理される保存手段の一例である。なお、コンテンツを保存しているノードＮｎを、以下、「コンテンツ保持ノード」という。また、オーバーレイネットワークＯＮでコンテンツ保持ノードに保存されている各コンテンツには、コンテンツＩＤが付与されている。コンテンツＩＤは、コンテンツを、オーバーレイネットワークＯＮでコンテンツ保持ノードに保存されるコンテンツの中から識別する固有の識別情報である。なお、ノードＩＤ及びコンテンツＩＤは、例えば、オーバーレイネットワークＯＮで共通のハッシュ関数により生成される。また、コンテンツの所在を示す情報は、インデックス情報として、コンテンツの所在を管理しているノードＮｎに記憶される。コンテンツの所在を管理しているノードＮｎを、以下、「コンテンツのルートノード」という。インデックス情報には、コンテンツを保存しているコンテンツ保持ノードのノード情報と、コンテンツのコンテンツＩＤとの組が含まれる。ノード情報には、例えば、コンテンツ保持ノードのＩＰアドレス、ポート番号、及びノードＩＤが含まれる。コンテンツのルートノードは、例えば、コンテンツＩＤと最も近いノードＩＤが割り当てられたノードＮｎであるように定められる。コンテンツＩＤと最も近いノードＩＤとは、例えば、ＩＤの上位桁が最も多く一致するノードＩＤである。そして、ノードＮｎが、あるコンテンツをコンテンツ保持ノードから取得する場合、このコンテンツの所在をコンテンツのルートノードに問い合わせる。なお、コンテンツの所在をルートノードに問い合わせる処理は、例えば特開２００７−０５３６６２号公報等で公知であるので、詳しい説明を省略する。
【００２８】
ところで、本実施形態において、コンテンツには、オーバーレイネットワークＯＮを介してコンテンツ配信システムＳで主として配信されるメインコンテンツと、オーバーレイネットワークＯＮを介してメインコンテンツとは異なるサブコンテンツと、がある。ここで、オーバーレイネットワークＯＮを介して配信されるコンテンツとは、オーバーレイネットワークＯＮに参加しているノードＮｎ間で送受信されるコンテンツを意味する。メインコンテンツは、本発明における第１コンテンツの一例である。例えば拠点Ｐｎがカラオケ店舗である場合、メインコンテンツとしては視聴端末Ｔｎ−ｌにより再生されるカラオケ用のコンテンツが挙げられる。また、例えば拠点Ｐｎが学校である場合、メインコンテンツとしては視聴端末Ｔｎ−ｌにより再生される教材用のコンテンツが挙げられる。また、例えば拠点Ｐｎが会社である場合、メインコンテンツとしては視聴端末Ｔｎ−ｌにより再生される研修用のコンテンツが挙げられる。また、例えば拠点Ｐｎが住宅である場合、メインコンテンツとしては視聴端末Ｔｎ−ｌにより再生される放送番組用のコンテンツが挙げられる。なお、メインコンテンツは、コンテンツ配信システムＳの運用者または管理者により、コンテンツ配信システムＳを用いて配信されるコンテンツであってもよい。一方、サブコンテンツは、本発明における第２コンテンツの一例である。サブコンテンツの例としては、例えば、メインコンテンツの再生中又は再生の合間に再生される広告用のコンテンツが挙げられる。広告用のコンテンツには、ＣＭ（commercial message）用のコンテンツが含まれる。なお、サブコンテンツは、コンテンツ配信システムＳの拠点Ｐｎの視聴端末Ｔｎ−ｌ、またはその他のユーザ端末から投稿される動画等のコンテンツであってもよい。言い換えれば、サブコンテンツは、コンテンツ配信システムＳのユーザにより投稿されるコンテンツであってもよい。
【００２９】
また、コンテンツ配信システムＳ全体で管理されるストレージは、メインコンテンツを保存するための第１ストレージ領域と、サブコンテンツを保存するための第２ストレージ領域と、を含む。つまり、第１ストレージ領域及び第２ストレージ領域は、夫々、複数のノードＮｎにより構成される。また、第１ストレージ領域は第２ストレージ領域より大きいストレージ容量を有する。一例として、第１ストレージ領域のストレージ容量は、第２ストレージ領域のストレージ容量の数百倍以上である。
【００３０】
ここで、第１ストレージ領域のストレージ容量は、オーバーレイネットワークＯＮに参加している各ノードＮｎに備えられるメインコンテンツ記憶領域により構成される。言い換えれば、第１ストレージ領域のストレージ容量は、オーバーレイネットワークＯＮに参加している各ノードＮｎに備えられるメインコンテンツ記憶領域の記憶容量の総和である。メインコンテンツ記憶領域とは、メインコンテンツを保存するためにノードＮｎの記憶部に割り当てられた記憶領域である。一方、第２ストレージ領域のストレージ容量は、オーバーレイネットワークＯＮに参加している各ノードＮｎに備えられるサブコンテンツ記憶領域の記憶容量の総和である。サブコンテンツ記憶領域とは、サブコンテンツを保存するためにノードＮｎの記憶部に割り当てられた記憶領域である。
【００３１】
そして、本実施形態においては、ストレージ容量の少ない第２ストレージ領域を用いて複数種類あるサブコンテンツを円滑に配信する。そのため、コンテンツ配信システムＳでは、複数種類のサブコンテンツ中の少なくとも何れか一つのサブコンテンツを、第２ストレージ領域のストレージ容量以下に収まるように第２ストレージ領域に保存させるようになっている。言い換えれば、第２ストレージ領域に重複して保存されるサブコンテンツが少なくなるように制御される。このような制御の詳細は後述する。
【００３２】
［２．サブコンテンツ管理サーバＳＳの構成及び機能］
次に、図２（Ａ）を参照して、サブコンテンツ管理サーバＳＳの構成及び機能について説明する。図２（Ａ）は、サブコンテンツ管理サーバＳＳの概要構成例を示すブロック図である。サブコンテンツ管理サーバＳＳは、図２（Ａ）に示すように、制御部１、記憶部２、及び通信部３等を備えて構成される。制御部１、記憶部２、及び通信部３はバス４を介して相互に接続されている。
【００３３】
記憶部２は、例えばハードディスクドライブ等から構成される。記憶部２には、オペレーティングシステム、及びコンテンツ保存プログラム等が記憶されている。なお、コンテンツ保存プログラムは、例えば、ネットワークＮＷに接続された所定のサーバからダウンロードされるようにしてもよい。或いは、コンテンツ保存プログラムは、例えば、記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしてもよい。
【００３４】
また、記憶部２に設けられたサブコンテンツ記憶領域には、サブコンテンツが記憶されている。また、記憶部２には、未配信リストのデータが記憶されている。未配信リストは、アップロードされたサブコンテンツの中で未だオーバーレイネットワークＯＮに投入されていないサブコンテンツの情報を登録するリストである。ここで、「サブコンテンツの投入」とは、オーバーレイネットワークＯＮで配信されるコンテンツとして新たなサブコンテンツをノードＮｎに保存させることをいう。未配信リストに登録されるサブコンテンツの情報には、例えばサブコンテンツＳＣｘのファイルパス、サブコンテンツのコンテンツＩＤ、サブコンテンツの名称、及びサブコンテンツの属性を示す属性情報等が含まれる。サブコンテンツのファイルパスは、サブコンテンツ記憶領域におけるサブコンテンツの保存場所を示す情報である。サブコンテンツの属性としては、例えば、サブコンテンツに関連するジャンル、サブコンテンツに関連するアーティスト、サブコンテンツを視聴するユーザの性別、及びサブコンテンツを視聴するユーザの年齢層等が挙げられる。更に、記憶部２には、参加ノードリストのデータが記憶されている。参加ノードリストは、オーバーレイネットワークＯＮに参加している所定数のノードＮｎのノード情報を登録するリストである。
【００３５】
通信部３は、ネットワークＮＷを通じてノードＮｎ等との間の通信制御を行う。
【００３６】
制御部１は、演算機能を有するＣＰＵ，作業用ＲＡＭ，及びＲＯＭ等から構成される。制御部１は、本発明における制御手段、第１送信手段、決定手段、及び第３送信手段の一例である。また、制御部１は、時計機能及びタイマ機能を有する。制御部１は、ＣＰＵが記憶部２等に記憶されたプログラムを読み出して実行することにより、後述する処理を行う。
【００３７】
［３．ノードＮｎの構成及び機能等］
次に、図２（Ｂ）を参照して、ノードＮｎの構成及び機能について説明する。図２（Ｂ）は、ノードＮｎの概要構成例を示すブロック図である。ノードＮｎは、図２（Ｂ）に示すように、制御部１１、記憶部１２、通信部１３ａ、通信部１３ｂ、及びバッファメモリ１４等を備えて構成される。制御部１１、記憶部１２、通信部１３ａ、通信部１３ｂ、及びバッファメモリ１４はバス１５を介して相互に接続されている。なお、記憶部１２は、本発明の保存手段を構成する第１〜第４記憶手段の一例である。本実施形態において、ノードＮｎは、ネットワークＮＷと拠点ネットワークＮＬｎとの間でＩＰ（Internet Protocol）パケットを中継する中継機器である。この中継機器は、例えばルータ又はＬ３スイッチングハブ等である。なお、ノードＮｎは、サーバ又は端末であってもよい。
【００３８】
記憶部１２は、例えばハードディスクドライブ等から構成される。記憶部１２には、オペレーティングシステム、ＩＰパケット中継処理プログラム、及びノード処理プログラム等が記憶されている。なお、ノード処理プログラム等は、例えば、ネットワークＮＷに接続された所定のサーバからダウンロードされるようにしてもよい。或いは、ノード処理プログラム等は、例えば、記録媒体に記録されて記録媒体のドライブを介して読み込まれるようにしてもよい。
【００３９】
また、記憶部１２には、オーバーレイネットワークＯＮで使用されるＤＨＴを用いたルーティングテーブル等が記憶されている。ＤＨＴを用いたルーティングテーブルには、複数のノードＮｎのノード情報が登録されている。このノード情報に含まれるＩＰアドレスは、本発明における「ネットワーク上での所在を示す所在情報」の一例である。また、記憶部１２には、メインコンテンツ記憶領域とサブコンテンツ記憶領域とが設けられている。メインコンテンツ記憶領域には、メインコンテンツが保存される。サブコンテンツ記憶領域には、サブコンテンツが保存される。また、メインコンテンツ記憶領域はサブコンテンツ記憶領域より大きい記憶容量を有する。メインコンテンツ及びサブコンテンツには、夫々のコンテンツＩＤ、ファイルサイズ、名称、及び属性を示す属性情報等が付加されている。
【００４０】
また、記憶部１２には、ユーザリストのデータが記憶されている。ユーザリストは、視聴端末Ｔｎ−ｌを操作してログインしたユーザのユーザ情報を登録するリストである。ユーザ情報は、この記憶部１２を備えるノードＮｎと同じ拠点ネットワークＮＬｎに接続されている視聴端末Ｔｎ−ｌから取得される。また、記憶部１２には、ノードＮｎが設置される拠点Ｐｎにおける集合属性を示す集合属性情報が記憶されている。この集合属性は、ユーザリストに登録されたユーザの属性を集計することにより求められる。例えば、ユーザリストに登録される複数のユーザの属性が集計された場合、それらの属性の中で最も多い属性が集合属性となる。また、コンテンツのルートノードの記憶部１２には、保持ノードリストが記憶されている。保持ノードリストは、上述したインデックス情報等を登録するリストである。具体的には、保持ノードリストには、コンテンツのコンテンツＩＤと、コンテンツ保持ノードのノード情報と、コンテンツ保持ノードが設置される拠点Ｐｎにおける集合属性を示す集合属性情報と、が対応付けられて登録されている。
【００４１】
更に、本実施形態においては、オーバーレイネットワークＯＮに参加しているノードＮｎには、属性情報を管理するノードＮｎが存在する。属性情報を管理するノードＮｎを、以下、「属性情報のルートノード」という。ある属性情報のルートノードの記憶部１２には、その属性情報に対応するサブコンテンツリストが記憶されている。属性情報に対応するサブコンテンツリストは、ある属性を有するサブコンテンツの情報を登録するリストである。このサブコンテンツリストに登録されるサブコンテンツの情報には、例えばこのサブコンテンツの属性を示す属性情報、このサブコンテンツのコンテンツＩＤ、このサブコンテンツの名称、及びこのサブコンテンツの優先度等が含まれる。ここで、サブコンテンツの優先度は、オーバーレイネットワークＯＮを介して配信する優先度である。つまり、優先度が高いサブコンテンツほど、オーバーレイネットワークＯＮを介して配信することが望まれるコンテンツである。なお、属性情報のルートノードは、例えば属性情報に基づきハッシュ関数により生成された属性ＩＤと最も近いノードＩＤが割り当てられたノードＮｎであるように定められる。このハッシュ関数は、オーバーレイネットワークＯＮで共通のハッシュ関数である。
【００４２】
通信部１３ａは、ネットワークＮＷを通じてサブコンテンツ管理サーバＳＳ等との間の通信制御を行う。通信部１３ｂは、拠点ネットワークＮＬｎを通じて視聴端末Ｔｎ−ｌとの間の通信制御を行う。また、バッファメモリ１４は、通信部１３ａを介して受信されたコンテンツを一時的に蓄積する。
【００４３】
制御部１１は、演算機能を有するＣＰＵ，作業用ＲＡＭ，及びＲＯＭ等から構成される。制御部１１は、本発明における制御手段、判定手段、第２送信手段、第４及び第５送信手段、第１〜第３取得手段、及び削除手段の一例である。また、制御部１１は、時計機能及びタイマ機能を備える。そして、制御部１１は、ＣＰＵが記憶部１２等に記憶されたノード処理プログラムの実行により、後述する処理を行う。なお、制御部１１は、ＯＳＩ（Open Systems Interconnection）参照モデルの第３層であるネットワーク層において、他のルータ又はホストからのＩＰパケットを中継する機能を有する。ＩＰパケットを中継する機能は、公知のルータ又はＬ３スイッチングハブ等と同様であるので、詳しい説明を省略する。
【００４４】
［４．コンテンツ配信システムＳの動作］
次に、図３乃至図５等を参照して、本実施形態に係るコンテンツ配信システムＳの動作について説明する。図３は、サブコンテンツ管理サーバＳＳの制御部１における処理を示すフローチャートである。図４及び図５は、ノードＮｎの制御部１１における処理を示すフローチャートである。なお、以下の説明において、互いに異なる複数のサブコンテンツを区別する符号としてＳＣｘ（ｘ＝１，２，３・・・）を用いる。また、互いに異なる複数の属性を区別する符号としてＡｙ（ｙ＝１，２，３・・・）を用いる。また、互いに異なる複数の集合属性を区別する符号としてＡｚ（ｚ＝１，２，３・・・）を用いる。
【００４５】
先ず、図３に示す処理について説明する。図３に示す処理は、例えばサブコンテンツ管理サーバＳＳの電源オンにより開始される。図３に示す処理において、ステップＳ１では、サブコンテンツ管理サーバＳＳの制御部１は、サブコンテンツＳＣｘの登録要求があったか否かを判定する。例えば、サブコンテンツ管理サーバＳＳにネットワークＮＷを介してアクセスした端末から登録要求が受信された場合に、登録要求があったと判定される。ここで、端末としては、例えば、サブコンテンツの提供者や管理者の端末等が挙げられる。なお、サブコンテンツの提供者の端末には、視聴端末Ｔｎ−ｌが含まれる。そして、制御部１は、サブコンテンツＳＣｘの登録要求があったと判定した場合には（ステップＳ１：ＹＥＳ）、ステップＳ２に進む。一方、制御部１は、サブコンテンツＳＣｘの登録要求がないと判定した場合には（ステップＳ１：ＮＯ）、ステップＳ４に進む。
【００４６】
ステップＳ２では、制御部１は、登録要求をした端末からアップロードされたサブコンテンツＳＣｘを記憶部２のサブコンテンツ記憶領域に保存する。ここで、例えば、アップロードされたサブコンテンツＳＣｘを格納するファイルのヘッダには、サブコンテンツＳＣｘのコンテンツＩＤ、サブコンテンツＳＣｘのファイルサイズ、名称、及び属性Ａｙを示す属性情報が含まれている。なお、サブコンテンツＳＣｘのコンテンツＩＤは、このとき、制御部１により生成されるように構成してもよい。
【００４７】
次いで、制御部１は、保存されたサブコンテンツＳＣｘのファイルパス、コンテンツＩＤ、ファイルサイズ、名称、属性Ａｙを示す属性情報、及び現在の日付を示す日付情報を未配信リストに対応付けて登録し（ステップＳ３）、ステップＳ４に進む。なお、日付情報には、日だけでなく、時刻が含まれてもよい。
【００４８】
ステップＳ４では、制御部１は、サブコンテンツＳＣｘの配信契機になったか否かを判定する。例えば、制御部１は、例えば予め設定された時刻が到来した場合に、配信契機になったと判定される。そして、制御部１は、サブコンテンツＳＣｘの配信契機になったと判定した場合には（ステップＳ４：ＹＥＳ）、ステップＳ５に進む。一方、制御部１は、サブコンテンツＳＣｘの配信契機になっていないと判定した場合には（ステップＳ４：ＮＯ）、ステップＳ８に進む。なお、制御部１は、ステップＳ４の判定後、次回のサブコンテンツＳＣｘの配信契機になったか否かを判定するための時刻を例えば所定時間後に設定する。これにより、ステップＳ４の判定は、所定時間毎に行われることになる。
【００４９】
ステップＳ５では、制御部１は、未配信リストに、サブコンテンツＳＣｘの情報が登録されているか否かを判定する。そして、制御部１は、未配信リストに登録されていると判定した場合には（ステップＳ５：ＹＥＳ）、ステップＳ６に進む。一方、制御部１は、未配信リストに登録されていないと判定した場合には（ステップＳ５：ＮＯ）、ステップＳ８に進む。
【００５０】
ステップＳ６では、制御部１は、参加ノードリスト中から１以上のノードＮｎのノード情報を選択する。このノード情報は、参加ノードリストに登録されている複数のノード情報の中から例えばランダムに選択される。
【００５１】
次いで、制御部１は、上記ステップＳ６で選択されたノード情報に対応するノードＮｎへ、空き領域確認メッセージを送信する（ステップＳ７）。ここで、空き領域確認メッセージは、ノードＮｎに対してサブコンテンツＳＣｘを保存するための空き領域を確認するメッセージである。また、空き領域確認メッセージは、本発明における確認情報の一例である。また、空き領域確認メッセージには、例えば、サブコンテンツ管理サーバＳＳのＩＰアドレス、空きノードリスト、及びメッセージの転送許容回数を示す情報等が含まれている。空きノードリストは、サブコンテンツＳＣｘを保存するための空き領域を有するノードＮｎのノード情報を登録するリストである。空きノードリストには、空き領域確認メッセージが複数のノードＮｎにより転送される過程でノード情報が登録される。そのため、サブコンテンツ管理サーバＳＳから空き領域確認メッセージが送信される際には、空きノードリストにノード情報は登録されていない。また、メッセージの転送許容回数は、ノードＮｎによる空き領域確認メッセージの転送を許容する回数である。この転送許容回数は、空き領域確認メッセージがノードＮｎを転送される度に１ずつ減るようになっている。そして、転送許容回数が“０”になると、ノードＮｎは空き領域確認メッセージを転送することができなくなる。
【００５２】
なお、空き領域確認メッセージに、配信対象となるサブコンテンツＳＣｘのファイルサイズを含めるように構成してもよい。また、空き領域確認メッセージに、配信対象となるサブコンテンツＳＣｘの属性Ａｙを示す属性情報を含めるように構成してもよい。
【００５３】
ここで、ステップＳ８以降の処理を説明する前に、図４に示す処理について説明する。図４に示す処理は、ノードＮｎがオーバーレイネットワークＯＮに参加することにより開始される。図４に示す処理において、ステップＳ５１では、ノードＮｎの制御部１１は、拠点ネットワークＮＬｎを介して視聴端末Ｔｎ−ｌからログイン情報又はログアウト情報を受信したか否かを判定する。そして、制御部１１は、ログイン情報又はログアウト情報を受信したと判定した場合には（ステップＳ５１：ＹＥＳ）、ステップＳ５２に進む。一方、制御部１１は、ログイン情報又はログアウト情報を受信していないと判定した場合には（ステップＳ５１：ＮＯ）、ステップＳ５６に進む。ここで、ログイン情報は、例えば、視聴端末Ｔｎ−ｌのユーザがユーザ情報管理サーバＵＳにログインした時に、視聴端末Ｔｎ−ｌからユーザ情報管理サーバＵＳへ送信される。一方、ログアウト情報は、例えば、視聴端末Ｔｎ−ｌのユーザがユーザ情報管理サーバＵＳからログアウトした時に、視聴端末Ｔｎ−ｌからユーザ情報管理サーバＵＳへ送信される。ログイン情報及びログアウト情報には、夫々、ログインしたユーザのユーザ情報が含まれている。なお、ユーザ情報管理サーバＵＳは、ユーザの操作により視聴端末Ｔｎ−ｌからログイン要求を受けると、このログイン要求に応じてログイン処理を行う。ログイン処理では、ログイン要求に含まれるユーザＩＤがデータベースに登録されているか否かが判定される。そして、このユーザＩＤがデータベースに登録されていれば、ユーザのログインが許可される。これにより、このユーザのユーザ情報がユーザ情報管理サーバＵＳから視聴端末Ｔｎ−ｌへ送信されることになる。一方、ユーザ情報管理サーバＵＳは、ユーザの操作により視聴端末Ｔｎ−ｌからログアウト要求を受けると、このログアウト要求に応じてログアウト処理を行う。ログアウト処理では、ログアウト要求に含まれるユーザＩＤがデータベースに登録されているか否かが判定される。そして、このユーザＩＤがデータベースに登録されていれば、ユーザのログアウトが許可される。
【００５４】
ステップＳ５２では、制御部１１は、ユーザのログインであるか否かが判別される。上記ステップＳ５１でログイン情報が受信されていた場合、ユーザのログインであると判定される。一方、上記ステップＳ５１でログアウト情報が受信されていた場合、ユーザのログインでないと判定される。そして、制御部１１は、ユーザのログインであると判定した場合には（ステップＳ５２：ＹＥＳ）、ステップＳ５３に進む。一方、制御部１１は、ユーザのログインでないと判定した場合には（ステップＳ５２：ＮＯ）、ステップＳ５４に進む。
【００５５】
ステップＳ５３では、制御部１１は、ログイン情報に含まれるユーザ情報をユーザリストに登録する。つまり、ユーザリストに、ログインしたユーザのユーザＩＤ及びこのユーザの属性Ａｙを示す属性情報が登録される。一方、ステップＳ５４では、制御部１１は、ログアウト情報に含まれるユーザ情報をユーザリストから削除する。
【００５６】
次いで、制御部１１は、ユーザリストに登録されている属性情報に示される属性Ａｙを集計して集合属性Ａｚを求める（ステップＳ５５）。例えば、視聴端末Ｔ１−１のユーザＡの年齢層が「３０代」で、視聴端末Ｔ１−２のユーザＢの年齢層が「３０代」で、視聴端末Ｔ１−３のユーザＣの年齢層「４０代」であると仮定する。この場合、年齢層「３０代」という属性は、２人のユーザの属性であるので２ポイントが付与される。一方、年齢層「４０代」という属性には１ポイントが付与される。そして、付与されたポイントが最も高い年齢層「３０代」という属性が、この拠点Ｐ１における集合属性Ａｚとなる。こうして求められた集合属性を示す集合属性情報により、既に記憶部１２に記憶されている集合属性情報が更新され、ステップＳ５６に進む。
【００５７】
ステップＳ５６では、制御部１１は、空き領域確認メッセージを受信したか否かを判定する。そして、制御部１１は、空き領域確認メッセージを受信したと判定した場合には（ステップＳ５６：ＹＥＳ）、ステップＳ５７に進む。一方、制御部１１は、空き領域確認メッセージを受信していないと判定した場合には（ステップＳ５６：ＮＯ）、ステップＳ６２に進む。
【００５８】
空き領域確認メッセージが受信された場合に、制御部１１は、記憶部１２のサブコンテンツ記憶領域にサブコンテンツＳＣｘを保存するための空き領域があるか否かを判定する（ステップＳ５７）。例えば、予め設定された容量以上の空き領域がある場合に、空き領域があると判定される。また、空き領域確認メッセージに、サブコンテンツＳＣｘのファイルサイズが含まれている場合がある。この場合、サブコンテンツ記憶領域に、サブコンテンツＳＣｘのファイルサイズ以上の空き領域があれば、空き領域があると判定される。
【００５９】
なお、空き領域確認メッセージに、サブコンテンツＳＣｘの属性Ａｙを示す属性情報が含まれている場合がある。この場合、制御部１１は、サブコンテンツＳＣｘの属性Ａｙと、記憶部１２に記憶されている集合属性情報に示される集合属性Ａｚとを比較し、属性Ａｙと集合属性Ａｚとが一致するか否かを判定するように構成してもよい。そして、制御部１１は、属性Ａｙと集合属性Ａｚとが一致する場合に、空き領域があると判定する。ここで、属性Ａｙと集合属性Ａｚとが一致する場合には、属性Ａｙと集合属性Ａｚが完全に一致する場合と、属性Ａｙと集合属性Ａｚの一部が一致する場合と、が含まれる。
【００６０】
そして、制御部１１は、サブコンテンツ記憶領域にサブコンテンツＳＣｘを保存するための空き領域があると判定した場合には（ステップＳ５７：ＹＥＳ）、ステップＳ５８に進む。一方、制御部１１は、サブコンテンツ記憶領域にサブコンテンツＳＣｘを保存するための空き領域がないと判定した場合には（ステップＳ５７：ＮＯ）、ステップＳ５９に進む。
【００６１】
ステップＳ５８では、制御部１１は、空き領域確認メッセージに含まれる空きノードリストに、この制御部１１を備えるノードＮｎのノード情報、及び空き領域情報を追加登録し、ステップＳ５９に進む。ここで、空き領域情報は、空き領域があることを示す情報である。この空き領域情報には、例えば、空き領域の容量が含まれる。この容量は例えばバイトで表される。また、サブコンテンツＳＣｘのファイルサイズが決まっている場合がある。この場合、空き領域情報には、空き領域の数が含まれるように構成してもよい。空き領域の数とは、言い換えれば、サブコンテンツ記憶領域に保存可能なサブコンテンツＳＣｘの数である。なお、空き領域情報に、記憶部１２に記憶されている集合属性情報が登録されるように構成してもよい。
【００６２】
ステップＳ５９では、制御部１１は、空き領域確認メッセージを転送するか否かを判定する。例えば、制御部１１は、空き領域確認メッセージに含まれるメッセージの転送許容回数が“０”であるか否かを判定する。そして、制御部１１は、メッセージの転送許容回数が“０”でない場合、空き領域確認メッセージを転送すると判定する。
【００６３】
そして、制御部１１は、空き領域確認メッセージを転送すると判定した場合には（ステップＳ５９：ＹＥＳ）、ステップＳ６０に進む。一方、制御部１１は、空き領域確認メッセージを転送しないと判定した場合には（ステップＳ５９：ＮＯ）、ステップＳ６１に進む。
【００６４】
ステップＳ６０では、制御部１１は、上記ステップＳ５６で受信された空き領域確認メッセージを他のノードＮｎへ転送し、ステップＳ６２に進む。ここで、上記ステップＳ５８及びステップＳ５９の処理を経てステップＳ６０に進んだ場合、転送される空き領域確認メッセージには、上記ステップＳ５８で登録されたノードＮｎのノード情報及び空き領域情報が含まれる。また、転送される空き領域確認メッセージに含まれるメッセージの転送許容回数は“１”減算される。また、空き領域確認メッセージの転送先となるノードＮｎのＩＰアドレス及びポート番号は、例えばＤＨＴを用いたルーティングテーブルから例えばランダムに取得される。そして、制御部１１は、空き領域確認メッセージを、ＤＨＴを用いたルーティングテーブルから取得したＩＰアドレスに対応するノードＮｎへ転送することになる。なお、空き領域確認メッセージは、複数のノードＮｎであってもよい。
【００６５】
一方、ステップＳ６１では、制御部１１は、上記空き領域確認メッセージに含まれる空きノードリストを含む返信メッセージを、サブコンテンツ管理サーバＳＳへ送信し、ステップＳ６２に進む。ここで、上記ステップＳ５８及びステップＳ５９の処理を経てステップＳ６０に進んだ場合、サブコンテンツ管理サーバＳＳへ送信される空きノードリストには、上記ステップＳ５８で登録されたノードＮｎのノード情報及び空き領域情報が含まれる。
【００６６】
図６（Ａ）は、空き領域確認メッセージが複数のノードＮｎ間を転送される様子の一例を示す図である。図６（Ａ）に示す例では、ノードＮ１〜Ｎ６におけるサブコンテンツ記憶領域には、夫々、３つのサブコンテンツＳＣｘが保存可能になっている。例えば、ノードＮ２のサブコンテンツ記憶領域には、サブコンテンツＳＣ２，ＳＣ３，ＳＣ５が既に保存されているので空き領域がない。そのため、空きノードリストにノードＮ２のノード情報は登録されることなく、空き領域確認メッセージがノードＮ３へ転送されている。一方、例えば、ノードＮ３のサブコンテンツ記憶領域には、サブコンテンツＳＣ１，ＳＣ４が既に保存されているが、サブコンテンツ１つ分の空き領域がある。そのため、空きノードリストにノードＮ３のノード情報が登録されて空き領域確認メッセージがノードＮ４へ転送されている。また、図６（Ａ）に示す例では、ノードＮ３が設置される拠点Ｐ３における集合属性Ａａを示す集合属性情報も空きノードリストに登録されている。そして、空きノードリストは、最終的に、ノードＮ６からサブコンテンツ管理サーバＳＳへ送信されている。このように、サブコンテンツ管理サーバＳＳは、空き領域確認メッセージを送信することでサブコンテンツＳＣｘを保存するための空き領域があるノードＮｎを空きノードリストから効率良く特定することができる。その結果、サブコンテンツＳＣｘを迅速にノードＮｎに保存させることができる。また、サブコンテンツ管理サーバＳＳが複数のノードＮｎへ空き領域確認メッセージを送信することに比べ、サブコンテンツ管理サーバＳＳによる空き領域確認メッセージの送信負担を低減することができる。なお、図６（Ａ）に示す例では、最終的に、ノードＮ３，Ｎ５，及びＮ６のノード情報等が空きノードリストに登録されているが、空きノードリストには１つのノードＮｎのノード情報も登録されない場合もある。
【００６７】
なお、図６（Ｂ）は、空き領域確認メッセージが複数のノードＮｎ間を転送される様子の別の例を示す図である。この場合、空き領域確認メッセージに空きノードリストを含める必要がない。図６（Ｂ）に示す例では、空き領域確認メッセージを受信したノードＮｎの制御部１１は、上記ステップＳ５７と同様、サブコンテンツ記憶領域にサブコンテンツＳＣｘを保存するための空き領域があるか否かを判定する。なお、この場合も、制御部１１は、上記ステップＳ５７と同様、サブコンテンツＳＣｘの属性Ａｙと集合属性Ａｚとが一致する場合に、空き領域があると判定するように構成してもよい。制御部１１は、空き領域がないと判定した場合、上記ステップＳ５９と同様、空き領域確認メッセージを転送するか否かを判定する。そして、制御部１１は、空き領域確認メッセージを転送すると判定した場合、上記ステップＳ６０と同様、例えばＤＨＴを用いたルーティングテーブルから１以上のノードＮｎのＩＰアドレス等を取得する。そして、制御部１１は、取得したＩＰアドレスに対応するノードＮｎへ空き領域確認メッセージを転送する。図６（Ｂ）に示す例では、ノードＮ１〜Ｎ４におけるサブコンテンツ記憶領域に空き領域がない。そのため、空き領域確認メッセージは、ノードＮ１〜Ｎ５へ順次転送されている。一方、制御部１１は、空き領域があると判定した場合、図６（Ｂ）に示すノードＮ５のように、サブコンテンツ配信要求メッセージをサブコンテンツ管理サーバＳＳへ送信する。このサブコンテンツ配信要求メッセージは、サブコンテンツ管理サーバＳＳへサブコンテンツＳＣｘの配信を要求するメッセージである。サブコンテンツ配信要求メッセージには、このメッセージを送信するノードＮｎのノード情報、及び空き領域情報が含まれる。この空き領域情報は、ステップＳ５８で、空きノードリストに登録される空き領域情報と同様である。このように、サブコンテンツ管理サーバＳＳは、空き領域確認メッセージを送信することでサブコンテンツＳＣｘを保存するための空き領域があるノードＮｎから効率良くサブコンテンツの配信要求を受けることができる。その結果、サブコンテンツＳＣｘを迅速にノードＮｎに保存させることができる。また、サブコンテンツ管理サーバＳＳが複数のノードＮｎへ空き領域確認メッセージを送信することに比べ、サブコンテンツ管理サーバＳＳによる空き領域確認メッセージの送信負担を低減することができる。
【００６８】
次に、ステップＳ６２では、制御部１１は、サブコンテンツＳＣｘの配信要求をするか否かを判定する。制御部１１は、例えば予め設定された時刻が到来した場合に、配信要求すると判定される。そして、制御部１１は、サブコンテンツＳＣｘの配信要求をすると判定した場合には（ステップＳ６２：ＹＥＳ）、ステップＳ６３に進む。一方、制御部１１は、サブコンテンツＳＣｘの配信要求をしないと判定した場合には（ステップＳ６２：ＮＯ）、ステップＳ６５に進む。
【００６９】
なお、制御部１１は、ステップＳ６２の判定後、次回のサブコンテンツＳＣｘの配信要求をするか否を判定するための時刻を例えば所定時間後に設定する。これにより、ステップＳ６２の判定は、所定時間毎に行われることになる。
【００７０】
ステップＳ６３では、制御部１１は、上記ステップＳ５７と同様、サブコンテンツ記憶領域にサブコンテンツＳＣｘを保存するための空き領域があるか否かを判定する。そして、制御部１１は、空き領域があると判定した場合には（ステップＳ６３：ＹＥＳ）、サブコンテンツ配信要求メッセージをサブコンテンツ管理サーバＳＳへ送信する（ステップＳ６４）。一方、制御部１１は、空き領域がないと判定した場合には（ステップＳ６３：ＮＯ）、ステップＳ６５に進む。
【００７１】
ここで、ステップＳ６５以降の処理を説明する前に、図３に示すステップＳ８以降の処理について説明する。
【００７２】
ステップＳ８では、サブコンテンツ管理サーバＳＳの制御部１は、空きノードリストを含む返信メッセージを受信したか否かを判定する。そして、制御部１は、返信メッセージを受信したと判定した場合には（ステップＳ８：ＹＥＳ）、ステップＳ９に進む。一方、制御部１は、返信メッセージを受信していないと判定した場合には（ステップＳ８：ＮＯ）、ステップＳ１９に進む。
【００７３】
空きノードリストを含む返信メッセージが受信された場合に、制御部１は、空きノードリストにノード情報が登録されているか否かを判定する（ステップＳ９）。そして、制御部１は、空きノードリストにノード情報が登録されていると判定した場合には（ステップＳ９：ＹＥＳ）、ステップＳ１０に進む。そして、制御部１は、空きノードリストにノード情報が登録されていないと判定した場合には（ステップＳ９：ＮＯ）、ステップＳ１５に進む。
【００７４】
ステップＳ１０では、制御部１は、記憶部２に記憶されている未配信リストと、受信された空きノードリストに基づいて、ノードＮｎとサブコンテンツＳＣｘを決定する。ここで、ノードＮｎは、空き領域を確認したノードＮｎである。また、サブコンテンツＳＣｘは、空き領域を確認したノードＮｎへ送信するサブコンテンツＳＣｘである。例えば、未配信リストから日付情報に基づき日付が最も古いサブコンテンツＳＣｘが決定される。一方、ノードＮｎは、例えば、空きノードリストからランダムに決定される。なお、一つのサブコンテンツＳＣｘに対して、空きノードリストから複数のノードＮｎが決定されるように構成してもよい。
【００７５】
ところで、受信された空きノードリストに登録された空き領域情報に、集合属性Ａｚを示す集合属性情報が含まれている場合がある。この場合、制御部１は、未配信リストに登録されたサブコンテンツＳＣｘの属性Ａｙと、空きノードリストに登録された空き領域情報に含まれる集合属性Ａｚとを比較し、比較結果に基づいて、ノードＮｎとサブコンテンツＳＣｘを決定する。例えば、制御部１は、図６（Ａ）に示すように、未配信リストに登録されたサブコンテンツＳＣ７の属性Ａｃと一致する集合属性Ａｃに対応するノードＮ５を、空きノードリストから決定する。この場合、制御部１は、このノードＮ５に対応付けられた集合属性Ａｃと一致する属性Ａｃを有するサブコンテンツＳＣ７を、未配信リストから決定することになる。これにより、視聴端末Ｔｎ−ｌのユーザの属性Ａｙに合ったサブコンテンツＳＣ７を、視聴端末Ｔｎ−ｌに拠点ネットワークＮＬｎを介して接続されるノードＮｎに保存させることができる。なお、未配信リストに登録されたサブコンテンツＳＣ７の属性Ａｃと一致する集合属性Ａｃに対応するノードＮｎが複数登録されている場合がある。この場合、これら複数のノードＮｎが決定されるように構成してもよい。なお、上記「一致」には、属性Ａｙと集合属性Ａｚが完全に一致する場合と、属性Ａｙと集合属性Ａｚの一部が一致する場合と、が含まれる。こうして決定されるサブコンテンツＳＣｘは、空き領域情報に含まれる集合属性情報に対応するサブコンテンツＳＣｘである。なお、未配信リストに登録されたサブコンテンツＳＣｘの属性Ａｙと一致する集合属性Ａｚに対応するノードＮｎがない場合がある。この場合、受信された空きノードリストに登録された空き領域情報に集合属性情報が含まれていない場合と同様にノードＮｎとサブコンテンツＳＣｘが決定される。
【００７６】
次いで、制御部１は、図６（Ａ）に示すように、上記ステップＳ１０で決定されたサブコンテンツＳＣｘを、上記ステップＳ１０で決定されたノードＮｎへ配信する（ステップＳ１１）。つまり、制御部１は、空き領域を確認したノードＮｎにより空き領域があると判定された場合に、空き領域を確認したノードＮｎへサブコンテンツＳＣｘを送信する制御を行う。
【００７７】
次いで、制御部１は、上記ステップＳ１１でサブコンテンツＳＣｘの配信先となったノードＮｎのノード情報を空きノードリストから削除する（ステップＳ１２）。
【００７８】
次いで、制御部１は、上記ステップＳ１１で配信されたサブコンテンツＳＣｘの情報を未配信リストから削除する（ステップＳ１３）。
【００７９】
次いで、制御部１は、未配信リストに、サブコンテンツＳＣｘの情報が登録されているか否かを判定する（ステップＳ１４）。そして、制御部１は、未配信リストに登録されていると判定した場合には（ステップＳ１４：ＹＥＳ）、ステップＳ９に戻る。一方、制御部１は、未配信リストに登録されていないと判定した場合には（ステップＳ１４：ＮＯ）、ステップＳ１９に進む。
【００８０】
ステップＳ１５では、制御部１は、参加ノードリスト中から１以上のノードＮｎのノード情報を選択する。このノード情報は、参加ノードリストに登録されている複数のノード情報の中から例えばランダムに選択される。
【００８１】
次いで、制御部１は、重複するサブコンテンツＳＣｘの削除要求メッセージを送信済であるか否かを判定する（ステップＳ１６）。ここで、「重複するサブコンテンツＳＣｘの削除要求メッセージ」を、以下、「重複サブコンテンツの削除要求メッセージ」という。重複サブコンテンツの削除要求メッセージは、第２ストレージ領域に重複して保存される複数のサブコンテンツＳＣｘのうち、何れか１以上の、オーバーレイネットワークＯＮに既に保存されているサブコンテンツＳＣｘの削除を要求するメッセージである。また、重複サブコンテンツの削除要求メッセージは、第１削除要求情報の一例である。なお、重複サブコンテンツの削除要求メッセージには、メッセージの転送許容回数を示す情報が含まれるように構成してもよい。そして、制御部１は、重複サブコンテンツの削除要求メッセージを送信済でないと判定した場合には（ステップＳ１６：ＮＯ）、ステップＳ１７に進む。一方、制御部１は、重複サブコンテンツの削除要求メッセージを送信済であると判定した場合には（ステップＳ１６：ＹＥＳ）、ステップＳ１８に進む。
【００８２】
ステップＳ１７では、制御部１は、上記ステップＳ１５で選択されたノード情報に対応するノードＮｎへ、重複サブコンテンツの削除要求メッセージを、例えばＤＨＴマルチキャストで送信し、ステップＳ１９に進む。つまり、制御部１は、オーバーレイネットワークＯＮに新たに保存させるサブコンテンツＳＣｘを保存するための空き領域があるノードＮｎがないと判定した場合に、重複サブコンテンツの削除要求メッセージを送信する。ここで、ＤＨＴマルチキャストは、特開２００７−０５３６６２号公報等で公知であるので、詳しい説明を省略する。なお、削除対象となるサブコンテンツＳＣｘが決まっている場合がある。この場合、制御部１は、重複サブコンテンツの削除要求メッセージを、このサブコンテンツＳＣｘのルートノード宛に送信するように構成してもよい。この場合、重複サブコンテンツの削除要求メッセージには、削除対象となるサブコンテンツＳＣｘのコンテンツＩＤと、サブコンテンツＳＣｘの属性Ａｙを示す属性情報等が含まれる。これにより、この削除要求メッセージは、コンテンツＩＤをキーとしてＤＨＴルーティングによりルートノードへ送信されることになる。なお、ＤＨＴルーティングは、例えば特開２００７−０５３６６２号公報等で公知であるので、詳しい説明を省略する。
【００８３】
一方、ステップＳ１８では、制御部１は、上記ステップＳ１５で選択されたノード情報に対応するノードＮｎへ、古いサブコンテンツの削除要求メッセージを送信し、ステップＳ１９に進む。ここで、古いサブコンテンツの削除要求メッセージは、古いサブコンテンツＳＣｘの削除を要求するメッセージである。
【００８４】
次いで、ステップＳ１９では、制御部１は、サブコンテンツ配信要求メッセージを受信したか否かを判定する。そして、制御部１は、サブコンテンツ配信要求メッセージを受信したと判定した場合には（ステップＳ１９：ＹＥＳ）、ステップＳ２０に進む。なお、サブコンテンツ配信要求メッセージは、図６（Ｂ）に示す例で送信、又は上記ステップＳ６４で送信されたメッセージである。一方、制御部１は、サブコンテンツ配信要求メッセージを受信していないと判定した場合には（ステップＳ１９：ＮＯ）、ステップＳ２５に進む。
【００８５】
ステップＳ２０では、制御部１は、未配信リストに、サブコンテンツＳＣｘの情報が登録されているか否かを判定する。そして、制御部１は、未配信リストに登録されていると判定した場合には（ステップＳ２０：ＹＥＳ）、ステップＳ２１に進む。一方、制御部１は、未配信リストに登録されていないと判定した場合には（ステップＳ２０：ＮＯ）、ステップＳ２４に進む。
【００８６】
ステップＳ２１では、制御部１は、記憶部２に記憶されている未配信リストに基づいて、サブコンテンツＳＣｘを決定する。このサブコンテンツＳＣｘは、空き領域を確認したノードＮｎへ送信するサブコンテンツＳＣｘである。例えば、未配信リストから日付情報に基づき日付が最も古いサブコンテンツＳＣｘが決定される。
【００８７】
ところで、受信されたサブコンテンツ配信要求メッセージに含まれる空き領域情報に、集合属性Ａｚを示す集合属性情報が含まれている場合がある。この場合、制御部１は、空き領域情報に含まれる集合属性情報に対応するサブコンテンツＳＣｘを決定する。例えば、集合属性情報に示される集合属性Ａｚと一致する属性Ａｙを有するサブコンテンツＳＣｘが未配信リストから決定されることになる。なお、上記「一致」には、集合属性Ａｚと属性Ａｙとが完全に一致する場合と、集合属性Ａｚと属性Ａｙとの一部が一致する場合と、が含まれる。
【００８８】
次いで、制御部１は、上記ステップＳ２１で決定されたサブコンテンツＳＣｘを、サブコンテンツ配信要求メッセージを送信したノードＮｎへ配信する（ステップＳ２２）。
【００８９】
次いで、制御部１は、上記ステップＳ２２で配信されたサブコンテンツＳＣｘの情報を未配信リストから削除する（ステップＳ２３）。
【００９０】
ステップＳ２４では、制御部１は、登録無メッセージを、サブコンテンツ配信要求メッセージを送信したノードＮｎへ返信する。ここで、登録無メッセージは、未配信リストにサブコンテンツＳＣｘの情報が登録されていないことを示すメッセージである。
【００９１】
ステップＳ２５では、制御部１は、処理を終了するか否かを判定する。例えば、電源オフ指令があった場合に処理を終了すると判定される。そして、制御部１は、処理を終了しないと判定した場合には（ステップＳ２５：ＮＯ）、ステップＳ１に戻る。一方、処理を終了すると判定した場合には（ステップＳ２５：ＹＥＳ）、図３に示す処理を終了する。
【００９２】
図４に示す処理に戻り、ステップＳ６５では、ノードＮｎの制御部１１は、上記ステップＳ１１又は上記ステップＳ２２でサブコンテンツ管理サーバＳＳから配信されたサブコンテンツＳＣｘを受信したか否かを判定する。そして、制御部１１は、サブコンテンツＳＣｘを受信したと判定した場合には（ステップＳ６５：ＹＥＳ）、ステップＳ６６に進む。一方、制御部１１は、サブコンテンツＳＣｘを受信していないと判定した場合には（ステップＳ６５：ＮＯ）、ステップＳ６７に進む。
【００９３】
ステップＳ６６では、制御部１１は、受信したサブコンテンツＳＣｘを記憶部１２におけるサブコンテンツ記憶領域に保存する。そして、制御部１１は、サブコンテンツＳＣｘのパブリッシュ処理を行う。サブコンテンツＳＣｘのパブリッシュ処理は、サブコンテンツＳＣｘを保存していることを他のノードＮｎに公開するための処理である。このパブリッシュ処理において、制御部１１は、サブコンテンツＳＣｘのパブリッシュメッセージをサブコンテンツＳＣｘのルートノード宛に送信する。サブコンテンツＳＣｘのパブリッシュメッセージには、このサブコンテンツＳＣｘのコンテンツＩＤ、このサブコンテンツＳＣｘの名称、このサブコンテンツＳＣｘの属性Ａｙを示す属性情報、このサブコンテンツＳＣｘを保存したノードＮｎのノード情報及び集合属性情報等が含まれる。このパブリッシュメッセージは、コンテンツＩＤをキーとしてＤＨＴルーティングによりサブコンテンツＳＣｘのルートノードへ送信されることになる。そして、サブコンテンツＳＣｘのパブリッシュメッセージを受信したルートノードは、このパブリッシュメッセージに含まれるサブコンテンツＳＣｘのコンテンツＩＤ、ノードＮｎのノード情報及び集合属性情報等を対応付けて保持ノードリストに登録する。
【００９４】
更に、サブコンテンツＳＣｘのルートノードは、属性情報のパブリッシュ処理を行う。属性情報のパブリッシュ処理は、このルートノードが所在を管理するサブコンテンツＳＣｘの属性Ａｙを示す属性情報を管理していることを他のノードＮｎに公開するための処理である。このパブリッシュ処理において、サブコンテンツＳＣｘのルートノードは、例えば、所在を管理するサブコンテンツＳＣｘの属性情報を用いてハッシュ関数により属性情報に対応する属性ＩＤを生成する。そして、サブコンテンツＳＣｘのルートノードは、属性情報のパブリッシュメッセージを属性情報のルートノード宛に送信する。属性情報のパブリッシュメッセージには、生成された属性ＩＤ、サブコンテンツＳＣｘのコンテンツＩＤ、このサブコンテンツＳＣｘの名称、このサブコンテンツＳＣｘの属性Ａｙを示す属性情報等が含まれる。このパブリッシュメッセージは、属性ＩＤをキーとしてＤＨＴルーティングにより属性情報のルートノードへ送信されることになる。そして、属性情報のパブリッシュメッセージを受信したルートノードは、このパブリッシュメッセージに含まれる属性ＩＤ、サブコンテンツＳＣｘのコンテンツＩＤ、このサブコンテンツＳＣｘの名称、及びこのサブコンテンツＳＣｘの属性Ａｙを示す属性情報等を対応付けて、属性情報に対応するサブコンテンツリストに登録する。また、属性情報のルートノードは、コンテンツＩＤ等が登録されたサブコンテンツＳＣｘの優先度を、このサブコンテンツＳＣｘのコンテンツＩＤに対応付けて登録する。なお、このサブコンテンツＳＣｘの優先度を示す情報は、例えば、属性情報のルートノードがサブコンテンツ管理サーバＳＳに問い合わせることにより取得される。
【００９５】
ステップＳ６７では、制御部１１は、上記ステップＳ１７でサブコンテンツ管理サーバＳＳから送信された重複サブコンテンツの削除要求メッセージを受信したか否かを判定する。そして、制御部１１は、重複サブコンテンツの削除要求メッセージを受信したと判定した場合には（ステップＳ６７：ＹＥＳ）、ステップＳ６８に進む。一方、制御部１１は、重複サブコンテンツの削除要求メッセージを受信していないと判定した場合には（ステップＳ６７：ＮＯ）、ステップＳ７４に進む。
【００９６】
ステップＳ６８では、制御部１１は、この制御部１１を備えるノードＮｎが、サブコンテンツＳＣｘのルートノードであるか否かを判定する。例えば、このノードＮｎの記憶部１２に保持ノードリストが記憶されている場合には、サブコンテンツＳＣｘのルートノードであると判定される。或いは、重複サブコンテンツの削除要求メッセージに、削除対象となるサブコンテンツＳＣｘのコンテンツＩＤが含まれている場合がある。この場合、制御部１１は、削除要求メッセージに含まれるコンテンツＩＤと、この制御部１１を備えるノードＮｎのノードＩＤ及びＤＨＴを用いたルーティングテーブルに登録されている全てのノードＩＤと、を比較する。そして、制御部１１は、削除要求メッセージに含まれるコンテンツＩＤと最も近いノードＩＤが、この制御部１１を備えるノードＮｎのノードＩＤである場合、サブコンテンツＳＣｘのルートノードであると判定する。
【００９７】
そして、制御部１１は、サブコンテンツＳＣｘのルートノードでないと判定した場合には（ステップＳ６８：ＮＯ）、ステップＳ６９に進む。一方、制御部１１は、サブコンテンツＳＣｘのルートノードであると判定した場合には（ステップＳ６８：ＹＥＳ）、ステップＳ７１に進む。
【００９８】
ステップＳ６９では、制御部１１は、上記ステップＳ５９と同様、重複サブコンテンツの削除要求メッセージを転送するか否かを判定する。そして、制御部１１は、重複サブコンテンツの削除要求メッセージを転送すると判定した場合には（ステップＳ６９：ＹＥＳ）、重複サブコンテンツの削除要求メッセージを他のノードＮｎへ転送し（ステップＳ７０）、ステップＳ７４に進む。ここで、重複サブコンテンツの削除要求メッセージの転送先となるノードＮｎのＩＰアドレス及びポート番号は、例えばＤＨＴを用いたルーティングテーブルから取得される。これにより、制御部１１は、重複サブコンテンツの削除要求メッセージを、ＤＨＴを用いたルーティングテーブルから取得したＩＰアドレスに対応するノードＮｎへ転送することになる。一方、制御部１１は、重複サブコンテンツの削除要求メッセージを転送しないと判定した場合には（ステップＳ６９：ＮＯ）、ステップＳ７４に進む。なお、この場合、制御部１１は、削除要求メッセージの転送完了を示すメッセージをサブコンテンツ管理サーバＳＳへ送信するように構成してもよい。
【００９９】
ステップＳ７１では、制御部１１は、ルートノードとして所在を管理するサブコンテンツＳＣｘの保持ノードリストに、複数のコンテンツ保持ノードのノード情報が登録されているか否かを判定する。そして、制御部１１は、複数のコンテンツ保持ノードのノード情報が登録されていないと判定した場合には（ステップＳ７１：ＮＯ）、ステップＳ６９へ移行する。一方、制御部１１は、複数のコンテンツ保持ノードのノード情報が登録されていると判定した場合には（ステップＳ７１：ＹＥＳ）、ステップＳ７２に進む。
【０１００】
ステップＳ７２では、制御部１１は、保持ノードリストに登録されている複数のコンテンツ保持ノードのうち何れかのコンテンツ保持ノードを決定する。例えば、複数のコンテンツ保持ノードのうち、何れかのコンテンツ保持ノードがランダムに決定される。或いは、制御部１１は、各コンテンツ保持ノードのノード情報に対応付けられた集合属性情報と、削除対象となるサブコンテンツＳＣｘの属性情報と、に基づいて、何れかのコンテンツ保持ノードを決定するように構成してもよい。この場合、例えば、サブコンテンツＳＣｘの属性Ａｙと一致しない集合属性Ａｚに対応するコンテンツ保持ノードが決定される。なお、決定されたコンテンツ保持ノードのＩＰアドレス及びポート番号は保持ノードリストから取得される。
【０１０１】
次いで、制御部１１は、上記ステップＳ７２で決定されたコンテンツ保持ノードへ、重複サブコンテンツの削除要求メッセージを送信し（ステップＳ７３）、ステップＳ６９へ移行する。この重複サブコンテンツの削除要求メッセージには、削除対象となるサブコンテンツＳＣｘのコンテンツＩＤが含まれる。また、この重複サブコンテンツの削除要求メッセージは、本発明における第２削除要求情報の一例である。
【０１０２】
図７（Ａ）は、重複サブコンテンツの削除要求メッセージがノードＮｎ間を送信される様子の一例を示す図である。図７（Ａ）に示す例では、サブコンテンツ管理サーバＳＳから送信された重複サブコンテンツの削除要求メッセージは、サブコンテンツＳＣ４のルートノードにより受信されている。そして、サブコンテンツＳＣ４のルートノードは、保持ノードリストに登録された２つのコンテンツ保持ノードＮ３，Ｎ４のうち、コンテンツ保持ノードＮ３を決定している。その結果、重複サブコンテンツの削除要求メッセージは、コンテンツ保持ノードＮ３へ送信されている。このように、サブコンテンツ管理サーバＳＳは、重複サブコンテンツの削除要求メッセージを送信することで、重複する複数のサブコンテンツＳＣｘの少なくとも一つを第２ストレージ領域から削除することができる。これにより、サブコンテンツＳＣｘを保存させるノードＮｎを迅速に確保することができる。また、第２ストレージ領域に保存される複数種類のサブコンテンツＳＣｘの数の偏りを低減することができる。
【０１０３】
ステップＳ７４では、制御部１１は、サブコンテンツＳＣｘのルートノードから重複サブコンテンツの削除要求メッセージを受信したか否かを判定する。そして、制御部１１は、重複サブコンテンツの削除要求メッセージを受信したと判定した場合には（ステップＳ７４：ＹＥＳ）、ステップＳ７５に進む。一方、制御部１１は、重複サブコンテンツの削除要求メッセージを受信していないと判定した場合には（ステップＳ７４：ＮＯ）、図５に示すステップＳ７６に進む。
【０１０４】
重複サブコンテンツの削除要求メッセージが受信された場合に、制御部１１は、この重複サブコンテンツの削除要求メッセージに含まれるコンテンツＩＤに対応するサブコンテンツＳＣｘをサブコンテンツ記憶領域から削除する（ステップＳ７５）。そして、制御部１１は、サブコンテンツＳＣｘの削除通知処理を行う。サブコンテンツＳＣｘの削除通知処理は、サブコンテンツＳＣｘを削除したことを他のノードＮｎに公開するための処理である。この削除通知処理において、制御部１１は、サブコンテンツＳＣｘの削除通知メッセージをサブコンテンツＳＣｘのルートノード宛に送信する。この削除通知メッセージには、このサブコンテンツＳＣｘのコンテンツＩＤ、及びこのサブコンテンツＳＣｘを削除したノードＮｎのノード情報等が含まれる。この削除通知メッセージは、コンテンツＩＤをキーとしてＤＨＴルーティングによりサブコンテンツＳＣｘのルートノードへ送信されることになる。そして、サブコンテンツＳＣｘの削除通知メッセージを受信したルートノードは、この削除通知メッセージに含まれるノード情報及び集合属性情報等を保持ノードリストから削除する。
【０１０５】
ステップＳ７６では、制御部１１は、サブコンテンツ管理サーバＳＳから古いサブコンテンツの削除要求メッセージを受信したか否かを判定する。そして、制御部１１は、古いサブコンテンツの削除要求メッセージを受信したと判定した場合には（ステップＳ７６：ＹＥＳ）、ステップＳ７７に進む。一方、制御部１１は、古いサブコンテンツの削除要求メッセージを受信していないと判定した場合には（ステップＳ７６：ＮＯ）、ステップＳ７８に進む。
【０１０６】
ステップＳ７７では、制御部１１は、サブコンテンツ記憶領域に保存されているサブコンテンツＳＣｘのうち最も古いサブコンテンツＳＣｘをサブコンテンツ記憶領域から削除する。そして、制御部１１は、サブコンテンツＳＣｘの削除通知処理を行う。
【０１０７】
ステップＳ７８では、制御部１１は、拠点ネットワークＮＬｎを介して視聴端末Ｔｎ−ｌから、この視聴端末Ｔｎ−ｌのユーザの属性Ａｙを示す属性情報を受信したか否かを判定する。ここで、属性情報は、上記ステップＳ５１で視聴端末Ｔｎ−ｌからログイン情報に含まれて受信される。或いは、図示しないが、視聴端末Ｔｎ−ｌから送信されたメインコンテンツの要求に含まれて受信される。
【０１０８】
そして、制御部１１は、視聴端末Ｔｎ−ｌのユーザの属性Ａｙを示す属性情報を受信したと判定した場合には（ステップＳ７８：ＹＥＳ）、ステップＳ７９に進む。一方、制御部１１は、視聴端末Ｔｎ−ｌのユーザの属性Ａｙを示す属性情報を受信していないと判定した場合には（ステップＳ７８：ＮＯ）、ステップＳ８４に進む。
【０１０９】
ステップＳ７９では、制御部１１は、受信された属性情報に対応するサブコンテンツＳＣｘがサブコンテンツ記憶領域に保存されているか否かを判定する。例えば、受信された属性情報に示されるユーザの属性Ａｙと一致する属性Ａｙを有するサブコンテンツＳＣｘが保存されているか否かが判定される。そして、制御部１１は、受信された属性情報に対応するサブコンテンツＳＣｘが保存されていると判定した場合には（ステップＳ７９：ＹＥＳ）、このサブコンテンツＳＣｘを視聴端末Ｔｎ−ｌへ送信する（ステップＳ８０）。
【０１１０】
一方、制御部１１は、受信された属性情報に対応するサブコンテンツＳＣｘが保存されていないと判定した場合には（ステップＳ７９：ＮＯ）、ステップＳ８１に進む。
【０１１１】
ステップＳ８１では、制御部１１は、サブコンテンツ記憶領域にサブコンテンツＳＣｘを保存するための空き領域があるか否かを判定する。そして、制御部１１は、空き領域がないと判定した場合には（ステップＳ８１：ＮＯ）、ステップＳ８２に進む。そして、制御部１１は、空き領域があると判定した場合には（ステップＳ８１：ＹＥＳ）、ステップＳ８３に進む。
【０１１２】
ステップＳ８２では、制御部１１は、サブコンテンツ記憶領域に保存されているサブコンテンツＳＣｘのうち、所定のサブコンテンツＳＣｘをサブコンテンツ記憶領域から削除する。例えば、最も古いサブコンテンツＳＣｘが削除される。そして、制御部１１は、サブコンテンツＳＣｘの削除通知処理を行う。
【０１１３】
そして、ステップＳ８３では、制御部１１は、サブコンテンツ送信要求メッセージを、上記ステップＳ７８で受信された属性情報のルートノード宛に送信する。このサブコンテンツ送信要求メッセージは、上記ステップＳ７８で受信された属性情報に対応するサブコンテンツＳＣｘの送信を要求するメッセージである。また、サブコンテンツ送信要求メッセージは、本発明における送信要求情報の一例である。また、サブコンテンツ送信要求メッセージには、属性情報に対応する属性ＩＤ、及びこのサブコンテンツ送信要求メッセージを送信するノードＮｎのノード情報等が含まれる。そして、サブコンテンツ送信要求メッセージは、属性ＩＤをキーとしてＤＨＴルーティングにより属性情報のルートノードへ送信されることになる。
【０１１４】
図７（Ｂ）は、サブコンテンツ送信要求メッセージがノードＮｎ間を送信される様子の一例を示す図である。図７（Ｂ）に示す例では、ノードＮ１から送信されたサブコンテンツ送信要求メッセージは、属性Ａｃを示す属性情報のルートノードであるノードＮ３へ送信されている。なお、上記サブコンテンツ送信要求メッセージは、上記属性情報に対応するサブコンテンツＳＣｘのストリーミング配信を要求するメッセージであってもよい。この場合、ストリーミング配信されたサブコンテンツＳＣｘは、バッファメモリ１４に一時的に蓄積されつつ視聴端末Ｔｎ−ｌへ送信される。つまり、サブコンテンツＳＣｘはサブコンテンツ記憶領域に保存させる必要がない。そのため、制御部１１は、ステップＳ８１で空き領域がないと判定した場合であっても、サブコンテンツ記憶領域からサブコンテンツＳＣｘを削除することなくステップＳ８３に進むことになる。
【０１１５】
次に、ステップＳ８４では、制御部１１は、ノードＮｎからサブコンテンツ送信要求メッセージを受信したか否かを判定する。そして、制御部１１は、サブコンテンツ送信要求メッセージを受信したと判定した場合には（ステップＳ８４：ＹＥＳ）、ステップＳ８５に進む。一方、制御部１１は、サブコンテンツ送信要求メッセージを受信していないと判定した場合には（ステップＳ８４：ＮＯ）、ステップＳ９０に進む。
【０１１６】
ステップＳ８５では、制御部１１は、この制御部１１を備えるノードＮｎが属性情報のルートノードであるか否かを判定する。例えば、制御部１１は、サブコンテンツ送信要求メッセージに含まれる属性ＩＤと、この制御部１１を備えるノードＮｎのノードＩＤ及びＤＨＴを用いたルーティングテーブルに登録されている全てのノードＩＤと、を比較する。そして、制御部１１は、サブコンテンツ送信要求メッセージに含まれる属性ＩＤと最も近いノードＩＤが、この制御部１１を備えるノードＮｎのノードＩＤである場合、属性情報のルートノードであると判定する。
【０１１７】
そして、制御部１１は、属性情報のルートノードでないと判定した場合には（ステップＳ８５：ＮＯ）、ステップＳ８６に進む。一方、属性情報のルートノードであると判定した場合には（ステップＳ８５：ＹＥＳ）、ステップＳ８８に進む。
【０１１８】
ステップＳ８６では、制御部１１は、上記ステップＳ５９と同様、サブコンテンツ送信要求メッセージを転送するか否かを判定する。そして、制御部１１は、サブコンテンツ送信要求メッセージを転送すると判定した場合には（ステップＳ８６：ＹＥＳ）、サブコンテンツ送信要求メッセージを他のノードＮｎへ転送し（ステップＳ８７）、ステップＳ９０に進む。ここで、サブコンテンツ送信要求メッセージの転送先となるノードＮｎのＩＰアドレス及びポート番号は、例えばＤＨＴを用いたルーティングテーブルから取得される。一方、制御部１１は、サブコンテンツ送信要求メッセージを転送しないと判定した場合には（ステップＳ８６：ＮＯ）、ステップＳ９０に進む。
【０１１９】
ステップＳ８８では、制御部１１は、属性情報に対応するサブコンテンツリスト中から、優先度が最も高いサブコンテンツＳＣｘを決定する。図７（Ｂ）に示す例の場合、サブコンテンツリスト中のサブコンテンツＳＣｘのうち、優先度が最も高いサブコンテンツＳＣ３が決定されることになる。これにより、視聴端末Ｔｎ−ｌのユーザの属性に合ったサブコンテンツＳＣｘで、なおかつサブコンテンツＳＣｘの提供者等がユーザに視聴させたいサブコンテンツＳＣｘを、視聴端末Ｔｎ−ｌに拠点ネットワークＮＬｎを介して接続されたノードＮｎに保存させることができる。
【０１２０】
次いで、制御部１１は、上記ステップＳ８８で決定されたサブコンテンツＳＣｘを、サブコンテンツ送信要求メッセージの送信元のノードＮｎへ送信する制御処理を行う（ステップＳ８９）。この制御処理では、制御部１１は、決定されたサブコンテンツＳＣｘがサブコンテンツ記憶領域に保存されている場合、このサブコンテンツＳＣｘを、サブコンテンツ送信要求メッセージの送信元のノードＮｎへ送信する。一方、決定されたサブコンテンツＳＣｘがサブコンテンツ記憶領域に保存されていない場合がある。この場合の制御処理について以下に説明する。この場合、制御部１１は、先ず、決定されたサブコンテンツＳＣｘのルートノード宛に、サブコンテンツ送信要求メッセージを送信する。このサブコンテンツ送信要求メッセージには、決定されたサブコンテンツＳＣｘのコンテンツＩＤ、及びサブコンテンツ送信要求メッセージの送信元のノードＮｎのノード情報等が含まれる。そして、サブコンテンツ送信要求メッセージは、サブコンテンツＳＣｘのコンテンツＩＤをキーとしてＤＨＴルーティングによりサブコンテンツＳＣｘのルートノードへ送信されることになる。図７（Ｂ）に示す例の場合、サブコンテンツ送信要求メッセージは、サブコンテンツＳＣ３のルートノードであるノードＮ６へ送信されている。そして、サブコンテンツ送信要求メッセージを受信したルートノードは、保持ノードリストに登録されているコンテンツ保持ノードへサブコンテンツ送信要求メッセージを送信する。図７（Ｂ）に示す例の場合、サブコンテンツ送信要求メッセージは、保持ノードリストに登録されているノードＮ５へ送信されている。こうして、サブコンテンツ送信要求メッセージを受信したコンテンツ保持ノードは、サブコンテンツ送信要求メッセージに含まれるコンテンツＩＤに対応するサブコンテンツＳＣｘを、サブコンテンツ送信要求メッセージの送信元のノードＮｎへ送信する。
【０１２１】
ステップＳ９０では、制御部１１は、ノードＮｎからサブコンテンツＳＣｘを受信したか否かを判定する。そして、制御部１１は、サブコンテンツＳＣｘを受信したと判定した場合には（ステップＳ９０：ＹＥＳ）、ステップＳ９１に進む。一方、制御部１１は、サブコンテンツＳＣｘを受信していないと判定した場合には（ステップＳ９０：ＮＯ）、ステップＳ９３に進む。
【０１２２】
ステップＳ９１では、制御部１１は、受信したサブコンテンツＳＣｘを記憶部１２におけるサブコンテンツ記憶領域に保存する。そして、制御部１１は、サブコンテンツＳＣｘのパブリッシュ処理を行い、ステップＳ９２に進む。なお、上記ステップＳ８３で送信されるサブコンテンツ送信要求メッセージが、サブコンテンツＳＣｘのストリーミング配信を要求するメッセージである場合がある。この場合、制御部１１は、ステップＳ９１の処理を行わずにステップＳ９２に進むことになる。
【０１２３】
ステップＳ９２では、制御部１１は、受信したサブコンテンツＳＣｘを視聴端末Ｔｎ−ｌへ送信する。こうして視聴端末Ｔｎ−ｌは、ノードＮｎから受信したサブコンテンツＳＣｘを再生出力する。
【０１２４】
なお、ステップＳ９３に示すその他の処理では、受信された各種メッセージに応じた処理やメインコンテンツの取得処理等が行われる。
【０１２５】
そして、ステップＳ９４では、制御部１１は、処理を終了するか否かを判定する。例えば、電源オフ指令があった場合に処理を終了すると判定される。そして、制御部１１は、処理を終了しないと判定した場合には（ステップＳ９４：ＮＯ）、図４に示すステップＳ５１に戻る。一方、制御部１１は、処理を終了すると判定した場合には（ステップＳ９４：ＹＥＳ）、図４及び図５に示す処理を終了する。
【０１２６】
以上説明したように、上記実施形態によれば、複数のサブコンテンツの中の少なくとも何れか一つのサブコンテンツが第２ストレージ領域のストレージ容量以下に収まるように第２ストレージ領域に保存させる。そのため、ストレージ容量が小さい中で必要な数のサブコンテンツを担保することが可能となる。その結果、オーバーレイネットワークＯＮを介してサブコンテンツを円滑に配信することができる。
【０１２７】
また、複数の視聴端末Ｔｎ−ｌのユーザの属性を集計した集合属性Ａｚに合ったサブコンテンツＳＣｚが決定される構成によれば、拠点Ｐｎ毎の集合属性Ａｚに合ったサブコンテンツＳＣｘを、拠点Ｐｎ毎に設置されたノードＮｎに保存させることができる。そのため、ストレージ容量が小さい第２ストレージ領域を有効に活用することができる。
【０１２８】
また、上記実施形態においては、オーバーレイネットワークＯＮに、ＤＨＴを利用したピアツーピアネットワークを適用したが、これに限られるものではない。例えば、他のオーバーレイネットワークを用いたシステムが適用されてもよい。ＤＨＴを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。
【符号の説明】
【０１２９】
１，１１  制御部
２，１２  記憶部
３，１３ａ，１３ｂ  通信部
ＳＳ  サブコンテンツ管理サーバ
Ｎｎ  ノード
ＮＷ  ネットワーク
ＯＮ  オーバーレイネットワーク
Ｓ  コンテンツ配信システム
【図１】
2012068712.tif 000003
【図２】
2012068712.tif 000004
【図３】
2012068712.tif 000005
【図４】
2012068712.tif 000006
【図５】
2012068712.tif 000007
【図６】
2012068712.tif 000008
【図７】
2012068712.tif 000009