説明

仮想マシン運用システム、仮想マシン運用方法およびプログラム

【課題】仮想マシンイメージの配付先からユーザデータのみを回収できるようにする。
【解決手段】サーバ装置100は、ユーザデータディスクイメージ領域と他のディスクイメージ領域とを区別可能に仮想マシンイメージを生成する仮想マシンイメージ生成手段102と、ユーザデータディスクイメージ領域におけるデータ回収領域を特定可能なディスクマップを生成するディスクマップ生成手段106と、仮想マシンイメージ生成手段102が生成した仮想マシンイメージとディスクマップ生成手段が生成したディスクマップ106とを配付する仮想マシンイメージ配付手段103とを備えている。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は仮想マシン運用システム、仮想マシン運用方法およびプログラムに関し、特に、安全な仮想マシンイメージの実行およびユーザデータの回収ができるサーバ装置、クライアント装置、仮想マシン運用システム、仮想マシン運用方法、仮想マシンイメージ配付プログラムおよび仮想マシン実行プログラムに関する。
【背景技術】
【0002】
ある情報処理装置において他のタイプ(例えば、オペレーティングシステム(OS)が異なる)情報処理装置を仮想的に動作可能にする仮想マシン技術がある。仮想マシン技術によれば、例えば、Windows(登録商標)の動作環境におけるウィンドウ内で、Linux(登録商標)を動作させることができる。仮想マシン技術によれば、あるOSが搭載されているパーソナルコンピュータで他のOSを動作させることができるので、他のOSの元で動作するアプリケーションプログラム(以下、アプリケーションという。)の開発等の効率が向上する。
【0003】
非特許文献1には、仮想マシン環境を作成できるソフトウェアであるVMWare ACE(VMWare社の商標)が記載されている。VMWare ACEでは、管理者が仮想マシンのディスク暗号化やログインの設定などの仮想マシンの設定をし、仮想デバイス設定ファイルを生成する。次に、ディスクイメージにOSやアプリケーションのインストールを行い、仮想デバイス設定ファイルとディスクイメージを組み合わせ、仮想マシンイメージを生成する。次に、その仮想マシンイメージをMSI(Microsoft Installer)形式のパッケージに変換する。最後に、そのパッケージを、CDやDVDによってクライアントマシン(以下、クライアントという。)に送付したり、通信ネットワーク経由でクライアントに送付したりする。ユーザは、送付されたパッケージを用いて仮想マシンイメージのインストールを行う。
【0004】
ここで、本明細書で使用する仮想マシン技術に関する用語を定義する。仮想マシンとは、物理的なマシン(実マシン)上でエミュレートされるサーバ、パーソナルコンピュータ(PC)または携帯情報端末である。仮想デバイスとは、エミュレートされたデバイスであり、例えば、仮想メモリ、仮想ディスク、仮想ネットワークカードである。仮想マシンが有する仮想デバイスの構成は、所定のフォーマットで記載された設定ファイル(仮想デバイス設定ファイル)に記録される。仮想ディスクの内容はディスクイメージと呼ばれるファイルに記録される。本明細書において、OSディスクイメージとは、OSがインストールされたディスクイメージである。
【0005】
プロビジョニングディスクイメージとは、アプリケーション(セキュリティミドルウェアを含む)がインストールされたディスクイメージである。ユーザデータディスクメージとは、ユーザが作成したデータを記録するディスクイメージである。
【0006】
仮想マシンイメージとは、仮想デバイス設定ファイルと、OSディスクイメージと、プロビジョニングディスクイメージと、ユーザデータディスクメージとの組み合わせである。
【0007】
非特許文献2には、パッケージをGUIで選択することにより、インストーラがディスクイメージに対し自動的にアプリケーションをインストールし、ディスクのイメージを簡単に生成できるシステムが開示されている。
【0008】
非特許文献3には、よく使われるアプリケーションを統計的に調査し、あらかじめよく使われるアプリケーションがインストールされたディスクイメージを自動的に生成しておくことによって、管理者が追加インストールしなければならないアプリケーション数を減らし、クラスタ構築の高速化を図るシステムが記載されている。
【0009】
仮想マシンイメージ配付に関して、特許文献1には、複数のディスクイメージをもつ計算機からクライアントにディスクイメージをコピーすることによって、ディスクイメージの配付を行うシステムが開示されている。特許文献2には、特許文献1に記載されたシステムを改良し、ディスクの空き領域にあらかじめ他のディスクイメージの一部をコピーしておくことによって、仮想マシンイメージの導入を高速化するシステムが開示されている。特許文献3には、クライアントに直接ディスクイメージをコピーせずに、ストレージエリアネットワーク(SAN)を利用し、ネットワークベースのファイルシステムを利用することによって、仮想マシンのマイグレーションを行う配付システムが開示されている。
【0010】
一般に、仮想マシンイメージの実行手段は、まず、仮想デバイス設定ファイルに記載されているデバイス構成に従って仮想デバイスを生成する。仮想デバイスのうち、仮想ディスクの内容はディスクイメージを基に生成される。その後、仮想マシン上のOSが仮想ディスクに入出力イベントを発行したとき、仮想マシンイメージの実行手段は、特定の二次記憶装置にあらかじめ配置されたディスクイメージに対して、入出力イベントに対応したデータ入出力を行う。例えば、仮想マシン上のOSが、仮想ディスクに対するあるデータの書き込みイベントを発生させると、仮想マシンイメージの実行手段は、データをイメージファイルに書き込む。
【先行技術文献】
【特許文献】
【0011】
【特許文献1】特開2002−278769号公報(段落0008−0015)
【特許文献2】特開2006−163885号公報(段落0043−0050)
【特許文献3】特開2006−244481号公報(段落0005)
【非特許文献】
【0012】
【非特許文献1】「VMWare ACE システム管理者向けマニュアル」,[online] ,[2007年2月14日検索],インターネット,<URL:http://www.vmware.com/support/pubs/ace_pubs.html>,p.17−30
【非特許文献2】高宮安仁,栄純明,山形育平,松岡聡 「更新やカスタマイズが可能なクラスタ設定のパッケージ化手法」,電子情報通信学会技術研究報告,2005年8月,VOL.105,No.225(CPSY2005 7−14),p.19‐24
【非特許文献3】西村豪生,中田秀基,松岡聡 「仮想計算機と仮想ネットワークを用いた仮想クラスタの構築」,情報処理学会 研究報告,2006年8月1日,Vol.2006 No.87(2006−HPC−103),p.73−78
【発明の概要】
【発明が解決しようとする課題】
【0013】
特許文献1〜3には、ディスクイメージ等の配付技術に関する開示がある。しかし、クライアントにおいて仮想マシンを構築するために、OSやアプリケーションがインストールされたディスクイメージを含む仮想マシンイメージをクライアントに配付する場合、OSやアプリケーションのアップデートなどが生じたときに、数Mバイト程度のディスクイメージの部分的な変更で済む場合でも、通常数G〜数十Gバイトに及ぶ仮想ディスクイメージ全体を再配付しなければならない。
【0014】
また、インターネットワームや悪意のユーザ対策として、OSや標準的なアプリケーションの書き換えを禁止したい場合があっても、従来の仮想マシン実行手段は、OSやアプリケーションが記録されているディスクイメージ領域に対する書き換えを禁止することができない。
【0015】
さらに、仮想マシンイメージの配付先であるクライアントにおいて仮想マシン上で作成されたユーザデータのみを回収したい場合でも、ディスクイメージ領域におけるOS領域、アプリケーション領域およびユーザデータ領域の3つの領域全てを回収しなければならない。
【0016】
そこで、本発明は、仮想マシンイメージの一部を変更する場合に仮想ディスクイメージ全体を再配付する必要がなく、ディスクイメージ領域におけるOS領域、アプリケーション領域およびユーザデータ領域の3つの領域のうち、変更したい部分的なディスクイメージを配付するだけで済ませることができる仮想マシン運用システム、仮想マシン運用方法およびプログラムを提供することを目的とする。また、配付したOSやアプリケーションを仮想マシン実行時に変更させないようにすることも本発明の目的である。さらに、仮想マシンイメージの配付先からユーザデータのみを回収できるようにすることも本発明の目的である。
【課題を解決するための手段】
【0017】
本発明による仮想マシン運用システムは、サーバ装置(例えば、サーバ100,100B,100C,100D)が、オペレーティングシステムディスクイメージ領域と、アプリケーションディスクイメージ領域と、ユーザデータディスクイメージ領域とを区別可能に仮想マシンイメージを生成する仮想マシンイメージ生成手段と、仮想マシンイメージ生成手段が生成した仮想マシンイメージを第2の装置(例えば、クライアント110,110C,110E)に配付する仮想マシンイメージ配付手段とを備え、第2の装置が、仮想マシンイメージ配付手段から配付された仮想マシンイメージを基に仮想マシンを実行する仮想マシンイメージ実行手段を備えたことを特徴とする。
【0018】
本発明による他の態様の仮想マシン運用システムは、サーバ装置が、データ書込禁止領域を含むディスクイメージ領域(例えば、OSディスクイメージ領域やプロビジョニングディスクイメージ領域すなわちアプリケーションディスクイメージ領域)とユーザデータディスクイメージ領域とを含む仮想マシンイメージを生成する仮想マシンイメージ生成手段と、データ書込禁止領域を特定可能なディスクマップを生成するディスクマップ生成手段と、仮想マシンイメージ生成手段が生成した仮想マシンイメージとディスクマップ生成手段が生成したディスクマップとを第2の装置に配付する仮想マシンイメージ配付手段とを備え、第2の装置が、仮想マシンイメージ配付手段から配付された仮想マシンイメージを基に仮想マシンを実行する仮想マシンイメージ実行手段と、ディスクマップでデータ書込禁止領域を特定し、仮想マシンイメージ実行手段による書き込みイベントを監視して、データ書込禁止領域へのデータの書き込みを禁止する入出力監視手段とを備えたことを特徴とする。
【0019】
本発明による別の態様の仮想マシン運用システムは、サーバ装置が、ユーザデータディスクイメージ領域と他のディスクイメージ領域(例えば、OSディスクイメージ領域やプロビジョニングディスクイメージ領域すなわちアプリケーションディスクイメージ領域)とを区別可能に仮想マシンイメージを生成する仮想マシンイメージ生成手段と、ユーザデータディスクイメージ領域におけるデータ回収領域を特定可能なディスクマップを生成するディスクマップ生成手段と、仮想マシンイメージ生成手段が生成した仮想マシンイメージとディスクマップ生成手段が生成したディスクマップとを第2の装置に配付する仮想マシンイメージ配付手段とを備え、第2の装置が、仮想マシンイメージ配付手段から配付された仮想マシンイメージを基に仮想マシンを実行する仮想マシンイメージ実行手段と、ディスクマップでデータ回収領域を特定し、データ回収領域のデータをサーバ装置に送信するユーザデータ送信手段とを備えたことを特徴とする。
【0020】
本発明によるさらに他の態様の仮想マシン運用システムは、サーバ装置が、第2の装置の使用者を認証するユーザ認証手段と、ユーザ認証手段が第2の装置の使用者の認証に成功した場合に、オペレーティングシステムディスクイメージ領域と、アプリケーションディスクイメージ領域と、ユーザデータディスクイメージ領域とを区別可能に仮想マシンイメージを前記第2の装置の使用者に応じて生成する仮想マシンイメージ生成手段と、仮想マシンイメージ生成手段が生成した仮想マシンイメージを前記第2の装置に配付する仮想マシンイメージ配付手段とを備え、第2の装置が、仮想マシンイメージ配付手段から配付された仮想マシンイメージを基に仮想マシンを実行する仮想マシンイメージ実行手段を備えたことを特徴とする。
【発明の効果】
【0021】
第1の効果は、OSやアプリケーションのアップデートを効率的に行えることである。その理由は、仮想マシンイメージ配付手段が、アップデートに必要な領域を特定可能なディスクイメージを配付するためである。
【0022】
第2の効果は、悪意のあるユーザやソフトウェアからOSやセキュリティミドルウェアを保護できることである。その理由は、データ書込禁止領域を特定可能なディスクマップ(書き込み禁止マップ)を生成するディスクマップ生成手段と、書き込み禁止マップに従う入出力監視手段によって、配付したOSやセキュリティミドルウェア等のデータ書込禁止領域への上書きを禁止するためである。
【0023】
第3の効果は、ユーザデータを効率的に回収できることである。その理由は、回収すべきデータのマップを生成するディスクマップ生成手段と、回収すべきデータのマップに従ってデータを送信するユーザデータ送信手段とによって、ユーザデータが記録されている領域だけを回収するからである。
【0024】
第4の効果は、ユーザデータを漏れなく回収できることである。その理由は、書き込み禁止マップを生成するディスクマップ生成手段と、書き込み禁止マップに従う入出力監視手段とによって、ユーザデータがOSやセキュリティミドルウェアが記録されている領域に混入することがないためである。
【図面の簡単な説明】
【0025】
【図1】第1の実施の形態における仮想マシン運用システムの構成を示すブロック図である。
【図2】仮想マシンイメージ実行手段と仮想マシンイメージ格納手段との関係を示す説明図である。
【図3】仮想マシンイメージ配付の動作を示すシーケンス図である。
【図4】ディスク構成例を示す説明図である。
【図5】ディスクマップの例を示す説明図である。
【図6】第1の実施の形態におけるディスクマップの生成の動作を示すフローチャートである。
【図7】仮想マシン実行時の書き込みの動作を示すフローチャートである。
【図8】仮想マシン実行時の書き込みの動作を示すシーケンス図である。
【図9】仮想マシン実行時の読み込みの動作を示すシーケンス図である。
【図10】ユーザデータ回収の動作を示すシーケンス図である。
【図11】ユーザデータをファイルとして取り出す動作を示すフローチャートである。
【図12】第2の実施の形態におけるサーバの構成を示すブロック図である。
【図13】第2の実施の形態におけるディスクマップ生成の動作を示すシーケンス図である。
【図14】第2の実施の形態におけるディスクマップ生成の動作を示すフローチャートである。
【図15】第2の実施の形態におけるディスクマップの例を示す説明図である。
【図16】第2の実施の形態における読み込みセクタの監視の動作を示すシーケンス図である。
【図17】第2の実施の形態における読み込みセクタの監視の動作を示すフローチャートである。
【図18】第3の実施の形態における情報処理システムの構成を示すブロック図である。
【図19】第3の実施の形態におけるディスクイメージ削除の動作を示すシーケンス図である。
【図20】第4の実施の形態におけるサーバの構成を示すブロック図である。
【図21】第5の実施の形態における仮想マシン運用システムの構成を示すブロック図である。
【図22】第6の実施の形態における仮想マシン運用システムの構成を示すブロック図である。
【図23】ログイン時の動作を示すシーケンス図である。
【図24】ディスク構成例を示す説明図である。
【図25】ディスク構成例を示す説明図である。
【図26】ディスク構成例を示す説明図である。
【図27】管理UIの保護するファイル・パーティション・ディスクの設定画面の例を示す説明図である。
【図28】管理UIの回収するデータを設定する画面の例を示す説明図である。
【図29】管理UIのディスクイメージ削除の指定画面の例を示す説明図である。
【図30】ディスクイメージ組み合わせマップの例を示す説明図である。
【発明を実施するための形態】
【0026】
以下、本発明を実施するための最良の形態を図面を参照して詳細に説明する。
【0027】
図1は、本発明の第1の実施の形態(実施の形態1)の仮想マシン運用システムの構成を示すブロック図である。図1に示す仮想マシン運用システムは、サーバ100と1台以上のクライアント110とを含む。なお、図1には1台のクライアント110のみが示されている。また、サーバ100とクライアント110は、インターネットなどの通信ネットワークを介してデータを送受信する。
【0028】
サーバ100は、仮想デバイス設定ファイルと、OSがインストールされているOSディスクイメージと、アプリケーション(セキュリティミドルウェアを含む)がインストールされているプロビジョニングディスクイメージと、ユーザデータを記録するユーザデータディスクイメージとを記録する仮想マシン部品格納手段101、仮想マシン部品格納手段101に保存されているデバイス設定ファイル、仮想デバイス設定ファイルと3つのディスクイメージ(OSディスクイメージ、プロビジョニングディスクイメージおよびユーザデータディスクイメージ)とを組み合わせ仮想マシンイメージを生成する仮想マシンイメージ生成手段102、仮想マシンイメージ生成手段102が生成した仮想マシンイメージを配付する仮想マシンイメージ配付手段103、ユーザデータを受信するユーザデータ受信手段104、ユーザデータを格納するユーザデータ格納手段105、ディスクマップを生成するディスクマップ生成手段106、および管理者からの指示の受け付けや管理者への報告を行う管理UI(ユーザインタフェース)109を有する。
【0029】
また、クライアント110は、仮想マシンイメージを実行する仮想マシンイメージ実行手段111、仮想マシン実行手段111の入出力を監視する入出力監視手段112、記憶領域を持ち仮想マシンイメージを格納する仮想マシンイメージ格納手段113、ユーザデータを送信するユーザデータ送信手段114、および仮想マシンイメージを受信する仮想マシンイメージ受信手段115を有する。
【0030】
各手段は、それぞれ以下のように動作する。
【0031】
仮想マシン部品格納手段101は、一つまたは複数の仮想マシンに関する、仮想デバイス設定ファイルや、OSディスクイメージや、プロビジョニングディスクイメージや、ユーザデータディスクイメージを記憶部に保存している。仮想マシン部品格納手段101は、仮想マシンイメージ生成手段102からの要求に応じて各ディスクイメージと仮想デバイス設定ファイルとを仮想マシンイメージ生成手段102に渡す。
【0032】
仮想マシンイメージ生成手段102は、仮想マシン部品格納手段101から3つのディスクイメージと、仮想デバイス設定ファイルとを受け取り、各ディスクイメージと仮想デバイス設定ファイルとを合わせて仮想マシンイメージを生成する。仮想マシンイメージ配付手段103は、クライアント110の仮想マシンイメージ受信手段115に、仮想マシンイメージ生成手段102が生成した仮想マシンを配付する。
【0033】
ユーザデータ受信手段104は、クライアントのユーザデータ送信手段114からユーザデータを受信し、署名をチェックする。署名は、ユーザデータがどのクライアントのものであるかを示す。ユーザデータ格納手段105は、ユーザデータ受信手段104からユーザデータを受け取り、ユーザデータを保存する。ディスクマップ生成手段106は、書き込みを禁止する領域のマップと回収を行う領域のマップとを生成する。
【0034】
管理UI109は、管理者からの指示を受け、各手段に命令の発行するとともに、各手段からの報告を受け取って表示部に表示する。
【0035】
仮想マシンイメージ実行手段111は、仮想マシンイメージをもとに仮想マシンを実行し、実行中にディスクイメージに対する入出力を行う。入出力監視手段112は、仮想マシンによるディスクイメージに対する入出力を監視し、書き込み禁止マップで定義されているセクタまたはディスクへの書き込みをブロックする。仮想マシンイメージ格納手段113は、仮想マシンイメージを仮想マシンイメージ受信手段115から受け取り、記憶領域に保存する。ユーザデータ送信手段114は、ユーザデータの署名を生成し、ユーザデータと署名とをユーザデータ受信手段104に出力する。仮想マシンイメージ受信手段115は、仮想マシンイメージ配付手段103から仮想マシンイメージを受信する。仮想マシンイメージ格納手段113は、仮想マシンイメージを保存する。
【0036】
図2は、クライアント110における仮想マシンイメージ実行手段111と仮想マシンイメージ格納手段113との関係を示す説明図である。図2に示すように、仮想マシンイメージ格納手段113には、サーバ100から受信したOSディスクイメージ(ディスクイメージA)211、セキュリティミドルウェア等を含むプロビジョニングディスクイメージ(ディスクイメージB)212、ユーザデータディスクイメージ(ディスクイメージC)213、および仮想デバイス設定ファイル214が保存される。
【0037】
仮想マシンイメージ実行手段111は、仮想マシンイメージ格納手段113に保存されている仮想デバイス設定ファイル214の内容に従って、仮想マシンの仮想CPU204や仮想メモリ205、および仮想ネットワークカード206等を生成する。また、ディスクイメージA,B,Cのデータから、仮想マシンのOSを含む仮想ディスク(仮想ディスクA)201のデータとセキュリティミドルウェア等を含む仮想ディスク(仮想ディスクB)202のデータとを作成し、ユーザデータが格納される仮想ディスク(仮想ディスクC)203を作成する。
【0038】
次に、本実施の形態の全体の動作を説明する。
【0039】
まず、仮想マシンイメージの生成および配付について図3のシーケンス図を参照して説明する。仮想マシンイメージ生成手段102が、生成対象の仮想マシンの仮想デバイス設定ファイルとディスクイメージとを仮想マシン部品格納手段101に要求する(ステップA1)。要求するディスクイメージは、OSディスクイメージと、プロビジョニングディスクイメージと、ユーザデータディスクイメージである。仮想マシン部品格納手段101は、要求された仮想デバイス設定ファイルとディスクイメージとを記憶部から読み込み(ステップA2)、仮想マシンイメージ生成手段102に渡す。仮想マシンイメージ生成手段102は、仮想デバイス設定ファイルと、OSディスクイメージと、プロビジョニングディスクイメージと、ユーザデータディスクイメージとを組み合わせて仮想マシンイメージを生成する(ステップA3)。
【0040】
例えば、図4に示すように、OSディスクイメージ(ディスクA)と、セキュリティミドルウェア等がインストールされているプロビジョニングディスクイメージ(ディスクB)と、パーティションのみ作成されている状態のユーザデータディスクイメージ(ディスクC)とを組み合わせる。ユーザデータディスクイメージとして、独立したディスクイメージ、またはOSやセキュリティミドルウェア等が記録されているディスクイメージの差分を記録する差分ディスクイメージを用いる。
【0041】
ディスクマップ生成手段106は、ディスクマップを生成する(ステップA4)。ディスクマップは、少なくとも、OSディスクイメージ領域およびプロビジョニングディスクイメージ領域における書き込みを禁止する領域を指定する書き込み禁止の項目と、ユーザデータディスクイメージ領域における回収する領域を指定する回収の項目とを含む。ディスクマップの例を図5に示す。図5に示す例では、書き込み禁止の項目において、ディスクAのセクタ12345〜13000と、ディスクBの全ての領域とが指定されている。また、回収の項目では、ディスクCの全ての領域が指定されている。
【0042】
次に、ディスクマップ生成手段106の動作を、図6のフローチャートを参照して説明する。ディスクマップ生成手段106は、仮想マシンイメージ中のディスクイメージを解釈し、パーティションやファイルの情報を得る(ステップD1)。ファイルやパーティションの情報は管理UI109によって表示され、管理者が保護したいディスクやパーティションやファイルを指定する(ステップD2)。ディスクマップ生成手段106は、指定されたパーティションやファイルに対応するセクタをディスクマップの書き込み禁止の項目に追加する(ステップD3)。一つの仮想ディスク全てを書き込み禁止にする場合は、セクタではなく、ディスクを指定してもよい。また、マップの回収の項目に、ユーザデータ回収時に回収するディスクまたはパーティションを指定する。
【0043】
ディスクマップが生成されると、仮想マシンイメージ配付手段103が、仮想マシンイメージとディスクマップとをクライアント110に送信する(ステップA5)。クライアント110において、仮想マシンイメージ受信手段115が、仮想マシンイメージとディスクマップとを受信する(ステップA6)。そして、受信した仮想マシンイメージとディスクマップとを仮想マシンイメージ格納手段113に出力する。仮想マシンイメージ格納手段113は、仮想マシンイメージとディスクマップとを保存する(ステップA7)。
【0044】
次に、仮想マシン実行について説明する。まず、図7のフローチャートを参照して、仮想マシン内でディスクに対する読み込みイベントおよび書き込みイベントが発生したときのクライアント110の動作を説明する。
【0045】
仮想マシンイメージ実行手段111が仮想マシンイメージから仮想マシンを生成する(ステップB1)。ディスクへの書き込みイベントが発生した場合に、入出力監視手段112は、ディスクマップで書き込みが禁止されているか否かのチェックを行う(ステップB2,B3)。書き込みが禁止されている場合には、入出力監視手段112が書き込みをブロックする(ステップB4)。書き込みが禁止されていない場合には、仮想マシンイメージ実行手段111が仮想ディスクへの書き込みイベントをディスクイメージへの書き込みイベントに変換する。仮想ディスクへの書き込みイベントは、例えば、仮想ディスクに対するSCSIコマンドを含むイベントであり、ディスクイメージへの書き込みは、例えば、実ディスク上にあるディスクイメージに対する書き込み命令を含むイベントである。最後に、仮想マシンイメージ実行手段111は、仮想マシンイメージ格納手段113内の適切な仮想マシンイメージへの書き込みを実行する(ステップB6)。
【0046】
書き込みの動作を明確に説明するため、図8を参照して補足説明を行う。図8は、上述した書き込みイベントにおいて、書き込みがブロックされなかったときの仮想マシンイメージ実行手段111等の動作を示すシーケンス図である。仮想マシンイメージ実行手段111が実行している仮想マシンにおいて仮想ディスクに対する書き込みイベントが発生したときに(ステップZ1)、仮想マシンイメージ実行手段111から入出力監視手段112に渡されるイベントは、仮想ディスクに対する書き込みイベントである。書き込みイベントについて入出力監視手段112が書き込みが禁止されているか否かチェックする(ステップZ2)。図5に示された例では、OSの一部およびセキュリティミドルウェアが記録されている領域に、ユーザデータが書き込まれることがないようにチェックされる。チェックにパスした仮想ディスクへの書き込みイベントは、仮想マシンイメージ実行手段111によってディスクイメージへの書き込みイベントに変換され(ステップZ3)、仮想マシンイメージ格納手段113に渡される。書き込みイベントの変換は、例えば、SCSIコマンド中の仮想ディスクのセクタと物理ディスク上にあるディスクイメージ中の参照テーブルとを比較することによって行われる。仮想マシンイメージ格納手段113は、保存されているディスクイメージを書き換える(ステップZ4)。
【0047】
仮想マシン内でディスクに対する読み込みイベントが発生したときの動作を、図9のシーケンス図を参照して説明する。仮想マシンイメージ実行手段111において読み込みイベントが発生したときに(ステップY1)、仮想マシンイメージ実行手段111が仮想ディスクに対する読み込みイベントをディスクイメージに対する読み込みイベントに変換する。変換の動作については、書き込みの動作と同様である。仮想マシンイメージ格納手段113は、読み込みイベントに従ってディスクイメージの指定領域を読み込む(ステップY3)。読み込まれたデータは、仮想マシンイメージ実行手段111に渡される。すなわち、仮想マシンにデータが返される。
【0048】
次に、ユーザデータ回収について図10のシーケンス図を参照して説明する。仮想マシンイメージ格納手段113は、ディスクマップを読み込む(ステップC1)。読み込まれたディスクマップは、ユーザデータ送信手段114に渡される。ユーザデータ送信手段114は、ディスクマップの回収の項目を読み(ステップC2)、該当する領域を仮想マシンイメージ格納手段113に要求する(ステップC3)。仮想マシンイメージ格納手段113は、ディスクイメージ内の指定された領域を読み込む(ステップC4)。仮想マシンイメージ格納手段113は、読み込んだデータをユーザデータ送信手段114に出力する。ユーザデータ送信手段114は、ユーザデータに対して、クライアント110のユーザデータであることを示す署名を生成する(ステップC5)。そして、ユーザデータ送信手段114は、ユーザデータと署名とをサーバ100に送信する(ステップC6)。サーバ100において、ユーザデータ受信手段104が、ユーザデータと署名とを受信する(ステップC7)。ユーザデータ受信手段104は、署名の妥当性のチェックを行う(ステップC8)。ユーザデータ受信手段104は、署名が妥当であると判定すると、受信したデータをユーザデータ格納手段105に渡す。ユーザデータ格納手段105は、受け取ったデータを記憶部に保存する(ステップC9)。
【0049】
ステップC8においてユーザデータ受信手段104が署名が妥当でないと判断した場合には、管理UI109が、ユーザデータの破棄、署名を無視して保存などの選択肢を管理者に提示する。
【0050】
本実施の形態では、以下のような効果を得ることができる。すなわち、OSやセキュリティミドルウェアはディスクマップの書き込み禁止項目に記録され、入出力監視手段112によって、OSやセキュリティミドルウェアが記録されている領域にデータが上書きされないように構成されているので、OSやセキュリティミドルウェアを保護できる。
【0051】
また、本実施の形態では、OSやセキュリティミドルウェアが記録される領域に、ユーザデータが書き込まれないように構成されているので、ユーザデータが記録されている領域のみを回収すれば、全てのユーザデータが回収できる。さらに、本実施の形態では、ユーザデータのみを回収するように構成されているので、サーバ100とクライアント110と間のデータの転送量が少ない。
【0052】
なお、本実施の形態では、ディスクマップ生成を生成するための方法として、ファイルやパーティションを管理者が管理UI109によって指定する方法を採用したが、ディスクマップ生成手段106に組み込まれたルールセットによって、自動的に指定を行ってディスクマップを生成してもよい。ルールセットは、例えば、"UNIX(登録商標)系のOSであれば、/boot と/binのディスクを書き込み禁止にする。"、"UNIX(登録商標)系のOSであれば、/home を含むパーティションを回収を行う領域に指定する"などである。
【0053】
また、本実施の形態では、入出力監視手段112が、書き込み禁止セクタへの書き込みをブロックする動作を行ったが、書き込みのブロックに加え、書き込みをブロックしたという情報を管理UI109に伝え、管理UI109がその情報を表示してもよい。
【0054】
また、本実施の形態における仮想マシンイメージ配付手段103および仮想マシン受信手段115の動作として、仮想マシンイメージの送受信の動作を示したが、仮想マシンイメージの配付後に、仮想マシンイメージ配付手段103は、管理UI109の指示に応じて、または仮想マシンイメージ受信手段115からの要求に応じて、ディスクイメージの再配付、または追加ディスクイメージの配付を行ってもよい。このような動作によって、管理者はパッチの配付や設定の更新を行うことができる。配付するディスクイメージは独立したディスクイメージでもよいし、配付済みのディスクイメージの差分ディスクイメージでもよい。
【0055】
本実施の形態におけるユーザデータ格納手段105の動作として、ユーザデータをそのまま保存する動作を説明したが、ファイル取出手段を設け、ファイル取出手段がユーザデータからファイルを取り出してもよい。図11は、ファイル取出手段がユーザデータからファイルを取り出す動作を示すフローチャートである。ファイル取出手段は、ユーザデータ受信手段104がクライアント110から受信したユーザデータが完全なパーティションを含み、ファイルシステムとして解釈可能であるか否かチェックする(ステップG1)。ステップG1の処理で完全なパーティションを含むか否かチェックする理由は、差分ディスクを用いていた場合には、差分しか記録されていないため、完全なパーティションを含むとは限らないからである。パーティションが完全ではなく、その一部である場合には、クライアントに配付した仮想マシンイメージに含まれるディスクイメージを基に不完全な部分を補う(ステップG2)。その後、ファイル取出手段は、ファイルシステムを解釈する(ステップG3)。そして、解釈したファイルシステムからファイル一覧を生成し、管理者が管理UI109で回収するファイルを指定する(ステップG4)。ファイル取出手段は、ディスクイメージから指定されたファイルを取り出す(ステップG5)。
【0056】
また、本実施の形態では、仮想マシンイメージ生成手段102が、ユーザデータディスクイメージとして、独立したディスクイメージまたは差分ディスクイメージを用いる場合を例にした。また、ディスクマップ生成手段106のマップの回収の項目に記載される内容として、ユーザのデータが書き込まれるディスクを例にした(図5参照)。しかし、仮想マシンイメージ生成手段102がOSやセキュリティミドルウェアとユーザデータが記録されるディスクを一つにし、パーティションでその境界を区切り、ディスクマップ生成手段106においてマップの回収の項目でユーザのデータが書き込まれるパーティションのセクタを指定してもよい。ディスクマップの回収の項目にパーティションのセクタを指定した場合には、ユーザデータ送信手段114は、ディスクからそのパーティションのセクタを抜き出して、ユーザデータ受信手段104に送信する。
【0057】
実施の形態2.
次に、本発明の第2の実施の形態(実施の形態2)を図面を参照して説明する。図12は、第2の実施の形態におけるサーバ100Bの構成を示すブロック図である。図12に示すように、サーバ100Bは、仮想マシンイメージテスト手段107を備えている点で、第1の実施の形態におけるサーバ100とは異なっている。なお、第1の実施の形態における構成要素と同じ構成要素については、同一の符号を付し、詳細な説明を省略する。また、本実施の形態におけるクライアントは、第1の実施の形態におけるクライアント110と同じであるため、説明を省略する。
【0058】
仮想マシンイメージテスト手段107は、仮想マシンイメージ生成手段102から仮想マシンイメージを受け取り、仮想マシンを実行する。すなわち、OSとセキュリティミドルウェアとを実行する。仮想マシンイメージテスト手段107は、ユーザデータ格納手段105から呼び出され、仮想マシンを実行する。仮想マシンテスト手段107は、仮想マシン実行時に読み書きされたセクタ情報をディスクマップ生成手段106に渡す。
【0059】
次に、本実施の形態の動作を説明する。図13および図14は、第2の実施の形態における書き込み禁止の項目に関するディスクマップ生成の動作を示すシーケンス図およびフローチャートである。書き込み禁止の項目に関するディスクマップの生成以外の動作については、第1の実施の形態と同じであるため、説明を省略する。
【0060】
図13を参照して本実施の形態の動作の概要を説明する。ディスクマップ生成手段106は、仮想マシンイメージテスト手段107を呼び出す(ステップX1)。仮想マシンイメージテスト手段107は、仮想マシンイメージ生成手段102から仮想マシンイメージを読み込み、仮想マシンを実行する(ステップX2)。仮想マシンの入出力の情報は、ディスクマップ生成手段106に渡される。ディスクマップ生成手段106は、ディスクマップの生成を行う(ステップX3)。また、仮想マシンイメージテスト手段107は、仮想ディスクに対するイベントをディスクイメージに対するイベントに変換する(ステップX4)。また、仮想マシンイメージ生成手段102がディスクイメージに対して読み書きを行う(ステップX5)。イベントが読み込みであった場合には、読み込んだデータは仮想マシンイメージテスト手段107に渡される。すなわち、仮想マシンに読み込んだデータが仮想マシンイメージテスト手段107に渡る(ステップX6)。
【0061】
図14を参照して、図13に示されたディスクマップ生成処理(ステップX3)の動作を詳細に説明する。最初に、ディスクマップ生成手段106が、仮想マシンテスト手段107から読み書きのイベントを受け取る(ステップE1)。ディスクマップ生成手段106は、イベントが読み込みイベントであるか書き込みイベントであるか判断する(ステップE2)。読み込みイベントであるときには、読み込み対象のセクタをディスクマップの書き込み禁止の項目に記録する(ステップE4)。書き込みイベントであるときは、一時的に書き込み対象のセクタを記録しておく(ステップE3)。ステップE1〜E5までの動作が、OSが起動完了するまで続けられる。OSによって書き込みが行われるセクタを書き込み禁止にした場合、OSが正常に動作しなくなるため、一時的に記録しておいた書き込みセクタを参照し、書き込みが行われたセクタをディスクマップの書き込み禁止の項目から削除する(ステップE6)。以上のようにして、OSおよびセキュリティミドルウェアの実行中にOSおよびセキュリティミドルウェアがデータを読み出す領域が書き込み禁止の対象に設定される。また、OSおよびセキュリティミドルウェアの実行中にOSおよびセキュリティミドルウェアがデータを書き込む領域は書き込み禁止の対象から除外される。
【0062】
なお、第1の実施の形態において、ユーザデータ格納手段105の動作として、ディスクのパーティションのファイルシステムを解釈し、ユーザデータをファイルとして取り出す動作を説明したが、本実施の形態の構成では、ユーザデータ格納手段105が仮想マシンイメージテスト手段107を呼び出し、クライアント110に配付した仮想マシンイメージとユーザから回収したユーザデータディスクイメージとを組み合わせてクライアントの環境を再現し、ファイルという形でユーザデータを取り出してもよい。
【0063】
また、本実施の形態におけるディスクマップ生成手段106として、書き込み禁止のセクタを示すマップを生成する様態を示したが、ディスクマップに、書き込み禁止の項目に加えて、ディスクマップの読み込み必須の項目に、必ず読み込まれなければならないセクタを指定し、クライアント110において、入出力監視手段112が、このセクタが読み込まれているか監視してもよい。図15にディスクマップの読み込み必須の項目の例を示す。この例では、ディスクAのセクタ1〜1000が、必ず読み込まれなければならないセクタであると指定されている。書き込み禁止の項目と回収の項目については、図5と同様である。このような構成によれば、例えば、必ず実行されるべきブートシーケンスをバイパスしていないことを確かめることができる。また、クライアント110においてOS等が存在すべきセクタにOS等が存在しないこと、すなわちOS等の改竄がなされた可能性があることを検出できる。
【0064】
マップの読み込み必須の項目の生成は、例えば、図13に示すディスクマップ生成処理(ステップX3)において、読み込まれたセクタをディスクマップに記録することによって実現される。すなわち、図14のステップE3とE6を取り除き、ステップE4を、読み込みセクタをディスクマップの読み込み必須の項目に追加する動作に変えれば、マップの読み込み必須の項目の生成処理になる。
【0065】
図16のシーケンス図を参照してクライアント110の動作の概要を説明する。本実施の形態では、クライアント110において、第1の実施の形態の動作(図9参照)に加えて、読み込みイベントの監視を行う読み込みイベントチェック(ステップW1)が実行される。第1の実施の形態では、入出力監視手段112は、読み込みイベントを監視していなかったが、本実施の形態では、入出力監視手段112は、ディスクマップの読み込み必須の項目で指定したセクタが読み込まれていることを確認するために読み込みイベントも監視する。ステップW1以外の処理は、図9に示されたステップと同様である。
【0066】
図17のフローチャートを参照して読み込みイベントチェックの動作(ステップW2)を詳細に説明する。入出力監視手段112は、読み込みイベントを仮想マシンイメージ実行手段111から受け取る(ステップH1)。次に、入出力監視手段112は、読み込まれたセクタを記憶部に記録する(ステップH2)。次いで、OS起動完了かどうか確認し(ステップH3)、完了していない場合は、ステップH1に戻る。ステップH3からステップH1へ戻った場合は、次の読み込みイベントを受信するまで、ステップH1で待機する。
【0067】
OSの起動が完了したときに、入出力監視手段112は、ステップH2で記録されたセクタと、マップの読み込み必須の項目で示されているセクタとを照合する(ステップH4)。照合の結果、読み込まれていないセクタがあると判定した場合には、入出力監視手段112は、例えばブートシーケンスにおいてバイパスが発生したと見なし、仮想マシンを停止する(ステップH5)。全て読み込まれていた場合は、読み込みイベントチェック(ステップW2)を終了する。
【0068】
本実施の形態では、以下のような効果を得ることができる。すなわち、第1の実施の形態では、ファイルやパーティションを管理者が管理UI109によって指定することによってディスクマップが生成されたが、本実施の形態では、仮想マシンイメージテスト手段107によってOSとセキュリティミドルウェアとが実行され、仮想マシンイメージテスト手段107の実行状態にもとづいてディスクマップ生成手段106によってディスクマップが生成される。よって、OSに詳しい管理者やルールセット作成者が存在しなくても、書き込み禁止項目に関するディスクマップを生成することができる。
【0069】
実施の形態3.
次に、本発明の第3の実施の形態(実施の形態3)を図面を参照して説明する。図18は、第3の実施の形態のサーバ100Cおよびクライアント110Cの構成を示すブロック図である。図18に示すように、サーバ100Cが削除指示手段108を備え、クライアント110Cがイメージ削除手段116を備えている点で、第1の実施の形態におけるサーバ100とは異なっている。なお、第1の実施の形態と同じ構成要素については、同一の符号を付し、詳細な説明を省略する。また、図12に示された第2の実施の形態におけるサーバ100Bに削除指示手段108を設け、そのようなサーバとクライアント110Cとが共動する仮想マシン運用システムとしてもよい。
【0070】
図19は、第3の実施の形態における仮想マシンイメージ削除の動作を示すシーケンス図である。仮想マシンイメージ削除以外の動作については、第1の実施の形態と同じである。
【0071】
管理者が管理UI109を操作し、仮想マシンイメージの削除を指示する(ステップF1)。削除の対象として、仮想マシンイメージに含まれる複数のディスクイメージ全てを指定してもよいし、特定のディスクイメージ、例えばユーザデータディスクイメージのみを指定してもよい。仮想マシンイメージの削除が指示されると、削除指示手段108は、削除対象を示すメッセージをクライアント110Cに送信する(ステップF2)。クライアント110Cにおいて、イメージ削除手段116は、メッセージに応じて、削除対象の領域のデータを選択して削除する(ステップF3)。削除が完了すると、イメージ削除手段116は、サーバ100Cの削除指示手段108に削除結果のメッセージを送信する(ステップF4)。このメッセージには、削除失敗または削除成功の情報が含まれている。削除指示手段108は、管理UI109に削除結果を渡す(ステップF5)。管理UI109は結果の表示を行う(ステップF6)。なお、ステップF7の処理において、削除指示手段108は、削除のイベントが記録されたログを生成してもよい。
【0072】
本実施の形態では、不要な仮想マシンイメージがクライアント110Cから削除されるので、物理ディスクを効率的に使用することができる。また、機密情報が記録されているユーザデータディスクイメージの削除を管理者が確認できるので、クライアント110Cが紛失された場合でも、情報漏洩事故ではないことを保証することができる。
【0073】
次に、本発明の第4の実施の形態を図面を参照して説明する。図20は、第4の実施の形態におけるサーバ100Dを示すブロック図である。図20に示すように、サーバ100Dは、仮想マシン部品生成手段1010を備えている点で、第1の実施の形態におけるサーバ100とは異なっている。第1の実施の形態と同様の構成要素については、同一の符号を付し、詳細な説明を省略する。なお、クライアントは、第1の実施の形態におけるクライアント110と同じものである。また、図12に示された第2の実施の形態におけるサーバ100Bや図18に示された第3の実施の形態におけるサーバ100Cに仮想マシン部品生成手段1010を設けてもよい。
【0074】
本実施の形態では、適当な仮想マシンイメージが仮想マシン部品格納手段101に存在しない場合には、管理者は、仮想マシン部品生成手段1010を用いてOSディスクイメージやプロビジョニングディスクイメージやユーザデータディスクイメージ生成する。
【0075】
次に、本実施の形態の動作を説明する。OSディスクイメージを生成する場合には、まず、仮想マシン部品生成手段1010は、管理者の操作に応じて、仮想デバイスの設定が書かれている仮想デバイス設定ファイルを生成する。次に、仮想マシン部品生成手段1010が、仮想デバイス設定ファイルを基に仮想マシンを生成し実行する。最後に、OSインストールCD−ROMなどを用いてOSをインストールする。
【0076】
プロビジョニングディスクイメージを生成する場合には、仮想マシン部品生成手段1010が、上記のように生成されたOSディスクイメージと仮想デバイス設定ファイルとを読み込み、仮想マシンを実行する。次に、仮想マシン上のOSを操作し、通信ネットワークや記憶媒体経由でセキュリティミドルウェアをインストールする。
【0077】
ユーザデータディスクイメージを作成する場合は、空のパーティションを作成し、フォーマッティングを行えばよい。
【0078】
本実施の形態では、仮想マシン部品格納手段101に、管理者の望むOSディスクイメージや、プロビジョニングディスクイメージや、ユーザデータディスクイメージが存在していなくても、新たにディスクイメージを生成することによって、仮想マシンイメージ生成手段102において管理者の望む仮想マシンイメージを生成できる。
【0079】
なお、プロビジョニングディスクイメージ生成の動作では、OSディスクイメージを読み込み、新たなプロビジョニングディスクイメージを生成したが、既に生成されているプロビジョニングディスクイメージをコピーし、そのコピーにセキュリティミドルウェアをインストールして、新たなプロビジョニングディスクイメージを生成してもよい。そのように動作する場合には、既に生成されていたプロビジョニングディスクイメージにインストールされていないセキュリティミドルウェアのみインストールすればよい。
【0080】
次に、本発明の第5の実施の形態を図面を参照して説明する。図21は、第5の実施の形態の仮想マシン運用システムを示すブロック図である。図21に示すように、本実施の形態では、仮想マシン実行サーバ120が、入出力監視手段112、仮想マシンイメージ実行手段111、仮想マシンイメージ格納手段113、ユーザデータ送信手段114、仮想マシンイメージ受信手段115を備えている点と、クライアント110Eが、仮想マシン遠隔操作手段117を備えている点で、第1の実施の形態とは異なっている。なお、入出力監視手段112、仮想マシンイメージ実行手段111、仮想マシンイメージ格納手段113、ユーザデータ送信手段114および仮想マシンイメージ受信手段115の構成は、第1の実施の形態においてクライアント110が有していたそれらの構成と同じである。また、サーバ100に代えて、図12に示された第2の実施の形態におけるサーバ100B、図18に示された第3の実施の形態におけるサーバ100C、または図20に示された第4の実施の形態におけるサーバ100を用いてもよい。
【0081】
サーバ100の構成は、第1の実施の形態における構成と同様である。クライアント110Eにおいて、仮想マシン遠隔操作手段117は、仮想マシンの画面を表示するためのディスプレイ(図示せず)と、ユーザからの入力を受け付ける入力機器(図示せず)とに接続されている。また、仮想マシン実行サーバ120とクライアント110Eは、インターネットなどの通信ネットワークを介してデータを送受信する。
【0082】
本実施の形態では、仮想マシンは、仮想マシン実行サーバ120内の仮想マシンイメージ実行手段111で実行される。仮想マシン遠隔操作手段117は、クライアント110E内で動作し、仮想マシンイメージ実行手段111と通信を行う。仮想マシンの画面は、仮想マシンイメージ実行手段111からクライアント110Eの仮想マシン遠隔操作手段117に転送され、クライアント110Eのディスプレイに表示される。クライアント110Eの入力機器による入力は、仮想マシン遠隔操作手段117から仮想マシンイメージ実行手段111に転送される。
【0083】
本実施の形態では、第1〜第4の実施の形態の場合と同様に、仮想マシンイメージ生成手段102が仮想マシンイメージの生成を行い、ディスクマップ生成手段102がディスクマップの生成を行う。仮想マシンイメージの配付についても、仮想マシンイメージ受信手段115と仮想マシンイメージ格納手段113の動作する場所が、クライアント110から仮想マシン実行サーバ120へ移るだけであり、第1〜第4の実施の形態と同様であるため、説明を省略する。ユーザデータの回収についても、第1〜第4の実施の形態と同様であるため、説明を省略する。
【0084】
次に、仮想マシンの実行について説明する。第1〜第4の実施の形態と比較すると、入出力監視手段112と仮想マシンイメージ格納手段113とが動作する場所が、クライアント110,110Cから仮想マシン実行サーバ120に移るだけであり、それらの動作は第1〜第4の実施の形態における動作と同じである。
【0085】
本実施の形態では、仮想マシンイメージ実行手段111は、第1〜第4の実施の形態における動作に加えて、仮想マシン遠隔操作手段117との通信を行う。すなわち、仮想マシンイメージ実行手段111で実行されている仮想マシンの画面が仮想マシン遠隔操作手段117に転送され、クライアント110Eのディスプレイに表示される。また、クライアント110Eの入力機器による入力は、仮想マシン遠隔操作手段117を通じて、仮想マシンイメージ実行手段111に転送される。ユーザは、仮想マシン実行サーバ120内の仮想マシンイメージ実行手段111で実行されている仮想マシンを、クライアント110Eの入力機器を操作することによって遠隔操作することができる。
【0086】
本実施の形態では、仮想マシン実行サーバ120内で仮想マシンを実行し、クライアント110Eに画面のみを転送するというシンクライアントシステムにおいて、仮想マシン実行サーバ120内で動作する仮想マシンのOSやセキュリティミドルウェアを保護することができるという効果がある。
【0087】
なお、本実施の形態では、サーバ100と仮想マシン実行サーバ120とを分けた構成を示したが、サーバ100と仮想マシン実行サーバ120とを分割せず、それらを一つのサーバで実現してもよい。
【0088】
実施の形態6.
次に、本発明の第6の実施の形態を図面を参照して説明する。図23は、第6の実施の形態の仮想マシン運用システムを示すブロック図である。図23に示すように、本実施の形態では、サーバ100Gが、ユーザ認証手段1011とユーザ管理手段1012とを備え、クライアント110Fが、ユーザログイン手段118を備えている点で、第1の実施の形態とは異なっている。
【0089】
なお、サーバ100Fに代えて、図12に示された第2の実施の形態におけるサーバ100B、図18に示された第3の実施の形態におけるサーバ100C、または図20に示された第4の実施の形態におけるサーバ100Dにユーザ認証手段1011とユーザ管理手段1012とを設けてもよい。また、第3の実施の形態におけるクライアント110Cに、ユーザログイン手段118を設けてもよい。
【0090】
ユーザログイン手段118は、ユーザから、ユーザを認証するための認証情報を受け取り、サーバ100Fのユーザ認証手段に送信する。認証情報とは、ユーザIDとユーザだけが持つ秘密情報である。ユーザ認証手段1011は、ユーザログイン手段118との通信と、ユーザ管理手段1012への認証情報の正当性の問い合わせと、仮想マシンイメージ生成手段102への仮想マシン生成の指示とを行う。ユーザ管理手段1012は、ユーザと認証情報とを記憶するデータベースを持ち、ユーザ認証手段1011から受け取った認証情報が正しいかどうか判断し、結果をユーザ認証手段1011に渡す。
【0091】
次に、本実施の形態の動作を説明する。第1〜第5の実施の形態では、管理者が管理UI109を操作することによって、仮想マシンの生成の指示と配付の指示とを行っていた。第6の実施の形態では、ユーザがユーザログイン手段118を用いて認証を行うことをトリガーとして、管理者の指示なしに仮想マシンが配付される。ユーザデータ回収に関しても、ユーザログイン手段118が仮想マシンの終了を検知し、ユーザデータ送信手段114にユーザデータ送信の指示を発行することによって、管理者の指示なしで行う。また、仮想マシンイメージ生成手段102は、クライアント110Fにログインしたユーザに応じて、配布する仮想マシンイメージを変える。また、仮想マシンイメージ生成の動作は、ユーザが最初にログインしたときと、2回目以降のログインのときとで異なる。
【0092】
まず、初回ログインの動作を図23のシーケンス図を用いて説明する。ユーザは、ユーザログイン手段118に、認証情報を入力する(ステップH1)。認証情報は、ユーザ認証手段1011に渡される。ユーザ認証手段1011は、ユーザ管理手段1012に認証情報を渡し、認証情報が正しいか否か問い合わせを行う(ステップH2)。ユーザ管理手段1012は、データベースに記録されている認証情報を読み込む(ステップH3)。ユーザ管理手段1012は、ユーザ認証手段1011から受け取った認証情報と、データベースから読み込んだ認証情報とが一致するか否かを確認することによって、ユーザ認証手段1011から受け取った認証情報が正しいかどうかを確認し、結果をユーザ認証手段1011に通知する(ステップH4)。
【0093】
ユーザ認証手段1011は、認証情報が正しいという結果(認証成功)を受け取った場合、仮想マシン生成の指示を仮想マシンイメージ生成手段102に発行する(ステップH5)。仮想マシンイメージ生成手段102は、ディスクイメージ組み合わせマップを持ち、ディスクイメージ組み合わせマップを用いて、ユーザ毎に仮想マシンイメージを生成する(ステップH6)。
【0094】
ディスクイメージ組み合わせマップには、ユーザID、OSディスクイメージ名、プロビジョニングディスクイメージ名、ユーザディスクイメージ名が書かれている。つまり、あるユーザIDに対して、どのディスクイメージを組み合わせて仮想マシンイメージを生成すればよいかが記録されている。ディスクイメージ組み合わせマップは、管理UI109を用いて管理者があらかじめ生成しておく。仮想マシンイメージには、どのユーザのための仮想マシンイメージか分かるように、ユーザIDの情報が埋め込まれる。
【0095】
なお、図23には記載されていないが、ステップH4において、ユーザ管理手段1012が、認証情報が正しくないという結果を送信した場合には、ユーザ認証手段1011は、ユーザログイン手段118に認証失敗を通知し、ステップH1の処理からやり直す。
【0096】
仮想マシンイメージの配付については、第1〜第5の実施の形態の場合と同様であり、説明を省略する。
【0097】
次に、ユーザデータの回収について説明する。仮想マシンの実行時に、ユーザログイン手段118は、仮想マシンイメージ実行手段111を監視する。ユーザログイン手段118は、仮想マシンの実行の終了を検知すると、ユーザデータ送信手段114に、仮想マシンイメージ格納手段113に格納されているディスクマップにもとづいてユーザデータ回収対象のデータの指示を発行する。
【0098】
次に、2回目以降のログイン時の仮想マシンイメージ生成の動作を説明する。2回目以降のログイン時の仮想マシンイメージ生成の動作は、初回ログイン時の仮想マシンイメージ生成の動作とほぼ同じであるが、仮想マシンイメージ生成手段102は、ユーザデータディスクイメージを、仮想マシン部品格納手段101からではなく、ユーザデータ格納手段105から読み込んで仮想マシンイメージを生成する点が異なる。ユーザデータ格納手段105にユーザディスクイメージの一部しか格納されていない場合には、仮想マシン部品格納手段101に格納されているユーザディスクイメージから、不足部分を補う。
【0099】
本実施の形態では、管理者の指示なしに、ユーザのログインをトリガーとして、ログインしたユーザに応じて異なる仮想マシンイメージの生成を行うことができる。また、管理者の指示なしに、ユーザのログインをトリガーとして、仮想マシンイメージの配付とユーザデータの回収とを行うことができる。また、クライアント110Fが故障したり、盗難にあったりしても、サーバ100Fにユーザデータが記録されているので、データ損失を防ぐことができる。さらに、2回目以降のログインでは、ユーザデータディスクイメージが、ユーザデータ格納手段105から読み込まれるため、前回ログインしていたクライアントとは異なるクライアントでも、前回のログイン時の作業を継続できる。
【0100】
なお、第6の実施の形態では、ユーザのログイン時にユーザに応じて仮想マシンイメージを生成したが、あらかじめ管理者が管理UI109を用いて、仮想マシンイメージを生成しておき、仮想マシンイメージ配付手段103がクライアント110にログインしているユーザに応じて仮想マシンイメージを配付してもよい。その場合には、例えば、管理者があらかじめ、UserA用に、OSディスクイメージA、プロビジョニングディスクイメージB、ユーザディスクイメージCを組み合わせて仮想マシンイメージを作成しておく。同様にUserB用に、OSディスクイメージD、プロビジョニングディスクイメージE、ユーザディスクイメージFを組み合わせて仮想マシンイメージを作成しておく。ユーザログイン手段118から、UserAがログインしてきたときは、ユーザ認証手段1011が、仮想マシンイメージ配付手段103に、あらかじめ作成しておいたUserA用の仮想マシンイメージの配付を指示する。
【0101】
また、第6の実施の形態では、ユーザログイン手段118がユーザデータ送信手段114にユーザデータ回収対象のデータの指示を行ったが、クライアント110Fが、第3の実施の形態のように、イメージ削除手段116を備えている場合には、ユーザログイン手段118は、イメージ削除手段116に削除の指示をしてもよい。そのように構成した場合には、ユーザがログインしていないときには、クライアント110Fにユーザデータは記録されていないので、クライアント110Fが盗難にあっても、情報漏えいが起こらないという効果がある。
【0102】
また、第6の実施の形態では、認証情報は、ユーザIDとユーザが持つ秘密情報であるとしたが、認証情報にグループIDを加え、ユーザIDとグループIDの組とユーザがもつ秘密情報とで認証を行ってもよい。そのように構成した場合には、ユーザ管理手段1012のデータベースには、ユーザIDとユーザが持つ秘密情報に加えて、ユーザがどのグループに所属するかという情報が記録される。例えば、UserAが、グループXとグループYに所属している場合、"ユーザID:UserA、秘密情報:XXXX、所属グループID:グループX/グループY"のような形式をとる。
【0103】
また、そのように構成した場合には、仮想マシンイメージの生成は、ユーザIDとグループIDの組に応じて行われる。例えば、UserAがグループXとグループYとに所属している場合に、UserAがログイン時の入力でグループIDをXとしたときには、グループX用の仮想マシンイメージが配付され、グループIDをYとしたときには、グループY用の仮想マシンイメージが配付される。よって、一人のユーザが、複数の仮想マシンイメージの配付を受けることができる。つまり、ユーザが用途によってグループIDを使い分けることによって、複数の仮想マシン環境を使用できるという効果がある。
【0104】
さらに、仮想マシンイメージの生成を、ユーザIDを考慮せず、グループIDのみに応じて行ってもよい。この場合、特定のグループには特定の仮想マシンイメージを配付するといった、グループ単位の仮想マシンイメージの生成制御を行えるという効果がある。
【0105】
また、第6の実施の形態では、仮想マシンの実行が終了したときに、自動的にユーザデータの回収が行われたが、管理者が管理UI109を用いて、ユーザ管理手段1012のデータベースに記録されているユーザIDやグループIDを選択することによって、特定のユーザIDや特定のグループIDのユーザデータを回収してもよい。
【0106】
その場合には、管理者が管理UI109を用いてユーザ管理手段1012のデータベースに記録されているユーザIDもしくはグループID、またはユーザIDとグループIDの組み合わせを選択すると、ユーザ管理手段1012は、ユーザデータ受信手段104に、選択されたユーザIDもしくはグループID、またはユーザIDとグループIDの組み合わせを伝える。ユーザデータ受信手段104は、すべてのクライアントのユーザデータ送信手段114に、選択されたユーザIDもしくはグループID、またはユーザIDとグループIDの組み合わせに対応するユーザデータ回収指示を行う。ユーザデータ送信手段114は、仮想マシンイメージ格納手段113に、該当するユーザIDもしくはグループID、またはユーザIDとグループIDの組み合わせの仮想マシンイメージが格納されていた場合、ユーザデータを送信する。このように構成されている場合には、ユーザやグループの削除といったユーザ管理に応じて、ユーザデータを回収できる効果がある。
【0107】
なお、ユーザデータの回収の場合と同様に、管理者が管理UI109を用いて、ユーザ管理手段1012のデータベースに記録されているユーザIDやグループIDを選択することによって、特定のユーザIDや特定のグループIDの仮想マシンイメージの削除を行ってもよい。
【0108】
また、ユーザデータ回収や仮想マシンイメージ削除の動作において、ユーザ管理手段1012が、ユーザデータ受信手段104に、選択されたユーザIDもしくはグループID、またはユーザIDとグループIDの組み合わせを伝えると同時に、ユーザ管理手段1012は、データベースから、選択されたユーザIDもしくはグループID、またはユーザIDとグループIDを削除してもよい。
【0109】
また、サーバ100Fが、第3の実施の形態のように、削除指示手段108を備え、クライアント110がイメージ削除手段116を備えている場合は、ユーザ管理手段1012が削除指示手段108に、削除対象のユーザIDやグループIDを伝え、削除指示手段108が全てのクライアントのイメージ削除手段116に、選択されたユーザIDまたはグループIDの仮想マシンイメージを削除するように指示を行うようにしてもよい。その場合、イメージ削除手段116は、仮想マシンイメージ格納手段113に、該当するユーザIDまたはグループIDの仮想マシンイメージが格納されていた場合に、該当する仮想マシンイメージを削除する。仮想マシンイメージ全てではなく、ユーザデータディスクイメージのみを削除してもよい。
【0110】
実施例1
次に、具体的な実施例を説明する。まず、第1の実施の形態の実施例を説明する。
【0111】
図1に示されたサーバ100は、例えば、マウス、キーボード、ディスプレイのような入出力インタフェースを備え、ハードディスクを備える一般的なコンピュータである。クライアント110は、例えばデスクトップ型パーソナルコンピュータやノートブック型パーソナルコンピュータである。
【0112】
仮想マシンイメージ部品格納手段101は、OSをインストールしたOSディスクイメージと、アプリケーションやセキュリティミドルウェアをインストールしたプロビジョニングディスクイメージと、ユーザデータを記録するユーザデータディスクイメージを格納する。OSディスクイメージには、例えばWindows XP(登録商標)やLinux(登録商標)がインストールされている。プロビジョニングディスクイメージには、例えば、セキュリティミドルウェアとしてのアンチウィルスソフトウェアやアプリケーションとしてのワードプロセッサソフトウェアがインストールされている。
【0113】
OS、セキュリティミドルウェア、ユーザデータを記録する領域の分離方法は、例えば、図24に示すように、3つの独立したディスクを使用して分離する。または、図25に示すように、2つの独立したディスクとその差分として分離してもよい。
【0114】
仮想マシンイメージ配付手段103は、クライアント110の仮想マシンイメージ受信手段115からの要求に応じて仮想マシンイメージを通信ネットワークを介して配付する。配付の際の通信方式は例えばTCP/IPであり、なりすまし防止や盗聴防止や改竄検知のために、IPSecやSSLなどの暗号化プロトコルを組み込んでもよい。
【0115】
仮想マシンイメージ格納手段113は、例えばハードディスクへの読み書きインタフェースであり、ハードディスクは仮想マシンイメージを格納するのに十分な記憶容量を持つ。
【0116】
仮想マシンイメージ実行手段111は、仮想マシンイメージに含まれる仮想デバイス設定ファイルを読み取り、それに従って、例えば、仮想CPU、仮想NIC、仮想CDROMなどの仮想デバイスを生成し、さらに、仮想マシンイメージに含まれているディスクイメージの内容から仮想ディスクを生成する。
【0117】
入出力監視手段112は、仮想マシンイメージ実行手段111による入出力を監視するモジュールであり、ディスクマップで書き込みが禁止されているセクタへの書き込みが発生した場合に、その書き込みをブロックする。
【0118】
ユーザデータ送信手段114は、ユーザデータディスクイメージとしてどの物理マシンが使用されていたのかを示す署名を生成する。署名の生成には、例えば、TPMを用いる。さらに、ユーザデータディスクイメージと署名とを、通信ネットワークを介してユーザデータ受信手段に送信する。通信方式は例えばTCP/IPであり、なりすまし防止や盗聴防止や改竄検知のために、IPSecやSSLなどの暗号化プロトコルを組み込んでもよい。
【0119】
ユーザデータ受信手段104はユーザデータの受信と署名の妥当性チェックを行うモジュールである。例えば、クライアントの署名に対する公開鍵を用いて署名の妥当性をチェックする。
【0120】
ユーザデータ格手段は105は、ユーザデータを格納する記憶媒体とそのインタフェースであり、記憶媒体は、例えば、ハードディスクである。
【0121】
管理UI109は、管理者と各手段のインタフェースであり、GUIやCUIを通して、各手段への命令発行とメッセージ受信とを行うことができるプログラムである。管理UI109は、OS上で動作するプログラムでもよいし、ブラウザ上で動作するプログラムでもよい。
【0122】
管理者は、最初に、仮想マシンのデバイスの設定が記録されている仮想デバイス設定ファイルと、OSがインストールされたOSディスクイメージとを選択する。仮想デバイス設定ファイルには、例えば、"メモリ量は500Mバイト、ネットワークカードが1枚、USBをサポート"などの情報が記録されている。OSディスクイメージは、OSがインストールされているだけであり、アプリケーションがインストールされていないため、そのままでは業務に使用することができない。
【0123】
次に、管理者は、プロビジョニングディスクイメージを選択する。プロビジョニングディスクイメージにはアプリケーションやセキュリティミドルウェアがインストールされている。OSディスクイメージとプロビジョニングディスクイメージとを組み合わせることによって、OSと、アプリケーションやセキュリティミドルウェアとが揃う。さらに、ユーザが作成したデータを記録するユーザデータディスクイメージを組み合わせることによって、業務のできる仮想マシンイメージが完成する。例えば、Windows XP(登録商標)のOSディスクイメージと、Java(登録商標)開発環境のEclipseのプロビジョニングディスクイメージを組み合わせることにより、簡単にJava(登録商標)を開発する仮想マシンイメージを生成することができる。
【0124】
仮想ディスクの構成を、例えば、図24に示すように、ディスク1A、ディスク1B、ディスク1Cと3つにし、ディスク1AにOSディスクイメージ、ディスク1Bにプロビジョニングディスクイメージ、ディスク1Cにユーザデータディスクイメージを割り当てておいて、仮想ディスクを生成し、ユーザデータが記録される領域をユーザデータディスクイメージに割り当てる。例えば、Linux(登録商標)では、/home や/root などがユーザデータディスクイメージに割り当てられる。または、図25に示すように、ディスク2AにOSを割り当て、2Aとの差分を記録する差分ディスクを設けるというディスク構成にしてもよい。
【0125】
ディスクマップ生成手段106は、仮想マシンイメージ中のディスクイメージの解釈を行う。すなわち、ディスクマップ生成手段106は、ディスク/パーティション/ディレクトリ/ファイルの情報をディスクイメージから取り出し、それらの情報を、管理UI109に出力する。管理UI109は、それらの情報を表示部に表示する。管理者は、管理UI109を用いて、保護したいパーティションやファイル等を指定する。表示部の画面の例として、例えば、図27に示すように、ディスク/パーティション/ディレクトリ/ファイルの一覧を表示する。管理者は、表示をクリックして保護する対象を指定する。図27に示す例では、ディスク#1のファイル2、ディレクトリβ、パーティションBおよびディスク#2が保護したい対象として指定されている。ディスクマップ生成手段106は、ディスクイメージを解釈することによって、指定されたパーティションやファイル等がどのセクタに記録されているかを把握し、把握したセクタをディスクマップに書き込む。このように、指定されたパーティションやファイル等がどのセクタに記録されているかをディスクイメージの解釈結果をもとにマッピングすることによってディスクマップの書き込み禁止の項目を生成する。例えば、管理者がディスクAのファイル1を書き込み禁止に指定した場合、そのファイルが記録されているセクタが12345〜13000であれば、ディスクマップ生成手段106は、図5に示された書き込み禁止の項目のように、12345〜13000のセクタを書き込み禁止の項目に追加する。
【0126】
同様にして、ディスクマップ生成手段106は、ユーザデータ回収の項目をマッピングする場合には、ディスクやパーティションがどのセクタに記録されているかを把握し、把握したセクタをディスクマップに書き込む。
【0127】
仮想マシンイメージ配付手段103は、クライアントの仮想マシンイメージ受信手段115からの要求を待ち、要求があった場合には、通信ネットワークを介して仮想マシンイメージとディスクマップとを配付する。または、仮想マシンイメージ配付手段103が仮想マシン受信手段115に対して送信要求を出して、仮想マシンイメージを配付してもよい。仮想マシンイメージ受信手段115は、仮想マシンイメージを受け取るときに、仮想マシンイメージ格納手段113をチェックし、配付されようとしている仮想マシンイメージのOSディスクイメージとプロビジョニングディスクイメージとが既に仮想マシンイメージ格納手段113に存在するかどうかチェックする。存在する場合には、仮想マシンイメージ配付手段103に、その旨を通知する。仮想マシンイメージ配付手段103は、クライアントに存在しない種類のディスクイメージのみを配付する。
【0128】
仮想マシンイメージを配付した後に、同様の動作でOSディスクイメージとプロビジョニングディスクイメージのみを再度配付することによって、管理者は、OSやセキュリティミドルウェア、その設定などのアップデートを行ってもよい。配付するディスクイメージは独立したディスクイメージでもよいし、配付済みのディスクイメージに対する差分ディスクイメージでもよい。例えば、管理者がセキュリティアミドルウェアの設定を変更したい場合には、プロビジョニングディスクイメージの中の当該設定ファイルを書き換え、プロビジョニングディスクイメージをクライアント110に配付する。クライアント110における仮想マシンイメージ格納手段113は、配付されたプロビジョニングディスクイメージを、格納されているプロビジョニングディスクイメージを上書きすることによって変更を行う。差分ディスクイメージとして配付する場合には、クライアント110において、配付された差分ディスクイメージは仮想マシンイメージ格納手段113に保存される。そして、仮想マシン実行時に仮想マシンイメージ実行手段111が二つのディスクイメージを組み合わせて使用する。
【0129】
仮想マシンイメージ実行手段111は、仮想ディスク、仮想CPU、仮想NICなどを生成し、仮想マシンを実行する。仮想マシンイメージ実行手段111は例えば、XenやVMWare(登録商標)である。
【0130】
入出力監視手段112は、ディスクマップに記載されているOSディスクイメージおよびプロビジョニングディスクイメージのセクタが上書きされることがないように監視し、OSやセキュリティミドルウェアが改竄されないことを保証する。例えば、仮想ディスクへの書き込みは、読み書きの種類とセクタ情報を基に行われるので、入出力監視手段112は、これをフックし、監視すればよい。フックした読み書き命令をディスクマップと照らし合わせ、命令を破棄するかどうかを決定する。命令が破棄された場合、入出力監視手段112は、通信ネットワークを介して、サーバ100の管理UI109に、ブロックが行われたことを通知してもよい。管理者は、管理UI109における書き込みがブロックされたという通知を見ることによって、不正な動作をしようとしているユーザがいるかどうかを確認することができる。
【0131】
ユーザデータのバックアップを行ったり、プロジェクト終了によるユーザデータ回収のときには、ユーザデータ送信手段114が、ユーザデータディスクイメージのみをサーバ100に送り返す。ユーザデータ送信手段114は、ディスクマップの回収の項目を参照することによって、仮想ディスクのどの領域を回収すればよいか判断する。例えば、ユーザデータディスクイメージCと書かれていれば、そのディスクイメージを送信する。
【0132】
ユーザデータ送信手段114は、ユーザデータを送信する前に、ユーザデータに対する署名を生成する。例えば、TPMを用いる方式であれば、TPMの署名機能を用いて署名を生成する。署名を生成する秘密鍵はTPMから取り出すことのできないキーを使用する。この署名は、ユーザデータが確かにTPMの付いている物理マシンで使用されていたことを保証する。
【0133】
ユーザデータ受信手段104は、ユーザデータを受け取ると、署名のチェックを行う。例えば、TPMを用いる方式であれば、あらかじめ取り出しておいたTPMの公開鍵によって署名の妥当性をチェックする。妥当であった場合は、ユーザデータ格納手段105にファイルを渡す。妥当でなかった場合は、管理UI109に警告を表示させる。
【0134】
ユーザデータ格納手段105は、物理マシンとデータとが対応付けられるように記録する。例えば、日時、物理マシン名、ユーザデータ名を記録しておけば、管理者がユーザデータを確認したいときに、ユーザデータ格納手段105は、すぐにユーザデータを提供することができる。
【0135】
ユーザデータ格納手段105がユーザデータ受信手段104から渡されたユーザデータの形式が独立したディスク形式であって、単一のパーティションで構成されている場合には、例えば、Linux(登録商標)であればループバックデバイスにマウントすることによって、ファイルとしてユーザデータを取り出してもよい。例えば、Linux(登録商標)であれば、以下のようなコマンドを発行することで、"userdisk.img"というディスクイメージをマウント可能である。
【0136】
"mount userdisk.img /mnt −o loop"
【0137】
ディスクが複数のパーティションで構成されている場合には、該当パーティション部分を切り出して、コマンドによってマウントすればよい。ユーザデータ受信手段104から渡されたユーザデータの形式が差分ディスクイメージの形式である場合は、ユーザデータ格納手段105は、仮想マシン部品格納手段10に保存されている差分元のディスクイメージと組み合わせ、不足部分を補う。不足部分を補った後に、コマンドを用いてマウントすればよい。
【0138】
仮想ディスクの構成として、図24に示されたようにユーザの生成が書き込まれるディスクを独立したディスクにする構成や、図25に示されたように差分ディスクとして分ける構成を例示したが、図26に示すように、一つの仮想ディスクを複数のパーティションに分けることによって、OSディスクイメージ、プロビジョニングディスクイメージ、ユーザデータディスクイメージを一つにまとめてもよい。
【0139】
このようなディスク構成の場合、ユーザデータ回収の項目をディスクイメージ単位で指定することはできない。そこで、書き込み禁止の項目を生成するのと同様に、パーティションを指定してマップを生成する。例えば、/home パーティションが10000〜20000セクタまでの範囲であれば、10000〜20000セクタを回収範囲としてマップに記録する。管理者は、例えば、図28に示すような管理UI109による画面を用いて、回収の項目の指定を行う。
【0140】
ユーザデータ回収時には、このマップを参照してユーザデータを回収する。例えば、上記の例では、仮想ディスクの10000〜20000セクタのデータを取り出してユーザデータとする。
【0141】
実施例2
次に、第2の実施の形態の実施例を説明する。第1の実施例における箇所と同様の箇所については説明を省略する。
【0142】
第2の発明例におけるサーバ100Bは、図12に示されたように、仮想マシンを実行することのできる仮想マシンイメージテスト手段107を持つ。
【0143】
第1の実施例では、ディスクマップの生成の動作として、管理者が保護するパーティションやファイルを指定する動作を示したが、管理者に知識がない場合は、指定が難しい。そこで、サーバ100Bにおいて仮想マシンイメージテスト手段107が仮想マシンを実行し、実行中に読み込まれるセクタを書き込み禁止にする。OSによるディスクの書き込みを許可しないと、OSが動作しない場合があるため、書き込まれたセクタをディスクマップの書き込み禁止の項目から取り除く。Linux(登録商標)やWindows(登録商標)では、ユーザのログイン画面が表示されるので、この状態では、ユーザのプロセスは動いていない。よって、ブートからログイン画面表示までの入出力からマップを生成すればよい。例えば、管理者は、OSがログイン画面を表示したことを確認し、管理UI109のディスクマップ生成終了ボタンを押すことによって、ディスクマップの生成を終了する。
【0144】
このような構成の場合には、起動時に読み込まれなかった領域や、OSが書き込むセクタはディスクマップの書き込み禁止の項目から除外されている。従って、ここにユーザのデータが混入する可能性がある。ユーザのデータの混入を防ぐために、ユーザプロセスの書き込みを特定領域にしか許さないようなセキュリティミドルウェアを導入する。そして、このセキュリティミドルウェアをセキュリティミドルウェア保護機構で保護してもよい。管理UI109を用いて、パーティション単位ではなく、ファイル単位で保護するセキュリティミドルウェアを指定した場合も同様である。
【0145】
FATなどのファイルシステムでは、ファイルを移動したときにファイル本体は書き換わらず、FATテーブルが書き換わる。よって、ファイルを移動し、移動した先のセクタを書き換えることによって、OSやセキュリティミドルウェアの改竄が可能になる。OSやセキュリティミドルウェアのファイルが移動されると、OSはそのファイルを読み込むときに、移動先のセクタを読み込むので、もともとファイルが存在していたセクタは読み込まれない。よって、OS起動時のファイル読み込みを監視することによって、ファイルが移動されていないかを検知できる。従って、ファイルの移動による改竄に対応するため、書き込み禁止マップ生成時に、読み込み必須マップを同時に生成し、仮想マシン実行時に入出力監視手段112が入力を監視し、起動時にセキュリティミドルウェアが読み込まれていることを確認してもよい。
【0146】
第1の実施の形態では、ユーザデータをそのまま保存するか、パーティションのファイルシステムを解釈してファイルとしてユーザデータを取り出して保存した。しかし、例えば、仮想マシン上のOSが広く普及していないファイルシステムや仕様が公開されていないファイルシステムを使用していた場合には、ファイルシステムの解釈が難しいときがある。
【0147】
そのような場合に、ファイルという形でユーザデータを取り出すため、管理者は、配付した仮想マインイメージと、クライアント110から送られてきたユーザデータディスクイメージとを組み合わせ、仮想マシンイメージテスト手段107で仮想マシンを実行させることによって、クライアント110で動作していた仮想マシンを再現できる。クライアント110の仮想マシン環境から、任意のファイルを取り出してユーザデータ保存手段105へ渡すことによって、ユーザが作成したデータをファイルの形として取り出す。仮想マシンからファイルを取り出す方法として、例えば、COMポート通信や仮想NICを用いた通信を使う。または、新たな仮想ディスクに対して仮想マシン上のOSとサーバ100BのOSの両方が解釈できるファイルシステムを用いて書き出だし、サーバ100BのOSでそのディスクをマウントしてもよい。
【0148】
実施例3
次に、第3の実施の形態の実施例を説明する。第1の実施例における箇所と同様の箇所については説明を省略する。
【0149】
図18に示されたサーバ100Cにおける削除指示手段108は、削除の方法と削除対象とを指定し、通信ネットワークを介してクライアント110Cのイメージ削除手段116に命令を発行する。削除指示手段108とイメージ削除手段116との間のネットワークプロトコルは、例えば、TCP/IPであり、なりすまし防止や盗聴防止や改竄検知のために、IPSecやSSLなどの暗号化プロトコルを組み込んでもよい。
【0150】
削除対象として、例えば、全てのイメージを指定したり、ユーザデータディスクイメージのみ指定したりする。削除方法は、単純な削除の動作や、削除した後にランダムなデータを上書きする動作などである。
【0151】
イメージ削除手段116は、削除指示手段108から命令を受け、仮想イメージ格納手段113からディスクイメージを削除する。例えば、物理ディスクの空き容量を増やすだけが目的であれば、Linux(登録商標)ではrmコマンドなどを用いてディスクイメージを削除する。ハードディスクの解析による情報漏洩対策のためであれば、rmコマンドを用いてディスクイメージを削除した後、ディスクイメージが記録さえていたセクタに対し、ランダムな値を上書きすることで、ハードディスクの解析を不可能にする。
【0152】
イメージの削除の際に、管理者が管理UI109を用いて指示を行う。管理UI109による画面の例を図29に示す。図29では、削除の対象として、ユーザデータディスクイメージが指定されている。さらに、削除の際に、削除領域をランダムデータで上書きするように指示されている。
【0153】
管理UI109は、管理者が指定した削除対象と削除方法とを削除指示手段108に通知する。削除指示手段108は、イメージ削除手段1116に命令を送信する。イメージ削除手段107は、命令に従って、物理ディスク上のディスクイメージの削除を行う。
【0154】
イメージ削除手段107は、削除の結果を、削除指示手段108とイメージ削除手段107との間のネットワークプロトコルによって送信する。例えば、削除が成功した場合には"SUCCESS"を送信し、失敗した場合には"FAILURE PYSICAL DISK ERROR"等の失敗を示すメッセージおよびその理由を送信する。結果の通知を受けた削除指示手段108は、管理UI109に結果を伝え、管理UI109が結果を表示する。このとき、削除指示手段108が、日時、削除対象ディスクイメージ、クライアント名、削除結果などをログとして記録しておく。このログは、監査に使用できる。
【0155】
実施例4
次に、第4の実施の形態の実施例を説明する。第1の実施例における箇所と同様の箇所については説明を省略する。
【0156】
OSディスクイメージを新たに生成する場合に、まず、図20に示されたサーバ100Dにおける仮想マシン部品生成手段1010を用いて仮想デバイス設定ファイルを生成する。既にある仮想バイス設定ファイルを使用する場合には、仮想マシン部品生成手段1010の動作は不要である。
【0157】
次に、仮想マシンイメージ生成手段102が仮想デバイス設定ファイルを読み込み、仮想マシンを生成して実行する。ここで、例えば、Windows(登録商標)のインストールディスクを仮想CDROMに割り当てることによって、Windows(登録商標)のインストールを行うことができる。
【0158】
プロビジョニングディスクイメージを生成する場合には、仮想マシンイメージ生成手段102は、仮想デバイス設定ファイルと、上記のように生成したOSディスクイメージとを読み込み、仮想マシンを実行する。このときに、新たにプロビジョニングディスクイメージを生成する。プロビジョニングディスクイメージは独立したディスクイメージ、またはOSディスクイメージとの差分イメージである。最後に、管理者は、通信ネットワークやCDROMなどを用いてプロビジョニングディスクイメージにセキュリティミドルウェアをインストールする。
【0159】
実施例5
次に、第5の実施の形態の実施例を説明する。第1〜第4の実施例における箇所と同様の箇所については説明を省略する。
【0160】
本実施例において、クライアント110Eは、例えば、ディスプレイと、キーボードやマウスなどの入力機器とを備えたシンクライアントである。仮想マシン実行サーバ120は、例えば、マウス、キーボード、ディスプレイのようなインタフェースを備え、ハードディスクを備えた一般的なコンピュータである。
【0161】
仮想マシンイメージ実行手段111と仮想マシン遠隔操作手段117との間のネットワークプロトコルは、例えば、TCP/IPであり、なりすまし防止や盗聴防止や改竄検知のために、IPSecやSSLなどの暗号化プロトコルを組み込んでもよい。
【0162】
仮想マシン遠隔操作手段117は、仮想マシン実行サーバ120内の仮想マシンイメージ実行手段111の画面イメージを受信し、ディスプレイに表示する。例えば、仮想マシン上で、Windows XP(登録商標)が動作している場合は、Windows XP(登録商標)の画面がクライアント110Eに表示される。クライアント110Eのマウスやキーボードの入力は、仮想マシン遠隔操作手段117を通して、仮想マシン遠隔操作手段117に入力され、ユーザは仮想マシンを操作する。例えば、ユーザがクライアント110Eに接続されているマウスをクリックしたとき、クリックしたという情報が仮想マシン遠隔操作手段117を通じて仮想マシンイメージ実行手段111に伝えられ、仮想マシン上のOSでは、マウスをクリックしたときの動作が実行される。
【0163】
実施例6
次に、第6の実施の形態の実施例を説明する。第1〜第5の実施例における箇所と同様の箇所については説明を省略する。
【0164】
本実施例において、ユーザログイン手段118は、例えば、ユーザIDとパスワードを入力するインターフェースをユーザに提供するプログラムで実現される。ユーザログイン手段118は、指紋を読み取る装置や、スマートカードを読み取る装置でもよい。認証情報は、例えば、ユーザIDとパスワード、指紋の情報、スマートカードの中に記録された秘密鍵である。ユーザ認証手段1011は、ユーザログイン手段118と通信し、ユーザ管理手段1012への認証情報が正しいかどうかの問い合わせと、仮想マシンイメージ生成手段102への仮想マシン生成の指示を出すプログラムで実現される。ユーザ管理手段1012は、認証情報を保存するデータベースを持ち、ユーザ認証手段1011から渡された認証情報が正しいかどうかの判断を行うプログラムで実現される。
【0165】
ユーザログイン手段118とユーザ認証手段1011との間は通信ネットワークで結ばれ、ネットワークプロトコルは、例えば、TCP/IPである。なりすまし防止や盗聴防止や改竄検知のために、IPSecやSSLなどの暗号化プロトコルを組み込んでもよい。
【0166】
次に、動作を説明する。クライアント110Fのユーザは、ユーザログイン手段118を用いて、認証情報を入力する。例えば、ユーザIDとパスワードとを入力した場合、その情報はユーザ認証手段1011に渡される。ユーザ認証手段1011は、ユーザ管理手段1012に、認証情報を渡し、認証情報が正しいか否か問い合わせを行う。ユーザ管理手段1012は、ユーザ認証手段1011から渡されたユーザIDとパスワードとが、データベースに記録されているユーザIDとパスワードと一致するか否か確認することによって認証の可否を判断し、結果をユーザ認証手段1011に通知する。結果が認証失敗であった場合には、ユーザ認証手段1011は、ユーザログイン手段118に認証失敗を通知する。ユーザログイン手段118は、再びIDとパスワードとの入力画面を表示することで、ユーザにIDとパスワードとの再入力を促す。認証成功の場合には、ユーザ認証手段1011は、仮想マシンイメージ生成手段102に、仮想マシンイメージ生成の指示を発行する。
【0167】
指示には、「ユーザA用の仮想マシンイメージを作成」のように、ユーザを識別するためのユーザIDが入る。仮想マシンイメージ生成手段102は、指示を受け取って、仮想マシンイメージを生成する。このとき、どのディスクイメージを組み合わせて仮想マシンイメージを生成するかは、管理者があらかじめ図30に示すような、ユーザごとのディスクイメージ組み合わせマップを生成して指定しておく。例えば、図30に示すマップを用いた場合、User2が認証に成功したとき、Windows XP(登録商標)のOSディスクイメージと、アンチウィルスソフトウェアのプロビジョニングディスクイメージと、通常のユーザデータディスクイメージとを組み合わせて、仮想マシンイメージを生成する。
【0168】
仮想マシンイメージの配付は、第1〜第5の実施の形態の場合と同様であり、説明を省略する。ユーザログイン手段118は、仮想マシンイメージ実行手段111を監視し、仮想マシンの終了を検知すると、ユーザデータ送信手段114に、ユーザデータ回収の指示を発行する。ユーザデータ回収の動作は、第1〜第5の実施の形態の場合とほぼ同様であるが、ユーザデータ送信手段114が作成する署名には、ユーザデータがどのクライアントのものであるかを示すデータに加えて、どのユーザのデータであるかを示すユーザIDが含まれる。
【0169】
クライアント110Fがイメージ削除手段116を備えている場合には、ユーザログイン手段118は、イメージ削除手段116に削除の指示を行い、ユーザデータを削除してもよい。削除の動作は、第3の実施例の場合と同様であり、説明を省略する。
【0170】
2回目以降のログインでは、仮想マシンイメージ生成手段102は、ユーザデータ格納手段105から、ログインしたユーザのユーザデータを読み出し、ユーザデータディスクイメージとする。例えば、User1というユーザが、クライアント110Fにログインしたとき、仮想マシンイメージ生成手段102は、User!のユーザデータをユーザデータ格納手段105から読み出して、それをユーザデータディスクイメージとして仮想マシンイメージを生成する。ユーザデータ格納手段105にユーザデータディスクイメージの一部しか格納されていない場合、例えば、User1のユーザデータディスクイメージは本来10000セクタあるのに対して、その一部である5000セクタしかユーザデータ格納手段105に格納されていなかった場合には、残りの5000セクタを仮想マシン部品格納手段101に格納されているユーザデータディスクイメージから補って、ユーザデータディスクイメージを作成し、仮想マシンイメージを生成する。
【0171】
次に、ユーザIDとグループIDとの組み合わせで、仮想マシンを生成する例を説明する。ユーザIDのみに応じて仮想マシンを生成する場合と同じ動作の箇所については、説明を省略する。
【0172】
ユーザは、ユーザログイン手段118に、ユーザIDとパスワードとに加えて、グループIDを入力する。入力された情報はユーザ認証手段1011経由でユーザ管理手段1012に渡り、ユーザ管理手段1012は、ユーザIDとパスワードとが正しいか否かの確認に加えて、ユーザがユーザログイン手段118に入力したグループに所属しているか否かの確認も行う。ユーザがグループに所属していない場合には、認証失敗をユーザ認証手段1011に通知する。
【0173】
ディスクイメージ組み合わせマップには、ユーザID、OSディスクイメージ、プロビジョニングディスクイメージ、およびユーザデータディスクイメージに加えて、グループIDが加わる。例えば、User2のグループXの仮想マシンイメージの組み合わせは、"User2,グループX,Windows XP(登録商標)のOSディスクイメージ、アンチウィルスソフトウェアのプロビジョニングディスクイメージ、常のユーザデータディスクイメージ"のように記述される。
【0174】
ユーザ認証手段1011は、仮想マシンイメージ生成手段102に、仮想マシンイメージ生成の指示を発行する。指示には、「ユーザ2のグループX用の仮想マシンイメージを作成」のように、ユーザを識別するためのユーザIDとグループを識別するためのグループIDとが入る。仮想マシンイメージ生成手段102は、ディスクイメージ組み合わせマップを参照して、ディスクイメージの組み合わせを決定することによって、ユーザIDとグループIDとの組み合わせに応じて仮想マシンを生成することが可能になる。
【0175】
グループIDのみに応じた仮想マシンイメージを生成するには、ディスクイメージ組み合わせマップで、ユーザIDを指定せずに組み合わせを記述する。例えば、"グループX,Windows XP(登録商標)のOSディスクイメージ、アンチウィルソフトウェアのプロビジョニングディスクイメージ、通常のユーザデータディスクイメージ"のように記述する。ユーザ認証手段1011から仮想マシンイメージ生成手段102への仮想マシン生成の指示も、「グループX用の仮想マシンイメージを作成」のように、ユーザIDを入れないことで、グループ単位の仮想マシンを生成することができる。
【0176】
なお、ユーザがユーザログイン手段118にグループIDを入力する例を説明したが、ユーザが一つのグループにしか所属しないシステムでは、ユーザが決まればグループが決まるため、ユーザがユーザログイン手段118にグループIDを入力する必要はない。
【0177】
次に、管理者が、管理UI109を用いて、特定のユーザIDやグループIDのユーザデータの回収や削除を行う例を説明する。
【0178】
管理者の画面には、管理手段1012のデータベースに記録されているユーザIDの一覧と、グループIDの一覧が表示される。管理者は、対象とするユーザIDまたはグループID、またはユーザIDとグループIDの組み合わせを選択する。選択されるIDは、例えば、ユーザAであったり、グループDであったり、ユーザAのクループXであったりする。次に管理者は、回収か削除かを選択する。
【0179】
管理者が、例えば、ユーザAのユーザデータ回収を選択した場合、ユーザデータ受信手段104は、全てのクライアントのユーザデータ送信手段114に、"ユーザAのユーザデータを回収"というメッセージを送信する。ユーザデータ送信手段114は、仮想マシンイメージ格納手段113にユーザAの仮想マシンイメージが格納されていた場合、ユーザデータを送信する。
【0180】
管理者が、例えば、ユーザAのユーザデータ削除を選択した場合、削除指示手段108が全てのクライアントのイメージ削除手段116に、"ユーザAのユーザデータを削除"というメッセージを送信する。イメージ削除手段116は、仮想マシンイメージ格納手段113にユーザAの仮想マシンイメージが格納されていた場合、ユーザデータを削除する。
【産業上の利用可能性】
【0181】
本発明を、ソフトウェアの外注プロジェクトに利用できる。例えば、プロジェクト立ち上げ時に外注元の管理者が仮想マシンイメージ生成し、外注先のクライアントへの配付を行う。プロジェクト運用時には、管理者はセキュリティミドルウェアによってクライアントの監視を行い、情報漏洩を防ぐことができる。また、プロジェクト終了時には、ユーザデータであるドキュメントやプログラムを、通信ネットワークを介して回収できる。
【0182】
また、別の利用可能性として、会社の仕事を家で安全に行うことができる。例えば、会社で使用している仮想マシンイメージを自宅のコンピュータに転送して業務を行う。業務が終わったときは、作業内容を会社に送信し、データを削除する。
【符号の説明】
【0183】
100,100B,100C,100D,100F サーバ
101 仮想マシン部品格納手段
102 仮想マシンイメージ生成手段
103 仮想マシンイメージ配付手段
104 ユーザデータ受信手段
105 ユーザデータ格納手段
106 ディスクマップ生成手段
107 仮想マシンイメージテスト手段
108 削除指示手段
109 管理UI
1010 仮想マシン部品生成手段
1011 ユーザ認証手段
1012 ユーザ管理手段
110,110C,110E,110F クライアント
111 仮想マシンイメージ実行手段
112 入出力監視手段
113 仮想マシンイメージ格納手段
114 ユーザデータ送信手段
115 仮想マシンイメージ受信手段
116 イメージ削除手段
117 仮想マシン遠隔操作手段
118 ユーザログイン手段

