(57)【要約】【課題】システム・プログラムの更新をＵＳＢメモリなどの可搬記憶媒体に保存する一方、ユーザ・データが残らないように保証する。【解決手段】アプリケーション・データを含むシステム・データが最新であるか判断する工程と、システム・データが最新ではないと判断された場合には、ユーザ入力の受け付けを遮断させる工程と、システム・データの更新データを、アップデート・サーバからネットワーク経由で取得させ、システム・データの更新を実施させる工程と、システム・データの更新完了を検出すると、システム・データが記録されており且つユーザ・データが格納され得るデータ記録部をシステム・データの更新完了時における状態へ復元させるためのスナップショット・データをデータ記録部内に確保させる工程と、スナップショット・データがデータ記録部に確保された後に、ユーザ入力の受け付け遮断を停止させる工程とを実行する。【選択図】図１
2009122749.tif 000002
【特許請求の範囲】
【請求項１】
アプリケーション・データを含むシステム・データが最新であるか判断するステップと、
前記システム・データが最新ではないと判断された場合には、ユーザ入力の受け付けを遮断させるステップと、
前記システム・データの更新データを、アップデート・サーバからネットワーク経由で取得させ、前記システム・データの更新を実施させるステップと、
前記システム・データの更新完了を検出すると、前記システム・データが記録されており且つユーザ・データが格納され得るデータ記録部を前記システム・データの更新完了時における状態へ復元させるためのスナップショット・データを前記データ記録部内に確保させるステップと、
前記スナップショット・データが前記データ記録部に確保された後に、前記ユーザ入力の受け付け遮断を停止させるステップと、
をコンピュータに実行させるためのプログラム。
【請求項２】
前記システム・データに基づくシステムの終了を検出すると、前記スナップショット・データにより前記システム・データの更新完了時における状態に前記データ記録部を復元するステップ
をさらにコンピュータに実行させるための請求項１記載のプログラム。
【請求項３】
前記データ記録部が、前記コンピュータにユニバーサル・シリアル・バスで接続される可搬記憶媒体である
請求項１記載のプログラム。
【請求項４】
前記システム・データに基づくシステムの起動時に、前記データ記録部が、前記システム・データの更新完了時における状態に復元されているか判断するステップと、
前記データ記録部が、前記システム・データの更新完了時における状態に復元されていない場合には、前記スナップショット・データにより前記システム・データの更新時における状態に復元するステップと、
をさらにコンピュータに実行させるための請求項２記載のプログラム。
【請求項５】
前記システム・データに基づくシステムの起動時に、ネットワークを介して管理サーバに前記データ記録部の利用開始を登録させるステップと、
前記システム・データに基づくシステムの終了を検出すると、前記ネットワークを介して前記管理サーバに前記データ記録部の利用終了を登録させるステップと、
をさらにコンピュータに実行させるための請求項１記載のプログラム。
【請求項６】
第１の仮想マシン制御プログラムと、
仮想マシンと、
仮想マシン上で動作するシステム・プログラムと、
前記システム・プログラム上で動作する第２の仮想マシン制御プログラムと、
を含むプログラムであって、
前記第１の仮想マシン制御プログラムが、
前記システム・プログラムが最新であるか判断するステップと、
前記システム・プログラムが最新ではないと判断された場合には、ユーザ入力の受け付けを前記仮想マシンに遮断させるステップと、
をコンピュータに実行させ、
前記第２の仮想マシン制御プログラムが、
前記システム・プログラムの更新データを、アップデート・サーバからネットワーク経由で取得させ、前記システム・プログラムの更新を実施させるステップ
を前記コンピュータに実行させ、
前記第１の仮想マシン制御プログラムが、さらに、
前記システム・プログラムの更新完了を検出すると、前記システム・プログラムが記録されており且つユーザ・データが格納され得るデータ記録部を前記システム・プログラムの更新完了時における状態へ復元させるためのスナップショット・データを、前記仮想マシンに前記データ記録部内に確保させるステップと、
前記スナップショット・データが前記データ記録部に確保された後に、前記ユーザ入力の受け付け遮断を前記仮想マシンに停止させるステップと、
をさらに前記コンピュータに実行させるプログラム。
【請求項７】
アプリケーション・データを含むシステム・データが最新であるか判断するステップと、
前記システム・データが最新ではないと判断された場合には、ユーザ入力の受け付けを遮断させるステップと、
前記システム・データの更新データを、アップデート・サーバからネットワーク経由で取得させ、前記システム・データの更新を実施させるステップと、
前記システム・データの更新完了を検出すると、前記システム・データが記録されており且つユーザ・データが格納され得るデータ記録部を前記システム・データの更新完了時における状態へ復元させるためのスナップショット・データを前記データ記録部内に確保させるステップと、
前記スナップショット・データが前記データ記録部に確保された後に、前記ユーザ入力の受け付け遮断を停止させるステップと、
をコンピュータに実行させるためのプログラムを前記データ記憶部に格納し、前記コンピュータとユニバーサル・シリアル・バスで接続され得る可搬記憶媒体。
【請求項８】
アプリケーション・データを含むシステム・データが最新であるか判断するステップと、
前記システム・データが最新ではないと判断された場合には、ユーザ入力の受け付けを遮断させるステップと、
前記システム・データの更新データを、アップデート・サーバからネットワーク経由で取得させ、前記システム・データの更新を実施させるステップと、
前記システム・データの更新完了を検出すると、前記システム・データが記録されており且つユーザ・データが格納され得るデータ記録部を前記システム・データの更新完了時における状態へ復元させるためのスナップショット・データを前記データ記録部内に確保させるステップと、
前記スナップショット・データが前記データ記録部に確保された後に、前記ユーザ入力の受け付け遮断を停止させるステップと、
を含み、コンピュータにより実行される制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、可搬記憶媒体を用いる場合におけるセキュリティ保持技術に関する。
【背景技術】
【０００２】
ＵＳＢ（Universal Serial bus：ユニバーサル・シリアル・バス）メモリやポータブルＨＤＤ（Hard Disk Drive）のような可搬記憶媒体の記憶容量は年々増加し、ＵＳＢメモリでも数十ギガバイトのフラッシュメモリを搭載している製品もある。価格も低下しており、このような可搬記憶媒体にアプリケーションや仮想マシン等を搭載して動作させるような利用が普及しつつある。
【０００３】
このような状況において、ＵＳＢメモリにＯＳ（Operating System）イメージやアプリケーション（システム・プログラムとも呼ぶ。また、システム・プログラムのデータをシステム・データとも呼ぶ。）とユーザ・ドキュメント（ユーザ・データとも呼ぶ。例えば、ユーザが自分で作成したドキュメントやプログラム・ソース、ユーザが顧客から取得した顧客データ等。）を混在させて利用することも可能となってきており、システム・プログラムが組み込まれたＵＳＢメモリも登場してきている。
【０００４】
ＵＳＢメモリなどは、外部に持ち運ぶため盗難や紛失の可能性が高いが、その際の情報漏洩防止のため、ＵＳＢメモリ内のデータを暗号化しておくものもある。このような製品では、ユーザ認証に成功した後にＵＳＢメモリ内のデータを閲覧可能にする。さらに、ＵＳＢメモリに搭載される生体認証と連携してメモリをホスト側に公開するなどセキュリティを考慮した製品も登場してきている。
【０００５】
しかし、企業で利用するケースを考えると、暗号化した状態でもユーザ・データをＵＳＢメモリに保存したくないという要望がある。
【０００６】
そのため、ＵＳＢメモリにはシステム・プログラムだけを搭載し、ユーザ・データを保存させないようなシステムも可能である。しかし、この場合、システム・プログラムを使って作成したユーザ・データをローカル・ホスト上に保存するか、ネットワークの先にあるファイル・サーバに保存する必要がある。ローカル・ホスト上に保存するとポータビリティが無くなり、ファイル・サーバに保存するとパフォーマンスが低下する。
【０００７】
そこで、ＵＳＢメモリをＰＣ（Personal Computer）で利用しているときには、ＵＳＢメモリにユーザ・データを保存することを許可し、ＵＳＢメモリをＰＣから外してＵＳＢメモリの利用を終了した時には、利用時に保存していたデータを消去する。そして、ユーザは作業が終わったときに、作成したユーザ・データをファイル・サーバにアップすることによって、データを保存することとする。これにより、作業中はパフォーマンスが低下することがなく、ＵＳＢメモリにもユーザ・データが残らない。
【０００８】
しかしながら、まだ完全に問題が解決したわけではない。通常、システム・プログラムは更新しなければならない。例えば、ＯＳのアップデートなどである。しかし、このシステム・プログラム更新とユーザ・データ更新を区別できない。
【０００９】
具体的に、システム・プログラムを更新するモジュールであるアップデータがファイルＡ及びＢを更新し、ユーザ・データを更新するプログラムとしてワープロ・アプリケーションがファイルＣ及びＤを更新する場合を考える。ここで、ＯＳは、アップデータがシステム・プログラムのファイルＡ及びＢを更新していることと、ワープロ・アプリケーションがユーザ・データを更新していることを認識していない。また、アップデータは、システム・プログラムを更新していることを認識しているが、他のアプリケーション（ワープロ・アプリケーションを含む）が、ファイルＣ及びＤを更新していることを認識できない。同様に、ワープロ・アプリケーションは、ユーザ・データを更新していることを認識しているが、アップデータがシステム・プログラムのファイルＡ及びＢを更新していることを認識できない。
【００１０】
すなわち、ＯＳとそのプロセスからなるシステムでは、どのファイルがシステム更新のためのファイルで、どのファイルがユーザによって更新されたファイルであるかが明確ではなく、システム・プログラム更新とユーザデータ更新を区別できない。従って、システム・プログラムの更新をＵＳＢメモリ内に保存する一方、ユーザ・データが残らないようにすることは自動では困難である。
【００１１】
なお、特開２００３−３４５６００号公報には、パソコン起動中のアプリケーションプログラムの使用状態を考慮することなくＢＩＯＳプログラムのようなシステムプログラムを更新可能なシステムプログラム更新方法が開示されている。具体的には、ＢＩＯＳ―ＲＯＭの書き換えが終了すると、パソコン上で起動されているアプリケーションプログラムのデータや、デバイスのデータをＨＤＤに保存し、パソコンの電源を遮断する。所定時間後にパソコンに電源が投入され、パソコンの起動処理が行われる。この際に、ＨＤＤに保存されている電源遮断前のアプリケーションデータ、デバイスデータをメインメモリに移動する。しかし、上で述べたような問題を解決できるわけではない。
【特許文献１】特開２００３−３４５６００号公報
【発明の開示】
【発明が解決しようとする課題】
【００１２】
よって、本発明の目的は、システム・プログラムの更新をＵＳＢメモリなどの可搬記憶媒体に保存する一方、ユーザ・データが残らないように保証するための技術を提供することである。
【課題を解決するための手段】
【００１３】
本発明の第１の態様に係るプログラムは、アプリケーション・データを含むシステム・データが最新であるか判断するステップと、システム・データが最新ではないと判断された場合には、ユーザ入力の受け付けを遮断させるステップと、システム・データの更新データを、アップデート・サーバからネットワーク経由で取得させ、システム・データの更新を実施させるステップと、システム・データの更新完了を検出すると、システム・データが記録されており且つユーザ・データが格納され得るデータ記録部をシステム・データの更新完了時における状態へ復元させるためのスナップショット・データをデータ記録部内に確保させるステップと、スナップショット・データがデータ記録部に確保された後に、ユーザ入力の受け付け遮断を停止させるステップとをコンピュータに実行させるものである。
【００１４】
このようにシステム・データの更新時間と、ユーザ・データの更新時間とを区別することによって、システム・データの更新結果をスナップショット・データとして確保して、システム終了時には、更新完了時における状態へ復元させることができるようになる。すなわち、システム・プログラムの更新をデータ記憶部に保持する一方、ユーザ・データが残らないように保証することができるようになる。
【００１５】
また、システム・データに基づくシステムの終了を検出すると、スナップショット・データによりシステム・データの更新完了時における状態にデータ記録部を復元するステップをさらにコンピュータに実行させるようにしてもよい。データ記録部におけるデータ管理は、（１）更新完了時における状態保存用のシステム・データと、ユーザ・データを含む差分データとを管理する方法と、（２）更新完了時における状態保存用のシステム・データと、ユーザ・データ及び作業用の全システム・データとを管理する方法とがあるが、いずれであってもよい。
【００１６】
さらに、データ記録部は、コンピュータにユニバーサル・シリアル・バスで接続される可搬記憶媒体である場合もある。ＵＳＢメモリでもＵＳＢ−ＨＤＤであってもよい。
【００１７】
また、システム・データに基づくシステムの起動時に、データ記録部が、システム・データの更新完了時における状態に復元されているか判断するステップと、データ記録部が、システム・データの更新完了時における状態に復元されていない場合には、スナップショット・データによりシステム・データの更新時における状態に復元するステップとをさらにコンピュータに実行させるようにしてもよい。例えば、スナップショット・データを用いた復元処理をシステム終了時に実行せずに、例えばＵＳＢメモリをＰＣから引き抜くなど異常終了させた場合には、データ記録部にユーザ・データが残ってしまう場合がある。従って、システムの起動時に上で述べたような処理を自動的に実施することによって、異常終了に対処して、ユーザ・データが不正に読み出されることがないようにすることができる。
【００１８】
さらに、システム・データに基づくシステムの起動時に、ネットワークを介して管理サーバにデータ記録部の利用開始を登録させるステップと、システム・データに基づくシステムの終了を検出すると、ネットワークを介して管理サーバにデータ記録部の利用終了を登録させるステップとをさらにコンピュータに実行させるようにしてもよい。このように管理サーバで、データ記録部の利用状況を管理することができるようになる。例えば、利用終了を登録せずに、再度利用開始を登録するようにした場合には、不正な終了を行っているので、利用開始できないように設定するなどの処置を実施するようにしても良い。
【００１９】
本発明の第２の態様に係るプログラムは、第１の仮想マシン制御プログラムと、仮想マシンと、仮想マシン上で動作するシステム・プログラムと、システム・プログラム上で動作する第２の仮想マシン制御プログラムとを含む。そして、第１の仮想マシン制御プログラムが、システム・プログラムが最新であるか判断するステップと、システム・プログラムが最新ではないと判断された場合には、ユーザ入力の受け付けを仮想マシンに遮断させるステップとをコンピュータに実行させる。また、第２の仮想マシン制御プログラムが、システム・プログラムの更新データを、アップデート・サーバからネットワーク経由で取得させ、システム・プログラムの更新を実施させるステップをコンピュータに実行させる。また、第１の仮想マシン制御プログラムが、さらに、システム・プログラムの更新完了を検出すると、システム・プログラムが記録されており且つユーザ・データが格納され得るデータ記録部をシステム・プログラムの更新完了時における状態へ復元させるためのスナップショット・データを、仮想マシンにデータ記録部内に確保させるステップと、スナップショット・データがデータ記録部に確保された後に、ユーザ入力の受け付け遮断を仮想マシンに停止させるステップとをさらにコンピュータに実行させる。
【００２０】
なお、上記プログラムは、基本的にはＵＳＢメモリなどの可搬記憶媒体に格納されて流通するものであるが、例えばフレキシブルディスク、ＣＤ−ＲＯＭ、光磁気ディスク、半導体メモリ、ハードディスク等の記憶媒体又は記憶装置に格納されて流通する場合もある。また、ネットワークなどを介してデジタル信号として配信される場合もある。尚、中間的な処理結果はメインメモリ等の記憶装置に一時保管される。
【発明の効果】
【００２１】
本発明によれば、システム・プログラムの更新をＵＳＢメモリなどの可搬記憶媒体に保存する一方、ユーザ・データが残らないように保証することができるようになる。
【発明を実施するための最良の形態】
【００２２】
図１に本発明の一実施の形態に係るシステムの概要を示す。ＰＣ３００は、例えばインターネットなどのネットワーク１を介してファイルサーバ４００及びＯＳやアプリケーション等のシステム・プログラムの更新データ等を保持するアップデートサーバ５００と接続されている。ＰＣ３００は、外部端子としてＵＳＢ端子を有しており、例えばＵＳＢメモリやＵＳＢ接続のポータブルＨＤＤである可搬記憶媒体１００と接続可能となっている。可搬記憶媒体１００は、ＰＣ３００に対してメモリが接続されたことを認識させるためのＵＳＢターゲット・コントローラ１０２と、記憶領域２００とを有する。ＵＳＢターゲット・コントローラ１０２は、周知であるからこれ以上述べない。初期状態における記憶領域２００には、第１仮想マシン制御アプリケーション２０３と、仮想マシン２０４と、ＯＳ上で動作するアプリケーションなどを含む仮想マシン用ＯＳイメージ２０５とが格納されている。なお、仮想マシン用ＯＳイメージ２０５には、第１仮想マシン制御アプリケーション２０３と連携し、仮想マシン上で動作する第２仮想マシン制御アプリケーション２０６が含まれる。
【００２３】
次に、図２乃至図１９を用いて、可搬記憶媒体１００をＰＣ３００に接続させた場合の処理を説明する。まず、ユーザは、可搬記憶媒体１００をＰＣ３００のＵＳＢ端子に挿入する。ＰＣ３００は、可搬記憶媒体１００の挿入を受け付け（ステップＳ１）、第１仮想マシン制御アプリケーション２０３をＰＣ３００のＯＳ上で起動させる（ステップＳ３）。第１仮想マシン制御アプリケーション２０３は、ＰＣ３００のＯＳ上のプロセスである第１仮想マシン制御アプリケーション３０３として起動される（ステップＳ５）。なお、記憶領域２００にアクセスする前に、ユーザ認証を実施するようにしても良い。また、第１仮想マシン制御アプリケーション２０３の起動については、図２のように自動起動であってもよいし、ユーザの指示により起動するようにしても良い。図３にステップＳ５完了時の状態を模式的に示す。ＰＣ３００に可搬記憶媒体１００が接続され、ＰＣ３００のＯＳ上にプロセスとして第１仮想マシン制御アプリケーション３０３が起動されている様子が示されている。
【００２４】
また、第１仮想マシン制御アプリケーション３０３は、仮想マシン２０４を起動させる（ステップＳ７）。仮想マシン２０４は、ＰＣ３００のＯＳ上のプロセスである仮想マシン３０４として起動される（ステップＳ９）。さらに、仮想マシン３０４は、仮想マシン用ＯＳイメージ２０５をロードして起動させる（ステップＳ１１）。仮想マシン用ＯＳイメージ３０５は、仮想マシン３０４上にロードされ起動された仮想マシン用ＯＳイメージ２０５であり、仮想マシン用ＯＳ３０５’として動作する（ステップＳ１３）。仮想マシン用ＯＳ３０５’は、第２仮想マシン制御アプリケーション２０６を、仮想マシン用ＯＳ３０５’上で起動させる（ステップＳ１５）。第２仮想マシン制御アプリケーション３０６は、仮想マシン用ＯＳ３０５’上のプロセスとして起動される（ステップＳ１７）。
【００２５】
この段階で、第１仮想マシン制御アプリケーション３０３と第２仮想マシン制御アプリケーション３０６とは、通信セッション３１０を生成する。通信セッションの生成方法としては、ソケットを用いる方法やプロセス間共有メモリを利用することによって実現できる。この段階まで処理が進んだ後の状態を図４に模式的に示す。図４に示すように、第１仮想マシン制御アプリケーション３０３と仮想マシン３０４とは、ＰＣ３００のＯＳ上のプロセスとして動作し、仮想マシン用ＯＳイメージ３０５は、仮想マシン３０４上に起動されている。さらに、第２仮想マシン制御アプリケーション３０６は、仮想マシン用ＯＳ３０５’上のプロセスとして動作する。第１仮想マシン制御アプリケーション３０３と第２仮想マシン制御アプリケーション３０６とは通信セッション３１０を有しており、互いに通信することができるようになっている。
【００２６】
次に、第１仮想マシン制御アプリケーション３０３は、仮想マシン用ＯＳイメージ３０５が最新か否かを確認する確認要求を、通信セッション３１０を介して第２仮想マシン制御アプリケーション３０６に出力する（ステップＳ１９）。第２仮想マシン制御アプリケーション３０６は、第１仮想マシン制御アプリケーション３０３から確認要求を受信し（ステップＳ２１）、図５の処理に移行する。
【００２７】
図５の処理の説明に移行して、第２仮想マシン制御アプリケーション３０６は、ＯＳ等の最新状態情報をアップデートサーバ５００に要求する（ステップＳ２３）。アップデートサーバ５００は、ＰＣ３００からＯＳ等の最新状態情報の要求を受信すると（ステップＳ２５）、送信元のＰＣ３００に対してＯＳ等の最新状態情報を送信する（ステップＳ２７）。第２仮想マシン制御アプリケーション３０６は、アップデートサーバ５００からＯＳ等の最新状態情報を受信する（ステップＳ２９）。また、第２仮想マシン制御アプリケーション３０６は、仮想マシン用ＯＳイメージ３０５から現在のＯＳ状態情報（システムのバージョンやアップデート状況情報）を取得する（ステップＳ３１）。例えばレジストリや特定のファイルから読み出す。
【００２８】
そして、第２仮想マシン制御アプリケーション３０６は、ＯＳ等の最新状態情報と現在のＯＳ状態情報とを比較する（ステップＳ３３）。そして、比較結果を、通信セッション３１０を介して第１仮想マシン制御アプリケーション３０３に出力する（ステップＳ３５）。第１仮想マシン制御アプリケーション３０３は、ＯＳ等の最新状態情報と現在のＯＳ状態情報との比較結果を、第２仮想マシン制御アプリケーション３０６から受信し（ステップＳ３７）、入力抑制要求を仮想マシン３０４に出力する（ステップＳ４１）。仮想マシン３０４は、入力抑制要求を受け付け、入力抑制を実施する（ステップＳ４２）。また、第１仮想マシン制御アプリケーション３０３は、第２仮想マシン制御アプリケーション３０６から受信した比較結果が最新であることを示しているか確認する（ステップＳ４３）。最新である場合には端子Ｂを介して図８の処理に移行する。一方、最新ではない場合には、第１仮想マシン処理は端子Ｃを介して図７の処理に移行する。
【００２９】
入力抑制については例えば図６を用いて説明する。通常であれば、ＰＣ３００に接続されているキーボード３２０からキーボード入力がキーボード入力コントローラ３３１及びドライバ３３２を介してＰＣ３００のＯＳのプロセスである仮想マシン３０４に出力される（（１）乃至（３））。そして、キーボード入力データは仮想マシン３０４から仮想マシン用ＯＳイメージ３０５に転送される（（４））。第１仮想マシン制御アプリケーション３０３は、ステップＳ４２で、仮想マシン３０４に対して仮想マシン用ＯＳイメージ３０５への転送を抑制させる。キーボードだけではなく、同様にマウス入力も抑制するようにしてもよい。
【００３０】
このようにすることによって、仮想マシン用ＯＳイメージ３０５及び２０５が更新されている間、ＰＣ３００からの入力を抑制しているので、仮想マシン２０４上でアプリケーションが実行されることはない。すなわち、ユーザがドキュメントを新規に作成したり、ネットワーク１を介してファイルサーバ４００からドキュメントをダウンロードしたりすることができなくなる。
【００３１】
端子Ｃ以降の処理を図７を用いて説明する。第１仮想マシン制御アプリケーション３０３は、通信セッション３１０を介して第２仮想マシン制御アプリケーション３０６に、仮想マシン用ＯＳイメージ３０５の更新依頼を出力する（ステップＳ４５）。第２仮想マシン制御アプリケーション３０６は、第１仮想マシン制御アプリケーション３０３から仮想マシン用ＯＳイメージ３０５の更新依頼を受信し（ステップＳ４７）、仮想マシン用ＯＳイメージ３０５におけるアップデート用モジュールに対してＯＳ等の更新依頼を出力する（ステップＳ４９）。仮想マシン用ＯＳイメージ３０５におけるアップデートモジュールは、第２仮想マシン制御アプリケーション３０６からＯＳ等の更新依頼を受信すると（ステップＳ５１）、ＯＳ等の状態更新情報要求をアップデートサーバ５００に送信する（ステップＳ５３）。アップデートサーバ５００は、ＰＣ３００からＯＳ等の状態更新情報要求を受信すると（ステップＳ５５）、ＯＳ等の状態更新情報を送信元のＰＣ３００に送信する（ステップＳ５７）。この際、必要な認証処理を実施する場合もある。また、どのような情報を抽出して送信するかは、周知であるからここでは説明は省略する。仮想マシン用ＯＳイメージ３０５におけるアップデートモジュールは、アップデートサーバ５００からＯＳ等の状態更新情報を受信し、更新処理を実施する（ステップＳ５９）。アップデートサーバ５００は、状態更新情報を送信し終わると、更新終了通知を要求元のＰＣ３００に送信する（ステップＳ６１）。これに対して、仮想マシン用ＯＳイメージ３０５におけるアップデートモジュールは、更新終了通知を受信し（ステップＳ６３）、更新を終了する。処理は端子Ｄを介して図８の処理に移行する。
【００３２】
端子Ｄ以降の処理を図８を用いて説明する。仮想マシン用ＯＳイメージ３０５におけるアップデートモジュールは、更新終了通知を第２仮想マシン制御アプリケーション３０６に出力する（ステップＳ６５）。第２仮想マシン制御アプリケーション３０６は、仮想マシン用ＯＳイメージ３０５におけるアップデートモジュールから更新終了通知を受信すると（ステップＳ６７）、通信セッション３１０を介して第１仮想マシン制御アプリケーション３０３に更新終了通知を出力する（ステップＳ６９）。第１仮想マシン制御アプリケーション３０３は、第２仮想マシン制御アプリケーション３０６から更新終了通知を受信すると（ステップＳ７１）、スナップショット生成要求を仮想マシン３０４に出力する（ステップＳ７３）。仮想マシン３０４は、第１仮想マシン制御アプリケーション３０３からスナップショット生成要求を受信し、スナップショット・イメージを生成して、可搬記憶媒体１００の記憶領域２００に格納する（ステップＳ７５）。
【００３３】
スナップショット・データは、例えば図９に示すようなデータである。図９に示すように、スナップショット・イメージは、ＯＳ、ワープロアプリケーション、その他アプリケーションのイメージであり、ステップＳ７５の時点における仮想マシン用ＯＳイメージ２０５そのものである。仮想マシン用ＯＳイメージが最新ではなく更新が必要な場合には、ステップＳ５９で更新を行った後の仮想マシン用ＯＳイメージ２０５と同じスナップショット・データが生成される。仮想マシン用ＯＳイメージが最新であって更新が必要ない場合には、更新無しでスナップショット・イメージが生成される。
【００３４】
図１０に、記憶領域２００に格納される仮想マシン用ＯＳイメージ２０５及びスナップショット・データの推移を概念的に示す図を示す。ステップＳ７５より前には、図１０（ａ）に示すように、仮想マシン用ＯＳイメージ２０５である「Ａ」が記憶領域２００に格納されている。図９にも示したように、ステップＳ７５でスナップショット・イメージが生成されると、仮想マシン用ＯＳイメージ２０５である「Ａ」と同じスナップショット・イメージである「Ａ」が生成され、「Ａ」が２つ保持されるようになる。なお、Ａ（保存用）がスナップショット・イメージであり、Ａ（Ｃｕｒｒｅｎｔ）はこれから変更が加えられる可能性のある仮想マシン用ＯＳイメージ２０５である。以下については、以下で説明する処理にて説明する。
【００３５】
図８の説明に戻って、仮想マシン３０４は、スナップショット管理テーブルを更新する（ステップＳ７７）。スナップショット管理テーブルは、記憶領域２００に格納されている仮想マシン用ＯＳイメージ２０５及びスナップショット・イメージの管理を行うものである。仮想マシン用ＯＳイメージ２０５については、以下で述べるように様々なアプリケーションプログラムによってデータ書込が行われて更新される。このような更新については可搬記憶媒体１００をＰＣ３００から取り外した際には保存してはいけない更新であるから、別途スナップショット・イメージを保持しておき、当該スナップショット・イメージで記憶領域２００を元の状態に戻す。従って、図１１に示すように、スナップショット管理テーブル３５０は、いずれが復元用のスナップショット・イメージ（スナップショット・データとも呼ぶ）２０７であり、いずれが現在使用している仮想マシン用ＯＳイメージ２０５（Ｃｕｒｒｅｎｔ）であるかを特定するレコードを保持する。例えば、ステップＳ７７では、図１１に示すように、図１０の記法に従えば「Ａ（保存用）」−＞「Ａ（Ｃｕｒｒｅｎｔ）」というようなレコードを保持する。「Ａ（Ｃｕｒｒｅｎｔ）」が仮想マシン用ＯＳイメージ２０５を指しており、「Ａ（保存用）」がスナップショット・イメージ２０７を指している。なお、スナップショット管理テーブル３５０は、記憶領域２００にも格納される。
【００３６】
さらに、第１仮想マシン制御アプリケーション３０３は、入力抑制の停止指示を仮想マシン３０４に出力する（ステップＳ７９）。仮想マシン３０４は、入力抑制の停止指示を受信し、入力抑制を停止する（ステップＳ８１）。そして、図１２の処理に移行する。なお、端子Ａの後の処理も図１２の処理である。
【００３７】
図１２の処理の説明に移行して、ここでは、ユーザが、例えばワープロアプリケーションを選択して起動の指示をＰＣ３００に入力するものとする。このような場合、起動の指示は、仮想マシン３０４を介して仮想マシン用ＯＳ３０５’に伝えられ、ワープロアプリケーションは起動される（ステップＳ８１）。また、ここでは、ユーザが、ファイルサーバ４００に格納されている特定のドキュメント・ファイルを編集する場合を考える。すなわち、ユーザは、ファイルサーバ４００から特定のドキュメント・ファイルをダウンロードするように指示を入力する。そうすると、ワープロアプリケーションは、指示に応じて、特定のドキュメント・ファイルのダウンロードを、ファイルサーバ４００に要求する（ステップＳ８３）。ファイルサーバ４００は、特定のドキュメント・ファイルのダウンロード要求を受信し（ステップＳ８５）、要求されたドキュメント・ファイルを、要求元のＰＣ３００に送信する（ステップＳ８７）。ワープロアプリケーションは、ファイルサーバ４００からドキュメント・ファイルを受信して、表示装置に当該ドキュメントの内容を表示する（ステップＳ８９）。
【００３８】
さらに、ユーザは、作業用に可搬記憶媒体１００の記憶領域２００に、受信したドキュメント・ファイルを一旦保存することを指示するものとする。そうすると、指示に応じて、ワープロアプリケーションは、ドキュメント・ファイルの保存を仮想マシン用ＯＳ３０５’に要求する（ステップＳ９１）。仮想マシン用ＯＳ３０５’は、ワープロアプリケーションからの要求に応じて、可搬記憶媒体１００の記憶領域２００へドキュメント・ファイルを保存する（ステップＳ９３）。この段階で、図１０（ｃ）に示すように、可搬記憶媒体１００の記憶領域２００における仮想マシン用ＯＳイメージ２０５（すなわち右側の「Ａ（Ｃｕｒｒｅｎｔ）」）に変更が加えられて、「Ａ＋（変更後）」と記されるように変更が生ずる。
【００３９】
その後、ユーザは、ドキュメント・ファイルに対して編集を行って、ワープロアプリケーションは、編集指示に応じてドキュメント・ファイルの編集処理を実施する（ステップＳ９５）。そして、ユーザが保存を指示すると、ワープロアプリケーションは、当該指示に応じて編集結果の保存を仮想マシン用ＯＳ３０５’に要求する（ステップＳ９７）。仮想マシン用ＯＳ３０５’は、ワープロアプリケーションからの要求に応じて、可搬記憶媒体１００の記憶領域２００へ編集結果を保存する（ステップＳ９９）。ドキュメント・ファイルを可搬記憶媒体１００には保持しておけないことになっているので、編集が終了すると、ユーザは、ファイルサーバ４００へのアップロードをワープロアプリケーションに指示する。ワープロアプリケーションは、ユーザからの指示に従って、編集後のドキュメント・ファイルをファイルサーバ４００にアップロードする（ステップＳ１０１）。ファイルサーバ４００は、ＰＣ３００から編集後のドキュメント・ファイルを受信し、ファイルサーバ４００の記憶装置に格納する（ステップＳ１０３）。処理は、端子Ｅを介して図１３の処理に移行する。
【００４０】
図１３の処理の説明に移行して、可搬記憶媒体１００の使用が終了した場合には、ユーザは、まずワープロアプリケーションの終了を指示する。そうすると、ワープロアプリケーションは、当該指示に応じて終了される（ステップＳ１０５）。また、ユーザは、仮想マシン用ＯＳ３０５’の終了を指示し、仮想マシン用ＯＳ３０５’は、当該指示に応じて終了される（ステップＳ１０７）。また、仮想マシン３０４は、仮想マシン用ＯＳ３０５’の終了を検知すると（ステップＳ１０９）、可搬記憶媒体１００の記憶領域２００における仮想マシン用ＯＳイメージ２０５を削除して、保存用のスナップショット・イメージ２０７のみを残すことによって、スナップショットを１つ前に戻すための処理を実施する（ステップＳ１１１）。また、スナップショット管理テーブル３５０において、これまで変更してきた仮想マシン用ＯＳイメージ２０５に対応するレコードを削除するように更新する（ステップＳ１１３）。スナップショット管理テーブル３５０については、ＰＣ３００のメモリ上のテーブルだけではなく、可搬記憶媒体１００の記憶領域２００中のテーブルについても更新する。
【００４１】
この段階におけるシステムの状態を図１４に模式的に示す。図１４に示したように、スナップショット管理テーブル３５０において、仮想マシン用ＯＳイメージ２０５に対応するレコードである「Ａ（Ｃｕｒｒｅｎｔ）」は削除され、スナップショット・イメージ２０７に対応するレコードである「Ａ（保存用）」のみが残されている。これと同様の内容のスナップショット管理テーブル２５０が、可搬記憶媒体１００の記憶領域２００に保持されている。また、記憶領域２００において、仮想マシン用ＯＳイメージ２０５も、ユーザによって保存されたドキュメント・ファイルその他のデータを削除するために削除される。このようにして、図１０（ｃ）の状態から、仮想マシン用ＯＳイメージ２０５の更新を行った後の状態と同じ「Ａ」（図１０（ｄ））に戻る。
【００４２】
その後、仮想マシン３０４は、終了される（ステップＳ１１５）。また、第１仮想マシン制御アプリケーション３０３は、仮想マシン３０４の終了を検知して、終了される（ステップＳ１１７）。このような処理の後に、ユーザは、可搬記憶媒体１００をＰＣ３００から取り外して、持ち運ぶことができる。
【００４３】
以上のような処理を実施することによって、可搬記憶媒体１００の記憶領域２００に、ユーザ・データを残すことなく、仮想マシン用ＯＳイメージ２０５の更新については反映した後の状態を保持することができるようになる。従って、再度可搬記憶媒体１００をＰＣ３００に挿入した場合には、スナップショット・イメージ２０７を用いて起動させることができる。
【００４４】
但し、最後まで正常に上で述べた処理を終了させていればスナップショット・イメージ２０７が残って、スナップショット管理テーブル３５０のレコードがスナップショット・イメージ２０７を保持することを示すようになるが、ユーザその他の人間が、正常な終了処理を実施せずに強引に可搬記憶媒体１００をＰＣ３００から取り外すような場合もある。
【００４５】
このような場合には、ユーザ・データを含む仮想マシン用ＯＳイメージ２０５が残ったままで、スナップショット管理テーブル３５０にも、仮想マシン用ＯＳイメージ２０５に対応するレコードが残ってしまう。そうすると、後からユーザ・データが抽出されて、情報漏洩に繋がる場合がある。
【００４６】
そこで、例えば図２のステップＳ３の後に、図１５に示すような処理を実施する。すなわち、第１仮想マシン制御アプリケーション３０３は、スナップショット管理テーブル３５０をチェックして（ステップＳ２０１）、複数レコード存在しているか判断する（ステップＳ２０３）。なお、仮想マシン用ＯＳイメージが記憶領域２００に複数記憶されているか判断するようにしても良い。
【００４７】
ここで１つのレコードしかないと判断された場合には、特別な処理は不要で、次の処理を実施すればよい。一方、不正終了した場合には、図１６（ｂ）に示すように、ユーザ・データによる変更が含まれている可能性のある仮想マシン用ＯＳイメージ２０５に対応する「Ａ＋（Ｃｕｒｒｅｎｔ）」というレコードと、ＯＳの更新後のスナップショット・イメージ２０７に対応する「Ａ（保存用）」というレコードといったように複数のレコードが存在する場合がある。このような場合には、図１６（ａ）に示すように、記憶領域２００に、２つの仮想マシン用ＯＳイメージが残されている可能性がある。従って、複数のレコードが存在する場合には、第１仮想マシン制御アプリケーション３０３は、記憶領域２００において最新のスナップショット・イメージを削除する（ステップＳ２０５）。最新というのは、ユーザ・データによる変更が含まれるスナップショット・イメージということであり、仮想マシン用ＯＳイメージ２０５である。そして、スナップショット管理テーブル２５０において、削除したスナップショット・イメージに対応するレコードを削除するように更新する（ステップＳ２０７）。そして、次の処理に移行する。
【００４８】
このような処理を実施することによって、必ず仮想マシン用ＯＳイメージを読み出すまでに、可搬記憶媒体１００の記憶領域２００には、ユーザ・データを含まない仮想マシン用ＯＳイメージのみが格納される状態に復元することができ、不正にユーザ・データを読み出すことを防止することができるようになる。
【００４９】
また、企業の従業員がユーザである場合には、企業側が可搬記憶媒体１００の利用状況を把握して、情報漏洩の防止に利用する場合もある。このような場合には、図１７に示すように、ネットワーク１に、新たに管理サーバ６００を設け、また可搬記憶媒体１００の記憶領域２００に、以下で説明するような処理を実施する第１仮想マシン制御アプリケーション２０３ｂを設ける。
【００５０】
このような場合には、図２のステップＳ３の後に図１８で示すステップＳ３０１乃至Ｓ３１１が実行され、図１３のステップＳ１１７の前に、図１８で示すステップＳ３１３乃至Ｓ３１７が実行される。
【００５１】
第１仮想マシン制御アプリケーション２０３ｂから、プロセスとして第１仮想マシン制御アプリケーション３０３ｂがＰＣ３００上で起動されると、当該第１仮想マシン制御アプリケーション３０３ｂは、起動日時及び可搬記憶媒体１００の識別情報（例えば製造番号など）を含む利用開始通知を生成して、管理サーバ６００に送信する（ステップＳ３０１）。管理サーバ６００は、ＰＣ３００から利用開始通知を受信し、例えばメインメモリなどの記憶装置に格納する（ステップＳ３０３）。そして、乱数を発生させ（ステップＳ３０５）、利用開始通知に含まれる起動日時及び可搬記憶媒体１００の識別情報と乱数とを、例えば管理テーブルに格納する（ステップＳ３０７）。そして、管理サーバ６００は、乱数を利用開始通知の送信元であるＰＣ３００に送信する（ステップＳ３０９）。
【００５２】
ＰＣ３００の第１仮想マシン制御アプリケーション３０３ｂは、管理サーバ６００から乱数を受信し、メインメモリ又は可搬記憶媒体１００の記憶領域２００に格納する（ステップＳ３１１）。
【００５３】
一方、第１仮想マシン制御アプリケーション３０３ｂを終了させる前に、第１仮想マシン制御アプリケーション３０３ｂは、仮想マシン３０４の終了を検知すると、ステップＳ３１１で受信した乱数と可搬記憶媒体１００の識別情報と利用終了日時とを含む利用終了通知を生成し、管理サーバ６００に送信する（ステップＳ３１３）。管理サーバ６００は、ＰＣ３００から乱数と可搬記憶媒体１００の識別情報と利用終了日時とを含む利用終了通知を受信すると（ステップＳ３１５）、例えば可搬記憶媒体１００の識別情報で管理テーブルを検索して、乱数が正しいことを確認できれば、利用終了日時を管理テーブルの該当レコードに登録する（ステップＳ３１７）。
【００５４】
以上のような処理を実施すれば、管理サーバ６００に蓄積されるデータによって、可搬記憶媒体１００が適切に利用されているか判断することができる。具体的には、起動日時及び利用終了日時の対が登録されていない場合には、実際に使用中か、利用途中で正常終了していない場合であり、通常の利用時間を超えて利用終了日時が登録されない場合には、正常終了していないということが分かる。
【００５５】
さらに、利用終了日時が登録されていないレコードが存在するのに、同じ可搬記憶媒体１００について再度利用開始通知を受信したような場合には、途中で盗難などに遭った可能性もあるので、管理サーバ６００から第１仮想マシン制御アプリケーション２０３ｂにロック指示を送信して、仮想マシン２０４や仮想マシン用ＯＳイメージ２０５のロードを禁止したり、可搬記憶媒体１００へのアクセスを禁止するようにして、情報漏洩を防止するようにしても良い。さらに、管理サーバ６００とファイルサーバ４００とを連携させて、利用終了日時が登録されずに起動日時から通常の利用時間を超えた場合には、ファイルサーバ４００の該当ユーザの領域をロックするようにしても良い。
【００５６】
以上の例では、スナップショット生成において、仮想マシン用ＯＳイメージ２０５と同じデータを生成してスナップショット・イメージ２０７を生成する例を示したが、これでは可搬記憶媒体１００の記憶領域２００に仮想マシン用ＯＳイメージ２０５のほぼ２倍の記憶容量を必要とする。これでは、可搬記憶媒体１００が高価になってしまう。そこで、「Ａ」という仮想マシン用ＯＳイメージ２０５（図１９（ａ））について、スナップショットを生成すると、「Ａ」をリードオンリーの保存用として保持する（図１９（ｂ））。そして、ワープロアプリケーションなどによってユーザ・データの生成等によって変更が発生した場合には、変更部分のみを「ａ＋」として、仮想マシン用ＯＳイメージ２０５「Ａ」とは別に保持する（図１９（ｃ））。終了時には、変更部分の「ａ＋」を削除することによって、元の仮想マシン用ＯＳイメージ２０５「Ａ」を復元する（図１９（ｄ））。このようにすれば、必要となる記憶容量が「ａ＋」の分増加するだけになるので、使用する可搬記憶媒体１００の価格を下げることができる。
【００５７】
以上本発明の実施の形態を説明したが、本発明はこれに限定されるものではない。例えば、同じ結果を得られるのであれば、上で述べた処理ステップの順番を入れ替えたり、同時実行するようにしても良い。また、例えば、第１仮想マシン制御アプリケーション３０３と仮想マシン３０４の機能分担を変更するようにしても良い。
【００５８】
なお、上で述べたＰＣ３００、ファイルサーバ４００、アップデートサーバ５００、管理サーバ６００においては、図２０に示すように、メモリ２５０１（記憶部）とＣＰＵ２５０３（処理部）とハードディスク・ドライブ（ＨＤＤ）２５０５と表示装置２５０９に接続される表示制御部２５０７とリムーバブル・ディスク２５１１用のドライブ装置２５１３と入力装置２５１５とネットワークに接続するための通信制御部２５１７とがバス２５１９で接続されている。ＯＳ及びＷｅｂブラウザを含むアプリケーション・プログラムは、ＨＤＤ２５０５に格納されており、ＣＰＵ２５０３により実行される際にはＨＤＤ２５０５からメモリ２５０１に読み出される。必要に応じてＣＰＵ２５０３は、表示制御部２５０７、通信制御部２５１７、ドライブ装置２５１３を制御して、必要な動作を行わせる。また、処理途中のデータについては、メモリ２５０１に格納され、必要があればＨＤＤ２５０５に格納される。このようなコンピュータは、上で述べたＣＰＵ２５０３、メモリ２５０１などのハードウエアとＯＳ及び必要なアプリケーション・プログラムとが有機的に協働することにより、上で述べたような各種機能を実現する。
【００５９】
（付記１）
アプリケーション・データを含むシステム・データが最新であるか判断するステップと、
前記システム・データが最新ではないと判断された場合には、ユーザ入力の受け付けを遮断させるステップと、
前記システム・データの更新データを、アップデート・サーバからネットワーク経由で取得させ、前記システム・データの更新を実施させるステップと、
前記システム・データの更新完了を検出すると、前記システム・データが記録されており且つユーザ・データが格納され得るデータ記録部を前記システム・データの更新完了時における状態へ復元させるためのスナップショット・データを前記データ記録部内に確保させるステップと、
前記スナップショット・データが前記データ記録部に確保された後に、前記ユーザ入力の受け付け遮断を停止させるステップと、
をコンピュータに実行させるためのプログラム。
【００６０】
（付記２）
前記システム・データに基づくシステムの終了を検出すると、前記スナップショット・データにより前記システム・データの更新完了時における状態に前記データ記録部を復元するステップ
をさらにコンピュータに実行させるための請求項１記載のプログラム。
【００６１】
（付記３）
前記データ記録部が、前記コンピュータにユニバーサル・シリアル・バスで接続される可搬記憶媒体である
請求項１記載のプログラム。
【００６２】
（付記４）
前記システム・データに基づくシステムの起動時に、前記データ記録部が、前記システム・データの更新完了時における状態に復元されているか判断するステップと、
前記データ記録部が、前記システム・データの更新完了時における状態に復元されていない場合には、前記スナップショット・データにより前記システム・データの更新時における状態に復元するステップと、
をさらにコンピュータに実行させるための請求項２記載のプログラム。
【００６３】
（付記５）
前記システム・データに基づくシステムの起動時に、ネットワークを介して管理サーバに前記データ記録部の利用開始を登録させるステップと、
前記システム・データに基づくシステムの終了を検出すると、前記ネットワークを介して前記管理サーバに前記データ記録部の利用終了を登録させるステップと、
をさらにコンピュータに実行させるための請求項１記載のプログラム。
【００６４】
（付記６）
第１の仮想マシン制御プログラムと、
仮想マシンと、
仮想マシン上で動作するシステム・プログラムと、
前記システム・プログラム上で動作する第２の仮想マシン制御プログラムと、
を含むプログラムであって、
前記第１の仮想マシン制御プログラムが、
前記システム・プログラムが最新であるか判断するステップと、
前記システム・プログラムが最新ではないと判断された場合には、ユーザ入力の受け付けを前記仮想マシンに遮断させるステップと、
をコンピュータに実行させ、
前記第２の仮想マシン制御プログラムが、
前記システム・プログラムの更新データを、アップデート・サーバからネットワーク経由で取得させ、前記システム・プログラムの更新を実施させるステップ
を前記コンピュータに実行させ、
前記第１の仮想マシン制御プログラムが、さらに、
前記システム・プログラムの更新完了を検出すると、前記システム・プログラムが記録されており且つユーザ・データが格納され得るデータ記録部を前記システム・プログラムの更新完了時における状態へ復元させるためのスナップショット・データを、前記仮想マシンに前記データ記録部内に確保させるステップと、
前記スナップショット・データが前記データ記録部に確保された後に、前記ユーザ入力の受け付け遮断を前記仮想マシンに停止させるステップと、
をさらに前記コンピュータに実行させるプログラム。
【００６５】
（付記７）
アプリケーション・データを含むシステム・データが最新であるか判断するステップと、
前記システム・データが最新ではないと判断された場合には、ユーザ入力の受け付けを遮断させるステップと、
前記システム・データの更新データを、アップデート・サーバからネットワーク経由で取得させ、前記システム・データの更新を実施させるステップと、
前記システム・データの更新完了を検出すると、前記システム・データが記録されており且つユーザ・データが格納され得るデータ記録部を前記システム・データの更新完了時における状態へ復元させるためのスナップショット・データを前記データ記録部内に確保させるステップと、
前記スナップショット・データが前記データ記録部に確保された後に、前記ユーザ入力の受け付け遮断を停止させるステップと、
をコンピュータに実行させるためのプログラムを前記データ記憶部に格納し、前記コンピュータとユニバーサル・シリアル・バスで接続され得る可搬記憶媒体。
【００６６】
（付記８）
アプリケーション・データを含むシステム・データが最新であるか判断するステップと、
前記システム・データが最新ではないと判断された場合には、ユーザ入力の受け付けを遮断させるステップと、
前記システム・データの更新データを、アップデート・サーバからネットワーク経由で取得させ、前記システム・データの更新を実施させるステップと、
前記システム・データの更新完了を検出すると、前記システム・データが記録されており且つユーザ・データが格納され得るデータ記録部を前記システム・データの更新完了時における状態へ復元させるためのスナップショット・データを前記データ記録部内に確保させるステップと、
前記スナップショット・データが前記データ記録部に確保された後に、前記ユーザ入力の受け付け遮断を停止させるステップと、
を含み、コンピュータにより実行される制御方法。
【図面の簡単な説明】
【００６７】
【図１】本発明の実施の形態における初期状態のシステム概要図である。
【図２】本発明の実施の形態における処理フローの第１の部分を示す図である。
【図３】本発明の実施の形態における第２の状態のシステム概要図である。
【図４】本発明の実施の形態における第３の状態のシステム概要図である。
【図５】本発明の実施の形態における処理フローの第２の部分を示す図である。
【図６】第１仮想マシン制御アプリケーションによる入力抑制の概要を説明するための図である。
【図７】本発明の実施の形態における処理フローの第３の部分を示す図である。
【図８】本発明の実施の形態における処理フローの第４の部分を示す図である。
【図９】スナップショットを説明するための概要図である。
【図１０】スナップショットの推移を説明するための図である。
【図１１】本発明の実施の形態における第４の状態のシステム概要図である。
【図１２】本発明の実施の形態における処理フローの第５の部分を示す図である。
【図１３】本発明の実施の形態における処理フローの第６の部分を示す図である。
【図１４】本発明の実施の形態における第５の状態のシステム概要図である。
【図１５】本発明の実施の形態における初期処理の他の例を示す図である。
【図１６】（ａ）及び（ｂ）は、不正終了した場合の問題を示すための図である。
【図１７】管理サーバを導入する場合のシステム概要図を示す図である。
【図１８】管理サーバを導入する場合の処理フローを示す図である。
【図１９】スナップショットの記憶容量を削減するための手法を説明するための図である。
【図２０】コンピュータの機能ブロック図である。
【符号の説明】
【００６８】
１００  可搬記憶媒体
２００  記憶領域
３００  ＰＣ
４００  ファイルサーバ
５００  アップデートサーバ
６００  管理サーバ
１０２  ＵＳＢターゲット・コントローラ
２０３，３０３  第１仮想マシン制御アプリケーション
２０４，３０４  仮想マシン
２０５，３０５  仮想マシン用ＯＳイメージ
２０６，３０６  第２仮想マシン制御アプリケーション
２０７  スナップショット・イメージ
２５０，３５０  スナップショット管理テーブル
３１０  通信セッション
３２０  キーボード
３３１  キーボード入力コントローラ
３３２  ドライバ
【図１】
2009122749.tif 000003
【図２】
2009122749.tif 000004
【図３】
2009122749.tif 000005
【図４】
2009122749.tif 000006
【図５】
2009122749.tif 000007
【図６】
2009122749.tif 000008
【図７】
2009122749.tif 000009
【図８】
2009122749.tif 000010
【図９】
2009122749.tif 000011
【図１０】
2009122749.tif 000012
【図１１】
2009122749.tif 000013
【図１２】
2009122749.tif 000014
【図１３】
2009122749.tif 000015
【図１４】
2009122749.tif 000016
【図１５】
2009122749.tif 000017
【図１６】
2009122749.tif 000018
【図１７】
2009122749.tif 000019
【図１８】
2009122749.tif 000020
【図１９】
2009122749.tif 000021
【図２０】
2009122749.tif 000022