(57)【要約】【課題】多段処理に掛かる時間を低減する。【解決手段】分散処理システムは、クラスタ化されたサーバ群であるクラスタシステムを複数備え、クラスタシステムを多段に構成して、外部から受信したリクエスト情報の処理を実行する。その分散処理システムにおいて、サーバ１は、リクエスト情報に含まれるキー情報と当該キー情報を含むリクエスト情報の振り分け先のサーバとを関連付けた情報をクラスタシステム全てについて格納した振り分け情報１２１を記憶している記憶部１２と、リクエスト情報を受信したとき、振り分け情報１２１を参照して、当該リクエスト情報に含まれるキー情報に関連付けられた次段のクラスタシステムのサーバを決定する振り分け処理部１１１と、を備える。【選択図】図２
2015162061.tif 000002
【特許請求の範囲】
【請求項１】
クラスタ化されたサーバ群であるクラスタシステムを複数備え、前記クラスタシステムを多段に構成して、外部から受信したリクエスト情報の処理を実行する分散処理システムであって、
前記サーバは、
前記リクエスト情報に含まれるキー情報と当該キー情報を含むリクエスト情報の振り分け先のサーバとを関連付けた情報を前記クラスタシステム全てについて格納した振り分け情報を記憶している記憶部と、
前記リクエスト情報を受信したとき、前記振り分け情報を参照して、当該リクエスト情報に含まれる前記キー情報に関連付けられた次段のクラスタシステムのサーバを決定する振り分け処理部と、
を備えることを特徴とする分散処理システム。
【請求項２】
前記クラスタシステムは、前記リクエスト情報を当該クラスタシステム内のサーバに振り分けるロードバランサを備え、
前記サーバが、前記振り分け情報を変更する振り分け情報変更部を備え、
前記クラスタシステムの中の第１のクラスタシステムを更改する場合、
前記振り分け情報変更部が、前記第１のクラスタシステムの更改前に、前記振り分け情報内で前記第１のクラスタシステム以外のクラスタシステム中の前記サーバを振り分け先とする情報を、前記第１のクラスタシステムのロードバランサを振り分け先とする情報に変更する
ことを特徴とすること請求項１に記載の分散処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、クラスタ化されたサーバ群であるクラスタシステムを多段に組み合わせて処理を行う分散処理システムに関する。
【背景技術】
【０００２】
近年、サーバの障害に対する耐性の向上やスケーラビリティを容易に実現することを目的として、複数のサーバを論理的に連結させて、あたかも１台のサーバのように見せる分散処理システムの検討が進められている。
【０００３】
その分散処理システムの中には、非特許文献１に記載されているように、１つの処理を複数のプロセスに分割し、プロセスごとに１つのクラスタシステムにその処理を担当させて、１つの処理を複数のクラスタシステムで多段に実行させる多段処理が開示されている（図１参照）。
【先行技術文献】
【非特許文献】
【０００４】
【非特許文献１】近藤悟、外１名、「クラスタ間におけるキャッシュデータの排他制御に関する一検討」、電子情報通信学会技術研究報告、電子情報通信学会、2012年9月、vol.112、No.208、NS2012-53、p.13-18
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、多段処理を実行する分散処理システムは、各段の処理を順々に進めていき、最終段において処理された最終結果を応答情報として返すため、段数が深くなるに従って応答時間が長くなるという問題がある。
【０００６】
例えば、分散処理システムでは、クライアント側へ影響を与えることなく負荷分散を実現するために、ラウンドロビン等の単純な振り分けアルゴリズムを用いたロードバランサを、サーバ群の前段に配置してクラスタシステムを構成する方法が一般的に用いられている。
【０００７】
そのため、ロードバランサをサーバ群の前段に配置してクラスタシステムを構成した場合、ユーザの操作するユーザ端末から送信されたパケット（リクエスト情報）は、第１段（最初）のクラスタシステムのロードバランサを経由して、一旦第１段のクラスタシステム内のいずれかのサーバに転送される。そして、当該パケットを転送されたサーバが、分散データベース等で用いられているコンシステントハッシング等の分散アルゴリズムによって、改めて第１段のクラスタシステム内の当該パケットの処理先のサーバを決定する処理（振り分け処理）を実行することになる。そして、第１段のクラスタシステム内の処理先のサーバがリクエストに対応する処理を実行する。処理先のサーバは、自身の処理が終了したとき、次の第２段のクラスタシステムに備えられているロードバランサへ処理結果を転送する。
【０００８】
このようにして、第２段のロードバランサ、第２段のクラスタシステム内の振り分け処理およびリクエスト情報を処理するリクエスト処理、・・、第ｎ段のロードバランサ、第ｎ段のクラスタシステム内の振り分け処理およびリクエスト処理が実行される。そして、第ｎ段におけるリクエスト処理の結果が、応答情報として、第ｎ段のクラスタシステムから逆に、第ｎ−１段のクラスタシステム、・・、第２段のクラスタシステム、第１段のクラスタシステムを経由してクライアント端末へ返信される。
そのため、段数が深くなるに従って応答時間が長くなる。
【０００９】
そこで、本発明は、多段処理に掛かる時間を低減する技術を提供することを課題とする。
【課題を解決するための手段】
【００１０】
本発明の分散処理システムは、クラスタ化されたサーバ群であるクラスタシステムを複数備え、前記クラスタシステムを多段に構成して、外部から受信したリクエスト情報の処理を実行する分散処理システムであって、前記サーバが、前記リクエスト情報に含まれるキー情報と当該キー情報を含むリクエスト情報の振り分け先のサーバとを関連付けた情報を前記クラスタシステム全てについて格納した振り分け情報を記憶している記憶部と、前記リクエスト情報を受信したとき、前記振り分け情報を参照して、当該リクエスト情報に含まれる前記キー情報に関連付けられた次段のクラスタシステムのサーバを決定する振り分け処理部と、を備えることを特徴とする。
【００１１】
このような構成によれば、分散処理システムは、クラスタシステム間の情報の送受信を、直接サーバ同士で行うことができる。つまり、分散処理システムは、ロードバランサを常に経由した場合に比べて、サーバを経由するホップ数を低減することができる。したがって、分散処理システムは、多段処理に掛かる時間を低減することができる。
【００１２】
また、前記分散処理システム中の前記クラスタシステムは、前記リクエスト情報を当該クラスタシステム内のサーバに振り分けるロードバランサを備え、前記サーバが、前記振り分け情報を変更する振り分け情報変更部を備え、前記クラスタシステムの中の第１のクラスタシステムを更改する場合、前記振り分け情報変更部が、前記第１のクラスタシステムの更改前に、前記振り分け情報内で前記第１のクラスタシステム以外のクラスタシステム中の前記サーバを振り分け先とする情報を、前記第１のクラスタシステムのロードバランサを振り分け先とする情報に変更することを特徴とする。
【００１３】
このような構成によれば、分散処理システムは、クラスタシステムを更改する場合、振り分け先をロードバランサに変更することができる。このことにより、１つのクラスタシステムをまるごと更改する場合に、ロードバランサを単一点として瞬時に切り替えることができる。なお、瞬時に切り替えることができる理由は、各サーバが全てのクラスタシステムの振り分け先をロードバランサに指定することができるためである。このように、分散処理システムは、全てのクラスタシステムの振り分け先を変更できるので、前記した多段処理に掛かる時間を低減することができるとともに、クラスタシステムの更改を容易に行うことができる。
【発明の効果】
【００１４】
本発明によれば、多段処理に掛かる時間を低減することができる。
【図面の簡単な説明】
【００１５】
【図１】分散処理システムの構成例を示す図である。
【図２】サーバの機能例を示す図である。
【図３】振り分け情報の一例を示す図である。
【図４】分散処理システムの処理例を示す図である。
【図５Ａ】クラスタシステム更改前からクラスタシステムのスワップまでの処理例を示す図である。
【図５Ｂ】クラスタシステムのスワップ後の処理例を示す図である。
【図６】クラスタシステム更改時の振り分け情報の一例を示す図である。
【図７】比較例としてロードバランサを常に経由する処理例を示す図である。
【発明を実施するための形態】
【００１６】
本発明を実施するための形態（以降、「本実施形態」と称す。）について、適宜図面を参照しながら詳細に説明する。
【００１７】
（分散処理システム）
はじめに、分散処理システム６の構成例について、図１を用いて説明する。
分散処理システム６は、図１では、７台のサーバ１ａ，１ｂ，１ｃ，１ｄ，１ｅ，１ｆ，１ｇと、３台のロードバランサ２ａ，２ｂ，２ｃとを備えている。なお、サーバの台数およびロードバランサの台数は、図１に示した数に限られなくともよい。ただし、分散処理システム６は、外部からのリクエスト情報を受け付けるために、少なくとも１台のロードバランサを備えている必要がある。また、以降の説明で、サーバを特に区別しない場合には符号１を用いることとする。また、ロードバランサを特に区別しない場合には符号２を用いることとする。
【００１８】
サーバ１間を結ぶ実線およびサーバ１とロードバランサ２との間を結ぶ実線は、通信可能になっていることを表している。
図１では、サーバ１ａ，１ｂ，１ｃは、クラスタ化（クラスタリング）されてクラスタシステム３ａを構成している。なお、クラスタシステムは、サーバ上のプロセスが連携して構築されるものであって、１台のサーバ１上に複数のプロセスが動作する場合も許すものとする。例えば、サーバ１ｄ，１ｅの第１のプロセスは、クラスタ化されてクラスタシステム３ｂを構成している。また、サーバ１ｅの第２のプロセス，１ｆ，１ｇは、クラスタ化されてクラスタシステム３ｃを構成している。以降の説明では、クラスタシステムを特に区別しない場合には符号３を用いることとする。
なお、サーバ１ｅの第１のプロセスおよび第２のプロセスは、例えば、仮想マシン（ＶＭ；Virtual Machine）等によって実現することができる。
【００１９】
クラスタシステム３ａには、ロードバランサ２ａが配置されている。また、クラスタシステム３ｂには、ロードバランサ２ｂを備えることができる。また、クラスタシステム３ｃには、ロードバランサ２ｃを備えることができる。ロードバランサ２は、受信したパケットを、ラウンドロビン等の振り分けアルゴリズムに基づいてサーバ１に振り分ける機能を有し、クラスタシステム３内のサーバ１の負荷分散を実現する。
【００２０】
本実施形態では、分散処理システム６は、ユーザによって操作されるユーザ端末４からデータ処理（例えば、格納、参照、更新）等のリクエスト情報（パケット）を受信した場合、第１段のクラスタシステム３ａのサーバ１でリクエスト処理を実行する。次に、分散処理システム６は、第１段の処理中に、第２段のクラスタシステム３ｂに対してリクエスト情報を発行し処理結果の応答を待つ。さらに、分散処理システム６は、第２段の処理結果を第３段のクラスタシステム３ｃに引き継いでリクエスト処理を実行するものとする。この処理の流れは一例であり、第１段の処理中に、クラスタシステム３ｃにリスエスト情報を発行しても構わない。
【００２１】
サーバ１は、リクエスト情報に対する処理を実行し、その過程で次段のクラスタシステム３の振り分け先のサーバ１を決定し、新たなリクエスト情報を当該決定したサーバ１へ送信し応答を待つ機能を有する。また、サーバ１は、最終段のクラスタシステムに配備されている場合には、リクエスト処理を実行した後、その処理結果を応答情報として返信する機能を有する。なお、サーバ１の機能の詳細については後記する。
【００２２】
ロードバランサ２は、リクエスト情報を受信したとき、ラウンドロビン等の単純な振り分けアルゴリズムに基づいて、当該リクエスト情報を、自身の配置されているクラスタシステム３内のサーバ１に振り分ける処理を実行する。ただし、リクエスト情報は、必ずしも常にロードバランサ２を経由する必要はなく、直接サーバ１によって受信されても構わない。
【００２３】
ユーザ端末４は、例えばパソコンであって、ユーザによって操作される。ユーザ端末４は、ユーザの操作に基づいて、リクエスト情報を分散処理システム６に送信し、そのリクエスト情報に対応する応答情報を受信する機能を有する。
【００２４】
管理者端末５は、例えばコンピュータであって、分散処理システム６を保守する際に用いられる。例えば、管理者端末５は、リクエスト情報の処理を担当する振り分け先のサーバ１を決定する際に参照される振り分け情報１２１（後記）の設定や変更のために用いられる。
【００２５】
（サーバ）
次に、サーバ１の機能例について、図２を用いて説明する。
サーバ１は、処理部１１、記憶部１２および通信部１３を備える。
記憶部１２は、メモリ、ハードディスク、ＳＳＤ（Solid State Drive）等の記録装置、またはＩＣ（Integrated Circuit）カード、ＳＤカード、ＤＶＤ（Digital Versatile Disc）等の記録媒体である。記憶部１２は、振り分け情報１２１を記憶している。
【００２６】
振り分け情報１２１は、リクエスト情報に含まれるキー情報と当該キー情報を含むリクエスト情報の振り分け先のサーバ１とを関連付けた情報であり、その情報をクラスタシステム３全てについて格納している。キー情報は、例えば、ＵＲＬ（Uniform Resource Locator）やＩＰアドレス等である。１台のサーバ１に複数のプロセスが動作している場合、振り分け情報１２１には、全てのクラスタシステム３のサーバ１で起動されているプロセスとキー情報との関係が記憶されている。
【００２７】
振り分け情報１２１の一例について、図３を用いて説明する。
図３では、振り分け情報１２１を、コンシステントハッシングのハッシュ空間で表現している。図３に示すように、クラスタシステム３ａについては、キー情報のハッシュ値に対応してサーバ１ａ〜１ｃそれぞれの担当領域が表されている。また、クラスタシステム３ｂについては、キー情報のハッシュ値に対応してサーバ１ｄおよびサーバ１ｅの第１のプロセスそれぞれの担当領域が示されている。また、クラスタシステム３ｃについては、キー情報のハッシュ値に対応してサーバ１ｅの第２のプロセスおよびサーバ１ｆ，１ｇそれぞれの担当領域が示されている。
【００２８】
仮に、振り分け情報１２１において、ハッシュ空間の担当領域が示されていないサーバ１の場合には、そのサーバ１はリクエスト処理を実行することがないので、分散処理システム６内で動作するサーバ１の台数を限定することが可能になる。具体的には、サーバ１ａは、クラスタシステム３ａにしか担当領域を有していないので、クラスタシステム３ａのリクエスト処理だけを担当し、クラスタシステム３ｂ，３ｃのリクエスト処理を実行しないことが分かる。図３に示した例のように、サーバ１が、クラスタシステム３ごとに特定の１種類、またはサーバ１ｅのように少数の種類のプロセスだけを実行することになる場合には、その特定の種類のプロセスだけでメモリ領域を独占できる。そのため、サーバ１の台数を最も並列効果が得られる台数に調整することもできる。
【００２９】
なお、振り分け情報１２１は、図３に示すようなコンシステントハッシングのハッシュ空間で表現されることに限られることはなく、リレーショナルデータベースやＤＨＴ（Distributed Hash Table）等による振り分け方法で表されても構わない。また、振り分け情報１２１は、キー情報に対応する振り分け先のサーバ１を決定する所定の演算式を記憶しており、キー情報を取得する度に、振り分け処理部１１１（後記）が当該所定の演算式を演算して、振り分け先を決定するようにしても構わない。
【００３０】
図２に戻って、処理部１１は、図示しないＣＰＵ（Central Processing Unit）およびメインメモリによって構成され、記憶部１２に記憶されているアプリケーションプログラムをメインメモリに展開して、振り分け処理部１１１、リクエスト処理部１１２および振り分け情報変更部１１３を具現化している。
【００３１】
振り分け処理部１１１は、リクエスト情報を受信したとき、振り分け情報１２１を参照して、リクエスト情報に含まれるキー情報に関連付けられた振り分け先のサーバ１に、当該リクエスト情報を送信する機能を有する。また、振り分け処理部１１１は、リクエスト処理部１１２（後記）によってリクエスト処理の処理中にも呼び出すことができ、、振り分け情報１２１を参照して、新たなキー情報に関連付けられた次段の振り分け先のサーバ１を決定し、その決定した次段のサーバ１に当該処理結果を送信する機能を有する。なお、振り分け処理部１１１は、必ずしも次段のサーバ１ではなく、処理内容に応じて、その新たなリクエスト情報を処理可能なソフトウェアが動作する、さらにその先の段（クラスタシステム３）のサーバ１を決定するようにしても構わない。
【００３２】
リクエスト処理部１１２は、受信したリクエスト情報に対して予め決められた内容の処理を実行し応答を返す機能を有する。
【００３３】
振り分け情報変更部１１３は、管理者端末５から送信された指示情報を受け付けて、振り分け情報１２１に記憶されているサーバ１の担当領域を変更する機能を有する。
【００３４】
通信部１３は、外部の装置等との通信を行うためのインタフェースである。通信部１３は、ユーザ端末４や管理者端末５との間で情報を送受信するとともに、処理部１１の処理結果を他のサーバ１やロードバランサ２に送信したり、他のサーバ１やロードバランサ２から情報を受信したりする機能を有する。
【００３５】
（処理例）
次に、分散処理システム６の処理例について、図４を用いて説明する。
ステップＳ１では、ユーザ端末４が、データ処理（例えば、格納、参照、更新）等のリクエスト情報（パケット）を送信する。
【００３６】
ステップＳ２では、第１段のクラスタシステム３ａのロードバランサ２ａは、リクエスト情報を受信し、受信したリクエスト情報をクラスタシステム３ａ内のサーバ１にラウンドロビン等で振り分ける。図４では、サーバ１ｃに振り分けた場合について例示する。
【００３７】
ステップＳ３では、サーバ１ｃは、振り分け情報１２１を参照して、リクエスト処理を担当する振り分け先のクラスタシステム３ａ内のサーバ１を決定する。図４では、サーバ１ａを決定した場合について例示する。
【００３８】
ステップＳ４では、サーバ１ａは、リクエスト処理を実行する。
ステップＳ５では、サーバ１ａは、振り分け情報１２１を参照して、リクエスト処理を担当する振り分け先の次段のクラスタシステム３ｂ内のサーバ１を決定する。図４では、サーバ１ｄを決定した場合について例示する。
また、サーバ１ａは、処理内容に従い、新たなリクエスト情報を処理可能なソフトウェアが動作する、さらにその先の段のクラスタシステム３ｃのサーバ１を決定する。図４では、サーバ１ｅを決定した場合について例示する。
【００３９】
ステップＳ６では、サーバ１ｄは、リクエスト処理を実行する。
ステップＳ７では、サーバ１ｄは、振り分け情報１２１を参照して、リクエスト処理を担当する振り分け先の次段のクラスタシステム３ｃ内のサーバ１を決定する。図４では、サーバ１ｆを決定した場合について例示する。
【００４０】
ステップＳ８では、サーバ１ｅおよびサーバ１ｆは、リクエスト処理を実行する。
なお、図４には記載していないが、クラスタシステム３ｃが最終段である場合、サーバ１ｅおよびサーバ１ｆは、処理結果を返信し、それに伴ってリクエスト情報を発行したサーバ１もバックトラックで処理結果を返信する。
【００４１】
（比較例における処理例）
ここで、比較例として、各クラスタシステムに配置されているロードバランサ２を常に経由する場合の処理例について、図７を用いて説明する。
【００４２】
ステップＳ７１では、ユーザ端末４が、リクエスト情報（パケット）を送信する。
ステップＳ７２では、第１段のクラスタシステム３ａのロードバランサ２ａがリクエスト情報を受信し、受信したリクエスト情報をクラスタシステム３ａ内のサーバ１にラウンドロビン等で振り分ける。図７では、サーバ１ｃに振り分けた場合について例示する。
【００４３】
ステップＳ７３では、サーバ１ｃは、リクエスト処理を担当する振り分け先のクラスタシステム３ａ内のサーバ１を決定する。図７では、サーバ１ａを決定した場合について例示する。
ステップＳ７４では、サーバ１ａは、リクエスト処理を実行する。そして、サーバ１ａは、処理結果を次段のクラスタシステム３ｂのロードバランサ２ｂに送信する。
【００４４】
ステップＳ７５では、第２段のクラスタシステム３ｂのロードバランサ２ｂは、リクエスト情報を受信し、受信したリクエスト情報をクラスタシステム３ｂ内のサーバ１にラウンドロビン等で振り分ける。図７では、サーバ１ｅに振り分けた場合について例示する。
【００４５】
ステップＳ７６では、サーバ１ｅは、リクエスト処理を担当する振り分け先のクラスタシステム３ｂ内のサーバ１を決定する。図７では、サーバ１ｄを決定した場合について例示する。
ステップＳ７７では、サーバ１ｄは、リクエスト処理を実行する。そして、サーバ１ｄは、処理結果を次段のクラスタシステム３ｃのロードバランサ２ｃに送信する。
【００４６】
ステップＳ７８では、第３段のクラスタシステム３ｃのロードバランサ２ｃは、リクエスト情報を受信し、受信したリクエスト情報をクラスタシステム３ｃ内のサーバ１にラウンドロビン等で振り分ける。図７では、サーバ１ｇに振り分けた場合について例示する。
【００４７】
ステップＳ７９では、サーバ１ｇは、リクエスト処理を担当する振り分け先のクラスタシステム３ｃ内のサーバ１を決定する。図７では、サーバ１ｆを決定した場合について例示する。
ステップＳ８０では、サーバ１ｆは、リクエスト処理を実行する。
【００４８】
以上、本発明の分散処理システム６は、図４に示すように、図７に示す比較例の場合に比べて、ロードバランサ２およびサーバ１を経由するホップ数を低減している。具体的には、図４ではユーザ端末からの最大ホップ数は「５」であるのに対して、図７に示す比較例ではユーザ端末４からのホップ数は「９」である。つまり、分散処理システム６は、全てのサーバ１の担当領域についての情報を格納した振り分け情報１２１を各サーバ１が記憶することによって、次段のクラスタシステム３のサーバ１を振り分け先として決定し、サーバ１間で処理結果を直接送受信することができる。このことによって、分散処理システム６は、多段処理に掛かる時間を低減することができる。
【００４９】
（クラスタシステムの更改）
次に、サーバ１のソフトウェアを更新する場合等のクラスタシステム３の更改時に、その更改前後におけるクラスタシステム内のサーバ１のデータの一貫性を確保することが必要となる。その一貫性の確保を容易にする手法について、以下に説明する。
【００５０】
まず、クラスタシステム３の更改時の処理例について、図５Ａ、図５Ｂを用いて説明する。本実施形態では、クラスタシステム３ｂを更改する場合で説明する。図５Ａは、クラスタシステム更改前からクラスタシステムのスワップまでの処理例を表している。図５Ｂは、クラスタシステムのスワップ後の処理例を表している。
【００５１】
図５Ａに示すように、（旧）クラスタシステム３ｂを（新）クラスタシステム３ｄにスワップしようとした場合、単一点のロードバランサ２を利用して、（旧）クラスタシステム３ｂを（新）クラスタシステム３ｄに一気に交換すれば、瞬時に切り替えることができる。言い換えると、単一点がある場合には、更改前後のデータの一貫性が取りやすくなる。
そこで、以下のような手法を用いる。
【００５２】
まず、図５ＡのステップＳ５１では、クラスタシステム３ａとクラスタシステム３ｃのサーバ１の振り分け情報変更部１１３は、自身の振り分け情報１２１を書き替えて、クラスタシステム３ｂ内の振り分け先をロードバランサ２ｂへ変更する。具体的には、図６の上段に示す「Ｓ５１の後」に示されるように、振り分け情報１２１が変更される。この変更は、管理者端末５（図１参照）から受信した指示情報に基づいて振り分け情報変更部１１３によって実行される。
【００５３】
図５ＡのステップＳ５２では、新しいソフトウェアが導入されたサーバ１ｈ，１ｉとロードバランサ２ｄが起動された後、（旧）クラスタシステム３ｂのロードバランサ２ｂから、（新）クラスタシステム３ｄのロードバランサ２ｄにスワップする。スワップの仕方としては、ロードバランサ２のクラスタシステム３外部側のＩＰアドレスをロードバランサ２ｂとロードバランサ２ｄとの間で交換することにより、他のクラスタシステム３の各サーバ１の振り分け情報を一切変更せずに実現する方法がある。スワップ後の振り分け情報１２１は、図６の中段に示す「Ｓ５２の後」に示されるようになる。例えば、スワップされた（新）クラスタシステム３ｄのサーバ１ｈ，１ｉについては、新たに担当領域が設定されている。また、サーバ１ａ〜１ｃ、サーバ１ｅの第２のプロセスおよびサーバ１ｆ〜１ｇでは、振り分け先が（新）クラスタシステム３ｄのロードバランサ２ｄに変更されている。なお、サーバ１ａ〜１ｃ、サーバ１ｅの第２のプロセスおよびサーバ１ｆ〜１ｇの変更は、管理者端末５（図１参照）から受信した指示情報に基づいて振り分け情報変更部１１３によって実行される。
【００５４】
次に、図５ＢのステップＳ５３では、クラスタシステム３ａとクラスタシステム３ｃのサーバ１の振り分け情報変更部１１３は、自身の振り分け情報１２１を書き換えて、振り分け先を（新）クラスタシステム３ｄのサーバ１へ変更する。具体的には、図６の下段に示す「Ｓ５３の後」に示されるように、振り分け情報１２１が変更される。この変更は、管理者端末５（図１参照）から受信した指示情報に基づいて振り分け情報変更部１１３によって実行される。
【００５５】
なお、前記したステップＳ５１〜Ｓ５３では、管理者端末５が指示情報を送信するように説明したが、起動した（新）クラスタシステム３ｄ側から管理者端末５の指示を仰ぐようにしても構わない。
このようにして、分散処理システム６は、各サーバ１が記憶している振り分け情報１２１の変更によって、クラスタシステム３の更改前後におけるデータの一貫性の確保を容易に実行することができる。
【００５６】
以上、本実施形態の分散処理システム６は、クラスタシステム３間の情報の送受信を、直接サーバ１同士で行うことができる。つまり、分散処理システム６は、ロードバランサ２を常に経由した場合に比べて、サーバ１を経由するホップ数を低減することができる。したがって、分散処理システム６は、多段処理に掛かる時間を低減することができる。また、分散処理システム６は、クラスタシステム３を更改する場合、振り分け先をロードバランサ２に変更することができる。このことにより、分散処理システム６は、クラスタシステム３の更改を容易に行うことができる。
【符号の説明】
【００５７】
１，１ａ〜１ｉ  サーバ
２，２ａ〜２ｃ，２ｄ  ロードバランサ
３，３ａ〜３ｃ，３ｄ  クラスタシステム
４  ユーザ端末
５  管理者端末
６  分散処理システム
１１  処理部
１２  記憶部
１３  通信部
１１１  振り分け処理部
１１２  リクエスト処理部
１１３  振り分け情報変更部
１２１  振り分け情報
【図１】
2015162061.tif 000003
【図２】
2015162061.tif 000004
【図３】
2015162061.tif 000005
【図４】
2015162061.tif 000006
【図５Ａ】
2015162061.tif 000007
【図５Ｂ】
2015162061.tif 000008
【図６】
2015162061.tif 000009
【図７】
2015162061.tif 000010