【特許請求の範囲】
【請求項1】
仮想マシンイメージを生成して、前記仮想マシンイメージを基に仮想マシンを実行する第2の装置に前記仮想マシンイメージを配付するサーバ装置において、
ユーザデータディスクイメージ領域と他のディスクイメージ領域とを区別可能に前記仮想マシンイメージを生成する仮想マシンイメージ生成手段と、
前記ユーザデータディスクイメージ領域におけるデータ回収領域を特定可能なディスクマップを生成するディスクマップ生成手段と、
前記仮想マシンイメージ生成手段が生成した前記仮想マシンイメージと前記ディスクマップ生成手段が生成した前記ディスクマップとを前記第2の装置に配付する仮想マシンイメージ配付手段とを備えた
ことを特徴とするサーバ装置。
【請求項2】
前記仮想マシンイメージ配付手段が前記仮想マシンイメージを配付した前記第2の装置におけるディスクイメージを指定して削除指示を示すメッセージを前記第2の装置に送信する削除指示手段を備えた
請求項1に記載のサーバ装置。
【請求項3】
新たなオペレーティングシステムディスクイメージおよびアプリケーションディスクイメージを生成するための仮想マシン部品生成手段を備えた
請求項1または請求項2に記載のサーバ装置。
【請求項4】
ユーザデータディスクイメージ領域と他のディスクイメージ領域とを区別可能生成された仮想マシンイメージと、前記ユーザデータディスクイメージ領域におけるデータ回収領域を特定可能なディスクマップとを生成するサーバ装置から前記仮想マシンイメージおよび前記ディスクマップの配付を受け、前記仮想マシンイメージを基に仮想マシンを実行するクライアント装置であって、
前記サーバ装置から配付された前記仮想マシンイメージを基に仮想マシンを実行する仮想マシンイメージ実行手段と、
前記ディスクマップで特定される前記データ回収領域のデータを前記サーバ装置に送信するユーザデータ送信手段とを備えた
ことを特徴とするクライアント装置。
【請求項5】
前記仮想マシンイメージ実行手段を監視し、仮想マシンの実行の終了時に、前記ユーザデータ送信手段に、前記データ回収領域のデータの送信指示を行うユーザログイン手段を備えた
請求項4記載のクライアント装置。
【請求項6】
請求項4または請求項5に記載のクライアント装置を内蔵またはエミュレートした、前記仮想マシンイメージを配布するサーバ装置。
【請求項7】
サーバ装置が、仮想マシンイメージを生成して、前記仮想マシンイメージを基に仮想マシンを実行する第2の装置に前記仮想マシンイメージを配付する仮想マシン運用システムにおいて、
前記サーバ装置は、
ユーザデータディスクイメージ領域と他のディスクイメージ領域とを区別可能に前記仮想マシンイメージを生成する仮想マシンイメージ生成手段と、
前記ユーザデータディスクイメージ領域におけるデータ回収領域を特定可能なディスクマップを生成するディスクマップ生成手段と、
前記仮想マシンイメージ生成手段が生成した前記仮想マシンイメージと前記ディスクマップ生成手段が生成した前記ディスクマップとを前記第2の装置に配付する仮想マシンイメージ配付手段とを備え、
前記第2の装置は、
前記仮想マシンイメージ配付手段から配付された前記仮想マシンイメージを基に仮想マシンを実行する仮想マシンイメージ実行手段と、
前記ディスクマップで特定される前記データ回収領域のデータを前記サーバ装置に送信するユーザデータ送信手段とを備えた
ことを特徴とする仮想マシン運用システム。
【請求項8】
前記第2の装置は、前記仮想マシンイメージ実行手段を監視し、仮想マシンの実行の終了時に、前記ユーザデータ送信手段に、前記データ回収領域のデータの送信指示を行うユーザログイン手段を備えた
請求項7記載の仮想マシン運用システム。
【請求項9】
前記サーバ装置は、前記仮想マシンイメージ配付手段が仮想マシンイメージを配付した前記第2の装置におけるディスクイメージを指定して削除指示を示すメッセージを前記第2の装置に送信する削除指示手段を備え、
前記第2の装置は、前記削除指示を示すメッセージを受信したことに応じて、当該ディスクイメージを削除するイメージ削除手段を備えた
請求項7または請求項8に記載の仮想マシン運用システム。
【請求項10】
前記第2の装置は、ディスクイメージを削除するイメージ削除手段と、前記仮想マシンイメージ実行手段を監視し、仮想マシンの実行の終了時に、前記イメージ削除手段に削除指示を出すユーザログイン手段とを備えた
請求項7または請求項8に記載の仮想マシン運用システム。
【請求項11】
前記サーバ装置は、新たなオペレーティングシステムディスクイメージおよびアプリケーションディスクイメージを生成するための仮想マシン部品生成手段を備えた
請求項7から請求項10のうちのいずれか1項に記載の仮想マシン運用システム。
【請求項12】
前記第2の装置は、通信ネットワークを介して前記サーバ装置と通信可能に接続される仮想マシン実行サーバであり、
前記仮想マシン実行サーバに前記通信ネットワークを介して通信可能に接続され、前記仮想マシン実行サーバにおける前記仮想マシンイメージ実行手段で実行されている仮想マシンを遠隔操作するクライアント装置を備えた
請求項7から請求項11のうちのいずれか1項に記載の仮想マシン運用システム。
【請求項13】
サーバ装置が、仮想マシンイメージを生成して、前記仮想マシンイメージを基に仮想マシンを実行する第2の装置に前記仮想マシンイメージを配付する仮想マシン運用システムにおいて、
前記サーバ装置は、
ユーザIDもしくはグループID、または前記ユーザIDと前記グループIDの組み合わせに応じて、ユーザデータディスクイメージ領域と他のディスクイメージ領域とを区別可能に前記仮想マシンイメージを生成する仮想マシンイメージ生成手段と、
前記ユーザデータディスクイメージ領域におけるデータ回収領域を特定可能なディスクマップを生成するディスクマップ生成手段と、
前記仮想マシンイメージ生成手段が生成した前記仮想マシンイメージを前記第2の装置に配付する仮想マシンイメージ配付手段と、
前記ユーザIDもしくは前記グループID、または前記ユーザIDと前記グループIDの組み合わせを指定して前記データ回収領域のユーザデータ回収の指示を出すユーザデータ受信手段とを備え、
前記第2の装置は、
前記仮想マシンイメージ配付手段から配付された前記仮想マシンイメージを基に仮想マシンを実行する仮想マシンイメージ実行手段と、
前記ユーザデータ回収の指示を受けたときに、該当する前記ユーザIDもしくは前記グループID、または前記ユーザIDと前記グループIDの組み合わせに対応する前記仮想マシンイメージを保持していた場合に、前記ディスクマップで前記データ回収領域を特定し、前記データ回収領域のデータを前記サーバ装置に送信するユーザデータ送信手段とを備えた
ことを特徴とする仮想マシン運用システム。
【請求項14】
前記サーバ装置は、前記データ回収領域のユーザデータ回収の指示と同時に、前記ユーザIDもしくは前記グループID、または前記ユーザIDと前記グループIDの登録を削除するユーザ管理手段を備えた
請求項13に記載の仮想マシン運用システム。
【請求項15】
サーバ装置が、仮想マシンイメージを生成して、前記仮想マシンイメージを基に仮想マシンを実行する第2の装置に前記仮想マシンイメージを配付する仮想マシン運用方法において、
前記サーバ装置が、ユーザデータディスクイメージ領域と他のディスクイメージ領域とを区別可能に仮想マシンイメージを生成し、
前記サーバ装置が、前記ユーザデータディスクイメージ領域におけるデータ回収領域を特定可能なディスクマップを生成し、
前記サーバ装置が、生成した前記仮想マシンイメージと前記ディスクマップとを前記第2の装置に配付し、
前記第2の装置が、前記サーバ装置から配付された前記仮想マシンイメージを基に仮想マシンを実行し、
前記第2の装置が、前記ディスクマップで前記データ回収領域を特定し、前記データ回収領域のデータを前記サーバ装置に送信する
ことを特徴とする仮想マシン運用方法。
【請求項16】
前記第2の装置が、前記仮想マシンイメージの実行を監視し、仮想マシンの実行の終了時に、前記データ回収領域のデータの送信指示を行う
請求項15記載の仮想マシン運用方法。
【請求項17】
前記サーバ装置が、前記仮想マシンイメージを配付した前記第2の装置におけるディスクイメージを指定して削除指示を示すメッセージを前記第2の装置に送信し、
前記第2の装置が、前記削除指示を示すメッセージを受信したことに応じて、当該ディスクイメージを削除する
請求項15または請求項16に記載の仮想マシン運用方法。
【請求項18】
前記第2の装置が、仮想マシンの実行を監視し、仮想マシンの実行の終了時にディスクイメージを削除する
請求項15または請求項16に記載の仮想マシン運用方法。
【請求項19】
前記サーバ装置は、新たなオペレーティングシステムディスクイメージおよびアプリケーションディスクイメージを生成する
請求項15から請求項18のうちのいずれか1項に記載の仮想マシン運用方法。
【請求項20】
前記第2の装置の機能を、通信ネットワークを介して前記サーバ装置と通信可能に接続される仮想マシン実行サーバによって実行し、
前記仮想マシン実行サーバで実行されている仮想マシンをクライアント装置で遠隔操作する
請求項15から請求項19のうちのいずれか1項に記載の仮想マシン運用方法。
【請求項21】
サーバ装置が、仮想マシンイメージを生成して、前記仮想マシンイメージを基に仮想マシンを実行する第2の装置に前記仮想マシンイメージを配付する仮想マシン運用方法において、
前記サーバ装置が、ユーザIDもしくはグループID、または前記ユーザIDと前記グループIDの組み合わせに応じて、ユーザデータディスクイメージ領域と他のディスクイメージ領域とを区別可能に仮想マシンイメージを生成し、
前記サーバ装置が、前記ユーザデータディスクイメージ領域におけるデータ回収領域を特定可能なディスクマップを生成し、
前記サーバ装置が、生成した前記仮想マシンイメージと前記ディスクマップとを前記第2の装置に配付し、
前記第2の装置が、前記サーバ装置から配付された前記仮想マシンイメージを基に仮想マシンを実行し、
前記サーバ装置が、前記ユーザIDもしくは前記グループID、または前記ユーザIDと前記グループIDの組み合わせを指定してユーザデータ回収の指示を出し、
前記第2の装置が、前記ユーザデータ回収の指示を受けたときに、該当する前記ユーザIDもしくは前記グループID、または前記ユーザIDと前記グループIDの組み合わせに対応する前記仮想マシンイメージを保持していた場合に、前記ディスクマップで前記データ回収領域を特定し、前記データ回収領域のデータを前記サーバ装置に送信する
ことを特徴とする仮想マシン運用方法。
【請求項22】
前記ユーザIDもしくは前記グループID、または前記ユーザIDと前記グループIDの組み合わせを用いて認証を行う仮想マシン運用方法において、
前記データ回収領域の回収と同時に、前記ユーザIDもしくは前記グループID、または前記ユーザIDと前記グループIDの登録を削除する
請求項21に記載の仮想マシン運用方法。
【請求項23】
仮想マシンイメージを生成して、前記仮想マシンイメージを基に仮想マシンを実行する第2の装置に前記仮想マシンイメージを配付するサーバ装置に、
ユーザデータディスクイメージ領域と他のディスクイメージ領域とを区別可能に仮想マシンイメージを生成する処理と、
前記ユーザデータディスクイメージ領域におけるデータ回収領域を特定可能なディスクマップを生成する処理と、
生成した前記仮想マシンイメージと前記ディスクマップとを前記第2の装置に配付する処理とを
実行させるための仮想マシンイメージ配付プログラム。
【請求項24】
ユーザデータディスクイメージ領域と他のディスクイメージ領域とを区別可能生成された仮想マシンイメージと、データ書込禁止領域を特定可能なディスクマップとを生成するサーバ装置から前記仮想マシンイメージおよび前記ディスクマップの配付を受け、前記仮想マシンイメージを基に仮想マシンを実行するクライアント装置に、
前記サーバ装置から配付された前記仮想マシンイメージを基に仮想マシンを実行する処理と、
前記ディスクマップでデータ回収領域を特定し、前記データ回収領域のデータを前記サーバ装置に送信する処理と
を実行させるための仮想マシン実行プログラム。
【請求項25】
ユーザデータディスクイメージ領域と他のディスクイメージ領域とを区別可能生成された仮想マシンイメージと、データ書込禁止領域を特定可能なディスクマップとを生成するサーバ装置から前記仮想マシンイメージおよび前記ディスクマップの配付を受け、前記仮想マシンイメージを基に仮想マシンを実行するクライアント装置に、
前記サーバ装置から配付された前記仮想マシンイメージを基に仮想マシンを実行する処理と、
仮想マシン実行終了時に、前記ディスクマップでデータ回収領域を特定し、前記データ回収領域のデータを前記サーバ装置に送信する処理と
を実行させるための仮想マシン実行プログラム。
【請求項26】
ユーザデータディスクイメージ領域と他のディスクイメージ領域とを区別可能生成された仮想マシンイメージと、データ書込禁止領域を特定可能なディスクマップとを生成するサーバ装置から前記仮想マシンイメージおよび前記ディスクマップの配付を受け、前記仮想マシンイメージを基に仮想マシンを実行するクライアント装置に、
前記サーバ装置から配付された前記仮想マシンイメージを基に仮想マシンを実行する処理と、
ユーザIDもしくはグループID、または前記ユーザIDと前記グループIDの組み合わせを指定してユーザデータ回収を示すメッセージを受信したことに応じて、前記ユーザIDもしくは前記グループID、または前記ユーザIDと前記グループIDの組み合わせに対応する前記仮想マシンイメージを保持していた場合に、前記ディスクマップでデータ回収領域を特定し、前記データ回収領域のデータを前記サーバ装置に送信する処理と
を実行させるための仮想マシン実行プログラム。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate

【図10】
image rotate

【図11】
image rotate

【図12】
image rotate

【図13】
image rotate

【図14】
image rotate

【図15】
image rotate

【図16】
image rotate

【図17】
image rotate

【図18】
image rotate

【図19】
image rotate

【図20】
image rotate

【図21】
image rotate

【図22】
image rotate

【図23】
image rotate

【図24】
image rotate

【図25】
image rotate

【図26】
image rotate

【図27】
image rotate

【図28】
image rotate

【図29】
image rotate

【図30】
image rotate


【公開番号】特開2013−80528(P2013−80528A)
【公開日】平成25年5月2日(2013.5.2)
【国際特許分類】
【出願番号】特願2013−22651(P2013−22651)
【出願日】平成25年2月7日(2013.2.7)
【分割の表示】特願2009−506196(P2009−506196)の分割
【原出願日】平成19年12月14日(2007.12.14)
【出願人】(000004237)日本電気株式会社 (19,353)
【Fターム(参考)】