(57)【特許請求の範囲】
【請求項１】
クラスタを構成する複数のノードそれぞれにメッセージを振り分けて処理させ、前記メッセージとして処理されたデータの原本である原本データとその複製である複製データとを異なる前記ノードに記憶させる高可用システムに備えられ、前記クラスタを構成する複数のノードのうちの一部のノードを保守減設する保守減設システムであって、
前記ノードは、
各ノードの識別情報を示すＩＤに対応付けて、各ノードが処理するデータの担当を示す振り分けＩＤ情報を記憶する記憶部と、
前記複数のノードの中から減設対象となるノードを示す減設ノードを決定する減設ノード決定部と、
前記減設ノードに対する前記メッセージの振り分けを停止し、前記減設ノードを除いた各ノードの前記データの担当を示す仮の振り分けＩＤ情報を生成する振り分け先変更処理部と、
前記仮の振り分けＩＤ情報を用いて、前記減設ノードが減設されたときに前記原本データに昇格する複製データを、原本昇格対象データとして抽出し、前記抽出した原本昇格対象データと、前記減設ノードに記憶される前記原本データとの間で同期処理を実行する限定的同期処理部と、
前記限定的同期処理部による同期処理の後に、前記原本昇格対象データを前記原本データに昇格させ、その後に、前記仮の振り分けＩＤ情報を用いて、現状の振り分けＩＤ情報を更新させる原本昇格処理部と、
前記高可用システムに定められた冗長度を保つように、前記更新された振り分けＩＤ情報に基づき前記データの複製および再配置を実行するデータ再配置処理部と、
を備えることを特徴とする保守減設システム。
【請求項２】
クラスタを構成する複数のノードそれぞれにメッセージを振り分けて処理させ、前記メッセージとして処理されたデータの原本である原本データとその複製である複製データとを異なる前記ノードに記憶させる高可用システムに備えられ、前記クラスタを構成する複数のノードのうちの一部のノードを保守減設する保守減設システムの前記ノードであって、
各ノードの識別情報を示すＩＤに対応付けて、各ノードが処理するデータの担当を示す振り分けＩＤ情報を記憶する記憶部と、
前記複数のノードの中から減設対象となるノードを示す減設ノードを決定する減設ノード決定部と、
前記減設ノードに対する前記メッセージの振り分けを停止し、前記減設ノードを除いた各ノードの前記データの担当を示す仮の振り分けＩＤ情報を生成する振り分け先変更処理部と、
前記仮の振り分けＩＤ情報を用いて、前記減設ノードが減設されたときに前記原本データに昇格する複製データを、原本昇格対象データとして抽出し、前記抽出した原本昇格対象データと、前記減設ノードに記憶される前記原本データとの間で同期処理を実行する限定的同期処理部と、
前記限定的同期処理部による同期処理の後に、前記原本昇格対象データを前記原本データに昇格させ、その後に、前記仮の振り分けＩＤ情報を用いて、現状の振り分けＩＤ情報を更新させる原本昇格処理部と、
前記高可用システムに定められた冗長度を保つように、前記更新された振り分けＩＤ情報に基づき前記データの複製および再配置を実行するデータ再配置処理部と、
を備えることを特徴とするノード。
【請求項３】
クラスタを構成する複数のノードそれぞれにメッセージを振り分けて処理させ、前記メッセージとして処理されたデータの原本である原本データとその複製である複製データとを異なる前記ノードに記憶させる高可用システムに備えられ、前記クラスタを構成する複数のノードのうちの一部のノードを保守減設する保守減設システムの保守減設方法であって、
前記ノードは、
各ノードの識別情報を示すＩＤに対応付けて、各ノードが処理するデータの担当を示す振り分けＩＤ情報を記憶部に記憶しており、
前記複数のノードの中から減設対象となるノードを示す減設ノードを決定するステップと、
前記減設ノードに対する前記メッセージの振り分けを停止し、前記減設ノードを除いた各ノードの前記データの担当を示す仮の振り分けＩＤ情報を生成するステップと、
前記仮の振り分けＩＤ情報を用いて、前記減設ノードが減設されたときに前記原本データに昇格する複製データを、原本昇格対象データとして抽出し、前記抽出した原本昇格対象データと、前記減設ノードに記憶される前記原本データとの間で同期処理を実行するステップと、
前記同期処理の後に、前記原本昇格対象データを前記原本データに昇格させ、その後に、前記仮の振り分けＩＤ情報を用いて、現状の振り分けＩＤ情報を更新させるステップと、
前記高可用システムに定められた冗長度を保つように、前記更新された振り分けＩＤ情報に基づき前記データの複製および再配置を実行するステップと、
を実行することを特徴とする保守減設方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク上の複数のノードをクラスタ構成とした高可用システム（分散処理システム）において、保守者側からの指示等を契機にクラスタの一部のノードを、そのクラスタから離脱（減設）する、保守減設システム、ノードおよび保守減設方法に関する。
【背景技術】
【０００２】
近年、クラウドコンピューティングの隆盛に伴い、多量のデータの処理や保持を効率的に行うことが求められている。そこで、複数のサーバを協調動作させることにより効率的な処理を実現する分散処理技術が発展している。
【０００３】
分散処理を行う際には、クラスタ構成からなる分散処理システムを構成する各サーバ（以下、「ノード」と称する。）が担当するデータを決定する必要がある。このとき、分散処理システム全体での処理能力を高めるためには、各ノードが担当するデータ数は平均化されていることが望ましい。
【０００４】
代表的なデータの管理手法として、各データのｋｅｙをハッシュ関数にかけた値（以下、「ｈａｓｈ（ｋｅｙ）」と称する。）をノード数Ｎで割った余り、即ち「ｈａｓｈ（ｋｅｙ） ｍｏｄ Ｎ」を番号として持つノードがデータを管理する手法がある。この場合、各ノードに事前に「０」から「Ｎ−１」までの番号を割り当てていることが前提となる。このような管理手法を用いた場合、ノードの追加・離脱が発生すると、Ｎの値が変化して、多くのデータについて、そのデータの保存を担当するノードが変更になるため、担当するデータを再配置することが必要になる。
【０００５】
そこで、ノードの追加・離脱に伴い担当するノードが変更になるデータ数を約１／Ｎに抑える方法として、コンシステント・ハッシュ（Consistent Hashing）法（非特許文献１参照）を用いたデータ管理手法がある。
【０００６】
このコンシステント・ハッシュ法を用いたデータ管理手法では、ノードとデータの双方にＩＤ（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，［平成28年 4月26日検索］，インターネット<ＵＲＬ:http://www.akamai.com/dl/technical_publications/ConsistenHashingandRandomTreesDistributedCachingprotocolsforrelievingHotSpotsontheworldwideweb.pdf>
【非特許文献２】岩佐絵里子、他２名、「高可用サーバクラスタにおける自律的データ再配置方式の一検討」、社団法人電子情報通信学会、電子情報通信学会通信ソサイエティ大会講演論文集 2012年、B-6-71、2012-08-28
【発明の概要】
【発明が解決しようとする課題】
【００２１】
この保守減設は、故障の疑いのあるノードをクラスタから切り離すことを考慮すると、より迅速に処理することが求められる。つまり、過渡期間をできる限り短縮することが求められる。しかしながら、上記の手順によると、クラスタを構成するすべてのノードの再配置や原本昇格が完了しないと、この保守減設の処理が完了しない。また、保守減設中にノードの故障が発生してしまうと、保守減設処理が無効になる上、ロールバック等に伴い、余計なノード間のデータの複製や再配置によるネットワークコストおよび処理遅延が発生してしまう。
【００２２】
このような背景を鑑みて本発明がなされたのであり、本発明は、クラスタからノードを切り離す保守減設にかかる処理時間を短縮する、保守減設システム、ノードおよび保守減設方法を提供することを課題とする。
【課題を解決するための手段】
【００２３】
前記した課題を解決するため、請求項１に記載の発明は、クラスタを構成する複数のノードそれぞれにメッセージを振り分けて処理させ、前記メッセージとして処理されたデータの原本である原本データとその複製である複製データとを異なる前記ノードに記憶させる高可用システムに備えられ、前記クラスタを構成する複数のノードのうちの一部のノードを保守減設する保守減設システムであって、前記ノードが、各ノードの識別情報を示すＩＤに対応付けて、各ノードが処理するデータの担当を示す振り分けＩＤ情報を記憶する記憶部と、前記複数のノードの中から減設対象となるノードを示す減設ノードを決定する減設ノード決定部と、前記減設ノードに対する前記メッセージの振り分けを停止し、前記減設ノードを除いた各ノードの前記データの担当を示す仮の振り分けＩＤ情報を生成する振り分け先変更処理部と、前記仮の振り分けＩＤ情報を用いて、前記減設ノードが減設されたときに前記原本データに昇格する複製データを、原本昇格対象データとして抽出し、前記抽出した原本昇格対象データと、前記減設ノードに記憶される前記原本データとの間で同期処理を実行する限定的同期処理部と、前記限定的同期処理部による同期処理の後に、前記原本昇格対象データを前記原本データに昇格させ、その後に、前記仮の振り分けＩＤ情報を用いて、現状の振り分けＩＤ情報を更新させる原本昇格処理部と、前記高可用システムに定められた冗長度を保つように、前記更新された振り分けＩＤ情報に基づき前記データの複製および再配置を実行するデータ再配置処理部と、を備えることを特徴とする保守減設システムとした。
【００２４】
請求項２に記載の発明は、クラスタを構成する複数のノードそれぞれにメッセージを振り分けて処理させ、前記メッセージとして処理されたデータの原本である原本データとその複製である複製データとを異なる前記ノードに記憶させる高可用システムに備えられ、前記クラスタを構成する複数のノードのうちの一部のノードを保守減設する保守減設システムの前記ノードであって、各ノードの識別情報を示すＩＤに対応付けて、各ノードが処理するデータの担当を示す振り分けＩＤ情報を記憶する記憶部と、前記複数のノードの中から減設対象となるノードを示す減設ノードを決定する減設ノード決定部と、前記減設ノードに対する前記メッセージの振り分けを停止し、前記減設ノードを除いた各ノードの前記データの担当を示す仮の振り分けＩＤ情報を生成する振り分け先変更処理部と、前記仮の振り分けＩＤ情報を用いて、前記減設ノードが減設されたときに前記原本データに昇格する複製データを、原本昇格対象データとして抽出し、前記抽出した原本昇格対象データと、前記減設ノードに記憶される前記原本データとの間で同期処理を実行する限定的同期処理部と、前記限定的同期処理部による同期処理の後に、前記原本昇格対象データを前記原本データに昇格させ、その後に、前記仮の振り分けＩＤ情報を用いて、現状の振り分けＩＤ情報を更新させる原本昇格処理部と、前記高可用システムに定められた冗長度を保つように、前記更新された振り分けＩＤ情報に基づき前記データの複製および再配置を実行するデータ再配置処理部と、を備えることを特徴とするノードとした。
【００２５】
請求項３に記載の発明は、クラスタを構成する複数のノードそれぞれにメッセージを振り分けて処理させ、前記メッセージとして処理されたデータの原本である原本データとその複製である複製データとを異なる前記ノードに記憶させる高可用システムに備えられ、前記クラスタを構成する複数のノードのうちの一部のノードを保守減設する保守減設システムの保守減設方法であって、前記ノードが、各ノードの識別情報を示すＩＤに対応付けて、各ノードが処理するデータの担当を示す振り分けＩＤ情報を記憶部に記憶しており、前記複数のノードの中から減設対象となるノードを示す減設ノードを決定するステップと、前記減設ノードに対する前記メッセージの振り分けを停止し、前記減設ノードを除いた各ノードの前記データの担当を示す仮の振り分けＩＤ情報を生成するステップと、前記仮の振り分けＩＤ情報を用いて、前記減設ノードが減設されたときに前記原本データに昇格する複製データを、原本昇格対象データとして抽出し、前記抽出した原本昇格対象データと、前記減設ノードに記憶される前記原本データとの間で同期処理を実行するステップと、前記同期処理の後に、前記原本昇格対象データを前記原本データに昇格させ、その後に、前記仮の振り分けＩＤ情報を用いて、現状の振り分けＩＤ情報を更新させるステップと、前記高可用システムに定められた冗長度を保つように、前記更新された振り分けＩＤ情報に基づき前記データの複製および再配置を実行するステップと、を実行することを特徴とする保守減設方法とした。
【００２６】
このように、保守減設システムでは、振り分け先変更処理の後、原本昇格対象データと原本データとの間で同期処理（限定的同期処理）を実行する。その後、原本昇格を行い、ＩＤ表を更新し、最後に、データ再配置を行う。この限定的同期処理により、原本データの最新の状態が、その原本データの消滅後に昇格する複製データ（原本昇格対象データ）に同期されるため、非同期なシステム（処理効率を優先し、複製データが常に最新ではない状態があるシステム）の場合でも、保守減設時に最新のデータを保持することができる。そして、保守減設システムでは、限定的同期処理の後、原本昇格とＩＤ表の更新を行うことで、保守減設処理に伴う過渡状態を終了する。よって、データ再配置を、保守減設とは切り離して行うことができるため、過渡状態をより短い期間にすることが可能となる。
【発明の効果】
【００２７】
本発明によれば、クラスタからノードを切り離す保守減設にかかる処理時間を短縮する、保守減設システム、ノードおよび保守減設方法を提供することができる。
【図面の簡単な説明】
【００２８】
【図１】本実施形態に係る保守減設システムを含む分散処理システムの全体構成を示す図である。
【図２】本実施形態に係るノードの構成例を示す機能ブロック図である。
【図３】本実施形態に係るノード識別子管理情報のデータ構成例を示す図である。
【図４】本実施形態に係る振り分けＩＤ情報（ＩＤ表）のデータ構成例を示す図である。
【図５】本実施形態に係る故障確率情報のデータ構成例を示す図である。
【図６】本実施形態に係る保守減設システムが実行する保守減設処理を示すシーケンス図である。
【図７】従来の分散処理システム（高可用システム）における保守減設の処理シーケンスを示す図である。
【発明を実施するための形態】
【００２９】
＜全体構成＞
まず、本発明を実施するための形態（以下、「本実施形態」と称する。）に係る保守減設システム１０００を含む分散処理システム（高可用システム）Ｓについて説明する。
図１は、本実施形態に係る保守減設システム１０００を含む分散処理システムＳの全体構成を示す図である。
【００３０】
この保守減設システム１０００は、複数のノード１から構成される。各ノード１は、コンピュータなどの物理装置や仮想マシンなどの論理装置である。ロードバランサ３は、クライアント２から受信したメッセージを、単純なラウンドロビン等により振り分けて各ノード１に送信する。そして、ノード１の振り分け部１３は、クライアント２からのメッセージを、例えば、コンシステント・ハッシュ法等に基づき、メッセージを担当するノード１に振り分ける。メッセージを担当するノード１では、信号処理部１４において、信号処理を行い、クライアント２にサービスを提供する。
【００３１】
なお、ロードバランサ３が存在せず、クライアント２から任意のノード１（振り分け部１３）にメッセージを送信することも可能である。また、振り分け部１３と信号処理部１４とは、同じノード１上に同時に存在してもよいし、別々のノード１上に存在してもよい。
【００３２】
また、保守減設システム１０００においてクラスタを構成する各ノード１は、ＩＤ表（後記する振り分けＩＤ情報２００等）を管理する代表ノード１Ａと、代表ノード１Ａ以外のノード１である既存ノード１ａで構成される。ここで、代表ノード１Ａは、ネットワーク管理装置等の外部装置との間で、情報の送受信を行い、保守減設システム１０００全体を制御する。なお、ネットワーク管理装置は、保守減設システム１０００およびロードバランサ３と通信接続され、分散処理システムＳ全体を管理する。
【００３３】
＜概要＞
従来の保守減設の処理は図７で示したように、振り分け先変更処理→データ再配置→原本昇格→ＩＤ表更新の順で行われていた。しかしながら、この手順では、振り分け先変更処理において、減設ノードを除いた仮ＩＤ表での処理に移行した後、最終的にＩＤ表を更新するまでは、過渡期間となる。つまり、データの再配置や原本昇格のすべてが完了しないと、保守減設の処理が完了しない。
これに対し、本実施形態に係る保守減設システム１０００では、振り分け先変更処理の後、本発明特有の限定的同期処理（詳細は後記）を実行する。その後、原本昇格を行い、ＩＤ表を更新し、最後に、データ再配置を行う。この限定的同期処理は、減設ノードが持つ原本データと、減設ノードが減設された後に新たに原本データに昇格する複製データとの間で、データ内容を一致させる同期処理を意味する。この限定的同期処理により、原本データの最新の状態が、その原本データの消滅後に昇格する複製データに同期される。そして、保守減設システム１０００において、限定的同期処理の後、原本昇格とＩＤ表の更新を行うことで、保守減設処理に伴う過渡状態を終了する。つまり、データ再配置を、保守減設とは切り離して行うことができるため、過渡状態をより短い期間にすることが可能となる。
以下、本実施形態に係るノード１を含む保守減設システム１０００について、具体的に説明する。
【００３４】
≪ノード≫
まず、本実施形態に係る保守減設システム１０００を構成するノード１について、具体的に説明する。なお、本実施形態に係るノード１は、保守減設システム１０００を構成する複数のノード１のうち、後記するノード識別子管理情報１００（図３参照）、および、上記したＩＤ表（振り分けＩＤ情報２００（図４参照））を管理する代表ノード１Ａとなる場合と、代表ノード１Ａからノード識別子管理情報１００および振り分けＩＤ情報２００を受け取り、各情報を更新して記憶する既存ノード１ａ（非代表ノード）になる場合とが存在する。なお、代表ノード１Ａが行う処理等については、後記する。また、保守減設システム１０００において、クラスタを構成する既存ノード１ａのうち、減設対象となるノード１を減設ノード１ｂとして、以下において説明する。また、本実施形態に係るノード１の代表ノード１Ａが、減設ノード１ｂを決定する処理に用いる情報の例として、ここでは、代表ノード１Ａが外部装置から故障確率情報３００（図５参照）を受信し、各ノード１の故障確率に基づき、減設ノード１ｂを決定する例として説明する。
【００３５】
図２は、本実施形態に係るノード１の構成例を示す機能ブロック図である。
図２に示すように、ノード１は、制御部１０と、入出力部２０と、記憶部３０とを含んで構成される。
【００３６】
入出力部２０は、ロードバランサ３や、自身以外の他のノード１、ネットワーク管理装置（図示省略）、他の外部装置（図示省略）等との間の情報の入出力を行う。また、この入出力部２０は、通信回線を介して情報の送受信を行う通信インタフェース（図示省略）と、キーボード等の入力手段やモニタ等の出力手段との間で入出力を行う入出力インタフェース（図示省略）とから構成される。
【００３７】
記憶部３０は、ハードディスクやフラッシュメモリ、ＲＡＭ（Random Access Memory）等の記憶手段からなり、処理の対象となるデータ４００や、ノード識別子管理情報１００（図３参照）、振り分けＩＤ情報２００（図４参照）、減設ノード１ｂを決定する際に用いる故障確率情報３００（図５）等が記憶される。なお、このデータ４００には、そのノード１自身が原本として記憶する原本データと、自身以外の他のノード１が記憶する原本データの複製が複製データとして記憶される。この記憶部３０に記憶される各情報についての詳細は後記する。
【００３８】
制御部１０は、ノード１全体の制御を司り、ノード識別子管理部１１、減設ノード決定部１２、振り分け部１３、信号処理部１４、保守減設処理部１５を含んで構成される。なお、この制御部１０は、例えば、記憶部３０に格納されたプログラムをＣＰＵ（図示省略）がＲＡＭ（図示省略）に展開し実行することで実現される。
【００３９】
ノード識別子管理部１１は、保守減設システム１０００においてクラスタを構成する各ノード１のノード情報（ＩＰアドレス等）および各ノード１が担当するＩＤ空間を管理する。
具体的には、ノード識別子管理部１１は、自身が属する保守減設システム１０００においてノード１の離脱（減設）等が発生した場合に、保守減設システム１０００を構成するノード１の識別情報等が記憶されたノード識別子管理情報１００（図３）を更新する。
【００４０】
図３は、本実施形態に係るノード識別子管理情報１００のデータ構成例を示す図である。
図３に示すように、ノード識別子管理情報１００には、保守減設システム１０００を構成する各ノード１のノード識別子１０１とアドレス１０２（例えば、ＩＰアドレス）とが対応付けられて格納される。
【００４１】
このノード識別子１０１は、例えば、当該保守減設システム１０００内において予め設定される特定のノード（例えば、ノード識別子１０１の昇順に設定した代表ノード１Ａ）のノード識別子管理部１１で付与され、当該保守減設システム１０００内の各ノード１に配信される。
【００４２】
ノード識別子管理部１１は、外部から受信したノードＩＤの変更情報に基づき、ノード識別子管理情報１００を更新（ノード１の減設等を反映）する。
さらに、ノード識別子管理部１１は、自身が代表ノード１Ａのノード識別子管理部１１である場合には、減設ノード決定部１２により、減設するノード（減設ノード１ｂ）が決定され、後記する保守減設処理部１５の振り分け先変更処理部１５１により、減設ノード１ｂへの振り分けが停止されると、その減設ノード１ｂを削除した仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を生成し、減設ノード１ｂ以外の既存ノード１ａに送信する。
また、ノード識別子管理部１１は、自身が既存ノード１ａのノード識別子管理部１１である場合には、代表ノード１Ａから仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を受信し、自身の記憶部３０に記憶する。また、ノード識別子管理部１１は、振り分けＩＤ情報２００の更新通知を代表ノード１Ａから受信すると、仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を用いて、現状の振り分けＩＤ情報２００を更新する。
【００４３】
図４は、本実施形態に係る振り分けＩＤ情報２００（ＩＤ表）のデータ構成例を示す図である。図４（ａ）は、保守減設前（現状）の振り分けＩＤ情報２００を示し、図４（ｂ）は、仮の振り分けＩＤ情報２００ｋ、および、保守減設後（更新後）の振り分けＩＤ情報２００ｇを示す。
【００４４】
図４（ａ）に示すように、振り分けＩＤ情報２００には、ノード識別子２０１に対応付けて、そのノード１が担当するＩＤ空間２０２（担当領域）が格納される。このノード識別子２０１は、図３のノード識別子１０１と同様の情報である。図４（ａ）に示す例では、ＩＤ空間の全ＩＤ数が「０」〜「９９９」の１０００であり、例えば、ノード識別子２０１が「Ａ」のノード１が、担当するＩＤ空間２０２として「０〜１９９」について担当することを示している。また、この振り分けＩＤ情報２００において、ノード識別子２０１が「Ａ」のノード１（ノード「Ａ」）のＩＤ空間上のノードＩＤは、「１９９」である。以下同様に、ノード「Ｂ」のＩＤ空間上でのノードＩＤは「３９９」である。ノード「Ｃ」のＩＤ空間上でのノードＩＤは「５９９」である。ノード「Ｄ」のＩＤ空間上でのノードＩＤは「７９９」である。ノード「Ｅ」のＩＤ空間上でのノードＩＤは「９９９」である。そして、ノード識別子管理部１１は、振り分けＩＤ情報２００において、各ノード１のノードＩＤを昇順にソートし、連続したＩＤ空間２０２として管理する。
【００４５】
図４（ｂ）は、図４（ａ）のＩＤ空間において、減設対象のノード１としてノード「Ｄ」が選ばれた場合に、ノード識別子管理部１１が生成する仮の振り分けＩＤ情報２００ｋ（２００）を示す。なお、この仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）は、保守減設処理の結果、減設ノード１ｂの減設後の振り分けＩＤ情報２００ｇ（２００）となる。
【００４６】
図４（ｂ）では、ノード「Ｄ」が減設ノード１ｂであるとして削除され、ノード「Ｄ」が担当していた領域を、ノード「Ｃ」とノード「Ｅ」とが２等分して分担した例を示している。図４（ｂ）においては、ノード「Ｃ」の担当領域が、削除したノード「Ｄ」が担当した領域の半分を受け継ぎ「４００」〜「６９９」に変更されている。また、ノード「Ｅ」の担当領域が、削除したノード「Ｄ」の担当した領域の半分を受け継ぎ「７００」〜「９９９」に変更されている。ただし、減設ノード１ｂが担当していたＩＤ空間の領域を、既存ノード１ａにおいて、どのように分担させるかについてのロジックは、ネットワーク管理者により予め設定されているものとする。ノード識別子管理部１１は、減設ノード決定部１２が減設ノード１ｂを決定した場合に、この予め設定されたロジック（所定のロジック）に基づき、仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を生成する。
【００４７】
保守減設システム１０００内の代表ノード１Ａのノード識別子管理部１１は、各ノード１に対して、仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を送信する。また、代表ノード１Ａのノード識別子管理部１１は、仮の振り分けＩＤ情報２００ｋが更新され、保守減設後（更新後）の振り分けＩＤ情報２００ｇ（図４（ｂ）参照）となった後において、減設ノード１ｂを削除したノード識別子管理情報１００（図３参照）を各既存ノード１ａに送信する。このようにすることにより、保守減設システム１０００内の各ノード１には、同一のノード識別子管理情報１００および同一の振り分けＩＤ情報２００が保持される。
【００４８】
なお、代表ノード１Ａは、例えば、このノード識別子管理情報１００（図３）の一番上の行のノード１から順に、代表ノード１Ａとなるように設定される。ノード１が新たに代表ノード１Ａになった場合、自身が代表ノード１Ａであることを示す情報を、各既存ノード１ａ等に送信する。
【００４９】
図２に戻り、減設ノード決定部１２は、保守減設システム１０００を構成する各ノード１のうち、減設対象となるノード（減設ノード１ｂ）を決定する。この減設ノード１ｂの決定は、例えば、定期点検のため、ネットワーク管理装置（図示省略）から減設ノード１ｂの指定情報を取得し、その指定情報に基づき決定してもよい。また、代表ノード１Ａが各既存ノード１ａの状態を監視し、例えば、所定値より多い警報通知を受信したりすることにより、故障の疑いのあるノード１を減設ノード１ｂとして決定してもよい。
本実施形態においては、外部装置から地震等の災害による（近い）将来の故障確率情報を取得し、減設ノード決定部１２が、所定の故障確率以上のノード１（被災して障害が発生する確率が高いノード）を、減設対象ノード（減設ノード１ｂ）として決定する例として説明する。
【００５０】
なお、この故障確率情報は、例えば、非特許文献３（Hiroshi Saito，et al.，”Proposal of Disaster Avoidance Control，” Proc. of Telecommunications Network Strategy and Planning Symposium (Networks)，2014 16th International．）に記載の技術により実現される。非特許文献３に記載の技術では、災害（地震等）の発生位置と、ネットワーク上の各ノード１の位置関係に基づき故障確率を算出する。本実施形態に係る代表ノード１Ａの減設ノード決定部１２は、保守減設システム１０００を構成する各ノード１の故障確率情報を、例えばネットワーク管理装置（図示省略）等を介して外部装置から取得する。
【００５１】
図５は、本実施形態に係る故障確率情報３００のデータ構成例を示す図である。
故障確率情報３００は、各拠点のノード１（サーバ）それぞれが、将来発生が予測される大規模災害等により故障する確率（障害が発生する確率）を示す情報である。なお、大規模災害等とは、例えば、台風や暴風雨、竜巻、落雷、大雨、河川の氾濫、津波、地震等であり、数日若しくは数秒から数時間後に、拠点が位置する地域において、上記災害による物理的な損傷（ネットワークの切断等も含む）や、停電の発生、若しくは、サーバの管理者がサーバ設置施設に近付けない等を含む障害によりサーバが使用不能となる予測される確率を示す情報である。
【００５２】
この故障確率情報３００は、ノード識別子３０１、時刻３０２、故障確率３０３のデータ項目から構成される。
ノード識別子３０１は、クラスタを構成する各ノード１の識別子を表わし、図３および図４のノード識別子１０１，２０１と同様の情報である。
時刻３０２および故障確率３０３は、ノード識別子３０１に対応付けて格納される情報である。故障確率３０３には、時刻３０２（所定時刻）における当該サーバの故障確率（％）が格納される。なお、図５においては、時刻３０２は、１時間毎に設定される例を示している。
例えば、故障確率情報３００の１行目に示すように、ノード識別子３０１のノード「Ａ」は、時刻３０２で示される「2015年6月1日」の13時から14時の間の故障確率３０３が「１０（％）」、14時から15時の間の故障確率３０３が「３０（％）」、15時から16時の間の故障確率３０３が「４０（％）」であることを示している。
【００５３】
減設ノード決定部１２は、この故障確率情報３００を参照し、所定の故障確率以上のノード１（被災して障害が発生する確率が高いノード）を、減設対象ノード（減設ノード１ｂ）として決定する。例えば、減設ノード決定部１２は、故障確率３０３が所定の故障確率（例えば、５０％以上）を超えたノード「Ｄ」を、減設ノード１ｂとして決定する。
【００５４】
図２に戻り、振り分け部１３は、ロードバランサ３（図１）等を介してクライアント２から受信したメッセージ（信号）内の情報（「振り分けキー」）をもとに「ｈａｓｈ（ｋｅｙ）」を算出し、振り分けＩＤ情報２００（図４）を参照して、そのメッセージの処理を担当するノード１を抽出する。そして、振り分け部１３は、その抽出したノード１のアドレス情報を、ノード識別子管理情報１００（図３）を参照して取得し、その抽出したノード１へメッセージの振り分け（送信）を行う。
【００５５】
信号処理部１４は、自身のノード１が担当するデータに関するメッセージの信号処理を実行する。このメッセージにより信号処理部１４が実行する処理は、例えば、データの登録、更新、検索、削除等である。また、信号処理部１４は、データの登録や更新等のメッセージを受信した場合に、振り分けＩＤ情報２００を参照し、冗長度に応じて、自身のノード１からＩＤ空間上で時計回りに次のノードというようにして、データの複製を行うノード（複製ノード）を決定する（冗長度が「３」の場合は、２つの複製ノードを決定する。）。そして、信号処理部１４は、決定した複製ノードに対して、原本データを複製した複製データの送信し、その複製データを記憶させる。
この信号処理部１４は、信号処理後に送付するメッセージに、例えば、ＳＩＰ（Session Initiation Protocol）においては「Call-id」をもとに算出したハッシュ値を振り分けキーとして埋め込む（ＳＩＰにおいては、例えばTo/FromヘッダのTagに記載する。）ようにしてもよい。これにより、振り分け部１３がそのメッセージの後続呼を受信した場合に、振り分けキーとして埋め込まれたハッシュ値を用いて、振り分けＩＤ情報２００（図４）を参照し、その後続呼を担当するノード１を特定することができる。
【００５６】
保守減設処理部１５は、減設ノード決定部１２が、クラスタから減設させるノード（減設ノード１ｂ）を決定した際に、保守減設処理を実行する。
この保守減設処理部１５は、振り分け先変更処理部１５１と、限定的同期処理部１５２と、原本昇格処理部１５３と、データ再配置処理部１５４とを備える。
【００５７】
振り分け先変更処理部１５１は、減設ノード決定部１２が、減設ノード１ｂを決定した場合に、その減設対象となるノード１（減設ノード１ｂ）に信号が振り分けられないようにするため、ネットワーク管理装置（図示省略）に対し、振り分け先変更依頼を送信する。これにより、ネットワーク管理装置は、ロードバランサ３等の設定を変更し、減設ノード１ｂに対し、メッセージ（信号）を振り分けないように設定変更を行う。
また、振り分け先変更処理部１５１は、ノード識別子管理部１１に対し、減設ノード１ｂへの信号振り分けが停止されたことを通知する。これにより、ノード識別子管理部１１に、所定のロジックに基づき、減設ノード１ｂが減設したものとする仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を生成させる。
そして、振り分け先変更処理部１５１は、既存ノード１ａおよび減設ノード１ｂのすべてに対し、生成した仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を通知する。
【００５８】
限定的同期処理部１５２は、自身が既存ノード１ａの限定的同期処理部１５２である場合に、仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を参照し、自身が持つ複製データのうち、原本昇格の対象となる複製データ（以下、「原本昇格対象データ」と称する。）を抽出する。そして、限定的同期処理部１５２は、減設ノード１ｂが持つ原本データと、原本昇格対象データとの間で、同期処理を実行する。
具体的には、原本昇格対象データを有する既存ノード１ａの限定的同期処理部１５２から、減設ノード１ｂの限定的同期処理部１５２に対し、同期要求を送信する。そして、減設ノード１ｂの限定的同期処理部１５２が、現状の振り分けＩＤ情報２００を参照し、自身が原本として持つデータ（原本データ）を抽出し、当該原本データの情報を同期情報として同期要求を送信してきた既存ノード１ａに送信する。このとき、減設ノード１ｂの限定的同期処理部１５２は、原本データと複製データとの間の差分情報のみを送信するようにしてもよい。
【００５９】
原本昇格処理部１５３は、自身が原本昇格の対象となる複製データ（原本昇格対象データ）を有する既存ノード１ａの原本昇格処理部１５３である場合に、限定的同期処理部１５２による原本昇格対象データと原本データとの間の同期処理が終了すると、その複製データ（原本昇格対象データ）を原本データに昇格する。
そして、原本昇格処理部１５３は、複製データを原本データに昇格したことを示す原本昇格完了通知を代表ノード１Ａに送信する。
【００６０】
代表ノード１Ａの原本昇格処理部１５３は、原本昇格完了通知を受信すると、ノード識別子管理部１１に対し、仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を用いて、現状の振り分けＩＤ情報２００を更新する処理の実行を指示する。
そして、代表ノード１Ａの原本昇格処理部１５３は、自身の振り分けＩＤ情報２００が更新されたことを契機として、既存ノード１ａに対し、仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を用いて、現状の振り分けＩＤ情報２００を更新する指示情報であるＩＤ表更新通知を既存ノード１ａに送信し、現状の振り分けＩＤ情報２００を更新させる。
また、代表ノード１Ａの原本昇格処理部１５３は、原本昇格処理が完了したことを示す原本昇格完了通知を、ネットワーク管理装置に送信する。
【００６１】
データ再配置処理部１５４は、自身が代表ノード１Ａのデータ再配置処理部１５４である場合に、原本昇格処理部１５３により振り分けＩＤ情報２００の更新処理が終了したことを契機として、既存ノード１ａに対し、データ再配置開始通知を送信する。これにより、各既存ノード１ａにおいて、再冗長化が必要となるデータが抽出され、更新された振り分けＩＤ情報２００に基づき、データの移行や複製を行うことにより、データの再配置が実行される。
【００６２】
＜処理の流れ＞
次に、本実施形態に係る保守減設システム１０００が実行する、保守減設処理の流れについて説明する。
図６は、本実施形態に係る保守減設システム１０００が実行する保守減設処理を示すシーケンス図である。
【００６３】
まず、代表ノード１Ａの減設ノード決定部１２は、減設対象となるノード（減設ノード１ｂ）を決定する（ステップＳ１０１）。ここで、減設ノード決定部１２は、例えば、外部装置から故障確率情報３００（図５参照）を受信することにより、各ノード１の故障確率を参照し、所定の故障確率以上のノード１を減設対象のノード（減設ノード１ｂ）に決定する。
【００６４】
続いて、代表ノード１Ａの振り分け先変更処理部１５１は、決定した減設ノード１ｂに、メッセージ（信号）が振り分けられないようにするため、振り分け先変更依頼をネットワーク管理装置５に送信する（ステップＳ１０２）。そして、ネットワーク管理装置５は、保守減設システム１０００を構成する各ノード１のうち、減設ノード１ｂには、信号が振り分けられないように、例えば、振り分け元となるロードバランサ３の振り分け先の設定を変更する（ステップＳ１０３）。続いて、ネットワーク管理装置５は、振り分け先変更の完了通知を代表ノード１Ａに送信する（ステップＳ１０４）。
【００６５】
次に、代表ノード１Ａの振り分け先変更処理部１５１は、ノード識別子管理部１１に対し、減設ノード１ｂへの信号振り分けが停止されたことを通知し、減設ノード１ｂが減設したものとする仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を生成させる（ステップＳ１０５）。この仮の振り分けＩＤ情報２００ｋには、現状の振り分けＩＤ情報２００から減設ノード１ｂを削除した情報であることを示す減設フラグ「＋１」をたてておく。
【００６６】
続いて、代表ノード１Ａの振り分け先変更処理部１５１は、既存ノード１ａに対し、生成した仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を通知する（ステップＳ１０６）。そして、既存ノード１ａは、仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を取得し、記憶部３０に記憶する（ステップＳ１０７）。
【００６７】
次に、既存ノード１ａと減設ノード１ｂとにおいて限定的同期処理を実行する。
具体的には、既存ノード１ａの限定的同期処理部１５２は、仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を参照し、自身が持つ複製データのうち、原本昇格の対象となる複製データ（原本昇格対象データ）を抽出する（ステップＳ１０８）。
続いて、原本昇格対象データを有する既存ノード１ａの限定的同期処理部１５２から、減設ノード１ｂの限定的同期処理部１５２に対し、同期要求を送信する（ステップＳ１０９）。そして、減設ノード１ｂの限定的同期処理部１５２が、現状の振り分けＩＤ情報２００を参照し、自身が原本として持つデータ（原本データ）を抽出し、当該原本データの情報を同期情報として同期要求を送信してきた既存ノード１ａに送信する（ステップＳ１１０）。これにより、減設ノード１ｂが持つ原本データと、原本昇格対象データとの間で、同期処理が実行される。
【００６８】
限定的同期処理部１５２による、原本データと原本昇格対象データとの同期処理を終えると、原本昇格対象データを持つ既存ノード１ａの原本昇格処理部１５３は、その原本昇格対象データである複製データを、原本データに昇格させる原本昇格処理を実行する（ステップＳ１１１）。
続いて、原本昇格処理を実行した既存ノード１ａの原本昇格処理部１５３は、複製データの原本昇格が完了したことを示す原本昇格完了通知を代表ノード１Ａに送信する（ステップＳ１１２）。
【００６９】
次に、代表ノード１Ａの原本昇格処理部１５３は、原本昇格完了通知を受信すると、ノード識別子管理部１１に対し、仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）の減設フラグ「＋１」を下げるとともに、仮の振り分けＩＤ情報２００ｋを用いて、現状の振り分けＩＤ情報２００を更新する処理の実行を指示する（ステップＳ１１３）。
そして、代表ノード１Ａの原本昇格処理部１５３は、自身の振り分けＩＤ情報２００が更新されたことを契機として、既存ノード１ａに対し、仮の振り分けＩＤ情報２００ｋ（仮ＩＤ表）を用いて、現状の振り分けＩＤ情報２００を更新する指示情報であるＩＤ表更新通知を既存ノード１ａに送信する（ステップＳ１１４）。これにより、既存ノード１ａにおいて、仮の振り分けＩＤ情報２００ｋの減設フラグ「＋１」を下げて、振り分けＩＤ情報２００を更新させる（ステップＳ１１５）。
また、代表ノード１Ａの原本昇格処理部１５３は、原本昇格処理が完了したことを示す原本昇格完了通知を、ネットワーク管理装置に送信する（ステップＳ１１６）。
この原本昇格完了通知をネットワーク管理装置に送信した時点で、原本昇格と振り分けＩＤ情報２００の更新が完了しているため、各ノード１は、過渡状態を終了することができる。よって、ネットワーク管理者は、この時点で、クラスタからの減設ノード１ｂの切り離しを実行することができる。
【００７０】
続いて、代表ノード１Ａのデータ再配置処理部１５４は、既存ノード１ａに対し、データ再配置開始通知を送信する（ステップＳ１１７）。また、代表ノード１Ａの保守減設処理部１５は、ネットワーク管理装置５に対し、保守減設処理完了通知を送信する（ステップＳ１１８）。
【００７１】
代表ノード１Ａからデータ再配置開始通知を受信した既存ノード１ａは、データ再配置処理部１５４が、更新された振り分けＩＤ情報２００に基づき、再冗長化が必要となるデータを抽出し、データの移行や複製を行うことにより、データの再配置を実行する（ステップＳ１１９）。そして、既存ノード１ａのデータ再配置処理部１５４は、データの再配置が終了すると、その旨を示す完了通知を代表ノード１Ａに送信する（ステップＳ１２０）。
代表ノード１Ａの保守減設処理部１５は、クラスタメンバの更新がすべて完了したことを示すクラスタメンバ更新完了通知をネットワーク管理装置５に送信し（ステップＳ１２１）、処理を終える。
【００７２】
以上説明したように、本実施形態に係る保守減設システム１０００、ノード１および保守減設方法によれば、振り分け先変更処理の後、本発明特有の限定的同期処理を実行し、その後、原本昇格を行い、ＩＤ表を更新し、最後に、データ再配置を行う（図６参照）。このようにすることにより、図７に示す従来技術の手順に比べ、過渡状態の期間を短縮することができる。過渡状態の期間を短縮することにより、クラスタからの減設ノード１ｂの切り離しをより早く実行することが可能となる。また、原本昇格およびＩＤ表の更新後に行われる、複製データのデータ再配置の段階で、何らかの原因で処理が中断した場合であっても、原本昇格し、ＩＤ表を更新した直後に巻き戻せば済むため、ＭＴＴＲ（平均修復時間）を短くすることができる。
【符号の説明】
【００７３】
１      ノード
１Ａ    代表ノード
１ａ    既存ノード
１ｂ    減設ノード
２      クライアント
３      ロードバランサ
１０    制御部
１１    ノード識別子管理部
１２    減設ノード決定部
１３    振り分け部
１４    信号処理部
１５    保守減設処理部
２０    入出力部
３０    記憶部
１００  ノード識別子管理情報
１５１  振り分け先変更処理部
１５２  限定的同期処理部
１５３  原本昇格処理部
１５４  データ再配置処理部
２００  振り分けＩＤ情報
３００  故障確率情報
４００  データ
１０００  保守減設システム
Ｓ      分散処理システム（高可用システム）
【図１】
0006564349.tif 000002
【図２】
0006564349.tif 000003
【図３】
0006564349.tif 000004
【図４】
0006564349.tif 000005
【図５】
0006564349.tif 000006
【図６】
0006564349.tif 000007
【図７】
0006564349.tif 000008