JP2013182575A - サーバおよびプログラム - Google Patents

サーバおよびプログラム Download PDF

Info

Publication number
JP2013182575A
JP2013182575A JP2012047991A JP2012047991A JP2013182575A JP 2013182575 A JP2013182575 A JP 2013182575A JP 2012047991 A JP2012047991 A JP 2012047991A JP 2012047991 A JP2012047991 A JP 2012047991A JP 2013182575 A JP2013182575 A JP 2013182575A
Authority
JP
Japan
Prior art keywords
space
server
data
management information
request
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2012047991A
Other languages
English (en)
Other versions
JP5723309B2 (ja
Inventor
Eriko Iwasa
絵里子 岩佐
Satoru Kondo
悟 近藤
Michio Irie
道生 入江
Masashi Kaneko
雅志 金子
Takeshi Fukumoto
健 福元
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Nippon Telegraph and Telephone Corp
Original Assignee
Nippon Telegraph and Telephone Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Nippon Telegraph and Telephone Corp filed Critical Nippon Telegraph and Telephone Corp
Priority to JP2012047991A priority Critical patent/JP5723309B2/ja
Publication of JP2013182575A publication Critical patent/JP2013182575A/ja
Application granted granted Critical
Publication of JP5723309B2 publication Critical patent/JP5723309B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

【課題】分散処理システムにおいて、クラスタメンバであるサーバの割り当てのポリシについて異なる複数のものを両立して運用可能にするサーバを提供することを課題とする。
【解決手段】本発明によれば、高速データ複製用の第1ID空間を有する第1ID空間管理情報411と、激甚災害対策用の第2ID空間を有する第2ID空間管理情報412を用いることで、高速データ複製と激甚災害対策を両立可能な分散処理システム1000におけるサーバ4、つまり、複数のサーバの割り当てポリシを両立して運用可能にするサーバ4を実現することができる。
【選択図】図2

Description

本発明は、協調してデータ処理を行うクラスタを構成する複数のサーバにおけるデータ複製の技術に関する。
近年、クラウドコンピューティングの隆盛に伴い、多量のデータの処理や保持を効率的に行うことが求められている。そこで、複数のサーバを協調動作させることにより効率的な処理を実現する分散処理技術が発展している。
分散処理を行う際には、処理対象(管理対象)のデータを、クラスタを構成する各サーバ(以下、「クラスタメンバ」または「メンバ」とも称する。)に振り分けておく必要がある。このとき、クラスタ全体での処理能力を高めるためには、各クラスタメンバが担当するデータ数(データ量)は平均化されていることが望ましい。
代表的なデータの振り分け手法として、各データのkeyをハッシュ関数にかけた値(以下、「hash(key)」と称する。)をクラスタメンバ数Nで割った余り、すなわち「hash(key) mod N」を番号として持つクラスタメンバにデータを振り分ける手法がある。この場合、各クラスタメンバに事前に「0」から「N−1」までの番号を割り当てていることが前提となる。このような振り分け手法を用いた場合、クラスタメンバを追加すると、Nの値が変化して、多くのデータについて、担当するクラスタメンバが変更になるため、担当するデータの再配置が必要になる。
そこで、クラスタメンバの追加に伴い担当するクラスタメンバが変更になるデータ数を約1/Nに抑える方法として、コンシステント・ハッシュ法[Consistent Hashing](非特許文献1参照)を用いた振り分け手法がある。このコンシステント・ハッシュ法は、Amazon Dynamo(非特許文献2参照)等で用いられている。
このコンシステント・ハッシュ法を用いたデータ振り分け手法では、クラスタメンバとデータの双方にID(IDentifier)を割り当て、データのIDからID空間を時計回りに辿った場合に最初に出合ったクラスタメンバをそのデータの担当とする。
また、多量のデータの管理をクラスタ構成の分散処理システムで行う場合、あるクラスタメンバに障害が発生した場合でも他のクラスタメンバで処理を継続できるように、データの複製を保持することでデータ冗長化を実現する必要がある。これは、コンシステント・ハッシュ法によるデータ管理手法を用いた分散処理システムにおいても同様である。
図5に示すように、コンシステント・ハッシュ法では、クラスタメンバ(メンバ1〜4)とデータ(データA〜D。黒丸(●)で表示)の双方にIDを割り当て、データのIDからID空間を時計回りに辿り最初に出合ったクラスタメンバをそのデータの担当として決定する。そして、担当するクラスタメンバのさらに右隣(時計回りに次)のクラスタメンバに複製データを担当させる。
例えば、図5においては、データAはID空間上を時計回りに辿り最初に出合ったメンバ1が担当となり、その複製データはID空間上でメンバ1の右隣にあたるメンバ2に担当させる。このように原本データ・複製データを担当するクラスタメンバを決定することで、クラスタメンバに離脱があった場合でも複製データを所持しているクラスタメンバが新しくデータを担当するクラスタメンバとなることで対応できるという利点がある。なお、複製データを複数個とる場合には、さらに右隣のクラスタメンバに2個目の複製データを担当させるようにすることもできる。
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日検索], インターネット<URL: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日検索], インターネット<URL:http://www.allthingsdistributed.com/files/amazon-dynamo-sosp2007.pdf>
ここで、ID空間上におけるクラスタメンバにおける具体的なサーバの割り当てポリシを定める場合に、一つでなく、異なる二つのポリシで運用したい場合がある。
前記したように、コンシステント・ハッシュ法によるデータ管理手法では、データを担当するクラスタメンバの右隣に複製データを配置する方法を採用する。ここで、図6に示すように、クラスタを構成するメンバは、地理的に離れたK個(ここでは5個)のデータセンタエリア(サーバを管理するデータセンタが管轄するエリア)内から選択されているとする。
そして、例えば、激甚災害や大規模障害等(以下、代表して「激甚災害」と称する。)によってデータセンタエリア単位でサーバの使用ができなくなる場合を考える。このとき、クラスタ内の多数のサーバが同時に減設される。通常、コンシステント・ハッシュ法のID空間上では、サーバについて物理位置を考慮せずにランダムに配置しているため、減設されるサーバがID空間上で隣り合うクラスタメンバであった場合、原本データおよび複製データの両方を消失してしまう(複製データが1個の場合)。
一方、ID空間上で右隣のクラスタメンバに複製データを作成する際の通信時間等を考えると、ID空間上で隣り合うクラスタメンバ同士が物理的に近いほうがよい。
つまり、サーバの物理位置を考慮しながらID空間を作成すれば、高速データ複製を考慮したID空間や、激甚災害を考慮したID空間等を作成することができる。しかし、単一のID空間を利用する手法では、例えば、高速データ複製と激甚災害対策を両立させることができない。
そこで、本発明は、前記した事情に鑑みてなされたものであり、分散処理システムにおいて、クラスタメンバであるサーバの割り当てのポリシについて異なる複数のものを両立して運用可能にするサーバおよびそのプログラムを提供することを課題とする。
前記課題を解決するために、本発明は、環状のID空間に、管理対象の複数のデータ、および、前記データを管理しクラスタを構成する複数のサーバ、が割り振られ、それぞれの前記サーバが、前記ID空間において自身から所定方向回りに次の前記サーバまでの間に位置する前記データを管理するとともに、当該次の前記サーバから前記所定方向回りにさらに次の前記サーバまでの間に位置する前記データの複製を記憶する分散処理システムにおいて、負荷分散装置によって振り分けられたクライアントマシンからのリクエストを処理する前記サーバであって、前記複数のサーバそれぞれは所定の3以上の複数の物理的な地域のいずれかに属しており、第1ID空間が前記地域の数に分割されていて、当該分割されているそれぞれの部分には同じ地域の前記サーバが配置されている第1ID空間管理情報、および、第2ID空間において同じ地域の前記サーバが隣り合わないように配置されている第2ID空間管理情報、を記憶する記憶部と、前記負荷分散装置によって振り分けられた前記クライアントマシンからのリクエストを処理するとともに、前記第1ID空間管理情報を参照して前記第1ID空間における自身から前記所定方向回りに次の前記サーバに当該リクエストの処理に用いたデータの複製の記憶を要求し、かつ、前記第2ID空間管理情報を参照して前記第2ID空間における自身から前記所定方向回りに次の前記サーバに当該リクエストの処理に用いたデータの複製の記憶を要求する処理部と、を備えることを特徴とする。
これによれば、高速データ複製用の第1ID空間を有する第1ID空間管理情報と、激甚災害対策用の第2ID空間を有する第2ID空間管理情報を用いることで、高速データ複製と激甚災害対策を両立可能な分散処理システムにおけるサーバを実現することができる。つまり、異なるID空間を複数用いることで、サーバの割り当てのポリシについて異なる複数のものを両立して運用可能にするサーバを提供することができる。
また、本発明は、環状のID空間に、管理対象の複数のデータ、および、前記データを管理しクラスタを構成する複数のサーバ、が割り振られ、それぞれの前記サーバが、前記ID空間において自身から所定方向回りに次の前記サーバまでの間に位置する前記データを管理するとともに、当該次の前記サーバから前記所定方向回りにさらに次の前記サーバまでの間に位置する前記データの複製を記憶する分散処理システムにおいて、負荷分散装置によって振り分けられたクライアントマシンからのリクエストを処理する前記サーバであって、前記ID空間における前記データの管理を担当するサーバを管理するID空間情報として各々異なるサーバの割り当てがされている第1ID空間管理情報および第2ID空間管理情報を記憶する記憶部と、前記負荷分散装置によって振り分けられた前記クライアントマシンからのリクエストを処理するとともに、前記第1ID空間管理情報を参照して前記第1ID空間における自身から前記所定方向回りに次の前記サーバに当該リクエストの処理に用いたデータの複製の記憶を要求し、かつ、前記第2ID空間管理情報を参照して前記第2ID空間における自身から前記所定方向回りに次の前記サーバに当該リクエストの処理に用いたデータの複製の記憶を要求する処理部と、を備えることを特徴とする。
これによれば、異なるID空間を複数用いることで、サーバの割り当てのポリシについて異なる複数のものを両立して運用可能にするサーバを提供することができる。
また、本発明は、前記処理部が、第1ID空間が前記地域の数に分割されていて前記分割されているそれぞれの部分には同じ地域の前記サーバが配置されている第1ID空間管理情報を参照して前記第1ID空間における自身から前記所定方向回りに次の前記サーバに当該リクエストの処理に用いたデータの複製の記憶を要求する場合は、当該リクエストの処理と同期的に行い、第2ID空間において同じ地域の前記サーバが隣り合わないように配置されている前記第2ID空間管理情報を参照して前記第2ID空間における自身から前記所定方向回りに次の前記サーバに当該リクエストの処理に用いたデータの複製の記憶を要求する場合は、当該リクエストの処理と非同期的に行うことを特徴とする。
これによれば、処理時間が短い第1ID空間管理情報を用いたデータ複製はリクエスト処理と同期的に行い、処理時間が長い第2ID空間管理情報を用いたデータ複製はリクエスト処理と同非期的に行うことで、サーバにおける処理遅延の可能性を低減することができる。
また、本発明は、コンピュータを前記サーバとして機能させるためのプログラムである。
これによれば、このようなプログラムを実装したコンピュータをサーバとして機能させることができる。
本発明によれば、分散処理システムにおいて、異なるID空間を複数用いることで、サーバの割り当てのポリシについて異なる複数のものを両立して運用可能にするサーバおよびそのプログラムを提供することができる。
本発明の概要の説明図である。 本実施形態の分散処理システム等の構成図である。 (a)は第1ID空間管理情報の例を示す図で、(b)は第2ID空間管理情報の例を示す図である。 本実施形態のサーバによる処理の流れを示すフローチャートである。 従来のコンシステント・ハッシュ法の説明図である。 従来のコンシステント・ハッシュ法におけるクラスタメンバの物理位置の説明図である。
以下、本発明を実施するための形態(以下、実施形態と称する。)について、図面を参照(言及図以外の図も適宜参照)しながら説明する。なお、理解を容易にするために、まず、図1を参照して本実施形態の概要について説明し、その後、詳細に説明する。
(本実施形態の概要)
本実施形態では、クラスタメンバであるサーバの割り当ての異なるポリシの例として、高速データ複製および激甚災害対策というポリシを挙げて説明する。
まず、図1(a)に示すように、データセンタエリアの数K(3以上の自然数。ここでは5)に応じて、高速データ複製用の第1ID空間を事前に分割しておく。そして、クラスタにサーバを追加する場合には、ID空間における新たなクラスタメンバの挿入先を決定する。例えば、第1ID空間の中でクラスタメンバ間の距離(第1ID空間上の距離)が最も広い個所を検索(特定)し、そのクラスタメンバ間の中央の位置を新たなクラスタメンバのIDの挿入先として決定する(図1(a)の(1))。なお、このような位置を選択する理由は、クラスタ構成の分散処理システムでは、クラスタメンバ間で負荷がなるべく平均化されていることが望ましく、統計的に、データ数がクラスタメンバ数よりも格段に多い場合には、各クラスタメンバが担当するデータ数はID空間上のクラスタメンバ間の距離にほぼ比例するためである。
第1ID空間における新たなクラスタメンバの挿入先を決定した(図1(a)の(1))後に、その挿入先に対応するデータセンタエリアを特定し、そのデータセンタエリアに物理的に存在するサーバを選択し(図1(a)の(2))、クラスタメンバに組み込む。このようなアルゴリズムにより、サーバの物理位置を考慮したサーバ選択を行うことができ、高速データ複製を実現するとともに、各サーバにおける処理負荷をより平均化することができる。
なお、クラスタにサーバを追加する場合に、第1ID空間の中で、クラスタメンバ間の距離が最も広い個所の中央の位置を選んだが、これは一例に過ぎない。つまり、クラスタにサーバを追加する場合に、第1ID空間において選択する位置は任意でよく、必須事項は、そのID空間において選択した位置に対応するデータセンタエリア(以下、「地域」と称する場合もある。)に物理的に存在するサーバを選択することである。これにより、高速データ複製を実現することができる。
次に、図1(b)に示すように、激甚災害対策用の第2ID空間では、まず、同じ地域のサーバが隣り合わないように、サーバを図示のように分散させて(地域ごとに順番に)並べる。
そして、サーバの増設時は、第2ID空間の中でクラスタメンバ間の距離(第2ID空間上の距離)が最も広い個所を検索(特定)し、そのクラスタメンバ間の中央の位置を新たなクラスタメンバのIDの挿入先として決定する(図1(b)の(1))。
第2ID空間における新たなクラスタメンバの挿入先を決定した(図1(b)の(1))後に、その挿入先の周囲K−1個(最低限、両隣だけでもよい。)のサーバの地域を調査する(図1(b)の(2))。そして、そのK−1個(最低限、両隣)のサーバのいずれも属さない地域のサーバを選択し(図1(b)の(3))、そのサーバを増設する。
なお、「周囲K−1個のサーバ」とは、具体的には、Kが奇数のときは、挿入先の両側それぞれについて{(K−1)/2}台のサーバのことである。また、Kが偶数のときは、挿入先の両側の一方について(K/2)台、他方について{(K−2)/2}台のサーバのことである
このようなアルゴリズムにより、第2ID空間において同じ地域のサーバが隣り合うことがないので、3つ以上の地域のうちの1つの地域に存在するすべてのサーバがダウンしても、データが消失する事態を回避することができる。また、各サーバにおける処理負荷をより平均化することもできる。
改めて説明すると、コンシステント・ハッシュ法の特性上、「どれか1つでもデータが(複製ともども)失われる確率」は、「連続してM(冗長数(原本データと複製データの合計数))個同じ地域のサーバが配置される確率」と等しい。図1(b)で説明したアルゴリズムによれば、M≧2の場合に常に上記確率を0%にできる。つまり、1つの地域が全壊(その地域に存在するすべてのサーバがダウン)したとしても、Mが2以上であればいずれのデータも失われない(複製データは必ず残る)。
また、挿入先の「両隣」だけでなく「周囲K−1個」のサーバの地域を調査する手法の場合、Kが奇数のときは、第2ID空間において任意の連続する{(K+1)/2}台のサーバはすべて異なる地域に属していることになる。また、Kが偶数のときは、第2ID空間において任意の連続する(K/2)台のサーバはすべて異なる地域に属していることになる。これによって、冗長数を3以上とした場合、1つの地域のサーバがすべてダウンしても、ダウンしたサーバが保持していた原本データの複製データを保持しているサーバの数の期待値をより大きくすることができる。
例えば、K=5で、M=3の場合、1つの地域が全壊しても、その地域のサーバが保持していた原本データの複製データを保持しているサーバは、いずれもその地域以外の別々の地域に属しており、複製データを保持し続けている。つまり、その場合、2つの地域が全壊したとしても、1つのサーバが複製データを必ず保持していることになる。
KとMの値をもっと増加させれば、さらに多くの地域が全壊した場合でも、複製データが消失していない可能性を高くすることができる。例えば、K=7で、M=4の場合、3つの地域が全壊しても、1つのサーバが複製データを必ず保持していることになる。
なお、クラスタにサーバを追加する場合に、第2ID空間の中で、クラスタメンバ間の距離が最も広い個所の中央の位置を選んだが、これは一例に過ぎない。つまり、クラスタにサーバを追加する場合に、第2ID空間において選択する位置は任意でよく、必須事項は、その第2ID空間において選択した位置の両隣のサーバのいずれも属さない地域のサーバを選択することである。これにより、3つ以上の地域のうちの1つの地域に存在するすべてのサーバがダウンしても、データが消失する事態を回避することができる。つまり、激甚災害対策の効果を奏する。
(実施形態)
次に、本実施形態について説明する。図2に示すように、本実施形態の分散処理システム1000は、負荷分散装置3、クラスタ100を構成する複数のサーバ4を備えている。負荷分散装置3は、インターネット等のネットワーク2を介して、複数のクライアントマシン1と接続されている。
全体の主な動作について説明すると、クライアントマシン1からのリクエストを、ネットワーク2経由で負荷分散装置3が受け取る。負荷分散装置3は、そのリクエストを、複数のサーバ4のいずれかに振り分ける。リクエストを振り分けられたサーバ4は、そのリクエストの処理を行うとともに、他の2つのサーバ4にデータの複製の記憶を要求する。
次に、負荷分散装置3とサーバ4の構成について説明する。
負荷分散装置3は、記憶部31、処理部32、入力部33、表示部34、通信部35を備える。
記憶部31は、情報を記憶する手段であり、RAM(Random Access Memory)やROM(Read Only Memory)などのメモリ、HDD(Hard Disk Drive)などによって構成される。記憶部31には、第1ID空間管理情報311と第2ID空間管理情報312が格納されている。なお、第1ID空間管理情報311は第1ID空間管理情報411と同一で、第2ID空間管理情報312は第2ID空間管理情報412と同一であり、第1ID空間管理情報411と第2ID空間管理情報412の説明は後記する。また、記憶部31には、処理部32の動作プログラムなども格納されている(図示を省略)。
処理部32は、記憶部31に格納された情報に基づいて演算処理を行う手段であり、例えばCPU(Central Processing Unit)によって構成される。処理部32は、クラスタ100へのサーバ4の追加等により第1ID空間管理情報311を更新すると、その最新の第1ID空間管理情報311をすべてのサーバ4に送信する。また、処理部32は、クラスタ100へのサーバ4の追加等により第2ID空間管理情報312を更新すると、その最新の第2ID空間管理情報312をすべてのサーバ4に送信する。
処理部32は、また、通信部35が受信したクライアントマシン1からのリクエストを、いずれのサーバ4に振り分けるかを決定する。振り分けの決定は、第1ID空間管理情報311または第2ID空間管理情報312に基づくが、いずれを用いるかは、システム一意に事前に定められている。
入力部33は、サーバ4のユーザが情報を入力する手段であり、例えば、キーボードやマウスによって実現される。
表示部34は、情報を表示する手段であり、例えば、LCD(Liquid Crystal Display)によって実現される。
通信部35は、外部装置との通信に用いられる通信インタフェースである。
サーバ4は、負荷分散装置3によって振り分けられたクライアントマシン1からのリクエストを処理するコンピュータ装置である。なお、前記したように、コンシステント・ハッシュ法では、環状のID空間に、管理対象の複数のデータ、および、データを管理しクラスタ100を構成する複数のサーバ4、が割り振られ、それぞれのサーバ4が、ID空間において自身から時計回り(所定方向回り)に次のサーバ4までの間に位置するデータを管理するとともに、当該次のサーバ4から時計回り(所定方向回り)にさらに次のサーバ4までの間に位置するデータの複製を記憶することを前提とする。また、複数のサーバ4それぞれは、所定の3以上の複数の物理的な地域のいずれかに属している。
サーバ4は、記憶部41、処理部42、通信部43を備える。
記憶部41は、情報を記憶する手段であり、RAMやROMなどのメモリ、HDDなどによって構成される。記憶部41には、負荷分散装置3から受信した第1ID空間管理情報311と第2ID空間管理情報312が、それぞれ、第1ID空間管理情報411と第2ID空間管理情報412として格納されている。なお、記憶部41には、処理部42の動作プログラムなども格納されている(図示を省略)。
処理部42は、記憶部41に格納された情報に基づいて演算処理を行う手段であり、例えばCPUによって構成される。処理部42は、負荷分散装置3によって振り分けられたクライアントマシン1からのリクエストを処理する。処理部42は、さらに、第1ID空間管理情報411を参照して第1ID空間における自身から所定方向回りに次のサーバ4に当該リクエストの処理に用いたデータの複製の記憶を要求する。処理部42は、さらに、第2ID空間管理情報412を参照して第2ID空間における自身から所定方向回りに次のサーバ4に当該リクエストの処理に用いたデータの複製の記憶を要求する。
また、処理部42は、第1ID空間管理情報411を参照して第1ID空間における自身から所定方向回りに次のサーバ4に当該リクエストの処理に用いたデータの複製の記憶を要求する場合は、当該リクエストの処理と同期的に行うのが好ましい。また、処理部42は、第2ID空間管理情報412を参照して第2ID空間における自身から所定方向回りに次のサーバ4に当該リクエストの処理に用いたデータの複製の記憶を要求する場合は、当該リクエストの処理と非同期的に(都合のいいタイミングで)行うのが好ましい。
このように、処理時間が短い第1ID空間管理情報411を用いたデータ複製はリクエスト処理と同期的に行い、処理時間が長い第2ID空間管理情報412を用いたデータ複製はリクエスト処理と同非期的に行うようにすれば、サーバ4における処理遅延の可能性を低減することができる。
通信部43は、外部装置との通信に用いられる通信インタフェースである。
なお、サーバ4は、入力部や表示部を備えていてもよい。
次に、第1ID空間管理情報411について説明する。第1ID空間管理情報411では、第1ID空間が地域の数に分割されていて、当該分割されているそれぞれの部分には同じ地域のサーバ4が配置されている(図1(a)参照)。
図3(a)では、第1ID空間管理情報411について、ID空間におけるIDと、サーバ4の識別子としてのIPアドレスの情報を示している。
第1ID空間管理情報411は、管理対象のデータについて、所定のハッシュ値変換によって算出されたIDを用いて、そのデータを担当するサーバ4を管理する情報である。IDは、ID空間におけるIDであり、サーバ4が管理を担当するデータの領域を特定するために格納され、IDの値の大きさでソートされている。
例えば、図3(a)では、第1行目のIDの値が「446D0BE6」の場合は、識別子が「00000000」〜「446D0BE6」の領域に属するデータを、IPアドレスが「192.168.0.10」のサーバ4が担当することを示す。また、第2行目の場合は、1つ前の行のIDの値に1をプラスした識別子からその行のIDまでの値の識別子に属するデータを、IPアドレスが「192.168.0.25」のサーバ4が担当することを示す。
次に、第2ID空間管理情報412について説明する。第2ID空間管理情報412では、第2ID空間において同じ地域のサーバ4が隣り合わないように配置されている(図1(b)参照)。図3(b)では、第2ID空間管理情報412について、ID空間におけるIDと、サーバ4の識別子としてのIPアドレスの情報を示している。
次に、サーバ4による処理について説明する。
図4に示すように、ステップS1において、サーバ4の処理部42は、クライアントマシン1からのリクエストを、負荷分散装置3から受信したか否かを判定し、Yesの場合はステップS2に進み、Noの場合はステップS1に戻る。
ステップS2において、処理部42は、そのリクエストに対するデータ処理を行う。
ステップS3において、処理部42は、記憶部41の第1ID空間管理情報411を参照して、第1ID空間における時計回りに隣のサーバ4にデータの複製の記憶を要求する。
ステップS4において、処理部42は、記憶部41の第2ID空間管理情報412を参照して、第2ID空間における時計回りに隣のサーバ4にデータの複製の記憶を要求する。
このようにして、本実施形態によれば、高速データ複製用の第1ID空間を有する第1ID空間管理情報411と、激甚災害対策用の第2ID空間を有する第2ID空間管理情報412を用いることで、高速データ複製と激甚災害対策を両立可能な分散処理システム1000におけるサーバ4を実現することができる。つまり、異なるID空間を複数用いることで、サーバ4の割り当てのポリシについて異なる複数のものを両立して運用可能にするサーバ4を提供することができ、分散処理システム1000の柔軟な運用が可能になる。
また、サーバ4において、処理時間が短い第1ID空間管理情報411を用いたデータ複製はリクエスト処理と同期的に行い、処理時間が長い第2ID空間管理情報412を用いたデータ複製はリクエスト処理と同非期的に行うようにすれば、処理遅延の可能性を低減することができる。
以上で本実施形態の説明を終えるが、本発明の態様はこれらに限定されるものではない。
例えば、本実施形態では、高速データ複製および激甚災害対策という2つのポリシを反映した異なる2つのID空間を用いる場合を例にとって説明したが、これに限定されず、異なるポリシの複数のID空間を用いるだけでデータ消失の可能性低減等の効果が期待できるので、種々のポリシに基づく異なる複数のID空間を用いることができる。
また、地域として、データセンタエリアを単位とする場合を例にとって説明したが、データセンタエリアをさらに分割したものや都道府県等の別の単位を採用してもよい。
また、本実施形態ではコンシステント・ハッシュ法を前提としたが、他の手法を前提としてもよい。
また、本発明は、コンピュータをサーバ4として機能させるためのプログラムとしても具現化可能である。
その他、具体的な構成や処理について、本発明の主旨を逸脱しない範囲で適宜変更が可能である。
1 クライアントマシン
2 ネットワーク
3 負荷分散装置
4 サーバ
31 記憶部
32 処理部
33 入力部
34 表示部
35 通信部
41 記憶部
42 処理部
43 通信部
100 クラスタ
311 第1ID空間管理情報
312 第2ID空間管理情報
411 第1ID空間管理情報
412 第2ID空間管理情報
1000 分散処理システム

