(57)【要約】      （修正有）【課題】分散処理時にネットワーク上を流れるデータの量を低減する。【解決手段】分散処理システムは、複数のスレーブノード２０のそれぞれ及び複数のスイッチ３０のそれぞれと通信することで、スレーブノード２０とスイッチ３０との間の接続関係を示す接続情報（構成情報及び経路情報）を取得する取得部と、取得された複数の接続情報に基づいて、複数のスイッチ３０のそれぞれについて、該スイッチ３０に直接接続されている一又は複数のスレーブノード２０で構成されるグループを算出する算出部と、分散処理する複数のデータブロックを、算出された複数のグループのうち一のグループに配置する結果送信部とを備える。【選択図】図１
2010244469.tif 000002
【特許請求の範囲】
【請求項１】
データを処理する複数のコンピュータと、前記コンピュータ間で伝送されるデータを中継する複数の中継装置とを備える分散処理システムであって、
前記複数のコンピュータのそれぞれ、又は前記複数の中継装置のそれぞれと通信することで、前記コンピュータと前記中継装置との間の接続関係を示す接続情報を取得する取得手段と、
前記取得手段により取得された複数の接続情報に基づいて、前記複数の中継装置のそれぞれについて、該中継装置に直接接続されている一又は複数の前記コンピュータで構成されるグループを算出する算出手段と、
分散処理する複数の被分割データを、前記算出手段により算出された複数のグループのうち一のグループに配置する配置手段と、
を備えることを特徴とする分散処理システム。
【請求項２】
前記配置手段が、前記被分割データを最も多く記憶しているグループ内のコンピュータに他の前記複数の被分割データを配置する、
ことを特徴とする請求項１に記載の分散処理システム。
【請求項３】
前記分散処理がマップリデュース（ＭａｐＲｅｄｕｃｅ）のプログラミングモデルにより実行される、
ことを特徴とする請求項１又は２に記載の分散処理システム。
【請求項４】
データを処理する複数のコンピュータと、前記コンピュータ間で伝送されるデータを中継する複数の中継装置とを備える分散処理システムにより実行される分散処理方法であって、
前記複数のコンピュータのそれぞれ、又は前記複数の中継装置のそれぞれと通信することで、前記コンピュータと前記中継装置との間の接続関係を示す接続情報を取得する取得ステップと、
前記取得ステップにおいて取得された複数の接続情報に基づいて、前記複数の中継装置のそれぞれについて、該中継装置に直接接続されている一又は複数の前記コンピュータで構成されるグループを算出する算出ステップと、
分散処理する複数の被分割データを、前記算出ステップにおいて算出された複数のグループのうち一のグループに配置する配置ステップと、
を含むことを特徴とする分散処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数のコンピュータ及び複数の中継装置を備える分散処理システム、並びにそのシステムにより実行される分散処理方法に関する。
【背景技術】
【０００２】
従来から、分散処理システムの処理効率を高めるために様々な技術が開発されている。例えば下記特許文献１には、ソフトウェアの起動状態の変更に要する時間を考慮して、計算処理を割り当てるノードを決定する技術が開示されている。具体的には、この技術は、各ノードから取得した、起動中のソフトウェアを示す環境情報と、処理に必要なソフトウェアを示す環境条件情報とを比較し、新たなソフトウェアの起動が少ないノードを処理の割当先として優先的に選択するものである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−１４０１２０号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
大規模なデータを多数のコンピュータで分散処理する場合には、データをコンピュータ間で移動させるコスト（遅延や通信時間など）の方が演算機能（プロセスなど）を移動させるコストよりも高くなる。例えば、マップリデュース（ＭａｐＲｅｄｕｃｅ）によるソーティング処理では、一般に、処理の中間結果（中間データ）をネットワーク内で移動させる際のオーバヘッドが大きくなってしまう。そのため、データの移動をなるべく抑える必要がある。
【０００５】
本発明は上記課題を解決するためになされたものであり、分散処理時にネットワーク上を流れるデータの量を低減することが可能な分散処理システム及び分散処理方法を提供することを目的とする。
【課題を解決するための手段】
【０００６】
本発明の分散処理システムは、データを処理する複数のコンピュータと、コンピュータ間で伝送されるデータを中継する複数の中継装置とを備える分散処理システムであって、複数のコンピュータのそれぞれ、又は複数の中継装置のそれぞれと通信することで、コンピュータと中継装置との間の接続関係を示す接続情報を取得する取得手段と、取得手段により取得された複数の接続情報に基づいて、複数の中継装置のそれぞれについて、該中継装置に直接接続されている一又は複数のコンピュータで構成されるグループを算出する算出手段と、分散処理する複数の被分割データを、算出手段により算出された複数のグループのうち一のグループに配置する配置手段と、を備えることを特徴とする。
【０００７】
また、本発明の分散処理方法は、データを処理する複数のコンピュータと、コンピュータ間で伝送されるデータを中継する複数の中継装置とを備える分散処理システムにより実行される分散処理方法であって、複数のコンピュータのそれぞれ、又は複数の中継装置のそれぞれと通信することで、コンピュータと中継装置との間の接続関係を示す接続情報を取得する取得ステップと、取得ステップにおいて取得された複数の接続情報に基づいて、複数の中継装置のそれぞれについて、該中継装置に直接接続されている一又は複数のコンピュータで構成されるグループを算出する算出ステップと、分散処理する複数の被分割データを、算出ステップにおいて算出された複数のグループのうち一のグループに配置する配置ステップと、を含むことを特徴とする。
【０００８】
このような分散処理システム及び分散処理方法によれば、システム内の各コンピュータ又は各中継装置と通信することで、コンピュータと中継装置との間の接続関係が取得され、この関係に基づいて、各中継装置にどのコンピュータが直接接続されているかが導出される。そして、処理される複数の被分割データが、一の中継装置に直接つながっている一又は複数のコンピュータに集められる。これにより、データが複数の中継装置を跨いで分散配置されることがなくなるので、分散処理時にネットワーク上を流れるデータの量を低減することができる。
【０００９】
本発明の分散処理システムでは、配置手段が、被分割データを最も多く記憶しているグループ内のコンピュータに他の複数の被分割データを配置することが好ましい。
【００１０】
この場合、被分割データを最も多く記憶しているグループに複数の被分割データが集められるので、一グループ内に他の被分割データを移動する際の通信量や処理量を低減することができる。
【００１１】
本発明の分散処理システムでは、分散処理がマップリデュース（ＭａｐＲｅｄｕｃｅ）のプログラミングモデルにより実行されることが好ましい。
【００１２】
この場合、マップリデュース（ＭａｐＲｅｄｕｃｅ）処理において、分散処理時にネットワーク上を流れるデータの量を低減することができる。
【発明の効果】
【００１３】
このような分散処理システム及び分散処理方法によれば、処理される複数の被分割データが、一の中継装置に直接つながっている一又は複数のコンピュータに集められるので、分散処理時にネットワーク上を流れるデータの量を低減することができる。
【図面の簡単な説明】
【００１４】
【図１】実施形態に係る分散処理システムの全体構成を示す図である。
【図２】図１に示すマスタノードの機能構成を示す図である。
【図３】図１に示すマスタノードのハードウェア構成を示す図である。
【図４】図２に示すグループ情報記憶部が記憶するグループ情報の例を示す図である。
【図５】図１に示すスレーブノードの機能構成を示す図である。
【図６】図１に示す分散処理システムにおけるグループ算出処理を示す図である。
【図７】図１に示す分散処理システムにおける分散処理及びデータ配置処理を示す図である。
【発明を実施するための形態】
【００１５】
以下、添付図面を参照しながら本発明の実施形態を詳細に説明する。なお、図面の説明において同一又は同等の要素には同一の符号を付し、重複する説明を省略する。
【００１６】
まず、図１〜５を用いて、実施形態に係る分散処理システム１の機能及び構成を説明する。
【００１７】
分散処理システム１は、マップリデュース（ＭａｐＲｅｄｕｃｅ）というプログラミングモデルを用いて分散処理を実行するコンピュータシステムである。この分散処理システム１は、図１に示すように、１個のマスタノード１０と、複数のスレーブノード２０と、各ノード間を接続する複数のネットワークスイッチ（以下では単に「スイッチ」という）３０とを備えている。マスタノード１０は分散処理を統括するコンピュータであり、スレーブノード２０はデータを実際に処理するコンピュータである。スイッチ３０は、ノード間で伝送されるデータを中継する装置であり、例えばＬ２スイッチ、Ｌ３スイッチ、ルータなどである。
【００１８】
マスタノード１０、各スレーブノード２０及び各スイッチ３０は、複数あるラックＲのうちのいずれか一つの中に格納されている。図１の例では、分散処理システム１は１個のマスタノード１０、７個のスレーブノード２０、８個のスイッチ３０及び４個のラックＲを含んで構成されている。各ラックＲにはノード（マスタノード１０又はスレーブノード２０）及びスイッチ３０がそれぞれ２個ずつ格納されており、各ラックＲ内では、各ノードと各スイッチ３０とが互いに直接接続されている。例えば、ラックＩＤ「Ｒ１」で特定されるラックＲでは、ノードＩＤが「ａ」、「ｂ」である２個のスレーブノード２０がそれぞれ、スイッチＩＤが「ＳＷ１」，「ＳＷ２」である２個のスイッチ３０に直接接続されている。
【００１９】
次に、マスタノード１０について説明する。図２に示すように、マスタノード１０は機能的構成要素として取得部（取得手段）１１、算出部（算出手段）１２、グループ情報記憶部１３、グループ情報送信部１４、受付部１５、配置情報記憶部１６及び処理制御部１７を備えている。
【００２０】
図３に示すように、マスタノード１０は、オペレーティングシステムやアプリケーションプログラムなどを実行するＣＰＵ１０１と、ＲＯＭ及びＲＡＭで構成される主記憶部１０２と、ハードディスクなどで構成される補助記憶部１０３と、ネットワークカードなどで構成される通信制御部１０４と、キーボードやマウスなどの入力部１０５と、モニタなどの出力部１０６とで構成される。マスタノード１０の各機能は、ＣＰＵ１０１や主記憶部１０２の上に所定のソフトウェアを読み込ませ、ＣＰＵ１０１の制御の下で通信制御部１０４を動作させ、主記憶部１０２や補助記憶部１０３におけるデータの読み出し及び書き込みを行うことで実現される。
【００２１】
取得部１１は、各スレーブノード２０及び各スイッチ３０と通信することで、スレーブノード２０とスイッチ３０との間の接続関係を示す接続情報を取得する部分である。取得部１１はこの取得処理を周期的に、又はユーザ操作を契機に実行する。
【００２２】
取得処理の詳細は次の通りである。まず、取得部１１は各スイッチ３０から構成情報を取得するための要求信号を生成し、各スイッチ３０に送信する。そして、取得部１１はその要求に応じて各スイッチ３０から送られてきた構成情報を取得し、算出部１２に出力する。ここで、構成情報とは、スイッチ３０を識別するスイッチＩＤと、スイッチ３０に直接接続されているノードを識別するノードＩＤのリストとを含む情報である。また、各ＩＤは、識別番号やコンピュータ名、ＩＰアドレスなどにより表現することができる。構成情報の取得方法としては、例えばＳＮＭＰ（Simple Network Management Protocol）のrequest/responseメッセージの利用が可能である。また、構成情報はＭＩＢ（ManagementInformation Base）に含まれる情報であってもよい。
【００２３】
次に、取得部１１は各スレーブノード２０に対して、例えばトレースルート（traceroute）コマンドを発行することで、マスタノード１０からスレーブノード２０までの経路を示す経路情報を取得する。この経路情報には、経路の終点であるスレーブノード２０を識別するノードＩＤと、そのスレーブノード２０に至るまでに経由したスイッチ３０のスイッチＩＤとが含まれる。取得部１１は各スレーブノード２０について取得した経路情報を算出部１２に出力する。
【００２４】
算出部１２は、取得部１１により取得された複数の接続情報（構成情報及び経路情報）に基づいて、各スイッチ３０について、スイッチ３０に直接接続されている一又は複数のスレーブノード２０で構成されるグループを算出する部分である。算出部１２は、一の構成情報に含まれているスイッチＩＤ及び一以上のノードＩＤに基づいて、そのスイッチＩＤで示されるスイッチ３０には、そのノードＩＤのリストで示される一以上のスレーブノード２０が直接接続されていると判定する。また、算出部１２は、一の経路情報に基づいて、ノードＩＤで示されるスレーブノード２０と、そのノード２０から１ホップの距離にあるスイッチ３０とが直接接続されていると判定する。
【００２５】
例えば、スイッチＩＤ「ＳＷ１」と２個のスレーブノードＩＤ「ａ，ｂ」とを含む構成情報が入力された場合には、算出部１２はＩＤ「ＳＷ１」のスイッチ３０には、ＩＤ「ａ」のスレーブノード２０及びＩＤ「ｂ」のスレーブノード２０が直接接続されていると判定する。また、入力された経路情報が｛マスタノード１０→スイッチＩＤ「ＳＷ３」→スイッチＩＤ「ＳＷ５」→ノードＩＤ「ｄ」｝である場合には、算出部１２は、ＩＤ「ＳＷ５」のスイッチ３０にはＩＤ「ｄ」のスレーブノード２０が直接接続されていると判定する。
【００２６】
算出部１２は、すべての接続情報に基づいて上記の処理を実行し、各スイッチ３０にどのスレーブノード２０が直接接続されているかを算出する。このとき算出される各スレーブノード群（グループ）は、一のラックＲに格納されている一以上のスレーブノード２０に対応する。この対応関係を利用して、算出部１２はグループを識別するためのラックＩＤを各グループに割り当てる。そして、算出部１２は算出結果（判定結果）をグループ情報記憶部１３に出力する。
【００２７】
なお、グループに含まれるスレーブノード２０のノードＩＤが同じであれば、同じラックＩＤが割り当てられる。図１の例では、グループとラックＲとが完全に対応しているが、あるラックＲ内のスイッチ３０に、そのラックＲ内のスレーブノード２０と、別のラックＲ内のスレーブノード２０とが直接接続される場合もあり得る。その場合には、互いに異なるラックＲに収容されているスレーブノード２０が一つのグループにまとめられる。
【００２８】
グループ情報記憶部１３は、算出部１２により算出された複数のグループに関するグループ情報を記憶する部分である。グループ情報は、スイッチＩＤ、ノードＩＤ及びラックＩＤが互いに関連付けられた情報である。分散処理システム１が図１に示す構成である場合には、グループ情報記憶部１３は図４に示すグループ情報を記憶する。この情報から、例えばラックＩＤ「Ｒ１」のラックＲ内では、ノードＩＤが「ａ」，「ｂ」である２個のスレーブノード２０が、スイッチＩＤが「ＳＷ１」であるスイッチ３０に直接接続されていることなどを知ることができる。
【００２９】
グループ情報送信部１４は、算出部１２により算出されたグループ情報をスレーブノード２０に送信する部分である。グループ情報記憶部１３にグループ情報が記憶されると、グループ情報送信部１４はグループ情報記憶部１３からその情報を読み出して各スレーブノードに送信する。
【００３０】
受付部１５は、分散処理プログラムを識別するアプリケーション情報と、そのアプリケーションにより処理されるデータ全体を識別するデータ情報とを受け付ける部分である。これらの情報は、例えばユーザ操作により入力されたり、他のコンピュータシステム（図示せず）から入力されたりする。ここで、アプリケーション情報は、例えばアプリケーションＩＤやアプリケーション名である。また、データ情報は、例えばディレクトリ名とファイル名とで構成されるファイルパスである。受付部１５は、受け付けたこれらの情報を処理制御部１７に出力する。
【００３１】
配置情報記憶部１６は、各スレーブノード２０にどの被分割データが配置されているかを示す配置情報を記憶する部分である。配置情報は、分散処理するデータを分割することでできたデータブロック（被分割データ）を識別するキーと、そのデータブロックを保持するスレーブノード２０のノードＩＤとが互いに関連付けられて成る情報である。所定のデータが初めて分散処理システム１内に分散配置されると、データブロックを記憶した各スレーブノード２０は配置情報をマスタノード１０に送信する。配置情報記憶部１６はこれらの配置情報を受信して記憶する。すなわち、配置情報記憶部１６は分散処理前に配置情報を予め記憶している。
【００３２】
処理制御部１７は、分散処理を実行する複数のスレーブノード２０のうちの一つをリデューサー（Ｒｅｄｕｃｅｒ）として決定し、そのＲｅｄｕｃｅｒの識別情報を各スレーブノード２０に送信する部分である。まず、処理制御部１７は入力されたデータ情報に対応する複数の配置情報を配置情報記憶部１６から読み出し、これらの配置情報に基づいて、Ｒｅｄｕｃｅｒとなる一のスレーブノード２０を選択する。Ｒｅｄｕｃｅｒの選択方法は一つに限定されるものではないが、処理制御部１７は記憶しているデータブロックの個数が最も多いグループから一つのスレーブノード２０を選択するのが好ましい。処理制御部１７は、入力されたアプリケーション情報と、選択されたスレーブノード２０のノードＩＤ（以下では「Ｒｅｄｕｃｅｒ情報」という）とをすべてのスレーブノード２０に送信する。
【００３３】
次に、スレーブノード２０について説明する。図５に示すように、スレーブノード２０は機能的構成要素としてグループ情報受信部２１、グループ情報記憶部２２、処理部（配置手段）２３及び結果送信部（配置手段）２４を備えている。スレーブノード２０のハードウェア構成は図３に示すものと同様であり、スレーブノード２０の各機能がハードウェア上でどのように実現されるかも、マスタノード１０と同様である。
【００３４】
グループ情報受信部２１は、マスタノード１０から送信されたグループ情報を受信する部分である。グループ情報受信部２１は受信したグループ情報をグループ情報記憶部２２に出力する。
【００３５】
グループ情報記憶部２２は、グループ情報受信部２１から入力されたグループ情報を記憶する部分である。
【００３６】
処理部２３は、マスタノード１０から送られてきた情報に基づいて、被分割データに対する演算を実行する部分である。
【００３７】
マスタノード１０の処理制御部１７からアプリケーション情報及びＲｅｄｕｃｅｒ情報を受信すると、処理部２３はまず、そのアプリケーション情報と予め記憶しているデータブロックとに基づいて、自ノード内での処理が必要か否かを判定する。このとき、処理不要と判定した場合には、処理部２３は他のノードからの要求があるまで待機する。一方、処理が必要と判定した場合には、処理部２３はアプリケーション情報で示されるアプリケーションプログラムを実行してデータブロックに対する所定の演算（Ｍａｐ（マップ）処理）を実行する。
【００３８】
処理部２３は、データブロックをＭａｐ処理して、演算結果データを生成する。そして、当該演算結果データの一部ごとにＲｅｄｕｃｅ処理を行う。その際、処理部２３は、Ｒｅｄｕｃｅｒ情報に対応するグループ情報をグループ情報記憶部２２から読み出し、当該Ｒｅｄｕｃｅｒと同じグループ内に存在するスレーブノード２０を選択する。なお、このときの選択方法は限定されない。そして、処理部２３は、演算結果データの一部及び選択したスレーブノード２０のノードＩＤを結果送信部２４に出力する。処理部２３は、このような選択及び出力処理を、演算結果データに対する処理がすべて終了するまで繰り返し実行する。なお、出力される演算結果データは、更なる処理が必要なデータブロック（被分割データ）であるといえる。
【００３９】
結果送信部２４は、処理部２３により処理された演算結果データを他のスレーブノード２０に送信する部分である。処理部２３から演算結果データ及びノードＩＤが入力されると、そのＩＤで示されるスレーブノード２０に演算結果データを送信する。
【００４０】
各スレーブノード２０の処理部２３及び結果送信部２４がこのような処理を実行することで、Ｍａｐ処理された複数のデータブロックは一のラックＲ内のいずれかのスレーブノード２０に配置され、その後は、従来のＭａｐＲｅｄｕｃｅプログラミングモデルによりＲｅｄｕｃｅ（リデュース）処理が実行される。すなわち、処理部２３及び結果送信部２４は配置手段として機能する。
【００４１】
次に、図６，７を用いて、図１に示す分散処理システム１の動作を説明するとともに本実施形態に係る分散処理方法について説明する。
【００４２】
まず、図６を用いて、グループ情報の算出手順を説明する。マスタノード１０において、取得部１１が各スイッチ３０に対して構成情報を要求し、その要求に応じて送信されてきた構成情報を取得する（ステップＳ１１、取得ステップ）。また、取得部１１は各スレーブノード２０と通信することで経路情報を取得する（ステップＳ１２、取得ステップ）。続いて、算出部１２がこれらの構成情報及び経路情報に基づいて、各スイッチ３０にどのスレーブノード２０が直接接続されているかを算出する（ステップＳ１３、算出ステップ）。この算出結果は、グループ情報としてグループ情報記憶部１３に記憶されると共に（ステップＳ１４）、グループ情報送信部１４により各スレーブノード２０に送信される（ステップＳ１５）。
【００４３】
各スレーブノード２０では、グループ情報受信部２１がそのグループ情報を受信し、グループ情報記憶部２２がその情報を記憶する（ステップＳ１６）。これにより、マスタノード１０と各スレーブノード２０との間でグループ情報の同期がとれる。
【００４４】
次に、図７を用いて、データブロックを一のラックＲ内に集める手順を説明する。マスタノード１０において、受付部１５がアプリケーション情報及びデータ情報を受け付けると（ステップＳ２１）、処理制御部１７がそのデータ情報に対応する配置情報を配置情報記憶部１６から読み出し、その配置情報に基づいて一のスレーブノード２０をＲｅｄｕｃｅｒとして選択する（ステップＳ２２）。続いて、処理制御部１７はアプリケーション情報及びＲｅｄｕｃｅｒ情報をすべてのスレーブノード２０に送信する（ステップＳ２３）。
【００４５】
各スレーブノード２０では、処理部２３がそのアプリケーション情報と予め記憶しているデータブロックとに基づいて処理の要否を判定し、処理が必要である場合には、まずデータブロックに対してＭａｐ処理を実行する（ステップＳ２４）。続いて、処理部２３は、演算結果データを一部ずつ送信するために、Ｒｅｄｕｃｅｒ情報に対応するグループ情報をグループ情報記憶部２２から読み出し（ステップＳ２５）、Ｒｅｄｕｃｅｒと同じグループ内に存在する一のスレーブノード２０を選択する（ステップＳ２６、配置ステップ）。続いて、結果送信部２４がそのスレーブノード２０に演算結果データの一部を送信する（ステップＳ２７、配置ステップ）。上記ステップＳ２５〜Ｓ２７の処理は、演算結果データに対する処理がすべて終了するまで繰り返し実行される。
【００４６】
各スレーブノード２０の処理部２３及び結果送信部２４が上述した処理を実行することで、Ｍａｐ処理された複数のデータブロックは一のグループ内に集められ、その後は、そのグループ内のスレーブノード２０においてＲｅｄｕｃｅ処理が実行される（ステップＳ２８）。なお、図７では「選択されたスレーブノード」を一つしか示していないが、実際にはそのようなスレーブノード２０は複数存在する。
【００４７】
以上説明したように、本実施形態によれば、分散処理システム１内の各スレーブノード２０及びスイッチ３０と通信することで、スレーブノード２０とスイッチ３０との間の接続関係が取得され、この関係に基づいて、各スイッチ３０にどのスレーブノード２０が直接接続されているかが導出される。そして、処理される複数のデータブロックが、一のスイッチ３０に直接つながっている一又は複数のスレーブノード２０に配置される。これにより、データが複数のスイッチ３０を跨いで分散配置されることがなくなるので、分散処理時にネットワーク上を流れるデータの量を低減でき、ひいては、分散処理の速度を向上させることができる。
【００４８】
また、本実施形態によれば、構成情報及び経路情報が自動的に取得され、これらの情報に基づいて生成されたグループ情報が各ノードに記憶されるので、ネットワーク変更に伴うメンテナンスのコストを大幅に低減することがきる。
【００４９】
また、データブロックを最も多く記憶しているグループに他の複数のデータブロックを配置することで、他のラックＲにある残りのデータブロックを一のグループに移動する際の通信量や処理量を低減することができる。
【００５０】
以上、本発明をその実施形態に基づいて詳細に説明した。しかし、本発明は上記実施形態に限定されるものではない。本発明は、その要旨を逸脱しない範囲で以下のような様々な変形が可能である。
【００５１】
上記実施形態では、取得部１１が構成情報及び経路情報を取得したが、取得手段はどちらか一方の情報のみを取得してもよい。
【００５２】
本発明は、ＭａｐＲｅｄｕｃｅ以外の手法により分散処理を実行する場合にも適用し得る。
【符号の説明】
【００５３】
１…分散処理システム、１０…マスタノード、１１…取得部（取得手段）、１２…算出部（算出手段）、１３…グループ情報記憶部、１４…グループ情報送信部、１５…受付部、１６…配置情報記憶部、１７…処理制御部、２０…スレーブノード（コンピュータ）、２１…グループ情報受信部、２２…グループ情報記憶部、２３…処理部（配置手段）、２４…結果送信部（配置手段）、３０…スイッチ（中継装置）。
【図１】
2010244469.tif 000003
【図２】
2010244469.tif 000004
【図３】
2010244469.tif 000005
【図４】
2010244469.tif 000006
【図５】
2010244469.tif 000007
【図６】
2010244469.tif 000008
【図７】
2010244469.tif 000009