(57)【要約】【課題】個々のユーザが自由にカスタマイズすることが可能な仮想化されたＯＳ環境を、効率的にアップデートできるシステムを提供し、端末管理のコストを低減する。【解決手段】個々のユーザが利用するゲストＯＳの仮想イメージを、サーバで管理し、ユーザが利用者端末を起動する時に、仮想イメージ、または、仮想イメージの更新用の差分データをサーバから配信する。また、ユーザが利用者端末をシャットダウンする時に、利用者端末から、仮想イメージ、または、仮想イメージの更新用の差分データをサーバへアップロードする。サーバ上では、アップロードされた仮想イメージを使ってゲストＯＳを起動してアップデートを行う。【選択図】図１
2012078893.tif 000002
【特許請求の範囲】
【請求項１】
複数の利用者端末と、当該複数の利用者端末で使用されるゲストＯＳの仮想イメージを管理するサーバシステムと、を有し、
前記複数の利用者端末のそれぞれは、仮想マシンモニタと、当該仮想モニタ上で動作する管理ＯＳ及びゲストＯＳと、前記ゲストＯＳを構成する仮想イメージ及び当該仮想イメージの更新データとを格納する二次記憶装置と、を含み、
前記サーバシステムは、前記複数の利用者端末のそれぞれのゲストＯＳを構成する、複数の仮想イメージ及び当該複数の仮想イメージに対応する複数の更新データを格納するストレージ装置と、前記仮想イメージの更新処理を実行し、更新された仮想イメージを生成する仮想マシン計算機と、前記仮想イメージの更新処理を管理する管理計算機と、を含み、
前記更新データは、現時点の仮想イメージと直近の仮想イメージとの差分データを含む差分ファイルであり、
それぞれの前記利用端末は、前記更新データを所定のタイミングで前記ストレージ装置にアップロードし、
前記仮想マシン計算機は、前記ストレージ装置から取得した仮想イメージに、前記アップロードし、前記ストレージ装置から取得した仮想イメージに対応する、更新データを適用することにより、前記更新された仮想イメージを生成し、
前記ストレージ装置は、前記更新された仮想イメージと、当該仮想イメージに対応する前記更新データを格納し、
前記管理計算機は、前記利用端末が起動されたときに、当該起動された利用端末に対応する前記更新データを前記ストレージ装置から取得して、前記起動された利用端末に送信する、ことを特徴とする計算機システム。
【請求項２】
請求項１において、
前記起動された利用者端末は、前記更新データを受信し、前記二次記憶装置に保持している仮想イメージに、前記受信した更新データを適用して更新されたゲストＯＳを構成し、当該更新されたゲストＯＳに対する変更を新たな更新データとして前記二次記憶装置に保持することを特徴とする計算機システム。
【請求項３】
請求項１において、
前記管理計算機は、前記更新処理を実行すべき仮想イメージに、自動更新動作を実行するための管理スクリプトを埋め込み、当該管理スクリプトが埋め込まれた仮想イメージを前記仮想マシン計算機に受け渡し、
前記仮想マシン計算機は、更新処理の対象となっているゲストＯＳを起動して自動的に前記更新処理を開始させ、前記管理スクリプトが埋め込まれた仮想イメージに、当該仮想イメージに対応する前記更新データを適用することにより前記更新処理を実行し、前記更新された仮想イメージを生成することを特徴とする計算機システム。
【請求項４】
請求項３において、
前記管理計算機は、前記複数の利用端末で用いられる全ての仮想イメージについて、前記更新データの有無に基づいて前記更新処理の要否を判断し、更新処理が必要な仮想イメージの全てについて前記更新処理を順次実行することを特徴とする計算機システム。
【請求項５】
複数の利用者端末に接続され、当該複数の利用者端末で使用されるゲストＯＳの仮想イメージの更新処理を管理するための管理計算機であって、
プロセッサと、メモリと、を有し、
前記プロセッサは、
前記複数の利用者端末のそれぞれのゲストＯＳを構成する、複数の仮想イメージ及び当該複数の仮想イメージに対応する複数の更新データを格納するストレージ装置への前記更新データの読み出し及び書き込みを管理し、
更新された仮想イメージを生成する仮想マシン計算機での前記仮想イメージの更新処理を管理し、
前記更新データは、現時点の仮想イメージと直近の仮想イメージとの差分データを含む差分ファイルであり、
前記複数の利用端末から前記更新データのアップロード要求があった場合、前記更新データを前記ストレージ装置に書き込み、
所定のタイミングで、前記仮想マシン計算機に対して、前記ストレージ装置から取得した仮想イメージに、当該取得した仮想イメージに対応する更新データを適用することにより、前記更新された仮想イメージを生成させ、
前記更新された仮想イメージと、当該仮想イメージに対応する前記更新データを前記ストレージ装置に格納し、
前記利用端末が起動されたときに、当該起動された利用端末に対応する前記更新データを前記ストレージ装置から取得して、前記起動された利用端末に送信する、ことを特徴とする管理計算機。
【請求項６】
請求項５において、
前記プロセッサは、
前記更新処理を実行すべき仮想イメージに、自動更新動作を実行するための管理スクリプトを埋め込み、当該管理スクリプトが埋め込まれた仮想イメージを前記仮想マシン計算機に受け渡し、
前記仮想マシン計算機に対して、更新処理の対象となっているゲストＯＳを起動して自動的に前記更新処理を開始させ、前記管理スクリプトが埋め込まれた仮想イメージに、当該仮想イメージに対応する前記更新データを適用することにより前記更新処理を実行し、前記更新された仮想イメージを生成させることを特徴とする管理計算機。
【請求項７】
請求項６において、
前記プロセッサは、前記複数の利用端末で用いられる全ての仮想イメージについて、前記更新データの有無に基づいて前記更新処理の要否を判断し、更新処理が必要な仮想イメージの全てについて前記更新処理を順次実行させることを特徴とする管理計算機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、計算機システム、及び管理計算機に関し、例えば、仮想化技術を適用した利用者端末における、ゲストＯＳの仮想イメージのアップデート管理に関するものである。
【背景技術】
【０００２】
近年、多くの企業でＩＴコスト低減のために仮想化技術を導入している。仮想化が利用されるのは、サーバとストレージが大部分を占めるが、利用者端末においても、仮想化技術を適用する試みがある。
【０００３】
利用者端末に仮想化技術を適用したシステムとしては、仮想イメージ（仮想マシン上で動作するゲストＯＳのデータが格納されたファイル）を、利用者端末に配信して利用者端末を動作させるという、仮想イメージ配信型の利用者端末装置がある。このシステムは、利用者端末上に直接ＯＳをインストールした場合と同じユーザビリティを維持し、かつ、仮想化により管理・運用性が向上する利点がある。
【０００４】
また、仮想イメージの運用性を向上させる方法として、例えば特許文献１に示されるように、複数のユーザで使用する仮想イメージを一元化し、その一元化したＯＳイメージに対して更新を行い、配信するシステムが提案されている。この特許文献１のシステムによれば、仮想イメージの更新は、マスターイメージに対して一度行うだけであり、ＯＳ更新に関する運用コストを大幅に低減することが可能である。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００８−０８４０２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
特許文献１のシステムは、アプリケーションを利用するだけのユーザがゲストＯＳを使用するのであれば特に問題ない。
【０００７】
しかしながら、ユーザがシステム設定変更やソフト開発環境を行いたい場合、ゲストＯＳのシステム構成に関わる部分への変更ができないという問題がある。この問題は、システム設定変更やソフト開発環境を端末上で利用したいユーザにとっては、大きな制限事項である。
【０００８】
このような流れを受けて、個々人が自分のシステム設定を行ったＯＳ環境を利用したいというニーズがある。また、ＯＳイメージのアップデート等の、端末を利用する目的以外の運用管理作業を各個人の端末では実行したくないというニーズがある。ＯＳイメージのアップデートには再起動が必要であり、作業を中断しなければならず、また、バックグラウンドでアップデートをさせたとしても処理負荷が掛かってしまうからである。
【０００９】
本発明はこのような状況に鑑みてなされたものであり、上記２つのニーズを満足させ、端末を利用するユーザ各々に依存した仮想化されたＯＳ環境を、効率的にアップデートし、利用者端末の運用管理コストを低減するための技術を提供するものである。
【課題を解決するための手段】
【００１０】
上記課題を解決するために、本発明では、個々のユーザが利用するゲストＯＳの仮想イメージを、サーバで管理し、ユーザが利用者端末を起動する時に、仮想イメージ、または、仮想イメージの更新用の差分データを配信する。また、ユーザが利用者端末をシャットダウンする時に、利用者端末から仮想イメージ、または、仮想イメージの更新用の差分データをサーバへアップロードする。サーバ上では、利用者端末からアップロードされた仮想イメージを使ってゲストＯＳを起動してアップデートを行う。アップデート時に、仮想イメージに対する書込み差分データを抽出しておく。
【００１１】
即ち、本発明の計算機システムでは、複数の利用者端末のそれぞれは、仮想マシンモニタと、当該仮想モニタ上で動作する管理ＯＳ及びゲストＯＳと、ゲストＯＳを構成する仮想イメージ及び当該仮想イメージの更新データとを格納する二次記憶装置と、を有している。
【００１２】
一方、サーバシステムは、複数の利用者端末のそれぞれのゲストＯＳを構成する、複数の仮想イメージ及び当該複数の仮想イメージに対応する複数の更新データを格納するストレージ装置と、仮想イメージの更新処理を実行し、更新された仮想イメージを生成する仮想マシン計算機と、仮想イメージの更新処理を管理する管理計算機と、を有している。ここで、更新データは、現時点の仮想イメージと直近の仮想イメージとの差分データを含む差分ファイルに相当するデータである。
【００１３】
また、それぞれの前記利用端末は、更新データを所定のタイミングで前記ストレージ装置にアップロードする。
【００１４】
さらに、仮想マシン計算機は、管理計算機の指示により、ストレージ装置から取得した仮想イメージに、アップロードし、ストレージ装置から取得した仮想イメージに対応する、更新データを適用することにより、更新された仮想イメージを生成する。そして、ストレージ装置は、管理計算機の指示により、更新された仮想イメージと、当該仮想イメージに対応する更新データを格納する。
【００１５】
また、管理計算機は、利用端末が起動されたときに、当該起動された利用端末に対応する更新データをストレージ装置から取得して、起動された利用端末に送信する。利用端末は、当該取得した更新データを適用して、仮想イメージを更新し、更新されたゲストＯＳとして使用する。
【発明の効果】
【００１６】
本発明によれば、個々のユーザが自由にカスタマイズでき、かつ、仮想化されたＯＳ環境のアップデート管理を自動化することが可能となり、利用者端末の運用コストを低減することができる。
【００１７】
なお、上述した以外の課題、構成及び効果は、以下の本発明を実施するための形態および添付図面によって明らかになるものである。
【図面の簡単な説明】
【００１８】
【図１】本発明の実施形態による計算機システムの構成を示す図である。
【図２】利用者端末の起動時の処理を説明するためのフローチャートである。
【図３】利用者端末のシャットダウン時の処理を説明するためのフローチャートである。
【図４】仮想イメージの自動更新処理を説明するためのフローチャートである。
【図５】仮想マシン管理テーブルの構成例を示す図である。
【発明を実施するための形態】
【００１９】
以下、添付図面を参照して本発明の実施形態について説明する。ただし、本実施形態は本発明を実現するための一例に過ぎず、本発明の技術的範囲を限定するものではないことに注意すべきである。また、各図において共通の構成については同一の参照番号が付されている。
【００２０】
なお、本明細書では、表形式によって本発明で用いられる情報について説明しているが、テーブル、リスト、キュー、ＤＢ（データベース）等の表現や、これらテーブル、リスト、ＤＢ、キュー等のデータ構造以外で表現されていてもよい。このため、本発明で用いられる情報が、データ構造に依存しないことを示すために、テーブル、リスト、ＤＢ、キュー等について単に「情報」と呼ぶことがある。
【００２１】
また、各情報の内容を説明する際に、「識別情報」、「識別子」、「名」、「名前」、「ID」という表現を用いるが、これらについてはお互いに置換が可能である。
【００２２】
さらに、以後の本発明の処理動作について、プロセッサの一部の機能を動作主体（主語）としてしても良いし、「プログラム（フローチャートに相当するプログラムが図示しないメモリに格納されている）」、「モジュール」「ＳＲＶ（サービス：プログラムと同等の概念）を動作主体（主語）として説明を行うようにしても良い。プログラム、モジュール及びＳＲＶは、プロセッサによって実行されることで、メモリを用いながら定められた処理を行っている。また、プログラムの一部または全ては専用ハードウェアによって実現されてもよい。また、各種プログラムはプログラム配布サーバや記憶メディアによって各計算機にインストールされてもよい。
【００２３】
＜計算機システムの構成＞
図１は、本発明の実施形態による計算機システム１０の構成を示すブロック図である。計算機システム１０は、少なくとも１つの利用者端末１００と、管理サーバ１０１と、少なくとも１つの仮想マシンサーバ１０２、少なくとも１つのストレージサーバ１０３と、を含み、それらがネットワーク１０５で互いに接続される構成となっている。ネットワーク１０５は、イントラネット、インターネット、ＷＡＮ等、現在普及している一般的なネットワークである。なお、管理サーバ１０１、仮想マシンサーバ１０２及びストレージサーバ１０３は、それぞれ独立の装置として提供しても良いし、それらの少なくとも２つを統合した装置として提供しても良い。管理サーバ１０１、仮想マシンサーバ１０２及びストレージサーバ１０３をまとめてサーバシステムということも可能である。また、本実施形態による計算機システム１０に関しては、データセンター事業者が提供するＩＴリソースをインターネット越しに利用する、いわゆるクラウドコンピューティング環境を利用することができ、この場合管理サーバ１０１及び仮想マシンサーバ１０２を改めて構築する必要がないので、このような環境を利用すれば特に経済的効果（コスト削減効果）が大きいと言える。つまり、ユーザ企業での仮想化導入が進む一方で、データセンター事業者が仮想化技術を利用して構築したＩＴインフラを、個々のユーザ企業がネットワーク越しに利用する、いわゆるクラウドコンピューティング環境も浸透してきつつある。このクラウドコンピューティングにより、企業がＣＰＵ、メモリ、ストレージ等のＩＴリソースをオンデマンドかつ低コストに使用できるようになってきているのである。
【００２４】
各利用者端末１００は、例えば一般的なＰＣであって、ＣＰＵ１０６と、主記憶装置（ＲＡＭ）１０７と、キーボードやマウス等及び表示デバイスやプリンタ等の入出力装置１０８と、ネットワークを介した通信動作を制御するネットワークデバイス１０９と、二次記憶装置１１０と、を有している。利用者端末１００上には、ＶＭＭ１１１（Virtual Machine Monitor）と、ＶＭＭ１１１上で動作する仮想マシン１０４、管理ＯＳ１１２、及びゲストＯＳ１１３が設けられている。
【００２５】
＜ＶＭＭ及び管理ＯＳについて＞
ＶＭＭ１１１は、１台の物理マシン上で複数台の仮想マシン１０４（仮想的に割り当てられたＣＰＵやメモリ）をエミュレートしてコンピュータを仮想化し、複数の異なるＯＳを並列に実行できるようにするソフトウェアである。なお、ＶＭＭ１１１と管理ＯＳ１１２は、利用者端末１００の初期設定時に管理者によってインストールされる。従って、この時点では、該当する仮想イメージはストレージサーバ１０３にアップロードされていない状態となっている。
【００２６】
管理ＯＳ１１２は、利用者端末１００のユーザが直接操作することがないＯＳであり、ゲストＯＳ１１３の電源管理や、物理的なハードウェアリソース（ＣＰＵ１０６やＲＡＭ１０７等）をゲストＯＳ１１３に提供する機能を有するＯＳである。また、ゲストＯＳ１１３からネットワークデバイス１０９や二次記憶装置１１０等の物理デバイスへのＩ／Ｏは管理ＯＳ１１２を経由して行われるため、管理ＯＳ１１２は、ゲストＯＳ１１３からデバイスへ送られるＩ／Ｏを制御することが可能である。
【００２７】
ゲストＯＳ１１３は、利用者端末１００のユーザが直接操作できる、ＧＵＩを備えたＯＳである。ユーザが、利用者端末１００の電源をＯＮすると、ユーザにとっては、ゲストＯＳ１１３が最初に起動しているように見える。この時、内部的には、管理ＯＳ１１２がゲストＯＳ１１３よりも先に起動し、管理ＯＳ１１２によりゲストＯＳ１１３が起動されている。ゲストＯＳ１１３上には、アプリケーションソフトウェア１１４がインストールされており、利用者端末１００のユーザは、アプリケーション１１４を利用することが可能で、作成したユーザデータ１１５はローカル保存可能である。ゲストＯＳ１１３からは二次記憶装置１１０に保存しているように見えるが、管理ＯＳ１１２からは、仮想イメージ内の任意の領域に保存しているように見える。
【００２８】
なお、一般的に、ＶＭＭは、複数のゲストＯＳを１台の物理マシン（ＰＣ）上で動作させるために用いられるが、本実施形態では、利用者端末１００上で動作するゲストＯＳ１１３は、１台の物理マシンにつき１つ設けられている。このように、通常利用端末に用いないＶＭＭ１１１を利用者端末１００に用いる主な理由は、二次記憶装置１１０を仮想化して物理二次記憶装置１１０へ直接ゲストＯＳ１１３をインストールせずに、１つのファイル（仮想イメージ）として扱えるようにするためであり、さらに、ゲストＯＳ１１３が起動する前、または、ゲストＯＳ１１３が終了した後に、種々の操作を行えるようにするためである。
【００２９】
＜仮想イメージについて＞
仮想イメージ１１６は、ゲストＯＳ１１３自体、または、ゲストＯＳ１１３上にインストールされたアプリケーションソフトウェア１１４のインストールデータが格納された１つのイメージファイルである。ＶＭＭ１１１は、仮想イメージ１１６を仮想的な二次記憶装置として、ゲストＯＳ１１３が動作する仮想マシン１０４に提供する。ＶＭＭ１１１が仮想イメージ１１６を仮想的な二次記憶装置として、ゲストＯＳ１１３が動作する仮想マシンに提供することにより、ゲストＯＳ１１３、及び、アプリケーション１１４からのディスクＩ／Ｏは、仮想イメージ１１６に対してのＩ／Ｏとなる。
【００３０】
なお、ＶＭＭ１１１は、ディスクＩ／Ｏを制御しているため、仮想イメージ１１６への書込みデータのファイルオフセット、データ長、バイナリデータを取得・管理することができる。よって、書込み前と、書込み後の差分データを取得することが可能であり、後述する差分モジュールと連携して、この差分データを１つのファイルとして固め、差分ファイル１１７を作ることが可能である。この機能を利用し、ゲストＯＳが起動した状態の仮想イメージ１１６と、起動後に仮想イメージ１１６に書込まれた差分ファイル１１７を管理することが可能となる。また、仮想イメージ１１６は、管理ＯＳ１１２からは単なるファイルとして認識されるが、ゲストＯＳ１１３からはＶＭＭ１１１によって提供される二次記憶装置１１０として認識される。よって、上述のように、ゲストＯＳ１１３から二次記憶装置１１０に対してデータの書き込み要求がなされると、そのデータは全て仮想イメージ１１６に書き込まれ、差分ファイル１１７が生成される。一方、データ読み込み時は、ＶＭＭ１１は、仮想イメージ１１６と差分ファイル１１７を取得し、仮想マシン１０４上のゲストＯＳ１１３のユーザデータ１１５や更新されたゲストＯＳそのものを構成する。
【００３１】
＜仮想イメージの更新について＞
仮想イメージの更新処理については、後述のフローチャート（図４参照）による説明によっても明らかになるが、ここではその概要について簡単に説明する。
【００３２】
例えば、仮想イメージのファイルフォーマットに関しては、マイクロソフト社が提供するＶＨＤフォーマットが知られている。この仮想イメージのファイルフォーマットを任意のＶＭＭが認識できる場合、その任意のＶＭＭ上で、仮想イメージからゲストＯＳを起動することが可能である。また、ゲストＯＳを起動することなく、仮想イメージを直接操作することも可能である。実際の手順としては、既に起動しているＯＳ上で、任意の仮想イメージに対して、システムボリューム（起動ボリューム）以外のボリューム（ドライブ）としてマウントすることで、起動済みのゲストＯＳから直接仮想イメージ内にファイルを追加・削除・編集することが可能となる。つまり、ＶＨフォーマットを用いると、ゲストＯＳを起動しなくても、後述の管理スクリプト１３４をゲストＯＳ１３３に埋め込むことができるようになる。より具体的には、任意のＯＳ（図１のＯＳ１１８）から、複数の仮想イメージ（図１の仮想イメージ１１９）と差分ファイル（図１の差分ファイル１２０）を管理サーバ１０１上にマウントして直接編集し、管理スクリプトを埋め込む。そして、管理サーバ１０１が仮想マシンサーバ１０２に対してゲストＯＳ１３３を構成し、管理スクリプト１３４が埋め込まれた仮想イメージ１１９と差分ファイル１２０を受け渡す。続いて、任意のゲストＯＳ１３３が、受け取った仮想イメージ１１９と差分ファイル１２０をマウントしてゲストＯＳ１３３を起動させる。仮想イメージ１１９には管理スクリプトが埋め込まれているので、ゲストＯＳ１３３を起動することにより、ゲストＯＳが更新される。このように、ゲストＯＳ１３３に管理者が意図した動作をさせることが可能となる。
【００３３】
この機能を利用して、利用者端末１００の仮想イメージ１１６或いは差分ファイル１１７をストレージサーバ１０３にアップデートさせる。管理サーバ１０１は、自動更新スクリプト（管理スクリプト１３４）を仮想イメージ１１９（仮想イメージ１１９は各利用者端末１００の仮想イメージ群に相当するものであり、仮想イメージ１１６はその１つに相当するもの）に埋め込み、仮想マシンサーバ１０２に受け渡す。仮想マシンサーバ１０２は、受け取った仮想イメージ１１９と差分ファイル１２０からゲストＯＳ１３３を起動して自動更新を実施し、更新前の仮想イメージと更新後の仮想イメージから改めて差分ファイルを生成し、それをストレージサーバ１０３に受け渡す。この操作を、個々の仮想イメージ毎に行う。そして、個々の差分ファイルを、各利用者端末１００に配布することで、利用者端末１００のゲストＯＳ１１３のアップデートを実施することが可能となる。
【００３４】
＜管理ＯＳ上の各モジュールについて＞
管理ＯＳ１１２上の各モジュールについて説明する。管理ＯＳ１１２上には、仮想マシン管理モジュール１２１、仮想イメージ管理モジュール１２２、端末管理モジュール１２３、差分モジュール１２４がインストールされている。
【００３５】
（i）仮想マシン管理モジュール１２１
仮想マシン管理モジュール１２１は、利用者端末１００上の仮想マシン（仮想マシン上でゲストＯＳが起動する）の起動・終了等の電源管理、設定変更を行うモジュールである。利用者端末１００の電源が切れた状態から、ユーザが電源をＯＮにした場合、管理ＯＳ１１２が起動され、その後、仮想マシン管理モジュール１２１により、仮想マシン、及び、その仮想マシン上で動作するゲストＯＳ１１３が起動される。ユーザがゲストＯＳ１１３上でシャットダウン操作を行うと、仮想マシン管理モジュール１２１が、仮想マシン、及び、その仮想マシン上で動作するゲストＯＳ１１３をシャットダウンした後、管理ＯＳ１１２がシャットダウンされ、利用者端末１００の電源が切れる。なお、管理ＯＳ１１２は、ＣＰＵ、メモリ、ネットワークデバイス、仮想イメージへのファイルパス等の設定情報を読み込んで、仮想マシン１０４をＶＭＭ１１１上で作成する。
【００３６】
仮想イメージ管理モジュール１２２は、仮想イメージ（１１６、または、１１９）の差分ファイル（１１７、または、１２０）の管理、及び、仮想イメージ１１６の更新の必要がある場合（例えば、自動更新フラグ（図５参照）がＴＲＵＥの場合）は、ストレージサーバ１０３から差分ファイル１２０をダウンロードし、仮想イメージ１１６へ適用する機能を備える。また、ユーザがゲストＯＳ１１３を利用すると、仮想イメージ１１６への更新書込みが発生するが、この書込みは、後述する差分モジュール１２４により、差分ファイル１１７として二次記憶装置１１０に保存される。仮想イメージ管理モジュール１２２は、この保存された差分ファイル１１７を、ゲストＯＳ１１３のシャットダウン、または、ユーザログオフの時に、ストレージサーバ１０３へアップロードする機能も備える。アップロードが成功した場合には、管理サーバ１０１の仮想イメージ管理テーブル１３０の「自動更新フラグ」５０６を“ＴＲＵＥ”にしておき、仮想イメージ１１９の自動更新が行われるように設定しておく。
【００３７】
（ii）端末管理モジュール１２３
端末管理モジュール１２３は、利用者端末１００の情報を管理し、管理サーバ１０１上の端末管理ＳＲＶ１２７と連携して、端末管理を行うモジュールである。
【００３８】
管理サーバ１０１では、端末管理ＳＲＶ１２７が動作しており、利用者端末／仮想イメージ等の情報が格納されている仮想イメージ管理テーブル１３０を管理している。端末管理モジュール１２３は、この端末管理ＳＲＶ１２７と連携して、利用者端末の情報管理を管理サーバとネゴシエートする。ここで、ＳＲＶとは、サーバ上で常時動作するサービスプログラムを意味している。
【００３９】
（iii）差分モジュール１２４
差分モジュール１２４は、ＶＭＭ１１１と連携し、ゲストＯＳ１１３による仮想イメージ１１６への書込み差分を抽出して差分ファイル１１７を作成する。この差分ファイル１１７は、仮想イメージ１１６への更新書込みの書込みバイナリデータ、データ長、ファイルオフセットを記録したファイルである。この差分ファイル１１７をストレージサーバ１０３へアップロードし、管理サーバ１０１の仮想イメージ管理テーブルの差分ファイル名５０３に登録しておくことで、管理サーバ１０１が管理している仮想イメージ１１９に、ユーザが利用者端末１００上で更新書込みした差分ファイル１１７を書込むことが可能となる。
【００４０】
＜管理サーバ（管理計算機）＞
管理サーバ１０１は、ＣＰＵ（プロセッサ）、主記憶装置、二次記憶装置、ネットワークデバイス等を備える一般的なサーバである。管理サーバ１０１のＯＳ１１８では、仮想マシン管理ＳＲＶ１２５と、仮想イメージ管理ＳＲＶ１２６と、ジョブ管理ＳＲＶ１２８と、端末管理ＳＲＶ１２７と、スクリプト管理ＳＲＶ１２９が動作しており、仮想イメージ管理テーブル１３０が設けられている。
【００４１】
管理サーバ１０１は、複数の利用者端末１００、及び、複数の仮想マシンサーバ１０２を管理するコントローラとしての機能を備えている。なお、仮想マシンサーバ１０２上の管理ＯＳ１３２とゲストＯＳ１３３のモジュール構成は利用者端末１００上の管理ＯＳ１１２とゲストＯＳ１１３と同じである。
【００４２】
（i）仮想マシン管理ＳＲＶ１２５
仮想マシン管理ＳＲＶ１２５は、複数の仮想マシンサーバ１０２の管理ＯＳ１３２上の仮想マシン管理モジュール（図示せず）と連携して、複数の仮想マシンサーバ１０２上で動作する複数のゲストＯＳ１３３の管理を行う機能を備えたサービスである。
【００４３】
（ii）仮想イメージ管理ＳＲＶ１２６
仮想イメージ管理ＳＲＶ１２６は、利用者端末装置１０１上から、仮想イメージ１１６、または、差分ファイル１１７のアップロードが発生した場合、ストレージサーバ１０３へ保存を行った後、仮想イメージ管理テーブル１３０のエントリ情報更新を行う。逆に、差分ファイル１２０のダウンロード要請があった場合、ストレージサーバ１０３からデータを利用者端末にダウンロードさせる。
【００４４】
（iii）端末管理ＳＲＶ１２７
端末管理ＳＲＶ１２７は、利用者端末１００上の端末管理モジュール１２３と連携して、利用者端末１００の情報（図５の情報を含む）を管理する。管理者は初期設定としてこのサービスを経由して仮想イメージ管理テーブル１３０のマシンＩＤの登録とエントリ作成を行う。
【００４５】
（iv）スクリプト管理ＳＲＶ１２９
スクリプト管理ＳＲＶ１２９は、ゲストＯＳ１３３に動作させたい操作を、管理スクリプト１３４（ファイル）として仮想イメージ１１９に直接埋め込む機能を備えるサービスである。管理スクリプト１３４は、例えば、Ｗｉｎｄｏｗｓではスタートアップスクリプトとして知られるスクリプトファイルであり、このスクリプトに、自動更新を行うように記述しておくことで、次回起動時に自動的にＯＳ更新を行うことが可能となる。自動更新以外にも管理者が任意の動作をゲストＯＳに対して行わせることも可能である。
【００４６】
（v）ジョブ管理ＳＲＶ１２８
ジョブ管理ＳＲＶ１２８は、ストレージサーバ１０３に保存されている仮想イメージ（群）１１９のうち、仮想イメージ管理テーブル１３０の自動更新フラグが“ＴＲＵＥ”のエントリに登録されている仮想イメージ（群）１１９と差分ファイル（群）１２０を取得し、スクリプト管理ＳＲＶ１２９に自動更新のための管理スクリプト１３４の埋め込みを実行させる。その後、ジョブ管理ＳＲＶ１２８は、仮想マシン管理ＳＲＶ１２５に命令して、仮想マシンサーバ１０２上で仮想イメージ１１９及び差分ファイル１２０からゲストＯＳ１３３を起動させる。
【００４７】
（vi）仮想イメージ管理テーブル１３０
図５は、仮想イメージ管理テーブル１３０の構成例を示す図である。仮想イメージ管理テーブル１３０は、マシンＩＤ５０１と、仮想イメージ名５０２と、差分ファイル名５０３と、差分ファイルフラグ５０４と、仮想イメージフラグ５０５と、自動更新フラグ５０６と、を構成項目として含んでいる。
【００４８】
マシンＩＤ５０１は、複数の利用者端末１００を特定する識別情報である。仮想イメージ名５０２は、各利用者端末１００で使用されている仮想イメージ１１６を特定するための名称（識別情報）である。差分ファイル名５０３は、各利用者端末１００で生成された差分ファイル１１７を特定するための名称（識別情報）である。
【００４９】
差分ファイルフラグ５０４は、ストレージサーバ１０３上で該当する差分ファイルが更新されているか否かを示す情報である。フラグがＴＲＵＥとなっている場合には更新があり、ＦＡＬＳＥの場合には更新がなされていないことを示している。
【００５０】
仮想イメージフラグ５０５は、ストレージサーバ１０３上に仮想イメージが存在するかを示す情報である。仮想イメージ１１６がストレージサーバ１０３に一回でもアップロードされれば更新回数に関係なく、フラグはＴＲＵＥとなっている。従って、フラグがＦＡＬＳＥの場合には、仮想イメージ１１６がストレージサーバ１０３に全くアップロードされていないことを示している。当該フラグがＴＲＵＥとなった後は、仮想イメージ１１６をストレージサーバ１０３にアップロードする必要がなくなり、利用者端末１００とストレージサーバ１０３との間では、差分ファイル１１７の送受信のみ行われることになる。
【００５１】
自動更新フラグ５０６は、管理サーバ１０１が自動アップデートを実行するか否かを判断するフラグである。このフラグがＴＲＵＥとなっている場合、更新すべき差分ファイルがあることを示している。
【００５２】
＜仮想マシンサーバ＞
仮想マシンサーバ１０２上で起動したゲストＯＳ１３３は、起動時に管理スクリプト１３４が実行され、自動更新が実行される。この時、管理ＯＳ１３２上の差分モジュールとＶＭＭ１３１により、自動更新が実行された後の差分ファイル１２０が取得される。なお、この時、差分ファイル１２０は仮想イメージ１１９に適用される。ただし、差分ファイル１２０は、利用者端末１００に転送され、仮想イメージ１１６にも適用されるため破棄されない。この処理は、仮想イメージ管理テーブル１３０に登録されているエントリの仮想イメージの内、図５のテーブル自動更新フラグが“ＴＲＵＥ”となっているエントリ全てに対して実行される。
【００５３】
仮想マシンサーバ１０２は、ＣＰＵ、主記憶装置、二次記憶装置、ネットワークデバイス、入出力デバイス等を有するサーバであり、ＶＭＭ１３１と管理ＯＳ１３２と複数のゲストＯＳ１３３が動作する。仮想マシンサーバ１０２は、管理サーバ１０１のジョブ管理ＳＲＶ１２８と連携して、仮想イメージ１１９をマウントしてゲストＯＳ１３３を起動し、ゲストＯＳの更新アップデートを利用者端末１００の代わりに行うサーバである。
【００５４】
管理ＯＳ１３２は、利用者端末１００上の管理ＯＳ１１２と同じ機能を有する。なお、処理を実行するのは仮想マシンサーバ１０２上の管理ＯＳは、管理サーバ１０１の仮想イメージ管理ＳＲＶ１２６、仮想マシン管理ＳＲＶ１２５、端末管理ＳＲＶ１２７の指示により管理されている。これは、管理サーバ１０１上のサービスプログラムから、複数台の仮想マシンサーバ１０２を統合管理するためである。また、管理ＯＳ１３２上の差分モジュールは、ゲストＯＳからの書込みデータを、ストレージサーバ１０３上の差分ファイル１２０へ保存する。
【００５５】
＜ストレージサーバ＞
ストレージサーバ１０３は、利用者端末１００からアップロードされる仮想イメージ１１６と差分ファイル１１７を取得し、各利用端末１００で使用される仮想イメージ群１１９と差分ファイル群１２０として保存するためのサーバである。
【００５６】
仮想マシンサーバ１０２は、ストレージサーバ１０３に保存された仮想イメージ群１１９と差分ファイル群１２０から、ゲストＯＳ１３３を起動して仮想イメージの更新動作が実行される。
【００５７】
＜利用者端末の起動処理＞
図２は、利用者端末１００が起動したときの処理を説明するためのフローチャートである。なお、利用者端末１００には、管理者がＶＭＭ１１１、管理ＯＳ１１２、ゲストＯＳ１１３がインストールされ、管理サーバ１０１上の仮想イメージ管理テーブル１３０には予め利用者端末情報が登録されているものとする。この起動が初期段階のものである場合には、ストレージサーバ１０３上には、仮想イメージ１１９と差分ファイル１２０はまだ保存されていない状態である。
【００５８】
ユーザが利用者端末１００の電源を入れる（Ｓ２０１）と、管理ＯＳ１１２が起動される（Ｓ２０２）。
【００５９】
次に、管理ＯＳ１１２上の仮想イメージ管理モジュール１２２が、管理サーバ１０１の仮想イメージ管理ＳＲＶ１２６に“差分ファイルフラグ”５０４の問い合わせを行うと、仮想イメージ管理ＳＲＶ１２６が、仮想イメージ管理テーブル１３０を参照して結果を返す（Ｓ２０３）。なお、“差分ファイルフラグ”は、管理サーバ１０１により、自動更新が実行され、差分ファイル１２０が更新された場合に“ＴＲＵＥ”、更新されなかった場合は、“ＦＡＬＳＥ”となっている。
【００６０】
そして、仮想イメージ管理モジュール１２２は、受け取った問合せ結果に基づいて、ストレージサーバ１０３に差分ファイルが存在するか判定する（Ｓ２０４）。
【００６１】
問合せ結果が”ＴＲＵＥ”の場合（Ｓ２０４でＹｅｓの場合）、ゲストＯＳ１１３用の差分ファイル１２０がストレージサーバ１０３上に存在するので、仮想イメージ管理モジュール１２２は、仮想イメージ管理ＳＲＶ１２６を経由して、仮想イメージ管理テーブル１３０の差分ファイル名５０３を取得し（Ｓ２０５）、ストレージサーバ１０３から差分ファイル１２０をダウンロードする（Ｓ２０６）。
【００６２】
その後、ダウンロードした差分ファイル１２０を、仮想イメージ管理モジュール１２２が仮想イメージ１１６に適用する（Ｓ２０７）。
【００６３】
また、仮想イメージ管理モジュール１２２は、管理サーバ１０１の仮想イメージ管理ＳＲＶ１２６に、差分ファイル１２０の適用が完了したことを通知する。すると、仮想イメージ管理ＳＲＶ１２６は、仮想イメージ管理テーブル１３０の“差分ファイルフラグ”５０４を“ＦＡＬＳＥ”にする（Ｓ２０８）。
【００６４】
そして、仮想マシン管理モジュール１２１は、仮想イメージ１１６を仮想マシン１０４にマウントしてゲストＯＳ１１３を起動する（Ｓ２０９）。
【００６５】
一方、問合せ結果が“ＦＡＬＳＥ”の場合（Ｓ２０４でＮｏの場合）、利用者端末１００上の差分ファイル１１７はストレージサーバ１０３上の差分ファイル群１２０に含まれるものと同じ（仮想イメージの自動更新が行われなかったことを意味する）ため、仮想イメージ管理モジュール１２２が差分ファイル１１７を仮想イメージ１１６へ適用し（Ｓ２１０）、仮想マシン管理モジュール１２１がゲストＯＳを起動する（Ｓ２０９）。なお、差分ファイル１１７のストレージサーバ１０３へのアップロードが利用端末１００のシャットダウンの度に行われない場合（例：差分ファイルのアップロードは週一回実行）もある。この場合には、利用端末１００が有している差分ファイル１１７とストレージサーバ１０３の差分ファイル群１２０に含まれる対応する差分ファイルとは異なっている。
【００６６】
以上で、ユーザは、最新アップデートを実行した仮想イメージのゲストＯＳを利用することが可能となる。
【００６７】
＜利用端末シャットダウン時の処理＞
図３は、利用者端末のシャットダウンしたときの処理を説明するためのフローチャートである。
【００６８】
ユーザが、ゲストＯＳ１１３上でシャットダウンを実行すると、ゲストＯＳ１１３上のプロセス、ファイルクローズ処理を実行した後、ゲストＯＳ１１３がシャットダウンされる（Ｓ３０１）。
【００６９】
管理ＯＳ１１２は、ゲストＯＳ１１３のシャットダウンを検知すると、仮想イメージ管理モジュール１２２に、差分ファイル１１７をストレージサーバ１０３へアップロードして保存するように命令する（Ｓ３０２）。なお、上述のようにシャットダウンの度に差分ファイルのアップロードを実行しない場合には、管理ＯＳ１１２は、アップロードの予め決められたタイミングか否かについて判定し、そのタイミングであれば仮想イメージ管理モジュール１２２にアップロードを命令する。
【００７０】
仮想イメージ管理モジュール１２２は、差分ファイル１１７の転送が終わった後、管理サーバ１０１上の仮想イメージ管理ＳＲＶ１２６に問合せて、“仮想イメージフラグ”５０５を取得する（Ｓ３０３）。なお、この“仮想イメージフラグ”５０５が“ＴＲＵＥ”の場合は、ストレージサーバ１０３上に、既に仮想イメージ１１６が保存されていることを意味し、“ＦＡＬＳＥ”の場合は、まだ、仮想イメージがストレージサーバ１０３に保存されていないことを意味する。
【００７１】
“仮想イメージフラグ”５０５が“ＴＲＵＥ”の場合（Ｓ３０４でＹｅｓの場合）、仮想イメージ管理モジュール１２２は仮想イメージ１１６の転送を行わず、処理はＳ３０６に移行する。
【００７２】
一方、“仮想イメージフラグ”５０５が“ＦＡＬＳＥ”の場合（Ｓ３０４でＮｏの場合）、仮想イメージ管理モジュール１２２は、仮想イメージ１１６をストレージサーバ１０３に転送・保存する（Ｓ３０５）。
【００７３】
その後、仮想イメージ管理ＳＲＶ１２６は、仮想イメージ管理テーブルの“自動更新フラグ”５０６を“ＴＲＵＥ”にする（Ｓ３０６）。この“自動更新フラグ”５０６は、サーバサイドでの仮想イメージの自動アップデートを実行するか否かを判断するための情報である。
【００７４】
以上の操作が完了したら、ＣＰＵ１０６は、管理ＯＳを終了して、利用者端末の電源をＯＦＦにする（Ｓ３０７）。
【００７５】
＜仮想イメージ自動更新処理＞
図４は、仮想イメージの自動更新処理を説明するためのフローチャートである。当該処理については、予め定められたタイミングで定期的に実行される。
【００７６】
まず、管理サーバ１０１のジョブ管理ＳＲＶ１２８は、仮想イメージ管理テーブル１３０を検索してエントリ数（利用端末の台数）分の情報を取得する（Ｓ４０１）。Ｓ４０２からＳ４１５の処理は、このエントリ数分だけ繰り返されることになる。
【００７７】
ジョブ管理ＳＲＶ１２８は、処理対象の利用端末１００について、“自動更新フラグ”５０６がＴＲＵＥか否かについて判定する（Ｓ４０２）。“自動更新フラグ”５０６がＦＡＬＳＥであれば当該エントリについての処理は終了し、次のエントリに処理が移行する。“自動更新フラグ”５０６がＴＲＵＥであれば処理はＳ４０３に移行する。
【００７８】
そして、ジョブ管理ＳＲＶ１２８は、仮想イメージ管理テーブル１３０から、フラグが“ＴＲＵＥ”になっている”仮想イメージ名“５０２と”差分ファイル名“５０３を取得し、さらにストレージサーバ１０３の仮想イメージ１１９群及び差分ファイル群１２０から該当する仮想イメージと差分ファイルを取得して（Ｓ４０３）、管理サーバ１０１のＯＳ１１８の任意ドライブにマウントする（Ｓ４０４）。
【００７９】
また、ジョブ管理ＳＲＶ１２８は、マウントしたことをスクリプト管理ＳＲＶ１２９に通知すると、スクリプト管理ＳＲＶ１２９は、管理スクリプト１３４（ＯＳの自動更新用のスクリプト）を、仮想イメージ１１９内のスタートアップスクリプトに保存する（Ｓ４０５）。なお、この管理スクリプト１３４は、１度実行されると削除されるように記述されている。
【００８０】
管理スクリプト１３４が埋め込まれたら、ジョブ管理ＳＲＶ１２８は、仮想イメージ１１９を一度管理サーバ１０１のＯＳ１１８からアンマウントし（Ｓ４０６）、仮想マシンサーバ１０２上の任意の仮想マシンにマウントする（Ｓ４０７）。
【００８１】
その後、ジョブ管理ＳＲＶ１２８は、そのゲストＯＳ１３３を起動させるように仮想マシンサーバ１０２に指示する（Ｓ４０８）。
【００８２】
ゲストＯＳ１３３が起動すると、自動更新が１回実行される（Ｓ４０９）。この時、仮想マシンサーバ１０２上の管理ＯＳ１３２にインストールされている差分モジュール（図示せず）により、差分ファイル１２０が更新される（Ｓ４１０）。
【００８３】
自動更新が完了すると、管理ＯＳ１３２はゲストＯＳ１３３をシャットダウンするように仮想マシンサーバ１０２に指示し（Ｓ４１１）、仮想マシンサーバ１０２上の仮想マシンから仮想イメージをアンマウントする（Ｓ４１２）。
【００８４】
ここまで完了したら、管理サーバ１０１の仮想イメージ管理ＳＲＶ１２６は、このエントリの“自動更新フラグ”５０６を“ＦＡＬＳＥ”に設定し（Ｓ４１３）、“差分ファイルフラグ”５０４を“ＴＲＵＥ”に設定する（Ｓ４１４）。
【００８５】
最後に、仮想マシンサーバ１０２上の仮想イメージ管理モジュール（図示せず）は、仮想イメージに差分ファイルを適用し、それらを結合する（Ｓ４１５）。ただし、この時、差分ファイルは削除されず、差分ファイル群１２０に保存されたままである。これは、利用者端末１００が起動する際に、この差分ファイル群１２０に含まれる対応する差分ファイルをダウンロードし、利用者端末１００上の仮想イメージ１１６を更新するために利用されるためである。
【００８６】
他のエントリが残っていれば、処理はＳ４０１に移行し、ジョブ管理ＳＲＶ１２８は、他のエントリに対しても同じ操作を行う。
【００８７】
＜まとめ＞
本実施形態による計算機システム１０における処理についてまとめると次のようになる。
【００８８】
最初は、利用者端末１００には、ゲストＯＳ１１３は設定されておらず、例えば、各利用端末１００に同一の仮想イメージが配信、或いは各ユーザによってインストールされる。この時点では、仮想イメージはストレージシステムを含むサーバ側には存在しない。そして、各利用端末１００では、各ユーザによって仮想イメージに変更が施され、差分ファイル１１７が生成される。従って、仮想イメージ１１６に更新がなされればゲストＯＳ１１３は各利用端末１００において異なるものとなっている。
【００８９】
利用端末１００がシャットダウンされると（差分ファイルをアップロードするタイミングである場合）、差分ファイル１１６がストレージサーバ１０３にアップロードされる。初回は（仮想イメージがストレージサーバ１０３にない場合）、差分ファイル１１７だけでなく、仮想イメージ１１６もアップロードされる。ただし、仮想イメージ自体のアップロードは初回の1回のみであり、次回以降は差分ファイルのみのアップロードで足りる。これにより、通信負荷が減り、迅速な処理が期待できる。
【００９０】
一方、サーバ側（管理サーバ１０１、仮想マシンサーバ１０２、ストレージサーバ１０３側）では、差分ファイル１１７がアップロードされると、仮想マシンサーバ１０２において、仮想イメージの更新処理が所定のタイミングで実行され、更新された仮想イメージと差分ファイルがストレージサーバ１０３に保存される。当該更新された仮想イメージと利用者端末１００にある仮想イメージは、利用者端末１００において仮想イメージに該当する差分ファイルを反映することによって、同じ仮想イメージとなる。
【００９１】
即ち、本発明による計算機システムは、複数の利用者端末と、当該複数の利用者端末で使用されるゲストＯＳの仮想イメージを管理するサーバシステムと、を有している。サーバシステムは、複数の利用者端末のそれぞれのゲストＯＳを構成する、複数の仮想イメージ及び当該複数の仮想イメージに対応する複数の更新データを格納するストレージ装置と、仮想イメージの更新処理を実行し、更新された仮想イメージを生成する仮想マシン計算機と、仮想イメージの更新処理を管理する管理計算機と、を含んでいる。ここで、更新データは、現時点の仮想イメージと直近の仮想イメージとの差分データを含む差分ファイルである。
【００９２】
仮想マシン計算機は、ストレージ装置から取得した仮想イメージに、ストレージ装置から取得した仮想イメージに対応する、更新データを適用することにより、更新された仮想イメージを生成する。そして、ストレージ装置は、更新された仮想イメージと、当該仮想イメージに対応する更新データを格納する。管理計算機は、利用端末が起動されたときに、当該起動された利用端末に対応する更新データをストレージ装置から取得して、起動された利用端末に送信する。このようにすることにより、個々の利用端末では、ＯＳイメージの更新処理を実行することなく、独自のＯＳ環境を利用することができるようになる。
【００９３】
利用者端末が起動された場合、更新データ（差分ファイル）を受信し、利用端末の二次記憶装置に保持している仮想イメージに、受信した更新データを適用して更新されたゲストＯＳを構成する。そして、当該更新されたゲストＯＳに対してさらに変更があった場合には、新たな更新データとして二次記憶装置に保持する。例えば、利用端末がシャットダウンされた場合に、この更新データをサーバシステム側にアップロードする。このようにすることにより、差分ファイルのみのやり取りでゲストＯＳの更新が実行可能となるので、計算機システムのネットワークにおけるリソース使用量を削減でき、利用端末やサーバシステムにおける処理負荷の負荷を抑えることができるようになる。
【００９４】
また、管理計算機は、更新処理を実行すべき仮想イメージに、自動更新動作を実行するための管理スクリプトを埋め込み、当該管理スクリプトが埋め込まれた仮想イメージを仮想マシン計算機に受け渡す。仮想マシン計算機は、更新処理の対象となっているゲストＯＳを起動して自動的に更新処理を開始させ、管理スクリプトが埋め込まれた仮想イメージに、当該仮想イメージ対応する更新データを適用することにより更新処理を実行し、更新された仮想イメージを生成する。このようにすることにより、仮想イメージの自動更新を実現することが可能となる。
【００９５】
さらに、管理計算機は、複数の利用端末で用いられる全ての仮想イメージについて、更新データの有無に基づいて更新処理の要否を判断し、更新処理が必要な仮想イメージの全てについて更新処理を順次実行する。このようにすることにより、仮想イメージについて漏れなく自動更新処理を実行することができるようになる。
【００９６】
なお、本発明は、実施形態そのままに限定されるものではなく、実施段階では、その要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、実施形態に開示されている複数の構成要素の適宜な組み合わせにより、種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。さらに、異なる実施形態にわたる構成要素を適宜組み合わせてもよい。
【００９７】
また、実施形態で示された各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によりハードウェアで実現しても良い。また、上記各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによりソフトウェアで実現しても良い。各機能等を実現するプログラム、テーブル、ファイル等の情報は、メモリやハードディスク、ＳＳＤ（Solid State Drive）等の記録或いは記憶装置、またはＩＣカード、ＳＤカード、ＤＶＤ等の記録或いは記憶媒体に格納することができる。
【００９８】
さらに、上述の実施形態において、制御線や情報線は説明上必要と考えられるものを示しており、製品上必ずしも全ての制御線や情報線を示しているとは限らない。全ての構成が相互に接続されていても良い。
【符号の説明】
【００９９】
１０１…利用者端末、１０２…管理サーバ、１０３…仮想マシンサーバ、１０４…ストレージサーバ、１０５…ネットワーク、１０６…ＣＰＵ、１０７…ＲＡＭ、１０８…入出力装置、１０９…ネットワークデバイス、１１０…二次記憶装置、１１１…ＶＭＭ、１１２…管理ＯＳ、１１３…ゲストＯＳ、１１４…アプリケーション、１１５…ユーザデータ、１１６…仮想イメージ、１１７…差分ファイル、１１８…ＯＳ、１１９…仮想イメージ、１２０…差分ファイル、１２１…仮想マシン管理モジュール、１２２…仮想イメージ管理モジュール、１２３…端末管理モジュール、１２４…差分モジュール、１２５…仮想マシン管理ＳＲＶ、１２６…仮想イメージ管理ＳＲＶ、１２７…端末管理ＳＲＶ、１２８…ジョブ管理ＳＲＶ、１２９…スクリプト管理ＳＲＶ、１３０…仮想イメージ管理テーブル、１３１…ＶＭＭ、１３２…管理ＯＳ、１３３…ゲストＯＳ、１３４…管理スクリプト
【図１】
2012078893.tif 000003
【図２】
2012078893.tif 000004
【図３】
2012078893.tif 000005
【図４】
2012078893.tif 000006
【図５】
2012078893.tif 000007