(57)【要約】【課題】ネットワークリソースと計算機リソースを統合的に管理し、サービスの提供に最適なシステムの構成に迅速に変更する。【解決手段】管理計算機と、ネットワークを介して接続される複数の計算機とを備える計算機システムであって、計算機システムは仮想計算機リソースを用いたサービスを提供し、管理計算機は、計算機システムの構成を変更する契機を検出し、切替処理を実行する必要がある場合、現在使用している通信経路とは異なる新規通信経路を検索し、移動処理を実行する必要がある場合、移動処理の対象の仮想計算機リソースを管理する新規計算機を検索して、移動処理の対象の仮想計算機リソースを現在管理する計算機と新規計算機とを接続する通信経路である移動経路を検索し、切替処理が移動処理に影響を与えるか否かを判定し、判定の結果に基づいて切替処理及び移動処理の実行順番を決定する。【選択図】図３
2015216572.tif 000002
【特許請求の範囲】
【請求項１】
管理計算機と、ネットワークを介して接続される複数の計算機とを備える計算機システムであって、
前記ネットワークは、複数のネットワーク装置を含み、
前記計算機は、第１のプロセッサ、前記第１のプロセッサに接続される第１のメモリ、前記第１のプロセッサに接続される第１の記憶装置、及び前記第１のプロセッサに接続される第１のネットワークインタフェースを有し、
前記管理計算機は、第２のプロセッサ、前記第２のプロセッサに接続される第２のメモリ、前記第２のプロセッサに接続される第２の記憶装置、及び前記第２のプロセッサに接続される第２のネットワークインタフェースを有し、
前記ネットワーク装置は、第３のプロセッサ、前記第３のプロセッサに接続される第３のメモリ、及び前記第３のプロセッサに接続される第３のネットワークインタフェースを有し、
前記計算機は、当該計算機が有する計算機リソースを分割することによって仮想計算機リソースを生成する仮想化管理部を有し、
前記計算機システムは、前記仮想計算機リソースを用いたサービスを提供し、
前記管理計算機は、
前記計算機システムの構成を変更する契機を検出し、
前記仮想計算機リソースに接続する通信経路を変更する切替処理を実行する必要がある場合、現在使用している通信経路とは異なる新規通信経路を検索し、
前記仮想計算機リソースを管理する計算機を変更する移動処理を実行する必要がある場合、移動処理の対象の仮想計算機リソースを管理する新規計算機を検索して、前記移動処理の対象の仮想計算機リソースを現在管理する計算機と前記新規計算機とを接続する通信経路である移動経路を検索し、
前記新規通信経路と前記移動経路とを比較することによって、前記切替処理が前記移動処理に影響を与えるか否かを判定し、
前記判定の結果に基づいて前記切替処理及び前記移動処理の実行順番を決定し、
前記決定された実行順番に基づいて前記切替処理及び前記移動処理を実行して、前記計算機及び前記ネットワーク装置の設定を変更することを特徴とする計算機システム。
【請求項２】
請求項１に記載の計算機システムであって、
前記管理計算機は、
前記複数の計算機の計算機リソースを管理する計算機リソース管理情報と、
前記仮想計算機リソースを管理する前記計算機、及び前記仮想計算機リソースの構成を管理する仮想リソース管理情報と、
前記ネットワークのリソースを管理するネットワークリソース管理情報と、
前記計算機、及び前記ネットワーク装置の接続関係を管理するトポロジ管理情報と、を保持し、
前記仮想リソース管理情報、前記ネットワークリソース管理情報、及び前記トポロジ管理情報に基づいて前記新規通信経路を検索し、
前記新規通信経路の情報を第１の経路情報として保持し、
前記計算機リソース管理情報、及び前記仮想リソース管理情報に基づいて、前記新規計算機を検索し、
前記トポロジ管理情報に基づいて前記移動処理の対象の仮想計算機リソースを現在管理する計算機と前記新規計算機とを接続する移動経路を検索し、
前記移動経路の情報を第２の経路情報として保持し、
前記第１の経路情報及び前記第２の経路情報を比較して、前記新規通信経路に前記移動経路と重複する経路が含まれるか否かを判定し、
前記新規通信経路に前記移動経路と重複する経路が含まれると判定された場合、前記移動処理を前記切替処理の前に実行することを決定し、
前記移動処理が完了した後に、前記切替処理を実行することを特徴とする計算機システム。
【請求項３】
請求項１に記載の計算機システムであって、
前記管理計算機は、
前記複数の計算機の計算機リソースを管理する計算機リソース管理情報と、
前記仮想計算機リソースを管理する前記計算機、及び前記仮想計算機リソースの構成を管理する仮想リソース管理情報と、
前記ネットワークのリソースを管理するネットワークリソース管理情報と、
前記計算機、及び前記ネットワーク装置の接続関係を管理するトポロジ管理情報と、を保持し、
前記ネットワークリソース管理情報は、前記仮想計算機リソースとの通信に使用される帯域の情報を含み、
前記トポロジ管理情報は、前記計算機及び前記ネットワーク装置を接続する通信経路の最大帯域の情報を含み、
前記管理計算機は、
前記仮想リソース管理情報、前記ネットワークリソース管理情報、及び前記トポロジ管理情報に基づいて前記新規通信経路を検索し、
前記新規通信経路の情報を第１の経路情報として保持し、
前記計算機リソース管理情報、及び前記仮想リソース管理情報に基づいて、前記新規計算機を検索し、
前記仮想リソース管理情報、前記ネットワークリソース管理情報、及び前記トポロジ管理情報に基づいて前記移動処理の対象の仮想計算機リソースを現在管理する計算機と前記新規計算機とを接続する移動経路を検索し、
前記移動経路の情報を第２の経路情報として保持し、
前記第１の経路情報及び前記第２の経路情報を比較して、前記新規通信経路に前記移動経路と重複する経路が含まれるか否かを判定し、
前記新規通信経路に前記移動経路と重複する経路が含まれると判定された場合、前記第１の経路情報、前記ネットワークリソース管理情報、及び前記トポロジ管理情報に基づいて、前記切替処理が実行後の前記重複する経路の推定使用可能帯域を算出し、
前記推定使用可能帯域が閾値より大きいか否かを判定し、
前記推定使用可能帯域が前記閾値以下であると判定された場合、前記移動処理を前記切替処理の前に実行することを決定し、
前記移動処理が完了した後に、前記切替処理を実行することを特徴とする計算機システム。
【請求項４】
請求項２又は請求項３に記載の計算機システムであって、
前記計算機システムでは、複数の前記仮想計算機リソースが管理され、
前記管理計算機は、前記移動処理の対象の仮想計算機リソースを選択するための優先度を算出するための算出情報を保持し、
前記管理計算機は、
前記計算機システムの構成を変更する契機を検出した場合に、前記仮想リソース管理情報及び前記ネットワークリソース管理情報に基づいて、処理の対象となる複数の仮想計算機リソースを特定し、
前記ネットワークリソース管理情報及び前記トポロジ管理情報に基づいて、前記新規通信経路の使用可能帯域を算出し、
前記ネットワークリソース管理情報に基づいて、前記特定された各仮想計算機リソースとの通信に使用される帯域の合計値を算出し、
前記新規通信経路の使用可能帯域が前記合計値より小さいか否かを判定し、
前記新規通信経路の使用可能帯域が前記合計値より小さいと判定された場合、前記計算機リソース管理情報、前記仮想リソース管理情報、及び前記ネットワークリソース管理情報の少なくともいずれかに基づいて前記優先度を算出し、
前記優先度に基づいて、前記特定された複数の仮想計算機リソースの中から、前記移動処理の対象の仮想計算機リソースを選択することを特徴とする計算機システム。
【請求項５】
請求項４に記載の計算機システムであって、
前記管理計算機は、前記合計値から、前記移動処理の対象として選択された仮想計算機リソースとの通信に使用される帯域を減算することによって前記合計値を更新し、
前記新規通信経路の使用可能帯域が前記更新された合計値以上となるまで、前記移動処理の対象となる前記仮想計算機リソースを選択することを特徴とする計算機システム。
【請求項６】
請求項５に記載の計算機システムであって、
前記複数の計算機は、
前記計算機リソースを用いて生成された仮想計算機が稼働する物理サーバと、
前記計算機リソースを用いて生成された仮想的な記憶領域を提供するストレージシステムと、を含み、
前記仮想計算機リソースは、前記仮想計算機及び前記仮想的な記憶領域の少なくともいずれかであることを特徴とする計算機システム。
【請求項７】
管理計算機と、ネットワークを介して接続される複数の計算機とを備える計算機システムの管理方法であって、
前記ネットワークは、複数のネットワーク装置を含み、
前記計算機は、第１のプロセッサ、前記第１のプロセッサに接続される第１のメモリ、前記第１のプロセッサに接続される第１の記憶装置、及び前記第１のプロセッサに接続される第１のネットワークインタフェースを有し、
前記管理計算機は、第２のプロセッサ、前記第２のプロセッサに接続される第２のメモリ、前記第２のプロセッサに接続される第２の記憶装置、及び前記第２のプロセッサに接続される第２のネットワークインタフェースを有し、
前記ネットワーク装置は、第３のプロセッサ、前記第３のプロセッサに接続される第３のメモリ、及び前記第３のプロセッサに接続される第３のネットワークインタフェースを有し、
前記計算機は、当該計算機が有する計算機リソースを分割することによって仮想計算機リソースを生成する仮想化管理部を有し、
前記計算機システムは、前記仮想計算機リソースを用いたサービスを提供し、
前記計算機システムの管理方法は、
前記管理計算機が、前記計算機システムの構成を変更する契機を検出する第１のステップと、
前記管理計算機が、前記仮想計算機リソースに接続する通信経路を変更する切替処理を実行する必要がある場合、現在使用している通信経路とは異なる新規通信経路を検索する第２のステップと、
前記管理計算機が、前記仮想計算機リソースを管理する計算機を変更する移動処理を実行する必要がある場合、移動処理の対象の仮想計算機リソースを管理する新規計算機を検索して、前記移動処理の対象の仮想計算機リソースを現在管理する計算機と前記新規計算機とを接続する通信経路である移動経路を検索する第３のステップと、
前記管理計算機が、前記新規通信経路と前記移動経路とを比較することによって、前記切替処理が前記移動処理に影響を与えるか否かを判定する第４のステップと、
前記管理計算機が、前記判定の結果に基づいて前記切替処理及び前記移動処理の実行順番を決定する第５のステップと、
前記管理計算機が、前記決定された実行順番に基づいて前記切替処理及び前記移動処理を実行して、前記計算機及び前記ネットワーク装置の設定を変更する第６のステップと、を含むことを特徴とする計算機システムの管理方法。
【請求項８】
請求項７に記載の計算機システムの管理方法であって、
前記管理計算機は、
前記複数の計算機の計算機リソースを管理する計算機リソース管理情報と、
前記仮想計算機リソースを管理する前記計算機、及び前記仮想計算機リソースの構成を管理する仮想リソース管理情報と、
前記ネットワークのリソースを管理するネットワークリソース管理情報と、
前記計算機、及び前記ネットワーク装置の接続関係を管理するトポロジ管理情報と、を保持し、
前記第２のステップは、
前記仮想リソース管理情報、前記ネットワークリソース管理情報、及び前記トポロジ管理情報に基づいて前記新規通信経路を検索するステップと、
前記新規通信経路の情報を第１の経路情報として保持するステップと、を含み、
前記第３のステップは、
前記計算機リソース管理情報、及び前記仮想リソース管理情報に基づいて、前記新規計算機を検索するステップと、
前記トポロジ管理情報に基づいて前記移動処理の対象の仮想計算機リソースを現在管理する計算機と前記新規計算機とを接続する移動経路を検索するステップと、
前記移動経路の情報を第２の経路情報として保持するステップと、を含み、
前記第４のステップは、前記第１の経路情報及び前記第２の経路情報を比較して、前記新規通信経路に前記移動経路と重複する経路が含まれるか否かを判定するステップを含み、
前記第５のステップは、前記新規通信経路に前記移動経路と重複する経路が含まれると判定された場合、前記移動処理を前記切替処理の前に実行することを決定するステップを含み、
前記第６のステップは、前記移動処理が完了した後に、前記切替処理を実行するステップを含むことを特徴とする計算機システムの管理方法。
【請求項９】
請求項７に記載の計算機システムの管理方法であって、
前記管理計算機は、
前記複数の計算機の計算機リソースを管理する計算機リソース管理情報と、
前記仮想計算機リソースを管理する前記計算機、及び前記仮想計算機リソースの構成を管理する仮想リソース管理情報と、
前記ネットワークのリソースを管理するネットワークリソース管理情報と、
前記計算機、及び前記ネットワーク装置の接続関係を管理するトポロジ管理情報と、を保持し、
前記ネットワークリソース管理情報は、前記仮想計算機リソースとの通信に使用される帯域の情報を含み、
前記トポロジ管理情報は、前記計算機及び前記ネットワーク装置を接続する通信経路の最大帯域の情報を含み、
前記第２のステップは、
前記仮想リソース管理情報、前記ネットワークリソース管理情報、及び前記トポロジ管理情報に基づいて前記新規通信経路を検索するステップと、
前記新規通信経路の情報を第１の経路情報として保持するステップと、を含み、
前記第３のステップは、
前記計算機リソース管理情報、及び前記仮想リソース管理情報に基づいて、前記新規計算機を検索するステップと、
前記仮想リソース管理情報、前記ネットワークリソース管理情報、及び前記トポロジ管理情報に基づいて前記移動処理の対象の仮想計算機リソースを現在管理する計算機と前記新規計算機とを接続する移動経路を検索するステップと、
前記移動経路の情報を第２の経路情報として保持するステップと、を含み、
前記第４のステップは、
前記第１の経路情報及び前記第２の経路情報を比較して、前記新規通信経路に前記移動経路と重複する経路が含まれるか否かを判定するステップと、
前記新規通信経路に前記移動経路と重複する経路が含まれると判定された場合、前記第１の経路情報、前記ネットワークリソース管理情報、及び前記トポロジ管理情報に基づいて、前記切替処理が実行後の前記重複する経路の推定使用可能帯域を算出するステップと、
前記推定使用可能帯域が閾値より大きいか否かを判定するステップと、を含み、
前記第５のステップは、前記推定使用可能帯域が前記閾値以下であると判定された場合、前記移動処理を前記切替処理の前に実行することを決定するステップを含み、
前記第６のステップは、前記移動処理が完了した後に、前記切替処理を実行するステップを含むことを特徴とする計算機システムの管理方法。
【請求項１０】
請求項８又は請求項９に記載の計算機システムの管理方法であって、
前記計算機システムでは、複数の前記仮想計算機リソースが管理され、
前記管理計算機は、前記移動処理の対象の仮想計算機リソースを選択するための優先度を算出するための算出情報を保持し、
前記第２のステップは、
前記仮想リソース管理情報及び前記ネットワークリソース管理情報に基づいて、処理の対象となる複数の仮想計算機リソースを特定するステップと、
前記ネットワークリソース管理情報及び前記トポロジ管理情報に基づいて、前記新規通信経路の使用可能帯域を算出するステップと、
前記ネットワークリソース管理情報に基づいて、前記特定された各仮想計算機リソースとの通信に使用される帯域の合計値を算出するステップと、
前記新規通信経路の使用可能帯域が前記合計値より小さいか否かを判定するステップと、を含み
前記第３のステップは、
前記新規通信経路の使用可能帯域が前記合計値より小さいと判定された場合、前記計算機リソース管理情報、前記仮想リソース管理情報、及び前記ネットワークリソース管理情報の少なくともいずれかに基づいて前記優先度を算出する第７のステップと、
前記優先度に基づいて、前記特定された複数の仮想計算機リソースの中から、前記移動処理の対象の仮想計算機リソースを選択する第８のステップと、を含むことを特徴とする計算機システムの管理方法。
【請求項１１】
請求項１０に記載の計算機システムの管理方法であって、
前記第８のステップは、
前記合計値から、前記移動処理の対象として選択された仮想計算機リソースとの通信に使用される帯域を減算することによって前記合計値を更新するステップと、
前記新規通信経路の使用可能帯域が前記更新された合計値以上となるまで、前記優先度に基づいて、前記移動処理の対象となる前記仮想計算機リソースを選択することを特徴とする計算機システムの管理方法。
【請求項１２】
請求項１１に記載の計算機システムの管理方法であって、
前記複数の計算機は、
前記計算機リソースを用いて生成された仮想計算機が稼働する物理サーバと、
前記計算機リソースを用いて生成された仮想的な記憶領域を提供するストレージシステムと、を含み、
前記仮想計算機リソースは、前記仮想計算機及び前記仮想的な記憶領域の少なくともいずれかであることを特徴とする計算機システムの管理方法。
【請求項１３】
ネットワークを介して接続される複数の計算機を含む計算機システムを管理する管理計算機であって、
前記ネットワークは、複数のネットワーク装置を含み、
前記管理計算機は、プロセッサ、前記プロセッサに接続されるメモリ、前記プロセッサに接続される記憶装置、及び前記プロセッサに接続されるネットワークインタフェースを有し、
前記計算機システムは、前記計算機が有する計算機リソースを分割することによって生成された仮想計算機リソースを用いたサービスを提供し、
前記管理計算機は、
前記計算機システムの構成を変更する契機を検出し、
前記仮想計算機リソースに接続する通信経路を変更する切替処理を実行する必要がある場合、現在使用している通信経路とは異なる新規通信経路を検索し、
前記仮想計算機リソースを管理する計算機を変更する移動処理を実行する必要がある場合、移動処理の対象の仮想計算機リソースを管理する新規計算機を検索して、前記移動処理の対象の仮想計算機リソースを現在管理する計算機と前記新規計算機とを接続する通信経路である移動経路を検索し、
前記新規通信経路と前記移動経路とを比較することによって、前記切替処理が前記移動処理に影響を与えるか否かを判定し、
前記判定の結果に基づいて前記切替処理及び前記移動処理の実行順番を決定し、
前記決定された実行順番に基づいて前記切替処理及び前記移動処理を実行して、前記計算機及び前記ネットワーク装置の設定を変更することを特徴とする管理計算機。
【請求項１４】
請求項１３に記載の管理計算機であって、
前記複数の計算機の計算機リソースを管理する計算機リソース管理情報と、
前記仮想計算機リソースを管理する前記計算機、及び前記仮想計算機リソースの構成を管理する仮想リソース管理情報と、
前記ネットワークのリソースを管理するネットワークリソース管理情報と、
前記計算機、及び前記ネットワーク装置の接続関係を管理するトポロジ管理情報と、を保持し、
前記ネットワークリソース管理情報は、前記仮想計算機リソースとの通信に使用される帯域の情報を含み、
前記トポロジ管理情報は、前記計算機及び前記ネットワーク装置を接続する通信経路の最大帯域の情報を含み、
管理計算機は、
前記仮想リソース管理情報、前記ネットワークリソース管理情報、及び前記トポロジ管理情報に基づいて前記新規通信経路を検索し、
前記新規通信経路の情報を第１の経路情報として保持し、
前記計算機リソース管理情報、及び前記仮想リソース管理情報に基づいて、前記新規計算機を検索し、
前記仮想リソース管理情報、前記ネットワークリソース管理情報、及び前記トポロジ管理情報に基づいて前記移動処理の対象の仮想計算機リソースを現在管理する計算機と前記新規計算機とを接続する移動経路を検索し、
前記移動経路の情報を第２の経路情報として保持し、
前記第１の経路情報及び前記第２の経路情報を比較して、前記新規通信経路に前記移動経路と重複する経路が含まれるか否かを判定し、
前記新規通信経路に前記移動経路と重複する経路が含まれると判定された場合、前記第１の経路情報、前記ネットワークリソース管理情報、及び前記トポロジ管理情報に基づいて、前記切替処理が実行後の前記重複する経路の推定使用可能帯域を算出し、
前記推定使用可能帯域が閾値より大きいか否かを判定し、
前記推定使用可能帯域が前記閾値以下であると判定された場合、前記移動処理を前記切替処理の前に実行することを決定し、
前記移動処理が完了した後に、前記切替処理を実行することを特徴とする管理計算機。
【請求項１５】
請求項１４に記載の管理計算機であって、
前記計算機システムでは、複数の前記仮想計算機リソースが管理され、
前記管理計算機は、
前記移動処理の対象の仮想計算機リソースを選択するための優先度を算出するための算出情報を保持し、
前記計算機システムの構成を変更する契機を検出した場合に、前記仮想リソース管理情報及び前記ネットワークリソース管理情報に基づいて、処理の対象となる複数の仮想計算機リソースを特定し、
前記ネットワークリソース管理情報及び前記トポロジ管理情報に基づいて、前記新規通信経路の使用可能帯域を算出し、
前記ネットワークリソース管理情報に基づいて、前記特定された各仮想計算機リソースとの通信に使用される帯域の合計値を算出し、
前記新規通信経路の使用可能帯域が前記合計値より小さいか否かを判定し、
前記新規通信経路の使用可能帯域が前記合計値より小さいと判定された場合、前記計算機リソース管理情報、前記仮想リソース管理情報、及び前記ネットワークリソース管理情報の少なくともいずれかに基づいて前記優先度を算出し、
前記優先度に基づいて、前記特定された複数の仮想計算機リソースの中から、前記移動処理の対象の仮想計算機リソースを選択することを特徴とする管理計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク及び計算機のリソースを管理する管理サーバ、管理システム、及び管理方法に関する。
【背景技術】
【０００２】
ネットワークを介して接続される複数の物理サーバ上に複数の仮想マシンが稼動する計算機システムにおいて、処理負荷が増大した仮想マシンを移動させる物理サーバの優先度を決定する技術が知られている（例えば、特許文献１参照）。
【０００３】
特許文献１には、「ネットワークを介して通信する複数の物理計算機を含む計算機システムにおいて、仮想マシンを管理する。本管理方法は、ネットワークにおける複数の物理計算機間のトラフィックを測定する。複数の物理計算機の１つに存在する仮想マシンを複数の物理計算機における移動先候補のそれぞれに移動した場合のネットワークのトラフィックを、測定の結果から予測する。予測したトラフィックに基づいて前記移動先候補の優先度を決定する。これにより、ネットワークを含むシステムにとって適切な仮想マシンの移動先を選定する」ことが記載されている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】国際公開第２０１２／０７３３６９号
【発明の概要】
【発明が解決しようとする課題】
【０００５】
計算機システムが提供するサービスの質を向上し、又は計算機システムの障害を復旧する場合、すなわち、計算機システムの構成を変更する場合に、仮想マシン等の移動処理及び通信経路の切替処理等の処理を実行する必要がある。
【０００６】
すなわち、ネットワークの構成及び仮想マシンの配置を実行する必要がある。そのため、計算機システムは、ネットワークリソース及び物理サーバの計算機リソースを管理し、最適なシステム構成となるように構成変更の処理内容を決定する必要がある。
【０００７】
また、仮想マシンを現在の物理サーバから他の物理サーバへ移動する場合に、当該仮想マシンの移動処理によって通信が発生する。これによって、ネットワークに輻輳が発生する可能性がある。また、仮想マシンの移動処理に用いられる通信経路と、切替処理によって切り替えられる通信経路とが重複すると、重複する経路においても輻輳が発生する可能性がある。特許文献１に記載の方法では、仮想マシン移動後における輻輳は考慮されているが、仮想マシンの移動処理自体とそれ以外の処理との間の影響は考慮されていない。したがって、前述したような課題には対応できない。
【０００８】
本発明は、計算機システムの構成を変更する場合に、複数の処理の間の影響を考慮して、提供されるサービスに最適な構成を迅速に実現できる計算機システムを提供することを目的とする。
【課題を解決するための手段】
【０００９】
本願において開示される発明の代表的な一例を示せば以下の通りである。すなわち、管理計算機と、ネットワークを介して接続される複数の計算機とを備える計算機システムであって、前記ネットワークは、複数のネットワーク装置を含み、前記計算機は、第１のプロセッサ、前記第１のプロセッサに接続される第１のメモリ、前記第１のプロセッサに接続される第１の記憶装置、及び前記第１のプロセッサに接続される第１のネットワークインタフェースを有し、前記管理計算機は、第２のプロセッサ、前記第２のプロセッサに接続される第２のメモリ、前記第２のプロセッサに接続される第２の記憶装置、及び前記第２のプロセッサに接続される第２のネットワークインタフェースを有し、前記ネットワーク装置は、第３のプロセッサ、前記第３のプロセッサに接続される第３のメモリ、及び前記第３のプロセッサに接続される第３のネットワークインタフェースを有し、前記計算機は、当該計算機が有する計算機リソースを分割することによって仮想計算機リソースを生成する仮想化管理部を有し、前記計算機システムは、前記仮想計算機リソースを用いたサービスを提供し、前記管理計算機は、前記計算機システムの構成を変更する契機を検出し、前記仮想計算機リソースに接続する通信経路を変更する切替処理を実行する必要がある場合、現在使用している通信経路とは異なる新規通信経路を検索し、前記仮想計算機リソースを管理する計算機を変更する移動処理を実行する必要がある場合、移動処理の対象の仮想計算機リソースを管理する新規計算機を検索して、前記移動処理の対象の仮想計算機リソースを現在管理する計算機と前記新規計算機とを接続する通信経路である移動経路を検索し、前記新規通信経路と前記移動経路とを比較することによって、前記切替処理が前記移動処理に影響を与えるか否かを判定し、前記判定の結果に基づいて前記切替処理及び前記移動処理の実行順番を決定し、前記決定された実行順番に基づいて前記切替処理及び前記移動処理を実行して、前記計算機及び前記ネットワーク装置の設定を変更することを特徴とする。
【発明の効果】
【００１０】
本発明によれば、切替処理及び仮想計算機リソースの移動処理が最適化されるため、迅速に、サービスの提供に最適な計算機システムの構成に変更できる。
【００１１】
前述した以外の課題、構成及び効果は、以下の実施例の説明によって明らかにされる。
【図面の簡単な説明】
【００１２】
【図１】実施例１の計算機システムの構成例を示す説明図である。
【図２】実施例１の復旧処理が実行された後の計算機システムの状態の一例を示す説明図である。
【図３】実施例１のシステム管理サーバのハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【図４】実施例１の物理サーバリソース管理データベースの一例を示す説明図である。
【図５】実施例１の仮想マシンリソース管理データベースの一例を示す説明図である。
【図６】実施例１のネットワークリソース管理データベースの一例を示す説明図である。
【図７】実施例１のトポロジ管理データベースの一例を示す説明図である。
【図８】実施例１のネットワークノードのハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【図９Ａ】実施例１の復旧処理の流れを説明するシーケンス図である。
【図９Ｂ】実施例１の復旧処理の流れを説明するシーケンス図である。
【図１０】実施例１のシステム管理サーバが実行する復旧処理を説明するフローチャートである。
【図１１】実施例１の復旧処理が実行された後のネットワークリソース管理データベースを示す説明図である。
【図１２】実施例２の計算機システムの構成例を示す説明図である。
【図１３】実施例２の復旧処理が実行された後の計算機システムの状態の一例を示す説明図である。
【図１４】実施例２のシステム管理サーバのハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【図１５】実施例２の物理サーバリソース管理データベースの一例を示す説明図である。
【図１６】実施例２の仮想マシンリソース管理データベースの一例を示す説明図である。
【図１７】実施例２のネットワークリソース管理データベースの一例を示す説明図である。
【図１８】実施例２のトポロジ管理データベースの一例を示す説明図である。
【図１９】実施例２の移動優先度データベースの一例を示す説明図である。
【図２０】実施例２のサービス管理部が優先度を算出する場合に適用する方式の一例を示す説明図である。
【図２１Ａ】実施例２の復旧処理の流れを説明するシーケンス図である。
【図２１Ｂ】実施例２の復旧処理の流れを説明するシーケンス図である。
【図２２】実施例２のシステム管理サーバが実行する復旧処理を説明するフローチャートである。
【図２３】実施例２の復旧処理が実行された後のネットワークリソース管理データベースを示す説明図である。
【図２４】実施例３の計算機システムの構成例を示す説明図である。
【図２５】実施例３の復旧処理が実行された後の計算機システムの状態の一例を示す説明図である。
【図２６】実施例４の計算機システムの構成例を示す説明図である。
【図２７】実施例４の通信フローの設定処理が実行された後の計算機システムの状態の一例を示す説明図である。
【図２８Ａ】実施例４のシステム管理サーバが実行する通信フローの設定処理の一例を説明するフローチャートである。
【図２８Ｂ】実施例４のシステム管理サーバが実行する通信フローの設定処理の一例を説明するフローチャートである。
【発明を実施するための形態】
【００１３】
以下、図面を用いて実施例を説明する。なお、以下で説明する計算機システムでは、ＶＭ又はＬＵ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）等の仮想的な計算機リソースを用いて、映像配信、及びデータ解析等のサービスが提供されているものとする。
【実施例１】
【００１４】
実施例１では、複数の物理サーバがネットワークを介して接続される計算機システムにおいて、ネットワークの障害が発生した場合に実行される復旧処理について説明する。すなわち、実施例１では、システム構成の変更契機はネットワーク障害発生である。復旧処理においては、以下のような課題がある。
【００１５】
第１の課題は、仮想マシンが使用する通信経路に障害が発生した場合、通信経路の変更だけでは仮想マシンの通信を復旧できないことである。すなわち、通信経路の切替処理だけでは、サービスを復旧できない。そのため、仮想マシンの移動処理も実行する必要がある。ここで、仮想マシンの移動処理とは、現在仮想マシンが稼動する計算機を他の計算機に変更する処理である。具体的には、他の計算機が仮想マシンに必要な計算機リソースを確保し、現在仮想マシンが稼働する計算機が、当該仮想マシンの管理情報等を他の計算機に送信する。
【００１６】
第２の課題は、通信経路の切替処理と仮想マシンの移動処理とが互いに影響することによって、復旧時間に遅延が生じることである。
【００１７】
通信経路の一部に障害が発生した場合、一般的には、迂回経路に切り替えることによってサービスの復旧が行われる。当該迂回経路への切替処理は、ネットワークノードの設定を変更することによって瞬時に実行することができる。一方、仮想マシンの移動処理は、現在の物理サーバから他の物理サーバに仮想マシンのデータを送信する必要があり、当該データのデータ量が多いため、多くの通信容量（帯域）が使用され、また、処理時間がかかる。
【００１８】
迂回経路及び仮想マシンの移動処理に使用される通信経路の一部が重複した場合、迂回経路への切替処理が実行された場合、重複する経路の帯域が不足することによって仮想マシンの移動ができない、又は、仮想マシンの移動時間が長くなることによってサービスの復旧ができない。
【００１９】
＜システム構成＞
図１は、実施例１の計算機システムの構成例を示す説明図である。
【００２０】
実施例１の計算機システムは、システム管理サーバ１００、物理サーバ１（１１０−１）、物理サーバ２（１１０−２）、物理サーバ３（１１０−３）、ネットワークノード１（１２０−１）、ネットワークノード２（１２０−２）、及びネットワークノード３（１２０−３）から構成される。以下の説明では、物理サーバ１（１１０−１）、物理サーバ２（１１０−２）、物理サーバ３（１１０−３）を区別しない場合には物理サーバ１１０と記載し、ネットワークノード１（１２０−１）、ネットワークノード２（１２０−２）、及びネットワークノード３（１２０−３）を区別しない場合にはネットワークノード１２０と記載する。
【００２１】
ネットワークノード１（１２０−１）、ネットワークノード２（１２０−２）、及びネットワークノード３（１２０−３）は、業務ネットワークを構成する。物理サーバ１（１１０−１）、物理サーバ２（１１０−２）、及び物理サーバ３（１１０−３）は、業務ネットワークを介して互いに接続される。また、システム管理サーバ１００は、管理ネットワーク１３０を介して、複数の物理サーバ１１０及び複数のネットワークノード１２０と接続する。
【００２２】
物理サーバ１（１１０−１）とネットワークノード１（１２０−１）との間のリンクの帯域、物理サーバ２（１１０−２）とネットワークノード２（１２０−２）との間のリンクの帯域、及び物理サーバ３（１１０−３）とネットワークノード３（１２０−３）との間のリンクの帯域は、それぞれ双方向に対して１Ｇｂｐｓであるものとする。また、ネットワークノード１（１２０−１）とネットワークノード２（１２０−２）との間のリンク１の帯域は双方向に対して５００Ｍｂｐｓであり、ネットワークノード１（１２０−１）とネットワークノード３（１２０−３）との間のリンク２の帯域及びネットワークノード２（１２０−２）とネットワークノード３（１２０−３）との間のリンク３の帯域はそれぞれ双方向に対して１Ｇｂｐｓであるものとする。
【００２３】
物理サーバ１１０は、計算機リソースとして、プロセッサ（図示省略）、メモリ（図示省略）、ＨＤＤ等のストレージ装置（図示省略）、ＮＩＣなどのＩ／Ｏデバイス（図示省略）を有し、また、仮想化部１１１を実行する。仮想化部１１１は、物理サーバ１１０の計算機リソースを分割することによって仮想マシン（ＶＭ）を生成し、生成された仮想マシンを管理する。以下の説明では仮想マシンをＶＭと記載する。
【００２４】
物理サーバ１（１１０−１）では仮想化部１（１１１−１）によって管理されるＶＭ１（１１２−１）が稼動し、物理サーバ２（１１０−２）では仮想化部２（１１１−２）によって管理されるＶＭ２（１１２−２）及びＶＭ３（１１２−３）が稼動し、また、物理サーバ３（１１０−３）では仮想化部３（１１１−３）によって管理されるＶＭ４（１１２−４）及びＶＭ５（１１２−５）が稼動する。
【００２５】
また、ＶＭ２（１１２−２）とＶＭ４（１１２−４）とが双方向にデータを送受信し、使用される帯域は５００Ｍｂｐｓであるものとする。また、ＶＭ３（１１２−３）とＶＭ５（１１２−５）とが双方向にデータを送受信し、使用される帯域は５００Ｍｂｐｓであるものとする。
【００２６】
実施例１では、計算機システムの稼動中に、ネットワークノード２（１２０−２）とネットワークノード３（１２０−３）との間のリンク３に障害が発生し、データの送受信が停止した場合を想定する。
【００２７】
図２は、実施例１の復旧処理が実行された後の計算機システムの状態の一例を示す説明図である。
【００２８】
リンク３に障害が発生した場合、ＶＭ２（１１２−２）とＶＭ４（１１２−４）との間の通信、及びＶＭ３（１１２−３）とＶＭ５（１１２−５）との間の通信が切断される。
【００２９】
システム管理サーバ１００は、リンク３に障害が発生したことを検出すると、ＶＭ１１２間の通信を復旧するための復旧処理を実行する。以下の説明では二つのＶＭ１１２間の通信を単にＶＭ通信とも記載する。
【００３０】
復旧処理では、まず、システム管理サーバ１００は、ＶＭ通信を復旧するための復旧経路を検索する。さらに、システム管理サーバ１００は、復旧経路を用いてすべてのＶＭ通信を復旧できるか否かを判定する。
【００３１】
実施例１では、復旧経路としてネットワークノード２（１２０−２）、ネットワークノード１（１２０−１）及びネットワークノード３（１２０−３）を経由する通信経路、及びその逆方向の通信経路が復旧経路として検索されるものとする。ここで、ＶＭ２（１１２−２）とＶＭ４（１１２−４）との間のＶＭ通信、及びＶＭ３（１１２−３）とＶＭ５（１１２−５）との間のＶＭ通信に必要な帯域は１Ｇｂｐｓであり、一方、リンク１の帯域は５００Ｍｂｐｓであるため、５００Ｍｂｐｓだけ帯域が不足する。
【００３２】
システム管理サーバ１００は、復旧経路を用いてすべてのＶＭ通信を復旧できない場合、復旧経路において使用可能な帯域に基づいて、復旧経路を用いて復旧させるＶＭ通信を決定する。
【００３３】
実施例１では、システム管理サーバ１００は、リンク１の帯域が５００Ｍｂｐｓであるため、検索された復旧経路を用いて、ＶＭ３（１１２−３）とＶＭ５（１１２−５）との間については、５００ＭｂｐｓのＶＭ通信を復旧することを決定する。
【００３４】
システム管理サーバ１００は、復旧経路を用いて復旧できないＶＭ通信については、ＶＭ１１２の移動処理によって復旧させる。すなわち、復旧できないＶＭ通信に関連するＶＭ１１２を現在の物理サーバ１１０から他の物理サーバ１１０に移動させる。
【００３５】
実施例１では、システム管理サーバ１００は、ＶＭ２（１１２−２）とＶＭ４（１１２−４）との間の通信については、ＶＭ２（１１２−２）を物理サーバ２（１１０−２）から物理サーバ１（１１０−１）に移動させることによって、ＶＭ２（１１２−２）とＶＭ４（１１２−４）との間のＶＭ通信を復旧させるものとする。
【００３６】
前述した復旧処理において、ＶＭ２（１１２−２）を移動させる前に、通信経路が復旧経路に切り替えられた場合、ＶＭ３（１１２−３）とＶＭ５（１１２−５）との間のＶＭ通信（通信フロー）によって、リンク２の帯域が５００Ｍｂｐｓ消費される。したがって、ネットワークノード２（１２０−２）及びネットワークノード１（１２０−１）を経由して物理サーバ２（１１０−２）上で稼動するＶＭ２（１１２−２）を移動させる場合、使用可能な帯域が不足することによってＶＭ２（１１２−２）を移動できない。本来復旧できるはずのＶＭ通信の復旧が阻害される。以下の説明では、ＶＭ１１２の移動処理に使用される通信経路をＶＭ１１２の移動経路とも記載する。
【００３７】
したがって、システム管理サーバ１００は、復旧経路を用いた切替処理と、ＶＭ１１２の移動処理との実行順番を決定する必要がある。そこで、システム管理サーバ１００は、検索された復旧経路と、ＶＭ１１２の移動経路とを比較し、復旧経路がＶＭ１１２の移動経路の少なくとも一部と重複するか否かを判定する。復旧経路がＶＭ１１２の移動経路との少なくとも一部が重複する場合、システム管理サーバ１００は、復旧経路を用いた切替処理によって、ＶＭ１１２の移動処理が阻害される可能性があると判定し、ＶＭ１１２の移動処理を先に実行し、その後、復旧経路への切替処理を実行する。
【００３８】
＜システム管理サーバの構成＞
図３は、実施例１のシステム管理サーバ１００のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【００３９】
システム管理サーバ１００は、プロセッサ３０１、メモリ３０２、ネットワークインタフェース３０３、ストレージ装置３０４、及び入出力装置３０５を有し、各構成はバス３０６を介して互いに接続される。
【００４０】
プロセッサ３０１は、メモリ３０２に格納されるプログラムを実行する。プロセッサ３０１がプログラムを実行することによってシステム管理サーバ１００が有する機能を実現できる。以下の説明ではプログラムを主体に処理の説明をする場合、当該プログラムがプロセッサ３０１によって実行されていることを示す。
【００４１】
メモリ３０２は、プロセッサ３０１によって実行されるプログラム及び当該プログラムの実行に必要な各種情報を格納する。メモリ３０２に格納されるプログラム及び情報については後述する。ストレージ装置３０４は、システム管理サーバ１００が使用する各種プログラム及び各種情報を格納する。メモリ３０２に格納されるプログラム及び情報はストレージ装置３０４に格納されてもよい。この場合、プロセッサ３０１は、ストレージ装置３０４からプログラム及び情報を読み出し、メモリ３０２にロードし、メモリ３０２上にロードされたプログラムを実行する。
【００４２】
ネットワークインタフェース３０３は、外部ネットワークと接続するためのインタフェースである。入出力装置３０５は、システム管理サーバ１００に情報を入力し、又は、システム管理サーバ１００が実行した処理の結果等を出力するための装置である。入出力装置３０５は、例えば、キーボード、マウス、タッチパネル、及びディスプレイ等が含まれる。なお、入出力装置３０５は、システム管理サーバ１００の外部に接続される形式であってもよい。
【００４３】
図３では、プロセッサ３０１及びネットワークインタフェース３０３は一つであるが、システム管理サーバ１００は、複数のプロセッサ３０１及び複数のネットワークインタフェース３０３を有してもよい。
【００４４】
ここで、メモリ３０２に格納されるプログラム及び情報について説明する。メモリ３０２は、物理サーバ管理部３１１、仮想マシン管理部３１２、ネットワーク管理部３１３、及びサービス管理部３１４を実現するプログラムを格納する。また、メモリ３０２は、物理サーバリソース管理データベース３２１、仮想マシンリソース管理データベース３２２、ネットワークリソース管理データベース３２３、トポロジ管理データベース３２４を格納する。
【００４５】
物理サーバ管理部３１１は、物理サーバ１１０の計算機リソースの使用状態を監視し、監視結果を物理サーバリソース管理データベース３２１に格納する。具体的には、物理サーバ管理部３１１は、物理サーバ１１０のプロセッサの使用量、メモリの使用量、及びストレージ装置の使用量、並びに、プロセッサの使用可能量、メモリの使用可能量、及びストレージ装置の使用可能量を監視する。なお、物理サーバリソース管理データベース３２１の詳細は、図４を用いて後述する。
【００４６】
仮想マシン管理部３１２は、ＶＭ１１２の計算機リソースの使用状態を監視し、監視結果を仮想マシンリソース管理データベース３２２に格納する。具体的には、仮想マシン管理部３１２は、例えば、プロセッサの使用量、メモリの使用量、ストレージ装置の使用量、送信帯域、及び受信帯域を監視する。なお、仮想マシンリソース管理データベース３２２の詳細は、図５を用いて後述する。
【００４７】
ネットワーク管理部３１３は、ネットワークノード１２０及び物理サーバ１１０間を接続するリンクにおける帯域の使用状態を監視し、監視結果をネットワークリソース管理データベース３２３に格納する。具体的には、ネットワーク管理部３１３は、リンクを通過する通信フロー毎に、使用される帯域を監視する。また、ネットワーク管理部３１３は、ネットワークノード１２０と物理サーバ１１０との間の接続関係をトポロジ管理データベース３２４として管理する。なお、ネットワークリソース管理データベース３２３及びトポロジ管理データベース３２４の詳細は、図６及び図７を用いて後述する。
【００４８】
サービス管理部３１４は、業務ネットワーク内において発生した障害によってサービスが停止したか否かを監視し、サービスの停止が検出された場合、サービスを継続するために、通信経路の切替処理、及びＶＭ１１２の移動処理等を含む復旧処理を実行する。
【００４９】
図４は、実施例１の物理サーバリソース管理データベース３２１の一例を示す説明図である。
【００５０】
物理サーバリソース管理データベース３２１は、物理サーバＩＤ４０１、プロセッサ使用量４０２、プロセッサ使用可能量４０３、メモリ使用量４０４、メモリ使用可能量４０５、ストレージ装置使用量４０６、及びストレージ装置使用可能量４０７を含む。
【００５１】
物理サーバＩＤ４０１は、物理サーバ１１０を一意に識別するための識別子である。プロセッサ使用量４０２は、プロセッサ３０１の使用量である。プロセッサ使用可能量４０３は、割り当て可能なプロセッサ３０１のリソース量である。メモリ使用量４０４は、メモリ３０２の使用量である。メモリ使用可能量４０５は、割り当て可能なメモリ３０２のリソース量である。ストレージ装置使用量４０６は、物理サーバ１１０におけるストレージ装置３０４の使用量である。ストレージ装置使用可能量４０７は、割り当て可能なストレージ装置３０４のリソース量（記憶領域の容量）である。
【００５２】
図４に示す物理サーバリソース管理データベース３２１は、計算機システムに含まれる物理サーバ１１０の計算機リソースの使用状態を示す。物理サーバＩＤ４０１が「Ｓ１」のエントリは、物理サーバ１（１１０−１）の計算機リソースの使用状態を示し、物理サーバＩＤ４０１が「Ｓ２」のエントリは、物理サーバ２（１１０−２）の計算機リソースの使用状態を示し、物理サーバＩＤ４０１が「Ｓ３」のエントリは、物理サーバ３（１１０−３）の計算機リソースの使用状態を示す。
【００５３】
例えば、物理サーバ１（１１０−１）は、プロセッサ３０１を「２ＧＨｚ」使用し、使用可能なプロセッサ３０１のリソース量が「６ＧＨｚ」であることが分かる。また、物理サーバ１（１１０−１）は、メモリ３０２を「２Ｇｂｙｔｅ」使用し、使用可能なメモリ３０２のリソース量が「６ＧＢｙｔｅ」であることが分かる。また、物理サーバ１（１１０−１）は、ストレージ装置３０４の記憶領域を「２００Ｇｂｙｔｅ」使用し、使用可能なストレージ装置３０４の記憶領域が「６００ＧＢｙｔｅ」であることが分かる。
【００５４】
図５は、実施例１の仮想マシンリソース管理データベース３２２の一例を示す説明図である。
【００５５】
仮想マシンリソース管理データベース３２２は、仮想マシンＩＤ５０１、配置５０２、プロセッサ割当量５０３、メモリ割当量５０４、ストレージ装置割当量５０５、送信帯域５０６、及び受信帯域５０７を含む。
【００５６】
仮想マシンＩＤ５０１は、ＶＭ１１２を一意に識別するための識別子である。配置５０２は、ＶＭ１１２が稼動する物理サーバ１１０の識別子である。プロセッサ割当量５０３は、ＶＭ１１２に割り当てられたプロセッサのリソース量である。メモリ割当量５０４は、ＶＭ１１２に割り当てられたメモリのリソース量である。ストレージ装置割当量５０５は、ＶＭ１１２に割り当てられたストレージ装置のリソース量である。送信帯域５０６は、データ送信に使用される帯域である。受信帯域５０７は、データ受信に使用される帯域である。
【００５７】
図５に示す仮想マシンリソース管理データベース３２２は、計算機システムに含まれるＶＭ１１２の計算機リソースの使用状態を示す。仮想マシンＩＤ５０１が「ＶＭ１」のエントリは、ＶＭ１（１１２−１）の計算機リソースの使用状態を示し、仮想マシンＩＤ５０１が「ＶＭ２」のエントリは、ＶＭ２（１１２−２）の計算機リソースの使用状態を示し、仮想マシンＩＤ５０１が「ＶＭ３」のエントリは、ＶＭ３（１１２−３）の計算機リソースの使用状態を示し、仮想マシンＩＤ５０１が「ＶＭ４」のエントリは、ＶＭ４（１１２−４）の計算機リソースの使用状態を示し、仮想マシンＩＤ５０１が「ＶＭ５」のエントリは、ＶＭ５（１１２−５）の計算機リソースの使用状態を示す。
【００５８】
例えば、ＶＭ１（１１２−１）は、物理サーバ１（１１０−１）上で稼動し、プロセッサが「２ＧＨｚ」、メモリが「２ＧＢｙｔｅ」、さらに、ストレージ装置が「２００ＧＢｙｔｅ」だけ割り当てられていることが分かる。また、ＶＭ１（１１２−１）は、帯域を使用していない状態であることが分かる。一方、ＶＭ２（１１２−２）は、物理サーバ２（１１０−２）上で稼動し、プロセッサが「１ＧＨｚ」、メモリが「２ＧＢｙｔｅ」、さらに、ストレージ装置が「２００ＧＢｙｔｅ」だけ割り当てられていることが分かる。また、ＶＭ２（１１２−２）は、送信帯域及び受信帯域をそれぞれ「５００Ｍｂｐｓ」使用していることが分かる。
【００５９】
ここで、物理サーバリソース管理データベース３２１及び仮想マシンリソース管理データベース３２２に格納される値について説明する。
【００６０】
実施例１では、物理サーバ１１０が有するプロセッサの数に、当該プロセッサの周波数を乗算することによって得られた値が、物理サーバ１１０のプロセッサ３０１の全計算機リソースの量であるものとする。物理サーバ１１０が有する全メモリ３０２の容量の合計値が、物理サーバ１１０のメモリ３０２の全計算機リソースの量であるものとする。
【００６１】
プロセッサ使用量４０２には、ＶＭ１１２毎に、ＶＭ１１２に割り当てられた仮想的なプロセッサの周波数と、ＶＭ１１２に割り当てられた仮想的なプロセッサの数とを乗算し、さらに、各ＶＭ１１２の乗算値を合計することによって算出された値が格納される。また、プロセッサ使用量４０２には、配置５０２に物理サーバＩＤ４０１と一致する識別子が格納されるエントリのプロセッサ割当量５０３を合計することによって算出された値が格納されてもよい。
【００６２】
プロセッサ使用可能量４０３には、物理サーバ１１０のプロセッサの全リソース量からプロセッサ使用量４０２の値を減算することによって算出された値が格納される。
【００６３】
メモリ使用量４０４には、各ＶＭ１１２に割り当てられた仮想的なメモリの容量を合計することによって算出された値が格納される。また、メモリ使用量４０４には、配置５０２に物理サーバＩＤ４０１と一致する識別子が格納されるエントリのメモリ割当量５０４を合計することによって算出された値が格納されてもよい。メモリ使用可能量４０５は、物理サーバ１１０のメモリ３０２の全リソース量からメモリ使用量４０４の値を減算することによって算出された値が格納される。
【００６４】
ストレージ装置使用量４０６及びストレージ装置使用可能量４０７には、メモリ使用量４０４及びメモリ使用可能量４０５と同様の方法に基づいて算出された値が格納される。
【００６５】
プロセッサ割当量５０３には、ＶＭ１１２に割り当てられた仮想的なプロセッサの周波数と、ＶＭ１１２に割り当てられた仮想的なプロセッサの数とを乗算することによって算出された値が格納される。メモリ割当量５０４には、ＶＭ１１２に割り当てられた仮想的なメモリの容量が格納される。ストレージ装置割当量５０５には、メモリ割当量５０４と同様の方法で算出された値が格納される。送信帯域５０６及び受信帯域５０７には、ＶＭ１１２から取得された帯域が格納される。
【００６６】
図６は、実施例１のネットワークリソース管理データベース３２３の一例を示す説明図である。図１に示すネットワーク状態におけるネットワークリソース管理データベース３２３を示す。
【００６７】
ネットワークリソース管理データベース３２３は、リンクＩＤ６０１、詳細６０２、使用帯域６０３、使用可能帯域６０４、通信フロー６０５、及び通信帯域６０６を含む。
【００６８】
リンクＩＤ６０１は、リンクを識別するための識別子を格納する。本実施例ではリンクの向きも考慮しているため、一つの接続に対して二つのリンクＩＤが付与されている。例えば、「リンク１Ａ」及び「リンク１Ｂ」は、リンク１のそれぞれの方向を示すＩＤである。
【００６９】
詳細６０２は、リンクの方向を示す。本実施例では、リンクを介して接続されるネットワークノード１２０間のデータの流れを示す情報が格納される。例えば、リンクＩＤ６０１が「リンク１Ａ」のエントリは、ネットワークノード１（１２０−１）からネットワークノード２（１２０−２の方向のリンクであることを示す。
【００７０】
使用帯域６０３は、リンクにおいて使用される帯域である。使用可能帯域６０４は、リンクにおいて使用可能な帯域である。通信フロー６０５は、リンクを通過する通信フローの情報である。本実施例では、ＶＭ１１２の識別子、及びデータが流れる方向を示す情報が格納される。通信帯域６０６は、通信フローによって使用される帯域である。
【００７１】
例えば、リンク３Ａは、ネットワークノード２（１２０−２）からネットワークノード３（１２０−３）への通信経路であり、現在、１Ｇｂｐｓだけ帯域が使用され、使用可能帯域が０ｂｐｓであることを示す。また、１Ｇｂｐｓの帯域のうち５００Ｍｂｐｓは、ＶＭ２（１１２−２）からＶＭ４（１１２−４）への通信フロー（ＶＭ通信）によって使用され、残りの５００Ｍｂｐｓは、ＶＭ３（１１２−３）からＶＭ５（１１２−５）への通信フロー（ＶＭ通信）によって使用されていることが分かる。
【００７２】
図７は、実施例１のトポロジ管理データベース３２４の一例を示す説明図である。
【００７３】
トポロジ管理データベース３２４は、接続端点７０１、接続端点７０２、及びリンク帯域７０３を含む。接続端点７０１、７０２は、リンクによって接続される装置の識別子である。接続端点７０１、７０２には、物理サーバ１１０、及びネットワークノード１２０等の識別子が格納される。
【００７４】
例えば、一番上のエントリは、ネットワークノード１（１２０−１）及びネットワークノード２（１２０−２）は、帯域が５００Ｍｂｐｓであるリンク（双方向）を介して接続されることを示す。また、上から四番目のエントリは、物理サーバ１（１１０−１）及びネットワークノード１（１２０−１）は、帯域が１Ｇｂｐｓであるリンク（双方向）を介して接続されることを示している。
【００７５】
＜ネットワークノードの構成＞
図８は、実施例１のネットワークノード１２０のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【００７６】
ネットワークノード１２０は、プロセッサ８０１、メモリ８０２、スイッチ８０３、及び複数のネットワークインタフェース８０４を有し、各構成は内部バスを介して互いに接続される。
【００７７】
プロセッサ８０１、メモリ８０２、及びネットワークインタフェース８０４は、プロセッサ３０１、メモリ３０２、及びネットワークインタフェース３０３と同一のものであるため説明を省略する。なお、メモリ８０２に格納されるプログラム及び情報については後述する。
【００７８】
スイッチ８０３は、後述するデータ転送テーブル８１２に基づいて、ネットワークインタフェース８０４間の接続を切り替えて、所定の宛先の装置にデータを転送する。なお、スイッチ８０３は、プロセッサ８０１とは独立して稼動する。
【００７９】
メモリ８０２は、ノード管理部８１１を実現するプログラム、及びデータ転送テーブル８１２を格納する。ノード管理部８１１は、ネットワークノード１２０全体を管理する。データ転送テーブル８１２は、受信したデータを転送するための情報を格納する。データ転送テーブル８１２は、例えば、ＭＡＣ情報などが考えられる。なお、データ転送テーブル８１２は公知のものであるため詳細な説明を省略する。
【００８０】
ネットワークノード１２０は、一つのネットワークインタフェース８０４からデータを受信し、当該データの宛先を解析する。ネットワークノード１２０自身宛てのデータである場合、ノード管理部８１１に当該データが転送される。一方、他のネットワークノード１２０宛てのデータである場合、スイッチ８０３は、データ転送テーブル８１２を参照して、当該データを送信するネットワークインタフェース８０４を決定し、決定されたネットワークインタフェース８０４から指定された宛先のネットワークノード１２０へデータを転送する。
【００８１】
＜復旧処理＞
図９Ａ及び図９Ｂは、実施例１の復旧処理の流れを説明するシーケンス図である。
【００８２】
以下の説明では、図１に示す状態を例に説明する。すなわち、ＶＭ２（１１２−２）とＶＭ４（１１２−４）とが通信し（ステップＳ９００）、また、ＶＭ３（１１２−３）とＶＭ５（１１２−５）とが通信する（ステップＳ９０１）。
【００８３】
システム管理サーバ１００は、ネットワークノード２（１２０−２）からリンク３の障害発生の通知を受信する（ステップＳ９１０）。システム管理サーバ１００は、リンク３の障害によって、ＶＭ２（１１２−２）とＶＭ４（１１２−４）との間のＶＭ通信、及びＶＭ３（１１２−３）とＶＭ５（１１２−５）との間のＶＭ通信が停止したことを検出する。
【００８４】
システム管理サーバ１００は、復旧経路を検索する（ステップＳ９１１）。その後、システム管理サーバ１００は、復旧経路を用いた切替処理では復旧できないＶＭ通信が存在するか否かを判定する。
【００８５】
復旧経路を用いた切替処理では復旧できないＶＭ通信が存在すると判定された場合、システム管理サーバ１００は、移動させるＶＭ１１２を選択し、選択されたＶＭ１１２の移動先となる物理サーバ１１０を検索する（ステップＳ９１２）。さらに、システム管理サーバ１００は、ＶＭ１１２の移動させた場合に、当該ＶＭ１１２に関連するＶＭ通信を復旧できるか否かを判定する。また、システム管理サーバ１００は、選択されたＶＭ１１２が関連するＶＭ通信以外のＶＭ通信については、復旧経路を用いた切替処理を実行することによって復旧させることを決定する。
【００８６】
ここでは、ＶＭ２（１１２−２）が選択され、移動先の物理サーバ１１０として物理サーバ１（１１０−１）が検索されたものとする。また、ＶＭ３（１１２−３）とＶＭ５（１１２−５）との間のＶＭ通信が切替処理を実行することによって復旧させるものとする。
【００８７】
システム管理サーバ１００は、処理の実行順番を決定する（ステップＳ９１３）。具体的には、システム管理サーバ１００は、復旧経路及び１１２の移動経路を比較することによって、復旧経路への切替処理がＶＭ１１２の移動処理に影響を与えているか否かを判定する。復旧経路への切替処理がＶＭ１１２の移動処理に影響を与えると判定された場合、システム管理サーバ１００は、ＶＭの移動処理、通信経路の切替処理の順に実行することを決定する。
【００８８】
システム管理サーバ１００は、ＶＭ２（１１２−２）を物理サーバ２（１１０−２）から物理サーバ１（１１０−１）へ移動するために、ネットワークノード１（１２０−１）及びネットワークノード２（１２０−２）のそれぞれに移動経路を設定する（ステップＳ９１４、Ｓ９１５）。
【００８９】
また、システム管理サーバ１００は、物理サーバ１（１１０−１）にＶＭ２（１１２−２）の受け入れを指示する（ステップＳ９１６）。当該指示には、ＶＭ２（１１２−２）を生成するための計算機リソースに関する情報などが含まれる。物理サーバ１（１１０−１）は、当該指示を受信すると、ＶＭ２（１１２−２）に必要な計算機リソースを確保し、確保された計算機リソースを用いてＶＭ１１２を生成する。
【００９０】
システム管理サーバ１００は、その後、物理サーバ２（１１０−２）に対してＶＭ２（１１２−２）の移動を指示する（ステップＳ９１７）。物理サーバ２（１１０−２）の仮想化部２（１１１−２）は、システム管理サーバ１００からＶＭ１１２の移動指示を受信すると、物理サーバ１（１１０−１）へＶＭ２（１１２−２）の移動する（ステップＳ９１８）。なお、ＶＭ１１２の移動方法は公知の技術を用いればよいため詳細な説明は省略する。物理サーバ１（１１０−１）は、ＶＭ２（１１２−２）の移動が完了した後、システム管理サーバ１００にＶＭ２（１１２−２）の移動が完了した旨を通知する（ステップＳ９１９）。
【００９１】
次に、システム管理サーバ１００は、ネットワークノード１（１２０−１）に対して、ＶＭ３（１１２−３）とＶＭ５（１１２−５）との間の通信を転送するための設定を行う（ステップＳ９２０）。システム管理サーバ１００は、ネットワークノード２（１２０−２）及びネットワークノード３（１２０−３）に対して、同様に、ＶＭ３（１１２−３）とＶＭ５（１１２−５）との間の通信を転送するための設定を行う（ステップＳ９２１、ステップＳ９２２）。具体的には、以下のような設定が行われる。
【００９２】
システム管理サーバ１００は、ＶＭ３（１１２−３）宛てのデータをネットワークノード２（１２０−２）に転送し、ＶＭ５（１１２−５）宛てのデータをネットワークノード３（１２０−３）に転送するようにネットワークノード１（１２０−１）を設定する。システム管理サーバ１００は、ＶＭ３（１１２−３）宛てのデータを物理サーバ２（１１０−２）に転送し、ＶＭ５（１１２−５）宛てのデータをネットワークノード１（１２０−１）に転送するようにネットワークノード２（１２０−２）を設定する。また、システム管理サーバ１００は、ＶＭ３（１１２−３）宛てのデータをネットワークノード１（１２０−１）に転送し、ＶＭ５（１１２−５）宛てのデータを物理サーバ３（１１０−３）に転送するようにネットワークノード３（１２０−３）を設定する。
【００９３】
ステップＳ９２０からステップＳ９２２の処理を実行することによって、ＶＭ３（１１２−３）とＶＭ５（１１２−５）との間のＶＭ通信が復旧する（ステップＳ９２３）。
【００９４】
また、システム管理サーバ１００は、ネットワークノード１（１２０−１）及びネットワークノード３（１２０−３）に対して、ＶＭ２（１１２−２）とＶＭ４（１１２−４）との間の通信の転送するための設定を行う（ステップＳ９２４、ステップＳ９２５）。具体的には、以下のような設定が行われる。
【００９５】
システム管理サーバ１００は、ＶＭ４（１１２−４）宛てのデータをネットワークノード３（１２０−３）に転送し、ＶＭ２（１１２−２）宛てのデータを物理サーバ１（１１０−１）に転送するようにネットワークノード１（１２０−１）を設定する。また、システム管理サーバ１００は、ＶＭ４（１１２−４）宛てのデータを物理サーバ３（１１０−３）に転送し、ＶＭ２（１１２−２）宛てのデータはネットワークノード（１２０−１）に転送するようにネットワークノード３（１２０−３）を設定する。
【００９６】
ステップＳ９２４及びステップＳ９２５の処理を実行することによって、ＶＭ２（１１２−２）とＶＭ４（１１２−４）との間のＶＭ通信が復旧する（ステップＳ９２６）。
【００９７】
図１０は、実施例１のシステム管理サーバ１００が実行する復旧処理を説明するフローチャートである。図１１は、実施例１の復旧処理が実行された後のネットワークリソース管理データベース３２３を示す説明図である。
【００９８】
以下で説明する復旧処理は、サービス管理部３１４によって実行される。プロセッサ３０１は、メモリ３０２にサービス管理部３１４を実現するプログラムをロードし、ロードされたプログラムを実行することによって、以下で説明する処理が開始される。
【００９９】
サービス管理部３１４は、業務ネットワークの障害が検出されたか否かを判定する（ステップＳ１００１）。例えば、サービス管理部３１４は、ネットワークノード１２０からリンクの障害発生の通知を受信した場合に業務ネットワークの障害が検出されたと判定する。また、サービス管理部３１４は、周期的に業務ネットワークの状態を監視し、当該監視結果に基づいて業務ネットワークにおける障害を検出してもよい。
【０１００】
実施例１では、リンク（リンク３）に障害が発生したものとする。この場合、ネットワークノード２（１２０−２）又はネットワークノード３（１２０−３）が、リンク３に障害が発生したことを検出し、システム管理サーバ１００にリンク３に障害が発生した旨を通知する。
【０１０１】
ステップＳ１００１において、業務ネットワークの障害が検出されないと判定された場合、サービス管理部３１４は、ステップＳ１００１に戻り、業務ネットワークの監視を継続する。
【０１０２】
ステップＳ１００１において、業務ネットワークの障害が検出されたと判定された場合、サービス管理部３１４は、業務ネットワーク内に復旧経路が存在するか否かを判定する（ステップＳ１００２）。具体的には、以下のような処理が実行される。
【０１０３】
サービス管理部３１４は、リンク３に障害が発生した旨の通知を受信した後、リンク３以外のリンクを経由する復旧経路を検索する。まず、サービス管理部３１４は、ネットワークリソース管理データベース３２３を参照し、リンクＩＤに障害が発生したリンクの識別子が含まれるエントリを検索する。なお、障害が発生したリンクの識別子が通信の方向を含む識別子でない場合、双方向のリンクのエントリが検索される。
【０１０４】
サービス管理部３１４は、検索されたエントリの通信フロー６０５を参照することによって、停止したＶＭ通信に関連するＶＭ１１２を特定できる。サービス管理部３１４は、仮想マシンリソース管理データベース３２２を参照し、仮想マシンＩＤ５０１が特定されたＶＭ１１２の識別子と一致するエントリを検索する。サービス管理部３１４は、検索されたエントリの配置５０２に基づいて、復旧経路の始点及び終点となる二つの物理サーバ１１０を特定できる。
【０１０５】
サービス管理部３１４は、停止したＶＭ通信毎に、当該ＶＭ通信に関連するＶＭ１１２の識別子を対象ＶＭ情報として保持する。すなわち、サービス管理部３１４は、一つのＶＭ通信に対して二つのＶＭ１１２の識別子を対応づけて保持する。
【０１０６】
サービス管理部３１４は、トポロジ管理データベース３２４を参照して、障害が発生したリンク以外のリンクを経由する復旧経路を検索する。サービス管理部３１４は、始点の物理サーバ１１０からネットワークノード１２０をたどり、終点の物理サーバ１１０に到達する通信経路を検索する。ここでは、検索された通信経路は、復旧経路の経路情報として出力されるものとする。復旧経路の経路情報は、ネットワークノード１２０の識別子のリスト情報であるものとする。なお、復旧経路の経路情報のデータ形式に限定されない。
【０１０７】
サービス管理部３１４は、復旧経路の経路情報に基づいてネットワークリソース管理データベース３２３の詳細６０２を参照して、検索された通信経路に含まれるリンクに対応するエントリを検索する。サービス管理部３１４は、検索されたエントリの使用可能帯域６０４から値を取得する。なお、前述したリストを逆方向にたどることによって、逆方向のリンクについても使用可能帯域６０４から値を取得できる。
【０１０８】
サービス管理部３１４は、各リンクの使用可能帯域６０４の値に基づいて、復旧経路において使用可能な帯域を算出する。例えば、サービス管理部３１４は、復旧経路上におけるリンクに対して使用可能帯域６０４の値が最も小さいものを、復旧経路において使用可能な帯域として算出する。以下の説明では、復旧経路において使用可能な帯域を復旧経路の帯域とも記載する。
【０１０９】
以上が、ステップＳ１００２の処理の説明である。
【０１１０】
実施例１では、サービス管理部３１４は、リンク３の障害によって停止したＶＭ通信が二つ存在することを特定し、ＶＭ２（１１２−２）及びＶＭ４（１１２−４）の識別子が対応づけられた情報と、ＶＭ３（１１２−３）及びＶＭ５（１１２−５）の識別子が対応づけられた情報とを対象ＶＭ情報として保持する。
【０１１１】
サービス管理部３１４は、リンク３の代わりの復旧経路として、ネットワークノード２（１２０−２）からネットワークノード１（１２０−１）を経由して、ネットワークノード３（１２０−３）へ到達する通信経路を復旧経路として検索する。また、サービス管理部３１４は、ネットワークノード２（１２０−２）とネットワークノード１（１２０−１）との間のリンク１（リンク１Ａ又はリンク１Ｂ）の帯域「５００Ｍｂｐｓ」を取得し、ネットワークノード１（１２０−１）とネットワークノード３（１２０−３）との間のリンク２（リンク２Ａ又はリンク２Ｂ）の帯域「１Ｇｂｐｓ」を取得する。この場合、サービス管理部３１４は、５００Ｍｂｐｓを復旧経路の帯域として算出する。
【０１１２】
ステップＳ１００２において、業務ネットワーク内に復旧経路が存在しないと判定された場合、サービス管理部３１４は、エラーを通知し（ステップＳ１０１０）、その後ステップＳ１００１に戻る。エラーの通知方法としては、例えば、入出力装置３０５にＶＭ通信の復旧できない旨を表示する方法などが考えられる。
【０１１３】
ステップＳ１００２において、業務ネットワーク内に復旧経路が存在すると判定された場合、サービス管理部３１４は、ＶＭ通信の復旧に使用する復旧経路を決定する（ステップＳ１００３）。
【０１１４】
具体的には、サービス管理部３１４は、ステップＳ３０２において検索された復旧経路の中から使用する復旧経路を決定する。例えば、復旧経路の帯域が最も大きい復旧経路を選択する方法が考えられる。実施例１では、検索された復旧経路は一つであるため、当該復旧経路が使用する復旧経路として決定される。
【０１１５】
次に、サービス管理部３１４は、決定された復旧経路を用いて、障害によって停止したすべてのＶＭ通信を復旧できるか否かを判定する（ステップＳ１００４）。具体的には、以下のような処理が実行される。
【０１１６】
サービス管理部３１４は、ネットワークリソース管理データベース３２３の通信帯域６０６を参照し、障害が発生したＶＭ通信に対応する通信フローによって使用される帯域を取得する。障害が発生したＶＭ通信が複数ある場合、それぞれのＶＭ通信に対応する通信フローの帯域が取得される。
【０１１７】
サービス管理部３１４は、各ＶＭ通信に対応する通信フローの帯域の合計値を算出し、当該合計値が復旧経路の帯域以下であるか否かを判定する。各通信フローの帯域の合計値が復旧経路の帯域以下である場合、サービス管理部３１４は、決定された復旧経路を用いてすべてのＶＭ通信を復旧できると判定する。一方、各通信フローの帯域の合計値が復旧経路の帯域より大きい場合、サービス管理部３１４は、決定された復旧経路を用いてすべてのＶＭ通信を復旧できないと判定する。
【０１１８】
以上がステップＳ１００４の処理の説明である。
【０１１９】
実施例１では、リンク３に障害が発生したため、ＶＭ２（１１２−２）とＶＭ４（１１２−４）との間のＶＭ通信、及びＶＭ３（１１２−３）とＶＭ５（１１２−５）との間のＶＭ通信に障害が発生している。それぞれのＶＭ通信に対応する通信フローの帯域は５００Ｍｂｐｓであることから、すべてのＶＭ通信を復旧させるためには復旧経路の帯域が１Ｇｂｐｓ以上必要となる。しかし、検索された復旧経路の帯域は５００Ｍｂｐｓである。したがって、サービス管理部３１４は、すべてのＶＭ通信を復旧できないと判定する。
【０１２０】
ステップＳ１００４において、決定された復旧経路を用いて、障害が発生したすべてのＶＭ通信を復旧できると判定された場合、サービス管理部３１４は、復旧経路を用いた切替処理を実行し（ステップＳ１０１１）、その後、ステップＳ１００９に進む。
【０１２１】
ステップＳ１００４において、決定された復旧経路を用いて、障害が発生したすべてのＶＭ通信を復旧できないと判定された場合、サービス管理部３１４は、復旧できないＶＭ通信に関連するＶＭ１１２の移動先となる物理サーバ１１０を検索する（ステップＳ１００５）。ＶＭ１１２の移動先となる物理サーバ１１０とは、移動対象のＶＭ１１２と同一の構成のＶＭ１１２を稼動させる物理サーバ１１０を示す。具体的には、以下のような処理が実行される。
【０１２２】
サービス管理部３１４は、対象ＶＭ情報を参照し、移動させるＶＭ１１２を選択する。ここでは、使用する計算機リソースが最も少ないＶＭ１１２が選択されるものとする。サービス管理部３１４は、選択されたＶＭ１１２に関連する対象ＶＭ情報を移動候補ＶＭ情報として保持する。
【０１２３】
サービス管理部３１４は、仮想マシンリソース管理データベース３２２を参照し、選択されたＶＭ１１２に割り当てられる計算機リソースの情報を取得する。次に、サービス管理部３１４は、取得された計算機リソースの情報に基づいて物理サーバリソース管理データベース３２１を参照して、選択されたＶＭ１１２の移動が可能な物理サーバ１１０を検索する。このとき、選択されたＶＭ１１２が現在稼動する物理サーバ１１０は選択対象から除かれる。
【０１２４】
また、サービス管理部３１４は、トポロジ管理データベース３２４を参照して、移動元の物理サーバ１１０から移動先の物理サーバ１１０までのＶＭ１１２の移動経路を検索する。ここでは、検索されたＶＭ１１２の移動経路は、ＶＭ１１２の移動経路の経路情報として出力されるものとする。
【０１２５】
以上がステップＳ１００５の処理の説明である。
【０１２６】
実施例１では、サービス管理部３１４は、計算機リソースが最も少ないＶＭ２（１１２−２）を移動対象として選択する。サービス管理部３１４は、ＶＭ２（１１２−２）の移動先となる物理サーバ１１０を検索する。サービス管理部３１４は、仮想マシンリソース管理データベース３２２から、ＶＭ２（１１２−２）のプロセッサ量、メモリ量、ストレージ量、送信帯域、及び受信帯域として、１ＧＨｚ、２ＧＢｙｔｅ、２００ＧＢｙｔｅ、５００Ｍｂｐｓ、５００Ｍｂｐｓをそれぞれ取得する。サービス管理部３１４は、物理サーバリソース管理データベース３２１を参照して、ＶＭ２（１１２−２）に必要な計算機リソースを割り当てられる物理サーバ１１０として物理サーバ１（１１０−１）を検索する。
【０１２７】
次に、サービス管理部３１４は、ＶＭ１１２の移動によってＶＭ通信を復旧できるか否かを判定する（ステップＳ１００６）。具体的には、以下のような処理が実行される。
【０１２８】
サービス管理部３１４は、ステップＳ１００５の処理結果に基づいて、ＶＭ１１２の移動先となる物理サーバ１１０が存在するか否かを判定する。ＶＭ１１２の移動先となる物理サーバ１１０が存在しない場合、サービス管理部３１４は、ＶＭ１１２の移動によってＶＭ通信を復旧できないと判定する。
【０１２９】
ＶＭ１１２の移動先となる物理サーバ１１０が存在する場合、サービス管理部３１４は、当該ＶＭ１１２を現在の物理サーバ１１０から移動先の物理サーバ１１０に移動させた後、ＶＭ通信を復旧できるか否かを判定する。当該判定方法は、ステップＳ１００２と同様の判定方法を用いればよい。このとき、移動させるＶＭ１１２と通信する他のＶＭ１１２が稼動する物理サーバ１１０、及び移動させるＶＭ１１２が移動した物理サーバ１１０を始点及び終点として扱えばよい。
【０１３０】
以上がステップＳ１００６の処理の説明である。
【０１３１】
実施例１では、サービス管理部３１４は、ＶＭ２（１１２−２）を物理サーバ２（１１０−２）から物理サーバ１（１１０−１）に移動された場合、ＶＭ２（１１２−２）とＶＭ４（１１２−４）との間のＶＭ通信が復旧可能か否かを判定する。ＶＭ２（１１２−２）とＶＭ４（１１２−４）との間のＶＭ通信ではデータの送受信に５００Ｍｂｐｓの帯域が必要である。一方、移動後のＶＭ２（１１２−２）が稼動する物理サーバ１（１１０−１）と、ＶＭ４（１１２−４）が稼動する物理サーバ４（１１０−４）とを接続する通信経路に含まれるリンク１の帯域は「５００Ｍｂｐｓ」である。したがって、サービス管理部３１４は、ＶＭ１１２の移動によってＶＭ通信を復旧できると判定する。
【０１３２】
ステップＳ１００６において、ＶＭ１１２の移動によってＶＭ通信を復旧できないと判定された場合、サービス管理部３１４は、切替処理のみを実行し、また、復旧できないＶＭ通信に関する情報を通知する（ステップＳ１０１２）。その後、サービス管理部３１４は、ステップＳ１００９に進む。例えば、サービス管理部３１４は、入出力装置３０５に復旧できないＶＭ通信に関する情報を表示する。切替処理が実行されることによって、一部のＶＭ通信のみが復旧できる。
【０１３３】
ステップＳ１００６において、ＶＭ１１２の移動によってＶＭ通信を復旧できると判定された場合、サービス管理部３１４は、切替処理がＶＭ１１２の移動処理に影響するか否かを判定する（ステップＳ１００７）。
【０１３４】
復旧経路にＶＭ１１２の移動経路と重複する経路（リンク）が存在する場合、切替処理が実行されると当該重複する経路（リンク）の帯域が復旧したＶＭ通信によって使用される。そのため、ＶＭ１１２の移動処理に使用可能な帯域が少なくなり、ＶＭ１１２の移動処理が実行できない、又は、ＶＭ１１２の移動処理の完了までに時間が非常にかかる。これによって、ＶＭ１１２の移動によって復旧させるＶＭ通信が迅速に復旧できない。したがって、実施例１では、ステップＳ１００７のような判定処理が実行される。ここで、ステップＳ１００７の具体的な処理について説明する。
【０１３５】
サービス管理部３１４は、ＶＭ１１２の移動経路の経路情報、及び復旧経路の経路情報を取得する。なお、経路情報は、ステップＳ１００２及びステップＳ１００５において生成される情報である。
【０１３６】
サービス管理部３１４は、取得された二つの経路情報を比較し、復旧経路にＶＭ１１２の移動経路と重複するリンクが存在するか否かを判定する。すなわち、復旧経路がＶＭ１１２の移動経路の少なくとも一部の経路と重複するか否かが判定される。
【０１３７】
復旧経路にＶＭ１１２の移動経路と重複するリンクが存在しないと判定された場合、サービス管理部３１４は、復旧経路がＶＭ１１２の移動経路に影響しないと判定する。
【０１３８】
復旧経路にＶＭ１１２の移動経路と重複するリンクが存在すると判定された場合、サービス管理部３１４は、復旧経路の経路情報、ネットワークリソース管理データベース３２３及びトポロジ管理データベース３２４に基づいて、復旧経路を用いて切替処理実行後において、重複するリンクの推定使用可能帯域を算出する。
【０１３９】
例えば、サービス管理部３１４は、復旧経路の経路情報及びネットワークリソース管理データベース３２３に基づいて、復旧経路を用いて復旧させるＶＭ通信の送信帯域５０６又は受信帯域５０７の合計値を算出する。サービス管理部３１４は、トポロジ管理データベース３２４を参照して重複するリンクのエントリを検索し、当該エントリの使用可能帯域６０４から値を取得する。サービス管理部３１４は、使用可能帯域６０４の値から、算出されたＶＭ通信の帯域の合計値を減算することによって、重複するリンクの推定使用可能帯域を算出する。
【０１４０】
サービス管理部３１４は、重複するリンクの推定使用可能帯域が閾値以下であるか否かを判定する。閾値は、予めサービス管理部３１４に設定されているものとする。なお、閾値は、入出力装置３０５を用いて変更することができる。
【０１４１】
重複するリンクの推定使用可能帯域が閾値より大きいと判定された場合、復旧処理がＶＭ１１２の移動処理に影響しないと判定する。一方、重複するリンクの推定使用可能帯域が閾値以下であると判定された場合、サービス管理部３１４は、復旧処理がＶＭ１１２の移動処理に影響すると判定する。
【０１４２】
以上がステップＳ１００７の処理の説明である。なお、サービス管理部３１４は、復旧経路に含まれるリンクにＶＭ１１２の移動経路と重複するリンクが存在する場合、復旧処理がＶＭ１１２の移動処理に影響すると判定してもよい。
【０１４３】
実施例１では、サービス管理部３１４は、ネットワークノード２（１２０−２）、ネットワークノード１（１２０−１）の識別子が含まれる移動経路の経路情報を取得し、ネットワークノード２（１２０−２）、ネットワークノード１（１２０−１）、ネットワークノード３（１２０−３）の識別子が含まれる復旧経路の経路情報を取得する。サービス管理部３１４は、二つの経路情報を比較し、リンク１が重複していると判定する。サービス管理部３１４は、リンク１の推定使用可能帯域「０Ｍｂｐｓ」を算出する。閾値が０Ｍｂｐｓである場合、サービス管理部３１４は、復旧処理がＶＭ１１２の移動処理に影響すると判定する。
【０１４４】
ステップＳ１００７において、復旧処理がＶＭ１１２の移動処理に影響しないと判定された場合は、サービス管理部３１４は、復旧経路を用いた切替処理、及びＶＭ１１２の移動処理の実行し（ステップＳ１０１３）、その後、ステップＳ１００９に進む。具体的には、サービス管理部３１４は、各処理に関連する物理サーバ１１０及びネットワークノード１２０に、各処理の制御指示を送信する。これによって、切替処理及び移動処理は、互いの処理に影響を受けることなく独立に実行される。
【０１４５】
ステップＳ１００７において、復旧処理がＶＭ１１２の移動処理に影響すると判定された場合、サービス管理部３１４は、ＶＭ１１２の移動処理の実行後、復旧経路を用いて切替処理を実行し（ステップＳ１００８）、その後、ステップＳ１００９に進む。
【０１４６】
サービス管理部３１４は、処理の結果に基づいてデータベースを更新し（ステップＳ１００９）、その後、ステップＳ１００１に戻る。具体的には、以下のような処理が実行される。
【０１４７】
切替処理のみが実行された場合、サービス管理部３１４は、ネットワークリソース管理データベース３２３の使用帯域６０３、使用可能帯域６０４、通信フロー６０５、及び通信帯域６０６を更新する。
【０１４８】
切替処理及びＶＭ１１２の移動処理が実行された場合、サービス管理部３１４は、物理サーバリソース管理データベース３２１のエントリのうち、ＶＭ１１２の移動前に当該ＶＭ１１２が稼動していた物理サーバ１１０と当該ＶＭ１１２が移動した物理サーバ１１０のエントリを更新する。また、サービス管理部３１４は、仮想マシンリソース管理データベース３２２のエントリのうち、移動したＶＭ１１２のエントリを更新する。さらに、サービス管理部３１４は、ネットワークリソース管理データベース３２３の使用帯域６０３、使用可能帯域６０４、通信フロー６０５、及び通信帯域６０６を更新する。
【０１４９】
以上がステップＳ１００９の処理に説明である。
【０１５０】
実施例１では、ＶＭ３（１１２−３）とＶＭ５（１１２−５）との間のＶＭ通信については切替処理によって復旧させ、ＶＭ２（１１２−２）とＶＭ４（１１２−４）との間のＶＭ通信についてはＶＭ２（１１２−２）の移動処理によって復旧される。したがって、ネットワークリソース管理データベース３２３は図１１に示すような状態に更新される。例えば、ネットワークノード１（１２０−１）からネットワークノード２（１２０−２）へのリンクであるリンク１Ａは、使用帯域が５００Ｍｂｐｓであり、使用可能帯域が０Ｍｂｐｓであることが分かる。また、当該リンク１Ａは、ＶＭ５（１１２−５）からＶＭ３（１１２−３）への方向の通信フローによって５００Ｍｂｐｓの帯域が使用されていることが分かる。
【０１５１】
以上で説明したように、実施例１によれば、システム管理サーバ１００は、物理サーバ１１０の計算機リソース及びネットワークリソースを一元的に管理しているため、ＶＭ１１２が使用する通信経路に含まれるリンクに障害が発生した場合に、当該リンクの障害によって停止したＶＭ通信を復旧させるための処理を迅速かつ適切に決定することができる。
【０１５２】
また、ＶＭ通信を復旧させるために通信経路の切替処理及びＶＭ１１２の移動処理を実行する必要がある場合、システム管理サーバ１００は、切替処理がＶＭ１１２の移動処理に与える影響を判定し、判定結果に基づいて二つの処理の実行順番を調整する。すなわち、システム管理サーバ１００は、通信経路の切替処理がＶＭ１１２の移動処理に影響を与える場合には、ＶＭ１１２の移動処理を実行した後に、通信経路の切替処理を実行する。
【０１５３】
これによって、ＶＭ１１２の移動処理が完了するまでの時間を短縮することができるため、システム全体としてＶＭ通信の復旧速度、すなわち、サービスの復旧速度を高めることができ、また、復旧可能なサービスの数を増やすことができる。すなわち、システム全体として迅速かつ多くのサービスを復旧できる。
【実施例２】
【０１５４】
実施例２では、計算機システムが、複数のデータセンタから構成される点が実施例１と異なる。以下、実施例１との差異を中心に実施例２について説明する。
【０１５５】
図１２は、実施例２の計算機システムの構成例を示す説明図である。
【０１５６】
実施例２の計算機システムは、システム管理サーバ１００、データセンタ１（１２００−１）、データセンタ２（１２００−２）、データセンタ３（１２００−３）、ネットワークノード１（１２０−１）、ネットワークノード２（１２０−２）、及びネットワークノード３（１２０−３）から構成される。以下の説明では、データセンタ１（１２００−１）、データセンタ２（１２００−２）、及びデータセンタ３（１２００−３）を区別しない場合、データセンタ１２００と記載する。
【０１５７】
データセンタ１２００は、複数の物理サーバ１１０を有する。なお、データセンタ１２００は、ゲートウェイ装置及びスイッチなどの構成を有してもよい。
【０１５８】
実施例２では、複数のデータセンタ１２００が業務ネットワークを介して互いに接続される。また、システム管理サーバ１００は、管理ネットワーク１３０を介して、複数のデータセンタ１２００及び複数のネットワークノード１２０と接続する。
【０１５９】
実施例２では、データセンタ１（１２００−１）とネットワークノード１（１２０−１）との間のリンクの帯域、データセンタ２（１２００−２）とネットワークノード２（１２０−２）との間のリンクの帯域、データセンタ３（１２００−３）とネットワークノード３（１２０−３）との間のリンクの帯域は、それぞれ双方向に対して１Ｇｂｐｓであるものとする。ネットワークノード１２０間のリンクの帯域は実施例１と同一であるものとする。
【０１６０】
物理サーバ１１０の構成は実施例１と同一であるため説明を省略する。実施例２では、データセンタ１（１２００−１）に含まれる物理サーバ１（１１０−１）上にはＶＭ１（１１２−１）が稼動する。データセンタ１（１２００−１）に含まれる物理サーバ２（１１０−２）上にはＶＭ２（１１２−２）、ＶＭ３（１１２−３）、ＶＭ４（１１２−４）、ＶＭ５（１１２−５）が稼動し、物理サーバ３（１１０−３）上にはＶＭ６（１１２−６）、ＶＭ７（１１２−７）、ＶＭ８（１１２−８）、ＶＭ９（１１２−９）が稼動する。また、データセンタ３（１２００−３）に含まれる物理サーバ４（１１０−４）上にはＶＭ１０（１１２−１０）、ＶＭ１１（１１２−１１）、ＶＭ１２（１１２−１２）、ＶＭ１３（１１２−１３）が稼動し、物理サーバ５（１１０−５）上にはＶＭ１４（１１２−１４）、ＶＭ１５（１１２−１５）、ＶＭ１６（１１２−１６）、ＶＭ１７（１１２−１７）が稼動する。
【０１６１】
実施例２では、物理サーバ２（１１０−２）と物理サーバ４（１１０−４）とが双方向にデータを送受信し、使用される帯域は５００Ｍｂｐｓである。また、物理サーバ３（１１０−３）と物理サーバ５（１１０−５）とが双方向にデータを送受信し、使用される帯域は５００Ｍｂｐｓであるものとする。なお、物理サーバ２（１１０−２）、物理サーバ３（１１０−３）、物理サーバ４（１１０−４）、物理サーバ５（１１０−５）上で稼動するＶＭ１１２が使用する帯域については、図１６を用いて後述する。
【０１６２】
実施例２では、計算機システムの稼動中に、ネットワークノード２（１２０−２）とネットワークノード３（１２０−３）との間のリンク３に障害が発生し、データの送受信が停止した場合を想定する。
【０１６３】
図１３は、実施例２の復旧処理が実行された後の計算機システムの状態の一例を示す説明図である。
【０１６４】
リンク３に障害が発生した場合、物理サーバ２（１１０−２）上で稼動するＶＭ１１２と物理サーバ４（１１０−４）上で稼動するＶＭ１１２との間の通信、及び物理サーバ３（１１０−３）上で稼動するＶＭ１１２と物理サーバ５（１１０−５）上で稼動するＶＭ１１２との間の通信が切断される。
【０１６５】
システム管理サーバ１００は、リンク３に障害が発生したことを検出すると、ＶＭ通信を復旧させるための復旧処理を実行する。
【０１６６】
まず、システム管理サーバ１００は、ＶＭ通信を復旧するための復旧経路を検索する。なお、検索される復旧経路は実施例１と同一のものとする。
【０１６７】
しかし、物理サーバ２（１１０−２）と物理サーバ４（１１０−４）との間の通信、及び物理サーバ３（１１０−３）と物理サーバ５（１１０−５）との間の通信に必要な帯域は１Ｇｂｐｓであるが、リンク１の帯域は５００Ｍｂｐｓであるため、５００Ｍｂｐｓだけ帯域が不足する。
【０１６８】
そこで、システム管理サーバ１００は、物理サーバ３（１１０−３）と物理サーバ５（１１０−５）との間の通信は、検索された復旧経路を用いて５００Ｍｂｐｓの通信を復旧させることを決定する。また、システム管理サーバ１００は、復旧経路を用いて復旧できない物理サーバ２（１１０−２）と物理サーバ４（１１０−４）との間の通信については、ＶＭ１１２の移動によって復旧させる。具体的には、システム管理サーバ１００は、ＶＭ２（１１２−２）、ＶＭ３（１１２−３）、ＶＭ４（１１２−４）、ＶＭ５（１１２−５）を物理サーバ２（１１０−２）から物理サーバ１（１１０−１）に移動させた後、ＶＭ通信を復旧させる。
【０１６９】
前述した切替処理とＶＭ１１２の移動処理では、実施例１と同様の課題が存在する。そのため、システム管理サーバ１００は、ＶＭ１１２の移動処理を実行した後に、切替処理を実行する。
【０１７０】
図１４は、実施例２のシステム管理サーバ１００のハードウェア構成及びソフトウェア構成の一例を示すブロック図である。
【０１７１】
システム管理サーバ１００のハードウェア構成は実施例１と同一であるため、説明を省略する。実施例２では、メモリ３０２に格納される情報が一部異なる。また、実施例２では、サービス管理部３１４が実行する処理が一部異なる。
【０１７２】
実施例２のメモリ３０２には、移動優先度データベース１４０１が格納される。その他の機能構成及び情報は実施例１と同一である。移動優先度データベース１４０１は、データセンタ１２００に含まれる物理サーバ１１０のうち、どの物理サーバ１１０上で稼動するＶＭ１１２を移動させるかを選択するための情報を格納する。移動優先度データベース１４０１の詳細は、図１９を用いて後述する。
【０１７３】
実施例２のサービス管理部３１４は、移動候補のＶＭ１１２が複数ある場合に、移動優先度データベース１４０１を参照して、移動させるＶＭ１１２を選択する。
【０１７４】
物理サーバ１１０及びネットワークノード１２０の構成は実施例と同一であるため説明を省略する。
【０１７５】
図１５は、実施例２の物理サーバリソース管理データベース３２１の一例を示す説明図である。図１６は、実施例２の仮想マシンリソース管理データベース３２２の一例を示す説明図である。図１７は、実施例２のネットワークリソース管理データベース３２３の一例を示す説明図である。図１８は、実施例２のトポロジ管理データベース３２４の一例を示す説明図である。
【０１７６】
物理サーバリソース管理データベース３２１、仮想マシンリソース管理データベース３２２及びネットワークリソース管理データベース３２３の各カラムは実施例１と同一のものであるため説明を省略する。
【０１７７】
図１５及び図１６に示す物理サーバリソース管理データベース３２１及び仮想マシンリソース管理データベース３２２は、計算機システムの物理サーバのリソース量及びＶＭ１１２のリソース量の使用状態を示す。また、図１７に示すネットワークリソース管理データベース３２３は、復旧処理の実行前のネットワークのリソースの使用状態を示す。図１８に示すトポロジ管理データベース３２４は、計算機システムの接続状態を示す。
【０１７８】
図１９は、実施例２の移動優先度データベース１４０１の一例を示す説明図である。
【０１７９】
移動優先度データベース１４０１は、仮想マシンＩＤ１９０１及び移動優先度１９０２を含む。仮想マシンＩＤ１９０１は、ＶＭ１１２を識別するための識別子である。移動優先度１９０２は、移動処理の対象となるＶＭ１１２を決定する場合に使用する優先度である。
【０１８０】
実施例２では、サービス管理部３１４が、所定の方式にしたがって移動優先度１９０２に格納する値を算出する。ここで、サービス管理部３１４に適用可能な方式の一例を図２０に示す。なお、サービス管理部３１４は、移動優先度１９０２を算出する方式を算出情報として保持する。
【０１８１】
図２０は、実施例２のサービス管理部３１４が移動優先度を算出する場合に適用する方式の一例を示す説明図である。
【０１８２】
図２０では、移動優先度の算出方式として２１個の方式を示している。なお、算出方式はこれに限定されない。
【０１８３】
図１９の移動優先度１９０２には、「方式１」に対応する算出式に基づいて算出された値が格納される。「方式１」に基づいて算出された値は、当該値が大きいほど優先的に移動するＶＭ１１２であることを示す。図２０に示す他の方式に基づいて算出された値についても同様の扱いとする。
【０１８４】
したがって、図１９に示す例では、ＶＭ２（１１２−２）の移動優先度１９０２が最も大きいため、ＶＭ２（１１２−２）が優先的に移動対象として選択される。
【０１８５】
実施例２では、業務ネットワーク内のリンクに障害が発生し、ＶＭ通信が切断された場合に、システム管理サーバ１００が、ＶＭ１１２を現在の物理サーバ１１０から他の物理サーバ１１０へ移動させることによって、ＶＭ通信を復旧させる。そのため、帯域の使用量が多いＶＭ１１２を優先的に移動させた方がよく、また、移動させるＶＭ１１２のデータサイズが小さいＶＭ１１２を優先的に移動させた方がよい。したがって、実施例２では、サービス管理部３１４は、「方式１」に基づいて移動優先度を算出する。
【０１８６】
図２１Ａ及び図２１Ｂは、実施例２の復旧処理の流れを説明するシーケンス図である。
【０１８７】
以下では、図１２に示す状態を例に説明する。すなわち、物理サーバ２（１１０−２）上のＶＭ１１２と物理サーバ４（１１０−４）上のＶＭ１１２とが通信し（ステップＳ２１００）、物理サーバ３（１１０−３）上のＶＭ１１２と物理サーバ５（１１０−５）上のＶＭ１１２とが通信する（ステップＳ２１０１）。
【０１８８】
システム管理サーバ１００は、ネットワークノード２（１２０−２）からリンク３の障害発生の通知を受信する（ステップＳ２１１０）。システム管理サーバ１００は、リンク３の障害によって物理サーバ２（１１０−２）上のＶＭ２（１１２−２）、ＶＭ３（１１２−３）、ＶＭ４（１１２−４）、ＶＭ５（１１２−５）と、物理サーバ４（１１０−４）上のＶＭ１０（１１２−１０）、ＶＭ１１（１１２−１１）、ＶＭ１２（１１２−１２）、ＶＭ１３（１１２−１３）との間のＶＭ通信の停止を検出する。また、システム管理サーバ１００は、リンク３の障害によって物理サーバ３（１１０−３）上のＶＭ６（１１２−６）、ＶＭ７（１１２−７）、ＶＭ８（１１２−８）、ＶＭ９（１１２−９）と、物理サーバ５（１１０−５）上のＶＭ１４（１１２−１４）、ＶＭ１５（１１２−１５）、ＶＭ１６（１１２−１６）、ＶＭ１７（１１２−１７）との間のＶＭ通信の停止を検出する。
【０１８９】
システム管理サーバ１００は、復旧経路を検索する（ステップＳ２１１１）。その後、システム管理サーバ１００は、復旧経路を用いた切替処理では復旧できないＶＭ通信が存在するか否かを判定する。
【０１９０】
復旧経路を用いた切替処理では復旧できないＶＭ通信が存在すると判定された場合、システム管理サーバ１００は、移動させるＶＭ１１２を選択し、選択されたＶＭ１１２の移動先となる物理サーバ１１０を検索する（ステップＳ２１１２）。
【０１９１】
実施例２では、移動候補のＶＭ１１２が複数存在する。そこで、サービス管理部３１４は、復旧経路に含まれるリンクの使用可能帯域、及び移動優先度に基づいて、移動させるＶＭ１１２を選択する。具体的な処理については図２２を用いて後述する。ここでは、ＶＭ２（１１２−２）、ＶＭ３（１１２−３）、ＶＭ４（１１２−４）、ＶＭ５（１１２−５）が移動させるＶＭ１１２として選択されるものとする。また、移動先の物理サーバ１１０として物理サーバ１（１１０−１）が検索されたものとする。
【０１９２】
ステップＳ２１１３からステップＳ２１２６までの処理は、実施例１のステップＳ９１３からステップＳ９２６までの処理と同一の処理であるため説明を省略する。なお、ステップＳ２１１８では、サービス管理部３１４は、移動優先度にしたがって、現在の物理サーバ１１０から移動先の物理サーバ１１０に選択されたＶＭ１１２を移動する。
【０１９３】
図２２は、実施例２のシステム管理サーバ１００が実行する復旧処理を説明するフローチャートである。図２３は、実施例２の復旧処理が実行された後のネットワークリソース管理データベース３２３を示す説明図である。
【０１９４】
ステップＳ１００１からステップＳ１００４、ステップＳ１００８からステップＳ１０１１の処理は実施例１と同一であるため説明を省略する。
【０１９５】
ステップＳ１００４において、決定された復旧経路を用いて、障害が発生したすべてのＶＭ通信を復旧できないと判定された場合、サービス管理部３１４は、移動させるＶＭ１１２を選択し、選択されたＶＭ１１２の移動先となる物理サーバ１１０を検索する（ステップＳ２２０１）。具体的には以下のような処理が実行される。
【０１９６】
サービス管理部３１４は、対象ＶＭ情報を参照して移動候補のＶＭ１１２を特定する。サービス管理部３１４は、物理サーバリソース管理データベース３２１、仮想マシンリソース管理データベース３２２、ネットワークリソース管理データベース３２３等を用いて、予め設定された方式にしたがって、特定されたＶＭ１１２の移動優先度を算出する。また、サービス管理部３１４は、復旧経路の帯域を算出する。復旧経路の帯域の算出方法は実施例１と同一の方法を用いるものとする。
【０１９７】
サービス管理部３１４は、移動優先度の値が最も大きいＶＭ１１２を移動させるＶＭ１１２として選択する。サービス管理部３１４は、選択されたＶＭ１１２に関連するＶＭ通信の帯域を、ＶＭ１１２が使用する帯域の合計値から減算する。サービス管理部３１４は、選択されたＶＭ１１２に関連するＶＭ通信の帯域が減算された帯域の合計値が、復旧経路の帯域以下であるか否かを判定する。
【０１９８】
選択されたＶＭ１１２に関連するＶＭ通信の帯域が減算された帯域の合計値が復旧経路の帯域より大きい場合、サービス管理部３１４は、次に移動優先度の値が大きいＶＭ１１２を移動させるＶＭ１１２として選択する。サービス管理部３１４は、選択されたＶＭ１１２に関連するＶＭ通信の帯域が減算された帯域の合計値が復旧経路の帯域以下であるか否かを判定する。サービス管理部３１４は、選択されたＶＭ１１２に関連するＶＭ通信の帯域が減算された帯域の合計値が復旧経路の帯域以下になるまで、移動優先度の値に基づいて移動させるＶＭ１１２を選択する。サービス管理部３１４は、選択されたＶＭ１１２の識別子を移動候補ＶＭ情報として保持する。
【０１９９】
サービス管理部３１４は、移動させるＶＭ１１２を選択した後、選択されたＶＭ１１２の移動先となる物理サーバ１１０を検索する。物理サーバ１１０の検索方法は、実施例１と同一の方法を用いるものとする。なお、実施例２では、複数のＶＭ１１２が選択されるため、各ＶＭ１１２について移動先の物理サーバ１１０が検索される。なお、同一の物理サーバ１１０上で稼動するＶＭ１１２の場合、移動先の物理サーバ１１０が同一になるように検索してもよい。
【０２００】
以上がステップＳ２２０１の処理の説明である。
【０２０１】
実施例２では、サービス管理部３１４は、選択されたＶＭ１１２以外のＶＭ１１２が使用する帯域の合計値が５００Ｍｂｐｓ以下になるまで、移動させるＶＭ１１２を選択する。
【０２０２】
ステップＳ１００６では、サービス管理部３１４は、選択されたすべてのＶＭ１１２を現在の物理サーバ１１０から検索された物理サーバ１１０に移動させた場合に、すべてのＶＭ通信を復旧できるか否かを判定する。
【０２０３】
ステップＳ１００７では、少なくとの一つの移動経路と、少なくとも一つの復旧経路との間に重複するリンクが存在する場合、サービス管理部３１４は、復旧経路がＶＭ１１２の移動経路に影響すると判定する。
【０２０４】
以上で説明したように、実施例２によれば、移動可能なＶＭ１１２が複数存在する場合に、使用帯域が大きいＶＭ１１２又はデータサイズが小さいＶＭ１１２を優先的に移動させるように制御することによって、ＶＭ通信を迅速かつ効率的に復旧できる。
【０２０５】
（変形例）
変形例では、ステップＳ２２０１及びステップＳ１００７の処理が異なる。
【０２０６】
ステップＳ２２０１において、サービス管理部３１４は、移動優先度の値に基づいて、移動対象のＶＭ１１２を選択し、選択されたＶＭ１１２の移動先となる物理サーバ１１０を検索する。
【０２０７】
ステップＳ１００７では、サービス管理部３１４は、移動経路と、少なくとも一つの復旧経路との間に重複するリンクが存在するか否かを判定する。移動経路と、少なくとも一つの復旧経路との間に重複するリンクが存在すると判定された場合、サービス管理部３１４は、ＶＭ１１２の移動処理を実行する。その後、サービス管理部３１４は、選択されたＶＭ１１２以外のＶＭ１１２が使用する帯域の合計値が、復旧経路の帯域以下であるか否かを判定する。
【０２０８】
サービス管理部３１４は、選択されたＶＭ１１２以外のＶＭ１１２が使用する帯域の合計値が、復旧経路の帯域より大きい場合、サービス管理部３１４は、次に移動優先度の値が大きいＶＭ１１２を移動対象のＶＭ１１２について同様の処理を実行する。
【０２０９】
ＶＭ１１２の移動処理の数が多い場合であっても、順次、ＶＭ１１２の移動処理を実行することによって復旧が完了するまでの時間を短縮し、また、復旧における計算機システム全体の負荷を分散することができる。
【０２１０】
（変形例２）
変形例２では、ステップＳ１００７の処理が異なる。以下の説明では、複数のＶＭ１１２の移動処理、及び複数の切替処理が実行される復旧処理を想定する。
【０２１１】
サービス管理部３１４は、一つのＶＭ１１２の移動処理を選択し、当該移動処理に使用される移動経路と、各切替処理に使用される復旧経路とを比較する。サービス管理部３１４は、比較結果に基づいて、移動経路と重複するリンクを含む復旧経路が存在するか否かを判定する。サービス管理部３１４は、移動経路と重複するリンクを含む復旧経路が存在すると判定された場合、当該復旧経路を用いる切替処理を遅延実行リストに追加する。
【０２１２】
サービス管理部３１４は、すべてのＶＭ１１２の移動処理について前述した処理を繰り返し実行する。サービス管理部３１４は、遅延実行リストに含まれていない切替処理を特定する。
【０２１３】
サービス管理部３１４は、特定された切替処理及び移動処理を実行し、当該切替処理及び移動処理が完了した後、遅延実行リストに含まれる切替処理を実行する。これによって、復旧処理の処理時間を短縮することができる。
【実施例３】
【０２１４】
実施例３では、複数の物理サーバと複数のストレージシステムがネットワークを介して接続される計算機システムにおいて、ネットワークの障害が発生した場合に実行される復旧される処理について説明する。実施例３では、移動させる対象がＬＵ（Ｌｏｇｉｃａｌ  Ｕｎｉｔ）である点が実施例１と異なる。以下実施例１との差異を中心に実施例３について説明する。
【０２１５】
前述した計算機システムでも、実施例１と同様の課題がある。すなわち、ＶＭ１１２とＬＵとを接続する通信経路の切替処理と、ＬＵの移動処理とを実行する場合に、復旧経路への切替処理が先に実行されることによって、ＬＵの移動処理に影響を与え、ＬＵに格納されるデータへのアクセスができない。
【０２１６】
図２４は、実施例３の計算機システムの構成例を示す説明図である。
【０２１７】
実施例３の計算機システムは、システム管理サーバ１００、物理サーバ１（１１０−１）、ネットワークノード１（１２０−１）、ネットワークノード２（１２０−２）、ネットワークノード３（１２０−３）、ストレージシステム１（２４１０−１）、及びストレージシステム２（２４１０−２）から構成される。以下の説明では、ストレージシステム１（２４１０−１）、及びストレージシステム２（２４１０−２）を区別しない場合にはストレージシステム２４１０と記載する。
【０２１８】
システム管理サーバ１００は、管理ネットワーク１３０を介して、物理サーバ１１０、複数のネットワークノード１２０、及び複数のストレージシステム２４１０と接続する。
【０２１９】
実施例３では、ストレージシステム１（２４１０−１）とネットワークノード１（１２０−１）との間のリンクの帯域、ストレージシステム２（２４１０−２）とネットワークノード２（１２０−２）との間のリンクの帯域、及び物理サーバ１（１１０−１）とネットワークノード３（１２０−３）との間のリンクの帯域は、それぞれ双方向に対して１Ｇｂｐｓである。また、リンク１の帯域は、双方向に対して５００Ｍｂｐｓであり、リンク２及びリンク３の帯域は、それぞれ双方向に対して１Ｇｂｐｓであるものとする。
【０２２０】
ストレージシステム２４１０は、ＶＭ１１２に記憶領域を提供する。ストレージシステム２４１０は、プロセッサ（図示省略）、メモリ（図示省略）、複数のストレージ装置（図示省略）、及びＮＩＣ又はＨＢＡなどのＩ／Ｏデバイス（図示省略）を有する。ストレージシステム２４１０のメモリ（図示省略）には、ストレージ管理部２４１１を実現するためのプログラムがロードされ、プロセッサ（図示省略）によって当該プログラムが実行される。
【０２２１】
ストレージ管理部２４１１は、複数のストレージ装置を用いてＬＵ２４１２を生成し、生成されたＬＵ２４１２をＶＭ１１２に提供する。なお、ＬＵ２４１２の生成方法は公知のものであるため説明を省略する。
【０２２２】
物理サーバ１（１１０−１）では仮想化部１（１１１−１）によって管理されるＶＭ１（１１２−１）及びＶＭ２（１１２−２）が稼動する。また、ストレージシステム１（２４１０−１）ではストレージ管理部１（２４１１−１）がＬＵ１（２４１２−１）を生成し、ストレージシステム２（２４１０−２）ではストレージ管理部２（２４１１−２）がＬＵ２（２４１２−２）及びＬＵ３（２４１２−３）を生成する。また、ＶＭ１（１１２−１）にはＬＵ２（２４１２−２）が提供され、ＶＭ２（１１２−２）にはＬＵ３（２４１２−３）が提供される。
【０２２３】
また、ＶＭ１（１１２−１）はＬＵ２（２４１２−２）からデータを取得し、５００Ｍｂｐｓの帯域を使用し、ＶＭ２（１１２−２）はＬＵ３（２４１２−３）データを取得し、５００Ｍｂｐｓの帯域を使用しているものとする。
【０２２４】
実施例３では、計算機システムの稼動中において、ネットワークノード２（１２０−２）とネットワークノード３（１２０−３）との間のリンク３に障害が発生し、データの受信が停止した場合を想定する。
【０２２５】
図２５は、実施例３の復旧処理が実行された後の計算機システムの状態の一例を示す説明図である。
【０２２６】
リンク３に障害が発生した場合、ＶＭ１（１１２−１）とＬＵ２（２４１２−２）との間の通信、及びＶＭ２（１１２−２）とＬＵ３（２４１２−３）との間の通信が切断される。
【０２２７】
システム管理サーバ１００は、リンク３に障害が発生したことを検出すると、ＶＭ１１２とＬＵ２４１２との間の通信を復旧するために、実施例１と同一の処理を実行する。実施例３では、移動させる対象がＬＵ２４１２である点が実施例１と異なる。
【０２２８】
実施例３では、復旧経路を用いた切替処理、及びＬＵ２４１２の移動処理の両方を実行する必要があり、リンク２の帯域が５００Ｍｂｐｓだけ不足する。そのため、システム管理サーバ１００は、実施例１と同様に、復旧経路を用いた切替処理と、ＬＵ２４１２の移動処理との実行順番を決定する。
【０２２９】
すなわち、システム管理サーバ１００は、検索された復旧経路と、ＬＵ２４１２の移動経路とを比較し、復旧経路がＬＵ２４１２の移動経路の少なくとも一部と重複するか否かを判定する。復旧経路がＬＵ２４１２の移動経路の少なくとも一部と重複する場合、システム管理サーバ１００は、復旧経路を用いた切替処理によって、ＬＵ２４１２の移動処理が阻害される可能性があるかと判定し、ＬＵ２４１２の移動処理を先に実行し、その後、復旧経路への切替処理を実行する。
【０２３０】
なお、具体的な処理の方法は実施例１と同一であるため説明を省略する。なお、実施例３では、ＶＭ１１２の情報の代わりにＬＵ２４１２の情報が用いられる。
【０２３１】
実施例３によれば、ＶＭ１１２とＬＵ２４１２との間の通信障害の復旧処理についても実施例１と同様の処理を適用することができる。したがって、ＬＵ２４１２の移動処理が完了するまでの時間を短縮することができるため、システム全体としてサービスの復旧速度を高めることができ、また、サービスの数を増やすことができる。すなわち、システム全体として迅速かつ多くのＶＭ通信を復旧できる。
【実施例４】
【０２３２】
実施例４では、複数の物理サーバ及び複数のクライアント装置がネットワークを介して接続される計算機システムにおいて、新たな通信フローを追加する場合に実行される通信フローの設定処理について説明する。すなわち、実施例４では、システム構成の変更契機が新規通信フローの追加である。通信フローの設定処理においても実施例１と同一の課題がある。以下、実施例１との差異を中心に実施例４について説明する。
【０２３３】
図２６は、実施例４の計算機システムの構成例を示す説明図である。
【０２３４】
実施例４の計算機システムは、システム管理サーバ１００、物理サーバ１（１１０−１）、物理サーバ２（１１０−２）、ネットワークノード１（１２０−１）、ネットワークノード２（１２０−２）、ネットワークノード３（１２０−３）、クライアント装置１（２６００−１）、クライアント装置２（２６００−２）、及びクライアント装置３（２６００−３）から構成される。以下の説明では、クライアント装置１（２６００−１）、クライアント装置２（２６００−２）、及びクライアント装置３（２６００−３）を区別しない場合にはクライアント装置２６００と記載する。
【０２３５】
ネットワークノード１（１２０−１）、ネットワークノード２（１２０−２）、及びネットワークノード３（１２０−３）は、業務ネットワークを構成する。各物理サーバ１１０及び各クライアント装置２６００は、業務ネットワークを介して互いに接続される。また、システム管理サーバ１００は、管理ネットワーク１３０を介して、複数の物理サーバ１１０、複数のネットワークノード１２０、及び複数のクライアント装置２６００と接続する。
【０２３６】
クライアント装置２６００は、サービスの提供を受けるユーザが使用する計算機であり、プロセッサ（図示省略）、メモリ（図示省略）、ネットワークインタフェース（図示省略）、及び入出力装置（図示省略）等を有する。
【０２３７】
実施例４のリンクの状態は実施例１と同一であるものとする。実施例４では、物理サーバ１（１１０−１）では仮想化部１（１１１−１）によって管理されるＶＭ１（１１２−１）が稼動し、物理サーバ２（１１０−２）では仮想化部２（１１１−２）によって管理されるＶＭ２（１１２−２）及びＶＭ３（１１２−３）が稼動する。また、クライアント装置１（２６００−１）は、ＶＭ２（１１２−２）と通信し、クライアント装置２（２６００−２）は、ＶＭ３（１１２−３）と通信する。ＶＭ２（１１２−２）とクライアント装置１（２６００−１）とが双方向にデータを送受信し、使用される帯域は５００Ｍｂｐｓであるものとする。また、ＶＭ３（１１２−３）とクライアント装置２（２６００−２）とが双方向にデータを送受信し、使用される帯域は５００Ｍｂｐｓであるものとする。
【０２３８】
実施例４では、物理サーバ２（１１０−２）にＶＭ４（１１２−４）を追加し、ＶＭ４（１１２−４）とクライアント装置３（２６００−３）とを接続する通信フローを追加することを想定する。当該通信フローに必要な帯域は７００Ｍｂｐｓとする。また、新規通信フローは、ネットワークの遅延が小さいことが追加条件として設定されているものとする。
【０２３９】
前述した条件の下では、リンク３を経由するように通信フローが設定されることが望ましい。しかし、リンク３の帯域には空きがない。そこで、システム管理サーバ１００は、要求された通信フローを設定するために、通信経路の切替処理及びＶＭ１１２の移動処理を実行する。
【０２４０】
なお、システム管理サーバ１００のハードウェア構成及びソフトウェア構成は実施例１と同一であるため説明を省略する。また、ネットワークノード１２０のハードウェア構成及びソフトウェア構成も実施例１と同一であるため説明を省略する。
【０２４１】
図２７は、実施例４の通信フローの設定処理が実行された後の計算機システムの状態の一例を示す説明図である。
【０２４２】
システム管理サーバ１００は、通信フローの追加要求を受信すると、現在使用される通信フローの迂回経路を検索する。ここでは、迂回経路としてネットワークノード２（１２０−２）、ネットワークノード１（１２０−１）及びネットワークノード３（１２０−３）を経由する経路、及びその逆方向の経路が迂回経路として検索されたものとする。
【０２４３】
しかし、ＶＭ２（１１２−２）とクライアント装置１（２６００−１）との間、及びＶＭ３（１１２−３）とクライアント装置２（２６００−２）との間の通信に必要な帯域は１Ｇｂｐｓであるが、リンク１の帯域は５００Ｍｂｐｓであるため、５００Ｍｂｐｓだけ帯域が不足する。
【０２４４】
そこで、システム管理サーバ１００は、ＶＭ３（１１２−３）とクライアント装置２（２６００−２）との間の通信は、検索された迂回経路を用いて５００Ｍｂｐｓの通信に切り替えるものとする。また、システム管理サーバ１００は、迂回経路を用いて通信フローを切り替えることができないＶＭ２（１１２−２）とクライアント装置１（２６００−１）との間の通信フローについては、ＶＭ１１２の移動によって切り替える。
【０２４５】
具体的には、システム管理サーバ１００は、ＶＭ２（１１２−２）を物理サーバ２（１１０−２）から物理サーバ１（１１０−１）に移動させた後、ＶＭ２（１１２−２）とクライアント装置１（２６００−１）との間の通信を再開するものとする。その後、システム管理サーバ１００は、物理サーバ２（１１０−２）にＶＭ４（１１２−４）を生成し、リンク３上にＶＭ４（１１２−４）とクライアント装置３（２６００−３）との間の通信フローを設定する。
【０２４６】
前述した通信フローの設定においても、実施例１と同様の課題が存在する。すなわち、迂回経路を用いた切替処理と、ＶＭ１１２の移動処理との実行順番を決定する必要がある。
【０２４７】
図２８Ａ及び図２８Ｂは、実施例４のシステム管理サーバ１００が実行する通信フローの設定処理の一例を説明するフローチャートである。
【０２４８】
以下では、図２７に示す状態を例に通信フローの設定処理について説明する。また、以下で説明する通信フローの設定処理は、サービス管理部３１４によって実行される。プロセッサ３０１は、メモリ３０２にサービス管理部３１４を実現するプログラムをロードし、ロードされたプログラムを実行することによって、以下で説明する処理が開始される。
【０２４９】
サービス管理部３１４は、新規通信フローの追加要求を受信したか否かを判定する（ステップＳ２８０１）。なお、新規通信フローの追加要求は、例えば、クライアント装置２６００から送信される。また、新規通信フローの追加要求には、サービスの提供を受けるクライアント装置２６００の識別子、新たにサービスを提供する新規ＶＭ１１２を稼動させる物理サーバ１１０の識別子、新規ＶＭ１１２のリソース量、及びサービスに使用する帯域の情報等が含まれるものとする。
【０２５０】
ステップＳ２８０１において、新規通信フローの追加要求を受信していないと判定された場合、サービス管理部３１４は、ステップＳ２８０１に戻り、新規通信フローの追加要求を受信するまで待ち続ける。
【０２５１】
ステップＳ２８０１において、新規通信フローの追加要求を受信したと判定された場合、サービス管理部３１４は、物理サーバリソース管理データベース３２１を参照して、指定された物理サーバ１１０が新規ＶＭ１１２を生成するための計算機リソースを有するか否かを判定する（ステップＳ２８０２）。具体的には、以下のような処理が実行される。
【０２５２】
サービス管理部３１４は、仮想マシンリソース管理データベース３２２に新規エントリを追加し、仮想マシンＩＤ５０１、プロセッサ割当量５０３、メモリ割当量５０４、及びストレージ装置割当量５０５のそれぞれに新規通信フローの設定要求に含まれる情報を格納する。
【０２５３】
なお、新規通信フローの設定要求は、サービスの内容及び品質等を含むものであってもよい。この場合、サービス管理部３１４は、サービス内容及び品質等の情報に基づいて、新規ＶＭ１１２のリソース量及び使用する帯域を算出できる。なお、サービス内容及び品質等の情報に基づいてＶＭ１１２のリソース量及び使用する帯域を算出する方法は、公知の方法を用いればよいため詳細な説明は省略する。
【０２５４】
サービス管理部３１４は、仮想マシンリソース管理データベース３２２に追加されたエントリの情報に基づいて物理サーバリソース管理データベース３２１を参照し、指定された物理サーバ１１０が新規ＶＭ１１２を生成するための計算機リソースを有する否かを判定する。
【０２５５】
以上がステップＳ２８０２の処理の説明である。
【０２５６】
ステップＳ２８０２において、指定された物理サーバ１１０が新規ＶＭ１１２を生成するための計算機リソースを有しないと判定された場合、サービス管理部３１４は、当該物理サーバ１１０上で稼動するＶＭ１１２の中から移動させるＶＭ１１２を選択し、選択されたＶＭ１１２の移動先となる物理サーバを検索する（ステップＳ２８０３）。
【０２５７】
具体的には、サービス管理部３１４は、仮想マシンリソース管理データベース３２２を参照して、指定された物理サーバ１１０上で稼動する複数のＶＭ１１２を特定し、特定された複数のＶＭ１１２の中から移動させるＶＭ１１２を選択する。サービス管理部３１４は、物理サーバ１１０の計算機リソースの空きが新規ＶＭ１１２に必要な計算機リソース以上となるまで、移動させるＶＭ１１２を選択するものとする。なお、ＶＭ１１２の選択方法は、例えば、実施例２と同一の方法を用いることが考えられる。また、サービス管理部３１４は、実施例１のステップＳ１００５の処理と同一の方法を用いて選択されたＶＭ１１２の移動先となる物理サーバ１１０を検索する。
【０２５８】
サービス管理部３１４は、ＶＭ１１２の移動後に、当該ＶＭ１１２とクライアント装置２６００との間の通信を継続できるか否かを判定する（ステップＳ２８０４）。すなわち、ＶＭ１１２とクライアント装置２６００との間の通信によって提供されるサービスを継続できるか否かを判定する。なお、ステップＳ２８０４の処理は、ステップＳ１００６と同一であるため説明を省略する。
【０２５９】
ステップＳ２８０４において、ＶＭ１１２の移動後に、当該ＶＭ１１２とクライアント装置２６００との間の通信を継続できないと判定された場合、サービス管理部３１４は、エラーを通知し（ステップＳ２８１０）、処理を終了する。
【０２６０】
ステップＳ２８０４において、ＶＭ１１２の移動後に、当該ＶＭ１１２とクライアント装置２６００との間の通信を継続できると判定された場合、サービス管理部３１４は、新規ＶＭ１１２とクライアント装置２６００との間の通信を設定できるかを判定する（ステップＳ２８０５）。すなわち、ＶＭ１１２を用いてサービスを提供できるか否かが判定される。具体的には、以下のような処理が実行される。
【０２６１】
サービス管理部３１４は、トポロジ管理データベース３２４を参照して、新規ＶＭ１１２とクライアント装置２６００とを接続する通信経路を検索する。検索方法は、実施例１と同一の方法を用いればよい、このとき、新規ＶＭ１１２が稼動する物理サーバ１１０及び新規ＶＭ１１２と通信するクライアント装置２６００が、通信経路の始点及び終点となる。
【０２６２】
サービス管理部３１４は、復旧経路の帯域を算出する方法と同一の方法を用いて、通信経路の帯域を算出する。サービス管理部３１４は、通信経路の帯域がサービスに使用する帯域以上であるか否かを判定する。通信経路の帯域がサービスに使用する帯域以上である場合、サービス管理部３１４は、新規ＶＭ１１２がサービスを提供できると判定する。
【０２６３】
以上がステップＳ２８０５の処理の説明である。
【０２６４】
ステップＳ２８０５において、新規ＶＭ１１２とクライアント装置２６００との間の通信を設定できると判定された場合、サービス管理部３１４は、ＶＭ１１２の移動処理を実行し（ステップＳ２８１１）、その後ステップＳ２８０９に進む。
【０２６５】
ステップＳ２８０５において、新規ＶＭ１１２とクライアント装置２６００との間の通信を設定できないと判定された場合、サービス管理部３１４は、新規ＶＭ１１２を稼動させる物理サーバ１１０上の他のＶＭ１１２の迂回経路が存在するか否かを判定する（ステップＳ２８０６）。他のＶＭ１１２の迂回経路の検索方法は、ステップＳ２８０５と同一の方法を用いればよい。
【０２６６】
ステップＳ２８０６において、他のＶＭ１１２の迂回経路が存在しないと判定された場合、サービス管理部３１４は、エラーを通知し（ステップＳ２８１２）、処理を終了する。
【０２６７】
ステップＳ２８０６において、他のＶＭ１１２の迂回経路が存在すると判定された場合、サービス管理部３１４は、切替処理がＶＭ１１２の移動処理に影響するか否かを判定する（ステップＳ２８０７）。ステップＳ２８０７は、ステップＳ１００７と同一の処理である。
【０２６８】
ステップＳ２８０７において、切替処理がＶＭ１１２の移動処理に影響しないと判定された場合、サービス管理部３１４は、迂回経路を用いた切替処理、及びＶＭ１１２の移動処理の実行し（ステップＳ２８１３）、その後、ステップＳ２８０９に進む。
【０２６９】
ステップＳ２８０７において、切替処理がＶＭ１１２の移動処理に影響すると判定された場合、サービス管理部３１４は、ＶＭ１１２の移動処理の実行後に、迂回経路を用いた切替処理を実行し（ステップＳ２８０８）、その後、ステップＳ２８０９に進む。
【０２７０】
ステップＳ２８０９では、サービス管理部３１４は、新規通信フローを設定し、処理の結果に基づいてデータベースを更新する（ステップＳ２８０９）。その後、サービス管理部３１４は、処理を終了する。すなわち、サービス管理部３１４は、指定された物理サーバ１１０にＶＭ１１２を生成し、ネットワークノード１２０に通信の転送設定を行う。なお、データベースの更新方法は、ステップＳ１００９と同様の処理であるため説明を省略する。
【０２７１】
ステップＳ２８０２において、指定された物理サーバ１１０が新規ＶＭ１１２を生成するための計算機リソースを有すると判定された場合、サービス管理部３１４は、新規ＶＭ１１２とクライアント装置２６００との間の通信を設定できるか否かを判定する（ステップＳ２８１４）。
【０２７２】
ステップＳ２８１４において、新規ＶＭ１１２とクライアント装置２６００との間の通信を設定できると判定された場合、サービス管理部３１４は、ステップＳ２８１６に進む。
【０２７３】
ステップＳ２８１４において、新規ＶＭ１１２とクライアント装置２６００との間の通信を設定できないと判定された場合、サービス管理部３１４は、新規ＶＭ１１２を稼動させる物理サーバ１１０上の他のＶＭ１１２の迂回経路が存在するか否かを判定する（ステップＳ２８１５）。
【０２７４】
ステップＳ２８１５において、他のＶＭ１１２の迂回経路が存在しないと判定された場合、サービス管理部３１４は、エラーを通知し（ステップＳ２８１７）、処理を終了する。
【０２７５】
ステップＳ２８１５において、他のＶＭ１１２の迂回経路が存在すると判定された場合、サービス管理部３１４は、迂回経路を用いた切替処理を実行し（ステップＳ２８１６）、その後、ステップＳ２８０９に進む。
【０２７６】
なお、実施例４では、サービス管理部３１４は、ＶＭ１１２の移動先となる物理サーバ１１０を検索した後、迂回経路を検索したが、処理の順番を変更することもできる。この場合、以下のような処理内容に変更される。
【０２７７】
サービス管理部３１４は、迂回経路を検索し、新規通信フローに対応するＶＭ以外のＶＭ１１２の通信を継続できるか否かを判定する。
【０２７８】
他のＶＭ通信を継続できる場合、サービス管理部３１４は、指定された物理サーバ１１０に新規ＶＭ１１２を生成するための計算機リソースが存在するか否かを判定する。
【０２７９】
指定された物理サーバ１１０に新規ＶＭ１１２を生成するための計算機リソースが存在する場合、サービス管理部３１４は切替処理を実行する。一方、指定された物理サーバ１１０に新規ＶＭ１１２を生成するための計算機リソースが存在しない場合、サービス管理部３１４は、移動させるＶＭ１１２を選択し、選択されたＶＭ１１２の移動先となる物理サーバ１１０を検索する。
【０２８０】
迂回経路を用いた切替処理では、新規ＶＭ１１２以外のＶＭ１１２の通信を継続できない場合、サービス管理部３１４は、移動させるＶＭ１１２を選択し、選択されたＶＭ１１２の移動先となる物理サーバ１１０を検索する。
【０２８１】
以上で説明したように、実施例４によれば、システム管理サーバ１００は、物理サーバ１１０の計算機リソース及びネットワークのリソースを一元的に管理しているため、新たに通信フローを追加する場合に、迅速かつ適切にサービスを提供するための通信フローの設定できる。
【０２８２】
また、通信経路の切替処理及びＶＭ１１２の移動処理を実行する必要がある場合、システム管理サーバ１００は、切替処理がＶＭ１１２の移動処理に与える影響を判定し、判定結果に基づいて二つの処理の実行順番を調整する。これによって、ＶＭ１１２の移動処理が完了するまでの時間を短縮することができるため、システム全体としてサービスの劣化をおさえ、かつ、迅速なサービスの提供が可能となる。
【０２８３】
実施例１から実施例４を用いて説明したように、本発明のシステム管理サーバ１００は、計算機システムの構成を変更する必要がある場合に、システム全体の影響を抑え、かつ、サービスの質及び数が最適となるように、通信経路の切替処理、及びＶＭ１１２又はＬＵ２４１２等の仮想計算機リソースの移動処理を実行できる。また、システム管理サーバ１００は、計算機システムの構成を変更に伴って通信経路の切替処理が、ＶＭ１１２等の移動処理に影響を与える場合には、二つの処理の実行順番を調整する。すなわち、システム管理サーバ１００は、ＶＭ１１２の移動処理を実行した後に、通信経路の切替処理を実行する。
【０２８４】
なお、本発明は上記した実施例に限定されるものではなく、様々な変形例が含まれる。また、例えば、上記した実施例は本発明を分かりやすく説明するために構成を詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、各実施例の構成の一部について、他の構成に追加、削除、置換することが可能である。
【０２８５】
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現してもよい。また、本発明は、実施例の機能を実現するソフトウェアのプログラムコードによっても実現できる。この場合、プログラムコードを記録した記憶媒体をコンピュータに提供し、そのコンピュータが備えるプロセッサが記憶媒体に格納されたプログラムコードを読み出す。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施例の機能を実現することになり、そのプログラムコード自体、及びそれを記憶した記憶媒体は本発明を構成することになる。このようなプログラムコードを供給するための記憶媒体としては、例えば、フレキシブルディスク、ＣＤ−ＲＯＭ、ＤＶＤ−ＲＯＭ、ハードディスク、ＳＳＤ（Ｓｏｌｉｄ  Ｓｔａｔｅ  Ｄｒｉｖｅ）、光ディスク、光磁気ディスク、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード、ＲＯＭなどが用いられる。
【０２８６】
また、本実施例に記載の機能を実現するプログラムコードは、例えば、アセンブラ、Ｃ／Ｃ＋＋、ｐｅｒｌ、Ｓｈｅｌｌ、ＰＨＰ、Ｊａｖａ（登録商標）等の広範囲のプログラム又はスクリプト言語で実装できる。
【０２８７】
さらに、実施例の機能を実現するソフトウェアのプログラムコードを、ネットワークを介して配信することによって、それをコンピュータのハードディスクやメモリ等の記憶手段又はＣＤ−ＲＷ、ＣＤ−Ｒ等の記憶媒体に格納し、コンピュータが備えるプロセッサが当該記憶手段や当該記憶媒体に格納されたプログラムコードを読み出して実行するようにしてもよい。
【０２８８】
上述の実施例において、制御線や情報線は、説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていてもよい。
【符号の説明】
【０２８９】
１１０  物理サーバ
１１１  仮想化部
１１２  ＶＭ
１２０  ネットワークノード
１３０  管理ネットワーク
３１１  物理サーバ管理部
３１２  仮想マシン管理部
３１３  ネットワーク管理部
３１４  サービス管理部
３２１  物理サーバリソース管理データベース
３２２  仮想マシンリソース管理データベース
３２３  ネットワークリソース管理データベース
３２４  トポロジ管理データベース
８１１  ノード管理部
８１２  データ転送テーブル
１２００  データセンタ
１４０１  移動優先度データベース
２４１０  ストレージシステム
２４１１  ストレージ管理部
２４１２  ＬＵ
２６００  クライアント装置
【図１】
2015216572.tif 000003
【図２】
2015216572.tif 000004
【図３】
2015216572.tif 000005
【図４】
2015216572.tif 000006
【図５】
2015216572.tif 000007
【図６】
2015216572.tif 000008
【図７】
2015216572.tif 000009
【図８】
2015216572.tif 000010
【図９Ａ】
2015216572.tif 000011
【図９Ｂ】
2015216572.tif 000012
【図１０】
2015216572.tif 000013
【図１１】
2015216572.tif 000014
【図１２】
2015216572.tif 000015
【図１３】
2015216572.tif 000016
【図１４】
2015216572.tif 000017
【図１５】
2015216572.tif 000018
【図１６】
2015216572.tif 000019
【図１７】
2015216572.tif 000020
【図１８】
2015216572.tif 000021
【図１９】
2015216572.tif 000022
【図２０】
2015216572.tif 000023
【図２１Ａ】
2015216572.tif 000024
【図２１Ｂ】
2015216572.tif 000025
【図２２】
2015216572.tif 000026
【図２３】
2015216572.tif 000027
【図２４】
2015216572.tif 000028
【図２５】
2015216572.tif 000029
【図２６】
2015216572.tif 000030
【図２７】
2015216572.tif 000031
【図２８Ａ】
2015216572.tif 000032
【図２８Ｂ】
2015216572.tif 000033