"複数の配布ファイルを保持するマスタサーバから複数のサーバに前記複数の配布ファイルを配布するファイル配布方法であって、前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成し、前記マスタサーバ及び前記複数のサーバの少なくともいずれかの状態を示すシステム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当て、前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布し、各ノードに対応するサーバ間において、前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを含む配布ファイル管理情報に基づいて、当該ノードに対応するサーバが未所有の該配布ファイルを、相互直接授受方式により前記配布ファイルを授受することを特徴とする、ファイル配布方法。CPU負荷が低いサーバを前記配布構成の上位のノードに割り当てることを特徴とする請求項1に記載の方法。ネットワーク負荷が低いサーバを前記配布構成の上位のノードに割り当てることを特徴とする請求項1に記載の方法。サーバのネットワーク構成に基づいてサーバを前記配布構成の上位のノードに割り当てることを特徴とする請求項1~3のいずれか1項に記載の方法。複数の配布ファイルを保持するマスタサーバと、該配布ファイルが配布される複数のサーバとをそなえるファイル配布システムであって、前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成する、配布構成作成部と、前記システムの状態をシステム状態情報として管理するシステム状態データベースと、前記システム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当てる割当部と、前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを、配布ファイル管理情報として管理する、配布ファイル管理データベースと、前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布する配布部とをそなえ、各ノードに対応するサーバ間において、前記配布ファイル管理情報に基づいて、当該ノードに対応するサーバが未所有の該配布ファイルを、相互直接授受方式により前記配布ファイルを授受することを特徴とする、ファイル配布システム。複数のサーバに複数の配布ファイルを保持するマスタサーバであって、前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成する、配布構成作成部と、前記システムの状態をシステム状態情報として管理するシステム状態データベースと、前記システム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当てる割当部と、前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを、配布ファイル管理情報として管理する、配布ファイル管理データベースと、前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布する配布部とをそなえること特徴とするマスタサーバ。前記割当部は、CPU負荷が低いサーバを前記配布構成の上位のノードに割り当てることを特徴とする請求項6に記載のマスタサーバ。前記割当部は、ネットワーク負荷が低いサーバを前記配布構成の上位のノードに割り当てることを特徴とすることを特徴とする請求項6又は7に記載のマスタサーバ。前記サーバ割当部は、前記複数のサーバのネットワーク構成に基づいて前記配布構成を構成することを特徴とする請求項6~8のいずれか1項に記載のマスタサーバ。複数の配布ファイルを保持するマスタサーバから複数のサーバに前記複数の配布ファイルを配布するファイル配布プログラムであって、前記ファイル配布プログラムは前記マスタサーバによって実行されると、前記マスタサーバに、前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成させ、前記マスタサーバ及び前記複数のサーバの少なくともいずれかの状態を示すシステム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当て、前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布させ、前記複数のサーバによって実行されたときに、各ノードに対応するサーバ間において、前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを含む配布ファイル管理情報に基づいて、当該ノードに対応するサーバが未所有の該配布ファイルを、相互直接授受方式により前記配布ファイルを授受させることを特徴とする、ファイル配布プログラム。複数の通信装置間で複数のデータを共有するためのデータ配布方法において、ツリー状の配布構成において同じ階層に属する複数の通信装置は、上位の通信装置から受信した複数のデータのうち、一部のデータを除くデータを下位の通信装置に送信して、前記複数の通信装置の中で未受信のデータが異なる複数のグループを生じさせ、前記複数の通信装置の各々は、自通信装置が未受信の第1のデータを受信した他のグループに属する通信装置との間で、該他のグループに属する通信装置が未受信の第2のデータの該他の通信装置への送信と、該他の通信装置からの前記第1のデータの受信を並行して行なうことで1以上の不足データを補完する、ことを特徴とするデータ配布方法。複数の通信装置間で複数のデータを共有するためのデータ配布システムにおいて、ツリー状の配布構成において同じ階層に属する複数の通信装置が、上位の通信装置から受信した複数のデータのうち、一部のデータを除くデータを下位の通信装置に送信して、前記複数の通信装置の中で未受信のデータが異なる複数のグループを生じさせ、前記複数の通信装置の各々において、自通信装置が未受信の第1のデータを受信した他のグループに属する通信装置との間で、該他のグループに属する通信装置が未受信の第2のデータの該他の通信装置への送信と、該他の通信装置からの前記第1のデータの受信を並行して行なうことで1以上の不足データを補完する手段を有することを特徴とするデータ配布システム。しかし、ツリー形状の配布形態では、送信方向は一方向で行われ、通信相手ごとにファイルデータの送信時間を要することを考慮すると、ツリーの末端の通信装置に対して共有すべき全てのデータを配布し終わるまでの時間が長い。また、予め設定されたツリー形状は固定的であるため、システムの状況に応じた臨機応変な対応ができない。更に、ツリーの頂点に対応する通信装置及びツリーの途中に存在する通信装置における障害発生時に、下位の通信装置への配信が途絶えてしまう。1つの側面では、本発明は、ファイルデータの配布に要する時間の短縮化を図ることを目的とする。また、他の側面では、本発明は、システムの状況に応じてファイルデータの配布経路を変更可能とすることを目的とする。また、他の側面では、本発明は、ファイルデータの配布の際の、配信経路に冗長性を持たせることを目的とする。このため、このファイル配布方法は、複数の配布ファイルを保持するマスタサーバから複数のサーバに前記複数の配布ファイルを配布するファイル配布方法であって、前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成し、前記マスタサーバ及び前記複数のサーバの少なくともいずれかの状態を示すシステム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当て、前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布し、各ノードに対応するサーバ間において、前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを含む配布ファイル管理情報に基づいて、当該ノードに対応するサーバが未所有の該配布ファイルを、相互直接授受方式により前記配布ファイルを授受する。また、このファイル配布システムは、複数の配布ファイルを保持するマスタサーバと、該配布ファイルが配布される複数のサーバとをそなえるファイル配布システムであって、前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成する、配布構成作成部と、前記システムの状態をシステム状態情報として管理するシステム状態データベースと、前記システム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当てる割当部と、前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを、配布ファイル管理情報として管理する、配布ファイル管理データベースと、前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布する配布部とをそなえ、各ノードに対応するサーバ間において、前記配布ファイル管理情報に基づいて、当該ノードに対応するサーバが未所有の該配布ファイルを、相互直接授受方式により前記配布ファイルを授受する。また、このマスタサーバは、複数のサーバに複数の配布ファイルを保持するマスタサーバであって、前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成する、配布構成作成部と、前記システムの状態をシステム状態情報として管理するシステム状態データベースと、前記システム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当てる割当部と、前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを、配布ファイル管理情報として管理する、配布ファイル管理データベースと、前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布する配布部とをそなえる。また、このファイル配布プログラムは、複数の配布ファイルを保持するマスタサーバから複数のサーバに前記複数の配布ファイルを配布するファイル配布プログラムであって、前記ファイル配布プログラムは前記マスタサーバによって実行されると、前記マスタサーバに、前記マスタサーバを頂点とし、複数の前記配布ファイルが配布ファイル群として割り当てられるノードを複数そなえるツリー構造を有し、下位のノードに割り当てられる前記配布ファイル群が、上位のノードに割り当てられる前記配布ファイル群の部分集合となる配布構成を作成させ、前記マスタサーバ及び前記複数のサーバの少なくともいずれかの状態を示すシステム状態情報に基づいて、前記配布構成のノードのそれぞれに対して前記サーバを割り当て、前記配布構成に基づいて、各サーバに対して、当該サーバに対応するノードに割り当てられる配布ファイルを配布させ、前記複数のサーバによって実行されたときに、各ノードに対応するサーバ間において、前記配布構成における各ノードのそれぞれに対して、当該ノードの上位のノードを示す上位ノード情報と、配布対象の配布ファイルを示す配布対象ファイル情報と、当該ノードが保持する配布ファイルを示す保持配布ファイル情報と、当該ノードの下位のノードを示す下位ノード情報と、当該下位ノードが保持すべき配布ファイルを示す下位保持配布ファイル情報とを含む配布ファイル管理情報に基づいて、当該ノードに対応するサーバが未所有の該配布ファイルを、相互直接授受方式により前記配布ファイルを授受させる。また、複数の通信装置間で複数のデータを共有するためのデータ配布方法は、ツリー状の配布構成において同じ階層に属する複数の通信装置は、上位の通信装置から受信した複数のデータのうち、一部のデータを除くデータを下位の通信装置に送信して、前記複数の通信装置の中で未受信のデータが異なる複数のグループを生じさせ、前記複数の通信装置の各々は、自通信装置が未受信の第1のデータを受信した他のグループに属する通信装置との間で、該他のグループに属する通信装置が未受信の第2のデータの該他の通信装置への送信と、該他の通信装置からの前記第1のデータの受信を並行して行なうことで1以上の不足データを補完する。また、複数の通信装置間で複数のデータを共有するためのデータ配布システムにおいて、ツリー状の配布構成において同じ階層に属する複数の通信装置が、上位の通信装置から受信した複数のデータのうち、一部のデータを除くデータを下位の通信装置に送信して、前記複数の通信装置の中で未受信のデータが異なる複数のグループを生じさせ、前記複数の通信装置の各々において、自通信装置が未受信の第1のデータを受信した他のグループに属する通信装置との間で、該他のグループに属する通信装置が未受信の第2のデータの該他の通信装置への送信と、該他の通信装置からの前記第1のデータの受信を並行して行なうことで1以上の不足データを補完する手段を有する。1態様によれば、ファイルデータの配布に要する時間の短縮化を図ることができる。また、1態様によれば、他の側面では、本発明は、システムの状況に応じてファイルデータの配布経路が変更可能となる。また、1態様によれば、ファイルデータの配布の際の、配信経路に冗長性を持たせることができる。さらに、1態様によれば、データの送信と受信とが同時に行なわれるため、配布速度を向上させることができる。Aシステム構成以下、図面を参照して本技術の実施形態の一例の構成を説明する。図1は実施形態の一例としてのファイル配布システム1の構成を示す模式図であり、図2は、当ファイル配布システム1のネットワーク構成の例を示す模式図である。本ファイル配布システム1は、配布ファイルデータを配布共有するためのシステムである。本ファイル配布システム1は、マスタサーバ通信装置2と、複数のサーバ通信装置3とから構成され、マスタサーバ2と、複数台のサーバ3とが接続されている。マスタサーバ2と、複数のサーバ3とは、図2に示すように、ネットワーク10を介して相互に接続されている。ネットワーク10は、例えばLANLocalAreaNetworkである。ファイル配布システム1においては、例えば、サーバ3に記憶されているファイルの修正ファイルあるいは更新ファイル例えば、オペレーティングシステムやドライバ、アプリケーションプログラムのパッチなどが、配布ファイルとして、マスタサーバ2からサーバ3に配布される。マスタサーバ2は、このような配布ファイルの全てを管理し、配布するサーバ機能を備えたコンピュータサーバコンピュータである。マスタサーバ2は、図示しないCPU、メモリROMやRAM、ハードディスクドライブ等を備える。以下、実施形態の一例としてのマスタサーバ2の構成について説明する。マスタサーバ2は、図1に示すように、サーバ割当部11、配布構成作成部12、配布部13、状態監視データベースDB:DataBase14、及び配布ファイルデータベースDB18を備える。サーバ3のハードディスクドライブには、状態監視データベースDB:DataBase14及び配布ファイルデータベースDB18が格納されているほか、配布対象の配布ファイルも格納されている。サーバ割当部11は、配布元サーバとするサーバ3を選出する。サーバ割当部11は、後述する状態監視データベース14に保持されている、サーバ3のCPU負荷、ネットワーク負荷及びネットワーク物理構成などの条件を統合的に鑑みて、配布元サーバとするサーバ3を選出する。例えば、CPU負荷を優先して配布元サーバとするサーバ3を選出する場合には、サーバ割当部11は、後述するCPU負荷データベース15を参照して、全てのサーバ3をCPU負荷の軽いものから順に並べ、上位の数台のサーバ3もしくは上位数パーセントのサーバ3を選択する。また、例えば、サーバ3間のネットワーク負荷を優先して配布元サーバとするサーバ3を選出する場合には、サーバ割当部11は、後述するネットワーク負荷データベース16を参照して、全てのサーバ3をネットワーク負荷の軽いものから順に並べ、上位の数台のサーバ3もしくは上位数パーセントのサーバ3を選択する。また、配布元サーバとするサーバ3を、CPU負荷とネットワーク負荷との両方に応じて選択してもよい。その際、CPU負荷データベース15とネットワーク負荷データベース16とを参照して、重み付けにより、CPU負荷とネットワーク負荷との複合値を算出して、この複合値が低い上位の数台のサーバ3もしくは上位数パーセントのサーバ3を選択してもよい。そして、選択されたこれらのサーバ3を、後述する配布構成作成部12が作成する配布構成に、配布元サーバとして割り当てる。配布構成作成部12は、配布ファイルの配布経路を定義している配布構成を作成する。その際、配布構成作成部12は、配布ファイルの種類サイズや用途などに応じ、配布ファイルをグループ化する。以下、本ファイル配布システム1において配布すべき配布ファイルの数をn個n=2以上の整数とする。また、その際、配布ファイルの種類が少なく、ファイルサイズが大きい場合には、配布構成作成部12は、一つの配布ファイルを幾つかのファイルに分割する。このようにして、配布構成作成部12は、本ファイル配布システム1において配布すべきファイルを、グループ化したり適宜分割することにより、n個の配布ファイルとする。なお、ファイルを分割したりグループ化することにより、後述の交換時に、複数グループファイルの送信と受信とが同時に行なわれ、これら複数グループファイルのデータサイズが揃っていることにより、タイムロスを減らし、交換の効率を向上できる。なお、以下の記載においては、1つのファイルを分割することにより形成されたファイルも、複数のファイルをグループ化したものも、総称して配布ファイルを称する。そして、これらのファイルの部分集合からなるノードを定義して、サーバ割当部11に通知する。更に、配布構成作成部12は、これらのグループに基づいて、配布ファイルを配布するための配布構成を作成する。配布構成作成部12における配布ファイルの配布構成の作成手順を以下に述べる。例えば、配布構成作成部12は、最上位のノードには配布ファイルの全てが含まれ、下位ノードに行くほど配布ファイル数が少なくなる階層構造を有する配布構成を作成する。このような階層構造の例として、ツリー形式が挙げられる。ツリー形式を用いた説明は後述する。配布部13は、配布ファイルが配布対象の全てのサーバ3に配布されるように制御を行なう。例えば、配布部13は、サーバ3を配布元サーバとして機能させるために、サーバ割当部11が選択した、配布元サーバとして機能させたいサーバ3に配布ファイルをプッシュする。また、配布部13は、サーバ3間でP2P方式によるファイル配布を開始させるための命令を発行する。状態監視データベース14は、サーバ3の状態CPU負荷など、サーバ3のネットワーク物理構成、サーバ3間のネットワークトラフィック情報などのシステム状態を管理するデータベースである。本実施形態では、状態監視データベース14は、CPU負荷データベース15、ネットワーク負荷データベース16、及びネットワーク物理構成データベース17を有する。状態監視データベース14のCPU負荷データベース15の例を図3に、状態監視データベース14のネットワーク負荷データベース16の例を図4に、状態監視データベース14のネットワーク物理構成データベース17の例を図5にそれぞれ示す。CPU負荷データベース15は、各サーバ3のCPU負荷を管理するデータベースであって、図3に示す例においては、ファイル配布システム1に存在する各サーバ3を特定するためのサーバID本例においてはIPアドレスと、そのサーバのCPU負荷パーセント表記とが管理されている。ネットワーク負荷データベース16は、各サーバ3間を接続する個々のリンクの負荷を管理するデータベースであって、図4に示す例においては、ファイル配布システム1に存在する各リンクの始点のサーバ3のサーバIDであるFrom:サーバID本例においてはIPアドレスと、当該リンクの終点のサーバ3のサーバIDであるTo:サーバID本例においてはIPアドレスと、当該リンクのネットワーク負荷パーセント表記とが管理されている。なお、リンクの始点及び終点とは、スイッチに近いほうを始点、スイッチから遠いほうを終点と便宜上表す。ネットワーク物理構成データベース17は、本ファイル配布システム1を構成するネットワークの構成を管理するデータベースであって、図5に示す例においては、例えば、ファイル配布システム1に存在する各スイッチを特定するためのスイッチID本例においてはIPアドレスと、そのスイッチの配下のサーバ3のサーバID本例においてはIPアドレスとが管理されている。配布ファイルデータベース18は、サーバ3に配布すべきファイルを管理するデータベースである。配布ファイルデータベース18のデータ構造の具体例を図6に示す。図6に示す例においては、配布ファイルデータベース18は、配布元サーバIDリスト31、全配布ファイルIDリスト32、自サーバ取得ファイルIDリスト33、配布先サーバIDリスト34、及び配布先サーバ取得ファイルIDリスト35を有する。配布元サーバIDリスト31は、配布元サーバとして設定されたサーバ3のIDのリストである。また、全配布ファイルIDリスト32は、その配布元サーバが下位のサーバ3に配布すべき配布ファイルのIDリストである。自サーバ取得ファイルIDリスト33は、各サーバ3が既に取得している配布ファイルを識別するIDの一覧をリストとして表す。配布先サーバIDリスト34は、配布ファイルの配布先である一階層下のノードのサーバ3を識別するIDの一覧をリストとして表す。更に、配布先サーバ取得ファイルIDリスト35は、一階層下のノードのサーバ3に配布すべきファイルを識別するIDのリストを一覧をして表す。なお、本願では、サーバ3のIDとしてサーバ3のIPアドレスを使用しているが、IPアドレスに限定されない。状態監視データベース14、CPU負荷データベース15、ネットワーク負荷データベース16、ネットワーク物理構成データベース17、及び配布ファイルデータベース18のデータは、例えば図示しないHDDに記憶されている。この配布ファイルデータベース18の具体的なデータ例の一部を、図7に示す。また、サーバ3は、マスタサーバ2によって配布ファイルが配布される先の配布先サーバとして機能するほか、この配布された配布ファイルを、他のサーバ3に配布する配布元サーバとしても機能することができる。サーバ3は、相互にピアツーピアP2P通信が可能である。なお、P2P通信とは、マスタサーバ2を介さないサーバ3間での通信であり、既知の種々の手法で実施することができる。各サーバ3は、スイッチ図10参照やルータを介して、それぞれネットワーク10に接続されている。次に、サーバ3の構成を説明する。サーバ3は、図示しないCPU、メモリROMやRAM、ハードディスクドライブ等を備えるコンピュータまたは通信装置である。本ファイル配布システム1に含まれる複数のサーバ3は、互いに同じもしくはほぼ同じ構成を有している。各サーバ3は、図1に示すように、それぞれ、ファイル配布制御部21、ファイル管理部22及び前述した配布ファイルデータベース18と同様の配布ファイルデータベース23を備える。サーバ3のハードディスクドライブには、配布ファイルデータベース23が格納されるほか、マスタサーバ2や他のサーバ3から取得した配布ファイルが格納される。ファイル配布制御部21は、マスタサーバ2又は上位のサーバ3からの指示に従って、後述する配布ファイルデータベース23を参照して、自身が属するノードの一階層下のノードのサーバへの配布ファイルの配布を開始する。ファイル管理部22は、後述する配布ファイルデータベース23を参照して、自サーバ3において不足している配布ファイルが存在する場合に、その不足配布ファイルを、P2Pによって他のサーバ3から取得するために問合わせを行ない、その配布ファイルを取得する。また、ファイル管理部22は、他のサーバ3からの配布ファイルの問合せを受信した場合、後述する配布ファイルデータベース23を参照して、その配布ファイルを自身が所有している場合には当該配布ファイルを他のサーバ3に送信する。配布する不足データを補完すべきペアは事前に各サーバ3に記憶しておいても、配布ファイルの付加情報としてマスタサーバ2から付加情報として配布し、この付加情報を参照することにより各サーバ3が自律的に見つけてもよい。配布ファイルデータベース23は、上記のマスタサーバ1の配布ファイルデータベース18と同様のデータ構造を有する。配布ファイルデータベース23は、後述のごとく、配布ファイルデータベース18や、他のサーバ3の配布ファイルデータベース23と一致するように更新される。配布ファイルデータベース23は、配布元サーバIDリスト31、全配布ファイルIDリスト32、自サーバ取得ファイルIDリスト33、配布先サーバIDリスト34、及び配布先サーバ取得ファイルIDリスト35を有する。配布元サーバIDリスト31は、配布元サーバとして設定されたサーバ3を識別するIDの一覧をリストとして表す。また、全配布ファイルIDリスト32は、その配布元サーバが下位のサーバ3に配布すべき配布ファイルのIDリストである。自サーバ取得ファイルIDリスト33は、自サーバ3が既に取得している配布ファイルを識別するIDの一覧リストである。配布先サーバIDリスト34は、配布ファイルの配布先である一階層下のノードのサーバ3を識別するIDの一覧リストとして表す。更に、配布先サーバ取得ファイルIDリスト35は、一階層下のノードのサーバ3に配布すべきファイルを識別するIDの一覧をリスト35として表す。なお、本願では、サーバ3のIDとしてサーバ3のIPアドレスを使用しているが、サーバ3のIDはIPアドレスに限定されない。ファイル管理部22は、自サーバ3のID本実施形態ではIPアドレスをキーとして、配布ファイルデータベース23の配布元サーバIDリスト31を検索し、自サーバ3の上位のノードのサーバIDを知ることができる。なお、上位及び下位とは、ルートに近い方を上位、末端に近いほうを下位と呼ぶ。また、ファイル管理部22は、配布ファイルデータベース23の全配布ファイルIDリスト32のエントリと、自サーバ3のIDをキーとして検索した自サーバ3の自サーバ取得ファイルIDリスト33のエントリとを比較して、不足している配布ファイルを知ることができる。また、ファイル管理部22は、自サーバ3のIDをキーとして、配布ファイルデータベース23の配布先サーバIDリスト34を検索することによって、自サーバ3が、上位サーバから受け取った配布ファイルの部分集合を配布すべき相手先の下位サーバ3を知ることができる。また、ファイル管理部22は、自サーバ3のIDをキーとして、配布ファイルデータベース23の配布先サーバ取得ファイルIDリスト35を検索することによって、自サーバ3が、下位サーバ3に配布すべき配布ファイルを知ることができる。なお、上記の実施形態の一例では、マスタサーバ2の配布ファイルデータベース18と、サーバ3の配布ファイルデータベース23とが同様であると説明したが、配布ファイルデータベース18と配布ファイルデータベース23とが異なっていてもよい。例えば、サーバ3の配布ファイルデータベース23に、自サーバ3の上位の配布元サーバと、これに対応する情報のみが格納されていてもよい。Bシステム動作次に、上記の如く構成された実施形態の一例としてのファイル配布システム1の動作を説明する。[1]以下に、図8を参照して、配布構成作成部12による配布構成20の作成例を説明する。ここでは、配布構成20の一例として、複数のノードからなるツリー構成を生成する例を示す。この例において、サーバ3の総数をi台、配布元として選択するサーバ3の割合をjとする。1-1サーバ3全i台のうちのjのサーバを配布元サーバとして選択する。jは、事前にシステムの状態などによって決定してもよい。1-2次に、配布すべき配布ファイル数の総数がnのとき、n階乗>i×jが成立する場合には、n個の配布ファイルをm個のグループに分割する。その際、mの値は、n/m<i×jとなるように決定する。1-3次に、ツリーを生成する。m本例ではm=n:但し、n<i×j個のグループから、図8のツリーのように、m-1分木から分岐しm-1=1になるまで、配布構成20としてのツリーを生成する。例えば、図8に示す例ではルートからm-1本の分岐を生成させ、その一階層下のノードからはそれぞれm-2の分岐を生成させ、この枝の生成を枝の本数が1本になるまで繰り返す。この際のツリーの形成方法は、以下の通りである。なお、本例では、1ファイルが1つのグループとなるm=nため、以下の説明ではグループをファイルと称する。m-1本木を生成する。ファイルをファイル1、ファイル2、ファイル3、ファイル4...のようにソートする。そして、ソートしたファイルの並びの先頭のファイルを始点とし、m-1個のファイルを取得する。次に、ソートしたファイルの並びのファイルの並びの2番目のファイルを始点としてm-1個のファイルを取得する。次に、ソートした3番目のファイルを始点としてm-1個のファイルを取得していき、上記の処理を繰り返す。このとき、ソートしたファイルの並びの最後まで達しても、取得したファイルの数がm-1に達しない場合には、ソートしたファイルの並びの先頭から不足分を取得する。この操作を、枝の本数がm-1本になるまで繰り返す。次に、生成したm-1本木の各ノードからそれぞれ、m-2本木を生成する。m-1本木の先頭のノードの先頭のファイルを始点とし、m-2個のファイルを取得する。この操作を繰り返してm-2本の枝を生成し、次のノードに移る。上記の操作を、枝の本数が1本になるまで繰り返す。[2]次に、図9に示すように、サーバ機能プランニング部11は、上記のように生成した配布構成20としてのツリーに、サーバ3を割り当てる。サーバ3の割り当て方法を以下に説明する。2-1まず、サーバ3全i台のうちのjの台数のサーバ3を、CPU負荷やネットワーク負荷を考慮して選択しソートする。2-2次に、上記で作成したツリーに対し2-1のソート順にi×j台のサーバ3を、ツリーの上位のノードから下位のノードに、i×j/100/ノード総数台ずつそれぞれ割り当てる。例えば、サーバ3全10,000万台のうちの5を、図11の22のノードに割り当てる場合には、i=10000、j=5、ノード総数=22となり、10000×0.05/22≒22となり、各ノードに22台ずつサーバを割り当てることになる。なお、上記2-1において、CPU負荷やネットワーク負荷を考慮してサーバ3を選択する以外にも、ネットワーク物理構成を考慮してサーバ3を選択することも可能である。その方法を、図10を参照して説明する。例えば、図10の例では、サーバ3-1~3-6の6台のサーバ3が存在する。当該選択処理実行時点におけるCPU負荷が軽い順に並べると、サーバ3-3、サーバ3-4、サーバ3-1、サーバ3-5、サーバ3-2、サーバ3-6となり、サーバ3-3が負荷が最も軽く、サーバ3-6が最も高負荷であるとする。このとき、CPU負荷に鑑みて、配布元サーバとするサーバ3を2台選択する場合には、サーバ3-3とサーバ3-4とが選択される。しかし、図10に示すように、サーバ3-3とサーバ3-4とはいずれも、スイッチS2の配下に存在する。したがって、サーバ3-3とサーバ3-4とに配布ファイルを割り当てた場合、スイッチS2が故障した場合には冗長性が維持できなくなる。そこで、サーバ3-1を選択した後に、次点の候補のサーバ3-4とサーバ3-3が接続されているスイッチをチェックする。接続元のスイッチが一致する場合には、サーバ3-3とはスイッチが異なるサーバ3のうち、CPU負荷の最も軽いサーバ3-1を選択して、最終的には、サーバ3-3と3-1との2台を選択する。このように選択を行なうことにより、スイッチS2が故障してサーバ3-3が使用不可となった場合でも、スイッチS1の配下にあるサーバ3-1により配布ファイルの配布が行われることが保証される。次に、配布ファイルのグループの配布構成の作成ならびに配布構成へのサーバの割り当てについて、図11を参照して、配布ファイル数n=4、配布構成が階層構造を有する場合を例に説明する。図11の例では、配布ファイルは、分割の必要のない、ほぼ同じサイズのファイルが4つ存在するとする。この場合、配布すべき配布ファイル数nは4であり、グループ数mも4である。このように、例では、各グループに配布すべき配布ファイルが1つずつ含まれる場合、グループを配布ファイルと称することもある。以下、これらの4つのファイルをそれぞれ、1、2、3、4で表すものとする。マスタサーバ3の配布構成作成部12は、これら4つの配布ファイルのすべてが含まれる集合であるファイル群{1,2,3,4}をノード1とし、これら4つの配布ファイルのうちの3つが含まれる部分集合であるファイル群{1,2,3}をノード2、ファイル群{2,3,4}をノード3、ファイル群{3,4,1}をノード4とする。前述のように、この際のノードの形成方法は、以下の通りである。ファイルをファイル1、ファイル2、ファイル3、ファイル4のように、ファイルサイズ順やファイル名順などでソートする。そして、ソートしたファイルの並びの先頭のファイルを始点とし、n-1個のファイルを取得する。次に、ソートしたファイルの並びのファイルの並びの2番目のファイルを始点としてn-1個のファイルを取得する。次に、ソートした3番目のファイルを始点としてn-1個のファイルを取得していき、上記の処理を繰り返す。このとき、ソートしたファイルの並びの最後まで達しても、取得したファイルの数がn-1に達しない場合には、ソートしたファイルの並びの先頭から不足分を取得する。そして、配布構成作成部12は、ノード2{1,2,3}の部分集合である下位ノードとして、ノード5{1,2}とノード6{2,3}とを形成する。また、ノード3{2,3,4}の部分集合である下位ノードとして、ノード7{2,3}とノード8{3,4}とを形成する。また、ノード4{3,4,1}の部分集合である下位ノードとして、ノード9{3,4}とノード10{4,1}とを形成し、グループの部分集合であるノードを作成する。最後に、配布構成作成部12は、最下位のノードとして、ノード5{1,2}の部分集合である下位ノードとして、ノード11{1}とノード12{2}とを作成し、同様に、最下位のノード13~22を作成し、グループの部分集合であるノードを作成する。そして、これらのノード1~22のそれぞれにサーバ3を割り当てる。例えば、ノード1にサーバa、ノード2にサーバb、ノード3にサーバc、ノード4にサーバd、ノード5にサーバe、ノード6にサーバf、ノード7にサーバg、ノード8にサーバh、ノード9にサーバi、ノード10にサーバj、ノード11にサーバk、ノード12にサーバl...をそれぞれ割り当てる。この際、割り当てるサーバa~uは、前述のごとくサーバをCPU負荷及び/又はネットワーク負荷に応じてソートし、ネットワーク構成を鑑みて選択する。次に、例えば、マスタサーバ2の配布部13によって、4つのファイルのうち4つ全てが含まれるノード1に割り当てられたサーバaに、グループ1~4の4つのファイルの全てがプッシュされる。4つのファイルがプッシュされるサーバaには、後に行なわれるP2Pでのファイル配布により負荷がかかることが予測されるため、元々のCPU負荷あるいはネットワーク負荷の低いサーバを割り当てることが望ましい。また、ファイル1~4のプッシュと同時に、マスタサーバ2によって、配布元サーバIDリスト31、全配布ファイルIDリスト32、配布先サーバIDリスト34、及び配布先サーバ取得ファイルIDリスト35もプッシュされる。サーバaは、これらの情報により、自サーバの配布ファイルデータベース23の配布元サーバIDリスト31、全配布ファイルIDリスト32、配布先サーバIDリスト34、及び配布先サーバ取得ファイルIDリスト35を更新すると共に、自サーバの配布ファイルデータベース23の自サーバ取得ファイルIDリスト33も更新する。次に、4つのファイルのうち3つが含まれるノード2に割り当てられたサーバbに、サーバaによってグループ1~3のファイルがプッシュされる。同様にノード3に割り当てられたサーバcに、サーバaによってグループ1,2,4のファイルがプッシュされる。ノード4に割り当てられたサーバdに、サーバaによってグループ3,4,1のファイルがプッシュされる。その際、同様に、サーバaによって、配布元サーバIDリスト31、全配布ファイルIDリスト32、配布先サーバIDリスト34、及び配布先サーバ取得ファイルIDリスト35も、サーバb、c、dにプッシュされる。これらのリストと配布された配布ファイルIDとに基づいて、サーバa、b、c、dは、上記と同様に配布ファイルデータベース23を更新する。更に、4つのグループのうち2つのグループが含まれるノードに割り当てられたサーバに、上位のサーバ3によって、2つのグループのファイルがプッシュされる。例えば、ノード5に割り当てられたサーバeに、サーバbによってグループ1,2のファイルがプッシュされる。ノード6に割り当てられたサーバfに、サーバbによってグループ2,3のファイルがプッシュされる。ノード7に割り当てられたサーバgに、サーバcによってグループ2,3のファイルがプッシュされる。ノード8に割り当てられたサーバhに、サーバcによってグループ3,4のファイルがプッシュされる。ノード9に割り当てられたサーバiに、サーバdによってグループ3,4のファイルがプッシュされる。ノード10に割り当てられたサーバjに、サーバdによってグループ4,1のファイルがプッシュされる。同様に、その際、配布元サーバIDリスト31、全配布ファイルIDリスト32、配布先サーバIDリスト34、及び配布先サーバ取得ファイルIDリスト35もサーバにプッシュされる。これらのリストと配布された配布ファイルIDとに基づいて、サーバe~jは配布ファイルデータベース23を更新する。最後に、4つのグループのうち1つのグループだけが含まれる最下位ノードに割り当てられたサーバk~vに、上位のサーバ3によって、1つのグループのファイルがプッシュされる。同様に、その際、配布元サーバIDリスト31、全配布ファイルIDリスト32、配布先サーバIDリスト34、及び配布先サーバ取得ファイルIDリスト35もサーバにプッシュされる。これらのリストと配布された配布ファイルIDとに基づいて、サーバk~vは配布ファイルデータベース23を更新する。この際、ノードに複数台のサーバ3が割り当てられている場合、当該ノードのサーバ3のうちの1台にファイルがプッシュされ、ノードの残りのサーバ3は、ファイルのプッシュを受けたサーバ3から、P2Pでファイルを受け取ってもよい。次に、各サーバ3は不足している配布ファイルを取得する。各サーバ3のファイル管理部22は、配布ファイルデータベース23を参照して、他のサーバ3に、不足している配布ファイルを要求する。要求されたサーバ3は、要求してきたサーバ3が属するノードに、既に同ファイルを取得したサーバ3が存在すれば、そのサーバ3に不足している配布ファイルを要求し、同ファイルを送信する。更に、同ノードにないファイルであれば、隣接するノードのサーバに問い合わせる。この問い合わせは再帰的に行なわれるため、このファイルを取得できる。例えば、ノード2に属し、グループ1,2,3のファイルがプッシュされたサーバbは、配布ファイルデータベース23を参照する。そして、配布ファイルデータベース23の全配布ファイルIDリスト32と自サーバ取得ファイルIDリスト33とを参照し、サーバaから、不足しているグループ4のファイルをP2Pで取得する。サーバbは、自サーバ取得ファイルIDリスト33リストを送信する。また、サーバaも、配布先サーバ取得ファイルIDリストを更新する。この不足ファイルの取得の際には、同じ階層に属するサーバ3間でファイルの送信と受信とを並行して行なうことができるため、ファイル配布速度を向上させることができる。不足する配布ファイルを補完しあうペアは、事前に定義して各サーバ3に記憶させておいても、配布ファイルの付加情報としてマスタサーバ2から送信されてもよいまた、上記の配布構成は、ベン図でも表すことができる。図12は、図11の配布構成をベン図で表した配布構成を示す。図12において、1図中では○付き数字で示すA1領域はファイル1、2図中では○付き数字で示す領域A2はファイル2、3図中では○付き数字で示す領域A3はファイル3、4図中では○付き数字で示す領域A4はファイル4の配布をそれぞれ示す。また、各領域A1~A4の積は、複数ファイルの配布を示す。このように、配布構成の作成は、配布ファイルの部分集合を定義する作業であると考えることもできる。なお、上記の例においては、配布構成と配布構成へのサーバの割り当てとを動的に定義する例を記載した。このように、配布構成と配布構成へのサーバの割り当てとを動的に定義する場合は、作成した配布構成を、配布ファイルの付加情報として、マスタサーバ2からサーバ3に配布してもよい。あるいは、別の実施形態として、マスタサーバ2が配布構成とサーバの割り当てとを定義して、定義した配布構成とサーバの割り当てとをサーバ3に記憶させておいてもよい。また、本件は、ファイル配布方法も考察するものであり、図13のフローチャートを参照して、本ファイル配布方法100を説明する。まず、ステップS101において、マスタサーバ2の配布構成作成部12により、配布ファイルの種類やサイズが大きい場合はそれを分割し、m個のグループを作成する。次に、ステップS102において、マスタサーバ3のサーバ機能プランニング部11により、m個のグループからツリーを定義して、ツリーのそれぞれのノードにグループの部分集合を割り当てる。その際、最上位のノードにはグループの全てが含まれ、下位ノードに行くほどグループ数が少なくなるようなツリーを形成する。次に、ステップS103において、マスタサーバ2のサーバ機能プランニング部11により、全サーバ3の内、CPUもしくはネットワーク負荷が小さいものを、i×jiはサーバ3の総数、jはサーバ3全i台のうち選択する割合台、配布元サーバとして選択し、ツリーの各ノードにi×j/ノード総数台ずつサーバ3を割り当てる。次に、ステップS104において、マスタサーバ2の配布部13により、m個の配布ファイルを持つノードに属するサーバ3が、m個の配布ファイルを持つルートノードに属する任意の1台のサーバ3に、そのノードに属するm個の配布ファイルをプッシュする。なお、その際、ルートノードに複数のサーバ3が存在する場合、ファイルの配布を受けたサーバ3から、ルートノードに属する他の全てのサーバ3が、m個の配布ファイルをP2Pで取得してもよい。ルートノードの配布ファイルを取得したサーバ3は、配布完了の旨の通知をマスタサーバ2へ通知する。次に、ステップS105において、m個の配布ファイルを持つノードに属するサーバ3が、m-1個の配布ファイルを持つノードに属する任意の1台のサーバ3に、そのノードに属するm-1個の配布ファイルをプッシュする。同様に、その際、m-1個の配布ファイルを持つノードに複数のサーバ3が存在する場合、ファイルの配布を受けたサーバ3から、m-1個を持つノードに属する他の全てのサーバ3が、m-1個の配布ファイルをP2Pで取得してもよい。当該ノードの配布ファイルを取得したサーバ3は、配布完了の旨の通知をマスタサーバ2へ通知する。次に、ステップS106において、m-1個の配布ファイルを持つノードに属するサーバ3が、m-2個を持つノードに属するサーバ3に対し、上記の処理を繰り返す。処理を、m-ik=1,...,m-1=1になるまで繰り返し、各ノードに属するサーバ3が、ノードが持つ配布ファイルを共有する。次に、ステップS107において、マスタサーバ2は、全てのサーバ3から、ノードに属する配布ファイルの受領完了通知を受ける。ステップS108において、マスタサーバ2は、配布元サーバとして選択した全てのサーバ3に対し、残りの配布ファイルの配布を開始する指示を出す。ステップS109において、各サーバ3は、自分の属するノードのファイル数1のノードから、不足している配布ファイルをP2Pで取得する。次に、ステップS110において、ファイル数2のノードから不足している配布ファイルを取得し、これをファイル数k=m-ファイル数分繰り返し、最終的にはn個全ての配布ファイルが、配布元サーバとして選択されたサーバ3に配布される。次に、ステップS111において、n個全てのファイルを取得したサーバ3は、マスタサーバ2に対し、配布を完了した旨の通知を送信する。最後に、ステップS112において、マスターサーバ2の配布部13が、サーバ3間でP2P方式によるファイル配布を開始させるための命令を発行し、これにより、配布元サーバとして選択されていない他のサーバ3にも全ての配布ファイルが配布される。このように、実施形態の一例としてのファイル配布システム1及びファイル配布方法100においては、マスタサーバ2が、全ての配下のサーバ3に配布ファイルを個々に配布するのではなく、マスタサーバ2が、配布ファイルをグループ化し、これらのグループを少なくとも1つ含む配布構成を作成して、配布構成に配布元サーバとする選択されたサーバを割り当てる。その際の割り当ては、サーバ3の負荷及び/又はネットワーク構成に応じて行なう。そして、配布構成の各ノードのサーバ3に、グループのファイルを配布する。その後、不足している配布ファイルを、サーバ3がピアツーピアP2Pで相互に取得し合うように構成されている。このため、サーバ3が配布元サーバとして機能するため、マスタサーバ2に冗長性を持たせることができる。このため、マスタサーバ2に万が一障害が生じた場合であっても、配布元サーバとして選択されたサーバ3により、ファイル配布システム1内の各サーバに配布ファイルを配布することができる。更には、マスタサーバ2が一部のサーバ3にのみ配布ファイルを配布するので、ネットワーク負荷を低減することができる。上述した実施形態においては、配布構成を示すツリーにおいて、上位のノードから下位のノードに向かって、各ノードから出る枝数が減少する例を示しているが、これに限定されるものではない。C第一変形例以下、図面を参照して本技術の実施形態の変形例の構成を説明する。本第一変形例において、上記実施形態とは異なる配布構成の作成方法を示す。図14は実施形態の変形例としてのファイル配布システムにおける配布構造を示す模式図であり、図15は、この配布構造を表すベン図である。図14の変形例では、配布構成の作成方法が上記例とは異なり、枝の本数が、上位ノードと下位ノードとで等しい。それ以外のマスタサーバ2及びサーバ3の機能及び構成については、上記の実施形態と同じである。マスタサーバ2は、サーバ3-1,3-2に、配布ファイル1とファイル2とを配布する。サーバ3-1は、サーバ3-3,3-4に配布ファイル1を配布し、サーバ3-2は、サーバ3-5,3-6に配布ファイル2を配布する。その後、サーバ3-3とサーバ3-5とが配布ファイル1,2を交換し、サーバ3-4とサーバ3-6とが配布ファイル1,2を交換しあう。この交換時には、サーバ3-3による配布ファイル1の送信、サーバ3-5による配布ファイル1の受信、サーバ3-5による配布ファイル2の送信、サーバ3-3による配布ファイル2の受信が同時に行われる。これにより、配布速度を向上させることができる。なお、不足する配布ファイルを補完しあうペアは、事前に定義して各サーバ3に記憶させておいても、配布ファイルの付加情報としてマスタサーバ2から送信されてもよい。図15は、図14の配布形態をベン図で表した図である。図15において、1図中では○付き数字で示す領域A1はファイル1、2図中では○付き数字で示す領域A2はファイル2の配布をそれぞれ示す。また、各領域A1,A2の積A1∩A2は、ファイル1,2の配布を示す。このように、配布構成の作成は、配布ファイルの部分集合を定義する作業であると考えることもできる。このように、前述の実施形態の効果に加えて、第一変形例においては、サーバ3-3による配布ファイル1の送信、サーバ3-5による配布ファイル1の受信、サーバ3-5による配布ファイル2の送信、サーバ3-3による配布ファイル2の受信が同時に行われるため、配布速度を向上させることができる。D第二変形例以下、図面を参照して本技術の実施形態の第二変形例の構成を説明する。本第二変形例において、上記実施形態とは異なる配布構成の作成方法を示す。図16は実施形態の第2変形例としてのファイル配布システムにおける配布構造を示す模式図である。図16に示す例においては、図14と同様にマスタサーバ2からサーバ3に配布ファイル1と2を配布する場合を示すが、2階層目よりも3階層目のほうが枝の本数が多い。すなわち、図16に示すように、上位のノードから出る枝数よりも、下位のノードから出る枝数を多くしてもよい。それ以外のマスタサーバ2及びサーバ3の機能及び構成については、上記の実施形態と同じである。例えば、ファイル1の配布にかかる時間と、ファイル2の配布にかかる時間とをともにTとすると、サーバ3-1,サーバ3-2がそれぞれ、ファイル1とファイル2とを下位サーバ3に配布する場合には、マスターサーバからサーバ3-1,サーバ3-2へのファイル1,2の配信に4T、サーバ3-1からサーバ3-3,3-4,3-5へのファイル1およびファイル2の配布に6Tを要する。また、この6Tの間に、サーバ3-2からサーバ3-6,3-7,3-8へのファイル1およびファイル2の配布も行なわれるため、全サーバ3-1~3-8へのファイル1およびファイル2の配布に要する時間は、4T6T=10Tとなる。しかし、図16の配布構成を採用する場合には、マスターサーバからサーバ3-1,サーバ3-2へのファイル1,2の配信には同じく4Tがかかるものの、サーバ3-1からサーバ3-3,3-4,3-5へのファイル1の配布は3Tで済み、この同じ3Tの間に、サーバ3-2からサーバ3-6,3-7,3-8へのファイル2の配布も行なわれる。さらに、サーバ3-3とサーバ3-6の間のファイル交換、サーバ3-4とサーバ3-7の間のファイル交換、およびサーバ3-5とサーバ3-8の間のファイル交換が、Tの間に一度に行なわれる。このため、全サーバ3-1~3-8へのファイル1およびファイル2の配布に要する時間は、4T3TT=8Tとなり、サーバ3-1,サーバ3-2がそれぞれ、ファイル1とファイル2とを下位サーバ3に配布する場合に比べ、配布時間を短縮できる。このように、前述の実施形態および第一変形例の効果に加えて、第二変形例においては、枝の本数を増やすことにより、同じ配布時間で、より多くのサーバ3に配布ファイルを配布することが可能となる。これにより、配布時間を短縮することが可能となる。Eその他なお、開示の技術は上述した実施形態に限定されるものではなく、本実施形態の趣旨を逸脱しない範囲で種々変形して実施することができる。上記の実施形態では、CPU負荷及び/又はネットワーク負荷、ならびにネットワーク構成に鑑みて、配布元とするサーバを選択したが、例えば、サーバを他のステータスによって選択してもよい。また、上記の実施形態においては、配布ファイルを、更新ファイルや修正ファイルとして説明したが、例えば、配布ファイルが、マルチメディアファイルなど、他の形式のファイルでもよい。また、上記の実施形態においては、配布構成として、ツリーのような階層構造を定義したが、ファイルのグループの部分集合を、ベン図などによって定義してもよい。また、上記の実施形態においては、マスタサーバ2の配布部13による制御に従い、各サーバ3に、マスタサーバ2または上位のサーバ3からファイルがプッシュされるが、そのファイルの分配の数及び/又はファイルサイズが、例えば、サーバの負荷CPU負荷、ネットワーク負荷などに応じて異なってもよい。また、上記の実施形態においては、マスタサーバや、サーバ、スイッチのIDをこれらのIPアドレスによって管理したが、これに限られず、MACアドレスなど他の識別情報によって管理してもよい。本技術においては、マスタサーバ2のCPUCentralProcessingUnitが、ファイル配布プログラムを実行することにより、サーバ割当部11、配布構成作成部12、配布部13、状態監視データベース14、及び配布ファイルデータベース18として機能するようになっている。また、サーバ3のCPUCentralProcessingUnitが、ファイル配布プログラムを実行することにより、ファイル配布制御部21、ファイル管理部22、及び配布ファイルデータベース23として機能するようになっている。なお、これらのサーバ割当部11、配布構成作成部12、配布部13、状態監視データベース14、配布ファイルデータベース18、ファイル配布制御部21、ファイル管理部22、及び配布ファイルデータベース23としての機能を実現するためのプログラムファイル配布プログラムは、例えばフレキシブルディスク,CDCD-ROM,CD-R,CD-RW等,DVDDVD-ROM,DVD-RAM,DVD-R,DVDR,DVD-RW,DVDRW,HDDVD等,ブルーレイディスク,磁気ディスク,光ディスク,光磁気ディスク等の、コンピュータ読取可能な記録媒体に記録された形態で提供される。そして、コンピュータはその記録媒体からプログラムを読み取って内部記憶装置又は外部記憶装置に転送し格納して用いる。又、そのプログラムを、例えば磁気ディスク,光ディスク,光磁気ディスク等の記憶装置記録媒体に記録しておき、その記憶装置から通信経路を介してコンピュータに提供するようにしてもよい。サーバ割当部11、配布構成作成部12、配布部13、状態監視データベース14、配布ファイルデータベース18、ファイル配布制御部21、ファイル管理部22、及び配布ファイルデータベース23としての機能を実現する際には、内部記憶装置サーバのRAMやROMに格納されたファイル配布プログラムがコンピュータのマイクロプロセッサ本実施形態ではサーバのCPUによって実行される。このとき、記録媒体に記録されたプログラムをコンピュータが読み取って実行するようにしてもよい。なお、本実施形態において、コンピュータとは、ハードウェアとオペレーティングシステムとを含む概念であり、オペレーティングシステムの制御の下で動作するハードウェアを意味している。又、オペレーティングシステムが不要でアプリケーションプログラム単独でハードウェアを動作させるような場合には、そのハードウェア自体がコンピュータに相当する。ハードウェアは、少なくとも、CPU等のマイクロプロセッサと、記録媒体に記録されたコンピュータプログラムを読み取るための手段とをそなえており、本実施形態においては、マスタサーバ2及びサーバ3がコンピュータとしての機能を有しているのである。"