(57)【要約】      （修正有）【課題】ノード装置にデータを取得させることを可能とする情報通信システム、情報通信方法、ノード装置及びプログラムを提供する。【解決手段】ネットワークを介して、複数のノード間でデータの送受信を行う情報通信システムにおいて、ピアツーピア型の情報通信システムに予め保存されているデータの配信遅延が起きた場合であっても、情報通信システムの配信負荷を判定し、配信負荷が所定の値より大きいと判定した場合にデータの取得を一定期間停止することにより、効果的にデータ配信の遅延を解消する。【選択図】図６
2011155447.tif 000002
【特許請求の範囲】
【請求項１】
ネットワークを介して、複数のノード装置間でデータの送受信を行う情報通信システムであって、
前記情報通信システムが含む情報処理装置は、
前記情報通信システムの配信負荷が、所定の配信負荷より大きいか否かを判定する負荷判定部と、
前記負荷判定部により配信負荷が大きいと判定されたとき、前記データの取得を一定期間停止させる指示を前記ノード装置へ送信する第１送信部と、
を備え、
前記指示を受信した受信ノード装置は、
前記データを取得する取得部と、
前記第１送信部により送信された前記指示を受信する受信部と、
前記受信部が、前記指示を受信したとき、前記取得部が取得するデータの種類が、前記情報通信システム内に予め保存されていた第１種データであるか否かを判定するデータ判定部を備え、
前記データ判定部により前記第１種データであると判定され、更に、前記受信部により前記指示を受信したとき、前記取得部によるデータの取得を一定期間停止させる制御を行う制御部と、
を備えることを特徴とする情報通信システム。
【請求項２】
ネットワークを介して、複数のノード装置間でデータの送受信を行う情報通信システムであって、
前記情報通信システムが含む情報処理装置は、
前記情報通信システムの配信負荷が、所定の配信負荷より大きいか否かを判定する負荷判定部と、
前記負荷判定部により配信負荷が大きいと判定されたとき、前記配信負荷が大きいことを示す負荷情報を前記ノード装置へ送信する第１送信部と、
を備え、
前記負荷情報を受信した受信ノード装置は、
前記データを取得する取得部と、
前記第１送信部により送信された前記負荷情報を受信する受信部と、
前記受信部が、前記負荷情報を受信したとき、前記取得部が取得するデータの種類が、前記情報通信システム内に予め保存されていた第１種データであるか否かを判定するデータ判定部と、
前記データ判定部により前記第１種データであると判定され、更に、前記受信部により前記負荷情報を受信したとき、前記取得部によるデータの取得を一定期間停止させる制御を行う制御部と、
を備えることを特徴とする情報通信システム。
【請求項３】
前記受信部が、前記負荷情報または前記指示を受信したとき、前記受信ノード装置の前記データ判定部は、前記取得部が取得するデータの種類が、オンデマンドで配信される前記第１種データであるか否かを判定し、
前記データ判定部により、前記取得部が取得するデータの種類が、オンデマンドで配信される前記第１種データであると判定されたとき、前記制御部は、前記受信部により受信された前記負荷情報、または、前記指示に基づいて、前記取得部によるデータの取得を一定期間停止させる制御を行うことを特徴とする請求項１または請求項２に記載の情報通信システム。
【請求項４】
前記受信ノード装置の前記受信部は、前記負荷情報または前記指示を受信し、
前記受信ノード装置はさらに、
前記情報通信システムが含むいずれかのノード装置から、前記取得部によりデータを取得中であるか否かを判定する取得判定部と、
前記取得判定部により、前記取得部がデータの取得中であると判定されたとき、前記制御部は、前記受信部により受信された前記負荷情報、または、前記指示に基づいて、前記取得部によるデータの取得を一定期間停止させる制御を行うことを特徴とする請求項１から請求項３のいずれか一項に記載の情報通信システム。
【請求項５】
前記情報通信システムは、
前記複数のノード装置へデータを保存させるための第２種データを配信する配信装置を含み、
前記情報処理装置は、
前記複数のノード装置へ前記第２種データを配信する配信経路を決定する経路決定部と、
前記経路決定部により決定された配信経路に基づいて、前記複数のノード装置が、前記配信装置または前記ノード装置から配信された前記第２種データを取得する時期を示す取得時期情報と、前記配信された前記第２種データの取得先の前記配信装置、または、前記ノード装置を示す装置情報と、を含む配信情報を前記複数のノード装置へ送信する第２送信部と、
前記負荷判定部により、前記情報通信システムの配信負荷が所定の配信負荷より大きいと判定されたとき、前記配信装置が前記複数のノード装置へ前記第２種データを配信中であるか否かを判定する配信判定部を備え、
前記配信判定部により、前記配信装置が前記複数のノード装置へ前記第２種データを配信中であると判定されたとき、前記経路決定部は、前記配信経路を再度決定し、
前記第２送信部は、前記経路決定部により再度決定された配信経路に基づいて、前記配信情報を前記複数のノード装置へ送信することを特徴とする請求項１から請求項４のいずれか一項に記載の情報通信システム。
【請求項６】
前記情報通信システムは、オーバーレイネットワークにより前記複数のノード装置に前記データを保存することを特徴とする請求項１から請求項５のいずれか一項に記載の情報通信システム。
【請求項７】
前記情報処理装置は、前記情報通信システムのオーバーレイネットワークに保存されるデータの元データを記憶する記憶部を備え、
前記情報処理装置の前記負荷判定部は、前記ノード装置から前記情報処理装置へのデータのリクエストが、所定の数より大きいとき、前記情報通信システムの配信負荷が所定の配信負荷より大きいと判定することを特徴とする請求項６に記載の情報通信システム。
【請求項８】
ネットワークを介して、複数のノード装置間でデータの送受信を行う情報通信システムの情報通信方法であって、
前記情報通信システムが含む情報処理装置は、
前記情報通信システムの配信負荷が、所定の配信負荷より大きいか否かを判定する負荷判定ステップと、
前記負荷判定ステップにより配信負荷が大きいと判定されたとき、前記配信負荷が大きいことを示す負荷情報を前記ノード装置へ送信する送信ステップと、
を含み、
前記負荷情報を受信する受信ノード装置は、
前記負荷情報を受信する受信ステップと、
前記受信ステップにより受信された前記負荷情報に基づいて、前記ノード装置に備えられた取得部によるデータの取得動作を一定期間停止させる制御を行う制御ステップと、
を含むことを特徴とする情報通信方法。
【請求項９】
ネットワークを介して、複数のノード装置間でデータの送受信を行う情報通信システムの情報通信方法であって、
前記情報通信システムが含む情報処理装置は、
前記情報通信システムの配信負荷が、所定の配信負荷より大きいか否かを判定する負荷判定ステップと、
前記負荷判定ステップにより配信負荷が大きいと判定されたとき、前記データの取得を一定期間停止させる指示を前記ノード装置へ送信する送信ステップと、
を備え、
前記指示を受信した受信ノード装置は、
前記指示を受信する受信ステップと、
前記受信ステップにより受信された指示に基づいて、前記ノード装置に備えられた取得部によるデータの取得動作を停止させる制御を行う制御ステップと、
を含むことを特徴とする情報通信方法。
【請求項１０】
ネットワークを介して、複数のノード装置間でデータの送受信を行う情報通信システムが含むノード装置であって、
前記データを取得する取得部と、
前記情報通信システムが含む情報処理装置から、前記情報通信システムの配信負荷が、所定の配信負荷より大きいことを示す負荷情報を取得する第２取得部と、
前記第２取得部が、前記負荷情報を取得したとき、前記取得部が取得するデータの種類が、前記情報通信システム内に予め保存されていた第１種データであるか否かを判定するデータ判定部と、
前記データ判定部により前記第１種データであると判定されたとき、前記第２取得部により取得された前記負荷情報に基づいて、前記取得部によるデータの取得を一定期間停止させる制御を行う制御部と、
を備えることを特徴とするノード装置。
【請求項１１】
ネットワークを介して、複数のノード装置間でデータの送受信を行う情報通信システムが含むノード装置が備えるコンピュータを動作させるプログラムであって、
前記データを取得する取得ステップと、
前記情報通信システムが含む情報処理装置から、前記情報通信システムの配信負荷が、所定の配信負荷より大きいことを示す負荷情報を取得する第２取得ステップと、
前記第２取得ステップが、前記負荷情報を取得したとき、前記取得部が取得するデータの種類が、前記情報通信システム内に予め保存されていた第１種データであるか否かを判定するデータ判定ステップと、
前記データ判定ステップにより前記第１種データであると判定されたとき、前記第２取得ステップにより取得された前記負荷情報に基づいて、前記取得ステップによるデータの取得を一定期間停止させる制御を行う制御ステップと、
を備えることを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報通信システム、情報通信方法、ノード装置及びプログラムに関する。詳細には、ネットワークを介して相互にデータを送受信可能な複数のノード装置を含む情報通信システム、情報通信方法、ノード装置及びプログラムに関する。
【背景技術】
【０００２】
特許文献１には、ピアツーピア型の情報通信システムに関する技術が開示されている。具体的には、分散ハッシュテーブルを用いてデータの送受信を行う技術が開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１９１９０４号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献１には、ピアツーピア型の情報通信システムでデータの送受信が行われる場合、データ取得の際に経由する装置の数を示すホップ数による遅延が記載されている。ピアツーピア型の情報通信システムで発生する遅延は、データを配信するネットワーク経路が原因となるのが一般的である。データを配信するためのホップ数が多いと、データを経由するノード装置の数が大きくなり遅延が生じる。
【０００５】
一方、ピアツーピア型の情報通信システムに予め保存されているデータが配信されるとき、コンテンツを保持するコンテンツ保持ノードの数が少ない場合がある。この場合、特定のノード装置、または、コンテンツのオリジナルデータを管理するサーバへのアクセスが集中することがある。特定のノード装置、または、サーバにアクセスが集中することで、データ配信の遅延が発生する。特許文献１に記載の技術では、ホップ数による遅延解消することはできるが、ピアツーピア型の情報通信システムに予め保存されているデータを配信する遅延を解消することができなかった。そのため、効果的にデータ配信の遅延を解消することができなかった。
【０００６】
本発明は、以上の点に鑑みてなされたものである。本発明は、ピアツーピア型の情報通信システムに予め保存されているデータの配信遅延が起きた場合であっても、効果的にデータ配信の遅延を解消する。そして、ノード装置にデータを取得させることを可能とする情報通信システム、情報通信方法、ノード装置及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
請求項１に記載の発明によれば、ネットワークを介して、複数のノード装置間でデータの送受信を行う情報通信システムであって、前記情報通信システムが含む情報処理装置は、前記情報通信システムの配信負荷が、所定の配信負荷より大きいか否かを判定する負荷判定部と、前記負荷判定部により配信負荷が大きいと判定されたとき、前記データの取得を一定期間停止させる指示を前記ノード装置へ送信する第１送信部と、を備え、前記指示を受信した受信ノード装置は、前記データを取得する取得部と、前記第１送信部により送信された前記指示を受信する受信部と、前記受信部が、前記指示を受信したとき、前記取得部が取得するデータの種類が、前記情報通信システム内に予め保存されていた第１種データであるか否かを判定するデータ判定部を備え、前記データ判定部により前記第１種データであると判定され、更に、前記受信部により前記指示を受信したとき、前記取得部によるデータの取得を一定期間停止させる制御を行う制御部と、を備えることを特徴とする情報通信システムである。
【０００８】
請求項２に記載の発明によれば、ネットワークを介して、複数のノード装置間でデータの送受信を行う情報通信システムであって、前記情報通信システムが含む情報処理装置は、前記情報通信システムの配信負荷が、所定の配信負荷より大きいか否かを判定する負荷判定部と、前記負荷判定部により配信負荷が大きいと判定されたとき、前記配信負荷が大きいことを示す負荷情報を前記ノード装置へ送信する第１送信部と、を備え、前記負荷情報を受信した受信ノード装置は、前記データを取得する取得部と、前記第１送信部により送信された前記負荷情報を受信する受信部と、前記受信部が、前記負荷情報を受信したとき、前記取得部が取得するデータの種類が、前記情報通信システム内に予め保存されていた第１種データであるか否かを判定するデータ判定部と、前記データ判定部により前記第１種データであると判定され、更に、前記受信部により前記負荷情報を受信したとき、前記取得部によるデータの取得を一定期間停止させる制御を行う制御部と、を備えることを特徴とする情報通信システムである。
【０００９】
請求項３に記載の発明によれば、前記受信部が、前記負荷情報または前記指示を受信したとき、前記受信ノード装置の前記データ判定部は、前記取得部が取得するデータの種類が、オンデマンドで配信される前記第１種データであるか否かを判定し、前記データ判定部により、前記取得部が取得するデータの種類が、オンデマンドで配信される前記第１種データであると判定されたとき、前記制御部は、前記受信部により受信された前記負荷情報、または、前記指示に基づいて、前記取得部によるデータの取得を一定期間停止させる制御を行うことを特徴とする。
【００１０】
請求項４に記載の発明によれば、前記受信ノード装置の前記受信部は、前記負荷情報または前記指示を受信し、前記受信ノード装置はさらに、前記情報通信システムが含むいずれかのノード装置から、前記取得部によりデータを取得中であるか否かを判定する取得判定部と、前記取得判定部により、前記取得部がデータの取得中であると判定されたとき、前記制御部は、前記受信部により受信された前記負荷情報、または、前記指示に基づいて、前記取得部によるデータの取得を一定期間停止させる制御を行うことを特徴とする。
【００１１】
請求項５に記載の発明によれば、前記情報通信システムは、前記複数のノード装置へデータを保存させるための第２種データを配信する配信装置を含み、前記情報処理装置は、前記複数のノード装置へ前記第２種データを配信する配信経路を決定する経路決定部と、前記経路決定部により決定された配信経路に基づいて、前記複数のノード装置が、前記配信装置または前記ノード装置から配信された前記第２種データを取得する時期を示す取得時期情報と、前記配信された前記第２種データの取得先の前記配信装置、または、前記ノード装置を示す装置情報と、を含む配信情報を前記複数のノード装置へ送信する第２送信部と、前記負荷判定部により、前記情報通信システムの配信負荷が所定の配信負荷より大きいと判定されたとき、前記配信装置が前記複数のノード装置へ前記第２種データを配信中であるか否かを判定する配信判定部を備え、前記配信判定部により、前記配信装置が前記複数のノード装置へ前記第２種データを配信中であると判定されたとき、前記経路決定部は、前記配信経路を再度決定し、前記第２送信部は、前記経路決定部により再度決定された配信経路に基づいて、前記配信情報を前記複数のノード装置へ送信することを特徴とする。
【００１２】
請求項６に記載の発明によれば、前記情報通信システムは、オーバーレイネットワークにより前記複数のノード装置に前記データを保存することを特徴とする。
【００１３】
請求項７に記載の発明によれば、前記情報処理装置は、前記情報通信システムのオーバーレイネットワークに保存されるデータの元データを記憶する記憶部を備え、前記情報処理装置の前記負荷判定部は、前記ノード装置から前記情報処理装置へのデータのリクエストが、所定の数より大きいとき、前記情報通信システムの配信負荷が所定の配信負荷より大きいと判定することを特徴とする。
【００１４】
請求項８に記載の発明によれば、ネットワークを介して、複数のノード装置間でデータの送受信を行う情報通信システムの情報通信方法であって、前記情報通信システムが含む情報処理装置は、前記情報通信システムの配信負荷が、所定の配信負荷より大きいか否かを判定する負荷判定ステップと、前記負荷判定ステップにより配信負荷が大きいと判定されたとき、前記配信負荷が大きいことを示す負荷情報を前記ノード装置へ送信する送信ステップと、を含み、前記負荷情報を受信する受信ノード装置は、前記負荷情報を受信する受信ステップと、前記受信ステップにより受信された前記負荷情報に基づいて、前記ノード装置に備えられた取得部によるデータの取得動作を一定期間停止させる制御を行う制御ステップと、を含むことを特徴とする情報通信方法である。
【００１５】
請求項９に記載の発明によれば、ネットワークを介して、複数のノード装置間でデータの送受信を行う情報通信システムの情報通信方法であって、前記情報通信システムが含む情報処理装置は、前記情報通信システムの配信負荷が、所定の配信負荷より大きいか否かを判定する負荷判定ステップと、前記負荷判定ステップにより配信負荷が大きいと判定されたとき、前記データの取得を一定期間停止させる指示を前記ノード装置へ送信する送信ステップと、を備え、前記指示を受信した受信ノード装置は、前記指示を受信する受信ステップと、前記受信ステップにより受信された指示に基づいて、前記ノード装置に備えられた取得部によるデータの取得動作を停止させる制御を行う制御ステップと、を含むことを特徴とする情報通信方法である。
【００１６】
請求項１０に記載の発明によれば、ネットワークを介して、複数のノード装置間でデータの送受信を行う情報通信システムが含むノード装置であって、前記データを取得する取得部と、前記情報通信システムが含む情報処理装置から、前記情報通信システムの配信負荷が、所定の配信負荷より大きいことを示す負荷情報を取得する第２取得部と、前記第２取得部が、前記負荷情報を取得したとき、前記取得部が取得するデータの種類が、前記情報通信システム内に予め保存されていた第１種データであるか否かを判定するデータ判定部と、前記データ判定部により前記第１種データであると判定されたとき、前記第２取得部により取得された前記負荷情報に基づいて、前記取得部によるデータの取得を一定期間停止させる制御を行う制御部と、を備えることを特徴とするノード装置である。
【００１７】
請求項１１に記載の発明によれば、ネットワークを介して、複数のノード装置間でデータの送受信を行う情報通信システムが含むノード装置が備えるコンピュータを動作させるプログラムであって、前記データを取得する取得ステップと、前記情報通信システムが含む情報処理装置から、前記情報通信システムの配信負荷が、所定の配信負荷より大きいことを示す負荷情報を取得する第２取得ステップと、前記第２取得ステップが、前記負荷情報を取得したとき、前記取得部が取得するデータの種類が、前記情報通信システム内に予め保存されていた第１種データであるか否かを判定するデータ判定ステップと、前記データ判定ステップにより前記第１種データであると判定されたとき、前記第２取得ステップにより取得された前記負荷情報に基づいて、前記取得ステップによるデータの取得を一定期間停止させる制御を行う制御ステップと、を備えることを特徴とするプログラムである。
【発明の効果】
【００１８】
請求項１に記載の発明によれば、情報通信システムは、受信部が、指示を受信したとき、取得部が取得するデータの種類が、情報通信システム内に予め保存されていた第１種データであるか否かを判定するデータ判定部と、データ判定部により第１種データであると判定され、更に、受信部により指示を受信したとき、取得部によるデータの取得を一定期間、停止させる制御を行う制御部と、を備える。従って、データの配信遅延が起きた場合であっても、情報通信システム内に予め保存されていた第１種データに応じて、一定期間、データの取得を停止させる。この結果、データの取得が集中するのを緩和することができ、データ配信の遅延を解消することができる。
【００１９】
請求項２に記載の発明によれば、情報通信システムは、受信部が、負荷情報を受信したとき、取得部が取得するデータの種類が、情報通信システム内に予め保存されていた第１種データであるか否かを判定するデータ判定部と、データ判定部により第１種データであると判定され、更に、受信部により負荷情報を受信したとき、取得部によるデータの取得を一定期間停止させる制御を行う制御部と、を備える。従って、データの配信遅延が起きた場合であっても、情報通信システム内に予め保存されていた第１種データに応じて、一定期間、データの取得を停止させる。この結果、データの取得が集中するのを緩和することができ、データ配信の遅延を解消することができる。
【００２０】
請求項３に記載の発明によれば、データ判定部により、取得部が取得するデータの種類が、オンデマンドで配信される第１種データであると判定されたとき、制御部は、受信部により受信された負荷情報、または、指示に基づいて、取得部によるデータの取得を一定期間停止させる制御を行う。この結果、オンデマンド配信されているデータの場合であっても、データの取得が集中するのを緩和することができ、データ配信の遅延を解消することができる。
【００２１】
請求項４に記載の発明によれば、取得判定部により、取得部がデータの取得中であると判定されたとき、制御部は、受信部により受信された負荷情報、または、指示に基づいて、取得部によるデータの取得を一定期間停止させる制御を行う。この結果、データが取得中の場合、データの取得を一定期間停止させることで、データの取得が集中するのを緩和することができ、データ配信の遅延を解消することができる。
【００２２】
請求項５に記載の発明によれば、情報通信システムは、負荷判定部により、情報通信システムの配信負荷が所定の配信負荷より大きいと判定されたとき、配信装置が複数のノード装置へ第２種データを配信中であるか否かを判定する配信判定部を備える。配信判定部により、配信装置が複数のノード装置へ第２種データを配信中であると判定されたとき、経路決定部は、配信経路を再度決定する。第２送信部は、経路決定部により再度決定された配信経路に基づいて、配信情報を複数のノード装置へ送信する。従って、複数のノード装置へデータを保存させるために配信されているデータと、情報通信システム内に予め保存されていたデータとで、遅延を解消するための方法を切り替えることができる。この結果、複数のノード装置へデータを保存させるために配信されているデータと、情報通信システム内に予め保存されていたデータとで、データ配信の遅延を解消する方法を切り替えることで、効果的に遅延を解消することができる。
【００２３】
請求項６に記載の発明によれば、情報通信システムは、オーバーレイネットワークにより複数のノード装置にデータを保存する。この結果、データがオーバーレイネットワークにより分散保存される。
【００２４】
本明細書に記載の情報通信システムでは、一般的に、オーバーレイネットワークを構成するノード装置からデータが取得される。また、ノード装置からデータが取得できない場合に、情報通信システムが含む情報処理装置からデータが取得される。請求項７に記載の発明によれば、情報処理装置は、情報通信システムのオーバーレイネットワークに保存されるデータの元データを記憶する記憶部を備える。情報処理装置の負荷判定部は、ノード装置から情報処理装置へのデータのリクエストが、所定の数より大きいとき、情報通信システムの配信負荷が所定の配信負荷より大きいと判定する。従って、情報通信システムの配信負荷を管理装置によるコンテンツのリクエストにより判定することができる。この結果、配信負荷を判定するための特別な処理動作が必要なく、簡略な構成で配信負荷を判定することができる。
【００２５】
請求項８に記載の発明によれば、制御ステップは、受信ステップにより受信された負荷情報に基づいて、ノード装置に備えられた取得部によるデータの取得動作を一定期間停止させる制御を行う。従って、データの配信遅延が起きた場合であっても、情報通信システム内に予め保存されていた第１種データに応じて、一定期間、データの取得を停止させる。この結果、データの取得が集中するのを緩和することができ、データ配信の遅延を解消することができる。
【００２６】
請求項９に記載の発明よれば、制御ステップは、受信ステップにより受信された指示に基づいて、ノード装置に備えられた取得部によるデータの取得動作を停止させる制御を行う。従って、データの配信遅延が起きた場合であっても、情報通信システム内に予め保存されていた第１種データに応じて、一定期間、データの取得を停止させる。この結果、データの取得が集中するのを緩和することができ、データ配信の遅延を解消することができる。
【００２７】
請求項１０に記載の発明よれば、制御部は、データ判定部により第１種データであると判定されたとき、第２取得部により取得された負荷情報に基づいて、取得部によるデータの取得を一定期間停止させる制御を行う。従って、データの配信遅延が起きた場合であっても、情報通信システム内に予め保存されていた第１種データに応じて、一定期間、データの取得を停止させる。この結果、データの取得が集中するのを緩和することができ、データ配信の遅延を解消することができる。
【００２８】
請求項１１に記載の発明よれば、制御ステップは、データ判定ステップにより第１種データであると判定されたとき、第２取得ステップにより取得された負荷情報に基づいて、取得ステップによるデータの取得を一定期間停止させる制御を行う。従って、データの配信遅延が起きた場合であっても、情報通信システム内に予め保存されていた第１種データに応じて、一定期間、データの取得を停止させる。この結果、データの取得が集中するのを緩和することができ、データ配信の遅延を解消することができる。
【図面の簡単な説明】
【００２９】
【図１】本実施形態の情報通信システムＳにおける各ノードＮｎの接続態様示す概念図である。
【図２】複数のノードＮｎにより形成された階層と、コンテンツの配信経路との一例を示す概念図である。
【図３】本実施形態のノードＮｎの電気的構成を示す概念図である。
【図４】本実施形態のセンターサーバＳＡの電気的構成を示す概念図である。
【図５】本実施形態のセンターサーバＳＡのメイン動作処理の処理手順を示すフローチャートである。
【図６】本実施形態のノードＮｎのメイン動作処理を示すフローチャートである。
【００３０】
［１．情報通信システムの構成］
始めに、図１を参照して、本発明の情報通信システムの構成及び動作概要について説明する。図１は、本実施形態の情報通信システムＳにおける各ノード装置の接続態様の一例を示す概念図である。
【００３１】
図１の具体的構成図１０１内に示すように、情報通信システムＳは、複数のノード装置Ｎｎにより構成される。複数のノード装置Ｎｎは、インターネットを介して情報通信システムＳに接続される。また、図１の具体的構成図１０１内に示すように、インターネット等のネットワーク８は、一般的に、ＩＸ（Internet eＸchange）３、ＩＳＰ（Internet Service Provider）４ａ，４ｂ、ＤＳＬ（Digital Subscriber Line）回線事業者の装置５ａ，５ｂ、ＦＴＴＨ（Fiber To The Home）回線事業者の装置６、及び通信回線７等により構築される。ネットワーク８は、現実世界の通信ネットワークである。なお、図１の例におけるネットワーク８には、データパケットを転送するためのルータが適宜挿入されているが、図１では図示を省略している。なお、通信回線７としては、例えば、電話回線や光ケーブル等が用いられる。
【００３２】
このようなネットワーク８には、複数のノード装置Ｎｎ（ｎ＝１，２，３・・・の何れか）が接続されている。以下、ノード装置は、「ノード」という。また、各ノードＮｎには、固有の製造番号及びＩＰ（Internet Protocol）アドレスが割り当てられている。そして、本実施形態の情報通信システムＳは、複数のノードＮｎのいずれかにより形成されるピアツーピア方式のネットワークシステムである。図１の概念的構成図１００は、複数のノードＮｎの接続によりピアツーピア方式のネットワークシステムが構成される概念図である。
【００３３】
図１の概念的構成図１００内に示すように、複数のノードＮｎの接続により、オーバーレイネットワーク９が構築される。オーバーレイネットワーク９は、複数のノードＮｎとネットワーク８とを用いて形成された仮想的なリンクである。オーバーレイネットワーク９は、特定のアルゴリズム、例えば、ＤＨＴ（Distributed Hash Table）を利用したアルゴリズムにより実現される。このようなＤＨＴを用いたルーティングテーブルについては、特開２００６−１９７４００号公報等で公知であるので、詳しい説明を省略する。
【００３４】
各ノードＮｎは、夫々、ＤＨＴを用いたルーティングテーブルを保持している。このルーティングテーブルは、情報通信システムＳにおける各種メッセージの転送先を規定している。情報通信システムＳに接続している１台のノードＮｎは、必要最低限のノードＮｎのノード情報をルーティングテーブルに記憶している。ノード情報は、ノードＩＤと、ＩＰアドレス及びポート番号を含む。ノードＩＤは、各ノードＮｎに固有の識別情報である。ノードＩＤは、所定桁数により構成され、各ノードＮｎに割り当てられる。ノードＩＤは、ＩＤ空間に偏りなく分散して配置される。ＩＤ空間は、所定桁数により構成され、ノードＩＤとして付与可能な全てのノードＩＤを示す。各ノードＮｎ間で互いに各種メッセージが転送されることで、ノード情報を記憶していないノードＮｎについてのノード情報が取得される。
【００３５】
図１に示す情報通信システムＳには、センターサーバＳＡと投入サーバＳＢとが備えられている。センターサーバＳＡは、オーバーレイネットワーク９に保存されるコンテンツ、及び、オーバーレイネットワーク９を構成するノードＮｎを管理するサーバである。センターサーバＳＡは、オーバーレイネットワーク９で保存されるコンテンツデータのオリジナルデータを記憶している。また、センターサーバＳＡは、オーバーレイネットワーク９に保存されるコンテンツを検索するコンテンツカタログ情報を記憶する。また、センターサーバＳＡは、各ノードＮｎのコンテンツデータの取得、または、視聴のログを記憶する。
【００３６】
一方、投入サーバＳＢは、オーバーレイネットワーク９に保存させるためのコンテンツデータを投入するためのサーバである。投入サーバＳＢは、コンテンツデータがオーバーレイネットワーク９で管理可能なように、投入されたコンテンツにコンテンツＩＤを付与する。コンテンツＩＤの詳細な説明は後述する。投入サーバＳＢは、投入されたコンテンツデータのオリジナルデータを、センターサーバＳＡに保存させる。
【００３７】
［２．オーバーレイネットワーク９に保存されたコンテンツデータの取得動作］
以下、オーバーレイネットワーク９に保存されたコンテンツデータの取得動作について説明する。情報通信システムＳは、コンテンツデータのレプリカを、所定のファイル形式で複数のノードＮｎに分散して保存する。以下、コンテンツデータは、「コンテンツ」という。そして、各ノードＮｎ間でレプリカが送受信可能になっている。各コンテンツのオリジナルはセンターサーバＳＡに保存されている。例えば、ノードＮ５には、タイトルがＸＸＸの映画のコンテンツのレプリカが保存されている。一方、ノードＮ３には、タイトルがＹＹＹの映画のコンテンツのレプリカが保存される。このように、コンテンツが複数のノードＮｎに分散されて保存されている。以下、コンテンツのレプリカが保存されるノードＮは、「コンテンツ保持ノード」という。
【００３８】
上述のコンテンツのレプリカには、夫々、コンテンツ名及びコンテンツＩＤ等の情報が付加されている。コンテンツＩＤは、コンテンツ毎に固有の識別情報である。このコンテンツＩＤは、例えば、コンテンツ名＋任意の数値が、所定のハッシュ関数によりハッシュ化されて生成される。或いは、システム管理者が、コンテンツ毎に一意のＩＤ値を付与しても良い。
【００３９】
オーバーレイネットワーク９に接続する所定のノードＮｎが、コンテンツのレプリカの所在を記憶している。以下、レプリカの所在を記憶しているノードＮｎは、「ルートノード」という。ルートノードは、インデックス情報を記憶する。インデックス情報は、レプリカの所在を示す情報である。インデックス情報は、レプリカを保存したノードＮｎのノード情報と、コンテンツのコンテンツＩＤとの組を含む。このようなルートノードは、例えば、コンテンツＩＤと最も近いノードＩＤを有するノードＮｎであるように決定させる。コンテンツＩＤと最も近いノードＩＤとは、例えば、ＩＤの上位桁が最も多く一致するノードＩＤである。
【００４０】
例えば、タイトルがＸＸＸの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツのルートノードであるノードＮ４により記憶される。また、例えば、タイトルがＹＹＹの映画のコンテンツのレプリカについてのインデックス情報は、そのコンテンツのルートノードであるノードＮ７により記憶される。
【００４１】
そして、所定のノードＮｎのユーザが、コンテンツのレプリカを取得したい場合、このレプリカの取得を望むノードＮｎは、クエリを生成する。以下、ユーザによりレプリカの取得を望むノードＮｎは、「ユーザノード」という。また、クエリは、取得を望むコンテンツの所在を問い合わせるメッセージである。クエリは、取得を望むコンテンツのコンテンツＩＤと、ユーザノードのＩＰアドレスと含むメッセージである。つまり、クエリは、コンテンツ保持ノードを検索するためのメッセージでもある。ユーザノードが取得するＤＨＴのルーティングテーブルに従って、上述のクエリが他のノードＮｎに対して送出される。つまり、ユーザノードは、クエリをルートノードに向けて送出することになる。これにより、クエリは、コンテンツＩＤをキーとするＤＨＴルーティングによって最終的にルートノードに到着することになる。
【００４２】
クエリを受信したルートノードは、受信したクエリに含まれるコンテンツＩＤに対応するインデックス情報を、ルートノードの記憶部から取得する。取得されたインデックス情報は、クエリの送信元であるユーザノードに対して返信される。そして、ユーザノードは、ルートノードにより返信されたインデックス情報を受信する。ユーザノードは、受信したインデックス情報に基づいてコンテンツのレプリカを取得、またはダウンロードすることができる。インデックス情報に含まれるコンテンツ保持ノードのＩＰアドレス等に基づいて、ユーザノードはコンテンツ保持ノードにアクセスする。ユーザノードは、アクセスしたコンテンツ保持ノードから、コンテンツのレプリカをダウンロードすることが可能になる。なお、インデックス情報には、複数のコンテンツ保持ノードのノード情報が含まれていることもある。この場合、ユーザノードは、この複数のコンテンツ保持ノードのうち所定数のコンテンツ保持ノードを選択する。そして、ユーザノードは、選択したコンテンツ保持ノードに接続してコンテンツのレプリカをダウンロードすることができる。
【００４３】
なお、ルートノードは、このインデックス情報に含まれるコンテンツ保持ノードに対してコンテンツの送信を要求するメッセージを送信しても良い。れにより、ユーザノードは、上記コンテンツ保持ノードからそのレプリカをダウンロードすることもできる。また、クエリをルートノードへ中継する中継ノードＮｎが、クエリに対応するインデックス情報を記憶している場合がある。この場合、中継ノードＮｎが、ルートノードと同じインデックス情報を記憶しているため、中継ノードＮｎからインデックス情報を取得することもできる。
【００４４】
また、ユーザノードが、コンテンツ保持ノードからコンテンツのレプリカを取得して保存したとき、保存したユーザノードは、パブリッシュメッセージを生成する。パブリッシュメッセージは、レプリカを保存したことをルートノードへ知らせるためのメッセージである。パブリッシュメッセージは、レプリカのコンテンツＩＤ及びレプリカを保存したノード装置のノード情報を含む。パブリッシュメッセージは、保存したコンテンツのレプリカのルートノードに向けて送出される。これにより、パブリッシュメッセージは、クエリと同じように、コンテンツＩＤをキーとするＤＨＴルーティングによってルートノードに到着することになる。そして、ルートノードは、パブリッシュメッセージを受信する。ルートノードは、パブリッシュメッセージに含まれるノード情報及びコンテンツＩＤの組を含むインデックス情報を記憶する。こうして、コンテンツのレプリカを取得したユーザノードは、新たに、上記コンテンツのレプリカを保持するコンテンツ保持ノードとなる。
【００４５】
各ノードＮｎにおいて、コンテンツのコンテンツ名及びコンテンツＩＤ等の属性情報は、コンテンツカタログ情報に記述されている。このコンテンツカタログ情報は、例えばセンターサーバＳＡから全てのノードＮｎに配信される。
【００４６】
上述したコンテンツの取得動作により、ユーザノードはオーバーレイネットワーク９に保存されたコンテンツを取得し、再生することができる。例えば、上述した取得動作により、予め保存されているコンテンツの配信が可能となる。具体的には、コンテンツのオンデマンド配信等が可能になる。
【００４７】
一方、ユーザノードがコンテンツを取得するときに、オーバーレイネットワーク９からの取得が困難な場合がある。例えば、オーバーレイネットワーク９にコンテンツ保持ノードが少ない場合である。この場合、多数のユーザノードはコンテンツを取得するために、少ないコンテンツ保持ノードに一斉にアクセスすることになる。この結果、コンテンツ保持ノードからコンテンツを取得できなかったユーザノードが発生する。取得できなかったユーザノードは、コンテンツのオリジナルを記憶するセンターサーバＳＡから、コンテンツを取得することになる。そのため、ユーザノードは、センターサーバＳＡへクエリを送信することとなる。具体的には、ユーザノードは、まず、コンテンツの取得を要求するクエリを送信する。送信したクエリに応答する応答メッセージが、所定期間の間にユーザノード以外のノードＮｎから返信されなかったとき、ユーザノードは、センターサーバＳＡに、コンテンツの取得を要求するクエリを送信する。この場合、ユーザノードは、センターサーバＳＡにクエリを送信せずに、取得を要求するコンテンツをセンターサーバＳＡからダウンロードするように構成しても良い。
【００４８】
このように、センターサーバＳＡへのアクセスが増加することで、ピアツーピア方式の負荷分散の効果が得られず、コンテンツの配信遅延が発生する。この場合、配信遅延を解消するために、アクセス集中の原因となっているコンテンツの取得を一時停止させることが考えられる。コンテンツの取得動作の一時停止とは、ユーザノードにコンテンツの取得を禁止することである。アクセス集中の原因となっているコンテンツの取得を一時停止させることで、センターサーバＳＡへのアクセス集中を防ぐことができる。以降、本実施形態では、ノードＮｎに分散して保存されたコンテンツを第１種コンテンツと呼ぶ。また、本実施形態のセンターサーバＳＡは、本発明の情報処理装置の一例である。また、本実施形態のセンターサーバＳＡは、本発明の配信装置の一例である。本実施形態では、本発明の情報処理装置と配信装置とを同一のセンターサーバＳＡとして記述した。本発明の情報処理装置と、配信装置とが夫々、別装置として情報通信システムＳに備えられても良い。
【００４９】
［３．オーバーレイネットワーク９に接続された各ノードＮｎへのコンテンツのＰｕｓｈ型配信］
次に、各ノードＮｎへのコンテンツ配信について、図２を用いて説明する。図２は、本実施形態の情報通信システムＳにおける各ノードＮｎへのコンテンツのＰｕｓｈ型配信を示す概念図である。まず、投入サーバＳＢに、コンテンツが投入される。投入サーバＳＢは、投入されたコンテンツがオーバーレイネットワーク９で管理可能なようにコンテンツＩＤ等を付与する。そして、投入サーバＳＢは、センターサーバＳＡにコンテンツのオリジナルデータを保存させる。情報通信システムＳでは、センターサーバＳＡからオーバーレイネットワーク９に接続するノードＮｎへ、コンテンツのレプリカがＰｕｓｈ型配信される。Ｐｕｓｈ型配信は、本実施形態の投入サーバＳＢ、または、センターサーバＳＡの指示により、ノードＮｎのような端末装置にコンテンツを強制的に取得させる配信技術である。
【００５０】
Ｐｕｓｈ型配信の用途として、主に以下の配信が想定される。例えば、Ｐｕｓｈ型配信の用途は、「複数のノードＮｎ、または、全てのノードＮｎへのコンテンツの一斉配信」、「複数のノードＮｎ、または、全てのノードＮｎへのコンテンツの定期配信」、「コンテンツ保持ノードの数を増やすための配信」である。「コンテンツ保持ノードの数を増やすための配信」について、以下説明する。投入サーバＳＢから、オーバーレイネットワーク９に新たなコンテンツが投入された直後は、投入されたコンテンツを取得しているコンテンツ保持ノードの数が少ない。そのため、ある特定のコンテンツ保持ノードへのアクセスが集中し、ピアツーピア方式のシステムの特徴である負荷分散が行えない場合がある。「コンテンツ保持ノードの数を増やすための配信」を行う目的は、投入サーバＳＢから、オーバーレイネットワーク９に新たなコンテンツが投入された直後であっても、コンテンツ保持ノードの数を増やし、負荷分散を行うためである。
【００５１】
また、オンデマンド型配信の用途として、主に以下の配信が想定される。「ノードＮｎごとに、必要なコンテンツの取得」、「使用頻度の低いコンテンツの取得」等である。「ノードＮｎごとに、必要なコンテンツの取得」は、各ノードＮｎのユーザが所望のコンテンツを必要なときに検索し、取得することである。「使用頻度の低いコンテンツの取得」について、以下説明する。一般的に、使用頻度の高いコンテンツや人気のあるコンテンツは、Ｐｕｓｈ型配信等により、複数のノードＮｎまたは全てのノードＮｎに配信される。一方、使用頻度の低いコンテンツや人気のないコンテンツは、複数のノードＮｎまたは全てのノードＮｎに配信されないことが多い。この理由により、使用頻度の低いコンテンツや人気のないコンテンツは、オンデマンド型配信より取得される。
【００５２】
これらＰｕｓｈ型配信とオンデマンド型配信とを、利用目的により同時に実施したいという要望がある。例えば、使用頻度の高いコンテンツや人気のあるコンテンツは、Ｐｕｓｈ型配信等により、複数のノードＮｎまたは全てのノードＮｎに配信し、使用頻度の低いコンテンツや人気のないコンテンツは、コンテンツが必要なときに、各ノードＮｎによりオンデマンド型配信する場合である。他の例では、ピアツーピア方式のシステムによりオンデマンド型でコンテンツの配信を行う場合、コンテンツ保持ノードの数を増やすために、Ｐｕｓｈ型配信とオンデマンド型配信とを同時に実施したいという要望がある。
【００５３】
本実施形態では、センターサーバＳＡにより投入されたコンテンツが、複数のノードＮｎにＰｕｓｈ型配信される。図２を用いて本実施形態のＰｕｓｈ型配信の方法を詳細に説明する。図２は、複数のノードＮｎにより形成された階層と、コンテンツの配信経路との一例を示す概念図である。
【００５４】
本実施形態の情報通信システムＳでは、ノードＮｎで複数の階層を形成し、上位階層のノードＮｎから下位階層のノードＮｎにコンテンツがツリー状の配信経路を経て順次転送される。図２は、ノードＮ１〜Ｎ２２の２２台のノードＮｎへ、コンテンツをＰｕｓｈ型配信する例である。図２の例では、２２台のノードＮｎにより４階層が形成されている。第１階層にはノードＮ１のみが位置している。また、第２階層には、ノードＮ２〜Ｎ４の３台のノードＮｎが位置している。また、第３階層には、ノードＮ５〜Ｎ１０の６台のノードＮｎが位置している。更に、第４階層には、ノードＮ１１〜Ｎ２２の１２台のノードＮｎが位置している。
【００５５】
先ず、ある時刻Ｔ１において、第１階層に位置するノードＮ１がクエリを送信する。ノードＮ１は、ダウンロードすべきコンテンツの所在を検索する。ただし、このときは、オーバーレイネットワーク９に接続するノードＮｎの中に、コンテンツを保存しているノードＮｎは存在していない。この場合、ノードＮ１は、オリジナルのコンテンツを予め保存しているセンターサーバＳＡからコンテンツをダウンロードする。コンテンツをダウンロードしたノードＮ１が、保存したコンテンツのパブリッシュメッセージを送信する。パブリッシュメッセージを受信したルートノードは、インデックス情報としてノードＮ１のノード情報を登録する。
【００５６】
次に、第２階層に位置するノードＮ２〜Ｎ４が夫々コンテンツの所在を検索する。ノードＮ２〜Ｎ４は、時刻Ｔ２のときにコンテンツの所在を検索する。時刻Ｔ２は、ノードＮ１によるコンテンツの取得開始時刻Ｔ１から所定時間が経過した時刻である。ノードＮ２〜Ｎ４がルートノードへ向けてクエリを送信する。ノードＮ２〜Ｎ４は、取得したインデックス情報によりノードＮ１がコンテンツ保持ノードであることが判明する。従って、ノードＮ２〜Ｎ４は、夫々ノードＮ１からコンテンツをダウンロードする。
【００５７】
そして、第３階層に位置するノードＮ５〜Ｎ１０が夫々コンテンツの所在を検索する。ノードＮ５〜Ｎ１０は、時刻Ｔ３のときにコンテンツの所在を検索する。時刻Ｔ３は、ノードＮ２〜Ｎ４によるコンテンツの取得開始時刻Ｔ２から更に所定時間が経過した時刻である。ノードＮ５〜ノードＮ１０がルートノードへ向けてクエリを送信する。ノードＮ５〜Ｎ１０は、取得したインデックス情報により、ノードＮ２〜Ｎ４がコンテンツ保持ノードであることが判明する。従って、ノードＮ５〜Ｎ１０は、夫々ノードＮ２〜Ｎ４の何れかからコンテンツをダウンロードする。このとき、ノードＮ５〜Ｎ１０は、コンテンツの取得先を例えばランダムに選択するので、ノードＮ２〜Ｎ４は、夫々平均して２台のノードＮｎに対してコンテンツを配信することとなる。なおコンテンツの所在の検索においては、コンテンツ保持ノードとして、ノードＮ２〜Ｎ４以外にノードＮ１も検索される。従って、ノードＮ１からもコンテンツがダウンロードされる可能性がある。そうなるとコンテンツの配信経路がきれいなツリー形状にならない。そこでこの場合には、例えばノードＮ１は、時刻Ｔ２が到来する前に自身のノードＩＤとコンテンツのコンテンツＩＤとを含むコンテンツ削除メッセージを、ルートノードに向けて送信すると良い。コンテンツ削除メッセージを受信したルートノードは、自身が保持するインデックスキャッシュ情報からノードＮ１を削除する。これによりノードＮ１はコンテンツ保持ノードとしては検索されないようになる。削除メッセージを送信したノードＮ１は、コンテンツのＰｕｓｈ型配信が終了した後に、再度パブリッシュメッセージをルートノードに向けて送信しても良い。
【００５８】
最後に、第４階層に位置するノードＮ１１〜Ｎ２２が夫々コンテンツの所在を検索する。ノードＮ１１〜Ｎ２２は、時刻Ｔ４のときにコンテンツの所在を検索する。時刻Ｔ４は、ノードＮ５〜ノードＮ１０によるコンテンツの取得開始時刻Ｔ３から所定時間が経過した時刻である。ノードＮ１１〜Ｎ２２がルートノードへ向けてクエリを送信する。ノードＮ１１〜Ｎ２２は、取得したインデックス情報により、ノードＮ５〜Ｎ１０の何れかからコンテンツをダウンロードする。
【００５９】
図２に示すような、ノードＮ１〜ノードＮ２２のクエリを送信するタイミングは、スケジュール情報として、センターサーバ１０から送信される。スケジュール情報は、各ノードＮｎがクエリを送信するタイミングが記載された情報である。具体的には、スケジュール情報は、クエリを送信する時刻と、その時刻にクエリを送信するノードＮｎのノードＩＤとが対応付けられた情報である。スケジュール情報は、例えば、コンテンツカタログ情報と同様にしてノードＮｎに送信される。このスケジュール情報の送信は、例えば、特開２００７−０５３６６２号公報に記載のされているようなＤＨＴを利用したマルチキャスト配信を利用しても良い。
【００６０】
なお、図２に示すツリー状の配信経路は、予め定められたものではなく、各ノードＮｎによるコンテンツ保持ノードの検索の結果形成されたものである。一方、図２に示す配信経路の上位階層に位置するノードＮｎから、コンテンツが取得できない場合がある。この場合、配信経路を形成する複数のノードＮｎのいずれかによるコンテンツのダウンロード、または、アップロードに時間がかかっており、配信遅延が生じていると考えられる。この理由のため、コンテンツを取得するノードＮｎは、センターサーバ１０からコンテンツのオリジナルを取得することになる。センターサーバ１０からのダウンロードが頻繁になることで、ツリー型の配信経路が形成されず、コンテンツの配信遅延が生じる。この配信遅延を解消するために、センターサーバＳＡによりスケジュール情報が再生成されることが考えられる。再生成されたスケジュール情報がノードＮｎへ配信されて、再度ツリー型の配信経路が生成される。
【００６１】
スケジュール情報は、例えば、スケジュール情報が再生成される時点で、未だＰｕｓｈ型配信されるコンテンツを取得していないノードＮｎを用いて決定される。具体的には、Ｐｕｓｈ型配信されたコンテンツを取得したノード装置は、Ｐｕｓｈ型配信されるコンテンツについてのパブリッシュメッセージをルートノードに向けて送信する。ルートノードは、Ｐｕｓｈ型配信されたコンテンツを保持しているノードＮｎのノード情報を保持している。また、センターサーバＳＡは、Ｐｕｓｈ型配信される予定のノードＮｎを全て把握している。そのため、スケジュール情報の再生成が必要と判断されたとき、センターサーバＳＡは、ルートノードからＰｕｓｈ型配信コンテンツを保持しているノードＮｎのノード情報を取得する。そして、センターサーバＳＡは、取得したノード情報と、Ｐｕｓｈ型配信される予定のノードＮｎとを比較する。比較した結果、未だＰｕｓｈ型配信されるコンテンツを取得していないノードＮｎについてのスケジュール情報を再生成する。尚、スケジュール情報を再生成するとき、コンテンツを取得していないノードＮｎのネットワーク帯域の大きいノードＮｎから順にクエリを送信するように、スケジュール情報が生成されても良い。また、配信遅延の原因となるダウンロード、または、アップロードに時間を要していたノードＮｎが配信経路の下流になるよう、スケジュール情報が再生成されても良い。ネットワークの帯域は、ネットワーク内に設置された帯域測定サーバ等の公知の専用装置により測定される。以降、本実施形態では、ノードＮｎにＰｕｓｈ型配信されるコンテンツを第２種コンテンツと呼ぶ。
【００６２】
［４．情報通信システムの遅延解消方法］
本実施形態では、センターサーバＳＡの負荷が所定の負荷以上になったとき、各ノードＮｎに負荷情報をマルチキャスト配信する。負荷情報は、センターサーバＳＡの負荷が所定以上になったことを示す情報である。
【００６３】
センターサーバＳＡは、センターサーバＳＡ自身に負荷が集中しているか否かを判定する。具体的には、センターサーバＳＡのネットワーク帯域の使用量が所定量を超えたとき、センターサーバＳＡは、負荷が集中していると判定する。また、センターサーバＳＡが、ある所定時間以内に受信したメッセージの数が、所定数以上を越えたとき負荷が集中していると判定する。
【００６４】
そして、負荷情報を受信したノードＮｎは、ノードＮｎ自身が第１種コンテンツ、または、第２種コンテンツをダウンロード中であるか否かを判定する。ノードＮｎが第１種コンテンツをダウンロード中であると判定したとき、所定の時間の間、ダウンロード中であった第１種コンテンツの取得が禁止される。具体的には、ノードＮｎは、ダウンロード中であった第１種コンテンツのクエリを送信することが禁止される。この場合、ダウンロード中の第１種コンテンツの取得が、センターサーバＳＡに負荷を与えている原因と考えられる。そのため、ダウンロード中である第１種コンテンツの取得を一時停止することで、センターサーバＳＡの負荷を軽減し、コンテンツの配信を効率化することができる。
【００６５】
一方、ノードＮｎが第２種コンテンツをダウンロード中であると判定したとき、ノードＮｎは、センターサーバＳＡからスケジュール情報を受信するまで待機する。そして、スケジュール情報を受信したとき、ノードＮｎは、再度、スケジュール情報に基づいてコンテンツの取得を開始する。つまり、ダウンロード中の第２種コンテンツの取得が、センターサーバＳＡに負荷を与えている原因と考えられる。
【００６６】
この場合、配信経路を形成する複数のノードＮｎのいずれかによるコンテンツのダウンロード、または、アップロードに時間がかかっており、配信遅延が生じていると考えられる。第２種コンテンツはＰｕｓｈ型配信されるコンテンツのため、センターサーバＳＡからスケジュール情報が再配信されるまでノードＮｎは、第２種コンテンツを取得することができなくなる。このように、ダウンロード中である第２種コンテンツの取得を一時停止するとともに、再度決定されたスケジュール情報に基づいてＰｕｓｈ型配信可能なため、センターサーバＳＡの負荷を軽減し、コンテンツの配信を効率化することができる。
【００６７】
さらに本実施形態では、センターサーバＳＡは、センターサーバＳＡ自身に負荷が集中していると判定したとき、負荷の原因が第１種コンテンツであるか、または、第２種コンテンツであるかを決定する。具体的には、センターサーバＳＡが、センターサーバＳＡ自身に負荷が集中していると判定し、且つ、センターサーバＳＡが第２種コンテンツを配信中であると判定したとき、第２種コンテンツが原因で負荷が集中していると推測される。そのため、センターサーバＳＡは、第２種コンテンツのスケジュール情報を再生成する。再生成されたスケジュール情報は、各ノードＮｎへマルチキャスト配信される。
【００６８】
一方、センターサーバＳＡが、センターサーバＳＡ自身に負荷が集中していると判定し、且つ、センターサーバＳＡが受信した第１種コンテンツのクエリが所定数以上であると判定したとき、第１種コンテンツが原因で負荷が集中していると推測される。そのため、センターサーバＳＡは、クエリが所定数以上の第１種コンテンツの取得を禁止させる。具体的には、センターサーバＳＡは、取得禁止情報をノードＮｎにマルチキャスト配信する。取得禁止情報は、取得を禁止させる第１種コンテンツのコンテンツＩＤを含む情報である。取得禁止情報を受信したノードＮｎは、取得禁止情報が含むコンテンツＩＤのクエリを送信することが禁止される。このように、センターサーバＳＡが、負荷が集中している原因を推測し、その原因となっているコンテンツに応じて、遅延を解消することができる。
【００６９】
［５．ノードＮｎの電気的構成］
次に、図３を参照して、ノードＮｎの電気的構成ついて説明する。
【００７０】
図３は、本実施形態のノードＮｎの電気的構成を示すブロック図である。図３に示すように、本実施形態のノードＮｎには、ノードＮｎを制御するＣＰＵ１１が備えられている。ＣＰＵ１１には、ＨＤＤ１２とＲＡＭ１３とデコーダ部１４と通信部１９と入力部２０とがそれぞれ電気的に接続されている。ＨＤＤ１２、ＲＡＭ１３となどの記憶手段とＣＰＵ１１とは、ノードＮｎのコンピュータを構成している。そのコンピュータは、ノードＮｎの動作を制御処理する。ＣＰＵ１１は、タイマー１１１を備える。タイマー１１１は、計時動作を行う。タイマー１１１は、公知のＣＰＵに備えられた計時機能である。
【００７１】
ＨＤＤ１２は、プログラム記憶領域２１と、コンテンツデータ記憶領域２３と、インデックス情報記憶領域２４と、ルーティングテーブル記憶領域２５と、コンテンツカタログ情報記憶領域２６とを含む。
【００７２】
プログラム記憶領域２１は、メイン動作プログラム記憶領域２２を含む。メイン動作プログラム記憶領域２２は、ノードＮｎを制御するためのメイン動作プログラム情報を記憶する。
【００７３】
コンテンツデータ記憶領域２３は、ユーザノードが取得したコンテンツデータを記憶する。ユーザノードが取得するコンテンツデータは、ユーザノードがコンテンツ保持ノードとして記憶するコンテンツデータである。また、ユーザノードが取得するコンテンツデータは、ユーザノードが要求して他のノードＮｎから取得したコンテンツデータである。
【００７４】
インデックス情報記憶領域２４は、上述したインデックス情報を記憶する。ルーティングテーブル記憶領域２５は、上述したルーティングテーブルを記憶する。コンテンツカタログ情報記憶領域２６は、上述したコンテンツカタログ情報を記憶する。
【００７５】
ＲＡＭ１３は、各種メッセージ一時記憶領域３１と、負荷情報一時記憶領域３２と、スケジュール情報一時記憶領域３３と、取得禁止情報一時記憶領域３４と、時間情報一時記憶領域３５とを含む。
【００７６】
各種メッセージ一時記憶領域３１は、ノードＮｎが受信した各種メッセージを一時記憶する。例えば、オーバーレイネットワーク９に参加する参加メッセージやクエリやパブリッシュメッセージ等である。
【００７７】
負荷情報一時記憶領域３２は、負荷情報を一時記憶する。負荷情報は、センターサーバＳＡの負荷が所定以上になったことを示す情報である。センターサーバＳＡが、センターサーバＳＡ自身の負荷が所定以上になったとき、各ノードＮｎへ負荷情報をマルチキャスト配信する。センターサーバにより配信された負荷情報が、各ノードＮｎにより受信され、負荷情報一時記憶領域３２に一時記憶される。負荷情報一時記憶領域３２に一時記憶された負荷情報は、所定の時間が経過すると消去される。具体的には、負荷情報一時記憶領域３２に一時記憶された負荷情報は、所定の時間が経過すると消去され、「Ｎｕｌｌ」が一時記憶される。
【００７８】
スケジュール情報一時記憶領域３３は、センターサーバＳＡから受信したスケジュール情報を一時記憶する。スケジュール情報は、Ｐｕｓｈ型配信を行うコンテンツについて、各ノードＮｎがクエリを出すタイミングが記載された情報である。
【００７９】
取得禁止情報一時記憶領域３４は、取得禁止情報を一時記憶する。取得禁止情報は、オーバーレイネットワーク９からのコンテンツの取得を一時停止することを示す情報である。取得禁止情報は、コンテンツＩＤを含む。取得禁止情報に含まれるコンテンツＩＤは、取得が一時停止されたコンテンツのコンテンツＩＤである。取得禁止情報一時記憶領域３４に一時記憶されるコンテンツＩＤのコンテンツが、一時的に取得が停止されたコンテンツであることを示す。
【００８０】
時間情報一時記憶領域３５は、時間情報を一時記憶する。時間情報は、取得禁止情報に基づいてコンテンツの取得が一時停止された開始時間を示す。開始時間は、タイマー１１１により計時される。ノードＮｎが取得禁止情報を受信した時刻が、タイマー１１１により計時される。タイマー１１１により計時された時刻が、取得禁止情報が含むコンテンツＩＤと対応付けられて、時間情報一時記憶領域３５に一時記憶される。
【００８１】
デコーダ部１４は、映像情報と音声情報とをデコードする。本実施形態のデコードは、エンコード化された映像情報と音声情報とを、データ伸張または復号化することである。映像情報と音声情報とは、コンテンツデータのレプリカに含まれる。
【００８２】
映像処理部１５は、デコードされた映像情報に所定の描画処理を施して映像信号を出力する。
【００８３】
ディスプレイ１６は、映像処理部１５から出力された映像信号に基づいて映像表示する。ディスプレイ１６は、ＣＲＴディスプレイ、または、液晶ディスプレイにより構成される。
【００８４】
音声処理部１７は、上記デコードされた音声情報をアナログオーディオ信号にＤ（Digital）／Ａ（Analog）変換する。スピーカ１８は、変化されたアナログオーディオ信号を、アンプにより増幅して出力する。
【００８５】
通信部１９は、ノードＮｎをインターネットと接続する。通信部１９は、ネットワーク８を介して他のノードＮｎまたはセンターサーバＳＡまたは投入サーバＳＢと情報の送受信を行う。
【００８６】
入力部２０は、ユーザからの指示を受け付ける。入力部２０は、キーボード、マウス、或いは、操作パネル等から構成される。なお、ノード装置Ｎｎとしては、パーソナルコンピュータ、ＳＴＢ（Ｓｅｔ  Ｔｏｐ  Ｂｏｘ）、或いは、ＴＶ受信機等を適用可能である。
【００８７】
また、情報通信システムＳが、情報通信システムＳに参加する際のアクセス先となるコンタクトノードを備えている場合、各ノードＮｎのＨＤＤ１２にはコンタクトノードのＩＰアドレスまたはポート番号等が記憶されている。なお、ＨＤＤ１２に記憶されるプログラムは、例えば、ネットワーク８上の所定のサーバからダウンロードされるようにしてもよい。また、ＣＤ−ＲＯＭ等の記録媒体に記録されて当該記録媒体のドライブを介して読み込まれるようにしても良い。
【００８８】
［６．センターサーバの電気的構成］
次に、図４を参照して、センターサーバＳＡの電気的構成ついて説明する。
【００８９】
図４は、本実施形態のセンターサーバＳＡの電気的構成を示すブロック図である。図４に示すように、本実施形態のセンターサーバＳＡには、センターサーバＳＡを制御するＣＰＵ５１が備えられている。ＣＰＵ５１には、ＨＤＤ５２とＲＡＭ５３と通信部５４とがそれぞれ電気的に接続されている。ＨＤＤ５２、ＲＡＭ５３となどの記憶手段とＣＰＵ５１とは、センターサーバＳＡのコンピュータを構成している。そのコンピュータは、センターサーバＳＡの動作を制御処理する。
【００９０】
ＨＤＤ５２は、プログラム記憶領域１２１を含む。プログラム記憶領域１２１は、メイン動作プログラム記憶領域１２２を含む。メイン動作プログラム記憶領域１２２は、センターサーバＳＡ２を制御するためのメイン動作プログラム情報を記憶する。
【００９１】
ＲＡＭ５３は、スケジュール情報一時記憶領域１３１と、第１種コンテンツ情報一時記憶領域１３２と、第２種コンテンツ情報一時記憶領域１３３と、完了情報一時記憶領域１３４とを含む。
【００９２】
スケジュール情報一時記憶領域１３１は、センターサーバＳＡにより生成されたスケジュール情報を一時記憶する。スケジュール情報は、センターサーバＳＡのメイン動作プログラムに従って生成される。生成されたスケジュール情報が、スケジュール情報一時記憶領域に一時記憶される。
【００９３】
第１種コンテンツ情報一時記憶領域１３２は、第１種コンテンツ情報を一時記憶する。第１種コンテンツ情報は、センターサーバＳＡ２が受信した第１種コンテンツデータのクエリの回数である。センターサーバＳＡは、コンテンツのオリジナルを記憶している。クエリを受信するたびに、センターサーバＳＡは、クエリに含まれるコンテンツＩＤに基づいて、コンテンツのオリジナルと、そのオリジナルコンテンツのクエリを受信した回数とを対応付けて、第１種コンテンツ情報として記憶する。
【００９４】
第２種コンテンツ情報一時記憶領域１３３は、第２種コンテンツ情報を一時記憶する。第２種コンテンツ情報は、現在センターサーバＳＡによりＰｕｓｈ型配信されているコンテンツＩＤである。センターサーバＳＡ２によりコンテンツがＰｕｓｈ型配信されるたびに、Ｐｕｓｈ型配信されるコンテンツのコンテンツＩＤが第２種コンテンツ情報一時記憶領域に一時記憶される。
【００９５】
完了情報一時記憶領域１３４は、完了情報を一時記憶する。完了情報は、第２種コンテンツのＰｕｓｈ型配信が完了したことを示す情報である。スケジュール情報一時記憶領域１３１に記憶されたスケジュール情報には、配信経路によって最後の時刻に第２種コンテンツを取得するノードＮｎが記載されている。例えば、図２に示す時刻Ｔ４に取得するノードＮ１１〜ノードＮ２２である。そのため、センターサーバＳＡ２は、最後の時刻に第２種コンテンツを取得するノードＮｎを予め把握することができる。センターサーバＳＡが配信するスケジュール情報は、完了情報送信指令を含む。完了情報送信指令は、最後に第２種コンテンツデータを取得するノードＮｎに、完了情報をセンターサーバＳＡに送信させる指令である。完了情報は、完了情報を送信するノードＮｎのノード情報を含む。ノードＮｎから送信された完了情報が、完了情報一時記憶領域１３４に一時記憶される。センターサーバＳＡは、最後の時刻に第２種コンテンツを取得するノードＮｎと、ＲＡＭ１３に記憶される完了情報が含むノード情報とを比較する。比較した結果、センターサーバが、最後に第２種コンテンツを取得するノード装置全てから完了情報を受信したと判定したとき、第２種コンテンツ情報一時記憶領域１３３に記憶された情報は削除される。
【００９６】
［７．センターサーバのメイン動作］
以上説明した構成からなる本実施形態のセンターサーバＳＡの動作及び作用について、添付図面を参照して説明する。図５は、センターサーバＳＡにおけるメイン動作の処理手順を示すフローチャートである。図５に示すメイン動作処理は、センターサーバＳＡのメイン動作プログラムに従って実行される。センターサーバＳＡの電源がオンにされたとき、センターサーバＳＡのメイン動作処理が実行される。ＣＰＵ５１がメイン動作プログラムを実行することにより、遂行される。以下に示す処理は、ＣＰＵ５１により処理される。
【００９７】
ステップＳ１０１では、センターサーバＳＡに負荷が集中しているか否かが判定される。例えば、センターサーバＳＡのネットワーク帯域の使用量が所定量を超えたとき、センターサーバＳＡに負荷が集中していると判定される。また、センターサーバＳＡが、ある所定時間以内に受信したメッセージの数が、所定数以上を越えたとき、センターサーバＳＡに負荷が集中していると判定される。センターサーバＳＡに負荷が集中していると判定されたとき、ステップＳ１０２が実行される。センターサーバＳＡに負荷が集中していると判定されなかったとき、ステップＳ１０８が実行される。本実施形態のコンピュータとステップＳ１０１とは、本発明の負荷判定部の一例である。また、本実施形態のステップＳ１０１は、本発明の負荷判定ステップの一例である。
【００９８】
ステップＳ１０２では、負荷情報がノードＮｎへマルチキャスト配信される。負荷情報は、センターサーバＳＡに負荷が集中していることを表す情報である。本実施形態のコンピュータとステップＳ１０２とは、本発明の第１送信部の一例である。また、本実施形態のステップＳ１０２は、本発明の送信ステップの一例である。
【００９９】
ステップＳ１０３では、センターサーバＳＡが現在Ｐｕｓｈ型配信を行っている第２種コンテンツがあるか否かが判定される。現在Ｐｕｓｈ型配信を行っている第２種コンテンツがあるか否かは、第２種コンテンツ情報記憶領域１３３に第２種コンテンツ情報が記憶されているか否かにより判定される。第２種コンテンツ情報が記憶されているとき、現在Ｐｕｓｈ型配信を行っている第２種コンテンツがあると判定される。第２種コンテンツ情報が記憶されていないとき、現在Ｐｕｓｈ型配信を行っている第２種コンテンツがないと判定される。現在Ｐｕｓｈ型配信中の第２種コンテンツがあると判定されたとき、ステップＳ１０４が実行される。現在Ｐｕｓｈ型配信中の第２種コンテンツがないと判定されたとき、ステップＳ１０６が実行される。本実施形態のコンピュータとステップＳ１０３とは、本発明の配信判定部の一例である。
【０１００】
ステップＳ１０４では、スケジュール情報が再生成される。つまり、ツリー型の配信経路による第２種コンテンツの配信不具合が、センターサーバＳＡに負荷が集中している原因と推定される。この結果、ツリー型の配信経路を再度調整する必要がある。そのため、ステップＳ１０４では、スケジュール情報が再生成される。本実施形態のコンピュータとステップＳ１０４とは、本発明の経路決定部の一例である。
【０１０１】
ステップＳ１０５では、ステップＳ１０４で再生成されたスケジュール情報が、ノードＮｎへマルチキャスト配信される。本実施形態のコンピュータとステップＳ１０５とは、本発明の第２送信部の一例である。
【０１０２】
ステップＳ１０６では、センターサーバＳＡが記憶する第１種コンテンツの中で、所定時間以内に受信したクエリの数が所定数以上の第１種コンテンツがあるか否かが判定される。具体的には、センターサーバＳＡは、タイマー１１１によりカウントされる各時刻について、受信したクエリの数と、受信したクエリが含むコンテンツＩＤとを対応付けてＨＤＤ５２に記憶している。各時刻について記憶されているクエリの数と、コンテンツＩＤとに基づいて、所定の時間以内に受信したクエリの数が所定数以上であるコンテンツＩＤがあるか否かが判定される。具体的には、上述したクエリの数が所定数以上であるコンテンツＩＤと、第２種コンテンツ情報一時記憶領域１３３に記憶されたコンテンツＩＤとが一致するか否かが判定される。一致しなかった場合、クエリの数が所定数以上のコンテンツは、第１種コンテンツと判定される。一方、一致した場合、クエリの数が所定数以上のコンテンツは、第２種コンテンツと判定される。クエリの数が所定数以上の第１種コンテンツがあると判定されたとき、ステップＳ１０７が実行される。クエリの数が所定数以上の第１種コンテンツがあると判定されなかったとき、ステップＳ１０８が実行される。
【０１０３】
ステップＳ１０７では、取得停止情報が、ノードＮｎへマルチキャスト配信される。ステップＳ１０７で送信される取得停止情報は、ステップＳ１０６でクエリが所定数以上であると判定された第１種コンテンツのコンテンツＩＤを含む。本実施形態のコンピュータとステップＳ１０７とは、本発明の第１送信部の一例である。また、本実施形態のステップＳ１０７は、本発明の送信ステップの一例である。
【０１０４】
ステップＳ１０８では、センターサーバＳＡの電源がオフにされたか否かが判定される。電源がオフにされたと判定されたとき、センターサーバＳＡのメイン動作処理は終了される。電源がオフにされたと判定されなかったとき、ステップＳ１０１が再度実行される。
【０１０５】
［８．ノードＮｎのメイン動作］
本実施形態のノードＮｎの動作及び作用について、添付図面を参照して説明する。図６は、ノードＮｎにおけるメイン動作の処理手順を示すフローチャートである。メイン動作処理は、ノードＮｎのメイン動作プログラムに従って実行される。ノードＮｎの電源がオンにされたとき、ノードＮｎのメイン動作処理が実行される。ノードＮｎのメイン動作処理は、ＣＰＵ１１がメイン動作プログラムを実行することにより、遂行される。以下に示す処理は、ＣＰＵ１１により処理される。
【０１０６】
ステップＳ２０１では、ノードＮｎが負荷情報を受信したか否かが判定される。ステップＳ２０１で受信される負荷情報は、センターサーバＳＡにより送信された負荷情報である。負荷情報を受信したと判定されたとき、ステップＳ２０２が実行される。負荷情報を受信したと判定されなかったとき、ステップＳ２１１が実行される。受信した負荷情報は、負荷情報一時記憶領域３１に一時記憶される。本実施形態のコンピュータとステップＳ２０１とは、本発明の受信部と、第２取得部との一例である。また、本実施形態のステップＳ２０１は、本発明の受信ステップと、第２取得ステップとの一例である。
【０１０７】
ステップＳ２０２では、ノードＮｎがコンテンツのダウンロード中であるか否かが判定される。コンテンツのダウンロードは、コンテンツの取得とも言う。コンテンツのダウンロード中であるか否かは、通信部９によりコンテンツが受信中であり、コンテンツデータ記憶領域２３にコンテンツが記憶されているか否かにより判定される。コンテンツのダウンロード中であると判定されたとき、ステップＳ２０３が実行される。コンテンツのダウンロード中であると判定されなかったとき、ステップＳ２０９が実行される。本実施形態のコンピュータとステップＳ２０２とは、本発明の取得部と、取得判定部との一例である。また、本実施形態のステップＳ２０２は、本発明の取得ステップの一例である。
【０１０８】
ステップＳ２０３では、ノードＮｎのコンテンツのダウンロードが停止される。
【０１０９】
ステップＳ２０４では、ステップＳ２０２でダウンロード中であると判定されたコンテンツが第１種コンテンツであるか否かが判定される。ダウンロード中のコンテンツが第１種コンテンツであると判定されたとき、ステップＳ２０５が実行される。ダウンロード中のコンテンツが第１種コンテンツであると判定されなかったとき、ステップＳ２０６が実行される。本実施形態のコンピュータとステップＳ２０４とは、本発明のデータ判定部の一例である。また、本実施形態のステップＳ２０４は、本発明のデータ判定ステップの一例である。
【０１１０】
ステップＳ２０５では、ステップＳ２０２でダウンロード中であったコンテンツの取得を一時的に禁止させる。具体的には、ステップＳ２０２でダウンロード中であったコンテンツのコンテンツＩＤが決定される。決定されたコンテンツＩＤと、ステップＳ２０５が実行された時刻とが、取得禁止情報として対応付けられる。この取得禁止情報が取得禁止情報一時記憶領域３４に記憶される。ステップＳ２０５が実行された時刻は、タイマー１１１により決定される。タイマー１１１により決定された時刻が、取得が禁止されたコンテンツのコンテンツＩＤと対応付けられて、時間情報一時記憶領域３５に一時記憶される。本実施形態のコンピュータとステップＳ２０５とは、本発明の制御部の一例である。また、本実施形態のステップＳ２０５は、本発明の制御ステップの一例である。
【０１１１】
ステップＳ２０６では、ダウンロード中のコンテンツが第２種コンテンツであるか否かが判定される。ノードＮｎが第２種コンテンツをダウンロードするときは、スケジュール情報に基づいてクエリを送信している。そのため、ノードＮｎは、スケジュール情報に基づいて送信したクエリによるダウンロードであるか否かを判定することができる。従って、スケジュール情報に基づいて送信したクエリによるダウンロードであると判定されたとき、ダウンロード中のコンテンツが第２種コンテンツであると判定される。ダウンロード中のコンテンツが第２種コンテンツであると判定されたとき、ステップＳ２０７が実行される。ダウンロード中のコンテンツが第２種コンテンツであると判定されなかったとき、ステップＳ２１６が実行される。
【０１１２】
ステップ２０７では、スケジュール情報を受信したか否かが判定される。ステップＳ２０７で受信されるスケジュール情報は、センターサーバＳＡから送信される。ステップＳ２０６で「Ｙｅｓ」と判定されたとき、第２種コンテンツの配信が、センターサーバＳＡの負荷の集中の原因と推定される。従って、スケジュール情報がセンターサーバＳＡから再度配信されるまで、ノードＮｎは待機する。スケジュール情報を受信したと判定されたとき、ステップＳ２０８が実行される。スケジュール情報を受信したと判定されなかったとき、ステップＳ２０７が繰り返し実行される。
【０１１３】
ステップＳ２０８では、ステップＳ２０７で受信したスケジュール情報に基づいて、第２種コンテンツのダウンロードが再開される。受信したスケジュール情報に記載された時刻で、第２種コンテンツのクエリが送信される。
【０１１４】
ステップＳ２０９では、取得禁止情報を受信したか否かが判定される。ステップＳ２０９で受信する取得禁止情報は、センターサーバＳＡにより送信された情報である。センターサーバＳＡがステップＳ１０７で送信した取得禁止情報が、ステップＳ２０９で受信される。取得禁止情報を受信したと判定したとき、ステップＳ２１０が実行される。取得禁止情報を受信したと判定されなかったとき、ステップＳ２１１が実行される。本実施形態コンピュータとステップＳ２０９とは、本発明の受信部の一例である。
【０１１５】
ステップＳ２１０では、ステップＳ２０９で受信した取得禁止情報が、取得禁止情報一時記憶領域３４に一時記憶される。そして、受信した取得禁止情報に対応するコンテンツの取得が一時的に禁止される。具体的には、取得禁止情報が含むコンテンツＩＤのクエリが一時的に禁止される。そして、ステップＳ２１０が実行された時刻は、タイマー１１１により決定される。タイマー１１１により決定された時刻が、取得が禁止されたコンテンツのコンテンツＩＤと対応付けられて、時間情報一時記憶領域３５に一時記憶される。本実施形態のコンピュータとステップＳ２１０とは、本発明の制御部の一例である。また、本実施形態のステップＳ２１０は、本発明の制御ステップの一例である。
【０１１６】
ステップＳ２１１では、センターサーバＳＡからスケジュール情報が受信されたか否かが判定される。スケジュール情報が受信されたと判定されたとき、ステップＳ２１２が実行される。スケジュール情報が受信されたと判定されなかったとき、ステップＳ２１３が実行される。
【０１１７】
ステップＳ２１２では、ステップＳ２１１で受信したスケジュール情報が、スケジュール情報一時記憶領域３２に一時記憶される。そして、記憶したスケジュール情報に基づいて、第２種コンテンツのダウンロードが再開される。受信したスケジュール情報に記載された時刻で、第２種コンテンツのクエリが送信される。
【０１１８】
ステップＳ２１３では、時間情報一時記憶領域３５に記憶された時刻から、所定の時間が経過したか否かが判定される。具体的には、タイマー１１１により計時される現在の時刻と、時間情報一時記憶領域に記憶される時刻との時刻差が所定以上になった情報が存在するか否かが判定される。時刻差が所定以上になった情報があると判定されたとき、所定の時間が経過したと判定される。そして、所定の時間が経過したと判定されたコンテンツＩＤが決定される。ステップＳ２１３で時刻差が所定以上になった情報があると判定されたとき、ステップＳ２１４が実行される。時刻差が所定以上になった情報がないと判定されたとき、ステップＳ２１５が実行される。
【０１１９】
ステップＳ２１４では、ステップＳ２１３で所定の時間が経過したと判定されたコンテンツの取得が許可される。具体的には、取得が許可されたコンテンツのコンテンツＩＤに対応する取得禁止情報が、取得禁止情報一時記憶領域３４から削除される。
【０１２０】
ステップＳ２１５では、その他の処理が実行される。その他の処理は、例えば、完了情報の送信である。ステップＳ２１５で送信された完了情報は、完了情報を送信したノードＮｎのノード情報を含む。送信された完了情報は、センターサーバＳＡの完了情報一時記憶領域１３４に一時記憶される。また、その他の処理は、コンテンツの取得を要求するクエリの送信である。送信したクエリに応答する応答メッセージが、所定期間の間に返信されなかったとき、ノードＮｎは、センターサーバＳＡに、コンテンツの取得を要求するクエリを送信する。
【０１２１】
ステップＳ２１６では、ノードＮｎの電源がオフにされたか否かが判定される。電源がオフにされたと判定されたとき、ノードＮｎのメイン動作処理は終了される。電源がオフにされたと判定されなかったとき、ステップＳ２０１が再度実行される。
【０１２２】
本実施形態においては、ピアツーピア型で配信する第１種コンテンツと第２種コンテンツの夫々によって、配信遅延を解消する方法が異なっている。本発明では、上述したように第１種コンテンツと第２種コンテンツとのコンテンツの種類によって、コンテンツの配信遅延を解消する方法が変更される。この結果、データの配信遅延が起きた場合であっても、コンテンツの種類に応じて遅延を解消する方法が決定されるため、効果的にデータ配信の遅延を解消することができる。
【０１２３】
本実施形態においては、オーバーレイネットワーク９に、ＤＨＴを利用したピアツーピアネットワークを適用したが、これに限られるものではない。例えば、他のピアツーピアシステム、または、他のオーバーレイネットワークを用いたシステムが適用されても良い。ＤＨＴを利用しないピアツーピアシステムとしては、例えば、ハイブリッド型のピアツーピアシステムがある。ＤＨＴルーティングテーブルに代表されるような、オーバーレイネットワーク上の一部のノード情報を登録するルーティングテーブルを用いるシステム全般に、本発明は適用可能である。また、オーバーレイネットワーク上の全てのノード情報を登録するルーティングテーブルを用いるシステム全般にも、本発明は適用可能である。ルーティングテーブルが各ノード装置に記憶される場合、ルーティングテーブルがサーバに記憶される場合、双方にも本発明は適用可能である。
【０１２４】
尚、本実施形態は、コンテンツの種類として、第１種コンテンツと第１種コンテンツとの双方を用いた実施例である。本実施形態の変形例として、第１種コンテンツ、または、第２種コンテンツの何れか一方が用いられても良い。コンテンツの種類として、第１種コンテンツが用いられる場合、図５及び図６のフローチャートに記載される第２種コンテンツに関する処理が実行されなくても良い。また、コンテンツの種類として、第２種コンテンツが用いられる場合、図５及び図６のフローチャートに記載される第１種コンテンツに関する処理が実行されなくても良い。
【０１２５】
また、本実施形態では、第２種コンテンツとして各ノードＮｎにＰｕｓｈ型配信されるコンテンツが用いられる例を記述した。第２種コンテンツとして、Ｐｕｓｈ型配信されるコンテンツ以外に、各ノードＮｎへ事前配信されるコンテンツが用いられても良い。
【符号の説明】
【０１２６】
３  ＩＸ
４ａ、４ｂ  ＩＳＰ
５ａ、５ｂ  ＤＳＬ回線事業者
６  ＦＴＴＨ回線事業者
７  回線速度
８  ネットワーク
９  オーバーレイネットワーク
１１  ＣＰＵ
１２  ＨＤＤ
１３  ＲＡＭ
１４  デコーダ部
１５  映像処理部
１６  ディスプレイ
１７  音声処理部
１８  スピーカ
１９  通信部
２０  入力部
２１  プログラム記憶領域
２２  メイン動作プログラム記憶領域
２３  コンテンツデータ記憶領域
２４  インデックス情報記憶領域
２５  ルーティングテーブル記憶領域
２６  コンテンツカタログ情報記憶領域
３１  各種メッセージ一時記憶領域
３２  負荷情報一時記憶領域
３３  スケジュール情報一時記憶領域
３４  取得禁止情報一時記憶領域
３５  時間情報一時記憶領域
５１  ＣＰＵ
５２  ＨＤＤ
５３  ＲＡＭ
５４  通信部
１００  概念的構成図
１０１  具体的構成図
１１１  タイマー
１２１  プログラム記憶領域
１２２  メイン動作処理プログラム記憶領域
１３１  スケジュール情報一時記憶領域
１３２  第１種コンテンツ情報一時記憶領域
１３３  第２種コンテンツ情報一時記憶領域
１３４  完了情報一時記憶領域
Ｓ  情報通信システム
ＳＡ  センターサーバ
Ｎｎ  ノード
【図１】
2011155447.tif 000003
【図２】
2011155447.tif 000004
【図３】
2011155447.tif 000005
【図４】
2011155447.tif 000006
【図５】
2011155447.tif 000007
【図６】
2011155447.tif 000008