(57)【要約】【課題】配信元のデータ通信装置から複数の配信先のデータ通信装置に対し同じ配信対象データを、高速かつ低コストで配信する手段を提供する。【解決手段】配信先データ通信装置１３は、配信元データ通信装置１２から直接、もしくは他の配信先データ通信装置１３を介して、配信対象データを受信する。管理データ通信装置１１は、所定時間の経過毎に配信先データ通信装置１３の各々における通信相手毎の通信速度を示す通信状態データと、配信先データ通信装置１３の各々が既に記憶している配信対象データの量を示す記憶済みデータ量データを受信する。管理データ通信装置１１はこれらのデータに基づき、配信先データ通信装置１３の大域的な配置と配信先データ通信装置１３間の送受信の経路を決定する。配信先データ通信装置１３は管理データ通信装置１１の決定した通信相手との間でブロックの送受信を行う。【選択図】図１０
2014225169.tif 000002
【特許請求の範囲】
【請求項１】
配信対象のデータである配信対象データの送信および受信の少なくとも一方を行うデータ通信装置である複数の配信データ通信装置と、前記複数の配信データ通信装置の間のデータの送信経路を管理するデータ通信装置である管理データ通信装置と
を備え、
前記管理データ通信装置は、
前記複数の配信データ通信装置の各々から、予め定められた条件が満たされる毎に、当該配信データ通信装置の通信相手および当該通信相手との間の通信速度を示す通信状態データと、前記配信対象データのうち当該配信データ通信装置に記憶されているデータの量を示す記憶済みデータ量データとを受信する受信手段と、
予め定められた条件が満たされる毎に、前記受信手段により受信された通信状態データおよび記憶済みデータ量データに基づき、予め定められた規則に従い、前記複数の配信データ通信装置の各々に関し、前記複数の配信データ通信装置のうちの１以上の配信データ通信装置を当該配信データ通信装置の通信相手として決定する決定手段と、
前記決定手段による決定に従い、前記複数の配信データ通信装置の各々に対し、当該配信データ通信装置の通信相手を示す通信相手データを送信する送信手段と
を備え、
前記複数の配信データ通信装置の各々は、
少なくとも前記管理データ通信装置から自機に宛てて送信された自機の通信相手を示す通信相手データを受信する受信手段と、
少なくとも前記管理データ通信装置にデータを送信する送信手段と、
自機の前記送信手段および前記受信手段の少なくとも一方に、自機の前記受信手段により受信された通信相手データが示す通信相手との間の前記配信対象データの少なくとも一部の送信または受信を指示する指示手段と、
自機の前記受信手段が前記配信対象データの少なくとも一部を受信した場合、当該データを記憶する記憶手段と、
前記配信対象データのうち自機の前記記憶手段に記憶されているデータの量を示す記憶済みデータ量データを生成し、自機の前記送信手段および前記受信手段の少なくとも一方が自機の前記指示手段の指示に従い前記配信対象データの少なくとも一部の送信または受信を行った場合、当該送信または受信における通信相手および当該通信相手との間の通信速度を示す通信状態データを生成する生成手段と
を備え、
前記複数の配信データ通信装置の各々の前記送信手段は、予め定められた条件が満たされる毎に、自機の前記生成手段により生成された通信状態データおよび記憶済みデータ量データを前記管理データ通信装置に送信する
データ配信システム。
【請求項２】
前記複数の配信データ通信装置の各々は、
自機の前記受信手段により受信された通信相手データが複数の通信相手を示す場合、自機の前記生成手段により生成された通信状態データに基づき、予め定められた規則に従い、当該通信相手データが示す複数の通信相手のなかから１以上の通信相手を選択する選択手段
を備え、
前記指示手段は、自機の前記選択手段により選択された１以上の通信相手との間の前記配信対象データの少なくとも一部の送信または受信を自機の前記送信手段または前記受信手段に指示する
請求項１に記載のデータ配信システム。
【請求項３】
配信対象のデータである配信対象データの送信および受信の少なくとも一方を行うデータ通信装置である複数の配信データ通信装置の各々から、予め定められた条件が満たされる毎に、当該配信データ通信装置の通信相手および当該通信相手との間の通信速度を示す通信状態データと、前記配信対象データのうち当該配信データ通信装置に記憶されているデータの量を示す記憶済みデータ量データとを受信する受信手段と、
予め定められた条件が満たされる毎に、前記受信手段により受信された通信状態データおよび記憶済みデータ量データに基づき、予め定められた規則に従い、前記複数の配信データ通信装置の各々に関し、前記複数の配信データ通信装置のうちの１以上の配信データ通信装置を当該配信データ通信装置の通信相手として決定する決定手段と、
前記決定手段による決定に従い、前記複数の配信データ通信装置の各々に対し、当該配信データ通信装置の通信相手を示す通信相手データを送信する送信手段と
を備えるデータ通信装置。
【請求項４】
少なくとも、複数のデータ通信装置の間で送受信される配信対象のデータである配信対象データの送信経路を管理するデータ通信装置である管理データ通信装置から通信相手を示す通信相手データを受信する受信手段と、
少なくとも、前記管理データ通信装置にデータを送信する送信手段と、
前記送信手段および前記受信手段の少なくとも一方に、前記受信手段により受信された通信相手データが示す通信相手との間の前記配信対象データの少なくとも一部の送信または受信を指示する指示手段と、
前記受信手段が前記配信対象データの少なくとも一部を受信した場合、当該データを記憶する記憶手段と、
前記配信対象データのうち前記記憶手段に記憶されているデータの量を示す記憶済みデータ量データを生成し、前記送信手段および前記受信手段の少なくとも一方が前記指示手段の指示に従い前記配信対象データの少なくとも一部の送信または受信を行った場合、当該送信または受信における通信相手および当該通信相手との間の通信速度を示す通信状態データを生成する生成手段と
を備え、
前記送信手段は、予め定められた条件が満たされる毎に、前記生成手段により生成された通信状態データおよび記憶済みデータ量データを前記管理データ通信装置に送信する
データ通信装置。
【請求項５】
前記受信手段により受信された通信相手データが複数の通信相手を示す場合、前記生成手段により生成された通信状態データに基づき、予め定められた規則に従い、当該通信相手データが示す複数の通信相手のなかから１以上の通信相手を選択する選択手段
を備え、
前記指示手段は、前記選択手段により選択された１以上の通信相手との間の前記配信対象データの少なくとも一部の送信または受信を前記送信手段または前記受信手段に指示する
請求項４に記載のデータ通信装置。
【請求項６】
他のデータ通信装置との間でデータ通信を行う通信手段を備えたコンピュータに、
配信対象のデータである配信対象データの送信および受信の少なくとも一方を行うデータ通信装置である複数の配信データ通信装置の各々から、予め定められた条件が満たされる毎に、当該配信データ通信装置の通信相手および当該通信相手との間の通信速度を示す通信状態データと、前記配信対象データのうち当該配信データ通信装置に記憶されているデータの量を示す記憶済みデータ量データとを受信する処理と、
予め定められた条件が満たされる毎に、受信した前記通信状態データおよび前記記憶済みデータ量データに基づき、予め定められた規則に従い、前記複数の配信データ通信装置の各々に関し、前記複数の配信データ通信装置のうちの１以上の配信データ通信装置を当該配信データ通信装置の通信相手として決定する処理と、
前記複数の配信データ通信装置の各々に対し、決定した当該配信データ通信装置の通信相手を示す通信相手データを送信する処理と
を実行させるためのプログラム。
【請求項７】
他のデータ通信装置との間でデータ通信を行う通信手段を備えたコンピュータに、
少なくとも、複数のデータ通信装置の間で送受信される配信対象のデータである配信対象データの送信経路を管理するデータ通信装置である管理データ通信装置から通信相手を示す通信相手データを受信する処理と、
受信した前記通信相手データが示す通信相手との間で前記配信対象データの少なくとも一部の送信または受信を行う処理と、
前記配信対象データの少なくとも一部を受信した場合、当該データを記憶する処理と、
前記配信対象データのうち記憶しているデータの量を示す記憶済みデータ量データを生成する処理と、
前記配信対象データの少なくとも一部の送信または受信を行った場合、当該送信または受信における通信相手および当該通信相手との間の通信速度を示す通信状態データを生成する処理と、
予め定められた条件が満たされる毎に、生成した前記通信状態データおよび前記記憶済みデータ量データを前記管理データ通信装置に送信する処理と
を実行させるためのプログラム。
【請求項８】
前記コンピュータに、
受信した前記通信相手データが複数の通信相手を示す場合、生成した前記通信状態データに基づき、予め定められた規則に従い、前記通信相手データが示す複数の通信相手のなかから１以上の通信相手を選択する処理
を実行させ、
前記配信対象データの少なくとも一部の送信または受信を行う処理において、選択した前記１以上の通信相手との間で前記配信対象データの少なくとも一部の送信または受信を行う処理を実行させる
ためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークを介したデータ配信技術に関する。
【背景技術】
【０００２】
Ｐ２Ｐ（ピア・ツー・ピア、Peer to Peer）として知られる多数のデータ通信装置間で通信を行うアーキテクチャが普及している。Ｐ２Ｐにおいては、複数のデータ通信装置がサーバおよびクライアントの区別なく、互いに他のデータ通信装置と直接通信を行い、他のデータ通信装置が記憶しているデータを受信するとともに、自機が記憶しているデータを他のデータ通信装置に送信する。その結果、データの配信元のデータ通信装置からデータの配信先のデータ通信装置に対し、複数のデータ通信装置を介したデータの配信が行われる。
【０００３】
Ｐ２Ｐを利用したデータ配信技術を提案する特許文献として、例えば特許文献１〜３がある。特許文献１には、複数の受信装置の伝送能力に関する情報をそれらの複数の受信装置から受信し、受信した伝送能力に関する情報に基づき推定される利用可能な帯域に基づいて複数の受信装置を複数のクラスに分類し、クラス毎に推定される利用可能な帯域が高い順に並び替えることで、特定の配信元から特定の配信先へのユニキャスト経路を決定する仕組みが提案されている。なお、特許文献１においては、所定時間経過毎に複数の受信装置の伝送能力に関する情報を再取得し、決定したユニキャスト経路の再決定が行われてもよい点が記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４５９８０７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
例えば、本店から複数の支店に対し、同じデータ（配信対象データ）を配信したい場合がある。そのための方法として、まず、本店にデータの配信元となる配信サーバ装置を設け、配信サーバ装置から各支店の端末装置に対し配信対象データを送信することが考えられる。この方法による場合、支店の数が多いと、配信サーバ装置のデータ送信能力がボトルネックとなり、各支店の端末装置に対する配信対象データの配信に長時間を要する、という問題が生じる。
【０００６】
上記の問題を軽減する方法として、負荷分散サーバ装置と複数の配信サーバ装置を設け、複数のサーバ装置の各々が負荷分散サーバ装置から割り当てられた端末装置に対し同時平行して同じ配信対象データを送信することが考えられる。この方法による場合、複数のサーバ装置を準備し管理する必要があり、コスト高となる。
【０００７】
上記の事情に鑑み、本発明は、配信元のデータ通信装置から複数の配信先のデータ通信装置に対し同じ配信対象データを、高速かつ低コストで配信する手段を提供することを目的とする。
【課題を解決するための手段】
【０００８】
上記の課題を解決するため、本発明は、配信対象のデータである配信対象データの送信および受信の少なくとも一方を行うデータ通信装置である複数の配信データ通信装置と、前記複数の配信データ通信装置の間のデータの送信経路を管理するデータ通信装置である管理データ通信装置とを備え、前記管理データ通信装置は、前記複数の配信データ通信装置の各々から、予め定められた条件が満たされる毎に、当該配信データ通信装置の通信相手および当該通信相手との間の通信速度を示す通信状態データと、前記配信対象データのうち当該配信データ通信装置に記憶されているデータの量を示す記憶済みデータ量データとを受信する受信手段と、予め定められた条件が満たされる毎に、前記受信手段により受信された通信状態データおよび記憶済みデータ量データに基づき、予め定められた規則に従い、前記複数の配信データ通信装置の各々に関し、前記複数の配信データ通信装置のうちの１以上の配信データ通信装置を当該配信データ通信装置の通信相手として決定する決定手段と、前記決定手段による決定に従い、前記複数の配信データ通信装置の各々に対し、当該配信データ通信装置の通信相手を示す通信相手データを送信する送信手段とを備え、前記複数の配信データ通信装置の各々は、少なくとも前記管理データ通信装置から自機に宛てて送信された自機の通信相手を示す通信相手データを受信する受信手段と、少なくとも前記管理データ通信装置にデータを送信する送信手段と、自機の前記送信手段および前記受信手段の少なくとも一方に、自機の前記受信手段により受信された通信相手データが示す通信相手との間の前記配信対象データの少なくとも一部の送信または受信を指示する指示手段と、自機の前記受信手段が前記配信対象データの少なくとも一部を受信した場合、当該データを記憶する記憶手段と、前記配信対象データのうち自機の前記記憶手段に記憶されているデータの量を示す記憶済みデータ量データを生成し、自機の前記送信手段および前記受信手段の少なくとも一方が自機の前記指示手段の指示に従い前記配信対象データの少なくとも一部の送信または受信を行った場合、当該送信または受信における通信相手および当該通信相手との間の通信速度を示す通信状態データを生成する生成手段とを備え、前記複数の配信データ通信装置の各々の前記送信手段は、予め定められた条件が満たされる毎に、自機の前記生成手段により生成された通信状態データおよび記憶済みデータ量データを前記管理データ通信装置に送信するデータ配信システムを提供する。
【０００９】
上記のデータ配信システムにおいて、前記複数の配信データ通信装置の各々は、自機の前記受信手段により受信された通信相手データが複数の通信相手を示す場合、自機の前記生成手段により生成された通信状態データに基づき、予め定められた規則に従い、当該通信相手データが示す複数の通信相手のなかから１以上の通信相手を選択する選択手段を備え、前記指示手段は、自機の前記選択手段により選択された１以上の通信相手との間の前記配信対象データの少なくとも一部の送信または受信を自機の前記送信手段または前記受信手段に指示する、という構成としてもよい。
【００１０】
また、本発明は、配信対象のデータである配信対象データの送信および受信の少なくとも一方を行うデータ通信装置である複数の配信データ通信装置の各々から、予め定められた条件が満たされる毎に、当該配信データ通信装置の通信相手および当該通信相手との間の通信速度を示す通信状態データと、前記配信対象データのうち当該配信データ通信装置に記憶されているデータの量を示す記憶済みデータ量データとを受信する受信手段と、予め定められた条件が満たされる毎に、前記受信手段により受信された通信状態データおよび記憶済みデータ量データに基づき、予め定められた規則に従い、前記複数の配信データ通信装置の各々に関し、前記複数の配信データ通信装置のうちの１以上の配信データ通信装置を当該配信データ通信装置の通信相手として決定する決定手段と、前記決定手段による決定に従い、前記複数の配信データ通信装置の各々に対し、当該配信データ通信装置の通信相手を示す通信相手データを送信する送信手段とを備えるデータ通信装置を提供する。
【００１１】
また、本発明は、少なくとも、複数のデータ通信装置の間で送受信される配信対象のデータである配信対象データの送信経路を管理するデータ通信装置である管理データ通信装置から通信相手を示す通信相手データを受信する受信手段と、少なくとも、前記管理データ通信装置にデータを送信する送信手段と、前記送信手段および前記受信手段の少なくとも一方に、前記受信手段により受信された通信相手データが示す通信相手との間の前記配信対象データの少なくとも一部の送信または受信を指示する指示手段と、前記受信手段が前記配信対象データの少なくとも一部を受信した場合、当該データを記憶する記憶手段と、前記配信対象データのうち前記記憶手段に記憶されているデータの量を示す記憶済みデータ量データを生成し、前記送信手段および前記受信手段の少なくとも一方が前記指示手段の指示に従い前記配信対象データの少なくとも一部の送信または受信を行った場合、当該送信または受信における通信相手および当該通信相手との間の通信速度を示す通信状態データを生成する生成手段とを備え、前記送信手段は、予め定められた条件が満たされる毎に、前記生成手段により生成された通信状態データおよび記憶済みデータ量データを前記管理データ通信装置に送信するデータ通信装置を提供する。
【００１２】
上記のデータ通信装置において、前記受信手段により受信された通信相手データが複数の通信相手を示す場合、前記生成手段により生成された通信状態データに基づき、予め定められた規則に従い、当該通信相手データが示す複数の通信相手のなかから１以上の通信相手を選択する選択手段を備え、前記指示手段は、前記選択手段により選択された１以上の通信相手との間の前記配信対象データの少なくとも一部の送信または受信を前記送信手段または前記受信手段に指示する、という構成としてもよい。
【００１３】
また、本発明は、他のデータ通信装置との間でデータ通信を行う通信手段を備えたコンピュータに、配信対象のデータである配信対象データの送信および受信の少なくとも一方を行うデータ通信装置である複数の配信データ通信装置の各々から、予め定められた条件が満たされる毎に、当該配信データ通信装置の通信相手および当該通信相手との間の通信速度を示す通信状態データと、前記配信対象データのうち当該配信データ通信装置に記憶されているデータの量を示す記憶済みデータ量データとを受信する処理と、予め定められた条件が満たされる毎に、受信した前記通信状態データおよび前記記憶済みデータ量データに基づき、予め定められた規則に従い、前記複数の配信データ通信装置の各々に関し、前記複数の配信データ通信装置のうちの１以上の配信データ通信装置を当該配信データ通信装置の通信相手として決定する処理と、前記複数の配信データ通信装置の各々に対し、決定した当該配信データ通信装置の通信相手を示す通信相手データを送信する処理とを実行させるためのプログラムを提供する。
【００１４】
また、本発明は、他のデータ通信装置との間でデータ通信を行う通信手段を備えたコンピュータに、少なくとも、複数のデータ通信装置の間で送受信される配信対象のデータである配信対象データの送信経路を管理するデータ通信装置である管理データ通信装置から通信相手を示す通信相手データを受信する処理と、受信した前記通信相手データが示す通信相手との間で前記配信対象データの少なくとも一部の送信または受信を行う処理と、前記配信対象データの少なくとも一部を受信した場合、当該データを記憶する処理と、前記配信対象データのうち記憶しているデータの量を示す記憶済みデータ量データを生成する処理と、前記配信対象データの少なくとも一部の送信または受信を行った場合、当該送信または受信における通信相手および当該通信相手との間の通信速度を示す通信状態データを生成する処理と、予め定められた条件が満たされる毎に、生成した前記通信状態データおよび前記記憶済みデータ量データを前記管理データ通信装置に送信する処理とを実行させるためのプログラムを提供する。
【００１５】
上記のプログラムを、前記コンピュータに、受信した前記通信相手データが複数の通信相手を示す場合、生成した前記通信状態データに基づき、予め定められた規則に従い、前記通信相手データが示す複数の通信相手のなかから１以上の通信相手を選択する処理を実行させ、前記配信対象データの少なくとも一部の送信または受信を行う処理において、選択した前記１以上の通信相手との間で前記配信対象データの少なくとも一部の送信または受信を行う処理を実行させるためのプログラムとして構成してもよい。
【発明の効果】
【００１６】
本発明によれば、例えば所定の時間の経過などの予め定められた条件が満たされる毎に、複数の配信データ通信装置の各々から管理データ通信装置に対し、通信相手毎の通信速度を示す通信状態データと、配信対象データのうち当該配信データ通信装置に記憶されているデータの量を示す記憶済みデータ量データが送信される。そして、管理データ通信装置において各配信データ通信装置に関する通信状態データと記憶済みデータ量データに基づき、各配信データ通信装置の通信相手が決定される。各配信データ通信装置は、そのように管理データ通信装置により決定される通信相手との間で配信対象データの送受信を行う。
【００１７】
なお、配信対象データの配信先のデータ通信装置は、配信対象データの送受信を行う複数の配信データ通信装置に含まれており、少なくともその一部は、配信対象データを受信するとともに、受信済みの配信対象データを他のデータ通信装置に送信する。
【００１８】
管理データ通信装置は、例えば配信対象データのうち記憶しているデータの量が多い配信データ通信装置をデータの配信経路の上流側に配置し、記憶しているデータの量が少ない配信データ通信装置をデータの配信経路の下流側に配置する、という具合に、配信データ通信装置の配置を予め定められた規則に従い、適宜変更する。その結果、配信対象データの配信の開始から配信先のデータ通信装置の全てに対する配信対象データの配信の完了までに要する時間が短縮される。その際、負荷分散サーバ装置や複数の配信サーバ装置を設ける必要がなく、コスト高とならない。
【図面の簡単な説明】
【００１９】
【図１】一実施形態にかかるデータ配信システムの全体構成を示した図である。
【図２】一実施形態にかかる管理データ通信装置、配信元データ通信装置および配信先データ通信装置のハードウェア構成を示したブロック図である。
【図３】一実施形態にかかる管理データ通信装置の機能構成を示したブロック図である。
【図４】一実施形態にかかる管理データ通信装置により配信データ通信装置の大域的な配置が決定される様子を示した図である。
【図５】一実施形態にかかる通信状態データおよび記憶済みデータ量データのデータ構成を例示した図である。
【図６】一実施形態にかかる管理データ通信装置により配信データ通信装置の大域的な配置が決定される様子を示した図である。
【図７】一実施形態にかかる管理データ通信装置により決定された配信データ通信装置の大域的な配置を例示した図である。
【図８】一実施形態にかかる配信元データ通信装置の機能構成を示したブロック図である。
【図９】一実施形態にかかる配信先データ通信装置の機能構成を示したブロック図である。
【図１０】一実施形態にかかるデータ配信システムの動作を示したフロー図である。
【図１１】一変形例にかかる管理データ通信装置により決定された配信データ通信装置の大域的な配置を例示した図である。
【発明を実施するための形態】
【００２０】
［実施形態］
以下に、本発明の一実施形態にかかるデータ配信システム１の構成および動作を説明する。図１は、データ配信システム１の全体構成を示した図である。データ配信システム１は、配信元データ通信装置１２から複数の配信先データ通信装置１３、すなわち、配信先データ通信装置１３−１、配信先データ通信装置１３−２、・・・、配信先データ通信装置１３−ｎ（ただし、ｎは任意の自然数）に対し、配信対象データを配信するシステムである。
【００２１】
データ配信システム１においては、配信先データ通信装置１３の各々が、配信元データ通信装置１２または他の配信先データ通信装置１３から受信した配信対象データの少なくとも一部を他の配信先データ通信装置１３にバケツリレー式に配信する。すなわち、配信先データ通信装置１３は配信対象データの少なくとも一部に関し、配信元のデータ通信装置として機能する。本願においては、配信元データ通信装置１２と配信先データ通信装置１３を総称して「配信データ通信装置」を呼ぶ。
【００２２】
データ配信システム１においては、配信対象データが複数のブロックに分割されて、ブロック単位で、基本的に配信対象データの先頭側から末尾側に向かう順序で、一の配信データ通信装置から他の配信データ通信装置へと送信される。
【００２３】
また、データ配信システム１においては、配信対象データの配信に要する時間を短縮するために、配信対象データの配信経路（バケツリレーの経路）を構成する配信先データ通信装置１３の「大域的な」配置が「動的」に変更される。
【００２４】
ここで「動的」とは、配信先データ通信装置１３の各々の受信済みブロックの数量や配信先データ通信装置１３が他の配信データ通信装置との間で行うブロックの送受信における通信速度の変化に応じて、配信先データ通信装置１３の「大域的な」配置が適宜変更される、という意味である。
【００２５】
また、「大域的な」配置とは、自由度を伴う配置であることを意味する。データ配信システム１においては、配信先データ通信装置１３の一部は、大域的な配置によって複数の通信相手との間の通信が許可される。そして、配信先データ通信装置１３は複数の通信相手の中から自律的に、例えば通信速度が速い通信相手を選択し、選択した通信相手と通信を行い、他の通信相手とは通信を行わないこともできる。従って、配信対象データの配信経路は大域的な配置によっては一義的に定まらない。
【００２６】
上述した配信先データ通信装置１３の大域的な配置を決定する装置として、データ配信システム１は管理データ通信装置１１を備えている。
【００２７】
管理データ通信装置１１、配信元データ通信装置１２および配信先データ通信装置１３はいずれも、他のデータ通信装置との間でネットワークを介したデータ通信を行う通信手段を備えた一般的なコンピュータに、本実施形態にかかるアプリケーションプログラムに従った処理を実行させることにより実現される。
【００２８】
図２は、管理データ通信装置１１、配信元データ通信装置１２および配信先データ通信装置１３の各々のハードウェア構成を示したブロック図である。すなわち、管理データ通信装置１１、配信元データ通信装置１２および配信先データ通信装置１３の各々は、ハードウェアとしてはコンピュータ１０で構成される。コンピュータ１０は、ＯＳやアプリケーションプログラム等のプログラムに従い各種演算を行うとともに他の構成部を制御するＣＰＵ１０１と、上記プログラム及び各種データを記憶するメモリ１０２と、他のデータ通信装置との間で各種データの送受信を行うインタフェース（Interface）である通信Ｉ／Ｆ１０３を備えている。
【００２９】
図３は、管理データ通信装置１１の機能構成を示したブロック図である。すなわち、管理データ通信装置１１のハードウェアであるコンピュータ１０は、本実施形態にかかる管理データ通信装置１１用のアプリケーションプログラムに従う処理を実行することにより、図３に示す構成部を備える装置として機能する。
【００３０】
管理データ通信装置１１は、配信先データ通信装置１３の大域的な配置を決定する決定手段１１１と、決定手段１１１により決定された大域的な配置に従い配信データ通信装置の各々に関し生成された通信相手を示す通信相手データを配信データ通信装置の各々に送信する送信手段１１２と、送信手段１１２により送信された通信相手データに従い配信データ通信装置の各々が行った通信における通信相手毎の通信速度を示す通信状態データを配信データ通信装置の各々から受信する受信手段１１３を備える。
【００３１】
図４は、配信先データ通信装置１３の数が６つの場合を例として、決定手段１１１により配信先データ通信装置１３の大域的な配置が決定される様子を示した図である。なお、図４において、丸は配信データ通信装置を示している。
【００３２】
決定手段１１１は、新たな配信対象データの配信の開始時において、受信手段１１３により記憶済みデータ量データおよび通信状態データがまだ受信されていない場合、図４（ａ）に示されるように、配信先データ通信装置１３をランダムに一列に並べて配置する。なお、図４（ａ）の例では、ランダムに配置された結果、配信先データ通信装置１３−１〜６がその順で配信対象データの配信経路の上流から下流（以下、「上流」「下流」という場合、配信対象データの配信される方向の上流、下流を意味する）へと並んでいるが、この段階ではこの順序に特段の意味はない。
【００３３】
続いて決定手段１１１は、一列に並べて配置した配信先データ通信装置１３に対し、図４（ｂ）に矢印で示されるような、配信データ通信装置間のデータの送受信の経路を決定する。図４（ｂ）の例は、決定手段１１１が、配信先データ通信装置１３の各々は、自機に対し上流側に隣接する配信データ通信装置と、さらにその配信データ通信装置に対し上流側に隣接する配信データ通信装置との２つの配信データ通信装置からデータを受信する、という所定の規則に従い決定した送受信の経路である。（ただし、上流側または下流側に該当する配信データ通信装置がない場合は、その部分の通信相手は不在となる。）
【００３４】
決定手段１１１は、上記のように決定した送受信の経路に従い、配信データ通信装置の各々に関し、通信相手を示す通信相手データを生成する。図４（ｃ）は図４（ｂ）に示される配信先データ通信装置１３−２に関し生成される通信相手データを例示した図である。図４（ｃ）に示されるように、通信相手データは通常、受信元の配信データ通信装置のＩＰアドレスと送信先の配信データ通信装置のＩＰアドレスを各々１以上含んでいる。ただし、例えば図４（ｂ）の配信先データ通信装置１３−６のように、最下流側に配置された配信先データ通信装置１３に関する通信相手データには、送信先の配信データ通信装置のＩＰアドレスは含まれない。また、最上流側に配置される配信元データ通信装置１２に関する通信相手データには、受信元の配信データ通信装置のＩＰアドレスは含まれない。
【００３５】
決定手段１１１により上記のように生成された通信相手データは、送信手段１１２により配信元データ通信装置１２および配信先データ通信装置１３の各々に対し送信される。配信元データ通信装置１２および配信先データ通信装置１３の各々は、管理データ通信装置１１から送信されてくる通信相手データに示される通信相手との間でブロックの送受信を開始する。
【００３６】
その後、所定時間が経過すると、配信元データ通信装置１２からは通信状態データが、また配信先データ通信装置１３の各々からは通信状態データと記憶済みデータ量データが管理データ通信装置１１に対し送信されてくる。受信手段１１３は配信データ通信装置の各々から送信されてくるこれらのデータを受信する。
【００３７】
図５は、通信状態データ（図５（ａ））および記憶済みデータ量データ（図５（ｂ））のデータ構成を例示した図である。図５（ａ）に示すように、通信状態データは通信相手（受信元の配信データ通信装置および送信先の配信データ通信装置）の各々に関し、直近の所定時間内における平均通信速度を示すデータである。ただし、配信先データ通信装置１３が自律的な選択により通信を行わなかった通信相手との通信に関しては、通信状態データは例えばNull値を示す。また、図５（ｂ）に示すように、記憶済みデータ量データは配信対象データの総ブロック数に対する受信が完了したブロック数の比率（％）を示すデータである。
【００３８】
受信手段１１３により受信された通信状態データおよび記憶済みデータ量データは、決定手段１１１に引き渡され、新たな大域的な配置の決定（通信相手データの生成）に利用される。具体的には、決定手段１１１は通信状態データおよび記憶済みデータ量データが示す配信元データ通信装置１２および配信先データ通信装置１３の通信状態や、配信先データ通信装置１３に既に記憶されている配信対象データのブロックの数の多少に基づき、以下に示す規則に従い、配信先データ通信装置１３の大域的な配置を決定する。図６は、決定手段１１１により通信状態データおよび記憶済みデータ量データに基づき大域的な配置を決定される様子を示した図である。
【００３９】
（１）送信先との通信速度が速い配信先データ通信装置１３程、上流側に配置する。
（２）記憶済みのブロックの数が多い配信先データ通信装置１３程、上流側に配置する。
（３）受信元との通信速度が速い配信先データ通信装置１３程、上流側に配置する。
【００４０】
具体的には、例えば、決定手段１１１は、送信先との通信速度が速い程、その配信先データ通信装置１３に高いスコアを付与し、記憶済みのブロックの数が多い程、その配信先データ通信装置１３に高いスコアを付与し、受信元との通信速度が速い程、その配信先データ通信装置１３に高いスコアを付与し、（１）〜（３）の重要度に応じたウェイトをそれらのスコアに乗じて加算することで、配信先データ通信装置１３の配信能力の指標を算出する。決定手段１１１は算出した指標が高い順に、上流から下流へと配信先データ通信装置１３を配置する。図６（ａ）はそのように決定された配信先データ通信装置１３の配置を例示した図である。
【００４１】
例えば、図６（ａ）の例では、配信先データ通信装置１３−５および配信先データ通信装置１３−２は共に、経路の末端に配置されている。これは、これらの配信先データ通信装置１３がデータのリレーを許可されていない（通信状態データが示す送信先の通信速度が０ｂｐｓ）か、もしくは何らかの通信障害によりこれらの配信先データ通信装置１３から送信されるデータの通信速度が極めて遅かったため、決定手段１１１がこれらの配信先データ通信装置１３を、専らブロックを受信する配信先データ通信装置１３として経路の末端に配置したためである。
【００４２】
続いて、決定手段１１１は、上記のように配置を決定した配信先データ通信装置１３に対し、図６（ｂ）に矢印で示されるような、配信データ通信装置間のデータの送受信の経路を決定する。その際、決定手段１１１は、受信元となる配信データ通信装置の送信速度の合計と、送信先となる配信先データ通信装置１３の受信速度の合計との差が小さくなるように、経路（矢印）の位置や数を決定する。その結果、配信先データ通信装置１３の各々に割り当てられる通信相手（受信元および送信先の配信データ通信装置）の数やその相対的な位置関係は、互いに異なったものとなり得る。
【００４３】
決定手段１１１は、上記のように決定した送受信の経路に従い、配信データ通信装置の各々に関し、通信相手を示す通信相手データを生成する。図６（ｃ）は図６（ｂ）に示される配信先データ通信装置１３−４に関し生成される通信相手データを例示した図である。決定手段１１１により生成された通信相手データは、上述したように、送信手段１１２により配信データ通信装置の各々に送信される。
【００４４】
その後、受信手段１１３は通信状態データおよび記憶済みデータ量データの受信を、決定手段１１１は通信相手データの生成を、送信手段１１２は通信相手データの送信を、配信対象データの配信が完了するまで繰り返し実行する。
【００４５】
ところで、配信対象データの配信が開始された後、配信データ通信装置間のブロックの送受信が進行すると、全てのブロックの受信を完了した配信先データ通信装置１３が現れ始める。全てのブロックの受信を完了した配信先データ通信装置１３はもはやブロックを受信する必要はなく、配信元データ通信装置１２と同様に、専ら、まだ全てのブロックの受信を完了していない他の配信先データ通信装置１３に対しブロックを送信する役割を果たす。
【００４６】
図７は、全てのブロックの受信を完了した配信先データ通信装置１３が現れた状態において決定手段１１１により決定される配信先データ通信装置１３の大域的な配置および配信データ通信装置間の送受信の経路を例示した図である。図７の例においては、配信先データ通信装置１３−１と配信先データ通信装置１３−３が全てのブロックの受信を完了し、配信先データ通信装置１３−１は配信先データ通信装置１３−６と配信先データ通信装置１３−２に対し、配信先データ通信装置１３−３は配信先データ通信装置１３−５に対し、専らブロックの送信を行う役割を果たしている。
【００４７】
以上が管理データ通信装置１１の機能構成の説明である。続いて、配信元データ通信装置１２および配信先データ通信装置１３の機構構成を説明する。
【００４８】
図８は、配信元データ通信装置１２の機能構成を示したブロック図である。すなわち、配信元データ通信装置１２のハードウェアであるコンピュータ１０は、本実施形態にかかる配信元データ通信装置１２用のアプリケーションプログラムに従う処理を実行することにより、図８に示す構成部を備える装置として機能する。
【００４９】
配信元データ通信装置１２は、機能構成部として、配信対象データの配信の開始時において配信対象データの全てのブロックを予め記憶する記憶手段１２１と、管理データ通信装置１１から通信相手データを受信する受信手段１２２と、受信手段１２２により受信された通信相手データが示す送信先の配信先データ通信装置１３にブロックの送信を指示する指示手段１２３と、指示手段１２３の指示に従い記憶手段１２１から送信対象のブロックを読み出して配信先データ通信装置１３に送信する送信手段１２４と、送信手段１２４によるブロックの送信における通信速度を通信相手毎に監視し通信状態データを生成する生成手段１２４を備える。送信手段１２４はブロックの配信先データ通信装置１３に対する送信に加え、生成手段１２４により生成された通信状態データの管理データ通信装置１１に対する送信も行う。
【００５０】
図９は、配信先データ通信装置１３の機能構成を示したブロック図である。すなわち、配信先データ通信装置１３のハードウェアであるコンピュータ１０は、本実施形態にかかる配信先データ通信装置１３用のアプリケーションプログラムに従う処理を実行することにより、図９に示す構成部を備える装置として機能する。
【００５１】
配信先データ通信装置１３は、機能構成部として、管理データ通信装置１１から通信相手データを受信するとともに他の配信データ通信装置から配信対象データのブロックを受信する受信手段１３１と、受信手段１３１により受信されたブロックを記憶する記憶手段１３２と、記憶手段１３２に記憶されているブロックを他の配信データ通信装置に送信する送信手段１３３を備える。
【００５２】
また、配信先データ通信装置１３は、受信手段１３１によるブロックの受信および送信手段１３３によるブロックの送信における通信速度を通信相手毎に監視し通信状態データを生成するとともに、記憶手段１３２に記憶済みのブロックの数を配信対象データの全ブロックの数（例えば受信手段１３１を介して管理データ通信装置１１から取得）で除して記憶済みデータ量データを生成する生成手段１３４と、受信手段１３１により受信された通信相手データが示す通信相手の中から生成手段１３４により生成された通信状態データに基づき実際に通信を行う通信相手を選択する選択手段１３６を備える。選択手段１３６は、例えば通信状態データが示す通信速度が閾値以上の通信相手を、実際に通信を行う通信相手として選択する。
【００５３】
さらに、配信先データ通信装置１３は、通信相手データが示す受信元の配信データ通信装置のうち選択手段１３６により選択された配信データ通信装置からのブロックの受信を受信手段１３１に指示するとともに、通信相手データが示す送信先の配信先データ通信装置１３のうち選択手段１３６により選択された配信先データ通信装置１３に対するブロックの送信を送信手段１３３に指示する指示手段１３６を備える。
【００５４】
なお、配信データ通信装置間におけるブロックの送受信は、例えば送信先（下流側）の配信データ通信装置が受信元（上流側）の配信データ通信装置に対しブロックの送信要求を行い、受信元の配信データ通信装置が要求されたブロックを記憶していれば当該ブロックを送信先の配信データ通信装置に送信する、という手順により行われる。
【００５５】
図１０は、上述した構成を備えるデータ配信システム１が配信対象データの配信を行う際の動作を示したフロー図である。なお、配信元データ通信装置１２には、予め配信対象データの全ブロックが記憶されているものとする。
【００５６】
まず、管理データ通信装置１１は配信先データ通信装置１３の大域的な配置を決定する（ステップＳ００１）。続いて、管理データ通信装置１１は、大域的に配置した配信データ通信装置間の送受信の経路を決定する（ステップＳ００２）。なお、最初に行われるステップＳ００１においては、管理データ通信装置１１はランダムに大域的な配置の決定を行う。また、最初に行われるＳ００２においては、管理データ通信装置１１は配信先データ通信装置１３の各々が上流側に隣接する２つの配信データ通信装置からデータを受信する、といった単純な規則に従い配信データ通信装置間の送受信の経路を決定する。
【００５７】
続いて、管理データ通信装置１１は決定した経路に従い、配信データ通信装置の各々に関する通信相手データを生成する（ステップＳ００３）。続いて、管理データ通信装置１１は生成した通信相手データを配信データ通信装置の各々に送信する（ステップＳ００４）。
【００５８】
配信データ通信装置の各々は、管理データ通信装置１１から送信されてくる通信相手データを受信すると、通信相手データに示される通信相手との間でブロックの送受信を開始し（ステップＳ００５）、受信したブロックを記憶する（ステップＳ００６）。（ただし、配信元データ通信装置１２はブロックの受信および記憶は行わない。）
【００５９】
配信データ通信装置の各々は、ステップＳ００５およびＳ００６の処理と平行して、通信相手毎の通信速度を監視するとともに（ステップＳ００７）、所定時間が経過したか否かの判定を継続的に繰り返す（ステップＳ００８）。ステップＳ００８の判定において所定時間が経過したと判定した場合（ステップＳ００８：Ｙｅｓ）、配信データ通信装置は記憶済みデータ量データおよび通信状態データを生成し（ステップＳ００９）、生成したそれらのデータを管理データ通信装置１１に送信する（ステップＳ０１０）。
【００６０】
管理データ通信装置１１は、ステップＳ００４の実行の後、所定時間が経過したか否かの判定を継続的に繰り返す（ステップＳ０１１）。その間、配信データ通信装置の各々から送信されてくる記憶済みデータ量データおよび通信状態データを受信する。ステップＳ０１１の判定において所定時間が経過したと判定した場合（ステップＳ０１１：Ｙｅｓ）、管理データ通信装置１１は続いて、受信した記憶済みデータ量データに基づき、全ての配信先データ通信装置１３が全てのブロックの受信を完了したか否かを判定する（ステップＳ０１２）。１つでも１００％に達していない値を示す記憶済みデータ量データがあれば、管理データ通信装置１１は配信対象データの配信が完了していないと判定し（ステップＳ０１２：Ｎｏ）、処理をステップＳ００１に戻す。
【００６１】
２回目以降に行われるステップＳ００１の処理においては、管理データ通信装置１１は配信データ通信装置の各々から受信した記憶済みデータ量データおよび通信状態データに基づき、大域的な配置の決定を行う。また、それに続く２回目以降に行われるステップＳ００２の処理においては、管理データ通信装置１１は配信データ通信装置の各々から受信した記憶済みデータ量データおよび通信状態データに基づき、配信データ通信装置間の送受信の経路を決定する。その後、ステップＳ００３以降の処理が繰り返される。
【００６２】
ステップＳ０１２において、全ての記憶済みデータ量データが１００％を示す場合、管理データ通信装置１１は配信対象データの配信が完了した判定する（ステップＳ０１２：Ｙｅｓ）。この場合、データ配信システム１は一連の配信対象データの配信のための処理を終了する。
【００６３】
上述したデータ配信システム１によれば、配信データ通信装置の各々における既に記憶しているブロックの数量と、通信相手毎の通信状態とに応じて、配信先データ通信装置１３の大域的な配置と、その配置に従った配信データ通信装置間の送受信の経路が動的に決定される。そのため、複数の配信先データ通信装置１３に対する同じ配信対象データの配信が高速に行われる。また、データ配信システム１は負荷分散サーバ装置や複数の配信サーバ装置を備えないため、低コストで実現可能である。
【００６４】
さらに、データ配信システム１においては、配信先データ通信装置１３が管理データ通信装置１１により決定された通信相手のうち、例えば通信速度が閾値以上に速い通信相手とのみ通信を行う、という具合に、自律的に自機の配信対象データの配信における効率の向上を図る構成となっており、そのように向上された効率が通信状態データに反映されて大域的な配置や配信データ通信装置の送受信の経路の決定にフィードバックされる。その結果、より高速な配信対象データの配信が行われる。
【００６５】
［変形例］
上述した実施形態は本発明の技術的思想の範囲内において様々に変形することができる。以下にそれらの変形の例を示す。
【００６６】
［第１変形例］
この変形例においては、上述したデータ配信システム１に対し、自らは配信対象データの配信先ではないが、配信対象データの全てのブロックもしくはそれらの一部を記憶しており、専ら配信先データ通信装置１３に対し自機が記憶しているブロックの送信を行うデータ通信装置が導入される。なお、以下の説明において、この専ら配信先データ通信装置１３に対し自機が記憶しているブロックの送信を行うデータ通信装置を「配信支援データ通信装置１４」という。また、配信元データ通信装置１２、配信先データ通信装置１３および配信支援データ通信装置１４を総称して「配信データ通信装置」という。
【００６７】
配信支援データ通信装置１４は、例えば、現在の配信対象データの配信先ではないが、過去に同じ配信対象データの配信先（配信先データ通信装置１３）であったために、その配信対象データのブロックを記憶しているデータ通信装置である。従って、配信支援データ通信装置１４の構成は配信先データ通信装置１３の構成と同様である。
【００６８】
この変形例において、決定手段１１１は、配信支援データ通信装置１４を、例えば以下に示す規則に従い並び替える。
【００６９】
（１）送信先との通信速度が速い配信支援データ通信装置１４程、上流側に配置する。
（２）記憶済みのブロックの数が多い配信支援データ通信装置１４程、上流側に配置する。
【００７０】
具体的には、例えば、決定手段１１１は、送信先との通信速度が速い程、その配信支援データ通信装置１４に高いスコアを付与し、記憶済みのブロックの数が多い程、その配信支援データ通信装置１４に高いスコアを付与し、（１）および（２）の重要度に応じたウェイトをそれらのスコアに乗じて加算することで、配信支援データ通信装置１４の配信能力の指標を算出する。決定手段１１１は算出した指標が高い順に、上流から下流へと配信支援データ通信装置１４を配置する。
【００７１】
決定手段１１１は、上記のように並び替えた配信支援データ通信装置１４を、大域的に配置された配信先データ通信装置１３に対し、例えば上流側から順に配置し、配信データ通信装置間の送受信の経路を決定する。その際、決定手段１１１は、受信元となる配信データ通信装置の送信速度の合計と、送信先となる配信先データ通信装置１３の受信速度の合計との差が小さくなるように、経路の位置や数を決定する。
【００７２】
図１１は、配信支援データ通信装置１４が導入された場合に決定手段１１１により決定される配信先データ通信装置１３の大域的な配置および配信データ通信装置間の送受信の経路を例示した図である。図１１の例においては、配信支援データ通信装置１４−１が配信先データ通信装置１３−１と配信先データ通信装置１３−２の受信元の配信データ通信装置として配置され、配信支援データ通信装置１４−２が配信先データ通信装置１３−３と配信先データ通信装置１３−４の受信元の配信データ通信装置として配置されている。
【００７３】
この変形例によれば、配信支援データ通信装置１４の支援により、ブロックの送信元が増えるため、データ配信システム１における配信対象データの配信がより高速に行われる。
【００７４】
［第２変形例］
この変形例においては、上述したデータ配信システム１に対し、自らは配信対象データの配信先ではないが、データの配信能力が高いデータ通信装置が、純粋にデータ配信システム１における配信対象データの配信速度を速める目的で導入される。以下、この純粋にデータ配信システム１における配信対象データの配信速度を速める目的で導入されるデータ通信装置を「中継データ通信装置１５」という。また、配信元データ通信装置１２、配信先データ通信装置１３および中継データ通信装置１５を総称して「配信データ通信装置」という。
【００７５】
中継データ通信装置１５は、配信先データ通信装置１３と比較してデータの配信能力が高い（潜在的な送信速度および受信速度が速い）点を除き、配信先データ通信装置１３と同様の構成を備えるデータ通信装置である。
【００７６】
中継データ通信装置１５は、例えば管理データ通信装置１１に対し、自機が中継データ通信装置１５であることを通知し、管理データ通信装置１１の決定手段１１１はその通知に従い、配信先データ通信装置１３の大域的な配置の決定において、中継データ通信装置１５を配信先データ通信装置１３の上流側に配置した後、配信データ通信装置間の送受信の経路の決定を行う。
【００７７】
この変形例によれば、中継データ通信装置１５により、上流側におけるブロックの送信能力が向上されるため、データ配信システム１における配信対象データの配信がより高速に行われる。
【００７８】
［その他の変形例］
（１）上述の実施形態においては、ブロックは配信対象データにおける順序に従い配信データ通信装置間で送受信されるものとしたが、下流側の配信データ通信装置において受信したブロックを正しい順序でアセンブリして配信対象データを再構築することができる限り、ブロックの送信の順序はいずれの順序であってもよい。
【００７９】
（２）上述の実施形態においては、記憶済みデータ量データは配信データ通信装置の全ブロックの数に対する記憶済みのブロックの数の比率（％）を示すものとしたが、記憶済みデータ量データは配信対象データのうち記憶済みのデータの量を示すデータであれば他の数値を示すものであってもよい。例えば、記憶済みデータ量データは、配信先データ通信装置１３に記憶されているブロックの数そのものを示すデータや、配信対象データの全ビット数に対する配信先データ通信装置１３に記憶されている配信対象データの一部（または全部）のビット数の比率を示すデータ等であってもよい。
【００８０】
（３）上述の実施形態においては、配信元データ通信装置１２および配信先データ通信装置１３は所定時間の経過をトリガとして、記憶済みデータ量データや通信状態データを生成し、管理データ通信装置１１に送信する構成としているが、記憶済みデータ量データや通信状態データの生成および送信のトリガは所定時間の経過に限られず、他の条件が満たされたことをもってそのトリガとしてもよい。例えば、配信先データ通信装置１３の各々が、予め定められた量のデータを受信する毎に記憶済みデータ量データおよび通信状態データを管理データ通信装置１１に送信するように構成してもよい。
【００８１】
（４）上述の実施形態においては、通信状態データは、前回の通信状態データの生成の後、新たな通信状態データの生成の時点までに観測された通信速度を示すデータとしたが、通信状態データが示す通信速度はこれに限られない。例えば、前回に通信状態データを生成したタイミング以前の期間を含む所定の期間内における通信速度を示すデータを通信状態データとしてもよい。また、例えば現時点に近いタイミングにおける通信速度に大きいウェイトを割り当て、現時点より遠い（古い）タイミングにおける通信速度に小さいウェイトを割り当て、それらを加重平均する等により、過去の所定期間における通信速度の代表値を算出し、その代表値を示すデータを通信状態データとしてもよい。
【００８２】
（５）上述した実施形態においては、互いに通信が行われる上流側の配信データ通信装置の通信状態データと、下流側の配信データ通信装置の通信状態データに、各々の送信先と受信元の欄に同じ通信速度を示すデータが含まれる。従って、通信状態データがこれらの一方のみ（例えば、送信先の欄のデータのみ）を示す構成としてもよい。
【００８３】
（６）上述した実施形態においては、大域的な配置において配信先データ通信装置１３が一列に並べられるものとしたが、大域的な配置の形状は一列に限られず、例えば複数列や複数の枝に分岐する形状や、網の目のような形状など、他の形状を採用してもよい。
【００８４】
（７）上述した実施形態においては、決定手段１１１が最初の大域的な配置の決定を行う際、配信先データ通信装置１３の順序をランダムに決定するものとしたが、例えば決定手段１１１が、配信データ通信装置のＩＰアドレスに基づき、配信データ通信装置の間のネットワーク上における距離を推定し、距離が近いと推定されるデータ通信装置が互いに隣接または近接するように大域的な配置を決定するなど、決定手段１１１が特定の規則に従って配信先データ通信装置１３の大域的な配置を決定するように構成してもよい。
【００８５】
（８）決定手段１１１が最初の大域的な配置の決定を行う際、過去に例えば他の配信対象データの配信において管理データ通信装置１１が配信データ通信装置から受信した通信状態データが利用可能であれば、配信先データ通信装置１３の順序をランダムに決定する代わりに、過去に受信した通信状態データに基づき、配信先データ通信装置１３の大域的な配置決定する構成としてもよい。
【００８６】
（９）上述した実施形態においては、管理データ通信装置１１と配信元データ通信装置１２が個別な装置であるものとしたが、管理データ通信装置１１と配信元データ通信装置１２が同じ筐体内に配置された装置として構成されてもよい。
【００８７】
（１０）上述した実施形態においては、配信元データ通信装置１２は１つであるものとしたが、データ配信システム１が配信元データ通信装置１２を複数備えてもよい。その場合、複数の配信元データ通信装置１２から同時並行して配信対象データの配信が開始されるため、配信対象データの配信がより高速に行われる。
【００８８】
（１１）上述した実施形態においては、管理データ通信装置１１、配信元データ通信装置１２および配信先データ通信装置１３は各々、一般的なコンピュータに本実施形態にかかるアプリケーションプログラムに従った処理を実行させることにより実現されるものとしたが、これらの装置の１以上を、いわゆる専用機として構成してもよい。
【００８９】
（１２）上述した実施形態において示した、大域的な配置の決定に用いられる規則はあくまで一例であって、他の規則がこれらに加えて、もしくはこれらに代えて、大域的な配置の決定に用いられてもよい。
【００９０】
（１３）上述した実施形態においては、管理データ通信装置１１により、配信データ通信装置の通信相手が受信元と送信先に区別されて指定されるものとしている。これに代えて、管理データ通信装置１１は受信元と送信先の区別なく、配信データ通信装置の各々に許可する通信相手を指定する構成としてもよい。その場合、配信データ通信装置は管理データ通信装置１１により指定された通信相手との間で、ブロックの送信、受信の両方を行うことができる。なお、配信データ通信装置は指定された通信相手との間で行った通信の通信速度を、受信と送信の各々に関し示す通信状態データを生成する。この変形例においては、例えば大域的な配置において下流側の配信先データ通信装置１３が上流側の配信先データ通信装置１３よりも先に多くのブロックを受信し記憶した場合に、上流側の配信先データ通信装置１３が下流側の配信先データ通信装置１３からブロックを受信することも許可されるため、配信対象データの配信がより高速に行われる。
【００９１】
（１４）上述した実施形態の説明において、通信相手データは通常、受信元の配信データ通信装置のＩＰアドレスと送信先の配信データ通信装置のＩＰアドレスを含む旨を述べた。通信相手データに含まれるデータは通信相手の通信装置のＩＰアドレスに限られず、ネットワーク上で通信相手のノードを特定可能とするデータであれば如何なるフォーマットのデータが含まれてもよい。また、通信相手データが、通信相手のノードを特定可能とするためのデータに加え、例えば通信プロトコルを示す識別子や、当該通信プロトコルにおけるポート番号等の通信装置間の通信に要するデータを含む構成が採用されてもよい。通信相手データがこれらのデータを含むように構成すれば、別途、通信装置間でこれらのデータの授受の処理を行うことを要さず、好都合である。
【００９２】
（１５）上述した実施形態の説明において、配信データ通信装置間におけるブロックの送受信は、例えば、送信先（下流側）の配信データ通信装置が受信元（上流側）の配信データ通信装置に対しブロックの送信要求を行い、受信元の配信データ通信装置が要求されたブロックを記憶していれば当該ブロックを送信先の配信データ通信装置に送信する、という手順により行われるものとした。配信データ通信装置間におけるブロックの記憶の有無の確認手順はこれに限られず、他の様々な手順が採用され得る。例えば、受信元（上流側）の配信データ通信装置が送信先（下流側）の配信データ通信装置に対し、送信可能なブロックを取得済みであるか否かの確認要求を行い、送信先の配信データ通信装置が確認要求に応じて、受信元の配信データ通信装置が送信可能なブロックのうち未取得のブロックを受信元の配信データ通信装置に通知し、受信元の配信データ通信装置が当該ブロックを送信先の配信データ通信装置に送信する、という手順によって行われてもよい。
【００９３】
（１６）上述した実施形態において示した管理データ通信装置１１、配信元データ通信装置１２および配信先データ通信装置１３のためのアプリケーションプログラムは、コンピュータ１０に読み取り可能な記録媒体に記録されて配布されてもよいし、ネットワークを介してコンピュータ１０にダウンロードされてもよい。
【産業上の利用可能性】
【００９４】
本発明は、広くデータ配信を行うサービス業等において利用可能である。
【符号の説明】
【００９５】
１…データ配信システム、１０…コンピュータ、１１…管理データ通信装置、１２…配信元データ通信装置、１３…配信先データ通信装置、１４…配信支援データ通信装置、１５…中継データ通信装置、１０１…ＣＰＵ、１０２…メモリ、１０３…通信Ｉ／Ｆ、１１１…決定手段、１１２…送信手段、１１３…受信手段、１２１…記憶手段、１２２…受信手段、１２３…指示手段、１２４…生成手段、１２４…送信手段、１３１…受信手段、１３２…記憶手段、１３３…送信手段、１３４…生成手段、１３６…選択手段、１３６…指示手段
【図１】
2014225169.tif 000003
【図２】
2014225169.tif 000004
【図３】
2014225169.tif 000005
【図４】
2014225169.tif 000006
【図５】
2014225169.tif 000007
【図６】
2014225169.tif 000008
【図７】
2014225169.tif 000009
【図８】
2014225169.tif 000010
【図９】
2014225169.tif 000011
【図１０】
2014225169.tif 000012
【図１１】
2014225169.tif 000013