Claims (4)

  1. 環状のID(IDentifier)空間に、管理対象の複数のデータ、および、前記データを管理しクラスタを構成する複数のサーバ、が割り振られ、それぞれの前記サーバが、前記ID空間において自身から所定方向回りに次の前記サーバまでの間に位置する前記データを管理するとともに、当該次の前記サーバから前記所定方向回りにさらに次の前記サーバまでの間に位置する前記データの複製を記憶する分散処理システムにおいて、負荷分散装置によって振り分けられたクライアントマシンからのリクエストを処理する前記サーバであって、
    前記複数のサーバそれぞれは所定の3以上の複数の物理的な地域のいずれかに属しており、
    第1ID空間が前記地域の数に分割されていて、当該分割されているそれぞれの部分には同じ地域の前記サーバが配置されている第1ID空間管理情報、および、
    第2ID空間において同じ地域の前記サーバが隣り合わないように配置されている第2ID空間管理情報、を記憶する記憶部と、
    前記負荷分散装置によって振り分けられた前記クライアントマシンからのリクエストを処理するとともに、前記第1ID空間管理情報を参照して前記第1ID空間における自身から前記所定方向回りに次の前記サーバに当該リクエストの処理に用いたデータの複製の記憶を要求し、かつ、前記第2ID空間管理情報を参照して前記第2ID空間における自身から前記所定方向回りに次の前記サーバに当該リクエストの処理に用いたデータの複製の記憶を要求する処理部と、
    を備えることを特徴とするサーバ。
  2. 環状のID(IDentifier)空間に、管理対象の複数のデータ、および、前記データを管理しクラスタを構成する複数のサーバ、が割り振られ、それぞれの前記サーバが、前記ID空間において自身から所定方向回りに次の前記サーバまでの間に位置する前記データを管理するとともに、当該次の前記サーバから前記所定方向回りにさらに次の前記サーバまでの間に位置する前記データの複製を記憶する分散処理システムにおいて、負荷分散装置によって振り分けられたクライアントマシンからのリクエストを処理する前記サーバであって、
    前記ID空間における前記データの管理を担当するサーバを管理するID空間情報として各々異なるサーバの割り当てがされている第1ID空間管理情報および第2ID空間管理情報を記憶する記憶部と、
    前記負荷分散装置によって振り分けられた前記クライアントマシンからのリクエストを処理するとともに、前記第1ID空間管理情報を参照して前記第1ID空間における自身から前記所定方向回りに次の前記サーバに当該リクエストの処理に用いたデータの複製の記憶を要求し、かつ、前記第2ID空間管理情報を参照して前記第2ID空間における自身から前記所定方向回りに次の前記サーバに当該リクエストの処理に用いたデータの複製の記憶を要求する処理部と、
    を備えることを特徴とするサーバ。
  3. 前記処理部は、
    前記第1ID空間管理情報を参照して前記第1ID空間における自身から前記所定方向回りに次の前記サーバに当該リクエストの処理に用いたデータの複製の記憶を要求する場合は、当該リクエストの処理と同期的に行い
    前記第2ID空間管理情報を参照して前記第2ID空間における自身から前記所定方向回りに次の前記サーバに当該リクエストの処理に用いたデータの複製の記憶を要求する場合は、当該リクエストの処理と非同期的に行う
    ことを特徴とする請求項1に記載のサーバ。
  4. コンピュータを請求項1ないし請求項3のいずれか一項に記載の前記サーバとして機能させるためのプログラム。
