JP2016018260A - クライアントサーバシステム、制御方法および制御プログラム - Google Patents
クライアントサーバシステム、制御方法および制御プログラム Download PDFInfo
- Publication number
- JP2016018260A JP2016018260A JP2014138829A JP2014138829A JP2016018260A JP 2016018260 A JP2016018260 A JP 2016018260A JP 2014138829 A JP2014138829 A JP 2014138829A JP 2014138829 A JP2014138829 A JP 2014138829A JP 2016018260 A JP2016018260 A JP 2016018260A
- Authority
- JP
- Japan
- Prior art keywords
- client terminal
- execution screen
- information
- predicted
- server device
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims description 113
- 238000004891 communication Methods 0.000 claims abstract description 88
- 238000012545 processing Methods 0.000 claims abstract description 78
- 238000013459 approach Methods 0.000 claims abstract description 22
- 230000008859 change Effects 0.000 claims abstract description 14
- 230000008569 process Effects 0.000 claims description 90
- 230000005540 biological transmission Effects 0.000 claims description 71
- 238000001514 detection method Methods 0.000 claims description 41
- 230000004044 response Effects 0.000 claims description 15
- 238000005259 measurement Methods 0.000 description 48
- 230000006870 function Effects 0.000 description 32
- 238000007726 management method Methods 0.000 description 13
- 238000010586 diagram Methods 0.000 description 10
- 230000015654 memory Effects 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 230000005674 electromagnetic induction Effects 0.000 description 6
- 230000010365 information processing Effects 0.000 description 4
- 238000012905 input function Methods 0.000 description 3
- 239000003990 capacitor Substances 0.000 description 2
- 230000007423 decrease Effects 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012384 transportation and delivery Methods 0.000 description 2
- 230000003936 working memory Effects 0.000 description 2
- 230000004913 activation Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000470 constituent Substances 0.000 description 1
- 238000013523 data management Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 230000001960 triggered effect Effects 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
【課題】予測される操作に基づいて生成された実行画面情報をクライアント側で受信するタイミングをネットワークの通信処理能力に応じて制御し、適正なタイミングで実行画面を表示するクライアントサーバシステムを提供する。【解決手段】指示物体の接近を検知する入力手段と、クライアント端末とサーバ装置との間の通信処理能力を測定するとともに、入力手段によって取得された指示物体の位置情報の変化に基づいて、予測接触位置と予測接触時刻とを計算し、操作予測情報を通信処理能力に基づいて送信する操作予測手段と、予測接触位置に対応する処理の実行結果を含む実行画面情報を生成する実行画面情報生成手段と、実行画面情報生成手段によって生成された実行画面情報に含まれる実行画面がクライアント端末に設けられたディスプレイに予測接触時刻後に表示されるように実行画面の表示を制御する表示手段とを備えるクライアントサーバシステムとする。【選択図】 図1
Description
本発明は、クライアント端末とサーバ装置とがネットワークを介して接続されたクライアントサーバシステム、制御方法および制御プログラムに関する。特に、クライアント端末とサーバ装置とがシンクライアントシステムを構成するクライアントサーバシステム、制御方法および制御プログラムに関する。
一般的なシンクライアントシステムは、本来はクライアント端末で動作するOSやアプリケーションソフトを、仮想的なクライアント端末としてサーバ装置にて動作させる(OS:Operating System)。そして、OSやアプリケーションソフトをサーバ装置で動作させ、ユーザのクライアント端末には、サーバ装置内で動作する仮想端末の実行画面を表示する。ユーザがクライアント端末の画面上の表示に対して操作を実施すると、クライアント端末は、ユーザの操作を操作情報としてサーバ装置に送信する。操作情報を受け取ったサーバ装置は、サーバ装置内で動作させている仮想的なクライアント端末に対して、操作情報に記載されている内容の操作を実施し、OSもしくはアプリケーションソフトの動作を変更する。このとき、サーバ装置は、仮想端末の画面表示を逐次的に取得し、実行画面情報としてクライアント端末に送信する。クライアント端末は、受け取った実行画面情報をクライアント端末の画面上に逐次表示する。
一般的なシンクライアントシステムにおいては、クライアント端末とサーバ装置とがネットワークを介して接続されている。そのため、クライアント端末とサーバ装置との間の通信におけるデータ転送において、伝達遅延と呼ばれる遅延時間が発生する。クライアント端末とサーバ装置との間の通信で使われる回線において、他の通信トラヒックが増大する(クロストラヒックという)と、クライアント端末とサーバ装置間で送受信できる通信スループットが減少する。クロストラヒックが増大すると、同じデータを送受信するのに余計な時間がかかり、伝達遅延が増大する。また、モバイル網に接続するクライアント端末の移動によって無線の品質が悪くなると、クロストラヒックの増大と同様に通信スループットが減少し、伝達遅延が大きくなる。
一般的なシンクライアントシステムにおいては、クライアント端末内でアプリケーションを実行する場合に比べると、クライアント端末とサーバ装置との間のネットワーク上において、操作情報や実行画面情報の送受信に伝達遅延が発生する。その結果、伝達遅延の分だけ、ユーザがクライアント端末を操作してから、ユーザの操作が反映された画面が表示されるまでの応答時間が長くなるという問題点がある。
特許文献1には、ローカル環境はネットワークブート型で構成され、リモート環境は画面転送型で構成されるシンクライアントシステムについて開示されている。特許文献1のシンクライアントシステムにおいては、ユーザデータを記憶するユーザデータ用ファイルサーバが、リモート環境とローカル環境の双方からアクセス可能に共有されるため、ユーザデータの一元化を図ることができる。その結果、ユーザデータ管理が容易となり、使用環境に応じてローカル環境とリモート環境との選択がしやすくなるため、使用環境によっては伝達遅延を減少することが可能となる。
特許文献2には、装置の電源が投入されてから通常操作画面が表示されるまでの間に簡易操作画面を表示することによって、装置が起動される前に、ジョブの設定操作を可能とするジョブ処理装置について開示されている。特許文献2のジョブ処理装置では、装置を起動した直後に、事前に用意された簡易画面を表示してユーザからの入力を受け付ける。そして、プログラムのロードや初期化が完了したら、簡易画面で入力された設定情報を引き継いだ通常画面を表示する。その結果、装置の起動から通常操作画面が表示されるまでの応答時間を短縮することができるとともに、簡易画面上でジョブの設定をできるようになる。そのため、ネットワークの伝達遅延を軽減することにつながる効果が得られる。
また、近年の情報端末には、例えばスマートフォンやタブレットPCのように、タッチパネルが備えられていることが多い(PC:Personal Computer)。タッチパネルには、静電容量方式や電磁誘導方式などの方式があり、それぞれ、静電容量や電磁エネルギーの変化を利用して、指やペンなどの指示物体の接近・接触を検出できる。このようなタッチパネルを備えた情報端末では、指示物体が接近してきた際に、指示物体のタッチパネルへの接触位置を予測することができる。そのため、指示物体がタッチパネルに接触する前に、指示物体の接近位置とコンテンツの表示位置とに基づいて、タッチパネルへの接触によって発生する操作を予測することが可能となる。
特許文献3には、クライアント端末の表示パネルへの電磁誘導方式のペンの接触位置を予測し、予測した接触位置に基づいた処理をサーバ側で事前に処理するサーバベースコンピューティングシステムについて開示されている。特許文献3のサーバベースコンピューティングシステムでは、まず、クライアント端末は、非接触の状態でペンの座標からタップ位置を予測し、予測したタップ位置に基づいてプログラムの選択項目を選出し、選出した選択項目をサーバ装置に送信する。そして、サーバ装置は、選出された選択項目に関するプログラムを実行し、実行画面を記憶しておく。サーバ装置は、クライアント端末からタップ位置情報を受信した段階で、実際のタップ位置情報と予測された位置情報とが一致していれば、記憶した実行画面をクライアント端末に送信する。
特許文献1のシンクライアントシステムによれば、リモート環境とローカル環境を切り替えることができるため、使用環境によっては、伝達遅延を減少することが可能となる。しかしながら、一般的なシンクライアントシステムにおいては、ローカル環境を使用できない場合が多いため、リモート環境要因の伝達遅延を解消できないという問題点があった。なぜならば、ローカル環境を使用できない場合には、リモート環境とローカル環境とを切り替えることができないためである。
特許文献2のジョブ処理装置によれば、装置を起動した直後の簡易画面の応答時間は、通常画面の応答時間よりも早くなる。しかしながら、装置の起動操作を実行してから簡易画面を表示するまでの応答時間は短縮されないという問題点があった。また、特許文献2のジョブ処理装置は、装置を起動した直後の画面にしか対応しないため、起動後の他の画面に対する操作の応答時間は短縮されない。さらには、簡易画面を事前準備しておく必要があり、汎用性が低いという問題点があった。
特許文献3のサーバベースコンピューティングシステムによれば、ペンがタップ操作をする前にタップ位置を予測し、予測されたタップ位置に対応するプログラムを実行して実行画面を準備しておくことによって、応答速度を向上することができる。しかしながら、遅延要因がネットワークに存在する場合、サーバ装置からクライアント端末への実行画面の転送時間に遅延が生じる可能性があるという問題点があった。なぜならば、サーバ装置からクライアント端末に実行画面を送信する際に、ネットワークの通信処理能力を考慮に入れていないためである。
本発明の目的は、予測される操作に基づいて生成された実行画面情報がクライアント側で受信されるタイミングをネットワークの通信処理能力に応じて制御し、適正なタイミングで実行画面を表示するクライアントサーバシステムを提供することである。
本発明のクライアントサーバシステムは、クライアント端末上の操作に対応する処理をサーバ装置で実行するシンクライアントシステムにおいて、クライアント端末に設けられた入力面に対する指示物体の接近および接触を検出することによって、入力面に対する指示物体の位置情報を検出時間に関連付けて取得する入力手段と、クライアント端末とサーバ装置との間の通信処理能力を測定するとともに、入力手段によって取得された指示物体の位置情報の変化に基づいて、指示物体が入力面に接触すると予測される位置である予測接触位置と、指示物体が入力面に接触すると予測される時刻である予測接触時刻とを計算し、クライアント端末の識別子と、予測接触位置および予測接触時間とを含む操作予測情報を通信処理能力に基づいて送信する操作予測手段と、操作予測情報を受信し、識別子が付されたクライアント端末の入力面における予測接触位置に対応して実行される処理をサーバ装置上の仮想環境において実行することによって、予測接触位置に対応する処理の実行結果となる画面情報を含む実行画面情報を生成する実行画面情報生成手段と、
実行画面情報生成手段によって生成された実行画面情報を受信し、受信した実行画面情報に含まれる画面情報に対応する実行画面がクライアント端末に設けられたディスプレイに予測接触時刻後に表示されるように制御する表示手段とを備える。
実行画面情報生成手段によって生成された実行画面情報を受信し、受信した実行画面情報に含まれる画面情報に対応する実行画面がクライアント端末に設けられたディスプレイに予測接触時刻後に表示されるように制御する表示手段とを備える。
本発明の制御方法は、クライアント端末上の操作に対応する処理をサーバ装置で実行するシンクライアントシステムにおいて、クライアント端末に設けられた入力面に対する指示物体の接近および接触を検出することによって、入力面に対する指示物体の位置情報を検出時間に関連付けて取得し、クライアント端末とサーバ装置との間の通信処理能力を測定するとともに、取得された指示物体の位置情報の変化に基づいて、指示物体が入力面に接触すると予測される位置である予測接触位置と、指示物体が入力面に接触すると予測される時刻である予測接触時刻とを計算し、クライアント端末の識別子と、予測接触位置および予測接触時間とを含む操作予測情報を通信処理能力に基づいて送信し、操作予測情報を受信し、識別子が付されたクライアント端末の入力面における予測接触位置に対応して実行される処理をサーバ装置上の仮想環境において実行することによって、予測接触位置に対応する処理の実行結果となる画面情報を含む実行画面情報を生成し、生成された実行画面情報に含まれる画面情報に対応する実行画面がクライアント端末に設けられたディスプレイに予測接触時刻後に表示されるように制御する。
本発明の制御プログラムは、クライアント端末上の操作に対応する処理をサーバ装置で実行するシンクライアントシステムにおいて、クライアント端末に設けられた入力面に対する指示物体の接近および接触を検出することによって、入力面に対する指示物体の位置情報を検出時間に関連付けて取得する処理と、クライアント端末とサーバ装置との間の通信処理能力を測定するとともに、取得された指示物体の位置情報の変化に基づいて、指示物体が入力面に接触すると予測される位置である予測接触位置と、指示物体が入力面に接触すると予測される時刻である予測接触時刻とを計算し、クライアント端末の識別子と、予測接触位置および予測接触時間とを含む操作予測情報を通信処理能力に基づいて送信する処理と、操作予測情報を受信し、識別子が付されたクライアント端末の入力面における予測接触位置に対応して実行される処理をサーバ装置上の仮想環境において実行することによって、予測接触位置に対応する処理の実行結果となる画面情報を含む実行画面情報を生成する処理と、生成された実行画面情報に含まれる画面情報に対応する実行画面がクライアント端末に設けられたディスプレイに予測接触時刻後に表示されるように制御する処理とをコンピュータに実行させる。
本発明によれば、予測される操作に基づいて生成された実行画面情報がクライアント側で受信されるタイミングをネットワークの通信処理能力に応じて制御し、適正なタイミングで実行画面を表示するクライアントサーバシステムを提供することが可能となる。
以下に、本発明を実施するための形態について図面を用いて説明する。ただし、以下に述べる実施形態には、本発明を実施するために技術的に好ましい限定がされているが、発明の範囲を以下に限定するものではない。
(第1の実施形態)
本発明の第1の実施形態に係るクライアントサーバシステム1について、図1を参照しながら説明する。なお、第1の実施形態に係るクライアントサーバシステム1は、本発明の実施形態に係るクライアントサーバシステムの概略的な構成を示すものであり、詳細な構成や動作に関しては、第2および第3の実施形態において説明する。
本発明の第1の実施形態に係るクライアントサーバシステム1について、図1を参照しながら説明する。なお、第1の実施形態に係るクライアントサーバシステム1は、本発明の実施形態に係るクライアントサーバシステムの概略的な構成を示すものであり、詳細な構成や動作に関しては、第2および第3の実施形態において説明する。
第1の実施形態に係るクライアントサーバシステム1は、シンクライアントシステムとして実現される。例えば、クライアントサーバシステム1は、画面転送方式のシンクライアントシステムとして実現できる。画面転送方式としては、サーバブレード方式、ブレードPC方式、VDI方式などを適用できる(PC:Personal Computer、VDI:Virtual Desktop Infrastructure)。なお、本実施形態に係るクライアントサーバシステム1は、ネットワークブート方式のシンクライアントシステムとして実現してもよい。
図1のように、第1の実施形態に係るクライアントサーバシステム1は、クライアント端末10とサーバ装置20とが、ネットワーク30を介して通信可能に接続された構成をもつ。なお、図1においては、クライアント端末10およびサーバ装置20を一つずつしか図示していないが、実際には、少なくとも一つのクライアント端末10と、少なくとも一つのサーバ装置20とがネットワーク30経由で互いに接続される構成とすることができる。また、図1には図示していないが、クライアント端末10およびサーバ装置20には、お互いにデータを送受信するための通信手段が設けられている。
(クライアント端末)
まずは、本実施形態に係るクライアント端末10の概略について説明する。
まずは、本実施形態に係るクライアント端末10の概略について説明する。
クライアント端末10は、ネットワーク30を介してサーバ装置20に接続された情報端末である。例えば、クライアント端末10は、スマートフォンやタブレットPCのように、タッチパネルを備えた情報端末として実現することができる。スマートフォンやタブレットPCによってクライアント端末10を実現する場合は、入力機能と表示機能とを兼ね備えたタッチパネルを適用することが好ましい。また、クライアント端末10は、入力機能としてのタッチパネルと、表示機能としてのディスプレイとを別々にもつ情報端末として実現してもよい。
例えば、クライアント端末10は、デスクトップPCやノートPC、携帯電話、PDAなどによって実現してもよい(PDA:Personal Data Assistance)。また、例えば、クライアント端末10は、ATMやキャッシュディスペンサー、公共端末などといった据置型の端末装置として実現してもよい(ATM:Automated Teller Machine)。また、例えば、クライアント端末10は、チケット・切符の発行や注文受付、物品管理、決済端末などに用いられるポータブルデータターミナルとして実現してもよい。なお、上述のクライアント端末10の例は一例であって、本発明の範囲を限定するものではない。
図1のように、クライアント端末10は、入力手段11と、操作予測手段12と、表示手段13とを備える。
入力手段11は、クライアント端末10に近接・接触した指示物体を検出する機能を有し、ユーザによる入力操作を受け付ける手段である。入力手段11は、入力操作時に接触する入力面を有しており、入力面に近接した指示物体と入力面との距離によって異なる出力値を出力する。そのため、入力手段11の出力値を解析することによって、指示物体と入力面との距離を測定することが可能となる。なお、指示物体と入力面との距離は、検出時刻と関連付けられた指示物体の所在位置として出力される。指示物体の所在位置の変化を検証すれば、指示物体の移動速度や指示物体の移動軌跡を把握することが可能となる。
入力手段11は、例えば、タッチパネルによって実現される。タッチパネルとしては、電磁誘導型や静電容量型、超音波型、電磁波型、赤外線型など、近接センサとしての機能を有するものが好適である。なお、入力手段11として用いられるタッチパネルは、上述のものに限定されず、近接した物体を検出し、検出した物体との距離を判別できる機能を有しさえすればよい。
入力手段11は、指示物体を検出すると、指示物体の接近・接触に関する検出状態と、指示物体の所在位置と、検出時刻とを含む実測情報を操作予測手段12に通知する。
操作予測手段12は、クライアント端末10とサーバ装置20との間で送受信されたデータを基に、ネットワーク30を介して送受信されるデータのスループットや実行画面情報のサイズ、往復遅延時間などの通信処理能力を測定する通信測定機能を有する。また、操作予測手段12は、検出された指示物体の所在位置や検出時刻、検出状態に基づいて、操作内容や操作種別を予測する入力予測機能を有する。なお、予測される接触位置、接触時刻および操作種別のそれぞれを、予測接触位置、予測接触時刻および予測操作種別と呼ぶ。また、予測接触位置、予測接触時刻および予測操作種別をまとめて、操作予測情報と呼ぶ。
操作予測手段12は、入力手段11によって検出された指示物体に関して、指示物体の所在位置の変化に基づいて移動速度を算出し、指示物体と入力面との接触が予測される予測接触時刻や予測接触位置を算出する。また、操作予測手段12は、指示物体の検出状態から操作種別を予測する。操作種別とは、例えば、タップ操作やフリック操作などといったユーザによる操作の種類を分類分けしたものである。そして、操作予測手段12によって導出された予測接触時刻、予測接触位置および予測操作種別を含む操作予測情報は、ネットワーク30の通信処理能力に応じて、サーバ装置20に送信される。
また、操作予測手段12は、測定したパラメータに基づいて、クライアント端末10−サーバ装置20間でデータを送受信するのに要する時間(データ送受信時間)と、サーバ装置20に操作予測情報を送信する時刻(操作予測情報送信時刻)とを算出する。そして、操作予測手段12は、予測接触時刻の直後に実行画面を表示できるように、操作予測情報を送信するタイミングを制御する機能を備える。
データ送受信時間は、クライアント端末10とサーバ装置20との間でやり取りされるデータサイズと、通信手段のスループットとを用いて推測される。クライアント端末10からサーバ装置20に操作予測情報が送達する時間(操作予測情報送達時間)は、操作予測情報のデータサイズと通信手段のスループットとから予測される。アプリケーションの処理時間は、予測接触位置に対応するアプリケーションの処理内容や予測操作種別に基づいて予測される。サーバ装置20からクライアント端末10へ実行画面情報を送達するのにかかる時間(伝達遅延)は、例えば、平均的な実行画面情報のサイズの伝搬時間から求められる。
表示手段13は、サーバ装置20から実行画面情報を受信し、操作予測手段12によって算出された予測操作時刻、もしくは指示物体の接触検知をトリガーとして取得されたアプリケーションの実行画面を表示する機能を備える。表示手段13は、クライアント端末10が備えるディスプレイなどとして実現される。なお、入力手段11をタッチパネルで構成する場合は、タッチパネル自体に実行画面が表示される。
以上が、本実施形態に係るクライアント端末10の概略についての説明である。
(サーバ装置)
次に、本実施形態に係るサーバ装置20の概略について説明する。
次に、本実施形態に係るサーバ装置20の概略について説明する。
サーバ装置20は、クライアント端末10によって指定されたアプリケーションを仮想環境上で実行し、クライアント端末10に表示するための実行画面に関する情報(画面情報)が含まれる実行画面情報を生成する装置である。サーバ装置20は、仮想環境を構築可能なサーバによって構成される。
サーバ装置20は、実行画面情報生成手段21を備え、クライアント端末10から送信されてきた操作予測情報に応じて、仮想環境22でアプリケーションを実行する。すなわち、サーバ装置20は、操作予測情報に基づいて、仮想環境22で先行してアプリケーションを実行する。予測操作位置がわかれば、指示物体が入力面に接触する位置を予測できるため、実行すべきアプリケーションの処理内容を予測することができる。
実行画面情報生成手段21は、クライアント端末10に表示される実行画面に関する情報を含む実行画面情報を生成する。なお、実行画面情報とは、仮想環境22で実行されたアプリケーションの実行結果を、クライアント端末10に表示される実行画面を含む形式に変換した情報である。
仮想環境22は、アプリケーションを実行するための仮想化された環境である。仮想環境22は、サーバ装置20上にソフトウェアによって仮想的に構築されたコンピュータ(仮想マシン)である。仮想環境22は、ハイパーバイザ型やコンテナ型などの仮想化によって実現される。ハイパーバイザ型の場合、ハイパーバイザによってサーバ装置20上に構築された仮想マシン上において、OSを含むアプリケーションが実行される。すなわち、ハイパーバイザ型では、仮想マシンによって提供されるCPUやメモリ、ストレージなどの資源を利用して仮想環境22が構築される(CPU:Central Processing Unit)。また、コンテナ型の場合、サーバ装置20上で動作するOSの一部の専用領域においてアプリケーションが実行される。すなわち、コンテナ型では、サーバ装置20の専用領域を利用して仮想環境22が構築される。
サーバ装置20は、クライアント端末10に指示物体が接触するタイミング後(予測接触時刻後)に実行画面が表示されるように、生成した実行画面情報をクライアント端末10に送信する。すなわち、サーバ装置20は、クライアント端末10が実行画面情報を予測接触時刻前に受信できるように、実行画面情報を送信する。
以上が、本実施形態に係るサーバ装置20の概略についての説明である。
(ネットワーク)
最後に、本実施形態に係るネットワーク30について説明する。
最後に、本実施形態に係るネットワーク30について説明する。
ネットワーク30は、クライアント端末10とサーバ装置20とを接続するデータ伝達経路となる。外部環境ネットワークを利用するのであれば、一般的なインターネットをネットワーク30として使用すればよい。また、特定の施設の内部環境ネットワークを使用するのであれば、施設内の内部環境に構築されたLANなどのイントラネットをネットワーク30として使用すればよい(LAN:Local Area Network)。なお、ネットワーク30は、本実施形態に係るクライアントサーバシステム1に含まれる構成であってもよいし、クライアントサーバシステム1には含まれない構成であってもよい。ネットワーク30の形態や、ネットワーク30内部におけるデータ伝送方式に関しては特に限定しない。
また、クライアント端末10およびサーバ装置20のそれぞれがネットワーク30と接続する形態に関しては、任意に設定できるものとする。例えば、クライアント端末10とネットワーク30とは、コネクタなどを介した有線接続としてもよいし、アクセスポイントや無線LANなどを用いた無線接続としてもよい。また、クライアント端末10やサーバ装置20がネットワーク30と接続するためのインターフェースには、任意のインターフェースを適用することができる。
以上が、本実施形態に係るネットワーク30についての説明である。
以上のように、本発明の第1の実施形態に係るクライアントサーバシステムにおいては、ユーザがクライアント端末を操作する前に、ユーザによる操作内容や操作種別を予測し、サーバ装置上のOSやアプリケーションを先行して実行する。その際に、予測される操作に基づいて生成された実行画面情報がクライアント側で受信されるタイミングをネットワークの通信処理能力に応じて制御する。そして、実際にユーザによる操作が行われた段階で実行画面が違和感なく表示されることになる。その結果、ユーザによる操作が実行されてから、実行画面情報を表示するまでの応答時間を実質的に短縮することが可能となる。
すなわち、予測される操作に基づいて生成された実行画面情報がクライアント側で受信されるタイミングをネットワークの通信処理能力に応じて制御し、適正なタイミングで実行画面を表示することが可能となる。
以上のような本実施形態に係るクライアントサーバシステムの制御方法は、クライアント端末から操作可能なすべてのアプリケーションに対して適応できるため、汎用性が高いものである。
以上が、第1の実施形態に係るクライアントサーバシステムについての説明である。クライアントサーバシステム1の内部構成・動作等の詳細については、第2および第3の実施形態を用いて詳細に説明する。
(第2の実施形態)
次に、本発明の第2の実施形態に係るシンクライアントシステム2について、図面を参照しながら詳細に説明する。なお、シンクライアントシステム2は、第1の実施形態に係るクライアントサーバシステム1を具体化するものである。
次に、本発明の第2の実施形態に係るシンクライアントシステム2について、図面を参照しながら詳細に説明する。なお、シンクライアントシステム2は、第1の実施形態に係るクライアントサーバシステム1を具体化するものである。
図2は、本発明の第2の実施形態に係るシンクライアントシステム2の構成を表すブロック図である。シンクライアントシステム2は、クライアント端末10とサーバ装置20とがネットワーク30を介して接続された構成をとる。シンクライアントシステム2は、少なくとも一つのクライアント端末10と、少なくとも一つのサーバ装置20とを備える。例えば、単一のサーバ装置20中に複数の仮想環境22を構築できるのであれば、一つのサーバ装置20に複数のクライアント端末10が接続されうる。また、単一のクライアント端末10の処理を複数のサーバ装置20に分散させて処理するのであれば、単一のクライアント端末10が複数のサーバ装置20に接続されうる。
(クライアント端末)
まず、図2を用いて、本実施形態に係るクライアント端末10の機能構成について説明する。
まず、図2を用いて、本実施形態に係るクライアント端末10の機能構成について説明する。
クライアント端末10は、入力手段11と、操作予測手段12と、表示手段13と、通信手段14とを備える。なお、入力手段11、操作予測手段12および表示手段13は、第1の実施形態の構成要素に対応するものである。
<入力手段>
入力手段11は、ユーザによる入力を受け付ける入力面への指やペンなどといった指示物体の接近や接触を検出する機能を備える。
入力手段11は、ユーザによる入力を受け付ける入力面への指やペンなどといった指示物体の接近や接触を検出する機能を備える。
入力手段11は、指示物体を検出した際には、指示物体が接近しているのか接触しているのかを示す情報と、物体の所在位置と、検出時刻とを含む実測情報を入力予測手段123に通知する。
<操作予測手段>
図2のように、操作予測手段12は、クライアント端末10とサーバ装置20との間の通信処理能力を測定するとともに、検出された指示物体に関する予測接触位置や予測接触時刻、予測操作種別といった操作予測情報を導出する。
図2のように、操作予測手段12は、クライアント端末10とサーバ装置20との間の通信処理能力を測定するとともに、検出された指示物体に関する予測接触位置や予測接触時刻、予測操作種別といった操作予測情報を導出する。
操作予測手段12は、通信測定手段121と、入力予測手段123と、操作予測情報送信手段125とを有する。
通信測定手段121は、通信手段14で送受信されたデータを基に、クライアント端末10とサーバ装置20との間の往復遅延時間やスループット、実行画面情報の平均サイズなどといった通信処理能力を測定する機能を有する。例えば、通信測定手段121は、計測用のデータをサーバ装置20に送信してから送信完了のACKを受信するまでの時間を測定することによって、通信処理能力を測定することができる(ACK:Acknowledgement)。往復遅延時間はRTTとも呼ばれ、クライアント端末10からサーバ装置20に送信した信号がクライアント端末10に戻ってくるまでの時間に相当する(RTT:Round Trip Time)。
計測用のデータサイズと、送信に要した時間である送信時間とを用いれば、式1によってネットワーク30のスループットを算出することができる。
(スループット)=(計測用のデータサイズ)÷(送信時間)・・・(1)
また、計測用のデータの変わりに、式2のように、操作予測情報そのものを用いてネットワーク30のスループットを算出してもよい。
(スループット)=(操作予測情報のデータサイズ)÷(送信時間)・・・(2)
さらに、実行画面情報の平均サイズをスループットで割ることにより、平均的なサイズの実行画面情報を送受信する際の伝達遅延を算出することができる(式3)。なお、伝達遅延は、サーバ装置20からクライアント端末10に実行画面情報を送信する際にかかる時間に相当する。
(伝達遅延)=(実行画面情報の平均サイズ)÷(スループット)・・・(3)
伝達遅延は、アプリケーションや処理内容ごとに異なるため、アプリケーションや処理内容ごとに求めておいてもよい。また、操作予測情報に基づいて実行される処理の結果生成されることが予測される実行画面情報のデータサイズを用いて、式4を用いて伝達遅延を求めてもよい。
(伝達遅延)=(予測される実行画面情報のサイズ)÷(スループット)・・・(4)
通信測定手段121は、測定した通信処理能力を入力予測手段123に送信する。
(スループット)=(計測用のデータサイズ)÷(送信時間)・・・(1)
また、計測用のデータの変わりに、式2のように、操作予測情報そのものを用いてネットワーク30のスループットを算出してもよい。
(スループット)=(操作予測情報のデータサイズ)÷(送信時間)・・・(2)
さらに、実行画面情報の平均サイズをスループットで割ることにより、平均的なサイズの実行画面情報を送受信する際の伝達遅延を算出することができる(式3)。なお、伝達遅延は、サーバ装置20からクライアント端末10に実行画面情報を送信する際にかかる時間に相当する。
(伝達遅延)=(実行画面情報の平均サイズ)÷(スループット)・・・(3)
伝達遅延は、アプリケーションや処理内容ごとに異なるため、アプリケーションや処理内容ごとに求めておいてもよい。また、操作予測情報に基づいて実行される処理の結果生成されることが予測される実行画面情報のデータサイズを用いて、式4を用いて伝達遅延を求めてもよい。
(伝達遅延)=(予測される実行画面情報のサイズ)÷(スループット)・・・(4)
通信測定手段121は、測定した通信処理能力を入力予測手段123に送信する。
入力予測手段123は、入力手段11から受信した実測情報に基づいて、指示物体が入力手段11に接触すると判断した場合、接触位置と、接触時刻と、接触したときに発生する操作種別とを予測する機能を備える。
操作予測情報送信手段125は、通信測定手段121が測定した通信処理能力を基に、データ送受信時間や操作予測情報送信時刻などを算出する。
また、操作予測情報送信手段125は、指示物体が入力手段11の入力面に接触するまでの移動時間が経過した直後に実行画面情報を受信できるように、操作予測情報を送信するタイミングを制御する機能を備える。クライアント端末10において予測接触時刻に実行画面を表示するためには、操作予測情報送達時間、アプリケーション処理時間および伝達遅延などをパラメータとして含むデータ送受信時間に基づいて、操作予測情報送信時刻を算出すればよい。なお、本システムは、通信処理能力を考慮した上で、サーバ20にて先行してアプリケーションを実行し、予測操作時刻の直後にクライアント端末10で実行画面が表示されることに特徴を有するが、必要に応じて、その他の遅延要因を考慮してもよい。
<表示手段>
表示手段13は、サーバ装置20から取得した実行画面情報を管理するとともに、クライアント端末10の入力面への指示物体の接触もしくは接触予測に応じて、実行画面情報に含まれる実行画面を表示する手段である。
表示手段13は、サーバ装置20から取得した実行画面情報を管理するとともに、クライアント端末10の入力面への指示物体の接触もしくは接触予測に応じて、実行画面情報に含まれる実行画面を表示する手段である。
図2のように、表示手段13は、実行画面情報管理手段131と、出力手段133とを有する。
実行画面情報管理手段131は、サーバ装置20から実行画面情報を受信し、受信した実行画面情報を出力手段133に送信する機能を備える。なお、実行画面情報管理手段131は、実行画面情報に含まれる実行画面に関する情報のみを出力手段133に送信してもよい。
出力手段133は、クライアント端末10が備えるディスプレイやタッチパネルなどの表示装置に、サーバ装置20が実行したアプリケーションの実行画面を表示する機能を備える。
<通信手段>
通信手段14は、ネットワーク30に接続されるインターフェースであり、操作予測情報送信手段125が送信した操作予測情報をサーバ装置20に送信する機能や、サーバ装置20から実行画面情報を受信する機能を備える。通信手段14は、一般的なデータ通信装置によって実現される。
通信手段14は、ネットワーク30に接続されるインターフェースであり、操作予測情報送信手段125が送信した操作予測情報をサーバ装置20に送信する機能や、サーバ装置20から実行画面情報を受信する機能を備える。通信手段14は、一般的なデータ通信装置によって実現される。
(サーバ装置)
次に、本実施形態に係るサーバ装置20の機能構成について説明する。
次に、本実施形態に係るサーバ装置20の機能構成について説明する。
図2のように、サーバ装置20は、実行画面情報生成手段21と、仮想環境22と、通信手段23とを備える。
実行画面情報生成手段21は、所定の時間間隔で仮想環境22の画面出力をキャプチャして、実行画面に関する情報(画面情報)と生成時刻とを含む実行画面情報を作成し、作成した実行画面情報を通信手段23に送信する機能を備える。なお、前回に送信した実行画面情報との差分が画面の一部である場合は、差分のみを実行画面情報として送信してもよい。実行画面情報生成手段21は、クライアント端末10から受信した操作予測情報や実測情報に応じて、仮想環境22上で対応するアプリケーションを実行する機能を備える。実行画面情報生成手段21は、クライアント端末10ごとに仮想環境22を起動する。
仮想環境22は、アプリケーションを実行するための仮想化された環境である。仮想環境22は、クライアント端末10ごとにサーバ装置20内部に起動される。
通信手段23は、ネットワーク30に接続されるインターフェースであり、クライアント端末10から操作予測情報や実測情報を受信する機能や、実行画面情報生成手段21が生成した実行画面情報をクライアント端末10に送信する機能を備える。通信手段21は、一般的なデータ通信装置によって実現される。
以上が、第2の実施形態に係るシンクライアントシステム2の構成についての説明である。
(動作)
次に、本発明の第2の実施形態に係るシンクライアントシステム2の動作について説明する。
次に、本発明の第2の実施形態に係るシンクライアントシステム2の動作について説明する。
図3は、本発明の第2の実施形態に係るシンクライアントシステム2に関する動作の処理フローの概略を示す。図3の処理フローは、接続処理(ステップS10)、実測処理(ステップS20)、操作予測処理(ステップS30)、実行画面情報生成処理(ステップS40)、実行画面表示処理(ステップS50)といった工程を含む。なお、図3に示す処理フローの各工程は便宜上分けたものであり、各工程に含まれる個別の処理は、別の工程に含まれてもかまわない。
接続処理(ステップS10)は、クライアント端末10とサーバ装置20とを接続し、サーバ装置20で実行されたアプリケーションの実行画面情報をクライアント端末10に送信し、実行画面をクライアント端末10に表示する処理である。
実測処理(ステップS20)は、クライアント端末10とサーバ装置20との間の通信処理能力や、指示物体と入力面との距離を実際に測定する処理である。
操作予測処理(ステップS30)は、クライアント端末10に接近する指示物体の動きからユーザの操作を予測する処理である。操作予測処理においては、クライアント端末10とサーバ装置20との間のデータ授受に関する時間やアプリケーションの操作時間を予測し、予測された時刻に基づいた各データのやり取りを制御する処理も行う。
実行画面情報生成処理(ステップS40)は、操作予測情報に基づいて、サーバ装置20が仮想環境22で先行してアプリケーションを実行し、実行画面情報を事前に生成する処理である。
実行画面表示処理(ステップS50)は、入力手段11への実際の指示物体の接触を検出した際に、適切な実行画面を出力手段133に表示させるための処理である。
以上が、本発明の第2の実施形態に係るシンクライアントシステム2の動作の処理フローの概略についての説明である。
続いて、図3に示す各処理工程の詳細について、図4、図5、図7〜図9を用いて説明する。
<接続処理>
まず、図4のシーケンス図を用いて、図3のステップS10の接続処理について説明する。
まず、図4のシーケンス図を用いて、図3のステップS10の接続処理について説明する。
図4において、まず、クライアント端末10からサーバ装置20に接続する(ステップS11)。
サーバ装置20は、それぞれのクライアント端末10ごとに専用の仮想環境22を起動しておく(ステップS12)。仮想環境22上には、各クライアント端末10の仮想端末が起動され、起動された仮想端末においてアプリケーションが実行される。
サーバ装置20の実行画面情報生成手段21は、仮想環境22上でアプリケーションを実行し、クライアント端末10の識別子と、仮想端末の実行画面と、生成時刻とを含む実行画面情報を逐次生成する(ステップS13)。
サーバ装置20の通信手段23は、生成された実行画面情報を、実行画面情報に含まれる識別子が付されたクライアント端末10に送信する(ステップS14)。
そして、クライアント端末10の通信手段14は、実行画面情報を受信すると、受信した実行画面情報を実行画面情報管理手段131に送信する。実行画面情報管理手段131は、実行画面を表示するタイミング(操作予測時刻の後)に合わせて、実行画面情報に含まれる実行画面を出力手段133に送信する。なお、実行画面を表示するタイミングは操作予測時刻の後であればよく、ユーザにとって違和感がないタイミングであることが好ましい。
出力手段133は、受信した実行画面を表示する(ステップS15)。
以上が、接続処理に関する説明である。
<実測処理>
次に、図5のフローチャートを用いて、図3のステップS20の実測処理について説明する。
次に、図5のフローチャートを用いて、図3のステップS20の実測処理について説明する。
図5において、まず、通信測定手段121は、クライアント端末10とサーバ装置20との間で送受信されるデータを観測し、クライアント端末10とサーバ装置20との間の往復遅延時間および通信スループットの測定を実行する(ステップS21)。
ここで、入力手段11は、入力面に対して指示物体が一定の距離まで近づくと、指示物体を検出し始めることになる(ステップS22)。
入力手段11が指示物体を検出した場合(ステップS22でYes)、入力手段11は、指示物体の所在位置と検出時刻と検出状態とを含む実測情報を測定する(ステップS23)。
一方、入力手段11が指示物体を検出していない場合(ステップS22でNo)、ステップS22に戻る。なお、入力手段11が指示物体を検出していない場合(ステップS22でNo)、ステップS21に戻ってもよい。
ここで、図6を参照しながら、指示物体の所在位置、検出時刻および検出状態について説明する。
まずは、入力面上において、互いに直交するX軸とY軸を含む面をXY面と定義し、XY面に直交する軸をZ軸と定義する。そして、当該XY面を基準にした三次元直交座標系のX座標とY座標とZ座標とを利用して、指示物体の所在位置が特定される。なお、複数の検出点が検出された場合、入力面に対して最も近い検出点を指示物体の所在位置として特定すればよい。また、異なる指示物体を同時に検出するためには、指示物体ごとの電気的特性や磁気的特性、光学的特性などといった物理的特性、指示物体ごとの移動に関する傾向などを利用すればよい。
図6の例において、指示物体は、時刻T1に(X1、Y1、Z1)の所在位置にあり、時刻T2に(X2、Y2、Z2)の所在位置にあることを示す。時刻T1よりも時刻T2における指示物体と入力面との距離が近づいていれば、指示物体が入力面に接近していることが分かる。反対に、時刻T1よりも時刻T2における指示物体と入力面との距離が遠ざかっていれば、指示物体が入力面から離れていくことが分かる。また、時刻T1においては指示物体が検出されていたのに、時刻T2においては指示物体が検出されなくなった場合は、指示物体が検知範囲から離脱したものと判別される。
検出時刻は、指示物体が検出された時刻を示す。図6の例では、T1とT2とが検出時刻に相当する。なお、検出時刻は、実測情報を検出した時刻としてもよい。
検出状態は、「接近検知領域入り」、「接近検知領域内移動」、「接近検知領域離脱」、「接触中」の4種類があればよい。「接近検知領域入り」は、指示物体が入力手段11の検知範囲内に入ってきたこと、すなわち、指示物体が接近してきたことを表す識別子である。「接近検知領域内移動」は、指示物体が入力手段11に接近している状態を維持しながら移動していることを表す識別子である。「接近検知領域離脱」は、指示物体が入力手段11の検知範囲から外れた、もしくは、指示物体が接触したことを表す識別子である。「接触中」は、指示物体が入力手段11に接触していることを表す識別子である。検出状態は、指示物体の所在位置および検出時刻を基に算出される指示物体の移動速度、後述する入射面に対する進入角度などを基に判定することができる。
次に、図5ステップS23において実測情報が取得されると、入力予測手段123は、操作予測情報に含まれる予測接触時刻が算出されているか否かを検証する(ステップS24)。
予測接触時刻が算出されている場合(ステップS24でYes)、入力予測手段123は、直前に生成した予測接触時刻と、実測情報の検出時刻とを比較する(ステップS25)。一方、予測接触時刻が算出されていない場合(ステップS24でNo)、図5のフローは終了とし、次の操作予測処理に移行する。
このとき、検出時刻が予測接触時刻以降ならば(ステップS25でYes)、サーバ装置20に実測情報を送信する(ステップS26)。そして、ステップS26の後は、操作予測処理に移行する。一方、検出時刻が予測接触時刻よりも前ならば(ステップS25でNo)、図5のフローは終了とし、次の操作予測処理に移行する。
以上が、実測処理についての説明である。
<操作予測処理>
次に、図7のフローチャートを用いて、図3のステップS30の操作予測処理について説明する。なお、操作予測処理は、実測処理を受けて開始される処理である。ここでは、実測処理と操作予測処理とを分けて説明しているが、実測処理と操作予測処理とを一工程として実行してもよい。
次に、図7のフローチャートを用いて、図3のステップS30の操作予測処理について説明する。なお、操作予測処理は、実測処理を受けて開始される処理である。ここでは、実測処理と操作予測処理とを分けて説明しているが、実測処理と操作予測処理とを一工程として実行してもよい。
図7において、入力予測手段123は、実測処理の結果を受け、指示物体が入力手段11に接触する位置(予測接触位置)、接触する時刻(予測接触時刻)、操作種別(予測操作種別)の予測の可否を判別する(ステップS31)。なお、予測接触位置、予測接触時刻および予測操作種別をまとめて操作予測情報と呼ぶ。
操作予測情報が判別可能である場合(ステップS31でYes)、入力予測手段123は、複数の「接近検知領域内移動」を示す実測情報に含まれる所在位置の移動距離と検出時刻の差を基に、操作予測情報を計算する(ステップS32)。そして、入力予測手段123は、算出した予測接触時刻、予測接触位置および予測操作種別を含む操作予測情報を、操作予測情報送信手段125に渡す。
一方、操作予測情報が判別可能ではない場合(ステップS31でNo)、図5のステップS23に戻って実測情報の取得を繰り返す。
図6の例では、時刻T1および時刻T2における指示物体の位置座標の変化から、指示物体の移動速度・移動方向を求め、Z軸方向の座標が0となる時刻Tpにおける指示物体の座標を予測する。実際には、複数の所在位置を時系列順に結んだ際に描かれる軌跡の延長線がタッチパネルのXY面との交点を算出し、交点の位置が予測操作位置と判断される。例えば、複数の所在位置を時系列順に結んだ際に描かれる軌跡は、放物線や双曲線、楕円、円、指数関数曲線、対数曲線などを表す式にフィッティングすればよい。なお、所在位置情報が三つ以上得られており、複数の所在位置情報間を結んだベクトルがXY面となす角度が一定とはならない場合も想定される。その場合、複数の所在位置情報間でフィッティングされた曲線とXY面との交点において、曲線の接線とXY面とが成す角度を基に予測操作位置を判断すればよい。また、複数の所在位置情報がある場合、最新の2点を結ぶベクトルとXY面との交点について予測接触位置を計算してもよい。
操作種別は、所在位置情報を結んだベクトルと入力面(XY面)とが成す角度を基に判別することができる。
図6において、時刻T1の所在位置から時刻T2の所在位置に向けて引いた半直線が、XY面となす角θを基に、タップ操作とフリック操作とを判別する例について説明する。フリック操作の場合は、XY面に対して水平方向に指示物体が移動するために角θが小さくなる。そのため、角θが小さくなる場合は、フリック操作と判断される。それに対し、タップ操作の場合は、XY面に向かう方向に指示物体が移動するために角θが大きくなる。そのため、角θが十分に大きい場合は、タップ操作と判断される。なお、タップ操作とフリック操作とを区別するための判断基準となる角は、事前に設定されていてもよいし、ユーザの操作履歴によって学習されたものであってもよい。
また、所在位置情報間の移動距離および移動時間を基に指示物体の移動速度を計測し、計測した移動速度を用いて操作種別を判断してもよい。例えば、指示物体の移動速度が速い場合は前述の角度による操作種別の判断を優先し、指示物体の移動速度が遅い場合はユーザがタップ位置を迷っていると判断してタップ操作と判断することができる。また、例えば、指示物体の移動速度が遅い場合は、所定の期間内における指示物体の検出位置を結ぶことで閉曲線もしくは曲面を計算し、計算された閉曲線もしくは曲面の直下の入力面上の領域がタップされると予測すればよい。ただし、指示物体の移動速度の大小の判断は任意に設定できるものとする。
なお、予測した操作種別が二種類以上ある場合は、ユーザの操作履歴や既知の予測方法などを用いて最も可能性が高い操作種別を選択すればよい。また、操作種別は、タップ操作およびフリック操作のみならず、ドラッグやスワイプ、ダブルタップ、ダブルスライド、ピンチイン、ピンチアウトなどを含んでいてもよい。
例えば、ダブルタップされうる位置がタップされた場合、ダブルタップされることを事前に予測することができる。このとき、タップが検知された後に、その接触位置と同じ操作内容となる予測接触位置が予測された場合、ダブルタップされる可能性が高いと判断できる。また、例えば、2つの異なる指示物体が検出された場合、ダブルスライドやピンチイン、ピンチアウトなどの操作が予測される。このとき、ピンチインとピンチアウトの区別は、2つの指示物体間の距離によって推定することができる。すなわち、指示物体間の距離が小さい場合はピンチアウト、指示物体間の距離が大きい場合はピンチインと判断できる。
また、操作種別は、操作段階で画面に表示されている実行画面によって予測することも可能となる。例えば、文字情報を入力する実行画面が表示されている場合は、タップ操作よりもフリック操作が行われる可能性が高いと判断できる。また、例えば、地図情報が表示されている場合は、ドラッグやピンチイン、ピンチアウトなどが行われる可能性が高いと判断できる。なお、これらの操作種別は一例であって、本発明の範囲をこれらの一例に限定するわけではない。
図7に戻ると、操作予測情報送信手段125は、データ送受信時間を算出する(ステップS33)。
なお、データ送受信時間は、クライアント端末10からサーバ装置20に操作予測情報が送達し、サーバ装置20からクライアント端末10に実行画面情報が送達するのに要する時間である。例えば、データ送受信時間は、式5で求められる。
(データ送受信時間)=(往復遅延時間)/2+(伝達遅延)・・・(5)
式5において、クライアント端末10からサーバ装置20に操作予測情報が送達する時間は、「(往復遅延時間)/2」に反映されている。また、サーバ装置20からクライアント端末10に実行画面情報が送達する時間は伝達遅延に反映されている。ただし、式5には、サーバ装置20におけるアプリケーション処理時間が含まれていないため、実際にはアプリケーションの処理時間を考慮した式6によってデータ送受信時間を算出することが好ましい。
なお、データ送受信時間は、クライアント端末10からサーバ装置20に操作予測情報が送達し、サーバ装置20からクライアント端末10に実行画面情報が送達するのに要する時間である。例えば、データ送受信時間は、式5で求められる。
(データ送受信時間)=(往復遅延時間)/2+(伝達遅延)・・・(5)
式5において、クライアント端末10からサーバ装置20に操作予測情報が送達する時間は、「(往復遅延時間)/2」に反映されている。また、サーバ装置20からクライアント端末10に実行画面情報が送達する時間は伝達遅延に反映されている。ただし、式5には、サーバ装置20におけるアプリケーション処理時間が含まれていないため、実際にはアプリケーションの処理時間を考慮した式6によってデータ送受信時間を算出することが好ましい。
また、データ送受信時間については、式6のように算出してもよい。
(データ送受信時間)=(往復遅延時間)/2+(アプリケーション処理時間)+(伝達遅延)・・・(6)
なお、データ送受信時間は、式5および式6の計算方法に限らず、予測操作時刻直後にクライアント端末10で実行画面を表示することが可能であれば、その他の遅延要因を加えたり、式5および式6中のパラメータを調整・削除したりしてもよい。
(データ送受信時間)=(往復遅延時間)/2+(アプリケーション処理時間)+(伝達遅延)・・・(6)
なお、データ送受信時間は、式5および式6の計算方法に限らず、予測操作時刻直後にクライアント端末10で実行画面を表示することが可能であれば、その他の遅延要因を加えたり、式5および式6中のパラメータを調整・削除したりしてもよい。
次に、操作予測情報送信手段125は、操作予測情報をサーバ装置20に送信するタイミングとなる操作予測情報送信時刻を、式7を用いて算出する(ステップS34)。なお、接触予測時刻は、指示物体の所在位置と、指示物体の移動速度・移動方向とを基に、Z軸方向の座標が0となる時刻として算出される。
(操作予測情報送信時刻)=(接触予測時刻)−(データ送受信時間)・・・(7)
そして、操作予測情報送信手段125は、接触予測時刻となった直後に実行画面をクライアント端末10で表示できるように、操作予測情報をサーバ装置20に送信するタイミングを制御する(ステップS35)。すなわち、操作予測情報送信手段125は、接触予測時刻に操作予測情報をサーバ装置20に送信するように制御する。
(操作予測情報送信時刻)=(接触予測時刻)−(データ送受信時間)・・・(7)
そして、操作予測情報送信手段125は、接触予測時刻となった直後に実行画面をクライアント端末10で表示できるように、操作予測情報をサーバ装置20に送信するタイミングを制御する(ステップS35)。すなわち、操作予測情報送信手段125は、接触予測時刻に操作予測情報をサーバ装置20に送信するように制御する。
このように、操作予測情報および実行画面情報の送受信にかかる時間を算出することによって、操作予測情報を送信する時刻である操作予測情報送信時刻を決定することができる。なお、操作予測情報送信手段125は、操作予測情報の送信を待機している状態で別の操作予測情報を入力手段11から受け取ると、以前の操作予測情報の送信をキャンセルし、新しい操作予測情報を操作予測情報送信時刻に送信する。
操作予測情報送信時刻になると、操作予測情報送信手段125は、クライアント端末10の識別子、予測接触位置(X座標とY座標)、予測操作種別を含む一つ以上の操作予測情報を生成し、生成した操作予測情報をサーバ装置20に送信する(ステップS36)。なお、クライアント端末10の識別子は、例えば、クライアント端末10のIPアドレスなどで指定する(IP:Internet Protocol)。操作予測情報は、操作予測情報送信時刻以前に生成させておいてもよい。
以上が、操作予測処理についての説明である。
<実行画面情報生成処理>
次に、図8のシーケンス図を用いて、図3のステップS40の実行画面情報生成処理について説明する。
次に、図8のシーケンス図を用いて、図3のステップS40の実行画面情報生成処理について説明する。
図8において、まず、クライアント端末10からサーバ装置20へ操作予測情報または実測情報を送信する(ステップS41)。
サーバ装置20が操作予測情報または実測情報を通信手段23によって受信すると、実行画面情報生成手段21は、受信した操作予測情報または実測情報を参照して仮想環境22上で実行画面情報を再現し、対象アプリケーションを実行する(ステップS42)。
そして、実行画面情報生成手段21は、対象アプリケーションを実行した結果として得られる実行画面情報を生成する(ステップS43)。
実行画面情報生成手段21によって生成された実行画面情報は、通信手段23によってクライアント端末10に送信される(ステップS44)。
クライアント端末10の通信手段14が実行画面情報を受信すると、通信手段14は受信した実行画面情報を実行画面情報管理手段131に送信し、実行画面情報管理手段131は実行画面を出力手段133に出力する準備をする(ステップS45)。
以上が、実行画面情報生成処理についての説明である。
<実行画面表示処理>
次に、図9のフローチャートを用いて、図3のステップS50の実行画面表示処理について説明する。
次に、図9のフローチャートを用いて、図3のステップS50の実行画面表示処理について説明する。
図9において、まず、指示物体が操作パネルに接触したか否かを判定する(ステップS51)。
指示物体が操作パネルに接触した場合(ステップS51でYes)、入力予測手段123は、指示物体の接触位置が予測接触位置と一致するか否かを検証する(ステップS52)。一方、指示物体が操作パネルに接触していない場合は(ステップS51でYes)、ステップS51を繰りかえす。
指示物体の接触位置が予測接触位置と一致する場合(ステップS52でYes)、操作予測手段12は、実行画面情報管理手段131に対して、指示物体の接触位置が予測接触位置と一致することを通知する。実行画面情報管理手段131は準備していた画面情報を出力手段133に送信し、出力手段133は受信した画面情報に含まれる実行画面を表示する(ステップS53)。
一方、指示物体の接触位置が予測接触位置と一致しない場合(ステップS52でNo)、クライアント端末10は、実測した接触位置をサーバ装置20に送信し、対応する実行画面情報を取得する(ステップS54)。なお、図9では省略するが、ステップS54の処理において、サーバ装置20は、図8におけるステップS42〜ステップS44の処理を実行する。
そして、クライアント端末10の出力手段133は、実行画面情報管理手段131から画面情報を取得し、実行画面を表示する(ステップS55)。
以上が、実行画面表示処理についての説明である。
以上のように、本実施形態に係るシンクライアントシステムでは、クライアント端末の入力手段への操作内容を予測し、指示物体が入力手段に接触すると予測される時刻に合わせて操作予測情報を生成してサーバ装置に送信する。サーバ装置は、該当するアプリケーションを先回りして仮想環境で実行し、実行結果となる実行画面情報をクライアント端末に送信する。その結果、クライアント端末は、入力操作を行う指示物体が入力面に接触すると、すぐに実行画面を表示することができる。そのため、本実施形態に係るシンクライアントシステムによれば、画面表示の応答時間を短縮することができる。
本実施形態によれば、入力面に指示物体が接触する予測接触時刻と、クライアント端末−サーバ装置間の通信時間を基に、操作予測情報を送信するタイミングや、実行画面情報を生成するタイミング、実行画面情報を送信するタイミングを制御することができる。その結果、ユーザが入力操作する前に実行画面が更新されることを抑制し、操作に対する画面更新の違和感をなくすことができる。
(第3の実施形態)
次に、本発明の第3の実施形態に係るシンクライアントシステム3について説明する。
次に、本発明の第3の実施形態に係るシンクライアントシステム3について説明する。
(構成)
図10は、第3の実施形態に係るクライアントシステム3の機能構成を示すブロック図である。第3の実施形態に係るシンクライアントシステム3は、第2の実施形態に係るシンクライアントシステム2とは異なり、サーバ装置200側で実測処理および操作予測処理を行う。なお、図10において、第2の実施形態に係るシンクライアントシステム2と同様の構成には、同じ符号を用いたものもある。
図10は、第3の実施形態に係るクライアントシステム3の機能構成を示すブロック図である。第3の実施形態に係るシンクライアントシステム3は、第2の実施形態に係るシンクライアントシステム2とは異なり、サーバ装置200側で実測処理および操作予測処理を行う。なお、図10において、第2の実施形態に係るシンクライアントシステム2と同様の構成には、同じ符号を用いたものもある。
第3の実施形態に係るクライアントシステム3は、クライアント端末100とサーバ装置200とがネットワーク300を介して接続された構成をもつ。
クライアント端末100は、入力手段11、操作予測手段12、実行画面情報管理手段131および出力手段133を含む表示手段13、通信手段14を有する。第2の実施形態と異なる点は、操作予測手段12が、実測処理および操作予測処理を行わない点である。操作予測手段12は、入力手段11に入力された操作情報を、必要に応じて入力信号に変換するなどし、通信手段14に中継する。なお、操作予測手段12は、第2の実施形態の操作予測手段12と同様の実測処理機能および操作予測処理機能を有しながら、通常時は該機能を発揮しないように制御する構成としてもよい。
サーバ装置200は、実行画面情報生成手段210、仮想環境22、通信手段23を有する。実行画面情報生成手段210は、通信測定手段211、操作予測情報測定手段213および実行画面情報処理手段215を有する。第2の実施形態に係るシンクライアントシステム2と異なる点は、実行画面情報生成手段210が、通信測定手段211および操作予測情報測定手段213を有する点である。実行画面情報処理手段215は、通信測定手段211および操作予測情報測定手段213の測定結果に基づいて実行画面情報を生成する。
(動作)
第3の実施形態に係るシンクライアントシステム3は、第2の実施形態と同様に、図3に沿って処理を行う。
第3の実施形態に係るシンクライアントシステム3は、第2の実施形態と同様に、図3に沿って処理を行う。
まず、クライアント端末100とサーバ装置200との接続処理は、図4に示す第2の実施形態と同様に行う。
そして、第2の実施形態とは異なり、サーバ装置200側で実測処理(図5)および操作予測処理(図7)を実行する。なお、図5および図7の処理とは、動作主体が異なる以外は同様の処理を実行することになるため、詳細な説明は省略する。
第3の実施形態において、クライアント端末100の入力手段11によって取得された指示物体に関する実測情報は、逐次サーバ装置20に送信されるものとする。ただし、クライアント端末100側で操作予測情報の算出まで行ってしまい、サーバ装置200は、クライアント端末200において算出された操作予測情報を用いるように構成してもよい。
続いて、図8に示すように、実行画面情報処理手段215は、操作予測情報に基づいて、仮想環境22でアプリケーションを実行し、実行画面情報を生成する。第2の実施形態と異なる点は、操作予測情報をサーバ装置200側で生成するために、図8のステップS41が不要な点である。
さらに、指示物体が接触することをトリガーとする実行画面表示処理は、図9に示す第2の実施形態と同様である。なお、図8のステップS43で生成した実行画面情報を、クライアント端末100に送信せずに、サーバ装置200側で保存しておいてもよい。その場合、図9のステップS51およびステップS52の動作主体をサーバ装置200とし、指示物体と入力面との接触判定をサーバ装置200側で行えばよい。このとき、図9のステップS53に関しては、指示物体の接触位置に応じて、接触位置に対応する実行画面情報をサーバ装置200からクライアント端末100に送信するようにすればよい。すなわち、サーバ装置200が、実行画面情報を生成するタイミングや、実行画面情報を送信するタイミングを調節すればよい。
以上が、第3の実施形態に係るシンクライアントシステム3の動作についての説明である。
なお、クライアント端末100が、第2の実施形態に係るクライアントシステム2の構成を有し、サーバ装置200と同様に、操作予測処理を実行できる構成としてもよい。その場合、通常時はサーバ装置200側で操作予測処理を行い、通信遅延が生じる状況ではクライアント端末100側で操作予測処理を行うなど、状況に応じて操作予測処理を実行する主体を変更することができるため、冗長性を向上することができる。
以上のように、第3の実施形態に係るシンクライアントシステムによれば、サーバ装置側で実測処理および操作予測処理を実行することができる。そのため、第2の実施形態と比較して、よりクライアント端末側での処理を軽減することが可能となる。また、クライアント端末とサーバ装置とで操作予測処理を実行できるように構成することによって、システムの冗長性を向上することができる。
(ハードウェア構成)
ここで、本発明の実施形態に係るシンクライアントシステムを実現するためのハードウェア構成について説明する。なお、以下のハードウェア構成は、本実施形態に係るシンクライアントシステムを実現するための一例であって、本発明の範囲を限定するものではない。
ここで、本発明の実施形態に係るシンクライアントシステムを実現するためのハードウェア構成について説明する。なお、以下のハードウェア構成は、本実施形態に係るシンクライアントシステムを実現するための一例であって、本発明の範囲を限定するものではない。
図11は、クライアント端末のハードウェア構成の一例である。クライアント端末は、CPU101、ROM102、RAM103、バッファ104、補助記憶装置105、通信インターフェース106を備える(ROM:Read Only Memory、RAM:Random Access Memory)。さらに、クライアント端末は、入力部111、入力制御部112、表示部113、表示制御部114を有する入出力装置110を備える。各要素は、バス107を介して互いに接続される。
図12は、サーバ装置のハードウェア構成の一例である。サーバ装置は、CPU201、ROM202、RAM203、バッファ204、補助記憶装置205、通信インターフェース206、バス207、入力部211、表示部212を備える。各要素は、バス207を介して互いに接続される。
以下に、各構成要素について簡単に説明する。なお、クライアント端末とサーバ装置に共通する機能を有するハードウェアについては、クライアント端末の符号の後ろに、サーバ装置の符号を括弧内に入れて表記する。
CPU101(201)は、中央演算処理装置であり、演算処理・制御処理を実行するための装置である。CPU101(201)は、ROM102(202)に格納されている制御プログラムに従って、RAM103(203)を作業用のメモリとし、各部の動作を制御する。また、クライアント端末のCPU101は、入力部111から入力され、入力制御部112によって発生した入力信号や、通信インターフェース106によって受信されるサーバからの応答信号や実行画面情報に関する信号の制御処理を実行する。ROM102(202)は、システムを制御するプログラムなどを記憶する不揮発性メモリである。RAM103(203)は、アプリケーションプログラムを展開するなど、作業用のメモリとなる揮発性メモリである。バッファ104(204)は、実行画面情報を保存するフレームバッファとして機能する揮発性メモリによって実現できる。なお、RAM103(203)がバッファ104(204)の機能を兼ねる場合、バッファ104(204)を省略してもよい。補助記憶装置105(205)は、サーバ装置でプログラムを実行させた結果として生成されたデータを格納するための装置である。通信インターフェース106(206)は、クライアント端末−サーバ装置間のネットワーク接続を確立するための装置であり、接続手順などが定められた規格や仕様を有する。
クライアント端末の入力部111は、クライアント端末10に操作情報を入力するための装置である。入力部111は、タッチパネル機能を有し、近接・接触する指示物体を検出する機能を備える。入力部111は、近接・接触された指示物体の位置に応じて、電流値などの物理量の変化を検出する。例えば、入力部111は、静電容量方式や電磁誘導方式などの方式によって近接・接触する指示物体を検出する。また、入力部111は、超音波方式や電磁波方式、赤外線方式などの方式によって近接・接触する指示物体を検出するように構成してもよい。また、入力部111は、操作情報を入力するための装置ともなる。
入力制御部112は、入力部111に検出された信号を、位置情報などの入力信号に変換制御する装置である。
例えば、電磁誘導方式のタッチパネルにおいては、タッチパネルの入力面に対して垂直に交差されたセンサコイル群を内部に設け、センサコイルに交流電流をパルス状に印可することによって磁界を発生させる。タッチパネルの操作面に、内部にコイルを有する電磁誘導ペンなどの指示物体が接近すると、指示物体内部のコイルに誘導電流が流れ、指示物体内部のコンデンサに電荷が蓄えられる。ここで、センサコイルへの電流印可をやめると、指示物体のコンデンサに蓄えられた電荷が放出され、指示物体側のコイルに電流が流れることによって磁界が発生する。その結果、タッチパネル内部のセンサコイルには、指示物体との位置関係に応じた静電電流が流れ、指示物体の位置を示す信号が入力部111に検出される。そして、入力制御部112は、指示物体の位置を示す信号を、位置情報を示す入力信号に変換する。
クライアント端末の表示部113は、サーバ装置からクライアント端末に送信された実行画面情報に含まれる実行画面を表示するための装置である。クライアント端末がタッチパネルを有する場合、表示部113は、外観上は入力部111と同じ部位にあってもよい。また、表示部113は、入力機能を有するタッチパネルとは別に、実行画面を表示するディスプレイとしてもよい。
表示制御部114は、サーバ装置から取得した実行画面を表示制御する装置である。クライアント端末のバッファ104には、サーバ装置から取得した実行画面情報が一時的に保存される。表示制御部114は、バッファ104に保存された実行画面情報に含まれる実行画面を、指示物体の入力部111への接触状況に応じて、実行画面情報を生成するタイミングで表示するように制御する。
サーバ装置の入力部211は、サーバ装置への操作情報を入力するための装置である。例えば、入力部211は、キーボードやマウスなどの入力機器によって入力された操作情報をサーバ装置に入力するための装置となる。サーバ装置の表示部213は、サーバ装置への操作情報などを表示するための装置である。
以上が、本発明の実施形態に係るシンクライアントシステムを実現するためのハードウェア構成についての説明である。
本発明の実施形態に係るクライアントサーバシステムにおける各処理は、上述の処理を実行する制御プログラムを含むソフトウェアによって実現することも可能である。また、本発明の実施形態に係る制御プログラムを格納したプログラム記録媒体も本発明の範囲に含まれる。プログラム記録媒体としては、ROM(Read Only Memory)やRAM(Random Access Memory)、フラッシュメモリ等の半導体記憶装置、光ディスク、磁気ディスク、光磁気ディスクなどを挙げることができる。
以上、実施形態を参照して本発明を説明してきたが、本発明は上記実施形態に限定されるものではない。本発明の構成や詳細には、本発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
本発明は、画面転送方式などのシンクライアントシステムに適用される。また、他の活用例として、Webアプリケーションへの適用がある。クラウド型の通信サービスのインターフェースは、Webアプリケーションで構築されているものが多い。本発明をWebアプリケーションに適用すれば、ユーザが情報端末を操作してからWebサーバのコンテンツを表示するまでの応答時間を短縮することによって、ユーザが快適に通信サービスを利用することが可能となる。
1 クライアントサーバシステム
2、3 シンクライアントシステム
10、100 クライアント端末
11 入力手段
12 操作予測手段
13 表示手段
14 通信手段
20、200 サーバ装置
21 実行画面情報生成手段
22 仮想環境
23 通信手段
30、300 ネットワーク
101、201 CPU
102、202 ROM
103、203 RAM
104、204 バッファ
105、205 補助記憶装置
106、206 通信インターフェース
107、207 バス
110 入出力装置
111、211 入力部
112 入力制御部
113、213 表示部
114 表示制御部
121 通信測定手段
123 入力予測手段
125 操作予測情報送信手段
131 実行画面情報管理手段
133 出力手段
211 通信測定手段
213 操作予測情報測定手段
215 実行画面情報処理手段
2、3 シンクライアントシステム
10、100 クライアント端末
11 入力手段
12 操作予測手段
13 表示手段
14 通信手段
20、200 サーバ装置
21 実行画面情報生成手段
22 仮想環境
23 通信手段
30、300 ネットワーク
101、201 CPU
102、202 ROM
103、203 RAM
104、204 バッファ
105、205 補助記憶装置
106、206 通信インターフェース
107、207 バス
110 入出力装置
111、211 入力部
112 入力制御部
113、213 表示部
114 表示制御部
121 通信測定手段
123 入力予測手段
125 操作予測情報送信手段
131 実行画面情報管理手段
133 出力手段
211 通信測定手段
213 操作予測情報測定手段
215 実行画面情報処理手段
Claims (10)
- クライアント端末上の操作に対応する処理をサーバ装置で実行するシンクライアントシステムにおいて、
前記クライアント端末に設けられた入力面に対する指示物体の接近および接触を検出することによって、前記入力面に対する前記指示物体の位置情報を検出時間に関連付けて取得する入力手段と、
前記クライアント端末と前記サーバ装置との間の通信処理能力を測定するとともに、前記入力手段によって取得された前記指示物体の位置情報の変化に基づいて、前記指示物体が前記入力面に接触すると予測される位置である予測接触位置と、前記指示物体が前記入力面に接触すると予測される時刻である予測接触時刻とを計算し、前記クライアント端末の識別子と、前記予測接触位置および前記予測接触時間とを含む操作予測情報を前記通信処理能力に基づいて送信する操作予測手段と、
前記操作予測情報を受信し、前記識別子が付された前記クライアント端末の前記入力面における前記予測接触位置に対応して実行される処理を前記サーバ装置上の仮想環境において実行することによって、前記予測接触位置に対応する処理の実行結果となる画面情報を含む実行画面情報を生成する実行画面情報生成手段と、
前記実行画面情報生成手段によって生成された前記実行画面情報を受信し、受信した前記実行画面情報に含まれる前記画面情報に対応する実行画面が前記クライアント端末に設けられたディスプレイに前記予測接触時刻後に表示されるように制御する表示手段とを備えるクライアントサーバシステム。 - 前記操作予測手段は、
前記クライアント端末と前記サーバ装置との間の前記通信処理能力を測定する通信測定手段と、
前記予測接触位置および前記予測接触時間を含む前記操作予測情報を算出する入力予測手段と、
前記クライアント端末から前記サーバ装置に前記操作予測情報を送信し、前記サーバ装置から前記クライアント端末に前記実行画面情報を送信するのに要するデータ送受信時間と、前記クライアント装置から前記サーバ装置に前記操作予測情報を送信する時刻である操作予測情報送信時刻とを算出し、前記予測接触時刻になるまでに前記実行画面情報が前記クライアント端末に受信されるように、前記クライアント端末から前記サーバ装置に前記操作予測情報を送信するタイミングを制御する操作予測情報送信手段とを有する請求項1に記載のクライアントサーバシステム。 - 前記操作予測手段は、
前記指示物体の所在位置の変化から予測される操作種別である予測操作種別を前記操作予測情報に含めて予測する請求項1または2に記載のクライアントサーバシステム。 - 前記操作予測手段は、
前記入力手段によって取得された異なる時刻における前記指示物体の所在位置を結ぶベクトルと前記入力面とがなす角度と、前記指示物体の移動速度とを用いて前記操作種別を判別する請求項3に記載のクライアントサーバシステム。 - 前記通信測定手段は、
前記クライアント端末と前記サーバ装置との間で送受信されたデータを基に、前記クライアント端末と前記サーバ装置との間でデータを送受信する際のスループットと、前記クライアント端末と前記サーバ装置との間で送受信する前記実行画面情報の平均サイズ、前記クライアント端末から前記サーバ装置にデータを送信した際の往復遅延時間とを前記通信処理能力として測定する請求項2乃至4のいずれか一項に記載のクライアントサーバシステム。 - 前記操作予測情報送信手段は、
前記予測接触時刻が経過した後に前記実行画面が前記ディスプレイに表示されるように、前記クライアント端末から前記サーバ装置に前記操作予測情報を送信するタイミングを制御する請求項2乃至5のいずれか一項に記載のクライアントサーバシステム。 - 前記指示物体の前記入力面に対する接触位置が前記予測接触位置と異なった場合、
前記クライアント端末は、
前記サーバ装置に対して前記接触位置に応じた処理の実行を要求し、
前記サーバ装置は、
前記クライアント端末からの要求に応じて、前記実際の接触処理に応じた処理を前記仮想領域で実行して前記実行画面情報を生成し、生成した前記実行画面情報を前記クライアント端末に送信する請求項1乃至6のいずれか一項に記載のクライアントサーバシステム。 - 前記サーバ装置は、
前記操作予測手段を含むことによって、前記通信処理能力を測定するとともに、前記操作予測情報および前記予測操作時刻を予測し、前記データ送受信時間および前記操作情報送信時刻を算出するとともに、前記予測接触位置に対応する処理を実行して前記実行画面情報を生成し、前記予測接触時刻が経過する前に前記実行画面情報が前記クライアント端末に受信されるように、前記実行画面情報を前記クライアント端末に対して送信するタイミングを制御する請求項1乃至7のいずれか一項に記載のクライアントサーバシステム。 - クライアント端末上の操作に対応する処理をサーバ装置で実行するシンクライアントシステムにおいて、
前記クライアント端末に設けられた入力面に対する指示物体の接近および接触を検出することによって、前記入力面に対する前記指示物体の位置情報を検出時間に関連付けて取得し、
前記クライアント端末と前記サーバ装置との間の通信処理能力を測定するとともに、取得された前記指示物体の位置情報の変化に基づいて、前記指示物体が前記入力面に接触すると予測される位置である予測接触位置と、前記指示物体が前記入力面に接触すると予測される時刻である予測接触時刻とを計算し、前記クライアント端末の識別子と、前記予測接触位置および前記予測接触時間とを含む操作予測情報を前記通信処理能力に基づいて送信し、
前記操作予測情報を受信し、前記識別子が付された前記クライアント端末の前記入力面における前記予測接触位置に対応して実行される処理を前記サーバ装置上の仮想環境において実行することによって、前記予測接触位置に対応する処理の実行結果となる画面情報を含む実行画面情報を生成し、
生成された前記実行画面情報に含まれる前記画面情報に対応する実行画面が前記クライアント端末に設けられたディスプレイに前記予測接触時刻後に表示されるように制御する制御方法。 - クライアント端末上の操作に対応する処理をサーバ装置で実行するシンクライアントシステムにおいて、
前記クライアント端末に設けられた入力面に対する指示物体の接近および接触を検出することによって、前記入力面に対する前記指示物体の位置情報を検出時間に関連付けて取得する処理と、
前記クライアント端末と前記サーバ装置との間の通信処理能力を測定するとともに、取得された前記指示物体の位置情報の変化に基づいて、前記指示物体が前記入力面に接触すると予測される位置である予測接触位置と、前記指示物体が前記入力面に接触すると予測される時刻である予測接触時刻とを計算し、前記クライアント端末の識別子と、前記予測接触位置および前記予測接触時間とを含む操作予測情報を前記通信処理能力に基づいて送信する処理と、
前記操作予測情報を受信し、前記識別子が付された前記クライアント端末の前記入力面における前記予測接触位置に対応して実行される処理を前記サーバ装置上の仮想環境において実行することによって、前記予測接触位置に対応する処理の実行結果となる画面情報を含む実行画面情報を生成する処理と、
生成された前記実行画面情報に含まれる前記画面情報に対応する実行画面が前記クライアント端末に設けられたディスプレイに前記予測接触時刻後に表示されるように制御する処理とをコンピュータに実行させる制御プログラム。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014138829A JP2016018260A (ja) | 2014-07-04 | 2014-07-04 | クライアントサーバシステム、制御方法および制御プログラム |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2014138829A JP2016018260A (ja) | 2014-07-04 | 2014-07-04 | クライアントサーバシステム、制御方法および制御プログラム |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JP2016018260A true JP2016018260A (ja) | 2016-02-01 |
Family
ID=55233473
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2014138829A Pending JP2016018260A (ja) | 2014-07-04 | 2014-07-04 | クライアントサーバシステム、制御方法および制御プログラム |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP2016018260A (ja) |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017090950A (ja) * | 2015-11-02 | 2017-05-25 | 富士通株式会社 | 仮想デスクトッププログラム、仮想デスクトップ処理方法、および仮想デスクトップシステム |
| JP2020182187A (ja) * | 2019-04-26 | 2020-11-05 | 富士通株式会社 | 受信データ表示プログラム、受信データ表示方法、及び電子機器 |
| JPWO2022034672A1 (ja) * | 2020-08-13 | 2022-02-17 | ||
| JP2023503339A (ja) * | 2019-11-25 | 2023-01-27 | オラクル・インターナショナル・コーポレイション | ワークフローにおけるユーザインターフェイスのための分岐予測 |
-
2014
- 2014-07-04 JP JP2014138829A patent/JP2016018260A/ja active Pending
Cited By (7)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2017090950A (ja) * | 2015-11-02 | 2017-05-25 | 富士通株式会社 | 仮想デスクトッププログラム、仮想デスクトップ処理方法、および仮想デスクトップシステム |
| JP2020182187A (ja) * | 2019-04-26 | 2020-11-05 | 富士通株式会社 | 受信データ表示プログラム、受信データ表示方法、及び電子機器 |
| JP7234776B2 (ja) | 2019-04-26 | 2023-03-08 | 富士通株式会社 | 受信データ表示プログラム、受信データ表示方法、及び電子機器 |
| JP2023503339A (ja) * | 2019-11-25 | 2023-01-27 | オラクル・インターナショナル・コーポレイション | ワークフローにおけるユーザインターフェイスのための分岐予測 |
| JP7702946B2 (ja) | 2019-11-25 | 2025-07-04 | オラクル・インターナショナル・コーポレイション | ワークフローにおけるユーザインターフェイスのための分岐予測 |
| JPWO2022034672A1 (ja) * | 2020-08-13 | 2022-02-17 | ||
| JP7439934B2 (ja) | 2020-08-13 | 2024-02-28 | 日本電信電話株式会社 | データ処理装置およびデータ処理方法 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US11023282B2 (en) | Method and apparatus for migrating virtual machine for improving mobile user experience | |
| US9146672B2 (en) | Multidirectional swipe key for virtual keyboard | |
| CN102566896B (zh) | 用于输入时间和日期的系统和方法 | |
| CN102981747B (zh) | 信息处理装置、信息处理方法和计算机程序 | |
| CN102141877B (zh) | 使用全息图的用户界面和用于该用户界面的方法 | |
| US20130227419A1 (en) | Apparatus and method for switching active application | |
| US20140306897A1 (en) | Virtual keyboard swipe gestures for cursor movement | |
| US20140380249A1 (en) | Visual recognition of gestures | |
| CN105144072B (zh) | 在多点触控装置上对压感进行模拟 | |
| CN107656620B (zh) | 虚拟对象控制方法、装置、电子设备及存储介质 | |
| US20130174070A1 (en) | Drag and drop operation in a graphical user interface with highlight of target objects | |
| US9213482B2 (en) | Touch control device and method | |
| KR20130061711A (ko) | 통신 기기들 사이에서 정보 아이템들을 전달하기 위한 장치 및 방법 | |
| CN105556463B (zh) | 用于基于计算装置模式选择操作系统的混合计算装置、方法以及非暂时性计算机可读存储介质 | |
| US10452205B2 (en) | Three-dimensional touch device and method of providing the same | |
| EP2770419B1 (en) | Method and electronic device for displaying virtual keypad | |
| CN107748641A (zh) | 数值调节控制方法、装置、电子设备及存储介质 | |
| TW201837682A (zh) | 使用壓力感測器輸入以選擇性地路由使用者輸入 | |
| CN103729109B (zh) | 一种界面显示方法和终端 | |
| JP2016018260A (ja) | クライアントサーバシステム、制御方法および制御プログラム | |
| JP2014048976A (ja) | 入力表示制御装置、シンクライアントシステム、入力表示制御方法およびプログラム | |
| CN105474164B (zh) | 间接输入的歧义消除 | |
| CN108170295A (zh) | 虚拟摄像机状态控制方法、装置、电子设备及存储介质 | |
| CN110413183B (zh) | 一种呈现页面的方法与设备 | |
| EP3264203A1 (en) | Intelligent interaction method, equipment and system |