(57)【要約】【課題】クライアント端末のデスクトップ環境（仮想イメージファイル）の管理を効率化する情報処理装置を提供する。【解決手段】実施形態によれば、情報処理装置は、複数のクライアント端末のデスクトップ環境を管理するクライアント管理システムに適用される。情報処理装置は、第１のイメージファイル作成手段と、第２のイメージファイル作成手段とを具備する。第１のイメージファイル作成手段は、前記デスクトップ環境用のディスクイメージファイルであって前記複数のクライアント端末の機種に依存しない要素で分類したグループ毎に前記複数のクライアント端末の機種に依存する要素を含まない第１のイメージファイルを作成する。第２のイメージファイル作成手段は、前記第１のイメージファイルを基にして前記複数のクライアント端末の機種に依存する要素を含む第２のイメージファイルを構築するための差分ファイルを作成する。【選択図】図６
2013186793.tif 000002
【特許請求の範囲】
【請求項１】
複数のクライアント端末のデスクトップ環境を管理するクライアント管理システムに適用される情報処理装置であって、
前記デスクトップ環境用のディスクイメージファイルであって前記複数のクライアント端末の機種に依存しない要素で分類したグループ毎に前記複数のクライアント端末の機種に依存する要素を含まない第１のイメージファイルを作成する第１のイメージファイル作成手段と、
前記第１のイメージファイルを基にして前記複数のクライアント端末の機種に依存する要素を含む第２のイメージファイルを構築するための差分ファイルを作成する第２のイメージファイル作成手段と、
を具備する情報処理装置。
【請求項２】
前記複数のクライアント端末の機種に依存しない要素は、オペレーティングシステムを含む請求項１に記載の情報処理装置。
【請求項３】
前記複数のクライアント端末の機種に依存しない要素は、アプリケーションプログラムを含む請求項２に記載の情報処理装置。
【請求項４】
前記複数のクライアント端末の機種に依存する要素は、デバイスドライバを含む請求項１に記載の情報処理装置。
【請求項５】
複数のクライアント端末のデスクトップ環境を管理するクライアント管理システムに適用される情報処理装置のイメージファイル作成方法であって、
前記デスクトップ環境用のディスクイメージファイルであって前記複数のクライアント端末の機種に依存しない要素で分類したグループ毎に前記複数のクライアント端末の機種に依存する要素を含まない第１のイメージファイルを作成し、
前記第１のイメージファイルを基にして前記複数のクライアント端末の機種に依存する要素を含む第２のイメージファイルを構築するための差分ファイルを作成する、
イメージファイル作成方法。
【請求項６】
前記複数のクライアント端末の機種に依存しない要素は、オペレーティングシステムを含む請求項５に記載のイメージファイル作成方法。
【請求項７】
前記複数のクライアント端末の機種に依存しない要素は、アプリケーションプログラムを含む請求項６に記載のイメージファイル作成方法。
【請求項８】
前記複数のクライアント端末の機種に依存する要素は、デバイスドライバを含む請求項５に記載のイメージファイル作成方法。
【請求項９】
複数のクライアント端末のデスクトップ環を管理するクライアント管理システムに適用されるコンピュータを、
前記デスクトップ環境用のディスクイメージファイルであって前記複数のクライアント端末の機種に依存しない要素で分類したグループ毎に前記複数のクライアント端末の機種に依存する要素を含まない第１のイメージファイルを作成する第１のイメージファイル作成手段、
前記第１のイメージファイルを基にして前記複数のクライアント端末の機種に依存する要素を含む第２のイメージファイルを構築するための差分ファイルを作成する第２のイメージファイル作成手段、
として機能させるためのプログラム。
【請求項１０】
前記複数のクライアント端末の機種に依存しない要素は、オペレーティングシステムを含む請求項９に記載のプログラム。
【請求項１１】
前記複数のクライアント端末の機種に依存しない要素は、アプリケーションプログラムを含む請求項１０に記載のプログラム。
【請求項１２】
前記複数のクライアント端末の機種に依存する要素は、デバイスドライバを含む請求項９に記載のプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、複数のクライアント端末のデスクトップ環境を管理するための情報処理装置、イメージファイル作成方法およびプログラムに関する。
【背景技術】
【０００２】
近年、各種企業においては、オフィス内の多数のクライアント端末をサーバによって管理するためのシステム（クライアント管理システム）の導入が検討されている。
【０００３】
クライアント管理システムでは、多数のクライアント端末のデスクトップ環境（オペレーティングシステム（ＯＳ）、アプリケーションプログラム）を、クライアント管理システム内のサーバによって集中管理することができる。デスクトップ環境は、例えば、仮想ハードディスク（ＶＨＤ）フォーマットのようなディスクイメージファイルであって、ＯＳ、アプリケーションプログラムを含む仮想イメージファイルとして管理される。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特許第４０５０２４９号公報
【特許文献２】特表２０１０−５２２３７０号公報
【特許文献３】特開２０１０−２５７４２９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、管理すべき対象物が多数存在する場合、対象物をクループ化し、グループ単位で管理することが一般的に行われる。従って、多数のクライアント端末のデスクトップ環境をサーバによって集中管理する場合も、管理すべき対象物であるデスクトップ環境をグループ化することが行われる。このデスクトップ環境のグループ化は、通常、機種（大分類）→アプリケーションプログラム（小分類）の順番で行われる。
【０００６】
しかしながら、例えばアップデートやモジュール追加の頻度といった観点から、デバイスドライバ等の機種に依存する要素と、アプリケーションプログラム等の機種に依存しない要素とを比較すると、後者の方が圧倒的に多い。
【０００７】
本発明は、クライアント端末のデスクトップ環境（仮想イメージファイル）の管理を効率化する情報処理装置、イメージファイル作成方法およびプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
実施形態によれば、情報処理装置は、複数のクライアント端末のデスクトップ環境を管理するクライアント管理システムに適用される。情報処理装置は、第１のイメージファイル作成手段と、第２のイメージファイル作成手段とを具備する。第１のイメージファイル作成手段は、前記デスクトップ環境用のディスクイメージファイルであって前記複数のクライアント端末の機種に依存しない要素で分類したグループ毎に前記複数のクライアント端末の機種に依存する要素を含まない第１のイメージファイルを作成する。第２のイメージファイル作成手段は、前記第１のイメージファイルを基にして前記複数のクライアント端末の機種に依存する要素を含む第２のイメージファイルを構築するための差分ファイルを作成する。
【図面の簡単な説明】
【０００９】
【図１】実施形態の情報処理装置（仮想イメージ作成＆配信サーバ）を適用するクライアント管理システムの構成を示す図。
【図２】図１のクライアント管理システムとリッチクライアント端末（仮想化クライアント端末）との間の通信手順の例を説明するため図。
【図３】図１のクライアント管理システムとシンクライアント端末との間の通信手順の例を説明するため図。
【図４】図１のクライアント管理システムに適用されるコネクションブローカによって提供されるローミング機能を説明するため図。
【図５】図１のクライアント管理システムに適用されるコネクションブローカによって管理されるユーザプロファイルを説明するための図。
【図６】図１のクライアント管理システム内における仮想イメージファイルの作成のための連携を説明するための図。
【図７】従来の仮想イメージファイルを構築する工程を説明するための図。
【図８】図１のクライアント管理システムにおける仮想イメージファイルを構築する工程を説明するための図。
【図９】図１のクライアント管理システムに適用される管理サーバがＤＢに格納するテーブルＡを示す図。
【図１０】図１のクライアント管理システムに適用される管理サーバがＤＢに格納するテーブルＢを示す図。
【図１１】図１のクライアント管理システムに適用される管理サーバがＤＢに格納するテーブルＣを示す図。
【図１２】図１のクライアント管理システムに適用される管理サーバがＤＢに格納するテーブルＤを示す図。
【図１３】図１のクライアント管理システムにおいて実行される仮想イメージファイルの作成処理の流れを示すフローチャート。
【発明を実施するための形態】
【００１０】
以下、実施の形態について図面を参照して説明する。
【００１１】
一般に、管理すべき対象物が多数存在する場合、対象物をクループ化し、グループ単位で管理することが一般的に行われる。従って、多数のクライアント端末のデスクトップ環境をサーバによって集中管理する場合も、管理すべき対象物であるデスクトップ環境をグループ化することが行われる。このデスクトップ環境のグループ化は、通常、機種（大分類）→アプリケーションプログラム（小分類）の順番で行われる。例えば、（ａ）機種Ｘ上でアプリケーションプログラムＡを動作させるデスクトップ環境１、（ｂ）機種Ｘ上でアプリケーションプログラムＢを動作させるデスクトップ環境２、（ｃ）機種Ｙ上でアプリケーションプログラムＡを動作させるデスクトップ環境３、（ｄ）機種Ｙ上でアプリケーションプログラムＢを動作させるデスクトップ環境４、の（２種×２種の）４つのデスクトップ環境が存在すると仮定すると、これらのデスクトップ環境は、まず、機種Ｘと機種Ｙとで分類され、続いて、機種Ｘ，Ｙのそれぞれで、アプリケーションプログラムＡとアプリケーションプログラムＢとで分類される。
【００１２】
しかしながら、一般に、ユーザは、機種ではなく、使用したいアプリケーションプログラムに注目している。それにも拘わらすに、前述したような分類法に基づき、デスクトップ環境を作成すると、まず、デバイスドライバ等の機種に依存する要素を第１層とし、ＯＳやアプリケーションプログラム等の機種に依存しない要素を第２層として積み上げるという手順が採用されることになる。
【００１３】
例えばアップデートやモジュール追加の頻度といった観点から、デバイスドライバ等の機種に依存する要素と、アプリケーションプログラム等の機種に依存しない要素とを比較すると、後者の方が圧倒的に多い。そして、前述の例で言えば、仮に、アプリケーションプログラムＢをアップデートする必要が生じたとすると、デスクトップ環境２とデスクトップ環境４とが更新対象となるが、アプリケーションプログラムＢからデスクトップ環境２とデスクトップ環境４とを特定する作業は必ずしも容易ではない。また、デスクトップ環境２とデスクトップ環境４とでは第１層が異なるので、アプリケーションプログラムＢのアップデートに伴うこれらデスクトップ環境２，４の更新作業は煩雑なものとならざるを得ない。このため、クライアント端末のデスクトップ環境（仮想イメージファイル）の管理を効率化することが必要となっている。
【００１４】
図１は、本実施形態の情報処理装置（仮想イメージ作成＆配信サーバ２４）を適用するクライアント管理システム１の構成を示す。このクライアント管理システム１は、複数のクライアント端末を管理するためのサーバシステムである。クライアント管理システム１は、１つまたは複数のサーバ（物理サーバ）によって実現することができる。ここでは、このクライアント管理システム１が、複数のサーバによって実現されている場合を想定する。
【００１５】
図１に示すように、クライアント管理システム１は、管理サーバ２１、仮想マシン管理サーバ２２、ドメインコントローラ２３、仮想イメージ作成＆配信サーバ２４、シンクライアント実行サーバ２５、コネクションブローカ２６、プロファイルストレージ２７および仮想イメージストレージ２８等を備える。
【００１６】
管理サーバ２１、仮想マシン管理サーバ２２、ドメインコントローラ２３、仮想イメージ作成＆配信サーバ２４、シンクライアント実行サーバ２５、コネクションブローカ２６およびプロファイルストレージ２７は、例えばＬＡＮ（Local area network）等のネットワークに接続されている。第１タイプのクライアント端末１１、第２タイプのクライアント端末１２および管理者端末１３も、このネットワークに接続されている。
【００１７】
さらに、管理サーバ２１、仮想マシン管理サーバ２２、仮想イメージ作成＆配信サーバ２４およびシンクライアント実行サーバ２５は、ＳＡＮ（Storage area network）のような別のネットワークを介して仮想イメージストレージ２８にも接続されている。
【００１８】
クライアント管理システム１は、例えばオフィス環境において構築される。クライアント管理システム１は、オフィス内に配置された複数のクライアント端末を管理サーバ２１によって集中管理する。さらに、このクライアント管理システム１では、複数のクライアント端末に適用される複数のユーザプロファイルが、プロファイルストレージ２７に格納される。各ユーザプロファイルは、このユーザプロファイルが適用されるクライアント端末のユーザ環境を設定するための設定情報、例えば、各アプリケーションプログラムに関する各種設定情報、デスクトップ画面に関する各種設定情報を含む。さらに、各ユーザプロファイルは、ユーザがアプリケーションプログラムを用いて作成したドキュメントファイルのようなユーザデータも含む。
【００１９】
本実施形態のクライアント管理システム１は、第１タイプおよび第２タイプの２種類のクライアント端末を管理することができる。図１に示されるクライアント端末１１は、第１タイプのクライアント端末である。第１タイプのクライアント端末は、いわゆる仮想化クライアント端末である。第１タイプのクライアント端末が備えるローカルストレージには、仮想マシンモニタ（ハイパーバイザ）が仮想化ソフトウェアとしてインストールされている。第１タイプのクライアント端末は、この仮想化ソフトウェアと、クライアント管理システム１から配信される仮想イメージファイル内のＯＳおよびアプリケーションプログラムとを実行する。
【００２０】
即ち、第１タイプのクライアント端末（以下、リッチクライアント端末１１と称する）においては、ＣＰＵ、メモリ、ストレージ、各種Ｉ／Ｏデバイスといった物理ハードウェア１０１上で仮想マシンモニタ１０２が実行される。仮想マシンモニタ１０２は、ハイパーバイザのような仮想化ソフトウェアであり、物理ハードウェア１０１のリソースをエミュレートすることによって、物理ハードウェア１０１上の仮想化層として機能する。仮想化層である仮想マシンモニタ１０２上では、いくつかの仮想マシンが実行される。図１では、２つの仮想マシン１０３，１０４が仮想マシンモニタ１０２上で実行される場合が想定されている。仮想マシン１０３は、管理ＯＳ（ホストＯＳ）２０１を実行するための仮想マシンである。一方、仮想マシン１０４は、クライアント管理システム１から配信される仮想イメージファイル内の仮想ＯＳ（ゲストＯＳ）３０１およびアプリケーションプログラム３０２を実行する。仮想マシン１０４、つまり、仮想ＯＳ（ゲストＯＳ）３０１およびアプリケーションプログラム３０２は、リッチクライアント端末１１のデスクトップ環境として動作する。
【００２１】
管理ＯＳ（ホストＯＳ）２０１は、仮想マシンモニタ１０２と協働して、仮想マシン１０４を制御することができる。管理ＯＳ（ホストＯＳ）２０１は、管理モジュール２０１Ａを備える。管理モジュール２０１Ａは、クライアント管理システム１の仮想イメージ作成＆配信サーバ２４から仮想イメージファイルをダウンロードすることができる。仮想ＯＳ（ゲストＯＳ）３０１は、エージェント３０１Ａを備える。エージェント３０１Ａは、クライアント管理システム１とリッチクライアント端末１１とを連携させる処理を実行するプログラムである。
【００２２】
第２タイプのクライアント端末は、シンクライアント端末である。これらシンクライアント端末１２は、画面転送プロトコルを使用して、クライアント管理システム１のシンクライアント実行サーバ２５上で実行される仮想マシン５０４それぞれと通信する。換言すれば、複数のシンクライアント端末１２は、仮想デスクトップインフラストラクチャ（ＶＤＩ）を使用してデスクトップ仮想化を実現するための端末（ベース端末）である。これらシンクライアント端末１２それぞれのデスクトップ環境（ＯＳ、アプリケーションプログラム）は、仮想化サーバであるシンクライアント実行サーバ２５によって一元管理される。各シンクライアント端末１２には、シンクライアント実行サーバ２５上の仮想マシン５０４の１つが割り当てられる。ＯＳ、アプリケーションプログラムは、シンクライアント端末１２上ではなく、シンクライアント実行サーバ２５上の仮想マシン５０４によって実行される。
【００２３】
各シンクライアント端末１２は、ユーザによる入力デバイス（例えばキーボード、マウス等）の操作に応じた入力情報をシンクライアント実行サーバ２５内の対応する仮想マシン５０４に送信する。また、各シンクライアント端末１２は、シンクライアント実行サーバ２５内の対応する仮想マシン５０４から、入力情報を反映した画面情報を受信する。
【００２４】
即ち、シンクライアント端末１２においては、画面転送ソフトウェア４０３が実行される。画面転送ソフトウェア４０３は、画面転送プロトコルを使用して、シンクライアント実行サーバ２５内の仮想マシン５０４と通信するプログラムである。画面転送ソフトウェア４０３は、ＯＳ上で動作するアプリケーションプログラムであってもよい。この場合、シンクライアント端末１２においては、ＣＰＵ、メモリ、各種Ｉ／Ｏデバイスといった物理ハードウェア４０１上でＯＳ４０２が実行され、このＯＳ４０２上で画面転送ソフトウェア４０３が実行される。
【００２５】
次に、クライアント管理システム１の各コンポーネントについて説明する。
【００２６】
管理サーバ２１は、本実施形態のクライアント管理システム１の動作を管理するためのサーバである。管理サーバ２１は、ネットワーク、例えばＬＡＮに接続された管理者端末１３の操作に応じて、クライアント管理システム１を使用可能な各ユーザの管理および各リッチクライアント端末１１に対応する仮想イメージファイルの管理等を実行することができる。仮想マシン管理サーバ２２は、シンクライアント実行サーバ２５を管理するためのサーバである。ドメインコントローラ２３は、各ユーザおよび各クライアント端末を認証するためのサーバである。
【００２７】
仮想イメージ作成＆配信サーバ２４は、本実施形態の情報処理装置であり、ＯＳおよびアプリケーションプログラムを各々が含む仮想イメージファイルを、複数のリッチクライアント端末１１に配信する配信サーバとして機能する。本実施形態の情報処理装置、つまり仮想イメージ作成＆配信サーバ２４は、この仮想イメージファイルの管理の効率化を図るべく仮想イメージファイルを作成する仕組みを備えたものであり、以下、この点について詳述する。
【００２８】
仮想イメージ作成＆配信サーバ２４は、リッチクライアント端末１１用の仮想イメージファイルのみならず、シンクライアント端末１２用の仮想イメージファイルを作成することもできる。リッチクライアント端末１１用の仮想イメージファイルは、各リッチクライアント端末１１に配信される。一方、シンクライアント端末１２用の仮想イメージファイルは、シンクライアント実行サーバ２５に配信される。各仮想イメージファイルは、例えば、仮想ハードディスク（ＶＨＤ）フォーマットのようなディスクイメージファイルである。
【００２９】
シンクライアント実行サーバ２５は、複数のシンクライアント端末１２と画面転送プロトコルを使用して通信するための複数の仮想マシンを実行するサーバである。シンクライアント実行サーバ２５は、例えば、サーバ仮想化技術によって仮想化された１つの物理サーバによって実現してもよい。
【００３０】
このシンクライアント実行サーバ２５においては、ＣＰＵ、メモリ、ストレージ、各種Ｉ／Ｏデバイスといった物理ハードウェア５０１上で仮想マシンモニタ５０２が実行される。仮想マシンモニタ５０２は、ハイパーバイザのような仮想化ソフトウェアであり、物理ハードウェア５０１のリソースをエミュレートすることによって、物理ハードウェア５０１上の仮想化層として機能する。仮想マシンモニタ５０２上では、管理用の１つの仮想マシン５０３と、仮想デスクトップ環境を実行するための複数の仮想マシン５０４とが実行される。仮想マシン５０３は、管理ＯＳ（ホストＯＳ）５０３Ａを実行する。一方、各仮想マシン５０４は、仮想イメージ作成＆配信サーバ２４から配信される仮想イメージファイル内の仮想ＯＳ（ゲストＯＳ）６０１およびアプリケーションプログラム６０２を実行する。
【００３１】
管理ＯＳ（ホストＯＳ）５０３は、仮想マシンモニタ５０２と協働して、各仮想マシン５０４を制御することができる。仮想ＯＳ（ゲストＯＳ）６０１は、エージェント６０１Ａを備える。エージェント６０１Ａは、リッチクライアント端末１１の仮想マシン１０４内のエージェント３０１Ａと同様に、クライアント管理システム１と各シンクライアント端末１２とを連携させる処理を実行するプログラムである。
【００３２】
コネクションブローカ２６は、ユーザプロファイルの管理等のためにクライアント管理システム１に適用されるサーバである。コネクションブローカ２６は、１つの物理サーバによって実現することができる。
【００３３】
コネクションブローカ２６は、複数のユーザそれぞれに対応する複数のユーザプロファイルを格納するプロファイルストレージ２７を使用して、複数のユーザプロファイルを管理する。また、コネクションブローカ２６は、シンクライアント端末１２上でログオン操作を実行したユーザに対して、シンクライアント実行サーバ２５上の使用可能な仮想マシンを割り当てるための機能も有している。さらに、コネクションブローカ２６は、たとえ各ユーザがどのクライアント端末上でログオン操作を行っても、各ユーザが同じユーザ環境を利用できるようにするための機能（ローミング機能）を有している。
【００３４】
プロファイルストレージ２７は、クライアント管理システム１を使用可能な多数のユーザの識別子（ユーザＩＤ）にそれぞれ関連付けられた多数のユーザプロファイルを格納する。即ち、プロファイルストレージ２７は、多数のユーザにそれぞれ対応するユーザプロファイルを格納するための多数の格納場所を備える。あるユーザがあるクライアント端末をクライアント管理システム１に接続（ログオン）するためのログオン操作を行った場合には、そのクライアント端末に対応する仮想マシンのファイルシステムには、そのユーザのユーザＩＤに関連付けられたユーザプロファイルが自動的にマウントされる。例えば、リッチクライアント端末１１のログオン処理においては、ログオン操作を行ったユーザに対応するユーザプロファイルは、そのリッチクライアント端末１１内の仮想マシン１０４のファイルシステム上にマウントされる。リッチクライアント端末１１内のローカルストレージには、ユーザプロファイル（設定情報、ユーザデータ）の実体は存在せず、ユーザプロファイルの実体はクライアント管理システム１内で管理される。従って、リッチクライアント端末１１のセキュリティ強化を図ることができる。
【００３５】
一方、シンライアント端末１２のログオン処理においては、ログオン操作を行ったユーザのユーザＩＤに関連づけられたユーザプロファイルが、そのシンクライアント端末１２に対応するシンクライアント実行サーバ２５内の仮想マシン５０４のファイルシステム上に自動的にマウントされる。
【００３６】
これにより、各ユーザは、リッチクライアント端末１１およびシンクライアント端末１２のどちらを操作してクライアント管理システム１にログオンした場合でも、同じユーザ環境（同じユーザプロファイル）を使用することができる。
【００３７】
仮想イメージストレージ２８は、仮想イメージ作成＆配信サーバ２４によって作成された仮想イメージファイルを格納するためのストレージである。
【００３８】
ここで、図２を参照して、リッチクライアント端末１１の動作シーケンスについて説明する。
【００３９】
（１）リッチクライアント端末１１内の管理モジュール２０１Ａまたはエージェント３０１Ａは、リッチクライアント端末１１に適用すべき配信イメージ（仮想イメージファイル）が存在するか否かを管理サーバ２１に問い合わせる。例えば、リッチクライアント端末１１のローカルストレージに仮想イメージファイルが存在しない場合、または、リッチクライアント端末１１に既に配信された仮想イメージファイルに対応する更新された仮想イメージファイルがクライアント管理システム１内に存在する場合、管理サーバ２１は、ダウンロードすべき仮想イメージファイルの識別子を管理モジュール２０１Ａまたはエージェント３０１Ａに通知する。
【００４０】
（２）管理モジュール２０１Ａまたはエージェント３０１Ａは、通知された識別子を有する仮想イメージファイルを仮想イメージ作成＆配信サーバ２４に要求し、その仮想イメージファイルを仮想イメージ作成＆配信サーバ２４からダウンロードする。仮想マシン１０４を起動または再起動することにより、ダウンロードされた仮想イメージファイル内のＯＳ（仮想ＯＳ）３０１がスタートされる。
【００４１】
（３）仮想ＯＳ３０１によってログオン画面が表示される。ユーザは、ログオン画面上でログオン操作を行う。仮想ＯＳ３０１は、ドメインコントローラ２３と協働してユーザ認証を行う。ユーザ認証が成功すると、仮想マシン１０４（エージェント３０１Ａ）は、接続要求をコネクションブローカ２６に送信して、ログオン操作を行ったユーザに対応するユーザプロファイルの格納場所をコネクションブローカ２６に問い合わせる。接続要求は、リッチクライアント端末１１をクライアント管理システム１に接続（ログオン）するためのリクエストであり、ログオン操作を行ったユーザのユーザカウント（ユーザＩＤ）を含む。ユーザＩＤは、ユーザを一意に識別するための識別子である。コネクションブローカ２６は、このユーザのユーザＩＤに関連づけられたユーザプロファイルを格納するプロファイルストレージ２７内の格納場所へのパスを示す情報、即ち、ストレージパスを仮想マシン１０４（エージェント３０１Ａ）に送信する。
【００４２】
（４）仮想マシン１０４（エージェント３０１Ａ）は、プロファイルストレージ２７内のユーザプロファイルの格納場所を、仮想マシン１０４（仮想ＯＳ３０１）のファイルシステム上にマウントする。以降、仮想マシン１０４は、ユーザプロファイルをリードまたはライトするために、リッチクライアント端末１１のローカルストレージではなく、プロファイルストレージ２７内のユーザプロファイルの格納場所をアクセスする。
【００４３】
続いて、図３を参照して、シンクライアント端末１２の動作シーケンスについて説明する。
【００４４】
（１）シンクライアント１２のＯＳ４０２または画面転送ソフトウェア４０３は、使用可能な仮想マシンをコネクションブローカ２６に問い合わせる。コネクションブローカ２６は、シンクライアント端末１２が使用可能なシンクライアント実行サーバ２５上の仮想マシン５０４を指定する情報を、シンクライアント端末１２に送る。この場合、コネクションブローカ２６は、シンクライアント端末１２が使用可能なシンクライアント実行サーバ２５上の仮想マシン５０４のリストを、シンクライアント端末１２に送ってもよい。例えば、コネクションブローカ２６は、問い合わせに含まれるユーザＩＤに基づいて、このユーザに対応するデスクトップ環境を実行可能で、かつ、現在使用されていない仮想マシン５０４のリストを表示するための画面を、シンクライアント端末１２に送ることができる。ユーザは、表示された仮想マシン５０４のリスト内から、１つの仮想マシン５０４を選択する。
【００４５】
（２）ＯＳ４０２または画面転送ソフトウェア４０３は、コネクションブローカ２６によって指定された仮想マシン５０４、または、仮想マシン５０４のリスト内から選択された仮想マシン５０４に接続し、接続した仮想マシン５０４を起動する。これにより、仮想マシン５０４内の仮想ＯＳ６０１がスタートされる。
【００４６】
（３）仮想ＯＳ６０１によってログオン画面が表示される。ユーザは、ログオン画面上でログオン操作を行う。仮想ＯＳ６０１は、ドメインコントローラ２３と協働してユーザ認証を行う。ユーザ認証が成功すると、仮想マシン５０４（エージェント６０１Ａ）は、接続要求をコネクションブローカ２６に送信して、ログオン操作を行ったユーザに対応するユーザプロファイルの格納場所をコネクションブローカ２６に問い合わせる。接続要求は、シンクライアント端末１２をクライアント管理システム１に接続（ログオン）するためのリクエストであり、ログオン操作を行ったユーザのユーザカウント（ユーザＩＤ）を含む。コネクションブローカ２６は、このユーザのユーザＩＤに関連づけられたユーザプロファイルを格納するプロファイルストレージ２７内の格納場所へのパスを示す情報、即ち、ストレージパスを仮想マシン５０４（エージェント６０１Ａ）に通知する。
【００４７】
（４）仮想マシン５０４（エージェント６０１Ａ）は、プロファイルストレージ２７内のユーザプロファイルの格納場所を仮想マシン５０４（仮想ＯＳ６０１）のファイルシステム上に自動的にマウントする。以降、仮想マシン５０４は、ユーザプロファイルをリードまたはライトするために、シンクライアント実行サーバ２５のローカルストレージではなく、プロファイルストレージ２内のユーザプロファイルの格納場所をアクセスする。
【００４８】
次に、図４を参照して、コネクションブローカ２６によって実行されるローミング機能について説明する。
【００４９】
このローミング機能は、各ユーザがどのリッチクライアント端末１１を使用しても、または、どのシンクライアント端末１２を使用しても、そのユーザに対応する同一のユーザプロファイルを利用できるようにする機能である。
【００５０】
ここで、各ユーザの席上には、リッチクライアント端末１１が配置され、会議室やパブリックスペースには、シンクライアント端末１２が配置されている場合を想定する。各ユーザは、自分の席上のリッチクライアント端末１１を操作してクライアント管理システム１にログオンすることができる。ユーザが会議室またはパブリックスペースに移動した場合には、ユーザは、シンクライアント端末１２を操作してクライアント管理システム１にログオンすることができる。この場合、ユーザがどのクライアント端末を使用する場合でも、ローミング機能は、それらクライアント端末に対応する仮想マシンに、同じユーザプロファイルを提供する。
【００５１】
まず、リッチクライアント端末１１上でログオン操作が行われた際にコネクションブローカ２６によって実行される処理について説明する。
【００５２】
（１）ユーザ（User1）は、自分の席上のリッチクライアント端末１１をクライアント管理システム１に接続するためのログオン操作を行う。リッチクライアント端末１１の仮想マシン１０４、例えばエージェント３０１Ａは、コネクションブローカ２６に接続要求を送信して、ログオン操作を行ったユーザ（User1）に対応するユーザプロファイルの格納場所をコネクションブローカ２６に問い合わせる。
【００５３】
（２）コネクションブローカ２６は、ユーザ（User1）のユーザプロファイルのストレージパスをリッチクライアント端末１１の仮想マシン１０４に送信する。仮想マシン１０４は、ユーザ（User1）のユーザプロファイルを仮想マシン１０４のファイルシステム上にマウントする。仮想マシン１０４のファイルシステムは、仮想マシン１０４内の仮想ＯＳ３０１によって管理されるファイルシステムである。
【００５４】
プロファイルストレージ２７内の各ユーザプロファイルは、仮想ハードディスク（ＶＨＤ）フォーマットのような仮想イメージファイルであってよい。この場合、ユーザプロファイルの仮想イメージファイルは、仮想マシン１０４のファイルシステム上の所定のマウントポイントにマウントされる。例えば、ユーザプロファイルを格納するための、ファイルシステム内の所定のディレクトリ（ユーザプロファイルディレクトリ）が、前述のマウントポイントとして使用される。この様子を図５に示す。図５に示すように、プロファイルストレージ２７においては、複数のユーザＩＤ（ユーザＩＤ１，ユーザＩＤ２，…）に対応するフォルダ（ユーザＩＤ１￥，ユーザＩＤ２￥、…）が存在する。これらフォルダ（ユーザＩＤ１￥，ユーザＩＤ２￥，…）には、複数のユーザＩＤ（ユーザＩＤ１，ユーザＩＤ２，…）にそれぞれ関連づけられたユーザプロファイル（UserProfile1.vhd、UserProfile2.vhd、…）が格納されている。仮想マシン１０４のファイルシステム上のユーザプロファイルディレクトリ（ユーザＩＤ１）には、UserProfile1.vhdがマウントされる。
【００５５】
仮想ＯＳ３０１は、ファイルシステム上にマウントされたユーザプロファイルをプロファイルストレージ２７からリードし、そのユーザプロファイル内の設定情報に基づいて、アプリケーションプログラムの設定およびデスクトップ環境の設定等を行うことができる。また、各種ドキュメントのようなユーザデータも、ユーザプロファイル内に存在する。仮想ＯＳ３０１は、ファイルシステム上にマウントされたユーザプロファイル内のユーザデータをプロファイルストレージ２７からリードし、そのユーザデータをリッチクライアント端末１１のディスプレイ上に表示することができる。さらに、更新されたユーザデータまたは設定情報等は、リッチクライアント端末１１のローカルストレージではなく、プロファイルストレージ２７に格納される。
【００５６】
次に、シンクライアント端末１２上でログオン操作が行われた際にコネクションブローカ２６によって実行される処理について説明する。
【００５７】
（１）ユーザ（User1）は、例えばパブリックスペース等に設置されているシンクライアント端末１２をクライアント管理システム１に接続するためのログオン操作を行う。シンクライアント端末１２に対応する、シンクライアント実行サーバ４５上の仮想マシン５０４、例えばエージェント６０１Ａは、コネクションブローカ２６に接続要求を送信して、ログオン操作を行ったユーザ（ｕｓｅｒ１）に対応するユーザプロファイルの格納場所をコネクションブローカ２６に問い合わせる。
【００５８】
（２）コネクションブローカ２６は、ユーザ（User1）のユーザプロファイルのストレージパスを、シンクライアント端末１２に対応する、シンクライアント実行サーバ２５上の仮想マシン５０４に送信する。仮想マシン５０４は、ユーザ（User1）のユーザプロファイルを仮想マシン５０４のファイルシステム上にマウントする。仮想マシン５０４のファイルシステムは、仮想マシン５０４内の仮想ＯＳ６０１によって管理されるファイルシステムである。仮想ＯＳ６０１は、ファイルシステム上にマウントされたユーザプロファイルをプロファイルストレージ２７からリードし、そのユーザプロファイル内の設定情報に基づいて、アプリケーションプログラムの設定およびデスクトップ環境の設定等を行うことができる。
【００５９】
このように、各ユーザは、どのクライアント端末上でログオン操作を行っても、同じユーザ環境を利用することができる。
【００６０】
ところで、リッチクライアント端末１１の仮想マシン１０４上で実行される仮想イメージファイル内のアプリケーションプログラム３０２やシンクライアント実行サーバ２５の仮想マシン５０４上で実行される仮想イメージファイル内のアプリケーションプログラム６０２は、例えば不具合を修正する等のためのプログラム（更新パッチ）が不定期に提供される場合がある。また、リッチクライアント端末１１やシンクライアント端末１２で使用するアプリケーションプログラム３０２，６０２を追加したいという要求が寄せられる場合もある。このようなアップデートやモジュール追加には、仮想イメージファイルの更新が必要となる。そこで、仮想イメージ作成＆配信サーバ２４は、この仮想イメージファイルの管理の効率化を図るべく（独自の手順で）仮想イメージファイルの作成処理を実行する。
【００６１】
図６は、クライアント管理システム１内における仮想イメージファイルの作成のための連携を説明するための図である。
【００６２】
リッチクライアント端末１１用またはシンクライアント端末１２用の仮想イメージファイルを作成する場合、管理サーバ２１は、どのような仮想イメージファイルを作成するのかの指示を管理者端末１３から受け付ける。管理サーバ２１は、仮想イメージ作成＆配信サーバ２４に対して、要求された仮想イメージファイルの作成指示を通知する。管理サーバ２１は、仮想イメージファイルの作成処理を制御する仮想イメージ作成制御部２１１を備えている。また、管理サーバ２１は、後述する各種テーブル（Ａ，Ｂ，Ｃ，Ｄ）を格納するためのデータベース（ＤＢ）２１２を管理する。
【００６３】
図６に示すように、仮想イメージ作成＆配信サーバ２４においては、ＣＰＵ、メモリ、ストレージ、各種Ｉ／Ｏデバイスといった物理ハードウェア７０１上で仮想マシンモニタ７０２が実行される。仮想マシンモニタ７０２は、ハイパーバイザのような仮想化ソフトウェアであり、物理ハードウェア７０１のリソースをエミュレートすることによって、物理ハードウェア７０１上の仮想化層として機能する。仮想マシンモニタ７０２上では、管理用の１つの仮想マシン７０３と、仮想イメージファイルを作成するための複数の仮想マシン７０４とが実行される。仮想マシン７０３は、管理ＯＳ（ホストＯＳ）７０３Ａおよび仮想イメージファイル作成部７０３Ｂを実行する。一方、仮想マシン７０４は、仮想イメージファイル作成部７０３Ｂが管理サーバ２１から指示された仮想イメージファイルを作成するために用いられる。より具体的には、クライアント管理システム１内の図示しないファイルサーバに設けられた共有フォルダ２９に格納されたＯＳやアプリケーションプログラム、機種別のデバイスドライバセットがインストールされたディスクのイメージファイル（ディスクイメージファイル）を作成するための作業環境として用いられる。
【００６４】
ここで、本実施形態のクライアント管理システム１において実行される仮想イメージファイルの作成処理の理解を助けるために、図７および図８を参照して、仮想イメージファイルを構築する工程について説明する。
【００６５】
図７は、従来の仮想イメージファイルを構築する工程を説明するための図である。ここでは、アプリケーションプログラムＡが全社的に共通して使用されるプログラムであると想定する。また、（部署を問わず）機器Ａ，Ｂの２種類の機器が使用され、ある部署ではアプリケーションプログラムＢ１、ある別の部署ではアプリケーションプログラムＢ２が更に使用されるものと想定する。
【００６６】
この場合、第１に、ＯＳおよび機器Ａ用のデバイスドライバがインストールされたディスクのイメージファイルである仮想イメージファイルａ１と、ＯＳおよび機器Ｂ用のデバイスドライバがインストールされたディスクのイメージファイルである仮想イメージファイルａ２とを作成する（図７の（Ａ））。続いて、第２に、仮想イメージファイルａ１としてイメージ化されたディスクに全社的に共通して使用されるアプリケーションプログラムＡをインストールした状態のイメージファイルである仮想イメージファイルｂ１と、仮想イメージファイルａ２としてイメージ化されたディスクに全社的に共通して使用されるアプリケーションプログラムＡをインストールした状態のイメージファイルである仮想イメージファイルｂ２とを作成する（図７の（Ｂ））。なお、仮想イメージファイルｂ１，ｂ２の実体は、仮想イメージファイルａ１，ａ２に各々差分ファイルを追加したものである。即ち、仮想イメージファイルｂ１，ｂ２の作成とは、仮想イメージファイルａ１，ａ２を基にして仮想イメージファイルｂ１，ｂ２を構築するための差分ファイルの作成である。
【００６７】
仮想イメージファイルｂ１，ｂ２を作成すると、第３に、仮想イメージファイルｂ１，ｂ２のそれぞれについて、アプリケーションプログラムＢ１またはアプリケーションプログラムＢ２のいずれかを更にインストールした仮想イメージファイルｃ１〜ｃ４を作成する（図７の（Ｃ））。そして、最後に、仮想イメージファイルｃ１〜ｃ４のそれぞれについて、インストール時に暫定的に入力した固有情報をリセットした仮想イメージファイルｄ１〜ｄ４を作成する（図７の（Ｄ））。仮想イメージファイルｄ１〜ｄ４に固有情報を追加することで、リッチクライアント端末１１またはシンクライアント実行サーバ２５に配信する最終成果物たる仮想イメージファイルを作成することができる。仮想イメージファイルｃ１〜ｃ４，ｄ１〜ｄ４の作成も、仮想イメージファイルｂ１，ｂ２またはｃ１〜ｃ４からの差分ファイルの作成である。
【００６８】
このように、従来は、デバイスドライバ等の機種に依存する要素（大分類）→アプリケーションプログラム等の機種に依存しない要素（小分類）の順番で仮想イメージファイルを構築する工程が組まれていた。
【００６９】
ここで、例えば、アプリケーションプログラムＢ２をアップデートする必要が生じたものと想定する。この場合、仮想イメージファイルｄ２，ｄ４に固有情報を追加することで作成された仮想イメージファイルを更新する必要がある。しかしながら、あるアプリケーションプログラムを含む仮想イメージファイルを機器毎に特定していくという作業は煩わしい。この作業は、機器の種類が多い程煩雑となる。また、第２に、仮想イメージファイルｂ１を基点として仮想イメージファイルｃ２→仮想イメージファイルｄ２と作成していく作業と、仮想イメージファイルｂ２を基点として仮想イメージファイルｃ４→仮想イメージファイルｄ４と作成していく作業との２系統行う必要がある。この作業も、機器の種類が多い程多系統となる。
【００７０】
一方、図８は、本実施形態のクライアント管理システム１における仮想イメージファイルを構築する工程を説明するための図である。
【００７１】
本実施形態のクライアント管理システム１においては、まず、ＯＳおよび全社的に共通して使用されるアプリケーションプログラムＡがインストールされたディスクのイメージファイルである仮想イメージファイルａを作成する（図８の（Ａ））。次に、仮想イメージファイルａにアプリケーションプログラムＢ１またはアプリケーションプログラムＢ２のいずれかを更にインストールした仮想イメージファイルｂ１，ｂ２を作成する（図７の（Ｂ））。そして、その後に、仮想イメージファイルｂ１，ｂ２のそれぞれについて、機器Ａ用のデバイスドライバまたは機器Ｂ用のデバイスドライバのいずれかを更にインストールした仮想イメージファイルｃ１〜ｃ４を作成すると共に（図８の（Ｃ））、インストール時に暫定的に入力した固有情報をリセットした仮想イメージファイルｄ１〜ｄ４を作成する（図８の（Ｄ））。
【００７２】
即ち、本実施形態のクライアント管理システム１は、アプリケーションプログラム等の機種に依存しない要素（大分類）→デバイスドライバ等の機種に依存する要素（小分類）の順番で仮想イメージファイルを構築する工程を組む。
【００７３】
この手順で仮想イメージファイルを作成すると、アプリケーションプログラムｂ２をアップデートする必要が生じた場合、仮想イメージファイルｂ２を基点にして作成された仮想イメージファイルｄ３，ｄ４を簡単に特定できる。また、仮想イメージファイルｂ２を基点として仮想イメージファイルｃ３，ｃ４→仮想イメージファイルｄ３，ｄ４と作成していく作業を１系統だけ行えばよい。よって、クライアント端末のデスクトップ環境（仮想イメージファイル）の管理を効率化することが実現される。
【００７４】
なお、デバイスドライバ等の機器に依存する要素をアップデートする必要が生じた場合には、従来の手順で仮想イメージファイルを作成する方が、仮想イメージファイルの更新処理を効率的に行うことが可能である。しかしながら、デバイスドライバ等の機器に依存する要素とアプリケーションプログラム等の機種に依存しない要素とでは、アップデートやモジュール追加の頻度は後者の方が圧倒的に高いので、総合的に判断すれば、仮想イメージファイルの管理の効率化が図られていることは明らかである。
【００７５】
次に、図９乃至図１２を参照して、管理サーバ２１がＤＢ２１２に格納する各種テーブル（Ａ，Ｂ，Ｃ，Ｄ）について説明する。
【００７６】
図９は、管理者端末１３によって参照されるテーブルＡの表示画面の一例を示す図である。テーブルＡは、機器情報を格納するテーブルであり、図９に示すように、「機器番号（キー）」、「コンピュータ名」、「所属グループ」、「モデル名」、「シリアル番号」を保持する。
【００７７】
図１０は、管理者端末１３によって参照されるテーブルＢの表示画面の一例を示す図である。テーブルＢは、マスタイメージ情報を格納するテーブルであり、図１０に示すように、所属グループ内で作成される仮想イメージファイルの基となるイメージ情報（「イメージ名」（キー））、「ステータス」、「作成グループ（親のグループ）」、「ＯＳ情報」、「作成日」、「アプリケーション情報（アプリケーション名，バージョン）」、「セキュリティパッチ情報」を保持する。
【００７８】
図１１は、管理者端末１３によって参照されるテーブルＣの表示画面の一例を示す図である。テーブルＣは、機器別ドライバのセットの一覧を格納するテーブルであり、図１１に示すように、「機種名（キー）」、「ドライバ一覧（ドライバ名および実行順序）」を保持する。
【００７９】
図１２は、管理者端末１３によって参照されるテーブルＤの表示画面の一例を示す図である。テーブルＤは、配信イメージを管理するためのテーブルであり、図１２に示すように、「機器番号（キー）」、「所属グループ」、「コンピュータ名」、「イメージ名」、「（配信）日時」、「配信結果（ステータス）」を保持する。
【００８０】
図１３は、（上記各種テーブル（Ａ，Ｂ，Ｃ，Ｄ）を用いて）本実施形態のクライアント管理システム１において実行される仮想イメージファイルの作成処理の流れを示すフローチャートである。
【００８１】
管理サーバ２１は、管理者端末１３の操作に応じて、テーブルＡより、配信イメージを生成したい機器を選択する（ステップＳ１１）。次に、管理サーバ２１は、管理者端末１３の操作に応じて、テーブルＢより、アプリケーションプログラムを含んだマスタイメージを選択する（ステップＳ１２）。次に、管理サーバ２１は、管理者端末１３の操作に応じて、テーブルＣより、ステップＳ１１でテーブルＡより選択した機器に対応した機種別ドライバセットを選択する（ステップＳ１３）。
【００８２】
以上の選択が完了すると、管理サーバ２１は、管理者端末１３の操作に応じて、機器情報、マスタイメージ情報を含む配信イメージの作成開始要求を仮想イメージ作成＆配信サーバ２４に通知する（ステップＳ１４）。この時、管理サーバ２１は、テーブルＤの「配信状況」を“イメージ作成中”とする（ステップＳ１５）。
【００８３】
仮想イメージ作成＆配信サーバ２４は、この通知を受け取ると（ステップＳ２１）、まず、マスタイメージを取得し（ステップＳ２２）、次いで、機種別ドライバセットを共有フォルダから取得する（ステップＳ２３）。そして、仮想イメージ作成＆配信サーバ２４は、マスタイメージに機種別ドライバセットを組み込んだ差分イメージを作成する（ステップＳ２４）。差分イメージを作成すると、仮想イメージ作成＆配信サーバ２４は、その旨を管理サーバ２１に通知する（ステップＳ２５）。
【００８４】
管理サーバ２１は、差分イメージの作成完了が仮想イメージ作成＆配信サーバ２４から通知されると、テーブルＤの「イメージ名」に差分イメージ名を登録すると共に（ステップＳ１６）、「配信状況」を“イメージ作成完了”とする（ステップＳ１７）。
【００８５】
通常、個々の機種に対するデバイスドライバのインストールは１回であるが、ユーザにとってアプリケーションプログラムの追加、更新または削除はその時々に必要となる行為である。従って、アプリケーションプログラム等の機種に依存しない要素でグループ化して管理し、新規機器が追加された時だけ、それに対応したデバイスドライバをインストールすることにより、管理者の業務の大半を占めるアプリケーションプログラムの追加、更新または削除に費やされる時間を短縮することが可能となる。
【００８６】
即ち、本実施形態のクライアント管理システム１は、クライアント端末のデスクトップ環境（仮想イメージファイル）の管理を効率化することを実現する。
【００８７】
なお、各実施形態の動作制御処理は、ソフトウェア（プログラム）によって実現することができるので、このソフトウェアを格納したコンピュータ読み取り可能な記憶媒体を通じてこのソフトウェアを通常のコンピュータにインストールして実行することにより、各実施形態と同様の効果を容易に実現することができる。
【００８８】
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれると共に、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【００８９】
１１…リッチクライアント端末、１２…シンクライアント端末、１３…管理者端末、２１…管理サーバ、２４…仮想イメージ作成＆配信サーバ、２５…シンクライアント実行サーバ、２８…仮想イメージストレージ、２９…共有フォルダ、２１１…仮想イメージ作成制御部、２１２…データベース、７０３Ｂ…仮想イメージ作成部。
【図１】
2013186793.tif 000003
【図２】
2013186793.tif 000004
【図３】
2013186793.tif 000005
【図４】
2013186793.tif 000006
【図５】
2013186793.tif 000007
【図６】
2013186793.tif 000008
【図７】
2013186793.tif 000009
【図８】
2013186793.tif 000010
【図９】
2013186793.tif 000011
【図１０】
2013186793.tif 000012
【図１１】
2013186793.tif 000013
【図１２】
2013186793.tif 000014
【図１３】
2013186793.tif 000015