JP2012047991A 2012-03-05 2012-03-05 サーバおよびプログラム Active JP5723309B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2012047991A JP5723309B2 (ja) 2012-03-05 2012-03-05 サーバおよびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2012047991A JP5723309B2 (ja) 2012-03-05 2012-03-05 サーバおよびプログラム

Publications (2)

Publication Number Publication Date
JP2013182575A true JP2013182575A (ja) 2013-09-12
JP5723309B2 JP5723309B2 (ja) 2015-05-27

Family

ID=49273154

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2012047991A Active JP5723309B2 (ja) 2012-03-05 2012-03-05 サーバおよびプログラム

Country Status (1)

Country Link
JP (1) JP5723309B2 (ja)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015141622A (ja) * 2014-01-29 2015-08-03 キヤノン株式会社 システムおよび制御方法
JP2015141451A (ja) * 2014-01-27 2015-08-03 富士通株式会社 記憶装置、複製方法及び複製プログラム
JP2015162083A (ja) * 2014-02-27 2015-09-07 日本電信電話株式会社 管理装置およびプログラム
JP2017010237A (ja) * 2015-06-22 2017-01-12 日本電信電話株式会社 ノード、データ救済方法およびプログラム
JP2017054190A (ja) * 2015-09-07 2017-03-16 日本電信電話株式会社 ノードおよびスロット最適化方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010501942A (ja) * 2006-08-22 2010-01-21 アマゾン テクノロジーズ インコーポレイテッド 高可用性データを提供するためのシステム及び方法
JP2011008711A (ja) * 2009-06-29 2011-01-13 Brother Industries Ltd ノード装置、処理プログラム及び分散保存方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010501942A (ja) * 2006-08-22 2010-01-21 アマゾン テクノロジーズ インコーポレイテッド 高可用性データを提供するためのシステム及び方法
JP2011008711A (ja) * 2009-06-29 2011-01-13 Brother Industries Ltd ノード装置、処理プログラム及び分散保存方法

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
CSNG201100450020; 中村俊介ほか1名: '読み出し性能と書き込み性能を両立させるクラウドストレージ' 報処理学会研究報告 2011(平成23)年度▲1▼ [CD-ROM] 第2011-OS-117巻 第24号, 20110615, pp.1〜9, 一般社団法人情報処理学会 *
JPN6014050058; 中村俊介ほか1名: '読み出し性能と書き込み性能を両立させるクラウドストレージ' 報処理学会研究報告 2011(平成23)年度▲1▼ [CD-ROM] 第2011-OS-117巻 第24号, 20110615, pp.1〜9, 一般社団法人情報処理学会 *

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015141451A (ja) * 2014-01-27 2015-08-03 富士通株式会社 記憶装置、複製方法及び複製プログラム
JP2015141622A (ja) * 2014-01-29 2015-08-03 キヤノン株式会社 システムおよび制御方法
JP2015162083A (ja) * 2014-02-27 2015-09-07 日本電信電話株式会社 管理装置およびプログラム
JP2017010237A (ja) * 2015-06-22 2017-01-12 日本電信電話株式会社 ノード、データ救済方法およびプログラム
JP2017054190A (ja) * 2015-09-07 2017-03-16 日本電信電話株式会社 ノードおよびスロット最適化方法

