(57)【要約】【課題】データの移行を迅速に行う。【解決手段】データ移行管理装置は、第１装置に記憶された第１データを第２装置に移行させる指示を受け付けた場合、第１データと同一の第２データを記憶している第３装置を示す情報を参照し、移行対象の第１データと同一の第２データを記憶している第３装置を特定する特定部と、第１装置と第２装置との間の回線速度と、第２装置と特定された第３装置との間の回線速度とに基づいて、第１データと第２データとのうちのどちらを第２装置に移行させるかを決定する決定部とを備える。【選択図】図７
2020135049.tif 000002
【特許請求の範囲】
【請求項１】
第１装置に記憶された第１データを第２装置に移行させる指示を受け付けた場合、前記第１データと同一の第２データを記憶している第３装置を示す情報を参照し、移行対象の前記第１データと同一の第２データを記憶している第３装置を特定する特定部と、
前記第１装置と前記第２装置との間の回線速度と、前記第２装置と特定された前記第３装置との間の回線速度とに基づいて、前記第１データと前記第２データとのうちのどちらを前記第２装置に移行させるかを決定する決定部と
を備えることを特徴とするデータ移行管理装置。
【請求項２】
前記特定部は、前記第２データを記憶している前記第３装置が複数存在する場合、複数の前記第３装置のうち、前記第２装置との間の回線速度が最速である前記第３装置を特定する
ことを特徴とする請求項１記載のデータ移行管理装置。
【請求項３】
前記第１データまたは前記第２データを用いて、前記第２装置に仮想マシンを構築する構築部をさらに備える
ことを特徴とする請求項１または２記載のデータ移行管理装置。
【請求項４】
第１装置に記憶された第１データを第２装置に移行させる指示を受け付けた場合、前記第１データと同一の第２データを記憶している第３装置を示す情報を参照し、移行対象の前記第１データと同一の第２データを記憶している第３装置を特定し、
前記第１装置と前記第２装置との間の回線速度と、前記第２装置と特定された前記第３装置との間の回線速度とに基づいて、前記第１データと前記第２データとのうちのどちらを前記第２装置に移行させるかを決定する
処理をコンピュータに実行させるためのデータ移行管理プログラム。
【請求項５】
コンピュータが、
第１装置に記憶された第１データを第２装置に移行させる指示を受け付けた場合、前記第１データと同一の第２データを記憶している第３装置を示す情報を参照し、移行対象の前記第１データと同一の第２データを記憶している第３装置を特定し、
前記第１装置と前記第２装置との間の回線速度と、前記第２装置と特定された前記第３装置との間の回線速度とに基づいて、前記第１データと前記第２データとのうちのどちらを前記第２装置に移行させるかを決定する
処理を実行することを特徴とするデータ移行管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データ移行管理装置、データ移行管理プログラム、およびデータ移行管理方法に関する。
【背景技術】
【０００２】
クラウドサービスにおける仮想マシン等に用いられるプログラムに対して、市場の変化に迅速に対応するために、プログラムの変更に応じて自動でテスト等を行うContinuous Integration／Continuous Delivery（CI/CD）が行われている。これにより、Operating System（OS）のアップデートやセキュリティパッチの適用に加えて、CI/CDによる高頻度のプログラム更新が発生する。そのため、プログラムのバックアップ回数も増加している。
【０００３】
関連する技術として、バックアップ対象のファイルに対する改変内容に応じた差分のファイルを生成し、複数のファイルに対して差分のファイルを適用したファイル群を、バックアップ先の装置に送信する技術が提案されている（例えば、特許文献１を参照）。
【０００４】
また、関連する技術として、各仮想マシンに共通するソフトウェアモジュールを含む共通構成情報、および物理サーバ構成情報に基づいて、ＶＭイメージを配備する際に必要となる情報を含む配備情報を生成する技術が提案されている（例えば、特許文献２を参照）。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１８−２５８４９号公報
【特許文献２】特開２０１６−９３４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
クラウドサービスに用いられる運用サイト内のサーバに障害等が発生した場合に、災害対策サイト内のサーバが代替サーバとして用いられる。運用サイト内のサーバのプログラムの更新が行われる場合、バックアップ対象データ（移行対象データ）が、災害対策サイトに送信される。しかし、運用サイトと災害対策サイトとの間の距離が長い場合、移行対象データの送信に時間がかかる。
【０００７】
１つの側面として、本発明は、データの移行を迅速に行うことを目的とする。
【課題を解決するための手段】
【０００８】
１つの態様では、データ移行管理装置は、第１装置に記憶された第１データを第２装置に移行させる指示を受け付けた場合、前記第１データと同一の第２データを記憶する第３装置を示す情報を参照し、移行対象の前記第１データと同一の第２データを記憶する第３装置を特定する特定部と、前記第１装置と前記第２装置との間の回線速度と、前記第２装置と特定された前記第３装置との間の回線速度とに基づいて、前記第１データと前記第２データとのうちのどちらを前記第２装置に移行させるかを決定する決定部とを備える。
【発明の効果】
【０００９】
１つの側面によれば、データの移行を迅速に行うことができる。
【図面の簡単な説明】
【００１０】
【図１】第１の実施形態のシステムの全体構成の一例を示す図である。
【図２】バックアップ方法の第１の例を示す図である。
【図３】バックアップ方法の第２の例を示す図である。
【図４】第１の実施形態におけるバックアップ方法の概要を示す例である。
【図５】運用サーバの機能構成の一例を示す図である。
【図６】第１管理サーバの機能構成の一例を示す図である。
【図７】第２管理サーバの機能構成の一例を示す図である。
【図８】パッケージ管理情報の一例を示す図である。
【図９】転送済みパッケージリストの一例を示す図である。
【図１０】リポジトリ管理情報の一例を示す図である。
【図１１】運用サイトと災害対策サイトとの間の回線速度の一例を示す図である。
【図１２】第１の実施形態における第１管理サーバの処理の一例を示すフローチャートである。
【図１３】第１の実施形態における第１管理サーバのパッケージ転送処理の詳細を示すフローチャートである。
【図１４】第１の実施形態における第２管理サーバの処理の一例を示すフローチャートである。
【図１５】第２管理サーバのハードウェア構成の一例を示す図である。
【図１６】第２の実施形態のシステムの全体構成の一例を示す図である。
【図１７】バックアップ方法の第３の例を示す図である。
【図１８】バックアップ方法の第４の例を示す図である。
【図１９】第２の実施形態におけるバックアップ方法の概要を示す例である。
【図２０】第３管理サーバの機能構成の一例を示す図である。
【図２１】第４管理サーバの機能構成の一例を示す図である。
【図２２】転送待ちパッケージリストの一例を示す図である。
【図２３】パッケージ取得リストの一例を示す図である。
【図２４】第２の実施形態における第３管理サーバの処理の一例を示すフローチャートである。
【図２５】第２の実施形態における第３管理サーバのパッケージ転送処理の詳細を示すフローチャートである。
【図２６】第２の実施形態における第４管理サーバの処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、図面を参照して、第１の実施形態について説明する。図１は、第１の実施形態のシステムの全体構成の一例を示す図である。第１の実施形態のシステムは、運用サイト１０と災害対策サイト２０とデータサーバ５とリポジトリサーバ６とを含む。運用サイト１０は、データサーバ５および災害対策サイト２０と、Wide Area Network（ＷＡＮ）または専用回線を介して相互に通信を行うことができる。災害対策サイト２０は、データサーバ５、リポジトリサーバ６、および運用サイト１０と、ＷＡＮまたは専用回線を介して相互に通信を行うことができる。
【００１２】
運用サイト１０は、クラウドサービスに使用される運用サーバ１と運用サーバ１を管理する第１管理サーバ２とを含む。運用サーバ１は、例えば、複数のユーザに使用される仮想マシン（Virtual Machine：ＶＭ）が搭載されている。第１管理サーバ２は、運用サーバ１とLocal Area Network（ＬＡＮ）等のネットワークを介して相互に通信を行うことができる。運用サイト１０は、複数の運用サーバ１を含んでいてもよい。運用サーバ１は、第１装置の一例である。第１管理サーバ２は、例えば、クラウドコントローラである。
【００１３】
災害対策サイト２０は、運用サイト１０と同様の構成を有するバックアップサーバ３と第２管理サーバ４とを含む。第２管理サーバ４は、バックアップサーバ３とＬＡＮ等のネットワークを介して相互に通信を行うことができる。バックアップサーバ３は、例えば、運用サーバ１に障害が発生した場合、運用サーバ１の代わりに使用される。第２管理サーバ４は、コンピュータ、およびデータ移行管理装置の一例である。バックアップサーバ３は、第２装置の一例である。
【００１４】
データサーバ５は、運用サーバ１が有するデータのうち、ユーザの固有のデータをバックアップデータとして記憶する。
【００１５】
リポジトリサーバ６は、運用サーバ１が有するデータと同一のデータを記憶する。リポジトリサーバ６は、例えば、複数のＶＭが共通で使用するデータをバックアップ用データとして記憶する。リポジトリサーバ６が記憶するデータは、例えば、ＶＭに適用されるプログラム等の各種データを含むパッケージである。リポジトリサーバ６は、第３装置の一例である。
【００１６】
以下、運用サーバ１のデータのバックアップに関する処理について説明するが、データのバックアップは、データの移行の一例である。例えば、運用サーバ１のＶＭ等を他のサイトに移転させる際にも同様の処理を適用することができる。
【００１７】
図２は、バックアップ方法の第１の例を示す図である。第１の例において、第１管理サーバ２は、運用サーバ１のバックアップ対象のＶＭに関する全データについて、バックアップデータを取得する（１−１）。運用サーバ１のバックアップ方法は、フルバックアップまたは差分バックアップのいずれであってもよい。バックアップデータは、プログラムおよびユーザの固有データ（例えば、顧客データ）等を含む。第１管理サーバ２は、取得したバックアップデータをデータサーバ５に送信する（１−２）。災害対策サイト２０の第２管理サーバ４は、データサーバ５に記憶されたバックアップデータを取得し（１−３）、取得したバックアップデータに基づいて、バックアップサーバ３にＶＭを構築する（１−４）。
【００１８】
以上の処理により、第２管理サーバ４は、バックアップサーバ３に運用サーバ１内のＶＭと同様のＶＭを構築することができる。しかし、図２に示す例では、複数のＶＭに共通するプログラムがあったとしても、ＶＭ毎に全プログラムのバックアップを行うため、バックアップデータの量が多く、処理に時間がかかる。
【００１９】
図３は、バックアップ方法の第２の例を示す図である。第１の例において、第１管理サーバ２は、複数のＶＭに共通で使用するデータ（プログラム等）を含むパッケージと、ユーザの固有データを区別して、バックアップデータとして取得する（２−１）。第１管理サーバ２は、複数のＶＭが共通で使用するパッケージが存在する場合、重複しないように取得する。第１管理サーバ２は、ＶＭのパッケージ構成やＯＳ設定等を含むテンプレートを更新する。
【００２０】
そして、第１管理サーバ２は、取得したパッケージと、テンプレートとを第２管理サーバ４に送信する（２−２）。また、第１管理サーバ２は、ユーザの固有データをデータサーバ５に送信する（２−３）。第２管理サーバ４は、受信したパッケージとテンプレートに基づいて、バックアップサーバ３にＶＭを構築する（２−４）。第２管理サーバ４は、データサーバ５からユーザの固有データを受信し、ユーザの固有データを含めたＶＭをバックアップサーバ３に構築してもよい。
【００２１】
以上の処理により、第２管理サーバ４は、バックアップサーバ３に運用サーバ１内のＶＭと同様のパッケージ構成を有するＶＭを構築することができる。また、第１管理サーバ２は、複数のＶＭが共通で使用するパッケージが存在する場合、重複しないように取得し、第２管理サーバ４に送信するので、バックアップを効率化することができる。しかし、運用サイト１０と災害対策サイト２０の距離が遠い等の理由により回線速度が遅い場合、パッケージの転送に時間がかかる。
【００２２】
図４は、第１の実施形態におけるバックアップ方法の概要を示す例である。図４に示す例は、第２管理サーバ４がリポジトリサーバ６からパッケージを取得する点で、図３に示す例と異なる。第１管理サーバ２は、複数のＶＭに共通で使用するデータ（プログラム等）を含むパッケージと、ユーザの固有データを区別して、バックアップデータとして取得する（３−１）。第１管理サーバ２は、複数のＶＭが共通で使用するパッケージが存在する場合、重複しないように取得する。第１管理サーバ２は、ＶＭのパッケージ構成やＯＳ設定等を含むテンプレートを更新する。
【００２３】
第１管理サーバ２は、第２管理サーバ４にテンプレートを送信する（３−２）。第２管理サーバ４は、テンプレートに記載されたパッケージを、リポジトリサーバ６または運用サイト１０のうち回線速度が速い方から受信する（３−３）。
【００２４】
第１管理サーバ２は、データサーバ５にユーザの固有データを送信する（３−４）。第２管理サーバ４は、受信したパッケージを用いて、バックアップサーバ３にＶＭを構築する（３−５）。第２管理サーバ４は、データサーバ５からユーザの固有データを受信し、ユーザの固有データを含めたＶＭをバックアップサーバ３に構築してもよい。
【００２５】
以上のように、第１の実施形態における第２管理サーバ４は、パッケージを、リポジトリサーバ６または運用サイト１０のうち回線速度が速い方から受信することにより、迅速にパッケージを取得し、ＶＭを構築することができる。
【００２６】
図５は、運用サーバ１の機能構成の一例を示す図である。運用サーバ１は、ホストＯＳ１１と管理エージェント１２と複数のＶＭ１３とを含む。
【００２７】
ホストＯＳ１１は、運用サーバ１のＯＳである。管理エージェントは、ＶＭ１３を管理するソフトウェアである。ＶＭ１３は、ホストＯＳ１１上で動作する仮想マシンであり、例えば、ユーザの業務サーバとして使用される。なお、バックアップサーバ３の機能構成は、運用サーバ１の機能構成と同様である。
【００２８】
図６は、第１管理サーバ２の機能構成の一例を示す図である。第１管理サーバ２は、制御部２１と送信部２２と受信部２３と転送部２４と記憶部２５とを含む。
【００２９】
制御部２１は、運用サーバ１のパッケージの転送等に関する各種制御処理を行う。制御部２１は、例えば、バックアップ対象のＶＭ１３のテンプレート、およびバックアップ対象のパッケージに関するパッケージ管理情報を生成する。
【００３０】
送信部２２は、バックアップ対象のＶＭ１３のテンプレート、バックアップ対象のパッケージに関するパッケージ管理情報、パッケージをバックアップサーバ３に移行させる指示を第２管理サーバ４に送信する。テンプレートは、ＶＭ１３内に含まれるパッケージの識別情報、ＶＭ１３のＯＳの設定等を含む。パッケージ管理情報は、パッケージ毎の可用リポジトリの識別情報等を含む。可用リポジトリは、リポジトリサーバ６のうち、運用サーバ１に使用されるパッケージと同一のパッケージを記憶するリポジトリサーバ６である。
【００３１】
受信部２３は、運用サーバ１からバックアップ対象のパッケージ、およびユーザの固有データを受信する。転送部２４は、リポジトリサーバ６からのパッケージ取得成功を示す通知を第２管理サーバ４から受信しない場合、運用サーバ１から受信したバックアップ対象のパッケージを第２管理サーバ４に転送する。また、転送部２４は、ユーザの固有データをデータサーバ５に転送する。
【００３２】
記憶部２５は、バックアップ対象のＶＭ１３のテンプレート、パッケージ管理情報、転送済みのパッケージを記録する転送済みパッケージリスト等を記憶する。パッケージ管理情報および転送済みパッケージリストについて、詳細は後述する。
【００３３】
図７は、第２管理サーバ４の機能構成の一例を示す図である。第２管理サーバ４は、受信部４１と特定部４２と決定部４３と通知部４４と構築部４５と記憶部４６と制御部４７とを含む。
【００３４】
受信部４１は、運用サーバ１に記憶された移行対象（バックアップ）対象のパッケージの識別情報と、パッケージと同一のパッケージを記憶するリポジトリサーバ６の識別情報と、パッケージをバックアップサーバ３に移行させる指示を受信する。パッケージは、第１データおよび第２データの一例である。なお、第１データおよび第２データは、パッケージに限られず、ユーザの固有データ等であってもよい。バックアップ対象のパッケージの識別情報は、例えば、ＶＭ１３のテンプレートに記録されている。パッケージを記憶するリポジトリサーバ６の識別情報は、例えば、パッケージ管理情報に可用リポジトリとして記録された識別情報である。
【００３５】
特定部４２は、パッケージ管理情報を参照して、複数のリポジトリサーバ６から、運用サーバ１が記憶するバックアップ対象のパッケージと同一のパッケージを記憶するリポジトリサーバ６を特定する。特定部４２は、例えば、バックアップ対象のパッケージを記憶する複数のリポジトリサーバ６が存在する場合、その複数のリポジトリサーバ６のうち、バックアップサーバ３との間の回線速度が最速であるリポジトリサーバ６を特定する。リポジトリサーバ６とバックアップサーバ３との間の回線速度は、予め測定され、記憶部４６に記憶されている。
【００３６】
決定部４３は、運用サーバ１とバックアップサーバ３との間の回線速度と、バックアップサーバ３とリポジトリサーバ６との間の回線速度とに基づいて、運用サーバ１が記憶するパッケージとリポジトリサーバ６が記憶するパッケージとのうちのどちらをバックアップサーバ３に移行させるかを決定する。決定部４３は、例えば、運用サーバ１とバックアップサーバ３との間の回線速度と、バックアップサーバ３とリポジトリサーバ６との回線速度を比較して、バックアップ対象のパッケージを運用サーバ１とリポジトリサーバ６のどちらから取得するか決定する。
【００３７】
通知部４４は、リポジトリサーバ６からのパッケージの取得が成功した場合、第１管理サーバ２にパッケージ取得成功を示す通知を送信する。
【００３８】
構築部４５は、第１管理サーバ２から受信したパッケージまたはリポジトリサーバ６から受信したパッケージを用いて、バックアップサーバ３に仮想マシン（ＶＭ１３）を構築する。
【００３９】
記憶部４６は、バックアップサーバ３とリポジトリサーバ６との間の回線速度を含むリポジトリ管理情報、および運用サイト１０と災害対策サイト２０との間の回線速度等を記憶する。また、記憶部４６は、第１管理サーバ２またはリポジトリサーバ６から受信したパッケージを一時的に記憶する。
【００４０】
制御部４７は、バックアップサーバ３におけるパッケージの取得等に関する各種制御処理を行う。制御部４７は、例えば、第１管理サーバ２から受信したテンプレートに記録された全パッケージの処理が完了したかの判定を行う。また、各パッケージを取得する際に、パッケージの取得状況を判定し、その結果に応じて、通知部４４の送信動作を制御する。
【００４１】
なお、第２管理サーバ４は、上記決定部４３の処理を行い、決定した結果を第２管理サーバ４とは異なる他の装置に送信してもよい。そして、他の装置が、決定部４３の結果に従って運用サーバ１またはリポジトリサーバ６からパッケージを受信し、バックアップサーバ３の仮想マシンの構築を行ってもよい。
【００４２】
図８は、パッケージ管理情報の一例を示す図である。パッケージ管理情報は、第１管理サーバ２の記憶部２５に記憶される。図８に示すようにパッケージ管理情報として、パッケージの識別情報と、パッケージのハッシュ値と、パッケージのサイズと、可用リポジトリの識別情報とが対応付けて記憶されている。可用リポジトリは、運用サーバ１に記憶されたパッケージと同一のパッケージを記憶するリポジトリサーバ６である。
【００４３】
図９は、転送済みパッケージリストの一例を示す図である。転送済みパッケージリストは、第１管理サーバ２の記憶部２５に記憶される。転送済みパッケージリストには、図８に示すパッケージ管理情報に含まれるパッケージのうち、第２管理サーバ４に転送したパッケージの識別情報とそのパッケージのハッシュ値とが対応づけて記憶される。また、転送済みパッケージリストには、第２管理サーバ４からパッケージの取得成功通知を受信した場合、そのパッケージの識別情報とそのパッケージのハッシュ値とが対応づけて記憶される。
【００４４】
図１０は、リポジトリ管理情報の一例を示す図である。リポジトリ管理情報は、第２管理サーバ４の記憶部４６に記憶される。図１０に示すように、災害対策サイト２０のリポジトリ管理情報として、リポジトリサーバ６の名称であるリポジトリ名と、リポジトリサーバ６のＩＰアドレスと、災害対策サイト２０とリポジトリサーバ６との間の回線速度が対応付けられて記憶されている。なお、本実施形態では、災害対策サイト２０内での通信遅延を無視する。よって、図１０に示す回線速度は、バックアップサーバ３とリポジトリサーバ６との間の回線速度、および第２管理サーバ４とリポジトリサーバ６との間の回線速度と同一であるとする。
【００４５】
第２管理サーバ４は、例えば、災害対策サイト２０内のバックアップサーバ３とリポジトリサーバ６との間の回線速度を測定し、図１０に示すリポジトリ管理情報として記憶する。第２管理サーバ４は、例えば、通信障害等により、通信ができない状態である場合、回線速度として「０ＭＢ／Ｓ」を記憶する。
【００４６】
図１１は、運用サイト１０と災害対策サイト２０との間の回線速度の一例を示す図である。図１１に示す情報は、第２管理サーバ４の記憶部４６に記憶される。図１１に示すように、運用サイト１０の名称と、その運用サイト１０と災害対策サイト２０との間の回線速度とが対応付けて記憶されている。第２管理サーバ４は、例えば、運用サーバ１とバックアップサーバ３との間の回線速度を予め測定し、運用サイトの名称と対応づけて記憶する。
【００４７】
図１２は、第１の実施形態における第１管理サーバ２の処理の一例を示すフローチャートである。なお、第１管理サーバ２は、例えば、ユーザの指示に応じて図１２に示す処理を開始する。また、第１管理サーバ２は、運用サーバ１のプログラム更新が行われる前後に、図１２に示す処理を自動実行してもよい。
【００４８】
制御部２１は、運用サーバ１内のＶＭ１３のうち、バックアップ対象の全ＶＭ１３に関して後述のステップＳ１０２〜Ｓ１０５の処理が完了したか判定する（ステップＳ１０１）。ステップＳ１０１でＮＯの場合、制御部２１は、バックアップ対象のＶＭ１３のうちの一つを選択する（ステップＳ１０２）。送信部２２は、バックアップ対象のＶＭ１３のテンプレートと、パッケージをバックアップサーバ３に移行させる指示を第２管理サーバ４に送信する（ステップＳ１０３）。なお、制御部２１は、テンプレートを送信する前に、最新の状態に更新する。
【００４９】
制御部２１は、バックアップ対象のＶＭ１３内の全パッケージの転送処理が完了したか判定する（ステップＳ１０４）。ステップＳ１０４でＮＯの場合、第１管理サーバ２は、パッケージ転送処理を実行する（ステップＳ１０５）。ステップＳ１０５の処理は、バックアップ対象のＶＭ１３内のパッケージ毎に実行される。ステップＳ１０５について、詳細は後述する。
【００５０】
ステップＳ１０４でＹＥＳの場合、処理は、ステップＳ１０１に移行する。ステップＳ１０１でＹＥＳの場合、第１管理サーバ２の処理は終了する。
【００５１】
図１３は、第１の実施形態における第１管理サーバ２のパッケージ転送処理の詳細を示すフローチャートである。図１３に示す処理は、図１２のステップＳ１０５の処理の詳細である。制御部２１は、処理対象のパッケージが転送済みか判定する（ステップＳ２０１）。処理対象のパッケージは、テンプレートに含まれるパッケージであり、バックアップ対象のパッケージである。制御部２１は、例えば、処理対象のパッケージが転送済みパッケージリスト（例えば、図９）に存在するか判定する。
【００５２】
ステップＳ２０１でＮＯの場合、送信部２２は、処理対象のパッケージに関するパッケージ管理情報を、第２管理サーバ４に送信する（ステップＳ２０２）。送信部２２は、例えば、図８に示す情報のうち、処理対象のパッケージに対応付けられた可用リポジトリを示す情報を第２管理サーバ４に送信する。すなわち、送信部２２は、処理対象のパッケージと同一のパッケージを記憶するリポジトリサーバ６の識別情報を送信する。
【００５３】
制御部２１は、リポジトリサーバ６からのパッケージ取得成功を示す通知を第２管理サーバ４から受信したか判定する（ステップＳ２０３）。制御部２１は、例えば、ステップＳ２０２の処理後、所定時間待機し、所定時間内にパッケージ取得成功を示す通知を第２管理サーバ４から受信したか判定する。ステップＳ２０３でＮＯの場合、転送部２４は、処理対象のパッケージを第２管理サーバ４に転送する（ステップＳ２０４）。
【００５４】
ステップＳ２０３でＹＥＳの場合、またはステップＳ２０４の処理後、制御部２１は、処理対象のパッケージの識別情報を転送済みパッケージリストに追加する（ステップＳ２０５）。ステップＳ２０５の処理後、またはステップＳ２０１でＹＥＳの場合、第１管理サーバ２は、パッケージ転送処理を終了する。
【００５５】
図１４は、第１の実施形態における第２管理サーバ４の処理の一例を示すフローチャートである。受信部４１は、処理対象のＶＭのテンプレートと、パッケージをバックアップサーバ３に移行させる指示を第１管理サーバ２から受信する（ステップＳ３０１）。ステップＳ３０１で受信する処理対象のＶＭのテンプレートは、図１２のステップＳ１０３で第１管理サーバ２が送信したテンプレートである。
【００５６】
制御部４７は、受信したテンプレートに記録された全パッケージの処理が完了したか判定する（ステップＳ３０２）。ステップＳ３０２でＮＯの場合、受信部４１は、処理対象のパッケージに関するパッケージ管理情報を受信する（ステップＳ３０３）。受信部４１が受信するパッケージ管理情報は、図１３のステップＳ２０２で第１管理サーバ２が送信した情報である。
【００５７】
特定部４２は、パッケージ管理情報を参照し、処理対象のパッケージに対応付けられた可用リポジトリが存在するか判定する（ステップＳ３０４）。ステップＳ３０４でＹＥＳの場合、特定部４２は、リポジトリ管理情報（例えば、図１０）を参照し、パッケージ管理情報において可用リポジトリとして記録されているリポジトリサーバ６のうち、災害対策サイト２０との間の回線速度が最速であるリポジトリサーバ６を特定する（ステップＳ３０５）。パッケージ管理情報に含まれる、処理対象のパッケージに対応付けられた可用リポジトリが一つである場合、特定部４２は、リポジトリ管理情報を参照せず、その可用リポジトリ（リポジトリサーバ６）をパッケージの取得先として特定してもよい。
【００５８】
決定部４３は、バックアップサーバ３と特定されたリポジトリサーバ６との回線速度が、運用サーバ１とバックアップサーバ３との間の回線速度（例えば、図１１）より速いか判定する（ステップＳ３０６）。ステップＳ３０６でＹＥＳの場合、決定部４３は、処理対象のパッケージをリポジトリサーバ６から取得することを決定する（ステップＳ３０７）。そして、受信部４１は、処理対象のパッケージを、特定されたリポジトリサーバ６から受信する（ステップＳ３０８）。
【００５９】
制御部４７は、パッケージの取得が成功したかを判定する（ステップＳ３０９）。ステップＳ３０９でＹＥＳの場合、通知部４４は、第１管理サーバ２にパッケージ取得成功を示す通知を送信する（ステップＳ３１０）。例えば、通信障害等によりパッケージの取得が失敗した場合、ステップＳ３０９でＮＯとなる。ステップＳ３０４でＮＯの場合、またはステップＳ３０６でＮＯの場合、またはステップＳ３０９でＮＯの場合、決定部４３は、パッケージを運用サーバ１から取得することを決定する（ステップＳ３１１）。
【００６０】
ステップＳ３１０、Ｓ３１１の処理後、処理はステップＳ３０２に戻る。ステップＳ３０２でＹＥＳの場合、構築部４５は、受信したパッケージを用いて、バックアップサーバ３に仮想マシン（ＶＭ１３）を構築する（ステップＳ３１２）。第２管理サーバ４は、仮想マシンを構築する前に、データサーバ５からユーザの固有データを受信し、ユーザの固有データを含めた仮想マシンを構築してもよい。
【００６１】
以上のように、第１の実施形態の第２管理サーバ４は、回線速度に基づいて、運用サイト１０とリポジトリサーバ６のどちらからパッケージを取得するか決定することにより、迅速にパッケージに移行させることができる。これにより、第２管理サーバ４は、データのバックアップを迅速に行うことができる。
【００６２】
また、第２管理サーバ４は、複数のリポジトリサーバ６のうち、第２管理サーバ４との間の回線速度が最速であるリポジトリサーバ６からパッケージを取得するので、バックアップを迅速に行うことができる。
【００６３】
次に、第２管理サーバ４のハードウェア構成の一例を説明する。図１５は、第２管理サーバ４のハードウェア構成の一例を示す図である。図１５の例に示すように、第２管理サーバ４において、バス１００に、プロセッサ１１１とメモリ１１２と補助記憶装置１１３と通信インタフェース１１４と媒体接続部１１５と入力装置１１６と出力装置１１７とが接続される。
【００６４】
プロセッサ１１１は、メモリ１１２に展開されたプログラムを実行する。実行されるプログラムには、実施形態における処理を行うデータ移行管理プログラムが適用されてもよい。
【００６５】
メモリ１１２は、例えば、Random Access Memory(ＲＡＭ)である。補助記憶装置１１３は、種々の情報を記憶する記憶装置であり、例えばハードディスクドライブや半導体メモリ等が適用されてもよい。補助記憶装置１１３に実施形態の処理を行うデータ移行管理プログラムが記憶されていてもよい。
【００６６】
通信インタフェース１１４は、ＬＡＮ、ＷＡＮ等の通信ネットワークに接続され、通信に伴うデータ変換等を行う。
【００６７】
媒体接続部１１５は、可搬型記録媒体１１８が接続可能なインタフェースである。可搬型記録媒体１１８には、光学式ディスク（例えば、Compact Disc(ＣＤ)またはDigital Versatile Disc(ＤＶＤ)等)、半導体メモリ等が適用されてもよい。可搬型記録媒体１１８に実施形態の処理を行うデータ移行管理プログラムが記録されていてもよい。
【００６８】
入力装置１１６は、例えば、キーボード、ポインティングデバイス等であり、ユーザからの指示及び情報等の入力を受け付ける。
【００６９】
出力装置１１７は、例えば、表示装置、プリンタ、スピーカ等であり、ユーザへの問い合わせ又は指示、及び処理結果等を出力する。
【００７０】
図７に示す記憶部４６は、メモリ１１２、補助記憶装置１１３または可搬型記録媒体１１８等により実現されてもよい。図７における受信部４１、特定部４２、決定部４３、通知部４４、構築部４５、および制御部４７は、メモリ１１２に展開されたデータ移行プログラムをプロセッサ１１１が実行することにより実現されてもよい。
【００７１】
メモリ１１２、補助記憶装置１１３および可搬型記録媒体１１８は、コンピュータが読み取り可能であって非一時的な有形の記憶媒体であり、信号搬送波のような一時的な媒体ではない。
【００７２】
なお、第２管理サーバ４が図１５に示す全ての構成要素を含んでいなくてもよく、一部の構成要素が省略されていてもよい。また、一部の構成要素が第２管理サーバ４の外部装置に存在し、第２管理サーバ４が外部装置に接続して、外部装置内の構成要素を利用してもよい。また、第１管理サーバ２のハードウェア構成は、図１５に示すハードウェア構成と同様であるとする。
【００７３】
＜実施例＞
次に、図８〜図１１の情報を用いて、パッケージ１〜３のそれぞれに対する処理について説明する。まず、処理対象パッケージがパッケージ１である場合について説明する。図８に示すようにパッケージ１の可用リポジトリは、リポジトリ１およびリポジトリ３である。特定部４２は、図１０に示すリポジトリ管理情報を参照して、リポジトリ１およびリポジトリ３のうち、バックアップサーバ３との間の回線速度が速いリポジトリ１を特定する。決定部４３は、バックアップサーバ３とリポジトリ１との間の回線速度（５ＭＢ／Ｓ）と、バックアップサーバ３と運用サーバ１との間の回線速度（１ＭＢ／Ｓ）（図１１）とを比較する。バックアップサーバ３とリポジトリ１との間の回線速度（５ＭＢ／Ｓ）が速いため、決定部４３は、リポジトリ１からパッケージを取得することを決定する。
【００７４】
処理対象パッケージがパッケージ２である場合について説明する。図８に示すようにパッケージ２の可用リポジトリは、リポジトリ２およびリポジトリ３である。特定部４２は、図１０に示すリポジトリ管理情報を参照して、リポジトリ２およびリポジトリ３のうち、バックアップサーバ３との間の回線速度が速いリポジトリ２を特定する。決定部４３は、バックアップサーバ３とリポジトリ２との間の回線速度（０．２ＭＢ／Ｓ）と、バックアップサーバ３と運用サーバＡとの間の回線速度（１ＭＢ／Ｓ）（図１１）とを比較する。なお、運用サーバＡは、運用サーバ１の一例である。バックアップサーバ３と運用サーバ１との間の回線速度（１ＭＢ／Ｓ）が速いため、決定部４３は、運用サーバ１からパッケージを取得することを決定する。
【００７５】
処理対象パッケージがパッケージ３である場合について説明する。図８に示すようにパッケージ３の可用リポジトリは、リポジトリ３である。決定部４３は、バックアップサーバ３とリポジトリ３との間の回線速度（０ＭＢ／Ｓ）と、バックアップサーバ３と運用サーバ１との間の回線速度（１ＭＢ／Ｓ）（図１１）とを比較する。バックアップサーバ３と運用サーバ１との間の回線速度（１ＭＢ／Ｓ）が速いため、決定部４３は、運用サーバ１からパッケージを取得することを決定する。
【００７６】
＜第２の実施形態＞
以下、図面を参照して、第２の実施形態について説明する。図１６は、第２の実施形態のシステムの全体構成の一例を示す図である。第２の実施形態のシステムは、運用サイト１０と災害対策サイト２０とリポジトリサーバ６とを含む。運用サイト１０は、災害対策サイト２０と、ＷＡＮまたは専用回線を介して相互に通信を行うことができる。災害対策サイト２０は、運用サイト１０およびリポジトリサーバ６と、ＷＡＮまたは専用回線を介して相互に通信を行うことができる。
【００７７】
運用サイト１０は、クラウドサービスに使用される運用サーバ１と運用サーバ１を管理する第３管理サーバ７とを含む。運用サーバ１は、例えば、複数のユーザに使用されるＶＭが搭載されている。運用サイト１０は、複数の運用サーバ１を含んでいてもよい。第３管理サーバ７は、運用サーバ１とLocal Area Network（ＬＡＮ）等のネットワークを介して相互に通信を行うことができる。運用サーバ１は、第１装置の一例である。第３管理サーバ７は、例えば、クラウドコントローラである。運用サーバ１の機能構成は、図５に示す第１の実施形態の機能構成と同様であるとする。
【００７８】
災害対策サイト２０は、運用サイト１０と同様の構成を有するバックアップサーバ３と第４管理サーバ８とを含む。バックアップサーバ３は、例えば、運用サーバ１に障害が発生した場合に運用サーバ１の代わりに使用される。第４管理サーバ８は、コンピュータ、およびデータ移行管理装置の一例である。バックアップサーバ３は、第２装置の一例である。
【００７９】
リポジトリサーバ６は、運用サーバ１が有するデータと同一のデータをバックアップデータとして記憶する。リポジトリサーバ６は、例えば、仮想マシンに適用されるプログラム等の各種データを含むパッケージを記憶する。リポジトリサーバ６は、第３装置の一例である。
【００８０】
図１７は、バックアップ方法の第３の例を示す図である。第３の例において、第３管理サーバ７は、運用サーバ１のバックアップ対象のＶＭに関する全データについて、バックアップデータを取得する（４−１）。運用サーバ１のバックアップ方法は、フルバックアップまたは差分バックアップのいずれであってもよい。バックアップデータは、プログラムおよびユーザの固有データ（例えば、顧客データ）等を含む。第１管理サーバ２は、取得したバックアップデータを災害対策サイト２０の第４管理サーバ８に送信する（４−２）。第４管理サーバ８は、受信したデータに基づいて、バックアップサーバ３にＶＭを構築する（４−３）。
【００８１】
以上の処理により、第４管理サーバ８は、バックアップサーバ３に運用サーバ１内のＶＭと同様のＶＭを構築することができる。しかし、図１７に示す例では、図２に示す例と同様に、複数のＶＭに共通するプログラムがあったとしても、ＶＭ毎に全プログラムのバックアップを行うため、バックアップデータの量が多く、処理に時間がかかる。
【００８２】
図１８は、バックアップ方法の第４の例を示す図である。第４の例において、第３管理サーバ７は、複数のＶＭに共通で使用するデータ（プログラム等）を含むパッケージと、ユーザの固有データを区別して、バックアップデータとして取得する（５−１）。第３管理サーバ７は、複数のＶＭが共通で使用するパッケージが存在する場合、重複しないように取得する。第３管理サーバ７は、ＶＭのパッケージ構成やＯＳ設定等を含むテンプレートを更新する。
【００８３】
そして、第３管理サーバ７は、取得したパッケージと、テンプレートとを第２管理サーバ４に送信する（５−２）。また、第３管理サーバ７は、ユーザの固有データを第２管理サーバ４に送信する（５−３）。第４管理サーバ８は、受信したパッケージ、テンプレート、およびユーザの固有データに基づいて、バックアップサーバ３にＶＭを構築する（５−４）。
【００８４】
以上の処理により、第４管理サーバ８は、バックアップサーバ３に運用サーバ１内のＶＭと同様のパッケージ構成を有するＶＭを構築することができる。また、第３管理サーバ７は、複数のＶＭが共通で使用するパッケージが存在する場合、重複しないように取得し、第４管理サーバ８に送信するので、バックアップを効率化することができる。しかし、運用サイト１０と災害対策サイト２０の距離が遠い場合、パッケージの転送に時間がかかり、転送中の通信障害により転送が失敗するリスクが高まる。そして、例えば、上記５−２の処理と５−３の処理との間に通信障害が発生した場合、災害対策サイト２０のバックアップサーバ３を最新の状態にすることができない可能性がある。
【００８５】
図１９は、第２の実施形態におけるバックアップ方法の概要を示す例である。第２の実施形態において、第３管理サーバ７は、複数のＶＭに共通で使用するデータ（プログラム等）を含むパッケージと、ユーザの固有データを区別して、バックアップデータとして取得する（６−１）。第３管理サーバ７は、複数のＶＭが共通で使用するパッケージが存在する場合、重複しないように取得する。第３管理サーバ７は、ＶＭのパッケージ構成やＯＳ設定等を含むテンプレートを更新する。
【００８６】
そして、第３管理サーバ７は、取得したパッケージに関するパッケージ管理情報と、テンプレートとを第２管理サーバ４に送信する（６−２）。第４管理サーバ８は、テンプレートおよびパッケージ管理情報を参照し、バックアップ対象のパッケージがリポジトリサーバ６から取得可能か判定する。第４管理サーバ８は、リポジトリサーバ６から取得できないパッケージを示す情報を第３管理サーバ７に通知する（６−３）。第３管理サーバ７は、第４管理サーバ８がリポジトリサーバ６から取得できないパッケージを第４管理サーバ８に送信する（６−４）。
【００８７】
第４管理サーバ８は、第３管理サーバ７からパッケージを取得した後に、リポジトリサーバ６から取得可能なパッケージを取得する（６−５）。また、第３管理サーバ７は、ユーザの固有データを第２管理サーバ４に送信する（６−５）。第４管理サーバ８は、受信したパッケージ、テンプレート、およびユーザの固有データに基づいて、バックアップサーバ３にＶＭを構築する（６−７）。
【００８８】
以上の処理により、第４管理サーバ８は、バックアップサーバ３に運用サーバ１内のＶＭと同様のパッケージ構成を有するＶＭを構築することができる。第４管理サーバ８は、リポジトリサーバ６との間に通信障害等が発生した場合、リポジトリサーバ６から取得できないバックアップ対象のデータを、第３管理サーバ７を介して運用サーバ１から取得する。また、第４管理サーバ８は、第３管理サーバ７からパッケージを取得した後に、リポジトリサーバ６から取得可能なパッケージを取得する。すなわち、第３管理サーバ７からパッケージを優先的に取得するため、運用サイト１０と災害対策サイトの距離が遠く、回線障害等が発生しても、バックアップが失敗するリスクを軽減することができる。
【００８９】
図２０は、第３管理サーバ７の機能構成の一例を示す図である。第３管理サーバ７は、制御部７１と送信部７２と受信部７３と転送部７４と記憶部７５とを含む。
【００９０】
制御部７１は、運用サーバ１のパッケージの転送等に関する各種制御処理を行う。制御部７１は、例えば、バックアップ対象のＶＭ１３のテンプレート、およびバックアップ対象のパッケージに関するパッケージ管理情報を生成する。
【００９１】
送信部７２は、バックアップ対象のＶＭ１３のテンプレート、処理対象のパッケージに関するパッケージ管理情報、およびパッケージのバックアップ指示を第４管理サーバ８に送信する。テンプレートは、ＶＭ内に含まれるパッケージの識別情報、ＶＭ１３のＯＳの設定等を含む。パッケージ管理情報は、第１の実施形態におけるパッケージ管理情報（例えば、図８）と同様である。
【００９２】
受信部７３は、運用サーバ１からバックアップ対象のパッケージ、およびユーザの固有データを受信する。転送部７４は、処理対象のパッケージがリポジトリサーバ６から未取得であることを示す情報を、第４管理サーバ８から受信した場合、運用サーバ１から受信したバックアップ対象のパッケージを第４管理サーバ８に転送する。また、転送部７４は、運用サーバ１から受信したユーザの固有データを第４管理サーバ８に転送する。
【００９３】
記憶部７５は、パッケージに関する情報であるパッケージ管理情報と、転送待ちパッケージを記録する転送待ちパッケージリスト、転送済みのパッケージを記録する転送済みパッケージリストを記憶する。転送済みパッケージリストは、第１の実施形態における転送済みパッケージリスト（例えば、図９）と同様である。
【００９４】
図２１は、第４管理サーバ８の機能構成の一例を示す図である。第４管理サーバ８は、受信部８１と決定部８２と通知部８３と構築部８４と記憶部８５と制御部８６とを含む。
【００９５】
受信部８１は、運用サーバ１に記憶されたバックアップ対象のパッケージの識別情報と、そのパッケージと同一のパッケージを記憶するリポジトリサーバ６の識別情報と、パッケージのバックアップ指示を受信する。パッケージは、例えば、ＶＭ１３に適用されるプログラムのパッケージであり、第１データおよび第２データの一例である。なお、第１データおよび第２データは、パッケージに限られず、ユーザの固有データ等であってもよい。バックアップ対象のパッケージの識別情報は、例えば、ＶＭ１３のテンプレートに記録されている。パッケージを記憶するリポジトリサーバ６の識別情報は、例えば、パッケージ管理情報に可用リポジトリとして記録された識別情報である。受信部８１は、さらに、ユーザの固有データを第３管理サーバ７から受信する。
【００９６】
決定部８２は、バックアップ対象の複数のパッケージのうち、受信可能なパッケージをリポジトリサーバ６から受信し、リポジトリサーバ６から受信できないパッケージと同一のパッケージを運用サーバ１から受信することを決定する。例えば、通信障害等により、パッケージを記憶するリポジトリサーバ６との通信が困難である場合、決定部８２は、パッケージを運用サーバ１から受信することを決定する。なお、第２の実施形態では、運用サーバ１とバックアップサーバ３との間の距離よりリポジトリサーバと６バックアップサーバ３との間の距離の方が近いとする。
【００９７】
通知部８３は、決定部８３が処理対象のパッケージをリポジトリサーバ６から取得できないことを決定した場合、そのパッケージの識別情報とともに、そのパッケージをリポジトリサーバ６から取得できないことを第３管理サーバ７に通知する。
【００９８】
構築部８４は、第３管理サーバ７を介して運用サーバ１から受信したパッケージ、リポジトリサーバ６から受信したパッケージ、およびユーザの固有データを用いて、バックアップサーバ３に仮想マシン（ＶＭ１３）を構築する。
【００９９】
記憶部８５は、第１の実施形態の記憶部４６と同様に、リポジトリサーバ６との間の回線速度を含むリポジトリ管理情報（例えば、図１０）、運用サイト１０と災害対策サイト２０との間の回線速度（例えば、図１１）を記憶する。記憶部８５は、さらに、取得予定のパッケージを示すパッケージ取得リストを記憶する。また、記憶部４６は、第１管理サーバ２またはリポジトリサーバ６から受信したパッケージ、およびユーザの固有データを一時的に記憶する。
【０１００】
制御部８６は、第３管理サーバから受信したテンプレートに基づいて、転送対象となるパッケージの転送順番を制御する。また、パッケージの転送状況に応じて、パッケージ取得リストの情報を編集する。
【０１０１】
図２２は、転送待ちパッケージリストの一例を示す図である。転送待ちパッケージリストは、第３管理サーバ７の記憶部７５に記憶される。制御部７１は、処理対象のパッケージをリポジトリサーバ６から取得できないことを示す通知を、第４管理サーバ８から受信した場合、そのパッケージの識別情報を転送待ちパッケージリストに追加する。制御部７１は、転送待ちパッケージリスト内のパッケージを第４管理サーバ８に転送した場合、転送したパッケージの識別情報を転送待ちパッケージリストから削除する。
【０１０２】
図２３は、パッケージ取得リストの一例を示す図である。制御部８６は、例えば、第３管理サーバから受信したテンプレートに基づいて、取得予定のパッケージの識別情報とハッシュ値を記録する。また、決定部８２は、処理対象のパッケージをリポジトリサーバ６から取得するか運用サーバ１から取得するかを決定した場合、決定に応じた取得先を記録する。また、取得状況の初期設定は、「未」であり、制御部８６は、パッケージを取得した場合、そのパッケージ取得状況を「済」に変更する。
【０１０３】
図２４は、第２の実施形態における第３管理サーバ７の処理の一例を示すフローチャートである。なお、第３管理サーバ７は、例えば、ユーザの指示に応じて図２４に示す処理を実行する。また、第３管理サーバ７は、運用サーバ１のプログラム更新が行われる前後に、図２４に示す処理を自動実行してもよい。
【０１０４】
制御部７１は、運用サーバ１内のＶＭ１３のうち、バックアップ対象のＶＭ１３に関して後述のステップＳ４０２〜Ｓ４０５の処理が完了したか判定する（ステップＳ４０１）。ステップＳ４０１でＮＯの場合、制御部７１は、バックアップ対象のＶＭ１３のうちの一つを選択する（ステップＳ４０２）。送信部７２は、バックアップ対象のＶＭ１３のテンプレートとともにパッケージのバックアップ指示を第４管理サーバ８に送信する（ステップＳ４０３）。なお、制御部７１は、テンプレートを送信する前に、最新の状態に更新する。
【０１０５】
制御部７１は、バックアップ対象のＶＭ１３内の全パッケージの転送処理が完了したか判定する（ステップＳ４０４）。ステップＳ４０４でＮＯの場合、第３管理サーバ７は、パッケージ転送処理を実行する（ステップＳ４０５）。ステップＳ４０５の処理は、バックアップ対象のＶＭ１３内のパッケージ毎に実行される。ステップＳ４０５について、詳細は後述する。
【０１０６】
ステップＳ４０４でＹＥＳの場合、処理は、ステップＳ４０１に移行する。ステップＳ４０１でＹＥＳの場合、第３管理サーバ７の処理は終了する。
【０１０７】
図２５は、第２の実施形態における第３管理サーバ７のパッケージ転送処理の詳細を示すフローチャートである。図２５に示す処理は、図２４のステップＳ４０５の処理の詳細である。制御部７１は、処理対象のパッケージが転送済みか判定する（ステップＳ５０１）。処理対象のパッケージは、テンプレートに含まれるパッケージであり、バックアップ対象のパッケージである。制御部７１は、例えば、処理対象のパッケージが転送済みパッケージリスト（例えば、図９）に存在するか判定する。
【０１０８】
ステップＳ５０１でＮＯの場合、送信部７２は、処理対象のパッケージに関するパッケージ管理情報を、第４管理サーバ８に送信する（ステップＳ５０２）。送信部７２は、例えば、図８に示す情報のうち、処理対象のパッケージに対応付けられた可用リポジトリを示す情報を第２管理サーバ４に送信する。すなわち、送信部７２は、処理対象のパッケージと同一のパッケージを記憶するリポジトリサーバ６の識別情報を送信する。
【０１０９】
制御部７１は、処理対象のパッケージをリポジトリサーバ６から取得できないことを示す通知を、第４管理サーバ８から受信した場合（ステップＳ５０３でＹＥＳ）、制御部７１は、そのパッケージの識別情報を転送待ちパッケージリストに追加する（ステップＳ５０４）。転送部７４は、処理対象のパッケージを第４管理サーバ８に転送する（ステップＳ５０５）。制御部７１は、転送したパッケージの識別情報を転送待ちパッケージリストから削除する（ステップＳ５０６）。ステップＳ５０６の処理後、またはステップＳ５０３でＮＯの場合、制御部７１は、転送したパッケージの識別情報を転送済みパッケージリストに追加する（ステップＳ５０７）。ステップＳ５０７の処理後、またはステップＳ５０１でＹＥＳの場合、第３管理サーバ７は、パッケージ転送処理を終了する。
【０１１０】
図２６は、第２の実施形態における第４管理サーバ８の処理の一例を示すフローチャートである。受信部８１は、処理対象のＶＭのテンプレートおよびパッケージのバックアップ指示を第３管理サーバ７から受信する（ステップＳ６０１）。ステップＳ６０１で受信する処理対象のＶＭのテンプレートは、図２４のステップＳ４０３で第３管理サーバ７が送信したテンプレートである。
【０１１１】
制御部８６は、受信したテンプレートに記録された全パッケージの処理が完了したか判定する（ステップＳ６０２）。ステップＳ６０２でＮＯの場合、受信部８１は、処理対象のパッケージに関するパッケージ管理情報を受信する（ステップＳ６０３）。受信部８１が受信するパッケージ管理情報は、図２５のステップＳ５０２で第３管理サーバ７が送信した情報である。
【０１１２】
制御部８６は、パッケージ管理情報を参照し、処理対象のパッケージに対応付けられた可用リポジトリが存在するか判定する（ステップＳ６０４）。ステップＳ６０４でＹＥＳの場合、決定部８２は、処理対象のパッケージがリポジトリサーバ６から取得可能か判定する（ステップＳ６０５）。決定部８２は、例えば、リポジトリ管理情報（例えば、図１０）において、リポジトリサーバ６の回線速度が０ＭＢ／Ｓでない場合、そのリポジトリサーバ６から取得可能であると判定する。
【０１１３】
ステップＳ６０５でＹＥＳの場合、決定部８２は、処理対象のパッケージをリポジトリサーバ６から取得することを決定する（ステップＳ６０６）。この場合、決定部４３は、パッケージ取得リスト（図２３）に、処理対象のパッケージの取得先として「リポジトリサーバ」と記録する。ステップＳ６０４でＮＯの場合、またはステップＳ６０５でＮＯの場合、決定部８２は、処理対象のパッケージを運用サーバ１から取得することを決定する（ステップＳ６０７）。この場合、決定部８２は、パッケージ取得リスト（図２３）に、処理対象のパッケージの取得先として「運用サーバ」と記録する。そして、通知部８３は、処理対象のパッケージの識別情報とともにそのパッケージをリポジトリサーバ６から取得しないことを第３管理サーバ７に通知する（ステップＳ６０８）。ステップＳ６０８が実行された場合、図２５のステップＳ５０５の処理により、第３管理サーバ７からパッケージが転送される。
【０１１４】
ステップＳ６０６、またはＳ６０８の処理後、処理はステップＳ６０２に戻る。ステップＳ６０２でＹＥＳの場合、制御部８６は、運用サーバ１から取得することが決定された全パッケージを、運用サーバ１から第３管理サーバ７を介して取得したかを判定する（ステップＳ６０９）。制御部８６は、例えば、パッケージ取得リスト（図２３）で「運用サーバ」と記録されている全パッケージを取得したか判定する。第４管理サーバ８は、パッケージ取得リストで「運用サーバ」と記録されているパッケージが存在しない場合、ステップＳ６０９の処理を省略してもよい。制御部８６は、運用サーバから取得することが決定された全パッケージを取得するまで、待機する。
【０１１５】
ステップＳ６０９でＹＥＳの場合、受信部８１は、リポジトリサーバ６から取得すると決定されたパッケージを、リポジトリサーバ６から受信する（ステップＳ６１０）。受信部８１は、例えば、パッケージ取得リストを参照し、「リポジトリサーバ」と記録されているパッケージを受信する。また、受信部８１は、第３管理サーバ７から、ユーザの固有データを受信する（ステップＳ６１１）。構築部８４は、受信したパッケージおよびユーザの固有データを用いて、バックアップサーバ３に仮想マシン（ＶＭ１３）を構築する（ステップＳ６１２）。
【０１１６】
以上のように、第２の実施形態の第４管理サーバ８は、運用サーバ１とリポジトリサーバ６の両方からパッケージを取得する場合、リポジトリサーバ６からパッケージを取得した後に、運用サーバ１からパッケージを取得する。これにより、第４管理サーバ８は、通信障害等により、リポジトリサーバ６より遠い距離に存在する運用サーバ１からのパッケージ取得が失敗し、バックアップが失敗するリスクを軽減することができる。
【０１１７】
なお、第３管理サーバ７および第４管理サーバ８のハードウェア構成は、図１５に示す例と同様である。
【０１１８】
本実施形態は、以上に述べた実施の形態に限定されるものではなく、本実施形態の要旨を逸脱しない範囲内で様々な変更、追加、省略が適用可能である。
【０１１９】
以上の第１の実施形態および第２の実施形態に関し、更に以下の付記を開示する。
（付記１）
第１装置に記憶された第１データを第２装置に移行させる指示を受け付けた場合、前記第１データと同一の第２データを記憶している第３装置を示す情報を参照し、移行対象の前記第１データと同一の第２データを記憶している第３装置を特定する特定部と、
前記第１装置と前記第２装置との間の回線速度と、前記第２装置と特定された前記第３装置との間の回線速度とに基づいて、前記第１データと前記第２データとのうちのどちらを前記第２装置に移行させるかを決定する決定部と  を備えることを特徴とするデータ移行管理装置。
（付記２）
前記特定部は、前記第２データを記憶している前記第３装置が複数存在する場合、前記複数の第３装置のうち、前記第２装置との間の回線速度が最速である前記第３装置を特定する
ことを特徴とする付記１記載のデータ移行管理装置。
（付記３）
前記第１データまたは前記第２データを用いて、前記第２装置に仮想マシンを構築する構築部をさらに備える
ことを特徴とする付記１または２記載のデータ移行管理装置。
（付記４）
第１装置に記憶された第１データを第２装置に移行させる指示を受け付けた場合、前記第１データと同一の第２データを記憶している第３装置を示す情報を参照し、移行対象の前記第１データと同一の第２データを記憶している第３装置を特定し、
前記第１装置と前記第２装置との間の回線速度と、前記第２装置と特定された前記第３装置との間の回線速度とに基づいて、前記第１データと前記第２データとのうちのどちらを前記第２装置に移行させるかを決定する
処理をコンピュータに実行させるためのデータ移行管理プログラム。
（付記５）
コンピュータが、
第１装置に記憶された第１データを第２装置に移行させる指示を受け付けた場合、前記第１データと同一の第２データを記憶している第３装置を示す情報を参照し、移行対象の前記第１データと同一の第２データを記憶している第３装置を特定し、
前記第１装置と前記第２装置との間の回線速度と、前記第２装置と特定された前記第３装置との間の回線速度とに基づいて、前記第１データと前記第２データとのうちのどちらを前記第２装置に移行させるかを決定する
処理を実行することを特徴とするデータ移行管理方法。
（付記６）
第１データを記憶する第１装置と第２装置との間の距離より、前記第１データと同一の第２データを記憶する第３装置と第２装置との間の距離が近い場合、複数の前記第２データのうち、受信可能な前記第２データを前記第３装置から受信し、前記第３装置から受信しない前記第２データと同一の前記第１データを前記第１装置から受信することを決定する決定部と、
前記第３装置から受信しない前記第２データを示す識別情報を前記第１装置に通知する通知部と、
前記第１データを前記第１装置から受信した後に、第２データを前記第３装置から受信する受信部と、を備える
ことを特徴とするデータ移行管理装置。
（付記７）
第１データを記憶する第１装置と第２装置との間の距離より、前記第１データと同一の第２データを記憶する第３装置と第２装置との間の距離が近い場合、複数の前記第２データのうち、受信可能な前記第２データを前記第３装置から受信し、前記第３装置から受信しない前記第２データと同一の前記第１データを前記第１装置から受信することを決定し、
前記第３装置から受信しない前記第２データを示す識別情報を前記第１装置に通知し、
前記第１データを前記第１装置から受信した後に、第２データを前記第３装置から受信する
処理をコンピュータに実行させるためのデータ移行管理プログラム。
（付記８）
コンピュータが、
第１データを記憶する第１装置と第２装置との間の距離より、前記第１データと同一の第２データを記憶する第３装置と第２装置との間の距離が近い場合、複数の前記第２データのうち、受信可能な前記第２データを前記第３装置から受信し、前記第３装置から受信しない前記第２データと同一の前記第１データを前記第１装置から受信することを決定し、
前記第３装置から受信しない前記第２データを示す識別情報を前記第１装置に通知し、
前記第１データを前記第１装置から受信した後に、第２データを前記第３装置から受信する
処理を実行することを特徴とするデータ移行管理方法。
【符号の説明】
【０１２０】
１    運用サーバ
２    第１管理サーバ
３    バックアップサーバ
４    第２管理サーバ
５    データサーバ
６    リポジトリサーバ
７    第３管理サーバ
８    第４管理サーバ
１０    運用サイト
１１    ホストＯＳ
１２    管理エージェント
１３    ＶＭ
２０    災害対策サイト
２１    制御部
２２    送信部
２３    受信部
２４    転送部
２５    記憶部
４１    受信部
４２    特定部
４３    決定部
４４    通知部
４５    構築部
４６    記憶部
４７    制御部
１００    バス
１１１    プロセッサ
１１２    メモリ
１１３    補助記憶装置
１１４    通信インタフェース
１１５    媒体接続部
１１６    入力装置
１１７    出力装置
１１８    可搬型記録媒体
【図１】
2020135049.tif 000003
【図２】
2020135049.tif 000004
【図３】
2020135049.tif 000005
【図４】
2020135049.tif 000006
【図５】
2020135049.tif 000007
【図６】
2020135049.tif 000008
【図７】
2020135049.tif 000009
【図８】
2020135049.tif 000010
【図９】
2020135049.tif 000011
【図１０】
2020135049.tif 000012
【図１１】
2020135049.tif 000013
【図１２】
2020135049.tif 000014
【図１３】
2020135049.tif 000015
【図１４】
2020135049.tif 000016
【図１５】
2020135049.tif 000017
【図１６】
2020135049.tif 000018
【図１７】
2020135049.tif 000019
【図１８】
2020135049.tif 000020
【図１９】
2020135049.tif 000021
【図２０】
2020135049.tif 000022
【図２１】
2020135049.tif 000023
【図２２】
2020135049.tif 000024
【図２３】
2020135049.tif 000025
【図２４】
2020135049.tif 000026
【図２５】
2020135049.tif 000027
【図２６】
2020135049.tif 000028