(57)【要約】【課題】  クライアントをサーバ上の仮想クライアントから切断した後、再度接続したときにアプリケーションの実行作業を継続することができない。【解決手段】  本発明の仮想クライアントシステムは、仮想クライアントを含む仮想クライアントサーバと、仮想クライアントサーバにアクセスし、仮想クライアント上でアプリケーションの実行を行うクライアントと、仮想クライアントへのパッチ適用後に当該パッチ適用前の前記アプリケーションの作業状態を復元する復元部とを備える。【選択図】      図１
2009169797.tif 000002
【特許請求の範囲】
【請求項１】
仮想クライアントを含む仮想クライアントサーバと、
前記仮想クライアントサーバにアクセスし、前記仮想クライアント上でアプリケーションの実行を行うクライアントと、
前記仮想クライアントへのパッチ適用後に当該パッチ適用前の前記アプリケーションの作業状態を復元する復元部と
を備える仮想クライアントシステム。
【請求項２】
前記復元部は前記仮想クライアントサーバに、
パッチ適用前に動作中の前記アプリケーションの情報であるパッチ適用前アプリケーション情報と、パッチ適用後に動作中の前記アプリケーションの情報であるパッチ適用後アプリケーション情報とを取得する仮想クライアント管理エージェント
を含む請求項１に記載の仮想クライアントシステム。
【請求項３】
前記仮想クライアントシステムは、
前記仮想クライアントサーバを管理する仮想クライアント管理サーバ
を備え、
前記復元部は前記仮想クライアント管理サーバに、
前記仮想クライアント管理エージェントから、前記パッチ適用前アプリケーション情報と前記パッチ適用後アプリケーション情報と取得して比較し、差分があるか否かを判断するアプリケーション管理／比較部
を含む請求項２に記載の仮想クライアントシステム。
【請求項４】
前記アプリケーション情報は、
前記アプリケーションの実行ファイルを保存するパスを示す実行ファイル保存パスと、
前記アプリケーションのデータファイルを保存するパスを示すデータ保存パスと、
前記アプリケーションの作業状態を保存する利用ログ保存パスと、
前記アプリケーションがディスプレイ表示されるときのウィンドウ位置と、
前記アプリケーションがディスプレイ表示されるときのウィンドウサイズと
を含む請求項３に記載の仮想クライアントシステム。
【請求項５】
前記パッチ適用前アプリケーション情報と前記パッチ適用後アプリケーション情報との間に差分があった場合、前記アプリケーション管理／比較部は、前記差分である差分アプリケーション情報を前記仮想クライアント管理エージェントに通知し、
前記仮想クライアント管理エージェントは、
前記実行ファイル保存パスに存在する実行ファイルを実行し、
前記データ保存パスに存在するデータファイルを開き、
前記利用ログ保存パスに存在する利用ログに記された作業を実行し、
前記ウィンドウ位置と前記ウィンドウサイズを復元する
請求項４に記載の仮想クライアントシステム。
【請求項６】
仮想クライアントと、
クライアントからアクセスされ前記仮想クライアント上で実行されるアプリケーションと、
前記仮想クライアントへのパッチ適用後に当該パッチ適用前の前記アプリケーションの作業状態を復元する復元部の少なくとも一部と
を含む仮想クライアントサーバ。
【請求項７】
前記復元部は、
パッチ適用前に動作中の前記アプリケーションの情報であるパッチ適用前アプリケーション情報と、パッチ適用後に動作中の前記アプリケーションの情報であるパッチ適用後アプリケーション情報とを取得する仮想クライアント管理エージェント
を含む請求項６に記載の仮想クライアントサーバ。
【請求項８】
仮想クライアントと、クライアントからアクセスされ前記仮想クライアント上で実行されるアプリケーションと、前記仮想クライアントへのパッチ適用後に当該パッチ適用前の前記アプリケーションの作業状態を復元する復元部の第１の部分とを備えた仮想クライアントサーバを管理し、
前記復元部の第２の部分
を含む仮想クライアント管理サーバ。
【請求項９】
前記復元部の第１の部分が、パッチ適用前に動作中の前記アプリケーションの情報であるパッチ適用前アプリケーション情報と、パッチ適用後に動作中の前記アプリケーションの情報であるパッチ適用後アプリケーション情報とを取得する仮想クライアント管理エージェントを含む前記仮想クライアントサーバを管理し、
前記復元部第２の部分が、
前記仮想クライアント管理エージェントから、前記パッチ適用前アプリケーション情報と前記パッチ適用後アプリケーション情報と取得して比較し、差分があるか否かを判断するアプリケーション管理／比較部
を含む請求項８に記載の仮想クライアント管理サーバ。
【請求項１０】
仮想クライアントを含む仮想クライアントサーバと、前記仮想クライアントサーバにアクセスし、前記仮想クライアント上でアプリケーションの実行を行うクライアントとを備える仮想クライアントシステムにおいて、
前記仮想クライアントへのパッチ適用後に当該パッチ適用前の前記アプリケーションの作業状態を復元する復元工程
を含む仮想クライアントシステム制御方法。
【請求項１１】
前記復元工程は、
パッチ適用前に動作中の前記アプリケーションの情報であるパッチ適用前アプリケーション情報と、パッチ適用後に動作中の前記アプリケーションの情報であるパッチ適用後アプリケーション情報とを取得する工程
を含む請求項１０に記載の仮想クライアントシステム制御方法。
【請求項１２】
前記復元工程は、
前記仮想クライアント管理エージェントから、前記パッチ適用前アプリケーション情報と前記パッチ適用後アプリケーション情報と取得して比較し、差分があるか否かを判断する工程
を含む請求項１１に記載の仮想クライアントシステム制御方法。
【請求項１３】
前記アプリケーション情報は、
前記アプリケーションの実行ファイルを保存するパスを示す実行ファイル保存パスと、
前記アプリケーションのデータファイルを保存するパスを示すデータ保存パスと、
前記アプリケーションの作業状態を保存する利用ログ保存パスと、
前記アプリケーションがディスプレイ表示されるときのウィンドウ位置と、
前記アプリケーションがディスプレイ表示されるときのウィンドウサイズと
を含む請求項１２に記載の仮想クライアントシステム制御方法。
【請求項１４】
前記復元工程は、
前記パッチ適用前アプリケーション情報と前記パッチ適用後アプリケーション情報との間に差分があった場合、
前記実行ファイル保存パスに存在する実行ファイルを実行する工程、
前記データ保存パスに存在するデータファイルを開く工程、
前記利用ログ保存パスに存在する利用ログに記された作業を実行する工程、
前記ウィンドウ位置と前記ウィンドウサイズを復元する工程
を含む請求項１３に記載の仮想クライアントシステム制御方法。
【請求項１５】
仮想クライアントと、クライアントからアクセスされ前記仮想クライアント上で実行されるアプリケーションとを含む仮想クライアントサーバを、
前記仮想クライアントへのパッチ適用後に当該パッチ適用前の前記アプリケーションの作業状態を復元する復元部の少なくとも一部
として機能させるためのプログラム。
【請求項１６】
仮想クライアントと、クライアントからアクセスされ前記仮想クライアント上で実行されるアプリケーションと、仮想クライアント管理サーバが前記仮想クライアントへのパッチ適用後に当該パッチ適用前の前記アプリケーションの作業状態を復元する復元部の第１の部分とを備えた仮想クライアントサーバを管理する前記仮想クライアント管理サーバを、
前記復元部の第２の部分
として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は仮想クライアントシステム、仮想クライアントサーバ、仮想クライアント管理サーバ、仮想クライアントシステム制御方法、及びプログラムに関し、特に、アプリケーションの作業状態の復元を行う仮想クライアントシステム、仮想クライアントサーバ、仮想クライアント管理サーバ、仮想クライアントシステム制御方法、及びプログラムに関する。
【背景技術】
【０００２】
昨今、個人情報保護法などの施行により情報セキュリティの関心が高まっている。これに伴って、各ＩＴ（Ｉｎｆｏｒｍａｔｉｏｎ  Ｔｅｃｈｎｏｌｏｇｙ）企業は、仮想クライアントシステム、例えば、シンクライアントシステム（Ｔｈｉｎ  ｃｌｉｅｎｔ  ｓｙｓｔｅｍ）を開発している。シンクライアントシステムは、クライアントにデータやアプリケーションを置かず、クライアントはサーバにアクセスしてアプリケーションやデータを処理することでセキュリティを確保する。シンクライアントシステムの例が特許文献１，２に記載されている。
【０００３】
シンクライアントシステムでは、サーバが、サーバ内部に仮想クライアント（例、仮想ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ））を備えることにより、クライアントのデータやアプリケーションを管理することが可能である。それに伴い、シンクライアントシステムは、例えば、下記のようなメリットがあるといわれている。
【０００４】
（１）管理者が夜間等にパッチを充てることで、通常のクライアントと異なりユーザがサーバにある自分の仮想クライアントに接続すると、仮想クライアントは常に最新の状態にある。
【０００５】
（２）ユーザが作業を中断しシンクライアントをサーバ上の仮想クライアントから切断しても、サーバ上の仮想クライアントは動作（例えば、２４時間動作）している。そのため、ユーザは、アプリケーションを終了する必要はなく、再度シンクライアントをサーバ上の仮想クライアントに接続することで作業を継続できる。
【０００６】
【特許文献１】特開２００７−１０２３０８号公報
【特許文献２】特開２００７−１３３７１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００７】
しかしながら、特許文献１，２に記載のシンクライアントシステムでは、サーバの仮想クライアントにパッチが適用されると、再起動が必要となる場合がある。仮想クライアントが再起動された場合、再起動の処理は、強制的にアプリケーションを終了してしまう。仮想クライアントは、再起動後、再起動前のアプリケーションの作業状態を復元する機能を有していない。そのため、特許文献１，２に記載のシンクライアントシステムは、（２）のメリットを失う、という問題点があった。即ち、ユーザがクライアントをサーバ上の仮想クライアントから切断した後、再度接続したときに、特許文献１，２に記載のシンクライアントシステムは、ユーザがアプリケーションの実行作業を継続することができない、という問題点があった。
【０００８】
本発明の目的は、上述した課題を解決する仮想クライアントシステム、仮想クライアントサーバ、仮想クライアント管理サーバ、仮想クライアントシステム制御方法、及びプログラムを提供することにある。
【課題を解決するための手段】
【０００９】
本発明の仮想クライアントシステムは、仮想クライアントを含む仮想クライアントサーバと、前記仮想クライアントサーバにアクセスし、前記仮想クライアント上でアプリケーションの実行を行うクライアントと、前記仮想クライアントへのパッチ適用後に当該パッチ適用前の前記アプリケーションの作業状態を復元する復元部とを備える。
【００１０】
本発明の仮想クライアントサーバは、仮想クライアントと、クライアントからアクセスされ前記仮想クライアント上で実行されるアプリケーションと、前記仮想クライアントへのパッチ適用後に当該パッチ適用前の前記アプリケーションの作業状態を復元する復元部の少なくとも一部とを含む。
【００１１】
本発明の仮想クライアント管理サーバは、仮想クライアントと、クライアントからアクセスされ前記仮想クライアント上で実行されるアプリケーションと、前記仮想クライアントへのパッチ適用後に当該パッチ適用前の前記アプリケーションの作業状態を復元する復元部の第１の部分とを備えた仮想クライアントサーバを管理し、前記復元部の第２の部分を含む。
【００１２】
本発明の仮想クライアントシステム制御方法は、仮想クライアントを含む仮想クライアントサーバと、前記仮想クライアントサーバにアクセスし、前記仮想クライアント上でアプリケーションの実行を行うクライアントとを備える仮想クライアントシステムにおいて、前記仮想クライアントへのパッチ適用後に当該パッチ適用前の前記アプリケーションの作業状態を復元する復元工程を含む。
【００１３】
本発明のプログラムは、仮想クライアントと、クライアントからアクセスされ前記仮想クライアント上で実行されるアプリケーションとを含む仮想クライアントサーバを、前記仮想クライアントへのパッチ適用後に当該パッチ適用前の前記アプリケーションの作業状態を復元する復元部の少なくとも一部として機能させる。
【００１４】
本発明のプログラムは、仮想クライアントと、クライアントからアクセスされ前記仮想クライアント上で実行されるアプリケーションと、仮想クライアント管理サーバが前記仮想クライアントへのパッチ適用後に当該パッチ適用前の前記アプリケーションの作業状態を復元する復元部の第１の部分とを備えた仮想クライアントサーバを管理する前記仮想クライアント管理サーバを、前記復元部の第２の部分として機能させる。
【発明の効果】
【００１５】
本発明は、ユーザが、クライアントをサーバ上の仮想クライアントから切断した後、再度接続したときにアプリケーションの実行作業を継続することができる、という効果を有する。
【発明を実施するための最良の形態】
【００１６】
次に、本発明の第１の実施の形態について図面を参照して説明する。
【００１７】
図１は、本発明の第１の実施の形態を説明する図である。第１の実施の形態の仮想クライアントシステム９００は、図１（ａ）に示すとおり、仮想クライアントサーバ７００とクライアント６００とを備える。クライアント６００は、仮想クライアントサーバ７００にアクセスし後述の仮想クライアント７２０上でアプリケーション７２３の実行を行う。図１（ｂ）に示すとおり、仮想クライアントサーバ７００は、仮想クライアント７２０を含み、仮想クライアント７２０は、アプリケーション７２３と復元部７２２とを備える。
【００１８】
復元部７２２は、仮想クライアント７２０へのパッチ適用後に当該パッチ適用前のアプリケーション７２３の作業状態を復元する。仮想クライアントサーバ７００と、クライアント６００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備える情報処理装置である。それぞれは、ＣＰＵがプログラムを実行することによって各種機能を実現する。
【００１９】
また、仮想クライアントシステム９００は、図１（ｃ）に示すとおり、仮想クライアント７２０を管理する仮想クライアント管理サーバ８００を更に備えてもよい。そして、本発明の仮想クライアントシステム９００は、仮想クライアント管理サーバ８００と仮想クライアント７２０が復元部７２２の処理の一部をそれぞれ行う構成としてもよい。
【００２０】
即ち、図１（ｃ）の仮想クライアントシステム９００は、仮想クライアント７２０を含む仮想クライアントサーバ７００を備える。そして、仮想クライアントシステム９００は、仮想クライアントサーバ７００にアクセスし、仮想クライアント７２０上でアプリケーション７２３の実行を行うクライアント６００を備える。そして、仮想クライアントシステム９００は、仮想クライアントサーバ７００を管理する仮想クライアント管理サーバ８００を更に備える。そして、仮想クライアントサーバ７００が、仮想クライアント７２０へのパッチ適用後に当該パッチ適用前のアプリケーション７２３の作業状態を復元する復元部７２２の第１の部分を含んでもよい。そして、図１（ｄ）に示すとおり、仮想クライアント管理サーバ８００が、仮想クライアント７２０へのパッチ適用後に当該パッチ適用前のアプリケーション７２３の作業状態を復元する復元部７２２の第２の部分を含んでもよい。仮想クライアント管理サーバ８００は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備える情報処理装置である。仮想クライアント管理サーバ８００は、ＣＰＵがプログラムを実行することによって各種機能を実現する。
【００２１】
これにより、仮想クライアントシステム９００は、ユーザが、クライアント６００を仮想クライアントサーバ７００上の仮想クライアント７２０から切断した後、再度接続したときにアプリケーションの実行作業を継続することができる、という効果を有する。その理由は、本発明の仮想クライアントシステム９００が、仮想クライアント７２０へのパッチ適用後に当該パッチ適用前のアプリケーションの作業状態を復元する復元部７２２を備えるためである。
【００２２】
次に、本発明の第２の実施の形態について図面を参照して詳細に説明する。まず、本発明の第２の実施の形態の構成について図面を参照して説明する。
【００２３】
図２は、本発明の第２の実施の形態における仮想ＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）システム００１の構成を説明する図である。仮想ＰＣシステム００１は、一般的に仮想クライアントシステムと呼ぶことができる。
【００２４】
仮想ＰＣシステム００１は、仮想ＰＣ管理サーバ１００と、パッチ適用サーバ２００と、シンクライアント４００，４０１，４０２と、仮想ＰＣサーバ５００と、これらを接続するネットワーク３００とを備える。ここでパッチ適用サーバ２００の機能が仮想ＰＣ管理サーバ１００と物理的に同じサーバに存在する場合はネットワーク３００を介す必要はない。仮想ＰＣ管理サーバ１００と、パッチ適用サーバ２００と、シンクライアント４００等と、仮想ＰＣサーバ５００とは、それぞれＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）を備える情報処理装置である。それぞれは、ＣＰＵがプログラムを実行することによって各種機能を実現できる。
【００２５】
仮想ＰＣ管理サーバ１００は、一般的に仮想クライアント管理サーバと呼ぶことができる。仮想ＰＣ管理サーバ１００は、仮想ＰＣサーバ５００内に生成される仮想ＰＣ５２０等の管理を行う機能を有する。仮想ＰＣ管理サーバ１００は、仮想ＰＣ管理部１０１と、アプリケーション管理／比較部１０４と、仮想ＰＣ管理ＤＢ（Ｄａｔａ  Ｂａｓｅ）１０２と、適用前アプリケーション情報ＤＢ１０５と、適用後アプリケーション情報ＤＢ１０６とを備える。仮想ＰＣ管理部１０１とアプリケーション管理／比較部１０４は相互にアクセス可能である。また、仮想ＰＣ管理部１０１は仮想ＰＣ管理ＤＢ１０２と、アプリケーション管理／比較部１０４は適用前アプリケーション情報ＤＢ１０５と適用後アプリケーション情報ＤＢ１０６にアクセス可能である。
【００２６】
図３は、仮想ＰＣ管理ＤＢ１０２の構成を示す図である。仮想ＰＣ管理ＤＢ１０２はユーザＩＤと、ユーザＰＷ（Ｐａｓｓ  Ｗｏｒｄ）と、ユーザと関連付けられている仮想ＰＣ番号と、接続先ＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスと、仮想ＰＣステータスと、ユーザステータスとを格納する。ここで仮想ＰＣステータスは、仮想ＰＣ５２０，５３０等の電源状態を表し、例えば“Ｐｏｗｅｒ  ＯＮ”もしくは“Ｐｏｗｅｒ  ＯＦＦ”の２値を格納する。また、ユーザステータスは、その仮想ＰＣ５２０等に対するユーザの接続状態を表し、例えば“接続”もしくは“切断”の２値を格納する。
【００２７】
図４は、適用前アプリケーション情報ＤＢ１０５と適用後アプリケーション情報ＤＢ１０６の構成を示す図である。適用前アプリケーション情報ＤＢ１０５と適用後アプリケーション情報ＤＢ１０６は、仮想ＰＣ番号と、アプリケーションの実行ファイル保存パスと、利用データ保存パスと、利用ログファイル保存パスとを格納する。また、適用前アプリケーション情報ＤＢ１０５と適用後アプリケーション情報ＤＢ１０６は、アプリケーションのウィンドウ位置と、ウィンドウサイズとを格納する。
【００２８】
パッチ適用サーバ２００は、パッチ適用部２０１と、パッチＤＢ２０２とを備える。パッチ適用部２０１は、仮想ＰＣサーバ５００内に生成される仮想ＰＣ５２０等それぞれに対してパッチ適用を行う機能を有する。
【００２９】
図５は、パッチＤＢ２０２の構成を示す図である。パッチＤＢ２０２は、パッチ本体とパッチ適用対象の対象仮想ＰＣの情報を格納する。
【００３０】
シンクライアント４００，４０１，４０２は、一般的にはクライアントと呼ぶことができる。シンクライアント４００は、ＰＣ等のクライアント側端末である。
【００３１】
仮想ＰＣサーバ５００は、一般的には仮想クライアントサーバと呼ぶことができる。仮想ＰＣサーバ５００は、ホストＯＳ（Ｏｐｅｒａｔｉｏｎ  Ｓｙｓｔｅｍ）５１０と、仮想ＰＣ５２０と、仮想ＰＣ５３０と、アプリケーション作業状況復元プログラムＤＢ５４０と、アプリケーション情報取得プログラムＤＢ５５０とを備える。仮想ＰＣサーバ５００は、複数個の仮想ＰＣ５２０等を動作させる機能を有する。動作させる仮想ＰＣ５２０等は、１つでもよいし、複数個でもよい。
【００３２】
仮想ＰＣ５２０等は、一般的には、仮想クライアントと呼ぶことができる。仮想ＰＣ５２０等は、その仮想ＰＣ５２０等のＯＳであるゲストＯＳ５２１と、仮想ＰＣ管理エージェント５２２と、アプリケーション５２３，５２４等を備える。アプリケーション５２３等は、以下「アプリケーション５２３」又は「Ａｐｐｌｉｃａｔｉｏｎ５２３」と記す。
【００３３】
ゲストＯＳ５２１は、実行ファイル保存パステーブル５２６とウィンドウ情報テーブル５２５を備える。
【００３４】
図６は、実行ファイル保存パステーブル５２６の構成を示す図である。実行ファイル保存パステーブル５２６は、仮想ＰＣ５２０にインストールされているアプリケーション５２３等の名称とそれに対応する実行ファイル保存パスとを格納する。
【００３５】
図７は、ウィンドウ情報テーブル５２５の構成を示す図である。ウィンドウ情報テーブル５２５は、仮想ＰＣ５２０で実行中のアプリケーション５２３等と、そのアプリケーション５２３等が使用するウィンドウ位置、ウィンドウサイズとを格納する。仮想ＰＣ５２０は、ここに格納された数値のウィンドウをディスプレイ上に表示する。
【００３６】
仮想ＰＣ管理エージェント５２２は、一般的には仮想クライアント管理エージェントと呼ぶことができる。仮想ＰＣ管理エージェント５２２等は、各仮想ＰＣ５２０，５３０に常駐している。
【００３７】
ここで、仮想ＰＣ管理エージェント５２２と上述のアプリケーション管理／比較部１０４は、アプリケーションの作業状態を復元することから、一般的に復元部と呼ぶことができる。
【００３８】
アプリケーション５２３等は、ワープロソフトや、表計算ソフトなどのアプリケーションである。アプリケーション５２３，５２４等は、例えば、それぞれデータ保存パステーブル５２７，５２８を備える。
【００３９】
図８は、データ保存パステーブル５２７の構成を示す図である。データ保存パステーブル５２７は、アプリケーション５２３等で作成されたデータのデータ保存パスを保存が新しい順に格納する。尚、本実施の形態では、データ保存パステーブル５２７は、データ保存パスを保存が新しい順に格納しているが、最新のデータ保存パス（現在使用中のデータのデータ保存パス）のみでもよい。
【００４０】
図９は、アプリケーション情報取得プログラムＤＢ５５０の構成を示す図である。アプリケーション情報取得プログラムＤＢ５５０は、仮想ＰＣ５２０で使用が予想されるアプリケーションのアプリケーション名と、そのアプリケーションに対応するアプリケーション情報取得プログラムを格納する。仮想ＰＣ管理エージェント５２２がアプリケーション情報取得プログラムを実行すると、仮想ＰＣ管理エージェント５２２は、そのアプリケーションの情報であるアプリケーション情報を取得する。アプリケーション情報は、例えば、アプリケーションの実行ファイル保存パスと、利用データ保存パスと、利用ログファイル保存パスと、ウィンドウ位置と、ウィンドウサイズとである。
【００４１】
仮想ＰＣサーバ５００の製造者は、利用者が仮想ＰＣサーバ５００を利用する前にアプリケーションの種類ごとにアプリケーション情報取得プログラムを作成し、アプリケーション情報取得プログラムＤＢ５５０に格納する。アプリケーション情報取得プログラムは、ゲストＯＳ５２１の製造元が公開しているＡＰＩ（Ａｐｐｌｉｃａｔｉｏｎ  Ｐｒｏｇｒａｍ  Ｉｎｔｅｒｆａｃｅ）を使用することで作成することができる。
【００４２】
図１０は、アプリケーション作業状況復元プログラムＤＢ５４０の構成を示す図である。アプリケーション作業状況復元プログラムＤＢ５４０は、アプリケーション名と、そのアプリケーションに対応する作業状況復元プログラムを格納する。仮想ＰＣ管理エージェント５２２は、作業状況復元プログラムを実行することでそのアプリケーションの作業状況を復元することができる。
【００４３】
仮想ＰＣサーバ５００の製造者は、利用者が仮想ＰＣサーバ５００を利用する前にアプリケーションの種類ごとに作業状況復元プログラムを作成し、アプリケーション作業状況復元プログラムＤＢ５４０に格納する。仮想ＰＣサーバ５００の製造者は、アプリケーションやゲストＯＳ５２１を提供する会社の提供するＡＰＩを利用して作業状況復元プログラムを作成することができる。
【００４４】
シンクライアント４００は、ＩＰアドレスを指定することで仮想ＰＣサーバ５００上の仮想ＰＣ５２０に対しＲＤＰ接続（Ｒｅｍｏｔｅ  Ｄｅｓｋｔｏｐ  Ｐｒｏｔｏｃｏｌ接続、リモートデスクトップ接続）する。
【００４５】
以上で、本発明の第２の実施の形態の構成の説明を終了する。
【００４６】
次に、本発明の第２の実施の形態の動作について図面を参照して説明する。
【００４７】
図１１は、仮想ＰＣシステム００１の動作を示すシーケンス図である。以下、例として、任意のユーザがシンクライアント４００を仮想ＰＣ５２０にＲＤＰ接続して使用していたものとして動作を説明する。
【００４８】
ユーザがＲＤＰ接続で仮想ＰＣ５２０を利用する（Ａ１）。このとき、パッチ適用サーバ２００が仮想ＰＣ管理サーバ１００に対し、仮想ＰＣ５２０の情報を要求したとする（Ｃ１）。仮想ＰＣ管理サーバ１００は、仮想ＰＣ管理ＤＢ１０２内の仮想ＰＣ５２０の情報を取得する（Ｂ１）。このとき仮想ＰＣ５２０の情報は、例えば図３に示すように、仮想ＰＣステータスが“Ｐｏｗｅｒ  ＯＮ”であり、ユーザステータスが“接続”であるという情報である。仮想ＰＣ管理サーバ１００は、仮想ＰＣ５２０情報をパッチ適用サーバ２００に通知する（Ｂ２）。パッチ適用サーバ２００は、仮想ＰＣ５２０情報を受信し“Ｐｏｗｅｒ  ＯＮ”かつ、ユーザステータスが“切断”であるか判断する（Ｃ２）。ここでは、ユーザが仮想ＰＣ５２０を利用中（ＲＤＰ接続中）であるため、ユーザステータスは“接続”である。そのため、ステップＣ２はＮＯとなり、パッチ適用サーバ２００は、仮想ＰＣ管理サーバ１００に対し、次の仮想ＰＣ５３０の情報を要求する（Ｃ３）。
【００４９】
次に、ユーザがＲＤＰ接続を切断した場合について説明する。ユーザがシンクライアント４００を仮想ＰＣ５２０からＲＤＰ接続を切断する（Ａ２）。仮想ＰＣ５２０の仮想ＰＣ管理エージェント５２２は、シンクライアント４００がＲＤＰ接続を切断したことを仮想ＰＣ管理サーバ１００の仮想ＰＣ管理部１０１に通知する（Ａ３）。ここで仮想ＰＣ管理部１０１は、仮想ＰＣ管理ＤＢ１０２のユーザステータス部に“切断”を示すステータスを書き込む（Ｂ３）。そして、仮想ＰＣ管理エージェント５２２は、現在仮想ＰＣ５２０で動作中のアプリケーション情報を取得する（Ａ４）。
【００５０】
図１２は、アプリケーション取得処理Ａ４を示すフローチャートである。まず、仮想ＰＣ管理エージェント５２２は、動作中のアプリケーションを特定する（Ａ４１）。即ち、仮想ＰＣ管理エージェント５２２は、ゲストＯＳ５２１から現在動作中のアプリケーション名を１つ取得する。具体的にはゲストＯＳ５２１の提供元が公開しているＡＰＩを利用することで、動作中のアプリケーション情報を取得することが可能である。例えば、仮想ＰＣ管理エージェント５２２は、ウィンドウ情報テーブル５２５を参照し、実行中アプリケーション名を取得する。
【００５１】
そして、仮想ＰＣ管理エージェント５２２は、アプリケーション情報取得プログラムＤＢ５５０を参照する（Ａ４２）。仮想ＰＣ管理エージェント５２２は、取得した現在動作中のアプリケーション名をキーに、アプリケーション情報取得プログラムＤＢ５５０を検索し、アプリケーション名が存在するか判断する（Ａ４３）。ここでは、この動作中のアプリケーションがアプリケーション５２３であるとする。アプリケーション情報取得プログラムＤＢ５５０にアプリケーション５２３が存在した場合（Ａ４３，Ｙｅｓ）、仮想ＰＣ管理エージェント５２２は、動作中のアプリケーション５２３に対応するアプリケーション情報取得プログラムを実行する（Ａ４４）。
【００５２】
ここでアプリケーションの情報とは、例えば、アプリケーション５２３の実行ファイル（＊．ｅｘｅ）の保存パス、利用しているデータファイルの保存パス、利用ログファイルの保存パス、アプリケーションの動作ウィンドウ位置とサイズである。
【００５３】
アプリケーション情報取得プログラムを実行により、仮想ＰＣ管理エージェント５２２は、ゲストＯＳ５２１の実行ファイル保存パステーブル５２６から動作中のアプリケーション５２３の実行ファイル保存パスを取得する。また、仮想ＰＣ管理エージェント５２２は、アプリケーション５２３のデータ保存パステーブル５２７より、アプリケーション５２３のデータ保存パスを取得する。
【００５４】
仮想ＰＣシステム００１の製造者は、アプリケーション５２３に対応するアプリケーション情報取得プログラムに、アプリケーション５２３の利用ログ保存パスの情報を予め格納しておく。例えば、アプリケーション５２３がデータ保存パスと同フォルダ上に利用ログ保存パスを作成するアプリケーションであるとする。仮想ＰＣ管理エージェント５２２は、データ保存パスと同フォルダ上でファイル名が同じでありｌｏｇ等の拡張子を持つパスを利用ログ保存パスと判断する。例えば、データ保存パスがＣ：￥ｗａｄｏｗａｄｏ．＊＊＊であった場合、仮想ＰＣ管理エージェント５２２は、Ｃ：￥ｗａｄｏｗａｄｏ．ｌｏｇを利用ログ保存パスとして取得する。例えば、アプリケーションがワープロソフトであった場合、利用ログとは、文字の入力、変換、改行等、ユーザがアプリケーション使用する時の作業履歴である。
【００５５】
次に、仮想ＰＣ管理エージェント５２２は、ゲストＯＳ５２１のウィンドウ情報テーブル５２５から、アプリケーション５２３のウィンドウ位置とウィンドウサイズを取得する。
【００５６】
次に、仮想ＰＣ管理エージェント５２２は、利用ログを退避する（Ａ４５）。例えば、仮想ＰＣ管理エージェント５２２は、Ｃ：￥ｗａｄｏｗａｄｏ．ｌｏｇの利用ログを、予め設定したパスであるＣ：￥ａｇｅｎｔに対しアプリケーション名と現在の利用ログのパスを付加したパスに退避する。即ち、仮想ＰＣ管理エージェント５２２は、利用ログをＣ：￥ａｇｅｎｔ￥ａｐｐｌｉｃａｔｉｏｎ５２３￥ｗａｄｏｗａｄｏ．ｌｏｇに格納する。仮想ＰＣ管理エージェント５２２は、退避後のパスを利用ログ保存パスとする。退避することにより、アプリケーション５２３が、再起動によって終了するときに利用ログを消去するアプリケーションであった場合でも、アプリケーション５２３は、再起動後に再起動前の利用ログを利用できる。
【００５７】
アプリケーション情報取得プログラムＤＢ５５０にアプリケーション名が存在しなかった場合（Ａ４３，Ｎｏ）、仮想ＰＣ管理エージェント５２２は、ウィンドウ情報テーブル５２５上の動作中のアプリケーションを全て特定したか否か判断する（Ａ４６）。仮想ＰＣ管理エージェント５２２は、動作中のアプリケーションを全て特定した場合（Ａ４６，Ｙｅｓ）処理を終了する。仮想ＰＣ管理エージェント５２２は、動作中のアプリケーションでまだ特定していないアプリケーションがあった場合（Ａ４６，Ｎｏ）、次の動作中のアプリケーションを特定する（Ａ４１）。
【００５８】
仮想ＰＣ５２０は、取得したアプリケーション情報を仮想ＰＣ管理サーバ１００のアプリケーション管理／比較部１０４に通知する（Ａ５）。本実施の形態では、アプリケーション５２３とアプリケーション５２４が実行されていたとする。アプリケーション管理／比較部１０４は通知されたアプリケーション情報を、仮想ＰＣ番号をキーに適用前アプリケーション情報ＤＢ１０５に保存する。
【００５９】
この後、パッチ適用サーバ２００にパッチ適用がスケジューリングされており、仮想ＰＣ５２０がパッチ適用の対象に含まれている場合、パッチ適用部２０１はネットワーク３００を介して仮想ＰＣ管理部１０１に仮想ＰＣ５２０の情報を要求する（Ｃ４）。仮想ＰＣ管理部１０１は仮想ＰＣ管理ＤＢ１０２内の仮想ＰＣ５２０の情報を取得し（Ｂ５）、ネットワーク３００を介してパッチ適用部２０１に通知する（Ｂ６）。
【００６０】
パッチ適用部２０１は仮想ＰＣステータスが“Ｐｏｗｅｒ  ＯＮ”且つユーザステータス“切断”であるので（Ｃ５，Ｙｅｓ）パッチ適用を実行する。即ち、パッチ適用部２０１は、仮想ＰＣ５２０へパッチを配布し（Ｃ６）、仮想ＰＣ５２０は、配布されたパッチを適用する（Ａ６）。仮想ＰＣ５２０は、必要であれば、再起動を行う。ここでは、再起動を行うものとする（Ａ７）。また、適用されたパッチは、適用後ユーザに対し、再起動をするか否かの画面表示等を行うことなく、仮想ＰＣ５２０は自動的に再起動処理を行うものとする。仮想ＰＣ管理エージェント５２２は、パッチ適用が完了するとパッチ適用部２０１にパッチ適用が完了したことを通知する（Ａ８）。パッチ適用部２０１は、パッチＤＢ２０２に仮想ＰＣ５２０へのパッチ適用完了を記録する（Ｃ７）。
【００６１】
仮想ＰＣ管理エージェント５２２は、パッチ適用完了時点で、アプリケーション情報の取得を行う（Ａ９）。アプリケーション情報の取得方法は、図１２で説明したとおりであるが、パッチ適用後は再起動が無いため、利用ログが消去される恐れが無い。そのため、仮想ＰＣ管理エージェント５２２は利用ログ退避（Ａ４５）の処理は行わない。そして、仮想ＰＣ管理エージェント５２２は、アプリケーション管理／比較部１０４にパッチ適用後のアプリケーション情報を通知する（Ａ１０）。
【００６２】
図１６は、パッチ適用前後の仮想ＰＣ５２０の状態を示す図である。本実施の形態では、動作しているアプリケーションは、仮想ＰＣ管理エージェント５２２のみとなったとする。アプリケーション管理／比較部１０４は通知された情報を適用後アプリケーション情報ＤＢ１０６に仮想ＰＣ番号をキーに保存する（Ｂ７）。
【００６３】
アプリケーション管理／比較部１０４は、適用後アプリケーション情報ＤＢ１０６に情報を保存した後、適用前アプリケーション情報ＤＢ１０５に保存されているアプリケーション情報を、仮想ＰＣ５２０をキーに検索し取得する（Ｂ８）。アプリケーション管理／比較部１０４は、パッチ適用前後のアプリケーション情報を比較する（Ｂ９）。差分がある場合（Ｂ１０，Ｙｅｓ）、アプリケーション管理／比較部１０４は、差分アプリケーション情報を仮想ＰＣ管理エージェント５２２に通知し（Ｂ１１）、処理を終了する。
【００６４】
図１７は、パッチ適用前後の差分アプリケーション情報を示す図である。本実施の形態の場合、アプリケーション５２３とアプリケーション５２４のアプリケーション情報が差分アプリケーション情報となる。差分アプリケーション情報は、例えば、アプリケーションの実行ファイル保存パスと、利用データ保存パスと、利用ログファイル保存パスと、ウィンドウ位置と、ウィンドウサイズとである。
【００６５】
差分がない場合（Ｂ１０，Ｎｏ）、アプリケーション管理／比較部１０４は、適用前アプリケーション情報ＤＢ１０５と適用後アプリケーション情報ＤＢ１０６を、仮想ＰＣ５２０をキーとして検索する。そして、アプリケーション管理／比較部１０４は、仮想ＰＣ５２０のアプリケーション情報を適用前アプリケーション情報ＤＢ１０５と適用後アプリケーション情報ＤＢ１０６から削除し（Ｂ１２）、アプリケーション管理／比較部１０４は、処理を終了する。
【００６６】
差分がある場合（Ｂ１０，Ｙｅｓ）、仮想ＰＣ管理エージェント５２２は、差分アプリケーション情報を取得し、差分アプリケーション復元処理を実行する（Ａ１１）。
【００６７】
図１３は、差分アプリケーション復元処理Ａ１１を示すフローチャートである。仮想ＰＣ管理エージェント５２２は、アプリケーション作業状況復元プログラムＤＢ５４０をアプリケーション名をキーに検索し、作業状況復元プログラムを実行する（Ａ１１１）。即ち、仮想ＰＣ管理エージェント５２２は、差分アプリケーション情報に記されたアプリケーション名（本実施の形態の場合、アプリケーション５２３とアプリケーション５２４）を取得する。仮想ＰＣ管理エージェント５２２は、アプリケーション名を、例えば、実行ファイル保存パスの情報から取得できる。そして、仮想ＰＣ管理エージェント５２２は、まず、アプリケーション５２３をキーとしてアプリケーション作業状況復元プログラムＤＢ５４０を検索する。そして、仮想ＰＣ管理エージェント５２２は、アプリケーション５２３に対応する作業状況復元プログラムを実行する。
【００６８】
仮想ＰＣ管理エージェント５２２が、アプリケーション５２３に対応する作業状況復元プログラムを実行する。すると、作業状況復元プログラムは、差分アプリケーション情報に記された実行ファイル保存パスにあるアプリケーションの実行ファイル（＊．ｅｘｅ）を実行する（Ａ１１２）。次に、作業状況復元プログラムは、差分アプリケーション情報に記されたデータ保存パスにあるデータファイルを開く（Ａ１１３）。次に、作業状況復元プログラムは、作業再現処理を行う（Ａ１１４）。
【００６９】
図１４は、作業再現処理Ａ１１４を示すフローチャートである。作業状況復元プログラムは、差分アプリケーション情報に記された利用ログ保存パスにある利用ログを取得する。そして、作業状況復元プログラムは、利用ログに記載された処理を実行することにより作業を再現する（Ａ１１４１）。作業状況復元プログラムは、次の作業履歴があるか否かを判断し（Ａ１１４２）、ある場合は（Ａ１１４２，Ｙｅｓ）、Ａ１１４１の処理に戻る。ない場合は（Ａ１１４２，Ｎｏ）、作業状況復元プログラムは、処理を終了する。
【００７０】
次に、作業状況復元プログラムは、ウィンドウ位置、ウィンドウサイズ変更を行う（Ａ１１５）。
【００７１】
図１５は、ウィンドウ位置、ウィンドウサイズ変更処理Ａ１１５を示すフローチャートである。作業状況復元プログラムは、ウィンドウ情報テーブル５２５を、アプリケーション名（アプリケーション５２３）をキーに検索する（Ａ１１５１）。作業状況復元プログラムは、ウィンドウ情報テーブル５２５のアプリケーション５２３に対応するウィンドウ位置、ウィンドウサイズを差分アプリケーション情報に記されたウィンドウ位置、ウィンドウサイズの値で上書きする（Ａ１１５２）。
【００７２】
仮想ＰＣ管理エージェント５２２は、図１３に示された差分アプリケーション復元処理Ａ１１をアプリケーション５２４についても実行する。
【００７３】
以上で、本発明の第２の実施の形態の動作の説明を終了する。
【００７４】
次に、本発明の第２の実施の形態の効果について説明する。本発明の第２の実施の形態は、例えば、以下の効果を有する。
【００７５】
仮想ＰＣシステム００１は、ユーザが、シンクライアント４００を仮想ＰＣサーバ５００上の仮想ＰＣ５２０から切断した後、再度接続したときにアプリケーション５２３等の実行作業を継続することができる。その理由は、本発明の仮想ＰＣシステム００１が、仮想ＰＣ５２０へのパッチ適用後に当該パッチ適用前の実行中のアプリケーション５２３等の作業状態を復元する復元部７２２を備えるためである。復元部７２２とは、アプリケーション管理／比較部１０４、仮想ＰＣ管理エージェント５２２等である。これにより、例えば、ユーザは常に最新且つ２４時間動作し続けるＰＣ環境を手に入れることができる。
【００７６】
又、本仮想ＰＣシステム００１は、パッチ適用前に実行していたアプリケーションの作業状態を復元できるため、仮想ＰＣ５２０がユーザに対し再起動の可否を問い合わせることなく自動的に再起動を実行することができる。そのため、ユーザは、パッチ適用に伴う仮想ＰＣの再起動などの煩わしさから開放され、業務効率が向上する。
【００７７】
更に、仮想ＰＣシステム００１は、効率よくパッチ適用前のアプリケーションの作業状態を復元することができる。その理由は、アプリケーション管理／比較部１０４がパッチ適用前アプリケーション情報とパッチ適用後アプリケーション情報とを取得して比較し、差分があるか否かを判断するためである。例えば、パッチ適用前にアプリケーションが起動されていなかった場合、パッチ適用前後のアプリケーション情報に差分は無い。また、パッチ適用後、パッチの種類によっては仮想ＰＣ５２０の再起動が不要であるため、再起動が行われない場合がある。この場合もパッチ適用前後のアプリケーション情報に差分は無い。差分が無い場合、仮想ＰＣシステム００１は実行中のアプリケーションの作業状態の復元処理を行わないためである。又、差分が無い場合、実行中のアプリケーションの作業状態の復元処理を行わないため、仮想ＰＣシステム００１は、同じ常駐アプリケーションを誤って２つ起動するようなことが無い。
【００７８】
次に、本発明の第３の実施の形態について説明する。
【００７９】
図１８は、本発明の第３の実施の形態における仮想ＰＣシステム００１の構成を示す図である。本発明の第２の実施の形態では、仮想ＰＣ管理サーバ１００が、アプリケーション管理／比較部１０４と、適用前アプリケーション情報ＤＢ１０５と、適用後アプリケーション情報ＤＢ１０６とを備えていた。しかし、本発明の第３の実施の形態では、仮想ＰＣサーバ５００が、アプリケーション管理／比較部１０４と、適用前アプリケーション情報ＤＢ１０５と、適用後アプリケーション情報ＤＢ１０６とを備える。そして、仮想ＰＣ管理エージェント５２２がアプリケーション管理／比較部１０４を含む。
【００８０】
次に、本発明の第３の実施の形態の動作について説明する。第２の実施の形態では、ネットワーク３００を介して仮想ＰＣ管理エージェント５２２とアプリケーション管理／比較部１０４が相互に通知をしていた。本発明の第３の実施の形態では、仮想ＰＣ管理エージェント５２２がアプリケーション管理／比較部１０４を有するため、相互に通知を行わない。その他の点は、本発明の第３の実施の形態の動作は、第２の実施の形態の動作と同じである。
【００８１】
次に、本発明の第３の実施の形態の効果を説明する。本発明の第３の実施の形態は、ネットワーク３００の負荷が軽減する、という効果を有する。その理由は、実行中のアプリケーションの作業状況の復元処理を、ネットワーク３００を介して行う必要がないためである。
【００８２】
次に、本発明の第４の実施の形態について説明する。
【００８３】
図１９は、本発明の第４の実施の形態における仮想ＰＣシステム００１の構成を示す図である。本発明の第２の実施の形態では、仮想ＰＣサーバ５００が、アプリケーション作業状況復元プログラムＤＢ５４０を備えていた。しかし、本発明の第４の実施の形態では、仮想ＰＣ管理サーバ１００がアプリケーション作業状況復元プログラムＤＢ５４０を備える。又、仮想ＰＣ管理サーバ１００は、アプリケーション作業状況復元プログラム生成部１０３を備える。
【００８４】
次に本発明の第４の実施の形態における仮想ＰＣシステム００１の動作について説明する。本発明の第４の実施の形態では、図１１のシーケンス図のＢ１１のステップの後に、アプリケーション作業状況復元プログラム生成部１０３が、アプリケーション作業状況復元プログラムを生成する処理（Ｂ１３）が加わる。そして、仮想ＰＣ管理サーバ１００は、生成されたアプリケーション作業状況復元プログラムを仮想ＰＣ５２０へ送信する。仮想ＰＣ５２０は、アプリケーション作業状況復元プログラムを受信し、アプリケーション作業状況復元プログラムを実行することで差分アプリケーション復元処理を行う（Ａ１１）。
【００８５】
図２０は、アプリケーション作業状況復元プログラム生成処理（Ｂ１３）を示すフローチャートである。まず、Ｂ１１の処理でアプリケーション作業状況復元プログラム生成部１０３は、差分アプリケーション情報をアプリケーション管理／比較部１０４から取得する。そして、アプリケーション作業状況復元プログラム生成部１０３は、アプリケーション作業状況復元プログラムＤＢ５４０を参照し、作業状況復元プログラムを取得する（Ｂ１３１）。
【００８６】
即ち、アプリケーション作業状況復元プログラム生成部１０３は、差分アプリケーション情報に記されたアプリケーション名（例、アプリケーション５２３）を例えば実行ファイル保存パスの情報から取得する。そして、アプリケーション作業状況復元プログラム生成部１０３は、まず、アプリケーション５２３名をキーとしてアプリケーション作業状況復元プログラムＤＢ５４０を検索する。
【００８７】
そして、アプリケーション作業状況復元プログラム生成部１０３は、アプリケーション５２３に対応する作業状況復元プログラムを取得する。作業状況復元プログラムは、アプリケーション５２３の実行ファイルを実行する機能と、データファイルを開く機能と、作業履歴を実行機能と、ウィンドウ位置、ウィンドウサイズ変更機能を備えている。アプリケーション作業状況復元プログラムはアプリケーションの製造元が提供するＡＰＩ等で作成することができる。
【００８８】
次に、アプリケーション作業状況復元プログラム生成部１０３は、差分アプリケーション情報を基に、アプリケーション作業状況復元プログラムにアプリケーション５２３の実行ファイル保存パスを挿入する（Ｂ１３２）。そして、アプリケーション作業状況復元プログラム生成部１０３は、アプリケーション作業状況復元プログラムにデータ保存パスを挿入する（Ｂ１３３）。そして、アプリケーション作業状況復元プログラム生成部１０３は、アプリケーション作業状況復元プログラムに利用ログ保存パスを挿入する（Ｂ１３４）。そして、アプリケーション作業状況復元プログラム生成部１０３は、アプリケーション作業状況復元プログラムにウィンドウ位置、ウィンドウサイズの情報を挿入する（Ｂ１３５）。
【００８９】
次に、本発明の第４の実施の形態の効果を説明する。本発明の第４の実施の形態は、仮想ＰＣサーバ５００の管理を仮想ＰＣ管理サーバ１００が集中して行うことができる、という効果を有する。その理由は、仮想ＰＣ管理サーバ１００がアプリケーション作業状況復元プログラムＤＢ５４０とアプリケーション作業状況復元プログラム生成部１０３とを備えるためである。
【００９０】
また、同様の理由で、本発明の第４の実施の形態は、仮想ＰＣサーバ５００の処理負荷が軽減されるという効果を有する。仮想ＰＣサーバ５００は、通常複数の仮想ＰＣ５２０，５３０等を含む。仮想ＰＣ５２０の処理負荷が高い場合、他の仮想ＰＣ５３０等の処理に影響を与えるが、本発明の第４の実施の形態ではこれを軽減することができる。
【図面の簡単な説明】
【００９１】
【図１】本発明の第１の実施の形態を説明する図である。
【図２】本発明の第２の実施の形態における仮想ＰＣシステム００１の構成を説明する図である。
【図３】仮想ＰＣ管理ＤＢ１０２の構成を示す図である。
【図４】適用前アプリケーション情報ＤＢ１０５と適用後アプリケーション情報ＤＢ１０６の構成を示す図である。
【図５】パッチＤＢ２０２の構成を示す図である。
【図６】実行ファイル保存パステーブル５２６の構成を示す図である。
【図７】ウィンドウ情報テーブル５２５の構成を示す図である。
【図８】データ保存パステーブル５２７の構成を示す図である。
【図９】アプリケーション情報取得プログラムＤＢ５５０の構成を示す図である。
【図１０】アプリケーション作業状況復元プログラムＤＢ５４０の構成を示す図である。
【図１１】本発明の第２の実施の形態における仮想ＰＣシステム００１の動作を示すシーケンス図である。
【図１２】アプリケーション取得処理Ａ４を示すフローチャートである。
【図１３】差分アプリケーション復元処理Ａ１１を示すフローチャートである。
【図１４】作業再現処理Ａ１１４を示すフローチャートである。
【図１５】ウィンドウ位置、ウィンドウサイズ変更処理Ａ１１５を示すフローチャートである。
【図１６】パッチ適用前後の仮想ＰＣ５２０の状態を示す図である。
【図１７】パッチ適用前後の差分アプリケーション情報を示す図である。
【図１８】本発明の第３の実施の形態における仮想ＰＣシステム００１の構成を示す図である。
【図１９】本発明の第４の実施の形態における仮想ＰＣシステム００１の構成を示す図である。
【図２０】アプリケーション作業状況復元プログラム生成処理（Ｂ１３）を示すフローチャートである。
【符号の説明】
【００９２】
００１    仮想ＰＣシステム
１００    仮想ＰＣ管理サーバ
１０１    仮想ＰＣ管理部
１０２    仮想ＰＣ管理ＤＢ
１０３    アプリケーション作業状況復元プログラム生成部
１０４    アプリケーション管理／比較部
１０５    適用前アプリケーション情報ＤＢ
１０６    適用後アプリケーション情報ＤＢ
２００    パッチ適用サーバ
２０１    パッチ適用部
２０２    パッチＤＢ
３００    ネットワーク
４００，４０１，４０２    シンクライアント
５００    仮想ＰＣサーバ
５１０    ホストＯＳ
５２０，５３０    仮想ＰＣ
５２１    ゲストＯＳ
５２２    仮想ＰＣ管理エージェント
５２３    アプリケーション
５２４    アプリケーション
５２５    ウィンドウ情報テーブル
５２６    実行ファイル保存パステーブル
５２７，５２８    データ保存パステーブル
５４０    アプリケーション作業状況復元プログラムＤＢ
５５０    アプリケーション情報取得プログラムＤＢ
６００    クライアント
７００    仮想クライアントサーバ
７２０    仮想クライアント
７２２    復元部
７２３    アプリケーション
８００    仮想クライアント管理サーバ
９００    仮想クライアントシステム
【図１】
2009169797.tif 000003
【図２】
2009169797.tif 000004
【図３】
2009169797.tif 000005
【図４】
2009169797.tif 000006
【図５】
2009169797.tif 000007
【図６】
2009169797.tif 000008
【図７】
2009169797.tif 000009
【図８】
2009169797.tif 000010
【図９】
2009169797.tif 000011
【図１０】
2009169797.tif 000012
【図１１】
2009169797.tif 000013
【図１２】
2009169797.tif 000014
【図１３】
2009169797.tif 000015
【図１４】
2009169797.tif 000016
【図１５】
2009169797.tif 000017
【図１６】
2009169797.tif 000018
【図１７】
2009169797.tif 000019
【図１８】
2009169797.tif 000020
【図１９】
2009169797.tif 000021
【図２０】
2009169797.tif 000022