Also Published As

Publication number Publication date
JP5723309B2 (ja) 2015-05-27

Similar Documents

Publication Publication Date Title
CN107005596B (zh) 用于在集群重新配置后的工作负载平衡的复制型数据库分配
US7590672B2 (en) Identification of fixed content objects in a distributed fixed content storage system
US9442673B2 (en) Method and apparatus for storing data using a data mapping algorithm
JP6073246B2 (ja) 大規模記憶システム
US10735545B2 (en) Routing vault access requests in a dispersed storage network
US8930364B1 (en) Intelligent data integration
JP5629281B2 (ja) 管理装置およびプログラム
JP5723309B2 (ja) サーバおよびプログラム
JP2022521332A (ja) 分散システムでのメタデータルーティング
KR20130118088A (ko) 멀티 메타데이터 서버 구조를 갖는 분산 파일 시스템 및 이를 이용한 데이터 처리 방법
JP6055197B2 (ja) データベースシステム
JP6085266B2 (ja) サーバリソース管理装置
JP5745445B2 (ja) 管理装置およびプログラム
US11188258B2 (en) Distributed storage system
Ghandeharizadeh et al. Rejig: a scalable online algorithm for cache server configuration changes
JP2024514467A (ja) 地理的に分散されたハイブリッドクラウドクラスタ
JP5690296B2 (ja) 負荷分散プログラムおよび負荷分散装置
JP6093320B2 (ja) 分散処理システム
JP6053712B2 (ja) 管理装置およびプログラム
JP5815000B2 (ja) ノードおよびプログラム
Huang et al. A novel replica placement strategy for data center network
JP5711771B2 (ja) ノード離脱処理システム
JP5845298B2 (ja) ノードおよびプログラム
JP6093319B2 (ja) クラスタシステム
JP6506156B2 (ja) ノードおよびグラビテーション抑止方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20140305

RD02 Notification of acceptance of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7422

Effective date: 20140502

RD04 Notification of resignation of power of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7424

Effective date: 20140528

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20141027

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20141202

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20150127

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20150324

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20150327

R150 Certificate of patent or registration of utility model

Ref document number: 5723309

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150