(57)【要約】【課題】  計算機の記憶媒体に障害が発生した場合、容易に業務を再開させること。【解決手段】  計算機１００ａのＨＤＤ１５０のデータをデータセンタ３００ａにバックアップし、ＨＤＤ１５０に障害が発生した場合、データセンタに障害情報を通知することで、データセンタ３００ａはＨＤＤ１５０の代替となる記憶媒体にバックアップされたデータを格納し、配送する。また、障害が発生してから回復するまで、計算機１００ａは、ＶＮＣサーバを利用して業務を実行する。【選択図】図１
2010020570.tif 000002
【特許請求の範囲】
【請求項１】
第１の記憶装置を備える計算機と、第２の記憶装置を備える記憶制御装置とがネットワークを介して接続された情報処理システムであって、
前記計算機は、前記第１の記憶装置の更新状態を管理し、前記記憶制御装置と通信が可能な状態にあるときに、前記第１の記憶装置へのデータの書き込みと独立して、前記第１の記憶装置に書き込まれたデータを前記記憶制御装置に転送し、
前記記憶制御装置は、転送されたデータを前記第２の記憶装置に書き込み、
前記計算機は、前記第１の記憶装置の障害を検出した場合に、前記記憶制御装置に障害情報を通知し、
障害情報の通知を受信した前記記憶制御装置は、前記計算機で利用可能な第３の記憶装置を選択し、前記第２の記憶装置に書き込まれたデータを選択された前記第３の記憶装置にコピーすることを特徴とする情報処理システム。
【請求項２】
前記計算機は、前記第１の記憶装置に書き込まれたオペレーティングシステム、アプリケーションプログラムを前記記憶制御装置へ転送することを特徴とする請求項１記載の情報処理システム。
【請求項３】
前記記憶制御装置は、前記計算機から障害情報の通知を受けた場合に、前記第２の記憶装置に格納されたオペレーティングシステムを起動し、オペレーティングシステムが起動した画面情報を前記計算機に送信し、
前記計算機は、起動していたオペレーティングシステムを停止し、前記受信した画面情報を前記計算機の表示装置に表示することを特徴とする請求項２記載の情報処理システム。
【請求項４】
前記計算機は、入力装置から入力された入力情報を前記記憶制御装置に送信し、前記記憶制御装置は、受信した入力情報に従って処理を実行し、実行結果の画面情報を前記計算機に送信し、前記計算機は、送られてきた画面情報を前記計算機の表示装置に表示することを特徴とする請求項３記載の情報処理システム。
【請求項５】
前記記憶制御装置は、前記第２の記憶装置に書き込まれたデータと、前記第３の記憶装置に書き込まれたデータの差分を管理することを特徴とする請求項１記載の情報処理システム。
【請求項６】
前記計算機は、前記第３の記憶装置を自計算機の記憶装置に設定された場合に、前記第２の記憶装置と、前記第３の記憶装置の差分データの転送を前記記憶制御装置に通知することを特徴とする請求項１記載の情報処理システム。
【請求項７】
前記計算機は、前記第１の記憶装置に格納されたオペレーティングシステム又はアプリケーションプログラムの障害を検出した場合には、前記記憶制御装置に障害となったオペレーティングシステム又はアプリケーションプログラムの転送を要求することを特徴とする請求項１記載の情報処理システム。
【請求項８】
計算機の記憶領域に格納されたデータを回復するデータ回復方法であって、
前記計算機は、計算機の備える第１の記憶装置の更新状態を管理し、記憶制御装置と通信が可能な状態にあるときに、前記第１の記憶装置へのデータの書き込みと独立して、前記第１の記憶装置に書き込まれたデータを前記記憶制御装置に転送し、
前記記憶制御装置は、転送されたデータを第２の記憶装置に書き込み、
前記計算機は、前記第１の記憶装置の障害を検出した場合に、前記記憶制御装置に障害情報を通知し、
障害情報の通知を受信した前記記憶制御装置は、前記計算機で利用可能な第３の記憶装置を選択し、前記第２の記憶装置に書き込まれたデータを選択された前記第３の記憶装置にコピーすることを特徴とするデータ回復方法。
【請求項９】
前記計算機は、前記第１の記憶装置に書き込まれたオペレーティングシステム、アプリケーションプログラムを前記記憶制御装置へ転送することを特徴とする請求項１記載のデータ回復方法。
【請求項１０】
前記記憶制御装置は、前記計算機から障害情報の通知を受けた場合に、前記第２の記憶装置に格納されたオペレーティングシステムを起動し、オペレーティングシステムが起動した画面情報を前記計算機に送信し、
前記計算機は、起動していたオペレーティングシステムを停止し、前記受信した画面情報を前記計算機の表示装置に表示することを特徴とする請求項２記載のデータ回復方法。
【請求項１１】
前記計算機は、入力装置から入力された入力情報を前記記憶制御装置に送信し、前記記憶制御装置は、受信した入力情報に従って処理を実行し、実行結果の画面情報を前記計算機に送信し、前記計算機は、送られてきた画面情報を前記計算機の表示装置に表示することを特徴とする請求項３記載のデータ回復方法。
【請求項１２】
前記記憶制御装置は、前記第２の記憶装置に書き込まれたデータと、前記第３の記憶装置に書き込まれたデータの差分を管理することを特徴とする請求項１記載のデータ回復方法。
【請求項１３】
前記計算機は、前記第３の記憶装置を自計算機の記憶装置に設定された場合に、前記第２の記憶装置と、前記第３の記憶装置の差分データの転送を前記記憶制御装置に通知することを特徴とする請求項１記載のデータ回復方法。
【請求項１４】
前記計算機は、前記第１の記憶装置に格納されたオペレーティングシステム又はアプリケーションプログラムの障害を検出した場合には、前記記憶制御装置に障害となったオペレーティングシステム又はアプリケーションプログラムの転送を要求することを特徴とする請求項１記載のデータ回復方法。
【発明の詳細な説明】
【技術分野】
【０００１】
計算機の記憶装置に障害が発生した場合でも、容易に業務を再開できる情報処理システムに関する。
【背景技術】
【０００２】
特許文献１には、ＯＳ及びデバイスドライバ、アプリケーションソフトを組み込んだ主ハードディスクが収納されている閉蓋された予備のケーシングを予めユーザに手渡しておき、使用中に不安定若しくは破壊された主ハードディスクのケーシングを、ユーザが電源切断後に前記予備のケーシングをパーソナルコンピュータ本体に装入することにより交換することが開示されている。また、同文献には、不安定若しくは破壊された主ハードディスクをメーカに送り、メーカはユーザから返戻されてきた主ハードディスクを初期化してＯＳ、アプリケーションソフトを清書し、並びにユーザのハード環境に適合したデバイスドライバ組み込み動作テストを終えてユーザへ送り返し、ユーザは正常な主ハードディスクが収納された予備のケーシングとして保管することが開示されている。
【０００３】
【特許文献１】特開２０００−１２２８７２
【発明の開示】
【発明が解決しようとする課題】
【０００４】
特許文献に記載の技術は、計算機を継続して使用することはできるが、OS及びデバイスドライバ、アプリケーションソフトを組み込んだ主ハードディスクにユーザデータを格納することができないため、別の記憶媒体にユーザデータ、設定情報を格納しなければならないといった制約がある。また、ユーザデータ、設定情報が格納された記憶媒体が障害となった場合に業務を継続することについては開示がない。
【０００５】
本発明は、計算機の記憶装置（媒体）に障害が発生した場合でも、利用者が容易に業務を再開できるシステムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
情報処理システムは、第１の記憶装置を備えた計算機と、第２の記憶装置を備えたサーバとを有する。計算機は、第１の記憶装置に格納されたオペレーティングシステム、アプリケーションプログラムを実行し、アプリケーションプログラムによって発生又は作成されたユーザデータを第１の記憶装置に格納する。また、計算機は、第１の記憶装置に格納されたデータをサーバに転送し、第２の記憶装置に格納する。計算機は、第１の記憶装置に障害が発生したことを検出すると、サーバに障害が発生したことを伝える。サーバは、計算機の仕様から、計算機で利用可能な記憶媒体を決定し、決定された記憶媒体に第２の記憶に格納されたデータの複製を生成する。
【発明の効果】
【０００７】
計算機において容易に業務を再開することが可能となる。
【発明を実施するための最良の形態】
【０００８】
以下に、本発明の実施形態の一例を説明する。なお、本発明は以下に記載する実施形態のみに限定されるものではない。
【０００９】
図１は、情報処理システムの構成の一例を示したものである。情報処理システムは、複数の計算機１００ａ、１００ｂ、１００ｃと、複数のデータセンタ３００ａ、３００ｂ、３００ｃがネットワークを介して接続されている。
【００１０】
各計算機１００ａ、１００ｂ、１００ｃは、ユーザが業務を実行するために利用するものであり、そのハードウェアの基本構成は同じものである。ここでは、計算機１００ａ、１００ｂ、１００ｃを総称して計算機１００とする。またデータセンタも同様に総称してデータセンタ３００とする。
【００１１】
計算機１００は、オペレーティングシステムやアプリケーションプログラムを実行する制御装置１１０、キーボードやマウスなどの入力装置１８０、表示装置１９０、外部記憶装置２００を備えている。外部記憶装置２００は、フラッシュメモリなどの不揮発性の半導体、磁気ディスク、光ディスク等の記憶装置である。制御装置１１０は、ＣＰＵ１２０、メモリ１３０、フラッシュメモリ（ＦＭ）１４０、ハードディスクドライブ（ＨＤＤ）１５０、ネットワークとの通信インタフェースであるＮＩＣ１６０、入力装置１８０、表示装置１９０、外部記憶装置２００と接続するためのインタフェース（ＩＦ）１７０とを有し、これらが内部バス（信号線信号及びデータ線）によって接続されている。
【００１２】
なお、ここでは制御装置１１０、入力装置１８０、表示装置１９０が別体となっているディスクトップ型の計算機の例を示しているが、制御装置１１０、入力装置１８０、表示装置１９０が一体となったノート型の計算機であっても良い。また、制御装置１１０の内部記憶装置としてＨＤＤ１５０を用いる構成としているが、これはフラッシュメモリ等の不揮発性の半導体記憶装置であってもよいし、その他の光ディスク等のディスク記憶装置であってもよい。
【００１３】
図２は、計算機１００のＦＭ１４０、ＨＤＤ１５０に格納されるプログラム又はデータを示したものである。ＦＭ１４０には、制御プログラム４０１、ＶＮＣクライアントプログラム４０２、設定情報４０３が格納されている。なお、ＦＭ１４０の代わりに、外部記憶装置２００に制御プログラム４０１、ＶＮＣクライアントプログラム４０２、設定情報４０３を格納する構成としてもよい。またＨＤＤ１５０には、オペレーティングシステム４１１、複数のアプリケーションプログラム４１２、バックアッププログラム４１３、データ（ユーザデータ）４１４が格納されている。ここで、ユーザデータ４１４とは、アプリケーションプログラム４１２によって生成されたデータ、あるいはアプリケーションプログラム４１２によって利用されるデータであり、ファイルなどを含むものである。
【００１４】
図１に戻り、データセンタ３００は、主にプロトコル変換の処理を行うゲートウェイ（ＧＷ）３１０、バックアップサーバ３２０、ＶＮＣ（Ｖｉｒｔｕａｌ  Ｎｅｔｗｏｒｋ  Ｃｏｍｐｕｔｉｎｇ）サーバ３３０、配送サーバ３４０、ＨＤＤライト装置３５０、記憶制御装置３６０、記憶装置３７０、端末装置３８０とを有している。ＧＷ３１０、バックアップサーバ３２０、ＶＮＣサーバ３３０、配送サーバ３４０、端末装置３８０は、例えば、ＴＣＰ/ＩＰプロトコルのネットワークで接続されている。また、バックアップサーバ３２０、ＶＮＣサーバ３３０、配送サーバ３４０は、例えば、ファイバチャネルプロトコルのネットワークで接続されている。  
バックアップサーバ３２０、ＶＮＣサーバ３３０、配送サーバ３４０のハードウェアの基本構成は、いずれも同じ構成で、処理を実行するプロセッサ（ＣＰＵ）、メモリを有している。もちろん、プロセッサ、メモリは一つとは限らず、複数備えているものであってもよい。ここでは、実行されるプログラムの違いにより、バックアップサーバ、ＶＮＣサーバ、配送サーバと使い分けている。
【００１５】
バックアップサーバ３２０は、計算機１００から送られてくるデータを記憶装置３７０内の指定された記憶領域に格納する。
【００１６】
ＶＮＣサーバ３３０は、計算機１００からの操作によりオペレーティングシステム、アプリケーションプログラムを起動する。また、計算機１００に対して、画面を小さな領域に分割し、位置を指定して画素データを送信する。これにより、ＶＮＣサーバ３３０は、計算機１００と同様の環境をユーザに提供する。尚、ネットワークの帯域が広い場合には、分割された全ての画素データを計算機１００に送信してもよいが、帯域幅が狭い場合には、圧縮した画素データを送信してもよいし、あるいは画面の変更部分のみを送信するようにしてもよい。
【００１７】
配送サーバ３４０は、計算機１００からの指示により、計算機１００で利用可能な記憶媒体（例えば、ＨＤＤ、ＦＭなど。）を決定し、決定された記憶媒体に記憶装置３７０に格納された各種プログラム、ユーザデータを格納するものである。この記憶媒体は要求元の計算機に送られる。
【００１８】
記憶装置３７０は、複数のハードディスクドライブ（ＨＤＤ）３７１を有している。なお、ＨＤＤ３７１の代わりに、フラッシュメモリなどの不揮発性の半導体、あるいは光ディスクなどの記憶装置であってもよい。
【００１９】
記憶制御装置３６０は、バックアップサーバ３２０、ＶＮＣサーバ３３０、配送サーバ３４０とコマンド、データの送受信を行うための通信インタフェース（通信Ｉ／Ｆ）３６１、記憶装置３７０との間でデータの送受信を行うためのストレージインタフェース（ストレージＩ／Ｆ）３６５、各種処理を実行するためのプログラムを格納するメインメモリ３６３、メインメモリに格納されたプログラムを実行し、記憶装置３７０へのデータの書き込み及び読み出しを制御するＣＰＵ３６２、データを一次的に格納するキャッシュメモリ３６４とを有している。なお、ＣＰＵ３６２は複数あっても良い。
【００２０】
記憶制御装置３６０は、バックアップサーバ３２０、ＶＮＣサーバ３３０、配送サーバ３４０からのデータの書き込み、読み出し要求を受けて、記憶装置３７０にデータの書き込み、記憶装置３７０からのデータの読み出しを制御するものである。具体的に、記憶制御装置３６０のプロセッサ３６２は、書き込み要求を受けると、通信Ｉ／Ｆ３６１から受け取ったデータをキャッシュメモリ３６４に格納し、その後、キャッシュメモリ３６４に格納されたデータを記憶装置３７０に格納する。また、読み出し要求を受けると、キャッシュメモリ３６４に要求されたデータがあるかを判断し、データがあれば通信Ｉ／Ｆ３６１を介して送信する。一方、キャッシュメモリ３６４に要求されたデータがない場合、記憶装置３７０から要求されたデータをキャッシュメモリ３６４に格納し、その後、通信Ｉ／Ｆ３６１を介して送信する。なお、ＨＤＤ３７１の代わりに不揮発性の半導体メモリ、例えばフラッシュメモリを用いた場合には、このフラッシュメモリの一部の領域をキャッシュメモリとして利用する構成であってもよい。
【００２１】
記憶制御装置３６０は、記憶装置３７０のＨＤＤにより提供される記憶領域を論理的な記憶領域（論理ボリューム）で管理することができる。この論理的な記憶領域は、バックアップサーバ３２０、ＶＮＣサーバ３３０、配送サーバ３４０に提供される。つまり、記憶制御装置３６０によって生成された論理ボリュームには、それぞれ識別子（Ｖｏｌ−ＩＤ）が付される。そして、バックアップサーバ３２０、ＶＮＣサーバ３３０、配送サーバは、この識別子と、データ書き込み要求、データ読み出し要求を記憶制御装置３６０へ送る。記憶制御装置３６０は、この識別子で管理される記憶領域にデータの書き込み、データの読み出しを行う。また、記憶制御装置３６０は、記憶領域をＲＡＩＤ構成で管理することができる。具体的には、各ＨＤＤ３７１の一部の記憶領域から１つの論理的な記憶領域（論理ボリューム）３７２を生成する。例えば、ＲＡＩＤ５を４つのデータ領域と１つのパリティデータ領域から構成する場合、５つのＨＤＤ３７１から１つの論理ボリューム３７２を生成する。ＣＰＵ３６２は、書き込みデータを４つに分割し、更にデータを復元するためのパリティデータを生成する。そして、分割された４つのデータと、パリティデータを５つのＨＤＤ３７１に格納する。このように格納することで、仮に一つのＨＤＤが障害となっても、ＣＰＵ３６２は、残りの４つのＨＤＤ３７１に格納されたデータとパリティデータから元のデータを復元する。これにより、信頼性を向上させることができる。ここではＲＡＩＤ５の場合を説明したが、他のＲＡＩＤ構成であってもよい。
【００２２】
また、記憶制御装置３６０のメインメモリ３６３には、先に述べたように単に対象となる記憶領域へのデータの書き込み、記憶領域からの読み出しとは異なるデータ格納を行うプログラムが格納されている。ここでは、所定時点のデータを維持する３つのデータ格納方法について説明する。
【００２３】
図３は、最も簡単なデータ格納方法を示したものである。これは、データを格納するための記憶領域を複数設定し、順次格納する方法である。ここでは、後の説明のため、この格納方法を「世代格納方法」と称す。具体的に、データを格納する論理ボリューム（Ｄａｔａ―Ｖｏｌ）を３つ設定する。まず、記憶制御装置３６０は、最初にＤａｔａ−Ｖｏｌ（ａ）に書き込み要求のあったデータを順次格納する。そして、現時点（例えば１０：００の時点）における論理ボリュームの状態を維持したい場合、記憶制御装置３６０は、Ｄａｔａ―Ｖｏｌ（ａ）に格納されているデータをＤａｔａ―Ｖｏｌ（ｂ）にコピーし、その後、Ｄａｔａ―Ｖｏｌ（ｂ）に書き込み要求のデータを格納する。これにより、Ｄａｔａ―Ｖｏｌ（ａ）には、新たなデータ書き込みが発生しないので、１０：００の時点の状態を維持することができる。同様に、Ｄａｔａ―Ｖｏｌ（ｂ）も、ある時点における状態を維持することができる。更に、時間が経過し、現時点におけるＤａｔａ−Ｖｏｌ（ｃ）の状態を維持したい場合、Ｄａｔａ−Ｖｏｌ（ｃ）のデータをＤａｔａ−Ｖｏｌ（ａ）にコピーし、その後、Ｄａｔａ−Ｖｏｌ（ａ）にデータを書き込むことで、Ｄａｔａ−Ｖ（ｃ）の状態を維持できる。このように、３つのＤａｔａ−Ｖｏｌを順次切替えてデータを格納することで、ある時点の状態を維持することが可能となる。なお、ここでは、３つのＤａ−Ｖｏｌを利用することで２つの時点（２つの世代）の状態を維持する構成としているが、Ｄａｔａ−Ｖｏｌを増やすことで、複数の世代の状態を維持することが可能となる。なお、Ｄａｔａ−Ｖｏｌを順次切替えるため、維持できる期間に制限がある。この場合、Ｒｅｃｏｖｅｒ−Ｖｏｌに、長期間維持したいデータを格納するようにする。
【００２４】
図４は、他のデータ格納方法を示したものである。これは、指定したある時点におけるデータを復元可能にするデータ格納方法である。ここでは、後の説明のため、この格納方法を「スナップショット格納方法」と称す。これは、差分データを格納する論理ボリューム（Ｄ−Ｖｏｌ）、書き込み対象となるデータを格納する論理ボリューム（Ｄａｔａ−Ｖｏｌ）とを設定する。また、記憶制御装置３６０は、データボリュームの更新状態を管理するビットマップ５０１を備えている。
【００２５】
図５は、このスナップショット格納方法の概要を示したものである。記憶制御装置３６０は、書き込み対象のデータを順次、Ｄａｔａ−Ｖｏｌに格納する。現時点において、Ｄａｔａ−Ｖｏｌに「ａｂｃｄｅｆ」のデータが格納され、この状態を後に復元した場合、記憶制御装置３６０のビットマップを全て「１」に設定する（図５（ａ））。新たな書き込み要求としてデータ「Ａ」を格納する場合、既に格納されているデータ「ｃ」をＤ−Ｖｏｌに格納し、その後、データ「Ａ」をＤａｔａ−Ｖｏｌに格納する（ｃ）。なお、一度、ビットが変更された領域に新たな書き込み要求が発生しても、Ｄ−Ｖｏｌへの書き込みは行わない。つまり、データ「Ｂ」の書き込み要求があった場合（図５（ｃ））、Ｄａｔａ−Ｖｏｌにデータ「Ｂ」を書き込むが、データ「Ａ」はＤ−Ｖｏｌへは格納しない（図５（ｄ））。
このようにして、「１」の部分に新たな書き込み要求があった場合には、既に格納されているデータをＤ−Ｖｏｌへ格納する。そして、データを復元したい場合には、制御装置３６０は、Ｄ−Ｖｏｌからデータを読み出し、「１」から「０」に変更された領域に、読み出したデータを格納する。例えば、図５（ｄ）の状態において、Ｄ−ｖｏｌに格納されたデータ「ｃ」をＤａｔａ−Ｖｏｌに格納することで図５（ａ）の状態に復元することができる。なお、ビットマップを「１」にするのは、外部から記憶制御装置３６０へ指示を与えるようにしてもよいし、記憶制御装置３６０内で所定の時刻あるいは所定の期間になったら、変更するようにしてもよい。なお、複数の時点で復元できるようにするため記憶制御装置３６０は、複数のビットマップを設定できるようになっている。なお、復元されたデータをＲｅｃｏｖｅｒ−Ｖｏｌに格納するようにしてもよい。
【００２６】
図６は、他のデータ格納方法を示したものである。これも、指定したある時点におけるデータを復元可能するデータ格納方法である。ここでは、後の説明のため、この格納方法を「任意時点復元格納方法」と称す。これは、書き込み要求のデータを格納するＤａｔａ
Ｖｏｌ、ある時点におけるＤａｔａ−Ｖｏｌに格納されていたデータを格納する論理ボリューム（Ｂａｓｅ―Ｖｏｌ）、新たな書き込みデータから生成されるジャーナルデータを格納する論理ボリューム（ＪＮＬ−Ｖｏｌ）とを設定する。記憶制御装置３６０は、まず、Ｄａｔａ−Ｖｏｌに格納されているデータをＢａｓｅ−Ｖｏｌにコピーする。次に、書き込み要求を受けると、書き込み要求のデータをＤａｔａ−Ｖｏｌに格納すると共に、書き込みデータに、時刻情報、Ｄａｔａ−Ｖｏｌの識別子（Ｖｏｌ−ＩＤ）を付加したジャーナルデータを生成し、ＪＮＬ−Ｖｏｌに格納する。すなわち、新たな書き込み要求があるごとにジャーナルデータが生成され、ＪＮＬ−Ｖｏｌに格納される。例えば、Ｂａｓｅ−Ｖｏｌに、１０：００の時点におけるＤａｔａ−Ｖｏｌのデータをコピーし、現在（例えば１１：００）までＤａｔａ−Ｖｏｌへデータの書き込みが行われたとする。この場合、ＪＮＬ−Ｖｏｌには、１０：００から１１：００までのジャーナルデータが格納される。
ここで、所定の時刻（例えば、１０：３０）の状態に回復したい場合、記憶制御装置３６０は、Ｂａｓｅ−ＶｏｌのデータをＲｅｃｏｖｅｒ−Ｖｏｌにコピーする。これで、Ｒｅｃｏｖｅｒ−Ｖｏｌは１０：００の時点の状態となる。次に、記憶制御装置３６０は、ジャーナルデータの時刻情報から１０：００から１０：３０までに発生した書き込み要求のデータを読み出し、Ｒｅｃｏｖｅｒ−Ｖｏｌに格納する。これにより、Ｒｅｃｏｖｅｒ−Ｖｏｌは、１０：３０の状態となる。
このように、図３、４、６で説明したデータ格納方法は、いずれも、過去のある時点のＤａｔａ−Ｖｏｌの状態を維持又は復元できるものである。すなわち、Ｄａｔａ−Ｖｏｌに格納されているデータあるいはプログラムに異常が発生した場合、過去のＤａｔａ−Ｖｏｌの状態から正常なデータあるいはプログラムを読み出すことを可能にする。
【００２７】
図７は、記憶装置の記憶領域の一例を示したものである。記憶装置３７０は、複数の論理ボリュームが生成され、ユーザ領域６０１と制御領域６０２に分離されている。ユーザ領域６０１には、計算機１００の記憶媒体（ＦＭ１４０、ＨＤＤ１５０、外部記憶装置２００）に格納されているデータ又はプログラムのバックアップとして利用される領域である。制御領域６０２は、バックアップサーバ３２０、ＶＮＣサーバ３３０、配送サーバ３４０、記憶制御装置３６０が実行するプログラム及びプログラムを実行するための制御情報（制御データ）が格納される領域である。具体的には、バックアップ制御プログラム格納領域６１１、ＶＮＣ制御プログラム格納領域６１２、仮想計算機設定プログラム格納領域６１３、配送制御プログラム格納領域６１４、コピー制御プログラム格納領域６１５などがある。また、制御領域５０２はユーザ情報格納領域６２１、制御情報格納領域６２２、論理ボリューム情報格納領域６２３、サーバ情報格納領域６２４、配送情報格納領域６２５がある。なお、図７では一つの論理ボリュームに一つのプログラムが格納されているように示しているが、一つの論理ボリュームに複数のプログラム又はデータを格納するようにしてもよい。
【００２８】
端末装置３８０は、バックアップサーバ３２０、ＶＮＣサーバ３３０、配送サーバ３４０が実行するプログラムや制御情報を記憶装置３７０に格納したり、記憶制御装置３６０のメインメモリ３６３に実行するプログラムを格納するためのものである。また、端末３８０は、配送すべき記憶媒体の位置あるいは配送先を表示することができる。
【００２９】
以下、本システムの動作の概要について説明する。
【００３０】
図８は、計算機の初期動作から通常動作までの概要を示したものである。計算機１００の電源を投入すると制御プログラム４０１が実行され、ユーザから認証情報（ＩＤ、パスワードの情報）、バックアップ設定情報（計算機の仕様、バックアップ対象となる記憶媒体などの情報）の入力を受け付ける。入力された認証情報、バックアップ設定情報は、バックアップサーバ３２０に送信し、バックアップサーバ３２０により、ユーザ情報６２１として登録される（Ｓ８００）。登録が完了すると（Ｓ８１０）、制御プログラム４０１は、自計算機１００のＦＭ１４０に認証情報、バックアップ設定情報の登録を行う。詳細は後述するが、これにより、記憶装置３７０のユーザ領域６０１に、計算機１００の記憶媒体に格納されているデータを格納する領域（バックアップ領域）が確保される。
【００３１】
認証情報、バックアップ設定情報の登録が完了すると、制御プログラム４０１は、オペレーティングシステム（ＯＳ）４１１及びバックアッププログラム４１３を起動し、通常の動作を開始する。なお、ここでの通常動作とは、ユーザがアプリケーションプログラム４１２を実行して業務を行う状態であり、特にＨＤＤ１５０、外部記憶装置２００などの記憶媒体又はオペレーティングシステム４１１等のプログラムが正常に動作している場合を意味する。
【００３２】
バックアッププログラム４１３は、バックアップサーバ３２０との間で認証処理を行う（Ｓ８２０、Ｓ８３０、Ｓ８４０）。その後、バックアップ対象となる記憶媒体のフルバックアップを行う（Ｓ８５０）。フルバックアップとは、対象となる記憶媒体に格納されたデータを全てバックアップサーバ３２０に送信し、記憶装置３７０のバックアップ領域にデータを格納する処理である。なお、バックアップ領域に格納されるデータは対象となる記憶媒体に格納された全てのデータであり、オペレーティングシステムなどのプログラム、ユーザデータなどのデータを含むものである。
【００３３】
このフルバックアップが行われた後は、所定のタイミングで、フルバックアップ又は差分バックアップを行い、バックアップ領域のデータを更新する（Ｓ８６０）。ここで、差分バックアップとは、計算機１００の記憶媒体に新たに書き込まれたデータ（更新データ）のみバックアップサーバ３２０へ送信し、バックアップ領域に格納する処理である。差分バックアップは、フルバックアップに比べて、送信するデータが少ないといったメリットがある。このフルバックアップ又は差分バックアップは、バックアッププログラム４１３が実行されている間、所定のタイミングで継続して行われる。
【００３４】
なお、ここではバックアッププログラム９１３が制御プログラム４０１により実行されるよう説明しているが、オペレーティングシステム（ＯＳ）のアプリケーションプログラムとしてもよい。つまり、オペレーティングシステムにより実行されるプログラムであってもよい。
【００３５】
図９は、記憶媒体に障害が発生した場合の処理の概要を示したものである。
【００３６】
制御プログラム４０１は、記憶媒体の障害を検出すると、バックアップサーバ３２０との間で認証処理（Ｓ９００、Ｓ９１０、Ｓ９２０）を実行し、認証処理が完了すると、障害となった計算機１００の記憶媒体の情報をバックアップサーバ３２０へ送信する（Ｓ９３０）。
【００３７】
バックアップサーバ３２０は、ＶＮＣサーバ３３０に対して仮想計算機（ＶＭ：Ｖｉｒｔｕａｌ  Ｍａｃｈｉｎｅ）の設定を要求する(Ｓ９４０)。要求を受けたＶＮＣサーバ３３０は、仮想計算機が利用する記憶領域（ＶＭ領域）を確保し、バックアップ領域に格納されたデータをＶＭ領域にコピー又は復元する（Ｓ９５０）。復元としているのは、既に説明した「スナップショット格納方法」、「任意時点復元格納方法」の場合、単にデータをコピーするだけではなく、所定の時点における利用可能なデータとするためである。ＶＭ領域にコピーされるデータは、バックアップ領域に格納されている全てのデータであり、このデータにはオペレーティングシステム、アプリケーションプログラム等のプログラムも含む。また、ＶＮＣサーバ３３０は、仮想計算機を生成し、ＶＮＣ制御プログラム５１２を実行し、障害情報の発信元である計算機１００にＶＮＣ準備完了の通知を送信する（Ｓ９６０）。ＶＮＣ準備完了通知を受信した計算機１００は、ＶＮＣクライアントプログラム４０２を実行する。ＶＮＣクライアントプログラム４０２は、ＶＮＣサーバ３３０と通信を行いＶＮＣ制御プログラム６１２を実行する。ＶＮＣクライアントプログラム４０２は、ユーザが計算機１００に対して行った入力操作を情報（入力操作情報）としてＶＮＣサーバ３３０へ送信する。ＶＮＣサーバ３３０のＶＮＣ制御プログラム６１２は、入力操作情報に基づいて処理を実行する。例えば、各種プログラムの実行、あるいはデータの読み出しなどである。ＶＮＣ制御プログラム６１２は、この入力操作情報によって実行された画面情報を計算機に送信する。つまり、ＶＮＣサーバ３３０に生成された仮想計算機がリモート計算機となり、ユーザは仮想計算機で実行されるオペレーティングシステム、アプリケーションプログラムにより業務を継続することが可能となる。また、仮想計算機で実行されるアプリケーションプログラムにより更新されたデータは、ＶＭ領域に格納される。また、仮想計算機上で起動されたバックアッププログラム４１３は、ＶＭ領域をバックアップ元として計算機１００で実行されたバックアッププログラムと同様に所定のタイミングで、バックアップサーバ３２０に対してフルバックアップ又は差分バックアップを要求する。
【００３８】
図１０は、障害が発生した記憶媒体の配送を要求し、正常な記憶媒体を持つ計算機で業務が開始できる状態になるまでの処理を示したものである。
【００３９】
ＶＮＣサーバ３３０で仮想計算機を設定した状態において、ユーザがＨＤＤ１５０などの記憶媒体の配送要求を行うと（Ｓ１０００）、ＶＮＣサーバ３２０は、バックアップサーバ３２０に配送要求を転送する。配送要求を受けたバックアップサーバ３２０は、現時点までのバックアップデータを確定するために、チェックポイントを生成し（Ｓ１０１０）、更に配送サーバ３４０に、配送要求を転送する（Ｓ１０２０）。配送サーバ３４０は、配送要求に応じて、計算機１００で利用可能な記憶媒体を決定し、作成されたチェックポイントまでのデータを決定された記憶媒体に格納する。
【００４０】
配送要求によって、送られてきた記憶媒体を設定した計算機１００は、バックアップ領域に格納されたデータとの整合性をとるために、バックアップサーバ３２０との間で認証処理を行い（Ｓ１０３０、Ｓ１０４０、Ｓ１０５０）、リカバリー要求をバックアップサーバ３２０へ送る（Ｓ１０６０）。バックアップサーバ３２０は、チェックポイント以降のデータをバックアップ領域から読み出し、計算機１００へ送る（Ｓ１０７０）。
これにより、例えば記憶媒体が配送されてから計算機１００に設定されるまでの間に、仮想計算機で業務を実行して生成された新たなデータを計算機１００の記憶媒体に格納することができる。
【００４１】
なお、ここでは、計算機１００とＶＮＣサーバ３３０がＶＮＣコネクションにより接続されている状態で、配送要求を行っている例を示しているが、図９で説明したように計算機１００の記憶媒体の障害を検出した時点で配送要求を行うようにしてもよい。なお、障害を検出した時点で配送要求を行う場合についても後に説明する。
【００４２】
図１１は、計算機で実行されているオペレーティングシステム、又はアプリケーションプログラムに障害が発生した場合の処理を示したものである。制御プログラム４０１は、オペレーティングシステム４１１、またはアプリケーションプログラム４１２の障害を検出すると、認証処理を行い（Ｓ１１００、Ｓ１１１０、Ｓ１１２０）、バックアップサーバ３２０へ障害情報を通知する（Ｓ１１３０）。障害情報の通知を受けたバックアップサーバ３２０は、ＶＮＣサーバ３３０に対して実行テストを要求する(Ｓ１１４０)。要求を受けたＶＮＣサーバ３３０は、障害情報からオペレーティングシステム又はアプリケーションプログラムを特定し、バックアップ領域からＶＭ領域にコピーする（Ｓ１１５０）。そして、ＶＮＣサーバ３３０は仮想計算機を生成し、ＶＭ領域にコピーされたオペレーティングシステム又はアプリケーションプログラムを実行する（Ｓ１１６０）。ここで、正常にプログラムが動作することが確認できたら、バックアップサーバ３２０に対して正常であることを通知し、バックアップサーバ３２０は、正常に動作したプログラムを要求元の計算機に送信する（Ｓ１１７０）。仮想計算機上で正常に動作しない場合、より古い時点のバックアップデータからオペレーティングシステム、またはアプリケーションプログラムを特定し、ＶＮＣサーバ３３０において正常に動作するかを確認する。すなわち、図３、４、６で説明したデータ格納方法により、過去の時点の状態に復元する。この結果、正常に動作すれば、バックアップサーバ３２０から正常に動作したプログラムを送信し、正常に動作しなければ、正常に動作するプログラムがないことをバックアップサーバ３２０を介して、計算機１００へ通知する。
【００４３】
以上が、図１に示したシステム全体の動作である。次に、各プログラムの処理について説明する。
【００４４】
図１２は、制御プログラムの処理を示したものである。
【００４５】
計算機１００の電源が投入されると、制御プログラム４０１が実行される。制御プログラム４０１は、まず、ＦＭ１４０に格納されている設定情報から初期設定処理を行う（Ｓ１２００）。
【００４６】
図１３は、設定情報の一例を示したものである。設定情報４０３の項目としては、初期設定情報、認証情報、バックアップ設定情報、動作モード情報、サーバ情報がある。初期設定処理で利用されるのは、初期設定情報であり、例えばＣＰＵのクロック、ＣＰＵの電圧、起動ドライブなどが設定される。なお、この初期設定処理は、ＢＩＯＳ（Ｂａｓｉｃ  Ｉｎｐｕｔ/Ｏｕｔｐｕｔ  Ｓｙｓｔｅｍ）と同じように、計算機１００のＣＰＵ１２０、メモリ１３０、入力装置１８０、表示装置１９０、外部記憶装置２００などの設定が行われるものである。
【００４７】
初期設定処理が終了すると、制御プログラム４０１は、回復処理を行う（Ｓ１２０５）。これは、図１０で説明したリカバリー要求に相当するものであり、計算機１００の記憶媒体が新たな記憶媒体に置き換えられた際に行う処理である。この処理の詳細は後述する。
【００４８】
次に、バックアップ設定処理を行う（Ｓ１２１０）。これは、計算機１００の記憶媒体（ＦＭ１４０、ＨＤＤ１５０、または外部記憶装置２００)に格納されているデータ又はプログラムのバックアップを行うための初期設定を行う処理である。この処理についても後述する。
【００４９】
バックアップ設定処理が完了すると、制御プログラム４０１は、ＶＮＣモードであるかを判断する（Ｓ１２１５）。これは、設定情報４０３の動作モードによって判断する。動作モードは、通常モードとＶＮＣモードの２つの種類がある。通常モードとは、計算機１００のＣＰＵ１２０がオペレーティングシステム４１１、アプリケーションプログラム４１２等のプログラムを実行することである。ＶＮＣモードとは、ＶＮＣサーバ３３０のＣＰＵでオペレーティングシステム４１１、アプリケーションプログラム４１２等のプログラムを実行することであり、ＶＮＣサーバ３３０をあたかも自計算機１００として利用するものである。ＶＮＣモードである場合（Ｓ１２１５で「Ｙ」）、「通常モード」「ＶＮＣモード」のいずれで実行するかユーザに問い合わせる（Ｓ１２２０）。通常モードが指定されると（Ｓ１２２０で「通常モード」）、次に記憶媒体が正常であるかを判断する（Ｓ１２２５）。ここで記憶媒体とは、計算機で業務を行うオペレーティングシステム、アプリケーションプログラムが格納されたＨＤＤ１５０又は外部記憶装置２００などである。尚、この記憶媒体は、Ｓ１２１０でバックアップ対象としてユーザによって指定された記憶媒体である。制御プログラム４０１は、ＣＰＵ１２０、メモリ１３０、ＦＭ１４０、ＨＤＤ１５０、入力装置１８０、表示装置１９０、外部機構装置２００の各デバイスとの間で特定の信号の送受信を行うことで、デバイスが正常であるかを判断する。ここで、記憶媒体が異常であると判断された場合、設定情報４０２のバックアップ対象であるかを判断し、もしバックアップ対象であれば、状態に異常を設定する。
【００５０】
指定された記憶媒体が、正常でない場合（Ｓ１２２５で「Ｎ」）、これは記憶媒体が異常であるためオペレーティングシステム等が読み出せなない。従って、通常モードでは業務が実行できないので、Ｓ１２２０へ戻って「通常モード」「ＶＮＣモード」のいずれで実行するかユーザに再度問い合わせる。なお、ユーザに再度問い合わせる場合、記憶媒体が異常であることを表示するようにしてもよい。ＶＮＣモードでない場合（Ｓ１２１５で「Ｎ」）も同様にＳ１２２５で記憶媒体が正常かどうか判断される。記憶媒体が異常である場合（Ｓ１２２５で「Ｎ」）、同様にＳ１２２０でユーザにモードを切替るか再度問い合わせる。
【００５１】
記憶媒体が正常であると判断された場合（Ｓ１２２５で「Ｙ」）、設定情報４０３の動作モードに「通常モード」を設定し（Ｓ１２３０）、オペレーティングシステム４１１、バックアッププログラム４１３を実行する（Ｓ１２３５）。この後のアプリケーションプログラム等の実行は、ユーザからの指示により実行される。
【００５２】
オペレーティングシステム４１１、バックアッププログラム４１３が実行されると、制御プログラム４０１は、システムが終了するまで（Ｓ１２５０で「Ｙ」）、記憶媒体の状態、オペレーティングシステム（ＯＳ）の状態を監視する（Ｓ１２４０、Ｓ１２４５）。なお、記憶媒体が異常である場合、設定情報のバックアップ対象の状態に異常を設定する。
【００５３】
図２９は、計算機１００でオペレーティングシステム４１１、アプリケーションプログラム４１２、バックアッププログラム４１３、制御プログラム４０１が実行された場合のモデルを示したものである。アプリケーションプログラム４１２がデータの読み出し又は書き込みを行う場合、オペレーティングシステム４１１に対してデータの読み出し、又は書き込み命令を送信する。オペレーティングシステム４１１は、記憶媒体に毎に設定されたドライバを介して記憶媒体へのデータの書き込みまたはデータの読み出しを行う。制御プログラム４０１は、オペレーティングシステム４１１に対して定期的にコマンドを発行しており、オペレーティングシステム４１１から応答があれば、オペレーティングシステム４１１は正常、応答がなければ異常と判断する。また、オペレーティングシステム４１１はアプリケーションプログラム４１２に対して定期的にコマンドを発行しており、アプリケーションプログラム４１２から応答があれば正常、応答がなければ異常と判断し、異常の場合には、制御プログラム４０１へも通知する。また、オペレーティングシステム４１１は、ドライバを介して記憶媒体へデータの書き込み又は読み出しを実行するが、記憶媒体から書き込み又は読み出しに対する応答がない場合、当該記憶媒体が異常であると判断し、制御プログラム４０１へ通知する。このようにして、制御プログラム４０１は、記憶媒体、オペレーティングシステム、アプリケーションプログラムの異常を検出する。
【００５４】
制御プログラム４０１は、記憶媒体が異常である場合（Ｓ１２４０で「Ｎ」）、記憶媒体回復処理を実行する（Ｓ１２６０）。また、プログラムの異常である場合（Ｓ１２５０で「Ｎ」）、プログラム回復処理を実行する（Ｓ１２６５）。記憶媒体回復処理、プログラム回復処理については後述する。
【００５５】
制御プログラム４０１は、オペレーティングシステム４１１等からシステム停止要求を受けると（Ｓ１２５０で「Ｙ」）、オペレーティングシステム、バックアッププログラムを停止させ、電源断の処理を実行する（Ｓ１２５０）。
【００５６】
Ｓ１２２０で、ＶＮＣモードの指示を受けた場合、制御プログラム４０１は、設定情報４０３の動作モードに「ＶＮＣモード」を設定し（Ｓ１２７０）、ＶＮＣクライアントプログラム４０２を実行し（Ｓ１２７５）、ＶＮＣサーバ３３０との間で通信を確立する（Ｓ１２８０）。ＶＮＣサーバ３３０との間での通信の確立は、設定情報４０３に格納されているＶＮＣサーバ３３０のインターネットホスト名に基づいて行われる。なおここでサーバを特定するための情報としてインターネットホスト名を用いているが、これ以外にサーバを特定する情報があれば、それを利用してもよい。ＶＮＣクライアントプログラム４０２は、ＶＮＣサーバ３３０との間での認証処理、ＶＮＣサーバ３３０から送られてくる画像データの表示、入力装置の入力情報（キーボードから押下されたキー情報、マウスの位置情報）をＶＮＣサーバ３３０へ送信する処理を行うものである。
【００５７】
ＶＮＣクライアントプログラム４０２が実行された後、制御プログラム４０１は、システム停止の指示を受けると（Ｓ１２８５で「Ｙ」）、ＶＮＣクライアントプログラム４０３を停止し処理を終了する。
【００５８】
図１４は、制御プログラムで実行されるバックアップ設定処理を示したものである。
【００５９】
まず、制御プログラム４０１は、設定情報４０２のバックアップ設定項目の設定フラグが「０」であるかを判断する（Ｓ１４００）。設定フラグが「１」となっている場合は、既にバックアップの設定が行われるか、あるいは、ユーザがバックアップの設定を不要とした場合である。従って、設定フラグが「１」の場合は処理を終了する。設定フラグが「０」の場合は、ユーザによってバックアップの設定の有無が判断されていない状態である。
【００６０】
設定フラグが「０」の場合（Ｓ１４００で「Ｙ」）、バックアップの設定をおこなうかユーザに問い合わせる（Ｓ１４０５）。ユーザによりバックアップの設定が不要とされた場合（Ｓ１４０５で「N」）、Ｓ１４４０で設定フラグに「１」を設定し処理を終了する。一方、ユーザによりバックアップの設定が要とされた場合（Ｓ１４０５で「Ｙ」）、ユーザに認証情報及びバックアップ設定情報を入力するよう指示を出す。認証情報とは、ＩＤ、パスワード（ＰＷ）、ユーザの住所である。また、バックアップ設定情報とは、バックアップの対象、バックアップ対象の製造番号、バックアップ対象の容量、計算機の製造番号、バックアップの世代、バックアップ方法、バックアップタイミングである。ここでバックアップ対象とは、計算機１００の制御プログラム４０１及びオペレーティングシステム４１１で管理されている、ＦＭ１４０、ＨＤＤ１５０、外部記憶装置２００などである。ユーザは、この中から、一つ又は複数のバックアップの対象を指定する。バックアップの対象、バックアップ対象の製造番号、バックアップ対象の容量、計算機の製造番号は、データセンタ３００において、バックアップデータを保存するための容量、代替となる記憶媒体を選択するための情報である。従って、データセンタ側で、バックアップ対象の製造番号あるいは計算機の製造番号で、容量及び代替となる記憶媒体を選択できるのであれば、バックアップ対象の製造番号あるいは計算機の製造番号を登録することにしても良い。
【００６１】
バックアップ方法とは、通常モードにおいて、指定されたバックアップ対象をフルバックアップするか、差分バックアップするかを指定するものである。バックアップタイミングとは、通常モードにおいてバックアップするタイミングを指定するもので、ＨＤＤの格納のタイミング、ユーザからのバックアップの指示、あるいは周期（１分毎、１時間毎、１日毎）で指定することができる。
【００６２】
ユーザからの認証情報、バックアップ設定情報の入力を待ち（Ｓ１４１５で「Ｎ」）、入力が完了したら（Ｓ１４１５で「Ｙ」）、設定情報４０２からバックアップサーバ３２０のインターネットホスト名を読み出し（Ｓ１４２０）、バックアップの設定要求をバックアップサーバ３２０へ送信する（Ｓ１４２５）。このバックアップ設定要求において、入力された認証情報及びバックアップ設定情報もバックアップサーバ３２０へ送信する。なお、バックアップサーバのアドレスについては、計算機の工場出荷時にＦＭ１４０に登録するようにしても良いし、あるいはユーザが直接インターネットホスト名を入力するようにしても良い。
【００６３】
バックアップサーバ３２０からのバックアップ設定完了の通知を受信すると（Ｓ１４３０で「Ｙ」）、入力された認証情報及びバックアップ設定情報をＦＭ１４０の設定情報４０２として登録し（Ｓ１４３５）、設定フラグに「１」を設定し(Ｓ１４４０)、処理を終了する。なお、バックアップサーバ３２０から他のバックアップサーバのインターネットホスト名を受信した場合、このインターネットホスト名を設定情報４０２として登録する。
【００６４】
一方、バックアップサーバ３２０からバックアップ設定ができない旨の通知を受信すると（Ｓ１４３０で「Ｎ」）、バックアップできない旨を表示し（Ｓ１４４５）、処理を終了する。
【００６５】
図１５は、制御プログラムで実行される記憶媒体回復処理を示したものである。
【００６６】
制御プログラム４０１は、記憶媒体の異常を検出すると、記憶媒体回復処理（Ｓ１２６０）を実行する。
【００６７】
まず、システム停止の処理を行う（Ｓ１５００）。これは、実行されているオペレーティングシステム４１１、アプリケーションプログラム４１２、バックアッププログラム４１３を停止する処理である。これにより、計算機１００のメモリ１３０からオペレーティングシステム４１１、アプリケーションプログラム４１２、バックアッププログラム４１３が消去される。
【００６８】
次に、バックアップの対象となっている記憶媒体を配送するかをユーザに問い合わせ（Ｓ１５０５）、配送要求をする場合（Ｓ１５０５で「Ｙ」）、配送する記憶媒体を決定する（Ｓ１５１０）。これは、設定情報管理テーブルにバックアップ対象として複数の記憶媒体が設定されている場合、障害となっている記憶媒体を特定するものである。障害となった記憶媒体は、先に説明したように制御プログラム４０１が検出できる。なお、配送する記憶媒体は、ユーザが指定できるようにしてもよい。
【００６９】
なお、記憶媒体の配送が不要であるとの入力がされた場合（Ｓ１５０５で「Ｎ」）、Ｓ１５２０の処理に移る。
【００７０】
配送する記憶媒体が決定されたら、バックアップサーバ３２０に対して配送要求を送信する（Ｓ１５１５）。次に、ＶＮＣサーバ３３０で業務を継続するか、ユーザに問い合わせる（Ｓ１５２０）。ユーザからＶＮＣサーバ３３０での業務を継続する旨の入力がされた場合（Ｓ１５２０で「Ｙ」）、認証情報と共にＶＮＣサーバ３３０の起動要求をバックアップサーバ３２０へ送信する（Ｓ１５２５）。ＶＮＣサーバ３３０から起動できる旨の通知を受信した場合（Ｓ１５３０で「Ｙ」）、ＶＮＣサーバ３３０のインターネットホスト名を設定情報４０２として登録し（Ｓ１５３５）、ＶＮＣクライアントプログラムを実行する（Ｓ１５４０）。その後、ＶＮＣサーバ３３０と通信を確立し（Ｓ１５４５）、処理を終了する。
【００７１】
一方、ＶＮＣでの業務継続不要との入力がされた場合（Ｓ１５２０で「Ｎ」）、処理を終了する。
【００７２】
なお、ここでは、Ｓ１５２０でＶＮＣサーバ３２０で業務を継続するか、問い合わせるようにしているが、この処理（Ｓ１５２０）をなくして、直ぐにＳ１５２５の処理を行うようにしてもよい。
【００７３】
なお、Ｓ１５０５で、配送要求を行わない場合でも、既に図１０で説明したようにＶＮＣサーバ３４０に対して配送要求を行うことができる。
【００７４】
図１６は、制御プログラムで実行されるプログラム回復処理を示したものである。
【００７５】
プログラム回復処理が実行されると、回復するプログラムを特定する（Ｓ１６００）。これは、先に説明したように、制御プログラム４０１は、異常となっているプログラムを検出できるので、これにより特定する。次に、設定情報４０２から、バックアップサーバ３２０のインターネットホスト名及び認証情報を読み込み（Ｓ１６０５）、特定されたデータの情報とともにバックアップサーバ３２０へデータ回復の要求を送信する（Ｓ１６１０）。バックアップサーバ３２０から認証できない旨の通知を受信したら（Ｓ１６１５で「Ｎ」）、処理を終了する。一方、認証ができて、バックアップサーバ３２０からデータを受信したら、特定されたデータが格納されている記憶媒体に、受信したデータを格納し（Ｓ１６２０）、全てのデータが格納されたら、処理を終了する。
【００７６】
図１７は、制御プログラムで実行される回復処理を示したものである。
【００７７】
制御プログラム４０１は、設定情報４０２のバックアップ設定情報から、バックアップ対象の状態情報が異常となっているバックアップ対象を特定する（Ｓ１７００）。
【００７８】
次に、このバックアップ対象が、正常であるか、バックアップ対象のデバイスの状態を確認する（Ｓ１７０５）。この確認は、バックアップ対象となっている記憶媒体に制御信号を送り、応答があるかどうかで判断する。これにより、応答がある場合は、正常と判断し、応答がない場合は、異常と判断する。次に、Ｓ１５０５の確認の結果、「正常」である場合（Ｓ１７１０で「Ｙ」）、バックアップ対象の記憶媒体は、正常な記憶媒体に入れ替えられた、あるいは正常な状態に回復したと判断し、設定情報４０２からバックアップサーバ３２０のインターネットホスト名及び認証情報を読み出す（Ｓ１７１５）。そして、正常な記憶媒体となったバックアップ対象の情報とともに、バックアップサーバ３２０へバックアップデータ回復要求を送信する（Ｓ１７２０）。制御プログラム４０１は、バックアップサーバ３２０からデータを受信すると、バックアップ対象の記憶媒体に受信したデータを格納する（Ｓ１７２５）。全てのデータが格納されたら、処理を終了する。なお、バックアップサーバ３２０から送られるデータには、プログラムも含まれる。
【００７９】
次に、計算機１００で実行されるバックアッププログラム４１３の処理について説明する。
【００８０】
図１８は、バックアッププログラムの処理を示したものである。
【００８１】
バックアッププログラム４１３は、制御プログラム４０１により実行が開始され、制御プログラム４０１により実行が終了される。
【００８２】
まず、バックアッププログラム４１３が実行されると、ＦＭ１４０よりバックアップ設定情報を読み込み（Ｓ１８００）、バックアップ対象となっている記憶媒体に格納された全データをバックアップサーバへ送信する（Ｓ１８０５）。記憶媒体に格納された全データの送信は、ファイル単位又はブロック単位で行う。ファイル単位の場合、オペレーティングシステムによって、記憶媒体に格納されているファイル情報、プログラム情報、ディレクトリ情報が読み出されるので、この情報に従って順次データを読み出してバックアップサーバへ送信する。一方、ブロック単位のバックアップは、記憶媒体の全アドレスから順次データを読み出し、バックアップサーバへ送信する。
【００８３】
次に、バックアップ方法が、差分バックアップであるかを判断し（Ｓ１８１０）、差分バックアップであれば、更新情報を登録する（Ｓ１８１５）。この更新情報は、ファイル単位又はブロック単位で更新されたファイル又は、データを登録する処理である。ファイル単位の場合、アプリケーションプログラム４１２等により、オペレーティングシステム４１１を介してファイルがメモリ１３０に読み出され、メモリ１３０上でファイルのデータが更新され、再びオペレーティングシステム４１１を介してＨＤＤ１５０に更新されたファイルが格納される。バックアッププログラム４１３は、図１９に示すように、更新されたファイルをファイル管理テーブルに格納する。なお、アプリケーションプログラム４１２により、新たに登録されるファイルについても同様にファイル管理テーブルに格納する。またブロック単位の場合は、図２０に示すように記憶媒体の領域をある領域（ブロック）毎に区切って管理する。アプリケーションプログラム４１２によりデータの更新が行われる場合、ブロック単位毎にデータが更新される。従って、更新されたブロックにビットを立てることにより、記憶領域の中で更新されたブロックを管理する。
【００８４】
次に、所定のバックアップのタイミングになったかを判断し（Ｓ１８２０）、所定のバックアップのタイミングになっていれば、バックアップサーバ３２０へ更新データを送信する（Ｓ１８２５）。ファイル単位の場合は、ファイル管理テーブルに登録されたファイルを、ブロック単位の場合は、ブロック管理テーブルでビットが設定された領域のデータをバックアップサーバ３２０へ送信する。
【００８５】
バックアップサーバ３２０からのバックアップ完了通知を受信すると（Ｓ１８３０で「Ｙ」）、更新情報をクリアする(Ｓ１８３５)。すなわち、ファイル単位の場合には、ファイル管理テーブルの登録情報をクリアし、ブロック単位の場合には、ブロック管理テーブルの登録情報をクリアする。
【００８６】
そして、バックアッププログラムの終了でない場合（Ｓ１８４０で「Ｎ」）、再び、Ｓ１８１５に戻る。なお、Ｓ１８１５からＳ１８３５までの処理はバックアッププログラムが終了するまで順次繰り返される処理であり、Ｓ１８１５は、データの更新がされなければ更新情報の登録は行われない。従って、バックアップ時刻において、更新情報の登録がなければ、再びＳ１６３０に戻り、更新情報の登録の処理から開始するようにしてもよい。
【００８７】
一方、差分バックアップでない場合（Ｓ１８１０で「Ｎ」）、すなわち、この場合はフルバックアップなので、バックアップのタイミングであるかを判断し（Ｓ１８４５）、バックアップのタイミングになったら、バックアップサーバ３２０へ記憶媒体に格納された全データを送信する（Ｓ１８５０）。
【００８８】
バックアップが完了した旨の通知を受信すると（Ｓ１８５５で「Ｙ」）、バックアッププログラムの終了かを判断し（Ｓ１８６５）、終了でない場合（Ｓ１８６５で「Ｎ」）、再び、Ｓ１８４５へ戻る。
【００８９】
以上、計算機１００で実行されるプログラム及び処理について説明した。
【００９０】
次に、バックアップサーバ３２０、ＶＮＣサーバ３３０、配送サーバ３４０で実行されるプログラム及び処理について説明する。
【００９１】
図２１（ａ）（ｂ）は、バックアップ制御プログラムの処理を示したものである。
【００９２】
バックアップ制御プログラム６１１は、バックアップサーバ３２０、具体的にはバックアップサーバ３２０のメモリに読み込まれ、ＣＰＵによって実行されるプログラムである。
【００９３】
バックアップ制御プログラム６１１は、プログラムの停止要求があるまで、計算機１００からの要求に応じて、バックアップ設定処理、バックアップ処理、配送要求処理、仮想計算機設定処理、データ回復処理、バックアップデータ回復処理を実行する。
【００９４】
バックアップ設定処理とは、計算機から送られてくるデータを保存するための記憶領域などの設定を行う処理である。バックアップ処理とは、設定された記憶領域に、計算機から送られてくるデータを格納する処理である。配送要求処理とは、配送サーバ３４０に、障害となった記憶媒体の代替となる記憶媒体を配送することを要求する処理である。仮想計算機設定処理とは、ＶＮＣサーバ３３０に対して仮想計算機を立上げ、計算機と同様の環境を構築することである。データ回復処理とは、計算機から要求されたプログラム、データなどを送信する処理である。バックアップデータ回復処理とは、代替となる記憶媒体が計算機に設定された場合に、代替となる記憶媒体のデータの整合性をとるための処理である。
【００９５】
バックアップ制御プログラム６１１は、バックアップの初期設定要求を受けると（Ｓ２１００で「Ｙ」）、バックアップ設定処理（Ｓ２１０５）を行う。バックアップ設定処理については、後述する。
【００９６】
バックアップ設定処理でない場合（Ｓ２１００で「Ｎ」）、設定された認証情報（ＩＤ、ＰＷ）により認証処理（Ｓ２１１０）を行う。ここでは、図示していないが、送られてきたＩＤ、ＰＷが一致しない場合、つまり認証に失敗した場合は、送信元に認証失敗の通知を行い、Ｓ２１００へ戻る。ＩＤ、ＰＷが一致し、認証処理が完了すると、バックアップ要求である場合（Ｓ２１１５で「Ｙ」）、ユーザ情報からＩＤ、ＰＷが一致する論理ボリュームを特定し、送られてきたデータを特定した論理ボリュームに格納する（Ｓ２１２０）。また、記憶媒体の配送要求である場合（Ｓ２１２５で「Ｙ」）、記憶媒体に格納するデータを確定する（Ｓ２１３０）。これは、図１０で説明したチェックポイントを作成し、配送する記憶媒体に格納するデータを確定する処理である。まず、ユーザ情報からＩＤ、ＰＷが一致する論理ボリュームを特定し、この論理ボリュームに格納されているデータを他の論理ボリュームにコピーする。例えば、図３、４、６で説明した格納方法において、記憶制御装置３６０にコピー要求を発行し、現在書き込み対象となっているＤａｔａ−Ｖｏｌに格納されているデータをＲｅｃｏｖｅｒｙ−Ｖｏｌにコピーする。また、コピー要求を発行した時刻をチェックポイントとしてユーザ情報６２１に設定する。
【００９７】
また、図１０で説明したリカバリー要求に対してバックアップサーバ３２０から計算機に送信するデータを削減するために、図４で説明したスナップショット格納方法においては、バックアップサーバ３２０から記憶制御装置３６０に対してスナップショット取得要求を発行する。記憶制御装置３６０は、この要求によりビットマップを「１」に設定する。これにより、リカバリー要求を受けた際に、バックアップサーバ３２０は、「１」→「０」へ変更されたデータをＤ−Ｖｏｌから読み出して送ることで、送信するデータ量を削減できる。
【００９８】
また、図６で説明した任意時点回復格納方法では、チェックポイントとして設定された時刻情報からリカバリー要求を受けた時点までのデータをＪＮＬ−Ｖｏｌから特定することで、送信するデータ量を削減できる。
【００９９】
次に、配送サーバ３４０へ、データをコピーした新たな論理ボリューム（Ｒｅｃｏｖｅｒ−Ｖｏｌ）の情報（Ｖｏｌ−ＩＤ）、認証情報（ＩＤ、ＰＷ）、配送要求を送信する（Ｓ２１３５）。配送要求を受けた配送サーバ３４０の処理は、後述する。
【０１００】
また、業務継続要求である場合（Ｓ２１４０で「Ｙ」）、ＶＮＣサーバ３３０へ認証情報（ＩＤ、ＰＷ）と共に、仮想計算機設定の要求を送信する（Ｓ２１４５）。
【０１０１】
また、転送要求である場合（Ｓ２１５０で「Ｙ」）、転送要求の対象はデータか、プログラムかを判断する（Ｓ２１５５）。転送要求がデータである場合には、記憶装置３７０から読み出し、要求元の計算機１００へ転送する。一方、プログラムである場合は、ユーザ情報、要求対象のプログラム名と共にプログラム実行テスト要求をＶＮＣサーバ３４０へ送信する（Ｓ２１６０）。要求を受けたＶＮＣサーバ３４０は、要求対象のプログラムを実行し、正常に実行できるプログラムをバックアップサーバ３２０へ通知する。正常に実行できるプログラムがなければ、実行できるプログラムがないことをバックアップサーバ３２０へ通知する。正常に実行できるプログラムがある場合（Ｓ２１６５で「Ｙ」）、バックアップサーバ３２０は、要求元の計算機１００へ、正常に実行できたプログラムを送信する（Ｓ２１７０）。正常に実行できるプログラムがなければ、要求元の計算機１００へ正常なプログラムがないことを通知する（Ｓ２１７５）。
【０１０２】
また、プログラム回復処理要求の場合（Ｓ２１８５で「Ｙ」）、最新のデータが格納されている論理ボリュームの全データを、要求元の計算機１００へ送信する（Ｓ２１８５）。なお、先に説明したように、スナップショット格納方法においては、ビットマップにより更新された部分のデータを送るようにしても良い。また、任意時点回復格納方法においても同様に時刻情報から更新されたデータを送るようにしてもよい。
【０１０３】
バックアップ制御プログラム６１１は、停止命令が入力されたか判断し（Ｓ２１９０）、入力されていなければ（Ｓ２１９０で「Ｎ」）、Ｓ２１００に戻る。一方、停止命令が入力されていれば（Ｓ２１９０で「Ｙ」）、処理を終了する。
【０１０４】
図２２は、バックアップ制御プログラムのバックアップ初期設定の処理を示したものである。バックアップサーバ３２０は、計算機１００からバックアップ設定要求を受けると、自身でバックアップできるか判断し、もしバックアップができない場合、他のバックアップサーバへバックアップ設定の要求を転送する。つまり、バックアップサーバ３２０は、計算機及び他のバックアップサーバからバックアップの設定要求を受ける場合がある。図２２は、この両方の場合を含む処理を示している。
【０１０５】
バックアップ設定要求を受けると、この要求が他のバックアップサーバからの要求か、計算機からの要求かを判断する（Ｓ２２００）。図２３は、ネットワークに接続されたデータセンタの各サーバが登録されたサーバ情報６２４である。サーバ情報としては、データセンタを構成するサーバを示す種別、各サーバの所在地、サーバのインターネットホスト名がある。ここで、データセンタＢのバックアップサーバ、ＶＮＣサーバは同じインターネットホスト名となっている。つまり、一つのサーバがバックアップサーバ、ＶＮＣサーバの役割を果たしている。
【０１０６】
設定要求を受けたバックアップサーバ３２０は、設定要求に含まれるインターネットホスト名に基づいて、このサーバ情報に登録されたバックアップサーバのから設定要求を受けたかどうかで、設定要求が計算機、他のバックアップサーバから送られてきたかを判断する。
【０１０７】
まず、他のバックアップサーバからの要求である場合（Ｓ２２００で「Ｙ」）、記憶領域が確保できるかを判断する（Ｓ２２０５）。
【０１０８】
図２４は、論理ボリューム情報を示したものである。論理ボリューム情報は、論理ボリュームのＩＤ（Ｖｏｌ−ＩＤ）、論理ボリュームを構成するＨＤＤ３７１を特定するためのシリアル番号（Ｓｅｒｉａｌ  Ｎｏ）、各ＨＤＤ３７１のアドレス、容量、用途が登録されている。例えば、Ｖｏｌ−ＩＤが「１」の論理ボリュームは、００から０４のＨＤＤで、各ＨＤＤのアドレス００００-０１００によって容量４０Ｇの記憶領域が形成され、これはバックアップ制御プログラムが格納されていることを示している。用途に何も設定されていない論理ボリューム（例えばＶｏｌ−ＩＤが「６」、「９」など）は、未使用の論理ボリュームである。
【０１０９】
バックアップ制御プログラム６１１は、この論理ボリューム情報の中から、未使用の論理ボリュームであって、設定要求に含まれる容量以上の論理ボリュームがあるかを判断する。未使用の論理ボリュームであって、設定要求に含まれる容量以上の論理ボリュームがある場合（Ｓ２２０５で「Ｙ」）、この論理ボリュームをバックアップ先の論理ボリュームに決定し（Ｓ２２１０）、設定情報を登録する（Ｓ２２１５）。設定情報の登録は、論理ボリューム情報６２３への登録と、ユーザ情報６２１への登録がある。論理ボリューム情報６２３に決定されたＶｏｌ−ＩＤに対応付けて用途に「ユーザデータ」を登録する。
【０１１０】
図２８は、ユーザ情報の一例を示したものである。ユーザ情報６２１は、ユーザＩＤ、パスワード、住所、Ｄａｔａ−Ｖｏｌの識別子、格納種別、チェックポイント、ＲＶｏｌ、ＤＶｏｌ，ＢＶｏｌ、ＪＶｏｌ、ＧＶｏｌの識別子が登録される。Ｄａｔａ−Ｖｏｌとは、バックアップ先の論理ボリュームの識別子である。格納種別とは、図３、４、６で説明した格納方法である。ＲＶｏｌとは、図３、４、６で説明したＲｅｃｏｖｅｒｙ−Ｖｏｌとして利用される論理ボリュームである。同様に、ＤＶｏｌは、Ｄ−Ｖｏｌ、ＢＶｏｌはＣａｓｅ−Ｖｏｌ、ＪＶｏｌはＪＮＬ−Ｖｏｌとして利用される論理ボリュームである。ＧＶｏｌは、図３で示したＤａｔａ−Ｖｏｌ（ａ）からＤａｔａ−Ｖｏｌ（ｃ）として利用される論理ボリュームである。ここで、Ｓ２２１５におけるユーザ情報６２１への登録とは、ユーザＩＤ、パスワード、住所、Ｄａｔａ−Ｖｏｌを登録することである。
【０１１１】
設定情報の登録が完了すると、バックアップサーバ３２０は、設定要求の送信元であるバックアップサーバに自バックアップサーバのインターネットホスト名と共に、バックアップ設定が完了した旨の通知を行い（Ｓ２２２０）、処理を終了する。
【０１１２】
一方、記憶領域がない場合（Ｓ２２０５で「Ｎ」）、設定要求の送信元であるバックアップサーバにバックアップ設定ができない旨を通知し（Ｓ２２２５）、処理を終了する。
【０１１３】
設定要求が計算機からの要求である場合（Ｓ２２００で「Ｎ」）、記憶領域があるかを判断する（Ｓ２２３０）。記憶領域がある場合（Ｓ２２３０で「Ｙ」）、バックアップ先の論理ボリュームと決定し（Ｓ２２３５）、設定情報を登録する（Ｓ２２４０）。このＳ２２３０からＳ２２４０までの処理は、Ｓ２２０５からＳ２２１５までの処理と同じである。設定情報の登録が終了すると、設定要求の送信元である計算機１００に対して、バックアップ設定が完了した旨を通知し（Ｓ２２４５）、処理を終了する。
一方、記憶領域がないと判断された場合（Ｓ２２３０で「Ｎ」）、図２３に示すサーバ情報から他のバックアップサーバを選択する（Ｓ２２５０）。次に、選択されたバックアップサーバにバックアップ設定要求を送信する（Ｓ２２５５）。この場合、計算機から送られてきた認証情報、バックアップ設定情報も送信する。他のバックアップサーバからバックアップ設定が完了した旨の通知を受信した場合（Ｓ２２６０で「Ｙ」）、バックアップ設定が完了した旨の通知とともに、バックアップ設定が完了したバックアップサーバのインターネットホスト名を設定要求元の計算機に送り（Ｓ２２４５）、処理を終了する。
【０１１４】
一方、バックアップ設定ができない旨の通知を受信した場合（Ｓ２２６０で「Ｎ」）、サーバ管理テーブルから他のバックアップサーバがあるかを判断し（Ｓ２２６５）、他のバックアップサーバがあればＳ２２５０に戻り、処理を進める。一方、他のバックアップサーバがない場合（Ｓ２２６５で「Ｎ」）、バックアップ設定ができない旨の通知を設定要求元の計算機に送り（Ｓ２２７０）、処理を終了する。
【０１１５】
以上のようにして、計算機とバックアップサーバとの間で、バックアップの初期設定を行う。
【０１１６】
図２５は、バックアップ制御プログラムの仮想計算機設定処理を示したものである。
【０１１７】
仮想計算機設定要求を受けると、バックアップ制御プログラム５１１は、ＶＮＣサーバ３３０に仮想計算機設定要求を送信する（Ｓ２５００）。ＶＮＣサーバ３３０から仮想計算機設定可能な通知を受信すると（Ｓ２５０５で「Ｙ」）、処理を終了する。一方、ＶＮＣサーバ３３０から仮想計算機設定可能な通知を受信できない場合（Ｓ２５０５で「Ｎ」）、サーバ管理テーブルより、他のデータセンタのＶＮＣサーバがあるかを判断し（Ｓ２５１０）、他のＶＮＣサーバがあれば、仮想計算機設定要求を送信する（Ｓ２５１５）。他のデータセンタのＶＮＣサーバから、仮想計算機設定可能な通知を受信できた場合（Ｓ２５２０で「Ｙ」）、ユーザデータを仮想計算機設定可能な通知を送信したＶＮＣサーバで送信し（Ｓ２５２５）、処理を終了する。仮想計算機設定可能な通知を受信できない場合（Ｓ２５２０で「Ｎ」）、他のデータセンタのＶＮＣサーバがあるかを判断し（Ｓ２５１０）、なければ仮想計算機が設定できない旨を計算機１００に通知し（Ｓ２５３０）、処理を終了する。他のデータセンタのＶＮＣサーバがある場合、Ｓ２５１５に移り処理を行う。
【０１１８】
図２６は、ＶＮＣサーバの仮想計算機設定処理を示したものである。
【０１１９】
ＶＮＣサーバ３３０は、バックアップサーバ３２０から仮想計算機設定要求又はプログラム実行テスト要求を受けると、仮想計算機で利用する所定の記憶領域があるか判断する（Ｓ２６００）。これは、論理ボリューム情報６２３から未使用の論理ボリュームであって、要求元の計算機がバックアップの対象としている容量以上の論理ボリュームがあるかを判断する。
【０１２０】
所定の論理ボリュームがある場合（Ｓ２６００で「Ｙ」）、仮想計算機を設定できるか判断する（Ｓ２６０５）。ＶＮＣサーバ３３０は、図３０に示すようにＣＰＵ、メモリといったハードウェア資源を論理的に分割して利用する構成となっている。そして、論理的に分割されたハードウェア資源上で、オペレーティングシステム、アプリケーションプログラム等が実行できるように制御される。図３１は、ＶＮＣサーバ上で、どのユーザのどのプログラムが実行され、ＶＮＣサーバ３３０のＣＰＵ負荷を管理するサーバ状態管理テーブルを示したものである。仮想計算機設定プログラムは、このサーバ状態管理テーブルから、新たに仮想計算機が設定可能かを判断する。具体的には、仮想計算機を設定できる数をあらかじめ設定しておいたり、あるいは、一つの仮想計算機で利用可能なＣＰＵの利用率をあらかじめ設定し、仮想計算機を設定できる数を超えた場合、あるいはＣＰＵの利用率が所定の閾値を超えた場合に、新たな仮想計算機を設定できないと判断する。換言すれば、仮想計算機を設定できる数を超えない場合、あるいはＣＰＵの利用率が所定の閾値を超えない場合に、新たな仮想計算機を設定できると判断する。
【０１２１】
仮想計算機を設定できる場合（Ｓ２６０５で「Ｙ」）、Ｓ２６００で特定された論理ボリュームに、ユーザデータをコピーする（Ｓ２６１０）。例えば、所定の論理ボリュームとして、Ｖｏｌ−ＩＤ「１０」が特定され、仮想計算機設定要求にＩＤが含まれている場合、このＩＤのデータのバックアップ先は、Ｖｏｌ−ＩＤ「１」である。バックアップ制御プログラムは、記憶制御装置３６０に対して、Ｖｏｌ―ＩＤ「１」に格納されているデータをＶｏｌ−ＩＤ「１０」の論理ボリュームへコピーするよう指示する。この指示を受け取った記憶制御装置３６０は、メインメモリ３６３に格納されているコピー制御プログラムにより、Ｖｏｌ−ＩＤ「１」からＶｏｌ−ＩＤ「１０」へコピーを行う。なお、バックアップ先として複数世代の論理ボリュームがある場合、最新のデータが格納されている論理ボリュームからコピーを行う。または、仮想計算機設定要求に含まれる世代情報に基づいて、コピー元の論理ボリュームを特定しても良い。このように記憶制御装置３６０によるコピーを行うことで、高速に、またバックアップサーバに負荷をかけることなく、データのコピーを実行することが可能となる。
【０１２２】
次に、ＶＮＣサーバのＣＰＵ、メモリのハードウェア資源（リソース）を確保し（Ｓ２６１５）、要求元の計算機１００に、ＶＮＣ準備完了メッセージを送信する（Ｓ２６２０）。
【０１２３】
ここで、バックアップサーバ３２０からの要求がプログラム実行テスト要求である場合（Ｓ２６２５で「Ｙ」）、制御情報から最新の世代が格納されている論理ボリュームを特定し（Ｓ２６３０）、特定された論理ボリュームからテスト要求の対象となるプログラムを読み出し、実行する（Ｓ２６３５）。プログラムが正常に実行できた場合（Ｓ２６４０で「Ｙ」）、バックアップサーバ３２０へ、ＶＯｌ−ＩＤを通知する（Ｓ２６４５）。プログラムが正常に実行できない場合、制御情報から前の世代が格納されている論理ボリュームがあるかを判断する（Ｓ２６６０）。ここで、バックアップ方法として世代バックアップである場合には、一つ前の世代の論理ボリュームがあるかを判断する。スナップショットの場合には、前の時点のスナップショットがあるかを判断する。任意時点のデータ回復であれば、例えば１時間前、１日前といった所定の間隔で過去の時点のデータが復元できるかを判断する。これは、１時間前、１日前までのＪＮＬデータがあるかで判断する。
【０１２４】
次の世代が格納されている論理ボリュームがある場合、Ｓ２６３０の処理を行う。一方、次の世代の論理ボリュームがない場合、実行できるプログラムがないことをバックアップサーバへ通知する（Ｓ２６６５）。その後、リソースを開放し（Ｓ２６５０）、処理を終了する。一方、記憶領域が確保できない場合（Ｓ２６００で「Ｎ」）、仮想計算機を設定できない場合（Ｓ２６０５で「Ｎ」）は、仮想計算機が設定できない旨を通知し（Ｓ２６５５）、処理を終了する。
【０１２５】
図２７は、配送処理プログラムの処理を示したものである。
【０１２６】
配送処理プログラムは、配送サーバにより実行される。
【０１２７】
配送要求を受けた配送サーバは、配送情報６２５、サーバ情報６２４から、最寄のデータセンタを求める（S２７００）。
【０１２８】
図３２は配送情報の一例を示したものである。配送情報は、ユーザ毎に設定され、配送情報には、配送候補、最寄データセンタ、配送時間が登録される。配送情報は、バックアップ設定において、計算機１００から送られてきた認証情報に含まれる住所が登録される。また、ユーザが計算機１００を介して別の住所を登録することもできる。そして、配送サーバ３４０は、配送候補の住所に近い配送サーバをサーバ情報６２４から特定し、最寄データセンタに特定された配送サーバを登録する。これは、配送候補の住所と、配送サーバの住所から地図情報などを用いて距離を求めて、距離が近いものを最寄の配送サーバとする。また、配送時間は、配送候補との距離に基づいて配送先まで送るための時間及びデータを記憶媒体にコピーするための時間により求め、登録する。このようにして、配送候補に対して、最寄データセンタ、配送時間が決まったら、次に配送要求元の計算機に配送先を問い合わせる（Ｓ２７０５）。
【０１２９】
これは、図３３に示す画面を要求元の計算機に表示させる。画面に表示されるのは、配送情報である配送候補と配送時間である。ユーザは、この画面から配送候補を選択することもできるし、新たな配送先を入力することもできる。
【０１３０】
配送候補が決定されたら、最寄の配送サーバは自サーバかを判断する（Ｓ２７１０）。なお、新たな住所が入力された場合には、配送候補として新たな住所を登録し、最寄の配送サーバ、配送時間を登録する。
【０１３１】
最寄の配送サーバが他の配送サーバである場合（Ｓ２７１０で「Ｙ」、この他の配送サーバ（他配送サーバ）に対して記憶媒体の仕様とともに配送要求を送信する（Ｓ２７１５）。他配送サーバから、記憶媒体の準備が完了した旨の通知を受信すると（Ｓ２７２０で「Ｙ」）、配送サーバはユーザデータを他配送サーバに送信し（Ｓ２７２５）、配送する記憶媒体の準備が完了した旨の通知をうけて（Ｓ２７３０で「Ｙ」）、処理を終了する。
【０１３２】
一方、最寄の配送サーバが自サーバである場合（Ｓ２７００で「Ｎ」）、配送サーバは、記憶媒体の仕様から代替となる記憶媒体を特定する（Ｓ２７３５）。
【０１３３】
図３４は、代替の記憶媒体を決定するための適合記憶媒体情報を示したものである。適合記憶媒体情報は、交換前のＨＤＤと、交換するＨＤＤの対応関係を示したものである。配送要求に含まれる記憶媒体の仕様から交換ＨＤＤを特定する。記憶媒体がＨＤＤライト装置３５０に準備された旨の通知を受信し（Ｓ２７４０で「Ｙ」）、特定された論理ボリュームからユーザデータを読み出し、ＨＤＤライト装置３５０にユーザデータを転送する（Ｓ２７４５）。ユーザデータ格納が完了したら（Ｓ２７５０で「Ｙ」）、処理を終了する。
【０１３４】
なお、配送サーバの決定において、送付先の住所により求めたが、配送要求をした計算機１００のサービスプロバイダ（アクセス）ポイントに近い配送サーバに決定するようにしてもよい。
【０１３５】
以上、バックアップサーバ、ＶＮＣサーバ、配送サーバの処理について説明した。既に説明したように、これらは実行されるプログラムの処理によるもので、これまで説明したプログラムが一つのサーバで実行されてもよい。
【図面の簡単な説明】
【０１３６】
【図１】情報処理システムの一例を示したものである。
【図２】計算機の記憶装置に格納されたプログラム及びデータの一例を示したものである。
【図３】データ格納方法の一例を示したものである。
【図４】データ格納方法の他の一例を示したものである。
【図５】データ格納方法の概要を示したものである。
【図６】データ格納方法の他の一例を示したものである。
【図７】記憶装置のデータ格納領域の一例を示したものである。
【図８】情報処理システムの動作の概要を示したものである。
【図９】情報処理システムの動作の概要を示したものである。
【図１０】情報処理システムの動作の概要を示したものである。
【図１１】情報処理システムの動作の概要を示したものである。
【図１２】制御プログラムの処理を示したものである。
【図１３】設定情報の一例を示したものである。
【図１４】制御プログラムで実行されるバックアップ設定処理を示したものである。
【図１５】制御プログラムで実行される記憶媒体回復処理を示したものである。
【図１６】制御プログラムで実行されるプログラム回復処理を示したものである。
【図１７】制御プログラムで実行される回復処理を示したものである。
【図１８】バックアッププログラムの処理を示したものである。
【図１９】ファイル管理テーブルの一例を示したものである。」
【図２０】記憶領域を管理するビットマップの一例を示したものである。
【図２１（ａ）】バックアップ制御プログラムの処理を示したものである。
【図２１（ｂ）】バックアップ制御プログラムの処理を示したものである。
【図２２】バックアップ制御プログラムのバックアップ初期設定の処理を示したものである。
【図２３】サーバ情報の一例を示したものである。
【図２４】論理ボリューム情報の一例を示したものである。
【図２５】バックアップ制御プログラムの仮想計算機設定処理を示したものである。
【図２６】ＶＮＣサーバの仮想計算機設定処理を示したものである。
【図２７】配送処理プログラムの処理を示したものである。
【図２８】ユーザ情報の一例を示したものである。
【図２９】計算機で実行されるプログラムの概要を示したものである。
【図３０】サーバ上で実行されるプログラムの概要を示したものである。
【図３１】サーバ状態管理テーブルの一例を示したものである。
【図３２】配送情報の一例を示したものである。
【図３３】配送要求の画面の一例を示したものである。
【図３４】適合記憶媒体情報の一例を示したものである。
【符号の説明】
【０１３７】
１００  計算機
１１０  制御装置
１２０  ＣＰＵ
１３０  メモリ
１４０  ＦＭ
１５０  ＨＤＤ
１６０  ＮＩＣ
１７０  Ｉ/Ｆ
１８０  入力装置
１９０  表示装置
２００  外部記憶装置
３００  データセンタ
３１０  ＧＷ
３２０  バックアップサーバ
３３０  ＶＮＣサーバ
３４０  配送サーバ
３５０  ＨＤＤライト装置
３６０  記憶制御装置
３６１  通信Ｉ/Ｆ
３６２  ＣＰＵ
３６３  メインメモリ
３６４  キャッシュメモリ
３６５  ストレージＩ/Ｆ
３７０  記憶装置
３７１  ＨＤＤ
３７２  論理ボリューム
３８０  端末装置
【図１】
2010020570.tif 000003
【図２】
2010020570.tif 000004
【図３】
2010020570.tif 000005
【図４】
2010020570.tif 000006
【図５】
2010020570.tif 000007
【図６】
2010020570.tif 000008
【図７】
2010020570.tif 000009
【図８】
2010020570.tif 000010
【図９】
2010020570.tif 000011
【図１０】
2010020570.tif 000012
【図１１】
2010020570.tif 000013
【図１２】
2010020570.tif 000014
【図１３】
2010020570.tif 000015
【図１４】
2010020570.tif 000016
【図１５】
2010020570.tif 000017
【図１６】
2010020570.tif 000018
【図１７】
2010020570.tif 000019
【図１８】
2010020570.tif 000020
【図１９】
2010020570.tif 000021
【図２０】
2010020570.tif 000022
【図２１（ａ）】
2010020570.tif 000023
【図２１（ｂ）】
2010020570.tif 000024
【図２２】
2010020570.tif 000025
【図２３】
2010020570.tif 000026
【図２４】
2010020570.tif 000027
【図２５】
2010020570.tif 000028
【図２６】
2010020570.tif 000029
【図２７】
2010020570.tif 000030
【図２８】
2010020570.tif 000031
【図２９】
2010020570.tif 000032
【図３０】
2010020570.tif 000033
【図３１】
2010020570.tif 000034
【図３２】
2010020570.tif 000035
【図３３】
2010020570.tif 000036
【図３４】
2010020570.tif 000037