(58)【調査した分野】(Int.Cl.,DB名)
仮想デスクトップ画面を生成して送信する仮想デスクトップ動作部を備えたサーバ装置と、前記仮想デスクトップ画面に対するユーザの操作入力を前記サーバ装置に送信するクライアント装置とが相互に接続されて成る仮想デスクトップシステムにあって、
前記ユーザによる操作入力に対する出力結果としての前記仮想デスクトップ画面を生成して前記クライアント装置に送信する送信処理機能、
前記クライアント装置から受信した前記操作入力に対する出力結果を予測する予測処理機能、
前記仮想デスクトップ画面を生成する手順による実処理結果と前記出力結果を予測する手順による予測結果とを比較する比較処理機能、
および前記実処理結果と前記予測結果との間で差異が検出されれば、そのことを示すユーザ向け通知を前記仮想デスクトップ画面に追加して前記クライアント装置に追加送信処理機能、
を設け、これらをコンピュータに実現させるようにしたことを特徴とする入力情報処理プログラム。
【発明の概要】
【発明が解決しようとする課題】
【0007】
図7は、コンピュータの入力操作とそれに対する出力との関係について示す説明図である。
図7(a)は単独のコンピュータ装置だけで処理が行われる場合、
図7(b)は前述した既存の仮想デスクトップシステムで処理が行われる場合について示す。
【0008】
図7(a)に示した単独のコンピュータ装置だけ(スタンドアローン)で処理が行われる場合では、入出力部とプロセッサ(処理部)の間の伝搬遅延はほとんどないので、入力操作に対してすぐに計算処理が行われ、その結果がすぐに出力される。従って、その入力操作について操作者が特に問題を感じることはない。
【0009】
しかしながら、
図7(b)に示した既存の仮想デスクトップシステムで処理が行われる場合では、入出力部としての機能を担うクライアント装置と、実際の計算処理を行うサーバ装置との間に、どうしても伝搬遅延が存在する。特に、伝送距離が長い場合(たとえば通信衛星を介する場合など)やコンピュータネットワークの回線が混雑している場合などで、伝搬遅延が長くなる。
【0010】
そのため、入力操作に対してサーバで処理された結果がすぐにクライアントに返送されず、その間、ユーザの入力操作は実質的に止まることとなる。これが、たとえば1個のキー入力や少しのマウスポインタの移動など、全ての入力操作に対してことごとく存在するので、操作者にとっては利便性が大きく損なわれることとなる。
【0011】
前述の特許文献1〜3、および非特許文献1は、いずれも仮想デスクトップ環境において伝搬遅延に起因する問題について解決しようとする技術ではないし、これを解決できる技術も記載されていない。
【0012】
本発明の目的は、サーバとクライアントの間に伝搬遅延のある環境においても、操作者が入力操作を止めずに連続して行うことを可能とする
サーバ装置、仮想デスクトップシステム
、入力情報処理方法、およびそのプログラムを提供することにある。
【課題を解決するための手段】
【0013】
上記目的を達成するため、本発明にかかる
サーバ装置は、クライアント装置と接続されて仮想デスクトップシステムの要部を構成するサーバ装置であって、
前記クライアント装置からユーザの操作入力を受信し、これに対する出力結果としての仮想デスクトップ画面を生成して
前記クライアント装置に送信する仮想デスクトップ動作部
と、前記ユーザの操作入力に対する前記出力結果を予測する出力予測部と、前記仮想デスクトップ動作部による実処理結果と前記出力予測部による予測結果とを比較する出力比較部とを備え、
前記実処理結果と前記予測結果との間で差異が検出された場合に稼働し、前記仮想デスクトップ動作部が、そのことを示すユーザ向け通知を前記仮想デスクトップ画面に追加して送信処理する機能を備え
ている、
という構成を採っている。
【0014】
上記目的を達成するため、本発明にかかる
仮想デスクトップシステムは、
サーバ装置とクライアント装置とが相互に接続されて構成される仮想デスクトップシステムであって、
前記サーバ装置として、前記請求項1記載のサーバ装置を装備し、
前記クライアント装置が、前記仮想デスクトップ画面に対するユーザの操作入力を前記サーバ装置に送信すると共に、これに対して前記サーバ装置から送られてくる出力結果としての前記仮想デスクトップ画面を前記ユーザに対して表示する入出力管理部を備え、
このクライアント装置が、更に、前記ユーザの操作入力に対する前記仮想デスクトップ動作部による前記出力結果を予測する出力予測部を備えると共に、
前記クライアント装置の前記入出力管理部が、このクライアント側の出力予測部による予測結果に基づいて操作入力を継続して受け入れる機能を備え
ている、
という構成を採っている。
【0015】
ここで、
上記クライアント装置は、仮想デスクトップ画面を生成して送信する仮想デスクトップ動作部を備えたサーバ装置と接続されて仮想デスクトップシステムを構成するクライアント装置であって、仮想デスクトップ画面に対するユーザの操作入力をサーバ装置に送信し、これに対してサーバ装置から送られてくる出力結果としての仮想デスクトップ画面をユーザに提示する入出力管理部と、ユーザの操作入力に対する仮想デスクトップ動作部による出力結果を予測する出力予測部とを備え、入出力管理部が、出力予測部による予測結果に基づいて操作入力を継続して受け入れる機能を備え
た構成としてもよい。
【0016】
上記目的を達成するため、本発明に係る入力
情報処理方法は、サーバ装置とクライアント装置とが相互に接続されて構成される仮想デスクトップシステムにあって、クライアント装置の入出力管理部が、仮想デスクトップ画面に対するユーザの操作入力をサーバ装置に送信し、サーバ装置の仮想デスクトップ動作部が、この操作入力に対する出力結果としての仮想デスクトップ画面を生成してクライアント装置に送信し、クライアント装置の出力予測部が、この操作入力に対する仮想デスクトップ動作部による出力結果を予測する。
前記サーバ装置の出力比較部が、前記仮想デスクトップ動作部による実処理結果と前記出力予測部による予測結果とを比較し、
前記実処理結果と前記予測結果との間で差異が検出された場合に稼働し、前記サーバ装置の前記仮想デスクトップ動作部がそのことを示すユーザ向け通知を、前記仮想デスクトップ画面に追加して前記クライアント装置に送信する、
という構成を採っている。
【0017】
上記目的を達成するため、本発明に係る入力
情報処理プログラムは、仮想デスクトップ画面を生成して送信する仮想デスクトップ動作部を備えたサーバ装置とクライアント装置とが相互に接続されて構成される仮想デスクトップシステムにあって、サーバ装置が備えるプロセッサに、この操作入力に対する出力結果としての仮想デスクトップ画面を生成してクライアント装置に送信する
送信処理機能、クライアント装置から受信した操作入力に対する出力結果を予測する
予測処理機能、仮想デスクトップ画面を生成する手順による実処理結果と出力結果を予測する手順による予測結果とを比較する
比較処理機能、および実処理結果と予測結果との間で差異が検出されれば、そのことを示すユーザ向け通知を仮想デスクトップ画面に追加してクライアント装置に送信する
追加送信処理機能、を実行させること、を特徴とする。
【0018】
ここで、上記入力情報処理プログラムについては、仮想デスクトップ画面を生成して送信する仮想デスクトップ動作部を備えたサーバ装置とクライアント装置とが相互に接続されて構成される仮想デスクトップシステムにあって、クライアント装置が備えるプロセッサに、仮想デスクトップ画面に対するユーザの操作入力をサーバ装置に送信する手順、この操作入力に対する仮想デスクトップ動作部による出力結果を予測する手順、および出力予測部による予測結果をユーザに提示して操作入力を継続して受け
入れる手順を実行させ
るようにしてもよい。
【発明の効果】
【0019】
本発明は、上記したように
サーバ装置の出力予測部が、クライアント装置から受信した操作入力に対する仮想デスクトップ動作部による出力結果を予測し、サーバ装置の出力比較部が、仮想デスクトップ動作部による実処理結果と出力予測部による予測結果とを比較し、当該実処理結果と予測結果との間に差異が検出されれば、サーバ装置の仮想デスクトップ動作部がそのことを示すユーザ向け通知を仮想デスクトップ画面に追加してクライアント装置に送信するという構成としたので、ユーザはこの予測結果に基づいて操作入力を継続することができる。これによって、サーバとクライアントの間に伝搬遅延のある環境においても、操作者が入力操作を止めずに連続して行うことが可能であるという、優れた特徴を持つ
サーバ装置、仮想デスクトップシステム、
入力情報処理方法および
そのプログラムを提供することができる。
【発明を実施するための形態】
【0021】
(基本形態)
以下、本発明の基本形態の構成について添付
図1に基づいて説明する。
最初に、基本形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
基本形態に係る仮想デスクトップシステム1は、サーバ装置2とクライアント装置3とが相互に接続されて構成される仮想デスクトップシステムである。
サーバ装置2は、仮想デスクトップ画面を生成してクライアント装置に送信する仮想デスクトップ動作部2aを備え、クライアント装置3が、仮想デスクトップ画面に対するユーザの操作入力をサーバ装置に送信し、これに対してサーバ装置から送られてくる出力結果としての仮想デスクトップ画面をユーザに対して表示する入出力管理部3aを備える。それと共に、クライアント装置3が、ユーザの操作入力に対する仮想デスクトップ動作部による出力結果を予測する出力予測部3bを備え、クライアント装置3の入出力管理部3aが、出力予測部による予測結果に基づいて操作入力を継続して受け入れる機能を備える構成としている。
【0022】
これによって、この仮想デスクトップシステム1は、伝搬遅延のある環境においても、予測結果に基づいて入力操作を止めずに連続して行うことが可能なものとなる。
これら各手段のより詳細な構成は、次の第1の実施形態として説明する。
【0023】
(実施形態)
続いて、本発明の第1の実施形態の構成について添付
図2に基づいて説明する。
最初に、本実施形態の基本的な内容について説明し、その後でより具体的な内容について説明する。
本実施形態に係る仮想デスクトップシステム10は、サーバ装置11とクライアント装置12とが相互に接続されて構成される仮想デスクトップシステムである。サーバ装置11が、仮想デスクトップ画面を生成してクライアント装置に送信する仮想デスクトップ動作部21を備え、クライアント装置12が、仮想デスクトップ画面に対するユーザの操作入力をサーバ装置に送信し、これに対してサーバ装置から送られてくる出力結果としての仮想デスクトップ画面をユーザに対して表示する入出力管理部31を備える。それと共に、クライアント装置12が、ユーザの操作入力に対する仮想デスクトップ動作部による出力結果を予測する出力予測部32を備え、クライアント装置12の入出力管理部31が、出力予測部による予測結果に基づいて操作入力を継続して受け入れる機能を備える。
【0024】
また、サーバ装置11が、ユーザの操作入力に対する仮想デスクトップ動作部21による出力結果を予測する出力予測部22と、仮想デスクトップ動作部21による実処理結果と出力予測部22による予測結果とを比較する出力比較部23とを備え、実処理結果と予測結果との間で差異が検出されれば、仮想デスクトップ動作部21がそのことを示すユーザ向け通知を仮想デスクトップ画面に追加して送信処理する機能を備える。
【0025】
さらに、実処理結果と予測結果との間で差異が検出されれば、サーバ装置11の仮想デスクトップ動作部21がその差異の発生以後の操作入力を破棄し、クライアント装置12の入出力管理部31がその破棄された操作入力がなされる直前の仮想デスクトップ画面をユーザに対して表示する機能を備える構成としてもよい。この場合、通知情報を受けたクライアント装置12の出力予測部32が破棄された操作入力がなされる直前の状態から操作入力が無いものとして出力結果を再度予測する。そして、実処理結果と予測結果との間で差異が検出された後で、サーバ装置11の出力比較部22が実処理結果と予測結果との間で再び差異を検出しない状態になったら、サーバ装置11の仮想デスクトップ動作部21が仮想デスクトップ画面からユーザ向け通知を取り除いて送信処理する機能を備える。
【0026】
また、実処理結果と予測結果との間で差異が検出されても、サーバ装置11の仮想デスクトップ動作部21がその差異の発生以後の操作入力を破棄せずに出力結果としての仮想デスクトップ画面を生成処理する機能を備える構成とすることもできる。
【0027】
これによって、この仮想デスクトップシステム1は、伝搬遅延のある環境においても、予測結果に基づいて入力操作を止めずに連続して行うことが可能なものとなり、さらに実処理結果と予測結果との間で差異が発生しても対応可能なものとなる。
以下、これをより詳細に説明する。
【0028】
図2は、本発明の実施形態に係る仮想デスクトップシステム10の構成を示す説明図である。仮想デスクトップシステム10は、共にコンピュータ装置であるサーバ装置11とクライアント装置12とが、ネットワーク13を介して相互に接続されて構成される。本発明の概念を平易に示すため、
図2にはサーバ装置11およびクライアント装置12は各々1台ずつ図示されているが、実際にはクライアント装置12は多数台存在し、またサーバ装置11も複数台のコンピュータ装置によって構成される。
【0029】
サーバ装置11は、一般的なコンピュータ装置としての構成を備えている。即ち、コンピュータプログラムを実行する主体であるプロセッサ11aと、プログラムやデータを記憶する記憶手段11bと、ネットワーク13を介して他装置とのデータ通信を行う通信手段11cとを備える。
【0030】
クライアント装置12も同様に、一般的なコンピュータ装置としての構成を備えている。即ち、コンピュータプログラムを実行する主体であるプロセッサ12aと、プログラムやデータを記憶する記憶手段12bと、ネットワーク13を介して他装置とのデータ通信を行う通信手段12cと、ユーザに処理結果を提示する出力手段12dと、ユーザの操作入力を受け付ける入力手段12eとを備える。
【0031】
図3は、
図2に示した仮想デスクトップシステム10の構成を、ソフトウェアを主体としてより観念的に示す説明図である。サーバ装置11のプロセッサ11aは、コンピュータプログラムの動作により、ユーザごとの仮想デスクトップ画面を生成して動作させる仮想デスクトップ動作部21と、ユーザの入力操作に対する仮想デスクトップ動作部21による出力内容の予測を行う出力予測部22、および仮想デスクトップ動作部21による実処理の結果と出力予測部22による予測結果とを比較する処理を行う出力比較部23として機能する。記憶手段11bには後述の設定情報24および出力予測情報25が記憶されている。
【0032】
クライアント装置12のプロセッサ12aも、コンピュータプログラムの動作により、入力手段12eからの操作入力を受け付けてサーバ装置11に送信し、それに応じてサーバ装置11から送られてくる操作結果画面を出力手段12dに提示する入出力管理部31と、ユーザの入力操作に対する出力内容の予測を行う出力予測部32として機能する。また、記憶手段12bにはユーザが行った操作を時刻ごとに記録するタイムライン情報33と後述の設定情報34および出力予測情報35が記憶されている。
【0033】
図4は、
図2〜3に示した仮想デスクトップシステム10で行われる入力操作について示すフローチャートである。この動作においては、サーバ装置11とクライアント装置12の各側の出力予測部22および32は、出力予測に必要な情報である出力予測情報25および35を相互に交換していて、常にユーザの行いうる操作に対して同一の出力内容の予測結果を出すことが前提となる。
【0034】
ここでいう出力予測情報25および35とは、たとえばユーザのデスクトップ画面、ユーザが頻繁に操作する個人データフォルダのファイル構成、ユーザが使用しているアプリケーションソフトの画面遷移などについての情報である。出力予測部22および32は、これらの情報を事前に相互に交換していることにより、ユーザの行いうる操作に対して同一の出力内容の予測結果を出すことが可能となる。
【0035】
たとえば、ユーザが特定のアプリケーションソフトを起動して使用している場合、そのアプリケーションソフトのメニューバーや操作ボタンなどの全てに対して「どこを操作するとどのように画面が遷移し、どのようなダイアログが表示される」などのような情報が、出力予測においては必須となる。しかしながら、起動されていないアプリケーションソフトについては、そのような情報は全く必要とはされない。
【0036】
従って、ユーザが特定のアプリケーションソフトを起動した時、双方の出力予測部22および32は、出力予測情報25および35からそのアプリケーションソフトの画面遷移に関連する共通の情報を読み込む。また、ユーザが特定のデータフォルダにアクセスしたら、そのフォルダとその近辺(1段上層、あるいは1段下層など)のディレクトリ情報を読み込む。
【0037】
また、タイムライン情報33に、サーバとクライアントの間の往復分の伝搬遅延を充分に超える時間の操作内容を記憶可能であることも前提となる。そして、出力予測と実際の出力が異なっている場合に後述の各動作モードのどちらで動作するかについての設定もサーバ装置11とクライアント装置12の双方で事前に行われ、その内容が設定情報24および34としてあらかじめ記憶されていることも前提となる。
【0038】
ここでいう「各動作モード」とは、サーバ装置11側で「実処理の結果と出力予測の結果とが異なる」ことが検出された場合に、その差異が検出された時点以後にクライアント装置12側でなされた操作入力をサーバ装置11が「破棄する」か「全て受け入れる」かである。
【0039】
まず、クライアント装置12を操作するユーザが、入力手段12eを介して何かの操作入力を行う(ステップS101)と、その操作入力に対して入出力管理部31は、その入力内容とこの操作が行われた日時についてタイムライン情報33に記憶し(ステップS102)、その入力内容と日時をサーバ装置11に送信する(ステップS103)。そして出力予測部32が、その入力に対してサーバ装置11から帰って来るであろう出力結果を予測して、その予測結果を出力手段12dに提示する(ステップS104)。
【0040】
サーバ装置11では、仮想デスクトップ動作部21がクライアント装置12から受信した入力内容に応じた処理(実処理)を行い(ステップS111)、これと並行して出力予測部22がこの入力内容に対して返されるであろう出力結果を予測する(出力予測、ステップS112)。そして実処理の結果と出力予測の結果とを出力比較部23が比較し、両者が一致するか否かを判断する(ステップS113)。一致すればそのまま動作を継続し、一致した処理結果を含む仮想デスクトップの画面内容を送信する(ステップS114)。この段階で後述のユーザ向け通知が出力画面に含まれていたら、これを含まない内容に戻す。
【0041】
実処理の結果と出力予測の結果とが異なる場合、出力比較部23はまず設定情報24を参照して動作モードを確認する(ステップS115)。「全て受け入れる」動作モードの場合、仮想デスクトップ動作部21による出力画面に、たとえば画面の一部の色を変えるなどのようなユーザ向け通知を含む内容を追加して(ステップS116)、ステップS114に進んでクライアント装置12にその旨を示す通知情報を含む仮想デスクトップの画面内容を送信する。個々でいうユーザ向け通知の内容については後述する。
【0042】
ステップS115で「破棄する」動作モードの場合、通知情報のあった対象操作の行われた時点まで、仮想デスクトップ動作部21による出力画面を戻して(ステップS117)、出力予測部22を一度リセットして「操作入力無し」の状態とする(ステップS118)。そしてその上で、ステップS116に進んで出力画面にユーザ向け通知を含む内容を追加し、ステップS114に進んでクライアント装置12にその旨を示す通知情報を含む仮想デスクトップの画面内容を送信する。
【0043】
以上の動作を、実処理と出力予測とが一致するまで継続することになる。一致すれば、仮想デスクトップ動作部21による出力画面は、ステップS116で追加された前述のユーザ向け通知を含まない内容に戻る。
【0044】
クライアント装置12では、ステップS114で送信された仮想デスクトップの画面内容を入出力管理部31が表示する(ステップS105)。その上で入出力管理部31は、設定情報34を参照して動作モードを確認する(ステップS106)。「全て受け入れる」動作モードの場合はそこで動作を終了し、次の入力操作を待ち受ける状態となる。
【0045】
ステップS106で「破棄する」動作モードの場合、入出力管理部31は通知情報の対象となった操作の行われた直後の時点まで、表示画面を戻す(ステップS107)。そして出力予測部32をリセットして「操作入力無し」の状態として(ステップS108)動作を終了し、次の入力操作を待ち受ける状態となる。即ち「破棄する」動作モードでは、サーバ装置11およびクライアント装置12の双方で、次の入力操作に対する出力予測は「入力無し」の状態に対して行われることとなる。
【0046】
サーバ装置11から送られる通知情報には、実処理の結果と出力予測の結果が異なる現象が始まったその操作がどの日時にクライアント装置12で行われた何の操作であるかを表す情報も含まれている。この通知情報を受けたクライアント装置12側では、前述のステップS107の動作で、タイムライン情報33を参照してその操作を特定し、その操作の直後の状態まで表示画面を戻すことができる。
【0047】
図5は、
図4のステップS116の動作で、仮想デスクトップ動作部21による出力画面に付加されるユーザ向け通知の例について示す説明図である。
図5(a)はユーザ向け通知を含まない通常の出力画面、
図5(b)はユーザ向け通知を含む出力画面の例について示す。
【0048】
図5(a)に示す通り、仮想デスクトップ動作部21によってクライアント装置12に対して出力される通常の出力画面150は、実処理の出力画面状態を示す実出力151に、出力予測の出力画面状態を示す予想出力152を重ねた状態の画面である。これに対して、実処理の結果と出力予測の結果とが異なる状態となった場合の
図5(b)に示す出力画面160は、実出力161と予想出力162とを重ねた状態の画面に、さらにたとえば画面の一部の色を変える、画面の一部に赤丸などのようなマークを出すなどでユーザにその差異があったことを通知するユーザ向け通知163を重ねたものとなる。
図5では、ユーザ向け通知163は「画面の一部にマークを出す」ことによって表現されている。
【0049】
図6は、
図2〜3に示した仮想デスクトップシステム10で、入力操作とそれに対する出力との関係について示す説明図である。この仮想デスクトップシステム10では、クライアント装置12で入力操作を行えば、ユーザに対しては出力予測部32がその入力操作に対する出力予測の結果をすぐに表示するので、ユーザはそれに基づいて続きの入力を行うことが可能である。
【0050】
この入力操作を繰り返せば、実際にサーバ装置11側で行われている実処理よりも何操作分も先行して、クライアント装置12側で入力操作が行われることになる。そのため、出力予測で利用される通常の画面遷移とは異なる内容の実処理が行われた場合(具体的にどのような処理が行われた場合であるかについては後述する)などで、実処理と出力予測との間で異なる結果が出ることがある。
【0051】
サーバ装置11の出力予測部22による処理は、このような状態を検出するものである。その状態が発生し、かつ実処理と異なる予想出力に基づいて実処理よりも先行して行われた入力操作があった場合を考える。
【0052】
前述の設定情報24および34の「全て受け入れる」動作モードでは、それらの入力操作自体はほとんどの場合、実処理とは異なっていても実行可能な正当な操作であり、それらの操作内容を受け入れても(たとえばディスクドライブの記憶容量が満杯であるなどのように、物理的にその動作が不可能である場合を除いて)動作に差し支えは特にないものと考え、そのような動作設定をあらかじめするものである。
【0053】
逆に「破棄する」動作モードでは、実処理とは異なる動作は一切許可されないので、たとえば経理入力などのように厳密かつ確実な入力操作が求められる用途に適している。
【0054】
(実施形態の全体的な動作)
次に、上記の実施形態の全体的な動作について説明する。
本実施形態に係る入力方法は、サーバ装置11とクライアント装置12とが相互に接続されて構成される仮想デスクトップシステム10にあって、クライアント装置の入出力管理部が、仮想デスクトップ画面に対するユーザの操作入力をサーバ装置に送信し(
図4・ステップS101〜103)、サーバ装置の仮想デスクトップ動作部が、この操作入力に対する出力結果としての仮想デスクトップ画面を生成してクライアント装置に送信し(
図4・ステップS111,114)、クライアント装置の出力予測部が、この操作入力に対する仮想デスクトップ動作部による出力結果を予測し、クライアント装置の入出力管理部が、出力予測部による予測結果をユーザに対して表示して(
図4・ステップS104)操作入力を継続して受け入れる。
【0055】
また、サーバ装置の出力予測部が、クライアント装置から受信した操作入力に対する仮想デスクトップ動作部による出力結果を予測し(
図4・ステップS112)、サーバ装置の出力比較部が、仮想デスクトップ動作部による実処理結果と出力予測部による予測結果とを比較し(
図4・ステップS113)、実処理結果と予測結果との間で差異が検出されれば、サーバ装置の仮想デスクトップ動作部がそのことを示すユーザ向け通知を仮想デスクトップ画面に追加して(
図4・ステップS116)クライアント装置に送信する(
図4・ステップS114)。
【0056】
ここで、上記各動作ステップについては、これをコンピュータで実行可能にプログラム化し、これらを前記各ステップを直接実行するプロセッサであるサーバ装置11のプロセッサ11a、およびクライアント装置12のプロセッサ12aに実行させるようにしてもよい。本プログラムは、非一時的な記録媒体、例えば、DVD、CD、フラッシュメモリ等に記録されてもよい。その場合、本プログラムは、記録媒体からコンピュータによって読み出され、実行される。
この動作により、本実施形態は以下のような効果を奏する。
【0057】
本実施形態によれば、クライアント装置からの入力操作に対するサーバ装置からの仮想デスクトップ画面が返ってこなくても、クライアント装置側で操作入力を続行することが可能となる。即ち、伝送遅延のある環境に合っても、仮想デスクトップシステムの操作性を向上させることが可能となる。ここで、実処理結果と予測結果との間に差異が生じても、実処理結果に特に問題を発生させることなく、処理を続行することが可能となる。
【0058】
ここでいうクライアント装置12の出力予測部32は、最も理想的にはサーバ装置の仮想デスクトップ動作部21の動作そのもの、即ち
図7(a)に示した単独のコンピュータ装置(スタンドアローン)の動作と同一の形態となる。ただそれだと、仮想デスクトップで動作させる意味自体がなくなってしまう。
【0059】
そこで、クライアント装置12の出力予測部32は、サーバ装置の仮想デスクトップ動作部21で動作している内容に応じて、その入出力に必要な要素のみを出力予測情報35から読み込み、これによって出力の予測を行うものである。仮想デスクトップで特定のアプリケーションソフトを使用している場合は、そのアプリケーションソフトの通常の動作による画面遷移についての情報があればよく、動作していないアプリケーションソフトについての情報は全く必要ない。
【0060】
その場合に実処理結果と予測結果との間で差異が発生しうるケースとしては、たとえばサーバ装置11がデータをディスクドライブなどの記憶媒体に書き込んでいる最中に(その記憶媒体の物理的な要因で)エラーが発生した場合、あるいはコンピュータウイルスやワームなどのような不正プログラムが(常駐しているアンチウイルスプログラムによって)発見された場合など、多くはクライアント装置12からの入力操作以外の要因によって発生するものである。
【0061】
従って、サーバ装置11とクライアント装置12の各側の出力予測部22および32が、同一の出力予測情報25および35に基づいて、常にユーザの行いうる操作に対して同一の出力内容の予測結果を出すことができるものでありさえすればよい。同一の出力予測情報から同一のルーチンによって出力予測が動作するものであれば、たとえばサーバ装置11がUNIX(登録商標)、クライアント装置12がウィンドウズやアンドロイド(いずれも登録商標)などのように、両者でオペレーティングシステム(基本ソフト)が異なっていてもよい。
【0062】
これまで本発明について図面に示した特定の実施形態をもって説明してきたが、本発明は図面に示した実施形態に限定されるものではなく、本発明の効果を奏する限り、これまで知られたいかなる構成であっても採用することができる。