(57)【要約】【課題】情報処理装置上で動作するオペレーティングシステムのマイグレーションに追従したリモートコンソールの接続先の切り替えを可能とする。【解決手段】第１の受信手段１１は、第１の情報処理装置１の操作画面の画像の更新を指示する更新命令を受信する。第２の受信手段１２は、マイグレーション先となる第２の情報処理装置２の操作画面の画像の更新を指示する更新命令を受信する。検知手段１３は、第１の情報処理装置１と第２の情報処理装置２とのそれぞれから受信した更新命令に基づいてマイグレーション完了を検知する。転送手段１６は、オペレーティングシステムのマイグレーション開始前は、第１の情報処理装置１から受信した更新命令を端末装置３に転送する。また転送手段１６は、マイグレーション完了後は、第２の情報処理装置２から受信した更新命令を端末装置３に転送する。【選択図】図１
2015170242.tif 000002
【特許請求の範囲】
【請求項１】
コンピュータに、
第１の情報処理装置から、前記第１の情報処理装置の操作画面の画像の更新を指示する更新命令を受信して、該更新命令を端末装置に転送し、
前記第１の情報処理装置上で動作するオペレーティングシステムのマイグレーション先となる第２の情報処理装置から、前記第２の情報処理装置の操作画面の画像の更新を指示する更新命令を受信し、
前記第１の情報処理装置と前記第２の情報処理装置とのそれぞれから受信した更新命令に基づいて、前記オペレーティングシステムの前記第２の情報処理装置へのマイグレーション完了を検知し、
前記オペレーティングシステムのマイグレーション完了後は、前記第１の情報処理装置から受信した更新命令の前記端末装置への転送を停止し、前記第２の情報処理装置から受信した更新命令を前記端末装置に転送する、
処理をコンピュータに実行させる中継プログラム。
【請求項２】
前記コンピュータに、さらに、
前記オペレーティングシステムのマイグレーションの開始前は、前記第１の情報処理装置から受信した更新命令に従って記憶手段内に画像を描画し、前記オペレーティングシステムのマイグレーション完了後は、前記第２の情報処理装置から受信した更新命令に従って前記記憶手段内に画像を描画し、
前記端末装置から操作画面の画像が要求された場合、前記記憶手段内の画像を前記端末装置に対して送信する、
処理を実行させることを特徴とする請求項１記載の中継プログラム。
【請求項３】
前記オペレーティングシステムのマイグレーション完了の検知では、前記第１の情報処理装置上での前記オペレーティングシステムの動作停止と、前記第２の情報処理装置上での前記オペレーティングシステムの動作開始とを検知したときに、前記オペレーティングシステムのマイグレーションが完了したと判断する、
ことを特徴とする請求項１または２に記載の中継プログラム。
【請求項４】
前記オペレーティングシステムのマイグレーション完了の検知では、前記第１の情報処理装置からの更新命令の出力が停止したときに、前記第１の情報処理装置上での前記オペレーティングシステムの動作が停止したと判断し、前記第２の情報処理装置からの更新命令の出力停止後に、前記第２の情報処理装置からの更新命令の出力が再開されたときに、前記第２の情報処理装置上での前記オペレーティングシステムの動作が開始したと判断する、
ことを特徴とする請求項３記載の中継プログラム。
【請求項５】
コンピュータが、
第１の情報処理装置から、前記第１の情報処理装置の操作画面の画像の更新を指示する更新命令を受信して、該更新命令を端末装置に転送し、
前記第１の情報処理装置上で動作するオペレーティングシステムのマイグレーション先となる第２の情報処理装置から、前記第２の情報処理装置の操作画面の画像の更新を指示する更新命令を受信し、
前記第１の情報処理装置と前記第２の情報処理装置とのそれぞれから受信した更新命令に基づいて、前記オペレーティングシステムの前記第２の情報処理装置へのマイグレーション完了を検知し、
前記オペレーティングシステムのマイグレーション完了後は、前記第１の情報処理装置から受信した更新命令の前記端末装置への転送を停止し、前記第２の情報処理装置から受信した更新命令を前記端末装置に転送する、
中継方法。
【請求項６】
第１の情報処理装置から、前記第１の情報処理装置の操作画面の画像の更新を指示する更新命令を受信する第１の受信手段と、
前記第１の情報処理装置上で動作するオペレーティングシステムのマイグレーション先となる第２の情報処理装置から、前記第２の情報処理装置の操作画面の画像の更新を指示する更新命令を受信する第２の受信手段と、
前記第１の情報処理装置と前記第２の情報処理装置とのそれぞれから受信した更新命令に基づいて、前記オペレーティングシステムの前記第２の情報処理装置へのマイグレーション完了を検知する検知手段と、
前記オペレーティングシステムのマイグレーション開始前は、前記第１の情報処理装置から受信した更新命令を端末装置に転送し、前記オペレーティングシステムのマイグレーション完了後は、前記第１の情報処理装置から受信した更新命令の前記端末装置への転送を停止し、前記第２の情報処理装置から受信した更新命令を前記端末装置に転送する転送手段と、
を有する中継装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、中継プログラム、中継方法、および中継装置に関する。
【背景技術】
【０００２】
情報通信サービスの１つとして、ＩａａＳ（Infrastructure as a Service）と呼ばれるサービスがある。ＩａａＳは、情報通信システムの稼働に用いる機器を、遠隔地から利用できるようにするサービスである。例えばＩａａＳでは、サービス提供側が用意した物理サーバに対して、ユーザが使用する端末装置をリモートコンソールとして接続可能となっている。
【０００３】
リモートコンソールとは、物理サーバに対してネットワークを介して接続されている端末装置を、物理サーバのコンソールとして使用できるようにするものである。コンソールは、物理サーバ操作用の入出力を行う端末装置である。コンソールであれば、例えばオペレーティングシステム（ＯＳ：Operating System）起動前であっても、物理サーバに対するコマンド入力や物理サーバから出力された情報の取得などを行うことができる。
【０００４】
リモートコンソール機能は、例えば物理サーバと端末装置との間に設けられた中継器を用いて実現される。中継器は、物理サーバから出力されたコンソール端末向けの表示データを端末装置に転送すると共に、端末装置から出力された物理サーバへの入力データを物理サーバに転送する。
【０００５】
コンソール端末を用いて複数の装置を管理する技術としては、例えばプログラムを動作させながら装置の構成を変更できる計算機システムがある。またサーバの操作技術としては、物理サーバ上で稼働する仮想マシンに対する操作を、撮影された物理サーバの映像上で行う仮想マシン管理システムがある。さらに物理サーバ間のマイグレーション技術としては、サービスの中断時間を短縮し、アクセス透過性、位置透過性を保障し、性能劣化を起こすことなく通常運用を可能にする技術がある。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開平５−１９７６９９号公報
【特許文献２】国際公開第２０１０／１１３４６６号
【特許文献３】特開２００６−１９０１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかし、現行の物理サーバのリモートコンソール機能はライブマイグレーションを想定していないため、ＯＳの移動にリモートコンソール機能が追随できない。例えばＩａａＳでは、メンテナンスなどの理由によりユーザに提供している物理マシンのマイグレーションを実施する場合がある。このときユーザがリモートコンソール機能により端末装置をサーバに接続していた場合、マイグレーションによるＯＳの移送先の物理サーバに、リモートコンソール機能が引き継がれないという問題がある。
【０００８】
この問題の一因には、リモートコンソール機能を実現するための接続形態が関係している。リモートコンソール機能では、通常のネットワークとは別の管理ネットワーク経由で、ユーザが使用する端末装置と物理サーバとが接続される。そのためセキュリティなどの観点から端末装置と物理サーバとの間に中継器を経由して通信が行われる。中継器は、マイグレーションが実施されることを管理サーバなどから通知を受けることにより物理サーバの移動を認識することは可能であるが、いつマイグレーションが完了して新しい物理サーバに切り替わるのかを認識できない。そのため、マイグレーションが完了してＯＳの動作場所が新たな物理サーバに切り替わっても、リモートコンソール機能を提供する中継器は、移動元の物理サーバとユーザの端末装置との通信を中継してしまう。その結果、画面更新がされないか、もしくは画面が消えてしまうことになる。
【０００９】
１つの側面では、本件は、情報処理装置上で動作するＯＳのマイグレーションに追従したリモートコンソールの接続先の切り替えを可能とすることを目的とする。
【課題を解決するための手段】
【００１０】
１つの案では、コンピュータに以下の処理を実行させる中継プログラムが提供される。
コンピュータは、中継プログラムに従って、第１の情報処理装置から、第１の情報処理装置の操作画面の画像の更新を指示する更新命令を受信して、該更新命令を端末装置に転送する。次にコンピュータは、第１の情報処理装置上で動作するオペレーティングシステムのマイグレーション先となる第２の情報処理装置から、第２の情報処理装置の操作画面の画像の更新を指示する更新命令を受信する。さらにコンピュータは、第１の情報処理装置と第２の情報処理装置とのそれぞれから受信した更新命令に基づいて、オペレーティングシステムの第２の情報処理装置へのマイグレーション完了を検知する。そしてコンピュータは、オペレーティングシステムのマイグレーション完了後は、第１の情報処理装置から受信した更新命令の端末装置への転送を停止し、第２の情報処理装置から受信した更新命令を端末装置に転送する。
【発明の効果】
【００１１】
１態様によれば、サーバ上で動作するＯＳのマイグレーションに追従したリモートコンソールの接続先の切り替えが可能となる。
【図面の簡単な説明】
【００１２】
【図１】第１の実施の形態に係るシステムの構成の一例を示す図である。
【図２】第２の実施の形態のシステム構成例を示す図である。
【図３】リモートコンソール中継サーバのハードウェアの一構成例を示す図である。
【図４】第２の実施の形態における各装置の機能を示すブロック図である。
【図５】管理情報記憶部内のデータの一例を示す図である。
【図６】接続処理の手順を示すシーケンス図である。
【図７】マイグレーション処理の一例を示す図である。
【図８】マイグレーション処理の手順を示すシーケンス図である。
【図９】コンテキスト切替監視処理の手順の一例を示すフローチャートである。
【図１０】マイグレーション時の画像の遷移例を示す図である。
【図１１】第３の実施の形態におけるマイグレーション処理の一例を示す図である。
【発明を実施するための形態】
【００１３】
以下、本実施の形態について図面を参照して説明する。なお各実施の形態は、矛盾のない範囲で複数の実施の形態を組み合わせて実施することができる。
〔第１の実施の形態〕
第１の実施の形態は、情報処理装置（例えば物理サーバ）上で動作するシステム（例えばＯＳ）のマイグレーションに伴い、リモートコンソールの接続先の切り替えを行うものである。このような機能は、ＩａａＳにおいて、物理サーバをリモートコンソールで操作する場合に特に有用となる。
【００１４】
ここでＩａａＳにおいて、リモートコンソール機能により端末装置を接続する意義について説明する。サーバを遠隔操作するサービスには、リモートコンソールとは別にリモートデスクトップがある。リモートデスクトップは、ネットワークで接続された他のコンピュータを遠隔操作する機能である。リモートデスクトップはＯＳによって提供されるサービスであり、マイグレーションを行えば、自動でＯＳの移動に追随する。しかし、ＯＳで提供されるサービスは、ＯＳが動作している間でなければ利用できない。そのためリモートデスクトップ機能では、ＯＳが起動する前のＢＩＯＳ（Basic Input/Output System）画面などにおいてサーバを操作することができない。またリモートデスクトップ機能では、ＯＳが正常に動作しなくなった場合に、サーバの状態を調べることもできない。そこでリモートコンソール機能を用いて、ＯＳ起動前のサーバの遠隔操作が行われる。
【００１５】
このように、ＩａａＳのサービスを利用するユーザにとっては、リモートコンソール機能によりサーバを遠隔操作できることが重要となる。その一方、サービス提供者は、サーバのメンテナンスなどの理由により、ＯＳのマイグレーションを実行することがある。このようなマイグレーションは管理者側の都合で実行されるものであり、ユーザの利便性を損なわずに行うのが適切である。しかし、リモートコンソール機能はＯＳで提供されているわけではないため、マイグレーションによってＯＳがマイグレーションされたというだけでは、リモートコンソールの接続先の物理サーバへの切り替えは行われない。
【００１６】
そこで第１の実施の形態では、リモートコンソール機能を情報処理装置の移動に追随させるため、リモートコンソールとして使用する端末装置と情報処理装置との間に設けられた中継器に、情報処理装置間のマイグレーションに追随するように接続先の情報処理装置の切り替え機能を追加する。
【００１７】
図１は、第１の実施の形態に係るシステムの構成の一例を示す図である。図１の例では、第１の情報処理装置１上で動作しているＯＳを第２の情報処理装置２に、マイグレーション機能によってマイグレーションする場合を想定している。ここで、第１の情報処理装置１と第２の情報処理装置２とは、共に物理サーバである。マイグレーションする対象には、例えば第１の情報処理装置１のＯＳと、そのＯＳ上で動作しているアプリケーションソフトウェア（以下単にアプリケーションと呼ぶ）とが含まれる。
【００１８】
第１の情報処理装置１と第２の情報処理装置２とは、いずれもリモートコンソールを接続することができる。第１の情報処理装置１と第２の情報処理装置２は、リモートコンソールが接続されている場合、コンソールに表示する操作画面の更新を指示する更新命令を、リモートコンソールとして接続された端末装置宛てに出力する。図１の例では、マイグレーションの実行前は、端末装置３が、中継装置１０を介して第１の情報処理装置１に、リモートコンソールとして接続されている。
【００１９】
中継装置１０は、第１の受信手段１１、第２の受信手段１２、検知手段１３、描画手段１４、記憶手段１５、および転送手段１６を有している。
第１の受信手段１１は、第１の情報処理装置１から、第１の情報処理装置１の操作画面の画像の更新を指示する更新命令を受信する。
【００２０】
第２の受信手段１２は、第２の情報処理装置２から、第２の情報処理装置２の操作画面の画像の更新を指示する更新命令を受信する。
検知手段１３は、第１の情報処理装置１と第２の情報処理装置２とのそれぞれから受信した更新命令に基づいて、ＯＳおよびアプリケーションの第２の情報処理装置２へのマイグレーション完了を検知する。例えば検知手段１３は、第１の情報処理装置１上でのＯＳの動作停止と、第２の情報処理装置２上でのＯＳの動作開始とを検知したときに、ＯＳおよびアプリケーションのマイグレーションが完了したと判断する。検知手段１３は、第１の情報処理装置１からの更新命令の出力が停止したときに、第１の情報処理装置１上でのＯＳの動作が停止したと判断する。また検知手段１３は、第２の情報処理装置２からの更新命令の出力停止後に、第２の情報処理装置２からの更新命令の出力が再開されたときに、第２の情報処理装置２上でのＯＳの動作が開始したと判断する。
【００２１】
描画手段１４は、ＯＳおよびアプリケーションのマイグレーション開始前は、第１の情報処理装置１から受信した更新命令に従って記憶手段１５内に画像を描画し、ＯＳおよびアプリケーションのマイグレーション完了後は、第２の情報処理装置２から受信した更新命令に従って記憶手段１５内に画像を描画する。
【００２２】
記憶手段１５は、リモートコンソールに表示する操作画面を記憶する。
転送手段１６は、ＯＳおよびアプリケーションのマイグレーション開始前は、第１の情報処理装置１から受信した更新命令を端末装置３に転送する。また転送手段１６は、ＯＳおよびアプリケーションのマイグレーション完了後は、第１の情報処理装置１から受信した更新命令の端末装置３への転送を停止し、第２の情報処理装置２から受信した更新命令を端末装置３に転送する。さらに転送手段１６は、端末装置３から操作画面の画像が要求された場合、記憶手段１５内の画像を端末装置３に対して送信する。
【００２３】
このようなシステムによれば、マイグレーションの実行前は、第１の情報処理装置１上でＯＳおよびアプリケーションが動作しており、第１の情報処理装置１の操作画面の画像の更新を指示する更新命令が、第１の情報処理装置１から出力される。出力された更新命令は、中継装置１０の第１の受信手段１１で受信される。受信した更新命令は、検知手段１３を介して転送手段１６に送信される。そして転送手段１６が、受信した更新命令を端末装置３に送信する。
【００２４】
第１の情報処理装置１から第２の情報処理装置２へのＯＳおよびアプリケーションのマイグレーションが開始されると、マイグレーション先の第２の情報処理装置２の操作画面の画像の更新を指示する更新命令が、第２の情報処理装置２から出力される。出力された更新命令は、中継装置１０の第２の受信手段１２で受信される。この間、第１の情報処理装置１からも更新命令が出力されており、その更新命令は、第１の受信手段１１で受信されている。このとき検知手段１３により、第１の情報処理装置１と第２の情報処理装置２とのそれぞれから受信した更新命令に基づいて、ＯＳおよびアプリケーションの第２の情報処理装置２へのマイグレーション完了が検知される。転送手段１６は、ＯＳおよびアプリケーションのマイグレーション完了後は、第１の情報処理装置１から受信した更新命令の端末装置３への転送を停止し、第２の情報処理装置２から受信した更新命令を端末装置３に転送する。
【００２５】
このようにして、マイグレーションによってＯＳおよびアプリケーションが第１の情報処理装置１から第２の情報処理装置２へ移行するのに伴って、リモートコンソールとして使用される端末装置３の接続先が、第１の情報処理装置１から第２の情報処理装置２に切り替えられる。すなわちＯＳおよびアプリケーションのマイグレーションに追従した、リモートコンソールの接続先の自動切り替えが可能となる。
【００２６】
また描画手段１４により、ＯＳおよびアプリケーションのマイグレーションの開始前は、第１の情報処理装置１から受信した更新命令に従って記憶手段１５内に画像が描画され、ＯＳおよびアプリケーションのマイグレーション完了後は、第２の情報処理装置２から受信した更新命令に従って記憶手段１５内に画像が描画される。そのため、記憶手段１５には、ＯＳが動作している状況における操作画面の最新の画像が保持される。そしてマイグレーションによるＯＳおよびアプリケーションのマイグレーション中に端末装置３から操作画面の画像が要求されると、記憶手段１５内の画像が転送手段１６により端末装置３に送信される。これにより、ＯＳおよびアプリケーションのマイグレーション過程で第１の情報処理装置１と第２の情報処理装置２とから出力される更新命令に基づく画像を、端末装置３に表示させずに済む。その結果、端末装置３を使用しているユーザに、ＯＳおよびアプリケーションがマイグレーションされたことを隠蔽することが可能となる。
【００２７】
なお上記の例では、第１の情報処理装置１または第２の情報処理装置２から出力された更新命令を端末装置３に送信する場合について説明しているが、端末装置３からの操作指示が中継装置１０に送られる場合もある。転送手段１６は、端末装置３から第１の情報処理装置１または第２の情報処理装置２への操作指示の転送も行う。例えば転送手段１６は、マイグレーションの開始前は、端末装置３から送られた操作指示を第１の情報処理装置１に転送する。また転送手段１６は、マイグレーションによるＯＳおよびアプリケーションの移行の完了を検知すると、それ以後に端末装置３から送られた操作指示を第２の情報処理装置２に転送する。
【００２８】
なお、中継装置１０における第１の受信手段１１、第２の受信手段１２、検知手段１３、描画手段１４、および転送手段１６は、例えば中継装置１０が有するプロセッサにより実現することができる。また、記憶手段１５は、例えば中継装置１０が有するメモリにより実現することができる。
【００２９】
また、図１に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。
〔第２の実施の形態〕
次に第２の実施の形態について説明する。第２の実施の形態では、リモートコンソールのための中継器の機能を実現するサーバを設け、ユーザごとの複数の中継器の機能をサーバ内にソフトウェアによって実現できるようにしたものである。
【００３０】
図２は、第２の実施の形態のシステム構成例を示す図である。複数のサーバ３１０，３２０，３３０，３４０が、サービス用ネットワーク３２を介してファイアウォール３０に接続されている。ファイアウォール３０は、ネットワーク３１を介して複数の端末装置４１〜４３に接続されている。端末装置４１〜４３は、ＩａａＳの契約をしたユーザが使用するコンピュータである。複数のサーバ３１０，３２０，３３０，３４０それぞれは、端末装置４１〜４３から遠隔利用が可能なコンピュータである。
【００３１】
ファイアウォール３０は、ネットワーク３１を介した不正アクセスを遮断し、ＩａａＳの契約を行ったユーザが使用する端末装置４１〜４３からの処理要求を、いずれかのサーバに転送する。またファイアウォール３０には、中継サーバ１００と管理サーバ２００とが接続されている。
【００３２】
中継サーバ１００は、管理ネットワーク３３を介して複数のサーバ３１０，３２０，３３０，３４０に接続されている。中継サーバ１００は、コンソールとして使用される端末装置といずれかのサーバとの間のデータ通信を中継するコンピュータである。
【００３３】
管理サーバ２００は、管理ネットワーク３３を介して複数のサーバ３１０，３２０，３３０，３４０や中継サーバ１００に接続されている。管理サーバ２００は、サーバ３１０，３２０，３３０，３４０を用いたＩａｓＳの提供を管理するコンピュータである。管理サーバ２００は、例えばサーバ３１０，３２０，３３０，３４０を制御して、サーバ間でライブマイグレーションを実行させることができる。また管理サーバ２００は、中継サーバ１００に対して、リモートコンソールのためのデータ中継に関する指示を送信することができる。
【００３４】
図３は、リモートコンソール中継サーバのハードウェアの一構成例を示す図である。中継サーバ１００は、プロセッサ１０１によって装置全体が制御されている。プロセッサ１０１には、バス１０９を介してメモリ１０２と複数の周辺機器が接続されている。プロセッサ１０１は、マルチプロセッサであってもよい。プロセッサ１０１は、例えばＣＰＵ（Central Processing Unit）、ＭＰＵ（Micro Processing Unit）、またはＤＳＰ（Digital Signal Processor）である。プロセッサ１０１がプログラムを実行することで実現する機能の少なくとも一部を、ＡＳＩＣ（Application Specific Integrated Circuit）、ＰＬＤ（Programmable Logic Device）などの電子回路で実現してもよい。
【００３５】
メモリ１０２は、中継サーバ１００の主記憶装置として使用される。メモリ１０２には、プロセッサ１０１に実行させるＯＳのプログラムやアプリケーションプログラムの少なくとも一部が一時的に格納される。また、メモリ１０２には、プロセッサ１０１による処理に必要な各種データが格納される。メモリ１０２としては、例えばＲＡＭ（Random Access Memory）などの揮発性の半導体記憶装置が使用される。
【００３６】
バス１０９に接続されている周辺機器としては、ＨＤＤ（Hard Disk Drive）１０３、グラフィック処理装置１０４、入力インタフェース１０５、光学ドライブ装置１０６、機器接続インタフェース１０７およびネットワークインタフェース１０８ａ，１０８ｂがある。
【００３７】
ＨＤＤ１０３は、内蔵したディスクに対して、磁気的にデータの書き込みおよび読み出しを行う。ＨＤＤ１０３は、中継サーバ１００の補助記憶装置として使用される。ＨＤＤ１０３には、ＯＳのプログラム、アプリケーションプログラム、および各種データが格納される。なお、補助記憶装置としては、フラッシュメモリなどの不揮発性の半導体記憶装置を使用することもできる。
【００３８】
グラフィック処理装置１０４には、モニタ２１が接続されている。グラフィック処理装置１０４は、プロセッサ１０１からの命令に従って、画像をモニタ２１の画面に表示させる。モニタ２１としては、ＣＲＴ（Cathode Ray Tube）を用いた表示装置や液晶表示装置などがある。
【００３９】
入力インタフェース１０５には、キーボード２２とマウス２３とが接続されている。入力インタフェース１０５は、キーボード２２やマウス２３から送られてくる信号をプロセッサ１０１に送信する。なお、マウス２３は、ポインティングデバイスの一例であり、他のポインティングデバイスを使用することもできる。他のポインティングデバイスとしては、タッチパネル、タブレット、タッチパッド、トラックボールなどがある。
【００４０】
光学ドライブ装置１０６は、レーザ光などを利用して、光ディスク２４に記録されたデータの読み取りを行う。光ディスク２４は、光の反射によって読み取り可能なようにデータが記録された可搬型の記録媒体である。光ディスク２４には、ＤＶＤ（Digital Versatile Disc）、ＤＶＤ−ＲＡＭ、ＣＤ−ＲＯＭ（Compact Disc Read Only Memory）、ＣＤ−Ｒ（Recordable）／ＲＷ（ReWritable）などがある。
【００４１】
機器接続インタフェース１０７は、中継サーバ１００に周辺機器を接続するための通信インタフェースである。例えば機器接続インタフェース１０７には、メモリ装置２５やメモリリーダライタ２６を接続することができる。メモリ装置２５は、機器接続インタフェース１０７との通信機能を搭載した記録媒体である。メモリリーダライタ２６は、メモリカード２７へのデータの書き込み、またはメモリカード２７からのデータの読み出しを行う装置である。メモリカード２７は、カード型の記録媒体である。
【００４２】
ネットワークインタフェース１０８ａは、ファイアウォール３０に接続されている。ネットワークインタフェース１０８ａは、ファイアウォール３０を経由して、他の端末装置４１〜４３との間でデータの送受信を行う。
【００４３】
ネットワークインタフェース１０８ｂは、管理ネットワーク３３に接続されている。ネットワークインタフェース１０８ｂは、管理ネットワーク３３を経由して、サーバ３１０，３２０，３３０，３４０や管理サーバ２００との間でデータの送受信を行う。
【００４４】
以上のようなハードウェア構成によって、第２の実施の形態における中継サーバ１００の処理機能を実現することができる。なお、第１の実施の形態に示した装置も、図３に示した中継サーバ１００と同様のハードウェアにより実現することができる。またファイアウォール３０、管理サーバ２００、およびサーバ３１０，３２０，３３０，３４０も、中継サーバ１００と同様のハードウェアで実現することができる。
【００４５】
中継サーバ１００や管理サーバ２００は、例えばコンピュータ読み取り可能な記録媒体に記録されたプログラムを実行することにより、第２の実施の形態の処理機能を実現する。中継サーバ１００または管理サーバ２００に実行させる処理内容を記述したプログラムは、様々な記録媒体に記録しておくことができる。例えば、中継サーバ１００または管理サーバ２００に実行させるプログラムをＨＤＤ１０３に格納しておくことができる。プロセッサ１０１は、ＨＤＤ１０３内のプログラムの少なくとも一部をメモリ１０２にロードし、プログラムを実行する。また中継サーバ１００または管理サーバ２００に実行させるプログラムを、光ディスク２４、メモリ装置２５、メモリカード２７などの可搬型記録媒体に記録しておくこともできる。可搬型記録媒体に格納されたプログラムは、例えばプロセッサ１０１からの制御により、ＨＤＤ１０３にインストールされた後、実行可能となる。またプロセッサ１０１が、可搬型記録媒体から直接プログラムを読み出して実行することもできる。
【００４６】
次に、第２の実施の形態を実現するために各装置が有する機能について説明する。
図４は、第２の実施の形態における各装置の機能を示すブロック図である。サーバ３１０，３２０は、遠隔地の端末装置からのコンソールとしてのアクセスを可能とするために、リモートコンソール機能モジュール（ＲＣＭ）３１１，３２１を有する。ＲＣＭ３１１，３２１は、サーバ３１０，３２０がコンソール端末装置へ出力するデータを、管理ネットワーク３３経由でリモートコンソールとして接続された端末装置へ、ネットワーク通信用のプロトコルを用いて送信する。またＲＣＭ３１１，３２１は、管理ネットワーク３３経由でリモートコンソールとして接続された端末装置から送られたデータを、サーバ３１０，３２０へのコンソール端末からのデータとして受信する。
【００４７】
例えばＲＣＭ３１１，３２１は、フレームバッファ（ＦＢ）３１１ａ，３２１ａを有している。ＦＢ３１１ａ，３２１ａには、コンソール端末に表示させる画像が描画される。ＲＣＭ３１１，３２１は、ＦＢ３１１ａ，３２１ａ内の画像を示す画像データを、遠隔地の端末装置に管理ネットワーク３３を介して送信する。
【００４８】
管理サーバ２００は、リモートコンソール管理部２１０とマイグレーション管理部２２０とを有する。
リモートコンソール管理部２１０は、中継サーバ１００におけるリモートコンソール用のデータ中継機能を管理する。例えば、リモートコンソール管理部２１０は、端末装置からのコンソール接続要求に応答し、中継サーバ１００に対して中継器作成指示を送信する。
【００４９】
マイグレーション管理部２２０は、サーバ３１０，３２０間のライブマイグレーションを管理する。例えばマイグレーション管理部２２０は、システムの管理者からのマイグレーション指示の入力に応答し、サーバ３１０，３２０にライブマイグレーションの指示を送信する。例えばサーバ３１０で動作しているＯＳをサーバ３２０にライブマイグレーションで移送させる場合、ライブマイグレーション先のサーバ３２０へマイグレーション受入指示を送信し、ライブマイグレーション元のサーバ３１０へマイグレーション指示を送信する。またマイグレーション管理部２２０は、リモートコンソール機能により端末装置が接続されているサーバにマイグレーションを実行させる場合、マイグレーション指示に先立って、中継サーバ１００に、マイグレーション準備指示を行う。このマイグレーション準備指示により、中継サーバ１００では、マイグレーションによるＯＳの移送を検知し、リモートコンソールとして通信している端末装置の接続先のサーバを自動で切り替えることができる。
【００５０】
中継サーバ１００は、管理情報記憶部１１０，中継器作成部１２０，および複数の中継器１３０，１３０−１，１３０−２を有する。
管理情報記憶部１１０は、リモートコンソール機能を実現するために中継サーバ１００が利用する情報を記憶する。例えば複数の中継器１３０，１３０−１，１３０−２それぞれの動作状態を示す情報や、サーバ３１０，３２０，・・・にアクセスするための認証情報などが、管理情報記憶部１１０に格納される。管理情報記憶部１１０は、例えばメモリ１０２またはＨＤＤ１０３の記憶領域の一部によって実現される。
【００５１】
中継器１３０は、描画プロトコルモニタ１３１，１３２、描画切替部１３３、フレームバッファ（ＦＢ）１３４、および描画プロトコル送出部１３５を有している。
２つの描画プロトコルモニタ１３１，１３２は、それぞれ接続されたサーバからの、描画プロトコルによる更新命令の送出を監視する。更新命令には、描画コマンドや画像データが含まれる。描画コマンドは、コンソールの操作画面に表示するテキストや図形の描画を指示する命令である。画像データは、コンソールの操作画面に表示する画像イメージである。
【００５２】
図４の例では、２つの描画プロトコルモニタ１３１，１３２が設けられているが、マイグレーションの実行時以外では、１つの描画プロトコルモニタ１３１があればよい。管理サーバ２００からマイグレーション準備指示が入力されたときに、２つめの描画プロトコルモニタ１３２が生成される。描画プロトコルモニタ１３１，１３２は、受信した更新命令を描画切替部１３３に転送する。
【００５３】
描画切替部１３３は、描画プロトコルモニタ１３１，１３２から受信した更新命令のうち、実行する更新命令を切り替える。例えば描画切替部１３３は、マイグレーション開始前は、描画プロトコルモニタ１３１が受信した更新命令に従って、ＦＢ１３４に画像を描画する。描画切替部１３３は、管理サーバ２００からのマイグレーション準備指示によりマイグレーションの開始を認識すると、描画プロトコルモニタ１３１，１３２が受信した更新命令に基づいて、マイグレーションの完了を検知する。マイグレーションの完了を検知すると、描画切替部１３３は、描画対象を、描画プロトコルモニタ１３２が受信した更新命令に切り替える。その後は、描画切替部１３３は、描画プロトコルモニタ１３２が受信した更新命令に従って、ＦＢ１３４に画像を描画する。
【００５４】
ＦＢ１３４は、コンソール端末として使用する遠隔の端末装置４１に送信する画像データを記憶する。ＦＢ１３４としては、例えばメモリ１０２内の記憶領域の一部が使用される。
【００５５】
描画プロトコル送出部１３５は、ＦＢ１３４に描画された画像データを、端末装置４１に送信する。例えば描画プロトコル送出部１３５は、描画切替部１３３がＦＢ１３４に画像データを描画したときの更新命令を、そのまま端末装置４１に送信することができる。また描画プロトコル送出部１３５は、ＦＢ１３４に格納されているすべての画像データを読み出し、すべての画像データをイメージデータとして端末装置４１に送信することもできる。
【００５６】
図４には、複数の中継器１３０，１３０−１，１３０−２，・・・のうち中継器１３０の内部機能のみを示しているが、他の中継器１３０−１，１３０−２，・・・も中継器１３０と同様の機能を有している。
【００５７】
なお、図４に示した各要素間を接続する線は通信経路の一部を示すものであり、図示した通信経路以外の通信経路も設定可能である。また、図４に示した各要素の機能は、例えば、その要素に対応するプログラムモジュールをコンピュータに実行させることで実現することができる。
【００５８】
図４に示した中継器１３０，１３０−１，１３０−２，・・・は、図１に示した第１の実施の形態における中継装置１０の機能の実現手段の一例である。図４に示した描画プロトコルモニタ１３１は、図１に示した第１の受信手段１１の一例である。図４に示した描画プロトコルモニタ１３２は、図１に示した第２の受信手段１２の一例である。図４に示した描画切替部１３３は、図１に示した検知手段１３と描画手段１４とを包含する機能の一例である。図４に示したＦＢ１３４は、図１に示した記憶手段１５の一例である。図４に示した描画プロトコル送出部１３５は、図１に示した転送手段１６の一例である。
【００５９】
次に、管理情報記憶部１１０に格納される管理情報について詳細に説明する。
図５は、管理情報記憶部内のデータの一例を示す図である。管理情報記憶部１１０には、中継器管理テーブル１１１とＲＣＭ管理テーブル１１２とが格納されている。
【００６０】
中継器管理テーブル１１１は、中継器の状態を管理するデータテーブルである。中継器管理テーブル１１１には、中継器ＩＤ、現ＲＣＭ−ＩＤ、移送先ＲＣＭ−ＩＤ、および状態の欄が設けられている。中継器ＩＤの欄には、中継器の識別情報（中継器ＩＤ）が設定される。現ＲＣＭ−ＩＤの欄には、中継器を介して通信しているＲＣＭの識別情報（ＲＣＭ−ＩＤ）が設定される。移送先ＲＣＭ−ＩＤの欄には、マイグレーションによるＯＳの移送先のサーバが有するＲＣＭの識別情報が設定される。状態の欄には、中継器の使用状態が設定される。
【００６１】
中継器の使用状態には、例えば使用中、移送中、準備中がある。状態「使用中」は、中継器が、リモートコンソールとして使用する端末装置とサーバとの間の通信データの中継を行っている状態を示している。状態「移送中」は、中継器の接続先のサーバのソフトウェアが、マイグレーションによって別のサーバに移送中であることを示している。状態が移送中の中継器に対してのみ、移送先ＲＣＭ−ＩＤが設定されている。状態「準備中」は、端末装置とサーバとの間のリモートコンソール用のデータ通信の中継を行う準備中であることを示している。例えばサーバのＲＣＭに接続するための認証処理中の中継器は、状態が準備中となる。
【００６２】
ＲＣＭ管理テーブル１１２は、サーバに実装されたＲＣＭに関する情報を管理するデータテーブルである。ＲＣＭ管理テーブル１１２には、サーバＩＤとＲＣＭ情報との欄が設けられている。サーバＩＤの欄には、サーバの識別子（サーバＩＤ）が設定される。ＲＣＭ情報の欄には、サーバに実装されているＲＣＭに関する情報（ＲＣＭ情報）が設定される。
【００６３】
ＲＣＭ情報の欄は、ＲＣＭ−ＩＤ、ＩＰアドレス、アクセスキー、および使用状態の欄に分かれている。ＲＣＭ−ＩＤの欄には、ＲＣＭの識別子（ＲＣＭ−ＩＤ）が設定される。ＩＰアドレスの欄には、ＲＣＭのＩＰアドレスが設定される。アクセスキーの欄には、ＲＣＭと通信を接続するためのアクセスキー（例えば所定の文字列）が設定される。使用状態の欄には、ＲＣＭの使用状態が設定される。
【００６４】
ＲＣＭの使用状態には、未使用、使用中、および接続中がある。状態「未使用」は、リモートコンソール機能の提供に、ＲＣＭが使用されていないことを示している。状態「使用中」は、ＲＣＭが中継器を介して端末装置と通信し、リモートコンソール機能を提供していることを示している。状態「接続中」は、リモートコンソール機能の提供のために、中継器との接続処理中であることを示している。例えば中継器に対する認証処理中のＲＣＭの状態は、接続中である。
【００６５】
次に、端末装置４１を、サーバ３１０のリモートコンソール端末として使用する場合を例に採り、端末装置４１とサーバ３１０との間の接続処理について説明する。
図６は、接続処理の手順を示すシーケンス図である。以下、図６に示す処理手順をステップ番号に沿って説明する。
【００６６】
［ステップＳ１０１］管理サーバ２００のリモートコンソール管理部２１０は、端末装置４１からのコンソール接続要求を受信する。コンソール接続要求には、例えばサーバ３１０のサーバＩＤが含まれる。
【００６７】
［ステップＳ１０２］リモートコンソール管理部２１０は、中継サーバ１００に対して、中継器作成指示を送信する。中継器作成指示には、例えば端末装置４１の識別情報とサーバ３１０のＲＣＭ３１１の識別情報とが含まれる。端末装置４１の識別情報は、例えば端末装置４１のＩＰアドレスである。サーバ３１０のＲＣＭ３１１の識別情報は、例えばＲＣＭ３１１のＲＣＭ−ＩＤである。ＲＣＭ３１１の識別情報に、ＩＰアドレス、アクセスキーを含めることもできる。
【００６８】
［ステップＳ１０３］リモートコンソール管理部２１０の中継器作成部１２０は、中継器作成指示に応答し、中継器１３０を作成する。例えば中継器作成部１２０は、プロセスを起動し、そのプロセスに、中継器１３０の処理機能を記述されたプログラムを実行させる。そして、中継器作成部１２０は、中継器作成指示に含まれる、端末装置４１のＩＰアドレス、およびＲＣＭ３１１のＩＰアドレスとアクセスキーとを、作成した中継器１３０に送信する。
【００６９】
この際、中継器作成部１２０は、管理情報記憶部１１０の内容を更新する。例えば中継器作成部１２０は、中継器管理テーブル１１１に、作成した中継器１３０に対応するレコードを追加登録する。追加したレコードの現ＲＣＭ−ＩＤには、ＲＣＭ３１１のＲＣＭ−ＩＤが設定される。また追加したレコードの状態は準備中となる。また中継器作成部１２０は、ＲＣＭ管理テーブル１１２における、接続したサーバ３１０のサーバＩＤが設定されたレコードの使用状態を、接続中に更新する。
【００７０】
［ステップＳ１０４］中継器１３０は、接続対象のサーバ３１０のＲＣＭ３１１に接続する。例えば中継器１３０は、ＲＣＭ３１１のＩＰアドレス宛に接続要求を送信する。接続要求には、例えばＲＣＭ３１１のアクセスキーが含まれる。ＲＣＭ３１１はアクセスキーが正しいことを確認し、中継器１３０との間の通信接続を確立する。その後、中継器１３０は、端末装置４１との間の通信を接続する。これにより、中継器１３０を介して、端末装置４１とＲＣＭ３１１とが接続される。
【００７１】
［ステップＳ１０５］中継器１３０は、ＲＣＭ３１１から送られる更新命令に基づくＦＢ１３４への描画を開始する。以後、ＲＣＭ３１１から更新命令が送られるごとに、ＦＢ１３４内の画像が更新される。ＦＢ１３４内の画像が最新の状態に保たれることで、端末装置４１の画面に表示させる最新の画像が、ＦＢ１３４で保持される。
【００７２】
［ステップＳ１０６］中継器１３０は、ＲＣＭ３１１から端末装置４１への、描画プロトコルに従った更新命令の中継を開始する。中継器１３０が更新命令の中継を開始すると、中継器作成部１２０は、管理情報記憶部１１０の内容を更新する。例えば中継器作成部１２０は、ＲＣＭ管理テーブル１１２における、接続したサーバ３１０のサーバＩＤが設定されたレコードの使用状態を、使用中に更新する。
【００７３】
このようにして、中継サーバ１００内に中継器１３０が生成され、サーバ３１０内のＲＣＭ３１１と端末装置４１との間の描画プロトコルによる通信が中継される。その結果、端末装置４１を使用するユーザは、端末装置４１をサーバ３１０のリモートコンソール端末として使用することができる。
【００７４】
ここで、サーバ３１０の運用中に、サーバ３１０で実行されているＯＳなどのソフトウェアを、サーバ３２０にライブマイグレーションで移送する場合を考える。例えばサーバ３１０においてメモリエラーが多発している場合、サーバ３１０の保守のために、サーバ３１０で実行しているソフトウェアのライブマイグレーションが行われる。ライブマイグレーションは、ソフトウェアによるサービスを停止せずに、そのソフトウェアを実行する環境を移送する技術である。
【００７５】
サーバ３１０に対し、リモートコンソール端末として端末装置４１が接続されている状況でライブマイグレーションが実行する場合、端末装置４１からの接続先も切り替えられる。以下、端末装置４１の接続先の切り替えを伴うマイグレーション処理について説明する。
【００７６】
図７は、マイグレーション処理の一例を示す図である。管理サーバ２００のマイグレーション管理部２２０は、サーバ３１０のライブマイグレーションの指示が入力されると、中継サーバ１００に対してマイグレーション準備指示を送信する。中継サーバ１００では、中継器１３０が、移送先のサーバ３２０内のＲＣＭ３２１と接続する。そして中継器１３０内に、ＲＣＭ３２１から出力される描画プロトコルの通信を監視する描画プロトコルモニタ１３２が生成される。そして、中継器１３０は、２つの描画プロトコルモニタ１３１，１３２により、移送元と移送先とのそれぞれのサーバ３１０，３２０からの描画プロトコルの通信を監視する。
【００７７】
またマイグレーション管理部２２０は、移送元と移送先とのサーバ３１０，３２０にマイグレーションの実行を指示する。するとサーバ３１０からサーバ３２０へ、ライブマイグレーションが実行される。各サーバ３１０，３２０は、ライブマイグレーションの実行経過を、コンソール端末に表示する情報として、描画プロトコルにより送信する。中継器１３０では、描画切替部１３３が、サーバ３１０，３２０から出力される描画プロトコルの通信内容に基づいて、マイグレーションが完了したことを検知する。そして描画切替部１３３は、マイグレーションの完了を検知すると、移送元のサーバ３１０のＲＣＭ３１１との接続を切断する。その後、中継器１３０は、サーバ３２０のＲＣＭ３２１から出力された更新命令によりＦＢ１３４内に画像を描画するとともに、その更新命令を端末装置４１に転送する。
【００７８】
次に、マグレーション処理の手順について、シーケンス図を用いて説明する。
図８は、マイグレーション処理の手順を示すシーケンス図である。以下、図８に示す処理を、ステップ番号に沿って説明する。
【００７９】
［ステップＳ１１１］管理サーバ２００のマイグレーション管理部２２０は、マイグレーションの指示を取得する。例えばマイグレーション管理部２２０は、管理者から、マイグレーション対象のサーバ３１０を指定したマイグレーション指示の入力を受け付ける。
【００８０】
［ステップＳ１１２］マイグレーション管理部２２０は、中継サーバ１００に対してマイグレーション準備指示を送信する。マイグレーション準備指示には、例えば移送元のサーバ３１０のサーバＩＤとサーバ３１０内のＲＣＭ３１１のＲＣＭ情報、および移送先のサーバ３２０のサーバＩＤとサーバ３２０内のＲＣＭ３２１のＲＣＭ情報とが含まれる。なお既に中継サーバ１００のＲＣＭ管理テーブル１１２に、ＲＣＭ情報が登録されている場合は、マイグレーション準備指示に、ＲＣＭ情報を含めなくてもよい。なおマイグレーション準備指示に含まれるＲＣＭ情報は、例えばＲＣＭ−ＩＤ、ＩＰアドレス、アクセスキーなどの情報である。
【００８１】
［ステップＳ１１３］マイグレーション管理部２２０は、移送先のサーバ３２０へ、マイグレーション受入指示を送信する。例えばマイグレーション管理部２２０は、サーバ３２０に対する遠隔操作により、サーバ３２０に電源を投入する。次にマイグレーション管理部２２０は、サーバ３２０に対して、ライブマイグレーションによるソフトウェアの受入を可能とするためのシステムを起動させる。
【００８２】
［ステップＳ１１４］マイグレーション管理部２２０は、移送元のサーバ３１０へ、マイグレーション指示を送信する。このマイグレーション指示には、例えば移送先のサーバ３２０のＩＰアドレスが含まれる。
【００８３】
［ステップＳ１１５］管理サーバ２００からマイグレーション準備指示を受信した中継サーバ１００では、移送元のサーバ３１０に接続している中継器１３０が、移送先のサーバ３２０との通信を接続する。
【００８４】
［ステップＳ１１６］中継器１３０は、コンテキスト切替監視処理を行う。マイグレーションにおけるコンテキスト切替とは、移送元のサーバ３１０におけるソフトウェアの動作環境（ＣＰＵの状態など）を、移送先のサーバ３２０上に再現することである。コンテキスト切替監視処理により、コンテキスト切替を認識すると、次のステップＳ１１７に処理が進められる。なおコンテキスト切替監視処理の詳細は後述する（図９参照）。
【００８５】
［ステップＳ１１７］コンテキスト切替を確認後、中継器１３０の描画切替部１３３は、描画対象を移送先のサーバ３２０内のＲＣＭ３２１から送られた更新命令に切り替える。以後、描画切替部１３３は、ＲＣＭ３２１から送られた更新命令に従ってＦＢ１３４が画像を描画する。また描画プロトコル送出部１３５は、ＲＣＭ３２１から送られた更新命令を端末装置４１に転送する。
【００８６】
［ステップＳ１１８］描画切替部１３３は、移送元のサーバ３１０のＲＣＭ３１１との間の通信を切断する。
以後、サーバ３２０のＲＣＭ３２１から出力された更新命令が端末装置４１に転送される。また端末装置４１から出力された指示は、中継器１３０によってサーバ３２０のＲＣＭ３２１に転送される。
【００８７】
次に、コンテキスト切替監視処理の手順について詳細に説明する。
図９は、コンテキスト切替監視処理の手順の一例を示すフローチャートである。以下、図９に示す処理をステップ番号に沿って説明する。
【００８８】
［ステップＳ１２１］描画切替部１３３は、移送元のサーバ３１０と移送先のサーバ３２０との両方のＲＣＭ３１１，３２１から描画プロトコルによる更新命令を受信する。
［ステップＳ１２２］描画切替部１３３は、移送先の受入準備が完了したか否かを判断する。例えば描画切替部１３３は、移送先のサーバ３２０からの更新命令の出力が一定時間以上途絶えた場合、受入準備が完了したものと判断する。また受入準備が完了したときにＲＣＭ３２１が出力する更新命令を、予め描画切替部１３３に登録しておき、描画切替部１３３は、登録された更新命令を受信したときに、受入準備が完了したと判断することもできる。受入準備が完了した場合、処理がステップＳ１２３に進められる。受入準備が完了していなければ、処理がステップＳ１２１に進められる。
【００８９】
［ステップＳ１２３］描画切替部１３３は、移送元と移送先との両方のＲＣＭ３１１，３２１からの更新命令を継続して受信する。
［ステップＳ１２４］描画切替部１３３は、移送元の描画が停止したか否かを判断する。例えば描画切替部１３３は、移動元のサーバ３１０のＲＣＭ３１１からの更新命令の出力が、一定期間以上停止した場合、描画が停止したと判断する。描画が停止した場合、処理がステップＳ１２５に進められる。描画が停止していなければ、処理がステップＳ１２３に進められる。
【００９０】
［ステップＳ１２５］描画切替部１３３は、移送先の描画が開始したか否かを判断する。例えば描画切替部１３３は、移送先のサーバ３２０のＲＣＭ３２１から更新命令の送信が開催された場合、描画が開始されたと判断する。描画が開始された場合、処理がステップＳ１２６に進められる。描画が開始されていなければ、処理がステップＳ１２３に進められる。
【００９１】
［ステップＳ１２６］描画切替部１３３は、コンテキストが切り替えられたと認識し、コンテキスト切替監視処理を終了する。
このようにして、マイグレーションによりコンテキスト切替が行われたことを描画切替部１３３が検知し、ＦＢ１３４への書き込み対象が、移送元が出力した更新命令から移送先が出力した更新命令に切り替えられる。
【００９２】
図１０は、マイグレーション時の画像の遷移例を示す図である。移送先のサーバ３２０にマイグレーション受入準備指示が送信されると、サーバ３２０のＲＣＭ３２１内のＦＢ３２１ａには、マイグレーション受入準備状況を示すメッセージが描画される。このメッセージを描画する更新命令は、サーバ３２０のＲＣＭ３２１から中継器１３０に送信される。中継器１３０では、ＲＣＭ３２１から送られた更新命令を描画プロトコルモニタ１３２が取得する。この段階では、移送元のサーバ３１０のＲＣＭ３１１から送られた更新命令が描画対象であり、描画プロトコルモニタ１３２が受信した更新命令は破棄される。
【００９３】
他方、移送元のサーバ３１０のＲＣＭ３１１内のＦＢ３１１ａには、動作中のソフトウェアに基づく画像が書き込まれている。この画像を描画するための更新命令は、ＲＣＭ３１１から中継器１３０に送信されている。中継器１３０では、描画プロトコルモニタ１３１が、ＲＣＭ３１１から送られた更新命令を受信する。そして描画切替部１３３により、移送元と同じ画像がＦＢ１３４に描画される。その後、マイグレーション指示を受け取ったサーバ３１０は、サーバ３２０と連携してライブマイグレーションを実行する。ライブマイグレーションでは、サーバ３１０の現在のメモリやレジスタ内の情報が、サーバ３２０に転送され、サーバ３２０内のメモリやレジスタに格納される。
【００９４】
マイグレーションが完了すると、移送元のサーバ３１０のＲＣＭ３１１内のＦＢ３１１ａには、例えば電源オフのメッセージが描画される。その後、サーバ３１０の電源が遮断される。サーバ３１０の電源遮断後は、ＲＣＭ３１１からの更新命令の出力が停止する。サーバ３１０停止時に描画される電源オフのメッセージなどの更新命令は、ＲＣＭ３１１から中継器１３０に送信される。このとき、中継器１３０の描画切替部１３３は、例えば、マイグレーション開始後のメッセージのＦＢ１３４への描画を抑止する。また描画切替部１３３は、そのメッセージの描画を指示する更新命令の端末装置４１への転送も抑止する。これにより、端末装置４１の画面にマイグレーションの進行状況を示すメッセージを表示させずに済む。
【００９５】
移送先のサーバ３２０では、マイグレーション完了後、ＲＣＭ３２１内のＦＢ３２１ａへの描画が開始される。ＦＢ３２１ａへの描画内容を示す更新命令は、ＲＣＭ３２１から中継器１３０に送信される。中継器１３０では、描画プロトコルモニタ１３２が更新命令を受信する。そして描画切替部１３３が、移送先からの更新命令の受信によりマイグレーションが完了したと判断し、描画プロトコルモニタ１３２が受信した更新命令に従って、ＦＢ１３４に画像を描画する。以後、ＲＣＭ３２１から中継器１３０へ描画プロトコルにより送られた更新命令が、端末装置４１に転送される。
【００９６】
このように、リモートコンソールとしてサーバ３１０に接続されていた端末装置４１の接続先を、サーバ３１０のマイグレーションの実行に伴って、移送先のサーバ３２０に自動で切り替えることができる。しかも、マイグレーション実行過程を示すメッセージの更新命令を端末装置４１に転送しないようにしたことで、マイグレーションの実行をユーザに隠蔽しておくことができる。
【００９７】
〔第３の実施の形態〕
次に第３の実施の形態について説明する。第３の実施の形態は、移送元と移送先のサーバのＲＣＭ間で、ＦＢ内の画像の共通化を図るものである。以下、第３の実施の形態における第２の実施の形態との相違点について説明する。
【００９８】
図１１は、第３の実施の形態におけるマイグレーション処理の一例を示す図である。第３の実施の形態では、移送先のサーバ３２０においてマイグレーション受入準備が完了すると、移送元のサーバ３１０のＲＣＭ３１１が、ＦＢ３２１ａ内の画像データを移送先のサーバ３２０のＲＣＭ３２１に送信する。移送先のＲＣＭ３２１は、受信した画像データを自己のＦＢ３２１ａに格納する。
【００９９】
このように移送先に画像データを送信することで、マイグレーション完了直後すぐに端末装置４１から表示画像全体の画像データが要求されても、移送先のサーバ３２０から全体の画像データを正しく送信することができる。
【０１００】
〔その他の実施の形態〕
マイグレーション完了の検知方法は、上記の方法に限定されない。例えば移送元のサーバ３１０の電源遮断時、移送先のサーバ３２０のマイグレーション受入準備完了時を、サーバ３１０，３２０から出力される更新命令に示されるテキストの文字列に基づいて判断することができる。図１０の例であれば、中継器１３０の描画切替部１３３は、移送元のサーバ３１０から「Power off」のテキスト文字列の描画を指示する更新命令を受信したときに、移送元の描画が停止した（図９のステップＳ１２４で「ＹＥＳ」）と判断する。また中継器１３０は、移送先のサーバ３２０から「Setup Complete」のテキスト文字列の描画を指示する更新命令を受信したときに、移送先の受入準備が完了した（図９のステップＳ１２２で「ＹＥＳ」）と判断する。
【０１０１】
また移送先のサーバ３２０での描画開始時を、更新命令の種別によって判断することもできる。例えば中継器１３０は、移送先のサーバ３２０から受信した更新命令が、テキストの描画を指示するコマンドから、グラフィックの描画を指示するコマンドに切り替わったときに、移送元の描画が開始した（図９のステップＳ１２５で「ＹＥＳ」）と判断する。
【０１０２】
なお上記の実施の形態では、ＩａａＳのサービスを提供するシステムにおけるマイグレーション時のリモートコンソールの接続先の切り替え例を示したが、サービス形態はＩａａＳに限定されない。すなわちＩａａＳに限らず、リモートコンソールが接続された物理サーバに対してマイグレーションを実行する場合に、上記実施の形態に示した技術でリモートコンソールの接続先の切り替えが可能である。
【０１０３】
以上、実施の形態を例示したが、実施の形態で示した各部の構成は同様の機能を有する他のものに置換することができる。また、他の任意の構成物や工程が付加されてもよい。さらに、前述した実施の形態のうちの任意の２以上の構成（特徴）を組み合わせたものであってもよい。
【符号の説明】
【０１０４】
１  第１の情報処理装置
２  第２の情報処理装置
３  端末装置
１０  中継装置
１１  第１の受信手段
１２  第２の受信手段
１３  検知手段
１４  描画手段
１５  記憶手段
１６  転送手段
【図１】
2015170242.tif 000003
【図２】
2015170242.tif 000004
【図３】
2015170242.tif 000005
【図４】
2015170242.tif 000006
【図５】
2015170242.tif 000007
【図６】
2015170242.tif 000008
【図７】
2015170242.tif 000009
【図８】
2015170242.tif 000010
【図９】
2015170242.tif 000011
【図１０】
2015170242.tif 000012
【図１１】
2015170242.tif 000013