JP6093319B2 - クラスタシステム - Google Patents

クラスタシステム Download PDF

Info

Publication number
JP6093319B2
JP6093319B2 JP2014037103A JP2014037103A JP6093319B2 JP 6093319 B2 JP6093319 B2 JP 6093319B2 JP 2014037103 A JP2014037103 A JP 2014037103A JP 2014037103 A JP2014037103 A JP 2014037103A JP 6093319 B2 JP6093319 B2 JP 6093319B2
Authority
JP
Japan
Prior art keywords
unit
processing
client
data
distribution unit
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.)
Active
Application number
JP2014037103A
Other languages
English (en)
Other versions
JP2015162105A (ja
Inventor
博史 野口
博史 野口
健 福元
健 福元
紀貴 堀米
紀貴 堀米
泰文 小川
泰文 小川
育生 大谷
育生 大谷
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 JP2014037103A priority Critical patent/JP6093319B2/ja
Publication of JP2015162105A publication Critical patent/JP2015162105A/ja
Application granted granted Critical
Publication of JP6093319B2 publication Critical patent/JP6093319B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Hardware Redundancy (AREA)

Description

本発明は、複数の処理サーバからなるクラスタシステムにおいて、大規模災害などによりデータセンタが全壊した場合でも、保持しているデータを失わずにサービスを継続するための技術に関する。
大容量データ保持、高速アクセス、高可用性が求められる近年のWebシステムでは、複数のサーバを協調動作させることにより、システム全体の処理能力を向上可能なクラスタシステムが用いられている。クラスタシステムによる分散処理では、クラスタを構成するクラスタメンバ(例えば処理サーバ)と担当するデータとが対応付けられている必要がある。クラスタメンバとデータを対応付ける手法には、コンシステントハッシング(Consistent Hashing)という手法がある(例えば、非特許文献1参照)。
コンシステントハッシングは、データのハッシュ値と、クラスタメンバに割り当てたID(Identifier)とを同一のID空間上へ射影することで、クラスタメンバの担当データを定める手法である。クラスタメンバが増減した場合でも、クラスタメンバとデータとの対応関係の変更が、全体の1/N(N:クラスタメンバ数)だけで済むため、データ再配分に要する負荷を抑えられるという特徴がある。クラスタメンバへのIDの割り当て方としては、例えばクラスタメンバのIP(Internet Protocol)アドレスのハッシュ値を用いる方法がある。
図9は、コンシステントハッシングによるクラスタメンバ(以下、適宜「メンバ」と略記)とデータとの対応付けについての説明図である。クラスタを構成する各メンバは、ハッシュ値が射影される環状のID空間上に、メンバ間の距離がほぼ均等になるように配置される。そして、各メンバは、図9に示すように、時計回りで1つ前のメンバのIDから自身のIDまでのハッシュ値のデータ範囲を担当する。それぞれのデータは、そのデータに含まれるキー情報(例えば、クライアントのIPアドレス)のハッシュ値に対応するID空間上の位置(図9の黒丸印)から時計回りに進んで最初に遭遇するメンバに振り分けられる(図9の実線矢印)。例えば、図9において、データAのキー情報のハッシュ値が白ヌキ矢印で示した位置であれば、ID空間上を時計回りに進んで最初に遭遇するメンバ「1」にデータAが振り分けられることとなる。
また、クラスタシステムの可用性を向上させるためには、担当メンバ以外にもデータの複製を持たせる冗長化手法がとられる。コンシステントハッシングにおいては、各メンバの複製データを、例えばID空間上で時計回りに進んだ隣のメンバに作成するようにする。図9に例示するように、メンバ「1」が担当するデータAの複製データは、メンバ「2」に作成し、メンバ「2」が担当するデータBの複製データは、メンバ「3」に作成する(図9の破線矢印)。こうすることにより、例えばメンバ「1」が故障等の理由でクラスタから離脱した場合でも、データAの複製データを保持しているメンバ「2」にデータAを振り分けることで、メンバ「2」によって処理を継続することが可能となる。
図10は、各メンバが自身の複製先のメンバを特定するために保持するメンバ管理表301の構成例を示す図である。図10に示すように、メンバ管理表301には、クラスタを構成する全メンバについて、メンバIDと、IPアドレス等の付加情報との各フィールドを含むレコードが、ID空間上に射影されるメンバIDの値の昇順に登録されている。
コンシステントハッシングによる負荷分散を行うには、クライアント信号を処理する複数の機能部(以下、「処理部」)からなるクラスタと、クライアント信号からキー情報を抽出してハッシュ計算を行い、対応する処理部に信号を転送する機能部(以下、「振分部」)とが必要となる。このとき、処理部のクラスタを構成するサーバマシン数は処理する信号数に応じて増加させることが可能であるが、振分部の性能については言及されていない。例えば単一のサーバマシン上に振分部を実装すると性能ボトルネックとなってシステムがスケーラブルではなくなってしまうため、本問題に対して、振分部のサーバマシンを複数にしてスケールアウトを実現するモデルが提案されている(非特許文献2参照)。
図11に示すように、本モデルに基づくクラスタシステム300は、クライアント4からのクライアント信号を処理する処理部1に加えて、振分部をもクラスタ化し、その前段にラウンドロビン等の軽微な振り分けを行う機能部(以下、「一次振分部」)3を設ける。クラスタ化される複数の振分部のことを、以下、「二次振分部」2と呼ぶ。これにより、複数の二次振分部2からなるクラスタによってクライアント4からの信号を分散処理することができ、振分部の性能ボトルネックを解消している。以下、本モデルを「二段階信号振り分けモデル」と称する。なお、一次振分部3の処理は低負荷であり、コモディティなロードバランサ製品を用いることで一般的な大規模システムが扱う信号数を十分に扱えるものとする。
図12は、前記の二段階信号振り分けモデルにおいて、一次振分部3が二次振分部2となるメンバを特定するために保持するメンバ管理表302の構成例を示す図である。図12に示すように、メンバ管理表302には、クラスタシステムを構成する全メンバについて、メンバIDと、IPアドレス等の付加情報と、メンバが有する機能との各フィールドを含むレコードが、メンバIDの値の昇順に登録されている。一次振分部3は、メンバ管理表302のなかから振分部としての機能を有するレコード(機能フィールドの値に「振分」を含むレコード)を抽出して、二次振分部2となるメンバを特定する。また、前記した図10のメンバ管理表301は、このメンバ管理表302のなかから処理部としての機能を有するレコード(機能フィールドの値に「処理」を含むレコード)を抽出することによって生成され、処理部1となる各メンバに配布される。
一方、大規模災害によるデータセンタの全壊に備えて、広域に分散したサーバマシンでクラスタを構成する広域分散クラスタモデルが提案されている(非特許文献3参照)。本モデルでは、処理サーバ及び複製データを地理的に離れた複数のサーバマシンに配置することで、大規模災害によって、地域一帯のサーバマシンが同時に使用不能となった場合にも、システムの継続稼働を実現することができる。
丸山不二夫、首藤一幸編、「雲の世界の向こうをつかむクラウドの技術」、ISBN978-4-04-868064-6、アスキー・メディアワークス、2009年11月 入江道生、外4名、"スケールアウト柔軟な構成変更を実現するセッション制御サーバのクラスタモデル"、電子情報通信学会総合大会論文集 2011、B-6-11、2011年2月 岩佐絵里子、外4名、"高可用サーバクラスタにおける大規模障害を考慮したデータ複製方式の検討"、電子情報通信学会総合大会論文集 2012、B-6-26、2012年3月
図13は、前記の二段階信号振り分けモデルと広域分散クラスタモデルとを組み合わせたクラスタシステムの実装例を示す図である。図13に示すように、広域分散クラスタシステム400においては、大規模災害に備えて、一次振分部3、二次振分部2、処理部1のそれぞれが、広域に分散された異なる拠点5a,5b,5cに配置される。このとき、各サーバが収容される拠点(データセンタ等)の間は、VPN(Virtual Private Network)や広域L2(Level2)サービス等の広域ネットワーク回線によって相互に接続される。
一般に、ネットワークコストは、通信距離と帯域(通信速度およびデータ量)とに追従して高くなる傾向があり、広域ネットワークの使用においては、そのコストに注意した設計、運用が求められる。本実装例では、全クライアント信号について、一次振分部3から処理部1に届くまでに最大2回の拠点間広域通信が発生し、さらに各拠点の地理条件によっては非常に長距離の通信となる。したがって、地理条件を無視して信号の振り分けを行うと、高額の広域ネットワークコストが生じてしまうという問題がある。
本発明は、前記の問題を解決するためになされたものであり、広域に分散したサーバマシンで構成されるクラスタシステムにおいて、大規模災害耐性を持たせつつ、広域ネットワークコストを過度に増加させなくすることを目的とする。
前記の目的を達成するために、第一の本発明は、広域に分散された複数の拠点が広域ネットワーク回線によって接続され、複数の処理サーバを有してなるクラスタシステムであって、前記拠点のうちの少なくとも1つには、クライアントから送信されるクライアント信号に係るデータを保持し、前記クライアント信号を処理することによって前記クライアントに所定のサービスを提供する処理部の機能を有する複数の処理サーバからなるクラスタと、前記クライアント信号に含まれるキー情報を用いたコンシステントハッシングによって複数の前記処理部のうちのいずれかに前記クライアント信号を振り分ける二次振分部の機能を有する複数の処理サーバからなるクラスタと、前記クライアントから送信されるクライアント信号を受信して、複数の前記二次振分部のうちのいずれかに前記クライアント信号を振り分ける一次振分部と、が設置され、前記一次振分部は、前記処理サーバのそれぞれについて、前記コンシステントハッシングのID空間に射影される当該処理サーバのメンバID情報と、当該処理サーバが前記二次振分部の機能と前記処理部の機能とを有するか否かの情報と、当該処理サーバが設置されている拠点の識別情報とを含むメンバ管理情報を、記憶部に記憶し、前記メンバ管理情報を参照することにより、前記クライアントから受信した前記クライアント信号を、自身と同一の拠点に設置されている複数の前記二次振分部に負荷が均等になるように振り分ける拠点内一次振分制御部を備え、前記処理部は、前記メンバ管理情報から抽出された前記処理部の機能を有する前記処理サーバについてのメンバ管理情報を参照して、自身に振り分けられた前記クライアント信号に係るデータの複製を、前記コンシステントハッシングのID空間において自身のメンバIDに該当する位置から所定方向に進んだときに初めて遭遇する他拠点のメンバIDに対応する前記処理部に、作成させて保持させるものとした。
このようにすることで、一次振分部からは自身と同一の拠点の二次振分部にクライアント信号が振り分けられるので、一次振分部から二次振分部への振り分けのための拠点間通信の発生を防ぐことができる。
また、第二の本発明は、広域に分散された複数の拠点が広域ネットワーク回線によって接続され、複数の処理サーバを有してなるクラスタシステムであって、前記拠点のうちの少なくとも1つには、クライアントから送信されるクライアント信号に係るデータを保持し、前記クライアント信号を処理することによって前記クライアントに所定のサービスを提供する処理部の機能を有する複数の処理サーバからなるクラスタと、前記クライアント信号に含まれるキー情報を用いたコンシステントハッシングによって複数の前記処理部のうちのいずれかに前記クライアント信号を振り分ける二次振分部の機能を有する複数の処理サーバからなるクラスタと、前記クライアントから送信されるクライアント信号を受信して、複数の前記二次振分部のうちのいずれかに前記クライアント信号を振り分ける一次振分部と、が設置され、前記一次振分部は、前記処理サーバのそれぞれについて、前記コンシステントハッシングのID空間に射影される当該処理サーバのメンバID情報と、当該処理サーバが前記二次振分部の機能と前記処理部の機能とを有するか否かの情報と、当該処理サーバが設置されている拠点の識別情報とを含むメンバ管理情報を、記憶部に記憶し、前記メンバ管理情報を参照することにより、同一の前記クライアントから受信した前記クライアント信号を、当該クライアントに対応して一意に決定される拠点に設置されている複数の前記二次振分部に負荷が均等になるように振り分ける拠点間一次振分制御部を備え、前記二次振分部は、前記メンバ管理情報から抽出された前記処理部の機能を有する自身と同一の拠点の前記処理サーバについてのメンバ管理情報を参照して、自身に振り分けられた前記クライアント信号を、自身と同一の拠点に設置されている前記処理部に振り分ける拠点内二次振分制御部を備えるものとした。
このようにすることで、二次振分部からは自身と同一の拠点の処理部にクライアント信号が振り分けられるので、二次振分部から処理部への振り分けのための拠点間通信の発生を防ぐことができる。
また、他の本発明は、前記第二の本発明のクラスタシステムにおいて、前記一次振分部は、大規模災害対策用の複製データを他拠点に作成させて保持させる複製データ振分制御部を備え、前記処理部は、自身に振り分けられた前記クライアント信号に係るデータの大規模災害対策用の複製を、自身と同一の拠点の前記一次振分部に依頼し、前記複製を依頼された前記一次振分部の前記複製データ振分制御部は、自身の拠点の大規模災害対策用のデータを保持する所定の他拠点の前記一次振分部に、前記データの大規模災害対策用の複製を依頼する複製依頼信号を送信し、前記複製依頼信号を受信した前記他拠点の一次振分部の前記複製データ振分制御部は、前記メンバ管理情報を参照して、前記複製依頼信号を自身と同一の拠点に設置されている複数の前記二次振分部のうちのいずれかに振り分け、前記複製依頼信号を振り分けられた前記二次振分部の前記拠点内二次振分制御部は、前記メンバ管理情報から抽出された前記処理部の機能を有する自身と同一の拠点の前記処理サーバについてのメンバ管理情報を参照して、自身に振り分けられた前記複製依頼信号を、自身と同一の拠点に設置されている前記処理部に振り分け、前記複製依頼信号を振り分けられた前記処理部は、前記データの大規模災害対策用の複製を作成して保持するものとした。
このようにすることで、クライアント信号を振り分ける場合と同じように、他拠点に保持させる大規模災害対策用の複製データを複数の処理サーバに分散して保持させることができる。
本発明によれば、広域に分散したサーバマシンで構成されるクラスタシステムにおいて、大規模災害耐性を持たせつつ、広域ネットワークコストを過度に増加させなくすることができる。
第1実施形態に係る広域分散クラスタシステムの全体構成例を示す図である。 第1実施形態に係る広域分散クラスタシステムを構成する一次振分部と二次振分部との機能構成例を示す図である。 一次振分部が備える拠点内一次振分制御部が、二次振分部となるメンバを特定するために保持するメンバ管理表の構成例を示す図である。 第2実施形態に係る広域分散クラスタシステムの全体構成例を示す図である。 第2実施形態に係る広域分散クラスタシステムを構成する一次振分部と二次振分部との機能構成例を示す図である。 一次振分部が備える拠点内一次振分制御部が、二次振分部となるメンバを特定するために保持するメンバ管理表の構成例を示す図である。 大規模災害対策用の複製データの保持方法についての説明図である。 大規模災害用複製データ信号の振り分け動作の例を示すシーケンス図である。 コンシステントハッシングによるクラスタメンバとデータとの対応付けについての説明図である。 各メンバが自身の複製先のメンバを特定するために保持するメンバ管理表の構成例を示す図である。 二段階信号振り分けモデルの実装例を示す図である。 二段階信号振り分けモデルにおいて、一次振分部が二次振分部となるメンバを特定するために保持するメンバ管理表の構成例を示す図である。 二段階信号振り分けモデルと広域分散クラスタモデルとを組み合わせたクラスタシステムの実装例を示す図である。
以下、本発明を実施するための形態を、適宜図面を参照しながら説明する。
<第1実施形態>
まず、本発明の第1実施形態に係る広域分散クラスタシステム100について説明する。図1は、本発明の第1実施形態に係る広域分散クラスタシステム100の全体構成例を示す図である。図1に示すように、広域分散クラスタシステム100では、一次振分部3からの振り分け先となる二次振分部2を拠点内に限定する。
図1に示すように、広域分散クラスタシステム100は、広域に分散される複数の拠点5a,5b,・・・から構成される。各拠点には、クライアント4からのクライアント信号を受け付ける一次振分部3と、1または複数の二次振分部2と、複数の処理部1とが設置される。一次振分部3は、クライアント4からのクライアント信号を単純なラウンドロビン法等により自拠点内の二次振分部2に振り分ける。二次振分部2は、受信したクライアント信号を、コンシステントハッシングによって、各処理部1に振り分ける。各処理部1は、クライアント信号に係るデータを保持し、クライアント信号を処理することで、クライアント4に所定のサービスを提供する。
図1における二次振分部2と処理部1とは、それぞれを異なるサーバマシンによって動作させてもよいし、双方の機能を同一のサーバマシンによって動作させてもよい。また、二次振分部2が1つのみ設置される拠点については、一次振分部3を省略して、クライアント4から二次振分部2に直接クライアント信号を送信することも可能である。
図2は、第1実施形態に係る広域分散クラスタシステム100を構成する一次振分部3と二次振分部2との機能構成例を示す図である。
図2に示すように、コンピュータによって構成される一次振分部3は、制御部31と、記憶部32と、通信部33とを備える。
制御部31は、不図示のCPU(Central Processing Unit)が、記憶部32に記憶されている所定の制御プログラムを不図示の主メモリにロードして実行することにより、一次振分部3全体の制御を司るとともに、拠点内一次振分制御部311としての機能を具現化する。
不図示のハードディスク装置や不揮発性メモリなどによって構成される記憶部32は、メンバ管理表321を備える。
通信部33は、通信回線を介して信号の送受信を行う不図示の通信インタフェースを備え、クライアント4や二次振分部2との間でクライアント信号などの送受信を行う。
また、コンピュータによって構成される二次振分部2は、制御部21と、記憶部22と、通信部23とを備える。
制御部21は、不図示のCPUが、記憶部22に記憶されている所定の制御プログラムを不図示の主メモリにロードして実行することにより、二次振分部2全体の制御を司るとともに、拠点間二次振分制御部211としての機能を具現化する。
不図示のハードディスク装置や不揮発性メモリなどによって構成される記憶部22は、メンバ管理表221を備える。
通信部23は、通信回線を介して信号の送受信を行う不図示の通信インタフェースを備え、一次振分部3や処理部1との間でクライアント信号などの送受信を行う。
図3は、一次振分部3が備える拠点内一次振分制御部311が、二次振分部2となるメンバを特定するために保持するメンバ管理表321の構成例を示す図である。図3に示すように、メンバ管理表321には、広域分散クラスタシステム100を構成するすべてのメンバについて、メンバIDと、IPアドレス等の付加情報と、メンバが有する機能と、メンバが設置されている拠点とのフィールドを含むレコードが、メンバIDの値の昇順に登録されている。
この拠点フィールドの値は、当該メンバIDに該当するサーバマシンが拠点に設置されるときに、広域分散クラスタシステム100の管理者によって設定される。つまり、当該サーバマシンが、広域分散クラスタシステム100の管理者によってクラスタに組み込まれる際に、IPアドレス等の付加情報や機能とともに、メンバ管理表321に登録される。なお、このメンバ管理表321の機能フィールドや拠点フィールドへの値の設定は、広域分散クラスタシステム100中に唯一存在し、管理者からのデータ入力を受け付ける代表メンバによって行われるものとする。
一次振分部3は、メンバ管理表321のなかから二次振分部2としての機能を有するとともに自身と同一の拠点に該当するレコードを抽出して、振り分け先となる二次振分部2のメンバを選定する。また、二次振分部2が備える拠点間二次振分制御部211が、処理部1となるメンバを特定するために保持するメンバ管理表221は、このメンバ管理表321のなかから処理部としての機能を有するレコードを抽出することによって生成される。
生成されたメンバ管理表221は、処理部1となる各メンバにも配布され、処理部1となる各メンバが、自身が保持するデータの複製データの作成先となるメンバを特定するために使用される。処理部1となる各メンバは、メンバ管理表221の自身のレコードを起点として、自身と異なる拠点に該当するレコードを下位方向に検索することによって、複製データの作成先となるメンバを特定し、当該メンバに複製データを生成させる。これにより、図9にて前記したID空間を、処理部1となるメンバのメンバIDの位置から時計回りに進んだときに最初に遭遇する他拠点のメンバIDに該当するメンバに、複製データを保持させることができる。
以上にて説明したように、第1実施形態によれば、一次振分部3から二次振分部2にクライアント信号を振り分けるときの拠点間通信をなくすとともに、大規模災害耐性を持ったクラスタシステムを実現することが可能である。
<第2実施形態>
続いて、本発明の第2実施形態に係る広域分散クラスタシステム200について説明する。図4は、本発明の第2実施形態に係る広域分散クラスタシステム200の全体構成例を示す図である。図4に示すように、広域分散クラスタシステム200では、二次振分部2からの振り分け先となる処理部1を拠点内に限定する。
図4に示すように、広域分散クラスタシステム200は、広域に分散される複数の拠点5a,5b,・・・から構成され、各拠点には、クライアント4からのクライアント信号を受け付ける一次振分部3と、1または複数の二次振分部2と、複数の処理部1とが設置される。
図4に示すように、この広域分散クラスタシステム200では、二次振分部2からの振り分け先となる処理部1を拠点内に限定するので、同一のクライアント4からのクライアント信号は、同一の拠点に振り分けられる必要がある。さもないと、前回のクライアント信号によって処理されたデータが存在しない拠点にクライアント信号が振り分けられ、拠点間通信によって必要なデータを取得する必要が生じてしまう。
したがって、一次振分部3は、単純なラウンドロビン法等により各拠点の二次振分部2にクライアント信号をランダムに振り分けるのではなく、クライアント信号の振り分け先となる拠点をクライアント4毎に一意に特定する必要がある。ただし、一次振分部3の処理は、二次振分部2が行うアプリケーションレイヤの情報に基づく振り分け処理よりも処理負荷が軽微であることが前提となる。したがって、一次振分部3の振り分けロジックには、アプリケーションレイヤよりも低レイヤの情報を用いるものとする。実装例としては、クライアント信号の送信元IPアドレスから求めたハッシュ値に基づいて振り分け先の拠点を一意に選択し、選択した拠点に存在する複数の二次振分部2にラウンドロビン法等によりクライアント信号を振り分ける方法が適用可能である。
二次振分部2は、受信したクライアント信号を、コンシステントハッシングによって、他拠点を含むすべての処理部1に振り分ける。各処理部1は、クライアント信号を処理することで、クライアント4に所定のサービスを提供する。図4における二次振分部2と処理部1とは、それぞれを異なる処理サーバによって動作させてもよいし、双方の機能を同一の処理サーバによって動作させてもよい。
図5は、第2実施形態に係る広域分散クラスタシステム200を構成する一次振分部3と二次振分部2との機能構成例を示す図である。
図5に示すように、コンピュータによって構成される一次振分部3は、制御部31と、記憶部32と、通信部33とを備える。
制御部31は、不図示のCPUが、記憶部32に記憶されている所定の制御プログラムを実行することにより、一次振分部3全体の制御を司るとともに、拠点間一次振分制御部312と複製データ振分制御部313としての機能を具現化する。
不図示のハードディスク装置や不揮発性メモリによって構成される記憶部32は、メンバ管理表321を備える。
通信部33は、通信回線を介して信号の送受信を行う不図示の通信インタフェースを備え、クライアント4や二次振分部2との間でクライアント信号などの送受信を行う。
また、コンピュータによって構成される二次振分部2は、制御部21と、記憶部22と、通信部23とを備える。
制御部21は、不図示のCPUが、記憶部22に記憶されている所定の制御プログラムを実行することにより、二次振分部2全体の制御を司るとともに、拠点内二次振分制御部212としての機能を具現化する。
不図示のハードディスク装置や不揮発性メモリによって構成される記憶部22は、拠点内メンバ管理表222を備える。
通信部23は、通信回線を介して信号の送受信を行う不図示の通信インタフェースを備え、一次振分部3や処理部1との間でクライアント信号などの送受信を行う。
一次振分部3が備える拠点間一次振分制御部312は、まずクライアント信号の送信元IPアドレスから求めたハッシュ値に基づいて振り分け先の拠点を一意に選択する。次に、図3に示した第1実施形態と同様なメンバ管理表321のなかから、振分部としての機能を有するレコードを抽出して、振り分け先となる拠点の二次振分部2にラウンドロビン法等によりクライアント信号を振り分ける。また、二次振分部2が備える拠点内二次振分制御部212が、処理部1となるメンバを特定するために保持する拠点内メンバ管理表222は、メンバ管理表321のなかから処理部としての機能を有する同一拠点のレコードを抽出することによって生成される。
これにより、図6に示すように、拠点aに設置される二次振分部2の記憶部22には、拠点aに設置されている処理部1に対応するメンバのレコードだけが登録された拠点内メンバ管理表222aが保持される。同様に、拠点bに設置される二次振分部2の記憶部22には、拠点bに設置されている処理部1に対応するメンバのレコードだけが登録された拠点内メンバ管理表222bが保持される。これらの拠点内メンバ管理表222は、拠点内の処理部1となる各メンバにも配布され、処理部1となる各メンバが、自身が保持するデータの複製データの作成先となるメンバを特定するために使用される。処理部1となる各メンバは、拠点内メンバ管理表222から自身のレコードの下位方向にある次のレコードを検索することによって複製データの作成先となるメンバを特定し、当該メンバに複製データを生成させる。これにより、図9にて前記したID空間を、処理部1となるメンバのメンバIDの位置から時計回りに進んで最初に遭遇する自身と同一拠点のメンバIDに該当するメンバに、複製データを保持させることができる。
さらに、大規模災害時においてもシステムを継続して稼働させるために、大規模災害対策用のもう1つの複製データを他拠点の処理部1となるメンバに持たせる。図7に示すように、拠点aの処理部1が有するデータAの複製データは拠点bに保持させ、拠点bの処理部1が有するデータBの複製データは拠点cに保持させるというように、例えば自身の拠点の右隣の拠点に複製データを保持させる。
このとき、それぞれの処理部1は、自身が処理したデータの複製を自身と同一拠点の一次振分部3に依頼する。複製を依頼された一次振分部3の複製データ振分制御部313は、メンバ管理表321を参照して複製先となる他拠点の一次振分部3を特定し、当該一次振分部3に大規模災害用複製データ信号の振り分けを依頼する。
振り分けを依頼された他拠点の一次振分部3の複製データ振分制御部313は、大規模災害用複製データ信号に関しては、自拠点の二次振分部2だけに振り分けるようにする。それによって、大規模災害用複製データ信号は自拠点の処理部1となるメンバだけに振り分けられ、当該拠点の処理部1となるメンバに分散して大規模災害用の複製データが保持されることとなる。
図8は、大規模災害用複製データ信号の振り分け動作の例を示すシーケンス図である。例えば、あるクライアント信号に係るデータを処理した拠点aのi番目のメンバ(処理部1ai)は、送信元クライアントC1のIPアドレスを送信元IPアドレスとし、当該データを含む大規模災害用データ複製信号を、自身と同一の拠点aの一次振分部3aに送信して複製を依頼する。一次振分部3aの複製データ振分制御部313(図5参照)は、自身のデータの複製先となる拠点bを特定し(図7参照)、受信した大規模災害用データ複製信号(複製依頼信号)を、拠点bの一次振分部3bに送信する。一次振分部3bの複製データ振分制御部313は、受信した大規模災害用データ複製信号を、例えばラウンドロビン等によって拠点bの二次振分部2bにランダムに振り分け、例えばj番目の二次振分部2bjに振り分けたものとする。二次振分部2bjは、受信した大規模災害用データ複製信号に含まれる送信元クライアントC1のIPアドレスからハッシュ値を算出し、コンシステントハッシングを用いて例えば自身と同一の拠点bのk番目のメンバ(処理部1bk)に当該信号を振り分ける。そして、処理部1bkが、振り分けられた大規模災害用データ複製信号から複製データを生成して保持する。
これにより、仮に大規模災害が発生してある拠点a内のサーバマシンが全滅した場合には、当該拠点の処理部1aに振り分けられていたクライアント信号は、別拠点の一次振分部3によって複製データの存在する拠点bの二次振分部2bに振り分けられ、最終的に複製データを持つ処理部1bに到達する。
以上にて説明したように、第2実施形態によれば、二次振分部2から処理部1にクライアント信号を振り分けるときの拠点間通信をなくすとともに、大規模災害耐性を持ったクラスタシステムを実現することが可能である。この第2実施形態においては、単一メンバ故障対策用の複製データを同一拠点内の別メンバに保持させ、大規模災害対策用の複製データを他拠点のメンバに保持させている。そのため、大規模災害対策用のデータ複製を必要としないシステムであれば、拠点を跨るデータ複製に伴う拠点間通信が不要となるので、ネットワークコストを更に削減することが可能となる。
以上のように、本発明によれば、広域に分散したサーバマシンで構成されるクラスタシステムにおいて、大規模災害耐性を持たせつつ、広域ネットワークコストを過度に増加させないことが可能となる。また、本発明は、特殊なネットワーク機器を必要とせず、既存のクラスタシステムのソフトウェアに大きな変更を加えることなく実現可能である。
以上にて、本発明を実施する形態の説明を終えるが、本発明の実施の態様はこれに限られるものではなく、本発明の趣旨を逸脱しない範囲において各種の変更が可能であることは言うまでもない。
1,1a,1b 処理部
2,2b 二次振分部
21,31 制御部
211 拠点間二次振分制御部
212 拠点内二次振分制御部
22,32 記憶部
221,301,302,321 メンバ管理表(メンバ管理情報)
222,222a,222b 拠点内メンバ管理表(メンバ管理情報)
23,33 通信部
3 一次振分部
313 複製データ振分制御部
4 クライアント
5a,5b,5c 拠点
100,200,400 広域分散クラスタシステム(クラスタシステム)
300 クラスタシステム

Claims (3)

  1. 広域に分散された複数の拠点が広域ネットワーク回線によって接続され、複数の処理サーバを有してなるクラスタシステムであって、
    前記拠点のうちの少なくとも1つには、
    クライアントから送信されるクライアント信号に係るデータを保持し、前記クライアント信号を処理することによって前記クライアントに所定のサービスを提供する処理部の機能を有する複数の処理サーバからなるクラスタと、
    前記クライアント信号に含まれるキー情報を用いたコンシステントハッシングによって複数の前記処理部のうちのいずれかに前記クライアント信号を振り分ける二次振分部の機能を有する複数の処理サーバからなるクラスタと、
    前記クライアントから送信されるクライアント信号を受信して、複数の前記二次振分部のうちのいずれかに前記クライアント信号を振り分ける一次振分部と、が設置され、
    前記一次振分部は、
    前記処理サーバのそれぞれについて、前記コンシステントハッシングのID空間に射影される当該処理サーバのメンバID情報と、当該処理サーバが前記二次振分部の機能と前記処理部の機能とを有するか否かの情報と、当該処理サーバが設置されている拠点の識別情報とを含むメンバ管理情報を、記憶部に記憶し、
    前記メンバ管理情報を参照することにより、前記クライアントから受信した前記クライアント信号を、自身と同一の拠点に設置されている複数の前記二次振分部に負荷が均等になるように振り分ける拠点内一次振分制御部を備え、
    前記処理部は、
    前記メンバ管理情報から抽出された前記処理部の機能を有する前記処理サーバについてのメンバ管理情報を参照して、自身に振り分けられた前記クライアント信号に係るデータの複製を、前記コンシステントハッシングのID空間において自身のメンバIDに該当する位置から所定方向に進んだときに初めて遭遇する他拠点のメンバIDに対応する前記処理部に、作成させて保持させる
    ことを特徴とするクラスタシステム。
  2. 広域に分散された複数の拠点が広域ネットワーク回線によって接続され、複数の処理サーバを有してなるクラスタシステムであって、
    前記拠点のうちの少なくとも1つには、
    クライアントから送信されるクライアント信号に係るデータを保持し、前記クライアント信号を処理することによって前記クライアントに所定のサービスを提供する処理部の機能を有する複数の処理サーバからなるクラスタと、
    前記クライアント信号に含まれるキー情報を用いたコンシステントハッシングによって複数の前記処理部のうちのいずれかに前記クライアント信号を振り分ける二次振分部の機能を有する複数の処理サーバからなるクラスタと、
    前記クライアントから送信されるクライアント信号を受信して、複数の前記二次振分部のうちのいずれかに前記クライアント信号を振り分ける一次振分部と、が設置され、
    前記一次振分部は、
    前記処理サーバのそれぞれについて、前記コンシステントハッシングのID空間に射影される当該処理サーバのメンバID情報と、当該処理サーバが前記二次振分部の機能と前記処理部の機能とを有するか否かの情報と、当該処理サーバが設置されている拠点の識別情報とを含むメンバ管理情報を、記憶部に記憶し、
    前記メンバ管理情報を参照することにより、同一の前記クライアントから受信した前記クライアント信号を、当該クライアントに対応して一意に決定される拠点に設置されている複数の前記二次振分部に負荷が均等になるように振り分ける拠点間一次振分制御部を備え、
    前記二次振分部は、
    前記メンバ管理情報から抽出された前記処理部の機能を有する自身と同一の拠点の前記処理サーバについてのメンバ管理情報を参照して、自身に振り分けられた前記クライアント信号を、自身と同一の拠点に設置されている前記処理部に振り分ける拠点内二次振分制御部を備える
    ことを特徴とするクラスタシステム。
  3. 請求項2に記載のクラスタシステムにおいて、
    前記一次振分部は、大規模災害対策用の複製データを他拠点に作成させて保持させる複製データ振分制御部を備え、
    前記処理部は、
    自身に振り分けられた前記クライアント信号に係るデータの大規模災害対策用の複製を、自身と同一の拠点の前記一次振分部に依頼し、
    前記複製を依頼された前記一次振分部の前記複製データ振分制御部は、自身の拠点の大規模災害対策用のデータを保持する所定の他拠点の前記一次振分部に、前記データの大規模災害対策用の複製を依頼する複製依頼信号を送信し、
    前記複製依頼信号を受信した前記他拠点の一次振分部の前記複製データ振分制御部は、前記メンバ管理情報を参照して、前記複製依頼信号を自身と同一の拠点に設置されている複数の前記二次振分部のうちのいずれかに振り分け、
    前記複製依頼信号を振り分けられた前記二次振分部の前記拠点内二次振分制御部は、前記メンバ管理情報から抽出された前記処理部の機能を有する自身と同一の拠点の前記処理サーバについてのメンバ管理情報を参照して、自身に振り分けられた前記複製依頼信号を、自身と同一の拠点に設置されている前記処理部に振り分け、
    前記複製依頼信号を振り分けられた前記処理部は、前記データの大規模災害対策用の複製を作成して保持する
    ことを特徴とするクラスタシステム。
JP2014037103A 2014-02-27 2014-02-27 クラスタシステム Active JP6093319B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014037103A JP6093319B2 (ja) 2014-02-27 2014-02-27 クラスタシステム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014037103A JP6093319B2 (ja) 2014-02-27 2014-02-27 クラスタシステム

Publications (2)

Publication Number Publication Date
JP2015162105A JP2015162105A (ja) 2015-09-07
JP6093319B2 true JP6093319B2 (ja) 2017-03-08

Family

ID=54185155

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014037103A Active JP6093319B2 (ja) 2014-02-27 2014-02-27 クラスタシステム

Country Status (1)

Country Link
JP (1) JP6093319B2 (ja)

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11272481A (ja) * 1998-03-19 1999-10-08 Fuji Electric Co Ltd プロセス呼出方式
US7162539B2 (en) * 2000-03-16 2007-01-09 Adara Networks, Inc. System and method for discovering information objects and information object repositories in computer networks
JP2008225793A (ja) * 2007-03-12 2008-09-25 Hitachi Information Systems Ltd 負荷分散システム
JP5452516B2 (ja) * 2011-02-01 2014-03-26 日本電信電話株式会社 分散処理装置、および、分散処理方法
JP5629281B2 (ja) * 2012-03-05 2014-11-19 日本電信電話株式会社 管理装置およびプログラム

Also Published As

Publication number Publication date
JP2015162105A (ja) 2015-09-07

Similar Documents

Publication Publication Date Title
CN112507023B (zh) 用于在集群重新配置后的工作负载平衡的复制数据库分布
US10291696B2 (en) Peer-to-peer architecture for processing big data
CN110297799B (zh) 数据管理系统及方法
KR101544480B1 (ko) 복수 개의 프락시 서버를 포함하는 분산 저장 시스템 및 그 오브젝트 관리 방법 및 컴퓨터에 의하여 독출가능한 저장 매체
US9268808B2 (en) Placement policy
US9652469B2 (en) Clustered file service
US20120166394A1 (en) Distributed storage system and method for storing objects based on locations
US11953997B2 (en) Systems and methods for cross-regional back up of distributed databases on a cloud service
US20120166492A1 (en) Database transfers using constraint free data
US11321283B2 (en) Table and index communications channels
JP5969315B2 (ja) データ移行処理システムおよびデータ移行処理方法
JP2013182575A (ja) サーバおよびプログラム
KR20130038517A (ko) 분산된 컨테이너들을 사용하여 데이터를 관리하는 시스템 및 방법
JP6093319B2 (ja) クラスタシステム
US20240176762A1 (en) Geographically dispersed hybrid cloud cluster
JP5745445B2 (ja) 管理装置およびプログラム
JP5690296B2 (ja) 負荷分散プログラムおよび負荷分散装置
JP5658621B2 (ja) 信号振分複製先決定システム、信号振分複製先決定方法およびプログラム
JP6093320B2 (ja) 分散処理システム
JP5711771B2 (ja) ノード離脱処理システム
JP5845298B2 (ja) ノードおよびプログラム
JP6506156B2 (ja) ノードおよびグラビテーション抑止方法
JP6714547B2 (ja) 負荷分散装置、負荷分散方法、および、負荷分散プログラム
JP2011180658A (ja) 分散ファイルシステムにおける冗長化方法
KR101620219B1 (ko) P2p 기반 중복제거를 이용한 가상머신 이미지 배포, 다운로드하는 방법 및 그 장치

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160218

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20161116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20161122

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170112

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: 20170207

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170210

R150 Certificate of patent or registration of utility model

Ref document number: 6093319

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150