(57)【要約】【課題】ネットワーク側及びコンピュータ側を一元的に制御して、その機能を中断することなくコンピュータシステムのメンテナンスを実行する。【解決手段】本発明によるコンピュータシステムは、受信したパケットデータを、自身に設定されたフローに従った宛先に転送するスイッチ４ｉと、メンテナンス対象装置を指定する統合管理装置と、コントローラ３を具備する。コントローラ３は、スイッチ４ｉに対するフローの設定又は削除を制御することで、メンテナンス対象装置をコンピュータシステムから切り離す。【選択図】図１
2011081588.tif 000002
【特許請求の範囲】
【請求項１】
スイッチを介して接続された物理サーバを備えるコンピュータシステムにおいて、
受信したパケットデータを、自身に設定されたフローに従った宛先に転送するスイッチと、
メンテナンス対象装置を指定する統合管理装置と、
前記スイッチに対するフローの設定又は削除を制御することで、前記メンテナンス対象装置を前記コンピュータシステムから切り離すコントローラと、
を具備する
コンピュータシステム。
【請求項２】
請求項１に記載のコンピュータシステムにおいて、
前記統合管理装置に指定されたサーバのクラスタに関する情報を、前記統合管理装置に通知するサーバ管理装置を更に具備し、
前記統合管理装置は、クラスタにおける、前記メンテナンス対象装置として指定したサーバの状態に応じて、前記メンテナンス対象装置として指定したサーバの切り離し方法を変更する
コンピュータシステム。
【請求項３】
請求項２に記載のコンピュータシステムにおいて、
クラスタに設定されたサーバの状態を、稼動系と待機系のどちらか一方に設定するクラスタリング機構を更に具備し、
前記コントローラは、サーバの状態が稼動系から待機系に変更される前に、稼動系に変更される待機系のサーバを端点とする通信経路に対応するフローを、前記通信経路上のスイッチに設定する
コンピュータシステム。
【請求項４】
請求項３に記載のコンピュータシステムにおいて、
前記指定されたメンテナンス対象装置が、稼動系サーバである場合、
前記コントローラは、前記メンテナンス対象装置の状態が稼動系から待機系に変更される前に、稼動系に変更される待機系のサーバを端点とする第１通信経路に対応するフローを、前記第１通信経路上のスイッチに設定する
コンピュータシステム。
【請求項５】
請求項３又は４に記載のコンピュータシステムにおいて、
前記コントローラは、メンテナンス対象装置の状態が稼動系から待機系に変更された後に、前記メンテナンス対象装置を端点とする第２通信経路に対応するフローを、前記第２通信経路上のスイッチに設定する
コンピュータシステム。
【請求項６】
請求項２に記載のコンピュータシステムにおいて、
前記物理サーバ上で動作する仮想マシンモニタを管理するＶＭ管理装置を更に具備し、
前記指定されたメンテナンス対象装置が、仮想マシンモニタが動作する単体サーバである場合、前記統合管理装置は、前記ＶＭ管理装置に前記単体サーバ上で動作する仮想マシンの移動を指示し、
前記ＶＭ管理装置は、前記統合管理装置によって指定された移動先に前記仮想マシンを移動し、
前記コントローラは、前記仮想マシン宛のパケットデータを、移動先の仮想マシンに転送するフローを前記スイッチに設定する
コンピュータシステム。
【請求項７】
請求項２に記載のコンピュータシステムにおいて、
負荷分散クラスタに設定されたサーバに対する負荷分散を行うロードバランサを更に具備し、
前記指定されたメンテナンス対象装置が、負荷分散クラスタに設定されたサーバである場合、前記統合管理装置は、前記ロードバランサに、前記メンテナンス対象装置に対する負荷の割り当ての停止を指示し、
前記ロードバランサは、前記メンテナンス対象装置に対する負荷の割り当ての停止し、
前記統合管理装置は、前記コントローラによって、前記メンテナンス対象装置に対するデータ転送に係るフローの前記スイッチに対する未設定状態が確認されると、前記サーバ管理装置に前記メンテナンス対象装置に対するメンテナンス処理を指示する
コンピュータシステム。
【請求項８】
請求項７に記載のコンピュータシステムにおいて、
前記スイッチに設定されるフローは、所定の時間の経過後、前記スイッチから削除され未設定状態となり、
前記オープンコントローラは、前記スイッチにフローを設定する際、未設定状態となるまでの前記時間を前記スイッチに設定し、前記スイッチに対するフローの設定状況を自身のフローテーブルに記録する
コンピュータシステム。
【請求項９】
請求項１に記載のコンピュータシステムにおいて、
前記メンテナンス対象装置が、スイッチである場合、前記統合管理装置は、経路迂回指示を前記コントローラに指示し、
前記コントローラは、前記経路迂回指示に応じて前記メンテナンス対象装置を迂回する迂回経路を算出し、前記迂回経路に対応するフローを、前記迂回経路上のスイッチに設定し、前記迂回経路上のスイッチに設定された迂回前の通信経路に対応するフローを削除する
コンピュータシステム。
【請求項１０】
請求項９に記載のコンピュータシステムにおいて、
サーバに設定されるクラスタの変更を制御するサーバ管理装置を更に具備し、
前記メンテナンス対象装置がスイッチである場合、前記オープンコントローラは、前記経路迂回指示に応じて前記迂回経路が算出可能か否かを検証し、
前記統合管理装置は、前記メンテナンス対象装置を除くトポロジ情報を利用して迂回経路を算出できない端点に設定するクラスタの変更を前記サーバ管理装置に指示する
コンピュータシステム。
【請求項１１】
請求項９に記載のコンピュータシステムにおいて、
前記メンテナンス対象装置がスイッチである場合、前記オープンコントローラは、前記経路迂回指示に応じて前記迂回経路が算出可能か否かを検証し、
前記統合管理装置は、前記メンテナンス対象装置を除くトポロジ情報を利用して迂回経路を算出できない端点で稼動する仮想マシンの移動を前記ＶＭ管理装置に指示し、
前記ＶＭ管理装置は、前記統合管理装置によって指定された移動先に前記仮想マシンを移動し、
前記コントローラは、前記仮想マシン宛のパケットデータを、移動先の仮想マシンに転送するフローを前記スイッチに設定する
コンピュータシステム。
【請求項１２】
請求項１から１１のいずれか１項に記載のコンピュータシステムに利用されるコントローラ。
【請求項１３】
受信したパケットデータを、自身に設定されたフローに従った宛先に転送するスイッチを介して接続された物理サーバを備えるコンピュータシステムで実行されるメンテナンス方法において、
統合管理装置が、メンテナンス対象装置を指定するステップと、
コントローラが、前記スイッチに対するフローの設定又は削除を制御することで、前記メンテナンス対象装置を前記コンピュータシステムから切り離すステップと
を具備する
メンテナンス方法。
【請求項１４】
請求項１３に記載のメンテナンス方法において、
サーバ管理装置が、前記統合管理装置に指定されたサーバのクラスタに関する情報を、前記統合管理装置に通知するステップと、
前記統合管理装置が、クラスタにおける、前記メンテナンス対象装置として指定したサーバの状態に応じて、前記メンテナンス対象装置として指定したサーバの切り離し方法を変更するステップと
を更に具備する
メンテナンス方法。
【請求項１５】
請求項１４に記載のメンテナンス方法において、
クラスタに設定されたサーバの状態を、稼動系から待機系に設定するステップと、
前記コントローラが、サーバの状態が稼動系から待機系に変更される前に、稼動系に変更される待機系のサーバを端点とする通信経路に対応するフローを、前記通信経路上のスイッチに設定するステップと
を更に具備する
メンテナンス方法。
【請求項１６】
請求項１５に記載のメンテナンス方法において、
前記指定されたメンテナンス対象装置が、稼動系サーバである場合、
前記フローを設定するステップは、前記コントローラが、前記メンテナンス対象装置の状態が稼動系から待機系に変更される前に、稼動系に変更される待機系のサーバを端点とする第１通信経路に対応するフローを、前記第１通信経路上のスイッチに設定するステップををなえる
メンテナンス方法。
【請求項１７】
請求項１５又は１６に記載のメンテナンス方法において、
前記フローを設定するステップは、前記コントローラが、メンテナンス対象装置の状態が稼動系から待機系に変更された後に、前記メンテナンス対象装置を端点とする第２通信経路に対応するフローを、前記第２通信経路上のスイッチに設定するステップを更に備える
メンテナンス方法。
【請求項１８】
請求項１４に記載のメンテナンス方法において、
前記メンテナンス対象装置を前記コンピュータシステムから切り離すステップは、
前記指定されたメンテナンス対象装置が、仮想マシンモニタが動作する単体サーバである場合、前記統合管理装置が、ＶＭ管理装置に前記単体サーバ上で動作する仮想マシンの移動を指示するステップと、
前記ＶＭ管理装置が、前記統合管理装置によって指定された移動先に前記仮想マシンを移動するステップと、
前記コントローラが、前記仮想マシン宛のパケットデータを、移動先の仮想マシンに転送するフローを前記スイッチに設定するステップと
を備える
メンテナンス方法。
【請求項１９】
請求項１４に記載のメンテナンス方法において、
前記メンテナンス対象装置を前記コンピュータシステムから切り離すステップは、
前記指定されたメンテナンス対象装置が、負荷分散クラスタに設定されたサーバである場合、前記統合管理装置が、ロードバランサに、前記メンテナンス対象装置に対する負荷の割り当ての停止を指示するステップと、
前記ロードバランサが、前記メンテナンス対象装置に対する負荷の割り当ての停止するステップと、
を備え、
前記統合管理装置は、前記コントローラによって、前記メンテナンス対象装置に対するデータ転送に係るフローの前記スイッチに対する未設定状態が確認されると、前記サーバ管理装置に前記メンテナンス対象装置に対するメンテナンス処理を指示する
メンテナンス方法。
【請求項２０】
請求項１９に記載のメンテナンス方法において、
前記スイッチに設定されるフローは、所定の時間の経過後、前記スイッチから削除され未設定状態となり、
前記オープンコントローラが、前記スイッチにフローを設定する際、未設定状態となるまでの前記時間を前記スイッチに設定するステップと、
前記オープンコントローラが、前記スイッチに対するフローの設定状況を自身のフローテーブルに記録するステップと
を更に具備する
メンテナンス方法。
【請求項２１】
請求項１３に記載のメンテナンス方法において、
前記メンテナンス対象装置を前記コンピュータシステムから切り離すステップは、
前記メンテナンス対象装置が、スイッチである場合、前記統合管理装置が、経路迂回指示を前記コントローラに指示するステップと、
前記コントローラが、前記経路迂回指示に応じて前記メンテナンス対象装置を迂回する迂回経路を算出するステップと、
前記コントローラが、前記迂回経路に対応するフローを、前記迂回経路上のスイッチに設定するステップと、
前記コントローラが、前記迂回経路上のスイッチに設定された迂回前の通信経路に対応するフローを削除するステップと
を備える
メンテナンス方法。
【請求項２２】
請求項２１に記載のメンテナンス方法において、
前記メンテナンス対象装置を前記コンピュータシステムから切り離すステップは、
前記メンテナンス対象装置がスイッチである場合、前記オープンコントローラが、前記経路迂回指示に応じて前記迂回経路が算出可能か否かを検証するステップと、
前記統合管理装置が、前記メンテナンス対象装置を除くトポロジ情報を利用して迂回経路を算出できない端点に設定するクラスタの変更を、サーバ管理装置に指示するステップと、
前記サーバ管理装置が、前記端点に対応するサーバに設定されるクラスタの変更を制御するステップ
とを備える
メンテナンス方法。
【請求項２３】
請求項２１に記載のメンテナンス方法において、
前記メンテナンス対象装置を前記コンピュータシステムから切り離すステップは、
前記メンテナンス対象装置がスイッチである場合、前記オープンコントローラが、前記経路迂回指示に応じて前記迂回経路が算出可能か否かを検証するステップと、
前記統合管理装置が、前記メンテナンス対象装置を除くトポロジ情報を利用して迂回経路を算出できない端点で稼動する仮想マシンの移動を前記ＶＭ管理装置に指示するステップと、
前記ＶＭ管理装置が、前記統合管理装置によって指定された移動先に前記仮想マシンを移動するステップと、
前記コントローラが、前記仮想マシン宛のパケットデータを、移動先の仮想マシンに転送するフローを前記スイッチに設定するステップと
を備える
メンテナンス方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コンピュータシステム、及びコンピュータシステムのメンテナンス方法に関し、特に、システムの動作を中断することなくメンテナンス可能なコンピュータシステム、及びそのメンテナンス方法に関する。
【背景技術】
【０００２】
コンピュータシステムの構成装置に対するメンテナンスを行う際、システムの機能又は動作を中断させないためには、メンテナンスの対象となる装置のみを当該システムから切り離す必要がある。例えば、メンテナンス対象となるサーバの機能を他のサーバ（例えば待機系サーバ）に移動させることで、当該機能を停止することなくサーバのメンテナンス（例えばファイルの更新や補修）が可能となる。
【０００３】
装置のメンテナンスを行う際、メンテナンス対象をシステムから切り離す方法や、メンテナンス後に切り離した装置をシステムに復旧する方法が、特開２００７−３０４８４５（特許文献１参照）、特開２００９−１４６１０６（特許文献２参照）、特開２００６−２８５５９７（特許文献３参照）、特開２００８−１１８２３６（特許文献４参照）に記載されている。
【０００４】
特許文献１には、待機系仮想ハードウェア上のソフトウェアを更新し、その後、稼動系の処理を待機系に引継ぐことでソフトウェアの更新時におけるサービス中断時間を短縮する計算機システムが記載されている。
【０００５】
特許文献２には、仮想ポートの付加先となる物理ポートを他の物理ポートに移行し、移行先の物理ポートの識別情報に基づいてスイッチユニットのルーティングテーブルを更新することで、同一ストレージへのアクセスパスを変更するストレージシステムが記載される。これにより計算機無停止でのアクセスパスの切替が可能となる。
【０００６】
特許文献３には、予め設定されたアドレス変換情報に基づいて、増設又は交換されたストレージに対するアドレスをスイッチに設定するストレージシステムが記載されている。
【０００７】
特許文献４には、仮想アドレスに対応するアドレスを切り替えることで、仮想アドレス宛のパケットの受信先を、旧バージョンのソフトウェアから新バージョンのソフトウェアに切り替えるメンテナンス方法が記載されている。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００７−３０４８４５
【特許文献２】特開２００９−１４６１０６
【特許文献３】特開２００６−２８５５９７
【特許文献４】特開２００８−１１８２３６
【発明の概要】
【発明が解決しようとする課題】
【０００９】
特許文献に記載のコンピュータシステムでは、ネットワーク側とＩＴ側とで別々の管理が行われている。このため、システム内の構成装置（サーバやスイッチ）をメンテナンスする場合、メンテナンス対象装置の切り離しや復旧、及びメンテナンスのための設定も、ネットワーク側とＩＴ側のそれぞれにおいて個別に行われていた。しかし、これらの処理は、システム全体の動作に影響を与えるため、ネットワーク側とＩＴ側の両方の設定を一元的に管理してメンテナンスが行われることが好ましい。
【００１０】
以上のことから、本発明の目的は、ネットワーク側及びコンピュータ側を一元的に制御して、機能の中断のないメンテナンスや保守が可能なコンピュータシステムを提供することにある。
【課題を解決するための手段】
【００１１】
上記の課題を解決するために、本発明は、以下に述べられる手段を採用する。その手段を構成する技術的事項の記述には、［特許請求の範囲］の記載と［発明を実施するための形態］の記載との対応関係を明らかにするために、［発明を実施するための形態］で使用される番号・符号が付加されている。ただし、付加された番号・符号は、［特許請求の範囲］に記載されている発明の技術的範囲を限定的に解釈するために用いてはならない。
【００１２】
本発明によるコンピュータシステムは、受信したパケットデータを、自身に設定されたフローに従った宛先に転送するスイッチ（４ｉ）と、メンテナンス対象装置を指定する統合管理装置と、コントローラ（３）を具備する。コントローラ（３）は、スイッチ（４ｉ）に対するフローの設定又は削除を制御することで、メンテナンス対象装置をコンピュータシステムから切り離す。
【００１３】
本発明によるメンテナンス方法は、受信したパケットデータを、自身に設定されたフローに従った宛先に転送するスイッチ（４ｉ）を介して接続された物理サーバ（５）を備えるコンピュータシステムで実行されるメンテナンス方法である。本発明によるメンテナンス方法は、統合管理装置（１）が、メンテナンス対象装置を指定するステップと、コントローラ（３）が、スイッチ（４ｉ）に対するフローの設定又は削除を制御することで、メンテナンス対象装置をコンピュータシステムから切り離すステップとを具備する。
【発明の効果】
【００１４】
本発明によれば、ネットワーク側及びコンピュータ側を一元的に制御して、その機能を中断することなくコンピュータシステムのメンテナンスを実行することができる。
【図面の簡単な説明】
【００１５】
【図１】図１は、本発明によるコンピュータシステムの実施の形態における構成を示す図である。
【図２】図２は、本発明によるＶＭ管理装置の構成を示す図である。
【図３】図３は、本発明によるオープンフローコントローラの構成を示す図である。
【図４】図４は、本発明によるオープンフローコントローラが保持するフローテーブルの構成の一例を示す図である。
【図５】図５は、本発明によるオープンフローコントローラが保持するトポロジ情報の一例を示す図である。
【図６】図６は、本発明によるオープンフローコントローラが保持する通信経路情報の一例を示す図である。
【図７】図７は、本発明に係るオープンフロースイッチの構成を示す図である。
【図８】図８は、本発明によるスイッチが保持するフローテーブルの一例を示す図である。
【図９】図９は、本発明に係るオープンフロー制御を説明するための図である。
【図１０】図１０は、第１の実施の形態におけるメンテナンス処理（稼動系サーバに対するメンテナンス）の動作を示すシーケンス図である。
【図１１】図１１は、第１の実施の形態におけるメンテナンス処理（稼動系サーバに対するメンテナンス後の系切り替え）の動作を示すシーケンス図である。
【図１２】図１２は、本発明に係るサーバのメンテナンス処理後における起動処理（系切り替え無）の動作を示すシーケンス図である。
【図１３】図１３は、本発明に係るサーバのメンテナンス処理後における起動処理（系切り替え有）の動作を示すシーケンス図である。
【図１４】図１４は、第１の実施の形態におけるメンテナンス処理（待機系サーバに対するメンテナンス）の動作を示すシーケンス図である。
【図１５】図１５は、第１の実施の形態におけるメンテナンス処理（負荷分散系サーバに対するメンテナンス）の動作を示すシーケンス図である。
【図１６】図１６は、本発明に係る負荷分散系サーバのメンテナンス処理後における起動処理の動作を示すシーケンス図である。
【図１７】図１７は、第１の実施の形態における単独サーバ（ＶＭＭ稼働なし）に対するｓｈｕｔｄｏｗｎ動作を示すシーケンス図である。
【図１８Ａ】図１８Ａは、第１の実施の形態における単独サーバ（ＶＭＭ稼働あり）に対するメンテナンス処理の準備処理の動作を示すシーケンス図である。
【図１８Ｂ】図１８Ｂは、第１の実施の形態における単独サーバ（ＶＭＭ稼働あり）に対するメンテナンス処理の準備処理の動作を示すシーケンス図である。
【図１９】図１９は、第１の実施の形態における仮想マシンのマイグレーション後におけるメンテナンス処理の動作を示すシーケンス図である。
【図２０】図２０は、第２の実施の形態における、スイッチに対するメンテナンス処理の動作を示すシーケンス図である。
【図２１】図２１は、第２の実施の形態のメンテナンス処理における迂回検証処理の動作を示すフロー図である。
【図２２】図２２は、第２の実施の形態のメンテナンス処理における、スイッチの起動処理の動作を示すシーケンス図である。
【図２３Ａ】図２３Ａは、第３の実施の形態におけるスイッチに対するメンテナンス処理の動作を示すシーケンス図である。
【図２３Ｂ】図２３Ｂは、第３の実施の形態におけるスイッチに対するメンテナンス処理の動作を示すシーケンス図である。
【図２４Ａ】図２４Ａは、スイッチに対するメンテナンス処理における迂回経路生成のための端点変更処理の動作を示すフロー図である。
【図２４Ｂ】図２４Ｂは、スイッチに対するメンテナンス処理における迂回経路生成のための端点変更処理の動作を示すフロー図である。
【図２５Ａ】図２５Ａは、スイッチに対するメンテナンス処理後における端点復旧処理の動作を示すフロー図である。
【図２５Ｂ】図２５Ｂは、スイッチに対するメンテナンス処理後における端点復旧処理の動作を示すフロー図である。
【図２６】図２６は、仮想マシンのマイグレーション処理における準備処理の第１の実施の形態を説明するシーケンス図である。
【図２７】図２７は、仮想マシンのマイグレーション処理におけるメモリイメージ転送処理の第１及び第２の実施例を説明するシーケンス図である。
【図２８】図２８は、仮想マシンのマイグレーション処理におけるアクセス先切り替え処理の第１の実施例を説明するシーケンス図である。
【図２９】図２９は、仮想マシンのマイグレーション処理における準備処理の第２の実施例を説明するシーケンス図である。
【図３０】図３０は、仮想マシンのマイグレーション処理におけるアクセス先切り替え処理の第２の実施例を説明するシーケンス図である。
【図３１Ａ】図３１Ａは、第４の実施の形態におけるメンテナンス処理（稼動系サーバに対するメンテナンス）の動作を示すシーケンス図である。
【図３１Ｂ】図３１Ｂは、第４の実施の形態におけるメンテナンス処理（稼動系サーバに対するメンテナンス）の動作を示すシーケンス図である。
【図３２Ａ】図３２Ａは、第４の実施の形態のおける、サーバのメンテナンス処理後の起動処理の動作を示すシーケンス図である。
【図３２Ｂ】図３２Ｂは、第４の実施の形態のおける、サーバのメンテナンス処理後の起動処理の動作を示すシーケンス図である。
【発明を実施するための形態】
【００１６】
以下、添付図面を参照しながら本発明の実施の形態を説明する。図面において同一、又は類似の参照符号は、同一、類似、又は等価な構成要素を示す。
【００１７】
（コンピュータシステムの構成）
図１から図９を参照して、本発明によるコンピュータシステムの構成を説明する。図１は、本発明によるコンピュータシステムの構成を示す図である。本発明によるコンピュータシステムは、統合管理装置１、仮想マシン管理装置２（以下、ＶＭ管理装置２と称す）、オープンフローコントローラ３（以下、ＯＦＣ３と称す）、サーバ管理装置４、スイッチ４１〜４４（以下、ＯＦＳ４１〜４４：オープンフロースイッチと称す）、物理サーバ５、６、記憶装置７（例示：シェアードディスク）を具備する。又、本発明によるコンピュータシステムは、ロードバランサ９を具備してもよい。ＯＦＳ４１〜４４の数は、図１に示す４台に限らない。以下では、ＯＦＳ４１〜４４を総称してＯＦＳ４ｉとして説明する。
【００１８】
物理サーバ５、６は、ＯＦＳ４ｉを介して相互に接続される。又、物理サーバ５、６は、ＯＦＳ４ｉを介してインターネットに例示される外部ネットワーク８に接続される。尚、本実施の形態では２つの物理サーバ５、６が例示されるが、物理サーバの数はこれに限らない。
【００１９】
物理サーバ５、６は、それぞれＣＰＵやＲＡＭを備えるコンピュータ装置であり、相互に共通又は別々の記憶装置７に格納されたプログラムを実行することで、少なくとも１つの仮想マシンを実現する。詳細には、物理サーバ５は、ＣＰＵ（図示なし）や記憶装置７の使用領域を論理分割又は物理分割することで実現される仮想マシン１０１〜１０ｎ（ｎは自然数）を備える。あるいは、仮想マシン１０１〜１０ｎは、ホストオペレーションシステム（ＨＯＳ）上でエミュレートされたゲストオペレーションシステム（ＧＯＳ）又はＧＯＳ上で動作するソフトウェアによって実現されてもよい。仮想マシン１０１〜１０ｎは、記憶装置７に記録されたプログラムをＣＰＵ（図示なし）によって実行することで実現される仮想マシンモニタ１０（以下、ＶＭＭ１０と称す）によって管理される。物理サーバ６も物理サーバ５と同様に、少なくとも１つの仮想マシン２０１〜２０ｍ（ｍは自然数）が実装され、それぞれ、ＶＭＭ２０によって管理される。
【００２０】
仮想マシン１０１〜１０ｎ、２０１〜２０ｍが使用するディスクイメージ（メモリイメージ）は、シェアードディスクに格納されることが好適である。シェアードディスクは、例えばＦＣ（Ｆｉｂｅｒ  Ｃｈａｎｎｅｌ）やＥｔｈｅｒ（登録商標）等で接続されたディスクアレイ、ＮＡＳ（Ｎｅｔｗｏｒｋ  Ａｔｔａｃｈｅｄ  Ｓｔｏｒａｇｅ）、データベースサーバ等に例示される。
【００２１】
ＶＭＭ１０による仮想マシン１０１〜１０ｎの管理方法及びＶＭＭ２０による仮想マシン２０１〜２０ｍの管理方法は、従来と同様である。例えば、ＶＭＭ１０は、仮想マシン１０１〜１０ｎが使用するメモリイメージを管理し、ＶＭＭ２０は、仮想マシン２０１〜２０ｍが使用するメモリイメージを管理する。
【００２２】
仮想マシン１０１〜１０ｎは、ＶＭＭ１０によって管理される仮想スイッチ１１及び物理ＮＩＣ（図示なし）を介して他の装置（例えば外部ネットワーク８上のコンピュータ装置や、他の物理サーバ６内の仮想マシン）とデータの送受信を行う。本実施の形態では、一例としてＴＣＰ／ＩＰ（Ｔｒａｎｓｍｉｓｓｉｏｎ  Ｃｏｎｔｒｏｌ  Ｐｒｏｔｏｃｏｌ／Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）に従ったパケット通信が行われる。同様に仮想マシン２０１〜２０ｍは、仮想スイッチ２１を介して他の装置とデータの送受信を行う。又、同一物理サーバ内における仮想マシン間の通信も仮想スイッチ１１、２１を介して行われる。
【００２３】
本発明に係る仮想マシン１０１〜１０ｎ、２０１〜２０ｍは、他のＶＭＭや物理サーバに移動してもＭＡＣアドレスは変わらないものとする。又、仮想スイッチ１１、２１は、後述するオープンフロー技術によって制御されても良いし、従来どおりのスイッチング動作（レイヤ２）を行っても良い。ただし、以下に示す実施の形態における仮想スイッチ１１、２１は、オープンフローに対応しているものとして説明する。更に、仮想マシン１０１〜１０ｎ、２０１〜２０ｍと物理サーバ外部とはブリッジ接続されている。すなわち、仮想マシン１０１〜１０ｎ、２０１〜２０ｍのＭＡＣアドレスやＩＰアドレスによって外部から直接通信ができる。
【００２４】
物理サーバ５、６の一方にはクラスタリング機構１００（図示なし）が搭載されていることが好ましい。クラスタリング機構１００は、物理サーバ５、６上で共通の仮想マシンとして動作してもよい。クラスタリング機構１００は、コンピュータシステムに設けられた物理サーバ５、６のクラスタ（使用状態）をＨＡ（Ｈｉｇｈ  Ａｖａｌａｂｉｌｉｔｙ）クラスタ、負荷分散クラスタ、単独サーバのいずれかとして設定する。又、ＨＡクラスタに設定された物理サーバは、稼動系と待機系の一方に設定される。ＨＡクラスタ（稼動系）に設定された物理サーバは、コンピュータシステムにおいて稼働する物理サーバとして機能し、ＨＡクラスタ（待機系）に設定された物理サーバは、待機状態となる。又、負荷分散クラスタに設定された場合、ロードバランサ９によって各物理サーバに対する負荷が分散される。
【００２５】
ＶＭ管理装置２は、物理サーバ５、６上で動作する仮想マシン１０１〜１０ｎ、２０１〜２０ｍを管理する。図２は、本発明によるＶＭ管理装置１の構成を示す図である。ＶＭ管理装置２は、ＣＰＵ及び記憶装置を備えるコンピュータによって実現されることが好適である。ＶＭ管理装置２では、図示しないＣＰＵが記憶装置に格納されたプログラムを実行することで、図２に示すＶＭマイグレーション制御部３２１、ＶＭＭ管理部３２２、メンテナンス制御部３２６の各機能が実現される。
【００２６】
ＶＭマイグレーション制御部３２１は、仮想マシンのマイグレーションを制御する。詳細には、ＶＭマイグレーション制御部３２１は、記憶装置に記録されているＶＭＭ管理情報３２３に基づいて移動対象となる仮想マシンと、移動先となる仮想マシンモニタとを指定し、仮想マシンのマイグレーションを移動元及び移動先の仮想マシンモニタに指示する。これにより、指示された仮想マシンモニタ間で仮想マシンのマイグレーションが実行される。
【００２７】
ＶＭＭ管理部３２２は、管理下の仮想マシンモニタや仮想スイッチに関する情報（ＶＭＭ管理情報３２３）を管理する。ＶＭＭ管理情報３２３は、仮想マシンモニタの識別子や仮想マシンモニタが管理する仮想マシンに関する情報（ＶＭＭ情報３２４）と、仮想スイッチの識別子や仮想スイッチが接続する仮想マシンに関する情報（ＶＳＷ情報３２５）とを備える。ＶＭＭ情報３２４とＶＳＷ情報３２５は、仮想スイッチを管理する仮想マシンモニタ毎に対応付けられて記録されていることが好ましい。
【００２８】
ＶＭＭ管理情報３２３は、予め記憶装置に記録されていても良いし、ＶＭＭ１０、２０から周期的又は任意の時期に取得してもよい。ＶＭＭ１０、２０からＶＭＭ管理情報３２３を取得する場合、ＶＭＭ管理部３２２による指示に応じてＶＭＭ１０、２０からＶＭＭ管理情報３２３を取得し、これによって記憶装置内のＶＭＭ管理情報３２３を更新することが好ましい。これにより、仮想マシンのマイグレーション後に変更された仮想マシンの移動先や仮想スイッチの接続先を監視することが可能となる。
【００２９】
メンテナンス制御部３２６は、サーバ管理装置４からのメンテナンス指示に応じて、物理サーバ５、６に対するメンテナンス処理を制御する。詳細には、サーバ管理装置４からのメンテナンス指示に応じて物理サーバ５、６の起動や停止（ｓｈｕｔｄｏｗｎ）を制御し、サーバ管理装置４から送信されるＯＳやソフトウェア（例えばゲストＯＳ）の更新ファイルやパッチをメンテナンス対象の物理サーバに転送する。物理サーバ５、６は、メンテナンス制御部３２６から送信される更新ファイルによって仮想マシン（ゲストＯＳ）やホストＯＳを更新（バージョンアップや補修）する。
【００３０】
ＯＦＣ３は、オープンフロー技術により、システム内の通信を制御する。オープンフロー技術とは、コントローラ（ここではＯＦＣ３）が、ルーティングポリシー（フロー：ルール＋アクション）に従い、マルチレイヤ及びフロー単位の経路情報をスイッチに設定し、経路制御やノード制御を行う技術を示す。これにより、経路制御機能がルータやスイッチから分離され、コントローラによる集中制御によって最適なルーティング、トラフィック管理が可能となる。オープンフロー技術が適用されるスイッチ（ＯＦＳ４ｉ）は、従来のルータやスイッチのようにパケットやフレームの単位ではなく、ＥＮＤ２ＥＮＤのフローとして通信を取り扱う。
【００３１】
詳細には、ＯＦＣ３は、スイッチやノード毎にフロー（ルール＋アクション）を設定することで当該スイッチやノードの動作（例えばパケットデータの中継動作）を制御する。ここで、ＯＦＣ３によって制御されるスイッチは、ＯＦＳ４ｉや仮想スイッチ１１、２１等に例示され、ＯＦＣ３によって制御されるノードは、仮想マシン１０１〜１０ｎ、２０１〜２０ｍ、ＶＭＭ１０、２０、物理サーバ５、６、記憶装置７等に例示される。
【００３２】
図３は、本発明によるＯＦＣ３の構成を示す図である。ＯＦＣ３は、ＣＰＵ及び記憶装置を備えるコンピュータによって実現されることが好適である。ＯＦＣ３では、図示しないＣＰＵが記憶装置に格納されたプログラムを実行することで、図３に示すスイッチ制御部３３１、フロー管理部３３２、フロー生成部３３３の各機能が実現される。
【００３３】
スイッチ制御部３３１は、フローテーブル３３４に従ってスイッチやノード毎にフロー（ルール＋アクション）の設定又は削除を行う。本発明に係るスイッチやノードは、設定されたフローを参照し、受信パケットのヘッダ情報に応じたルールに対応するアクション（例えばパケットデータの中継や破棄）を実行する。ルール及びアクションの詳細は後述する。
【００３４】
図４は、本発明によるＯＦＣ３が保持するフローテーブル３３４の構成の一例を示す図である。図４を参照して、フローテーブル３３４には、フローを特定するためのフロー識別子４４１、当該フローの設定対象（スイッチやノード）を識別する識別子（対象装置４４２）、経路情報４４３、ルール４４４、アクション情報４４５、設定情報４４６が対応付けられて設定される。フローテーブル３３４には、ＯＦＣ３の制御対象となる全てのスイッチやノードに対するフロー（ルール４４４＋アクション情報４４５）が設定される。フローテーブル３３４には、フロー毎のＱｏＳや暗号化に関する情報など、通信の扱い方が定義されてもかまない。
【００３５】
ルール４４４には、例えば、ＴＣＰ／ＩＰのパケットデータにおけるヘッダ情報に含まれる、ＯＳＩ（Ｏｐｅｎ  Ｓｙｓｔｅｍｓ  Ｉｎｔｅｒｃｏｎｎｅｃｔｉｏｎ）参照モデルのレイヤ１からレイヤ４のアドレスや識別子の組み合わせが規定される。例えば、図９に示すレイヤ１の物理ポート、レイヤ２のＭＡＣアドレス、レイヤ３のＩＰアドレス、レイヤ４のポート番号、ＶＬＡＮタグのそれぞれの組み合わせがルール４４４として設定される。ここで、ルール４４４に設定されるポート番号等の識別子やアドレス等は、所定の範囲が設定されても構わない。又、宛先や送信元のアドレス等を区別してルール４４４として設定されることが好ましい。例えば、ＭＡＣ宛先アドレスの範囲や、接続先のアプリケーションを特定する宛先ポート番号の範囲、接続元のアプリケーションを特定する送信元ポート番号の範囲がルール４４４として設定される。更に、データ転送プロトコルを特定する識別子をルール４４４として設定してもよい。
【００３６】
アクション情報４４５には、例えばＴＣＰ／  ＩＰのパケットデータを処理する方法が規定される。例えば、受信パケットデータを中継するか否かを示す情報や、中継する場合はその送信先が設定される。又、アクション情報４４５には、パケットデータの複製や、破棄することを指示する情報が設定されてもよい。
【００３７】
経路情報４４３は、フロー（ルール４４４＋アクション情報４４５）を適用する経路を特定する情報である。これは、後述する通信経路情報３３６に対応付けられた識別子である。
【００３８】
設定情報４４６は、フロー（ルール４４４＋アクション情報４４５）が現在設定されているか否かを示す情報である。設定情報４４６は、対象装置４４２や経路情報４４３に対応付けられているため、通信経路にフローが設定されているか否かを確認できるとともに、通信経路上のスイッチやノード毎にフローが設定されているか否かを確認することができる。又、設定情報４４６は、生成されたフローが使用可能な状態（有効）か使用不可能な状態（無効）かを示す情報を含む。ＯＦＣ３は、設定情報４４６を参照し、有効なフローのみをＯＦＳに設定し、無効なフローは設定しない。
【００３９】
フロー管理部３３２は、フローテーブル３３４を参照して、スイッチやノードから通知されたファーストパケットのヘッダ情報に対応するフロー（ルール４４４＋アクション情報４４５）を抽出し、スイッチ制御部３３１に通知する。又、フロー管理部３３２は、フロー生成部３３３によって生成されたフロー（ルール４４４＋アクション情報４４５）にフロー識別子４４１をつけて記憶装置に記録する。この際、フローを適用する通信経路の識別子（経路情報４４３）やフローを適用するスイッチやノードの識別子（対象装置４４２）が、フロー（ルール４４４＋アクション情報４４５）に付されて記録される。
【００４０】
フロー生成部３３３は、トポロジ情報３３５を用いて通信経路を算出し、算出結果を通信経路情報３３６として記憶装置に記録する。ここでは、通信経路の端点となるノードと、通信経路上のスイッチ及びノードが設定される。例えば、フロー生成部３３３は、トポロジ内で端点となるノードを指定し、端点間で最短経路となる経路をダイクストラ法によって抽出し、これを通信経路として出力する。又、フロー生成部３３３は、通信経路情報３３６に基づいて通信経路上のスイッチやノードに設定するフロー（ルール４４４＋アクション情報４４５）を設定する。
【００４１】
トポロジ情報３３５は、スイッチ（例えば、ＯＦＳ４ｉや仮想スイッチ１１、２１等）やノード（例えば、仮想マシン１０１〜１０ｎ、２０１〜２０ｍ、ＶＭＭ１０、２０、物理サーバ５、６、記憶装置７等）、外部ネットワーク８（例えばインターネット）等の接続状況に関する情報を含む。具体的には、トポロジ情報３３５として、スイッチやノード（装置）を特定する装置識別子４５１に、当該装置のポート数４５２やポート接続先情報４５３が対応付けられて記憶装置に記録される。ポート接続先情報４５３は、接続相手を特定する接続種別（スイッチ／ノード／外部ネットワーク）や接続先を特定する情報（スイッチの場合はスイッチＩＤ、ノードの場合はＭＡＣアドレス、外部ネットワークの場合は外部ネットワークＩＤ）が含まれる。
【００４２】
通信経路情報３３６は、通信経路を特定するための情報である。詳細には、通信経路情報３３６として、ノード（例えば、仮想マシン１０１〜１０ｎ、２０１〜２０ｍ、ＶＭＭ１０、２０、物理サーバ５、６、記憶装置７等）群、あるいは、外部ネットワークインタフェースを端点として指定する端点情報４６１と、通過するスイッチ（例えば、ＯＦＳ４ｉや仮想スイッチ１１、２１等）とポートの対群を指定する通過スイッチ情報４６２と、付随情報４６３とが対応付けられて記憶装置に記録される。例えば、通信経路が外部ネットワークとノードとを接続する経路である場合、外部ネットワークＩＤとノードのＭＡＣアドレスが端点情報４６１として記録される。あるいは、通信経路がノード間を接続する経路である場合、両端点となるノードのそれぞれのＭＡＣアドレス対が端点情報４６１として記録される。通過スイッチ情報４６２は、端点情報４６１で示される端点間の通信経路上に設けられるスイッチ（オープンフロースイッチや仮想スイッチ）の識別子を含む。又、通過スイッチ情報４６２は、当該スイッチに設定されるフロー（ルール４４４＋アクション情報４４５）と当該スイッチとを対応づけるための情報を含んでも良い。付随情報４６３は、端点が変更された後の経路上のスイッチ（通過スイッチ）に関する情報を含む。
【００４３】
本発明によるフロー管理部３３２は、仮想マシンのマイグレーション指示（移動準備指示）に応じてフロー生成部３３３を制御して、メモリイメージを転送するためのフロー（メモリイメージ転送用フロー）を生成させるとともに、スイッチ制御部３３１を制御して、メモリイメージ転送用フローをメモリイメージ転送経路上のＯＦＳやノードに設定させる。又、本発明によるフロー管理部３３２は、仮想マシンのマイグレーション指示（移動準備指示）に応じてフロー生成部３３３を制御して、移動後の仮想マシンに対するアクセス用のフロー（移動先ＶＭ宛通信用フロー）を生成させるとともに、スイッチ制御部３３１を制御して、移動先ＶＭ宛通信用フローを移動先ＶＭ宛通信経路上のＯＦＳやノードに設定させる。
【００４４】
図７は、本発明に係るオープンフロースイッチ４ｉ（以下、ＯＦＳ４ｉと称す）の構成を示す図である。ＯＦＳ４ｉは、ＯＦＣ３によって設定されたフローテーブル３４３に従って受信パケットの処理方法（アクション）を決定する。ＯＦＳ４ｉは、転送処理部３４１とフロー管理部３４２を備える。転送処理部３４１とフロー管理部３４２は、ハードウェアで構成されても、ＣＰＵによって実行されるソフトウェアで実現してもどちらでも良い。
【００４５】
ＯＦＳ４ｉの記憶装置には、図８に示すようなフローテーブル３４３が設定される。フロー管理部３４２は、ＯＦＣ３から取得したフロー（ルール４４４＋アクション情報４４５）をフローテーブル３４３に設定する。又、転送処理部３４１によって受信された受信パケットのヘッダ情報が、フローテーブル３４３に記録されたルール４４４に適合（一致）する場合、フロー管理部３４２は、当該ルール４４４に対応するアクション情報４４５を転送処理部３４１に通知する。一方、転送処理部３４１によって受信された受信パケットのヘッダ情報が、フローテーブル３４３に記録されたルール４４４に適合（一致）しない場合、フロー管理部３４２は、ファーストパケットを受信したことをＯＦＣ３に通知するとともに、当該ヘッダ情報をＯＦＣ３に送信する。
【００４６】
転送処理部３４１は、受信パケットのヘッダ情報に応じた転送処理を行う。詳細には、転送処理部３４１は、受信したパケットデータからヘッダ情報を抽出し、フロー管理部３４２に通知する。フロー管理部３４２からアクション情報４４５を受け取ると、アクション情報４４５に従った処理を行う。例えば、アクション情報４４５に示された転送先のノードに受信パケットデータを転送する。又、フローテーブル３４３に規定されたルール４４４にないパケットデータが受信した場合、当該パケットデータを所定の期間保持し、ＯＦＣ３からフローが設定される（フローテーブル３４３が更新される）まで待機する。
【００４７】
具体的には、ルール４４４：ＭＡＣ送信元アドレス（Ｌ２）が“Ａ１〜Ａ３”、ＩＰ宛先アドレス（Ｌ３）が“Ｂ１〜Ｂ３”、プロトコルが“ＴＣＰ”、宛先ポート番号（Ｌ４）が“Ｃ１〜Ｃ３”と、アクション情報４４５：“物理サーバ５の仮想マシン１０１に中継”とが対応付けられているフローが設定されたＯＦＳ４ｉの動作を説明する。ＭＡＣ送信元アドレス（Ｌ２）が“Ａ１”、ＩＰ宛先アドレス（Ｌ３）が“Ｂ２”、プロトコルが“ＴＣＰ”、宛先ポート番号（Ｌ４）が“Ｃ３”であるパケットデータを受信した場合、ＯＦＳ４ｉは、ヘッダ情報が当該ルール４４４に一致していると判断し、受信したパケットデータを仮想マシン１０１に転送する。一方、ＭＡＣ送信元アドレス（Ｌ２）が“Ａ５”、ＩＰ宛先アドレス（Ｌ３）が“Ｂ２”、プロトコルが“ＴＣＰ”、宛先ポート番号（Ｌ４）が“Ｃ４”であるパケットデータを受信した場合、ＯＦＳ４ｉは、ヘッダ情報が当該ルール４４４に一致しないと判断し、ファーストパケット受信の旨をＯＦＣ３に通知するとともに当該ヘッダ情報をＯＦＣ３に送信する。ＯＦＣ３は、フローテーブル３３４から受信したヘッダ情報に対応するフロー（ルール４４４＋アクション情報４４５）を抽出し、ＯＦＳ４ｉに送信する。尚、フローテーブル３３４に適切なフローがない場合は、新たにフローを作成してもよい。ＯＦＳｉ４ｉは送信されたフローを自身のフローテーブル３４３に設定し、これに従った、受信パケットの中継処理を実行する。
【００４８】
通常、オープンフロー技術を利用したＯＦＳ４ｉは、自身のフローテーブル３４３に設定されたルール４４４に該当しないパケットデータ（１ｓｔパケット）を受信した際、フローの設定要求をＯＦＣ３に発行する。ＯＦＣ３はこれに応じて当該ＯＦＳ４ｉに新たなフローを設定する。以降、当該ルール４４４に応じたパケットデータを受信したＯＦＳ４ｉは、設定されたフローに従った処理を行う。
【００４９】
以上のように、本発明によるコンピュータシステムは、オープンフロー技術（プログラマブルフロー技術とも呼ぶ）が適用されている。尚、ＯＦＳ４ｉの他、仮想スイッチ１１、２１も、ＯＦＳ４ｉと同様に、ＯＦＣ３によってフローが設定されるフローテーブルを備えても良い。この場合、ＯＦＣ３は、ＯＦＳ４ｉと同様に、仮想スイッチ１１、２１の動作を制御することができる。
【００５０】
サーバ管理装置４は、クラスタリング機構１００を制御することで、物理サーバ５、６のクラスタリングを制御する。サーバ管理装置４は、ＣＰＵ及び記憶装置を備えるコンピュータによって実現されることが好適である。サーバ管理装置４は、物理サーバ５、６に対するメンテナンスを行う機能を有する。詳細には、サーバ管理装置４は、物理サーバ５、６の起動や停止（ｓｈｕｔｄｏｗｎ）を制御する機能や、物理サーバ５、６で動作するＯＳやソフトウェアの更新ファイルやパッチを有する。物理サーバ５、６は、サーバ管理装置４から送信される更新ファイルによってＯＳやソフトウェアを更新（バージョンアップや補修）する。
【００５１】
ロードバランサ９は、外部ネットワーク８とＯＦＳ４ｉとの間に設けられ、物理サーバ５、６におけるＶＭＭ１０１〜１０ｎ、２０１〜２０ｍに対する負荷分散を行う。又、ロードバランサ９は、サーバ管理装置４からの指示に応じて、各仮想マシン（ゲストＯＳ）又は負荷分散クラスタに設定された物理サーバ（ホストＯＳ）に対する負荷分散を行う。この際、各物理サーバ等に対して処理（負荷）の割り当てを行う。
【００５２】
本発明によるコンピュータシステムは、ＶＭ管理装置２、ＯＦＣ３、サーバ管理装置４を制御する統合管理装置１を具備する。統合管理装置１は、ＣＰＵ及び記憶装置を備えるコンピュータによって実現されることが好適である。統合管理装置１は、入力装置（例示：キーボード、マウス）や、ＶＭ管理装置２、ＯＦＣ３、又はサーバ管理装置から送信される各種情報を視認可能に表示する表示装置（例示：モニタ、プリンタ）を備えることが好適である。ユーザ（管理者）は、統合管理装置１を用いてＶＭ管理装置２、ＯＦＣ３、及びサーバ管理装置４を制御し、コンピュータシステムのメンテナンス処理を実行する。
【００５３】
統合管理装置１、ＶＭ管理装置２、ＯＦＣ３、及びサーバ管理装置４のそれぞれは、同じコンピュータ装置でも、それぞれ別のコンピュータ装置に実装されてもどちらでも構わない。
【００５４】
以下、上記コンピュータシステムにおいて実行されるメンテナンス処理の動作の詳細を説明する。以下では、第１の実施の形態として物理サーバ又は仮想サーバに対するメンテナンス処理、第２から第４の実施の形態としてスイッチ（ＯＦＳ）に対するメンテナンス処理について説明する。又、メンテナンス処理として、ファイルの更新及び稼働停止（ｓｈｕｔｄｏｗｎ後のハードウェア交換等のメンテナンス）を一例として説明する。
【００５５】
１．第１の実施の形態
図１０から図１９を参照して、本発明による物理サーバ又は仮想サーバに対するメンテナンス処理を説明する。本発明では、メンテナンス対象となるサーバや仮想マシンをシステムから切り離してから、当該サーバに対してメンテナンス処理が行われる。この際、サーバに設定されたクラスタや、メンテナンス対象が物理サーバか仮想サーバかに応じてシステムからの切り離し方法やメンテナンス後の復旧方法が異なる。以下では、メンテナンス対象サーバが（１）ＨＡクラスタ（稼動系）、（２）ＨＡクラスタ（待機系）、（３）負荷分散クラスタの一部、（４）単独サーバ、（５）仮想サーバ（ゲストＯＳ）の場合に分けてメンテナンス処理を説明する。
【００５６】
（１）ＨＡクラスタ（稼動系）のサーバに対するメンテナンス処理
図１０から図１３を参照して、ＨＡクラスタ（稼動系）に設定されたサーバに対するメンテナンスの動作を説明する。以下では、メンテナンス対象となる物理サーバ５がＨＡクラスタ（稼動系）に設定されているものとして説明する。
【００５７】
図１０は、第１の実施の形態におけるメンテナンス処理（稼動系サーバに対するメンテナンス）の動作を示すシーケンス図である。図１０を参照して、ＨＡクラスタ（稼動系）の物理サーバ５に対するファイルの更新（例示：ＯＳのアップグレード）について説明する。先ず、管理者は、統合管理装置１を操作して、メンテナンス対象（ここではファイル更新対象）となるサーバを指定し、メンテナンス対象サーバの切り離しを指示する。統合管理装置１は、メンテナンス対象となるサーバを指定し、管理者によって指定されたサーバの状況（クラスタ構成）に関する情報をサーバ管理装置４に要求する（ステップＳ６０１）。ここでは、物理サーバ５がメンテナンス対象として指定されるものとする。以下、メンテナンス対象サーバ５と称す。
【００５８】
サーバ管理装置４は、自身が保持するサーバのクラスタリングや稼働状況を含む構成情報（図示なし）を検索し、メンテナンス対象サーバ５に設定されたクラスタを特定する情報（クラスタリング情報）を抽出し、統合管理装置１に送信する（ステップＳ６０２、Ｓ６０３）。ここでは、メンテナンス対象サーバ５がＨＡクラスタ（稼動系）に設定されていることを示すクラスタリング情報が送信される。
【００５９】
統合管理装置１は、メンテナンス対象サーバ５がＨＡクラスタ（稼動系）であることを検出すると、系の切り替え処理に移行する。詳細には、統合管理装置１は、メンテナンス対象サーバ５がＨＡクラスタ（稼動系）であることを検出すると、ＨＡクラスタの系切替をサーバ管理装置４に指示する（ステップＳ６０４）。サーバ管理装置４は、メンテナンス対象サーバ５のクラスタリング機構１００に対し、稼動系の切替を指示する（ステップＳ６０５）。メンテナンス対象サーバ５のクラスタリング機構１００は、待機系のサーバを稼動系に昇格させ、稼動系のサーバ（ここではメンテナンス対象サーバ５）を待機系に降格させる（ステップＳ６０６）。クラスタリング機構１００は、系切替の完了をサーバ管理装置４経由で統合管理装置１に通知する（ステップＳ６０７、Ｓ６０８）。
【００６０】
系切替が完了すると、メンテナンス処理（ここではファイル更新）に移行する。統合管理装置１は、メンテナンス対象サーバとして物理サーバ５を指定し、メンテナンス（ここではファイル更新）をサーバ管理装置４に指示する（ステップＳ６０９）。サーバ管理装置４は、メンテナンス対象サーバ５に更新ファイルを送信するとともに、ファイル更新指示を発行する（ステップＳ６１０）。物理サーバ５は、ファイル更新指示に応じて、受信した更新ファイルによって自身のソフトウェアを更新する（ステップＳ６１１）。サーバ管理装置４は、物理サーバ５におけるファイル更新完了後を確認すると、統合管理装置１に物理サーバ５のソフトウェアの更新完了を報告する。統合管理装置１は、メンテナンス対象サーバ５におけるファイル更新の完了を表示する。これにより、管理者は、指定したサーバのファイル更新の正常終了を確認することができる。
【００６１】
統合管理装置１は、メンテナンス処理指示後あるいは、サーバ管理装置４からメンテナンス処理の完了通知を受け取ると、物理サーバ毎のメンテナンス状態を記録する（ステップＳ６１２）。ここでは、メンテナンス状態として、物理サーバ５がファイル更新中であることを示す情報や、ファイル更新完了及び更新ファイルに関する情報（例えば、ソフトウェアやＯＳのバージョン情報）が記録される。尚、メンテナンス処理がファイル更新である場合、ステップＳ６１２の処理は省略されても構わない。
【００６２】
ここで、ステップＳ６１１におけるファイル更新処理の完了後、ステップＳ６０６において切り替えられた系を元の状態（クラスタリング構成）に変更しても構わない。図１１は、第１の実施の形態におけるメンテナンス処理（稼動系サーバに対するメンテナンス後の系切り替え）の動作を示すシーケンス図である。図１１を参照して、物理サーバ５のファイル更新を確認したサーバ管理装置４は、メンテナンス対象サーバ５のクラスタリング機構１００に対し、稼動系の切替を指示する（ステップＳ６２１）。メンテナンス対象サーバ５のクラスタリング機構１００は、待機系のサーバ（ここではメンテナンス対象サーバ５を稼動系に昇格させ、稼動系のサーバを待機系に降格させる（ステップＳ６２２）。クラスタリング機構１００は、系切替の完了をサーバ管理装置４経由で統合管理装置１に通知する（ステップＳ６２３、Ｓ６２４）。
【００６３】
次に、図１０を参照して、ＨＡクラスタ（稼動系）の物理サーバ５のハードウェア又はソフトウェアをメンテナンスするために、物理サーバ５の稼働を停止（ｓｈｕｔｄｏｗｎ）する処理について説明する。メンテナンス対象サーバ５がＨＡクラスタ（稼動系）であるため、上述のファイル更新処理と同様に図１０に示すステップＳ６０１〜Ｓ６０８の処理が行われ、稼動系と待機系の切り替えが行われる。
【００６４】
系切替が完了すると、メンテナンス処理（ここでは稼働停止処理）に移行する。統合管理装置１は、メンテナンス対象サーバとして物理サーバ５を指定し、メンテナンス（ここでは稼働停止処理）を指示する（ステップＳ６０９）。サーバ管理装置４は、メンテナンス対象サーバ５に稼働停止（ｓｈｕｔｄｏｗｎ）指示を発行する（ステップＳ６１０）。物理サーバ５は、稼働停止指示に応じて、稼働を停止（ｓｈｕｔｄｏｗｎ）する（ステップＳ６１１）。サーバ管理装置４は、物理サーバ５の稼働停止を確認すると、統合管理装置１に稼働停止完了を報告する。統合管理装置１は、メンテナンス対象サーバ５が稼働停止したことを表示する。これにより、管理者は、指定したサーバの稼働停止を確認することができる。
【００６５】
統合管理装置１は、メンテナンス処理指示後あるいは、サーバ管理装置４からメンテナンス処理の完了通知を受け取ると、物理サーバ毎の状態を記録する（ステップＳ６１２）。ここでは、メンテナンス対象サーバ５の稼働状態（例えば、稼働停止）を示す情報、メンテナンス対象サーバ５がメンテナンス中であるか否かを示す情報、及びメンテナンス対象サーバ５に設定されたクラスタリングに関する情報が記録されることが好ましい。例えば、物理サーバ５がメンテナンス中（稼働停止）であるＨＡクラスタ（待機系）であることが記録される。又、クラスタリングに関する情報は、ステップＳ６０６において切り替えられた後の現在の状態（待機系）や切替られる前の状態（稼動系）を示す情報を含んでもよい。
【００６６】
保守者は、稼働を停止した物理サーバ５のメンテナンス（例示：ハードウェアの交換や増設、ソフトウェアの入れ替え等）を行う。物理サーバ５に対するメンテナンスが終了すると、管理者は、統合管理装置１にメンテナンス終了指示を入力する。この際、メンテナンスが終了したサーバが統合管理装置１に指定される。統合管理装置１は、メンテナンス終了指示に応じて、メンテナンスのために稼働を停止した物理サーバ５を起動させる。
【００６７】
図１２は、本発明に係るサーバのメンテナンス処理後における起動処理（系切り替え無）の動作を示すシーケンス図である。図１２を参照して、メンテナンス処理後のサーバの起動動作の詳細を説明する。管理者によるメンテナンス終了指示（サーバ指定）に応じて、統合管理装置１は、メンテナンス中のサーバ一覧から、管理者によって指定されたサーバの状態を取得する（ステップＳ６３１）。ここでは、物理サーバ５が稼働停止中（メンテナンス中）のＨＡクラスタ（待機系）であることを示す状態が取得される。統合管理装置１は、指定されたサーバ（メンテナンスが終了した物理サーバ５）の起動を指示する（ステップＳ６３２）。サーバ管理装置４は、指定された物理サーバ５を起動させる（ステップＳ６３３、Ｓ６３４）。ここでは、例えばＩＰＭＩ等を利用してサーバの起動を実行する。起動を完了した物理サーバ５は、サーバ管理装置４を介して統合管理装置１に対し起動完了を報告する（ステップＳ６３５、Ｓ６３６）。統合管理装置１は、物理サーバ５がメンテナンス終了し起動したことを示す情報を記録する。この情報は、管理者に対し視認可能に表示され得る。
【００６８】
サーバを起動させる際、サーバの状態をメンテナンス前の状態（ＨＡクラスタ（稼動系））に復帰させてもよい。図１３は、本発明に係るサーバのメンテナンス処理後における起動処理（系切り替え有）の動作を示すシーケンス図である。図１３を参照して、統合管理装置１は、上述と同様にステップＳ６３１〜Ｓ６３４の処理により、指定された物理サーバ５を起動させる。ただし、統合管理装置１は、ステップＳ６３２における起動指示の際、系切替指示も併せて行う。サーバ管理装置４は、物理サーバ５からの起動完了を検出すると物理サーバ５のクラスタリング機構１００に対し、稼動系の系切替を指示する（ステップＳ６３６）。メンテナンス対象サーバ５のクラスタリング機構１００は、待機系のサーバ（ここではメンテナンスが終了した物理サーバ５）を稼動系に昇格させ、稼動系のサーバを待機系に降格させる（ステップＳ６３７）。クラスタリング機構１００は、系切替の完了をサーバ管理装置４経由で統合管理装置１に通知する（ステップＳ６３８、Ｓ６３９）。
【００６９】
以上のように、統合管理装置１による一元制御により、ＨＡクラスタ（稼動系）のサーバを切り離し、当該サーバに対するメンテナンス処理（ファイル更新や稼働停止及び起動処理）を実行し、系切替により元の状態に復帰することができる。
【００７０】
（２）ＨＡクラスタ（待機系）のサーバに対するメンテナンス処理
図１２及び図１４を参照して、ＨＡクラスタ（待機系）に設定されたサーバに対するメンテナンスの動作を説明する。以下では、メンテナンス対象となる物理サーバ５がＨＡクラスタ（待機系）に設定されているものとして説明する。
【００７１】
図１４は、第１の実施の形態におけるメンテナンス処理（待機系サーバに対するメンテナンス）の動作を示すシーケンス図である。図１４を参照して、ＨＡクラスタ（待機系）の物理サーバ５に対するファイルの更新（例示：ＯＳのアップグレード）について説明する。ＨＡクラスタ（稼動系）のサーバに対するメンテナンス処理と同様に、ステップＳ６０１〜Ｓ６０３の処理により、統合管理装置１は、メンテナンス対象サーバ５がＨＡクラスタ（待機系）であることを検出する。
【００７２】
統合管理装置１は、メンテナンス対象サーバ５がＨＡクラスタ（待機系）であることを検出すると、系切替は行わずメンテナンス処理（ここではファイル更新）に移行する。統合管理装置１は、メンテナンス対象サーバとして物理サーバ５を指定し、サーバ管理装置４にメンテナンス（ここではファイル更新）を指示する（ステップＳ６０９）。サーバ管理装置４は、メンテナンス対象サーバ５に更新ファイルを送信するとともに、ファイル更新指示を発行する（ステップＳ６１０）。物理サーバ５は、ファイル更新指示に応じて、受信した更新ファイルによって自身のソフトウェアを更新する（ステップＳ６１１）。サーバ管理装置４は、物理サーバ５におけるファイル更新完了後を確認すると、統合管理装置１に物理サーバ５のソフトウェアの更新完了を報告する。統合管理装置１は、メンテナンス対象サーバ５におけるファイル更新の完了を表示する。これにより、管理者は、指定したサーバのファイル更新の正常終了を確認することができる。
【００７３】
統合管理装置１は、メンテナンス処理指示後あるいは、サーバ管理装置４からメンテナンス処理の完了通知を受け取ると、物理サーバ毎のメンテナンス状態を記録する（ステップＳ６１２）。ここでは、メンテナンス状態として、物理サーバ５がファイル更新中であることを示す情報や、ファイル更新完了及び更新ファイルに関する情報（例えば、ソフトウェアやＯＳのバージョン情報）が記録される。尚、メンテナンス処理がファイル更新である場合、ステップＳ６１２の処理は省略されても構わない。
【００７４】
次に、図１４を参照して、ＨＡクラスタ（待機系）の物理サーバ５のハードウェア又はソフトウェアをメンテナンスするために、物理サーバ５の稼働を停止（ｓｈｕｔｄｏｗｎ）する処理について説明する。統合管理装置１は、メンテナンス対象サーバ５がＨＡクラスタ（待機系）であることを検出すると、系切替は行わずメンテナンス処理（ここでは稼働停止）に移行する。
【００７５】
詳細には、統合管理装置１は、メンテナンス対象サーバとして物理サーバ５を指定し、メンテナンス（ここでは稼働停止処理）を指示する（ステップＳ６０９）。サーバ管理装置４は、メンテナンス対象サーバ５に稼働停止（ｓｈｕｔｄｏｗｎ）指示を発行する（ステップＳ６１０）。物理サーバ５は、稼働停止指示に応じて、稼働を停止（ｓｈｕｔｄｏｗｎ）する（ステップＳ６１１）。サーバ管理装置４は、物理サーバ５の稼働停止を確認すると、統合管理装置１に稼働停止完了を報告する。統合管理装置１は、メンテナンス対象サーバ５が稼働停止したことを表示する。これにより、保守者は、指定したサーバの稼働停止を確認することができる。
【００７６】
統合管理装置１は、メンテナンス処理指示後あるいは、サーバ管理装置４からメンテナンス処理の完了通知を受け取ると、物理サーバ毎の状態を記録する（ステップＳ６１２）。ここでは、メンテナンス対象サーバ５の稼働状態（例えば、稼働停止）を示す情報、メンテナンス対象サーバ５がメンテナンス中であるか否かを示す情報、及びメンテナンス対象サーバ５に設定されたクラスタリングに関する情報が記録されることが好ましい。例えば、物理サーバ５がメンテナンス中（稼働停止）であるＨＡクラスタ（待機系）であることが記録される。又、クラスタリングに関する情報は、ステップＳ６０６において切り替えられた後の現在の状態（待機系）や切替られる前の状態（稼動系）を示す情報を含んでもよい。
【００７７】
保守者は、稼働を停止した物理サーバ５のメンテナンス（例示：ハードウェアの交換や増設、ソフトウェアの入れ替え等）を行う。物理サーバ５に対するメンテナンスが終了すると、管理者は、統合管理装置１にメンテナンス終了指示を入力する。この際、メンテナンスが終了したサーバが統合管理装置１に指定される。統合管理装置１は、メンテナンス終了指示に応じて、メンテナンスのために稼働を停止した物理サーバ５を起動させる。起動方法は、図１２に示す方法と同様であるため、説明は省略する。
【００７８】
以上のように、統合管理装置１による一元制御により、ＨＡクラスタ（待機系）のサーバを切り離し、当該サーバに対するメンテナンス処理（ファイル更新や稼働停止及び起動処理）を実行することができる。
【００７９】
（３）負荷分散クラスタの一部として設定されたサーバに対するメンテナンス処理
図１５から図１６を参照して、負荷分散クラスタの一部として設定されたサーバ（以下、負荷分散系サーバと称す）に対するメンテナンスの動作を説明する。以下では、メンテナンス対象となる物理サーバ５が負荷分散クラスタの一部に設定されているものとして説明する。
【００８０】
図１５は、第１の実施の形態におけるメンテナンス処理（負荷分散系サーバに対するメンテナンス）の動作を示すシーケンス図である。図１５を参照して、負荷分散クラスタの一部に設定された物理サーバ５に対するファイルの更新（例示：ＯＳのアップグレード）について説明する。ＨＡクラスタ（稼動系）のサーバに対するメンテナンス処理と同様に、ステップＳ６０１〜Ｓ６０３の処理により、統合管理装置１は、メンテナンス対象サーバ５が負荷分散クラスタの一部として設定されているあることを検出する。ただし、ステップＳ６０３においてサーバ管理装置４から送信されるクラスタリング情報には、メンテナンス対象サーバ５が負荷分散系サーバであることを示す情報とともに、ロードバランサ９を特定する情報が含まれる。
【００８１】
統合管理装置１は、メンテナンス対象サーバ５が負荷分散系サーバであることを検出すると、特定したロードバランサ９に対して、メンテナンス対象サーバ５に対する負荷（処理）の割り当ての変更指示を発行する（ステップＳ６４１）。ロードバランサ９は、負荷割り当て変更指示に応じて、統合管理装置１によって指定されたメンテナンス対象サーバ５への処理の割り当てを停止する（ステップＳ６４２）。処理の割り当てを変更したロードバランサ９は、負荷変更完了報告を統合管理装置１に報告する（ステップＳ６４３）。
【００８２】
又、統合管理装置１は、メンテナンス対象サーバ５へのデータ転送に係るフローが未設定状態（全てのＯＦＳに設定されていない状態）となるまで待機し、未設定状態を確認したのち、メンテナンス処理を指示する。詳細には、統合管理装置１は、メンテナンス対象サーバ５が負荷分散系サーバであることを検出すると、メンテナンス対象サーバ５のＭＡＣアドレスを指定し、メンテナンス対象サーバ５に対するデータ転送に係るフローが設定されているか否かの確認要求をＯＦＣ３に発行する（ステップＳ６４４）。この際、メンテナンス対象サーバを指定するため物理サーバ５のＭＡＣアドレスが指定される。ＯＦＣ３は、指定されたＭＡＣアドレスに基づいて確認対象となるフロー特定し、フローテーブル３３４の設定情報４４６を参照して、物理サーバ５に対するデータ転送に係るフローが、物理サーバ５に至る通信経路上のスイッチ（ＯＦＳ）等に設定されているか否かを確認する（ステップＳ６４５）。当該フローが設定されている場合、ＯＦＣ３は所定時間待機して再度確認を行う。ここで、ＯＦＳ４ｉに設定されるフローは所定の時間が経過すると削除される（削除されるまでの時間は、ＯＦＣ３によってフローとともにＯＦＳに設定される）。このため、所定の時間が経過すると、確認対象のフローが未設定状態となる。ＯＦＳ４ｉでは、フローを利用して処理を制御するパケットの受信がない期間に、当該フローを削除することが好ましい。通常、フローが削除されるまでの時間は、当該フローに係る通信が行われなくなるまでの十分長い時間が設定される。
【００８３】
ＯＦＣ３は、物理サーバ５に対するデータ転送に係るフローが全てのＯＦＳに対し未設定状態となるまで、ステップＳ６４５の確認処理及び待機を繰り返し、未設定状態を確認すると、未設定状態を示す確認結果情報を統合管理装置１に送信する（ステップＳ６４６）。尚、負荷割り当て変更処理と、フロー設定の確認処理の順は、図１５に示す順でも逆順でもよく、並行して行われてもよい。
【００８４】
統合管理装置１は、メンテナンス対象サーバ５に対するフローが未設定であることを確認することで、メンテナンス対象サーバ５に対するデータ転送の停止を確認することができる。
【００８５】
メンテナンス対象サーバ５に対するフローの未設定が確認されるとメンテナンス処理（ここではファイル更新）に移行する。統合管理装置１は、メンテナンス対象サーバとして物理サーバ５を指定し、サーバ管理装置４にメンテナンス（ここではファイル更新）を指示する（ステップＳ６４７）。サーバ管理装置４は、メンテナンス対象サーバ５に更新ファイルを送信するとともに、ファイル更新指示を発行する（ステップＳ６４８）。物理サーバ５は、ファイル更新指示に応じて、受信した更新ファイルによって自身のソフトウェアを更新する（ステップＳ６４９）。サーバ管理装置４は、物理サーバ５におけるファイル更新完了後を確認すると、統合管理装置１に物理サーバ５のソフトウェアの更新完了を報告する（ステップＳ６５２、Ｓ６５３）。統合管理装置１は、メンテナンス対象サーバ５におけるファイル更新の完了を表示する。これにより、管理者は、指定したサーバのファイル更新の正常終了を確認することができる。
【００８６】
統合管理装置１は、メンテナンス処理指示後あるいは、サーバ管理装置４からメンテナンス処理の完了通知を受け取ると、物理サーバ毎のメンテナンス状態を記録する（ステップＳ６５１）。ここでは、メンテナンス状態として、物理サーバ５がファイル更新中であることを示す情報や、ファイル更新完了及び更新ファイルに関する情報（例えば、ソフトウェアやＯＳのバージョン情報）が記録される。尚、メンテナンス処理がファイル更新である場合、ステップＳ６５１の処理は省略されても構わない。
【００８７】
メンテナンス処理（ファイル更新）を完了すると、ステップＳ６４２において変更された負荷（処理）の割り当てを元の状態に変更する。詳細には、物理サーバ５のファイル更新を確認した統合管理装置１は、ロードバランサ９に対して、メンテナンス対象サーバ５に対する負荷（処理）の割り当ての変更指示を発行する（ステップＳ６５４）。ロードバランサ９は、負荷割り当て変更指示に応じて、統合管理装置１によって指定されたメンテナンス対象サーバ５への処理の割り当てを開始する（ステップＳ６５５）。処理の割り当てを変更したロードバランサ９は、負荷変更完了報告を統合管理装置１に報告する（ステップＳ６５６）。統合管理装置１は、負荷割り当ての変更完了を表示する。これにより、管理者は、指定したサーバのファイル更新に係る全ての処理の正常終了を確認することができる。
【００８８】
次に、図１５を参照して、負荷分散系サーバ（ここでは物理サーバ５）のハードウェア又はソフトウェアをメンテナンスするために、物理サーバ５の稼働を停止（ｓｈｕｔｄｏｗｎ）する処理について説明する。メンテナンス対象サーバ５が負荷分散系サーバであるため、上述のファイル更新処理と同様に図１５に示すステップＳ６０１〜Ｓ６４６の処理が行われ、メンテナンス対象サーバ５に対する処理の割り当てが停止されるとともに、メンテナンス対象サーバ５へのデータ転送に係るフローが未設定であることが確認される。
【００８９】
負荷割当の変更及びフロー未設定確認が完了すると、メンテナンス処理（ここでは稼働停止処理）に移行する。統合管理装置１は、メンテナンス対象サーバとして物理サーバ５を指定し、メンテナンス（ここでは稼働停止処理）を指示する（ステップＳ６４７）。サーバ管理装置４は、メンテナンス対象サーバ５に稼働停止（ｓｈｕｔｄｏｗｎ）指示を発行する（ステップＳ６４８）。物理サーバ５は、稼働停止指示に応じて、稼働を停止（ｓｈｕｔｄｏｗｎ）する（ステップＳ６４９）。サーバ管理装置４は、物理サーバ５の稼働停止を確認すると、統合管理装置１に稼働停止完了を報告する（ステップＳ６５２、Ｓ６５３）。統合管理装置１は、メンテナンス対象サーバ５が稼働停止したことを表示する。これにより、管理者は、指定したサーバの稼働停止を確認することができる。
【００９０】
統合管理装置１は、メンテナンス処理指示後あるいは、サーバ管理装置４からメンテナンス処理の完了通知を受け取ると、物理サーバ毎の状態を記録する（ステップＳ６１２）。ここでは、メンテナンス対象サーバ５の稼働状態（例えば、稼働停止）を示す情報、メンテナンス対象サーバ５がメンテナンス中であるか否かを示す情報、及びメンテナンス対象サーバ５に設定されたクラスタリングに関する情報が記録されることが好ましい。例えば、物理サーバ５が、メンテナンス中（稼働停止）である負荷分散系サーバであることが記録される。
【００９１】
保守者は、稼働を停止した物理サーバ５のメンテナンス（例示：ハードウェアの交換や増設、ソフトウェアの入れ替え等）を行う。物理サーバ５に対するメンテナンスが終了すると、管理者は、統合管理装置１にメンテナンス終了指示を入力する。この際、メンテナンスが終了したサーバが統合管理装置１に指定される。統合管理装置１は、メンテナンス終了指示に応じて、メンテナンスのために稼働を停止した物理サーバ５を起動させる。
【００９２】
図１６は、本発明に係る負荷分散系サーバのメンテナンス処理後における起動処理の動作を示すシーケンス図である。図１６を参照して、負荷分散系サーバに対するメンテナンス処理後のサーバの起動動作の詳細を説明する。保守者によるメンテナンス終了指示（サーバ指定）に応じて、統合管理装置１は、メンテナンス中のサーバ一覧から、保守者によって指定されたサーバの状態を取得する（ステップＳ６３１）。ここでは、物理サーバ５が稼働停止中（メンテナンス中）の負荷分散系サーバであることを示す状態が取得される。統合管理装置１は、指定されたサーバ（メンテナンスが終了した物理サーバ５）の起動を指示する（ステップＳ６３２）。サーバ管理装置４は、指定された物理サーバ５を起動させる（ステップＳ６３３、Ｓ６３４）。ここでは、例えばＩＰＭＩ等を利用してサーバの起動を実行する。
【００９３】
起動を完了した物理サーバ５は、サーバ管理装置４を介して統合管理装置１に対し起動完了を報告する（ステップＳ６３５、Ｓ６３６）。メンテナンス対象サーバ５の起動が完了すると、ステップＳ６４２において変更された負荷（処理）の割り当てを元の状態に変更する。詳細には、物理サーバ５のファイル更新を確認した統合管理装置１は、ロードバランサ９に対して、メンテナンス対象サーバ５に対する負荷（処理）の割り当ての変更指示を発行する（ステップＳ６６１）。ロードバランサ９は、負荷割り当て変更指示に応じて、統合管理装置１によって指定されたメンテナンス対象サーバ５への処理の割り当てを開始する（ステップＳ６６２）。処理の割り当てを変更したロードバランサ９は、負荷変更完了報告を統合管理装置１に報告する（ステップＳ６６３）。統合管理装置１は、負荷割り当ての変更完了を表示する。これにより、管理者は、指定したサーバのファイル更新に係る全ての処理の正常終了を確認することができる。
【００９４】
以上のように、統合管理装置１による一元制御により、負荷割り当てを制御して負荷分散系サーバを切り離し、当該負荷分散系サーバに対するメンテナンス処理（ファイル更新や稼働停止及び起動処理）を実行することができる。この際、ＯＦＣ３によるフロー監視機能により、メンテナンス対象サーバにデータ転送するフローが未設定となるまでメンテナンス処理を待機させることができる。
【００９５】
（４）単独サーバに対するメンテナンス処理
図１７から図１９を参照して、単独で運用されるサーバ（以下、単独サーバと称す）に対するメンテナンスの動作を説明する。以下では、メンテナンス対象となる物理サーバ５が単独サーバであるものとして説明する。
【００９６】
単独サーバをメンテナンスする場合、当該サーバ上でＶＭＭ（仮想マシンモニタ）が稼働しているか否かによって、その処理の方法が異なる。その稼働を停止してからハードウェア又はソフトウェアの更新や交換を行う。図１７は、第１の実施の形態における単独サーバ（ＶＭＭ稼働なし）に対するｓｈｕｔｄｏｗｎ動作を示すシーケンス図である。図１７を参照して、ＨＡクラスタ（稼動系）のサーバに対するメンテナンス処理と同様に、ステップＳ６０１〜Ｓ６０３の処理により、統合管理装置１は、メンテナンス対象サーバ５が単独サーバであることを検出する。
【００９７】
統合管理装置１は、メンテナンス対象サーバ５が単独サーバであることを検出すると、ＶＭ管理装置２に対してメンテナンス対象サーバを指定し、ＶＭＭの稼働確認要求を発行する（ステップＳ６７１）。ＶＭ管理装置２は、メンテナンス対象サーバとして指定された物理サーバ５上でＶＭＭが稼働しているか否かを示す稼働状況情報を統合管理装置１に送信する（ステップＳ６７２）。統合管理装置１は、メンテナンス対象サーバ５におけるＶＭＭの稼働状況を表示する（ステップＳ６７３）。保守者は、稼働状況を確認することでメンテナンス対象サーバ５を停止させるか否かを設定できる。通常、メンテナンス対象サーバ５上でＶＭＭが稼働していない場合、保守者は、メンテナンス対象サーバ５を停止させるように統合管理装置１を用いて指示を出す。
【００９８】
統合管理装置１は、メンテナンス対象サーバとして物理サーバ５を指定し、稼働停止処理を指示する（ステップＳ６７４）。サーバ管理装置４は、メンテナンス対象サーバ５に稼働停止（ｓｈｕｔｄｏｗｎ）指示を発行する（ステップＳ６７５）。物理サーバ５は、稼働停止指示に応じて、稼働を停止（ｓｈｕｔｄｏｗｎ）する（ステップＳ６７６）。サーバ管理装置４は、所定の時間待機し、物理サーバ５の稼働停止を確認すると、統合管理装置１に稼働停止完了を報告する（ステップＳ６７７、Ｓ６７８）。統合管理装置１は、メンテナンス対象サーバ５が稼働停止したことを表示する。これにより、保守者は、指定したサーバの稼働停止を確認することができる。
【００９９】
一方、メンテナンス対象サーバ５上においてＶＭＭが稼働している場合、図１８Ａ及び図１８Ｂに示す動作により、仮想マシン（ＶＭ）のマイグレーション処理が行われる。例えば、メンテナンス対象が物理サーバ５のホストＯＳやハードウェアである場合、ＶＭ１０１〜ＶＭ１０ｎを他の物理サーバに移動する。
【０１００】
図１８Ａ及び図１８Ｂは、第１の実施の形態における単独サーバ（ＶＭＭ稼働あり）に対するメンテナンス処理の準備処理の動作を示すシーケンス図である。図１８Ａを参照して、ＨＡクラスタ（稼動系）のサーバに対するメンテナンス処理と同様に、ステップＳ６０１〜Ｓ６０３の処理により、統合管理装置１は、メンテナンス対象サーバ５が単独サーバであることを検出する。
【０１０１】
統合管理装置１は、メンテナンス対象サーバ５が単独サーバであることを検出すると、ＶＭ管理装置２に対してメンテナンス対象サーバを指定し、ＶＭＭの稼働確認要求を発行する（ステップＳ６７１）。ＶＭ管理装置２は、メンテナンス対象サーバとして指定された物理サーバ５上でＶＭＭが稼働しているか否かを示す稼働状況情報を統合管理装置１に送信する（ステップＳ６７２）。統合管理装置１は、メンテナンス対象サーバ５におけるＶＭＭの稼働状況を表示する（ステップＳ６７３）。保守者は、稼働状況を確認することでメンテナンス対象サーバ５を停止させるか否かを設定できる。ここでは、ＶＭＭが稼働していることが示される。
【０１０２】
ＶＭＭの稼働を検出した統合管理装置１は、ＶＭＭを指定し、メンテナンス対象サーバ５上で稼働中のＶＭの情報（ＶＭＭ情報３２４）をＶＭ管理装置２に対して要求する（ステップＳ６８１）。ＶＭ管理装置２は、指定されたＶＭＭで稼働しているＶＭの一覧（ＶＭＭ情報３２４）を統合管理装置１に送信する（ステップＳ６８２）。統合管理装置１は、取得したＶＭＭ情報３２４に示された各ＶＭの移動先を設定する（ステップＳ６８３）。
【０１０３】
ＶＭの移動先は、移動対象ＶＭと同じストレージにアクセス可能であるＶＭＭとすることが好ましい。これは、仮想マシンのマイグレーション時において、ストレージへのアクセス制限が変更される処理が追加される場合があるからである。又、仮想スイッチがＯＦＣ３によって設定されるフローによって制御されるスイッチではない場合（オープンフロー技術が適用されていないレイヤ２スイッチである場合）、ＶＭの移動先は、移動前と同一のサブネットに所属させる必要がある。ただし、仮想スイッチがＯＦＳとして機能する場合、ＶＭの移動先として異なるサブネットに属するＶＭＭに設定してもよい。
【０１０４】
又、上述の条件を満たすＶＭＭが複数ある場合、下記（ａ）〜（ｃ）の条件を満たすＶＭＭを優先的に移動先として設定することが好ましい。すなわち、（ａ）移動元のＶＭＭに直接接続する最終段スイッチ（ＯＦＳ４ｉ）を最終段スイッチとするＶＭＭ、（ｂ）マイグレーションに伴うメモリイメージの移動時における移動元のＶＭＭとの通信に使用するＯＦＳ４ｉの数が少ないＶＭＭ、（ｃ）移動元のＶＭＭが使用している通信経路上のＯＦＳと接続されているＶＭＭを優先的に設定することが好ましい。
【０１０５】
上記（ａ）を満たすＶＭＭを優先的に移動先とすることで、経路変更に伴ってフローを再設定するスイッチが、最終段スイッチの１台だけとなる。又、ＶＭのマイグレーションにともなうメモリイメージの転送による影響を受けるスイッチが最終段スイッチの１台だけとなる。
【０１０６】
上記（ｂ）を満たすＶＭＭを優先的に移動先とすることで、ＶＭのマイグレーションにともなうメモリイメージの転送による影響を受けるスイッチの数を最小化することができる。又、使用リソースや負荷が最も少ないＶＭＭを選択することができる。
【０１０７】
上記（ｃ）を満たすＶＭＭを優先的に移動先とすることで、経路変更に伴ってフローを再設定するスイッチの数を少なくすることができる。
【０１０８】
更に、上記（ａ）〜（ｃ）のいずれかの同一条件を満たすＶＭＭが複数ある場合は、更に下位のルール（例えば乱数によって選択）に従って移動先となるＶＭＭを決定することが好ましい。
【０１０９】
ＶＭの移動先が決定すると、ＶＭの移動処理に移行する。先ず、統合管理装置１は、ＯＦＣ３に対してＶＭマイグレーション準備指示を発行する（ステップＳ６８４）。ＯＦＣ３は、準備指示に応じてＶＭマイグレーションの準備処理を実行する（ステップＳ６８５）。ＶＭマイグレーション準備処理の詳細は後述するが、ＯＦＣ３は、ＶＭマイグレーションのためのメモリイメージの転送経路の設定や移動先のＶＭに対するデータ転送経路を算出し、これらの経路を利用するためのフローの生成及び設定を行う。ＶＭマイグレーション準備処理が終了すると、統合管理装置１は、ＶＭ管理装置２に対し、ＶＭ毎に設定した移動先を通知するとともに、ＶＭのマイグレーションを指示する（ステップＳ６８６）。統合管理装置１は、指示した全てのＶＭのマイグレーション完了を待つ。
【０１１０】
ＶＭ管理装置２は、統合管理装置１からのマイグレーション指示に応じてメンテナンス対象サーバ５上で稼働するＶＭの移動処理を実行する（ステップＳ６８７）。ＶＭの移動処理は、ＯＦＳ４ｉや仮想スイッチ１１、２１に対するフロー設定によって実現できる。ＶＭの移動処理の詳細は後述する。
【０１１１】
統合管理装置１は、ＶＭのマイグレーションの完了報告をＶＭ管理装置２から受け取ると、メンテナンス対象サーバとして物理サーバ５を指定し、メンテナンス（ここではファイル更新）をサーバ管理装置４に指示する（ステップＳ６９１、Ｓ６９２）。サーバ管理装置４は、メンテナンス対象サーバ５に更新ファイルを送信するとともに、ファイル更新指示を発行する（ステップＳ６９３）。物理サーバ５は、ファイル更新指示に応じて、受信した更新ファイルによって自身のソフトウェア（例えばホストＯＳ）を更新する（ステップＳ６９４）。サーバ管理装置４は、物理サーバ５におけるファイル更新完了後を確認すると、統合管理装置１に物理サーバ５のソフトウェアの更新完了を報告する。統合管理装置１は、メンテナンス対象サーバ５におけるファイル更新の完了を表示する。これにより、管理者は、指定したサーバのファイル更新の正常終了を確認することができる。
【０１１２】
統合管理装置１は、メンテナンス処理指示後あるいは、サーバ管理装置４からメンテナンス処理の完了通知を受け取ると、物理サーバ毎のメンテナンス状態を記録する（ステップＳ６９５）。ここでは、メンテナンス状態として、物理サーバ５がファイル更新中であることを示す情報や、ファイル更新完了及び更新ファイルに関する情報（例えば、ソフトウェアやＯＳのバージョン情報）が記録される。尚、メンテナンス処理がファイル更新である場合、ステップＳ６９５の処理は省略されても構わない。
【０１１３】
単独サーバであるメンテナンス対象サーバのハードウェア又はソフトウェアをメンテナンスする場合、図１９に示すメンテナンス処理としてメンテナンス対象サーバの稼働停止処理が行われる。詳細には、図１９を参照して、ＶＭのマイグレーション完了後、メンテナンス対象サーバとして物理サーバ５を指定し、メンテナンス（ここでは稼働停止処理）を指示する（ステップＳ６０９）。サーバ管理装置４は、メンテナンス対象サーバ５に稼働停止（ｓｈｕｔｄｏｗｎ）指示を発行する（ステップＳ６９２）。物理サーバ５は、稼働停止指示に応じて、稼働を停止（ｓｈｕｔｄｏｗｎ）する（ステップＳ６９３）。サーバ管理装置４は、物理サーバ５の稼働停止を確認すると、統合管理装置１に稼働停止完了を報告する。統合管理装置１は、メンテナンス対象サーバ５が稼働停止したことを表示する。これにより、管理者は、指定したサーバの稼働停止を確認することができる。
【０１１４】
統合管理装置１は、メンテナンス処理指示後あるいは、サーバ管理装置４からメンテナンス処理の完了通知を受け取ると、物理サーバ毎の状態を記録する（ステップＳ６９５）。ここでは、メンテナンス対象サーバ５の稼働状態（例えば、稼働停止）を示す情報、メンテナンス対象サーバ５がメンテナンス中であるか否かを示す情報、及びメンテナンス対象サーバ５に設定されたクラスタリングに関する情報が記録されることが好ましい。例えば、物理サーバ５がメンテナンス中（稼働停止）である単独サーバであることが記録される。
【０１１５】
保守者は、稼働を停止した物理サーバ５のメンテナンス（例示：ハードウェアの交換や増設、ソフトウェアの入れ替え等）を行う。物理サーバ５に対するメンテナンスが終了すると、管理者は、統合管理装置１にメンテナンス終了指示を入力する。この際、メンテナンスが終了したサーバが統合管理装置１に指定される。統合管理装置１は、メンテナンス終了指示に応じて、メンテナンスのために稼働を停止した物理サーバ５を起動させる。起動方法は、図１２に示す方法と同様であるため、説明は省略する。
【０１１６】
以上のように、統合管理装置１による一元制御により、ＶＭＭが稼動する単独サーバをシステムから切り離し、当該サーバに対するメンテナンス処理（ファイル更新や稼働停止及び起動処理）を実行することができる。本発明によれば、ＶＭＭが稼働しているサーバに対してメンテナンス処理を行う場合、ＯＦＣ３によるフローの設定変更により、メンテナンス対象サーバ上で稼働するＶＭを他のサーバ（ＶＭＭ）に移動する。これにより、稼働するＶＭを停止することなく、物理サーバのハードウェアや、ホストＯＳのメンテナンス処理（例えばファイル更新や交換、補修）を行うことができる。又、ＯＦＳ４ｉに対するフローの設定のみでＶＭを移動することが可能であるため、ＩＴ側の設定が不要となる。
【０１１７】
２．第２の実施の形態
図２０から図２５Ｂを参照して、本発明によるスイッチ（ＯＦＳ４ｉ）に対するメンテナンス処理を説明する。本発明では、メンテナンス対象となるＯＦＳ４ｉをシステム（通信経路）から切り離してから、当該ＯＦＳ４ｉに対してメンテナンス処理が行われる。
【０１１８】
図２０は、第２の実施の形態における、スイッチに対するメンテナンス処理の動作を示すシーケンス図である。先ず、図２０及び図２１を参照して、ＯＦＳ４ｉに対するファイル更新処理を説明する。管理者は、統合管理装置１を操作して、メンテナンス対象（ここではファイル更新対象）となるＯＦＳｉを指定し、ファイル更新を指示する。統合管理装置１は、ＯＦＣ３に対し、メンテナンス対象となるＯＦＳ４ｉを指定し、経路迂回を指示する（ステップＳ７０１）。ここでは、ＯＦＳ４２がメンテナンス対象として指定されるものとする。以下、メンテナンス対象スイッチ４２と称す。
【０１１９】
ＯＦＣ３は、統計管理装置１からの経路迂回指示に応じて、指定されたスイッチが迂回可能か否かを検証する（ステップＳ７０２）。図２１は、ステップＳ７０２における迂回検証処理の詳細を示すフロー図である。図２１を参照して、ＯＦＣ３は、経路迂回指示において指定されたメンテナンス対象スイッチ４２が存在しないトポロジを作成する（ステップＳ７２１）。続いてＯＦＣ３は、全端点に対する通信経路が、ステップＳ７２１で作成されたトポロジから算出できるかどうかを検証する。詳細には、外部ネットワーク８やノード（物理サーバ５、６）を端点とした全組み合わせについて、ステップＳ７２１で作成したトポロジから通信経路を算出する（ステップＳ７２２）。
【０１２０】
端点の全組み合わせについて、ステップＳ７２１で作成したトポロジから通信経路が算出可能な場合、ＯＦＣ３は、迂回経路が、有効な通信経路に影響を与えないかどうかを検証する。詳細には、ＯＦＣ３は、有効な通信経路の各端点を用いて、ステップＳ７２１で作成したトポロジから通信経路を算出する（ステップＳ７２３Ｎｏ、Ｓ７２５）。この際、例えば、ダイクストラ法を用いることで有効な通信経路に影響を与えない端点間の通信経路を算出することができる。ここで有効な通信経路とは、フローテーブル３３４に設定されたフローのうち、ＯＦＳ４ｉに設定可能なフローに対応する通信経路であり、現在使用可能な通信経路を示す。ステップＳ７２５において算出できない組み合わせがない場合、図２０に示すメンテナンス対象スイッチ４２の無効化処理（ステップＳ７０３）に移行する。
【０１２１】
一方、ステップＳ７２２やステップＳ７２５において通信経路を算出できない端点の組み合わせが存在する場合、ＯＦＳ３は、統合管理装置１に対して通信経路が算出できなかった端点のセットを通知する（ステップＳ７２３Ｙｅｓ、Ｓ７２６Ｙｅｓ、Ｓ７２４）。この場合、統合管理装置１は、通信経路が存在しない端点が存在することと、通信経路が存在できない端点のセットを表示する。ステップＳ７２５において通信経路を算出できない端点の組み合わせがある場合、ＯＦＣ３は、迂回路を設定することで現セッションが維持不能となることを統合管理装置１に通知する。これにより、統合管理装置１は、迂回路を設定することで通信を維持できないセッションがあることとそのセッションの端点を表示する。
【０１２２】
管理者は、統合管理装置１に表示される迂回路設定による現通信への影響や迂回路設定可否を確認し、ＯＦＳ４２に対するメンテナンス処理の方法を決定することができる。迂回経路を設定できない場合のメンテナンス処理の方法は、後述する。
【０１２３】
ステップＳ７０２の迂回検証処理において、メンテナンス対象スイッチ４２の迂回経路を算出でき、迂回経路による現通信経路への影響がないと判定すると、ＯＦＣ３は、トポロジ情報３３５においてメンテナンス対象スイッチ４２を無効化又は削除する（ステップＳ７０３）。トポロジ情報３３５において無効化されたスイッチは、以降の通信経路の算出に用いられない。
【０１２４】
そして、ＯＦＣ３は、メンテナンス対象スイッチを迂回する新たな通信経路（迂回経路）に対応するフローを作成する（ステップＳ７０４）。詳細には、ＯＦＣ３は、先ず、有効な通信経路（以下、迂回前経路と称す）の端点を用いて、ステップＳ７０２で作成したトポロジから通信経路（以下、迂回経路と称す）を算出する。続いて、ＯＦＣ３は、算出した迂回経路上の各スイッチに設定するフローを生成する。迂回経路の算出は、全ての迂回前経路の端点の組み合わせについて算出され、各迂回経路上の各スイッチに設定するフローが生成される。これらのフローは全て、スイッチに設定可能なフロー（有効なフロー）として設定される。ここで生成されるフローに従うことで、ＯＦＳ４ｉは迂回経路を介して受信パケットを転送するように制御される。
【０１２５】
ＯＦＣ３は、ステップＳ７０４で生成したフローを、迂回経路上の対応する各ＯＦＳに設定する（ステップＳ７０５、Ｓ７０６）。又、ＯＦＣ３は、迂回前経路に対応するフローを、迂回前経路上の各ＯＦＳから削除する（ステップＳ７０７、Ｓ７０８）。図２０に示す一例では、迂回前経路及び迂回経路の両通信経路上にあるＯＦＳ４１に対するフローの設定及び削除処理が示される。
【０１２６】
ＯＦＣ３は、保持するフローテーブル３３４に設定された迂回前経路に対応するフローを削除（又は無効）とし、ステップＳ７０４において生成したフロー群を使用可能なフローとして登録（有効化）する（ステップＳ７０９）。以上のように、迂回経路に対応するフローの設定により、通信経路が変更され、メンテナンス対象スイッチ４２を迂回する通信経路が確立する。フロー登録が完了すると、ＯＦＣ３は、統合管理装置１に迂回完了を報告する（ステップＳ７１０）。
【０１２７】
通信経路の迂回処理が完了すると、メンテナンス処理（ここではファイル更新）に移行する。統合管理装置１は、メンテナンス対象スイッチとしてＯＦＳ４２を指定し、メンテナンス（ここではファイル更新）をＯＦＣ３に指示する（ステップＳ７１１）。ＯＦＣ３は、メンテナンス対象スイッチ４２に更新ファイルを送信するとともに、ファイル更新指示を発行する（ステップＳ７１２）。ＯＦＳ４２は、ファイル更新指示に応じて、受信した更新ファイルによって自身のソフトウェアを更新する（ステップＳ７１３）。ＯＦＣ３は、ＯＦＳ４２におけるファイル更新完了後を確認すると、統合管理装置１にメンテナンス対象スイッチ４２のソフトウェアの更新完了を報告する。ＯＦＣ３は、ファイル更新指示後又は、ファイル更新完了を受けた後、トポロジ情報３３５においてファイル更新を完了したメンテナンス対象スイッチを有効化又は追加する。統合管理装置１は、メンテナンス対象スイッチ４２におけるファイル更新の完了を表示する。これにより、管理者は、指定したサーバのファイル更新の正常終了を確認することができる。
【０１２８】
統合管理装置１は、メンテナンス処理指示後あるいは、サーバ管理装置４からメンテナンス処理の完了通知を受け取ると、物理サーバ毎のメンテナンス状態を記録する（ステップＳ６１２）。ここでは、メンテナンス状態として、物理サーバ５がファイル更新中であることを示す情報や、ファイル更新完了及び更新ファイルに関する情報（例えば、ソフトウェアやＯＳのバージョン情報）が記録される。尚、メンテナンス処理がファイル更新である場合、ステップＳ６１２の処理は省略されても構わない。
【０１２９】
ここで、メンテナンス対象スイッチ４２のファイル更新後、変更された通信経路を、フローの設定により元に戻してもよいが、フローの再設定に要する処理負荷や再設定による他の通信への影響等を考慮して、通信経路の再変更は実施しないことが好ましい。
【０１３０】
次に、図２０を参照して、スイッチ（ＯＦＳ）のハードウェア又はソフトウェアをメンテナンスするために、ＯＦＳの稼働を停止（ｓｈｕｔｄｏｗｎ）する処理について説明する。メンテナンス対象スイッチ４２を迂回するため、上述のファイル更新処理と同様に図２０に示すステップＳ７０１〜Ｓ７１０の処理が行われ、迂回経路への通信経路の変更が行われる。
【０１３１】
通信経路の迂回経路の設定が完了すると、メンテナンス処理（ここでは稼働停止処理）に移行する。統合管理装置１は、メンテナンス対象スイッチとしてＯＦＳ４２を指定し、メンテナンス（ここでは稼働停止処理）を指示する（ステップＳ７１１）。ＯＦＣ３は、メンテナンス対象スイッチ４２に稼働停止（ｓｈｕｔｄｏｗｎ）指示を発行する（ステップＳ７１２）。ＯＦＳ４２は、稼働停止指示に応じて、稼働を停止（ｓｈｕｔｄｏｗｎ）する（ステップＳ７１３）。ＯＦＣ３は、ＯＦＳ４２の稼働停止を確認すると、統合管理装置１に稼働停止完了を報告する。統合管理装置１は、メンテナンス対象スイッチ４２が稼働停止したことを表示する。これにより、管理者は、指定したスイッチの稼働停止を確認することができる。
【０１３２】
保守者は、稼働を停止したＯＦＳ４２のメンテナンス（例示：ハードウェアの交換や増設、ソフトウェアの入れ替え等）を行う。ＯＦＳ４２に対するメンテナンスが終了すると、管理者は、統合管理装置１にメンテナンス終了指示を入力する。この際、メンテナンスが終了したスイッチが統合管理装置１に指定される。統合管理装置１は、メンテナンス終了指示に応じて、メンテナンスのために稼働を停止したスイッチを起動させる。
【０１３３】
図２２は、本発明に係るサーバのメンテナンス処理後における、スイッチの起動処理の動作を示すシーケンス図である。図２２を参照して、メンテナンス処理後のスイッチの起動動作の詳細を説明する。管理者によるメンテナンス終了指示（スイッチ指定）に応じて、統合管理装置１は、指定されたスイッチ（メンテナンスが終了したＯＦＳ４２）の起動を、ＯＦＣ３に指示する（ステップＳ７３１）。ＯＦＣ３は、指定されたＯＦＳ４２を起動させる（ステップＳ７３２、Ｓ７３３）。起動を完了したＯＦＳ４２は、ＯＦＣ３に報告する（ステップＳ７３４）。ＯＦＣ３は、ＯＦＳ４２の起動を確認すると、トポロジ情報３３５中のメンテナンス対象スイッチ（ここではＯＦＳ４２）を有効化又は追加する。これにより、以降の通信経路生成処理において、ＯＦＳ４２を通過する通信経路が生成され得る。図示しないが、ＯＦＣ３は、統合管理装置１にＯＦＳ４２の起動完了を報告してもよい。この場合、統合管理装置１は、ＯＦＳ４２がメンテナンス終了し起動したことを示す情報を記録することが好ましい。この情報は、管理者に対し視認可能に表示され得る。
【０１３４】
サーバを起動させる際、サーバの状態をメンテナンス前の状態（ＨＡクラスタ（稼動系））に復帰させてもよい。図１３は、本発明に係るサーバのメンテナンス処理後における起動処理（系切り替え有）の動作を示すシーケンス図である。図１３を参照して、統合管理装置１は、上述と同様にステップＳ６３１〜Ｓ６３４の処理により、指定された物理サーバ５を起動させる。ただし、統合管理装置１は、ステップＳ６３２における起動指示の際、系切替指示も併せて行う。サーバ管理装置４は、物理サーバ５からの起動完了を検出すると物理サーバ５のクラスタリング機構１００に対し、稼動系の系切替を指示する（ステップＳ６３６）。メンテナンス対象サーバ５のクラスタリング機構１００は、待機系のサーバ（ここではメンテナンスが終了した物理サーバ５）を稼動系に昇格させ、稼動系のサーバを待機系に降格させる（ステップＳ６３７）。クラスタリング機構１００は、系切替の完了をサーバ管理装置４経由で統合管理装置１に通知する（ステップＳ６３８、Ｓ６３９）。
【０１３５】
以上のように、統合管理装置１による一元制御により、スイッチをシステムから切り離し、当該スイッチに対するメンテナンス処理（ファイル更新や稼働停止及び起動処理）を実行することができる。又、系切替による元の状態への復旧処理も、統合管理装置１によって一元的に制御することができる。
【０１３６】
サーバのファイル更新時と同様に、メンテナンス対象スイッチ４２のファイル更新後、変更された通信経路を、フローの設定により元に戻してもよいが、フローの再設定に要する処理負荷や再設定による他の通信への影響等を考慮して、通信経路の再変更は実施しないことが好ましい。
【０１３７】
３．第３の実施の形態（第２の実施の形態の変形例）
スイッチのメンテナンス処理において通信経路を変更する際、パケットロスを少なくすることが求められる。第３の実施の形態におけるメンテナンス処理では、通信経路の変更前の所定の期間、迂回前経路と迂回経路の両方を利用してデータの転送を行う。これにより、フロー変更に伴うパケットロスを少なくすることが可能となる。以下、図２３Ａ及び図２３Ｂを参照して、第３の実施の形態におけるメンテナンス処理の動作の詳細を説明する。以下では、メンテナンス対象スイッチをＯＦＳ４２、迂回経路上の端点と異なるスイッチをＯＦＳ４１、端点のスイッチをＯＦＳ４３として説明する。
【０１３８】
図２３Ａ及び２３Ｂは、第３の実施の形態におけるスイッチに対するメンテナンス処理の動作を示すシーケンス図である。図２３Ａを参照して、第３の実施の形態におけるメンテナンス処理方法では、第２の実施の形態と同様に、ステップＳ７０１〜Ｓ７０３の処理により、迂回検証、及びトポロジ情報３３５におけるメンテナンス対象スイッチ４２の無効化が行われる。
【０１３９】
ＯＦＣ３は、メンテナンス対象スイッチを迂回する新たな通信経路（迂回経路）に対応するフローを作成する（ステップＳ７４１）。この際、ＯＦＣ３は、第２の実施の形態と同様に迂回経路のみにデータ転送するためのフローを生成するとともに、パケットデータをコピーして迂回経路と迂回前経路の両方に送信するためのフローも併せて生成する。
【０１４０】
ＯＦＣ３は、ステップＳ７４１で生成したフローのうち、迂回経路のみを介してデータ転送するための、迂回経路上の端点以外の対応するＯＦＳ（ＯＦＳ４１）に設定する（ステップＳ７４２、Ｓ７４３）。続いて、ＯＦＣ３は、迂回経路上の端点のスイッチ（ＯＦＳ４３）に対し、パケットデータをコピーして迂回経路と迂回前経路の両方に送信するためのフローを設定する（ステップＳ７４４、Ｓ７４５）。迂回経路上のＯＦＳにフローを設定したＯＦＣ３は、所定の時間待機した後、迂回経路上の端点のスイッチ（ＯＦＳ４３）に対し、ステップＳ７４５で設定したフローを、ステップＳ７４１で生成した、迂回経路のみにデータ転送するフローに変更する（ステップＳ７４６、Ｓ７４７）。ＯＦＣ３は、迂回前経路に対応するフローを、迂回前経路上の各ＯＦＳから削除する（ステップＳ７４８、Ｓ７４９）。
【０１４１】
以降、第２の実施の形態と同様にステップＳ７０９〜Ｓ７１３の処理によって、ＯＦＣ３におけるフローの登録（有効化）、及びメンテナンス処理（ファイルの更新又は稼働停止処理）が行われる。
【０１４２】
本実施の形態によるメンテナンス方法によれば、所定の時間、端点のスイッチ（ＯＦＳ４ｉ）によって迂回経路と迂回前経路の２つの経路を介してデータ転送が行われるため、通信経路の変更時におけるパケットロスの発生を減少させることができる。
【０１４３】
第２又は第３の実施の形態において、迂回経路を算出できない端点の組があった場合、統合管理装置１による制御により端点（サーバ）の状態（システム構成）を変更することで迂回経路の算出を可能としてもよい。端点（サーバ）の変更方法は、端点が、ＨＡクラスタ（稼動系）サーバ、ＨＡクラスタ（待機系）サーバ、負荷分散系サーバ、ＶＭＭが稼働する単体サーバのいずれかであることに応じて異なる。
【０１４４】
図２４Ａ及び図２４Ｂは、スイッチに対するメンテナンス処理における迂回経路生成のための端点変更処理の動作を示すフロー図である。図２４Ａを参照して、スイッチに対するメンテナンス処理の際、迂回経路を算出できないときの端点変更処理の詳細を説明する。上述のステップＳ７０２（ステップＳ７２６）の迂回経路検証処理において、迂回経路が算出できない端点が存在する場合、ＯＦＣ３は、統合管理装置１に対し、通信経路が算出できなかった端点のセットを通知する。統合管理装置は、ＯＦＣ３から通知された外部ネットワーク８以外の端点（サーバ）の状況（クラスタ構成）を確認する（ステップＳ８０１）。詳細には、上述のステップＳ６０１〜６０３と同様に、ＯＦＣ３から通知された端点（サーバ）を指定して、それぞれのクラスタリング情報をサーバ管理装置４から取得する。取得したクラスタリング情報は記憶装置に記録される。
【０１４５】
統合管理装置１は、ＯＦＣ３から通知された端点（サーバ）に単体サーバがあった場合、上述のステップＳ６７１〜Ｓ６７２と同様にＶＭ管理装置２に当該単体サーバでＶＭＭが稼働しているか否かを確認する（ステップＳ８０２、Ｓ８０３）。この際、通知された端点（サーバ）に、ＶＭＭの稼働していない単体サーバが含まれる場合、統合管理装置１は、通信を維持できないセッションがあることと、そのセッションの端点（当該単体サーバ）を含むセットを表示し、迂回経路生成処理を終了する（ステップＳ８０３Ｙｅｓ、Ｓ８０４）。
【０１４６】
一方、ＯＦＣ３から通知された端点に単体サーバが含まれていない場合（ステップＳ８０２Ｎｏ）、あるいはＶＭＭの稼働していない単体サーバが含まれていない場合（ステップＳ８０３Ｎｏ）、統合管理装置１は、端点（サーバ）に設定された状態（クラスタリング構成）に応じた方法で端点の変更処理を行う。
【０１４７】
先ず、統合管理装置１は、ＯＦＣ３から通知された端点から変更対象となる端点（サーバ）を抽出する（ステップＳ８０５、Ｓ８０６）。抽出された変更対象端点がＨＡクラスタ（稼動系）サーバである場合、統合管理装置１は、サーバ管理装置４に対して、ＨＡクラスタ（待機系）のサーバをＨＡクラスタ（稼動系）に昇格させる指示を発行する（ステップＳ８０７Ｙｅｓ、Ｓ８０８）。続いて、統合管理装置１は、サーバ管理装置４に対して、ＨＡクラスタ（稼動系）のサーバをＨＡクラスタ（待機系）に降格させる指示を発行する（ステップＳ８０９）。そして、統合管理装置１は、サーバ管理装置４に対して、降格したＨＡクラスタ（待機系）のサーバを停止させる指示を発行する（ステップＳ８１０）。サーバ管理装置４は、統合管理装置１からの各指示に応じて、稼動系と待機系の切り替え処理及びＨＡクラスタ（待機系）の稼働停止処理を行う。稼動系と待機系の切り替え処理、及び端点（サーバ）の稼働停止が完了すると、ステップＳ８０５に移行する。
【０１４８】
ステップＳ８０６において抽出された変更対象端点がＨＡクラスタ（待機系）サーバである場合、統合管理装置１は、サーバ管理装置４に対して、当該端点（ＨＡクラスタ（待機系）サーバ）を停止させる指示を発行する（ステップＳ８１１Ｙｅｓ、Ｓ８１０）。サーバ管理装置４は、統合管理装置１からの指示に応じて、ＨＡクラスタ（待機系）の稼働停止処理を行う。端点（サーバ）の稼働停止が完了すると、ステップＳ８０５に移行する。
【０１４９】
ステップＳ８０６において抽出された変更対象端点が負荷分散系サーバである場合、統合管理装置１は、ロードバランサ９に対して、当該端点（サーバ）への負荷割当を停止させる指示を発行する（ステップＳ８１２Ｙｅｓ、Ｓ８１３）。ロードバランサ９は、上述のステップＳ６４２と同様に統合管理装置１からの指示に応じて、変更対象端点（サーバ）に対する負荷割当を停止する。続いて、統合管理装置１は、ＯＦＣ３に対して変更対象端点へのフロー停止確認要求を行う（ステップＳ８１４）。ＯＦＣ３は、上述のステップＳ６４５と同様に、変更対象端点に対するデータ転送を制御するフローが各スイッチから削除されていることを確認し、統合管理装置１に報告する。変更対象端点に対するデータ転送の停止を確認した統合管理装置１は、サーバ管理装置に対して当該端点を停止させる指示を発行する（ステップＳ８１５）。サーバ管理装置４は、統合管理装置１からの指示に応じて当該端点（サーバ）の稼働停止処理を行う。端点（サーバ）の稼働停止が完了すると、ステップＳ８０５に移行する。
【０１５０】
ステップＳ８０６において抽出された変更対象端点が単体サーバである場合、統合管理装置１は、ＶＭ管理装置２に対して当該端点（ＶＭＭ）で稼働中のＶＭの情報（ＶＭＭ情報３２４）を要求する（ステップＳ８１６Ｙｅｓ、Ｓ８１７）。ＶＭ管理装置２は、上述のステップＳ６８１と同様に、指定された端点（ＶＭＭ）のＶＭの一覧（ＶＭＭ情報３２４）を統合管理装置１に返却する。続いて、統合管理装置１は、上述のステップＳ６８３と同様に取得したＶＭ一覧（ＶＭＭ情報３２４）に示された各ＶＭの移動先を決定し、ＶＭ管理装置２に対してＶＭの移動指示を発行する（ステップＳ８１８）。ＶＭ管理装置２は、ステップＳ６８７と同様にＯＦＣ３を利用してＶＭを移動させる。ＶＭの移動を確認した統合管理装置１は、サーバ管理装置４に対して当該端点を停止させる指示を発行する（ステップＳ８１９）。サーバ管理装置４は、統合管理装置１からの指示に応じて当該端点（サーバ）の稼働停止処理を行う。端点（サーバ）の稼働停止が完了すると、ステップＳ８０５に移行する。
【０１５１】
上述のステップＳ８０５〜Ｓ８１９の処理は、ＯＦＣ３から通知された全ての端点について実施されるまで繰り返され、全ての端点が変更されると、上述のステップＳ７０３に以降し、第１及び第２の実施の形態で示される通り、メンテナンス対象の無効化、迂回経路の算出、フローの設定、及びメンテナンス処理（ファイル更新やハードウェアの交換等）が行われる。この際、迂回されるメンテナンス対象スイッチは稼働停止してもよい。又、変更された端点の状態（クラスタリング構成や稼働状況等）は記憶装置に記録されてもよい。
【０１５２】
次に、メンテナンス処理後の動作を説明する。統合管理装置１は、管理者による入力又はＯＦＣ３からの通知によってメンテナンス処理の完了を知ると、上述の端点変更処理時（ステップＳ８０１）に記録された各端点（サーバ）の状態に応じて、変更された端点の状態を復旧する。図２５Ａ及び図２５Ｂは、スイッチに対するメンテナンス処理後における端点復旧処理の動作を示すフロー図である。統合管理装置１は、記録された端点の状態を確認し、未復旧の端点（サーバ）がある場合、復旧対象端点を抽出して、サーバ状態の復旧処理を行う（ステップＳ８３１、Ｓ８３２Ｙｅｓ、Ｓ８３３）。
【０１５３】
先ず、統合管理装置１は、抽出した復旧対象端点（サーバ）がＨＡクラスタ（稼動系）サーバである場合、統合管理装置１は、サーバ管理装置４に対して、ＨＡクラスタ（待機系）のサーバの起動を指示する（ステップＳ８３４Ｙｅｓ、Ｓ８３５）。続いて、サーバ管理装置４に対して、ＨＡクラスタ（待機系）のサーバをＨＡクラスタ（稼動系）に昇格させる指示を発行する（ステップＳ８３６）。そして、統合管理装置１は、サーバ管理装置４に対して、ＨＡクラスタ（稼動系）のサーバをＨＡクラスタ（待機系）に降格させる指示を発行する（ステップＳ８０９）。サーバ管理装置４は、統合管理装置１からの各指示に応じて、ＨＡクラスタ（待機系）の起動処理、及び稼動系と待機系の切り替え処理を行う。端点（サーバ）の起動及び稼動系への復旧が完了すると、ステップＳ８３２に移行する。
【０１５４】
ステップＳ８３３において抽出された復旧対象端点がＨＡクラスタ（待機系）サーバである場合、統合管理装置１は、サーバ管理装置４に対して、当該端点（ＨＡクラスタ（待機系）サーバ）を起動させる指示を発行する（ステップＳ８３８Ｙｅｓ、Ｓ８３９）。サーバ管理装置４は、統合管理装置１からの指示に応じて、ＨＡクラスタ（待機系）の起動処理を行う。端点（サーバ）の起動が完了すると、ステップＳ８３２に移行する。
【０１５５】
ステップＳ８３３において抽出された復旧対象端点が負荷分散系サーバである場合、統合管理装置１は、サーバ管理装置４に対して復旧対象端点の起動指示を発行する（ステップＳ８４０Ｙｅｓ、Ｓ８４１）。サーバ管理装置４は、統合管理装置１からの指示に応じて当該端点（サーバ）の起動処理を行う。続いて、統合管理装置１は、ロードバランサ９に対して、当該端点（サーバ）への負荷割当を停止させる指示を発行する（ステップＳ８４２）。ロードバランサ９は、上述のステップＳ６６２と同様に統合管理装置１からの指示に応じて、変更対象端点（サーバ）に対する負荷割当を再開する。端点（サーバ）の起動及び負荷割当が再開されると、ステップＳ８３２に移行する。
【０１５６】
ステップＳ８３３において抽出された復旧対象端点が単体サーバである場合、統合管理装置１は、統合管理装置１は、サーバ管理装置４に対して復旧対象端点の起動指示を発行する（ステップＳ８４３Ｙｅｓ、Ｓ８４４）。サーバ管理装置４は、統合管理装置１からの指示に応じて当該端点（サーバ）の起動処理を行う。続いて、統合管理装置１は、ＶＭ管理装置２に対してＶＭの移動指示（復旧指示）を発行する（ステップＳ８４５）。端点（サーバ）の起動及びＶＭの移動が完了すると、ステップＳ８３２に移行する。
【０１５７】
上述のステップＳ８３２〜Ｓ８４５の処理は、記憶している全ての復旧対象端点について実施されるまで繰り返され、全ての端点が復旧されると、統合管理装置１はメンテナンス処理が完了した表示する。
【０１５８】
以上のように、統合管理装置１による一元制御により、迂回経路のないスイッチをシステムから切り離し、当該スイッチに対するメンテナンス処理（ファイル更新や稼働停止及び起動処理）を実行することができる。
【０１５９】
４．第４の実施の形態（第１の実施の形態の変形例）
本実施の形態では、ＨＡクラスタ（稼動系）のサーバに対するメンテナンス処理において稼動系と待機系とを切り換える際、オープンフロー技術によって通信経路を変更する。これにより、稼動系と待機系を切り替えたときの通信経路の際設定時間の短縮や、パケットロスを減じることが可能となる。以下、図３１Ａ〜図３２Ｂを参照して、第４の実施の形態におけるＨＡクラスタ（稼動系）サーバに対するメンテナンス動作の詳細を説明する。
【０１６０】
図３１Ａ及び図３１Ｂは、第４の実施の形態におけるメンテナンス処理（稼動系サーバに対するメンテナンス）の動作を示すシーケンス図である。本実施の形態では、第１の実施の形態における稼動系と待機系の切り替え（ステップＳ６０４〜Ｓ６０８）の前に、系切り替え後に利用される通信経路に対応するフローの設定が行われる。
【０１６１】
以下、フローの設定動作の詳細を説明する。メンテナンス対象サーバ５がクラスタ（稼動系）であることを検出した統合管理装置１は、ＯＦＣ３に対し、メンテナンス対象サーバ５を指定し、フローの設定を指示する（ステップＳ９０１）。ＯＦＣ３は、フロー設定指示に応じて、ＨＡクラスタ（待機系）を端点とする通信経路に対応するフローを生成する（ステップＳ９０２）。詳細には、ＨＡクラスタ（稼動系）であるメンテナンス対象サーバ５を端点とする通信経路の他方の端点と、ＨＡクラスタ（待機系）のサーバとを端点とする通信経路をトポロジ情報３３５を用いて新たに算出する。そして当該通信経路上のＯＦＳ４ｉに設定するフローを生成する。ＯＦＣ３は、ステップＳ９０２で生成したフローを、新たな通信経路上の対応する各ＯＦＳ４ｉに設定する（ステップＳ９０３、Ｓ９０４）。
【０１６２】
新たなフローが設定されたＯＦＳ４ｉは、ＨＡクラスタ（稼動系）サーバとＨＡクラスタ（待機系）サーバの両方にパケットデータを転送する処理を行う。これにより、後述する系切り替え処理の間におけるパケットロスの発生を防止することができる。
【０１６３】
ＯＦＣ３は、フローを設定するとフロー設定完了報告を統合管理装置１に発行する（ステップＳ９０５）。統合管理装置１は、これに応じて、稼動系のメンテナンス対象サーバと待機系のサーバの系の切り替えをサーバ管理装置４に指示する（ステップＳ９１７）。サーバ管理装置４は、第１の実施の形態と同様にクラスタリング機構１００を制御して、稼動系であるメンテナンス対象サーバ５を待機系に降格させ、指定した待機系のサーバを稼動系に昇格させる（ステップＳ６３６〜Ｓ６３９）
【０１６４】
系切り替えの完了報告を受けた統合管理装置１は、フローの削除指示をＯＦＣ３に発行する（ステップＳ６０８、Ｓ９０６）。ＯＦＣ３は、メンテナンス対象サーバ５を端点とする通信経路に対応するフローを、当該通信経路上のＯＦＳ４ｉから削除するように、当該ＯＦＳ４ｉに指示する（ステップＳ９０７）。削除指示を受けたＯＦＳ４ｉは、当該フローを削除する（ステップＳ９０８）。これにより、メンテナンス対象サーバ５宛のパケットデータは、ステップＳ６０６において稼動系に切り替えられたサーバを端点とする通信経路のみを利用して、当該サーバへ転送されることとなる。
【０１６５】
メンテナンス対象サーバ５に対する通信経路に対応するフローの削除が完了すると、サーバ管理装置４からフロー削除完了報告が統合管理装置１に通知される。これにより、統合管理装置１は、第１の実施の形態と同様にサーバ管理装置４にメンテナンスを指示し、メンテナンス処理に移行する（ステップＳ６０９〜Ｓ６１２）。
【０１６６】
以上のように、系切り替えの前に系切り替え後に利用するフローの設定が行われるため、系切り替え後の通信経路の変更時間が短縮される。
【０１６７】
図３２Ａ及び図３２Ｂは、第４の実施の形態のおける、サーバのメンテナンス処理後における起動処理の動作を示すシーケンス図である。第４の実施の形態では、メンテナンスのために稼動を停止していた物理サーバ５を起動する際、系の切り替えと通信経路の切り替えが行われる。この際、第１の実施の形態における稼動系と待機系の切り替え（ステップＳ６３６〜Ｓ６３９）の前に、系切り替え後に利用される通信経路に対応するフローの設定が行われる。
【０１６８】
詳細には、第１の実施の形態と同様に、統合管理装置１によって、メンテナンス後の物理サーバ５が起動する（ステップＳ６３１〜Ｓ６３５）。統合管理装置１は、サーバ管理装置４からの報告により物理サーバ５の起動完了を確認すると、稼動系として運用するサーバを指定し、フローの設定を指示する（ステップＳ９１１、Ｓ９１２）。ここでは、メンテナンスが終了したＨＡクラスタ（待機系）の物理サーバ５が指定される。ＯＦＣ３は、フロー設定指示に応じて、ＨＡクラスタ（待機系）である物理サーバ５を端点とする通信経路に対応するフローを生成する（ステップＳ９１３）。詳細には、ＨＡクラスタ（稼動系）サーバを端点とする通信経路の他方の端点と、ＨＡクラスタ（待機系）の物理サーバ５とを端点とする通信経路を、トポロジ情報３３５を用いて算出する。そして当該通信経路上のＯＦＳ４ｉに設定するフローを生成する。ＯＦＣ３は、ステップＳ９１３で生成したフローを、新たな通信経路上の対応する各ＯＦＳ４ｉに設定する（ステップＳ９１４、Ｓ９１５）。尚、図３１Ａ及び図３１Ｂに示したフローの削除処理において、メンテナンス対象サーバ５に対するフローが削除されずＯＦＣ３のフローテーブル３３４に保持されている場合、ステップＳ９１３のフロー生成処理は省略される。
【０１６９】
新たなフローが設定されたＯＦＳ４ｉは、ＨＡクラスタ（稼動系）サーバとＨＡクラスタ（待機系）サーバの両方にパケットデータを転送する処理を行う。これにより、後述する系切り替え処理の間におけるパケットロスの発生を防止することができる。
【０１７０】
ＯＦＣ３は、フローを設定するとフロー設定完了報告を統合管理装置１に発行する（ステップＳ９１６）。統合管理装置１は、これに応じて、稼動系のメンテナンス対象サーバと待機系のサーバの系の切り替えをサーバ管理装置４に指示する（ステップＳ９１７）。サーバ管理装置４は、第１の実施の形態と同様にクラスタリング機構１００を制御して、稼動系である物理サーバを待機系に降格させ、メンテナンスが終了した待機系の物理サーバ５を稼動系に昇格させる（ステップＳ６３６〜Ｓ６３９）
【０１７１】
系切り替えの完了報告を受けた統合管理装置１は、フローの削除指示をＯＦＣ３に発行する（ステップＳ９３９、Ｓ９１８）。ＯＦＣ３は、稼動系から待機系に切り替えられたサーバを端点とする通信経路に対応するフローを、当該通信経路上のＯＦＳ４ｉから削除するように、当該ＯＦＳ４ｉに指示する（ステップＳ９１９）。削除指示を受けたＯＦＳ４ｉは、当該フローを削除する（ステップＳ９２０）。これにより、メンテナンス対象サーバ５宛のパケットデータは、ステップＳ６０６において稼動系に切り替えられた物理サーバ５を端点とする通信経路のみを利用して、当該サーバへ転送されることとなる。
【０１７２】
以上のように、メンテナンス後の物理サーバに対する起動処理においても、系切り替えの前に系切り替え後に利用するフローの設定が行われるため、系切り替え後の通信経路の変更時間が短縮される。尚、メンテナンス後の系切り替え及び通信経路の切り替えは省略され得る。
【０１７３】
（仮想マシンのマイグレーション動作）
次に、ステップ６８４における仮想マシンのマイグレーション動作について説明する。
【０１７４】
（１）第１の実施例
図２６から図２８を参照して、仮想マシンのマイグレーション動作の第１の実施例を説明する。図２６は、仮想マシンのマイグレーション処理における準備処理の第１の実施例を説明するシーケンス図である。先ず、図２６を参照して、ステップＳ６８５におけるマイグレーション準備処理の第１の実施例を説明する。
【０１７５】
統合管理装置１は、ステップＳ６８３においてＶＭの移動先が決定すると、ＶＭマイグレーション準備指示をＯＦＣ３に発行する（ステップＳ６８４）。この際、統合管理装置１は、ＶＭＭ管理情報３２３に基づいて、移動元ＶＭＭ、移動対象ＶＭ、移動先ＶＭＭ、及び移動先ＶＳＷを、ＯＦＣ３に指定する。
【０１７６】
移動準備指示を受けたＯＦＣ３は、先ずメモリイメージの移動のための通信経路及びフローの設定を行う。ＯＦＣ３は、トポロジ情報３３５に基づいて移動元ＶＭＭと移動先ＶＭＭとの間で移動対象ＶＭのメモリイメージを転送するための通信経路（メモリイメージ転送経路）を算出する（ステップＳ１０４）。ここでは、移動前の移動対象ＶＭのメモリイメージが格納される領域と、移動後の移動対象ＶＭのメモリイメージが格納される領域とが両端点として設定され、メモリイメージ転送経路として算出される。算出されたメモリイメージ転送経路に関する情報は通信経路情報３３６として記録される。
【０１７７】
ＯＦＣ３は、ステップＳ１０４で算出したメモリイメージ転送経路上にある各ＯＦＳ４ｉに設定すべきフロー（メモリイメージ転送用フロー）を生成する（ステップＳ１０５）。ＯＦＳ４ｉ毎に生成されたメモリイメージ転送用フロー（ルール４４４＋アクション情報４４５）は、各ＯＦＳ４ｉに対応付けられてフローテーブル３３４に登録される。この際、メモリイメージ転送用フローの設定情報４４６は、「未設定」及び「無効」に設定される。
【０１７８】
ＯＦＣ３は、メモリイメージ転送用フローを各ＯＦＳ４ｉやノードに設定する（ステップＳ１０６〜Ｓ１０８）。詳細には、ＯＦＣ３は、メモリイメージ転送用フローの設定を、通信経路上の対応するＯＦＳ４ｉに指示する（ステップＳ１０６）。フローの設定が指示されたＯＦＳ４ｉは、それぞれに送信されたフロー（ルール４４４＋アクション情報４４５）を自身のフローテーブル３４３に設定する（ステップＳ１０７）。フローの設定が完了したＯＦＳ４ｉは、フロー設定完了をＯＦＣ３に報告する（ステップＳ１０８）。ここで、メモリイメージ転送用フローは、ＯＦＳ４ｉ以外にも、メモリイメージ転送経路上のノードにも設定される。又、仮想スイッチがオープンフロー技術に対応した構成である場合、メモリイメージ転送用フローは、メモリイメージ転送経路上の仮想スイッチに設定される。ＯＦＳ４ｉや仮想スイッチに設定されたメモリイメージ転送用フローの設定情報４４６は、「設定済み」及び「有効」に設定される。
【０１７９】
次にＯＦＣ３は、ＶＭマイグレーション後の移動対象ＶＭ（以下、移動先ＶＭと称す）に対するアクセスのための通信経路及びフローの設定を行う。先ず、ＯＦＣ３は、移動先ＶＭへの通信経路（移動先ＶＭ宛通信経路）を算出する（ステップＳ１０９）。詳細には、ＯＦＣ３は、予め保持する有効な通信経路情報３３６から移動対象ＶＭに関わる通信経路の通信経路情報３３６を選択する。ここで、有効な通信経路（有効な通信経路情報３３６）とは、ＯＦＳ４ｉに設定可能なフローが存在する通信経路を示す。そしてＯＦＣ３は、トポロジ情報３３５を利用して、選択した通信経路の一方を移動対象ＶＭから、移動先ＶＭが接続する仮想スイッチに変更して通信経路を修正し、移動先ＶＭ宛通信経路として算出する。算出された移動先ＶＭ宛通信経路に関する情報は通信経路情報３３６として記録される。
【０１８０】
ＯＦＣ３は、ステップＳ１０９で算出した移動先ＶＭ宛通信経路上にある各ＯＦＳ４ｉに設定すべきフロー（移動先ＶＭ宛通信用フロー）を生成する（ステップＳ１１０）。ＯＦＳ４ｉ毎に生成された移動先ＶＭ宛通信用フロー（ルール４４４＋アクション情報４４５）は、各ＯＦＳ４ｉに対応付けられてフローテーブル３３４に登録される。この際、移動先ＶＭ宛通信用フローの設定情報４４６は、「未設定」及び「無効」に設定される。
【０１８１】
ＯＦＣ３は、移動先ＶＭ宛通信用フローを生成すると、移動準備の完了を統合管理装置１に報告する（ステップＳ１１１）。
【０１８２】
以上のように、第１の実施例における準備処理では、移動対象ＶＭのメモリイメージの転送経路の算出及びその移動を制御するためのフローの設定と、移動先ＶＭに対するアクセスのための通信経路の算出及びその通信を制御するためのフローの生成が行われる。第１の実施例では、ＯＦＳ４ｉへのメモリイメージ転送用フローの設定と、移動先ＶＭ宛通信用フローの作成が終了した段階で、移動準備が終了する。
【０１８３】
ステップＳ６８７におけるマイグレーション処理は、図２７に示すメモリイメージの転送処理と図２８に示すアクセス先切り替え処理を含む。
【０１８４】
図２７は、仮想マシンのマイグレーション処理におけるメモリイメージ転送処理の第１の実施例を説明するシーケンス図である。図２７を参照して、移動準備完了報告を受け取った統合管理装置１は、マイグレーション指示をＶＭ管理装置２に発行する（ステップＳ６８６）。ＶＭ管理装置２は、準備処理において指定された移動元ＶＭＭ（ここでは一例としてＶＭＭ１０）と移動先ＶＭＭ（ここでは一例としてＶＭＭ２０）に対し、マイグレーション指示を発行する（ステップＳ２０２、Ｓ２０３）。この際、移動対象ＶＭをＶＭＭ１０、２０に通知する。尚、ステップＳ２０１におけるマイグレーション指示の際、移動元ＶＭＭと移動先ＶＭＭを指定してもよい。
【０１８５】
ＶＭ管理装置２からのマイグレーション指示に応じてＶＭＭ１０、２０間において仮想マシンのメモリイメージの転送が行われる（ステップＳ２０４〜Ｓ２１２）。詳細には、移動先ＶＭＭ（以下、移動先ＶＭＭ２０）においてＶＭ管理装置２から指定されたＶＭが作成される（ステップＳ２０４）。移動元ＶＭＭ（以下、移動元ＶＭＭ１０）は、移動先ＶＭＭ２０から通知されたＶＭ作成完了報告に応じて移動対象ＶＭのメモリイメージを転送する（ステップＳ２０５〜Ｓ２０７）。ステップＳ２０４において作成されたＶＭ宛にメモリイメージを転送する。メモリイメージは、ステップＳ１０４〜Ｓ１０７で設定されたメモリイメージ転送経路を経由して転送される。この際、メモリイメージ転送経路上のＯＦＳ４ｉは、ステップＳ１０７で設定されたメモリイメージ転送用フローに従いメモリイメージを転送する。
【０１８６】
メモリイメージの転送中において、移動対象ＶＭ以外の他の仮想マシンへのアクセス（例えばテータ転送）が生じた場合、当該アクセスに係るＯＦＳ４ｉは、自身のフローテーブル３４３に設定されたフローに従って、受信パケットのヘッダ情報に対応するアクション（例えばデータの中継処理）を実行する。ここで、メモリイメージ転送経路をマイグレーションに関係のない他の仮想マシンへのアクセスを妨げないような経路に設定することで、他の仮想マシンへの通信を妨げることなく移動対象ＶＭを移動することが可能となる。
【０１８７】
一方、メモリイメージの転送中において、移動対象ＶＭ宛へのアクセスが生じた場合（例えば、移動対象ＶＭ宛のデータが転送された場合）、移動対象ＶＭへの通信経路上のＯＦＳ４ｉは、自身のフローテーブル３４３に設定されたフローに従って、受信パケットのヘッダ情報に対応するアクション（例えばデータの中継処理）を実行する。ここでは、移動対象ＶＭがＶＭＭ１０上で動作しているものとしてフローが設定されているため、移動対象ＶＭ宛のデータは、物理サーバ５上の移動対象ＶＭに転送される。移動元ＶＭＭ１０は、転送された移動対象ＶＭ宛のデータを移動対象ＶＭのメモリページに記録する。
【０１８８】
メモリイメージの転送中においても、移動対象ＶＭのプロセス処理や、移動対象ＶＭ宛に転送されるデータによってメモリページが変更される場合がある。変更されたメモリページは、コピー対象として記憶装置の変更ページ記録領域に記録される（ステップＳ２０８）。変更ページの記録処理は、移動先ＶＭが稼動を開始するまで行われることが好ましい。
【０１８９】
移動対象ＶＭに関連する全てのメモリイメージの転送が終了すると、移動元ＶＭＭ１０は、変更ページを、ステップＳ１０４〜Ｓ１０７において設定されたメモリイメージ転送用経路を介して移動先ＶＭＭ２０に転送する（ステップＳ２０９）。ただし、移動対象ＶＭに関連する全てのメモリイメージの転送が終了したときに記録されている変更ページの数が、所定の数以下の場合、ステップＳ２０９に変更ページの転送処理は省略されることが好ましい。又、ステップＳ２０９の変更ページの転送処理の間にも、メモリページが変更される場合がある。このため、ステップＳ２０９では、移動元ＶＭＭ１０は、変更ページ記録領域中の変更ページを更に別の領域に記録し、当該変更ページ記録領域をクリアしてから変更ページを移動先ＶＭＭ２０に転送する。
【０１９０】
移動対象ＶＭに関連する全てのメモリイメージの転送（変更ページの転送も含む）が終了すると、移動元ＶＭＭ１０上で動作する移動対象ＶＭ（以下、移動元ＶＭと称す）の動作を停止する（ステップＳ２１０）。この際、移動元ＶＭの仮想のネットワークインタフェースも停止する。尚、移動元ＶＭＭ１０は、ステップＳ２０９において変更ページの転送と変更ページの記録を繰り返し、変更ページの数が所定の数以下となったとき移動元ＶＭを停止することが好ましい。移動元ＶＭの停止後、移動元ＶＭＭ１０は、変更ページを、ステップＳ１０４〜Ｓ１０７において設定されたメモリイメージ転送用経路を介して移動先ＶＭＭ２０に転送する（ステップＳ２１１）。これによって、移動元ＶＭＭ１０から移動先ＶＭＭへのメモリイメージの転送が完了する。ここで、移動先ＶＭＭ２０上で作成されたＶＭ（以下、移動先ＶＭと称す）が稼動し始めても良いが、移動元ＶＭと移動先ＶＭのメモリイメージの一致判定が行われることが好ましい。詳細には、移動元ＶＭの停止を確認した移動元ＶＭＭ１０は、転送確認指示を移動先ＶＭＭ２０に発行する（ステップＳ２１２）。移動先ＶＭＭ２０は、転送確認指示に応じて移動先ＶＭのメモリイメージを、ステップＳ１０４〜Ｓ１０７において設定されたメモリイメージ転送用経路を介して移動元ＶＭＭ１０に転送する（ステップＳ２１３）。移動元ＶＭＭ１０は、移動先ＶＭＭ２０から転送されたメモリイメージと移動元ＶＭのメモリイメージとが一致するか否かを判定する（ステップＳＳ２１４）。
【０１９１】
ステップＳ２１６において、移動先ＶＭと移動元ＶＭのメモリイメージの一致が確認されると、移動元ＶＭＭ１０から移動先ＶＭＭ２０に対して一致確認完了報告が通知される（ステップＳ２１５）。一致確認完了報告を受けた移動先ＶＭＭ２０は、移動先ＶＭを稼動させる（ステップＳ２１６）。この際、移動先ＶＭの仮想のネットワークインタフェースも稼動状態となる。
【０１９２】
一方、ステップＳ２１６において、移動先ＶＭと移動元ＶＭのメモリイメージが一致しない場合、一致しないメモリページの転送処理が行われる（図示なし）。
【０１９３】
以上のように、統合管理装置１によって指定された経路（メモリイメージ転送用経路）を利用してＶＭのメモリイメージの転送が行われる。この際、移動元ＶＭへのアクセスは、ＯＦＳ群４に移動前に設定されていたフローに従って行われる。このため、移動元ＶＭに対する通信を中断することなく当該ＶＭのメモリイメージを転送することができる。又、メモリイメージ転送用経路は、統合管理装置１によって任意に設定することが可能であるため、他の仮想マシンに対する通信を阻害することのない経路を選定することができる。これにより、他の仮想マシンに対する通信に影響しないメモリイメージの転送が可能となる。
【０１９４】
通常、物理サーバが同一サブネットに属する場合、レイヤ２のスイッチを介して物理サーバ間のデータ転送が行われるが、物理サーバが、異なるサブネットに属する場合、物理サーバ間にレイヤ３スイッチを用意する必要がある。一方、本発明ではレイヤ１からレイヤ４のアドレスや識別子の組み合わせによってアクション（例えば中継動作）が決まるオープンフロー技術を利用してメモリイメージの転送を行っている。このため、物理サーバ５、６が異なるサブネットに属する場合でも、フローの設定を変更するだけで物理サーバ間のデータ転送が可能となる。
【０１９５】
図２８は、仮想マシンのマイグレーション処理におけるアクセス先切り替え処理の第１の実施例を説明するシーケンス図である。ここでは、ステップＳ２１８において稼動した移動先ＶＭをＶＭ２０ｍとして、移動元ＶＭから移動先ＶＭ２０ｍへのアクセス先の切替動作を説明する。図２８を参照して、移動先ＶＭＭ２０上で作成されたＶＭ２０ｍは、稼動状態となると、先ずＲＡＲＰ（Ｒｅｖｅｒｓｅ  Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）送信する（ステップＳ３０１）。ＲＡＲＰは、仮想スイッチ２１によって検出され、ＯＦＳ４ｉに転送される。ＲＡＲＰを検出したＯＦＳ４ｉは、検出したＲＡＲＰをＯＦＣ３に通知する（ステップＳ３０２）。詳細には、稼動状態となった移動先のＶＭからのＲＡＲＰ送信によるパケットデータを受信したＯＦＳ４ｉは、当該パケットデータに適合するフロー（ルール）が設定されていないことから、ファーストパケットを受信したことをＯＦＣ３に通知する。この際、当該パケットデータ又はパケットデータに含まれるＭＡＣアドレスをＯＦＣ３に通知する。ＯＦＣ３は通知されたＭＡＣアドレスに対応する通信経路を移動先ＶＭ宛通信経路として選択し、移動先ＶＭ宛通信用フローを生成する。ここでは、ＯＦＳ４ｉからＲＡＲＰのパケットデータが転送され、ＯＦＣ３は、ＲＡＲＰ送信したＶＭ２０ｍのＭＡＣアドレスを取得する。
【０１９６】
ＯＦＣ３は、保持している有効な通信経路情報３３６のうち、ステップＳ３０２で通知されたＲＡＲＰ（ＭＡＣアドレス）に該当する通信経路（通信経路情報３３６）を選択する（Ｓ３０３）。ここでは、ステップＳ１０９で算出された移動先ＶＭ宛通信経路の中からＲＡＲＰ（ＭＡＣアドレス）を通過する通信経路が選択される。続いてＯＦＣ３は、ステップＳ１１０で生成された移動先ＶＭ宛通信用フローを、選択された通信経路上のＯＦＳ４ｉやノードに設定する（ステップＳ３０４〜Ｓ３０７）。詳細には、ＯＦＣ３は、通信経路情報３３６及びトポロジ情報３３５から、選択された移動先ＶＭ宛通信経路上のノード及びＯＦＳ４ｉを抽出し、それぞれに対応する移動先ＶＭ宛通信用フローを選択する（ステップＳ３０４）。そして、ＯＦＳ４ｉ毎に選択した移動先ＶＭ宛通信用フローの設定指示を発行する（ステップＳ３０５）。ＯＦＳ４ｉは、移動先ＶＭ宛通信用フローの設定指示に応じて、送信された移動先ＶＭ宛通信用フローを自身のフローテーブル３４３に設定する（ステップＳ３０６）。フローの設定が終了したＯＦＳ４ｉはフロー設定完了報告をＯＦＣ３に通知する（ステップＳ３０７）。ＯＦＳ４ｉに設定された移動先ＶＭ宛通信用フローの設定情報４４６は、「設定済み」及び「有効」に設定される。
【０１９７】
ＯＦＣ３は、移動先ＶＭ宛通信経路上のノード及びＯＦＳ４ｉに移動先ＶＭ宛通信用フローを設定し、その設定完了を確認すると、トポロジ情報３３５を用いて移動先ＶＭと仮想スイッチ２１との間を接続するためのフローを生成する（ステップＳ３０８）。ＯＦＣ３は、生成したフローを仮想スイッチ２１に設定する（ステップＳ３０９、Ｓ３１０）。詳細には、ＯＦＣ３はステップＳ３０８で生成したフローの設定指示を仮想スイッチ２１に対して発行する（ステップＳ３０９）。仮想スイッチ２１は、フローの設定指示に応じて、ＯＦＣ３から送信されたフローを自身のフローテーブル３４３に設定する（ステップＳ３１０）。フローの設定が終了した仮想スイッチ２１はフロー設定完了報告をＯＦＣ３に通知する（ステップＳ３１１）。仮想スイッチ２１に設定された移動先ＶＭ宛通信用フローの設定情報４４６は、「設定済み」及び「有効」に設定される。
【０１９８】
ＯＦＣ３は、移動先ＶＭ２０ｍと仮想スイッチ２１との間を接続するフローの設定完了を確認すると、移動元ＶＭ宛のフローを選択し、当該フローの削除指示を発行する（ステップＳ３１２、Ｓ３１３）。該当するＯＦＳ４ｉやノードは、移動元ＶＭ宛のフローを削除又は使用不可に設定する（ステップＳ３１４）。フローの削除が終了したＯＦＳ４ｉやノードはフロー削除完了報告をＯＦＣ３に通知する（ステップＳ３１５）。移動元ＶＭ宛の通信経路上のＯＦＳ４ｉやノードにおける移動元ＶＭ宛のフローの削除を確認すると、ＯＦＣ３は、移動先ＶＭ宛通信用フローを現在使用するフローとして設定し、移動元ＶＭ宛通信用フローを使用しないフローとして設定する（ステップＳ３１６）。ここでは、各フロー（ルール４４４＋アクション情報４４５）に対応する設定情報４４６に使用又は不使用（有効又は無効）のどちらかを示す情報が設定される。この際、使用しない移動元ＶＭ宛通信用フローはフローテーブル３３４から削除されても良い。しかし、使用しないフローを削除せず、設定情報４４６の変更によってフローの使用、不使用（有効又は無効）を設定することで、移動した仮想マシンを元の物理サーバ又はＶＭＭに移動する場合等において、再度フローを作成せずにフローの設定が可能となる。
【０１９９】
以降、移動先ＶＭ２０ｍ宛の通信は、各ＯＦＳ４ｉに設定された移動先ＶＭ宛通信用フローに従って、物理サーバ６（ＶＭＭ２０）上で動作するＶＭＭ２０に対して実行される。
【０２００】
以上のように、本発明によるマイグレーション方法によれば、仮想マシンへの通信を中断させることなく、当該仮想マシンのマイグレーションが可能となる。本実施の形態では、異なる物理サーバ間のマイグレーションを一例として説明したが、同一物理サーバ内でのマイグレーションも同様な方法により実現できる。
【０２０１】
又、本発明によれば、メモリイメージの転送のための設定や、移動先ＶＭへの通信のための設定を統合管理装置１によって一元的に実施できる。すなわち、仮想マシンのマイグレーションを１つの管理部門によって制御することが可能となる。従って、本発明によれば、従来、ネットワーク管理者やＩＴ管理者によって別々に管理されていたコンピュータシステムを、１つの管理部門によって管理及び運営することが可能となる。
【０２０２】
尚、仮想スイッチ２１が通常のスイッチング（レイヤ２）動作を行う仮想スイッチである場合、ステップＳ３０８〜Ｓ３１１の処理は省略される。
【０２０３】
（２）第２の実施例
次に、図２７、図２９及び図３０を参照して、本発明によるコンピュータシステムにおける仮想マシンのマイグレーション方法の第２の実施例を説明する。
【０２０４】
第２の実施例における仮想マシンのマイグレーション方法では、移動準備処理の段階においてＯＦＳ４ｉに移動先ＶＭ宛通信用フローが設定される。これにより、移動対象ＶＭ宛のパケットデータはｄｕｐｌｉｃａｔｅされて移動元ＶＭ及び移動先ＶＭの両方に転送される。第１の実施例では、移動対象ＶＭのメモリイメージの転送後に移動先ＶＭ宛通信用フローが設定されるため、移動対象ＶＭの停止からから移動先ＶＭ宛通信用フローの設定（移動対象ＶＭに対するアクセス先の切替）までの期間は、パケットロスが発生する場合がある。しかし、第２の実施例では、移動準備の段階で移動元ＶＭ宛のフローと移動先ＶＭ宛のフローの両方が設定されるため、移動先ＶＭへのアクセス先を切り替える際のパケットロスの発生を防ぐことができる。
【０２０５】
図２９は、ステップＳ６８５における仮想マシンのマイグレーション処理における準備処理の第２の実施例を説明するシーケンス図である。図２９を参照して、第２の実施例における準備処理では、先ずステップＳ６８４、Ｓ１０４〜Ｓ１１０の処理が第１の実施例と同様に行われる。第２の実施例では、ＯＦＣ３は、移動先ＶＭ宛通信用フローを移動準備段階で各ＯＦＳ４ｉに設定する（ステップＳ４０１〜Ｓ４０３）。詳細には、ＯＦＣ３は、通信経路情報３３６及びトポロジ情報３３５から、選択された移動先ＶＭ宛通信経路上のノード及びＯＦＳ４ｉを抽出し、それぞれに対応する移動先ＶＭ宛通信用フローを選択する。そして、ＯＦＳ４ｉ毎に選択した移動先ＶＭ宛通信用フローの設定指示を発行する（ステップＳ４０１）。ＯＦＳ４ｉは、移動先ＶＭ宛通信用フローの設定指示に応じて、送信された移動先ＶＭ宛通信用フローを自身のフローテーブル３４３に設定する（ステップＳ４０２）。フローの設定が終了したＯＦＳ４ｉはフロー設定完了報告をＯＦＣ３に通知する（ステップＳ４０３）。ＯＦＳ４ｉに設定された移動先ＶＭ宛通信用フローの設定情報４４６は、「設定済み」及び「有効」に設定される。
【０２０６】
ＯＦＣ３は、移動先ＶＭ宛通信用フローの設定が完了すると、移動準備の完了を統合管理装置１に報告する（ステップＳ４０５）。
【０２０７】
以上のように、第２の実施例における準備処理では、移動対象ＶＭのメモリイメージの転送経路及びその移動を制御するためのフローの設定と、移動先ＶＭに対するアクセスのための通信経路及びその通信を制御するためのフローの設定が行われる。第２の実施例では、ＯＦＳ４ｉへのメモリイメージ転送用フロー及び移動先ＶＭ宛通信用フローの設定が終了した段階で、移動準備が終了する。
【０２０８】
図２７を参照して、第２の実施例におけるイメージ転送処理では、先ずステップＳ６８６、ステップＳ２０２〜Ｓ２０７の処理（メモリイメージの転送処理）が、第１の実施例と同様に行われる。メモリイメージの転送中において、移動対象ＶＭ以外の他の仮想マシンへのアクセス（例えばテータ転送）が生じた場合、当該アクセスに係るＯＦＳ４ｉは、自身のフローテーブル３４３に設定されたフローに従って、受信パケットのヘッダ情報に対応するアクション（例えばデータの中継処理）を実行する。ここで、メモリイメージ転送経路をマイグレーションに関係のない他の仮想マシンへのアクセスを妨げないような経路に設定することで、他の仮想マシンへの通信を妨げることなく移動対象ＶＭを移動することが可能となる。
【０２０９】
一方、メモリイメージの転送中において、移動対象ＶＭ宛へのアクセスが生じた場合（例えば、移動対象ＶＭ宛のデータが転送された場合）、移動対象ＶＭへの通信経路上のＯＦＳ４ｉは、自身のフローテーブル３４３に設定されたフローに従って、受信パケットのヘッダ情報に対応するアクション（例えばデータの中継処理）を実行する。本実施の形態では、移動対象ＶＭがＶＭＭ１０及びＶＭＭ２０上で動作しているものとしてフローが設定されているため、移動対象ＶＭ宛のデータはコピーされて、物理サーバ５上の移動対象ＶＭ（移動元ＶＭ）と物理サーバ６上に生成された移動先ＶＭの両方に転送される。移動元ＶＭＭ１０は、転送された移動対象ＶＭ宛のデータを移動対象ＶＭのメモリページに記録する。この際、移動先ＶＭＭ２０においても、転送された移動対象ＶＭ宛のデータは移動先ＶＭのメモリページに記録される。
【０２１０】
メモリイメージの転送中においても、移動対象ＶＭのプロセス処理や、移動対象ＶＭ宛に転送されるデータによってメモリページが変更される場合がある。変更されたメモリページは、コピー対象として記憶装置の変更ページ記録領域に記録される（ステップＳ２０８）。変更ページの記録処理は、移動先ＶＭが稼動を開始するまで行われることが好ましい。
【０２１１】
以降、変更ページの記録（ステップＳ２０８）から移動先ＶＭの稼動（ステップＳ２１６）まで、第１の実施例と同様の処理が行われる。
【０２１２】
以上のように、第２の実施例におけるマイグレーション方法は、第１の実施例と同様に統合管理装置１によって指定された経路（メモリイメージ転送用経路）を利用してＶＭのメモリイメージの転送が行われる。この際、移動元ＶＭへのアクセスは、ＯＦＳ群４に移動前に設定されていたフローに従って行われるため、移動元ＶＭに対する通信を中断することなく当該ＶＭのメモリイメージを転送することができる。又、メモリイメージ転送用経路は、統合管理装置１によって任意に設定することが可能であるため、他の仮想マシンに対する通信を阻害することのない経路を選定することができる。これにより、他の仮想マシンに対する通信に影響しないメモリイメージの転送が可能となる。
【０２１３】
図３０は、仮想マシンのマイグレーション処理におけるアクセス先切り替え処理の第２の実施例を説明するシーケンス図である。図３０を参照して、第２の実施例におけるアクセス先切り替え処理では、先ずステップＳ３０１〜Ｓ３０１の通信路選択処理が、第１の実施例と同様に行われる。続いて、第１の実施例で行われるＯＦＳ４ｉへの移動先ＶＭ宛通信用フローの設定処理（ステップＳ３０４〜Ｓ３０７）は、移動準備処理において実行されるため、ここでは省略される。
【０２１４】
以降、移動先ＶＭと仮想スイッチ２１との間を接続するためのフローの生成処理（ステップＳ３０８）からフロー設定処理（ステップＳ３１６）まで、第１の実施例と同様の処理が行われる。
【０２１５】
以上のように、第２の実施例では、準備処理の段階で、移動元ＶＭ宛のフローと移動先ＶＭ宛のフローの両方が設定される。このため、ステップＳ２１３における移動元ＶＭの停止からステップＳ３１６におけるフロー設定までの間において、移動対象ＶＭ宛に転送されたデータは破棄されることなく移動先ＶＭに到達する。このように、本実施の形態におけるコンピュータシステムでは、仮想マシンのマイグレーション中におけるパケットロスを防止することができる。又、外部ネットワーク８側から仮想マシンのマイグレーションが意識されることはない。
【０２１６】
更に、第２の実施例では、ＶＭの移動後の新規通信経路（移動先ＶＭ宛通信経路）に対応するフロー（移動先ＶＭ宛通信用フロー）を、移動準備処理の段階において設定している。このため、第２の実施例における新規通信経路を確立する時間は、ＶＭの移動を検出してから新規通信経路を確立する第１の実施例に比べて短縮される。
【０２１７】
マイグレーション処理の間、ロードバランサ９は、移動元ＶＭに対する処理（アクセス）が発生しないように負荷割り当てを変更してもよい。これにより、変更ページの記録及び転送の処理量が低減されるため、ＶＭマイグレーションの時間が短縮される。又、移動対象ＶＭのメモリページの転送の間、移動元ＶＭに対する負荷が減少する。
【０２１８】
以上、本発明の実施の形態を詳述してきたが、具体的な構成は上記実施の形態に限られるものではなく、本発明の要旨を逸脱しない範囲の変更があっても本発明に含まれる。第１〜第４の実施の形態におけるメンテナンス処理方法や第１〜第３の実施例におけるＶＭマイグレーション処理方法は、技術的に矛盾のない範囲内で組み合わせて適用され得る。
【０２１９】
ＶＭマイグレーション処理において、ＯＦＣ３は、ＲＡＲＰ送信によって通知されたＭＡＣアドレスを用いて、「移動先ＶＭ宛通信経路の選択」や「ＶＭの移動先の変更の確認を確認」を行ったが、これに限らない。例えば、マイグレーション後、稼動状態となった移動先のＶＭによって送信されたパケットデータを受信したＯＦＳ４ｉは、当該パケットデータに適合するフロー（ルール）が設定されていないことから、ファーストパケットを受信したことをＯＦＣ３に通知する。この際、当該パケットデータのＭＡＣアドレスＭＡＣアドレスをＯＦＣ３に通知する。ＯＦＣ３は通知されたＭＡＣアドレスに対応する通信経路を移動先ＶＭ宛通信経路として選択し、移動先ＶＭ宛通信用フローを生成する。あるいは、ＯＦＣ３は、同様にファーストパケットの通知によって取得したＭＡＣアドレスを端点とする通信経路を抽出し、当該通信経路上の端点であるＶＭの接続先と、当該パケットデータを受信したスイッチとが異なることを検出することで受信の接続先の変更を確認してもよい。
【０２２０】
又、ＶＭマイグレーション処理の準備処理は、ＯＦＳ４ｉからのファーストパケット受信通知（ＲＡＲＰ検出通知）に応じて行われても良い。この場合、ステップＳ６８４及びＳ６８５における準備指示及び準備処理は省略される。
【符号の説明】
【０２２１】
１：統合管理装置
２：ＶＭ管理装置
３：オープンフローコントローラ（ＯＦＣ）
４：サーバ管理装置
４ｉ、４１〜４４：オープンフロースイッチ（ＯＦＳ）
５、６：物理サーバ
７：記憶装置
８：外部ネットワーク
９：ロードバランサ
１０１〜１０ｎ、２０１〜２０ｍ：仮想マシン（ＶＭ）
１０、２０：仮想マシンモニタ（ＶＭＭ）
１１、２１：仮想スイッチ（ＶＳＷ）
【図１】
2011081588.tif 000003
【図２】
2011081588.tif 000004
【図３】
2011081588.tif 000005
【図４】
2011081588.tif 000006
【図５】
2011081588.tif 000007
【図６】
2011081588.tif 000008
【図７】
2011081588.tif 000009
【図８】
2011081588.tif 000010
【図９】
2011081588.tif 000011
【図１０】
2011081588.tif 000012
【図１１】
2011081588.tif 000013
【図１２】
2011081588.tif 000014
【図１３】
2011081588.tif 000015
【図１４】
2011081588.tif 000016
【図１５】
2011081588.tif 000017
【図１６】
2011081588.tif 000018
【図１７】
2011081588.tif 000019
【図１８Ａ】
2011081588.tif 000020
【図１８Ｂ】
2011081588.tif 000021
【図１９】
2011081588.tif 000022
【図２０】
2011081588.tif 000023
【図２１】
2011081588.tif 000024
【図２２】
2011081588.tif 000025
【図２３Ａ】
2011081588.tif 000026
【図２３Ｂ】
2011081588.tif 000027
【図２４Ａ】
2011081588.tif 000028
【図２４Ｂ】
2011081588.tif 000029
【図２５Ａ】
2011081588.tif 000030
【図２５Ｂ】
2011081588.tif 000031
【図２６】
2011081588.tif 000032
【図２７】
2011081588.tif 000033
【図２８】
2011081588.tif 000034
【図２９】
2011081588.tif 000035
【図３０】
2011081588.tif 000036
【図３１Ａ】
2011081588.tif 000037
【図３１Ｂ】
2011081588.tif 000038
【図３２Ａ】
2011081588.tif 000039
【図３２Ｂ】
2011081588.tif 000040