(57)【特許請求の範囲】
【請求項１】
ユーザに利用されるクライアント端末と、
前記クライアント端末に仮想化デスクトップを提供する仮想化デスクトップ提供部と、
前記クライアント端末において入力操作が行われてから前記クライアント端末において出力操作が映像として反映されるまでの時間を所定の異常算出基準値と照会することで仮想化デスクトップの品質を管理する品質管理部と
を備え、
時刻Ａに前記クライアント端末上のユーザがアプリケーションの立ち上げに関係する操作を行った場合において、前記仮想化デスクトップ提供部がその立ち上げに関係する操作を反映した時刻を時刻Ｂとし、前記アプリケーションの立ち上げ応答が前記仮想化デスクトップ上に出力された時刻を時刻Ｃとし、最終的に前記クライアント端末に前記アプリケーションの映像が出力された時刻を時刻Ｄとしたとき、前記品質管理部は、時刻Ａから時刻Ｄまでの時間を前記アプリケーションの立ち上げ時間とし、その立ち上げ時間を前記異常算出基準値と照会する
ことを特徴とする仮想化デスクトップ提供システム。
【請求項２】
前記異常算出基準値は、各ユーザに利用されるファイルの容量別、ファイルの格納場所別、又は、アプリケーションが実行される時間帯別に算出されることを特徴とする請求項１に記載の仮想化デスクトップ提供システム。
【請求項３】
事前に特定条件下で複数回アプリケーションの立ち上げを行い、その立ち上げ時間の分布の９５％範囲の上限値を前記異常算出基準値とすることを特徴とする請求項１又は２に記載の仮想化デスクトップ提供システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、仮想化デスクトップのサービスを提供する仮想化デスクトップ提供システムに関し、特に、仮想化デスクトップのサービスの快適さを監視する技術に関する。
【背景技術】
【０００２】
近年、ＤａａＳ（Desktop as a Service）と呼ばれる仮想化デスクトップを提供するサービスが広まっており、技術的に一つの物理サーバに対して数百の仮想化デスクトップが収容される（特許文献１、２参照）。ここで、ＤａａＳのサービスの快適さを監視する方法として、検査用デスクトップを１ユーザ分作成してスクリプトを動作させ、シナリオとして測定プログラムを開始してから終了するまでの時間を機械的に測定してマシンの正常性を判断する能動監視方法が知られている。また、ＤａａＳのサービスの快適さを監視する別の方法として、リソースの状態を常時監視して正常性を判断する受動監視方法も知られている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１０−０７９３２９号公報
【特許文献２】特開２０１３−１９６２８７号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、現在の能動監視方法では、検査用デスクトップの快適さを測定するのみであるため、ユーザそのものの快適さを把握することができない。また、現在の受動監視方法では、リソース状態を把握することはできるものの、リソース状態とユーザのデスクトップの操作性は必ずしも関連するものでないため、ユーザの体感できる快適さを把握することができない。
【０００５】
本発明は、上述した従来の技術に鑑み、ユーザの体感品質を定量化することができる仮想化デスクトップ提供システムを提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するため、第１の態様に係る発明は、仮想化デスクトップ提供システムであって、ユーザに利用されるクライアント端末と、前記クライアント端末に仮想化デスクトップを提供する仮想化デスクトップ提供部と、前記クライアント端末において入力操作が行われてから前記クライアント端末において出力操作が映像として反映されるまでの時間を所定の異常算出基準値と照会することで仮想化デスクトップの品質を管理する品質管理部とを備え、時刻Ａに前記クライアント端末上のユーザがアプリケーションの立ち上げに関係する操作を行った場合において、前記仮想化デスクトップ提供部がその立ち上げに関係する操作を反映した時刻を時刻Ｂとし、前記アプリケーションの立ち上げ応答が前記仮想化デスクトップ上に出力された時刻を時刻Ｃとし、最終的に前記クライアント端末に前記アプリケーションの映像が出力された時刻を時刻Ｄとしたとき、前記品質管理部は、時刻Ａから時刻Ｄまでの時間を前記アプリケーションの立ち上げ時間とし、その立ち上げ時間を前記異常算出基準値と照会することを要旨とする。
【０００７】
第２の態様に係る発明は、第１の態様に係る発明において、前記異常算出基準値が、各ユーザに利用されるファイルの容量別、ファイルの格納場所別、又は、アプリケーションが実行される時間帯別に算出されることを要旨とする。
【０００８】
第３の態様に係る発明は、第１又は第２の態様に係る発明において、事前に特定条件下で複数回アプリケーションの立ち上げを行い、その立ち上げ時間の分布の９５％範囲の上限値を前記異常算出基準値とすることを要旨とする。
【発明の効果】
【０００９】
本発明によれば、ユーザの体感品質を定量化することができる仮想化デスクトップ提供システムを提供することが可能である。
【図面の簡単な説明】
【００１０】
【図１】本発明の実施の形態における仮想化デスクトップ提供システムの構成図である。
【図２】本発明の実施の形態における仮想化デスクトップ提供システムが基準値を用いてデスクトップ性能を評価する際のイメージ図である。
【図３】本発明の実施の形態における仮想化デスクトップ提供システムが基準値を用いてデスクトップ性能を評価する際の別のイメージ図である。
【図４】本発明の実施の形態における仮想化デスクトップ提供システムの挙動を説明するための図である。
【図５】本発明の実施の形態における仮想化デスクトップ提供システムの機能ブロック図である。
【図６Ａ】本発明の実施の形態における仮想化デスクトップ提供システムの基本動作のシーケンス図である。
【図６Ｂ】本発明の実施の形態における仮想化デスクトップ提供システムの基本動作のシーケンス図である。
【図７Ａ】本発明の実施の形態における仮想化デスクトップ提供システムの基本動作のシーケンス図である。
【図７Ｂ】本発明の実施の形態における仮想化デスクトップ提供システムの基本動作のシーケンス図である。
【図７Ｃ】本発明の実施の形態における仮想化デスクトップ提供システムの基本動作のシーケンス図である。
【図８】本発明の実施の形態における仮想化デスクトップ提供システムの基本動作のシーケンス図である。
【図９】本発明の実施の形態における仮想化デスクトップ提供システムにおいて操作情報記録から操作内容を再現する場合の具体例１を示す図である。
【図１０】本発明の実施の形態における仮想化デスクトップ提供システムにおいて操作情報記録から操作内容を再現する場合の具体例２を示す図である。
【図１１】本発明の実施の形態における仮想化デスクトップ提供システムの基本動作のフローチャートである。
【図１２】本発明の実施の形態における仮想化デスクトップ提供システムの基本動作のフローチャートである。
【図１３】本発明の実施の形態における仮想化デスクトップ提供システムの基本動作のフローチャートである。
【図１４Ａ】本発明の実施の形態における仮想化デスクトップ提供システムのデータベース構成図である。
【図１４Ｂ】本発明の実施の形態における仮想化デスクトップ提供システムのデータベース構成図である。
【図１４Ｃ】本発明の実施の形態における仮想化デスクトップ提供システムのデータベース構成図である。
【図１４Ｄ】本発明の実施の形態における仮想化デスクトップ提供システムのデータベース構成図である。
【発明を実施するための形態】
【００１１】
以下、本発明の実施の形態について図面を参照して詳細に説明する。なお、以下の実施の形態は、この発明の技術的思想を具体化するための仮想化デスクトップ提供システムを例示するものであり、装置やデータベースの構成等は以下の実施の形態に限定されるものではない。
【００１２】
図１は、本発明の実施の形態における仮想化デスクトップ提供システムの構成図である。この図に示すように、顧客利用部１と仮想化デスクトップ提供部２とＤａａＳ品質管理部３とが通信網４を介して接続されている。顧客利用部１には、顧客（ユーザ）に利用されるシンクライアント端末１０が含まれる。仮想化デスクトップ提供部２には、ユーザの仮想化デスクトップ２０と、仮想化デスクトップ２０を実現する仮想化サーバ３０とが含まれる。ＤａａＳ品質管理部３には、ＤａａＳのサービスの品質を管理（監視）するための処理サーバ４０、Ｗｅｂサーバ５０、データベースサーバ６０が含まれる。
【００１３】
なお、以下の説明では、シンクライアント端末１０を「クライアント端末」「シンクライアント」「クライアント」等と言う場合がある。また、処理サーバ４０とＷｅｂサーバ５０とデータベースサーバ６０を特に区別することなく「サーバ」という場合がある。
【００１４】
本発明の実施の形態における仮想化デスクトップ提供システムでは、全てのユーザそれぞれの体感に近い指標を用いて快適さを定量化し、異常発生時にはそれを検知する。すなわち、全ユーザの使用状態をモニタし、そのデスクトップの操作が体感として正常であることを示すことにより、仮想化基盤全体でシステムが正常稼働していることを示すようになっている。
【００１５】
例えば、各ユーザに利用されるファイルの容量別、ファイルの格納場所別、実行されるアプリケーションの種類別、アプリケーションが実行される時間帯別に応答する時間をあらかじめ収集しておき、そのデータを基準値として用いる。稼働中のユーザの値について基準値からずれがないことを証明することで、収容数等によって変化するサーバのリソースに競合がなくシステムが正常稼働していることを把握する。基準値からずれがあった場合は、ユーザの使用している環境のリソース負荷（ネットワーク負荷、サーバ負荷）を把握する。
【００１６】
図２は、本発明の実施の形態における仮想化デスクトップ提供システムが基準値を用いてデスクトップ性能を評価する際のイメージ図である。図２（ａ）に示すように、本システムでは、同じ傾向を示すアプリケーション毎にまとめた基準値をあらかじめ用意している。例えば、アプリケーションＡｐｐ１はメモ帳、アプリケーションＡｐｐ２はワードやパワーポイント等のビジネス用アプリケーション、アプリケーションＡｐｐ３はインターネットブラウザである。アプリケーションＡｐｐ１，Ａｐｐ２，Ａｐｐ３毎に、そのアプリケーションが開くファイルのサイズ別の実行時間を基準値としてあらかじめ用意している。この基準値は、更に、アプリケーションＡｐｐ１，Ａｐｐ２，Ａｐｐ３が実行される時間帯別に用意されていてもよい。ここで、図２（ｂ）に示すように、複数のブレードサーバＢＳ１，ＢＳ２，ＢＳ３，ＢＳ４が設置されているものとする。ブレードサーバＢＳ１は負荷無し、ブレードサーバＢＳ２は負荷有り、ブレードサーバＢＳ３は負荷無し、ブレードサーバＢＳ４は負荷無しである。このような状況において、ブレードサーバＢＳ１に収容されているユーザがワードファイル（１００ＫＢ）を開くのに７秒かかった場合、この実行時間（７秒）は基準値とほぼ同じ値であるため、異常なしと判定する。
【００１７】
図３は、本発明の実施の形態における仮想化デスクトップ提供システムが基準値を用いてデスクトップ性能を評価する際の別のイメージ図である。基準値やブレードサーバＢＳ１，ＢＳ２，ＢＳ３，ＢＳ４は図２と同様である。ここで、図３（ｂ）に示すように、ブレードサーバＢＳ２に収容されているユーザが午後１時にテキストファイル（１００ＫＢ）を開くのに７秒かかった場合、この実行時間（７秒）は基準値と大きく異なるため、異常ありと判定する。
【００１８】
このように、本システムでは、ユーザが使用しているデスクトップの操作で、実行するプログラム、開くファイル、収容されている仮想化サーバ３０の状態を加味したパフォーマンス値を基準値として適用し、デスクトップの正常性を正確に把握する。言い換えると、シンクライアント端末１０のユーザの入力から最終的に映像として出力されるまでの基準値をあらかじめ用意し、マシンのパフォーマンス時間を複数観点から割り出す。その基準値とユーザが操作した結果とを照会することで、現在行った動作が正常なレスポンス時間内に収まっているか否かを判定するようになっている。
【００１９】
図４は、本発明の実施の形態における仮想化デスクトップ提供システムの挙動を説明するための図である。図面上、下向きに時間の流れを示し、左側にシンクライアント端末１０のユーザ、右側に仮想化基盤上のユーザを示している。この図に示すように、例えば、時刻Ａにシンクライアント端末１０上のユーザがアプリケーションＡｐｐの立ち上げに関係するマウスやキーボードの操作を行ったとする。これにより、仮想化サーバ３０上のＯＳがその立ち上げに関係するマウスやキーボードの操作を反映した時刻を時刻Ｂとし、そのアプリケーションＡｐｐの立ち上げ応答を受信して画面上に出力された時刻を時刻Ｃとする。そして、最終的にシンクライアント端末１０にアプリケーションＡｐｐの映像が出力された時刻を時刻Ｄとする。このような場合、時刻Ａから時刻Ｄまでの時間がアプリケーションＡｐｐの立ち上がり時間（実行時間）に相当する。
【００２０】
図５は、本発明の実施の形態における仮想化デスクトップ提供システムの機能ブロック図である。以下、図５を用いて本システムの構成を更に詳しく説明する。
【００２１】
顧客利用部１は、マウスポートドライバ１１、キーボードドライバ１２、グラフィックドライバ１６に加え、クライアント側エージェント機能を備える。具体的には、マウスポートミラードライバ装置１３と、キーボードミラードライバ装置１４と、クライアント入力部データ送信モジュール１５と、グラフィックミラードライバ装置１７と、クライアント出力部データ送信モジュール１８とを備える。クライアント入力部データ送信モジュール１５は、シンクライアント端末１０上で稼動し、マウス、キーボードなどのシンクライアント端末１０の入力装置に送られたこれらの情報を入力内容及び入力時間と紐付け、入力部データ整合モジュール４１へと送信する。クライアント出力部データ送信モジュール１８は、グラフィックミラードライバ装置１７から受け取った画像情報を出力部データ整合モジュール４２へと転送する。マウスポートミラードライバ装置１３は、マウスから送り出される右クリック、左クリックに関する動作及びマウスカーソルの移動に関する挙動の情報をミラーリングし、入力内容と信号の受信時刻を取得して、クライアント入力部データ送信モジュール１５へ送信する。キーボードミラードライバ装置１４は、キーボードから送り出される入力されたキーの情報をミラーリングし、入力内容と信号の受信時刻を取得して、クライアント入力部データ送信モジュール１５へ送信する。グラフィックミラードライバ装置１７は、コンピュータの命令に基づいて生成される画像情報などの出力信号をミラーリングし、出力内容と信号の受信時刻を取得して、クライアント出力部データ送信モジュール１８へ送信する。
【００２２】
仮想化デスクトップ提供部２は、マシン処理機能部２４、マウスポートドライバ装置２５、キーボードドライバ装置２６、グラフィックドライバ２９に加え、仮想化サーバ側エージェント機能を備える。具体的には、仮想化デスクトップ入力部データ送信モジュール２１と、マウスポートミラードライバ装置２２と、キーボードミラードライバ装置２３と、仮想化デスクトップ出力部データ送信モジュール２７と、グラフィックミラードライバ装置２８とを備える。仮想化デスクトップ入力部データ送信モジュール２１は、仮想化サーバ３０上の仮想化デスクトップ２０で稼動し、マウス、キーボードなどのシンクライアント端末１０の入力装置に送られたこれらの情報を入力内容及び入力時間と紐付け、入力部データ整合モジュール４１へと送信する。仮想化デスクトップ出力部データ送信モジュール２７は、グラフィックミラードライバ装置２８から受け取った画像情報を出力部データ整合モジュール４２へと転送する。マウスポートミラードライバ装置２２は、マウスから送り出される右クリック、左クリックに関する動作及びマウスカーソルの移動に関する挙動の情報をミラーリングし、入力内容と信号の受信時刻を取得して、仮想化デスクトップ入力部データ送信モジュール２１へ送信する。キーボードミラードライバ装置２３は、キーボードから送り出される入力されたキーの情報をミラーリングし、入力内容と信号の受信時刻を取得して、仮想化デスクトップ入力部データ送信モジュール２１へ送信する。グラフィックミラードライバ装置２８は、コンピュータの命令に基づいて生成される画像情報などの出力信号をミラーリングし、出力内容と信号の受信時刻を取得して、仮想化デスクトップ出力部データ送信モジュール２７へ送信する。
【００２３】
ＤａａＳ品質管理部３は、入力部データ整合モジュール４１と、出力部データ整合モジュール４２と、入出力データ整合モジュール４３と、異常基準データ算出モジュール４４と、動作内容再現モジュール４５と、異常判断モジュール４６と、リソースデータ収集モジュール４７と、リソース収集モジュール４８と、負荷把握モジュール４９と、操作入力記憶部６１と、操作出力記憶部６２と、操作データ記憶部６３と、異常基準記憶部６４と、リソースデータ記憶部６５と、整形データ記憶部６６とを備える。ＤａａＳ品質監視部３Ａは、Ｗｅｂサーバ５０を備える。この図では、ＤａａＳ品質管理部３の外部にＤａａＳ品質監視部３Ａを描いているが、ＤａａＳ品質管理部３の内部にＤａａＳ品質監視部３Ａが含まれてもよい。入力部データ整合モジュール４１は、クライアント入力部データ送信モジュール１５と仮想化デスクトップ入力部データ送信モジュール２１から送られる内容を照合し、シンクライアントの入力信号が仮想化サーバ３０上の仮想化デスクトップ２０に反映されるまでにかかった時間、入力信号のロス、入力信号の遅延、及び反映された時間を操作入力記憶部６１に保存する。出力部データ整合モジュール４２は、クライアント出力部データ送信モジュール１８と仮想化デスクトップ出力部データ送信モジュール２７から送られる画像内容で把握できる処理内容に相当する情報を作成、照合する。また、仮想化サーバ３０上の仮想化デスクトップ２０からの出力信号がシンクライアント上に反映されるまでにかかった時間、出力信号のロス、出力信号の遅延、及び反映された時間を操作出力記憶部６２に保存する。入出力データ整合モジュール４３は、入力部データ整合モジュール４１と出力部データ整合モジュール４２のデータを照合し、クライアントから入力信号が送出されてから、クライアントへ出力信号が返ってくるまでの総合した時間を算出し、異常判断モジュール４６へ処理を引き継ぐ。異常判断モジュール４６は、入出力データ整合モジュール４３から得られたクライアントから入力信号が送出されてから、クライアントへ出力信号が返ってくるまでの総合した時間の妥当性を判断する。この時に異常基準記憶部６４を参照し、異常か否かを判定する。また、入力部データ整合モジュール４１からの情報と出力部データ整合モジュール４２からの情報の突合せの際に、情報の欠損や遅延があった場合はアラートを上げる。異常基準データ算出モジュール４４は、実行するプログラム、開くファイル、当該行為を実施する時間、当該行為を実施する仮想化デスクトップ２０が収容されている仮想化サーバ３０を考慮した異常算出基準値を前もって測定する。その測定結果を異常基準記憶部６４に格納する。リソース収集モジュール４８は、仮想化基盤上の物理サーバのＣＰＵ、メモリ、ネットワークＩ／Ｏ、ストレージＩ／Ｏなどのリソース情報を収集する。負荷把握モジュール４９は、仮想化基盤上の物理サーバの負荷状況を把握し、負荷がかかっている状況かどうかを判定する。動作内容再現モジュール４５は、操作データ記憶部６３で得られた情報、リソースの利用状況、コンピュータの内部情報を収集して組み合わせることによって、どのような操作に関連するかをまとめる。
【００２４】
このように、本システムでは、クライアントにエージェントを組み込むことで仮想化デスクトップ２０の正常性を‘把握’する。すなわち、クライアントの入力信号が仮想化デスクトップ２０に反映されるまでの時間を測定するとともに、仮想化デスクトップ２０の出力信号がクライアントに反映されるまでの時間を測定するようになっている。このようにすれば、従来は検査用のデスクトップから測定をしていたものを直接ユーザの仮想化デスクトップ２０から測定することが可能となる。
【００２５】
図６Ａ及び図６Ｂは、本発明の実施の形態における仮想化デスクトップ提供システムの基本動作のシーケンス図である。以下、図６Ａ及び図６Ｂを用いて、デスクトップ操作を記録する場合のシーケンスについて説明する。
【００２６】
まず、シンクライアント端末１０においてマウス等の入力操作が行われると、顧客利用部１のマウスポートミラードライバ装置１３は、マウス操作のミラーを取得してクライアント入力部データ送信モジュール１５に渡す（Ｓ１→Ｓ２）。クライアント入力部データ送信モジュール１５は、マウス操作に関する入力内容と時間を入力部データ整合モジュール４１に送信する（Ｓ３）。
【００２７】
また、シンクライアント端末１０においてマウス等の入力操作が行われると、仮想化デスクトップ提供部２のマウスポートミラードライバ装置２２は、マウス操作のミラーを取得して仮想化デスクトップ入力部データ送信モジュール２１に渡す（Ｓ４→Ｓ６）。仮想化デスクトップ入力部データ送信モジュール２１は、マウス操作に関する入力内容と時間を入力部データ整合モジュール４１に送信する（Ｓ７）。
【００２８】
これにより、ＤａａＳ品質管理部３の入力部データ整合モジュール４１は、クライアント入力部データ送信モジュール１５と仮想化デスクトップ入力部データ送信モジュール２１から入力データに関する情報を取得し、同じ入力信号を整合する。そのデータは操作入力記憶部６１に記録される（Ｓ８）。
【００２９】
次いで、仮想化デスクトップ２０において内部処理が実行される（Ｓ５）。内部処理とは、例えば、アプリケーションＡｐｐを立ち上げる処理である。仮想化デスクトップ２０において入力信号（例えば、アプリケーションＡｐｐの立ち上げ命令）に対する出力信号（例えば、アプリケーションＡｐｐの映像）が生成されると、グラフィックミラードライバ装置２８は、グラフィックに関する出力信号のミラーを取得して仮想化デスクトップ出力部データ送信モジュール２７に渡す（Ｓ１１→Ｓ１５）。仮想化デスクトップ出力部データ送信モジュール２７は、出力信号の内容とそれが反映された時間を出力部データ整合モジュール４２に送信する（Ｓ１６）。
【００３０】
また、仮想化デスクトップ２０において入力信号に対する出力信号が生成されると、顧客利用部１のグラフィックミラードライバ装置１７は、グラフィックに関する出力信号のミラーを取得してクライアント出力部データ送信モジュール１８に渡す（Ｓ１２→Ｓ１３）。クライアント出力部データ送信モジュール１８は、出力信号の内容とそれが反映された時間を出力部データ整合モジュール４２に送信する（Ｓ１４）。
【００３１】
これにより、ＤａａＳ品質管理部３の出力部データ整合モジュール４２は、クライアント出力部データ送信モジュール１８と仮想化デスクトップ出力部データ送信モジュール２７から出力データに関する情報を取得し、同じ出力信号を整合する。そのデータは操作出力記憶部６２に記録される（Ｓ１７）。
【００３２】
図７Ａ〜図７Ｃは、本発明の実施の形態における仮想化デスクトップ提供システムの基本動作のシーケンス図である。以下、図７Ａ〜図７Ｃを用いて、異常判断する場合のシーケンスについて説明する。
【００３３】
まず、ＤａａＳ品質管理部３の入出力データ整合モジュール４３は、操作入力記憶部６１と操作出力記憶部６２からデータを取得する（Ｓ２１→Ｓ２２→Ｓ２３）。そして、入力データに対する出力データを整合し、処理結果を操作データ記憶部６３に記録する（Ｓ２４→Ｓ２５）。動作内容再現モジュール４５は、操作データ記憶部６３のデータを取得し、ユーザが動作させた情報を基に一連の動作をしてまとめ、セクション化しておく（Ｓ２６）。このセッション化の具体例については後に詳しく説明する。
【００３４】
一方、異常基準データ算出モジュール４４は、ユーザの利用開始時に各種条件の基準データを取得し、異常基準記憶部６４のデータを更新する（Ｓ３１→Ｓ３２）。このデータ更新は、以下の処理と非同期に実行される。
【００３５】
異常判断モジュール４６は、異常基準記憶部６４に異常算出基準値の取得要求を出す（Ｓ３３）。これにより、同一条件に適合する異常基準に相当する記録が返送されると（Ｓ３４）、異常算出基準値と内部処理時間を突き合わせ、異常算出基準値の分布の９５％内に収まらない値であれば異常と判断する。異常ありと判断した場合はリソース収集を開始する。異常なしと判断した場合は整形データ記憶部６６に記録する（Ｓ３５）。リソース収集モジュール４８は、異常のあった顧客を収容するサーバのリソース情報（ＣＰＵ、ＮＷ、ＤＩＳＫ、ＭＥＭ）をリソースデータ記憶部６５より収集し、整形データ記憶部６６へ格納する（Ｓ３６）。負荷把握モジュール４９は、整形データ記憶部６６に格納されたリソース情報（ＣＰＵ，ＭＥＭ，ＮＷ，ＤＩＳＫ）から過剰負荷に関するものがあれば保存対象とする（Ｓ３７）。異常がある範囲を含めてリソース情報を整形データ記憶部６６へ格納する（Ｓ３８）。異常がある場合はシステム管理者に異常があることを表示するようになっている（Ｓ３９）。
【００３６】
また、異常判断モジュール４６は、情報のロスの発生程度やネットワーク遅延算出基準値から異常の判断をする。異常ありと判断した場合はリソース収集を開始する。異常なしと判断した場合は整形データ記憶部６６に記録する（Ｓ４１）。リソース収集モジュール４８は、異常のあった顧客を収容するサーバのリソース情報（ＣＰＵ、ＮＷ、ＤＩＳＫ、ＭＥＭ）をリソースデータ記憶部６５より収集し、整形データ記憶部６６へ格納する（Ｓ４３）。負荷把握モジュール４９は、整形データ記憶部６６に格納されたリソース情報（ＣＰＵ，ＭＥＭ，ＮＷ，ＤＩＳＫ）から過剰負荷に関するものがあれば保存対象とする（Ｓ４４）。異常がある範囲を含めてリソース情報を整形データ記憶部６６へ格納する（Ｓ４５）。異常がある場合はシステム管理者に異常があることを表示するようになっている（Ｓ４２）。
【００３７】
図８は、本発明の実施の形態における仮想化デスクトップ提供システムの基本動作のシーケンス図である。以下、図８を用いて、システム管理者がシステム利用する場合のシーケンスについて説明する。
【００３８】
まず、システム管理者は、本システムにログインし、対象ユーザのユーザＩＤ、対象時間、実施動作などで検索を実行する（Ｓ５１→Ｓ５２→Ｓ５３）これにより、Ｗｅｂサーバ５０は、データベースを検索し、整形データ記憶部６６から対象データを検索し、対象操作が異常かどうかの結果も含めて検索結果を表示する（Ｓ５４→Ｓ５５→Ｓ５６）。
【００３９】
図９は、本発明の実施の形態における仮想化デスクトップ提供システムにおいて操作情報記録から操作内容を再現する場合の具体例１を示す図である。
【００４０】
例えば、図中の（１）（２）に示すように、座標点（１１０,５６０）においてマウスの左ボタンを押下した後、座標点（１０,２３０）においてマウスの左ボタンを押上したものとする。この状態で、図中の（３）に示すように、キーボードの『Ｃｔｒｌ＋Ｃ』を押下すると、画面左下に配置されたショートカットがクリップボードに記録される。更に、図中の（４）〜（６）に示すように、座標点（５６０,２３０）においてマウスの左ボタンをクリックした後、キーボードの『Ｃｔｒｌ＋Ｖ』を押下すると、クリップボードに記録されたショートカットに基づいて別のフォルダにコピーすることができる。このような一連の動作Ｍ１をまとめてセッション化しておき、操作データ記憶部６３に記録しておく（図７ＡのＳ２６参照）。これにより、操作情報記録から操作内容を容易に再現することが可能である。
【００４１】
図１０は、本発明の実施の形態における仮想化デスクトップ提供システムにおいて操作情報記録から操作内容を再現する場合の具体例２を示す図である。
【００４２】
この具体例２も上述の具体例１と同様である。例えば、図中の（１）（２）に示すように、パワーポイントのメニューバーの中の『ファイル』をクリックした後、図中の（３）（４）に示すように、ファイルメニューの中の『開く』をクリックしたものとする。次いで、図中の（５）（６）に示すように、読み出す『ファイル名』をクリックした後、『開く』をクリックすると、パワーポイントにおいて新たなファイルＦを開くことができる。このようなファイルＦの読み出し命令から表示までの一連の動作Ｍ２を１つのセッションとして関連付けておく（図７ＡのＳ２６参照）。これにより、操作情報記録から操作内容を容易に再現することが可能である。
【００４３】
図１１及び図１２は、本発明の実施の形態における仮想化デスクトップ提供システムの基本動作のフローチャートである。以下、図１１及び図１２を用いて、デスクトップ操作の登録と異常判定の表示について説明する。
【００４４】
シンクライアント端末１０は、入力処理を実行するとともに（Ｓ６１→Ｓ６２）、サーバから出力情報を受信する（Ｓ６３）。一方、サーバは、シンクライアント端末１０から受信した入力情報を保存するとともに、出力処理を実行して出力情報を保存する（Ｓ７１→Ｓ７２→Ｓ７３→Ｓ７４）。また、異常基準データと突き合わせ、異常であるか否かを判断し、異常であると判断した場合は異常判定表示を実行する（Ｓ７６→Ｓ７７）。
【００４５】
異常判断モジュール４６の処理をより具体的に説明する。まず、操作データ記憶部６３から操作データを取得するとともに、異常基準記憶部６４から異常算出基準値を取得し、操作データと異常算出基準値を突き合わせて正常であるか異常であるかを判定する（Ｓ８１→Ｓ８２→Ｓ８３→Ｓ８４）。ここで、正常であると判定した場合は、動作再現内容と操作データ及び異常算出基準値をまとめて整形データ記憶部６６へ出力する（Ｓ８９）。一方、異常であると判定した場合は、リソース収集モジュール４８でソース情報を収集し、負荷把握モジュール４９で負荷状況を把握し、影響が出ているユーザを特定してファイル出力する（Ｓ８５→Ｓ８６→Ｓ８７）。また、システム管理者にアラートを送信する（Ｓ８８）。
【００４６】
図１３は、本発明の実施の形態における仮想化デスクトップ提供システムの基本動作のフローチャートである。以下、図１３を用いて、システム管理者がユーザ動作の正常性を確認する処理について説明する。
【００４７】
まず、システム管理者が本システムのログインボタンを押下すると、自動ログインが実行される（Ｓ９１→Ｓ９２）。次いで、システム管理者が検索用項目を入力すると、入力された検索用項目に基づいてユーザ動作の正常性が判定される（Ｓ９３→Ｓ９４）。そして、判定の結果が正常である場合は検索結果が表示され（Ｓ９５）、判定の結果が異常である場合は検索項目を再入力するようになっている（Ｓ９６）。
【００４８】
図１４Ａ〜図１４Ｄは、本発明の実施の形態における仮想化デスクトップ提供システムのデータベース構成図である。具体的には、操作入力記憶部６１、操作出力記憶部６２、操作データ記憶部６３、異常基準記憶部６４、整形データ記憶部６６が備えるデータベースの構成を示している。
【００４９】
図１４Ａ（ａ）に示すように、操作入力記憶部６１は、「ＩＤ」「ユーザＩＤ」「入力デバイス」「入力操作」「クライアント操作入力時間」「仮想化デスクトップ操作入力時間」「反映時間」等のフィールドを備える。「ＩＤ」は、処理を一意に識別するＩＤを示している。「ユーザＩＤ」は、ユーザを一意に識別するＩＤを示している。「入力デバイス」は、当該操作が行われたデバイスを示している。「入力操作」は、入力の動作（マウスであれば座標点と左クリックなどの操作内容）を示している。「クライアント操作入力時間」は、クライアントにおいて入力操作が行われた時間を示している。「仮想化デスクトップ操作入力時間」は、クライアント操作入力が仮想化デスクトップ操作入力として反映された時間を示している。「反映時間」は、クライアント操作入力が仮想化デスクトップ操作入力として反映されるまでにかかる時間を示している。
【００５０】
図１４Ａ（ｂ）に示すように、操作出力記憶部６２は、「ＩＤ」「ユーザＩＤ」「出力内容」「仮想化デスクトップ操作出力時間」「クライアント操作出力時間」「反映時間」等のフィールドを備える。「ＩＤ」は、処理を一意に識別するＩＤを示している。「ユーザＩＤ」は、ユーザを一意に識別するＩＤを示している。「出力内容」は、プログラムソフトの立ち上げなどの出力の内容を示している。「仮想化デスクトップ操作出力時間」は、仮想化デスクトップ２０において出力操作が行われた時間を示している。「クライアント操作出力時間」は、仮想化デスクトップ操作出力がクライアント操作出力として反映された時間を示している。「反映時間」は、仮想化デスクトップ操作出力がクライアント操作出力として反映されるまでの時間を示している。
【００５１】
図１４Ｂ（ｃ）に示すように、操作データ記憶部６３は、「ＩＤ」「ユーザＩＤ」「出力内容」「クライアント操作入力時間（ｔ１）」「仮想化デスクトップ操作入力時間（ｔ２）」「仮想化デスクトップ操作出力時間（ｔ３）」「クライアント操作出力時間（ｔ４）」「内部処理時間」「ネットワーク転送時間」「実行時間」等のフィールドを備える。「ＩＤ」は、処理を一意に識別するＩＤを示している。「ユーザＩＤ」は、ユーザを一意に識別するＩＤを示している。「出力内容」は、プログラムソフトの立ち上げなどの出力の内容を示している。「クライアント操作入力時間（ｔ１）」は、クライアントにおいて入力操作が行われた時間を示している。「仮想化デスクトップ操作入力時間（ｔ２）」は、クライアント操作入力が仮想化デスクトップ操作入力として反映された時間を示している。「仮想化デスクトップ操作出力時間（ｔ３）」は、仮想化デスクトップ２０において出力操作が行われた時間を示している。「クライアント操作出力時間（ｔ４）」は、仮想化デスクトップ操作出力がクライアント操作出力として反映された時間を示している。「内部処理時間」は、仮想化デスクトップ２０で実行命令が反映されてから、映像として反映されるまでの時間を示している。「内部処理時間」は、計算式ｔ３−ｔ２で算出することができる。「ネットワーク転送時間」は、クライアントと仮想化デスクトップ２０の間で転送するのに要する時間を示している。「ネットワーク転送時間」は、計算式（ｔ４−ｔ１−（ｔ３−ｔ２））／２で算出することができる。「実行時間」は、クライアントにおいて入力操作が行われてから、クライアントにおいて出力操作が反映されるまでの時間を示している。「実行時間」は、計算式ｔ４−ｔ１で算出することができる。
【００５２】
図１４Ｃ（ｄ）に示すように、異常基準記憶部６４は、「ユーザＩＤ」「サーバＩＤ」「異常算出基準値」「ネットワーク遅延算出基準値」「アプリケーション」「ファイル容量」「ファイル設置場所」等のフィールドを備える。「ユーザＩＤ」は、ユーザを一意に識別するＩＤを示している。「サーバＩＤ」は、最初の設定の段階で定義した、ユーザが収容されているサーバのＩＤを示している。「異常算出基準値」は、正常の状態から離れていると考えられる基準の値を示している。事前に特定条件下で複数回アプリケーションの立ち上げ等を行い、その立ち上げ時間等の分布の９５％範囲の上限値を異常算出基準値と定義する。「ネットワーク遅延算出基準値」は、正常の転送時間から離れていると考えられる基準の値を示している。事前にネットワーク転送時間を複数回算出し、その分布の９５％範囲の上限値をネットワーク遅延算出基準値と定義する。「アプリケーション」は、使用するアプリケーションを示している。「ファイル容量」は、実行するファイルサイズを示している。「ファイル設置場所」は、ローカル上かネットワーク上かを示している。
【００５３】
図１４Ｄ（ｅ）に示すように、整形データ記憶部６６は、「ＩＤ」「ユーザＩＤ」「出力内容」「クライアント操作入力時間（ｔ１）」「仮想化デスクトップ操作入力時間（ｔ２）」「仮想化デスクトップ操作出力時間（ｔ３）」「クライアント操作出力時間（ｔ４）」「内部処理時間」「ネットワーク転送時間」「実行時間」「実行ファイルのデータサイズ」「正常基準値」「セクションＩＤ」「サーバＩＤ」「サーバ負荷状況」「サーバリソース状況」「異常値フラグ」「ネットワーク異常フラグ」等のフィールドを備える。「ＩＤ」は、処理を一意に識別するＩＤを示している。「ユーザＩＤ」は、ユーザを一意に識別するＩＤを示している。「出力内容」は、プログラムソフトの立ち上げなどの出力の内容を示している。「クライアント操作入力時間（ｔ１）」は、クライアントにおいて入力操作が行われた時間を示している。「仮想化デスクトップ操作入力時間（ｔ２）」は、クライアント操作入力が仮想化デスクトップ操作入力として反映された時間を示している。「仮想化デスクトップ操作出力時間（ｔ３）」は、仮想化デスクトップ２０において出力操作が行われた時間を示している。「クライアント操作出力時間（ｔ４）」は、仮想化デスクトップ操作出力がクライアント操作出力として反映された時間を示している。「内部処理時間」は、仮想化デスクトップ２０で実行命令が反映されてから、映像として反映されるまでの時間を示している。「内部処理時間」は、計算式ｔ３−ｔ２で算出することができる。「ネットワーク転送時間」は、クライアントと仮想化デスクトップ２０の間で転送するのに要する時間を示している。「ネットワーク転送時間」は、計算式（ｔ４−ｔ１−（ｔ３−ｔ２））／２で算出することができる。「実行時間」は、クライアントにおいて入力操作が行われてから、クライアントにおいて出力操作が反映されるまでの時間を示している。「実行時間」は、計算式ｔ４−ｔ１で算出することができる。「実行ファイルのデータサイズ」は、実行するファイルのサイズを示している。「正常基準値」は、当該操作が正常である場合に予想される実行時間を示している。「セクションＩＤ」は、セッションを一意に識別するＩＤを示している。動作内容再現モジュール４５でセクション化したときに同一処理に関するものに同一セクションＩＤを付与する。「サーバＩＤ」は、ユーザの収容されているサーバのＩＤを示している。「サーバ負荷状況」は、サーバにかかる負荷の程度を示している。「サーバリソース状況」は、サーバのリソース状況を示している。「異常値フラグ」は、当該操作が正常値から外れているか否かを示している。「ネットワーク異常フラグ」は、ネットワーク上に遅延、ロスの多発が発生しているか否かを示している。
【００５４】
以上のように、本発明の実施の形態における仮想化デスクトップ提供システムは、ユーザに利用されるシンクライアント端末１０と、シンクライアント端末１０に仮想化デスクトップ２０を提供する仮想化デスクトップ提供部２と、シンクライアント端末１０において入力操作が行われてからシンクライアント端末１０において出力操作が映像として反映されるまでの時間を所定の異常算出基準値と照会することで仮想化デスクトップ２０の品質を管理するＤａａＳ品質管理部３とを備える。そのため、ユーザの体感品質を定量化することができる仮想化デスクトップ提供システムを提供することが可能である。
【００５５】
また、異常算出基準値は、各ユーザに利用されるファイルの容量別、ファイルの格納場所別、実行されるアプリケーションの種類別、又は、アプリケーションが実行される時間帯別に算出されてもよい。これにより、本来反応するべき時間が正確に求められるため、リソースからの推定よりもデスクトップの快適さを正確に割り出すことが可能である。
【００５６】
また、事前に特定条件下で複数回アプリケーションの立ち上げを行い、その立ち上げ時間の分布の９５％範囲の上限値を異常算出基準値としてもよい。これにより、仮想化デスクトップ２０上で実行されるプログラムに期待される実行速度をより正確に把握することができ、信頼性の高い異常算出基準値を算出することが可能である。
【００５７】
更に、本システムによれば、異常が発生した場合、その異常が仮想化サーバ３０、ネットワーク、クライアントのいずれに起因するものかを切り分けることができる。これにより、異常箇所を特定し、迅速に対処することが可能である。
【００５８】
なお、本発明は、仮想化デスクトップ提供システムとして実現することができるだけでなく、この仮想化デスクトップ提供システムに用いられる顧客利用部１、仮想化デスクトップ提供部２、又はＤａａＳ品質管理部３が備える特徴的な処理部をステップとするユーザ体感品質定量化方法として実現したり、それらのステップをコンピュータに実行させるプログラムとして実現したりすることも可能である。このようなプログラムは、ＣＤ−ＲＯＭ等の記録媒体やインターネット等の伝送媒体を介して配信することができるのはいうまでもない。
【符号の説明】
【００５９】
１…顧客利用部
２…仮想化デスクトップ提供部
３…ＤａａＳ品質管理部（品質管理部）
１０…シンクライアント端末（クライアント端末）
２０…仮想化デスクトップ
３０…仮想化サーバ
４０…処理サーバ
５０…Ｗｅｂサーバ
６０…データベースサーバ
【図１】
0005898734.tif 000002
【図２】
0005898734.tif 000003
【図３】
0005898734.tif 000004
【図４】
0005898734.tif 000005
【図５】
0005898734.tif 000006
【図６Ａ】
0005898734.tif 000007
【図６Ｂ】
0005898734.tif 000008
【図７Ａ】
0005898734.tif 000009
【図７Ｂ】
0005898734.tif 000010
【図７Ｃ】
0005898734.tif 000011
【図８】
0005898734.tif 000012
【図９】
0005898734.tif 000013
【図１０】
0005898734.tif 000014
【図１１】
0005898734.tif 000015
【図１２】
0005898734.tif 000016
【図１３】
0005898734.tif 000017
【図１４Ａ】
0005898734.tif 000018
【図１４Ｂ】
0005898734.tif 000019
【図１４Ｃ】
0005898734.tif 000020
【図１４Ｄ】
0005898734.tif 000021