JP5945252B2 - 分散処理システム - Google Patents

分散処理システム Download PDF

Info

Publication number
JP5945252B2
JP5945252B2 JP2013146854A JP2013146854A JP5945252B2 JP 5945252 B2 JP5945252 B2 JP 5945252B2 JP 2013146854 A JP2013146854 A JP 2013146854A JP 2013146854 A JP2013146854 A JP 2013146854A JP 5945252 B2 JP5945252 B2 JP 5945252B2
Authority
JP
Japan
Prior art keywords
data
server
identifier
area
loss
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.)
Expired - Fee Related
Application number
JP2013146854A
Other languages
English (en)
Other versions
JP2015018508A (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 JP2013146854A priority Critical patent/JP5945252B2/ja
Publication of JP2015018508A publication Critical patent/JP2015018508A/ja
Application granted granted Critical
Publication of JP5945252B2 publication Critical patent/JP5945252B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

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

Description

本発明は、複数のサーバで構成される分散処理システムに関する。
分散処理システムは、複数の物理的なサーバから構成され、必要に応じてこれらのサーバを仮想化して、目的となるサービスを実現する。また、分散処理システムは、一般的には、1または複数の負荷分散装置を含んで構成される。負荷分散装置は、端末(クライアント)からメッセージ信号を受信すると、所定の手法にしたがってメッセージ信号を分散処理システム内のサーバに振り分ける。各サーバは、振り分けられたメッセージ信号を処理し、端末に対してサービスを提供する。
この負荷分散装置が実行する所定の手法(振り分け手法)としては、例えば、コンシステントハッシュ法がある(非特許文献1参照)。コンシステントハッシュ法は、サーバを識別するサーバ識別子と、サーバに振り分けるメッセージ信号に含まれ、処理の対象となるデータの実体を識別するデータ識別子と、に基づいて、どのサーバにどのメッセージ信号(データ)を振り分けるかを決定する手法である。
コンシステントハッシュ法における、メッセージ信号の振り分け先の決定処理を、図1を参照して説明する。図1は、コンシステントハッシュ法を説明するためのID(Identifier)空間(識別子空間)の概念図である。サーバ識別子は、例えば、分散処理システムにサーバが参加する際などに、そのサーバに固有の識別子をハッシュ関数にかけた値(ハッシュ値)として決められる。図1においては、分散処理システムを構成するサーバのサーバ識別子を識別子空間に丸(○)で表して配置している。
識別子空間は、図1に示すように、リング状で描写されるハッシュ空間である。サーバ識別子は、例えば、その値(ハッシュ値)に基づいて識別子空間において右回りに昇順に配置される。メッセージ信号があるサーバに振り分けられるとき、データ識別子は、そのメッセージ信号に付されたデータの固有な情報をハッシュ関数にかけることで得られる値(ハッシュ値)に基づいて、識別子空間上に配置される。このデータ識別子も、サーバ識別子と同様に、その値に基づき、識別子空間において右回りに昇順に配置される。図1において、データ識別子は、三角「▲」で表して配置している。
この識別子空間に基づき、サーバは、自身のサーバ識別子の左回りに直近の別のサーバのサーバ識別子(以下、「左隣接サーバ識別子」と称する。)の配置場所から自身のサーバ識別子の配置場所まで右回りに辿る円弧上に配置されるデータ識別子を含むメッセージ信号の処理を担当する。図1において、識別子空間に配置される対象のデータ識別子と、そのデータ識別子を含むメッセージ信号の処理を行うサーバである「担当サーバ」との関係を、破線の矢印で示している。つまり、サーバ「1」は、左回りに直近のサーバであるサーバ「8」から自身のサーバ「1」との間の識別子空間に配置されるデータ識別子について、そのデータ識別子を含むメッセージ信号の処理を担当する。即ち、識別子空間上において、サーバ「8」とサーバ「1」との間の領域がサーバ「1」の担当領域となる。
サーバは、自身が担当するデータ識別子を含むメッセージ信号を処理した結果、そのデータ識別子と紐付くデータを生成し保存することがある。このようなときにおいて、あるサーバに障害が発生した場合でもデータの損失を防ぐため、データの複製(複製データ)を生成することによりデータの冗長化を実現する。複製データは、自身のサーバ識別子の右回りにN−1個の別サーバ識別子を持つサーバに配置する。ここで「N」は、冗長数であり、図1では冗長数N=3の例を示している。
このように、データを冗長化していても、大規模災害等により、識別子空間上においてN個以上連続して隣接したサーバが同時に離脱すると、原本データと全ての複製データが失われる領域が発生する。図2においては、冗長数N=3のときに、隣接するサーバ「1」,「2」,「3」が同時に離脱した場合を示している。この場合、サーバ「1」が担当していた領域のデータについては、サーバ「1」が記憶していた原本データが失われると共に、サーバ「2」,「3」が記憶していた全ての複製データも失われてしまう。このような場合に備えて、外部バックアップ装置にデータをバックアップし、ハードディスク等に半永続的に保存する方法がとられている。これにより、原本データと全ての複製データとが失われた領域が発生したときでも、外部バックアップ装置に保存しておいたデータから復旧することができる。
D. Karger, et al.,"Consistent Hashing and Random Trees: Distributed Caching Protocols for Relieving Hot Spots on the World Wide Web"、in Proceedings of the 29th ACM Symposium on Theory of Computing (STOC'97)、May 1997、pp.654-663、[online]、[平成25年6月27日検索]、インターネット<URL:http://thor.cs.ucsb.edu/~ravenben/papers/coreos/KLL+97.pdf>
この外部バックアップ装置にバックアップしておいたデータから復旧する場合、全データを一律に復旧させる手法がある。しかしながら、この手法では、全てのデータをバックアップから復旧するため、リストアに多大な時間がかかる。また、失われていなかったデータが、バックアップ取得後に更新されていた場合、そのデータがバックアップ時のデータに戻ってしまう。つまり、更新された最新の情報が失われてしまう。
そこで、本発明は、バックアップからのデータの復旧時において、原本データと全ての複製データとが失われた識別子空間上の領域(以下、「損失領域」とよぶ。図2参照。)に含まれるデータ(以下、損失領域にデータ識別子が配置されているデータを「損失データ」とよぶ。)のみを復旧対象としてデータ復旧することを課題とする。
また、損失データのみを外部バックアップ装置からの復旧対象とする場合、従来のコンシステントハッシュ法をそのまま適用すると、損失領域を新たに担当するサーバ(以下、「新規担当サーバ」とよぶ。)の担当領域が他のサーバに比べて大きくなる。例えば、図2の場合、サーバ「4」が、サーバ「1」、サーバ「2」、サーバ「3」の領域を全て追加して担当することになる。このとき、分散処理システム全体としては、1つのサーバにのみ負荷が偏り、安定動作が行われなくなる可能性が増加する。
このような背景に鑑みて本発明がなされたのであり、本発明は、原本データと全ての複製データとが失われたデータである損失データのみを復旧対象とした上で、その損失データのデータ復旧時において、サーバ負荷の偏りを低減させることができる分散処理システムを提供することを課題とする。
前記した課題を解決するため、請求項1に記載の発明は、クライアントから受信したメッセージ信号を、複数のサーバに振り分ける負荷分散装置と、前記負荷分散装置から受信した前記メッセージ信号に基づき、自身が記憶するデータについて処理を実行する複数の前記サーバと、前記サーバそれぞれが記憶するデータのバックアップとなるデータを記憶する外部バックアップ装置と、を備える分散処理システムであって、前記負荷分散装置が、リング状の識別子空間上に前記サーバそれぞれに固有な識別子であるサーバ識別子を昇順に配置すると共に、受信した前記メッセージ信号に付されるデータに固有な識別子であるデータ識別子を当該識別子空間上に昇順に配置することにより、受信した前記メッセージ信号の振り分け先となる前記サーバを決定する、コンシステントハッシュによる振り分け手法を採用しており、前記サーバそれぞれが、自身に振り分けられた前記メッセージ信号に対応するデータを原本データとして記憶しておくと共に、前記識別子空間において隣接する冗長数N−1個の他のサーバに対し、前記原本データの複製データを生成して送信することにより、当該複製データを前記他のサーバに記憶させておき、前記負荷分散装置が、前記識別子空間において前記サーバそれぞれが担当する識別子の領域を示す担当領域を格納する識別子空間管理情報が記憶される記憶部と、前記識別子空間上に配置された複数の前記サーバのうちから当該分散処理システムを離脱したサーバである離脱サーバを特定し、前記特定した離脱サーバのうちから1つの前記離脱サーバを抽出し、前記識別子空間上において前記抽出した離脱サーバに隣接する前記冗長数N−1個の他のサーバが全て前記離脱サーバである場合に、前記原本データと当該原本データについての全ての前記複製データとが失われた前記識別子空間上の領域である損失領域が存在すると判定すると共に、当該損失領域を担当していた離脱サーバの識別子空間上で左回りに直近の残存サーバの前記担当領域の広さと、当該損失領域を担当していた離脱サーバの識別子空間上で右回りに直近の残存サーバの前記担当領域の広さとを比較し、前記担当領域が小さい方のサーバを、当該損失領域の新規担当サーバに決定し、前記決定した新規担当サーバとなる前記サーバに対し、前記損失領域に配置された前記データ識別子のデータである損失データの識別子の領域を示す損失領域の識別子領域情報を付した損失データ復旧指示情報を生成して送信するデータ損失処理部と、を備え、前記サーバそれぞれが、前記識別子空間管理情報、前記原本データおよび前記複製データが記憶される記憶部と、当該記憶部に記憶された前記原本データをバックアップするためのデータを、前記外部バックアップ装置に送信するバックアップ処理部と、受信した前記損失データ復旧指示情報に付された前記損失領域の識別子領域情報を含む損失データ取得要求を前記外部バックアップ装置に送信し、前記バックアップ装置から前記損失データを受信して、当該損失データを前記原本データとして自身の記憶部に記憶するリストア処理部と、を備え、前記外部バックアップ装置が、前記原本データをバックアップするためのデータと、当該データのデータ識別子とを対応付けて格納するバックアップデータ情報が記憶される記憶部と、前記原本データをバックアップするためのデータを受信し、当該データのデータ識別子に対応付けて自身の記憶部の前記バックアップデータ情報に記憶すると共に、受信した前記損失データ取得要求に含まれる前記損失領域の識別子領域情報に基づき、前記損失領域の識別子に対応する前記データ識別子のデータを前記バックアップデータ情報から抽出し、当該抽出したデータを前記損失データとして前記損失データ取得要求を送信してきた前記サーバに送信するバックアップデータ管理部と、を備えることを特徴とする分散処理システムとした。
このように、分散処理システムは、例えば、大規模災害等が発生した場合に、負荷分散装置が、原本データと全ての複製データとが失われた識別子空間上の領域である損失領域が存在すると判定し、その損失領域を担当していた離脱サーバの左回りに直近の残存サーバ(左隣接サーバ)の識別子空間上での担当領域の広さと、損失領域を担当していた離脱サーバの右回りに直近の残存サーバ(右隣接サーバ)の識別子空間上での担当領域の広さとを比較し、担当領域が小さい方のサーバを、その損失領域を担当する新規担当サーバとして決定する。損失領域を担当する新規担当サーバとなったサーバは、外部バックアップ装置に対して、損失領域にデータ識別子が配置されているデータ(損失データ)の取得要求(損失データ取得要求)を送信し、外部バックアップ装置から、損失データのバックアップのデータを受信することにより、データを復旧する。
このようにすることで、分散処理システムは、原本データと全ての複製データとが失われたデータである損失データのみを復旧対象とした上で、残存するサーバのうち、損失領域を担当していた離脱サーバの左隣接サーバ若しくは右隣接サーバのうち、担当領域が小さい方のサーバを損失領域の新規担当サーバとして決定する。よって、分散処理システムは、損失データのみを復旧させることができると共に、その損失データのデータ復旧時において、サーバ負荷の偏りを低減させることができる。
請求項2に記載の発明は、前記負荷分散装置が、さらに、前記損失領域を、前記新規担当サーバとなるサーバの前記担当領域に追加するように前記識別子空間管理情報を変更し、前記変更した識別子空間管理情報を前記サーバそれぞれに送信する識別子管理部を備え、前記サーバそれぞれが、さらに、前記変更した識別子空間管理情報を受信し、自身の記憶部に記憶する前記識別子空間管理情報を更新する識別子空間管理情報登録部と、前記更新した識別子空間管理情報を参照し、自身の記憶部に記憶する原本データの複製データを生成し、前記識別子空間において隣接する冗長数N−1個の他のサーバに対し前記生成した複製データを送信する冗長化処理部と、を備えることを特徴とする請求項1に記載の分散処理システムとした。
このようにすることで、分散処理システムは、原本データと全ての複製データとが失われた損失データを、新規担当サーバとなるサーバが復旧した上で、その損失データ(原本データ)の複製データを生成し、冗長数N−1個の他のサーバに送信して保存させることができる。よって、分散処理システムとしての保存データの冗長数を維持することができる。
本発明によれば、原本データと全ての複製データとが失われたデータである損失データのみを復旧対象とした上で、その損失データのデータ復旧時において、サーバ負荷の偏りを低減させる分散処理システムを提供することができる。
コンシステントハッシュ法を説明するための識別子空間の概念図である。 識別子空間上における損失領域を説明するための図である。 本実施形態に係る分散処理システムの全体構成を示す図である。 本実施形態に係る負荷分散装置の構成例を示す機能ブロック図である。 本実施形態に係る識別子空間管理情報のデータ構成の一例を示す図である。 本実施形態に係る損失データ管理情報のデータ構成の一例を示す図である。 本実施形態に係るサーバの構成例を示す機能ブロック図である。 本実施形態に係る外部バックアップ装置の構成例を示す機能ブロック図である。 本実施形態に係る分散処理システムを構成する各装置が実行する全体の処理の流れを示すシーケンス図である。 本実施形態に係る負荷分散装置が実行する損失領域の特定処理の流れを示すフローチャートである。 本実施形態に係る負荷分散装置が実行する新規担当サーバの決定処理の流れを示すフローチャートである。 本実施形態に係る負荷分散装置が実行する新規担当サーバの決定処理の具体例を説明するための図である。
次に、本発明を実施するための形態(以下、「本実施形態」という)における分散処理システム1について説明する。
<システム構成と処理概要>
図3は、本実施形態に係る分散処理システム1の全体構成を示す図である。
図3に示すように、分散処理システム1は、複数のクライアント2に接続される1つ以上の負荷分散装置10と、複数のサーバ20(20A,20B,…,20N)と、外部バックアップ装置30とを含んで構成される。
負荷分散装置10は、各クライアント2からのメッセージ信号を受信し、その受信したメッセージ信号の振り分け先となるサーバ20を、コンシステントハッシュ法に基づき決定し、その決定した振り分け先のサーバ20に対して、メッセージ信号を送信する。
サーバ20それぞれは、負荷分散装置10から受け取ったメッセージ信号を処理し、メッセージ信号に対応するデータを記憶する。また、サーバ20それぞれは、自身宛のメッセージ信号に関するデータを原本データとして記憶するとともに、他のサーバ20から受信した複製データを保存する。
外部バックアップ装置30は、各サーバ20が記憶するデータを、所定の時間間隔で各サーバ20から取得することにより、バックアップのデータを記憶する。
本実施形態に係る分散処理システム1は、例えば、大規模災害等が発生した場合に、負荷分散装置10が、原本データと全ての複製データとが失われた識別子空間上の領域である損失領域が存在するか否かを判定する。そして、負荷分散装置10は、損失領域が存在する場合に、その損失領域を担当していた離脱サーバの左回りに直近の残存サーバ(左隣接サーバ)の識別子空間上での担当領域の広さと、損失領域を担当していた離脱サーバの右回りに直近の残存サーバ(右隣接サーバ)の識別子空間上での担当領域の広さとを比較し、担当領域が小さい方のサーバを、その損失領域を担当する新規担当サーバとして決定する。損失領域を担当する新規担当サーバとなったサーバ20は、外部バックアップ装置30に対して、損失領域にデータ識別子が配置されているデータ(損失データ)の取得要求(後記する「損失データ取得要求」)を送信し、外部バックアップ装置30から、損失データのバックアップのデータを受信することにより、データを復旧する。
このようにすることにより、本実施形態に係る分散処理システム1は、原本データと全ての複製データとが失われたデータである損失データのみを復旧対象とした上で、残存するサーバのうち、損失領域を担当していた離脱サーバの左隣接サーバ若しくは右隣接サーバのうち、担当領域が小さい方のサーバを損失領域の新規担当サーバとして決定する。これにより、分散処理システム1は、損失データのデータ復旧時において、サーバ負荷の偏りを低減させることができる。
<各装置の構成>
以下、本実施形態に係る分散処理システム1を構成する各装置に構成例について、具体的に説明する。
≪負荷分散装置≫
負荷分散装置10は、各クライアント2(図3参照)から受信したメッセージ信号の振り分け先となるサーバ20をコンシステントハッシュ法に基づき決定し、その決定したサーバ20にメッセージ信号を送信する。また、負荷分散装置10は、各サーバ20からメッセージ信号に対する処理結果である応答信号を受信し、メッセージ信号を送信してきたクライアント2に送信する。
さらに、負荷分散装置10は、大規模災害等が発生し複数のサーバ20が離脱した場合に、識別子空間上に原本データと全ての複製データとが失われた領域である損失領域が存在するか否かを判定して、損失領域が存在する場合に、その損失領域を担当する新規担当サーバを決定する。
図4は、本実施形態に係る負荷分散装置10の構成例を示す機能ブロック図である。
負荷分散装置10は、図4に示すように、制御部11と、入出力部12と、記憶部13とを含んで構成される。
入出力部12は、複数のクライアント2や複数のサーバ20(20A,20B,…,20N)それぞれとの間の情報の入出力を行う。例えば、入出力部12は、クライアント2からメッセージ信号を受信し、サーバ20に対しそのメッセージ信号を送信する。
また、この入出力部12は、通信回線を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力手段やモニタ等の出力手段等との間で入出力を行う入出力インタフェースとから構成される。
制御部11は、負荷分散装置10全体の制御を司り、情報受信部111と、振り分け処理部112と、識別子管理部113と、データ損失処理部114と、情報送信部115とを含んで構成される。なお、この制御部11は、例えば、記憶部13に格納されたプログラムを、不図示のCPU(Central Processing Unit)がRAM(Random Access Memory)に展開し実行することで実現される。
情報受信部111は、入出力部12を介して、クライアント2からのメッセージ信号や、各サーバ20からの応答信号等を取得する。
また、情報受信部111は、取得したメッセージ信号を、振り分け処理部112に受け渡す。
振り分け処理部112は、情報受信部111からメッセージ信号を受信すると、そのメッセージ信号に含まれる処理対象となるデータに固有な識別子を抽出しハッシュ関数にかけることで、そのメッセージ信号が対象とするデータのデータ識別子(ハッシュ値)を計算する。そして、振り分け処理部112は、計算したデータ識別子(ハッシュ値)に基づき、記憶部13に記憶された識別子空間管理情報100(後記する図5)を参照し、振り分け先となるサーバ20を決定する。振り分け処理部112は、決定したサーバ20に対して、受信したメッセージ信号を、情報送信部115を介して送信する。
なお、振り分け処理部112は、大規模災害発生等により複数のサーバ20が離脱し、損失領域が発生する可能性がある場合に、クライアント2から受信するメッセージ信号の振り分けを停止する(詳細は後記)。また、振り分け処理部112は、データ損失処理部114から、損失データが復旧した旨の情報を受け取った場合に、メッセージ信号の振り分けを再開する。
図5は、本実施形態に係る識別子空間管理情報100のデータ構成の一例を示す図である。
図5に示すように、識別子空間管理情報100は、サーバID101、サーバ識別子102、および、当該サーバのアドレス103のデータ項目を含んで構成される。
ここで、サーバID101は、メッセージ信号の振り分け先となるサーバ20を、本分散処理システム1内において特定するための固有の番号である。
サーバ識別子102は、識別子空間内において、サーバ20が担当する領域を特定するためのものであり、例えば、「0」から順に「9999」までのいずれかの値(ハッシュ値)が各サーバ20に対応付けられて格納される。
例えば、図5に示す、第1行目のサーバ識別子102が「20」の場合は、サーバID101が「1」のサーバ20の識別子空間におけるデータの担当領域が「0」〜「20」であることを示す。また、2行目のサーバ識別子102が「823」の場合は、サーバID101が「2」のサーバ20の識別子空間におけるデータの担当領域が、1つ前の行のサーバ識別子102の値に「1」をプラスした「21」〜「823」であることを示す。以下、同様である。
アドレス103は、サーバID101に示されるサーバ20についての、例えば、IP(Internet Protocol)アドレスである。
図4に戻り、識別子管理部113は、識別子空間管理情報100の作成や更新等を行う。具体的には、識別子管理部113は、識別子空間上に配置されたサーバ20が離脱した場合に、その離脱サーバが担当していた領域を隣接サーバの担当領域に追加するようにして、識別子空間管理情報100を更新する。また、識別子管理部113は、後記するデータ損失処理部114により、損失領域の新規担当サーバが決定されると、その決定を反映して識別子空間管理情報100を更新する(詳細は後記)。
識別子管理部113は、識別子空間管理情報100を更新すると、その更新情報を各サーバ20に送信する。このようにして、分散処理システム1内の負荷分散装置10と各サーバ20とが記憶する識別子空間管理情報100には、同一の情報が格納されるようにする。
データ損失処理部114は、離脱サーバを特定することにより、識別子空間上の損失領域を特定し、損失領域を担当する新規担当サーバを決定する処理を行う。
具体的には、データ損失処理部114は、例えば、分散処理システム1内の全てのサーバ20等に生存確認メッセージを送信し、その応答メッセージを各サーバ20から受信すること等により、離脱サーバを特定する。そして、データ損失処理部114は、識別子空間上において、特定した離脱サーバのうちの1つを抽出し、抽出した離脱サーバのサーバ識別子の右回りにN−1個(N:冗長数)の隣接サーバが全て離脱サーバか否かを判定する。データ損失処理部114は、N−1個の隣接サーバが全て離脱サーバである場合に、抽出した離脱サーバが担当していた領域を、損失領域として特定し、記憶部13内の損失データ管理情報150(後記する図6参照)に登録する。
次に、データ損失処理部114は、損失領域を担当していた離脱サーバの左回りに直近の残存サーバ(左隣接サーバ)の識別子空間上での担当領域の広さと、損失領域を担当していた離脱サーバの右回りに直近の残存サーバ(右隣接サーバ)の識別子空間上での担当領域の広さとを比較し、担当領域が小さい方のサーバを、その損失領域を担当する新規担当サーバとして決定する。
図6は、本実施形態に係る損失データ管理情報150のデータ構成の一例を示す図である。損失データ管理情報150は、損失領域ID151、識別子領域152、および、新規担当サーバ153のデータ項目を含んで構成される。
損失領域ID151は、本分散処理システム1内において、損失領域を特定するための固有の番号である。
識別子領域152は、識別子空間上での損失領域の範囲を示す情報であり、損失領域を担当していた離脱サーバ(サーバ20)の担当領域が格納される。
新規担当サーバ153は、データ損失処理部114により決定された当該損失領域の新規担当サーバ(損失領域を担当していた離脱サーバの右隣接サーバ若しくは左隣接サーバ)のアドレスが格納される。
データ損失処理部114は、損失領域を特定すると、図6(a)に示すように、損失データ管理情報150に新たなレコードを作成し、新たな損失領域ID151を付して、その特定した損失領域を担当していたサーバ20の担当領域を、識別子領域152に格納する。図6(a)においては、図5に示すサーバID101が「1」のサーバの担当領域が損失領域として特定された例として、損失領域ID151を「1」とし、損失領域の範囲を示す識別子領域152が「0〜20」として登録されたことを示している。
また、データ損失処理部114は、図6(b)に示すように、損失領域の右隣接サーバ若しくは左隣接サーバを新規担当サーバに決定すると、そのサーバ20のアドレスを、損失データ管理情報150内の新規担当サーバ153に格納する。
さらに、データ損失処理部114は、損失領域の新規担当サーバを特定すると、識別子領域152の情報、つまり、損失領域を担当していたサーバ20の担当領域についての情報(以下、「損失領域の識別子領域情報」とよぶことがある。)を含む、損失データ復旧指示情報を生成し、その新規担当サーバに対して送信する。
なお、データ損失処理部114は、すべての新規担当サーバから、損失データの復旧が完了したことを示す損失データ復旧完了情報を受信すると、振り分け処理部112に対し、損失データが復旧した旨の情報を出力し、メッセージ信号の振り分け処理を再開させる。
情報送信部115は、データ損失処理部114が生成した損失データ復旧指示情報や、識別子管理部113が更新した識別子空間管理情報100等を、各サーバ20に送信する。
記憶部13は、ハードディスクやフラッシュメモリ、RAM等の記憶装置からなり、前記した、識別子空間管理情報100(図5参照)や損失データ管理情報(図6参照)を記憶する。
なお、本実施形態においては、図3に示すように、負荷分散装置10は1つとして説明するが、負荷分散装置10は複数であってもよい。その場合には、複数の負荷分散装置10のうちの1つが代表(マスタ)となり、上記において説明した損失データの復旧処理を行なう。
≪サーバ≫
次に、サーバ20の構成例について説明する。図7は、本実施形態に係るサーバ20の構成例を示す機能ブロック図である。
サーバ20は、負荷分散装置10、自身以外の他のサーバ20および外部バックアップ装置30と通信可能に接続され、制御部21と、入出力部22と、記憶部23とを含んで構成される。
入出力部22は、負荷分散装置10や外部バックアップ装置30等との間の情報の入出力を行う。例えば、入出力部22は、負荷分散装置10からメッセージ信号を受信し、その処理結果である応答情報を、負荷分散装置10に送信したりする。
また、この入出力部22は、通信回線を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力手段やモニタ等の出力手段等との間で入出力を行う入出力インタフェースとから構成される。
制御部21は、サーバ20全体の制御を司り、情報受信部211と、メッセージ処理部212と、識別子空間管理情報登録部213と、冗長化処理部214と、バックアップ処理部215と、リストア処理部216と、情報送信部217とを含んで構成される。なお、この制御部21は、例えば、記憶部23に格納されたプログラムを不図示のCPUがRAMに展開し実行することで実現される。
情報受信部211は、入出力部22を介して、負荷分散装置10からのメッセージ信号や、外部バックアップ装置30からの損失データ等を受信する。
メッセージ処理部212は、クライアント2から負荷分散装置10を介して受信したメッセージ信号の内容に基づき、記憶部23内に記憶されたデータ200について、参照、変更、削除等の処理を実行し、その実行結果を、クライアント2に向けて応答情報として送信する。
識別子空間管理情報登録部213は、負荷分散装置10が作成した識別子空間管理情報100を受信し、予め記憶部23に記憶しておく。また、識別子空間管理情報登録部213は、負荷分散装置10から識別子空間管理情報100の更新情報を受信し、自身の記憶部23に記憶している識別子空間管理情報100を更新する。
冗長化処理部214は、自身のサーバ20が記憶部23に記憶する原本データについての複製データを作成し、識別子空間上において自身のサーバ識別子の右回りにN−1個(N:冗長数)の別サーバ識別子を持つサーバ20にその複製データを送信することにより保存させる。また、冗長化処理部214は、自身のサーバ20が他のサーバ20から複製データを受信した場合には、その複製データを記憶部23に記憶する。
バックアップ処理部215は、所定の時間間隔毎に、自身が保存する原本データをバックアップするための情報を、外部バックアップ装置30に送信する。この原本データをバックアップするための情報は、バックアップ処理部215が、原本データの全てを複製して外部バックアップ装置30に送信するようにしてもよいし、所定の時間間隔において変更された情報(差分情報)のみを外部バックアップ装置30に送信するようにしてもよい。
リストア処理部216は、負荷分散装置10から、損失領域を担当していたサーバ20の担当領域の情報(図6の識別子領域152を示す「損失領域の識別子領域情報」)を含む損失データ復旧指示情報を受信すると、外部バックアップ装置30に対し、その損失領域の識別子領域情報を含む損失データ取得要求を生成し、入出力部22を介して、外部バックアップ装置30に送信する。
また、リストア処理部216は、外部バックアップ装置30から損失データを取得し、記憶部23に原本データとして記憶する。さらに、リストア処理部216は、損失データを原本データとして記憶したことを契機として、冗長化処理部214を起動させることにより、記憶部23に記憶した原本データの複製データを他のサーバ20に記憶させる。
さらに、リストア処理部216は、損失データ(原本データ)の記憶部23への記憶と、冗長化処理部214による、複製データの送信が完了すると、損失データ復旧完了情報を生成し、負荷分散装置10に送信する。
情報送信部217は、メッセージ処理部212が生成したクライアント2に向けて応答情報や、リストア処理部216が生成した外部バックアップ装置30に向けての損失データ取得要求等を送信する。
記憶部23は、ハードディスクやフラッシュメモリ、RAM等の記憶装置からなり、前記した、識別子空間管理情報100や、データ200を記憶する。なお、データ200は、原本データや複製データを含む情報である。
≪外部バックアップ装置≫
次に、外部バックアップ装置30の構成例について説明する。図8は、本実施形態に係る外部バックアップ装置30の構成例を示す機能ブロック図である。
外部バックアップ装置30は、複数のサーバ20それぞれと通信可能に接続され、制御部31と、入出力部32と、記憶部33とを含んで構成される。
入出力部32は、各サーバ20との間の情報の入出力を行う。例えば、入出力部32は、各サーバ20からデータ(原本データ)を受信したり、損失データ取得要求を受信し、それに対応するデータ(損失データ)を送信したりする。
また、この入出力部32は、通信回線を介して情報の送受信を行う通信インタフェースと、不図示のキーボード等の入力手段やモニタ等の出力手段等との間で入出力を行う入出力インタフェースとから構成される。
制御部31は、外部バックアップ装置30の全体の制御を司り、情報受信部311と、バックアップデータ管理部312と、情報送信部313とを含んで構成される。
情報受信部311は、入出力部22を介して受信した、各サーバ20からのデータ(原本データ)や、損失データ取得要求等を、バックアップデータ管理部312に受け渡す。
バックアップデータ管理部312は、各サーバ20からデータ(原本データ)若しくはその原本データの差分情報を受信すると、記憶部33内のバックアップデータ情報300に記憶する。
このバックアップデータ情報300は、バックアップデータID301、データ識別子302およびデータ303から構成される。
バックアップデータID301は、外部バックアップ装置30内において、記憶したデータを特定するための固有の番号である。
データ識別子302には、識別子空間上においてそのデータを特定するためのデータ識別子の値(ハッシュ値)が格納される。
また、データ303には、バックアップのためのデータ(原本データ)の情報がデータ識別子302に対応付けられて格納される。
バックアップデータ管理部312は、損失領域の新規担当サーバとなったサーバ20から、損失領域の識別子領域情報を含む損失データ取得要求を受信すると、記憶部33内のバックアップデータ情報300を参照し、その損失領域の識別子領域情報に示される範囲のデータ識別子302に対応付けられたデータ303を抽出し、その抽出したデータ303、つまり、損失データを、損失データ取得要求を送信してきたサーバ20に対し送信する。
情報送信部313は、バックアップデータ管理部312が抽出したデータ303(損失データ)を、損失データ取得要求を送信してきたサーバ20に向けて送信する。
記憶部33は、ハードディスクやフラッシュメモリ、RAM等の記憶装置からなり、前記したバックアップデータ情報300等を記憶する。
<分散処理システムの処理の流れ>
次に、本実施形態に係る分散処理システム1が実行する処理の流れについて説明する。
図9は、本実施形態に係る分散処理システム1を構成する各装置が実行する全体の処理の流れを示すシーケンス図である。
ここでは、大規模災害等により分散処理システム1内の複数のサーバ20に障害が発生し、原本データと全ての複製データとが失われた領域である損失領域の発生が予測される事態になったものとする。このような事態が発生した場合に、負荷分散装置10は、図示を省略したネットワーク管理装置等から、例えば、損失領域発生の有無の確認指示情報を受信することを契機として、以下に示す、損失領域のデータ(損失データ)のバックアップ処理の実行を開始するようにしてもよい。また、負荷分散装置10は、各サーバ20に対し、所定の時間間隔で生存確認情報を送信し、その応答情報を受信することにより、サーバ20の生存を確認しており、所定数(例えば冗長数N個)を超えるサーバ20が一度に離脱した場合に、以下に示す、損失領域のデータ(損失データ)のバックアップ処理の実行を開始するようにしてもよい。
負荷分散装置10(振り分け処理部112)は、上記のようにして、複数のサーバ20の障害が発生したことにより、識別子空間上において損失領域が発生した可能性がある場合に、まず、クライアント2から受信するメッセージ信号の振り分けを停止する(ステップS1)。
次に、負荷分散装置10のデータ損失処理部114は、原本データおよび全ての複製データが失われた識別子空間上の領域である損失領域を特定する(損失領域の特定処理:ステップS2)。なお、この損失領域の特定処理は、後記する図10において詳細に説明する。
続いて、負荷分散装置10のデータ損失処理部114は、特定した損失領域の新規担当サーバを決定し(新規担当サーバの決定処理:ステップS3)、識別子管理部113が、損失領域を新規担当サーバが担当するように、記憶部13に記憶する識別子空間管理情報100を更新(変更)する。この新規担当サーバの決定処理は、後記する図11において詳細に説明する。
なお、図示は省略しているが、負荷分散装置10の識別子管理部113は、識別子空間管理情報100の更新(変更)情報を、分散処理システム1内の各サーバ20に送信し、各サーバ20の識別子空間管理情報100を更新させる。そして、各サーバ20は、更新した識別子空間管理情報100を参照し、新たに担当領域となったデータについては、そのサーバ20の冗長化処理部214が、自身が記憶する複製データを原本データとし、その原本データの複製データを生成して、識別子空間上において自身のサーバ識別子の右回りにN−1個(N:冗長数)の別サーバ識別子を持つサーバ20にその複製データを送信し保存させる。このようにすることにより、分散処理システム1内の冗長数を保つようにする。
次に、負荷分散装置10のデータ損失処理部114は、損失領域の識別子領域情報(損失領域を担当していたサーバ20の担当領域の情報(図6の識別子領域152))を含む損失データ復旧指示情報を生成し、ステップS3で決定した新規担当サーバに対して送信する(ステップS4)。
損失データ復旧指示情報を受信した新規担当サーバ(サーバ20)のリストア処理部216は、損失領域の識別子領域情報を含む損失データ取得要求を生成し、外部バックアップ装置30に対して送信する(ステップS5)。
外部バックアップ装置30のバックアップデータ管理部312は、損失領域の識別子領域情報を含む損失データ取得要求を新規担当サーバ(サーバ20)から受信すると、自身の記憶部33内のバックアップデータ情報300(図8)を参照し、その損失領域の識別子領域情報に示される範囲のデータ識別子302のデータ303、つまり、損失データを抽出する(損失データ抽出処理:ステップS6)。そして、バックアップデータ管理部312は、その抽出したデータ303(損失データ)を、損失データ取得要求を送信してきた新規担当サーバ(サーバ20)へ送信する(ステップS7)。
なお、このとき、損失領域の識別子領域情報において指定された領域にデータが存在しない場合もあり得るが、その場合、バックアップデータ管理部312は、データ存在しない旨を新規担当サーバ(サーバ20)へ送信する。
損失データを受信した新規担当サーバ(サーバ20)のリストア処理部216は、自身の記憶部23に、受信した損失データを原本データとして記憶する(損失データリストア処理:ステップS8)。
また、新規担当サーバ(サーバ20)のリストア処理部216は、冗長化処理部214を起動させ、冗長化処理部214が、ステップS3において更新された識別子空間管理情報100を参照し、識別子空間上で自身の右N−1個の隣接サーバに対し、データ復旧し記憶部23に記憶した損失データ(原本データ)の複製データを作成して送信する(損失データ複製送信処理:ステップS9)。
続いて、新規担当サーバ(サーバ20)のリストア処理部216は、損失データ復旧完了情報を生成して負荷分散装置10に送信する(ステップS10)。
損失データ復旧完了情報を全ての新規担当サーバ(サーバ20)から受信した負荷分散装置10は、振り分け処理部112が、クライアント2から受信するメッセージ信号の振り分けを再開する(ステップS11)。
≪損失領域の特定処理≫
次に、図9のステップS2において負荷分散装置10が実行する損失領域の特定処理について詳細に説明する。図10は、本実施形態に係る負荷分散装置10が実行する損失領域の特定処理の流れを示すフローチャートである。なお、ここで、冗長数は「N」であるものとする。
まず、負荷分散装置10のデータ損失処理部114は、大規模災害等により障害が発生し離脱したサーバ20(離脱サーバ)を特定する(ステップS20)。この離脱サーバの特定は、例えば、不図示のネットワーク管理装置から、離脱サーバに関する情報を取得してもよいし、各サーバ20に生存確認要求を送信し、それに対する応答情報を所定の時間内に受信できない場合に、そのサーバ20を離脱サーバと特定するようにしてもよい。
次に、データ損失処理部114は、特定した全ての離脱サーバの中から1つを抽出する(ステップS21)。
続いて、データ損失処理部114は、ステップS21において抽出した離脱サーバの識別子空間上の右N−1個の隣接サーバが、全て離脱サーバか否かを判定する(ステップS22)。ここで、右N−1個の隣接サーバが、全て離脱サーバである場合には(ステップS22→Yes)、ステップS23に進む。一方、右N−1個の隣接サーバのいずれかが離脱サーバではない場合には(ステップS22→No)、ステップS24に進む。
ステップS23において、データ損失処理部114は、右N−1個の隣接サーバが、全て離脱サーバであることから、抽出した離脱サーバの識別子空間上での担当領域を損失領域として特定し、損失データ管理情報150に登録する。具体的には、データ損失処理部114は、損失データ管理情報150に新たなレコードを作成し、新たな損失領域ID151を付して、その特定した損失領域を担当していた離脱サーバ(サーバ20)の担当領域を、識別子領域152に格納する(図6(a)参照)。
一方、ステップS24において、データ損失処理部114は、右N−1個の隣接サーバのうちのいずれかが残存サーバであるため、つまり、複製データを記憶するいずれかのサーバ20が存在するため、次に示す処理を実行する。データ損失処理部114は、残存サーバのうち、抽出した離脱サーバに最も近い右隣接サーバを、当該抽出した離脱サーバの担当領域を新たに担当するサーバ20として決定する。そして、識別子管理部113が、新たに担当するサーバ20の担当領域に、抽出した離脱サーバの担当領域を追加するようにして、識別子空間管理情報100を更新する。
ステップS23およびステップS24を終えると、次のステップS25において、データ損失処理部114は、ステップS20において特定した全ての離脱サーバについて、処理(ステップS21〜S24)を終了したか否かを判定する。ここで、まだ処理を実行していない離脱サーバが残っている場合には(ステップS25→No)、ステップS21に戻り、未処理の離脱サーバのうちから1つを抽出し、その後の処理を続ける。
一方、全ての離脱サーバについて処理を終了している場合には(ステップS25→Yes)、損失領域の特定処理を終了し、図9のステップS3(新規担当サーバの決定処理)に進む。
≪新規担当サーバの決定処理≫
次に、図9のステップS3において負荷分散装置10が実行する新規担当サーバの決定処理について、図11および図12を参照して、詳細に説明する。図11は、本実施形態に係る負荷分散装置10が実行する新規担当サーバの決定処理の流れを示すフローチャートである。また、図12は、本実施形態に係る負荷分散装置10が実行する新規担当サーバの決定処理の具体例を説明するための図である。なお、図12においては、リンク状の識別子空間を、説明を容易にするため直線として表現し、冗長数N=2であるものとする。また、図12(a)に示すように、サーバ「4」,「6」,「7」が大規模災害等により離脱したサーバ20(離脱サーバ)であるものとする。
図11に示すように、まず、負荷分散装置10のデータ損失処理部114は、損失データ管理情報150(図6)に記憶された損失領域の範囲を示す識別子領域152を参照し、新規担当サーバ153が空欄の領域(識別子領域152)のうち、最も大きい領域を特定する(ステップS30)。
次に、データ損失処理部114は、特定した領域の左隣接サーバと右隣接サーバの担当領域の広さを比較する(ステップS31)。
具体的には、データ損失処理部114は、まず、抽出した領域の開始識別子から左回りに直近のサーバ識別子を持つ残存するサーバ20(左隣接サーバ)と、その抽出した領域の終了識別子から右回りに直近のサーバ識別子を持つ残存するサーバ20(右隣接サーバ)とを特定する。そして、データ損失処理部114は、特定した左隣接サーバおよび右隣接サーバの両サーバについて、識別子空間管理情報100(図5)を参照し、担当領域の広さを比較する。
図12(b)に示す例においては、データ損失処理部114は、損失領域の左隣接サーバであるサーバ「5」の担当領域と、損失領域の右隣接サーバであるサーバ「8」の担当領域とを比較する。
そして、左隣接サーバの担当領域の広さが右隣接サーバの担当領域の広さより大きい場合は(ステップS32→Yes)、ステップS33において、データ損失処理部114は、より担当領域が小さい右隣接サーバを新規担当サーバとして決定し、損失データ管理情報150と識別子空間管理情報100とを更新する。具体的には、データ損失処理部114は、損失データ管理情報150の新規担当サーバ153に、決定した右隣接サーバのアドレスを格納する(図6(b)参照)。また、識別子管理部113は、損失領域を右隣接サーバが担当するように、識別子空間管理情報100を更新する。
図12(c)に示す例においては、データ損失処理部114は、左隣接サーバであるサーバ「5」の担当領域の広さが、右隣接サーバであるサーバ「8」の担当領域の広さより大きいため、より担当領域が小さい右隣接サーバのサーバ「8」を新規担当サーバとして決定する。また、識別子管理部113は、損失領域をサーバ「8」が担当するように、識別子空間管理情報100を更新する。
一方、右隣接サーバの担当領域の広さが左隣接サーバの担当領域の広さ以上の場合は(ステップS32→No)、ステップS34において、データ損失処理部114は、より担当領域が小さい左隣接サーバを新規担当サーバとして決定し、損失データ管理情報150と識別子空間管理情報100とを更新する。具体的には、データ損失処理部114は、損失データ管理情報150の新規担当サーバ153に、決定した左隣接サーバのアドレスを格納する(図6(b)参照)。また、識別子管理部113は、損失領域を左隣接サーバが担当するように、識別子空間管理情報100を更新する。
なお、この識別子空間管理情報100の更新の際に、識別子管理部113は、新規担当サーバとして決定した左隣接サーバのサーバ識別子102(図5参照)を、損失領域の終了識別子の値(ハッシュ値)に変更する。図12(c)の例において、仮に、担当領域が左隣接サーバの方が小さく、損失領域を左隣接サーバのサーバ「5」が担当するとした場合には、サーバ「5」のサーバ識別子102は、損失領域の終了識別子の値となる離脱したサーバ「6」のサーバ識別子102の値(ハッシュ値)に変更される。
なお、ステップS32においては、左隣接サーバの担当領域の広さが右隣接サーバの担当領域の広さより大きいか否かを判定するものとし、左隣接サーバの担当領域の広さと、右隣接サーバの担当領域の広さが等しい場合には、ステップS34において左隣接サーバが新規担当サーバとして決定されるものとして説明した。しかしながら、データ損失処理部114は、左隣接サーバの担当領域の広さと、右隣接サーバの担当領域の広さが等しい場合に、予め左右どちらかの隣接サーバに決めておいた側の隣接サーバを新規担当サーバに決定するようにしてもよいし、ランダムに決定するようにしてもよい。
続いて、データ損失処理部114は、損失データ管理情報150の新規担当サーバ153に空欄があるか否かを判定する(ステップS35)。
そして、データ損失処理部114は、新規担当サーバ153に空欄がある場合には(ステップS35→Yes)、ステップS30に戻り処理を続ける。一方、データ損失処理部114は、新規担当サーバ153に空欄がない場合には(ステップS35→No)、新規担当サーバの決定処理を終了し、図9のステップS4の処理に進む。
以上説明したように、本実施形態に係る分散処理システム1は、原本データと全ての複製データとが失われたデータである損失データのみを復旧対象とした上で、残存するサーバのうち、損失領域を担当していた離脱サーバの右隣接サーバ若しくは左隣接サーバのうち、担当領域が小さい方のサーバを損失領域の新規担当サーバとして決定する。これにより、分散処理システム1は、損失データのみを復旧させることができると共に、その損失データのデータ復旧時において、サーバ負荷の偏りを低減させることができる。
1 分散処理システム
2 クライアント
10 負荷分散装置
11,21,31 制御部
12,22,32 入出力部
13,23,33 記憶部
20 サーバ
30 外部バックアップ装置
100 識別子空間管理情報
111,211,311 情報受信部
112 振り分け処理部
113 識別子管理部
114 データ損失処理部
115,217,313 情報送信部
150 損失データ管理情報
200 データ
212 メッセージ処理部
213 識別子空間管理情報登録部
214 冗長化処理部
215 バックアップ処理部
216 リストア処理部
300 バックアップデータ情報
312 バックアップデータ管理部

Claims (2)

  1. クライアントから受信したメッセージ信号を、複数のサーバに振り分ける負荷分散装置と、前記負荷分散装置から受信した前記メッセージ信号に基づき、自身が記憶するデータについて処理を実行する複数の前記サーバと、前記サーバそれぞれが記憶するデータのバックアップとなるデータを記憶する外部バックアップ装置と、を備える分散処理システムであって、
    前記負荷分散装置は、リング状の識別子空間上に前記サーバそれぞれに固有な識別子であるサーバ識別子を昇順に配置すると共に、受信した前記メッセージ信号に付されるデータに固有な識別子であるデータ識別子を当該識別子空間上に昇順に配置することにより、受信した前記メッセージ信号の振り分け先となる前記サーバを決定する、コンシステントハッシュによる振り分け手法を採用しており、
    前記サーバそれぞれは、自身に振り分けられた前記メッセージ信号に対応するデータを原本データとして記憶しておくと共に、前記識別子空間において隣接する冗長数N−1個の他のサーバに対し、前記原本データの複製データを生成して送信することにより、当該複製データを前記他のサーバに記憶させておき、
    前記負荷分散装置は、
    前記識別子空間において前記サーバそれぞれが担当する識別子の領域を示す担当領域を格納する識別子空間管理情報が記憶される記憶部と、
    前記識別子空間上に配置された複数の前記サーバのうちから当該分散処理システムを離脱したサーバである離脱サーバを特定し、前記特定した離脱サーバのうちから1つの前記離脱サーバを抽出し、前記識別子空間上において前記抽出した離脱サーバに隣接する前記冗長数N−1個の他のサーバが全て前記離脱サーバである場合に、前記原本データと当該原本データについての全ての前記複製データとが失われた前記識別子空間上の領域である損失領域が存在すると判定すると共に、
    当該損失領域を担当していた離脱サーバの識別子空間上で左回りに直近の残存サーバの前記担当領域の広さと、当該損失領域を担当していた離脱サーバの識別子空間上で右回りに直近の残存サーバの前記担当領域の広さとを比較し、前記担当領域が小さい方のサーバを、当該損失領域の新規担当サーバに決定し、前記決定した新規担当サーバとなる前記サーバに対し、前記損失領域に配置された前記データ識別子のデータである損失データの識別子の領域を示す損失領域の識別子領域情報を付した損失データ復旧指示情報を生成して送信するデータ損失処理部と、を備え、
    前記サーバそれぞれは、
    前記識別子空間管理情報、前記原本データおよび前記複製データが記憶される記憶部と、
    当該記憶部に記憶された前記原本データをバックアップするためのデータを、前記外部バックアップ装置に送信するバックアップ処理部と、
    受信した前記損失データ復旧指示情報に付された前記損失領域の識別子領域情報を含む損失データ取得要求を前記外部バックアップ装置に送信し、前記バックアップ装置から前記損失データを受信して、当該損失データを前記原本データとして自身の記憶部に記憶するリストア処理部と、を備え、
    前記外部バックアップ装置は、
    前記原本データをバックアップするためのデータと、当該データのデータ識別子とを対応付けて格納するバックアップデータ情報が記憶される記憶部と、
    前記原本データをバックアップするためのデータを受信し、当該データのデータ識別子に対応付けて自身の記憶部の前記バックアップデータ情報に記憶すると共に、
    受信した前記損失データ取得要求に含まれる前記損失領域の識別子領域情報に基づき、前記損失領域の識別子に対応する前記データ識別子のデータを前記バックアップデータ情報から抽出し、当該抽出したデータを前記損失データとして前記損失データ取得要求を送信してきた前記サーバに送信するバックアップデータ管理部と、を備えること
    を特徴とする分散処理システム。
  2. 前記負荷分散装置は、さらに、
    前記損失領域を、前記新規担当サーバとなるサーバの前記担当領域に追加するように前記識別子空間管理情報を変更し、前記変更した識別子空間管理情報を前記サーバそれぞれに送信する識別子管理部を備え、
    前記サーバそれぞれは、さらに、
    前記変更した識別子空間管理情報を受信し、自身の記憶部に記憶する前記識別子空間管理情報を更新する識別子空間管理情報登録部と、
    前記更新した識別子空間管理情報を参照し、自身の記憶部に記憶する原本データの複製データを生成し、前記識別子空間において隣接する冗長数N−1個の他のサーバに対し前記生成した複製データを送信する冗長化処理部と、
    を備えることを特徴とする請求項1に記載の分散処理システム。
JP2013146854A 2013-07-12 2013-07-12 分散処理システム Expired - Fee Related JP5945252B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013146854A JP5945252B2 (ja) 2013-07-12 2013-07-12 分散処理システム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013146854A JP5945252B2 (ja) 2013-07-12 2013-07-12 分散処理システム

Publications (2)

Publication Number Publication Date
JP2015018508A JP2015018508A (ja) 2015-01-29
JP5945252B2 true JP5945252B2 (ja) 2016-07-05

Family

ID=52439421

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013146854A Expired - Fee Related JP5945252B2 (ja) 2013-07-12 2013-07-12 分散処理システム

Country Status (1)

Country Link
JP (1) JP5945252B2 (ja)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP6770244B2 (ja) * 2015-03-30 2020-10-14 日本電気株式会社 ストレージシステム
JP6322161B2 (ja) * 2015-06-22 2018-05-09 日本電信電話株式会社 ノード、データ救済方法およびプログラム
JP6387333B2 (ja) * 2015-09-07 2018-09-05 日本電信電話株式会社 ノードおよびスロット最適化方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7526514B2 (en) * 2004-12-30 2009-04-28 Emc Corporation Systems and methods for dynamic data backup
JP2012221419A (ja) * 2011-04-13 2012-11-12 Hitachi Ltd 情報記憶システム及びそのデータ複製方法
JP5544522B2 (ja) * 2011-06-21 2014-07-09 日本電信電話株式会社 負荷調整方法、負荷調整サーバ、負荷調整用サーバ装置、および、負荷調整プログラム
JP5629281B2 (ja) * 2012-03-05 2014-11-19 日本電信電話株式会社 管理装置およびプログラム
JP6055197B2 (ja) * 2012-04-06 2016-12-27 日本電信電話株式会社 データベースシステム

Also Published As

Publication number Publication date
JP2015018508A (ja) 2015-01-29

Similar Documents

Publication Publication Date Title
CN106951559B (zh) 分布式文件系统中数据恢复方法及电子设备
JP2019526106A (ja) データ処理方法及びデバイス
JP5948933B2 (ja) ジョブ継続管理装置、ジョブ継続管理方法、及び、ジョブ継続管理プログラム
EP3291487B1 (en) Method for processing virtual machine cluster and computer system
JP2009020757A (ja) データ登録装置、データ登録方法及びプログラム
JP5945252B2 (ja) 分散処理システム
CN111460039A (zh) 关系型数据库处理系统、客户端、服务器及方法
JP5969315B2 (ja) データ移行処理システムおよびデータ移行処理方法
JP6025679B2 (ja) 分散データベースシステム
WO2012171345A1 (zh) 临时故障时的数据修复方法及分布式缓存系统
US20120324279A1 (en) Method and Apparatus of Backing up Subversion Repository
CN113190620A (zh) Redis集群之间数据的同步方法、装置、设备及存储介质
WO2015196692A1 (zh) 一种云计算系统以及云计算系统的处理方法和装置
JP5918802B2 (ja) ノードおよびプログラム
EP2980707B1 (en) Method for creating a database clone of a distributed database, system for creating a database clone of a distributed database, program and computer program product
JP6093320B2 (ja) 分散処理システム
JP5658621B2 (ja) 信号振分複製先決定システム、信号振分複製先決定方法およびプログラム
JP5711772B2 (ja) クラスタシステム
JP6714547B2 (ja) 負荷分散装置、負荷分散方法、および、負荷分散プログラム
JP6506156B2 (ja) ノードおよびグラビテーション抑止方法
JP5815000B2 (ja) ノードおよびプログラム
JP2014146151A (ja) ノード離脱処理システム
JP6127005B2 (ja) クラスタシステムのサーバ装置およびプログラム
JP5914267B2 (ja) データ復旧装置
JP2017220846A (ja) 保守減設システム、ノードおよび保守減設方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20150717

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20160518

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20160527

R150 Certificate of patent or registration of utility model

Ref document number: 5945252

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees