(57)【特許請求の範囲】
【請求項１】
環状のＩＤ（IDentifier）空間に、管理対象の複数のデータ、および、前記データを管理しクラスタを構成する複数のサーバ、が割り振られ、それぞれの前記サーバが、前記ＩＤ空間において自身から所定方向回りに次の前記サーバまでの間に位置する前記データを管理するとともに、当該次の前記サーバから前記所定方向回りにさらに次の前記サーバまでの間に位置する前記データの複製を記憶する分散処理システムにおいて、クライアントマシンからのリクエストを前記複数のサーバのいずれに振り分けるかを決定する管理装置であって、
前記ＩＤ空間における前記データの管理を担当するサーバを管理するＩＤ空間管理情報、
前記ＩＤ空間が所定の複数の物理的な地域の数に分割されており、前記地域と前記分割されたＩＤ空間との対応付けを管理するＩＤ・地域割当情報、および、
前記地域ごとに、当該地域に物理的に存在する前記複数のサーバおよび待機中のサーバとの対応付けを管理するサーバ管理情報、を記憶する記憶部と、
前記クラスタに対して前記待機中のサーバを増設する場合、当該増設するサーバについての前記ＩＤ空間における挿入位置に基づき、前記ＩＤ・地域割当情報を参照して当該挿入位置に対応する前記地域を特定し、前記サーバ管理情報を参照して当該特定した地域に物理的に存在するサーバを選択し、当該選択したサーバと当該挿入位置の情報を用いて前記ＩＤ空間管理情報を更新する処理部と、
を有することを特徴とする管理装置。
【請求項２】
環状のＩＤ（IDentifier）空間に、管理対象の複数のデータ、および、前記データを管理しクラスタを構成する複数のサーバ、が割り振られ、それぞれの前記サーバが、前記ＩＤ空間において自身から所定方向回りに次の前記サーバまでの間に位置する前記データを管理するとともに、当該次の前記サーバから前記所定方向回りにさらに次の前記サーバまでの間に位置する前記データの複製を記憶する分散処理システムにおいて、クライアントマシンからのリクエストを前記複数のサーバのいずれに振り分けるかを決定する管理装置であって、
前記ＩＤ空間における前記データの管理を担当するサーバを管理するＩＤ空間管理情報、
前記ＩＤ空間が所定の複数の物理的な地域の数に分割されており、前記地域と前記分割されたＩＤ空間との対応付けを管理するＩＤ・地域割当情報、および、
前記地域ごとに、当該地域に物理的に存在する前記複数のサーバおよび待機中のサーバとの対応付けを管理するサーバ管理情報、を記憶する記憶部と、
前記クラスタに対して前記待機中のサーバを増設する場合、前記ＩＤ空間管理情報を参照して前記ＩＤ空間において前記サーバ同士の間が最も広い箇所を特定し、前記ＩＤ・地域割当情報を参照して前記ＩＤ空間における当該箇所の中央の位置に対応する前記地域を特定し、前記サーバ管理情報を参照して当該特定した地域に物理的に存在するサーバを選択し、当該選択したサーバと当該中央の位置の情報を用いて前記ＩＤ空間管理情報を更新する処理部と、
を有することを特徴とする管理装置。
【請求項３】
前記地域は、前記サーバを管理するデータセンタが管轄するデータセンタエリアであることを特徴とする請求項１または請求項２に記載の管理装置。
【請求項４】
コンピュータを請求項１から請求項３までのいずれか一項に記載の管理装置として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、協調してデータ処理を行うクラスタを構成する複数のサーバを管理する管理装置に関する。
【背景技術】
【０００２】
近年、クラウドコンピューティングの隆盛に伴い、多量のデータの処理や保持を効率的に行うことが求められている。そこで、複数のサーバを協調動作させることにより効率的な処理を実現する分散処理技術が発展している。
【０００３】
分散処理を行う際には、処理対象（管理対象）のデータを、クラスタを構成する各サーバ（以下、「クラスタメンバ」または「メンバ」とも称する。）に振り分けておく必要がある。このとき、クラスタ全体での処理能力を高めるためには、各クラスタメンバが担当するデータ数（データ量）は平均化されていることが望ましい。
【０００４】
代表的なデータの振り分け手法として、各データのｋｅｙをハッシュ関数にかけた値（以下、「ｈａｓｈ（ｋｅｙ）」と称する。）をクラスタメンバ数Ｎで割った余り、すなわち「ｈａｓｈ（ｋｅｙ）  ｍｏｄ  Ｎ」を番号として持つクラスタメンバにデータを振り分ける手法がある。この場合、各クラスタメンバに事前に「０」から「Ｎ−１」までの番号を割り当てていることが前提となる。このような振り分け手法を用いた場合、クラスタメンバを追加すると、Ｎの値が変化して、多くのデータについて、担当するクラスタメンバが変更になるため、担当するデータの再配置が必要になる。
【０００５】
そこで、クラスタメンバの追加に伴い担当するクラスタメンバが変更になるデータ数を約１／Ｎに抑える方法として、コンシステント・ハッシュ法［Consistent Hashing］（非特許文献１参照）を用いた振り分け手法がある。このコンシステント・ハッシュ法は、Amazon Dynamo（非特許文献２参照）等で用いられている。
【０００６】
このコンシステント・ハッシュ法を用いたデータ振り分け手法では、クラスタメンバとデータの双方にＩＤ（IDentifier）を割り当て、データのＩＤからＩＤ空間を時計回りに辿った場合に最初に出合ったクラスタメンバをそのデータの担当とする。
【０００７】
また、多量のデータの管理をクラスタ構成の分散処理システムで行う場合、あるクラスタメンバに障害が発生した場合でも他のクラスタメンバで処理を継続できるように、データの複製を保持することでデータ冗長化を実現する必要がある。これは、コンシステント・ハッシュ法によるデータ管理手法を用いた分散処理システムにおいても同様である。
【０００８】
図７に示すように、コンシステント・ハッシュ法では、クラスタメンバ（メンバ１〜４）とデータ（データＡ〜Ｄ。黒丸（●）で表示）の双方にＩＤを割り当て、データのＩＤからＩＤ空間を時計回りに辿り最初に出合ったクラスタメンバをそのデータの担当として決定する。そして、担当するクラスタメンバのさらに右隣（時計回りに次）のクラスタメンバに複製データを担当させる。
【０００９】
例えば、図７においては、データＡはＩＤ空間上を時計回りに辿り最初に出合ったメンバ１が担当となり、その複製データはＩＤ空間上でメンバ１の右隣にあたるメンバ２に担当させる。このように原本データ・複製データを担当するクラスタメンバを決定することで、クラスタメンバに離脱があった場合でも複製データを所持しているクラスタメンバが新しくデータを担当するクラスタメンバとなることで対応できるという利点がある。なお、複製データを複数個とる場合には、さらに右隣のクラスタメンバに２個目の複製データを担当させるようにすることもできる。
【先行技術文献】
【非特許文献】
【００１０】
【非特許文献１】David Karger et al., “Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web”, [online], 1997, ACM, [平成24年2月20日検索], インターネット<ＵＲＬ：http://www.akamai.com/dl/technical_publications/ConsistenHashingandRandomTreesDistributedCachingprotocolsforrelievingHotSpotsontheworldwideweb.pdf>
【非特許文献２】Giuseppe DeCandia et al., “Dynamo: Amazon’s Highly Available Key-value Store”, [online], 2007, ACM, [平成24年2月20日検索], インターネット<ＵＲＬ：http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf>
【発明の概要】
【発明が解決しようとする課題】
【００１１】
前記したように、コンシステント・ハッシュ法によるデータ管理手法では、データを担当するクラスタメンバの右隣に複製データを配置する方法を採用する。ここで、図８に示すように、クラスタを構成するメンバは、地理的に離れたＫ個（ここでは５個）のデータセンタエリア（サーバを管理するデータセンタが管轄するエリア）内から選択されているとする。
【００１２】
このとき、通常、コンシステント・ハッシュ法のＩＤ空間上では、サーバについて物理位置（物理的な位置）を考慮せずにランダムに配置しているため、ＩＤ空間上で隣り合うクラスタメンバ同士が物理的に遠く離れていることがある。そうなると、ＩＤ空間上で右隣のクラスタメンバに複製データを作成する際のネットワークコストが膨大になり、処理遅延を発生させる懸念がある。なお、クラスタメンバ間の物理的距離とは、サーバ間通信に要するＮＷ（ネットワーク）のコストを表しており、具体例としては、物理的な距離だけでなく、トポロジー、ＮＷ帯域等を考慮して決定することが可能である。
【００１３】
そこで、本発明は、前記した事情に鑑みてなされたものであり、分散処理システムにおける管理装置が、クライアントマシンからのリクエストを複数のサーバのいずれに振り分けるかを決定する際に、サーバの物理位置を考慮したサーバ選択を行うことで、データ複製時に発生する処理負荷を低減することを課題とする。
【課題を解決するための手段】
【００１４】
前記課題を解決するために、本発明は、環状のＩＤ空間に、管理対象の複数のデータ、および、前記データを管理しクラスタを構成する複数のサーバ、が割り振られ、それぞれの前記サーバが、前記ＩＤ空間において自身から所定方向回りに次の前記サーバまでの間に位置する前記データを管理するとともに、当該次の前記サーバから前記所定方向回りにさらに次の前記サーバまでの間に位置する前記データの複製を記憶する分散処理システムにおいて、クライアントマシンからのリクエストを前記複数のサーバのいずれに振り分けるかを決定する管理装置であって、前記ＩＤ空間における前記データの管理を担当するサーバを管理するＩＤ空間管理情報、前記ＩＤ空間が所定の複数の物理的な地域の数に分割されており、前記地域と前記分割されたＩＤ空間との対応付けを管理するＩＤ・地域割当情報、および、前記地域ごとに、当該地域に物理的に存在する前記複数のサーバおよび待機中のサーバとの対応付けを管理するサーバ管理情報、を記憶する記憶部と、前記クラスタに対して前記待機中のサーバを増設する場合、当該増設するサーバについての前記ＩＤ空間における挿入位置に基づき、前記ＩＤ・地域割当情報を参照して当該挿入位置に対応する前記地域を特定し、前記サーバ管理情報を参照して当該特定した地域に物理的に存在するサーバを選択し、当該選択したサーバと当該挿入位置の情報を用いて前記ＩＤ空間管理情報を更新する処理部と、を有することを特徴とする。
【００１５】
これによれば、クラスタに対して待機中のサーバを増設する場合、ＩＤ空間における挿入位置に対応する地域に物理的に存在するサーバを選択することで、データ複製時に発生する処理負荷を低減することができる。
【００１６】
また、本発明は、環状のＩＤ空間に、管理対象の複数のデータ、および、前記データを管理しクラスタを構成する複数のサーバ、が割り振られ、それぞれの前記サーバが、前記ＩＤ空間において自身から所定方向回りに次の前記サーバまでの間に位置する前記データを管理するとともに、当該次の前記サーバから前記所定方向回りにさらに次の前記サーバまでの間に位置する前記データの複製を記憶する分散処理システムにおいて 、クライアントマシンからのリクエストを前記複数のサーバのいずれに振り分けるかを決定する管理装置であって、前記ＩＤ空間における前記データの管理を担当するサーバを管理するＩＤ空間管理情報、前記ＩＤ空間が所定の複数の物理的な地域の数に分割されており、前記地域と前記分割されたＩＤ空間との対応付けを管理するＩＤ・地域割当情報、および、前記地域ごとに、当該地域に物理的に存在する前記複数のサーバおよび待機中のサーバとの対応付けを管理するサーバ管理情報、を記憶する記憶部と、前記クラスタに対して前記待機中のサーバを増設する場合、前記ＩＤ空間管理情報を参照して前記ＩＤ空間において前記サーバ同士の間が最も広い箇所を特定し、前記ＩＤ・地域割当情報を参照して前記ＩＤ空間における当該箇所の中央の位置に対応する前記地域を特定し、前記サーバ管理情報を参照して当該特定した地域に物理的に存在するサーバを選択し、当該選択したサーバと当該中央の位置の情報を用いて前記ＩＤ空間管理情報を更新する処理部と、を有することを特徴とする。
【００１７】
これによれば、複数のサーバに対して待機中のサーバを増設する場合、ＩＤ空間においてサーバ同士の間が最も広い箇所の中央の位置に対応する地域に物理的に存在するサーバを選択することで、データ複製時に発生する処理負荷を低減するとともに、各サーバにおける処理負荷をより平均化することができる。なお、本明細書および特許請求の範囲において、「中央の位置」とは、厳密な中央の位置だけでなく、中央付近の位置も含む。
【００１８】
また、本発明は、前記地域が、前記サーバを管理するデータセンタが管轄するデータセンタエリアであることを特徴とする。
【００１９】
これによれば、地域としてデータセンタエリアを採用することで、クラスタや管理装置の運用がより容易になる。
【００２０】
また、本発明は、コンピュータを前記管理装置として機能させるためのプログラムである。
【００２１】
これによれば、このようなプログラムを実装したコンピュータを管理装置として機能させることができる。
【発明の効果】
【００２２】
本発明によれば、分散処理システムにおける管理装置が、クライアントマシンからのリクエストを複数のサーバのいずれに振り分けるかを決定する際に、サーバの物理位置を考慮したサーバ選択を行うことで、データ複製時に発生する処理負荷を低減することができる。
【図面の簡単な説明】
【００２３】
【図１】本発明の概要の説明図である。
【図２】本実施形態の管理装置等の構成図である。
【図３】本実施形態のＩＤ空間管理情報を示す図である。
【図４】本実施形態のＩＤ・地域割当情報を示す図である。
【図５】本実施形態のサーバ管理情報を示す図である。
【図６】本実施形態の管理装置による処理の流れを示すフローチャートである。
【図７】従来のコンシステント・ハッシュ法の説明図である。
【図８】従来のコンシステント・ハッシュ法におけるクラスタメンバの物理位置の説明図である。
【発明を実施するための形態】
【００２４】
以下、本発明を実施するための形態（以下、実施形態と称する。）について、図面を参照（言及図以外の図も適宜参照）しながら説明する。なお、理解を容易にするために、まず、図１を参照して本実施形態の概要について説明し、その後、実施形態について説明する。
【００２５】
（本実施形態の概要）
図１に示すように、データセンタエリアの数（ここでは５個）に応じて、ＩＤ空間を事前に分割しておく。そして、クラスタにサーバを追加する場合には、ＩＤ空間における新たなクラスタメンバの挿入先（「挿入位置」と同義。ＩＤ）を決定する（図１の（１））。
【００２６】
ＩＤ空間における新たなクラスタメンバの挿入先を決定した（図１の（１））後に、その挿入先に対応するデータセンタエリアを特定し、そのデータセンタエリアに物理的に存在するサーバを選択し（図１の（２））、クラスタメンバに組み込む。このようなアルゴリズムにより、サーバの物理位置を考慮したサーバ選択を行うことができ、データ複製時に発生する処理負荷を低減することができるとともに、各サーバにおける処理負荷をより平均化することができる。
【００２７】
（実施形態）
次に、本実施形態について説明する。図２に示すように、本実施形態の分散処理システム１０００は、負荷分散装置３、管理装置４、クラスタ１００を構成する複数のサーバ５を備えている。負荷分散装置３は、インターネット等のネットワーク２を介して、複数のクライアントマシン１と接続されている。
【００２８】
全体の主な動作について説明すると、クライアントマシン１からのデータ処理リクエストを、ネットワーク２経由で負荷分散装置３が受け取る。負荷分散装置３は、データのＩＤ空間上のサーバ割当表（ＩＤ空間管理情報）に基づいて、そのリクエストを、データ処理を行う複数のサーバ５のいずれかに振り分ける。振り分けられたサーバ５は、そのリクエストの処理を行う。管理装置４は、ＩＤ空間管理情報を管理する。
【００２９】
次に、負荷分散装置３と管理装置４の構成について説明する。
負荷分散装置３は、記憶部３１、処理部３２、通信部３３を備える。
記憶部３１は、情報を記憶する手段であり、ＲＡＭ（Random Access Memory）やＲＯＭ（Read Only Memory）などのメモリ、ＨＤＤ（Hard Disk Drive）などによって構成される。記憶部３１には、管理装置４から受信したＩＤ空間管理情報４１１が、ＩＤ空間管理情報３１１として格納されている。なお、記憶部３１には、処理部３２の動作プログラムなども格納されている（図示を省略）。
【００３０】
処理部３２は、記憶部３１に格納された情報に基づいて演算処理を行う手段であり、例えばＣＰＵ（Central Processing Unit）によって構成される。
【００３１】
通信部３３は、外部装置との通信に用いられる通信インタフェースである。
なお、負荷分散装置３は、ほかに、負荷分散装置３のユーザが情報を入力する入力部や、情報を表示する表示部などを備えていてもよい。
【００３２】
管理装置４は、コンシステント・ハッシュ法に基づいて、クライアントマシン１からのリクエストを複数のサーバ５のいずれに振り分けるかを決定するコンピュータ装置である。なお、前記したように、このコンシステント・ハッシュ法では、環状のＩＤ空間に、管理対象の複数のデータ、および、データを管理しクラスタ１００を構成する複数のサーバ５（クラスタメンバ）、が割り振られ、それぞれのサーバ５が、ＩＤ空間において自身から時計回り（所定方向回り）に次のサーバ５までの間に位置するデータを管理（担当）するとともに、当該次のサーバ５から時計回りにさらに次のサーバ５までの間に位置するデータの複製を記憶することを前提とする。
【００３３】
管理装置４は、記憶部４１、処理部４２、入力部４３、表示部４４、通信部４５を備える。
記憶部４１は、情報を記憶する手段であり、ＲＡＭやＲＯＭなどのメモリ、ＨＤＤなどによって構成される。記憶部４１には、ＩＤ空間管理情報４１１、ＩＤ・地域割当情報４１２、サーバ管理情報４１３が格納されている。なお、記憶部４１には、処理部４２の動作プログラムなども格納されている（図示を省略）。
【００３４】
ＩＤ空間管理情報４１１は、管理対象のデータについて所定のハッシュ値変換を行って算出されたＩＤを用いて、そのデータを担当するサーバ５を管理する情報である（図３で後記）。
【００３５】
ＩＤ・地域割当情報４１２は、ＩＤ空間が所定の複数の物理的な地域の数に分割されているという前提の下、その地域と分割されたＩＤ空間との対応付けを管理する情報である（図４で後記）。
【００３６】
サーバ管理情報４１３は、地域ごとに、当該地域に物理的に存在する複数のサーバ５との対応付けを管理する情報である（図５で後記）。
【００３７】
処理部４２は、記憶部４１に格納された情報に基づいて演算処理を行う手段であり、例えばＣＰＵによって構成される。処理部４２は、クラスタ１００に対して新たな（待機中の）サーバ５を増設する場合、まず、当該新たなサーバ５についてＩＤ空間における挿入位置を決定する。次に、処理部４２は、ＩＤ・地域割当情報４１２を参照して当該挿入位置に対応する地域を特定する。次に、処理部４２は、サーバ管理情報４１３を参照して当該特定した地域に物理的に存在するサーバ５を選択する。次に、処理部４２は、当該選択したサーバと当該挿入位置の情報を用いてＩＤ空間管理情報４１１を更新する。詳細は図６の説明で後記する。
【００３８】
また、処理部４２は、クラスタ１００に対して新たなサーバ５を増設する場合、一例として、ＩＤ空間管理情報４１１を参照してＩＤ空間においてサーバ５同士の間が最も広い箇所を特定する、次に、処理部４２は、ＩＤ・地域割当情報４１２を参照してＩＤ空間における当該箇所の中央の位置に対応する地域を特定する。次に、処理部４２は、サーバ管理情報４１３を参照して当該特定した地域に物理的に存在するサーバ５を選択する。次に、処理部４２は、当該選択したサーバと当該中央の位置の情報を用いてＩＤ空間管理情報４１１を更新する。詳細は図６の説明で後記する。
【００３９】
入力部４３は、管理装置４のユーザが情報を入力する手段であり、例えば、キーボードやマウスによって実現される。
表示部４４は、情報を表示する手段であり、例えば、ＬＣＤ（Liquid Crystal Display）によって実現される。
通信部４５は、外部装置との通信に用いられる通信インタフェースである。
【００４０】
次に、ＩＤ空間管理情報４１１について説明する。図３に示すように、ＩＤ空間管理情報４１１は、ＩＤ、サーバの各カラムから構成され、ＩＤの値の大きさでソートされている。
ＩＤは、ＩＤ空間におけるＩＤであり、サーバ５が管理を担当するデータの領域を特定するために格納される。
サーバは、クラスタ１００を構成するサーバ５の識別子を表す。
【００４１】
例えば、図３に示す、第１行目のＩＤの値が「００５６」の場合は、識別子が「００００」〜「００５６」の領域に属するデータを「サーバＡ」が担当することを示す。また、第２行目のＩＤの値が「０１７２」の場合は、１つ前の行のＩＤの値に１をプラスした「００５７」〜「０１７２」の識別子に属するデータを「サーバＢ」が担当することを示す。
【００４２】
次に、ＩＤ・地域割当情報４１２について説明する。図４に示すように、ＩＤ・地域割当情報４１２は、地域ＩＤ、ＩＤの各カラムから構成される。
地域ＩＤは、所定の複数の物理的な地域の識別子を表す。
ＩＤは、その行の地域ＩＤの地域に対応するＩＤ空間におけるＩＤの範囲を表す。
【００４３】
次に、サーバ管理情報４１３について説明する。図５に示すように、サーバ管理情報４１３は、地域ＩＤ、サーバの各カラムから構成される。
地域ＩＤは、所定の複数の物理的な地域の識別子を表す。
サーバは、対応する地域ＩＤの地域に物理的に存在するサーバ５の識別子を表す。なお、このサーバ５には、まだクラスタ１００として使用されていないものも含まれている。
【００４４】
次に、管理装置４による処理について説明する。
図６に示すように、ステップＳ１において、管理装置４の処理部４２は、クラスタ構成変更要求があるか否かを判定し、Ｙｅｓの場合はステップＳ２に進み、Ｎｏの場合はステップＳ１に戻る。なお、ここでのクラスタ構成変更要求は、例えば、管理装置４のユーザによるその旨の入力や、他の装置からのその旨のリクエストの受信などが考えられる。
【００４５】
ステップＳ２において、処理部４２は、そのクラスタ構成変更要求がクラスタメンバの追加か否かを判定し、Ｙｅｓの場合はステップＳ３に進み、Ｎｏの場合はステップＳ７に進む。
【００４６】
ステップＳ３において、処理部４２は、ＩＤ空間において、追加するクラスタメンバの挿入先（ＩＤ）を決定する。
【００４７】
どこに挿入するかは、入力部４３を通じて保守者から指定を受けてもよいし、あるいは、処理部４２が任意の方法で算出することもできる。なお、ＩＤ空間において選択する位置は任意でよく、必須事項は、そのＩＤ空間において選択した位置に対応するデータセンタエリア（地域）に物理的に存在するサーバ５を選択することである。これにより、サーバ５の物理位置を考慮したサーバ選択を行うことができ、データ複製時に発生する処理負荷を低減することができる。
【００４８】
例えば、処理部４２が、記憶部４１のＩＤ空間管理情報４１１を参照して、ＩＤ空間の中でクラスタメンバ間の距離（ＩＤ空間上の距離）が最も広い個所を検索（特定）し、そのクラスタメンバ間の中央の位置を新たなクラスタメンバのＩＤの挿入先として決定する。なお、このような位置を選択する理由は、クラスタ構成の分散処理システムでは、クラスタメンバ間で負荷がなるべく平均化されていることが望ましく、統計的に、データ数がクラスタメンバ数よりも格段に多い場合には、各クラスタメンバが担当するデータ数はＩＤ空間上のクラスタメンバ間の距離にほぼ比例するためである。
【００４９】
続いて、ステップＳ４において、処理部４２は、記憶部４１のＩＤ・地域割当情報４１２を参照して、決定したＩＤを担当するデータセンタエリア（地域ＩＤ）を特定する。
【００５０】
続いて、ステップＳ５において、処理部４２は、記憶部４１のサーバ管理情報４１３を参照して、そのデータセンタエリアに物理的に存在する（つまり、ステップＳ４で特定した地域ＩＤに対応する）サーバ５を選択する。
【００５１】
ステップＳ６において、処理部４２は、ＩＤ空間管理情報４１１を更新して、処理を終了する。具体的には、ステップＳ３〜Ｓ５を経由した場合は、ＩＤ空間管理情報４１１において、新たな行を挿入し、該当するＩＤおよび追加するサーバ５の識別子を書き込む。また、例えば、ステップＳ３〜Ｓ５を経由せず、障害等によりクラスタメンバの一部を削除する場合は、ＩＤ空間管理情報４１１において、該当する行を削除する。
【００５２】
なお、この後、負荷分散装置３は、管理装置４から最新のＩＤ空間管理情報４１１を受信して記憶部３１にＩＤ空間管理情報３１１として保存する。そして、負荷分散装置３は、そのＩＤ空間管理情報３１１に基づいて、コンシステント・ハッシュ法によって、クライアントマシン１から受け取ったリクエストを、複数のサーバ５のいずれかに振り分ける。
また、複数のサーバ５は、管理装置４から最新のＩＤ空間管理情報４１１を受信して記憶部（不図示）に保存し、コンシステント・ハッシュ法に基づく前記したデータの複製を行う。
【００５３】
このようにして、本実施形態の管理装置４によれば、クラスタ１００を構成するサーバ５を増設する場合、増設するサーバ５について決定したＩＤ空間における位置に対応する地域に物理的に存在するサーバ５を選択することで、データ複製時に発生する処理負荷（ネットワークコスト）を低減し、高速な処理を実現することができる。なお、この手法は、特に、データの更新や複製の頻度が高い場合や、複製対象のデータサイズが大きい場合等に、大きく奏効する。
【００５４】
また、増設するサーバ５についてＩＤ空間における位置を決定する際、ＩＤ空間においてサーバ５同士の間が最も広い箇所の中央の位置を選択することで、データ複製時に発生する処理負荷を低減するとともに、各サーバ５における負荷をより平均化することができる。
また、地域としてデータセンタエリアを採用することで、クラスタ１００や管理装置４の運用がより容易になる。
【００５５】
以上で本実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
例えば、管理装置４と負荷分散装置３を同一のハードウエアに並存させる構成としてもよい。
また、本実施形態ではコンシステント・ハッシュ法を前提としたが、他の手法を前提としてもよい。
【００５６】
また、負荷分散装置３を使用せず、それぞれのクライアントマシン１が管理装置４から受信したＩＤ空間管理情報４１１を保持して、ネットワーク２経由で複数のサーバ５のいずれかに直接アクセスするようにしてもよい。
【００５７】
また、地域として、データセンタエリアを単位とする場合を例にとって説明したが、データセンタエリアをさらに分割したものや都道府県等の別の単位を採用してもよい。
また、本発明は、コンピュータを管理装置４として機能させるためのプログラムとしても具現化可能である。
その他、具体的な構成について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【００５８】
１      クライアントマシン
２      ネットワーク
３      負荷分散装置
４      管理装置
５      サーバ
３１    記憶部
３２    処理部
３３    通信部
４１    記憶部
４２    処理部
４３    入力部
４４    表示部
４５    通信部
１００  クラスタ
３１１  ＩＤ空間管理情報
４１１  ＩＤ空間管理情報
４１２  ＩＤ・地域割当情報
４１３  サーバ管理情報
１０００  分散処理システム
【図１】
0005745445.tif 000002
【図２】
0005745445.tif 000003
【図３】
0005745445.tif 000004
【図４】
0005745445.tif 000005
【図５】
0005745445.tif 000006
【図６】
0005745445.tif 000007
【図７】
0005745445.tif 000008
【図８】
0005745445.tif 000009