(57)【特許請求の範囲】
【請求項１】
マスタデータを記憶するマスタデータ記憶部と、
前記マスタデータを参照する参照データを記憶する参照データ記憶部と、前記マスタデータに対する個別の更新処理を行う個別更新処理部と、前記マスタデータに対する更新データを記憶する更新データ記憶部とを有する、複数の仮想クライアントと、
各仮想クライアントに対して前記マスタデータに対する共通の更新処理を行う共通更新処理部と、
前記マスタデータに対して前記共通の更新処理を行うことにより生成される共通更新データを記憶する共通更新データ記憶部と、
前記共通更新データ記憶部に記憶されている前記共通更新データと、各仮想クライアントの前記更新データ記憶部に記憶されている前記更新データとを比較する更新データ比較部と、
前記更新データ比較部の比較結果に基づいて、各仮想クライアントの前記更新データ記憶部に記憶されている前記更新データのうち、前記共通更新データに一致する更新データについて、前記共通更新データを参照するように変更する参照制御部と、
各仮想クライアントにおいて、前記参照制御部によって前記共通更新データを参照するように変更された前記更新データで使用されていた、前記更新データ記憶部の記憶領域を解放する記憶領域解放部と、
を備える仮想クライアントサーバ。
【請求項２】
請求項１に記載の仮想クライアントサーバであって、
前記共通更新データを構成するファイルごとに、ファイル名と、当該ファイルのデータが物理的に記憶されている位置を示す物理位置情報とを対応付けて記憶する物理位置情報記憶部を更に備え、
前記更新データ比較部は、前記共通更新データ記憶部に記憶されている前記共通更新データと、各仮想クライアントの前記更新データ記憶部に記憶されている前記更新データとをファイル単位で比較し、
前記参照制御部は、各仮想クライアントの前記更新データに含まれるファイルのうち、前記共通更新データに含まれるファイルと一致するファイルについて、前記物理位置情報記憶部に記憶されいている、当該ファイルのファイル名に対応する前記物理位置情報を参照するように変更する
仮想クライアントサーバ。
【請求項３】
請求項１または２に記載の仮想クライアントサーバであって、
前記マスタデータは、各仮想クライアントにおけるオペレーティングシステムのデータを含み、
前記共通の更新処理には、前記オペレーティングシステムに対してパッチを適用する処理が含まれる
仮想クライアントサーバ。
【請求項４】
マスタデータを参照する参照データを記憶する参照データ記憶部と、前記マスタデータに対する個別の更新処理を行う個別更新処理部と、前記マスタデータに対する更新データを記憶する更新データ記憶部とを有する、複数の仮想クライアントを生成し、
各仮想クライアントに対して前記マスタデータに対する共通の更新処理を行い、
前記マスタデータに対して前記共通の更新処理を行うことにより生成される共通更新データを記憶し、
前記共通更新データと、各仮想クライアントの前記更新データ記憶部に記憶されている前記更新データとを比較し、
前記比較結果に基づいて、各仮想クライアントの前記更新データ記憶部に記憶されている前記更新データのうち、前記共通更新データに一致する更新データについて、前記共通更新データを参照するように変更し、
各仮想クライアントにおいて、前記共通更新データを参照するように変更された前記更新データで使用されていた、前記更新データ記憶部の記憶領域を解放する、
仮想クライアントサーバの制御方法。
【請求項５】
仮想クライアントサーバに、
マスタデータを参照する参照データを記憶する参照データ記憶部と、前記マスタデータに対する個別の更新処理を行う個別更新処理部と、前記マスタデータに対する更新データを記憶する更新データ記憶部とを有する、複数の仮想クライアントを生成する機能と、
各仮想クライアントに対して前記マスタデータに対する共通の更新処理を行う機能と、
前記マスタデータに対して前記共通の更新処理を行うことにより生成される共通更新データを記憶する機能と、
前記共通更新データと、各仮想クライアントの前記更新データ記憶部に記憶されている前記更新データとを比較する機能と、
前記比較結果に基づいて、各仮想クライアントの前記更新データ記憶部に記憶されている前記更新データのうち、前記共通更新データに一致する更新データについて、前記共通更新データを参照するように変更する機能と、
各仮想クライアントにおいて、前記共通更新データを参照するように変更された前記更新データで使用されていた、前記更新データ記憶部の記憶領域を解放する機能と、
を実現させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想クライアントサーバ及び仮想クライアントサーバの制御方法に関する。
【背景技術】
【０００２】
近年、情報セキュリティの重要性の増加や、ネットワークの高速化等を背景に、仮想クライアントシステムが普及しつつある。仮想クライアントシステムでは、例えば、サーバ上に複数の仮想クライアントが生成され、シンクライアント等のコンピュータからネットワークを介してサーバにアクセスすることにより、仮想クライアントを利用することができる。このように複数の仮想クライアントを有するサーバは、仮想クライアントサーバと呼ばれる。
【０００３】
このような仮想クライアントサーバでは、仮想クライアントごとに、オペレーティングシステムやアプリケーションソフトウェアの環境を準備する必要がある。この際に、仮想クライアント用のオペレーティングシステムやアプリケーションソフトウェアの全てのデータを仮想クライアントごとに個別に持つこととすると、仮想クライアントの数が増加するにつれて必要なディスク容量が膨大になってしまう。そのため、仮想クライアントのマスタイメージを作成し、そのマスタを参照するリンクによって複数の仮想クライアントを生成することにより、ディスク容量を削減する手法が用いられることがある。このようにマスタへのリンクにより生成される仮想クライアントはクローンと呼ばれる。
【０００４】
また、ディスク容量を削減する一般的な手法として、複数のコンピュータで共有されるストレージ装置において、複数のコンピュータで共通に使用されるデータが格納される共通領域と、各コンピュータが個別に使用する個別領域とを設けておくものがある（例えば特許文献１）。この手法では、各コンピュータからストレージ装置に対するデータ書き込みの際に、共通領域に格納済みのデータと一致しないデータのみが、ブロック単位で個別領域に格納される。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−２３０６６１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
たしかに、複数の仮想クライアントをクローンによって作成することにより、仮想クライアントごとに全てのデータを個別に持つ場合と比べてディスク容量を削減することができる。
【０００７】
しかしながら、クローンである複数の仮想クライアントが生成された後に、各仮想クライアントが同じデータを個別に持つことがあり、ディスク容量削減の効果が減少してしまうこととなる。例えば、各仮想クライアントのオペレーティングシステムに対してパッチを適用する場合、パッチの適用により生成されるデータは各仮想クライアントが個別に持つこととなる。つまり、同一のパッチデータが複数の仮想クライアントに重複して保持されることとなってしまう。
【０００８】
そして、仮想クライアントごとに有するパッチのデータをなくすためには、再度、新しいマスタイメージを作成し、仮想クライアントを作成しなおす必要があり、仮想クライアントの稼動を停止させなければならい。
【０００９】
また、特許文献１に開示されている手法は、複数のコンピュータでブロック単位でデータを共有することによりディスク容量を削減する手法を示してはいるが、クローンとして作成された各仮想コンピュータに生成されたデータを、データの生成とは非同期のタイミングで削減する手法については開示していない。
【００１０】
そこで、本発明は、マスタデータに基づいて稼動する複数の仮想クライアントを有する仮想クライアントサーバにおいて、仮想クライアントの稼動を停止することなくディスク容量を削減することを目的とする。
【課題を解決するための手段】
【００１１】
本発明の一側面に係る仮想クライアントサーバは、マスタデータを記憶するマスタデータ記憶部と、マスタデータを参照する参照データを記憶する参照データ記憶部と、マスタデータに対する個別の更新処理を行う個別更新処理部と、マスタデータに対する更新データを記憶する更新データ記憶部とを有する、複数の仮想クライアントと、各仮想クライアントに対してマスタデータに対する共通の更新処理を行う共通更新処理部と、マスタデータに対して共通の更新処理を行うことにより生成される共通更新データを記憶する共通更新データ記憶部と、共通更新データ記憶部に記憶されている共通更新データと、各仮想クライアントの更新データ記憶部に記憶されている更新データとを比較する更新データ比較部と、更新データ比較部の比較結果に基づいて、各仮想クライアントの更新データ記憶部に記憶されている更新データのうち、共通更新データに一致する更新データについて、共通更新データを参照するように変更する参照制御部と、各仮想クライアントにおいて、参照制御部によって共通更新データを参照するように変更された更新データで使用されていた、更新データ記憶部の記憶領域を解放する記憶領域解放部とを備える。
【００１２】
なお、本発明において、「部」とは、単に物理的手段を意味するものではなく、その「部」が有する機能をソフトウェアによって実現する場合も含む。また、１つの「部」や装置が有する機能が２つ以上の物理的手段や装置により実現されても、２つ以上の「部」や装置の機能が１つの物理的手段や装置により実現されても良い。
【発明の効果】
【００１３】
本発明によれば、マスタデータに基づいて稼動する複数の仮想クライアントを有する仮想クライアントサーバにおいて、仮想クライアントの稼動を停止することなくディスク容量を削減することが可能となる。
【図面の簡単な説明】
【００１４】
【図１】本発明の一実施形態である仮想クライアントシステムの全体構成を示す図である。
【図２】仮想ＰＣサーバの構成例を示す図である。
【図３】差分情報の一例を示す図である。
【図４】差分比較処理および差分リンク処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１５】
以下、図面を参照して本発明の一実施形態について説明する。
【００１６】
＝＝システム構成＝＝
まず、システム構成について説明する。図１は、本発明の一実施形態である仮想クライアントシステムの全体構成を示す図である。
【００１７】
図１に示すように、仮想クライアントシステムでは、仮想ＰＣサーバ１０（仮想クライアントサーバ）及び複数のクライアント２０−１〜２０−Ｎが、インターネット等のネットワーク３０を介して通信可能に接続されている。
【００１８】
仮想ＰＣサーバ１０は、クライアント２０−１〜２０−Ｎのそれぞれに対して、仮想クライアントである仮想ＰＣ５０−１〜５０−Ｍの何れかを提供する情報処理装置である。例えば、仮想ＰＣ５０−１は、一般的なＰＣのオペレーティングシステムに相当するゲストオペレーティングシステム（ゲストＯＳ）５２と、仮想ＰＣ５０−１で動作するアプリケーション５４を含んで構成されている。その他の仮想ＰＣ５０−２〜５０−Ｍについても同様の構成である。なお、仮想ＰＣ５０−１〜５０−Ｍは仮想的なクライアントであり、仮想ＰＣサーバ１０内にそれぞれが物理的に分離されて存在しているわけではなく、仮想ＰＣサーバ１０の制御によって論理的に構成されたものである。
【００１９】
クライアント２０−１〜２０−Ｎのそれぞれは、例えばシンクライアント等の情報処理装置である。例えば、ユーザは、クライアント２０−１からネットワーク３０を介して仮想ＰＣサーバ１０にアクセスすることにより、仮想ＰＣ５０−１を利用することができる。
【００２０】
図２は、仮想ＰＣサーバ１０の構成例を示す図である。図２に示すように、仮想ＰＣサーバ１０は、共有マスタ６０、仮想ＰＣ生成部６２、パッチ適用部６４、差分マスタ生成部６６、差分マスタ６８、及び仮想ＰＣ管理部７０を含んで構成されている。
【００２１】
共有マスタ６０（マスタデータ記憶部）は、仮想ＰＣのテンプレートであり、複数の仮想ＰＣから参照されるマスタデータ８０を記憶している。マスタデータ８０には、例えば、ゲストＯＳ５２やアプリケーション５４に必要なデータが含まれる。
【００２２】
仮想ＰＣ生成部６２は、マスタデータ８０に基づいて仮想ＰＣを生成する機能を有している。例えば、仮想ＰＣ生成部６２は、マスタデータ８０と同じデータを生成することなく、マスタデータ８０を参照する仮想ＰＣを生成することができる。図２では、マスタデータ８０を参照する参照データを有する仮想ＰＣとして、仮想ＰＣ５０−１〜５０−Ｍのうち、３つの仮想ＰＣ５０−１〜５０−３のみが示されている。例えば、仮想ＰＣ５０−１は、マスタデータ８０へのリンクである参照データ８２−１を有している。また、仮想ＰＣ５０−１は、仮想ＰＣ５０−１におけるゲストＯＳ５２やアプリケーション５４（個別更新処理部）の処理や、ゲストＯＳ５２に対するパッチの適用処理等によって生成される、マスタデータに対する更新データを記憶することができる。仮想ＰＣ５０−１では、参照データ８２−１と、マスタデータ８０に対する差分である更新データ８４−１Ａ，８４−１Ｂとにより、仮想ＰＣ５０−１用の環境が構築されている。仮想ＰＣ５０−２，５０−３についても同様である。
【００２３】
パッチ適用部６４（共通更新処理部）は、仮想ＰＣ５０−１〜５０−３のそれぞれに対して、マスタデータ８０に対するパッチを適用する更新処理を実行する。なお、マスタデータ８０に対するパッチとは、例えば、ゲストＯＳ５２に対するパッチである。パッチ適用部６４によって各仮想ＰＣに対してパッチ適用処理が実行されると、パッチの適用により生成される更新データが各仮想ＰＣの記憶領域（更新データ記憶部）に記憶される。例えば、仮想ＰＣ５０−１において更新データを記憶する記憶領域には、パッチの適用により生成された更新データ８４−１Ａが記憶されている。同様に、仮想ＰＣ５０−２，５０−３の記憶領域には、パッチの適用により生成された更新データ８４−２Ａ，８４−３Ａが記憶されている。なお、本実施形態では、更新データ８４−１Ｂは、パッチの適用により生成されたデータではなく、仮想ＰＣ５０−１における個別の更新処理により生成されたデータであることとする。同様に、更新データ８４−３Ｃは、パッチの適用により生成されたデータではなく、仮想ＰＣ５０−３における個別の更新処理により生成されたデータであることとする。
【００２４】
差分マスタ生成部６６は、共有マスタ６０にパッチを適用した状態である差分マスタ６８を生成する。差分マスタ６８（共通更新データ記憶部）は、マスタデータ８０に対する参照データ８６と、マスタデータ８０に対するパッチの適用により生成される更新データ８８−Ａとを含んでいる。ここで、差分マスタ生成部６６により適用されるパッチは、パッチ適用部６４により適用されるパッチと同一のものである。つまり、更新データ８８−Ａは、仮想ＰＣ５０−１，５０−２，５０−３における更新データ８４−１Ａ，８４−２Ａ，８４−３Ａと同一のデータである。
【００２５】
仮想ＰＣ管理部７０は、仮想ＰＣ５０−１〜５０−３の記憶領域を管理する機能を有し、差分情報記憶部９０、差分比較部９２、差分リンク部９４、及びディスクスペース解放部９６を含んで構成される。
【００２６】
差分情報記憶部９０（物理位置情報記憶部）は、差分マスタ６８の更新データ８８−Ａについて、更新データ８８−Ａが物理的に記憶されている位置を示す情報を差分情報として記憶する。図３は、差分情報記憶部９０に記憶される差分情報の一例を示す図である。例えば、更新データ８８−Ａを構成するファイルの論理ファイル名ごとに、ファイルのデータが物理的に記憶されいている位置を示すセクタ番号（物理位置情報）が記憶される。なお、セクタ番号には、例えば、開始セクタ番号及び終了セクタ番号が含まれることとしてもよいし、開始セクタ番号及びセクタ数が含まれることとしてもよい。また、記憶領域の構成によっては、セクタ番号以外の情報を、物理位置情報として用いることも可能である。
【００２７】
差分比較部９２（更新データ比較部）は、差分マスタ６８の更新データ８８−Ａと、仮想ＰＣ５０−１〜５０−３の記憶領域に記憶されている更新データとを比較する。例えば、差分比較部９２は、更新データ８８−Ａに含まれるファイルごとに、仮想ＰＣ５０−１〜５０−３の記憶領域に記憶されている更新データに同一ファイル名のファイルが存在するか確認し、存在する場合は、ファイルの内容が一致するかどうかを確認する。
【００２８】
差分リンク部９４（参照制御部）は、差分比較部９２での比較の結果、仮想ＰＣ５０−１〜５０−３の記憶領域に記憶されている更新データのうち、差分マスタ６８に記憶されている更新データ８８−Ａと一致するデータを、更新データ８８−Ａにリンクする。具体的には、例えば、図３に示した差分情報に基づいて、内容が一致するファイルごとに、仮想ＰＣ５０−１〜５０−３の更新データが物理的に記憶されている位置を示す情報として、更新データ８８−Ａに含まれるファイルのセクタ番号を設定する。
【００２９】
ディスクスペース解放部９６（記憶領域解放部）は、仮想ＰＣ５０−１〜５０−３の記憶領域に記憶されている更新データのうち、差分リンク部９４によって差分マスタ６８に記憶されている更新データ８８−Ａにリンク付けされた更新データの記憶領域を解放する。なお、記憶領域の解放は、他のデータを記憶可能な状態にすることであり、解放のタイミングでは、記憶されているデータを消去しなくてもよい。
【００３０】
＝＝差分比較およびリンク処理＝＝
次に、差分比較およびリンク処理について説明する。図４は、差分比較処理および差分リンク処理の一例を示すフローチャートである。
【００３１】
まず、差分比較部９２は、比較対象の仮想ＰＣを選択する（Ｓ４０１）。そして、差分比較部９２は、差分マスタ６８の更新データ８８−Ａと、選択された仮想ＰＣの更新データとを比較する（Ｓ４０２）。更新データの内容が一致する場合（Ｓ４０３：ＹＥＳ）、差分リンク部９４は、仮想ＰＣの更新データについて、差分マスタ６８の更新データ８８−Ａを参照するようにリンクする（Ｓ４０４）。さらに、ディスクスペース解放部９６が、差分マスタ６８の更新データ８８−Ａにリンクされた仮想ＰＣの更新データについて、仮想ＰＣの更新データで使用されていたディスクスペース（記憶領域）を解放する（Ｓ４０５）。なお、更新データの比較、リンク、及び解放処理は、例えばファイル単位で実行される。また、更新データのリンク及び解放処理は、更新データの参照先を変更するのみであるため、仮想ＰＣの稼動を停止することなく行うことができる。
【００３２】
更新データの内容が一致しないか（Ｓ４０３：ＮＯ）、一致する更新データに対する処理が終了すると、差分比較部９２は、比較が完了していない仮想ＰＣが存在するか確認し（Ｓ４０６）、存在する場合は（Ｓ４０６：ＹＥＳ）、仮想ＰＣを選択する処理（Ｓ４０１）に戻る。そして、全ての仮想ＰＣに対して比較が完了すると（Ｓ４０６：ＮＯ）、処理は終了する。
【００３３】
図２を参照して、図４の処理の具体例を説明する。例えば、差分比較部９２は、比較対象の仮想ＰＣとして仮想ＰＣ５０−１を選択する。そして、差分比較部９２は、差分マスタ６８の更新データ８８−Ａと、仮想ＰＣ５０−１の更新データ８４−１Ａ，８４−１Ｂの比較を行う。ここで、更新データ８４−１Ａは、パッチ適用部６４によるパッチ適用により生成された更新データであり、更新データ８４−１Ｂは、仮想ＰＣ５０−１における個別の更新処理で生成された更新データである。したがって、差分比較部９２による比較により、更新データ８４−１Ａは、差分マスタ６８の更新データ８８−Ａと一致し、更新データ８４−１Ｂは、差分マスタ６８の更新データ８８−Ａと一致しないと判定される。そのため、差分リンク部９４は、仮想ＰＣ５０−１の更新データ８４−１Ａについて、差分マスタ６８の更新データ８８−Ａを参照するようにリンクする。このリンク処理により、仮想ＰＣ５０−１の更新データ８４−１Ａで使用されていたディスクスペースが不要となるため、ディスクスペース解放部９６は、当該領域を解放する。なお、更新データ８４−１Ｂに対しては何も行われず、仮想ＰＣ５０−１の記憶領域内にそのまま保持される。
【００３４】
同様に、仮想ＰＣ５０−２，５０−３についても処理が実行される。すなわち、仮想ＰＣ５０−２の更新データ８４−２Ａおよび仮想ＰＣ５０−３の更新データ８４−３Ａは、差分マスタ６８の更新データ８８−Ａと一致するため、差分マスタ６８の更新データ８８−Ａにリンクされ、ディスクスペースが解放される。
【００３５】
以上、本発明の一実施形態について説明した。本実施形態によれば、仮想ＰＣサーバ１０において、複数の仮想ＰＣ５０−１〜５０−Ｍで重複して保持されている更新データを差分マスタ６８の更新データ８８−Ａへのリンクに変更することができる。すなわち、マスタデータ８０に基づいて稼動する複数の仮想ＰＣ５０−１〜５０−Ｍを有する仮想ＰＣサーバ１０において、仮想ＰＣ５０−１〜５０−Ｍの稼動を停止することなく、ディスク容量を削減することができる。
【００３６】
また、本実施形態では、図２に示したように、差分マスタ６８の更新データ８８−Ａを構成するファイルごとに、論理ファイル名とセクタ番号（物理位置情報）とを対応付けて記憶しているため、内容が一致する更新データについて、ファイルごとにリンク付けを行うことができる。
【００３７】
また、複数の仮想ＰＣに対してオペレーティングシステムのパッチを適用するような構成においては、複数の仮想ＰＣにおいて同一の更新データが保持される可能性が高い。したがって、本実施形態に示したように、複数の仮想ＰＣ５０−１〜５０−Ｍで重複して保持されている更新データを差分マスタ６８の更新データ８８−Ａへのリンクに変更し、各仮想ＰＣの更新データで使用されていたディスクスペースを解放することにより、ディスク容量を大幅に削減することが可能となる。
【００３８】
なお、本実施形態は、本発明の理解を容易にするためのものであり、本発明を限定して解釈するためのものではない。本発明は、その趣旨を逸脱することなく、変更／改良され得るととともに、本発明にはその等価物も含まれる。
【００３９】
例えば、本実施形態では、共有マスタ（テンプレート）が１つだけ存在する例を示したが、共有マスタは複数存在してもよい。
【００４０】
また、例えば、仮想ＰＣサーバ１０は、１つの情報処理装置により構成されることとしてもよいし、複数の情報処理装置や記憶装置の組み合わせにより構成されることとしてもよい。
【００４１】
本実施形態の一部又は全部は、以下の付記のようにも記載されうるが、以下には限られない。
【００４２】
（付記１）マスタデータを記憶するマスタデータ記憶部と、前記マスタデータを参照する参照データを記憶する参照データ記憶部と、前記マスタデータに対する個別の更新処理を行う個別更新処理部と、前記マスタデータに対する更新データを記憶する更新データ記憶部とを有する、複数の仮想クライアントと、各仮想クライアントに対して前記マスタデータに対する共通の更新処理を行う共通更新処理部と、前記マスタデータに対して前記共通の更新処理を行うことにより生成される共通更新データを記憶する共通更新データ記憶部と、前記共通更新データ記憶部に記憶されている前記共通更新データと、各仮想クライアントの前記更新データ記憶部に記憶されている前記更新データとを比較する更新データ比較部と、前記更新データ比較部の比較結果に基づいて、各仮想クライアントの前記更新データ記憶部に記憶されている前記更新データのうち、前記共通更新データに一致する更新データについて、前記共通更新データを参照するように変更する参照制御部と、各仮想クライアントにおいて、前記参照制御部によって前記共通更新データを参照するように変更された前記更新データで使用されていた、前記更新データ記憶部の記憶領域を解放する記憶領域解放部と、を備える仮想クライアントサーバ。
【００４３】
（付記２）付記１に記載の仮想クライアントサーバであって、前記共通更新データを構成するファイルごとに、ファイル名と、当該ファイルのデータが物理的に記憶されている位置を示す物理位置情報とを対応付けて記憶する物理位置情報記憶部を更に備え、前記更新データ比較部は、前記共通更新データ記憶部に記憶されている前記共通更新データと、各仮想クライアントの前記更新データ記憶部に記憶されている前記更新データとをファイル単位で比較し、前記参照制御部は、各仮想クライアントの前記更新データに含まれるファイルのうち、前記共通更新データに含まれるファイルと一致するファイルについて、前記物理位置情報記憶部に記憶されいている、当該ファイルのファイル名に対応する前記物理位置情報を参照するように変更する仮想クライアントサーバ。
【００４４】
（付記３）付記１または２に記載の仮想クライアントサーバであって、前記マスタデータは、各仮想クライアントにおけるオペレーティングシステムのデータを含み、前記共通の更新処理には、前記オペレーティングシステムに対してパッチを適用する処理が含まれる仮想クライアントサーバ。
【００４５】
（付記４）マスタデータを参照する参照データを記憶する参照データ記憶部と、前記マスタデータに対する個別の更新処理を行う個別更新処理部と、前記マスタデータに対する更新データを記憶する更新データ記憶部とを有する、複数の仮想クライアントを生成し、各仮想クライアントに対して前記マスタデータに対する共通の更新処理を行い、前記マスタデータに対して前記共通の更新処理を行うことにより生成される共通更新データを記憶し、前記共通更新データと、各仮想クライアントの前記更新データ記憶部に記憶されている前記更新データとを比較し、前記比較結果に基づいて、各仮想クライアントの前記更新データ記憶部に記憶されている前記更新データのうち、前記共通更新データに一致する更新データについて、前記共通更新データを参照するように変更し、各仮想クライアントにおいて、前記共通更新データを参照するように変更された前記更新データで使用されていた、前記更新データ記憶部の記憶領域を解放する、仮想クライアントサーバの制御方法。
【００４６】
（付記５）仮想クライアントサーバに、マスタデータを参照する参照データを記憶する参照データ記憶部と、前記マスタデータに対する個別の更新処理を行う個別更新処理部と、前記マスタデータに対する更新データを記憶する更新データ記憶部とを有する、複数の仮想クライアントを生成する機能と、各仮想クライアントに対して前記マスタデータに対する共通の更新処理を行う機能と、前記マスタデータに対して前記共通の更新処理を行うことにより生成される共通更新データを記憶する機能と、前記共通更新データと、各仮想クライアントの前記更新データ記憶部に記憶されている前記更新データとを比較する機能と、前記比較結果に基づいて、各仮想クライアントの前記更新データ記憶部に記憶されている前記更新データのうち、前記共通更新データに一致する更新データについて、前記共通更新データを参照するように変更する機能と、各仮想クライアントにおいて、前記共通更新データを参照するように変更された前記更新データで使用されていた、前記更新データ記憶部の記憶領域を解放する機能と、を実現させるためのプログラム。
【符号の説明】
【００４７】
１０  仮想ＰＣサーバ
２０−１〜２０−Ｎ  クライアント
３０  ネットワーク
５０−１〜５０−Ｍ  仮想ＰＣ
５２  ゲストＯＳ
５４  アプリケーション
６０  共有マスタ
６２  仮想ＰＣ生成部
６４  パッチ適用部
６６  差分マスタ生成部
６８  差分マスタ
７０  仮想ＰＣ管理部
８０  マスタデータ
８２−１〜８２−３  参照データ
８４−１Ａ，８４−１Ｂ，８４−２Ａ，８４−３Ａ，８４−３Ｃ  更新データ
８６  参照データ
８８−Ａ  更新データ
９０  差分情報記憶部
９２  差分比較部
９４  差分リンク部
９６  ディスクスペース解放部
【図１】
0005618137.tif 000002
【図２】
0005618137.tif 000003
【図３】
0005618137.tif 000004
【図４】
0005618137.tif 000005