(57)【要約】【課題】伝搬遅延のある環境においても、操作者が入力操作を止めずに連続して行うことを可能とする仮想デスクトップシステム等を提供する。【解決手段】サーバ装置２とクライアント装置３とが相互に接続されて構成される仮想デスクトップシステムで、サーバ装置２は、仮想デスクトップ画面を生成してクライアント装置に送信する仮想デスクトップ動作部２ａを備え、クライアント装置３が、仮想デスクトップ画面に対するユーザの操作入力をサーバ装置に送信し、これに対してサーバ装置から送られてくる出力結果としての仮想デスクトップ画面をユーザに提示する入出力管理部３ａを備える。クライアント装置３が、ユーザの操作入力に対する仮想デスクトップ動作部による出力結果を予測する出力予測部３ｂを備え、入出力管理部３ａが、出力予測部による予測結果に基づいて操作入力を継続して受け入れる。【選択図】図１
2014164571.tif 000002
【特許請求の範囲】
【請求項１】
サーバ装置とクライアント装置とが相互に接続されて構成される仮想デスクトップシステムであって、
前記サーバ装置が、仮想デスクトップ画面を生成して前記クライアント装置に送信する仮想デスクトップ動作部を備え、
前記クライアント装置が、前記仮想デスクトップ画面に対するユーザの操作入力を前記サーバ装置に送信し、これに対して前記サーバ装置から送られてくる出力結果としての前記仮想デスクトップ画面を前記ユーザに対して表示する入出力管理部を備えると共に、
前記クライアント装置が、前記ユーザの操作入力に対する前記仮想デスクトップ動作部による前記出力結果を予測する出力予測部を備え、
前記クライアント装置の前記入出力管理部が、前記出力予測部による予測結果に基づいて操作入力を継続して受け入れる機能を備えること、を特徴とする仮想デスクトップシステム。
【請求項２】
前記サーバ装置が、
前記ユーザの操作入力に対する前記仮想デスクトップ動作部による前記出力結果を予測する出力予測部と、
前記仮想デスクトップ動作部による実処理結果と前記出力予測部による予測結果とを比較する出力比較部とを備え、
前記実処理結果と前記予測結果との間で差異が検出されれば、前記仮想デスクトップ動作部が、そのことを示すユーザ向け通知を前記仮想デスクトップ画面に追加して送信処理する機能を備えること、を特徴とする請求項１に記載の仮想デスクトップシステム。
【請求項３】
前記実処理結果と前記予測結果との間で差異が検出されれば、前記サーバ装置の前記仮想デスクトップ動作部が、その差異の発生以後の前記操作入力を破棄すると共に前記クライアント装置に対して通知情報を発する機能を備え、
この通知情報を受けた前記クライアント装置の入出力管理部が、その破棄された操作入力がなされる直前の前記仮想デスクトップ画面を前記ユーザに対して表示する機能を備えること、を特徴とする請求項２に記載の仮想デスクトップシステム。
【請求項４】
前記通知情報を受けた前記クライアント装置の出力予測部が、前記破棄された操作入力がなされる直前の状態から操作入力が無いものとして前記出力結果を再度予測する機能を備えること、を特徴とする請求項３に記載の仮想デスクトップシステム。
【請求項５】
前記実処理結果と前記予測結果との間で差異が検出された後で、前記サーバ装置の出力比較部が前記実処理結果と前記予測結果との間で再び差異を検出しない状態になったら、前記サーバ装置の前記仮想デスクトップ動作部が、前記仮想デスクトップ画面から前記ユーザ向け通知を取り除いて送信処理する機能を備えること、を特徴とする請求項３に記載の仮想デスクトップシステム。
【請求項６】
前記実処理結果と前記予測結果との間で差異が検出されても、前記サーバ装置の前記仮想デスクトップ動作部が、その差異の発生以後の前記操作入力を破棄せずに前記出力結果としての前記仮想デスクトップ画面を生成処理する機能を備えること、を特徴とする請求項２に記載の仮想デスクトップシステム。
【請求項７】
クライアント装置と接続されて仮想デスクトップシステムを構成するサーバ装置であって、
前記クライアント装置からユーザの操作入力を受信し、これに対する出力結果としての仮想デスクトップ画面を生成して前記クライアント装置に送信する仮想デスクトップ動作部と、
前記ユーザの操作入力に対する前記出力結果を予測する出力予測部と、
前記仮想デスクトップ動作部による実処理結果と前記出力予測部による予測結果とを比較する出力比較部と
を備えること、を特徴とするサーバ装置。
【請求項８】
前記実処理結果と前記予測結果との間で差異が検出されれば、前記仮想デスクトップ動作部が、そのことを示すユーザ向け通知を前記仮想デスクトップ画面に追加して送信処理する機能を備えること、を特徴とする請求項７に記載のサーバ装置。
【請求項９】
仮想デスクトップ画面を生成して送信する仮想デスクトップ動作部を備えたサーバ装置と接続されて仮想デスクトップシステムを構成するクライアント装置であって、
前記仮想デスクトップ画面に対するユーザの操作入力を前記サーバ装置に送信し、これに対して前記サーバ装置から送られてくる出力結果としての前記仮想デスクトップ画面を前記ユーザに対して表示する入出力管理部と、
前記ユーザの操作入力に対する前記仮想デスクトップ動作部による前記出力結果を予測する出力予測部とを備え、
前記入出力管理部が、前記出力予測部による予測結果に基づいて操作入力を継続して受け入れる機能を備えること、を特徴とするクライアント装置。
【請求項１０】
サーバ装置とクライアント装置とが相互に接続されて構成される仮想デスクトップシステムにあって、
前記クライアント装置の入出力管理部が、前記仮想デスクトップ画面に対するユーザの操作入力を前記サーバ装置に送信し、
前記サーバ装置の仮想デスクトップ動作部が、この操作入力に対する出力結果としての仮想デスクトップ画面を生成して前記クライアント装置に送信し、
前記クライアント装置の出力予測部が、この操作入力に対する前記仮想デスクトップ動作部による前記出力結果を予測し、
前記クライアント装置の入出力管理部が、前記出力予測部による予測結果を前記ユーザに対して表示して操作入力を継続して受け入れること、
を特徴とする入力方法。
【請求項１１】
前記サーバ装置の出力予測部が、前記クライアント装置から受信した操作入力に対する前記仮想デスクトップ動作部による前記出力結果を予測し、
前記サーバ装置の出力比較部が、前記仮想デスクトップ動作部による実処理結果と前記出力予測部による予測結果とを比較し、
前記実処理結果と前記予測結果との間で差異が検出されれば、前記サーバ装置の前記仮想デスクトップ動作部がそのことを示すユーザ向け通知を前記仮想デスクトップ画面に追加して前記クライアント装置に送信すること、を特徴とする請求項１０に記載の入力方法。
【請求項１２】
仮想デスクトップ画面を生成して送信する仮想デスクトップ動作部を備えたサーバ装置とクライアント装置とが相互に接続されて構成される仮想デスクトップシステムにあって、
前記サーバ装置が備えるプロセッサに、
この操作入力に対する出力結果としての仮想デスクトップ画面を生成して前記クライアント装置に送信する手順、
前記クライアント装置から受信した操作入力に対する出力結果を予測する手順、
前記仮想デスクトップ画面を生成する手順による実処理結果と前記出力結果を予測する手順による予測結果とを比較する手順、
および前記実処理結果と前記予測結果との間で差異が検出されれば、そのことを示すユーザ向け通知を前記仮想デスクトップ画面に追加して前記クライアント装置に送信する手順を実行させること、を特徴とする入力プログラム。
【請求項１３】
仮想デスクトップ画面を生成して送信する仮想デスクトップ動作部を備えたサーバ装置とクライアント装置とが相互に接続されて構成される仮想デスクトップシステムにあって、
前記クライアント装置が備えるプロセッサに、
前記仮想デスクトップ画面に対するユーザの操作入力を前記サーバ装置に送信する手順、
この操作入力に対する前記仮想デスクトップ動作部による前記出力結果を予測する手順、
および前記出力予測部による予測結果を前記ユーザに対して表示して操作入力を継続して受け入する手順を実行させること、を特徴とする入力プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は仮想デスクトップシステム、サーバ装置、クライアント装置、入力方法およびプログラムに関し、特に仮想デスクトップ環境における入力操作を高速化する仮想デスクトップシステム等に関する。
【背景技術】
【０００２】
企業の運用するコンピュータネットワークで、ワークスタイルの多様化、運用コストの低減、データのバックアップやセキュリティ対策、および災害対策などといった観点から、データセンター内のサーバコンピュータ（サーバ装置）内に仮想コンピュータを生成し、各ユーザは企業内ネットワークに接続されたクライアントコンピュータ（クライアント装置）からその仮想コンピュータにログインして操作するといった形が多く利用されるようになっている。
【０００３】
本明細書では、クライアント装置に表示されるこの仮想コンピュータの操作画面を、仮想デスクトップ（ＶＤＩ: Virtual Desktop Infrastructure）という。また、このようにクライアント装置から仮想デスクトップを利用可能とするネットワークシステムを、仮想デスクトップシステムという。
【０００４】
これに関連して、次の各技術文献が存在する。特許文献１には、２つ以上のディスプレイ装置を１つのコンピュータに接続したマルチディスプレイ環境で、これらのディスプレイの仮想的な位置関係を設定する技術の一例について記載されている。特許文献２には、アクセス元のクライアント装置の端末情報に応じた仮想デスクトップの制御を可能とするという技術が記載されている。特許文献３には、端末装置の属性に応じたアイコンを仮想デスクトップに表示するという技術が記載されている。非特許文献１には、仮想デスクトップについての技術の概要が記載されている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２０１１−２１０１２７号公報
【特許文献２】特開２０１１−１５４６２２号公報
【特許文献３】特開２０１１−１３４０４０号公報
【非特許文献】
【０００６】
【非特許文献１】「わかるView  クライアント環境の当たり前を変える仮想デスクトップ」、［平成２５年２月４日検索］、ヴイエムウェア（株）、インターネット＜URL：http://vmware-juku.jp/vmwareSE-presents/vmwareview/index.html＞
【発明の概要】
【発明が解決しようとする課題】
【０００７】
図７は、コンピュータの入力操作とそれに対する出力との関係について示す説明図である。図７（ａ）は単独のコンピュータ装置だけで処理が行われる場合、図７（ｂ）は前述した既存の仮想デスクトップシステムで処理が行われる場合について示す。
【０００８】
図７（ａ）に示した単独のコンピュータ装置だけ（スタンドアローン）で処理が行われる場合では、入出力部とプロセッサ（処理部）の間の伝搬遅延はほとんどないので、入力操作に対してすぐに計算処理が行われ、その結果がすぐに出力される。従って、その入力操作について操作者が特に問題を感じることはない。
【０００９】
しかしながら、図７（ｂ）に示した既存の仮想デスクトップシステムで処理が行われる場合では、入出力部としての機能を担うクライアント装置と、実際の計算処理を行うサーバ装置との間に、どうしても伝搬遅延が存在する。特に、伝送距離が長い場合（たとえば通信衛星を介する場合など）やコンピュータネットワークの回線が混雑している場合などで、伝搬遅延が長くなる。
【００１０】
そのため、入力操作に対してサーバで処理された結果がすぐにクライアントに返送されず、その間、ユーザの入力操作は実質的に止まることとなる。これが、たとえば１個のキー入力や少しのマウスポインタの移動など、全ての入力操作に対してことごとく存在するので、操作者にとっては利便性が大きく損なわれることとなる。
【００１１】
前述の特許文献１〜３、および非特許文献１は、いずれも仮想デスクトップ環境において伝搬遅延に起因する問題について解決しようとする技術ではないし、これを解決できる技術も記載されていない。
【００１２】
本発明の目的は、サーバとクライアントの間に伝搬遅延のある環境においても、操作者が入力操作を止めずに連続して行うことを可能とする仮想デスクトップシステム、サーバ装置、クライアント装置、入力方法およびプログラムを提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するため、本発明に係る仮想デスクトップシステムは、サーバ装置とクライアント装置とが相互に接続されて構成される仮想デスクトップシステムであって、サーバ装置が、仮想デスクトップ画面を生成してクライアント装置に送信する仮想デスクトップ動作部を備え、クライアント装置が、仮想デスクトップ画面に対するユーザの操作入力をサーバ装置に送信し、これに対してサーバ装置から送られてくる出力結果としての仮想デスクトップ画面をユーザに提示する入出力管理部を備えると共に、クライアント装置が、ユーザの操作入力に対する仮想デスクトップ動作部による出力結果を予測する出力予測部を備え、クライアント装置の入出力管理部が、出力予測部による予測結果に基づいて操作入力を継続して受け入れる機能を備えること、を特徴とする。
【００１４】
上記目的を達成するため、本発明に係るサーバ装置は、クライアント装置と接続されて仮想デスクトップシステムを構成するサーバ装置であって、クライアント装置からユーザの操作入力を受信し、これに対する出力結果としての仮想デスクトップ画面を生成してクライアント装置に送信する仮想デスクトップ動作部と、ユーザの操作入力に対する出力結果を予測する出力予測部と、仮想デスクトップ動作部による実処理結果と出力予測部による予測結果とを比較する出力比較部とを備えること、を特徴とする。
【００１５】
上記目的を達成するため、本発明に係るクライアント装置は、仮想デスクトップ画面を生成して送信する仮想デスクトップ動作部を備えたサーバ装置と接続されて仮想デスクトップシステムを構成するクライアント装置であって、仮想デスクトップ画面に対するユーザの操作入力をサーバ装置に送信し、これに対してサーバ装置から送られてくる出力結果としての仮想デスクトップ画面をユーザに提示する入出力管理部と、ユーザの操作入力に対する仮想デスクトップ動作部による出力結果を予測する出力予測部とを備え、入出力管理部が、出力予測部による予測結果に基づいて操作入力を継続して受け入れる機能を備えること、を特徴とする。
【００１６】
上記目的を達成するため、本発明に係る入力方法は、サーバ装置とクライアント装置とが相互に接続されて構成される仮想デスクトップシステムにあって、クライアント装置の入出力管理部が、仮想デスクトップ画面に対するユーザの操作入力をサーバ装置に送信し、サーバ装置の仮想デスクトップ動作部が、この操作入力に対する出力結果としての仮想デスクトップ画面を生成してクライアント装置に送信し、クライアント装置の出力予測部が、この操作入力に対する仮想デスクトップ動作部による出力結果を予測し、クライアント装置の入出力管理部が、出力予測部による予測結果をユーザに提示して操作入力を継続して受け入れること、を特徴とする。
【００１７】
上記目的を達成するため、本発明に係る入力プログラムは、仮想デスクトップ画面を生成して送信する仮想デスクトップ動作部を備えたサーバ装置とクライアント装置とが相互に接続されて構成される仮想デスクトップシステムにあって、サーバ装置が備えるプロセッサに、この操作入力に対する出力結果としての仮想デスクトップ画面を生成してクライアント装置に送信する手順、クライアント装置から受信した操作入力に対する出力結果を予測する手順、仮想デスクトップ画面を生成する手順による実処理結果と出力結果を予測する手順による予測結果とを比較する手順、および実処理結果と予測結果との間で差異が検出されれば、そのことを示すユーザ向け通知を仮想デスクトップ画面に追加してクライアント装置に送信する手順を実行させること、を特徴とする。
【００１８】
上記目的を達成するため、本発明に係る他の入力プログラムは、仮想デスクトップ画面を生成して送信する仮想デスクトップ動作部を備えたサーバ装置とクライアント装置とが相互に接続されて構成される仮想デスクトップシステムにあって、クライアント装置が備えるプロセッサに、仮想デスクトップ画面に対するユーザの操作入力をサーバ装置に送信する手順、この操作入力に対する仮想デスクトップ動作部による出力結果を予測する手順、および出力予測部による予測結果をユーザに提示して操作入力を継続して受け入する手順を実行させること、を特徴とする。
【発明の効果】
【００１９】
本発明は、上記したようにクライアント装置が出力結果を予測する出力予測部を備える構成としたので、ユーザはこの予測結果に基づいて操作入力を継続することができる。これによって、サーバとクライアントの間に伝搬遅延のある環境においても、操作者が入力操作を止めずに連続して行うことが可能であるという、優れた特徴を持つ仮想デスクトップシステム、サーバ装置、クライアント装置、入力方法およびプログラムを提供することができる。
【図面の簡単な説明】
【００２０】
【図１】本発明の基本形態に係る仮想デスクトップシステムの構成を示す説明図である。
【図２】本発明の実施形態に係る仮想デスクトップシステムの構成を示す説明図である。
【図３】図２に示した仮想デスクトップシステムの構成を、ソフトウェアを主体としてより観念的に示す説明図である。
【図４】図２〜３に示した仮想デスクトップシステムで行われる入力操作について示すフローチャートである。
【図５】図４のステップＳ１１６の動作で、仮想デスクトップ動作部による出力画面に付加されるユーザ向け通知の例について示す説明図である。図５（ａ）はユーザ向け通知を含まない通常の出力画面、図５（ｂ）はユーザ向け通知を含む出力画面の例について示す。
【図６】図２〜３に示した仮想デスクトップシステムで、入力操作とそれに対する出力との関係について示す説明図である。
【図７】コンピュータの入力操作とそれに対する出力との関係について示す説明図である。図７（ａ）は単独のコンピュータ装置だけで処理が行われる場合、図７（ｂ）は既存の仮想デスクトップシステムで処理が行われる場合について示す。
【発明を実施するための形態】
【００２１】
（基本形態）
以下、本発明の基本形態の構成について添付図１に基づいて説明する。
最初に、基本形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
基本形態に係る仮想デスクトップシステム１は、サーバ装置２とクライアント装置３とが相互に接続されて構成される仮想デスクトップシステムである。
サーバ装置２は、仮想デスクトップ画面を生成してクライアント装置に送信する仮想デスクトップ動作部２ａを備え、クライアント装置３が、仮想デスクトップ画面に対するユーザの操作入力をサーバ装置に送信し、これに対してサーバ装置から送られてくる出力結果としての仮想デスクトップ画面をユーザに対して表示する入出力管理部３ａを備える。それと共に、クライアント装置３が、ユーザの操作入力に対する仮想デスクトップ動作部による出力結果を予測する出力予測部３ｂを備え、クライアント装置３の入出力管理部３ａが、出力予測部による予測結果に基づいて操作入力を継続して受け入れる機能を備える構成としている。
【００２２】
これによって、この仮想デスクトップシステム１は、伝搬遅延のある環境においても、予測結果に基づいて入力操作を止めずに連続して行うことが可能なものとなる。
これら各手段のより詳細な構成は、次の第１の実施形態として説明する。
【００２３】
（実施形態）
続いて、本発明の第１の実施形態の構成について添付図２に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係る仮想デスクトップシステム１０は、サーバ装置１１とクライアント装置１２とが相互に接続されて構成される仮想デスクトップシステムである。サーバ装置１１が、仮想デスクトップ画面を生成してクライアント装置に送信する仮想デスクトップ動作部２１を備え、クライアント装置１２が、仮想デスクトップ画面に対するユーザの操作入力をサーバ装置に送信し、これに対してサーバ装置から送られてくる出力結果としての仮想デスクトップ画面をユーザに対して表示する入出力管理部３１を備える。それと共に、クライアント装置１２が、ユーザの操作入力に対する仮想デスクトップ動作部による出力結果を予測する出力予測部３２を備え、クライアント装置１２の入出力管理部３１が、出力予測部による予測結果に基づいて操作入力を継続して受け入れる機能を備える。
【００２４】
また、サーバ装置１１が、ユーザの操作入力に対する仮想デスクトップ動作部２１による出力結果を予測する出力予測部２２と、仮想デスクトップ動作部２１による実処理結果と出力予測部２２による予測結果とを比較する出力比較部２３とを備え、実処理結果と予測結果との間で差異が検出されれば、仮想デスクトップ動作部２１がそのことを示すユーザ向け通知を仮想デスクトップ画面に追加して送信処理する機能を備える。
【００２５】
さらに、実処理結果と予測結果との間で差異が検出されれば、サーバ装置１１の仮想デスクトップ動作部２１がその差異の発生以後の操作入力を破棄し、クライアント装置１２の入出力管理部３１がその破棄された操作入力がなされる直前の仮想デスクトップ画面をユーザに対して表示する機能を備える構成としてもよい。この場合、通知情報を受けたクライアント装置１２の出力予測部３２が破棄された操作入力がなされる直前の状態から操作入力が無いものとして出力結果を再度予測する。そして、実処理結果と予測結果との間で差異が検出された後で、サーバ装置１１の出力比較部２２が実処理結果と予測結果との間で再び差異を検出しない状態になったら、サーバ装置１１の仮想デスクトップ動作部２１が仮想デスクトップ画面からユーザ向け通知を取り除いて送信処理する機能を備える。
【００２６】
また、実処理結果と予測結果との間で差異が検出されても、サーバ装置１１の仮想デスクトップ動作部２１がその差異の発生以後の操作入力を破棄せずに出力結果としての仮想デスクトップ画面を生成処理する機能を備える構成とすることもできる。
【００２７】
これによって、この仮想デスクトップシステム１は、伝搬遅延のある環境においても、予測結果に基づいて入力操作を止めずに連続して行うことが可能なものとなり、さらに実処理結果と予測結果との間で差異が発生しても対応可能なものとなる。
以下、これをより詳細に説明する。
【００２８】
図２は、本発明の実施形態に係る仮想デスクトップシステム１０の構成を示す説明図である。仮想デスクトップシステム１０は、共にコンピュータ装置であるサーバ装置１１とクライアント装置１２とが、ネットワーク１３を介して相互に接続されて構成される。本発明の概念を平易に示すため、図２にはサーバ装置１１およびクライアント装置１２は各々１台ずつ図示されているが、実際にはクライアント装置１２は多数台存在し、またサーバ装置１１も複数台のコンピュータ装置によって構成される。
【００２９】
サーバ装置１１は、一般的なコンピュータ装置としての構成を備えている。即ち、コンピュータプログラムを実行する主体であるプロセッサ１１ａと、プログラムやデータを記憶する記憶手段１１ｂと、ネットワーク１３を介して他装置とのデータ通信を行う通信手段１１ｃとを備える。
【００３０】
クライアント装置１２も同様に、一般的なコンピュータ装置としての構成を備えている。即ち、コンピュータプログラムを実行する主体であるプロセッサ１２ａと、プログラムやデータを記憶する記憶手段１２ｂと、ネットワーク１３を介して他装置とのデータ通信を行う通信手段１２ｃと、ユーザに処理結果を提示する出力手段１２ｄと、ユーザの操作入力を受け付ける入力手段１２ｅとを備える。
【００３１】
図３は、図２に示した仮想デスクトップシステム１０の構成を、ソフトウェアを主体としてより観念的に示す説明図である。サーバ装置１１のプロセッサ１１ａは、コンピュータプログラムの動作により、ユーザごとの仮想デスクトップ画面を生成して動作させる仮想デスクトップ動作部２１と、ユーザの入力操作に対する仮想デスクトップ動作部２１による出力内容の予測を行う出力予測部２２、および仮想デスクトップ動作部２１による実処理の結果と出力予測部２２による予測結果とを比較する処理を行う出力比較部２３として機能する。記憶手段１１ｂには後述の設定情報２４および出力予測情報２５が記憶されている。
【００３２】
クライアント装置１２のプロセッサ１２ａも、コンピュータプログラムの動作により、入力手段１２ｅからの操作入力を受け付けてサーバ装置１１に送信し、それに応じてサーバ装置１１から送られてくる操作結果画面を出力手段１２ｄに提示する入出力管理部３１と、ユーザの入力操作に対する出力内容の予測を行う出力予測部３２として機能する。また、記憶手段１２ｂにはユーザが行った操作を時刻ごとに記録するタイムライン情報３３と後述の設定情報３４および出力予測情報３５が記憶されている。
【００３３】
図４は、図２〜３に示した仮想デスクトップシステム１０で行われる入力操作について示すフローチャートである。この動作においては、サーバ装置１１とクライアント装置１２の各側の出力予測部２２および３２は、出力予測に必要な情報である出力予測情報２５および３５を相互に交換していて、常にユーザの行いうる操作に対して同一の出力内容の予測結果を出すことが前提となる。
【００３４】
ここでいう出力予測情報２５および３５とは、たとえばユーザのデスクトップ画面、ユーザが頻繁に操作する個人データフォルダのファイル構成、ユーザが使用しているアプリケーションソフトの画面遷移などについての情報である。出力予測部２２および３２は、これらの情報を事前に相互に交換していることにより、ユーザの行いうる操作に対して同一の出力内容の予測結果を出すことが可能となる。
【００３５】
たとえば、ユーザが特定のアプリケーションソフトを起動して使用している場合、そのアプリケーションソフトのメニューバーや操作ボタンなどの全てに対して「どこを操作するとどのように画面が遷移し、どのようなダイアログが表示される」などのような情報が、出力予測においては必須となる。しかしながら、起動されていないアプリケーションソフトについては、そのような情報は全く必要とはされない。
【００３６】
従って、ユーザが特定のアプリケーションソフトを起動した時、双方の出力予測部２２および３２は、出力予測情報２５および３５からそのアプリケーションソフトの画面遷移に関連する共通の情報を読み込む。また、ユーザが特定のデータフォルダにアクセスしたら、そのフォルダとその近辺（１段上層、あるいは１段下層など）のディレクトリ情報を読み込む。
【００３７】
また、タイムライン情報３３に、サーバとクライアントの間の往復分の伝搬遅延を充分に超える時間の操作内容を記憶可能であることも前提となる。そして、出力予測と実際の出力が異なっている場合に後述の各動作モードのどちらで動作するかについての設定もサーバ装置１１とクライアント装置１２の双方で事前に行われ、その内容が設定情報２４および３４としてあらかじめ記憶されていることも前提となる。
【００３８】
ここでいう「各動作モード」とは、サーバ装置１１側で「実処理の結果と出力予測の結果とが異なる」ことが検出された場合に、その差異が検出された時点以後にクライアント装置１２側でなされた操作入力をサーバ装置１１が「破棄する」か「全て受け入れる」かである。
【００３９】
まず、クライアント装置１２を操作するユーザが、入力手段１２ｅを介して何かの操作入力を行う（ステップＳ１０１）と、その操作入力に対して入出力管理部３１は、その入力内容とこの操作が行われた日時についてタイムライン情報３３に記憶し（ステップＳ１０２）、その入力内容と日時をサーバ装置１１に送信する（ステップＳ１０３）。そして出力予測部３２が、その入力に対してサーバ装置１１から帰って来るであろう出力結果を予測して、その予測結果を出力手段１２ｄに提示する（ステップＳ１０４）。
【００４０】
サーバ装置１１では、仮想デスクトップ動作部２１がクライアント装置１２から受信した入力内容に応じた処理（実処理）を行い（ステップＳ１１１）、これと並行して出力予測部２２がこの入力内容に対して返されるであろう出力結果を予測する（出力予測、ステップＳ１１２）。そして実処理の結果と出力予測の結果とを出力比較部２３が比較し、両者が一致するか否かを判断する（ステップＳ１１３）。一致すればそのまま動作を継続し、一致した処理結果を含む仮想デスクトップの画面内容を送信する（ステップＳ１１４）。この段階で後述のユーザ向け通知が出力画面に含まれていたら、これを含まない内容に戻す。
【００４１】
実処理の結果と出力予測の結果とが異なる場合、出力比較部２３はまず設定情報２４を参照して動作モードを確認する（ステップＳ１１５）。「全て受け入れる」動作モードの場合、仮想デスクトップ動作部２１による出力画面に、たとえば画面の一部の色を変えるなどのようなユーザ向け通知を含む内容を追加して（ステップＳ１１６）、ステップＳ１１４に進んでクライアント装置１２にその旨を示す通知情報を含む仮想デスクトップの画面内容を送信する。個々でいうユーザ向け通知の内容については後述する。
【００４２】
ステップＳ１１５で「破棄する」動作モードの場合、通知情報のあった対象操作の行われた時点まで、仮想デスクトップ動作部２１による出力画面を戻して（ステップＳ１１７）、出力予測部２２を一度リセットして「操作入力無し」の状態とする（ステップＳ１１８）。そしてその上で、ステップＳ１１６に進んで出力画面にユーザ向け通知を含む内容を追加し、ステップＳ１１４に進んでクライアント装置１２にその旨を示す通知情報を含む仮想デスクトップの画面内容を送信する。
【００４３】
以上の動作を、実処理と出力予測とが一致するまで継続することになる。一致すれば、仮想デスクトップ動作部２１による出力画面は、ステップＳ１１６で追加された前述のユーザ向け通知を含まない内容に戻る。
【００４４】
クライアント装置１２では、ステップＳ１１４で送信された仮想デスクトップの画面内容を入出力管理部３１が表示する（ステップＳ１０５）。その上で入出力管理部３１は、設定情報３４を参照して動作モードを確認する（ステップＳ１０６）。「全て受け入れる」動作モードの場合はそこで動作を終了し、次の入力操作を待ち受ける状態となる。
【００４５】
ステップＳ１０６で「破棄する」動作モードの場合、入出力管理部３１は通知情報の対象となった操作の行われた直後の時点まで、表示画面を戻す（ステップＳ１０７）。そして出力予測部３２をリセットして「操作入力無し」の状態として（ステップＳ１０８）動作を終了し、次の入力操作を待ち受ける状態となる。即ち「破棄する」動作モードでは、サーバ装置１１およびクライアント装置１２の双方で、次の入力操作に対する出力予測は「入力無し」の状態に対して行われることとなる。
【００４６】
サーバ装置１１から送られる通知情報には、実処理の結果と出力予測の結果が異なる現象が始まったその操作がどの日時にクライアント装置１２で行われた何の操作であるかを表す情報も含まれている。この通知情報を受けたクライアント装置１２側では、前述のステップＳ１０７の動作で、タイムライン情報３３を参照してその操作を特定し、その操作の直後の状態まで表示画面を戻すことができる。
【００４７】
図５は、図４のステップＳ１１６の動作で、仮想デスクトップ動作部２１による出力画面に付加されるユーザ向け通知の例について示す説明図である。図５（ａ）はユーザ向け通知を含まない通常の出力画面、図５（ｂ）はユーザ向け通知を含む出力画面の例について示す。
【００４８】
図５（ａ）に示す通り、仮想デスクトップ動作部２１によってクライアント装置１２に対して出力される通常の出力画面１５０は、実処理の出力画面状態を示す実出力１５１に、出力予測の出力画面状態を示す予想出力１５２を重ねた状態の画面である。これに対して、実処理の結果と出力予測の結果とが異なる状態となった場合の図５（ｂ）に示す出力画面１６０は、実出力１６１と予想出力１６２とを重ねた状態の画面に、さらにたとえば画面の一部の色を変える、画面の一部に赤丸などのようなマークを出すなどでユーザにその差異があったことを通知するユーザ向け通知１６３を重ねたものとなる。図５では、ユーザ向け通知１６３は「画面の一部にマークを出す」ことによって表現されている。
【００４９】
図６は、図２〜３に示した仮想デスクトップシステム１０で、入力操作とそれに対する出力との関係について示す説明図である。この仮想デスクトップシステム１０では、クライアント装置１２で入力操作を行えば、ユーザに対しては出力予測部３２がその入力操作に対する出力予測の結果をすぐに表示するので、ユーザはそれに基づいて続きの入力を行うことが可能である。
【００５０】
この入力操作を繰り返せば、実際にサーバ装置１１側で行われている実処理よりも何操作分も先行して、クライアント装置１２側で入力操作が行われることになる。そのため、出力予測で利用される通常の画面遷移とは異なる内容の実処理が行われた場合（具体的にどのような処理が行われた場合であるかについては後述する）などで、実処理と出力予測との間で異なる結果が出ることがある。
【００５１】
サーバ装置１１の出力予測部２２による処理は、このような状態を検出するものである。その状態が発生し、かつ実処理と異なる予想出力に基づいて実処理よりも先行して行われた入力操作があった場合を考える。
【００５２】
前述の設定情報２４および３４の「全て受け入れる」動作モードでは、それらの入力操作自体はほとんどの場合、実処理とは異なっていても実行可能な正当な操作であり、それらの操作内容を受け入れても（たとえばディスクドライブの記憶容量が満杯であるなどのように、物理的にその動作が不可能である場合を除いて）動作に差し支えは特にないものと考え、そのような動作設定をあらかじめするものである。
【００５３】
逆に「破棄する」動作モードでは、実処理とは異なる動作は一切許可されないので、たとえば経理入力などのように厳密かつ確実な入力操作が求められる用途に適している。
【００５４】
（実施形態の全体的な動作）
次に、上記の実施形態の全体的な動作について説明する。
本実施形態に係る入力方法は、サーバ装置１１とクライアント装置１２とが相互に接続されて構成される仮想デスクトップシステム１０にあって、クライアント装置の入出力管理部が、仮想デスクトップ画面に対するユーザの操作入力をサーバ装置に送信し（図４・ステップＳ１０１〜１０３）、サーバ装置の仮想デスクトップ動作部が、この操作入力に対する出力結果としての仮想デスクトップ画面を生成してクライアント装置に送信し（図４・ステップＳ１１１，１１４）、クライアント装置の出力予測部が、この操作入力に対する仮想デスクトップ動作部による出力結果を予測し、クライアント装置の入出力管理部が、出力予測部による予測結果をユーザに対して表示して（図４・ステップＳ１０４）操作入力を継続して受け入れる。
【００５５】
また、サーバ装置の出力予測部が、クライアント装置から受信した操作入力に対する仮想デスクトップ動作部による出力結果を予測し（図４・ステップＳ１１２）、サーバ装置の出力比較部が、仮想デスクトップ動作部による実処理結果と出力予測部による予測結果とを比較し（図４・ステップＳ１１３）、実処理結果と予測結果との間で差異が検出されれば、サーバ装置の仮想デスクトップ動作部がそのことを示すユーザ向け通知を仮想デスクトップ画面に追加して（図４・ステップＳ１１６）クライアント装置に送信する（図４・ステップＳ１１４）。
【００５６】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するプロセッサであるサーバ装置１１のプロセッサ１１ａ、およびクライアント装置１２のプロセッサ１２ａに実行させるようにしてもよい。本プログラムは、非一時的な記録媒体、例えば、ＤＶＤ、ＣＤ、フラッシュメモリ等に記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
この動作により、本実施形態は以下のような効果を奏する。
【００５７】
本実施形態によれば、クライアント装置からの入力操作に対するサーバ装置からの仮想デスクトップ画面が返ってこなくても、クライアント装置側で操作入力を続行することが可能となる。即ち、伝送遅延のある環境に合っても、仮想デスクトップシステムの操作性を向上させることが可能となる。ここで、実処理結果と予測結果との間に差異が生じても、実処理結果に特に問題を発生させることなく、処理を続行することが可能となる。
【００５８】
ここでいうクライアント装置１２の出力予測部３２は、最も理想的にはサーバ装置の仮想デスクトップ動作部２１の動作そのもの、即ち図７（ａ）に示した単独のコンピュータ装置（スタンドアローン）の動作と同一の形態となる。ただそれだと、仮想デスクトップで動作させる意味自体がなくなってしまう。
【００５９】
そこで、クライアント装置１２の出力予測部３２は、サーバ装置の仮想デスクトップ動作部２１で動作している内容に応じて、その入出力に必要な要素のみを出力予測情報３５から読み込み、これによって出力の予測を行うものである。仮想デスクトップで特定のアプリケーションソフトを使用している場合は、そのアプリケーションソフトの通常の動作による画面遷移についての情報があればよく、動作していないアプリケーションソフトについての情報は全く必要ない。
【００６０】
その場合に実処理結果と予測結果との間で差異が発生しうるケースとしては、たとえばサーバ装置１１がデータをディスクドライブなどの記憶媒体に書き込んでいる最中に（その記憶媒体の物理的な要因で）エラーが発生した場合、あるいはコンピュータウイルスやワームなどのような不正プログラムが（常駐しているアンチウイルスプログラムによって）発見された場合など、多くはクライアント装置１２からの入力操作以外の要因によって発生するものである。
【００６１】
従って、サーバ装置１１とクライアント装置１２の各側の出力予測部２２および３２が、同一の出力予測情報２５および３５に基づいて、常にユーザの行いうる操作に対して同一の出力内容の予測結果を出すことができるものでありさえすればよい。同一の出力予測情報から同一のルーチンによって出力予測が動作するものであれば、たとえばサーバ装置１１がＵＮＩＸ（登録商標）、クライアント装置１２がウィンドウズやアンドロイド（いずれも登録商標）などのように、両者でオペレーティングシステム（基本ソフト）が異なっていてもよい。
【００６２】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。
【産業上の利用可能性】
【００６３】
本発明は仮想デスクトップシステム、特にサーバとクライアントの間に伝搬遅延のある環境において仮想デスクトップシステムを構築する場合に利用可能である。
【符号の説明】
【００６４】
１、１０  仮想デスクトップシステム
２、１１  サーバ装置
２ａ、２１  仮想デスクトップ動作部
３、１２  クライアント装置
３ａ、３１  入出力管理部
３ｂ、２２、３２  出力予測部
１１ａ、１２ａ  プロセッサ
１１ｂ、１２ｂ  記憶手段
１１ｃ、１２ｃ  通信手段
１２ｄ  出力手段
１２ｅ  入力手段
１３  ネットワーク
２３  出力比較部
２４、３４  設定情報
２５、３５  出力予測情報
３３  タイムライン情報
１５０、１６０  出力画面
１５１、１６１  実出力
１５２、１６２  予想出力
１６３  ユーザ向け通知
【図１】
2014164571.tif 000003
【図２】
2014164571.tif 000004
【図３】
2014164571.tif 000005
【図４】
2014164571.tif 000006
【図５】
2014164571.tif 000007
【図６】
2014164571.tif 000008
【図７】
2014164571.tif 000009