(57)【特許請求の範囲】
【請求項１】
環状のＩＤ（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）によって実現される。
通信部３５は、外部装置との通信に用いられる通信インタフェースである。
【００４５】
サーバ４は、負荷分散装置３によって振り分けられたクライアントマシン１からのリクエストを処理するコンピュータ装置である。なお、前記したように、コンシステント・ハッシュ法では、環状のＩＤ空間に、管理対象の複数のデータ、および、データを管理しクラスタ１００を構成する複数のサーバ４、が割り振られ、それぞれのサーバ４が、ＩＤ空間において自身から時計回り（所定方向回り）に次のサーバ４までの間に位置するデータを管理するとともに、当該次のサーバ４から時計回り（所定方向回り）にさらに次のサーバ４までの間に位置するデータの複製を記憶することを前提とする。また、複数のサーバ４それぞれは、所定の３以上の複数の物理的な地域のいずれかに属している。
【００４６】
サーバ４は、記憶部４１、処理部４２、通信部４３を備える。
記憶部４１は、情報を記憶する手段であり、ＲＡＭやＲＯＭなどのメモリ、ＨＤＤなどによって構成される。記憶部４１には、負荷分散装置３から受信した第１ＩＤ空間管理情報３１１と第２ＩＤ空間管理情報３１２が、それぞれ、第１ＩＤ空間管理情報４１１と第２ＩＤ空間管理情報４１２として格納されている。なお、記憶部４１には、処理部４２の動作プログラムなども格納されている（図示を省略）。
【００４７】
処理部４２は、記憶部４１に格納された情報に基づいて演算処理を行う手段であり、例えばＣＰＵによって構成される。処理部４２は、負荷分散装置３によって振り分けられたクライアントマシン１からのリクエストを処理する。処理部４２は、さらに、第１ＩＤ空間管理情報４１１を参照して第１ＩＤ空間における自身から所定方向回りに次のサーバ４に当該リクエストの処理に用いたデータの複製の記憶を要求する。処理部４２は、さらに、第２ＩＤ空間管理情報４１２を参照して第２ＩＤ空間における自身から所定方向回りに次のサーバ４に当該リクエストの処理に用いたデータの複製の記憶を要求する。
【００４８】
また、処理部４２は、第１ＩＤ空間管理情報４１１を参照して第１ＩＤ空間における自身から所定方向回りに次のサーバ４に当該リクエストの処理に用いたデータの複製の記憶を要求する場合は、当該リクエストの処理と同期的に行うのが好ましい。また、処理部４２は、第２ＩＤ空間管理情報４１２を参照して第２ＩＤ空間における自身から所定方向回りに次のサーバ４に当該リクエストの処理に用いたデータの複製の記憶を要求する場合は、当該リクエストの処理と非同期的に（都合のいいタイミングで）行うのが好ましい。
【００４９】
このように、処理時間が短い第１ＩＤ空間管理情報４１１を用いたデータ複製はリクエスト処理と同期的に行い、処理時間が長い第２ＩＤ空間管理情報４１２を用いたデータ複製はリクエスト処理と同非期的に行うようにすれば、サーバ４における処理遅延の可能性を低減することができる。
【００５０】
通信部４３は、外部装置との通信に用いられる通信インタフェースである。
なお、サーバ４は、入力部や表示部を備えていてもよい。
【００５１】
次に、第１ＩＤ空間管理情報４１１について説明する。第１ＩＤ空間管理情報４１１では、第１ＩＤ空間が地域の数に分割されていて、当該分割されているそれぞれの部分には同じ地域のサーバ４が配置されている（図１（ａ）参照）。
図３（ａ）では、第１ＩＤ空間管理情報４１１について、ＩＤ空間におけるＩＤと、サーバ４の識別子としてのＩＰアドレスの情報を示している。
【００５２】
第１ＩＤ空間管理情報４１１は、管理対象のデータについて、所定のハッシュ値変換によって算出されたＩＤを用いて、そのデータを担当するサーバ４を管理する情報である。ＩＤは、ＩＤ空間におけるＩＤであり、サーバ４が管理を担当するデータの領域を特定するために格納され、ＩＤの値の大きさでソートされている。
【００５３】
例えば、図３（ａ）では、第１行目のＩＤの値が「４４６Ｄ０ＢＥ６」の場合は、識別子が「００００００００」〜「４４６Ｄ０ＢＥ６」の領域に属するデータを、ＩＰアドレスが「１９２．１６８．０．１０」のサーバ４が担当することを示す。また、第２行目の場合は、１つ前の行のＩＤの値に１をプラスした識別子からその行のＩＤまでの値の識別子に属するデータを、ＩＰアドレスが「１９２．１６８．０．２５」のサーバ４が担当することを示す。
【００５４】
次に、第２ＩＤ空間管理情報４１２について説明する。第２ＩＤ空間管理情報４１２では、第２ＩＤ空間において同じ地域のサーバ４が隣り合わないように配置されている（図１（ｂ）参照）。図３（ｂ）では、第２ＩＤ空間管理情報４１２について、ＩＤ空間におけるＩＤと、サーバ４の識別子としてのＩＰアドレスの情報を示している。
【００５５】
次に、サーバ４による処理について説明する。
図４に示すように、ステップＳ１において、サーバ４の処理部４２は、クライアントマシン１からのリクエストを、負荷分散装置３から受信したか否かを判定し、Ｙｅｓの場合はステップＳ２に進み、Ｎｏの場合はステップＳ１に戻る。
ステップＳ２において、処理部４２は、そのリクエストに対するデータ処理を行う。
【００５６】
ステップＳ３において、処理部４２は、記憶部４１の第１ＩＤ空間管理情報４１１を参照して、第１ＩＤ空間における時計回りに隣のサーバ４にデータの複製の記憶を要求する。
【００５７】
ステップＳ４において、処理部４２は、記憶部４１の第２ＩＤ空間管理情報４１２を参照して、第２ＩＤ空間における時計回りに隣のサーバ４にデータの複製の記憶を要求する。
【００５８】
このようにして、本実施形態によれば、高速データ複製用の第１ＩＤ空間を有する第１ＩＤ空間管理情報４１１と、激甚災害対策用の第２ＩＤ空間を有する第２ＩＤ空間管理情報４１２を用いることで、高速データ複製と激甚災害対策を両立可能な分散処理システム１０００におけるサーバ４を実現することができる。つまり、異なるＩＤ空間を複数用いることで、サーバ４の割り当てのポリシについて異なる複数のものを両立して運用可能にするサーバ４を提供することができ、分散処理システム１０００の柔軟な運用が可能になる。
【００５９】
また、サーバ４において、処理時間が短い第１ＩＤ空間管理情報４１１を用いたデータ複製はリクエスト処理と同期的に行い、処理時間が長い第２ＩＤ空間管理情報４１２を用いたデータ複製はリクエスト処理と同非期的に行うようにすれば、処理遅延の可能性を低減することができる。
【００６０】
以上で本実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
例えば、本実施形態では、高速データ複製および激甚災害対策という２つのポリシを反映した異なる２つのＩＤ空間を用いる場合を例にとって説明したが、これに限定されず、異なるポリシの複数のＩＤ空間を用いるだけでデータ消失の可能性低減等の効果が期待できるので、種々のポリシに基づく異なる複数のＩＤ空間を用いることができる。
【００６１】
また、地域として、データセンタエリアを単位とする場合を例にとって説明したが、データセンタエリアをさらに分割したものや都道府県等の別の単位を採用してもよい。
【００６２】
また、本実施形態ではコンシステント・ハッシュ法を前提としたが、他の手法を前提としてもよい。
また、本発明は、コンピュータをサーバ４として機能させるためのプログラムとしても具現化可能である。
その他、具体的な構成や処理について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
【符号の説明】
【００６３】
１      クライアントマシン
２      ネットワーク
３      負荷分散装置
４      サーバ
３１    記憶部
３２    処理部
３３    入力部
３４    表示部
３５    通信部
４１    記憶部
４２    処理部
４３    通信部
１００  クラスタ
３１１  第１ＩＤ空間管理情報
３１２  第２ＩＤ空間管理情報
４１１  第１ＩＤ空間管理情報
４１２  第２ＩＤ空間管理情報
１０００  分散処理システム
【図１】
0005723309.tif 000002
【図２】
0005723309.tif 000003
【図３】
0005723309.tif 000004
【図４】
0005723309.tif 000005
【図５】
0005723309.tif 000006
【図６】
0005723309.tif 000007