(57)【要約】      （修正有）【課題】複数の装置に対するデータの配布に要する時間を短縮する。【解決手段】本データ配布方法は、複数のデータピースの各々を、コネクションレス型の１対多通信によって複数の送信先装置に対して送信し、複数の送信先装置の各々から受信した、複数のデータピースの各々を取得したか否かを示す情報から、データピースの取得率である第１の取得率を複数のデータピースの各々について算出する。複数のデータピースの各々の第１の取得率が閾値より大きい場合、コネクション型の通信によって未取得のデータピースを他の送信先装置から取得することの指示を、複数の送信先装置に対して送信する処理を含む。【選択図】図１０
2017073089.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
複数のデータピースの各々を、コネクションレス型の１対多通信によって複数の送信先装置に対して送信し、
前記複数の送信先装置の各々から受信した、前記複数のデータピースの各々を取得したか否かを示す情報から、データピースの取得率である第１の取得率を前記複数のデータピースの各々について算出し、
前記複数のデータピースの各々の前記第１の取得率が閾値より大きい場合、コネクション型の通信によって未取得のデータピースを他の送信先装置から取得することの指示を、前記複数の送信先装置に対して送信する、
処理を実行させるデータ配布プログラム。
【請求項２】
前記コンピュータに、
前記複数の送信先装置の各々から受信した、前記複数のデータピースの各々を取得したか否かを示す情報から、送信したデータピースの総数に対する前記複数の送信先装置が取得したデータピースの総数の割合である第２の取得率を算出し、
前記第２の取得率が前記閾値以下である場合、前記複数のデータピースの各々を、前記コネクションレス型の１対多通信によって前記複数の送信先装置に対して送信する、
処理をさらに実行させる請求項１記載のデータ配布プログラム。
【請求項３】
前記コンピュータに、
前記第２の取得率が前記閾値より大きく且つ前記複数のデータピースのうち１以上のデータピースの前記第１の取得率が前記閾値以下である場合、前記第１の取得率が前記閾値以下であるデータピースを、前記コネクションレス型の１対多通信によって前記複数の送信先装置に対して送信する、
処理をさらに実行させる請求項２記載のデータ配布プログラム。
【請求項４】
前記コンピュータに、
算出された前記第２の取得率と、当該第２の取得率の算出より前に、前記コネクションレス型の１対多通信によって前記複数の送信先装置に対して前記複数のデータピースの各々を送信した際に算出した前記第２の取得率とから、前記閾値を算出する、
処理をさらに実行させる請求項２又は３記載のデータ配布プログラム。
【請求項５】
コンピュータが、
複数のデータピースの各々を、コネクションレス型の１対多通信によって複数の送信先装置に対して送信し、
前記複数の送信先装置の各々から受信した、前記複数のデータピースの各々を取得したか否かを示す情報から、データピースの取得率である第１の取得率を前記複数のデータピースの各々について算出し、
前記複数のデータピースの各々の前記第１の取得率が閾値より大きい場合、コネクション型の通信によって未取得のデータピースを他の送信先装置から取得することの指示を、前記複数の送信先装置に対して送信する、
処理を実行するデータ配布方法。
【請求項６】
複数のデータピースの各々を、コネクションレス型の１対多通信によって複数の送信先装置に対して送信する通信部と、
前記複数の送信先装置の各々から受信した、前記複数のデータピースの各々を取得したか否かを示す情報から、データピースの取得率である第１の取得率を前記複数のデータピースの各々について算出する算出部と、
を有し、
前記通信部は、
前記複数のデータピースの各々の前記第１の取得率が閾値より大きい場合、コネクション型の通信によって未取得のデータピースを他の送信先装置から取得することの指示を、前記複数の送信先装置に対して送信する、
情報処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの配布技術に関する。
【背景技術】
【０００２】
同一のデータを複数の装置に配布する技術として、ブロードキャストが知られている。ブロードキャストによれば、同一のネットワークセグメントに属する全装置に対してデータを一度に配布することができるため、データの配布に要する時間を短縮することができる。しかし、ブロードキャスト通信はコネクション型の通信ではないため、データの送達は保証されない。
【０００３】
或る文献は、データの送信に関して以下のような技術を開示する。この技術においては、ネットワークにおける各ノードが、自ノードの性能負荷、相手ノードの性能負荷及び申告パラメータに基づき、ＴＣＰ（Transmission Control Protocol）パスを用いたメッセージ送信と、ＵＤＰ（User Datagram Protocol）パスを用いたメッセージ送信とを切り替える。申告パラメータは、重視する性能（ここでは、即時性又は送達保証性）を指定するためのパラメータである。
【０００４】
但し、この技術を利用した場合、多数のノードに対してデータを配布するようなケースにおいてＴＣＰパスが選択されると、データの配布が完了するまでの時間が長くなる。また、ＴＣＰパスとＵＤＰパスとの切替は性能負荷及び申告パラメータのみに基づいて行われており、その他の観点から切替を行うことには着目されていない。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０００−１８１８２７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
従って、本発明の目的は、１つの側面では、複数の装置に対するデータの配布に要する時間を短縮するための技術を提供することである。
【課題を解決するための手段】
【０００７】
本発明に係るデータ配布方法は、複数のデータピースの各々を、コネクションレス型の１対多通信によって複数の送信先装置に対して送信し、複数の送信先装置の各々から受信した、複数のデータピースの各々を取得したか否かを示す情報から、データピースの取得率である第１の取得率を複数のデータピースの各々について算出し、複数のデータピースの各々の第１の取得率が閾値より大きい場合、コネクション型の通信によって未取得のデータピースを他の送信先装置から取得することの指示を、複数の送信先装置に対して送信する処理を含む。
【発明の効果】
【０００８】
１つの側面では、複数の装置に対するデータの配布に要する時間を短縮できるようになる。
【図面の簡単な説明】
【０００９】
【図１】図１は、第１の実施の形態のシステム概要を示す図である。
【図２】図２は、サーバのハードウエア構成図である。
【図３】図３は、サービスプロセッサの機能ブロック図である。
【図４】図４は、管理サーバの機能ブロック図である。
【図５】図５は、メインの処理フローを示す図である。
【図６】図６は、ファームウエアアップデータの分割について説明するための図である。
【図７】図７は、管理データ格納部に格納される管理データの一例を示す図である。
【図８】図８は、データピース格納部に格納されるデータの一例を示す図である。
【図９】図９は、全体管理データ格納部に格納されるデータの一例を示す図である。
【図１０】図１０は、メインの処理フローを示す図である。
【図１１】図１１は、閾値設定処理の処理フローを示す図である。
【図１２】図１２は、全体取得率格納部に格納されるデータの一例を示す図である。
【図１３】図１３は、部分ブロードキャスト処理の処理フローを示す図である。
【図１４】図１４は、コネクション型受信処理の処理フローを示す図である。
【図１５】図１５は、コネクション型送信処理の処理フローを示す図である。
【図１６】図１６は、システムの動作について説明するための図である。
【図１７】図１７は、システムの動作について説明するための図である。
【図１８】図１８は、システムの動作について説明するための図である。
【図１９】図１９は、システムの動作について説明するための図である。
【図２０】図２０は、システムの動作について説明するための図である。
【図２１】図２１は、システムの動作について説明するための図である。
【図２２】図２２は、システムの動作について説明するための図である。
【図２３】図２３は、システムの動作について説明するための図である。
【図２４】図２４は、データ配布に要する時間の短縮について説明するための図である。
【図２５】図２５は、データ配布に要する時間の短縮について説明するための図である。
【図２６】図２６は、全体取得率と時間との関係について説明するための図である。
【図２７】図２７は、全体取得率と時間との関係について説明するための図である。
【図２８】図２８は、第２の実施の形態におけるコネクション型受信処理の処理フローを示す図である。
【図２９】図２９は、第３の実施の形態におけるコネクション型受信処理の処理フローを示す図である。
【図３０】図３０は、コンピュータの機能ブロック図である。
【発明を実施するための形態】
【００１０】
［実施の形態１］
図１に、第１の実施の形態のシステム概要を示す。スイッチ１ｒ乃至４ｒは例えば物理スイッチであり、スイッチ１ｒにはサーバ１ｓ及び２ｓが接続され、スイッチ２ｒにはサーバ３ｓ及び４ｓが接続され、スイッチ３ｒにはサーバ５ｓ及び６ｓが接続される。図１の例ではスイッチ１ｒ乃至３ｒの各々には２台のサーバが接続されるが、３台以上のサーバが接続されてもよい。サーバ１ｓ乃至６ｓによって、例えば並列計算機システムであるサーバシステム５０が実現される。
【００１１】
スイッチ４ｒは、スイッチ１ｒ乃至３ｒと管理サーバ１ｃ及び２ｃとに接続される。管理サーバ１ｃ及び２ｃは、管理用ＬＡＮ（Local Area Network）を介して各サーバの管理等を実行する。図１の例では管理サーバの数は２であるが、数に限定は無い。なお、サーバシステム５０における各サーバは、管理用ＬＡＮとは別の専用のインターコネクト等によって他のサーバと接続されるが、第１の実施の形態の主要な部分とは関係しないので、図１においては記載が省略されている。
【００１２】
図２に、サーバ１ｓのハードウエア構成図を示す。サーバ１ｓは、サービスプロセッサ１０と、ＩＯ（Input Output）ボード２０と、複数のシステムボード３０とを有する。サービスプロセッサ１０は、ＣＰＵ（Central Processing Unit）１０１と、ＲＡＭ（Random Access Memory）１０２と、フラッシュメモリ１０３及び１０４と、例えばＬＡＮカードであるＬＡＮインタフェース部１０５とを有する。ＩＯボード２０は、ＦＰＧＡ（Field-Programmable Gate Array）２０１と、フラッシュメモリ２０２とを有する。複数のシステムボード３０の各々は、ＣＰＵ３０１乃至３０３を有する。複数のシステムボード３０の各々はＲＡＭ及びその他のハードウエアを有し、ＯＳ（Operating System）を動作させることができる。但し、本実施の形態の主要な部分とは関係が無いので、図２においては記載が省略されている。なお、サーバ２ｓ乃至６ｓのハードウエア構成図はサーバ１ｓのハードウエア構成図と同様である。
【００１３】
フラッシュメモリ１０３及び１０４の各々には、本実施の形態の処理を実行するためのファームウエアが格納されており、冗長化構成によって、動作中のファームウエアに不具合があった場合に対処できるようになっている。上記ファームウエアは、ＣＰＵ１０１によってＲＡＭ１０２に読み出されて実行される。ＬＡＮインタフェース部１０５は管理用ＬＡＮに接続される。
【００１４】
各システムボード３０上で動作するファームウエアはＩＯボード２０におけるフラッシュメモリ２０２に格納されており、ＣＰＵ３０１乃至３０３はＦＰＧＡ２０１を介してフラッシュメモリ２０２からファームウエアを読み出し、システムボード３０上のＲＡＭに展開して実行する。
【００１５】
図３に、サービスプロセッサ１０の機能ブロック図を示す。サービスプロセッサ１０は、通信処理部１１２と、全体管理データ格納部１１３と、管理データ格納部１１４と、データピース格納部１１５とを含む。通信処理部１１２は、フラッシュメモリ１０３及び１０４に格納されたファームウエアがＣＰＵ１０１によって実行されることにより実現され、管理サーバ１ｃ及び２ｃ及び他のサーバとの通信を行う。全体管理データ格納部１１３、管理データ格納部１１４及びデータピース格納部１１５は、例えばＲＡＭ１０２に設けられる。
【００１６】
図４に、管理サーバ１ｃの機能ブロック図を示す。管理サーバ１ｃは、通信処理部１００１と、算出部１００２と、全体管理データ格納部１００３と、全体取得率格納部１００５とを含む。なお、管理サーバ２ｃの機能ブロック図は管理サーバ１ｃの機能ブロック図と同様である。
【００１７】
通信処理部１００１は、サーバ１ｓ乃至６ｓとの通信を実行する。算出部１００２は、全体管理データ格納部１００３に格納されているデータを用いて、全体取得率及び個別取得率を算出する処理及び閾値を設定する処理等を実行し、全体取得率を全体取得率格納部１００５に格納する。
【００１８】
次に、図５乃至図２７を用いて、第１の実施の形態のシステムの動作について説明する。ここでは説明を簡単にするため、管理サーバ１ｃ及び２ｃのうち管理サーバ１ｃが動作するものとする。但し、管理サーバ１ｃ及び２ｃが処理を分担するようにしてもよい。
【００１９】
まず、管理サーバ１ｃの通信処理部１００１は、各サーバのサービスプロセッサ１０におけるフラッシュメモリ２０２に格納されたファームウエアを更新するためのプログラム（以下、ファームウエアアップデータと呼ぶ）を分割する。そして、通信処理部１００１は、分割後の各データピースに識別情報を付加する（図５：ステップＳ１）。なお、ファームウエアアップデータは、予め管理サーバ１ｃ内の記憶装置に保存されているものとする。
【００２０】
図６を用いて、ステップＳ１の処理について説明する。ステップＳ１においては、ファームウエアアップデータが複数のデータピースに分割される。識別情報が含まれるデータピースのサイズは、コネクションレス型の通信（本実施の形態においては、ブロードキャスト通信）の１パケットに１データピースが収まるように、ＭＴＵ（Maximum Transmission Unit）の値によって決定される。ＭＴＵは、イーサネット（登録商標）環境においては１．４キロバイトである。このようにすることで、ブロードキャスト通信における１パケットの喪失を、１データピースの喪失として取り扱うことができる。また、各データピースの先頭に含まれる識別情報によって、サービスプロセッサ１０は、何番目のデータピースを受信したかを知ることが可能になる。
【００２１】
図５の説明に戻り、通信処理部１００１は、データピース数の情報を含む、ブロードキャスト通信の開始通知を、各サーバのサービスプロセッサ１０に送信する（ステップＳ３）。そして、各サーバのサービスプロセッサ１０における通信処理部１１２は、ブロードキャスト通信の開始通知を受信し（ステップＳ５）、ブロードキャスト通信の開始通知に含まれるデータピース数の情報をＲＡＭ１０２に保存する。
【００２２】
一方、管理サーバ１ｃの通信処理部１００１は、１つの未送信のデータピースを、ブロードキャスト通信によって各サーバのサービスプロセッサ１０に送信する（ステップＳ７）。第１の実施の形態においては、識別情報が示す番号が小さいデータピースから順に送信される。そして、各サーバのサービスプロセッサ１０における通信処理部１１２は、１つのデータピースを、管理サーバ１ｃから受信する（ステップＳ９）。但し、ブロードキャスト通信には送達保証が無いため、通信処理部１１２はデータピースを受信できないこともある。
【００２３】
データピースを受信したか否かは、管理データによって管理される。図７に、管理データ格納部１１４に格納される管理データの一例を示す。図７の例では、データピースの識別情報と、データピースを有しているか否かを示す情報とが格納される。なお、開始通知の受信が１回目ではない場合（すなわち、既に１回はブロードキャスト通信が実行された場合）、既に生成された管理データが更新される。
【００２４】
受信したデータピースは、データピース格納部１１５に格納される。図８に、データピース格納部１１５に格納されるデータの一例を示す。図８の例では、データピースの識別情報と、データピースとが格納される。
【００２５】
図５の説明に戻り、管理サーバ１ｃの通信処理部１００１は、未送信のデータピースが有るか判定する（ステップＳ１１）。未送信のデータピースが有る場合（ステップＳ１１：Ｙｅｓルート）、ステップＳ７の処理に戻る。一方、未送信のデータピースが無い場合（ステップＳ１１：Ｎｏルート）、ステップＳ２１の処理に移行する。
【００２６】
一方、各サーバのサービスプロセッサ１０における通信処理部１１２は、開始通知の受信から所定時間が経過したか判定する（ステップＳ１３）。開始通知の受信から所定時間が経過した場合（ステップＳ１３：Ｙｅｓルート）、ステップＳ１９の処理に移行する。一方、開始通知の受信から所定時間が経過していない場合（ステップＳ１３：Ｎｏルート）、通信処理部１１２は、最終のデータピースを受信したか判定する（ステップＳ１５）。最終のデータピースを受信したか否かは、最後に受信したデータピースの識別情報が、ＲＡＭ１０２に格納したデータピース数から１を引いた数と一致するか否かによって判定される。
【００２７】
最終のデータピースを受信していない場合（ステップＳ１５：Ｎｏルート）、ステップＳ９の処理に戻る。一方、最終のデータピースを受信した場合（ステップＳ１５：Ｙｅｓルート）、通信処理部１１２は、管理データ格納部１１４に格納されている管理データを読み出す。そして、通信処理部１１２は、読み出した管理データを管理サーバ１ｃに送信する（ステップＳ１９）。これに応じ、管理サーバ１ｃの通信処理部１００１は、管理データを受信する（ステップＳ２１）。
【００２８】
管理サーバ１ｃの通信処理部１００１は、全サービスプロセッサ１０から管理データを受信したか判定する（ステップＳ２３）。全サービスプロセッサ１０から管理データを受信していない場合（ステップＳ２３：Ｎｏルート）、ステップＳ２１の処理に戻る。一方、全サービスプロセッサ１０から管理データを受信した場合（ステップＳ２３：Ｙｅｓルート）、受信した管理データから、全体管理データを生成又は更新し（ステップＳ２５）、全体管理データ格納部１００３に格納する。処理は端子Ａ及びＢを介して図１０のステップＳ２７の処理に移行する。
【００２９】
図９に、全体管理データ格納部１００３に格納されるデータの一例を示す。図９の例では、サーバＩＤ（IDentifier）と、サーバのＩＰアドレスと、データピースの識別情報と、データピースを有するか否かを示す情報とが格納される。サーバＩＤ及びＩＰアドレスは、ステップＳ１９において送信された管理データを含むパケットに含まれる。なお、開始通知の受信が１回目ではない場合（すなわち、既に１回はブロードキャスト通信が実行された場合）、ステップＳ２５においては既に生成された全体管理データが更新される。
【００３０】
図１０の説明に移行し、管理サーバ１ｃの算出部１００２は、全体管理データ格納部１００３に格納された全体管理データから、全体取得率を算出し（図１０：ステップＳ２７）、全体取得率格納部１００５に格納する。全体取得率は、（全体取得率）＝（Σ各サーバが取得したデータピース数）／（１台のサーバに配布すべきデータピースの数＊サーバ数）＊１００によって算出される。なお、第２の取得率は、全体取得率の一例である。
【００３１】
算出部１００２は、閾値設定処理を実行する（ステップＳ２９）。閾値設定処理については、図１１及び図１２を用いて説明する。
【００３２】
まず、算出部１００２は、初回の閾値設定処理であるか判定する（図１１：ステップＳ５１）。初回の閾値設定処理であるか否かは、全体取得率格納部１００５に格納された全体取得率の登録数（すなわち、ファームウエアアップデータをブロードキャストによって配布した回数）が２未満であるか否かによって判定される。初回の閾値設定処理である場合（ステップＳ５１：Ｙｅｓルート）、算出部１００２は、閾値をデフォルト値に設定する（ステップＳ５３）。そして呼び出し元の処理に戻る。
【００３３】
一方、初回の閾値設定処理ではない場合（ステップＳ５１：Ｎｏルート）、算出部１００２は、全体取得率格納部１００５に格納された全体取得率から、閾値を算出する（ステップＳ５５）。具体的には、全体取得率格納部１００５に格納された全体取得率のうち直前のステップＳ２７において算出された全体取得率以外の全体取得率の平均値が算出される。そして呼び出し元の処理に戻る。
【００３４】
例えば図１２に示すようなデータが全体取得率格納部１００５に格納されているとする。この場合、１回目の閾値はデフォルトの値（図１２の例では５０）であり、２回目の閾値は４３（＝４３／１）であり、３回目の閾値は５１．５（＝（４３＋６０）／２）である。
【００３５】
以上のような処理によって、閾値は実際の全体取得率に応じた適切な値に設定されるようになる。これにより、ブロードキャスト通信からコネクション型の通信への切り替えが行われるタイミングを最適化することができるようになる。
【００３６】
図１０の説明に戻り、算出部１００２は、ステップＳ２７において算出した全体取得率が、ステップＳ２９において設定された閾値以下であるか判定する（ステップＳ３１）。ステップＳ２７において算出した全体取得率が、ステップＳ２９において設定された閾値以下である場合（ステップＳ３１：Ｙｅｓルート）、ブロードキャスト通信を再度実行することが効果的である。よって、処理は端子Ｃを介して図５のステップＳ３の処理に戻る。
【００３７】
一方、ステップＳ２７において算出した全体取得率が、ステップＳ２９において設定された閾値以下ではない場合（ステップＳ３１：Ｎｏルート）、算出部１００２は、全体管理データ格納部１００３に格納された全体管理データから、各データピースの個別取得率を算出する。そして、算出部１００２は、個別取得率が閾値以下であるデータピースが有るか判定する（ステップＳ３３）。個別取得率は、個別取得率＝（データピースを取得したサーバの数）／（サーバ数）＊１００によって算出される。なお、第１の取得率は、個別取得率の一例である。
【００３８】
個別取得率が閾値以下であるデータピースが有る場合（ステップＳ３３：Ｙｅｓルート）、算出部１００２は、部分ブロードキャスト処理を実行する（ステップＳ３５）。部分ブロードキャスト処理については、図１３を用いて説明する。
【００３９】
まず、管理サーバ１ｃの通信処理部１００１は、ブロードキャスト通信の開始通知を、各サーバのサービスプロセッサ１０に送信する（図１３：ステップＳ６１）。そして、各サーバのサービスプロセッサ１０における通信処理部１１２は、ブロードキャスト通信の開始通知を受信する（ステップＳ６３）。ステップＳ６１における開始通知は、個別取得率が閾値以下であるデータピース（以下、対象データピースと呼ぶ）の識別情報を含む。
【００４０】
一方、管理サーバ１ｃの通信処理部１００１は、１つの未送信の対象データピースを、ブロードキャスト通信によって各サーバのサービスプロセッサ１０に送信する（ステップＳ６５）。第１の実施の形態においては、識別情報が示す番号が小さい対象データピースから順に送信される。そして、各サーバのサービスプロセッサ１０における通信処理部１１２は、１つの未送信の対象データピースを、管理サーバ１ｃから受信する（ステップＳ６７）。受信していなかった対象データピースを受信した場合、管理データ格納部１１４において、所有状況の情報が「無」から「有」に変更される。また、受信していなかった対象データピースを受信した場合、受信した対象データピースがデータピース格納部１１５に格納される。
【００４１】
管理サーバ１ｃの通信処理部１００１は、未送信の対象データピースが有るか判定する（ステップＳ６９）。未送信の対象データピースが有る場合（ステップＳ６９：Ｙｅｓルート）、ステップＳ６５の処理に戻る。一方、未送信の対象データピースが無い場合（ステップＳ６９：Ｎｏルート）、ステップＳ７９の処理に移行する。
【００４２】
一方、各サーバのサービスプロセッサ１０における通信処理部１１２は、開始通知の受信から所定時間が経過したか判定する（ステップＳ７１）。開始通知の受信から所定時間が経過した場合（ステップＳ７１：Ｙｅｓルート）、ステップＳ７７の処理に移行する。一方、開始通知の受信から所定時間が経過していない場合（ステップＳ７１：Ｎｏルート）、通信処理部１１２は、最終の対象データピースを受信したか判定する（ステップＳ７３）。最終の対象データピースを受信したか否かは、最後に受信した対象データピースの識別情報が、開始通知に含まれる識別情報が示す番号のうち最も大きいものと一致するか否かによって判定される。
【００４３】
最終の対象データピースを受信していない場合（ステップＳ７３：Ｎｏルート）、ステップＳ６７の処理に戻る。一方、最終のデータピースを受信した場合（ステップＳ７３：Ｙｅｓルート）、通信処理部１１２は、管理データ格納部１１４に格納されている管理データを読み出す。そして、通信処理部１１２は、読み出した管理データを管理サーバ１ｃに送信する（ステップＳ７７）。これに応じ、管理サーバ１ｃの通信処理部１００１は、管理データを受信する（ステップＳ７９）。
【００４４】
管理サーバ１ｃの通信処理部１００１は、全サービスプロセッサ１０から管理データを受信したか判定する（ステップＳ８１）。全サービスプロセッサ１０から管理データを受信していない場合（ステップＳ８１：Ｎｏルート）、ステップＳ７９の処理に戻る。一方、全サービスプロセッサ１０から管理データを受信した場合（ステップＳ８１：Ｙｅｓルート）、受信した管理データによって、全体管理データ格納部１００３に格納された全体管理データを更新する（ステップＳ８３）。そして呼び出し元の処理に戻り、ステップＳ３１の処理に戻る。
【００４５】
以上のように、ブロードキャスト通信を実行すべきデータピースについてのみブロードキャスト通信を実行できるので、無駄な通信負荷を発生させることを抑制できるようになる。
【００４６】
図１０の説明に戻り、個別取得率が閾値以下であるデータピースが無い場合（ステップＳ３３：Ｎｏルート）、算出部１００２は、コネクション型の通信（例えば、ＴＣＰに従った通信）を実行すべきであることを通信処理部１００１に通知する。これに応じ、通信処理部１００１は、全体管理データ格納部１００３から全体管理データを読み出し、全体管理データを含む、コネクション型の通信の実行指示を生成する。そして、通信処理部１００１は、コネクション型の通信の実行指示を各サーバに送信する（ステップＳ３７）。これに応じ、各サーバのサービスプロセッサ１０における通信処理部１１２は、コネクション型の通信の実行指示を受信する（ステップＳ３９）。受信した実行指示に含まれる全体管理データは、全体管理データ格納部１１３に格納される。
【００４７】
そして、通信処理部１１２は、コネクション型受信処理及びコネクション型送信処理を実行する（ステップＳ４１）。これらの処理は、例えば、別スレッドにて並行して実行される。まず、図１４を用いてコネクション型受信処理について説明し、次に図１５を用いてコネクション型送信処理について説明する。
【００４８】
まず、各サーバのサービスプロセッサ１０における通信処理部１１２は、管理データ格納部１１４に格納されている管理データから、未取得のデータピース（すなわち、「無」が設定されているデータピース）を１つ特定する（図１４：ステップＳ９１）。
【００４９】
通信処理部１１２は、ステップＳ９１において特定されたデータピースを有するサービスプロセッサ１０を、全体管理データ格納部１１３に格納された全体管理データから特定する（ステップＳ９３）。
【００５０】
通信処理部１１２は、ステップＳ９１において特定されたデータピースを有するサービスプロセッサ１０のいずれかに対し、ステップＳ９１において特定されたデータピースの識別情報を含む取得要求を送信する（ステップＳ９５）。
【００５１】
その後、通信処理部１１２は、ステップＳ９１において特定されたデータピースを、コネクション型の通信によって受信し、データピース格納部１１５に格納すると共に、管理データ格納部１１４を更新する（ステップＳ９７）。ステップＳ９７においては、ステップＳ９１において特定されたデータピースの所有状況を示すデータが「有」に設定される。
【００５２】
通信処理部１１２は、管理データ格納部１１４に格納された管理データに基づき、未取得のデータピースが有るか判定する（ステップＳ９９）。未取得のデータピースが有る場合（ステップＳ９９：Ｙｅｓルート）、次のデータピースについて処理するため、ステップＳ９１の処理に戻る。一方、未取得のデータピースが無い場合（ステップＳ９９：Ｎｏルート）、通信処理部１１２は、転送完了の通知を管理サーバ１ｃに送信する（ステップＳ１０１）。そして呼び出し元の処理に戻る。
【００５３】
次に、コネクション型送信処理について説明する。まず、各サーバのサービスプロセッサ１０における通信処理部１１２は、取得要求を他のサービスプロセッサ１０から受信したか判定する（図１５：ステップＳ１１１）。取得要求を他のサービスプロセッサ１０から受信していない場合（ステップＳ１１１：Ｎｏルート）、ステップＳ１１７の処理に移行する。
【００５４】
一方、取得要求を他のサービスプロセッサ１０から受信した場合（ステップＳ１１１：Ｙｅｓルート）、通信処理部１１２は、取得要求に含まれるデータピースの識別情報に対応するデータピースを、データピース格納部１１５から読み出す（ステップＳ１１３）。
【００５５】
通信処理部１１２は、ステップＳ１１３において読み出したデータピースを、コネクション型の通信によって、取得要求の送信元のサービスプロセッサ１０に送信する（ステップＳ１１５）。
【００５６】
通信処理部１１２は、転送完了の通知を既に送信したか判断する（ステップＳ１１７）。転送完了の通知を未だ送信していない場合（ステップＳ１１７：Ｎｏルート）、ステップＳ１１１の処理に戻る。一方、ステップＳ１０１において転送完了の通知を送信した場合（ステップＳ１１７：Ｙｅｓルート）、呼び出し元の処理に戻る。
【００５７】
以上のような処理を実行すれば、受信することができなかったデータピースを、他のサービスプロセッサ１０から確実に取得できるようになる。
【００５８】
図１０の説明に戻り、コネクション型受信処理において転送完了の通知が送信されると、管理サーバ１ｃは、転送完了の通知を受信する（ステップＳ４３）。各サーバからの転送完了の通知が揃えば、管理サーバ１ｃはファームウエアアップデータの転送が完了したと判断することができる。この後、各サービスプロセッサ１０はファームウエアの更新を実行する。
【００５９】
次に、図１６乃至図２３を用いて、システムの動作をより具体的に説明する。ここでは、図１６に示すように、サービスプロセッサ（図１６においては、ＳＰと記載されている）１ｐ乃至６ｐが存在し、データピース０乃至３を含むファームウエアアップデータを管理サーバ１ｃから各サービスプロセッサに送信することを考える。
【００６０】
各サービスプロセッサが、図１６に示すようなデータピースを有しているとする。すなわち、サービスプロセッサ１ｐはデータピース０、データピース１、及びデータピース３を有し、サービスプロセッサ２ｐはデータピース１乃至３を有し、サービスプロセッサ３ｐはデータピース０乃至２を有し、サービスプロセッサ４ｐはデータピース０乃至２を有し、サービスプロセッサ５ｐはデータピース０乃至３を有し、サービスプロセッサ６ｐはデータピース０、データピース２及びデータピース３を有する。各サービスプロセッサは、各データピースを有しているか否かを示す管理データを管理サーバ１ｃに送信する。
【００６１】
図１７に示すように、管理サーバ１ｃは、サービスプロセッサ１ｐ乃至６ｐから管理データを受信し、受信した管理データから、全体管理データを生成する。図１７に示した全体管理データが生成された場合、各データピースの個別取得率及び全体取得率は、図１８に示すようになる。すなわち、データピース０の個別取得率は８３％であり、データピース１の個別取得率は８３％であり、データピース２の個別取得率は８３％であり、データピース３の個別取得率は６７％であり、全体取得率は７９％である。閾値が５０（％）である場合、全体取得率は閾値より大きく、且つ、個別取得率が閾値以下であるデータピースは無い。よって、ブロードキャスト通信からコネクション型の通信への切り替えが行われる。従って、図１９に示すように、管理サーバ１ｃは各サービスプロセッサに全体管理データを送信する。
【００６２】
図２０に示すように、各サービスプロセッサは未取得のデータピースが有る場合には他のサービスプロセッサから未取得のデータピースを取得する。具体的には、サービスプロセッサ１ｐはサービスプロセッサ２ｐからデータピース２を取得し、サービスプロセッサ２ｐはサービスプロセッサ１ｐからデータピース０を取得し、サービスプロセッサ３ｐはサービスプロセッサ２ｐからデータピース３を取得し、サービスプロセッサ４ｐはサービスプロセッサ５ｐからデータピース３を取得し、サービスプロセッサ６ｐはサービスプロセッサ５ｐからデータピース１を取得する。
【００６３】
図２１に示すように、未取得のデータピースが無くなった場合、各サービスプロセッサは転送完了の通知を管理サーバ１ｃに送信する。これにより、ファームウエアアップデータの転送が完了したことを管理サーバ１ｃが知ることができるようになる。
【００６４】
なお、データピースの取得状況が図２２に示すような状況であるとする。すなわち、データピース０の個別取得率が５０％であり、データピース１の個別取得率が３３％であり、データピース２の個別取得率が５０％であり、データピース３の個別取得率が３３％であり、全体取得率が４２％であるとする。閾値が５０（％）であるとすると、全体取得率が閾値以下であるので、図２２のケースにおいては全データピースについてブロードキャスト通信を再度実行することになる。
【００６５】
また、データピースの取得状況が図２３に示すような状況であるとする。すなわち、データピース０の個別取得率が８３％であり、データピース１の個別取得率が１７％であり、データピース２の個別取得率が６７％であり、データピース３の個別取得率が１００％であり、全体取得率が６７％であるとする。閾値が５０（％）であるとすると、全体取得率が閾値より大きく且つデータピース１の個別取得率が閾値以下であるので、図２３のケースにおいてはデータピース１についてのみブロードキャスト通信を再度実行することになる。
【００６６】
次に、図２４及び図２５を用いて、配布に要する時間の短縮について説明する。
【００６７】
まず、図２４を用いて、全データピースをコネクション型の通信によって送信するケースを考える。ここでは、ファームウエアアップデータが２３のデータピースに分割され、２３のデータピースをサーバ１ｓ乃至５ｓに対して送信するとする。管理サーバ１ｃから各サーバに対して１データピースを送信するのに要する時間を単位時間とする。なお、図２４に示すように送信がシリアルに行われるのは、各サーバから管理サーバ１ｃへのアクセスが集中すると通信速度が低下するためである。図２４に示すようなシリアライズを行うことで、管理サーバ１ｃへの要求の出力されるタイミングを分散することができる。
【００６８】
コネクション型の通信によってシリアルにデータピースを送信する場合、２３のデータピースを１のサーバに送信するのに要する時間は２３単位時間であり、５サーバへの送信の合計時間は１１５単位時間である（但し、紙面の都合上、ｔ＝１１２からｔ＝１１５までは省略されている）。
【００６９】
図２５に、第１の実施の形態の方法によって送信するケースを考える。本実施の形態の方法によれば、通常の通信（例えばコネクション型の通信）によって開始通知が送信される。次に、ブロードキャスト通信によって各サーバにデータピースが送信される。次に、各サーバから管理サーバ１ｃに対して通常の通信によって管理データが送信される。次に、管理サーバ１ｃから各サーバに対して通常の通信によって全体管理データが送信される。次に、コネクション型の通信によってサーバ間でデータピースが送受信され、データピースの取得が完了すると通常の通信によって転送完了の通知が管理サーバ１ｃに送信される。ここまでに要した時間は、４９単位時間である。
【００７０】
従って、本実施の形態によれば、４９／１１５＊１００≒４２．６（％）の時間でファームウエアアップデータの配布を完了することができる。
【００７１】
次に、図２６及び図２７に、全体取得率と時間との関係のシミュレーション結果を示す。図２６及び図２７において、縦軸は時間を表し、横軸は全体取得率を表す。縦軸の単位は図２４及び図２５における単位時間であり、横軸の単位は％である。サーバの台数は８００であり、データピース数は１００００であるとする。ロス率とは、１回のブロードキャストにおいて失われるデータピースの割合である。
【００７２】
図２６においては、説明を簡単にするため閾値は５０（％）に固定されている。図２６に示すように、コネクション型の通信のみを実行した場合、全体取得率は時間に比例して上昇し、全体取得率が１００％に到達するには約８００００００単位時間を要する。一方、ブロードキャスト通信を実行する場合、全体取得率が閾値を超えるまでにほとんど時間を要しない。そして、全体取得率が閾値を超えると、全体管理データの送信が行われるためその送信に時間が割かれ、その間は全体取得率が上昇しない。全体管理データの送信完了後は、コネクション型の通信によってデータピースが送信されるため、時間に比例して全体取得率が上昇する。なお、この例では送信はシリアルに実行されている。すなわち、複数のサーバがパラレルで送信を実行しているわけではない。そして、データピースのロス率が低いほど、より短時間でファームウエアアップデータの送信が完了する。
【００７３】
これに対し、図２７においては、閾値が８０（％）に固定されている。図２６と比較すると、全体取得率が１００％に達するまでに要する時間が短縮されている。このことから、より多くのデータピースをブロードキャスト通信によって送信した方が、ファームウエアアップデータの送信完了までに要する時間を短縮できることがわかる。
【００７４】
このように、第１の実施の形態によれば、ブロードキャスト通信を利用することでファームウエアアップデータの配布に要する時間を短縮することができるだけでなく、各サービスプロセッサ１０は、ブロードキャスト通信によっては配布できなかったデータピースを確実に取得できるようになる。
【００７５】
［実施の形態２］
次に、第２の実施の形態について説明する。第２の実施の形態においては、コネクション型受信処理が第１の実施の形態のコネクション型受信処理とは異なっており、その他の点については同じである。
【００７６】
図２８を用いて、第２の実施の形態におけるコネクション型受信処理について説明する。まず、各サーバのサービスプロセッサ１０における通信処理部１１２は、管理データ格納部１１４に格納されている管理データから、未取得のデータピース（すなわち、「無」が設定されているデータピース）を１つ特定する（図２８：ステップＳ１２１）。
【００７７】
通信処理部１１２は、ステップＳ１２１において特定されたデータピースを有するサービスプロセッサ１０のうち最も近いサービスプロセッサ１０を、全体管理データ格納部１１３に格納された全体管理データから特定する（ステップＳ１２３）。第２の実施の形態においては、全体管理データ格納部１００３内のデータが、ネットワーク上の位置が近いサーバのデータほど近い行になるように整理されているものとする。従って、ステップＳ１２３においては、特定されたデータピースを有するサービスプロセッサ１０に対応するデータのうち、自サーバのデータに最も近い行にあるデータに対応するサービスプロセッサ１０が特定される。
【００７８】
通信処理部１１２は、ステップＳ１２３において特定されたサービスプロセッサ１０に対し、ステップＳ１２１において特定されたデータピースの識別情報を含む取得要求を送信する（ステップＳ１２５）。
【００７９】
その後、通信処理部１１２は、ステップＳ１２１において特定されたデータピースを、コネクション型の通信によって受信し、データピース格納部１１５に格納すると共に、管理データ格納部１１４を更新する（ステップＳ１２７）。ステップＳ１２７においては、ステップＳ１２１において特定されたデータピースの所有状況を示すデータが「有」に設定される。
【００８０】
通信処理部１１２は、管理データ格納部１１４に格納された管理データに基づき、未取得のデータピースが有るか判定する（ステップＳ１２９）。未取得のデータピースが有る場合（ステップＳ１２９：Ｙｅｓルート）、次のデータピースについて処理するため、ステップＳ１２１の処理に戻る。一方、未取得のデータピースが無い場合（ステップＳ１２９：Ｎｏルート）、通信処理部１１２は、転送完了の通知を管理サーバ１ｃに送信する（ステップＳ１３１）。そして呼び出し元の処理に戻る。
【００８１】
以上のような処理を実行すれば、ネットワークに発生する通信負荷の量を抑制できるようになる。また、各サーバが近隣のサーバから未取得のデータピースを取得するようにすれば、特定のサーバに処理負荷が集中することを防ぐことができるようになる。
【００８２】
［実施の形態３］
次に、第３の実施の形態について説明する。第３の実施の形態においては、コネクション型受信処理が第１及び第２の実施の形態のコネクション型受信処理とは異なっており、その他の点については同じである。
【００８３】
図２９を用いて、第３の実施の形態におけるコネクション型受信処理について説明する。まず、各サーバのサービスプロセッサ１０における通信処理部１１２は、全体管理データ格納部１１３に格納されている全体管理データから、未取得のデータピース（すなわち、「無」が設定されているデータピース）を最も多く有するサービスプロセッサ１０を特定する（図２９：ステップＳ１４１）。なお、未取得のデータピースは、管理データ格納部１１４に格納された管理データによって特定される。
【００８４】
通信処理部１１２は、ステップＳ１４１において特定されたサービスプロセッサ１０に対し、未取得のデータピースのうちそのサービスプロセッサ１０が有するデータピースの識別情報を含む取得要求を送信する（ステップＳ１４３）。
【００８５】
その後、通信処理部１１２は、未取得のデータピースを、コネクション型の通信によって受信し、データピース格納部１１５に格納すると共に、管理データ格納部１１４を更新する（ステップＳ１４５）。ステップＳ１４５においては、受信したデータピースの所有状況を示すデータが「有」に設定される。
【００８６】
通信処理部１１２は、管理データ格納部１１４に格納された管理データに基づき、未取得のデータピースが有るか判定する（ステップＳ１４７）。未取得のデータピースが有る場合（ステップＳ１４７：Ｙｅｓルート）、次のデータピースについて処理するため、ステップＳ１４１の処理に戻る。一方、未取得のデータピースが無い場合（ステップＳ１４７：Ｎｏルート）、通信処理部１１２は、転送完了の通知を管理サーバ１ｃに送信する（ステップＳ１４９）。そして呼び出し元の処理に戻る。
【００８７】
以上のような処理を実行すれば、コネクション型の通信の実行回数を減らし、ひいてはネットワークに発生する通信負荷の量を抑制できるようになる。
【００８８】
以上本発明の一実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、上で説明したサービスプロセッサ１０及び管理サーバ１ｃの機能ブロック構成は実際のプログラムモジュール構成に一致しない場合もある。
【００８９】
また、上で説明した各データ格納部の構成は一例であって、上記のような構成でなければならないわけではない。さらに、処理フローにおいても、処理結果が変わらなければ処理の順番を入れ替えることも可能である。さらに、並列に実行させるようにしても良い。
【００９０】
また、コネクションレス型の１対多通信は、マルチキャストであってもよい。
【００９１】
なお、上で述べた管理サーバ１ｃ及び２ｃは、コンピュータ装置であって、図３０に示すように、メモリ２５０１とＣＰＵ２５０３とハードディスク・ドライブ（ＨＤＤ：Hard Disk Drive）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。オペレーティング・システム（ＯＳ）及び本実施例における処理を実施するためのアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。ＣＰＵ２５０３は、アプリケーション・プログラムの処理内容に応じて表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、所定の動作を行わせる。また、処理途中のデータについては、主としてメモリ２５０１に格納されるが、ＨＤＤ２５０５に格納されるようにしてもよい。本発明の実施例では、上で述べた処理を実施するためのアプリケーション・プログラムはコンピュータ読み取り可能なリムーバブル・ディスク２５１１に格納されて頒布され、ドライブ装置２５１３からＨＤＤ２５０５にインストールされる。インターネットなどのネットワーク及び通信制御部２５１７を経由して、ＨＤＤ２５０５にインストールされる場合もある。このようなコンピュータ装置は、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及びアプリケーション・プログラムなどのプログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００９２】
以上述べた本発明の実施の形態をまとめると、以下のようになる。
【００９３】
本実施の形態の第１の態様に係るデータ配布方法は、（Ａ）複数のデータピースの各々を、コネクションレス型の１対多通信によって複数の送信先装置に対して送信し、（Ｂ）複数の送信先装置の各々から受信した、複数のデータピースの各々を取得したか否かを示す情報から、データピースの取得率である第１の取得率を複数のデータピースの各々について算出し、（Ｃ）複数のデータピースの各々の第１の取得率が閾値より大きい場合、コネクション型の通信によって未取得のデータピースを他の送信先装置から取得することの指示を、複数の送信先装置に対して送信する処理を含む。
【００９４】
このようにすれば、各データピースを確実に取得させつつ、データピースの配布に要する時間を短縮できるようになる。
【００９５】
また、本データ配布方法は、（Ｄ）複数の送信先装置の各々から受信した、複数のデータピースの各々を取得したか否かを示す情報から、送信したデータピースの総数に対する複数の送信先装置が取得したデータピースの総数の割合である第２の取得率を算出し、（Ｅ）第２の取得率が閾値以下である場合、複数のデータピースの各々を、コネクションレス型の１対多通信によって複数の送信先装置に対して送信する処理をさらに含んでもよい。このようにすれば、コネクション型の通信の実行回数を減らすことができるので、配布に要する時間の短縮が可能になる。
【００９６】
また、本データ配布方法は、（Ｆ）第２の取得率が閾値より大きく且つ複数のデータピースのうち１以上のデータピースの第１の取得率が閾値以下である場合、第１の取得率が閾値以下であるデータピースを、コネクションレス型の１対多通信によって複数の送信先装置に対して送信する処理をさらに含んでもよい。このようにすれば、コネクションレス型の１対多通信の実行を必要最小限にすることができるようになる。
【００９７】
また、本データ配布方法は、（Ｇ）算出された第２の取得率と、当該第２の取得率の算出より前に、コネクションレス型の１対多通信によって複数の送信先装置に対して複数のデータピースの各々を送信した際に算出した第２の取得率とから、閾値を算出する処理をさらに含んでもよい。このようにすれば、閾値を、実際の第２の取得率に応じた適切な値にすることができるようになる。
【００９８】
本実施の形態の第２の態様に係る情報処理システムは、（Ｈ）複数の送信先装置と、（Ｉ）複数の送信先装置に対してデータピースを送信する情報処理装置とを有する。そして、情報処理装置は、（ｈ１）複数のデータピースの各々を、コネクションレス型の１対多通信によって複数の送信先装置に対して送信し、（ｈ２）複数の送信先装置の各々から受信した、複数のデータピースの各々を取得したか否かを示す情報から、データピースの取得率である第１の取得率を複数のデータピースの各々について算出し、（ｈ３）複数のデータピースの各々の第１の取得率が閾値より大きい場合、コネクション型の通信によって未取得のデータピースを他の送信先装置から取得することの指示を、複数の送信先装置に対して送信し、複数の送信先装置の各々は、（ｉ１）コネクションレス型の１対多通信によってデータピースを受信した場合、複数のデータピースの各々を取得したか否かを示す情報を生成し、情報処理装置に送信し、（ｉ２）指示を情報処理装置から受信した場合、コネクション型の通信によって未取得のデータピースを他の送信先装置から取得する。
【００９９】
このようにすれば、各データピースを各送信先装置が確実に取得することを保証しつつ、データピースの配布に要する時間を短縮できるようになる。
【０１００】
また、上で述べた指示は、各装置が有するデータピースについての情報を含んでもよい。複数の送信先装置の各々は、（ｉ２１）コネクション型の通信によって未取得のデータピースを取得する処理において、各送信先装置が有するデータピースについての情報に基づき、未取得のデータピースを有する他の送信先装置のうち最も近くに位置する送信先装置から未取得のデータピースを取得してもよい。ネットワークの通信負荷を減らすことができるようになる。また、特定の送信先装置に処理負荷が集中することを防げるようになる。
【０１０１】
また、上で述べた指示は、各装置が有するデータピースについての情報を含み、未取得のデータピースの数が複数であってもよい。そして、複数の送信先装置の各々は、（ｉ２２）コネクション型の通信によって未取得のデータピースを取得する処理において、各装置が有するデータピースについての情報に基づき、未取得のデータピースを有する他の送信先装置のうち最も多くの未取得のデータピースを有する送信先装置から未取得のデータピースを取得してもよい。コネクション型の通信の実行回数を減らし、ネットワークの通信負荷を減らすことができるようになる。
【０１０２】
なお、上記方法による処理をプロセッサに行わせるためのプログラムを作成することができ、当該プログラムは、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等のコンピュータ読み取り可能な記憶媒体又は記憶装置に格納される。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【０１０３】
以上の実施例を含む実施形態に関し、さらに以下の付記を開示する。
【０１０４】
（付記１）
コンピュータに、
複数のデータピースの各々を、コネクションレス型の１対多通信によって複数の送信先装置に対して送信し、
前記複数の送信先装置の各々から受信した、前記複数のデータピースの各々を取得したか否かを示す情報から、データピースの取得率である第１の取得率を前記複数のデータピースの各々について算出し、
前記複数のデータピースの各々の前記第１の取得率が閾値より大きい場合、コネクション型の通信によって未取得のデータピースを他の送信先装置から取得することの指示を、前記複数の送信先装置に対して送信する、
処理を実行させるデータ配布プログラム。
【０１０５】
（付記２）
前記コンピュータに、
前記複数の送信先装置の各々から受信した、前記複数のデータピースの各々を取得したか否かを示す情報から、送信したデータピースの総数に対する前記複数の送信先装置が取得したデータピースの総数の割合である第２の取得率を算出し、
前記第２の取得率が前記閾値以下である場合、前記複数のデータピースの各々を、前記コネクションレス型の１対多通信によって前記複数の送信先装置に対して送信する、
処理をさらに実行させる付記１記載のデータ配布プログラム。
【０１０６】
（付記３）
前記コンピュータに、
前記第２の取得率が前記閾値より大きく且つ前記複数のデータピースのうち１以上のデータピースの前記第１の取得率が前記閾値以下である場合、前記第１の取得率が前記閾値以下であるデータピースを、前記コネクションレス型の１対多通信によって前記複数の送信先装置に対して送信する、
処理をさらに実行させる付記２記載のデータ配布プログラム。
【０１０７】
（付記４）
前記コンピュータに、
算出された前記第２の取得率と、当該第２の取得率の算出より前に、前記コネクションレス型の１対多通信によって前記複数の送信先装置に対して前記複数のデータピースの各々を送信した際に算出した前記第２の取得率とから、前記閾値を算出する、
処理をさらに実行させる付記２又は３記載のデータ配布プログラム。
【０１０８】
（付記５）
コンピュータが、
複数のデータピースの各々を、コネクションレス型の１対多通信によって複数の送信先装置に対して送信し、
前記複数の送信先装置の各々から受信した、前記複数のデータピースの各々を取得したか否かを示す情報から、データピースの取得率である第１の取得率を前記複数のデータピースの各々について算出し、
前記複数のデータピースの各々の前記第１の取得率が閾値より大きい場合、コネクション型の通信によって未取得のデータピースを他の送信先装置から取得することの指示を、前記複数の送信先装置に対して送信する、
処理を実行するデータ配布方法。
【０１０９】
（付記６）
複数のデータピースの各々を、コネクションレス型の１対多通信によって複数の送信先装置に対して送信する通信部と、
前記複数の送信先装置の各々から受信した、前記複数のデータピースの各々を取得したか否かを示す情報から、データピースの取得率である第１の取得率を前記複数のデータピースの各々について算出する算出部と、
を有し、
前記通信部は、
前記複数のデータピースの各々の前記第１の取得率が閾値より大きい場合、コネクション型の通信によって未取得のデータピースを他の送信先装置から取得することの指示を、前記複数の送信先装置に対して送信する、
情報処理装置。
【０１１０】
（付記７）
複数の送信先装置と、
前記複数の送信先装置に対してデータピースを送信する情報処理装置と、
を有し、
前記情報処理装置は、
複数のデータピースの各々を、コネクションレス型の１対多通信によって前記複数の送信先装置に対して送信し、
前記複数の送信先装置の各々から受信した、前記複数のデータピースの各々を取得したか否かを示す情報から、データピースの取得率である第１の取得率を前記複数のデータピースの各々について算出し、
前記複数のデータピースの各々の前記第１の取得率が閾値より大きい場合、コネクション型の通信によって未取得のデータピースを他の送信先装置から取得することの指示を、前記複数の送信先装置に対して送信し、
前記複数の送信先装置の各々は、
前記コネクションレス型の１対多通信によってデータピースを受信した場合、前記複数のデータピースの各々を取得したか否かを示す情報を生成し、前記情報処理装置に送信し、
前記指示を前記情報処理装置から受信した場合、前記コネクション型の通信によって未取得のデータピースを他の送信先装置から取得する、
情報処理システム。
【０１１１】
（付記８）
前記指示は、各送信先装置が有するデータピースについての情報を含み、
前記複数の送信先装置の各々は、前記コネクション型の通信によって未取得のデータピースを取得する処理において、前記各送信先装置が有するデータピースについての情報に基づき、前記未取得のデータピースを有する他の送信先装置のうち最も近くに位置する送信先装置から前記未取得のデータピースを取得する、
付記７記載の情報処理システム。
【０１１２】
（付記９）
前記指示は、各送信先装置が有するデータピースについての情報を含み、
前記未取得のデータピースの数が複数であり、
前記複数の送信先装置の各々は、前記コネクション型の通信によって未取得のデータピースを取得する処理において、前記各送信先装置が有するデータピースについての情報に基づき、前記未取得のデータピースを有する他の送信先装置のうち最も多くの前記未取得のデータピースを有する送信先装置から前記未取得のデータピースを取得する、
付記７記載の情報処理システム。
【符号の説明】
【０１１３】
１ｓ，２ｓ，３ｓ，４ｓ，５ｓ，６ｓ  サーバ    ５０  サーバシステム
１ｒ，２ｒ，３ｒ，４ｒ  スイッチ    １ｃ，２ｃ  管理サーバ
１０  サービスプロセッサ    １０１  ＣＰＵ
１０２  ＲＡＭ  １０３，１０４  フラッシュメモリ
１０５  ＬＡＮインタフェース部    ２０  ＩＯボード
２０１  ＦＰＧＡ    ２０２  フラッシュメモリ
３０  システムボード    ３０１，３０２，３０３  ＣＰＵ
１００１  通信処理部    １００２  算出部
１００３  全体管理データ格納部    １００５  全体取得率格納部
１１２  通信処理部    １１３  全体管理データ格納部
１１４  管理データ格納部    １１５  データピース格納部
【図１】
2017073089.tif 000003
【図２】
2017073089.tif 000004
【図３】
2017073089.tif 000005
【図４】
2017073089.tif 000006
【図５】
2017073089.tif 000007
【図６】
2017073089.tif 000008
【図７】
2017073089.tif 000009
【図８】
2017073089.tif 000010
【図９】
2017073089.tif 000011
【図１０】
2017073089.tif 000012
【図１１】
2017073089.tif 000013
【図１２】
2017073089.tif 000014
【図１３】
2017073089.tif 000015
【図１４】
2017073089.tif 000016
【図１５】
2017073089.tif 000017
【図１６】
2017073089.tif 000018
【図１７】
2017073089.tif 000019
【図１８】
2017073089.tif 000020
【図１９】
2017073089.tif 000021
【図２０】
2017073089.tif 000022
【図２１】
2017073089.tif 000023
【図２２】
2017073089.tif 000024
【図２３】
2017073089.tif 000025
【図２４】
2017073089.tif 000026
【図２５】
2017073089.tif 000027
【図２６】
2017073089.tif 000028
【図２７】
2017073089.tif 000029
【図２８】
2017073089.tif 000030
【図２９】
2017073089.tif 000031
【図３０】
2017073089.tif 000032