(57)【要約】  バックアップ専用のサーバや共有ディスクを不要とするデータバックアップシステムを提供する。いずれかのサーバＳは、いずれかのサーバＳの処理実行部３００による処理の実行に利用される実行利用データに必須な必須データの保存を指示する登録指示を受付サーバとして入力する。受付サーバは、登録指示が入力されると通信により他のサーバとの間で登録指示に対してマスターとなるサーバを決定し、マスターサーバに登録指示を送信する。マスターサーバは、登録指示で特定される必須データの保存先サーバを所定の選択規則に基づいて複数のサーバの中から選択し、選択された選択サーバと、保存対象の必須データとの対応を示すデータ配置情報を登録指示で特定される保有サーバ（必須データ保有）に送信する。保有サーバは、マスターサーバからデータ配置情報を受信すると、データ配置情報の示す選択サーバに必須データを送信する。
2011099380.tif 000002
【特許請求の範囲】
【請求項１】
所定の処理を実行する処理実行部と、情報を記憶する記憶部と、必須データ管理部とを備えた複数の計算機がネットワークで接続され、
いずれかの前記計算機は、
いずれかの前記計算機の前記処理実行部による前記処理の実行に利用される実行利用データの一部を構成する部分的なデータである必須データの保存を指示する保存指示であって、前記必須データを特定する必須データ特定情報と、前記必須データを保有する前記計算機である保有計算機を特定する保有計算機特定情報とを含む保存指示を保存指示入力計算機として入力し、
前記保存指示入力計算機の前記必須データ管理部は、
前記保存指示が入力されると、他の前記計算機の前記必須データ管理部と前記ネットワークを介して通信することにより他の前記計算機の前記必須データ管理部との間で前記保存指示に対してマスターとなる前記計算機を決定し、マスターとして決定された前記計算機の必須データ管理部である保存マスター管理部に前記保存指示を前記ネットワークを介して送信し、
前記保存マスター管理部は、
前記保存指示の前記必須データ特定情報で特定される前記必須データの保存先を所定の選択規則に基づいて前記複数の計算機の中から選択し、選択された選択計算機と、前記選択計算機を保存先とする前記必須データとの対応関係を示すデータ配置情報を前記保存指示の前記保有計算機特定情報で特定される前記保有計算機に送信し、
前記保有計算機の必須データ管理部は、
前記保存マスター管理部から前記データ配置情報を受信すると、前記データ配置情報の示す前記選択計算機に前記ネットワークを介して前記必須データを送信し、
前記選択計算機は、
前記保有計算機から送信された前記必須データを前記選択計算機の前記記憶部に記憶することを特徴とする必須データ管理システム。
【請求項２】
いずれかの前記計算機は、
いずれかの前記計算機の前記処理実行部による前記処理の実行に利用される前記実行利用データの構築を指示する構築指示であって、前記実行利用データを特定する実行利用データ特定情報と、前記複数の計算機の中から前記実行利用データの構築先として指定された構築計算機を特定する構築計算機特定情報とを含む構築指示を構築指示入力計算機として入力し、
前記構築指示入力計算機の前記必須データ管理部は、
入力された前記構築指示に含まれる前記構築計算機特定情報で特定される前記構築計算機に、前記構築指示に含まれる前記実行利用データ特定情報で特定される前記実行利用データを構築するべきことを指令する構築指令情報を前記ネットワークを介して送信し、
前記構築計算機の前記必須データ管理部は、
前記構築指令情報を受信すると、前記選択計算機である他の前記計算機と前記ネットワークを介して通信することにより前記構築指令情報によって指令される前記実行利用データの構築に必要な前記必須データを取得し、取得された前記必須データを使用して前記実行利用データを構築することを特徴とする請求項１記載の必須データ管理システム。
【請求項３】
前記保存マスター管理部は、
前記保存指示の前記必須データ特定情報で特定される前記必須データの保存先を前記複数の計算機の中から選択する場合に、前記複数の計算機の各計算機から動作中の前記処理を示す処理動作情報を収集し、保存しようとする前記必須データに係る前記処理の動作をしていない前記計算機を特定し、特定した計算機の中から前記選択計算機を選択することを特徴とする請求項１または２のいずれかに記載の必須データ管理システム。
【請求項４】
前記保存マスター管理部は、
保存しようとする前記必須データに係る前記処理の動作していない前記計算機を特定できない場合には、前記複数の計算機の中から少なくも２台の計算機を前記選択計算機として選択し、選択されたすべての選択計算機と、前記選択計算機を保存先とする前記必須データとの前記データ配置情報を前記保存指示の前記保有計算機特定情報で特定される前記保有計算機に送信することを特徴とする請求項３記載の必須データ管理システム。
【請求項５】
前記保存マスター管理部は、
前記保存指示の前記必須データ特定情報で特定される前記必須データの保存先を前記複数の計算機の中から選択する場合に、互いに選択基準の異なる第１選択アルゴリズムから第ｎ選択アルゴリズム（ｎは２以上の整数）の順に、いずれかの前記選択アルゴリズムによって選択計算機が選択されるまで前記選択アルゴリズムを切り替えながら前記選択計算機の選択処理を実行することを特徴とする請求項１または２のいずれかに記載の必須データ管理システム。
【請求項６】
前記保有計算機の必須データ管理部は、
前記保存マスター管理部から前記データ配置情報を受信すると、前記データ配置情報の示す前記選択計算機に前記ネットワークを介して前記必須データとして前記実行利用データの差分データを送信することを特徴とする請求項１記載の必須データ管理システム。
【請求項７】
前記構築計算機の前記必須データ管理部は、
前記構築指令情報を受信すると、前記選択計算機である他の前記計算機と前記ネットワークを介して通信することにより前記構築指令情報によって指令される前記実行利用データの構築に必要な前記必須データとして、前記実行利用データの差分データを取得することを特徴とする請求項２記載の必須データ管理システム。
【請求項８】
他の複数の計算機と共にネットワークに接続され、所定の処理を実行する他の複数の計算機と前記ネットワークを介して通信する計算機において、
前記他の複数の計算機のうちのいずれかの前記計算機の処理の実行に利用される実行利用データの一部を構成する部分的データである必須データの保存を指示する保存指示であって、前記必須データを特定する必須データ特定情報と、前記必須データを保有する前記計算機である保有計算機を特定する保有計算機特定情報とを含む保存指示が入力された前記計算機から前記ネットワークを介して前記保存指示を受信し、受信された前記保存指示の前記必須データ特定情報で特定される前記必須データの保存先を所定の選択規則に基づいて自身と他の複数の計算機との中から選択し、選択された選択計算機と、前記選択計算機を保存先とする前記必須データとの対応関係を示すデータ配置情報を前記保存指示の前記保有計算機特定情報で特定される前記保有計算機に送信する必須データ管理部
を備えたことを特徴とする計算機。
【請求項９】
他の複数の計算機と共にネットワークに接続され、所定の処理を実行する他の複数の計算機と前記ネットワークを介して通信するコンピュータを、
前記他の複数の計算機のうちのいずれかの前記計算機の処理の実行に利用される実行利用データの一部を構成する部分的データである必須データの保存を指示する保存指示であって、前記必須データを特定する必須データ特定情報と、前記必須データを保有する前記計算機である保有計算機を特定する保有計算機特定情報とを含む保存指示が入力された前記計算機から前記ネットワークを介して前記保存指示を受信し、受信された前記保存指示の前記必須データ特定情報で特定される前記必須データの保存先を所定の選択規則に基づいて自身と他の複数の計算機との中から選択し、選択された選択計算機と、前記選択計算機を保存先とする前記必須データとの対応関係を示すデータ配置情報を前記保存指示の前記保有計算機特定情報で特定される前記保有計算機に送信する必須データ管理部
として機能させることを特徴とする必須データ管理プログラム。
【請求項１０】
請求項８記載の必須データ管理プログラムを記録したコンピュータ読取可能な記録媒体。
【請求項１１】
他の複数の計算機と共にネットワークに接続され、所定の処理を実行する他の複数の計算機と前記ネットワークを介して通信する計算機が行う通信方法において、
必須データ管理部が、
前記他の複数の計算機のうちのいずれかの前記計算機の処理の実行に利用される実行利用データの一部を構成する部分的データである必須データの保存を指示する保存指示であって、前記必須データを特定する必須データ特定情報と、前記必須データを保有する前記計算機である保有計算機を特定する保有計算機特定情報とを含む保存指示が入力された前記計算機から前記ネットワークを介して前記保存指示を受信し、受信された前記保存指示の前記必須データ特定情報で特定される前記必須データの保存先を所定の選択規則に基づいて自身と他の複数の計算機との中から選択し、選択された選択計算機と、前記選択計算機を保存先とする前記必須データとの対応関係を示すデータ配置情報を前記保存指示の前記保有計算機特定情報で特定される前記保有計算機に送信することを特徴とする通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、サーバ装置の障害対策として必須データをバックアップする必須データ管理システム、計算機、必須データ管理プログラム及び通信方法に関する。
【背景技術】
【０００２】
計算機（以下サーバ）において障害が生じた場合には、障害により停止したサーバ上で動作していた処理を予備のサーバで起動しなおすことで、処理の継続を行う。この構成を非共有ディスクで構築する場合は、予備サーバの処理に関するデータ（以下必須データ）を予め複製しておく必要がある。【０００３】
また、このような処理の引継ぎを短時間で行うためには、障害に先立ち、配置するデータ群（必須データやその差分などのデータ。以下予備データという）全ても、適切に管理しておかなければならないという課題が生じる。これは、処理を引き継いだサーバに必須データが存在しない場合、その必須データを処理引継ぎ先のサーバにて復元する必要が有り、その時のネットワーク転送にかかる帯域への負荷と転送時間が課題となるからである。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００９−０８０６９５号公報（運用系・予備系での同期）
【特許文献２】特開２００８−２５７５７６号公報（バックアップサーバによる迅速な保存）
【特許文献３】特開２００８−２１７３０２号公報（処理引継ぎ先の決定）
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１では、処理の引継ぎに関して、予備サーバと運用系を１：１にて動作させ、予備サーバと運用系サーバのデータを同期させることでデータの複製を行っている（図４０）。しかし、従来技術は１：１で動作させるため、運用系サーバに合せた予備サーバが必要となり、コストが増加するといった課題がある。【０００６】
特許文献２の従来技術では、データをバックアップしておき、そのデータを復元することでデータの複製に対応できる。また、バックアップするデータを以前からの差分のみに制限することで、バックアップ時のネットワーク負荷とバックアップに必要なディスク容量を削減している。しかし、従来技術は、バックアップ専用のサーバが必要となり、コストが課題となる（図４１）。また、復元時の速度については考慮されておらず、短時間で処理を引き継ぐことができないといった課題が残る。【０００７】
特許文献３の従来技術では、処理の引継ぎ先を選択することで、処理引継ぎそのものを短時間で完了する。しかし、共有ディスクが前提となっており、処理の引継ぎに伴うデータの引継ぎに関しては考慮されていない。そのため、非共有ディスク環境にて適用した場合、データの取り扱いに課題が残る。
【課題を解決するための手段】
【０００８】
この発明の必須データ管理システムは、
所定の処理を実行する処理実行部と、情報を記憶する記憶部と、必須データ管理部とを備えた複数の計算機がネットワークで接続され、
いずれかの前記計算機は、
いずれかの前記計算機の前記処理実行部による前記処理の実行に利用される実行利用データの一部を構成する部分的なデータである必須データの保存を指示する保存指示であって、前記必須データを特定する必須データ特定情報と、前記必須データを保有する前記計算機である保有計算機を特定する保有計算機特定情報とを含む保存指示を保存指示入力計算機として入力し、
前記保存指示入力計算機の前記必須データ管理部は、
前記保存指示が入力されると、他の前記計算機の前記必須データ管理部と前記ネットワークを介して通信することにより他の前記計算機の前記必須データ管理部との間で前記保存指示に対してマスターとなる前記計算機を決定し、マスターとして決定された前記計算機の必須データ管理部である保存マスター管理部に前記保存指示を前記ネットワークを介して送信し、
前記保存マスター管理部は、
前記保存指示の前記必須データ特定情報で特定される前記必須データの保存先を所定の選択規則に基づいて前記複数の計算機の中から選択し、選択された選択計算機と、前記選択計算機を保存先とする前記必須データとの対応関係を示すデータ配置情報を前記保存指示の前記保有計算機特定情報で特定される前記保有計算機に送信し、
前記保有計算機の必須データ管理部は、
前記保存マスター管理部から前記データ配置情報を受信すると、前記データ配置情報の示す前記選択計算機に前記ネットワークを介して前記必須データを送信し、
前記選択計算機は、
前記保有計算機から送信された前記必須データを前記選択計算機の前記記憶部に記憶することを特徴とする。
【発明の効果】
【０００９】
この発明の必須データ管理システムによれば、予備サーバ、バックアップ専用のサーバ及び共有ディスクを不要とするデータバックアップのシステムを提供できる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１における、予備イメージ管理システム１０００の構成図。
【図２】実施の形態１における、予備イメージ管理システム１０００の動作概要を示すフローチャート。
【図３】実施の形態１における、予備イメージ管理器１００の予備イメージの登録に関する構成を示す図。
【図４】実施の形態１における、予備イメージの登録処理の詳細フロー。
【図５】実施の形態１における、データ表１０Ａを示す図。
【図６】実施の形態１における、サーバ表２０Ａを示す図。
【図７】実施の形態１における、データ配置表３０Ａを示す図。
【図８】実施の形態１における、データ差分器１１０によって作成される差分の例を示す図。
【図９】実施の形態１における、予備イメージ管理器１００の予備イメージの構築に関する構成を示す図。
【図１０】実施の形態１における、予備イメージの構築処理の詳細フロー。
【図１１】図２のフローチャートをシーケンス化とした図。
【図１２】実施の形態１における、予備イメージ管理器１００の内部構成を示すブロック図。
【図１３】実施の形態２における、予備イメージ管理器１００の予備イメージの登録に関する構成を示す図。
【図１４】実施の形態２における、他のサーバとのデータ同期を示す図。
【図１５】実施の形態２における、登録処理における処理フロー。
【図１６】図１５のＳ４０４の内容を示すフロー。
【図１７】実施の形態２における、ＶＭ表４０Ａを示す図。
【図１８】実施の形態２における、データ表１０Ｂを示す図。
【図１９】実施の形態２における、データ配置表３０Ｂを示す図。
【図２０】実施の形態３における、予備イメージの登録に関する構成を示す図。
【図２１】実施の形態３における、データ配置先判断器１２０の登録処理時のフロー。
【図２２】実施の形態３における、データ配置先判断器１２０に具体的な判定器を組み込んだ構成を示す図。
【図２３】図２２の判定器を処理に組み込んだ場合のフロー。
【図２４】図２３のＳ５１１における障害保証判定器１２２の処理フロー。
【図２５】図２３のＳ５１３におけるデータ関係判定器１２３の処理フロー。
【図２６】図２３のＳ５１４におけるリソース基準判定器１２４の処理フロー。
【図２７】実施の形態３における、データ表１０Ｃを示す図。
【図２８】実施の形態３における、データ配置表３０Ｃを示す図。
【図２９】実施の形態３における、ＶＭ表４０Ｂを示す図。
【図３０】実施の形態３における、予備イメージ管理システム１０００の動作例を示す図。
【図３１】図３０を前提とする具体的な動作例を示す図。
【図３２】図３０の状態においてサーバＳｉに障害が発生した場合を示す図。
【図３３】図３０の状態においてサーバＳｋに障害が発生した場合を示す図。
【図３４】実施の形態４における、予備イメージ管理器１００の構築処理を示すフロー。
【図３５】実施の形態５における、予備イメージ管理器１００の再配置処理を示すフロー。
【図３６】図３５を詳細化したフロー。
【図３７】実施の形態６における、処理フローを示す図。
【図３８】実施の形態７における、運用系サーバＳの外観を示す図。
【図３９】実施の形態７における、運用系サーバＳのハードウェア資源を示す図。
【図４０】従来技術を示す図。
【図４１】従来技術を示す別の図。
【発明を実施するための形態】
【００１１】
実施の形態１．
以下の実施の形態１〜７で使用する主な用語の意味は、以下のとおりである。
（言葉の定義）
（１）運用系サーバ（単にサーバともいう）：ＣＰＵ、記憶装置等を備えた計算機。
（２）必須データ：処理が利用するデータ
（３）予備データ：予備イメージ管理器によって保存されたデータ
（４）オリジナル：必須データを差分処理した際の差分の基データ（予備データにはオリジナルも含める）
（５）パッチ：必須データを差分処理した際の差分部分のデータ（予備データにはパッチも含める）
（６）チャンク：予備データを分割したデータ片（予備データにはチャンクも含める）
（７）予備データからなる必須データ：予備データをデータ復元時に用いる必須データ
（８）予備データに関する処理：予備データからなる必須データを必要とする処理
（９）リソース：処理に必要となるＣＰＵ性能、メモリ量、必要デバイス、Ｉ／Ｏスループット性能など。
【００１２】
本実施の形態１では、処理として仮想計算機（以下ＶＭという）が各サーバにて起動している環境において、ＶＭの起動に必要なデータ（以下ＶＭイメージ）を必須データとして管理する予備イメージ管理器について説明する。
【００１３】
図１は、実施の形態１の予備イメージ管理システム１０００（必須データ管理システム）の構成を示す。予備イメージ管理システム１０００は、複数の運用系サーバＳ１〜ＳＮから構成される。各運用系サーバＳは、予備イメージ管理器１００（必須データ管理部）、情報を記憶する記憶装置２００（記憶部）、複数の処理を実行する処理実行部３００を備える。各サーバの処理実行部３００で動作している処理は同一ではなく、個別の処理である。つまり、運用系サーバＳ１、運用系サーバＳ２・・・で動作している処理は異なる。各サーバはネットワーク４００に接続され、他の計算機とネットワーク４００を介して通信する。
【００１４】
各運用系サーバに関して、処理や記憶装置の個数に制限は無い。図１に示すように各運用系サーバの構成は同様であり、また、各運用系サーバは対等である。なお、各サーバ間では、リソースの違いは存在する。
【００１５】
図２は、予備イメージ管理システム１０００の動作の概要を示すフローである。このフローは、「予備イメージの登録」であるステップＳ１０１〜Ｓ１０５と、「予備イメージの構築」であるステップＳ１０６〜Ｓ１１０の二つの部分からなる。
図１１は図２のフローを、シーケンス化とした図である。特に図２を参照して説明する。
【００１６】
（予備イメージの登録動作の概要：Ｓ１０１〜Ｓ１０５）
まず、図２、図１１を参照して、予備イメージの登録動作の概要（Ｓ１０１〜Ｓ１０５）を説明する。
【００１７】
（サーバの役割）
図２の説明で登場するサーバを定義する。図２の説明では、簡単のためサーバＳ１〜Ｓ４の４台のシステムを想定する。
（１）受付サーバ：ユーザの指示を受け付けるサーバ（Ｓ１とする）、
（２）保有サーバ：保存対象の必須データｄを保有するサーバ（Ｓ４とする）、
（３）保存先サーバ：保存対象（登録対象）の必須データの保存先となるサーバ（Ｓ２とする）、
（４）構築先サーバ：必須データｄを使用した予備イメージが構築されるサーバ（Ｓ３とする）、
（５）マスターサーバ：予備イメージの登録動作の主体になるサーバ（Ｓ１が兼ねるとする）。
マスターサーバの予備イメージ管理器１００を、マスター管理器と呼ぶ。マスター管理器は例えば、保存先サーバの選択処理を実行する。
【００１８】
（構成要素の区別）
サーバＳ１の予備イメージ管理器１００には「予備イメージ管理器１００−１」のように「−１」を付けて区別する。以下に登場する「予備イメージ管理器１００−１」の構成要素にも「−１」を付す。各サーバの予備イメージ管理器１００は対等であるが、以下の実施の形態では、本システムの処理を実行する際に、いずれかの予備イメージ管理器１００がマスターとして機能することとして説明する。どの予備イメージ管理器１００がマスターとなるかは実装による。マスターの予備イメージ管理器１００（Ｍ）は、各サーバの予備イメージ管理器１００を制御し、システム全体にかかわる処理、例えば後述する保存先サーバの決定等を実行する。なお（Ｍ）はマスターを示す。
以下の説明では、上記のように、サーバＳ１をマスターとした。なおサーバＳ１は、受付サーバ兼ねる。
【００１９】
（Ｓ１０１：ユーザが受付サーバに指示）
ステップＳ１０１において、ユーザは、サーバＳ１を受付サーバとして、受付サーバに「登録指示」（保存指示）を入力する。各サーバは対等であり、ユーザはどのサーバに登録指示を入力してもよい。サーバＳ２に「登録指示」を入力すればサーバＳ２が受付サーバ（保存指示入力計算機）になる。
「登録指示」は、
（１）保有サーバＳ４（保有計算機）を特定する情報（保有計算機特定情報）、
（２）必須データｄ（登録対象のデータ）を特定する情報（必須データ特定情報）、
（３）必須データｄの登録指令
の３つを含む。
「登録指示」により、サーバＳ１（受付サーバ）の予備イメージ管理器１００−１は、必須データｄ（処理に必要なデータそのもの、もしくは他のデータとの差分のデータなど）の保存指示を受け付ける。この例では、受付サーバであるサーバＳ１の予備イメージ管理器１００−１がマスターとして機能する。
なお、受付サーバがマスターサーバとなるのは一例である。どのサーバがマスターになっても構わない。例えば、受付サーバ（サーバＳ１）の予備イメージ管理器１００−１は、登録指示が入力されると、他のサーバの予備イメージ管理器１００とネットワーク４００を介して通信することにより他のサーバの予備イメージ管理器１００との間で保存指示に対してマスターとなるサーバを決定し、マスターとして決定されたサーバの予備イメージ管理器１００に登録指示をネットワークを介して送信してもよい。
【００２０】
（Ｓ１０２：管理器１００−１（Ｍ）が処理開始）
ステップＳ１０２において、予備イメージ管理器１００−１（Ｍ）は、ユーザからの指示に従って、保有サーバＳ４（ユーザ入力）に必須データｄの保存処理を開始させる。すなわち、予備イメージ管理器１００−１（Ｍ）は、保有サーバＳ４（ユーザ入力）に必須データｄの保存処理の開始通知を送信する。保有サーバＳ４は、開始通知を受信すると必須データｄの保存処理を開始する。この「保存処理」とは、保有サーバＳ４による差分処理等（後述する）を意味する。差文処理では、保有サーバＳ４は、他のサーバＳ１〜Ｓ３と通信して差分に関する情報を取得し、差分処理を実施する。
【００２１】
（Ｓ１０３：管理器１００−１（Ｍ）が保存先サーバを決定）
ステップＳ１０３において、予備イメージ管理器１００−１（Ｍ）は、サーバＳ４の保有する必須データｄの保存先に適したサーバを、自身のサーバＳ１も含めたサーバＳ１〜Ｓ４の中から、所定の選択規則に基づいて選択する。なお、「所定の選択規則」については実施の形態２以降で詳述する。実施の形態２〜６は、保存先サーバの具体的な決定方法の実施形態である。ここで、予備イメージ管理器１００−１（Ｍ）は、保存先サーバとして、「所定の選択規則」からサーバＳ２（選択計算機）を決定したとする。
【００２２】
（Ｓ１０４：管理器１００−４が選択サーバＳ２へデータ保存）
ステップＳ１０４において、予備イメージ管理器１００−１（Ｍ）は、保有サーバＳ４、保存先サーバＳ２の予備イメージ管理器１００−４、１００−２と通信する。この通信により、サーバＳ２が保存先サーバとして選択されたことが、予備イメージ管理器１００−４、１００−２に通知される。保有サーバＳ４の予備イメージ管理器１００−４は差分データを保存先サーバＳ２の予備イメージ管理器１００−２に送信する。予備イメージ管理器１００−２は、受信した差分データを保存する。
【００２３】
（Ｓ１０５：完了通知）
ステップＳ１０５において、予備イメージ管理器１００−１（Ｍ）は、Ｓ１０１にて指示を出したユーザに、保存完了を通知する。これは、予備イメージ管理器１００−１（Ｍ）が、予備イメージ管理器１００−４から送信完了通知を受信し、あるいは、予備イメージ管理器１００−２から受信完了通知を受信することを契機とする。
以上が予備イメージの登録までの処理となる。
【００２４】
（構築動作：Ｓ１０６〜Ｓ１１０）
次に、予備イメージの構築動作の概要（ステップＳ１０６〜Ｓ１１０）を説明する。Ｓ１０６〜Ｓ１１０では、保有サーバＳ４がダウンしたため、構築先サーバＳ３において、保存先サーバＳ２に保存されている必須データｄ（ＶＭ（Ａ）のオリジナルデータあるいはＶＭ（Ａ）の差分データ）を用いて、予備イメージ（保有サーバＳ４で動作していたＶＭ（Ａ）の予備イメージ）を構築する場合を想定する。障害が発生したあるサーバ上（サーバＳ４）で動作していた処理を、他のサーバ上（サーバＳ３）にて再稼動させる動作（必須データｄを用いた予備イメージの構築動作）を以下に説明する。
【００２５】
（Ｓ１０６：ユーザがサーバＳ１に指示）
ステップＳ１０６において、ユーザは、サーバＳ１（受付サーバ）に構築指示をする。登録処理と同じく各サーバは対等であり、ユーザはどのサーバに構築指示してもよい。構築指示を受け付けたサーバが受付サーバ（構築指示入力計算機）となる。
「構築指示」は、
（１）構築したい予備イメージを特定する情報（実行利用データ特定情報）、
（２）構築先サーバ（この例ではサーバＳ３とする）を特定する情報（構築計算機特定情報）、
（３）構築指令、
の３つを含む。ユーザは保存先サーバを認識する必要はない。
構築したいＶＭイメージと、ＶＭイメージを構築したい構築先サーバを認識すればよい。
【００２６】
（Ｓ１０７：構築処理を開始）
ステップＳ１０７において、予備イメージ管理器１００−１は、ユーザからの構築指示に従って、該当データの構築処理を開始する。予備イメージ管理器１００−１は構築指示の内容を構築先サーバＳ３に通知する。
【００２７】
（Ｓ１０８：特定）
ステップＳ１０８において、通知を受けた構築先サーバＳ３の予備イメージ管理器１００−３は、通知に基づき、構築される予備イメージ（この例では下記のＶＭ（Ａ）とする）のデータ構築に必要な必須データｄ（下記に示すオリジナルデータａ０，差分データａ１等）と、必須データｄが保存されている保存先サーバ（サーバＳ２）とを特定する。
予備イメージ管理器１００−３は、後述のデータ表１０Ａ（図５）から、データ構築に必要なオリジナルデータａ０，差分データａ１等の必須データを特定し、後述のデータ配置表３０Ａ（図７）から、必須データの保存先サーバを特定する。この場合のＶＭ（Ａ）と、ＶＭ（Ａ）の構築に必要な必須データｄとの関係を簡単に説明する。図８で後述するが、図８に示すように、ＶＭ（Ａ）は、オリジナルデータａ０，差分データａ１，差分データａ３，差分データａ１１から構築されるとする。
ここでオリジナルデータａ０等は以下である。
（１）オリジナルデータａ０：ＶＭ（Ａ）が最初に登録された際に作成されたオリジナルデータ、
（２）差分データａ１：ＶＭ（Ａ）が更新され再び登録された際に作成されたオリジナルａ０からの差分データ，
（３）差分データａ３：ＶＭ（Ａ）が更新され再び登録された際に作成された差分データａ１からの差分データａ３，
（４）差分データａ１１：ＶＭ（Ａ）が更新され再び登録された際に作成された差分データａ３からの差分データ
オリジナルデータａ０、及び差分データａ１等は、図１１における保有サーバＳ４の差分処理あるいは、サーバＳ１〜Ｓ３が保有サーバの場合に，保存先サーバに保存されたデータである。
【００２８】
（Ｓ１０９：構築）
ステップＳ１０９において、予備イメージの構築先（サーバＳ３）の予備イメージ管理器１００−３は、サーバ間の予備イメージ管理器で通信を行い、構築に必要な必須データを、必須データの保存先サーバ（サーバＳ２）から取得し、データ（ＶＭ（Ａ））の構築を行う。
すなわち構築先サーバＳ３は、データ表１０Ａ、データ配置表３０Ａによる特定結果から、必須データの保存先サーバ必須データを取得し、取得した必須を用いて予備イメージ（ＶＭ（Ａ））を構築する。
【００２９】
（Ｓ１１０：管理器１００−１が構築完了を通知）
ステップＳ１１０において、構築先サーバＳ３が受付サーバＳ１に構築完了通知を送信し、予備イメージ管理器１００−１は、「構築指示」を出したユーザに対し、構築完了を通知（例えば表示装置に完了を表示など）する。以上、Ｓ１０６〜Ｓ１１０が予備イメージの構築処理である。
【００３０】
このようにして、必須データ（ａ０，ａ１，ａ３，ａ１１等）を他の運用系サーバ（サーバＳ２等）に保存しておき、あるサーバ（サーバＳ４）の障害時に、あるサーバ（サーバＳ４）で実行されていた処理の予備となる必須データｄを基に、障害が発生したサーバ以外のサーバ（サーバＳ３）でデータ構築（例えば必須データｄを用いた予備イメージＶＭ（Ａ）の構築）を行うことで、システム内でのデータの引継ぎを行うことができる。
【００３１】
ＶＭに適用した場合は、各サーバ上で「処理」としてＶＭが起動しており、ＶＭはサーバ毎の非共有ディスクにその実ＶＭデータが保存されることとなる。各サーバの予備イメージ管理器は、システムの利用者からの指示に従って、記憶装置中のＶＭイメージ（実行利用データ）を取得し、他のサーバに転送したり、同じく指示に従って、保存したＶＭイメージを目的のサーバにて復元したりする。
【００３２】
（予備イメージの登録動作の詳細）
次に、予備イメージの登録動作（図２のＳ１０１〜Ｓ１０５）の詳細を説明する。
図１２は、予備イメージ管理器１００の内部構成を示すブロック図である。予備イメージ管理器１００は、図１２に示すように、データ差分器１１０、データ配置先判断器１２０、データ配布器１３０、データ複合器１４０を備えている。
（１）データ差分器１１０は、保有サーバである場合に、保存先サーバに登録するための差分データを作成する。
（２）データ配置先判断器１２０は、マスターサーバである場合に、保存先サーバを選択する。
（３）データ配布器１３０は、他の予備イメージ管理器１００とデータをやり取りする。
（４）データ複合器１４０は、構築先サーバである場合に、予備イメージを構築する。
【００３３】
図３は、図１に示した予備イメージ管理器１００の内部構成に関し、予備イメージの登録に関する構成要素を示した。なお、図３のうちデータ差分器１１０、データ配布器１３０は保有サーバが主体となり、データ配置先判断器１２０はマスターサーバが主体となる。
図３は、保有サーバの構成部分と、マスターサーバの構成部分との両方を示した。すなわち図３は、マスターサーバが保存先サーバを選択し、その選択された保存先サーバに、保有サーバがデータを送信する状態を示している。
【００３４】
図３は、保存先サーバに保存される差分データの生成から、差分データの配布までの一連の流れを示している。
（１）保有サーバのデータ差分器１１０は、他のサーバの予備イメージ管理器１００と連携（通信）し、入力されたデータ５（ＶＭイメージ）を基に、データ表１０Ａ（図５）を参照して既存の登録済みデータ（連携により情報を取得する）との間で差分を取り、その結果をデータ表１０Ａに反映し、差分データ７を出力する。
（２）マスターのデータ配置先判断器１２０（Ｍ）は、他のサーバの予備イメージ管理器１００と連携し、保有サーバによって作成された差分データ７、データ表１０Ａとデータ配置表３０Ａとを基に、差分データ７の保存に適したサーバを選択し、その結果をデータ表１０Ａ、データ配置表３０Ａ（データ配置情報）（図７）に反映する。
（３）保有サーバのデータ配布器１３０は、データ配置表３０Ａ（最新の状態）に従って、差分データ７を保存先のサーバへ転送する。
【００３５】
（データ表１０Ａ、データ配置表３０Ａの同期）
なお、データ表１０Ａとデータ配置表３０Ａとは、予備イメージ管理器１００によって他のサーバと同期が行われる。
【００３６】
（登録の具体的処理）
図４は、登録処理（図１のＳ１０１〜Ｓ１０５）における予備イメージ管理器１００内での詳細な処理フローを示す。図２、図１１の場合と同様に、サーバＳ１が受付サーバ、サーバＳ２が保存先サーバ、サーバＳ３が構築先サーバ、サーバＳ４が保有サーバとする。ステップＳ２０１、Ｓ２０２はステップＳ１０２において、ステップＳ２０３、Ｓ２０４はステップＳ１０３において、ステップＳ２０５はステップＳ１０４において行う処理である。
【００３７】
（Ｓ２０１）
まず、ステップＳ２０１において、保有サーバＳ４のデータ差分器１１０−４は、登録が指示（保有サーバＳ４、ＶＭ（Ａ）はユーザが入力）されたデータ（ＶＭ（Ａ））の差分データ（例えばａ１）を生成する。
【００３８】
（Ｓ２０２）
次に、ステップＳ２０２において、保有サーバＳ４のデータ差分器１１０−４は、差分に関する情報をデータ表１０Ａ−４（図５）に反映する。
【００３９】
（Ｓ２０３：マスターによる選択）
ステップＳ２０３において、データ配置先判断器１２０−１（Ｍ）は、サーバ表２０Ａ−１（図６）から保存先候補となるサーバ群を取得する。図６のサーバ表２０Ａ−１は、各サーバのアドレス情報である。
【００４０】
（Ｓ２０４）
ステップＳ２０４において、データ配置先判断器１２０−１（Ｍ）は、候補から差分データ７の保存に適したサーバを選択し、その結果をデータ配置表３０Ａ−１（図７）に反映する。データ配置表３０Ａ−１は他のサーバと同期される。
【００４１】
（Ｓ２０５）
最後に、ステップＳ２０５において、保有サーバＳ４のデータ配布器１３０−４は、差分データ７を、データ配置先判断器１２０−１（Ｍ）によって更新されたデータ配置表３０Ａ−１に同期して更新されたデータ配置表３０Ａ−４に従って、保存先サーバＳ２へ転送する。
【００４２】
図８は、保有サーバのデータ差分器１１０によって作成される差分の例を示す。
ａ０はＶＭ（Ａ）が最初に登録された際に作成されたデータ（オリジナル）である。
ａ１は、ＶＭ（Ａ）が更新され再び登録された際に作成された、オリジナルａ０からの差分データである。
ａ２は、ＶＭ（Ｄ）がＶＭ（Ａ）からの派生物として最初に登録された際に作成された、オリジナルａ０からの差分データである。
ａ３は、再度ＶＭ（Ａ）が更新され再び登録された際に作成された、差分データａ１からの差分データである。
このように、予備イメージ管理器１００では、差分によって複数のＶＭのデータをオリジナルと差分データに分け管理を行う。
【００４３】
（予備イメージの構築動作の詳細）
次に予備イメージの構築動作の詳細を述べる。
【００４４】
図９は、図１中の予備イメージ管理器１００の内部構成において、予備イメージの構築に関する構成を示す。図９は構築先サーバの構成である。
（１）データ配布器１３０は、特定の差分データ１３を他のサーバから受け取る。なお、この例では、構築先サーバはサーバ３である。
（２）データ複合器１４０は、入力された差分データ１３を複合し予備イメージを構築する。構築処理に関し、データ複合を行うのは構築先サーバである。この例ではサーバ３である。
【００４５】
図１０は、構築処理における構築先サーバＳ３の予備イメージ管理器１００−３における詳細な処理フローを示す。ステップＳ３０１は、ステップＳ１０８において、ステップＳ３０２〜Ｓ３０４はステップＳ１０９において行う処理である。
【００４６】
（Ｓ３０１）
ステップＳ３０１において、構築先サーバＳ３の予備イメージ管理器１００−３は、「ユーザから指示された予備イメージ」（例えばＶＭ（Ａ））の構築に必要なデータ群（ａ０，ａ１，ａ３，ａ１１）を、データ表１０Ａ−３から取得する。以降、データ群のツリー構造に従い、オリジナルから順次、任意の差分データを対象にステップＳ３０２〜Ｓ３０４を繰り返す。
【００４７】
（Ｓ３０２）
まず、ステップＳ３０２において、構築先サーバのデータ配布器１３０−３は、データ配置表３０Ａから取得したデータ群の差分データが保存されている保存先サーバを特定する。
【００４８】
（Ｓ３０３）
次に、ステップＳ３０３において、データ配布器１３０−３は、サーバ表２０Ａ（アドレス情報）を参照して、他のサーバのデータ配布器１３０と連携（通信）し、ＶＭ（Ａ）の構築に必要なデータを有する保有サーバから、差分データを取得する。
【００４９】
（Ｓ３０４）
その後、ステップＳ３０４において、構築サーバのデータ複合器１４０−３は、構築する予備イメージに、取得された差分データを反映する。全ての差分データの反映が終了した段階で、構築処理の完了となる。ＶＭ（Ａ）の例であれば、データ複合器１４０−３はオリジナルデータａ０に差分データａ１，ａ３，ａ１１を反映し、ＶＭ（Ａ）を構築する。
【００５０】
なお、ＶＭ以外の処理についても、ＶＭに相当する部分を任意の処理に、ＶＭイメージに相当する部分を任意の必須データに置き換えることにより、同様の効果を他の処理を行う環境においても利用できる。
【００５１】
実施の形態２．
実施の形態２では、実施の形態１を改良し、ＶＭの動作状況を判断することで一次障害に対応する例を示す。マスターの予備イメージ管理器１００（Ｍ）が、必須データの保存先サーバを選択する際に、必須データｄ（Ａ）に係るＶＭ（Ａ）が動作しているサーバを保存先候補から除外する場合を示す。例えば、ＶＭ（Ａ）の差分データａ３の保存先サーバを選択する際に、ＶＭ（Ａ）の動作中のサーバを保存先サーバから除外する場合である。これは、ＶＭ（Ａ）の動作中のサーバがダウンした場合に、動作中のＶＭ（Ａ）と、ＶＭ（Ａ）の構築に必要な差分データａ３との共倒れを回避するためである。実施の形態１と同様にサーバＳ１〜Ｓ４のシステムとし、受付サーバ等も同様とする。
実施の形態２〜６は、マスターである予備イメージ管理器１００（Ｍ）による保存先サーバの選択に関する実施形態である。
【００５２】
以下、予備イメージの登録時における処理を中心に述べる。
【００５３】
図１３は、本実施の形態２における予備イメージの登録に関する構成を示す。
図１４は、他のサーバとの同期を示す図である。図１４はマスターの予備イメージ管理器１００（Ｍ）を示す。
【００５４】
（１）保有サーバのデータ差分器１１０は、実施の形態１の場合と同様に、他のサーバの予備イメージ管理器と連携し、入力されたデータ５（ＶＭイメージ）を基に、既存の登録済みデータとの間で差分を取り（例えばａ１に対してａ３）、その結果をデータ表１０Ｂ（図１８）に反映し、差分データ７を出力する。データ表１０Ｂでは、実施の形態１のデータ差分器１１０が作成するデータ表１０Ａに加え、データ５（ＶＭイメージ）に関するＶＭ名も登録される。これは保有サーバの動作である。
（２）データ配置先判断器１２０（Ｍ）は、他のサーバの予備イメージ管理器１００と連携し、データ表１０Ｂ、差分データ７、サーバ表２０Ａ、ＶＭ表４０Ａ（図１７）の情報を基に、差分データ７の保存に適したサーバを選択し、その結果をデータ配置表３０Ｂ（図１９）とデータ表１０Ｂに反映する。また、データ配置先判断器１２０（Ｍ）は、必要があれば、差分データ７の複製（後述する）を設けるべき決定をする。データ配置先判断器１２０（Ｍ）が複製を設けるべき決定した場合、保有サーバのデータ差分器１１０は、決定に応じた差分データ１９を作成する。差分データ７の「複製」については後述する。このデータ配置先判断器１２０（Ｍ）は、マスターサーバのデータ配置先判断器１２０−１（Ｍ）である。保有サーバのデータ配布器１２０−４は、差分データ７をデータ配置表３０Ｂ−４に従い、保存先サーバへ転送する。図１９のデータ配置表３０Ｂ−４は、複製数を示す複製番号を有する。複製番号「０」は複製しない場合である。例えば差分データａ３を１台の保存先サーバに送信する。複製番号「１」は、複製を一つ作成すべきことを示す。保有サーバのデータ差分器１１０は、差分データａ３の複製を一つ生成し、２つの差分データａ３を、データ配置先判断器１２０−１（Ｍ）によって選択された保存先サーバに送信する。（３）動作ＶＭ判定器１２１（Ｍ）は、データ配置先判断器１２０に存在する。動作ＶＭ判定器１２１は、ＶＭの動作状況を基に、必須データの配置先を判断する。
【００５５】
（同期）
なお、データ表１０Ｂとデータ配置表３０Ｂは、予備イメージ管理器によって他のサーバと同期が行われる。
【００５６】
ＶＭ表４０Ａは、サーバ自身のＶＭモニタから適時取得している情報であり、サーバで動作しているＶＭを示す。
【００５７】
図１５は、登録処理における予備イメージ管理器内での処理フローを示し、ステップ番号以外、内容は図４と同様である。
図１６はＳ４０４の詳細動作例を示す。
【００５８】
（Ｓ４０１）
ステップＳ４０１において、保有サーバＳ４のデータ差分器１１０−４は、登録が指示されたデータｄの差分を生成する。
【００５９】
（Ｓ４０２）
ステップＳ４０２において、データ差分器１１０−４は、差分に関する情報をデータ表１０Ｂ−４に反映する。
【００６０】
（Ｓ４０３）
ステップＳ４０３において、データ配置先判断器１２０−１（Ｍ）は、サーバ表２０Ａ−１から保存先候補となるサーバ群を取得する。
【００６１】
（Ｓ４０４）
ステップＳ４０４において、データ配置先判断器１２０−１（Ｍ）は、その保存先候補から差分データ７の保存に適した保存先サーバ（サーバＳ２）を選択し、その結果をデータ配置表３０Ｂ−１とデータ表１０Ｂ−１に反映する。
【００６２】
（Ｓ４０５）
ステップＳ４０５において、保有サーバＳ４のデータ配布器１２０−４は、データ配置表３０Ｂ−４（同期後）に従い、差分データ７を他のサーバへ転送する。
【００６３】
次に図１６を参照して、ステップＳ４０４（保存先サーバの選択）における詳細動作（Ｓ４１１〜Ｓ４１７）を説明する。
【００６４】
（Ｓ４１１）
ステップＳ４１１において、データ配置先判断器１２０−１（Ｍ）は、サーバ候補リストを初期化する。次にサーバ表２０Ａ−１内の全サーバに対しステップＳ４１２〜Ｓ４１３を行う。図１６のＳ４１１において「ＯＵＴ」はサーバ候補リストを示す。
【００６５】
（Ｓ４１２）
ステップＳ４１２において、データ配置先判断器１２０−１（Ｍ）の動作ＶＭ判定器１２１−１は、対象となるサーバ（この場合はサーバＳ１〜Ｓ４全部のサーバ）で動作しているＶＭのＶＭ表４０（処理動作情報）を取得する。この時、動作ＶＭ判定器１２１−１は、取得したＶＭ表４０内に差分データ７に関するＶＭが存在しない場合のみ、ステップＳ４１３を行い、サーバ候補に対象のサーバを追加する。すなわち、保存対象の差分データ７（必須データ、例えば差分データａ３）がＶＭ（Ａ）に関係する場合、ＶＭ（Ａ）が動作していないサーバのみが保存先候補（ｏｕｔＳ）となる。
全てのサーバに対しＳ４１２〜Ｓ４１３が終了した後、ステップＳ４１４において、データ配置先判断器１２０−１（Ｍ）は、サーバ候補が空の場合のみＳ４１５、Ｓ４１６を行う。
【００６６】
（Ｓ４１５）
Ｓ４１５において、データ配置先判断器１２０−１（Ｍ）は、「データ複製数」を「２」とし、サーバ表２０Ａ−１内の全サーバをサーバ候補に設定する。Ｓ４１４において保存先候補（ｏｕｔＳ）が「なし」ということは、先の例で、全部のサーバＳ１〜Ｓ４でＶＭ（Ａ）が動作していることを意味する。
【００６７】
（Ｓ４１６）
Ｓ４１６において、データ配置先判断器１２０−１（Ｍ）は、データ表１０Ｂ−１を更新し、データの複製数を２に更新する。データの複製数が「２」となった効果は、ＶＭ（Ａ）に関する同一の差分データ７を、「２台」のサーバに保存することである。複製数の「２」は一例である。データの複製数が「ｋ」であれば、「ｋ台」のサーバに保存する。この意味で「複製数」という字句を用いている。
【００６８】
（Ｓ４１７）
Ｓ４１７において、データ配置先判断器１２０−１（Ｍ）は、サーバ候補から複製数分のサーバを選択し、選択結果をデータ配置表３０Ｂ−１に反映する。図１８の複製番号は、複製数が「２」の場合、「０」、「１」の２つの差分データ７が登録される。
【００６９】
これにより、登録しようとするデータに関係するＶＭが動作していないサーバ上にデータが保存されることとなる。もしくは、例えばＶＭ（Ａ）に関する差分データａ３を保存しようとする場合に、どのサーバでもＶＭ（Ａ）が動作しているときには、差分データａ３は複製される。よって、複製されたデータが、別々のサーバに保存されることとなる。従って、単一障害に対しデータ復旧が確実に可能となる。
【００７０】
なお、ＶＭ以外の処理についても、ＶＭに相当する部分を任意の処理に、ＶＭイメージに相当する部分を任意の必須データに置き換えることにより、同様の効果を他の処理を行う環境においても利用できる。
【００７１】
実施の形態３．
実施の形態１と同様に、ＶＭを処理としてサーバにて起動している環境においてＶＭイメージを必須データとする予備データ管理について、ＶＭ構築時にデータの転送がなるべく生じないよう、最適なデータの保存先を定める例を示す。この例は構築に関する同じデータを同じサーバに集めて、データ転送を極力なくす例である。
実施の形態３も、実施の形態２と同様に、マスターによる保存先サーバの選択に関する。
【００７２】
実施の形態１と同様にサーバＳ１〜Ｓ４のシステムとし、受付サーバ等も同様とする。
【００７３】
図２０は、本実施の形態３における予備イメージの登録に関するデータ配置先判断器１２０の構成を示す。データ配置先判断器１２０は、データ表１０Ｃ、サーバ表２０Ａ、データ配置表３０Ｃ、ＶＭ表４０Ｂ、配置データ（差分データ）などの入力を基に、配置候補を出力（マスターの場合）し、また実際に配置するデータを出力（保有サーバの場合）する。また、データ配置先判断器１２０は入力データを更新する。
【００７４】
（各判定器）
データ配置先判断器１２０の内部に存在する判定器１（第１選択アルゴリズム）〜判定器ｎ（第ｎ選択アルゴリズム）は、動作ＶＭ判定器１２１とは別の、それぞれ異なる指標（選択基準）で配置先（保存先サーバ）を判断する。データ配置先判断器１２０は、判定器を換えつつ繰返し判定を行うことで、配置候補を選別する。この例でマスターとして動作するのは、データ配置先判断器１２０−１（Ｍ）である。
【００７５】
（登録処理Ａのフロー）
図２１は、データ配置先判断器１２０−１（Ｍ）における登録処理時の処理フローを示す。
【００７６】
（Ｓ５０１）
まず、ステップＳ５０１において、データ配置先判断器１２０−１（Ｍ）は、動作ＶＭ判定器１２１−１を用いて初期の配置候補を取得する。このステップＳ５０１は、図１６の内容である。Ｓ５０１の「ＯｕｔＳ」（サーバ数）、「ＯｕｔＣｏｕｎｔ」は、Ｓ４１７で得られた結果である。
【００７７】
その後、データ配置先判断器１２０−１（Ｍ）は、ステップＳ５０１で取得した複製数（ＯｕｔＣｏｕｎｔ数）分、判定器を換えつつ、Ｓ５０２〜Ｓ５０６を繰り返す。この繰り返しは「ＯｕｔＣｏｕｎｔ」の数だけ、すなわち、複製数（保存先サーバの数）だけ繰り返される。つまり１回のループで、一つの差分データの保存先サーバを選択する。
【００７８】
（Ｓ５０２）
まず、ステップＳ５０２にて、データ配置先判断器１２０−１（Ｍ）は、一時候補（ＴｍｐＳ（１））を候補リストＯｕｔＳから複製し、分割数（ＰａｒｔＣｏｕｎｔ）を１に初期化する。ここで「分割数」とは、保存対象の差分データを分割する数を意味する。分割数＝１とは、差分データを分割しないことを意味し、分割数＝２とは、差分データを２個に分割することを意味し、分割数＝ｋとは、必須データをｋ個に分割することを意味する。
【００７９】
（Ｓ５０３）
次に、ステップＳ５０３において、動作ＶＭ判定器１２１−１の次に動作するよう設定された判定器１は、配置候補（Ｓ５０１：ＯｕｔＳ）、配置するデータ、分割数（Ｓ５０２）を基に、候補のサーバを選択する。
【００８０】
（Ｓ５０４）
その後、ステップＳ５０４において、データ配置先判断器１２０−１（Ｍ）は、Ｓ５０３の結果の候補数（ＴｍｐＳ（２））が「分割数」と同じ個数である場合（Ｓ５０４でＮＯ）のみ、Ｓ５０６、終了と進む。例えば、Ｓ５０３の候補数（保存先サーバの候補数）が１台であり、必須データｄの「分割数」が「１」の場合は、Ｓ５０６、終了と進む。
【００８１】
（Ｓ５０５）
条件が満たされなかった場合（Ｓ５０４でＹＥＳ）、ステップＳ５０５において、データ配置先判断器１２０−１（Ｍ）は、判定器を切換え（サーバ選択アルゴリズムを変更）、再度Ｓ５０２に戻る。すなわち、データ配置先判断器１２０−１（Ｍ）は、別の判定器（サーバ選択アルゴリズム）で、「分割数」＝「サーバ候補数」となるかどうかを判定する。
【００８２】
（Ｓ５０６）
最後にステップＳ５０６において、データ配置先判断器１２０−１（Ｍ）は、一時候補（ＴｅｍｐＳ（２））のサーバを保存先としてデータ配置表３０Ｂ−１に反映し、ステップＳ５０１で取得した候補「ＯｕｔＳ」から一時候補（ＴｅｍｐＳ（ｏｕｔ））となったサーバを削除する。なお最後の判定器ｎは、Ｓ５０４でＮＯとなる判定器（後述の単純判定器１２５）を用意する。
【００８３】
図２２は、動作ＶＭ判定器１２１に加え、数種類の具体的な判定器を実際に組み入れた構成例を示す。図２２では、動作ＶＭ判定器１２１の他、障害保証判定器１２２〜単純判定器１２５の４つの判定器を組み入れている。
（１）障害保証判定器１２２は、不特定サーバの停止に伴うＶＭ復旧が可能なサーバを選択する。
障害保証判定器１２２は、保存先サーバを選択する際に、他のサーバがダウンしたと仮定した場合に、ダウンしたサーバ内で動作していたＶＭが、保存先とすべきサーバで構築できるかをシミュレーションする。ただし、保存先とすべきサーバに保存されているデータに関係するＶＭの構築性をシミュレーションする。
（２）データ関係判定器１２３は、選択したサーバのうち、同一予備データに関係する必須データが多く保存されているサーバを選択する。例えば、予備データとしてＶＭ（Ａ）を構築するのに、元データａ０と、差分データａ１，ａ３，ａ１１とを必要とする。サーバＳ１にａ０が保存されおり、サーバＳ２にａ１，ａ３，が保存されている場合、データ関係判定器１２３は、候補としてサーバＳ１、Ｓ２があり、差分データａ１１を保存する場合、関連するデータが多く保存されているサーバＳ２を差分データａ１１の保存先として選択する。
（３）リソース基準判定器１２４は、選択したサーバのうち、リソースが最も空いているサーバを選択する。
（４）単純判定器１２５は、候補から適当に分割数分のサーバを選択する。よって、単純判定器１２５による判定ではＳ５０４は必ずＮＯとなり、処理はＳ５０６に進む。
【００８４】
図２３は、図２１について、これら４つの判定器を処理に組み込んだ場合のフローである。図２３を参照して、判定器１２１〜１２５を組み込んだ場合を説明する。
【００８５】
ステップＳ５１１、Ｓ５１２は、障害保証判定器１２２が処理を行う。ステップＳ５１３は、データ関係判定器１２３が処理を行う。ステップＳ５１４は、リソース基準判定器１２４が処理を行う。ステップＳ５１５は単純判定器１２５が処理を行う。この例のステップＳ５１２では、障害保証判定器１２２とデータ配置先判断器１２０とが連携して処理を行う。
図２３の処理概要は以下の様である。
障害保証判定器１２２の処理により複数の保存先候補数Ｎ５が選択された場合には、データ関係判定器１２３が、さらに複数の保存先候補数Ｎ５から絞りこむ。データ関係判定器１２３の処理により複数の保存先候補数Ｎ４が選択された場合には、リソース基準判定器１２４が数の保存先候補数Ｎ４から絞り込む。
リソース基準判定器１２４により複数の保存先候補数Ｎ３が選択された場合には、最後に単純判定器１２５が、複数の保存先候補数Ｎ３から所定数の保存先候補を決定する。
【００８６】
（Ｓ５１１）
ステップＳ５１１において、障害保証判定器１２２は動作ＶＭ判定器１２１から渡された候補（ＴｍｐＳ（１））から、不特定のサーバの停止に伴うＶＭ復旧が可能なサーバのみ一時候補（ＴｅｍｐＳ（２））として選択する。この結果（サーバの一時候補）が分割数（Ｓ５０２）より少ない場合、障害保証判定器１２２は、ステップＳ５１２において「分割数」を一つ増やしステップＳ５１１をやり直す。例えば、ｏｕｔ（ＴｅｍｐＳ）＝０の場合、「分割数」は１から１インクリメントされ、２になる。
【００８７】
（Ｓ５１３）
サーバ候補数の方が「分割数」よりも多い場合、処理はステップＳ５１３に進む。ステップＳ５１３において、データ関係判定器１２３は、障害保証判定器１２２から渡されたサーバ候補（ＴｅｍｐＳ）から選択したサーバのうち、保存するデータに関係する他のデータが多いサーバを候補として選択する。
【００８８】
（Ｓ５１４）
Ｓ５１４において、Ｓ５１３で選択されたサーバ候補数が分割数と異なる場合、リソース基準判定器１２４は、データ関係判定器１２３から渡されたサーバ候補からリソース（ＣＰＵ、メモリ、ディスク容量、デバイス、Ｉ／Ｏスループットなどの計算機リソース）が空いているサーバを保存先候補のサーバとして選択する。
【００８９】
（Ｓ５１５）
Ｓ５１４で処理された候補数が分割数と異なる場合、ステップＳ５１５において、単純判定器１２５は、適当に、リソース基準判定器１２４から渡された候補から分割数分のサーバを選択する。
【００９０】
次に図２４〜図２６を参照して、障害保証判定器１２２、データ関係判定器１２３、リソース基準判定器１２４のそれぞれの動作を説明する。
【００９１】
（障害保証判定器１２２の具体的な処理）
図２４は、図２３に示したステップＳ５１１の障害保証判定器１２２による具体的な処理を示すフローチャートである。図２４は、障害保証判定器１２２が動作主体である。図２４は、障害保証判定器１２２によって、候補サーバで、予備データの構築が可能かどうかを判断するフローである。すなわち、障害保証判定器１２２は、保存先サーバが構築先サーバともなり得るかどうかを確認する。
【００９２】
処理は入れ子となった４つのループからなる。
ステップＳ５１１では、障害保証判定器１２２は、不特定のサーバが停止したことをシミュレーションし、データを保存した場合でも、その復旧に対応可能かを判断する。
【００９３】
（１）まず、ステップＳ５２１において、障害保証判定器１２２は、保存するデータに関係するＶＭを取得する。
（２）次にステップＳ５２２において、障害保証判定器１２２は、仮候補ＮｅｗＴｅｍｐＳを初期化する。
（３）その後、ステップＳ５２３において、障害保証判定器１２２は、動作ＶＭ判定器１２１から渡されたサーバ候補中から分割数分（ＰａｒｔＣｏｕｎｔ）の組み合わせを網羅し、それぞれ保存先の候補群ＣとしてステップＳ５２４〜Ｓ５３０を行う。具体的には、例えば、渡されたサーバ候補が４台あり、分割数が２であるとする。その場合、２つのデータを４台のサーバのうち２台に保存する。よって、候補群Ｃとして、「４Ｃ２通り」の組み合わせができる。
（４）また、ステップＳ５２４において、障害保証判定器１２２は、保存するデータに関係するＶＭを分割数に分けた場合の全組み合わせについて網羅し、それぞれ復元するＶＭの組合せ候補ＤとしてステップＳ５２５〜Ｓ５３０を行う。ステップＳ５２５〜Ｓ５２９までは、ある特定のサーバｓｊが停止した場合をシミュレーションしている。
（５）まず、ステップＳ５２５において、障害保証判定器１２２は、サーバｓｊにて動作しているＶＭリストＶａを取得する。
（６）次に、ステップＳ５２６においてパラメータｃｎｔを初期化する。その後、Ｄの要素数分ステップＳ５２７〜Ｓ５２９を繰り返す。
（７）ステップＳ５２７において、障害保証判定器１２２は、候補群Ｃのｃｎｔ番目のサーバに保存されているデータに関係するＶＭリストＶｓを取得する。
（８）次に、ステップＳ５２８において、候補群Ｄのｃｎｔ番目のＶＭ群とＶｓの和のうち、Ｖａに含まれるものをＶｕとする。
（９）その後、候補群Ｃのｃｎｔ番目のサーバにＶＭ群Ｖｕを全て構築できるリソースの空きがあるかを判定する。このｓｊの障害判定全てに対して空きが存在した組み合わせＣをステップＳ５３０において、出力する保存先候補に追加する。これをＣ，Ｄ全組み合わせにおいて実行した後、ステップＳ５３１において、出力候補を一時候補に繁栄する。
【００９４】
（データ関係判定器１２３の具体的な処理）
図２５は、ステップＳ５１３の詳細なフローを示す。これらは全てデータ関係判定器１２３の処理となる。処理は、各サーバのデータ関係度を算出する前半部（ステップＳ５４１〜Ｓ５４５）と、その中から関係度の大きいサーバを選択する後半部（ステップＳ５４７〜ステップＳ５５１）からなる。
（１）まず、ステップＳ５４１において、データ関係判定器１２３は、各サーバのデータ関係度（Ｒａｔｅｓ）を初期化し、保存するデータに関係するＶＭ群をＶｄに保存する。
その後、候補中の全サーバに対してステップＳ５４２〜Ｓ５４５を行う。
（２）ステップＳ５４２では、データ関係判定器１２３は、判定するサーバｓｉに保存されているデータ群を取得する。
（３）次に、ステップＳ５４４において、データ関係判定器１２３は、関係度を０にし、その後、Ｖｄの全ＶＭを対象にＶＭ  ＶとしてステップＳ５４５を行う。
（４）Ｓ５４５においては、データ関係判定器１２３は、ＶＭ  Ｖの構築に必要なデータがサーバｓｉに保存されている割合を取得し関係度に加算する。
（５）その後、Ｓ５４６において、データ関係判定器１２３は、サーバｓｉの関係度として、先ほどの関係度を保存する。
（６）次に、データ関係判定器１２３は、算出した関係度を基に、候補サーバを選択する。まず、ステップＳ５４６において、データ関係判定器１２３は、出力した候補数と候補群を初期化する。
（７）ステップＳ５４７において、データ関係判定器１２３は、関係度Ｒａｔｅｓから最も大きい候補群を取得する。
（８）その後、ステップＳ５４８、５４９において、データ関係判定器１２３は、先ほどの候補を出力候補に加え、ステップＳ５５０において関係度リストから候補を削除する。（９）その後ステップＳ５５１において分割数より出力する候補数が少ない場合、ステップＳ５４８に処理を戻す。
【００９５】
（リソース基準判定器１２４の具体的な処理）
図２６は、ステップＳ５１４の詳細なフローを示す。これらは全てリソース基準判定器１２４の処理である。
（１）まず、ステップＳ５６１において、リソース基準判定器１２４は、出力する候補数と候補を初期化する。
（２）次にステップＳ５６２において、リソース基準判定器１２４は、他のサーバの予備イメージ管理器と連携し、入力されている候補から空きリソース量の最も大きいサーバを取得する。
（３）その後ステップＳ５６３、Ｓ５６４において、取得したサーバを出力の候補に加え、ステップＳ５６５において入力された候補から加えた候補を削除する。
（４）その後ステップＳ５６６において分割数より出力する候補数が少ない場合、ステップＳ５４８に処理を戻す。
（５）最後に、ステップＳ５６７において、出力候補を最終的な候補に反映する。
【００９６】
これら判断器の組み合わせにより、本実施の形態３では、データ転送が極力生じることが無い様に、必須データ構築に必要な予備データを集約することでデータの転送を防ぐ。集約においては、そのサーバで引継ぎ対象となる処理が起動できるほどリソースが余っているのかを基準に、処理を行うだけの余地を各サーバに残しつつ、配置してある予備データ同士の関係、そのデータに関係する処理同士の関係を加味し、データの配置先を定める。
【００９７】
この例においては、分割に対応するためにデータ表、データは位置表が図２７、図２８のようになる。また、ＶＭの起動に必要なリソースを判断する必要があるため、ＶＭ表４０は図２９のようになる。
【００９８】
次に本例の実動作例を示す。
図３０〜図３３は、以上に述べた、動作ＶＭ判定器１２１、障害保証判定器１２２、データ関係判定器１２３、リソース基準判定器１２４及び単純判定器１２５の処理結果を示している。
ＶＭ  Ａ〜Ｊがサーバｉ〜ｌにて動作しているものとする（図３０）。また、ＶＭ  Ａ〜Ｊは図８で示される予備データから構成されるものとする。本例では、既にＶＭが動作している環境において予備データを図８の左から右の順番で（ａ０→ｂ０→ａ１→ａ２→ｂ１→ｂ２→ａ３→ａ４→ａ５．．．）ひとつずつ格納する場合について述べる。なお、各サーバは２７０ＧＢのディスク、ＶＭが４０ＧＢ、ａ０、ｂ０を４０ＧＢ、ａ１〜１４、ｂ１〜ｂ９を５ＧＢとし、リソースの判定はディスク容量について行うものとする。
【００９９】
（図３１）
この場合のａ０〜ａ１４、ｂ０〜ｂ９の配置の判断は図３１のように行われる。この例では、ａ０は一つのサーバにまとめて保存され、ｂ０は２つのサーバに分割して保存される。ａ１、ｂ１以降は、データの関連度を基に、各サーバに振り分けられ、最終的に図３１の最下段の構成となる。
図３１の上段の「Ｓｉ〜Ｓｌ」は次のことを示している。
＜上段＞
加えて格納時の空きスペースとデータ関係を考慮した場合、ａ０群を保存するにあたり、最も空いているＳｌに全て保存としても、現時点ではＶＭを３台構築する余裕が残る。Ｓｊにａ０を全て集約した場合、ｂ０群を保存するにあたり、ｂ０に関係するＶＭが動作していないＳｉとＳｊとなる。ｂ０に関するＶＭの復旧には１５０ＧＢが必要であるが、ｂ０格納時点で満たすサーバはない。複数のサーバで起動が行われる。起動時必要な最小のサーバの数だけ均等に配置する。
図３１の中段の「Ｓｉ〜Ｓｌ」は次のことを示している。
＜中段＞
ａ１の保存においては、関係の強いａ０があるＳｌに格納後も１５０ＧＢ空きがあるため、サーバｌに保存する。ａ２も同様である。ｂ１の保存においては、関係するデータ量、空き容量が同量となるため適当にＳｉに保存する。ｂ２の保存においてはｂ２とｂ１は関係がなく、関係するデータ量が等しいが、Ｓｊの空き容量が多いため、Ｓｊに保存する。以下、同様に、ＶＭ起動の可否、関係するデータ量、空き容量などを基に保存先を判断する。
図３１の下段の「Ｓｉ〜Ｓｌ」は次のことを示している。
＜下段＞
Ｓｉが停止した場合、Ａ、Ｂ、Ｃの再構築において、Ｓｌにて構築する場合、データ転送は発生しない。Ｓｋが停止した場合、Ｇ、Ｈ、Ｉの再構築において、ＳｉにてＧを、ＳｊにてＨとＩを構築する場合、計５０ＧＢを転送することとなる。
【０１００】
（図３２）
この構成においては、サーバｉの障害に対しては図３２のようなデータの流れで、サーバｋの障害に対しては図３３のようなデータの流れでＶＭを復旧した場合、転送量が最も少なく、最短での起動が可能となる。図３２では、Ｓｉが停止した際に、Ａ、Ｂ、Ｃの再構築をＳｌにて行う場合、データの転送は発生しない。図３３では、Ｓｋが停止した際に、Ｇの再構築をＳｉにて、Ｂ、Ｃの再構築をＳｊにて行う場合、データ計５０ＧＢを転送することとなる。図３３では、ＳｉでのＧの構築にはＳｊ内のｂ０／１が必要であり、ＳｊでのＨ、Ｉの構築にはＳｉ内のｂ０／０が必要である。
【０１０１】
なお、ＶＭ以外の処理についても、ＶＭに相当する部分を任意の処理に、ＶＭイメージに相当する部分を任意の必須データに置き換えることにより、同様の効果を他の処理を行う環境においても利用できる。
【０１０２】
実施の形態４．
実施例１同様、ＶＭを処理としてサーバにて起動している環境においてＶＭイメージを必須データとする予備データ管理について、特定のサーバにてＶＭイメージを復元するように指示が生じた際、その特定のサーバにてＶＭイメージを構築するだけのディスクスペースがない場合の例を示す。
【０１０３】
本例では、処理引継ぎ時に伴うデータの再移動を行うことで、実際の起動時のリソース不足解消や、次の障害への対応を行う。本構成は、図９、ならびに図２０に則る。
【０１０４】
本例での予備イメージ管理器の構築処理時の処理フローを図３４に示す。
（１）まず、ステップＳ６０１において、データ複合器１２は、構築するだけのリソースの空きがあるのかを判断する。
（２）余地が無い場合、ステップＳ６０２において、予備イメージ管理器は、その構築先サーバに保存されているデータの内、構築に関係のないデータを対象に、自サーバへの配置が不適切であるデータを選択する。
（３）この選択においては、データ配置先判断器２２によって対象データ全てに対して再度適切な配置先を判断し、その結果が既に保存されているサーバと異なるデータを候補として扱う。
（４）候補が出次第、その候補から適切な数だけ、ステップＳ６０３において、予備イメージ管理器は、データ配布器を用いてデータを他のサーバに移動させる。
以降、リソースが空くまで繰り返す。
【０１０５】
なお、ＶＭ以外の処理についても、ＶＭに相当する部分を任意の処理に、ＶＭイメージに相当する部分を任意の必須データに置き換えることにより、同様の効果を他の処理を行う環境においても利用できる。
【０１０６】
実施の形態５．
実施例１同様、ＶＭを処理としてサーバにて起動している環境においてＶＭイメージを必須データとする予備データ管理について、深夜など処理に余裕がある際にサーバにあるデータの配置を最適化する処理について示す。
【０１０７】
本例では、予備イメージ管理器が、内部に持つデータ配置先判断器２２やデータ配布器１９を用いてデータの再配置を行う。また、予備イメージ管理器は、データ配置先判断器２２内にある障害保証判定器２９を直接利用する。
【０１０８】
予備イメージ管理器は、データ配置先判断器２２と障害保証判定器２９に対し仮の表を渡し、配置先を仮として取得する。また、その結果をデータ配置表３０に反映し、データ配布器１９に再配布を命令する。データ配置先判断器２２は、仮の配置先を、仮として渡された入力情報から算出する。障害保証判定器２９は、予備イメージ管理器から渡された仮の入力情報から、指定のサーバが選択候補に含まれるかを返す。データ配布器１９は、予備イメージ管理器が定めたデータ配置表３０に従い、データの転送を行う。
【０１０９】
図３５は、本例での予備イメージ管理器の再配置処理時の処理フローを示す。フローは、Ｓ７０１、Ｓ７０２、Ｓ７０３の三つのステップからなる。
（１）ステップＳ７０１において、予備イメージ管理器は、予備イメージ管理器が管理しているデータ全ての配置パターンを仮の入力情報としてデータ配置先判断器２２を起動し、最も再構築時のデータ移動量が少ない配置パターンを選択する。
（２）次に、ステップＳ７０２において、予備イメージ管理器は、最適配置に沿っていないデータの内、動作保証判定器２９の選定による条件を満たすデータと最適配置先のサーバの組み合わせを選び、そのデータを対象のサーバにデータ配布器１９を用いて転送する。
（３）最後に、ステップＳ７０３において、予備イメージ管理器は、最適配置に沿っていない残ったデータを対象のサーバにデータ配布器１９を用いて無条件で転送する。
【０１１０】
図３６のフローは、図３５のフローを停止再開可能な処理に改変し詳細化したものである。ステップＳ７０１は、ステップＳ７１１〜Ｓ７１５に相当する。ステップＳ７０２は、ステップＳ７２１〜Ｓ７２９に相当する。ステップＳ７０３は、ステップＳ７３１〜Ｓ７３６に相当する。
【０１１１】
まず、ステップＳ７１１において、予備イメージ管理器は、処理が中断状態から再開されたのか、初期開始なのかを再検証が必要か否かを基に判定する。判定が必要となった場合、予備イメージ管理器は、ステップＳ７１２において強制移動フラグｆｏｒｃｅを偽に変更し、ステップＳ７１３において、データ配置先判断器２２を用いて最適な配置先を選択する。ステップＳ７１４では、強制移動フラグｆｏｒｃｅがｔｒｕｅの場合、つまり、中断処理において前回強制移動を行っていた場合、ステップＳ７３２に飛ぶ。ステップＳ７１５では、現在の配置と最適配置が等しいかを判定し、等しければ終了、等しくなければステップＳ７２１に飛ぶ。
【０１１２】
ステップＳ７２１において、予備イメージ管理器は、データ移動フラグｆｌａｇを偽に初期化し、その後、最適配置となっていないデータの内、障害保証判定器２９の条件に満たすデータを移動する。
【０１１３】
まず、ステップＳ７２２において、中断すべきかを判定し、中断しない場合のみ、ステップＳ７２３に飛び、現在移動検証の候補となるデータｄの配置先サーバｓｋを取得する。次に、その配置先サーバが現在のサーバと等しくない場合のみステップ、Ｓ７２５に飛び、データｄをサーバｓｋに移動しても動作保証器での条件を満たす場合のみステップＳ７２６に飛ぶ。ステップＳ７２６において、予備イメージ管理器は、データ配置表３０を更新し、データ配布器１９にデータの移動を命令し、データｄをサーバｓｋに移動する。一つでもデータを移動した場合、ステップＳ７２７において、予備イメージ管理器はデータ移動フラグｆｌａｇを真に更新する。その後、ステップＳ７２８において、現在の配置と最適配置が等しいかを判定し、等しい場合は終了を、等しくない場合はステップＳ７２９に飛ぶ。ステップＳ７２９において、予備イメージ管理器は、障害保証判定器２９の条件下でデータを移動させた場合のみステップＳ７２１に飛び、再度障害保証判定器２９の条件下でデータを移動可能か試みる。
【０１１４】
ステップＳ７２６において移動させたデータが無い場合、ステップＳ７３１において、予備イメージ管理器は、強制移動フラグｆｏｒｃｅをｔｒｕｅにし、強制移動状態に移行する。強制移動状態では、まず、ステップＳ７３２において、予備イメージ管理器は、ステップＳ７３２において、中断すべきかを判定し、中断しない場合のみ、ステップＳ７３３に飛ぶ。ステップＳ７３３において、予備イメージ管理器は、最適パターンと異なるデータから一つを選択し、ステップＳ７３４において、データ配置表３０を更新し、データ配布器１９にデータを移動させることで選択したデータを最適配置パターンに従って移動させる。その後、ステップＳ７３５において、予備イメージ管理器は、現在の配置と最適配置が等しいかを判定し、等しくない場合はステップＳ７３２に戻り、等しい場合は、ステップＳ７３６において強制移動フラグｆｏｒｃｅをｆａｌｓｅにし強制移動状態を解除し処理を終了する。
【０１１５】
なお、ＶＭ以外の処理についても、ＶＭに相当する部分を任意の処理に、ＶＭイメージに相当する部分を任意の必須データに置き換えることにより、同様の効果を他の処理を行う環境においても利用できる。
【０１１６】
実施の形態６．
実施例１同様、ＶＭを処理としてサーバにて起動している環境において、ＶＭイメージを必須データとする予備データ管理について、利用者にデータ復元時の指標を示す例について述べる。
【０１１７】
本例における処理フローを図３７に示す。フローは、利用者から特定のＶＭの構築に対する指標の提示が発行された際のものである。
図３７において、
ｓｉｚｅ（Ｄ）＝データ群Ｄのデータサイズの合計、
ｒｅａｄｙ（ｓｉ）＝サーバｓｉに保存されているデータ群、
ｓｒｃ（Ａ）＝ＶＭ  Ａを構築するのに必要なデータ群、
である。本例では、予備イメージ管理器ご動作している全てのサーバに対し、まずステップＳ８０１において、そのサーバ内において、特定のＶＭの構築に必要なデータが保存されている割内をｒａｔｅに算出する。
【０１１８】
次に、ステップＳ８０２において、そのサーバで特定のＶＭを起動する際に、リソースの過不足がどの程度かをｒｅｓに算出する。最後に、全てのサーバのｒａｔｅとｒｅｓをユーザに返却し終了する。なお、ユーザから見た場合、ｒａｔｅは構築時の転送量負荷、ｒｅｓは構築後のサーバの余力を示す。
【０１１９】
なお、ＶＭ以外の処理についても、ＶＭに相当する部分を任意の処理に、ＶＭイメージに相当する部分を任意の必須データに置き換えることにより、同様の効果を他の処理を行う環境においても利用できる。
【０１２０】
実施の形態７．
実施の形態７は、コンピュータである運用系サーバＳ１のハードウェア構成を説明する。図３８は、コンピュータである運用系サーバＳ１の外観の一例を示す図である。図３９は、運用系サーバＳ１のハードウェア資源の一例を示す図である。他の運用系サーバも運用系サーバＳ１と同様であるので、運用系サーバＳ１について説明する。
【０１２１】
外観を示す図３８において、運用系サーバＳ１は、システムユニット８３０、ＣＲＴ（Ｃａｔｈｏｄｅ・Ｒａｙ・Ｔｕｂｅ）やＬＣＤ（液晶）の表示画面を有する表示装置８１３、キーボード８１４（Ｋｅｙ・Ｂｏａｒｄ：Ｋ／Ｂ）、マウス８１５、ＦＤＤ８１７（Ｆｌｅｘｉｂｌｅ・Ｄｉｓｋ・  Ｄｒｉｖｅ）、コンパクトディスク装置８１８（ＣＤＤ：Ｃｏｍｐａｃｔ  Ｄｉｓｋ  Ｄｒｉｖｅ）、プリンタ装置８１９などのハードウェア資源を備え、これらはケーブルや信号線で接続されている。システムユニット８３０はネットワークを介して、他の運用系サーバＳと接続している。
【０１２２】
またハードウェア資源を示す図３９において、運用系サーバＳ１は、プログラムを実行するＣＰＵ８１０（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備えている。ＣＰＵ８１０は、バス８２５を介してＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）８１１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）８１２、表示装置８１３、キーボード８１４、マウス８１５、通信ボード８１６、ＦＤＤ８１７、ＣＤＤ８１８、プリンタ装置８１９、磁気ディスク装置８２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置８２０の代わりに、光ディスク装置、フラッシュメモリなどの記憶装置でもよい。
【０１２３】
ＲＡＭ８１２は、揮発性メモリの一例である。ＲＯＭ８１１、ＦＤＤ８１７、ＣＤＤ８１８、磁気ディスク装置８２０等の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部、格納部、バッファの一例である。通信ボード８１６、キーボード８１４、ＦＤＤ８１７などは、入力部、入力装置の一例である。また、通信ボード８１６、表示装置８１３、プリンタ装置８１９などは、出力部、出力装置の一例である。
【０１２４】
通信ボード８１６は、ネットワーク（ＬＡＮ等）に接続されている。通信ボード８１６は、ＬＡＮに限らず、インターネット、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。
【０１２５】
磁気ディスク装置８２０には、オペレーティングシステム８２１（ＯＳ）、ウィンドウシステム８２２、プログラム群８２３、ファイル群８２４が記憶されている。プログラム群８２３のプログラムは、ＣＰＵ８１０、オペレーティングシステム８２１、ウィンドウシステム８２２により実行される。
【０１２６】
上記プログラム群８２３には、以上の実施の形態１〜６の説明において「〜部」、あるいは「〜器」として説明した機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ８１０により読み出され実行される。
【０１２７】
ファイル群８２４には、以上の実施の形態の説明において、「〜の判定結果」、「〜の算出結果」、「〜の抽出結果」、「〜の生成結果」、「〜の処理結果」として説明した情報や、データや信号値や変数値やパラメータなどが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ８１０によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
【０１２８】
また、以上に述べた実施の形態の説明において、データや信号値は、ＲＡＭ８１２のメモリ、ＦＤＤ８１７のフレキシブルディスク、ＣＤＤ８１８のコンパクトディスク、磁気ディスク装置８２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス８２５や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【０１２９】
また、以上の実施の形態の説明において、「〜部」、「〜器」として説明したものは、「〜手段」、「〜回路」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」、「〜器」として説明したものは、ＲＯＭ８１１に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ８１０により読み出され、ＣＰＵ８１０により実行される。すなわち、プログラムは、以上に述べた「〜部」、「〜器」としてコンピュータを機能させるものである。あるいは、以上に述べた「〜部」、「〜器」の手順や方法をコンピュータに実行させるものである。
【０１３０】
以上の実施の形態では、予備イメージ管理システム、運用系サーバを説明したが、運用系サーバの動作をコンピュータに実行させる必須データ管理プログラムとして把握することも可能である。あるいは、必須データ管理プログラムを記録したコンピュータ読み取り可能な記録媒体として把握することも可能である。さらに、運用系サーバＳの動作を通信方法として把握することも可能である。
【０１３１】
以上の実施の形態では運用系サーバＳにおけるＶＭの場合を説明したが、これは一例であり、予備データを保存するすべての処理を対象とする。
【０１３２】
以上の実施の形態では、以下のＡ〜Ｅの大項目に関して、（１）〜（１４）の事項を説明した。
【０１３３】
＜Ａ．システム全体＞
以下の（１）〜（３）は、実施の形態１、２、３に関連する。
（１）何らかの障害により計算機（以下サーバ）が停止し処理の継続が困難になった際に、他の運用系サーバにてそれらの処理の継続を図る様な環境において、処理の引継ぎにおいて必要となるデータであって、処理が利用するデータ（以下必須データ）の引継ぎに関する技術を説明した。この技術は、ＳＡＮなどの共有記憶装置ではなく、各サーバ個別の記憶装置（以下ディスク）を用いた場合にでも必須データの引継ぎを行う予備データ管理器に関する。予備データ管理器は、必須データを配置すべきサーバを適切に判断し、引継ぎ時の必須データの転送を少なくし、引継ぎが短時間で行えるように図る。予備データ管理器は、通常のバックアップ装置とは異なり、運用系サーバにて動作し、処理の引継ぎ専用のサーバを不要にし、また、必須データの引渡しにおいても、データ引継ぎ専用のサーバを不要にする。予備データ管理器は、システムを構成する運用系サーバにおいて動作し、予備データ管理器が相互にデータのやり取りを行う。必須データは、利用者からの指示に従い、予備データ管理器によって他のサーバに複製が配置される。この時、予備データ管理器は、その必須データを必要とする処理自体も実際に引継ぎ可能なサーバ（引継ぎが生じた際に、処理を行うだけの余力が存在するサーバ）を複製の配置先として優先的に扱い、処理が行われるサーバに予め必須データを集約しておく。これにより、障害時の処理の引継ぎ時における必須データの収集に伴う転送量を削減し、引継ぎに要する時間を短縮する。なお、配置された複製のデータを以降、予備データとする。
（２）上記（１）において、元となる必須データの更新に伴い、予備データ管理器の管理下にある保存データも更新を行うことで、必須データの更新に対応する。
（３）上記（１）において、必須データ間で差分をとり、保存にはその差分により生じたデータを用いることで複製の保存に使用するディスク使用量を削減する。差分により生じたデータは、差分の元となるオリジナルと、それからの差分であるパッチからなる。この時、必須データの登録時に差分を取り、差分により生じたデータを予備データとして配置する。また、必須データが必要となった場合、処理の起動に先立ち、処理が起動する先のサーバにて必須データを復元する。特に明言しない限り、以降、予備データには、必須データそのものだけではなく、オリジナルとパッチを含める。
【０１３４】
＜Ｂ．配置先判断器における判断＞
以下の（４）は実施の形態２，３に関連し、（５）は実施の形態３に関連する。
（４）予備データ管理器は、配置先の判断のために配置先判断器を有する。配置先判断器は、配置すべき予備データの情報、必須データに関する処理の情報、サーバの情報を基に、その予備データを配置すべきサーバを判定し、その指標を他に出力する。情報は、データサイズだけではなく、処理に必要となるＣＰＵ性能、メモリ量、必要デバイス、Ｉ／Ｏスループット性能といったサーバリソース（以下リソース）も含める。予備データ管理器はこの出力結果を基に、予備データの管理を行う。配置先判断器における配置先の決定は、必須条件と追加条件からなる。必須条件は必ずその決定を満たす必要があり、追加条件は必須条件後のさらなる絞込みとなる。追加条件は省略できる。また、追加条件を利用する場合は、少なくとも１つ、また、複数を組み合わせて行う。なお、選択とあるが、配置する／配置しないと２択に決定するのではなく、０〜１といった重みをサーバに付けるものとする。
＜必要条件＞（３，４はどちらかを満たせばよい）
１．配置対象である予備イメージに関する処理が現在動作してないサーバを配置先として選択する。例えば、予備イメージがパッチであり、そのパッチを必要とする必須データが複数ある場合、その必須データを利用する複数の処理全てが動作していないサーバが候補となる。該当するサーバが存在しない場合、予備データを複製し２つのサーバに分配する。個々の保存先については、他の判定基準に則って判断を行う。
２．仮に予備データを配置した後を対象に、そのサーバに配置されている予備データに関する処理全ての起動が可能なほどのリソースを確保できるサーバを選択する。
３．仮に予備データを配置した後を対象に、あるサーバ上で動作している処理群の内、配置先サーバで保存されている予備データに関する処理を対象とし、その処理全ての起動が可能なほどのリソースを有するサーバを選択する。これにより、あるサーバが停止した際の処理の継続が可能な程のリソースを全サーバにおいて確保する。
４．仮に予備データを配置した後を対象に、あるサーバが停止した際に、そのサーバ内で動作していた処理のうち、少なくとも一つを起動可能なほどリソースをデータ配置先のサーバが有しており、また、残りの処理を他のサーバで起動可能なサーバを選択する。
＜追加条件＞
１．配置対象である予備データに関係する処理に対し、同様に関係するデータが多くするサーバを選択する。データが多く存在するかの判断においては、配置する予備データからなる必須データ群を対象に、その必須データの構築に必要な全データの総サイズに対し、配置対象のサーバにはそれら必要な全データのうちどの程度のデータ量が含まれているのかを指標とする。
２．ある処理ａと同じサーバで動作するのを指示された処理を、処理ａと関係の強い処理と定義する。配置する予備データに関する処理と関係の強い処理が、既にそのサーバに配置されているデータに関する処理に含まれる場合、その処理の数が多いサーバを選択する。
３．ある処理ａと別のサーバで動作するのを指示された処理を、処理ａと関係の弱い処理とする。配置する予備データに関する処理と関係の弱い処理が、既にそのサーバに配置されているデータに関する処理に含まれる場合、その処理の数が少ないサーバを選択する。
４．リソースが最も空いているサーバを選択する。
５．利用者により、処理をどのサーバで起動させるか（サーバ毎の処理の起動率など）が入力されている場合、その値を基にサーバを選択する。
（５）上記４において、配置先判断器は、データを分割する機能を備える。分割が行われるタイミングは、決定先を定める場合であり、次の二つが存在する。
１．上記（４）の必須条件を満たすサーバが存在しない時、予備データを分割することで条件を満たすサーバが生ずる場合はデータを分割して保存する。分割したデータは均等に別のサーバに保存される。なお、保存先のサーバの判断は、決定法２、３におけるサーバの判断に次のような変更を加える。サーバ一台で予備データに関する処理を起動できるか否かを判断するのではなく、分割して保存した先のサーバ全てを合せた場合に、それら処理を起動できるか否かを判断基準とする。
２．上記（４）において、他のサーバで起動させる処理が、自身に配置したデータに同じく関係している場合、データを分割して、他のサーバに分ける。分割したデータはチャンクとして扱われる。
【０１３５】
＜Ｃ．配置したデータの移動（非計画的移動と計画的移動）＞
下記（６）は実施の形態４に関連し、下記（７）〜（９）は実施の形態５に関連する。（６）あるサーバで処理を行う際に、その処理に関する必須データを構築するのに必要なディスクの空き容量がそのサーバに存在しない場合、予備データ管理器は、そのサーバ内の予備データを必要なだけ他のサーバに転送し、移動することで空き容量を確保する。この時、移動すべき予備データの選択には、サーバを対象に上記（４）と同様の手法で、サーバに保存されている各データに対し、配置先となるサーバを求め、そのサーバが現在保存されているサーバと異なるデータを選択する。また、その時決定された保存すべきサーバへ移動する。
（７）予備データ管理器は、あるサーバで処理が行われた際に、そのサーバ内に配置してある予備データのうち次のデータを、必須データ復元後、もしくは、サーバの処理に余裕がある時に、他のサーバに移転する。これにより、さらなる障害に対応する。移転するデータは、動作した処理に関するデータとなる。また、あるサーバで処理が行われた際に、それにより、そのサーバ内のデータにおいて上記（４）において決定した配置方法を満たさないデータが生じる場合、その条件を満たさないデータを他サーバに移動する。移動先サーバに関しては上記（４）と同様に定める。
（８）予備データ管理器は、深夜などのサーバに処理の余裕がある時に、そのサーバに保存されているデータを他のサーバに移動する。
データの移動先には次の２つのいずれかを用いる。
１．データの移動には、上記（４）と同様の手段で保存に適したサーバを調べ、自そのデータが現在保存されているサーバ以外が該当した場合に、その該当したサーバに移動を行う。
２．あるサーバが障害により停止した場合に他のサーバにて処理が起動することをシミュレーションする。そのシミュレーションにおいては、データがどのように分散していた場合が最も迅速に全処理を起動させることが可能かを判断する。この判断結果を基にデータを移動し、最適な配置に変更する。なお、データを一括して移動するのではなく、移動処理を行う余裕があるかを適時判断し、余裕がなくなった場合は、移動処理を一時停止し、次回のタイミングにて再開することで、移動処理の負荷を軽減する。また、以前一時停止した後に、新しく予備データが登録、もしくは移動さされた際は、再度シミュレーションを行う。データの移動先決定２においても、データの移動は、上記（４）の必須決定を満たす範囲でのデータ移動を行う。
（９）予備データ管理器は、データの移動においてそのデータがチャンクである場合、そのチャンクと同位のデータが存在しないサーバにデータを移動する。また、チャンクを合成し一つのデータとしてまとめた場合でも上記（４）の必須条件を満たすサーバが存在する場合、そのサーバにチャンクを合成して保存する。
【０１３６】
＜Ｄ．レプリカによる二次障害対策＞
下記（１０）〜（１２）は実施の形態２、３に関連する。
（１０）予備データ管理器は、予備データの保存においてはレプリカを別途、別のサーバに保存する。レプリカの基となるデータをマスタとする。レプリカの保存においては、上記（４）と同様の方法で保存先のサーバを定める。なお、保存先はマスタや、マスタを同じくする他のレプリカと別のサーバに保存する。
（１１）予備データ管理器は、レプリカが存在する場合において、あるサーバで必須データを復元する際に、そのサーバに復元に必要な空き容量が無い場合、そのサーバ内のデータを必要なだけ削除する。なお、削除するデータがマスタの場合、そのマスタによるレプリカを新しいマスタとする。削除すべきデータは、上記（６）と同様に、各データの配置先となるサーバを求め、そのサーバが現在保存されているサーバと異なるデータを対象とする。
（１２）予備データ管理器は、上記（１１）による削除直後に、もしくは、削除後処理に余裕がある時に、マスタ、もしくはレプリカから、別のサーバにレプリカを復旧する。レプリカの復元先のサーバは、上記（４）と同様に求める。
【０１３７】
＜Ｅ．処理の継続のし易さを提示＞
下記（１３）、（１４）は実施の形態６に関連する。
（１３）予備データ管理器は、各サーバに保存しているデータ量と各サーバのリソース量を基に、ある処理に関して、各サーバでの継続のし易さを指標として提示する。
（１４）予備データ管理器は、各サーバに保存しているデータ量と各サーバのリソース量を基に、あるサーバに関して、各処理の継続のし易さを指標として提示する。
【符号の説明】
【０１３８】
Ｓ−１，Ｓ−２，Ｓ−Ｎ  運用系サーバ、１０Ａ，１０Ｂ，１０Ｃ  データ表、２０Ａ  サーバ表、３０Ａ，３０Ｂ，３０Ｃ  データ配置表、４０Ａ，４０Ｂ  ＶＭ表、１００  予備イメージ管理器、１１０  データ差分器、１２０  データ配置先判断器、１２１  動作ＶＭ判定器、１２２  障害保証判定器、１２３  データ関係判定器、１２４  リソース基準判定器、１２５  単純判定器、１３０  データ配布器、１４０  データ複合器、２００  記憶装置、３００  処理実行部、４００  ネットワーク、１０００  予備イメージ管理システム。
【図１】
2011099380.tif 000003
【図２】
2011099380.tif 000004
【図３】
2011099380.tif 000005
【図４】
2011099380.tif 000006
【図５】
2011099380.tif 000007
【図６】
2011099380.tif 000008
【図７】
2011099380.tif 000009
【図８】
2011099380.tif 000010
【図９】
2011099380.tif 000011
【図１０】
2011099380.tif 000012
【図１１】
2011099380.tif 000013
【図１２】
2011099380.tif 000014
【図１３】
2011099380.tif 000015
【図１４】
2011099380.tif 000016
【図１５】
2011099380.tif 000017
【図１６】
2011099380.tif 000018
【図１７】
2011099380.tif 000019
【図１８】
2011099380.tif 000020
【図１９】
2011099380.tif 000021
【図２０】
2011099380.tif 000022
【図２１】
2011099380.tif 000023
【図２２】
2011099380.tif 000024
【図２３】
2011099380.tif 000025
【図２４】
2011099380.tif 000026
【図２５】
2011099380.tif 000027
【図２６】
2011099380.tif 000028
【図２７】
2011099380.tif 000029
【図２８】
2011099380.tif 000030
【図２９】
2011099380.tif 000031
【図３０】
2011099380.tif 000032
【図３１】
2011099380.tif 000033
【図３２】
2011099380.tif 000034
【図３３】
2011099380.tif 000035
【図３４】
2011099380.tif 000036
【図３５】
2011099380.tif 000037
【図３６】
2011099380.tif 000038
【図３７】
2011099380.tif 000039
【図３８】
2011099380.tif 000040
【図３９】
2011099380.tif 000041
【図４０】
2011099380.tif 000042
【図４１】
2011099380.tif 000043
【国際調査報告】
2011099380.tif 000044
2011099380.tif 000045
2011099380.tif 000046
2011099380.tif 000047