(57)【特許請求の範囲】
【請求項１】
複数のコンテンツが複数のノード装置間で送受信される情報通信システムであって、
前記情報通信システムは、
外部ネットワークに複数の内部ネットワークが接続され、
同一の前記内部ネットワークに接続する複数の前記ノード装置と、
前記内部ネットワークに接続し前記ノード装置によるコンテンツの取得を支援するサポート装置と、
を前記内部ネットワーク毎に備え、
同一の前記内部ネットワークに接続する前記ノード装置間でのコンテンツの送受信を可能とするオーバーレイネットワークとしての内部オーバーレイネットワークが前記内部ネットワーク毎に構築され、
各前記サポート装置間でのコンテンツの送受信を可能とするオーバーレイネットワークとしての外部オーバーレイネットワークが前記外部ネットワーク上に構築され、
前記ノード装置は、
接続先の前記内部ネットワーク上の前記内部オーバーレイネットワークである接続先内部オーバーレイネットワークに向けてコンテンツの第１検索要求を送信する第１送信手段と、
前記第１送信手段により前記第１検索要求を送信した結果、前記接続先内部オーバーレイネットワークからコンテンツを取得することができない場合には、コンテンツの要求を示すコンテンツ要求情報を、接続先の前記内部ネットワークに接続する前記サポート装置である接続先サポート装置に送信するコンテンツ要求情報送信手段と、
前記接続先サポート装置から送信されたコンテンツを受信するコンテンツ受信手段と、
を備え、
前記サポート装置は、
前記ノード装置から送信された前記コンテンツ要求情報を受信するコンテンツ要求情報受信手段と、
前記コンテンツ要求情報受信手段により前記コンテンツ要求情報が受信されたときに要求されたコンテンツが、前記サポート装置の記憶手段に記憶されている場合、前記記憶手段に記憶されているコンテンツを要求元の前記ノード装置に送信する第１コンテンツ送信手段と、
前記要求されたコンテンツが前記記憶手段に記憶されていない場合、前記外部オーバーレイネットワークに向けてコンテンツの第２検索要求を送信する第２送信手段と、
前記第２送信手段により前記第２検索要求を送信した結果、前記外部オーバーレイネットワークから取得されたコンテンツを前記記憶手段に記憶させる制御手段と、
前記外部オーバーレイネットワークから取得されたコンテンツを要求元の前記ノード装置に送信するコンテンツ送信手段と、
を備えることを特徴とする情報通信システム。
【請求項２】
請求項１に記載の情報通信システムにおいて、
前記内部オーバーレイネットワークは、前記サポート装置が参加しないオーバーレイネットワークであることを特徴とする情報通信システム。
【請求項３】
請求項１に記載の情報通信システムにおいて、
前記内部オーバーレイネットワークは、前記サポート装置と、当該サポート装置と同じ前記内部ネットワークに接続する各前記ノード装置と、の間でのコンテンツの送受信を可能とするオーバーレイネットワークであることを特徴とする情報通信システム。
【請求項４】
請求項１乃至３の何れか１項に記載の情報通信システムにおいて、
前記ノード装置は、
前記ノード装置毎にオーバーレイネットワーク方式又はクライアントサーバ方式の何れか一方を示す方式情報を取得する第１方式情報取得手段を備え、
前記ノード装置の前記第１送信手段は、前記第１方式情報取得手段により取得された前記方式情報がクライアントサーバ方式を示す場合には、前記接続先サポート装置へ前記コンテンツ要求情報を送信することを特徴とする情報通信システム。
【請求項５】
請求項１乃至４の何れか１項に記載の情報通信システムにおいて、
前記サポート装置は、
前記サポート装置毎にオーバーレイネットワーク方式又はクライアントサーバ方式の何れか一方を示す方式情報を取得する第２方式情報取得手段を備え、
前記サポート装置の前記第２送信手段は、前記第２方式情報取得手段により取得された前記方式情報がクライアントサーバ方式を示す場合には、前記外部ネットワークを介して所定のサーバ装置へ、コンテンツの要求を示す第２コンテンツ要求情報を送信することを特徴とする情報通信システム。
【請求項６】
請求項４に記載の情報通信システムにおいて、
前記方式情報はコンテンツの一種であり、
前記ノード装置の前記第１方式情報取得手段は、前記方式情報を取得することを特徴とする情報通信システム。
【請求項７】
請求項５に記載の情報通信システムにおいて、
前記方式情報はコンテンツの一種であり、
前記サポート装置の前記第２方式情報取得手段は、前記方式情報を前記外部オーバーレイネットワークから取得することを特徴とする情報通信システム。
【請求項８】
請求項１乃至７の何れか１項に記載の情報通信システムにおいて、
前記ノード装置の前記第１送信手段は、接続先の前記内部ネットワークに接続する他の前記ノード装置のうち少なくとも１つの前記ノード装置のアドレスを示すアドレス情報に基づいて、前記第１検索要求を前記接続先内部オーバーレイネットワークへ向けて送信し、
前記ノード装置は、
前記接続先内部オーバーレイネットワークへの参加の要求を示す参加要求情報を前記接続先サポート装置に送信することにより、当該接続先サポート装置から送信されてきた前記アドレス情報を取得する参加手段を更に備えることを特徴とする情報通信システム。
【請求項９】
請求項１乃至７の何れか１項に記載の情報通信システムにおいて、
前記ノード装置の前記第１送信手段は、
接続先の前記内部ネットワークに接続する他の前記ノード装置のうち少なくとも１つの前記ノード装置のアドレスを示すアドレス情報に基づいて、前記第１検索要求を前記接続先内部オーバーレイネットワークへ向けて送信し、
前記ノード装置は、
前記接続先内部オーバーレイネットワークへの参加の要求を示す参加要求情報を、接続先の前記内部ネットワークに接続する他の前記ノード装置に送信することにより、当該他のノード装置から送信されてきた前記アドレス情報を取得する参加手段を更に備えることを特徴とする情報通信システム。
【請求項１０】
複数のコンテンツが複数のノード装置間で送受信される情報通信システムにおける情報通信方法であって、
前記情報通信システムは、
外部ネットワークに複数の内部ネットワークが接続され、
同一の前記内部ネットワークに接続する複数の前記ノード装置と、
前記内部ネットワークに接続し前記ノード装置によるコンテンツの取得を支援するサポート装置と、
を前記内部ネットワーク毎に備え、
同一の前記内部ネットワークに接続する前記ノード装置間でのコンテンツの送受信を可能とするオーバーレイネットワークとしての内部オーバーレイネットワークが前記内部ネットワーク毎に構築され、
各前記サポート装置間でのコンテンツの送受信を可能とするオーバーレイネットワークとしての外部オーバーレイネットワークが前記外部ネットワーク上に構築され、
前記ノード装置が、接続先の前記内部ネットワーク上の前記内部オーバーレイネットワークである接続先内部オーバーレイネットワークに向けてコンテンツの第１検索要求を送信する第１送信工程と、
前記ノード装置が、前記第１送信工程により前記第１検索要求を送信した結果、前記接続先内部オーバーレイネットワークからコンテンツを取得することができない場合には、コンテンツの要求を示すコンテンツ要求情報を、接続先の前記内部ネットワークに接続する前記サポート装置である接続先サポート装置に送信するコンテンツ要求情報送信工程と、
前記サポート装置が、前記ノード装置から送信された前記コンテンツ要求情報を受信するコンテンツ要求情報受信工程と、
前記サポート装置が、前記コンテンツ要求情報受信工程により前記コンテンツ要求情報が受信されたときに要求されたコンテンツが、前記サポート装置の記憶手段に記憶されている場合、前記記憶手段に記憶されているコンテンツを要求元の前記ノード装置に送信する第１コンテンツ送信工程と、
前記サポート装置が、前記要求されたコンテンツが前記記憶手段に記憶されていない場合、前記外部オーバーレイネットワークに向けてコンテンツの第２検索要求を送信する第２送信工程と、
前記サポート装置が、前記第２送信工程により前記第２検索要求を送信した結果、前記外部オーバーレイネットワークから取得されたコンテンツを前記記憶手段に記憶させる制御工程と、
前記サポート装置が、前記外部オーバーレイネットワークから取得されたコンテンツを要求元の前記ノード装置に送信するコンテンツ送信工程と、
前記ノード装置が、前記接続先サポート装置から送信されたコンテンツを受信するコンテンツ受信工程と、
を有することを特徴とする情報通信方法。
【請求項１１】
請求項１０に記載の情報通信方法において、
前記ノード装置が、前記ノード装置毎にオーバーレイネットワーク方式又はクライアントサーバ方式の何れか一方を示す方式情報を取得する第１方式情報取得工程を更に有し、
前記第１送信工程において、コンテンツを取得する前記ノード装置に対応する前記方式情報がクライアントサーバ方式を示す場合、当該ノード装置は、前記接続先サポート装置へ前記コンテンツ要求情報を送信することを特徴とする情報通信方法。
【請求項１２】
請求項１０又は請求項１１に記載の情報通信方法において、
前記サポート装置が、前記サポート装置毎にオーバーレイネットワーク方式又はクライアントサーバ方式の何れか一方を示す方式情報を取得する第２方式情報取得工程を更に有し、
前記第２送信工程において、前記接続先サポート装置に対応する前記方式情報がクライアントサーバ方式を示す場合、当該接続先サポート装置は、前記外部ネットワークを介して所定のサーバ装置へ、コンテンツの要求を示す第２コンテンツ要求情報を送信することを特徴とする情報通信方法。
【請求項１３】
複数のコンテンツが複数のノード装置間で送受信される情報通信システムにおける情報通信プログラムであって、
前記情報通信システムは、
外部ネットワークに複数の内部ネットワークが接続され、
同一の前記内部ネットワークに接続する複数の前記ノード装置と、
前記内部ネットワークに接続し前記ノード装置によるコンテンツの取得を支援するサポート装置と、
を前記内部ネットワーク毎に備え、
同一の前記内部ネットワークに接続する前記ノード装置間でのコンテンツの送受信を可能とするオーバーレイネットワークとしての内部オーバーレイネットワークが前記内部ネットワーク毎に構築され、
各前記サポート装置間でのコンテンツの送受信を可能とするオーバーレイネットワークとしての外部オーバーレイネットワークが前記外部ネットワーク上に構築され、
前記ノード装置は、
接続先の前記内部ネットワーク上の前記内部オーバーレイネットワークである接続先内部オーバーレイネットワークに向けてコンテンツの第１検索要求を送信する第１送信手段と、
前記第１送信手段により前記第１検索要求を送信した結果、前記接続先内部オーバーレイネットワークからコンテンツを取得することができない場合には、コンテンツの要求を示すコンテンツ要求情報を、接続先の前記内部ネットワークに接続する前記サポート装置である接続先サポート装置に送信するコンテンツ要求情報送信手段と、
前記接続先サポート装置から送信されたコンテンツを受信するコンテンツ受信手段と、
を備え、
前記サポート装置のコンピュータに、
前記ノード装置から送信された前記コンテンツ要求情報を受信するコンテンツ要求情報受信ステップと、
前記コンテンツ要求情報受信ステップにより前記コンテンツ要求情報が受信されたときに要求されたコンテンツが、前記サポート装置の記憶手段に記憶されている場合、前記記憶手段に記憶されているコンテンツを要求元の前記ノード装置に送信する第１コンテンツ送信ステップと、
前記要求されたコンテンツが前記記憶手段に記憶されていない場合、前記外部オーバーレイネットワークに向けてコンテンツの第２検索要求を送信する第２送信ステップと、
前記第２送信ステップにより前記第２検索要求を送信した結果、前記外部オーバーレイネットワークから取得されたコンテンツを前記記憶手段に記憶させる制御ステップと、
前記外部オーバーレイネットワークから取得されたコンテンツを要求元の前記ノード装置に送信するコンテンツ送信ステップと、
を実行させることを特徴とする情報通信プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介して互いに通信可能な複数のノード装置を備えたピアツーピア（Peer to Peer（P2P））方式の通信システムの技術分野に関する。
【背景技術】
【０００２】
近年、特許文献１に開示されているようなピアツーピア方式の通信システムが注目されている。ピアツーピア方式の通信システムは、現在のコンテンツ配信における主流形態であるサーバクライアント方式に変わる新しい形態として注目されている。このピアツーピア方式の通信システムでは、センターのサーバ装置に対するコンテンツの要求が集中しない。そのため、サーバクライアント方式に比して、短時間でコンテンツを取得することが可能となる。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１９７４００号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
ところで、会社や学校、ホテル等のように各地に拠点があり、各拠点に端末装置が複数存在するケースがある。このケースにおいては、一般的に、拠点内に各端末装置が接続されるＬＡＮ（Local Area Network）等のプライベートネットワークが形成される。また、拠点には、インターネット等の或いはＷＡＮ（Wide Area Network）等のパブリックネットワークに接続する回線が設けられる。
【０００５】
このようなケースにおいて、各端末装置に、特許文献１に開示されているようなピアツーピア方式の通信機能を持たせることが考えられる。そうすると、各端末装置は、同じ拠点内に存在する端末装置からもコンテンツを取得することが可能となる。従って、端末装置は他の拠点にコンテンツを要求しなくても良い場合があるので、外部接続する回線のトラフィックを減らすことが出来る。
【０００６】
しかしながら、拠点内に存在する各端末装置が記憶しているコンテンツの数が少ない場合には、拠点の外部のネットワーク上に必要なコンテンツを要求する確率が増加する。この場合、例えば外部接続する回線の本数が少なかったり帯域幅が狭かったりすると、コンテンツの取得に要する時間が長くなる。そのため、ピアツーピア方式の通信システムを採用したことによる効果が十分に得られない場合があった。
【０００７】
この場合、各拠点にコンテンツの蓄積専用のエッジサーバを設置することも考えられる。そうすると、同じ拠点内に設置されたエッジサーバに必要なコンテンツが記憶されている場合には、端末装置はエッジサーバからコンテンツを取得することが出来る。しかしながら、エッジサーバのメモリ容量にも限界がある。
【０００８】
そこで、本発明は、以上の点に鑑みてなされたものである。本発明は、拠点等にあるネットワークから外部のネットワークに接続する回線のトラフィックを減らし、コンテンツを効率良く取得することが出来る情報通信システム及び情報通信方法等を提供することを目的とする。
【課題を解決するための手段】
【０００９】
上記課題を解決するために、請求項１に記載の発明は、複数のコンテンツが複数のノード装置間で送受信される情報通信システムであって、前記情報通信システムは、外部ネットワークに複数の内部ネットワークが接続され、同一の前記内部ネットワークに接続する複数の前記ノード装置と、前記内部ネットワークに接続し前記ノード装置によるコンテンツの取得を支援するサポート装置と、を前記内部ネットワーク毎に備え、同一の前記内部ネットワークに接続する前記ノード装置間でのコンテンツの送受信を可能とするオーバーレイネットワークとしての内部オーバーレイネットワークが前記内部ネットワーク毎に構築され、各前記サポート装置間でのコンテンツの送受信を可能とするオーバーレイネットワークとしての外部オーバーレイネットワークが前記外部ネットワーク上に構築され、前記ノード装置は、接続先の前記内部ネットワーク上の前記内部オーバーレイネットワークである接続先内部オーバーレイネットワークに向けてコンテンツの第１検索要求を送信する第１送信手段と、前記第１送信手段により前記第１検索要求を送信した結果、前記接続先内部オーバーレイネットワークからコンテンツを取得することができない場合には、コンテンツの要求を示すコンテンツ要求情報を、接続先の前記内部ネットワークに接続する前記サポート装置である接続先サポート装置に送信するコンテンツ要求情報送信手段と、前記接続先サポート装置から送信されたコンテンツを受信するコンテンツ受信手段と、を備え、前記サポート装置は、前記ノード装置から送信された前記コンテンツ要求情報を受信するコンテンツ要求情報受信手段と、前記コンテンツ要求情報受信手段により前記コンテンツ要求情報が受信されたときに要求されたコンテンツが、前記サポート装置の記憶手段に記憶されている場合、前記記憶手段に記憶されているコンテンツを要求元の前記ノード装置に送信する第１コンテンツ送信手段と、前記要求されたコンテンツが前記記憶手段に記憶されていない場合、前記外部オーバーレイネットワークに向けてコンテンツの第２検索要求を送信する第２送信手段と、前記第２送信手段により前記第２検索要求を送信した結果、前記外部オーバーレイネットワークから取得されたコンテンツを前記記憶手段に記憶させる制御手段と、前記外部オーバーレイネットワークから取得されたコンテンツを要求元の前記ノード装置に送信するコンテンツ送信手段と、を備えることを特徴とする。
【００１０】
この発明によれば、接続先の内部ネットワークに接続する他のノード装置がコンテンツを記憶していれば、ノード装置は他のノード装置からコンテンツを取得することが出来る。この場合、ノード装置は外部ネットワークを介してコンテンツを要求する必要がない。従って、内部ネットワークから外部ネットワークに接続する回線のトラフィックが減り、コンテンツを効率良く取得することが出来る。
【００１２】
また、この発明によれば、ノード装置は、接続先内部オーバーレイネットワークからコンテンツを取得することができない場合、サポート装置を介してコンテンツを取得する。従って、内部ネットワークから外部ネットワークに接続する回線のトラフィックが減り、コンテンツを効率良く取得することが出来る。
【００１３】
請求項２に記載の発明は、請求項１に記載の情報通信システムにおいて、前記内部オーバーレイネットワークは、前記サポート装置が参加しないオーバーレイネットワークであることを特徴とする。
【００１４】
この発明によれば、必要なコンテンツをノード装置とサポート装置との双方が記憶している場合、ノード装置の方からコンテンツが取得される。従って、サポート装置の負荷を減らすことが出来る。
【００１５】
請求項３に記載の発明は、請求項１に記載の情報通信システムにおいて、前記内部オーバーレイネットワークは、前記サポート装置と、当該サポート装置と同じ前記内部ネットワークに接続する各前記ノード装置と、の間でのコンテンツの送受信を可能とするオーバーレイネットワークであることを特徴とする。
【００１６】
この発明によれば、同じ内部ネットワークに接続されているノード装置又はサポート装置がコンテンツを記憶していれば、ピアツーピアでコンテンツを取得することが出来る。従って、サポート装置からコンテンツを取得する場合の手順を単純にすることが出来る。
【００１７】
請求項４に記載の発明は、請求項１乃至３の何れか１項に記載の情報通信システムにおいて、前記ノード装置は、前記ノード装置毎にオーバーレイネットワーク方式又はクライアントサーバ方式の何れか一方を示す方式情報を取得する第１方式情報取得手段を備え、前記ノード装置の前記第１送信手段は、前記第１方式情報取得手段により取得された前記方式情報がクライアントサーバ方式を示す場合には、前記接続先サポート装置へ前記コンテンツ要求情報を送信することを特徴とする。
【００１８】
内部ネットワークにおいては、そのときのネットワーク環境や制限等によって内部オーバーレイネットワークを構築することができない場合や、また、ノード装置によっては内部オーバーレイネットワークに参加できない場合がある。そのような場合でも、この発明によれば、ノード装置はクライアントサーバ方式でコンテンツを取得することが出来る。
【００１９】
請求項５に記載の発明は請求項１乃至４の何れか１項に記載の情報通信システムにおいて、前記サポート装置は、前記サポート装置毎にオーバーレイネットワーク方式又はクライアントサーバ方式の何れか一方を示す方式情報を取得する第２方式情報取得手段を備え、前記サポート装置の前記第２送信手段は、前記第２方式情報取得手段により取得された前記方式情報がクライアントサーバ方式を示す場合には、前記外部ネットワークを介して所定のサーバ装置へ、コンテンツの要求を示す第２コンテンツ要求情報を送信することを特徴とする。
【００２０】
そのときのネットワーク環境や制限等によって、サポート装置が外部オーバーレイネットワークに参加することができない場合がある。そのような場合でも、この発明によれば、サポート装置はクライアントサーバ方式でコンテンツを取得することが出来る。
【００２１】
請求項６に記載の発明は、請求項４に記載の情報通信システムにおいて、前記方式情報はコンテンツの一種であり、前記ノード装置の前記第１方式情報取得手段は、前記方式情報を取得することを特徴とする。
【００２２】
この発明によれば、ピアツーピア方式による情報通信で方式情報を取得することが出来るので、方式情報の取得によるネットワーク負荷を分散させることが出来る。
【００２３】
請求項７に記載の発明は、請求項５に記載の情報通信システムにおいて、前記方式情報はコンテンツの一種であり、前記サポート装置の前記第２方式情報取得手段は、前記方式情報を前記外部オーバーレイネットワークから取得することを特徴とする。
【００２４】
この発明によれば、ピアツーピア方式による情報通信で方式情報を取得することが出来るので、方式情報の取得によるネットワーク負荷を分散させることが出来る。
【００２５】
請求項８に記載の発明は、請求項１乃至７の何れか１項に記載の情報通信システムにおいて、前記ノード装置の前記第１送信手段は、接続先の前記内部ネットワークに接続する他の前記ノード装置のうち少なくとも１つの前記ノード装置のアドレスを示すアドレス情報に基づいて、前記第１検索要求を前記接続先内部オーバーレイネットワークへ向けて送信し、前記ノード装置は、前記接続先内部オーバーレイネットワークへの参加の要求を示す参加要求情報を前記接続先サポート装置に送信することにより、当該接続先サポート装置から送信されてきた前記アドレス情報を取得する参加手段を更に備えることを特徴とする。
【００２６】
この発明によれば、サポート装置が稼働していれば、ノード装置は内部オーバーレイネットワークに参加することが出来る。従って、内部オーバーレイネットワークの参加のために特定のノード装置を常時稼働させておく必要がない。
【００２７】
請求項９に記載の発明は請求項１乃至７の何れか１項に記載の情報通信システムにおいて、前記ノード装置の前記第１送信手段は、接続先の前記内部ネットワークに接続する他の前記ノード装置のうち少なくとも１つの前記ノード装置のアドレスを示すアドレス情報に基づいて、前記第１検索要求を前記接続先内部オーバーレイネットワークへ向けて送信し、前記ノード装置は、前記接続先内部オーバーレイネットワークへの参加の要求を示す参加要求情報を、接続先の前記内部ネットワークに接続する他の前記ノード装置に送信することにより、当該他のノード装置から送信されてきた前記アドレス情報を取得する参加手段を更に備えることを特徴とする。
【００２８】
この発明によれば、内部オーバーレイネットワークに参加するノード装置からの参加要求情報は、直接にはサポート装置には送信されない。よって、ノード装置による内部オーバーレイネットワークへの参加及び離脱が頻繁に起きても、サポート装置の負荷が増大しない。
【００２９】
請求項１０に記載の発明は、複数のコンテンツが複数のノード装置間で送受信される情報通信システムにおける情報通信方法であって、前記情報通信システムは、外部ネットワークに複数の内部ネットワークが接続され、同一の前記内部ネットワークに接続する複数の前記ノード装置と、前記内部ネットワークに接続し前記ノード装置によるコンテンツの取得を支援するサポート装置と、を前記内部ネットワーク毎に備え、同一の前記内部ネットワークに接続する前記ノード装置間でのコンテンツの送受信を可能とするオーバーレイネットワークとしての内部オーバーレイネットワークが前記内部ネットワーク毎に構築され、各前記サポート装置間でのコンテンツの送受信を可能とするオーバーレイネットワークとしての外部オーバーレイネットワークが前記外部ネットワーク上に構築され、前記ノード装置が、接続先の前記内部ネットワーク上の前記内部オーバーレイネットワークである接続先内部オーバーレイネットワークに向けてコンテンツの第１検索要求を送信する第１送信工程と、前記ノード装置が、前記第１送信工程により前記第１検索要求を送信した結果、前記接続先内部オーバーレイネットワークからコンテンツを取得することができない場合には、コンテンツの要求を示すコンテンツ要求情報を、接続先の前記内部ネットワークに接続する前記サポート装置である接続先サポート装置に送信するコンテンツ要求情報送信工程と、前記サポート装置が、前記ノード装置から送信された前記コンテンツ要求情報を受信するコンテンツ要求情報受信工程と、前記サポート装置が、前記コンテンツ要求情報受信工程により前記コンテンツ要求情報が受信されたときに要求されたコンテンツが、前記サポート装置の記憶手段に記憶されている場合、前記記憶手段に記憶されているコンテンツを要求元の前記ノード装置に送信する第１コンテンツ送信工程と、前記サポート装置が、前記要求されたコンテンツが前記記憶手段に記憶されていない場合、前記外部オーバーレイネットワークに向けてコンテンツの第２検索要求を送信する第２送信工程と、前記サポート装置が、前記第２送信工程により前記第２検索要求を送信した結果、前記外部オーバーレイネットワークから取得されたコンテンツを前記記憶手段に記憶させる制御工程と、前記サポート装置が、前記外部オーバーレイネットワークから取得されたコンテンツを要求元の前記ノード装置に送信するコンテンツ送信工程と、前記ノード装置が、前記接続先サポート装置から送信されたコンテンツを受信するコンテンツ受信工程と、を有することを特徴とする。
【００３１】
請求項１１に記載の発明は、請求項１０に記載の情報通信方法において、前記ノード装置が、前記ノード装置毎にオーバーレイネットワーク方式又はクライアントサーバ方式の何れか一方を示す方式情報を取得する第１方式情報取得工程を更に有し、前記第１送信工程において、コンテンツを取得する前記ノード装置に対応する前記方式情報がクライアントサーバ方式を示す場合、当該ノード装置は、前記接続先サポート装置へ前記コンテンツ要求情報を送信することを特徴とする。
【００３２】
請求項１２に記載の発明は、請求項１０又は請求項１１に記載の情報通信方法において、前記サポート装置が、前記サポート装置毎にオーバーレイネットワーク方式又はクライアントサーバ方式の何れか一方を示す方式情報を取得する第２方式情報取得工程を更に有し、前記第２送信工程において、前記接続先サポート装置に対応する前記方式情報がクライアントサーバ方式を示す場合、当該接続先サポート装置は、前記外部ネットワークを介して所定のサーバ装置へ、コンテンツの要求を示す第２コンテンツ要求情報を送信することを特徴とする。
【００３３】
請求項１３に記載の発明は、複数のコンテンツが複数のノード装置間で送受信される情報通信システムにおける情報通信プログラムであって、前記情報通信システムは、外部ネットワークに複数の内部ネットワークが接続され、同一の前記内部ネットワークに接続する複数の前記ノード装置と、前記内部ネットワークに接続し前記ノード装置によるコンテンツの取得を支援するサポート装置と、を前記内部ネットワーク毎に備え、同一の前記内部ネットワークに接続する前記ノード装置間でのコンテンツの送受信を可能とするオーバーレイネットワークとしての内部オーバーレイネットワークが前記内部ネットワーク毎に構築され、各前記サポート装置間でのコンテンツの送受信を可能とするオーバーレイネットワークとしての外部オーバーレイネットワークが前記外部ネットワーク上に構築され、前記ノード装置は、接続先の前記内部ネットワーク上の前記内部オーバーレイネットワークである接続先内部オーバーレイネットワークに向けてコンテンツの第１検索要求を送信する第１送信手段と、前記第１送信手段により前記第１検索要求を送信した結果、前記接続先内部オーバーレイネットワークからコンテンツを取得することができない場合には、コンテンツの要求を示すコンテンツ要求情報を、接続先の前記内部ネットワークに接続する前記サポート装置である接続先サポート装置に送信するコンテンツ要求情報送信手段と、前記接続先サポート装置から送信されたコンテンツを受信するコンテンツ受信手段と、を備え、前記サポート装置のコンピュータに、前記ノード装置から送信された前記コンテンツ要求情報を受信するコンテンツ要求情報受信ステップと、前記コンテンツ要求情報受信ステップにより前記コンテンツ要求情報が受信されたときに要求されたコンテンツが、前記サポート装置の記憶手段に記憶されている場合、前記記憶手段に記憶されているコンテンツを要求元の前記ノード装置に送信する第１コンテンツ送信ステップと、前記要求されたコンテンツが前記記憶手段に記憶されていない場合、前記外部オーバーレイネットワークに向けてコンテンツの第２検索要求を送信する第２送信ステップと、前記第２送信ステップにより前記第２検索要求を送信した結果、前記外部オーバーレイネットワークから取得されたコンテンツを前記記憶手段に記憶させる制御ステップと、前記外部オーバーレイネットワークから取得されたコンテンツを要求元の前記ノード装置に送信するコンテンツ送信ステップと、を実行させることを特徴とする。
【発明の効果】
【００３４】
本発明によれば、接続先の内部ネットワークに接続する他のノード装置がコンテンツを記憶していれば、ノード装置は他のノード装置からコンテンツを取得することが出来る。この場合、ノード装置は外部ネットワークを介してコンテンツを要求する必要がない。従って、内部ネットワークから外部ネットワークに接続する回線のトラフィックが減り、コンテンツを効率良く取得することが出来る。また、ノード装置は、接続先内部オーバーレイネットワークからコンテンツを取得することができない場合、サポート装置を介してコンテンツを取得する。従って、内部ネットワークから外部ネットワークに接続する回線のトラフィックが減り、コンテンツを効率良く取得することが出来る。
【図面の簡単な説明】
【００３５】
【図１】一実施形態に係るコンテンツ配信システムＳの概要構成例を示す図である。
【図２】一実施形態に係るコンテンツ配信システムＳにおけるＰ２ＰネットワークＰＷ及び拠点Ｐ２ＰネットワークＰＬｍの構築例を示す図である。
【図３】一実施形態に係るコンテンツ配信システムＳにおいてコンテンツが配信される様子の一例を示した概念図である。
【図４】動作モード指定ファイルに記述される内容の一例を示す図である。
【図５】一実施形態に係るコンテンツ配信システムＳにおいて動作モード指定ファイルが配信される様子の一例を示した概念図である。
【図６】投入サーバＳＴの概要構成例を示す図である。
【図７】エッジサーバＳＥｍの概要構成例を示す図である。
【図８】ユーザ端末Ｔｍ−ｎの概要構成例を示す図である。
【図９】一実施形態に係る管理サーバＳＭの処理例を示すフローチャートである。
【図１０】拠点内ノードリスト画面の表示例である。
【図１１】一実施形態に係るユーザ端末Ｔｍ−ｎにおける制御部４１の処理例を示すフローチャートである。
【図１２】一実施形態に係るユーザ端末Ｔｍ−ｎにおける制御部４１の動作モード制御処理の処理例を示すフローチャートである。
【図１３】一実施形態に係るユーザ端末Ｔｍ−ｎにおけるＰ２Ｐソフトウェアメイン処理の処理例を示すフローチャートである。
【図１４】一実施形態に係るユーザ端末Ｔｍ−ｎにおけるコンテンツ要求処理の処理例を示すフローチャートである。
【図１５】一実施形態に係るエッジサーバＳＥｍにおける制御部２１の処理例を示すフローチャートである。
【発明を実施するための形態】
【００３６】
以下、本発明の実施形態を図面に基づいて説明する。なお、以下に説明する実施の形態は、コンテンツ配信システムに本発明を適用した場合の実施形態である。
【００３７】
［１．コンテンツ配信システムの概要構成］
始めに、図１を参照して、本実施形態に係るコンテンツ配信システムの概要構成について説明する。
【００３８】
図１は、本実施形態に係るコンテンツ配信システムＳの概要構成例を示す図である。
【００３９】
図１に示すように、コンテンツ配信システムＳは、ネットワークＮＷに、配信センターネットワークＮＳと複数の拠点ネットワークＮＬｍ（ｍ＝１，２，３・・・の何れか）とが接続されている。このネットワークＮＷ、配信センターネットワークＮＳ、及び各拠点ネットワークＮＬｍは、現実世界の通信ネットワークである。なお、ネットワークＮＷは、外部ネットワークの一例である。また、拠点ネットワークＮＬｍは、内部ネットワークの一例である。
【００４０】
ネットワークＮＷは、配信センターネットワークＮＳ及び各拠点ネットワークＮＬｍを相互接続するためのネットワークである。このネットワークＮＷは、例えば、インターネットやＷＡＮ（Wide Area Network）等である。そして、ネットワークＮＷは、例えば、ＩＸ（Internet eＸchange）、ＩＳＰ（Internet Service Provider）、ＤＳＬ（Digital Subscriber Line）回線事業者の装置、ＦＴＴＨ（Fiber To The Home）回線事業者の装置、及び通信回線等によって構築されている。なお、ネットワークＮＷは、コンテンツ配信システムＳ専用のネットワークであっても良い。
【００４１】
配信センターネットワークＮＳは、配信センターの敷地内に構築されたネットワークである。配信センターネットワークＮＳを構成する装置は、全て同一の敷地内に構築されなくても良い。この配信センターネットワークＮＳは、例えば、ＬＡＮ（Local Area Network）等により構築されている。
【００４２】
また、配信センターネットワークＮＳには、投入サーバＳＴ、管理サーバＳＭ、ポータルサーバＳＰ等のサーバ装置、及び管理端末ＭＴ等が接続されている。更に、配信センターネットワークＮＳには、通信回線ＬＳを介して配信センターネットワークＮＳとネットワークＮＷとを相互接続するファイアーウォールＦＷが接続されている。
【００４３】
各拠点ネットワークＮＬｍは、夫々拠点ｍの敷地内に構築されたネットワークである。拠点としては、例えば、会社、学校、病院、塾等がある。この拠点ネットワークＮＬｍは、例えば、ＬＡＮ等により構築されている。或いは、拠点ネットワークＮＬｍは、複数のＬＡＮが相互接続して構築されたネットワークであっても良い。この場合、複数のＬＡＮは、ルータ等のネットワーク機器を介して接続される。複数のＬＡＮが相互接続されたネットワークとしては、例えば、ＣＡＮ（Campus Area Network）等がある。
【００４４】
また、各拠点ネットワークＮＬｍには、複数のユーザ端末Ｔｍ−ｎ（ｎ＝１，２，３・・・の何れか）、及びエッジサーバＳＥｍが接続されている。更に、各拠点ネットワークには、通信回線Ｌｍを介して配信センターネットワークＮＳとネットワークＮＷとを相互接続するファイアーウォールＦＷ又はブロードバンドルータＢＲが接続されている。ファイアーウォールＦＷ又はブロードバンドルータＢＲの何れが拠点に設置されるかは、拠点毎に任意に決定される。なお、ユーザ端末Ｔｍ−ｎは、ノード装置の一例である。また、エッジサーバＳＥｍは、サポート装置の一例である。
【００４５】
このような構成のコンテンツ配信システムＳにおいて、構成要素たる各装置の機能概要は以下の通りである。
【００４６】
投入サーバＳＴは、後述するＰ２ＰネットワークＰＷにコンテンツデータを投入するサーバ装置である。ここで、コンテンツデータの投入とは、コンテンツデータをエッジサーバＳＥｍから取得可能な状態におくことをいう。なお、コンテンツデータを、「コンテンツ」という。
【００４７】
ポータルサーバＳＰは、ユーザ端末Ｔｍ−ｎからのリクエストに応じてＷｅｂページをユーザ端末Ｔｍ−ｎに送信する。ポータルサーバＳＰにより送信されるＷｅｂページは、コンテンツの一例として動画データを配信するＷｅｂサイトを構成する。
【００４８】
管理サーバＳＭは、配信するコンテンツを管理するためのＷｅｂアプリケーションを管理端末ＭＴに提供する。つまり、管理サーバＳＭは、コンテンツを管理するためのＷｅｂページを管理端末ＭＴに送信する。また、管理サーバＳＭは、各エッジサーバＳＥｍ及び各ユーザ端末Ｔｍ−ｎの動作モードを設定するためのＷｅｂアプリケーションを管理端末ＭＴに提供する。なお、動作モードについての詳細は後述する。
【００４９】
ユーザ端末Ｔｍ−ｎは、拠点ｍにいるユーザにより使用される端末装置である。ユーザ端末Ｔｍ−ｎは、ポータルサーバＳＰ等のＷｅｂサーバからＷｅｂページを取得し、取得したＷｅｂページを画面表示する。また、ユーザ端末Ｔｍ−ｎは、同じ拠点ｍに接続する他の端末Ｔｍ−ｎ又はエッジサーバＳＥｍからコンテンツを取得し保存する。更に、ユーザ端末Ｔｍ−ｎは、動画データ等のコンテンツを再生する。
【００５０】
エッジサーバＳＥｍは、各拠点ｍに少なくとも１台設置されている。エッジサーバＳＥｍは、同じ拠点ｍに接続する端末Ｔｍ−ｎによるコンテンツの取得を支援する。具体的に、エッジサーバＳＥｍは、ユーザ端末Ｔｍ−ｎの代理として、他のエッジサーバＳＥｍ又は投入サーバＳＴからコンテンツを取得する。そして、エッジサーバＳＥｍは、取得したコンテンツをユーザ端末Ｔｍ−ｎに送信する。また、エッジサーバＳＥｍは、取得したコンテンツを保存する。
【００５１】
［２．ピアツーピアネットワークの概要］
次に、図２を参照して、コンテンツ配信システムＳにおけるピアツーピアネットワークの概要を説明する。
【００５２】
図２は、本実施形態に係るコンテンツ配信システムＳにおけるＰ２ＰネットワークＰＷ及び拠点Ｐ２ＰネットワークＰＬｍの構築例を示す図である。
【００５３】
コンテンツ配信システムＳにおいては、コンテンツ配信のためのピアツーピアネットワークが構築されている。このピアツーピアネットワークは２種類ある。図２に示すように、第１のピアツーピアネットワークは、ネットワークＮＷ上に構築されたＰ２ＰネットワークＰＷである。そして、第２のピアツーピアネットワークは、拠点ｍ毎に構築された拠点Ｐ２ＰネットワークＰＬｍである。
【００５４】
Ｐ２ＰネットワークＰＷは、ネットワークＮＷ上に構築された論理的なオーバーレイネットワークである。このＰ２ＰネットワークＰＷは、コンテンツ配信システムＳを構成するエッジサーバＳＥｍのうち、何れか複数のエッジサーバＳＥｍの接続により形成されるネットワークである。なお、Ｐ２ＰネットワークＰＷには、投入サーバＳＴも接続されるようにしても良い。各拠点ネットワークＮＬｍからは、ブロードバンドルータＢＲやファイアーウォールＦＷを介してネットワークＮＷに接続される。そのため、エッジサーバＳＥｍが、ピアツーピア方式で通信を行えるよう、ブロードバンドルータＢＲやファイアーウォールＦＷにおいてポートフォワーディングの設定を行っておく。例えば、ブロードバンドルータＢＲであれば、ＵＰｎＰ（Universal Plug and Play）機能等を利用して自動的にポートフォワーディングの設定が行われるようにしておくと良い。なお、Ｐ２ＰネットワークＰＷは、外部オーバーレイネットワークの一例である。
【００５５】
拠点Ｐ２ＰネットワークＰＬｍは、拠点ネットワークＮＬｍ上に構築された論理的なオーバーレイネットワークである。このピアツーピアネットワークＰＬｍは、拠点ＮＬｍに接続するユーザ端末Ｔｍ−ｎ及びエッジサーバＳＥｍのうち、複数のユーザ端末Ｔｍ−ｎ及びエッジサーバＳＥｍの接続により形成されるネットワークである。なお、Ｐ２ＰネットワークＰＬｍは、内部オーバーレイネットワークの一例である。
【００５６】
以下、Ｐ２ＰネットワークＰＷ及び拠点Ｐ２ＰネットワークＰＬｍについて説明する。なお、どちらのピアツーピアネットワークも基本的な仕組み及び通信プロトコルは同じであるので、特に区別することなく本実施形態に係るピアツーピアネットワークとして説明する。そして、Ｐ２ＰネットワークＰＷと拠点Ｐ２ＰネットワークＰＬｍとで異なる部分がある場合には、適宜補足する。また、ピアツーピアネットワークに接続する装置を、「ノード」と称する。Ｐ２ＰネットワークＰＷにおいてノードに相当する装置は、エッジサーバＳＥｍである。或いは、エッジサーバＳＥｍ及び投入サーバＳＴがノードに相当する。また、拠点Ｐ２ＰネットワークＰＬｍにおいてノードに相当する装置は、ユーザ端末Ｔｍ−ｎ及びエッジサーバＳＥｍである。
【００５７】
コンテンツ配信システムＳにおけるピアツーピアネットワークは、特定のアルゴリズム、例えば、ＤＨＴ（Distributed Hash Table）を利用したアルゴリズムにより実現される。そして、コンテンツ配信システムＳに接続されている各ノードには、所定桁数からなる固有の識別情報であるノードＩＤが割り当てられている。
【００５８】
また、ノードＩＤは、例えば、各ノードに個別に割り当てられたＩＰアドレス、製造番号、或いはＭＡＣアドレス（Media Access Control address）等を共通のハッシュ関数によりハッシュ化した値である。ノードＩＤは、ＩＤ空間に偏りなく分散して配置されることになる。ハッシュ関数としては、例えば、ＳＨＡ−１等が用いられる。また、ハッシュ化した値は、例えば、ｂｉｔ長が１６０ｂｉｔとなる。そして、このノードＩＤは、ＩＤ空間に偏りなく分散して配置されることになる。なお、ノードＩＤは、ピアツーピアネットワークに接続するためのＰ２Ｐソフトウェアのセットアップ時に、システム管理者やユーザ等によってノード毎に登録されても良い。図２に示すＰ２ＰネットワークＰＷ及び各Ｐ２ＰネットワークＰＬｍは、夫々、ノードＩＤのＩＤ空間をリング状のものとして示されている。そして、図２のリング状のＩＤ空間において示されている各ノードの位置は、夫々のノードＩＤに対応している。
【００５９】
エッジサーバＳＥｍは、Ｐ２ＰネットワークＰＷ及び拠点Ｐ２ＰネットワークＰＬｍの両方に接続する。そこで、エッジサーバＳＥｍに対しては、Ｐ２ＰネットワークＰＷ及び拠点Ｐ２ＰネットワークＰＬｍ共通のノードＩＤを割り当てても良い。この場合、Ｐ２ＰネットワークＰＷ及び全拠点Ｐ２ＰネットワークＰＬｍを含めて、全てのノードにノードＩＤが重複しないように割り当てられる。或いは、エッジサーバＳＥｍに対しては、Ｐ２ＰネットワークＰＷ用のノードＩＤと、拠点Ｐ２ＰネットワークＰＬｍ用のノードＩＤとを割り当てても良い。この場合、異なるピアツーピアネットワーク間においては、ノードＩＤが重複して割り当てられても良い。
【００６０】
ピアツーピアネットワークへの接続は、ピアツーピアネットワークに接続していないノードが、接続している任意のノードに対してコンテンツ配信システムへの参加要求を示す参加要求メッセージを送信することによって行われる。この参加要求メッセージは参加要求情報の一例である。ここで、ピアツーピアネットワークへの参加とは、ノードが、ピアツーピアネットワークに接続され、ピアツーピアネットワークからコンテンツを取得可能になることである。任意のノードは、例えば、ピアツーピアネットワークに常時接続しているコンタクトノードである。Ｐ２ＰネットワークＰＷにおけるコンタクトノードは、例えば、投入サーバＳＴである。一方、拠点Ｐ２ＰネットワークＰＬｍにおけるコンタクトノードは、例えば、エッジサーバＳＥｍである。
【００６１】
各ノードは、夫々、ＤＨＴを用いたルーティングテーブルを保持している。このルーティングテーブルは、コンテンツ配信システムＳ上における各種メッセージの転送先を規定している。具体的に、このルーティングテーブルには、ＩＤ空間内で適度に離れたノードのアドレス等を示すノード情報が複数登録されている。このノード情報は、ノードのノードＩＤ、ＩＰアドレス及びポート番号を含む。このノード情報は、アドレス情報の一例である。
【００６２】
ピアツーピアネットワークに接続している１台のノードは、必要最低限のノードのノード情報をルーティングテーブルとして記憶している。各ノード間で互いに各種メッセージが転送されることで、ノード情報を記憶していないノードについてのノード情報が取得される。
【００６３】
このようなＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００６４】
ピアツーピアネットワークは、内容の異なる様々なコンテンツのレプリカを所定のファイル形式で複数のノードに分散して保存する。そして、各ノード間でレプリカが利用可能になっている。各コンテンツのオリジナルは投入サーバＳＴに保存されている。例えば、Ｐ２ＰネットワークＰＷにおいて、エッジサーバＳＥ５のコンテンツキャッシュエリアには、タイトルがＸＸＸの映画のコンテンツのレプリカが保存されている。一方、エッジサーバＳＥ３のコンテンツキャッシュエリアには、タイトルがＹＹＹの映画のコンテンツのレプリカが保存される。このように、コンテンツは複数のノードに分散されて保存されている。コンテンツキャッシュエリアとは、コンテンツを記憶保存するための領域である。実際のコンテンツキャッシュエリアは、例えば、ノードが備える特定のハードディスクに割り当てられていたり、ハードディスクの特定のパーティションに割り当てられていたりする。エッジサーバＳＥｍのコンテンツキャッシュエリアの記憶容量は、ユーザ端末Ｔｍ−ｎのコンテンツキャッシュエリアの記憶容量よりも大きくなっている。一例として、エッジサーバＳＥｍのコンテンツキャッシュエリアの記憶容量は、ユーザ端末Ｔｍ−ｎのコンテンツキャッシュエリアの記憶容量の１０〜１００倍程度である。コンテンツキャッシュエリアにコンテンツが保存しきれなくなった場合は、新しいコンテンツを保存するため、例えば、コンテンツキャッシュエリアから、旧い順にコンテンツが削除される。コンテンツの新旧は、例えば、コンテンツの利用日時等により判断される。以下、コンテンツのレプリカが保存されるノードを、「コンテンツ保持ノード」という。また、以下の説明においては、オリジナルのコンテンツとレプリカとを特に区別することなく、コンテンツと称する。
【００６５】
上述のコンテンツには、夫々、コンテンツ名及びコンテンツ毎に固有の識別情報であるコンテンツＩＤ等の情報が付加されている。このコンテンツＩＤは、例えば、コンテンツ名＋任意の数値が、上記ノードＩＤを得るときと共通のハッシュ関数によりハッシュ化されて生成される。或いは、システム管理者が、コンテンツ毎に一意のＩＤ値を付与しても良い。
【００６６】
分散保存されているコンテンツの所在は、インデックス情報として、コンテンツの所在を管理（記憶）しているノード等により記憶される。以下、コンテンツの所在を管理（記憶）しているノードを、「ルートノード」という。インデックス情報は、コンテンツを保存したノードのノード情報と、コンテンツのコンテンツＩＤと等の組を含む。このようなルートノードは、例えば、コンテンツＩＤと最も近いノードＩＤを有するノードであるように定められる。コンテンツＩＤと最も近いノードＩＤとは、例えば、ＩＤの上位桁が最も多く一致するノードＩＤである。
【００６７】
例えば、拠点Ｐ２ＰネットワークＰＬ３の場合において、タイトルがＸＸＸの映画のコンテンツについてのインデックス情報は、そのコンテンツのルートノードであるユーザ端末Ｔ３−１により管理される。また、例えば、タイトルがＹＹＹの映画のコンテンツについてのインデックス情報は、そのコンテンツのルートノードであるユーザ端末Ｔ３−３により管理される。
【００６８】
そして、或るノードのユーザが、所望するコンテンツを取得したい場合、このコンテンツの取得を望むノードは、メッセージを生成する。以下、ユーザによりコンテンツの取得を望むノードを、「ユーザノード」という。このメッセージは、取得を望むコンテンツのコンテンツＩＤ、ユーザノードのＩＰアドレス、ポート番号等を含むコンテンツ所在問合せメッセージである。コンテンツ所在問合せメッセージは、コンテンツ保持ノードを検索するためのメッセージである。上述のコンテンツ所在問合せメッセージが、ユーザノードが取得するＤＨＴのルーティングテーブルに従って、他のノードに対して送出される。つまり、ユーザノードは、コンテンツ所在問合せメッセージを、ルートノードに向けて送出する。これにより、コンテンツ所在問合せメッセージは、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着することになる。
【００６９】
各ノードにおいて、コンテンツのコンテンツＩＤ等の属性情報は、コンテンツカタログ情報に記述されている。このコンテンツカタログ情報に記述されるコンテンツの属性情報としては、例えば、コンテンツ名、コンテンツＩＤ、コンテンツの公開開始日時、公開終了日時、有効無効フラグ等がある。有効無効フラグは、コンテンツが有効であるか無効であるかを示すフラグである。この有効無効フラグが無効を示す場合、該当するコンテンツはコンテンツキャッシュエリアから削除される。
【００７０】
コンテンツカタログ情報は、例えば、投入サーバＳＴから全てのエッジサーバＳＥｍに配信される。そして、エッジサーバＳＥｍに配信されたコンテンツカタログ情報は、エッジサーバＳＥｍにより、拠点ネットワークＮＬｍに接続されている全てのユーザ端末Ｔｍ−ｎに配信される。このコンテンツカタログ情報の配信は、例えば、特開２００７−０５３６６２号公報にて開示されたＤＨＴマルチキャスト（マルチキャストメッセージ転送処理）により行われても良い。また、各エッジサーバＳＥｍが、定期的に投入サーバＳＴにアクセスすることによりコンテンツカタログ情報を取得しても良い。更にまた、各ユーザ端末Ｔｍ−ｎが、定期的にエッジサーバＳＥｍにアクセスすることによりコンテンツカタログ情報を取得しても良い。
【００７１】
なお、ＤＨＴルーティングについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００７２】
上記コンテンツ所在問合せメッセージを受信したルートノードは、これに含まれるコンテンツＩＤに対応するインデックス情報をインデックス情報キャッシュから取得する。取得されたインデックス情報は、コンテンツ所在問合せ応答メッセージに含まれて、コンテンツ所在問合せメッセージの送信元であるユーザノードに対して返信される。この、コンテンツ所在問合せ応答メッセージは、コンテンツ所在問合せメッセージに応答するメッセージである。こうしてインデックス情報を取得したユーザノードは、インデックス情報に基づいてコンテンツをダウンロード（取得）することが出来る。インデックス情報に含まれるコンテンツ保持ノードのＩＰアドレス及びポート番号等に基づいて、ユーザノードはコンテンツ保持ノードにアクセスする。ユーザノードは、アクセスしたコンテンツ保持ノードから、コンテンツをダウンロードすることが可能になる。なお、インデックス情報には、複数のコンテンツ保持ノードのノード情報が含まれていることもある。この場合、ユーザノードは、この複数のコンテンツ保持ノードのうち１つのコンテンツ保持ノードを選択する。そして、ユーザノードは、選択したコンテンツ保持ノードに接続してコンテンツをダウンロードすることが出来る。
【００７３】
なお、ルートノードは、このインデックス情報に含まれるＩＰアドレス及びポート番号等に示されたコンテンツ保持ノードに対してコンテンツ送信要求メッセージを送信しても良い。これにより、ユーザノードは、上記コンテンツ保持ノードからそのコンテンツをダウンロードすることも出来る。また、上記ユーザノードは、コンテンツ所在問合せメッセージがルートノードに辿り着くまでの間に、このルートノードと同じインデックス情報をキャッシュしているキャッシュノードからこのインデックス情報を取得することも出来る。
【００７４】
ユーザノードが、コンテンツ保持ノードからコンテンツを取得して保存したとき、保存したユーザノードは、パブリッシュメッセージを生成する。このパブリッシュメッセージは、コンテンツを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、コンテンツのコンテンツＩＤ及びコンテンツを保存したノード装置のノード情報を含む。パブリッシュメッセージは、ルートノードに向けて送出される。これにより、パブリッシュメッセージは、コンテンツ所在問合せメッセージと同じように、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。そして、ルートノードは、パブリッシュメッセージを受信する。ルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報をインデックス情報キャッシュ領域に記憶する。こうして、上記ユーザノードは、新たに、上記コンテンツを保持するコンテンツ保持ノードとなる。
【００７５】
［３．コンテンツ配信の概要］
次に、図３を参照して、コンテンツを配信する場合におけるコンテンツ配信システムＳの動作概要について説明する。
【００７６】
図３は、本実施形態に係るコンテンツ配信システムＳにおいてコンテンツが配信される様子の一例を示した概念図である。
【００７７】
先ず、システム管理者が、管理端末ＭＴを操作して、配信するコンテンツを登録する（図３（１））。具体的に、システム管理者が、Ｗｅｂアプリケーション上で、コンテンツのファイル名及びコンテンツ名等を指定する。すると、管理端末ＭＴは、ファイル名によって指定されたコンテンツを管理サーバＳＭに送信する。
【００７８】
管理サーバＳＭは、受信したコンテンツを投入サーバＳＴに送信し、コンテンツの配信を指示する（図３（２））。投入サーバＳＴは、受信したコンテンツに新たなコンテンツＩＤを割り当て、このコンテンツを保存する。また、投入サーバＳＴは、コンテンツに割り当てたコンテンツＩＤを管理サーバＳＭに返信する。管理サーバＳＭは、コンテンツＩＤを受信すると、ポータルサーバＳＰによって配信されるＷｅｂページを更新する。具体的に、管理サーバＳＭは、Ｗｅｂページを構成するＨＴＭＬ（Hyper Text Markup Language）文書に、割り当てられたコンテンツＩＤ及びコンテンツ名を記述したタグを追加する。これにより、再生可能なコンテンツとして新たなコンテンツが選択可能となる。
【００７９】
投入サーバＳＴは、管理サーバＳＭから受信したコンテンツをＰ２ＰネットワークＰＷに投入する（図３（３））。具体的に、投入サーバＳＴは、１又は複数の任意のエッジサーバＳＥｍにコンテンツを送信する。また、投入サーバＳＴは、登録されたコンテンツの属性情報が追加されたコンテンツカタログ情報を各エッジサーバＳＥｍに配信する。なお、投入サーバＳＴは、この時点ではコンテンツを送信せずに、コンテンツを自らが保存しておくだけでも良い。この場合であっても、エッジサーバＳＥｍが必要なときに投入サーバＳＴからコンテンツを取得することが出来る。
【００８０】
その後、或るユーザ端末Ｔｍ−ｎ、例えば、ユーザ端末Ｔ２−６がポータルサーバＳＰにアクセスすることにより、Ｗｅｂページを受信して画面表示する。そして、画面表示されたＷｅｂページ上で、ユーザが或るコンテンツ、例えば、コンテンツＡの再生を指示する。すると、ユーザ端末Ｔ２−６は、先ず、ユーザ端末Ｔ２−６自身が参加している拠点Ｐ２ＰネットワークＰＬ２からコンテンツＡを取得しようとする。先ず、ユーザ端末Ｔ２−６は、拠点Ｐ２ＰネットワークＰＬ２に参加しているコンテンツＡのルートノードに向けて、コンテンツ所在問合せを送信する（図３（４））。このコンテンツ所在問合せは、例えば、エッジサーバＳＥ２から、ルートノードであるユーザ端末Ｔ２−１に転送される。
【００８１】
ユーザ端末Ｔ２−１は、コンテンツＡのインデックス情報をユーザ端末Ｔ２−６に送信する（図３（５））。拠点Ｐ２ＰネットワークＰＬ２に参加しているノードの何れかがコンテンツＡを保存している場合、インデックス情報にはコンテンツ保持ノードのノード情報が含まれている。従って、ユーザ端末Ｔ２−６は、何れかのコンテンツ保持ノード、例えば、ユーザ端末Ｔ２−３にコンテンツ要求メッセージを送信する（図３（６Ａ））。ユーザ端末Ｔ２−３は、ユーザ端末Ｔ２−３自身のコンテンツキャッシュエリアに保存されているコンテンツＡをユーザ端末Ｔ２−６に送信する（図３（７Ａ））。そして、ユーザ端末Ｔ２−６は、受信したコンテンツの再生を開始する。
【００８２】
一方、例えば、ユーザ端末Ｔ１−３が、再生を指示されたコンテンツＢを取得する場合を考える。ここで、ユーザ端末Ｔ１−３がコンテンツ所在問合せメッセージを、拠点Ｐ２ＰネットワークＰＬ１に参加しているコンテンツＢのルートノードに向けて、コンテンツ所在問合せを送信する。このとき、拠点Ｐ２ＰネットワークＰＬ１に参加しているノードがコンテンツＢを保存していない場合には、ルートノードは、有効なコンテンツ保持ノードのインデックス情報を返信しない。つまり、ユーザ端末Ｔ１−３は、コンテンツＢを拠点Ｐ２ＰネットワークＰＬ１から取得することができない。この場合、ユーザ端末Ｔ１−３は、エッジサーバＳＥ１を介してコンテンツを取得する。具体的に、ユーザ端末Ｔ１−３は、エッジサーバＳＥ１にコンテンツ代理取得要求メッセージを送信する（図３（６Ｂ））。このコンテンツ代理取得要求メッセージは、コンテンツ要求情報の一例である。
【００８３】
コンテンツ代理取得要求メッセージを受信したエッジサーバＳＥ１は、Ｐ２ＰネットワークＰＷからコンテンツＢを取得する。先ず、エッジサーバＳＥ１は、コンテンツＢのルートノードに向けてコンテンツ所在問合せメッセージを送信する（図３（７Ｂ））。このコンテンツ所在問合せメッセージは、ルートノードである例えばエッジサーバＳＥ５に転送される。エッジサーバＳＥ５は、コンテンツＢのインデックス情報をエッジサーバＳＥ１に送信する（図３（８Ｂ））。エッジサーバＳＥ１は、コンテンツＢのコンテンツ保持ノードの１つであるエッジサーバＳＥ３にコンテンツ要求メッセージを送信する（図３（９Ｂ））。エッジサーバＳＥ３は、エッジサーバＳＥ３自身のキャッシュエリアに保存されているコンテンツＢをエッジサーバＳＥ１に送信する（図３（１０Ｂ））。エッジサーバＳＥ１は、受信したコンテンツＢを保存するとともに、ユーザ端末Ｔ１−３に送信する（図３（１１Ｂ））。
【００８４】
このように、ユーザ端末Ｔｍ−ｎは、ユーザ端末Ｔｍ−ｎ自身が参加する拠点Ｐ２ＰネットワークＰＬｍからコンテンツの取得を試みる。これによって、通信回線Ｌｍを介してコンテンツを要求する回数が減少するので、通信回線Ｌｍのトラフィックを減らすことが出来る。
【００８５】
［４．動作モードの切り替え］
次に、図４及び図５を参照して、ユーザ端末Ｔｍ−ｎ及びエッジサーバＳＥｍがコンテンツを取得する際の動作モードの切り替えについて説明する。
【００８６】
図４は、動作モード指定ファイルに記述される内容の一例を示す図である。また、図５は、本実施形態に係るコンテンツ配信システムＳにおいて動作モード指定ファイルが配信される様子の一例を示した概念図である。
【００８７】
上述したように、ユーザ端末Ｔｍ−ｎは、先ず、ユーザ端末Ｔｍ−ｎ自身が参加する拠点Ｐ２ＰネットワークＰＬｍからコンテンツの取得を試みる。また、エッジサーバＳＥｍは、Ｐ２ＰネットワークＰＷからコンテンツを取得する。
【００８８】
しかしながら、拠点によっては、ネットワークのセキュリティポリシーの都合上、拠点Ｐ２ＰネットワークＰＬｍを構築することができなかったり、エッジサーバＳＥｍがＰ２ＰネットワークＰＷに参加することができない場合がある。例えば、拠点ネットワークＮＬｍが複数のネットワークの相互接続によって構築されている場合、特定のウェルノウンポート番号等のポート番号のパケットのみネットワーク間を通過することが許可されている場合がある。ポート番号としては、例えばＨＴＴＰの８０番等がある。また、ファイアーウォールＦＷからネットワークＮＷに送出されるパケットとしては、特定のウェルノウンポート番号等のポート番号のパケットのみ許可されている場合がある。また、拠点ｍ間の直接の通信は許容せずに、必ず本部に設置されたサーバ装置を介してデータをやりとりするように定められている場合がある。なお、本部とは、例えば、配信センターであったり、特定の拠点ｍであったりする。このような場合、ピアツーピア方式の通信を行うことができない。また、拠点ｍにおけるセキュリティポリシーは、例えば、組織変更や部門の統廃合等によって頻繁に変更される場合がある。
【００８９】
そこで、コンテンツ配信システムＳにおいては、こうしたセキュリティポリシーの変更に柔軟に対応すべく、ユーザ端末Ｔｍ−ｎ毎及びエッジサーバＳＥｍ毎に動作モードを切り替えることが出来るようになっている。この動作モードとしては、ピアツーピアモードと、クライアントサーバモードとがある。以下、ピアツーピアモードは、「Ｐ２Ｐモード」という。なお、初期の動作モードは、ユーザ端末Ｔｍ−ｎ及びエッジサーバＳＥｍ何れの場合も、クライアントサーバモードである。
【００９０】
動作モードがＰ２Ｐモードである場合、ユーザ端末Ｔｍ−ｎ又はエッジサーバＳＥｍは、ピアツーピア方式で通信を行うように動作する。つまり、ユーザ端末Ｔｍ−ｎは、拠点Ｐ２ＰネットワークＰＬｍに参加し、エッジサーバＳＥｍは、Ｐ２ＰネットワークＰＷに参加する。一方、動作モードがクライアントサーバモードである場合、ユーザ端末Ｔｍ−ｎ又はエッジサーバＳＥｍは、クライアントサーバ方式で通信を行うように動作する。この場合、ユーザ端末Ｔｍ−ｎは、同じ拠点ネットワークＮＬｍに接続するエッジサーバＳＥｍをクライアントサーバ方式におけるサーバとして、エッジサーバＳＥｍからコンテンツを取得する。また、エッジサーバＳＥｍは、投入サーバＳＴをクライアントサーバ方式におけるサーバとして、投入サーバＳＴからコンテンツを取得する。
【００９１】
上記の動作モードは、動作モード指定ファイルに記述される。この動作モード指定ファイルは、方式情報の一例である。図４に示すように、動作モード指定ファイルには、例えば、拠点ｍ毎に分けて動作モードが記述される。具体的には、先ず、拠点ｍの拠点識別情報としての拠点名、エッジサーバＳＥｍのＩＰアドレス、及びエッジサーバＳＥｍの動作モードが記述される。なお、図４の例では、拠点名の一例として事業所名が示されている。また、拠点ｍの拠点名に対応して、各ユーザ端末Ｔｍ−ｎのノードＩＤ及び動作モードが記述される。なお、図４において、動作モードとしてのクライアントサーバのことを、「クラサバ」と示している。
【００９２】
動作モードの設定及び変更は、配信センターにて行われる。システム管理者は、各拠点ｍのセキュリティポリシーに関する情報を収集し、セキュリティポリシーの変更があった場合には、ユーザ端末Ｔｍ−ｎ単位及びエッジサーバＳＥｍ単位で動作モードの設定変更を行う（図５（１））。動作モードが変更されると、管理サーバＳＭは、変更された動作モードを反映した新たな動作モード指定ファイルを作成する。そして、管理サーバＳＭは、作成した動作モード指定ファイルを投入サーバＳＴに送信し、コンテンツの配信を指示する（図５（２））。投入サーバＳＴは、受信した動作モード指定ファイルを、コンテンツとして新たなコンテンツＩＤを割り当てる。そして、投入サーバＳＴは、動作モード指定ファイルをコンテンツとして投入する（図５（３））。このときの投入方法は、通常のコンテンツの場合と同様でも良い。また、投入サーバＳＴは、新たに作成された動作モード指定ファイルの属性情報が追加されたコンテンツカタログ情報を各エッジサーバＳＥｍに配信する。
【００９３】
各エッジサーバＳＥｍは、定期的に最新の動作モード指定ファイルを取得する。具体的に、現在クライアントサーバモードで動作しているエッジサーバＳＥｍ、例えばエッジサーバＳＥ１は、投入サーバＳＴから最新の動作モード指定ファイルを取得する（図５（４Ａ））。また、現在Ｐ２Ｐモードで動作しているエッジサーバＳＥｍ、例えばエッジサーバＳＥ２は、Ｐ２ＰネットワークＰＷから最新の動作モード指定ファイルを取得する（図５（４Ｂ））。つまり、エッジサーバＳＥ２は、Ｐ２ＰネットワークＰＷに参加しているエッジサーバＳＥｍのうち、最新の動作モード指定ファイルのコンテンツ保持ノードである、例えばエッジサーバＳＥ３から動作モード指定ファイルを取得する。
【００９４】
各ユーザ端末Ｔｍ−ｎも、定期的に最新の動作モード指定ファイルを取得する。具体的に、現在クライアントサーバモードで動作しているユーザ端末Ｔｍ−ｎ、例えばユーザ端末Ｔ１−２は、エッジサーバＳＥ１から最新の動作モード指定ファイルを取得する（図５（５Ａ））。また、現在Ｐ２Ｐモードで動作しているユーザ端末Ｔｍ−ｎ、例えばユーザ端末Ｔ２−６は、拠点Ｐ２ＰネットワークＰＬ２から最新の動作モード指定ファイルを取得する（図５（５Ｂ））。つまり、ユーザ端末Ｔ２−６は、拠点Ｐ２ＰネットワークＰＬ２に参加しているエッジサーバＳＥ２及び他のユーザ端末Ｔｍ−ｎのうち、最新の動作モード指定ファイルのコンテンツ保持ノードである、例えばエッジサーバＳＥ２から動作モード指定ファイルを取得する。
【００９５】
このように、動作モード指定ファイルは、コンテンツとして配信される。そのため、コンテンツカタログ情報上、どのコンテンツが動作モード指定ファイルであるかを識別可能になっている必要がある。例えば、動作モード指定ファイルの属性情報中のコンテンツ名を、「動作モード指定ファイル」としても良い。このようにすることで、コンテンツ名で動作モード指定ファイルの属性情報を検索することが出来る。また例えば、動作モード指定ファイルの属性情報中に、動作モード指定ファイルであることを示す識別情報を付加しても良い。また例えば、動作モード指定ファイルのコンテンツＩＤの最上位ビットの値を１とし、動作モード指定ファイル以外のコンテンツのコンテンツＩＤの最上位ビットの値を０としても良い。
【００９６】
また、動作モード指定ファイルが新たに作成される度に、新たなコンテンツＩＤが割り当てられる。そのため、コンテンツカタログ情報上、どの動作モード指定ファイルが最新の動作モード指定ファイルであるかを識別可能になっている必要がある。例えば、コンテンツカタログ情報には、今まで作成された動作モード指定ファイルのうち最新の動作モード指定ファイルの属性情報のみを記述しても良い。または、動作モード指定ファイルの属性情報中の公開開始日時に、動作モード指定ファイルが作成された日時を記述しても良い。こうしておけば、公開開始日時が最も新しい動作モード指定ファイルが、最新の動作モード指定ファイルであると分かる。或いは、最新の動作モード指定ファイルのみ属性情報中の有効無効フラグを有効に設定し、その他の動作モード指定ファイルの有効無効フラグを無効に設定しても良い。
【００９７】
［５．投入サーバＳＴの構成及び機能等］
次に、図６を参照して、投入サーバＳＴの構成及び機能について説明する。
【００９８】
図６は、投入サーバＳＴの概要構成例を示す図である。
【００９９】
投入サーバＳＴは、図６に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データ及びプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部１１を備えている。また、投入サーバＳＴは、各種データ及び各種プログラム等を記憶保存するためのＨＤ等から構成された記憶部１２を備えている。更に、投入サーバＳＴは、配信センターネットワークＮＳを通じて管理サーバＳＭ等との間の情報の通信制御を行ったり、ネットワークＮＷ等を通じてエッジサーバＳＥｍとの間の情報の通信制御を行うための通信部１３を備えている。そして、制御部１１、記憶部１２、及び通信部１３はバス１４を介して相互に接続されている。
【０１００】
記憶部１２には、各エッジサーバＳＥｍのノードＩＤ、ＩＰアドレス及びポート番号等が記憶されている。また、記憶部１２には、配信対象となるコンテンツが記憶されている。また、記憶部１２には、動作モード指定ファイルがコンテンツとして記憶されている。また、記憶部１２には、オペレーティングシステム、コンテンツ配信制御プログラム、運用管理プログラム、拠点サーバ管理プログラム等が記憶されている。なお、これらのプログラムは、例えば、配信センターネットワークＮＳ上の所定のサーバからダウンロードされるようにしても良い。また、これらのプログラムは、例えば、記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【０１０１】
制御部１１は、ＣＰＵが記憶部１２等に記憶されたプログラムを読み出して実行することにより、投入サーバＳＴ全体を統括制御する。
【０１０２】
［６．エッジサーバの構成及び機能等］
次に、図７を参照して、エッジサーバＳＥｍの構成及び機能について説明する。
【０１０３】
図７は、エッジサーバＳＥｍの概要構成例を示す図である。
【０１０４】
エッジサーバＳＥｍは、図７に示すように、演算機能を有するＣＰＵ，作業用ＲＡＭ，各種データ及びプログラムを記憶するＲＯＭ等から構成されたコンピュータとしての制御部２１を備えている。また、エッジサーバＳＥｍは、各種データ及び各種プログラム等を記憶保存するためのＨＤ（ハードディスク）等から構成された記憶部２２と、受信されたコンテンツ等を一時蓄積するバッファメモリ２３とを備えている。なお、記憶部２２は、記憶手段の一例である。更に、エッジサーバＳＥｍは、コンテンツに含まれるエンコードされたビデオデータ（映像情報）及びオーディオデータ（音声情報）等をデコードするデコーダ部２４を備えている。また更に、エッジサーバＳＥｍは、上記デコードされたビデオデータ等に対して所定の描画処理を施しビデオ信号として出力する映像処理部２５と、この映像処理部２５から出力されたビデオ信号に基づき映像表示するＣＲＴ，液晶ディスプレイ等の表示部２６と、を備えている。更にまた、エッジサーバＳＥｍは、上記デコードされたオーディオデータをアナログオーディオ信号にＤ （Digital）／Ａ（Analog）変換した後これをアンプにより増幅して出力する音声処理部２７と、この音声処理部２７から出力されたオーディオ信号を音波として出力するスピーカ２８と、を備えている。また更に、エッジサーバＳＥｍは、拠点ネットワークＮＬｍを通じてユーザ端末Ｔｍ−ｎとの間の情報の通信制御を行ったり、ネットワークＮＷを通じて他のエッジサーバＳＥｍや投入サーバＳＴ等との間の情報の通信制御を行うための通信部２９を備えている。更にまた、エッジサーバＳＥｍは、ユーザからの指示を受け付けこの指示に応じた指示信号を制御部２１に対して与える入力部（例えば、キーボード、マウス、或いは、リモコンや操作パネル等）３０を備えている。そして、制御部２１、記憶部２２、バッファメモリ２３、デコーダ部２４、通信部２９、及び入力部３０はバス３１を介して相互に接続されている。なお、エッジサーバＳＥｍとしては、例えば、専用のサーバ装置のほか、パーソナルコンピュータ等を適用可能である。なお、エッジサーバ上で、ユーザがコンテンツを再生利用しない場合は、デコーダ部２４、映像処理部２５、表示部２６、音声処理部２７、スピーカ２８、入力部３０は不要である。
【０１０５】
記憶部２２には、ＤＨＴを用いたルーティングテーブル、インデックス情報、コンテンツカタログ情報、動作モード指定ファイル等が記憶されている。ルーティングテーブル及びインデックス情報は、拠点Ｐ２ＰネットワークＰＬｍ用とＰ２ＰネットワークＰＷ用とで別個に管理される。また、記憶部２２には、Ｐ２ＰネットワークＰＷに参加する際のアクセス先となるコンタクトノードのＩＰアドレス及びポート番号、及び投入サーバＳＴのＩＰアドレス及びポート番号等が記憶されている。また、記憶部２２には、エッジサーバＳＥｍが設置される拠点ｍの拠点識別情報、及びエッジサーバＳＥｍに割り当てられたノードＩＤが記憶されている。また、記憶部２２の記憶容量の一部にコンテンツキャッシュエリアが割り当てられている。このコンテンツキャッシュエリアにはコンテンツが記憶される。また、記憶部２２には、オペレーティングシステム、エッジサーバ用プロクシプログラム、Ｐ２Ｐソフトウェア等が記憶されている。Ｐ２Ｐソフトウェアには、Ｐ２ＰネットワークＰＷに接続するための外部Ｐ２Ｐソフトウェアと、内部Ｐ２ＰネットワークＰＬｍに接続するための内部Ｐ２Ｐソフトウェアとがある。なお、これらのプログラムは、例えば、投入サーバＳＴからダウンロードされるようにしても良い。また、これらのプログラムは、例えば、記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【０１０６】
制御部２１は、ＣＰＵが記憶部２２等に記憶されたプログラムを読み出して実行することにより、本発明における第２取得手段、コンテンツ送信手段、及び方式情報取得手段として機能する。
【０１０７】
［７．ユーザ端末の構成及び機能等］
次に、図８を参照して、ユーザ端末Ｔｍ−ｎの構成及び機能について説明する。
【０１０８】
図８は、ユーザ端末Ｔｍ−ｎの概要構成例を示す図である。
【０１０９】
ユーザ端末Ｔｍ−ｎは、図８に示すように、制御部４１、記憶部４２、バッファメモリ４３、デコーダ部４４、映像処理部４５、表示部４６、音声処理部４７、スピーカ部４８、通信部４９、入力部５０、及びバス５１を備える。制御部４１、記憶部４２、バッファメモリ４３、デコーダ部４４、映像処理部４５、表示部４６、音声処理部４７、スピーカ部４８、入力部５０、及びバス５１の基本的な構成及び機能は、エッジサーバＳＥｍにおける制御部２１、記憶部２２、バッファメモリ２３、デコーダ部２４、映像処理部２５、表示部２６、音声処理部２７、スピーカ部２８、入力部３０、バス３１と同様である。なお、ユーザ端末Ｔｍ−ｎとしては、例えば、パーソナルコンピュータ等を適用可能である。
【０１１０】
通信部４９は、拠点ネットワークＮＬｍを通じて他のユーザ端末Ｔｍ−ｎやエッジサーバＳＥｍとの間の情報の通信制御を行ったり、ネットワークＮＷを通じてポータルサーバＳＰ等との間の情報の通信制御を行う。
【０１１１】
記憶部４２には、ＤＨＴを用いたルーティングテーブル、インデックス情報、コンテンツカタログ情報、動作モード指定ファイル等が記憶されている。また、記憶部４２には、拠点Ｐ２ＰネットワークＰＬｍに参加する際のアクセス先となるコンタクトノードとしてのエッジサーバＳＥｍのＩＰアドレス及びポート番号、及びエッジサーバＳＥｍのＩＰアドレス及びポート番号等が記憶されている。また、記憶部４２には、ユーザ端末Ｔｍ−ｎが設置される拠点ｍの拠点識別情報、及びユーザ端末Ｔｍ−ｎに割り当てられたノードＩＤが記憶されている。また、記憶部４２の記憶容量の一部にコンテンツキャッシュエリアが割り当てられている。このコンテンツキャッシュエリアにはコンテンツが記憶される。また、記憶部４２には、オペレーティングシステム、ユーザ用コンテンツ取得プログラム、Ｐ２Ｐソフトウェア、Ｗｅｂブラウザプログラム、プレーヤープログラム等が記憶されている。なお、これらのプログラムは、例えば、エッジサーバＳＥｍやポータルサーバＳＰ等からダウンロードされるようにしても良い。また、これらのプログラムは、例えば、記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【０１１２】
制御部４１は、ＣＰＵが記憶部４２等に記憶されたプログラムを読み出して実行することにより、本発明における第１取得手段、コンテンツ要求情報送信手段、コンテンツ受信手段、方式情報取得手段、及び参加手段として機能する。
【０１１３】
［８．コンテンツ配信システムの動作］
次に、図９乃至図１５を参照して、本実施形態に係るコンテンツ配信システムＳの動作について説明する。
【０１１４】
図９は、本実施形態に係る管理サーバＳＭの処理例を示すフローチャートである。
【０１１５】
管理サーバＳＭは、管理端末ＭＴからのリクエストに応じて、動作モードを設定するための管理画面を管理端末ＭＴにより表示させる。この管理画面は、管理サーバＳＭからＨＴＭＬ文書を管理端末ＭＴに送信することにより、管理端末ＭＴが、受信したＨＴＭＬ文書に基づいて表示する。今、管理サーバＳＭが拠点のリスト画面を管理端末ＭＴに表示させている状態であるとする。このとき、システム管理者が、画面に表示された何れかの拠点ｍを選択して変更ボタンを押したときに、図９に示す処理が、管理サーバＳＭが備える制御部により開始される。
【０１１６】
先ず、管理サーバＳＭは、拠点内ノードリスト画面を管理端末ＭＴに表示させる（ステップＳ１１）。具体的に、管理サーバＳＭは、拠点のリスト画面においてシステム管理者により選択された拠点ｍの拠点名、エッジサーバＳＥｍの動作モード、各ユーザ端末Ｔｍ−ｎのノードＩＤ及び動作モードを動作モード指定ファイルから取得する。次いで、管理サーバＳＭは、取得した情報に基づいて、拠点内ノードリスト画面用のＨＴＭＬ文書を生成する。そして、管理サーバＳＭは、生成したＨＴＭＬ文書を管理端末ＭＴに送信する。
【０１１７】
図１０は、拠点内ノードリスト画面の表示例である。図１０に示すように、拠点内ノードリスト画面には、拠点名入力欄１０１、動作モード選択ボタン１０２、変更ボタン１０３、端末リスト１１１、変更ボタン１１４、端末追加フォーム１２１、追加ボタン１２４、戻るボタン１３１が表示される。
【０１１８】
拠点名入力欄１０１は、拠点名を入力するための入力欄である。この拠点名入力欄１０１には、デフォルトとして動作モード指定ファイルに記述されている拠点名が入力された状態になっている。また、動作モード選択ボタン１０２は、エッジサーバＳＥｍの動作モードを選択するためのボタンである。この動作モード選択ボタン１０２には、デフォルトとして動作モード指定ファイルに記述されているエッジサーバＳＥｍの動作モードに対応するボタンが選択された状態になっている。変更ボタン１０３は、拠点名及びエッジサーバＳＥｍの動作モードを変更するためのボタンである。
【０１１９】
端末リスト１１１には、ユーザ端末Ｔｍ−ｎ毎に、ノードＩＤ１１２及び動作モード選択ボタン１１３が表示される。ノードＩＤ１１２には、動作モード指定ファイルに記述されているユーザ端末Ｔｍ−ｎのノードＩＤが表される。また、動作モード選択ボタン１１３は、ユーザ端末Ｔｍ−ｎの動作モードを選択するためのボタンである。この動作モード選択ボタン１１３には、デフォルトとして動作モード指定ファイルに記述されているユーザ端末Ｔｍ−ｎの動作モードに対応するボタンが選択された状態になっている。また、変更ボタン１１４は、ユーザ端末Ｔｍ−ｎ毎に対応して表示される。この変更ボタン１１４は、ユーザ端末Ｔｍ−ｎの動作モードを変更するためのボタンである。なお、ノードＩＤ１１２の部分には、ノードＩＤ以外の情報が表示されるようにしても良い。例えば、ユーザ端末Ｔｍ−ｎを識別可能な情報が表示されても良い。
【０１２０】
端末追加フォーム１２１には、ノードＩＤ入力欄１２２及び動作モード選択ボタン１２３が表示される。ノードＩＤ入力欄は、選択された拠点ｍに追加するユーザ端末Ｔｍ−ｎのノードＩＤを入力するための入力欄である。また、動作モード選択ボタン１２２は、追加されるユーザ端末Ｔｍ−ｎの動作モードを選択するためのボタンである。追加ボタン１２４は、選択された拠点ｍに新たなユーザ端末Ｔｍ−ｎを追加するためのボタンである。
【０１２１】
拠点内ノードリスト画面が管理端末ＭＴにより表示されているとき、管理サーバＳＭは、システム管理者によって戻るボタン１３１が押されたか否かを判定する（ステップＳ１２）。このとき、管理サーバＳＭは、戻るボタン１３１が押されていない場合には（ステップＳ１２：ＮＯ）、システム管理者により変更ボタン１０３が押されたか否かを判定する（ステップＳ１３）。このとき、管理サーバＳＭは、変更ボタン１０３が押された場合には（ステップＳ１３：ＹＥＳ）、拠点名及びエッジサーバＳＥｍの動作モードを変更する（ステップＳ１４）。具体的に、管理サーバＳＭは、拠点名入力欄１０１に入力された拠点名及び動作モード選択ボタン１０２において選択されている動作モードを管理端末ＭＴから取得する。そして、管理サーバＳＭは、動作モード指定ファイルにおいて、選択された拠点ｍの拠点名及びエッジサーバＳＥｍの動作モードを、管理端末ＭＴから取得した拠点名及び動作モードに変更する。管理サーバＳＭは、この処理を終えると、ステップＳ１２に移行する。
【０１２２】
一方、管理サーバＳＭは、変更ボタン１０３が押されていない場合には（ステップＳ１３：ＮＯ）、何れかの変更ボタン１１４が押されたか否かを判定する（ステップＳ１５）。このとき、管理サーバＳＭは、何れかの変更ボタン１１４が押された場合には（ステップＳ１５：ＹＥＳ）、ユーザ端末Ｔｍ−ｎの動作モードを変更する（ステップＳ１６）。具体的に、管理サーバＳＭは、押された変更ボタン１１４に対応するユーザ端末Ｔｍ−ｎのノードＩＤ、及び動作モード選択ボタン１１３において選択されている動作モードを管理端末ＭＴから取得する。そして、管理サーバＳＭは、動作モード指定ファイルにおいて、管理端末ＭＴから取得したノードＩＤに対応する動作モードを、管理端末ＭＴから取得した動作モードに変更する。管理サーバＳＭは、この処理を終えると、ステップＳ１２に移行する。
【０１２３】
一方、管理サーバＳＭは、何れの変更ボタン１１４も押されていない場合には（ステップＳ１５：ＮＯ）、システム管理者によって追加ボタン１２４が押されたか否かを判定する（ステップＳ１７）。このとき、管理サーバＳＭは、追加ボタン１２４が押された場合には（ステップＳ１７：ＹＥＳ）、ユーザ端末Ｔｍ−ｎの情報を動作モード指定ファイルに追加する（ステップＳ１８）。具体的に、管理サーバＳＭは、ノードＩＤ入力等１２２に入力されたノードＩＤ及び動作モード選択ボタン１２３において選択されている動作モードを管理端末ＭＴから取得する。そして、管理サーバＳＭは、取得したノードＩＤ及び動作モードを、選択された拠点ｍの拠点名に対応付けて動作モード指定ファイルに追加設定する。
【０１２４】
管理サーバＳＭは、追加ボタン１２４が押されていない場合（ステップＳ１７：ＮＯ）、又は、ステップＳ１８の処理を終えた場合には、ステップＳ１２に移行する。
【０１２５】
ステップ１２において、管理サーバＳＭは、戻るボタン１３１が押された場合には（ステップ１２：ＹＥＳ）、図９に示す処理を終了させ、拠点のリスト画面を管理端末ＭＴに表示させる。上記処理で変更された動作モード指定ファイルは、管理サーバＳＭから投入サーバＳＴに送信され、例えば、投入サーバＳＴにより配信される。
【０１２６】
図１１は、本実施形態に係るユーザ端末Ｔｍ−ｎにおける制御部４１の処理例を示すフローチャートである。
【０１２７】
図１１の処理は、ユーザ端末Ｔｍ−ｎの電源がＯＮとされたときに開始される。先ず、制御部４１は、ユーザ用コンテンツ取得プログラムを起動させ、ユーザ端末Ｔｍ−ｎのハードウェアの初期化を行う（ステップＳ２１）。次いで、制御部４１は、動作モード指定ファイルが記憶部４２に記憶されているか否かを判定する（ステップＳ２２）。このとき、制御部４１は、動作モード指定ファイルが記憶部４２に記憶されていない場合には（ステップＳ２２：ＮＯ）、方式情報取得手段として、ユーザ端末Ｔｍ−ｎ自身が接続する拠点ネットワークＮＬｍに接続するエッジサーバＳＥｍから最新の動作モード指定ファイルを取得する（ステップＳ２３）。動作モード指定ファイルがないため、制御部４１は、クライアントサーバモードで動作モード指定ファイルを取得するのである。具体的に、制御部４１は、コンテンツカタログ情報から最新の動作モード指定ファイルのコンテンツＩＤを取得する。そして、制御部４１は、取得したコンテンツＩＤを含むコンテンツ代理取得要求メッセージをエッジサーバＳＥｍに送信する。その後、制御部４１は、エッジサーバＳＥｍから送信されてきた動作モード指定ファイルを受信する。そして、制御部４１は、受信した動作モード指定ファイルを記憶部４２に記憶させる。
【０１２８】
制御部４１は、ステップＳ２２において動作モード指定ファイルが記憶部４２に記憶されている場合（ステップＳ２２：ＹＥＳ）、又は、ステップＳ２３の処理を終えた場合には、動作モード指定ファイルから該当箇所を読み込み、指定された動作モードを設定する（ステップＳ２４）。具体的に、制御部４１は、記憶部４２から、ユーザ端末Ｔｍ−ｎ自身が設置された拠点ｍの拠点識別情報及びユーザ端末Ｔｍ−ｎ自身のノードＩＤを取得する。次いで、制御部４１は、拠点識別情報及び取得したノードＩＤに対応する動作モードを動作モード指定ファイルから取得する。そして、制御部４１は、取得した動作モードを、大域変数としてＲＡＭに記憶させる。なお、ステップＳ２２において動作モード指定ファイルが記憶部４２に記憶されていると判定された場合、読み込み対象の動作モード指定ファイルは、前回取得された動作モード指定ファイルである。一方、ステップＳ２３の処理が行われた場合、読み込み対象の動作モード指定ファイルは、ステップＳ２３において取得された動作モード指定ファイルである。
【０１２９】
次いで、制御部４１は、動作モード指定ファイルの更新用タイマーを起動させる（ステップＳ２５）。この更新用タイマーは、例えば、３０分に設定される。なお、タイマーの設定及びカウントダウンは、制御部４１のＣＰＵの計時機能により実現される。
【０１３０】
次いで、制御部４１は、ステップＳ２４において設定された動作モードがＰ２Ｐモードであるか否かを判定する（ステップＳ２６）。このとき、制御部４１は、動作モードがＰ２Ｐモードである場合には、Ｐ２Ｐソフトウェアを、コンテンツ取得プログラムとは別プロセスで起動させる（ステップＳ２７）。Ｐ２Ｐソフトウェアの起動によって、ユーザ端末Ｔｍ−ｎは、拠点Ｐ２ＰネットワークＰＬｍに参加する。
【０１３１】
制御部４１は、ステップＳ２６において動作モードがクライアントサーバモードである場合（ステップＳ２６：ＮＯ）、又は、ステップＳ２７の処理を終えた場合には、Ｗｅｂブラウザを起動させる（ステップＳ２８）。次いで、制御部４１は、コンテンツを選択するためのＷｅｂページを表示部４６に表示させる（ステップＳ２９）。具体的に、制御部４１は、ＨＴＴＰ（Hyper Text Transfer Protocol）リクエストをポータルサーバＳＰに送信する。その後、制御部４１は、ポータルサーバＳＰから送信されてきたＨＴＭＬ文書を受信する。そして、制御部４１は、受信したＨＴＭＬ文書に基づいてコンテンツ選択画面を表示する。
【０１３２】
コンテンツ選択画面には、コンテンツリストが表示される。このコンテンツリストには、コンテンツ毎に、コンテンツ名、コンテンツのサムネイルが表示される。また、各コンテンツ毎に再生ボタンが表示される。受信したＨＴＭＬ文書において、再生ボタンに対応するタグには、例えば、再生対象となるコンテンツのコンテンツ名、コンテンツＩＤ、コンテンツを再生するプレーヤープログラムを指定する識別情報等が記述されている。
【０１３３】
コンテンツ選択画面の表示後、制御部４１は、コンテンツの再生が要求されたか否かを判定する（ステップＳ３０）。つまり、制御部４１は、ユーザによって何れかの再生ボタンが選択されたか否かを判定する。このとき、制御部４１は、コンテンツの再生が要求されていない場合には（ステップＳ３０：ＮＯ）、ユーザによって電源ＯＦＦの要求がされたか否かを判定する（ステップＳ３９）。このとき、制御部４１は、電源ＯＦＦの要求がされていない場合には（ステップＳ３９：ＮＯ）、ステップＳ２９に移行する。
【０１３４】
ステップＳ３０において、制御部４１は、コンテンツの再生が要求された場合には（ステップＳ３０：ＹＥＳ）、現在の動作モードがＰ２Ｐモードであるか否かを判定する（ステップＳ３１）。
【０１３５】
このとき、制御部４１は、動作モードがＰ２Ｐモードである場合には（ステップＳ３１：ＹＥＳ）、第１取得手段として、Ｐ２Ｐソフトウェアにコンテンツを取得させる（ステップＳ３２）。具体的に、制御部４１は、ユーザに選択された再生ボタンに対応するタグから、コンテンツＩＤを取得する。次いで、制御部４１は、取得したコンテンツＩＤをＰ２Ｐソフトウェアに対して指定し、コンテンツの取得を指示する。
【０１３６】
一方、制御部４１は、動作モードがクライアントサーバモードである場合には（ステップＳ３１：ＮＯ）、第１取得手段として、エッジサーバＳＥｍからコンテンツを取得する（ステップＳ３３）。具体的に、制御部４１は、ユーザに選択された再生ボタンに対応するタグから、コンテンツＩＤを取得する。そして、制御部４１は、コンテンツ要求情報送信手段として、取得したコンテンツＩＤを含むコンテンツ代理取得要求メッセージをエッジサーバＳＥｍに送信する。なお、ステップＳ３２及びＳ３３において、制御部４１は、ユーザに選択された再生ボタンに対応するタグからコンテンツ名を取得し、取得したコンテンツ名で、コンテンツカタログ情報から該当するコンテンツのコンテンツＩＤを検索しても良い。
【０１３７】
制御部４１は、ステップＳ３２又はＳ３３の処理を終えると、コンテンツの取得が完了したか否かを判定する（ステップＳ３４）。このとき、制御部４１は、コンテンツの取得が完了していない場合には（ステップＳ３４：ＮＯ）、コンテンツ取得エラーとなったか否かを判定する（ステップＳ３５）。このとき、制御部４１は、コンテンツ取得エラーとなっていない場合には（ステップＳ３５：ＮＯ）、ステップＳ３４に移行する。一方、制御部４１は、コンテンツ取得エラーとなった場合には（ステップＳ３５：ＹＥＳ）、表示部４６にエラーメッセージを表示させる（ステップＳ３６）。そして、制御部４１は、ステップＳ２９に移行する。
【０１３８】
ステップＳ３４において、制御部４１は、コンテンツ受信手段としてコンテンツの取得が完了した場合には（ステップＳ３４：ＹＥＳ）、プレーヤープログラムを起動させ、取得したコンテンツを再生する（ステップＳ３７）。なお、ステップＳ３３の処理が行われた場合、制御部４１は、エッジサーバＳＥｍから取得したコンテンツを、記憶部４２のコンテンツキャッシュエリアに記憶させる。次いで、制御部４１は、プレーヤープログラムによってコンテンツの再生が完了し、又は、ユーザ操作によってコンテンツの再生が中止されるまで待機する（ステップＳ３８）。そして、コンテンツの再生が終了すると、制御部４１は、ステップＳ２９に移行する。
【０１３９】
ステップＳ３９において、制御部４１は、電源ＯＦＦの要求がされた場合には（ステップＳ３９：ＹＥＳ）、図１１に示す処理を終了させる。
【０１４０】
図１２は、本実施形態に係るユーザ端末Ｔｍ−ｎにおける制御部４１の動作モード制御処理の処理例を示すフローチャートである。
【０１４１】
動作モード指定ファイルの更新用タイマーが満了すると、タイマー割り込みイベントが発生する。このタイマー割り込みイベントが発生したときに、例えば、現在実行されている処理が一時休止して、図１２に示す動作モード制御処理が開始される。先ず、制御部４１は、現在の動作モードがＰ２Ｐモードであるか否かを判定する（ステップＳ５１）。
【０１４２】
このとき、制御部４１は、動作モードがＰ２Ｐモードである場合には（ステップＳ５１：ＹＥＳ）、Ｐ２Ｐソフトウェアに動作モード指定ファイルを取得させる（ステップＳ５２）。具体的に、制御部４１は、方式情報取得手段として、コンテンツカタログ情報から最新の動作モード指定ファイルのコンテンツＩＤを取得する。次いで、制御部４１は、取得したコンテンツＩＤをＰ２Ｐソフトウェアに対して指定し、コンテンツの取得を指示する。そして、制御部４１は、Ｐ２Ｐソフトウェアから動作モード指定ファイルに対応するコンテンツ取得成功を受信するまで待機する。
【０１４３】
一方、制御部４１は、動作モードがクライアントサーバモードである場合には（ステップＳ５１：ＮＯ）、方式情報取得手段として、ユーザ端末Ｔｍ−ｎ自身が接続する拠点ネットワークＮＬｍに接続するエッジサーバＳＥｍから最新の動作モード指定ファイルを取得する（ステップＳ５３）。この処理は、図１１に示すステップＳ２３の処理と同様である。
【０１４４】
制御部４１は、ステップＳ５２又はＳ５３の処理を終えると、動作モード指定ファイルから該当箇所を読み込み、指定された動作モードを設定する（ステップＳ５４）。具体的に、制御部４１は、記憶部４２から、ユーザ端末Ｔｍ−ｎ自身のノードＩＤ及びユーザ端末Ｔｍ−ｎ自身が設置された拠点ｍの拠点識別情報を取得する。次いで、制御部４１は、取得したノードＩＤ及び拠点識別情報に対応する動作モードを動作モード指定ファイルから取得する。
【０１４５】
次いで、制御部４１は、動作モードが変更されたか否かを判定する（ステップＳ５５）。具体的に、制御部４１は、ステップＳ５４の処理で取得した動作モードが、現在の動作モードと異なるか否かを判定する。このとき、制御部４１は、動作モードが変更された場合には（ステップＳ５５：ＹＥＳ）、変更後の新しい動作モードがＰ２Ｐモードであるか否かを判定する（ステップＳ５６）。このとき、制御部４１は、新しい動作モードがＰ２Ｐモードである場合には（ステップＳ５６：ＹＥＳ）、Ｐ２Ｐソフトウェアを、コンテンツ取得プログラムとは別プロセスで起動させる（ステップＳ５７）。一方、制御部４１は、新しい動作モードがクライアントサーバモードである場合には（ステップＳ５６：ＮＯ）、現在起動中のＰ２Ｐソフトウェアのプロセスを停止させる（ステップＳ５８）。Ｐ２Ｐソフトウェアのプロセス停止により、ユーザ端末Ｔｍ−ｎは、拠点Ｐ２ＰネットワークＰＬｍから離脱する。
【０１４６】
制御部４１は、ステップＳ５７又はＳ５８の処理を終えると、指定された動作モードの設定を行う（ステップＳ５９）。具体的に、制御部４１は、大域変数としてＲＡＭに記憶されている動作モードを、ステップＳ５４の処理で取得した動作モードに書き換える。
【０１４７】
制御部４１は、ステップＳ５５において動作モードが変更されていない場合、又は、ステップＳ５９の処理を終えた場合には、動作モード指定ファイルの更新用タイマーを起動させる（ステップＳ６０）。この処理により、一定時間が経過した後、再度動作モード制御処理が実行される。
【０１４８】
そして、制御部４１は、動作モード制御処理を終了させ、休止していた処理の実行を再開する。
【０１４９】
なお、動作モード制御処理を開始するタイミングとしては、更新用タイマーの割り込みイベントが発生した場合だけに限定されるものではない。例えば、他の装置から指示を受けたときに動作モード制御処理が開始されるようにしても良い。例えば、システム管理者が管理端末を操作することにより、動作モードの変更を指示する。すると、この指示を受けた投入サーバＳＴが、動作モード変更指示メッセージを各エッジサーバＳＥｍに送信する。動作モード変更指示メッセージを受信したエッジサーバＳＥｍは、動作モード制御処理を実行する。また、動作モード変更指示メッセージを受信したエッジサーバＳＥｍは、同一拠点内の各ユーザ端末Ｔｍ−ｎに、動作モード変更指示メッセージを転送する。そして、動作モード変更指示メッセージを受信したユーザ端末Ｔｍ−ｎは、動作モード制御処理を実行する。
【０１５０】
図１３は、本実施形態に係るユーザ端末Ｔｍ−ｎにおけるＰ２Ｐソフトウェアメイン処理の処理例を示すフローチャートである。
【０１５１】
図１３に示すＰ２Ｐソフトウェアメイン処理は、上位プロセスとしてのユーザ用コンテンツ取得プログラムからＰ２Ｐソフトウェアが起動されたときに開始される。先ず、制御部４１は、参加手段として、コンタクトノードとしてのエッジサーバＳＥｍに参加要求メッセージを送信する（ステップＳ７１）。その後、制御部４１は、参加要求メッセージの送信に応じて、コンタクトノードとしてのエッジサーバＳＥｍを含む複数のノードから送信されてきた参加応答メッセージを受信する。そして、制御部４１は、受信した参加応答メッセージに含まれるノード情報に基づいてルーティングテーブルを作成する。
【０１５２】
次いで、制御部４１は、定期パブリッシュ用タイマーを起動する（ステップＳ７２）。定期パブリッシュ用タイマーは、例えば、５分に設定される。定期パブリッシュ用タイマーが満了すると、ユーザ端末Ｔｍ−ｎが保存している全てのコンテンツについて、パブリッシュメッセージが送信される。ユーザ端末Ｔｍ−ｎが保存しているコンテンツのルートノードが、拠点Ｐ２ＰネットワークＰＬｍから離脱してしまう場合がある。この場合においても、ユーザノードがコンテンツの所在を検索することが出来るよう、制御部４１は、定期的にパブリッシュメッセージを送信する。
【０１５３】
次いで、制御部４１は、上位プロセスとしてのユーザ用コンテンツプログラムからコンテンツの取得指示があったか否かを判定する（ステップＳ７３）。このとき、制御部４１は、コンテンツの取得の指示があった場合には（ステップＳ７３：ＹＥＳ）、コンテンツ要求処理を実行する（ステップＳ７４）。そして、制御部４１は、ステップＳ７３に移行する。
【０１５４】
一方、制御部４１は、コンテンツの取得の指示がなかった場合には（ステップＳ７３：ＮＯ）、上位プロセスとしてのユーザ用コンテンツプログラムから停止指示があったか否かを判定する（ステップＳ７８）。このとき、制御部４１は、停止指示がなかった場合には（ステップＳ７８：ＮＯ）、他のノードから何らかのメッセージを受信したか否かを判定する（ステップＳ７５）。メッセージとしては、例えば、参加要求メッセージ、参加応答メッセージ、コンテンツ所在問合せメッセージ、パブリッシュメッセージ、コンテンツ要求メッセージ等がある。ここで、制御部４１は、メッセージを受信していない場合には（ステップＳ７５：ＮＯ）、ステップＳ７３に移行する。
【０１５５】
一方、制御部４１は、メッセージを受信した場合には（ステップＳ７５：ＹＥＳ）、受信したメッセージに対応した処理を実行する（ステップＳ７６）。次いで、制御部４１は、ルーティングテーブルを更新する（ステップＳ７７）。ルーティングテーブルにノード情報が登録されているノードが拠点Ｐ２ＰネットワークＰＬｍから離脱する場合がある。そこで、制御部４１は、ルーティングテーブルを最新の状態に維持するのである。具体的に、制御部４１は、受信したメッセージから、メッセージの中継元のノードのノード情報を取得する。そして、制御部４１は、ノード情報に含まれるノードＩＤと、記憶部４２に記憶されているユーザ端末Ｔｍ−ｎ自身のノードＩＤとを比較して、ルーティングテーブル中のどの位置にノード情報を登録するかを決定する。そして、制御部４１は、決定した位置のノード情報を、取得したノード情報に書き換える。なお、ルーティングテーブルの更新は、所定の確率で実行される。制御部４１は、この処理を終えると、ステップＳ７３に移行する。
【０１５６】
ステップＳ７８において、制御部４１は、停止指示があった場合には（ステップＳ７８：ＹＥＳ）、Ｐ２Ｐソフトウェアメイン処理を終了させる。
【０１５７】
なお、投入サーバＳＴがＰ２ＰネットワークＰＷに参加する場合、投入サーバＳＴにおいてもＰ２Ｐソフトウェアが実行される。このときにおける投入サーバＳＴの処理内容は、図１３に示すユーザ端末Ｔｍ−ｎのＰ２Ｐソフトウェアメイン処理と基本的に同様である。ただし、投入サーバＳＴがＰ２ＰネットワークＰＷにおけるコンタクトノードである場合、ステップＳ７１に示す参加要求メッセージの送信は行われない。また、投入サーバＳＴは、他のノードからコンテンツを取得する必要がないので、ステップＳ７４に示すコンテンツ要求処理は無い。
【０１５８】
図１４は、本実施形態に係るユーザ端末Ｔｍ−ｎにおけるコンテンツ要求処理の処理例を示すフローチャートである。
【０１５９】
図１４に示すコンテンツ要求処理は、Ｐ２Ｐソフトウェアメイン処理から呼び出されたときに開始される。先ず、制御部４１は、コンテンツ所在問合せメッセージをルートノードに向けて送信する（ステップＳ１０１）。このコンテンツ所在問合せメッセージには、上位プロセスとしてのユーザ用コンテンツ取得プログラムから指定されたコンテンツＩＤが含まれる。次いで、制御部４１は、応答待ちタイマーを起動する（ステップＳ１０２）。この応答待ちタイマーには、例えば、３０秒が設定される。
【０１６０】
次いで、制御部４１は、コンテンツ問合せ応答メッセージを受信したか否かを判定する（ステップＳ１０３）。このとき、制御部４１は、コンテンツ問合せ応答メッセージを受信した場合は（ステップＳ１０３：ＹＥＳ）、コンテンツ問合せ応答メッセージに含まれるインデックス情報中に、ノード情報が存在するか否かを判定する（ステップＳ１０４）。つまり、制御部４１は、コンテンツ保持ノードが存在するか否かを判定する。このとき、制御部４１は、インデックス情報中にノード情報が存在する場合には（ステップＳ１０４：ＹＥＳ）、インデックス情報中にノード情報が存在するノードのうち、任意のノードにコンテンツ要求メッセージを送信する（ステップＳ１０５）。一方、制御部４１は、インデックス情報中にノード情報が存在しない場合には（ステップＳ１０４：ＮＯ）、エッジサーバＳＥｍにコンテンツ代理取得要求メッセージを送信する（ステップＳ１０６）。
【０１６１】
ステップＳ１０３において、制御部４１は、コンテンツ問合せ応答メッセージを受信していない場合には（ステップＳ１０３：ＮＯ）、応答待ちタイマーが満了したか否かを判定する（ステップＳ１０７）。このとき、制御部４１は、応答待ちタイマーが満了していない場合には（ステップＳ１０７：ＮＯ）、ステップＳ１０３に移行する。一方、制御部４１は、応答待ちタイマーが満了した場合には（ステップＳ１０７：ＹＥＳ）、エッジサーバＳＥｍにコンテンツ代理取得要求メッセージを送信する（ステップＳ１０８）。
【０１６２】
制御部４１は、ステップＳ１０５、Ｓ１０６又はＳ１０８の処理を終えると、コンテンツ保持ノード又はエッジサーバＳＥｍからコンテンツの受信を開始する（ステップＳ１０９）。
【０１６３】
次いで、制御部４１は、コンテンツの受信開始から一定時間以内にコンテンツの受信が完了したか否かを判定する（ステップＳ１１０）。このとき、制御部４１は、一定時間以内にコンテンツの受信が完了した場合には（ステップＳ１１０：ＹＥＳ）、受信したコンテンツをコンテンツキャッシュエリアに保存する（ステップＳ１１１）。このとき、制御部４１は、コンテンツキャッシュエリアの空き容量が、受信したコンテンツのデータサイズより小さい場合には、この空き容量が、受信したコンテンツのデータサイズ以上となるまで、コンテンツキャッシュエリアからコンテンツを削除する。具体的に、制御部４１は、タイムスタンプが旧いものから順にコンテンツを削除する。コンテンツのタイムスタンプが示す日時は、基本的にはコンテンツが保存された日時である。ただし、保存されたコンテンツが利用された場合には、タイムスタンプがその利用日時に更新される。制御部４１は、コンテンツキャッシュエリアの空き容量を確保すると、受信したコンテンツをコンテンツキャッシュエリアに保存する。
【０１６４】
次いで、制御部４１は、保存したコンテンツについてのパブリッシュメッセージをルートノードに向けて送信する（ステップＳ１１２）。次いで、制御部４１は、上位プロセスとしてのユーザ用コンテンツプログラムに、コンテンツ取得成功を返答する（ステップＳ１１３）。
【０１６５】
ステップＳ１１０において、制御部４１は、一定時間以内にコンテンツの受信が完了しなかった場合には（ステップＳ１１０：ＮＯ）、上位プロセスとしてのユーザ用コンテンツプログラムに、コンテンツ取得エラーを返答する（ステップＳ１１４）。
【０１６６】
制御部４１は、ステップＳ１１３又はＳ１１４の処理を終えると、コンテンツ要求処理を終了させる。
【０１６７】
図１５は、本実施形態に係るエッジサーバＳＥｍにおける制御部２１の処理例を示すフローチャートである。
【０１６８】
図１５の処理は、エッジサーバＳＥｍの電源がＯＮとされたときに開始される。先ず、制御部２１は、エッジサーバ用プロクシプログラムを起動させ、エッジサーバＳＥｍのハードウェアの初期化を行う（ステップＳ１３１）。次いで、制御部２１は、動作モード指定ファイルが記憶部２２に記憶されているか否かを判定する（ステップＳ１３２）。このとき、制御部２１は、動作モード指定ファイルが記憶部２２に記憶されていない場合には（ステップＳ１３２：ＮＯ）、投入サーバＳＴから最新の動作モード指定ファイルを取得する（ステップＳ１３３）。動作モード指定ファイルがないため、制御部２１は、クライアントサーバモードで動作モード指定ファイルを取得するのである。具体的に、制御部２１は、コンテンツカタログ情報から最新の動作モード指定ファイルのコンテンツＩＤを取得する。そして、制御部２１は、取得したコンテンツＩＤを含むコンテンツ要求メッセージを投入サーバＳＴに送信する。その後、制御部２１は、投入サーバＳＴから送信されてきた動作モード指定ファイルを受信する。そして、制御部２１は、受信した動作モード指定ファイルを記憶部２２に記憶させる。
【０１６９】
制御部２１は、ステップＳ１３２において動作モード指定ファイルが記憶部２２に記憶されていた場合（ステップＳ１３２：ＹＥＳ）、又は、ステップＳ１３３の処理を終えた場合には、動作モード指定ファイルから該当箇所を読み込み、指定された動作モードを設定する（ステップＳ１３４）。具体的に、制御部２１は、記憶部２２から、エッジサーバＳＥｍ自身が設置された拠点ｍの拠点識別情報を取得する。次いで、制御部２１は、取得した拠点識別情報に対応するエッジサーバＳＥｍの動作モードを動作モード指定ファイルから取得する。そして、制御部２１は、取得した動作モードを、大域変数としてＲＡＭに記憶させる。なお、ステップＳ１３２において動作モード指定ファイルが記憶部２２に記憶されていると判定された場合、読み込み対象の動作モード指定ファイルは、前回取得された動作モード指定ファイルである。一方、ステップＳ１３３の処理が行われた場合、読み込み対象の動作モード指定ファイルは、ステップＳ１３３において取得された動作モード指定ファイルである。
【０１７０】
次いで、制御部２１は、動作モード指定ファイルの更新用タイマーを起動させる（ステップＳ１３５）。動作モード指定ファイルの更新用タイマーが満了すると、制御部２１は、動作モード制御処理を実行する。この動作モード制御処理の処理内容は、図１２に示すユーザ端末Ｔｍ−ｎの動作モード制御処理と基本的に同様である。ただし、エッジサーバＳＥｍの場合、図１２に示すステップＳ５３において、動作モード指定ファイルの取得先は投入サーバＳＴである。また、図１２に示すステップＳ５７及びＳ５８において、起動及び停止されるＰ２Ｐソフトウェアは、外部Ｐ２Ｐソフトウェアである。
【０１７１】
次いで、制御部２１は、ステップＳ１３４において設定された動作モードがＰ２Ｐモードであるか否かを判定する（ステップＳ１３６）。このとき、制御部２１は、動作モードがＰ２Ｐモードである場合には、外部Ｐ２Ｐソフトウェアを、コンテンツ取得プログラムとは別プロセスで起動させる（ステップＳ１３７）。外部Ｐ２Ｐソフトウェアの起動によって、エッジサーバＳＥｍは、Ｐ２ＰネットワークＰＷに参加する。
【０１７２】
外部Ｐ２Ｐソフトウェアが起動すると、制御部２１は、外部Ｐ２Ｐソフトウェアメイン処理を実行する。この外部Ｐ２Ｐソフトウェアメイン処理の処理内容は、図１３に示すユーザ端末Ｔｍ−ｎのＰ２Ｐソフトウェアメイン処理と基本的に同様である。また、外部Ｐ２Ｐソフトウェアメイン処理から呼び出されるコンテンツ要求処理の処理内容も、図１４に示すユーザ端末Ｔｍ−ｎのコンテンツ要求処理と基本的に同様である。ただし、エッジサーバＳＥｍの場合、外部Ｐ２Ｐソフトウェアの上位プロセスは、エッジサーバ用プロクシプログラムである。また、エッジサーバＳＥｍの場合、図１３に示すステップＳ７１において、参加要求メッセージの送信先となるコンテンツノードは、例えば、投入サーバＳＴである。また、エッジサーバＳＥｍの場合、図１４に示すステップＳ１０６及びＳ１０８において、制御部２１は、投入サーバＳＴにコンテンツ要求メッセージを送信する。
【０１７３】
制御部２１は、ステップＳ１３６において動作モードがクライアントサーバモードである場合（ステップＳ１３６：ＮＯ）、又は、ステップＳ１３７の処理を終えた場合には、内部Ｐ２Ｐソフトウェアを、コンテンツ取得プログラムとは別プロセスで起動させる（ステップＳ１３８）。内部Ｐ２Ｐソフトウェアの起動によって、エッジサーバＳＥｍは、内部Ｐ２ＰネットワークＰＬｍに参加する。
【０１７４】
内部Ｐ２Ｐソフトウェアが起動すると、制御部２１は、内部Ｐ２Ｐソフトウェアメイン処理を実行する。この内部Ｐ２Ｐソフトウェアメイン処理の処理内容は、図１３に示すユーザ端末Ｔｍ−ｎのＰ２Ｐソフトウェアメイン処理と基本的に同様である。ただし、エッジサーバＳＥｍの場合、内部Ｐ２Ｐソフトウェアの上位プロセスは、エッジサーバ用プロクシプログラムである。また、エッジサーバＳＥｍが内部Ｐ２ＰネットワークＰＬｍにおけるコンタクトノードである場合、図１３に示すステップＳ７１に示す参加要求メッセージの送信は行われない。なお、エッジサーバ用プロクシプログラムから内部Ｐ２Ｐソフトウェアに対してコンテンツ取得指示が行われない場合、コンテンツ要求処理は実行されない。つまり、内部Ｐ２Ｐソフトウェアにおいてコンテンツ要求処理は無い。
【０１７５】
制御部２１は、内部Ｐ２Ｐソフトウェアを起動させると、ユーザ端末Ｔｍ−ｎからコンテンツ代理取得要求メッセージを受信したか否かを判定する（ステップＳ１３９）。このとき、制御部２１は、コンテンツ代理取得要求メッセージを受信していない場合には（ステップＳ１３９：ＮＯ）、システム管理者によって電源ＯＦＦの要求がされたか否かを判定する（ステップＳ１５０）。このとき、制御部２１は、電源ＯＦＦの要求がされていない場合には（ステップＳ１５０：ＮＯ）、ステップＳ１３９に移行する。
【０１７６】
ステップＳ１３９において、制御部２１は、コンテンツ代理取得要求メッセージを受信した場合には（ステップＳ１３９：ＹＥＳ）、現在の動作モードがＰ２Ｐモードであるか否かを判定する（ステップＳ１４０）。このとき、制御部２１は、動作モードがＰ２Ｐモードである場合には（ステップＳ１４０：ＹＥＳ）、第２取得手段として、外部Ｐ２Ｐソフトウェアにコンテンツを取得させる（ステップＳ１４１）。具体的に、制御部２１は、コンテンツ代理取得要求メッセージに含まれるコンテンツＩＤを取得する。そして、制御部２１は、取得したコンテンツＩＤを外部Ｐ２Ｐソフトウェアに対して指定し、コンテンツの取得を指示する。
【０１７７】
ステップＳ１４０において、制御部２１は、動作モードがクライアントサーバモードである場合には（ステップＳ１４０：ＮＯ）、要求されたコンテンツがコンテンツキャッシュエリアに保存されているか否かを判定する（ステップＳ１４２）。コンテンツ代理取得要求メッセージに含まれるコンテンツＩＤが割り当てられたコンテンツが、要求されたコンテンツである。このとき、制御部２１は、要求されたコンテンツがコンテンツキャッシュエリアに保存されている場合には（ステップＳ１４２：ＹＥＳ）、要求されたコンテンツをコンテンツキャッシュエリアから取得し、取得したコンテンツをユーザ端末Ｔｍ−ｎに送信する（ステップＳ１４９）。制御部２１は、この処理を終えると、ステップＳ１３９に移行する。一方、制御部２１は、要求されたコンテンツがコンテンツキャッシュエリアに保存されていない場合には（ステップＳ１４２：ＮＯ）、第２取得手段として、要求されたコンテンツを投入サーバＳＴから取得する（ステップＳ１４３）。具体的に、制御部２１は、コンテンツ代理取得要求メッセージに含まれるコンテンツＩＤを取得する。そして、制御部２１は、取得したコンテンツＩＤを含むコンテンツ要求メッセージを投入サーバＳＴに送信する。
【０１７８】
制御部２１は、ステップＳ１４１又はステップＳ１４３の処理を終えると、コンテンツの取得が完了したか否かを判定する（ステップＳ１４４）。このとき、制御部２１は、コンテンツの取得が完了していない場合には（ステップＳ１４４：ＮＯ）、コンテンツ取得エラーとなったか否かを判定する（ステップＳ１４５）。このとき、制御部２１は、コンテンツ取得エラーとなっていない場合には（ステップＳ１４５：ＮＯ）、ステップＳ１４４に移行する。一方、制御部２１は、コンテンツ取得エラーとなった場合には（ステップＳ１４５：ＹＥＳ）、コンテンツ取得エラーを要求元のユーザ端末Ｔｍ−ｎに返信する（ステップＳ１４６）。
【０１７９】
ステップＳ１４４において、制御部２１は、コンテンツの取得が完了した場合には（ステップＳ１４４：ＹＥＳ）、現在の動作モードがＰ２Ｐモードであるか否かを判定する（ステップＳ１４７）。このとき、制御部２１は、動作モードがクライアントサーバモードである場合には（ステップＳ１４７：ＮＯ）、エッジサーバＳＥｍから取得されたコンテンツをコンテンツキャッシュエリアに保存する（ステップＳ１４８）。なお、動作モードがＰ２Ｐモードである場合には、別プロセスで起動している外部Ｐ２Ｐソフトウェアにおいて、拠点Ｐ２ＰネットワークＰＬｍから取得されたコンテンツがコンテンツキャッシュエリアに保存される。
【０１８０】
制御部２１は、ステップＳ１４７において動作モードがＰ２Ｐモードである場合（ステップＳ１４７：ＹＥＳ）、又は、ステップＳ１４８の処理を終えた場合には、コンテンツ送信手段として、取得したコンテンツをユーザ端末Ｔｍ−ｎに送信する（ステップＳ１４９）。制御部２１は、この処理を終えると、ステップＳ１３９に移行する。
【０１８１】
ステップＳ１５０において、制御部２１は、電源ＯＦＦの要求がされた場合には（ステップＳ１５０：ＹＥＳ）、図１５に示す処理を終了させる。
【０１８２】
［９．変形例］
これまでの説明においては、エッジサーバＳＥｍは、拠点Ｐ２ＰネットワークＰＬｍに参加するようになっていた。しかしながら、エッジサーバＳＥｍは、拠点Ｐ２ＰネットワークＰＬｍに参加しなくても良い。つまり、各拠点Ｐ２ＰネットワークＰＬｍは、ユーザ端末Ｔｍ−ｎのみが参加するオーバーレイネットワークであっても良い。この場合、エッジサーバＳＥｍは、参加要求メッセージ、コンテンツ所在問合せメッセージ、その他拠点Ｐ２ＰネットワークＰＬｍに関わる各種メッセージを処理する必要がない。よって、エッジサーバＳＥｍの負荷が軽減される。
【０１８３】
この場合において、拠点Ｐ２ＰネットワークＰＬｍのコンタクトノードは、何れかのユーザ端末Ｔｍ−ｎとなる。
【０１８４】
また、本変形例におけるコンテンツ配信システムＳの動作は、基本的にはこれまで説明したものと同様である。ただし、本変形例においては、図１５に示すエッジサーバＳＥｍのメイン処理において、ステップＳ１３８の内部Ｐ２Ｐソフトウェアを起動する処理は無い。
【０１８５】
また、ユーザ端末Ｔｍ−ｎが必要とするコンテンツを、このユーザ端末Ｔｍ−ｎが接続する拠点ネットワークＮＬｍに接続するエッジサーバＳＥｍのみが保存している場合の動作が以下のように異なる。
【０１８６】
エッジサーバＳＥｍが拠点Ｐ２ＰネットワークＰＬｍに参加する実施形態の場合には、ユーザ端末Ｔｍ−ｎはエッジサーバＳＥｍに対してコンテンツ代理取得要求を基本的には送信しない。その理由は、コンテンツ代理取得要求を送信するよりも前に、Ｐ２ＰネットワークＰＬｍを通じてエッジサーバＳＥｍがコンテンツを保持していることが検知でき、Ｐ２ＰネットワークＰＬｍからコンテンツを取得することが出来るからである。
【０１８７】
一方、エッジサーバＳＥｍが拠点Ｐ２ＰネットワークＰＬｍに参加しない本変形例の場合、ユーザ端末Ｔｍ−ｎはエッジサーバＳＥｍに対してコンテンツ代理取得要求を必ず送信する。その理由は、拠点Ｐ２ＰネットワークＰＬｍに、必要なコンテンツを保存しているノードが参加していないため、この状況下では、ステップＳ１０７の判定がタイムアウトになり、Ｓ１０８が実行されるからである。
【０１８８】
以上説明したように、本実施形態によれば、同一の拠点ネットワークＮＬｍに接続するユーザ端末Ｔｍ−ｎ間でのコンテンツの送受信を可能とするオーバーレイネットワークとしての拠点Ｐ２ＰネットワークＰＬｍが拠点ネットワークＮＬｍ毎に構築されている。また、各エッジサーバＳＥｍ間でのコンテンツの送受信を可能とするオーバーレイネットワークとしてのＰ２ＰネットワークＰＷがネットワークＰＷ上に構築されている。ユーザ端末Ｔｍ−ｎは、先ず、参加している拠点Ｐ２ＰネットワークＰＬｍからコンテンツの取得を試みる。そして、ユーザ端末Ｔｍ−ｎは、拠点Ｐ２ＰネットワークＰＬｍからコンテンツを取得することができない場合には、接続先の拠点ネットワークＮＬｍに接続するエッジサーバＳＥｍを介して何れかのエッジサーバＳＥｍからコンテンツを取得する。
【０１８９】
従って、接続先の拠点ネットワークＮＬｍに接続する他のユーザ端末Ｔｍ−ｎがコンテンツを保存していれば、ユーザ端末Ｔｍ−ｎは他のユーザ端末Ｔｍ−ｎからコンテンツを取得することが出来る。この場合、ユーザ端末Ｔｍ−ｎはネットワークＮＷを介してコンテンツを要求する必要がない。従って、拠点ネットワークＮＬｍからネットワークＮＷに接続する通信回線Ｌｍのトラフィックが減り、コンテンツを効率良く取得することが出来る。
【０１９０】
また、ユーザ端末Ｔｍ−ｎが、参加している拠点Ｐ２ＰネットワークＰＬｍからコンテンツを取得することができない場合、コンテンツ代理取得要求メッセージをエッジサーバＳＥｍに送信する。エッジサーバＳＥｍは、コンテンツ代理取得要求メッセージを受信した場合、Ｐ２ＰネットワークＰＷからコンテンツを取得する。次いで、エッジサーバＳＥｍは、取得したコンテンツをコンテンツキャッシュエリアに保存し要求元のユーザ端末Ｔｍ−ｎに送信する。そして、ユーザ端末Ｔｍ−ｎが、エッジサーバＳＥｍからコンテンツを受信する。
【０１９１】
従って、ユーザ端末Ｔｍ−ｎが、取得したコンテンツを削除したとしても、エッジサーバＳＥｍがコンテンツを保存していれば、このエッジサーバＳＥｍからコンテンツを取得することが出来る。従って、拠点ネットワークＮＬｍからネットワークＮＷに接続する通信回線Ｌｍのトラフィックが減り、コンテンツを効率良く取得することが出来る。
【０１９２】
また、拠点Ｐ２ＰネットワークＰＬｍは、エッジサーバＳＥｍと、当該エッジサーバＳＥｍと同じ拠点ネットワークＮＬｍに接続する各ユーザ端末Ｔｍ−ｎとの間でのコンテンツの送受信を可能とするオーバーレイネットワークである。
【０１９３】
従って、同じ拠点ネットワークＮＬｍに接続されているユーザ端末Ｔｍ−ｎ又はエッジサーバＳＥｍがコンテンツを保存していれば、オーバーレイネットワークからコンテンツを取得することが出来る。従って、エッジサーバＳＥｍからコンテンツを取得する場合の手順を単純にすることが出来る。
【０１９４】
また、拠点Ｐ２ＰネットワークＰＬｍは、エッジサーバＳＥｍが参加しないオーバーレイネットワークであっても良い。この場合、エッジサーバＳＥｍは、コンテンツ代理取得要求メッセージを受信したときに要求されたコンテンツがコンテンツキャッシュエリアに保存されている場合には、このコンテンツキャッシュエリアに保存されているコンテンツをユーザ端末Ｔｍ−ｎに送信しても良い。
【０１９５】
この場合であれば、必要なコンテンツをユーザ端末Ｔｍ−ｎとエッジサーバＳＥｍとの双方が保存している場合、ユーザ端末Ｔｍ−ｎの方からコンテンツが取得される。従って、エッジサーバＳＥｍの負荷を減らすことが出来る。
【０１９６】
また、ユーザ端末Ｔｍ−ｎ及びエッジサーバＳＥｍ夫々は、ユーザ端末Ｔｍ−ｎ毎及びエッジサーバＳＥｍ毎に動作モードを示す動作モード指定ファイルを取得する。そして、ユーザ端末Ｔｍ−ｎは、動作モード指定ファイルにおいてユーザ端末Ｔｍ−ｎ自身の動作モードがクライアントサーバ方式である場合には、エッジサーバＳＥｍからコンテンツを取得する。一方、エッジサーバＳＥｍは、動作モード指定ファイルにおいてエッジサーバＳＥｍ自身の動作モードがクライアントサーバ方式である場合には、投入サーバＳＴからコンテンツを取得する。
【０１９７】
従って、ユーザ端末Ｔｍ−ｎが拠点Ｐ２ＰネットワークＰＬｍに参加できない場合があったとしても、ユーザ端末Ｔｍ−ｎはクライアントサーバ方式でコンテンツを取得することが出来る。また、エッジサーバＳＥｍがＰ２ＰネットワークＰＷに参加することができない場合があったとしても、エッジサーバＳＥｍはクライアントサーバ方式でコンテンツを取得することが出来る。
【０１９８】
また、ユーザ端末Ｔｍ−ｎは、動作モード指定ファイルを拠点Ｐ２ＰネットワークＰＬｍから取得する。また、エッジサーバＳＥｍは、動作モード指定ファイルをＰ２ＰネットワークＰＷから取得する。
【０１９９】
従って、オーバーレイネットワークによる情報通信で動作モード指定ファイルを取得することが出来るので、動作モード指定ファイルの取得によるネットワーク負荷を分散させることが出来る。
【０２００】
また、ユーザ端末Ｔｍ−ｎは、拠点Ｐ２ＰネットワークＰＬｍに参加する際、参加要求メッセージを、コンタクトノードであるエッジサーバＳＥｍに送信する。また、ユーザ端末Ｔｍ−ｎは、エッジサーバＳＥｍ及び他のユーザ端末Ｔｍ−ｎから送信されてきた参加応答メッセージを受信する。また、ユーザ端末Ｔｍ−ｎは、受信した参加応答メッセージに含まれるノード情報に基づいてルーティングテーブルを作成する。そして、ユーザ端末Ｔｍ−ｎは、作成したルーティングテーブルに含まれるノード情報のＩＰアドレス及びポート番号等に基づいて、拠点Ｐ２ＰネットワークＰＬｍからコンテンツを取得する。
【０２０１】
従って、エッジサーバＳＥｍが稼働していれば、ユーザ端末Ｔｍ−ｎは拠点Ｐ２ＰネットワークＰＬｍに参加することが出来る。よって、拠点Ｐ２ＰネットワークＰＬｍの参加のために特定のユーザ端末Ｔｍ−ｎを常時稼働させておく必要がない。
【０２０２】
なお、拠点Ｐ２ＰネットワークＰＬｍのコンタクトノードが、エッジサーバＳＥｍではなく、特定のユーザ端末Ｔｍ−ｎであっても良い。この場合であれば、ユーザ端末Ｔｍ−ｎによる内部Ｐ２ＰネットワークＰＬｍへの参加及び離脱が頻繁に起きても、参加の要求に対してエッジサーバＳＥｍが毎回処理する必要がない。よって、エッジサーバＳＥｍを減らすことが出来る。
【０２０３】
また、上記実施形態においては、内部オーバーレイネットワーク及び外部オーバーレイネットワーク夫々に、ＤＨＴを利用したピアツーピアネットワークが適用されていたが、これに限られるものではない。例えば、他のピアツーピアシステム、または、オーバーレイネットワークを用いたシステムが適用されても良い。
【０２０４】
また、上記実施形態においては、ユーザ端末Ｔｍ−ｎが拠点Ｐ２ＰネットワークＰＬｍに参加するとき、及び、エッジサーバＳＥｍがＰ２ＰネットワークＰＷに参加するときには、そのピアツーピアネットワークに参加しているコンタクトノードに参加要求メッセージを送信していた。しかしながら、拠点Ｐ２ＰネットワークＰＬｍ又はＰ２ＰネットワークＰＷに、例えば、ＤＨＴを利用しないピアツーピアネットワークが適用された場合、参加要求メッセージの送信先は、ピアツーピアネットワークに参加しているノードではなくても良い。例えば、参加要求メッセージの送信先は、ピアツーピアネットワークに参加しているノードのノード情報等を管理するサーバ装置であっても良い。この場合、拠点Ｐ２ＰネットワークＰＬｍネットワークにおいてノード情報等を管理するサーバ装置は、例えば、エッジサーバＳＥｍであっても良い。また、Ｐ２ＰネットワークＰＷにおいてノード情報等を管理するサーバ装置は、例えば、投入サーバＳＴであっても良い。なお、ＤＨＴを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。
【符号の説明】
【０２０５】
１１  制御部
１２  記憶部
１３  通信部
１４  バス
２１、４１  制御部
２２、４２  記憶部
２３、４３  バッファメモリ
２４、４４  デコーダ部
２５、４５  映像処理部
２６、４６  表示部
２７、４７  音声処理部
２８、４８  スピーカ
２９、４９  通信部
３０、５０  入力部
３１、５１  バス
ＳＴ  投入サーバ
ＳＥｍ  エッジサーバ
Ｔｍ−ｎ  ユーザ端末
ＳＭ  管理サーバ
ＳＰ  ポータルサーバ
ＭＴ  管理端末
ＦＷ  ファイアーウォール
ＢＲ  ブロードバンドルータ
Ｌｍ、ＬＳ  通信回線
ＮＬｍ  拠点ネットワーク
ＮＷ  ネットワーク
ＮＳ  配信センターネットワーク
ＰＬｍ  拠点Ｐ２Ｐネットワーク
ＰＷ  Ｐ２Ｐネットワーク
Ｓ  コンテンツ配信システム
【図１】
0005556104.tif 000002
【図２】
0005556104.tif 000003
【図３】
0005556104.tif 000004
【図４】
0005556104.tif 000005
【図５】
0005556104.tif 000006
【図６】
0005556104.tif 000007
【図７】
0005556104.tif 000008
【図８】
0005556104.tif 000009
【図９】
0005556104.tif 000010
【図１０】
0005556104.tif 000011
【図１１】
0005556104.tif 000012
【図１２】
0005556104.tif 000013
【図１３】
0005556104.tif 000014
【図１４】
0005556104.tif 000015
【図１５】
0005556104.tif 000016