シンクライアントシステムおよびサーバ装置
【課題】シンクライアントシステムを回線品質の異なるネットワークを介して接続する場合に、入力操作に対して画面表示の追従性を要求する操作が行なわれたときに、サーバ装置からクライアント端末に送信するデータ量を、回線品質に合わせて可変とする。
【解決手段】クライアント端末は、ユーザーの入力操作を入力操作情報としてサーバ装置に送信し、サーバ装置は、受信した入力操作情報を解析し、入力操作に対して画面表示の追従性を要する入力操作であるかの判定を行なう。サーバ装置は、追従性を要する入力操作が行なわれた場合に、クライアント端末で表示するための画面情報の削減を行なう。
【解決手段】クライアント端末は、ユーザーの入力操作を入力操作情報としてサーバ装置に送信し、サーバ装置は、受信した入力操作情報を解析し、入力操作に対して画面表示の追従性を要する入力操作であるかの判定を行なう。サーバ装置は、追従性を要する入力操作が行なわれた場合に、クライアント端末で表示するための画面情報の削減を行なう。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、シンクライアントシステムおよびサーバ装置に係り、特にネットワークの品質に応じた処理を行なうシンクライアントシステムおよびサーバ装置に関する。
【背景技術】
【0002】
企業などにおいて、社員が使うクライアント端末に最低限の機能しか持たせず、ネットワークを介して接続されたサーバ装置側でアプリケーションソフトやファイルなどの資源を管理するシンクライアントシステムが注目を浴びている。
【0003】
シンクライアントシステムでは、クライアント端末から送られた操作情報をもとに、サーバ装置でアプリケーションなどの処理が行なわれ、その処理結果が反映された画面情報がクライアント端末に送信される。
【0004】
初期のシンクライアントシステムは企業内のローカルエリアネットワーク(以後LANと記載)など、一定の通信品質が確保されたネットワークで運用されるのが一般的であったが、WAN(Wide Area Network)、無線LAN(Local Area Network)やモバイルネットワークなど無線にて接続されるネットワークなど、色々な通信品質のネットワークが普及し、シンクライアントシステムもこれら通信品質の異なるネットワークを介して接続されるようになってきた。
【0005】
モバイルネットワークなど通信速度の遅いネットワークを介して接続した場合、サーバ装置からクライアント端末に、画面情報のデータを送信するのに遅延が発生し、画面表示に時間がかかるなどの問題が発生する。このため、画像を圧縮して送信し、前画面と次画面の差分を比較して、差分情報のみを送信するなどの一般的な画像圧縮技術に加えて、ユーザーによるウィンドウ操作など、シンクライアントシステムに特有な画面表示特性に着目し、特許文献1のようにユーザーによるウィンドウの移動を、ポインタカーソルの移動情報から検出し、マウスのドラッグ操作によるウィンドウの移動操作時において、クライアント端末に送信する画像情報を削減する技術が提案されている。
【0006】
また、端末の入力デバイスは、キーボードやマウスなど従来からの入力デバイスに加えて、ホイール付きマウス、マルチタッチ対応のタッチパネルやトラックパッドなどが普及し、マウスホイールよるスクロールや、タッチパネルによるピンチイン(縮小)やピンチアウト(拡大)など、ユーザー操作に対して画面表示の高い追従性が要求される操作が多くなっている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−225516号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
シンクライアントシステムを回線品質の異なるネットワークを介して接続する場合に、回線の通信品質により、クライアント端末とサーバ装置間で送受信するデータ量や送信方法を変えることにより、一定の操作性や画面表示のレスポンスを確保するという課題がある。
【0009】
また、モバイルネットワークのように、移動や電波状態の変化などにより、通信品質が大きく変化する場合でも、逐次回線品質を把握し、クライアント端末とサーバ装置間で送受信するデータ量や送信方法を動的に変化させることにより、一定の操作性や画面表示のレスポンスを確保するという課題がある。
【0010】
また、シンクライアントシステムでは、クライアント端末でユーザーが操作した情報がネットワークを介してサーバ装置に送られ、サーバ装置で処理された結果がネットワークを介してクライアント端末に送信され、クライアント端末で表示されるため、ユーザーが操作を行なってから、表示されるのにタイムラグが発生する。
【0011】
キーボードの文字キーによる文字入力、カーソルキーによるカーソルの移動などは、入力操作に対する表示内容の変化が小さく、クライアント端末とサーバ装置間で送受信されるデータ量が少ない。このため、ネットワークの回線品質が悪く、通信帯域が確保できない場合でも、大きなタイムラグは発生しない。しかし、マウスホイールよるスクロール、タッチパネルによるピンチイン(縮小)やピンチアウト(拡大)などの操作は、入力操作に対する表示内容の変化が大きく、サーバ装置からクライアント端末に送信されるデータ量が多い。このため、ネットワークの回線品質が悪く、通信帯域が確保できない場合には、大きなタイムラグが発生する。このとき、ホイール操作の速度や回転量、タッチパネルのピンチ操作の速度や操作幅は、操作するユーザーが表示内容の変化速度や変化量を指示する情報である。このため、操作に対する画面表示のフィードバックが遅れると、ユーザーが必要以上にホイール操作を行なってしまうなど、操作感が大きく損なわれる。
【0012】
一方で、ユーザーがスクロールや拡大・縮小の操作を行なう場合、スクロール、拡大・縮小などの操作に対するフィードバックを画面上でリニアに確認できることが求められ、変化中の表示内容は、変化量が把握できれば表示内容の品質は求められない。
【0013】
また、シンクライアントシステムでは、メールを読むこと、ドキュメント作成や動画再生など、表示開始に多少時間がかかっても、画面の表示品質が重要な操作と、ユーザー操作に対して画面表示の高い追従性が要求される操作があり、ユーザーの操作内容により、画面の表示の品質を優先するか、操作に対する追従性を優先するかを判断し、ユーザーの要求に従った画面表示を行なうという課題がある。
【0014】
特許文献1で提案されている方法では、マウスによるウィンドウの移動という特定な操作においてのみ、操作に対する追従性の改善が期待できる。しかし、マウスホイールによりウィンドウ内の表示内容をスクロールする場合や、タッチパネルによるピンチイン(縮小)やピンチアウト(拡大)など、表示内容が変化する場合には適用できない。
【課題を解決するための手段】
【0015】
上述した課題は、ネットワークで接続されたクライアント端末と、サーバ装置とを含むシンクライアントシステムにおいて、クライアント端末は、入力された操作情報をネットワークを介してサーバ装置に送信し、サーバ装置は、受信した操作情報に基づいて、アプリケーションの処理を行ない、処理結果に基づいて、画像情報を生成し、この画像情報をネットワークを介してクライアント端末に送信し、クライアント端末は、受信した画像情報を表示し、クライアント端末およびサーバ装置は、ネットワークの回線品質を測定する回線品質確認処理部をそれぞれ備え、サーバ装置は、回線品質に基づいて、画像情報のデータ量を決定するシンクライアントシステムにより、達成できる。
【0016】
また、ネットワークで接続されたクライアント端末から操作情報を受信して、アプリケーションの処理を行ない、処理結果に基づいて、画像情報を生成し、この画像情報をネットワークを介してクライアント端末に送信するサーバ装置において、ネットワークの回線品質を測定する回線品質確認処理部を備え、回線品質に基づいて、画像情報のデータ量を決定するサーバ装置により、達成できる。
【発明の効果】
【0017】
本発明によれば、シンクライアントシステムにおいて、ユーザーの操作に対して、追従性が要求される処理の応答性が改善される。また、品質の異なるネットワークや品質が動的に変化するネットワークを介して接続された場合でも、回線品質に応じて柔軟な画面表示が可能となる。
【図面の簡単な説明】
【0018】
【図1】シンクライアントシステムの構成を説明するブロック図である。
【図2】クライアント端末とサーバ装置間の通信内容を説明するブロック図である。
【図3】クライアント端末のブロック図である。
【図4】サーバ装置のブロック図である。
【図5】入力操作情報を説明する図である。
【図6】クライアント端末における入力操作処理のフローチャートである。
【図7】クライアント端末における画面表示処理のフローチャートである。
【図8】サーバ装置におけるフローチャートである。
【図9】回線品質確認のシーケンス図である。
【図10】入力操作情報を説明する図である。
【図11】画面表示の変化を説明する図である。
【図12】画面情報生成処理部の処理を説明するブロック図である。
【図13】削減処理後の画面情報を説明する図(その1)である。
【図14】削減処理後の画面情報を説明する図(その2)である。
【図15】サーバ装置とクライアント端末間の遅延を説明する図(その1)である。
【図16】サーバ装置とクライアント端末間の遅延を説明する図(その2)である。
【図17】サーバ装置とクライアント端末間の遅延を説明する図(その3)である。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態について、実施例を用い図面を参照して詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
【0020】
図1を参照して、シンクライアントシステムを説明する。図1において、シンクライアントシステム4は、クライアント端末1と、サーバ装置3とで構成される。クライアント端末1とサーバ装置3は、ネットワーク2を介して接続される。図1では、3台のクライアント端末1−1、1−2、1−3がサーバ装置3に接続されている。しかし、これは、クライアント端末の台数を制限するものではなく、任意のクライアント端末が接続可能である。また、ネットワーク2は、有線または無線、LANまたはWANなど接続形式を限定するものではない。ネットワーク2は、異なる接続形式のネットワークが混在、または複数のネットワークを経由して接続されても良い。
【0021】
図2を参照して、クライアント端末とサーバ装置間の通信内容を説明する。図2において、クライアント端末1で入力された入力操作情報は、サーバ装置3に送信される。サーバ装置3は、受信した入力操作情報をもとに処理を行なう。サーバ装置3は、処理結果を画面情報として、クライアント端末1に送信する。クライアント端末1は、画面情報に基づいて、画面表示する。
【0022】
図3を参照して、クライアント端末の構成を説明する。図3において、クライアント端末1は、入力デバイス31と、入力操作情報作成部32と、送信処理部33と、受信処理部34と、画面表示処理部35と、表示デバイス36と、回線品質確認処理部37との各機能ブロックで構成される。
【0023】
入力デバイス31は、キーボード、マウスまたはトラックパッドなどのポインティングデバイス、タッチパネルなどを備える。入力デバイス31は、ユーザーのキー入力やポインティングデバイス操作などの操作内容を入力操作情報作成部32に出力する。
【0024】
入力操作情報作成部32は、操作内容を解析し、サーバ装置3に送信するための入力操作情報の生成を行なう。入力操作情報作成部32は、入力操作情報を送信処理部33に出力する。
【0025】
送信処理部33は、入力操作情報作成部32から入力された入力操作情報を、ネットワーク2を介してサーバ装置3に送信する。受信処理部34は、ネットワーク2を介して、サーバ装置3から画面情報を受信する。受信処理部34は、画面情報を画面表示処理部35に出力する。
【0026】
画面表示処理部35は、入力された画面情報から、表示デバイス36で表示するための画面表示を作成する。画面表示処理部35は、画面表示を表示デバイス36に出力する。表示デバイス36は、液晶ディスプレイなどである。表示デバイス36は、画面表示処理部35から入力された画面の表示を行なう。回線品質確認処理部37は、クライアント端末1とサーバ装置3を接続するネットワーク2の回線品質を確認するための処理を行なう。
【0027】
クライアント端末1は、上述した機能ブロックを備える端末である。クライアント端末1は、入力デバイス31および表示デバイス36の種類を限定するものでない。クライアント端末1は、キーボードとディスプレイを備えるノートPCやデスクトップPCのような形態だけでなく、タッチパネルを備えたスマートフォンやタブレット端末のような形態でも良い。
【0028】
図4を参照して、サーバ装置の構成を説明する。図4において、サーバ装置3は、受信処理部41と、入力操作解析処理部42と、アプリケーション処理部43と、画面情報生成処理部44と、送信処理部45と、回線品質確認処理部46との各機能ブロックで構成される。
【0029】
受信処理部41は、クライアント端末1からネットワーク2を介して送信された入力操作情報を受信する。受信処理部41は、入力操作情報を入力操作解析処理部42に出力する。入力操作解析処理部42は、入力された入力操作情報から操作内容の解析を行ない、アプリケーション処理部43に出力する。入力操作解析処理部42は、また、ユーザーが操作に対する画面表示の即時応答が求められる操作を行なったかの判定を行なう。入力操作解析処理部42は、画面情報生成処理部44に対して、画面情報削減要求を行なう。これらの詳細については図8のフローチャートを参照して後述する。
【0030】
アプリケーション処理部43は、入力操作の内容に従いアプリケーションの処理を行なう。アプリケーション処理部43は、処理結果を画面情報生成処理部44に出力する。画面情報生成処理部44は、アプリケーション処理部43から入力された処理結果をもとに、クライアント端末1に送信するための画面情報の生成処理を行なう。画面情報生成処理部44は、画面情報を送信処理部45に出力する。送信処理部45は、入力された画面情報を、ネットワーク2を介してクライアント端末1に送信する。回線品質確認処理部46は、クライアント端末1とサーバ装置3を接続するネットワーク2の回線品質を確認する処理を行なう。
【0031】
次に、クライアント端末1の動作について説明する。まず、図5と図6を参照して、クライアント端末1の入力操作処理について説明する。
図5を参照して、入力操作情報を説明する。図5において、入力操作情報は、時刻131と、デバイス種別132と、操作内容133とで構成される。
【0032】
時刻131は、入力デバイスから入力された時刻134a〜134iが登録される。行134aの10:32:05:50は、10時32分05秒50を表わす。ここでは、クライアント端末の時刻情報から250ミリ秒単位にサンプリングされた時刻を入力操作情報の時刻131として登録している。しかし、入力操作の操作間隔が判定できればよく、時刻の精度を限定するものではない。また、一定周期で増減するタイマーカウンタのカウンタ値を時刻情報としても良い。
【0033】
デバイス種別としては、キーボード136a、マウスポインタ136b、マウスホイール136cなどがある。入力捜査情報は、デバイス種別ごとに操作内容133が定義されている。行134aのデバイス種別132がキーボード136aの場合、文字キー:A(135a)、カーソル:→(135b)、機能キー:F1(135c)などキーボードから入力されたキー情報が操作内容133として登録される。また、デバイス種別132がマウスポインタ136bの場合、マウスの移動による、X軸方向およびY軸方向の移動量X=+8、Y=−3(135d)が、操作内容133として登録される。また、デバイス種別132がマウスホイール(行134c)の場合は、マウスに搭載されたホイールの回転による、回転方向:上、変化量:6(135e)など操作情報が、操作内容133として登録される。
【0034】
なお、図5に記載の入力操作情報は、時刻131の記載方法、デバイス種別132の種類、操作内容133の記載方法を限定するものではない。また、時刻131、デバイス種別132、操作内容133以外の情報を入力操作情報としても良い。
【0035】
図6を参照して、クライアント端末1における入力操作処理のフローを説明する。図6において、クライアント端末1は、入力デバイス31から入力操作があったかの判定を行なう(S51)。入力がない場合(NO)、クライアント端末1は、再びステップ51に遷移する。ステップ51で入力があった場合(YES)、クライアント端末1は、入力デバイス31の操作内容を作成する(S52)。クライアント端末1は、作成した入力操作情報を送信して(S53)、終了する。
【0036】
より詳細には、入力操作情報作成部32は、デバイス種別132、操作内容133の解析を行なう。入力操作情報作成部32は、キー入力情報、ポインティングデバイスの位置情報、マウスホイールの変化方向や変化量などの情報を、入力デバイスから入力された時刻と共に入力操作情報として作成し、送信処理部33に出力する(S52)。送信処理部33は、入力操作情報作成部32から入力された入力操作情報を、ネットワーク2を介してサーバ装置3に送信する(S53)。
【0037】
次に、図7を参照して、クライアント端末1の画面表示処理について説明する。図7において、クライアント端末1は、画像情報を受信する(S61)。クライアント端末1は、画像を生成する(S62)。クライアント端末1は、画像を表示して(S63)、終了する。
【0038】
詳細には、受信処理部34は、サーバ装置3からネットワーク2を介して、画面情報を受信し、画面表示処理部35に出力する(S61)。画面表示処理部35は、入力された画面情報から、画像の復号などを行ない、表示デバイス36で表示するための画面表示情報の生成を行ない、表示デバイス36に出力する(S62)。表示デバイス36は、画面表示処理部35から入力された画面表示情報の表示を行なう(S63)。
【0039】
図8を参照して、サーバ装置3の処理について説明する。図8において、サーバ装置3は、入力操作情報を受信する(S71)。サーバ装置3は、入力操作内容を解析する(S72)。サーバ装置3は、即時応答要求操作が必要か判定する(S73)。YESのとき、サーバ装置3は、画面情報削減要求処理を実行する(S74)。ステップ73でNOまたはステップ74のあと、サーバ装置3は、アプリケーション処理を実行する(S75)。サーバ装置3は、画面情報生成処理を実行する(S76)。サーバ装置3は、画面情報を送信して(S77)、終了する。
【0040】
詳細には、受信処理部41は、クライアント端末1からネットワーク2を介して、入力操作情報を受信し、入力操作解析処理部42に出力する(S71)。入力操作解析処理部42は、入力操作情報の解析を行ない、アプリケーション処理部43で使用できるデータ形式に変換して出力する(S72)。この時、組合せ操作機能を持つShiftキー、Ctrlキー、Altキーが、他の文字キーなどと同時入力される判定、マウスのクリックボタンを押しながらマウスが移動される(ドラッグ操作)判定などが行なわれる。
【0041】
また、入力操作解析処理部42は、入力操作情報の解析を行ない、操作内容が、即時応答を必要とする操作であるかの判定を行なう。この判定の動作については、図10の入力操作情報を参照して後で説明する。なお、ここでは、マウスホイールの回転を説明したが、即時応答が要求される操作として、マウスによるドラッグ操作や、タッチパネルにおけるピンチイン(縮小)、ピンチアウト(拡大)などを含めても良い。
【0042】
即時応答が要求される操作と判定した場合(S73:YES)、画面情報生成処理部44に対して画面情報削減要求を行なう(S74)。即時応答が要求される操作と判定しなかった場合(S73:NO)、フローチャートのアプリケーション処理(S75)に移行する。
【0043】
アプリケーション処理部43は、入力操作解析処理部42から入力された情報をもとにアプリケーション処理を実行し、処理結果を画面情報生成処理部44に出力する(S75)。画面情報生成処理部44は、アプリケーション処理部43から入力された処理結果をもとに、クライアント端末1で表示するための画面情報の生成や、画像の符号化を行ない、送信処理部45に出力する(S76)。送信処理部45は、画面情報生成処理部44から入力された画面情報を、ネットワーク2を介してクライアント端末に送信する(S77)。
【0044】
なお、入力操作解析処理部42において、クライアント端末1からの入力操作情報が、入力操作に対して画面表示の即時応答が要求されると判定され、画面情報削減要求がされた場合における画面情報生成処理部44の動作については、図11ないし図14を参照して、後で説明する。
【0045】
図9を参照して、クライアント端末1とサーバ装置3を接続するネットワーク2の回線品質確認の処理について説明する。図9において、サーバ装置3の回線品質確認処理部46は、回線品質確認パケット84を作成し、送信処理部45を経由してクライアント端末に送信する(S81)。回線品質確認パケット84は、時刻85と識別番号86のフィールドを持ち、時刻85フィールドにはパケット作成時の時刻情報、識別番号86フィールドには各パケットを識別するための番号が設定される。
【0046】
次に、クライアント端末1の回線品質確認処理部37は、受信処理部34を経由して受信した回線品質確認パケット84を、フィールド値を変更せずに直ちに送信処理部33を経由してサーバ装置3に返送する(S82)。
【0047】
サーバ装置3の回線品質確認処理部46は、クライアント端末1から返送された回線品質確認パケット84を、受信処理部41を経由して受信し(S83)、時刻85フィールドに設定された時刻と、受信時の時刻を比較して応答時間を算出する。回線品質が良いネットワークでは応答時間が短く、回線品質が悪いネットワークでは応答時間が長くなる。したがって、該応答時間の長短により、回線品質を推定することができる。
【0048】
また、サーバ装置3の回線品質確認処理部46は、この回線品質確認を定期的に行なう。サーバ装置3の回線品質確認処理部46は、回線品質確認処理により取得した回線品質情報を、画面情報生成処理部44に出力する。
【0049】
この時、1つの回線品質確認パケット84の応答時間のみで推定を行なうのではなく、複数個の回線品質確認パケット84の応答時間の平均値を算出し、ネットワークの瞬間的な揺らぎによる推定精度の悪化を抑えても良い。また、識別番号86から、ネットワーク上で廃棄され、応答のない回線品質確認パケット84の数を計測し、計測したパケットロス率などを回線品質の推定情報として加えても良い。
【0050】
なお、ここでは、回線品質確認パケット84を使用して、回線品質の確認を行なったが、pingの応答時間やTCP(Transmission Control Protocol)のRTT(Round Trip Time)など、一般的に使用されている方法で回線品質の確認を行なっても良い。
【0051】
図10を参照して、入力操作解析処理部42における、操作内容が、即時応答を必要とする操作であるかの判定動作について説明する。図10において、時刻131が10:29:01:00の入力操作情報141は、デバイス種別132がキーボードで、操作内容133が文字キー:Aであるので、10時29分01秒00にキーボードの文字キー「A」が押されたことを表している。キーボードによる文字入力などの操作は、入力操作に対する画面表示の変化が小さく、クライアント端末に送信する画面情報のデータ量が少ないため、クライアント端末での画面表示に遅延は発生しない。また、ユーザーは、自分がキーボードで入力した文字が正しいかどうかを、クライアント端末の画面表示で確認するため、操作に対する追従性を優先するのではなく、画面表示の品質を優先する操作であると判定される。したがって、キーボード入力をしている間は、入力操作解析処理部42は画面情報生成処理部43に対して、画面情報削減要求を行なわない。
【0052】
次に、時刻131が10:29:10:00から10:29:10:75の入力操作情報(142a〜142d)は、デバイス種別132がマウスホイールで、マウスホイールが連続して高速に回転されていることを表わしている。マウスホイールが連続して回線され、また、変化量が大きいこのような入力操作は、ユーザーがウィンドウ表示のスクロールを実施している場合などに発生し、入力操作に対して画面表示の変化が大きく、クライアント端末に送信する画面情報のデータ量が非常に多い。このため、ネットワークの回線品質が悪い場合には、クライアント端末での画面表示に遅延が発生する。また、ユーザーがマウスホイールでウィンドウ表示のスクロールを行なうのは、現在ウィンドウ上に表示されていない範囲の情報をすばやく表示しようとする場合である。すなわち、ユーザーはマウスホイールの回転よるスクロール量を把握できればよく、変化中の画面表示の品質が多少悪くても、操作に対するフィードバックを表示画面上でリニアに確認できればよい。つまり、画面表示の品質を優先するのではなく、操作に対する追従性を優先する即時応答要求操作であると判定される。この結果、この操作をしている間は、入力操作解析処理部42は画面情報生成処理部43に対して、画面情報削減要求154を行なう。
【0053】
次に、時刻131が10:30:50:75の入力操作情報143は、デバイス種別132がマウスホイールで、前記の入力操作情報(142a〜142d)と同じく、マウスホイールが回転されていることを表わしている。しかし、マウスホイールの入力操作が連続しておらず、変化量も「1」と小さい。このため、入力操作に対する画面表示の変化が小さく、クライアント端末に送信する画面情報のデータ量が少なく、クライアント端末での画面表示に遅延は発生しない。この時、操作に対する画面表示の内容が正しく判別できることが求められるため、操作に対する追従性を優先するのではなく、画面表示の品質を優先する操作であると判定される。すなわち、この操作をしている間は、入力操作解析処理部42は画面情報生成処理部43に対して、画面情報削減要求154を行なわない。
【0054】
次に、時刻131が10:33:07:25から10:33:13:25の入力操作情報(144a〜144e)の判定について説明する。時刻131が10:33:07:25の入力操作情報144aは、デバイス種別132がキーボードで、操作内容133が機能キー:Ctrl、設定であり、他の入力操作との組合せ操作機能を持つCtrlキーが押されている状態を表わしている。時刻131が10:33:10:00から10:33:10:50の入力操作情報(144b〜144d)は、デバイス種別132がマウスホイールで、マウスホイールが連続して高速に回転されていることを表している。時刻131が10:33:13:25の入力操作情報144eは、デバイス種別132がキーボードで、操作内容133が機能キー:Ctrl、解除であり、入力操作144aで押されたCtrlキーが解除されたことを表わしている。
【0055】
一連の入力操作(144a〜144e)は、ユーザーが組合せ操作機能を持つCtrlキーを押しながら、マウスホイールを連続的に回転させたことを示しており、ユーザーがウィンドウ表示の拡大・縮小を実施している場合などに発生する。この操作は、入力操作に対して画面表示の変化が大きく、クライアント端末に送信する画面情報のデータ量が非常に多い。このため、ネットワークの回線品質が悪い場合には、クライアント端末での画面表示に遅延が発生する。また、スクロール操作と同様に、ユーザーは、マウスホイールの回転よる拡大・縮小の変化量を把握できればよい。すなわち、変化中の画面表示の品質が多少悪くても、操作に対するフィードバックを表示画面上でリニアに確認できればよい。したがって、画面表示の品質を優先するのではなく、操作に対する追従性を優先する即時応答要求操作であると判定される。すなわち、この操作をしている間は、入力操作解析処理部42は画面情報生成処理部43に対して、画面情報削減要求154を行なう。
【0056】
なお、ここでは、マウスホイールの回転を例に説明したが、即時応答が要求される操作として、マウスによるドラッグ操作、タッチパネルにおけるピンチイン(縮小)、ピンチアウト(拡大)などを含めても良い。
【0057】
次に、図11ないし図14を参照して、画面情報生成処理部44が回線品質に応じて画面情報の削減を行なう動作について説明する。
まず、図11を参照して、マウスホイールの操作が行なわれた場合における、画面表示の変化を説明する。
【0058】
図11において、画面91は、クライアント端末1の表示デバイス36に表示される画面である。画面91内にウィンドウ92が表示されている。このとき、ウィンドウ92は、画面の上下方向にウィンドウに入りきらない情報93の一部を表示している。この時、クライアント端末1の入力デバイス31であるマウス94に搭載されているマウスホイール95を、手前方向に回転させると、ウィンドウ92の表示は、ウィンドウ92a、ウィンドウ92b、ウィンドウ92c、ウィンドウ92dと変化する。マウスホイール95の回転に合わせて、ウィンドウ92内の表示領域97は、表示領域97a、表示領域97b、表示領域97c、表示領域97dのように上に移動する。なお、動作を明示的に説明するため、表示領域97についてのみ記載したが、表示領域97の上下の表示領域についても同様に移動する。
【0059】
クライアント端末1を操作するユーザーが、マウスホイール95を連続的に回転させるのは、図11に示したような、現在表示されていない領域を素早く表示するために行なうことが多い。すなわち、マウスホイール95を回転させてから、画面表示が変化するのにタイムラグが発生し、操作に対する画面表示の追従性が失われると、ユーザーの操作感は大きく損なわれる。
【0060】
図12を参照して、画面情報生成処理部の動作を説明する。図12において、サーバ装置3の画面情報生成処理部43は、画面情報生成部151と削減制御部152で構成される。
【0061】
画面情報生成部151は、アプリケーション処理部44から入力された処理結果を基に、クライアント端末1で表示するための画面情報の生成を行なう。画面情報生成部151は、画面情報として削減制御部152に出力する。削減制御部152は、入力操作解析処理部42から画面情報削減要求、回線品質確認処理部46から回線品質情報の入力を受けつける。削減制御部152は、これらの情報をもとに、アプリケーション処理部44から入力された画面情報155の削減制御を行なう。削減制御部152は、削減処理後画面情報を、送信処理部45に出力する。削減制御部152は、削減制御を行なわないとき、受信した画面情報をそのまま送信処理部45に出力する。
【0062】
図13を参照して、画面情報削減要求153と回線品質情報154をもとに、削減制御部152が画面情報の削減量を決定する方法について説明する。図13において、削減処理前画面情報161は、画面情報を、時間経過に沿って左から右に並べたものである。また、削減処理後画面情報162〜167は、削減制御部152で削減制御された画面情報を、同様に時間経過に沿って左から右に並べたものである。
【0063】
操作に対する追従性を優先しない操作が行なわれている場合の動作を、削減処理後画面情報162を参照して説明する。キーボードによる文字入力など、操作に対する追従性を優先しない操作が行なわれている間は、入力操作解析処理部42は削減制御部152に対して画面情報削減要求153を行なわないため、削減制御部152は、回線品質確認処理部46からの回線品質情報154の状態に係わらず、削減処理前画面情報161を削減することなく、削減処理後画面情報162として出力する。なお、回線品質情報のd.c.は、don't careである。
【0064】
次に、操作に対する追従性を優先する操作が行なわれている場合の動作を、削減処理後画面情報163〜167を参照して説明する。
【0065】
マウスホイールによるスクロール操作など、操作に対する追従性を優先する操作が行なわれている間は、入力操作解析処理部42は削減制御部152に対して画面情報削減要求153を行なう。削減制御部152は、回線品質確認処理部46からの回線品質情報154をもとに、推定された回線品質のネットワークで大きな滞留なく送信可能なデータ量に、削減処理前画面情報161の情報量の削減を行ない、削減処理後画面情報163〜167として出力する。なお、削減処理後画面情報163は、削減処理前画面情報161と等しく削減を行なっていない。
【0066】
回線品質確認処理部46において測定された、クライアント端末とサーバ装置間のネットワークの回線品質は5段階に判定され、回線品質情報154として、品質の良いものから順に、5、4、3、2、1と設定され、削減制御部152で、画面情報の削減量の調整に使用される。なお、ここでは、回線品質を5段階に分類しているが、分類方法を限定するものではなく、段階を荒く、または細かくしても良い。
【0067】
回線品質情報154が「5」の場合、回線品質がもっとも良いため、削減処理前画面情報161は、全く削減されないか最低限の削減が行なわれ、削減処理後画面情報163として出力される。図13では、削減されない場合を示す。回線品質情報154が「4」の場合、回線品質が「5」に次いで良いため、削減処理前画面情報161は、回線品質情報154が「5」の場合より多くの削減が行なわれ、削減処理後画面情報164として出力される。ここでは、5つの画面情報のうち1つの画面情報を間引く場合を示す。なお、ここでは、5つの画面情報のうち1つの画面情報を間引いているが、削減処理後画面情報164のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報161のデータ量に応じて、画面情報の間引く割合を調整する。
【0068】
回線品質情報154が「3」の場合、回線品質が「4」に次いで良いため、削減処理前画面情報161は、回線品質情報154が「4」の場合より多くの削減が行なわれ、削減処理後画面情報165として出力される。ここでは、4つの画面情報のうち1つの画面情報を間引く場合を示す。なお、4つの画面情報のうち1つの画面情報を間引いているが、削減処理後画面情報165のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報161のデータ量に応じて、画面情報の間引く割合を調整する。
【0069】
回線品質情報154が「2」の場合は、回線品質が「3」に次いで良いため、削減処理前画面情報161は、回線品質情報154が「3」の場合より多くの削減が行なわれ、削減処理後画面情報166として出力される。ここでは、3つの画面情報のうち1つの画面情報を間引く場合を示す。なお、上記では、3つの画面情報のうち1つの画面情報を間引いているが、削減処理後画面情報166のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報161のデータ量に応じて、画面情報の間引く割合を調整する。
【0070】
回線品質情報154が「1」の場合は、回線品質が最悪であり、削減処理前画面情報161は、回線品質情報154が「2」の場合より多くの削減が行なわれ、削減処理後画面情報167として出力される。ここでは、2つの画面情報のうち1つの画面情報を間引く場合を示す。なお、上記では、2つの画面情報のうち1つの画面情報を間引いているが、削減処理後画面情報167のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報161のデータ量に応じて、画面情報の間引く割合を調整する。
【0071】
ここで、画面情報削減方法は、操作に対する追従性を優先する操作が行なわれている場合の動作を、回線品質情報154が変化しない場合として記載している。しかし、実際には、回線品質確認処理部46にて定期的に回線品質の測定が行なわれ、回線品質情報154が変動する。このため、回線品質情報154が「4」から「3」に変わった場合は、画面情報削減方法は、削減処理後画面情報164から削減処理後画面情報165に変化する。
【0072】
図14を参照して、他の画面情報削減方法を説明する。図14において、削減処理前画面情報171は、画面情報を、時間経過に沿って左から右に並べたものである。また、削減処理後画面情報172〜177は、削減制御部152で削減制御された削減後画面情報を、同様に時間経過に沿って左から右に並べたものである。
【0073】
操作に対する追従性を優先しない操作が行なわれている場合の動作を、削減処理後画面情報172を参照して説明する。キーボードによる文字入力など、操作に対する追従をしない操作が行なわれている間は、入力操作解析処理部42は削減制御部152に対して画面情報削減要求153を行なわないため、削減制御部152は、回線品質確認処理部46からの回線品質情報154の状態に係わらず、削減処理前画面情報171を削減することなく、削減処理後画面情報172として出力する。
【0074】
次に、操作に対する追従性を優先する操作が行なわれている場合の動作を、削減処理後画面情報173〜177を参照して説明する。マウスホイールによるスクロール操作など、操作に対する追従性を優先する操作が行なわれている間、入力操作解析処理部42は、削減制御部152に対して画面情報削減要求153を行なう。削減制御部152は、回線品質確認処理部46からの回線品質情報154をもとに、推定された回線品質のネットワークで大きな滞留なく送信可能なデータ量に、削減処理前画面情報171の情報量の削減を行ない、削減処理後画面情報173〜177として出力する。
【0075】
この時、図13では、情報量の削減方法として、画面情報を一定の割合で間引いていたが、間引いた画面情報は、クライアント端末1に送信されず、間引く量が多くなると連続性が損なわれ、滑らかに表示できない。このため、図14では、間引く代わりに、画面の解像度を落として画面情報の削減を行なう。
【0076】
回線品質情報154が「5」の場合は、回線品質がもっとも良いため、削減処理前画面情報171は、全く削減されないか最低限の解像度低減が行なわれ、削減処理後画面情報163として出力される。ここでは、解像度低減がされない場合を示す。
【0077】
回線品質情報154が「4」の場合、回線品質が「5」に次いで良いため、削減処理前画面情報171は、回線品質情報154が「5」の場合より多くの削減を行ない、削減処理後画面情報174として出力する。ここでは、3つの画面情報のうち1つの画面情報の解像度を落とす場合を示す。
【0078】
削減処理後画面情報174において、解像度を落とさない画面情報178を実線、解像度を落とす場合の画面情報179を点線で示す。削減制御部152は、解像度を落とさない画面情報178を2つ出力した後、例えばデータ量を5分の1となるように解像度を落した画面情報179を1つ出力し、以降同様に、画面情報の出力を行なう。
【0079】
なお、上記では3つの画面情報のうち1つの画面の解像度を落としているが、削減処理後画面情報174のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報171のデータ量に応じて、画面の解像度を落とす割合を調整する。
【0080】
回線品質情報154が「3」の場合、回線品質が「4」に次いで良いため、削減処理前画面情報171は、回線品質情報154が「4」の場合より多くの解像度低減が行なわれ、削減処理後画面情報175として出力される。ここでは、2つの画面情報のうち1つの画面情報の解像度を落とす場合を示す。削減制御部152は、解像度を落とさない画面情報を1つ出力した後、データ量を5分の1となるように解像度を落した画面情報を1つ出力し、以降同様に、画面情報の出力を行なう。
【0081】
なお、上記では2つの画面情報のうち1つの画面の解像度を落としているが、削減処理後画面情報175のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報171のデータ量に応じて、画面の解像度を落とす割合を調整する。
【0082】
回線品質情報154が「2」の場合は、回線品質が「3」に次いで良いため、削減処理前画面情報171は、回線品質情報154が「3」の場合より多くの解像度低減が行なわれ、削減処理後画面情報176として出力される。ここでは、3つの画面情報のうち2つの画面情報の解像度を落とす場合の例を示す。削減制御部152は、解像度を落とさない画面情報を1つ出力した後、データ量を5分の1となるように解像度を落した画面情報を2つ出力し、以降同様に、画面情報の出力を行なう。
【0083】
なお、上記では3つの画面情報のうち2つの画面の解像度を落としているが、削減処理後画面情報176のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報171のデータ量に応じて、画面の解像度を落とす割合を調整する。
【0084】
回線品質情報154が「1」の場合は、回線品質が最も悪いため、削減処理前画面情報171は、回線品質情報154が「2」の場合より多くの解像度低減が行なわれ、削減処理後画面情報177として出力される。ここでは、4つの画面情報のうち3つの画面情報の解像度を落とす場合の例を示す。削減制御部152は、解像度を落とさない画面情報を1つ出力した後、データ量を5分の1となるように解像度を落した画面情報を3つ出力し、以降同様に、画面情報の出力を行なう。
【0085】
なお、上記では4つの画面情報のうち3つの画面の解像度を落としているが、削減処理後画面情報177のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報171のデータ量に応じて、画面の解像度を落とす割合を調整する。
【0086】
上記の画面情報削減方法では、操作に対する追従性を優先する操作が行なわれている場合の動作を、回線品質情報154が変化しない場合として記載している。しかし、実際には、回線品質確認処理部46にて定期的に回線品質の測定が行なわれ、回線品質情報154が変動する。このため、回線品質情報154が「4」から「3」に変わった場合は、画面情報削減方法は、削減処理後画面情報174から削減処理後画面情報175に変化する。
【0087】
上記の画面情報削減方法は、解像度を落とさない画面情報と、解像度を落とした画面情報を交互に送信し、また、送信の割合を変化させることにより、削減量を変化させる削減方法である。そのため、画面情報を削減した場合でも、解像度を落とした画像がクライアント端末1で表示されるため、削減量が多い場合でも、ある程度の表示の滑らかさが得られる。しかし、解像度を動的に変化させるため、図13の画面情報削減方法より、処理が複雑になり、サーバ装置3の負担が増える可能性がある。このため、適用するシンクライアントシステムの要求条件により、図13の第1の方法または図14の第2の方法のどちらかを選択しても良い。
【0088】
また、入力操作解析処理部42から削減制御部152に出力される画面情報削減要求153に、操作に対する追従性を優先する即時応答要求操作の操作種別を追加し、削減制御部152では、入力操作解析処理部42から入力された操作種別によって2つの画面情報削減方法を切り換えても良い。
【0089】
図15を参照して、サーバ装置3からクライアント端末1の画面情報送信方法を説明する。図15において、サーバ装置3とクライアント端末1を接続するネットワーク2の回線品質は、良好である。サーバ装置3から送信される画面情報101aは、ネットワーク2を通過し、クライアント端末1に表示される。なお、縦方向は時間経過を表しており、次にサーバ装置から送信される画面情報101bは、同様にクライアント端末1に表示される。以降、画面情報101c、画面情報101d、画面情報101e、画面情報101fも、同様にクライアント端末に表示される。この時、ネットワーク2の回線品質は良好であり、サーバ側において、画面情報101aから画面情報101fを順次送信した場合でも、ネットワーク2において滞留は発生せず、クライアント端末1で表示するまでの遅延dが大きくなることはない。
【0090】
図16を参照して、サーバ装置3とクライアント端末1を接続するネットワーク2の回線品質が悪い状態において、画面情報の削減を行なわない場合の動作を説明する。図16において、サーバ装置3から送信される画面情報111aは、ネットワーク2を通過し、クライアント端末1に表示される。なお、図の縦方向は時間経過を表しており、次にサーバ装置から送信される画面情報111bは、同様にクライアント端末1に表示される。以降、画面情報111c、画面情報111d、画面情報111e、画面情報111fも、同様にクライアント端末に表示される。この時、ネットワーク2の回線品質が悪く、画面情報を送るための十分な通信帯域が確保されていないため、クライアント端末1における画面情報の受信に遅延Dが発生する。この結果、サーバ装置3から画面情報111a〜111fが送信される間隔に対して、クライアント端末1で画面が表示される間隔が長くなる。このような状態では、クライアント端末1における入力操作に対して、画面表示111b〜111fに遅延が発生する。
【0091】
図17を参照して、サーバ装置3とクライアント端末1を接続するネットワーク2の回線品質が悪い場合において、操作に対する追従性を優先する場合に、サーバ装置からクライアント端末に送信される画面情報が削減される場合の動作について説明する。なお、画面情報削減方法としては、図13を参照して説明した第1の方法で説明する。図17において、サーバ装置3の画面情報生成処理部44は、入力操作解析処理部42から画面情報削減要求の入力を受けた時、クライアント端末1に送信する画面情報を一定の割合で間引き、画面情報の送信量を削減する。この時、一定の割合で間引かれる画面情報の割合は、回線品質確認処理部46により入力された回線品質情報により決定される。回線品質が良い場合は、間引く割合を減らし、回線品質が悪くなるに従い、間引く割合を多くする。
【0092】
図17において、サーバ装置3は、画面情報121aを送信した後、次の画面情報121bについて、画面情報生成処理部44において削除し、クライアント端末1に送信しない。サーバ装置3は、画面情報121c、画面情報121dを送信した後、画面情報121eについて削除する。一方、画面情報121fは送信される。
【0093】
画面情報の間引きが発生するため、クライアント端末1に表示される画面表示は、画面表示121a、画面表示121c、画面表示121d、画面表示121fとなり、一部の画面情報は表示されない。しかし、送受信するデータ量を減らすことにより、サーバ装置3からクライアント端末1に画面情報を送信する時に発生する遅延dを減少させることができる。
【0094】
本実施例によれば、シンクライアントシステムにおいて、ユーザーの操作に対して、追従性が要求される処理の応答性が改善される。また、品質の異なるネットワークや品質が動的に変化するネットワークを介して接続された場合でも、回線品質に応じて柔軟な画面表示が可能である。
【符号の説明】
【0095】
1…クライアント端末、2…ネットワーク、3…サーバ装置、4…シンクライアントシステム、31…入力デバイス、32…入力操作情報作成部、33…送信処理部、34…受信処理部、35…画面表示処理部、36…表示デバイス、37…回線品質確認処理部、41…受信処理部、42…入力操作解析処理部、43…アプリケーション処理部、44…画面情報生成処理部、45…送信処理部、46…回線品質確認処理部、84…回線品質確認パケット、85…時刻、86…識別番号、91…画面、92…ウィンドウ、93…情報、94…マウス、95…マウスホイール、97…表示領域、101…画面情報、102…画面表示、111…画面情報、112…画面表示、121…画面情報、122…画面表示、132…デバイス種別、133…操作内容、134…時刻、135a…文字キー、135b…カーソルキー、135c…機能キー、135d…X、Y、135e…回転方向、変化量、136a…キーボード、136b…マウスポインタ、136c…マウスホイール、141…時刻、142…時刻、143…時刻、144…時刻、151…画面情報生成部、152…削減制御部、161…削減処理前画面情報、162〜167…削減処理後画面情報、171…削減処理前画面情報、172〜177…削減処理後画面情報、178…解像度を落とさない画面情報、179…解像度を落とした画面情報。
【技術分野】
【0001】
本発明は、シンクライアントシステムおよびサーバ装置に係り、特にネットワークの品質に応じた処理を行なうシンクライアントシステムおよびサーバ装置に関する。
【背景技術】
【0002】
企業などにおいて、社員が使うクライアント端末に最低限の機能しか持たせず、ネットワークを介して接続されたサーバ装置側でアプリケーションソフトやファイルなどの資源を管理するシンクライアントシステムが注目を浴びている。
【0003】
シンクライアントシステムでは、クライアント端末から送られた操作情報をもとに、サーバ装置でアプリケーションなどの処理が行なわれ、その処理結果が反映された画面情報がクライアント端末に送信される。
【0004】
初期のシンクライアントシステムは企業内のローカルエリアネットワーク(以後LANと記載)など、一定の通信品質が確保されたネットワークで運用されるのが一般的であったが、WAN(Wide Area Network)、無線LAN(Local Area Network)やモバイルネットワークなど無線にて接続されるネットワークなど、色々な通信品質のネットワークが普及し、シンクライアントシステムもこれら通信品質の異なるネットワークを介して接続されるようになってきた。
【0005】
モバイルネットワークなど通信速度の遅いネットワークを介して接続した場合、サーバ装置からクライアント端末に、画面情報のデータを送信するのに遅延が発生し、画面表示に時間がかかるなどの問題が発生する。このため、画像を圧縮して送信し、前画面と次画面の差分を比較して、差分情報のみを送信するなどの一般的な画像圧縮技術に加えて、ユーザーによるウィンドウ操作など、シンクライアントシステムに特有な画面表示特性に着目し、特許文献1のようにユーザーによるウィンドウの移動を、ポインタカーソルの移動情報から検出し、マウスのドラッグ操作によるウィンドウの移動操作時において、クライアント端末に送信する画像情報を削減する技術が提案されている。
【0006】
また、端末の入力デバイスは、キーボードやマウスなど従来からの入力デバイスに加えて、ホイール付きマウス、マルチタッチ対応のタッチパネルやトラックパッドなどが普及し、マウスホイールよるスクロールや、タッチパネルによるピンチイン(縮小)やピンチアウト(拡大)など、ユーザー操作に対して画面表示の高い追従性が要求される操作が多くなっている。
【先行技術文献】
【特許文献】
【0007】
【特許文献1】特開2008−225516号公報
【発明の概要】
【発明が解決しようとする課題】
【0008】
シンクライアントシステムを回線品質の異なるネットワークを介して接続する場合に、回線の通信品質により、クライアント端末とサーバ装置間で送受信するデータ量や送信方法を変えることにより、一定の操作性や画面表示のレスポンスを確保するという課題がある。
【0009】
また、モバイルネットワークのように、移動や電波状態の変化などにより、通信品質が大きく変化する場合でも、逐次回線品質を把握し、クライアント端末とサーバ装置間で送受信するデータ量や送信方法を動的に変化させることにより、一定の操作性や画面表示のレスポンスを確保するという課題がある。
【0010】
また、シンクライアントシステムでは、クライアント端末でユーザーが操作した情報がネットワークを介してサーバ装置に送られ、サーバ装置で処理された結果がネットワークを介してクライアント端末に送信され、クライアント端末で表示されるため、ユーザーが操作を行なってから、表示されるのにタイムラグが発生する。
【0011】
キーボードの文字キーによる文字入力、カーソルキーによるカーソルの移動などは、入力操作に対する表示内容の変化が小さく、クライアント端末とサーバ装置間で送受信されるデータ量が少ない。このため、ネットワークの回線品質が悪く、通信帯域が確保できない場合でも、大きなタイムラグは発生しない。しかし、マウスホイールよるスクロール、タッチパネルによるピンチイン(縮小)やピンチアウト(拡大)などの操作は、入力操作に対する表示内容の変化が大きく、サーバ装置からクライアント端末に送信されるデータ量が多い。このため、ネットワークの回線品質が悪く、通信帯域が確保できない場合には、大きなタイムラグが発生する。このとき、ホイール操作の速度や回転量、タッチパネルのピンチ操作の速度や操作幅は、操作するユーザーが表示内容の変化速度や変化量を指示する情報である。このため、操作に対する画面表示のフィードバックが遅れると、ユーザーが必要以上にホイール操作を行なってしまうなど、操作感が大きく損なわれる。
【0012】
一方で、ユーザーがスクロールや拡大・縮小の操作を行なう場合、スクロール、拡大・縮小などの操作に対するフィードバックを画面上でリニアに確認できることが求められ、変化中の表示内容は、変化量が把握できれば表示内容の品質は求められない。
【0013】
また、シンクライアントシステムでは、メールを読むこと、ドキュメント作成や動画再生など、表示開始に多少時間がかかっても、画面の表示品質が重要な操作と、ユーザー操作に対して画面表示の高い追従性が要求される操作があり、ユーザーの操作内容により、画面の表示の品質を優先するか、操作に対する追従性を優先するかを判断し、ユーザーの要求に従った画面表示を行なうという課題がある。
【0014】
特許文献1で提案されている方法では、マウスによるウィンドウの移動という特定な操作においてのみ、操作に対する追従性の改善が期待できる。しかし、マウスホイールによりウィンドウ内の表示内容をスクロールする場合や、タッチパネルによるピンチイン(縮小)やピンチアウト(拡大)など、表示内容が変化する場合には適用できない。
【課題を解決するための手段】
【0015】
上述した課題は、ネットワークで接続されたクライアント端末と、サーバ装置とを含むシンクライアントシステムにおいて、クライアント端末は、入力された操作情報をネットワークを介してサーバ装置に送信し、サーバ装置は、受信した操作情報に基づいて、アプリケーションの処理を行ない、処理結果に基づいて、画像情報を生成し、この画像情報をネットワークを介してクライアント端末に送信し、クライアント端末は、受信した画像情報を表示し、クライアント端末およびサーバ装置は、ネットワークの回線品質を測定する回線品質確認処理部をそれぞれ備え、サーバ装置は、回線品質に基づいて、画像情報のデータ量を決定するシンクライアントシステムにより、達成できる。
【0016】
また、ネットワークで接続されたクライアント端末から操作情報を受信して、アプリケーションの処理を行ない、処理結果に基づいて、画像情報を生成し、この画像情報をネットワークを介してクライアント端末に送信するサーバ装置において、ネットワークの回線品質を測定する回線品質確認処理部を備え、回線品質に基づいて、画像情報のデータ量を決定するサーバ装置により、達成できる。
【発明の効果】
【0017】
本発明によれば、シンクライアントシステムにおいて、ユーザーの操作に対して、追従性が要求される処理の応答性が改善される。また、品質の異なるネットワークや品質が動的に変化するネットワークを介して接続された場合でも、回線品質に応じて柔軟な画面表示が可能となる。
【図面の簡単な説明】
【0018】
【図1】シンクライアントシステムの構成を説明するブロック図である。
【図2】クライアント端末とサーバ装置間の通信内容を説明するブロック図である。
【図3】クライアント端末のブロック図である。
【図4】サーバ装置のブロック図である。
【図5】入力操作情報を説明する図である。
【図6】クライアント端末における入力操作処理のフローチャートである。
【図7】クライアント端末における画面表示処理のフローチャートである。
【図8】サーバ装置におけるフローチャートである。
【図9】回線品質確認のシーケンス図である。
【図10】入力操作情報を説明する図である。
【図11】画面表示の変化を説明する図である。
【図12】画面情報生成処理部の処理を説明するブロック図である。
【図13】削減処理後の画面情報を説明する図(その1)である。
【図14】削減処理後の画面情報を説明する図(その2)である。
【図15】サーバ装置とクライアント端末間の遅延を説明する図(その1)である。
【図16】サーバ装置とクライアント端末間の遅延を説明する図(その2)である。
【図17】サーバ装置とクライアント端末間の遅延を説明する図(その3)である。
【発明を実施するための形態】
【0019】
以下、本発明の実施の形態について、実施例を用い図面を参照して詳細に説明する。なお、実質同一部位には同じ参照番号を振り、説明は繰り返さない。
【0020】
図1を参照して、シンクライアントシステムを説明する。図1において、シンクライアントシステム4は、クライアント端末1と、サーバ装置3とで構成される。クライアント端末1とサーバ装置3は、ネットワーク2を介して接続される。図1では、3台のクライアント端末1−1、1−2、1−3がサーバ装置3に接続されている。しかし、これは、クライアント端末の台数を制限するものではなく、任意のクライアント端末が接続可能である。また、ネットワーク2は、有線または無線、LANまたはWANなど接続形式を限定するものではない。ネットワーク2は、異なる接続形式のネットワークが混在、または複数のネットワークを経由して接続されても良い。
【0021】
図2を参照して、クライアント端末とサーバ装置間の通信内容を説明する。図2において、クライアント端末1で入力された入力操作情報は、サーバ装置3に送信される。サーバ装置3は、受信した入力操作情報をもとに処理を行なう。サーバ装置3は、処理結果を画面情報として、クライアント端末1に送信する。クライアント端末1は、画面情報に基づいて、画面表示する。
【0022】
図3を参照して、クライアント端末の構成を説明する。図3において、クライアント端末1は、入力デバイス31と、入力操作情報作成部32と、送信処理部33と、受信処理部34と、画面表示処理部35と、表示デバイス36と、回線品質確認処理部37との各機能ブロックで構成される。
【0023】
入力デバイス31は、キーボード、マウスまたはトラックパッドなどのポインティングデバイス、タッチパネルなどを備える。入力デバイス31は、ユーザーのキー入力やポインティングデバイス操作などの操作内容を入力操作情報作成部32に出力する。
【0024】
入力操作情報作成部32は、操作内容を解析し、サーバ装置3に送信するための入力操作情報の生成を行なう。入力操作情報作成部32は、入力操作情報を送信処理部33に出力する。
【0025】
送信処理部33は、入力操作情報作成部32から入力された入力操作情報を、ネットワーク2を介してサーバ装置3に送信する。受信処理部34は、ネットワーク2を介して、サーバ装置3から画面情報を受信する。受信処理部34は、画面情報を画面表示処理部35に出力する。
【0026】
画面表示処理部35は、入力された画面情報から、表示デバイス36で表示するための画面表示を作成する。画面表示処理部35は、画面表示を表示デバイス36に出力する。表示デバイス36は、液晶ディスプレイなどである。表示デバイス36は、画面表示処理部35から入力された画面の表示を行なう。回線品質確認処理部37は、クライアント端末1とサーバ装置3を接続するネットワーク2の回線品質を確認するための処理を行なう。
【0027】
クライアント端末1は、上述した機能ブロックを備える端末である。クライアント端末1は、入力デバイス31および表示デバイス36の種類を限定するものでない。クライアント端末1は、キーボードとディスプレイを備えるノートPCやデスクトップPCのような形態だけでなく、タッチパネルを備えたスマートフォンやタブレット端末のような形態でも良い。
【0028】
図4を参照して、サーバ装置の構成を説明する。図4において、サーバ装置3は、受信処理部41と、入力操作解析処理部42と、アプリケーション処理部43と、画面情報生成処理部44と、送信処理部45と、回線品質確認処理部46との各機能ブロックで構成される。
【0029】
受信処理部41は、クライアント端末1からネットワーク2を介して送信された入力操作情報を受信する。受信処理部41は、入力操作情報を入力操作解析処理部42に出力する。入力操作解析処理部42は、入力された入力操作情報から操作内容の解析を行ない、アプリケーション処理部43に出力する。入力操作解析処理部42は、また、ユーザーが操作に対する画面表示の即時応答が求められる操作を行なったかの判定を行なう。入力操作解析処理部42は、画面情報生成処理部44に対して、画面情報削減要求を行なう。これらの詳細については図8のフローチャートを参照して後述する。
【0030】
アプリケーション処理部43は、入力操作の内容に従いアプリケーションの処理を行なう。アプリケーション処理部43は、処理結果を画面情報生成処理部44に出力する。画面情報生成処理部44は、アプリケーション処理部43から入力された処理結果をもとに、クライアント端末1に送信するための画面情報の生成処理を行なう。画面情報生成処理部44は、画面情報を送信処理部45に出力する。送信処理部45は、入力された画面情報を、ネットワーク2を介してクライアント端末1に送信する。回線品質確認処理部46は、クライアント端末1とサーバ装置3を接続するネットワーク2の回線品質を確認する処理を行なう。
【0031】
次に、クライアント端末1の動作について説明する。まず、図5と図6を参照して、クライアント端末1の入力操作処理について説明する。
図5を参照して、入力操作情報を説明する。図5において、入力操作情報は、時刻131と、デバイス種別132と、操作内容133とで構成される。
【0032】
時刻131は、入力デバイスから入力された時刻134a〜134iが登録される。行134aの10:32:05:50は、10時32分05秒50を表わす。ここでは、クライアント端末の時刻情報から250ミリ秒単位にサンプリングされた時刻を入力操作情報の時刻131として登録している。しかし、入力操作の操作間隔が判定できればよく、時刻の精度を限定するものではない。また、一定周期で増減するタイマーカウンタのカウンタ値を時刻情報としても良い。
【0033】
デバイス種別としては、キーボード136a、マウスポインタ136b、マウスホイール136cなどがある。入力捜査情報は、デバイス種別ごとに操作内容133が定義されている。行134aのデバイス種別132がキーボード136aの場合、文字キー:A(135a)、カーソル:→(135b)、機能キー:F1(135c)などキーボードから入力されたキー情報が操作内容133として登録される。また、デバイス種別132がマウスポインタ136bの場合、マウスの移動による、X軸方向およびY軸方向の移動量X=+8、Y=−3(135d)が、操作内容133として登録される。また、デバイス種別132がマウスホイール(行134c)の場合は、マウスに搭載されたホイールの回転による、回転方向:上、変化量:6(135e)など操作情報が、操作内容133として登録される。
【0034】
なお、図5に記載の入力操作情報は、時刻131の記載方法、デバイス種別132の種類、操作内容133の記載方法を限定するものではない。また、時刻131、デバイス種別132、操作内容133以外の情報を入力操作情報としても良い。
【0035】
図6を参照して、クライアント端末1における入力操作処理のフローを説明する。図6において、クライアント端末1は、入力デバイス31から入力操作があったかの判定を行なう(S51)。入力がない場合(NO)、クライアント端末1は、再びステップ51に遷移する。ステップ51で入力があった場合(YES)、クライアント端末1は、入力デバイス31の操作内容を作成する(S52)。クライアント端末1は、作成した入力操作情報を送信して(S53)、終了する。
【0036】
より詳細には、入力操作情報作成部32は、デバイス種別132、操作内容133の解析を行なう。入力操作情報作成部32は、キー入力情報、ポインティングデバイスの位置情報、マウスホイールの変化方向や変化量などの情報を、入力デバイスから入力された時刻と共に入力操作情報として作成し、送信処理部33に出力する(S52)。送信処理部33は、入力操作情報作成部32から入力された入力操作情報を、ネットワーク2を介してサーバ装置3に送信する(S53)。
【0037】
次に、図7を参照して、クライアント端末1の画面表示処理について説明する。図7において、クライアント端末1は、画像情報を受信する(S61)。クライアント端末1は、画像を生成する(S62)。クライアント端末1は、画像を表示して(S63)、終了する。
【0038】
詳細には、受信処理部34は、サーバ装置3からネットワーク2を介して、画面情報を受信し、画面表示処理部35に出力する(S61)。画面表示処理部35は、入力された画面情報から、画像の復号などを行ない、表示デバイス36で表示するための画面表示情報の生成を行ない、表示デバイス36に出力する(S62)。表示デバイス36は、画面表示処理部35から入力された画面表示情報の表示を行なう(S63)。
【0039】
図8を参照して、サーバ装置3の処理について説明する。図8において、サーバ装置3は、入力操作情報を受信する(S71)。サーバ装置3は、入力操作内容を解析する(S72)。サーバ装置3は、即時応答要求操作が必要か判定する(S73)。YESのとき、サーバ装置3は、画面情報削減要求処理を実行する(S74)。ステップ73でNOまたはステップ74のあと、サーバ装置3は、アプリケーション処理を実行する(S75)。サーバ装置3は、画面情報生成処理を実行する(S76)。サーバ装置3は、画面情報を送信して(S77)、終了する。
【0040】
詳細には、受信処理部41は、クライアント端末1からネットワーク2を介して、入力操作情報を受信し、入力操作解析処理部42に出力する(S71)。入力操作解析処理部42は、入力操作情報の解析を行ない、アプリケーション処理部43で使用できるデータ形式に変換して出力する(S72)。この時、組合せ操作機能を持つShiftキー、Ctrlキー、Altキーが、他の文字キーなどと同時入力される判定、マウスのクリックボタンを押しながらマウスが移動される(ドラッグ操作)判定などが行なわれる。
【0041】
また、入力操作解析処理部42は、入力操作情報の解析を行ない、操作内容が、即時応答を必要とする操作であるかの判定を行なう。この判定の動作については、図10の入力操作情報を参照して後で説明する。なお、ここでは、マウスホイールの回転を説明したが、即時応答が要求される操作として、マウスによるドラッグ操作や、タッチパネルにおけるピンチイン(縮小)、ピンチアウト(拡大)などを含めても良い。
【0042】
即時応答が要求される操作と判定した場合(S73:YES)、画面情報生成処理部44に対して画面情報削減要求を行なう(S74)。即時応答が要求される操作と判定しなかった場合(S73:NO)、フローチャートのアプリケーション処理(S75)に移行する。
【0043】
アプリケーション処理部43は、入力操作解析処理部42から入力された情報をもとにアプリケーション処理を実行し、処理結果を画面情報生成処理部44に出力する(S75)。画面情報生成処理部44は、アプリケーション処理部43から入力された処理結果をもとに、クライアント端末1で表示するための画面情報の生成や、画像の符号化を行ない、送信処理部45に出力する(S76)。送信処理部45は、画面情報生成処理部44から入力された画面情報を、ネットワーク2を介してクライアント端末に送信する(S77)。
【0044】
なお、入力操作解析処理部42において、クライアント端末1からの入力操作情報が、入力操作に対して画面表示の即時応答が要求されると判定され、画面情報削減要求がされた場合における画面情報生成処理部44の動作については、図11ないし図14を参照して、後で説明する。
【0045】
図9を参照して、クライアント端末1とサーバ装置3を接続するネットワーク2の回線品質確認の処理について説明する。図9において、サーバ装置3の回線品質確認処理部46は、回線品質確認パケット84を作成し、送信処理部45を経由してクライアント端末に送信する(S81)。回線品質確認パケット84は、時刻85と識別番号86のフィールドを持ち、時刻85フィールドにはパケット作成時の時刻情報、識別番号86フィールドには各パケットを識別するための番号が設定される。
【0046】
次に、クライアント端末1の回線品質確認処理部37は、受信処理部34を経由して受信した回線品質確認パケット84を、フィールド値を変更せずに直ちに送信処理部33を経由してサーバ装置3に返送する(S82)。
【0047】
サーバ装置3の回線品質確認処理部46は、クライアント端末1から返送された回線品質確認パケット84を、受信処理部41を経由して受信し(S83)、時刻85フィールドに設定された時刻と、受信時の時刻を比較して応答時間を算出する。回線品質が良いネットワークでは応答時間が短く、回線品質が悪いネットワークでは応答時間が長くなる。したがって、該応答時間の長短により、回線品質を推定することができる。
【0048】
また、サーバ装置3の回線品質確認処理部46は、この回線品質確認を定期的に行なう。サーバ装置3の回線品質確認処理部46は、回線品質確認処理により取得した回線品質情報を、画面情報生成処理部44に出力する。
【0049】
この時、1つの回線品質確認パケット84の応答時間のみで推定を行なうのではなく、複数個の回線品質確認パケット84の応答時間の平均値を算出し、ネットワークの瞬間的な揺らぎによる推定精度の悪化を抑えても良い。また、識別番号86から、ネットワーク上で廃棄され、応答のない回線品質確認パケット84の数を計測し、計測したパケットロス率などを回線品質の推定情報として加えても良い。
【0050】
なお、ここでは、回線品質確認パケット84を使用して、回線品質の確認を行なったが、pingの応答時間やTCP(Transmission Control Protocol)のRTT(Round Trip Time)など、一般的に使用されている方法で回線品質の確認を行なっても良い。
【0051】
図10を参照して、入力操作解析処理部42における、操作内容が、即時応答を必要とする操作であるかの判定動作について説明する。図10において、時刻131が10:29:01:00の入力操作情報141は、デバイス種別132がキーボードで、操作内容133が文字キー:Aであるので、10時29分01秒00にキーボードの文字キー「A」が押されたことを表している。キーボードによる文字入力などの操作は、入力操作に対する画面表示の変化が小さく、クライアント端末に送信する画面情報のデータ量が少ないため、クライアント端末での画面表示に遅延は発生しない。また、ユーザーは、自分がキーボードで入力した文字が正しいかどうかを、クライアント端末の画面表示で確認するため、操作に対する追従性を優先するのではなく、画面表示の品質を優先する操作であると判定される。したがって、キーボード入力をしている間は、入力操作解析処理部42は画面情報生成処理部43に対して、画面情報削減要求を行なわない。
【0052】
次に、時刻131が10:29:10:00から10:29:10:75の入力操作情報(142a〜142d)は、デバイス種別132がマウスホイールで、マウスホイールが連続して高速に回転されていることを表わしている。マウスホイールが連続して回線され、また、変化量が大きいこのような入力操作は、ユーザーがウィンドウ表示のスクロールを実施している場合などに発生し、入力操作に対して画面表示の変化が大きく、クライアント端末に送信する画面情報のデータ量が非常に多い。このため、ネットワークの回線品質が悪い場合には、クライアント端末での画面表示に遅延が発生する。また、ユーザーがマウスホイールでウィンドウ表示のスクロールを行なうのは、現在ウィンドウ上に表示されていない範囲の情報をすばやく表示しようとする場合である。すなわち、ユーザーはマウスホイールの回転よるスクロール量を把握できればよく、変化中の画面表示の品質が多少悪くても、操作に対するフィードバックを表示画面上でリニアに確認できればよい。つまり、画面表示の品質を優先するのではなく、操作に対する追従性を優先する即時応答要求操作であると判定される。この結果、この操作をしている間は、入力操作解析処理部42は画面情報生成処理部43に対して、画面情報削減要求154を行なう。
【0053】
次に、時刻131が10:30:50:75の入力操作情報143は、デバイス種別132がマウスホイールで、前記の入力操作情報(142a〜142d)と同じく、マウスホイールが回転されていることを表わしている。しかし、マウスホイールの入力操作が連続しておらず、変化量も「1」と小さい。このため、入力操作に対する画面表示の変化が小さく、クライアント端末に送信する画面情報のデータ量が少なく、クライアント端末での画面表示に遅延は発生しない。この時、操作に対する画面表示の内容が正しく判別できることが求められるため、操作に対する追従性を優先するのではなく、画面表示の品質を優先する操作であると判定される。すなわち、この操作をしている間は、入力操作解析処理部42は画面情報生成処理部43に対して、画面情報削減要求154を行なわない。
【0054】
次に、時刻131が10:33:07:25から10:33:13:25の入力操作情報(144a〜144e)の判定について説明する。時刻131が10:33:07:25の入力操作情報144aは、デバイス種別132がキーボードで、操作内容133が機能キー:Ctrl、設定であり、他の入力操作との組合せ操作機能を持つCtrlキーが押されている状態を表わしている。時刻131が10:33:10:00から10:33:10:50の入力操作情報(144b〜144d)は、デバイス種別132がマウスホイールで、マウスホイールが連続して高速に回転されていることを表している。時刻131が10:33:13:25の入力操作情報144eは、デバイス種別132がキーボードで、操作内容133が機能キー:Ctrl、解除であり、入力操作144aで押されたCtrlキーが解除されたことを表わしている。
【0055】
一連の入力操作(144a〜144e)は、ユーザーが組合せ操作機能を持つCtrlキーを押しながら、マウスホイールを連続的に回転させたことを示しており、ユーザーがウィンドウ表示の拡大・縮小を実施している場合などに発生する。この操作は、入力操作に対して画面表示の変化が大きく、クライアント端末に送信する画面情報のデータ量が非常に多い。このため、ネットワークの回線品質が悪い場合には、クライアント端末での画面表示に遅延が発生する。また、スクロール操作と同様に、ユーザーは、マウスホイールの回転よる拡大・縮小の変化量を把握できればよい。すなわち、変化中の画面表示の品質が多少悪くても、操作に対するフィードバックを表示画面上でリニアに確認できればよい。したがって、画面表示の品質を優先するのではなく、操作に対する追従性を優先する即時応答要求操作であると判定される。すなわち、この操作をしている間は、入力操作解析処理部42は画面情報生成処理部43に対して、画面情報削減要求154を行なう。
【0056】
なお、ここでは、マウスホイールの回転を例に説明したが、即時応答が要求される操作として、マウスによるドラッグ操作、タッチパネルにおけるピンチイン(縮小)、ピンチアウト(拡大)などを含めても良い。
【0057】
次に、図11ないし図14を参照して、画面情報生成処理部44が回線品質に応じて画面情報の削減を行なう動作について説明する。
まず、図11を参照して、マウスホイールの操作が行なわれた場合における、画面表示の変化を説明する。
【0058】
図11において、画面91は、クライアント端末1の表示デバイス36に表示される画面である。画面91内にウィンドウ92が表示されている。このとき、ウィンドウ92は、画面の上下方向にウィンドウに入りきらない情報93の一部を表示している。この時、クライアント端末1の入力デバイス31であるマウス94に搭載されているマウスホイール95を、手前方向に回転させると、ウィンドウ92の表示は、ウィンドウ92a、ウィンドウ92b、ウィンドウ92c、ウィンドウ92dと変化する。マウスホイール95の回転に合わせて、ウィンドウ92内の表示領域97は、表示領域97a、表示領域97b、表示領域97c、表示領域97dのように上に移動する。なお、動作を明示的に説明するため、表示領域97についてのみ記載したが、表示領域97の上下の表示領域についても同様に移動する。
【0059】
クライアント端末1を操作するユーザーが、マウスホイール95を連続的に回転させるのは、図11に示したような、現在表示されていない領域を素早く表示するために行なうことが多い。すなわち、マウスホイール95を回転させてから、画面表示が変化するのにタイムラグが発生し、操作に対する画面表示の追従性が失われると、ユーザーの操作感は大きく損なわれる。
【0060】
図12を参照して、画面情報生成処理部の動作を説明する。図12において、サーバ装置3の画面情報生成処理部43は、画面情報生成部151と削減制御部152で構成される。
【0061】
画面情報生成部151は、アプリケーション処理部44から入力された処理結果を基に、クライアント端末1で表示するための画面情報の生成を行なう。画面情報生成部151は、画面情報として削減制御部152に出力する。削減制御部152は、入力操作解析処理部42から画面情報削減要求、回線品質確認処理部46から回線品質情報の入力を受けつける。削減制御部152は、これらの情報をもとに、アプリケーション処理部44から入力された画面情報155の削減制御を行なう。削減制御部152は、削減処理後画面情報を、送信処理部45に出力する。削減制御部152は、削減制御を行なわないとき、受信した画面情報をそのまま送信処理部45に出力する。
【0062】
図13を参照して、画面情報削減要求153と回線品質情報154をもとに、削減制御部152が画面情報の削減量を決定する方法について説明する。図13において、削減処理前画面情報161は、画面情報を、時間経過に沿って左から右に並べたものである。また、削減処理後画面情報162〜167は、削減制御部152で削減制御された画面情報を、同様に時間経過に沿って左から右に並べたものである。
【0063】
操作に対する追従性を優先しない操作が行なわれている場合の動作を、削減処理後画面情報162を参照して説明する。キーボードによる文字入力など、操作に対する追従性を優先しない操作が行なわれている間は、入力操作解析処理部42は削減制御部152に対して画面情報削減要求153を行なわないため、削減制御部152は、回線品質確認処理部46からの回線品質情報154の状態に係わらず、削減処理前画面情報161を削減することなく、削減処理後画面情報162として出力する。なお、回線品質情報のd.c.は、don't careである。
【0064】
次に、操作に対する追従性を優先する操作が行なわれている場合の動作を、削減処理後画面情報163〜167を参照して説明する。
【0065】
マウスホイールによるスクロール操作など、操作に対する追従性を優先する操作が行なわれている間は、入力操作解析処理部42は削減制御部152に対して画面情報削減要求153を行なう。削減制御部152は、回線品質確認処理部46からの回線品質情報154をもとに、推定された回線品質のネットワークで大きな滞留なく送信可能なデータ量に、削減処理前画面情報161の情報量の削減を行ない、削減処理後画面情報163〜167として出力する。なお、削減処理後画面情報163は、削減処理前画面情報161と等しく削減を行なっていない。
【0066】
回線品質確認処理部46において測定された、クライアント端末とサーバ装置間のネットワークの回線品質は5段階に判定され、回線品質情報154として、品質の良いものから順に、5、4、3、2、1と設定され、削減制御部152で、画面情報の削減量の調整に使用される。なお、ここでは、回線品質を5段階に分類しているが、分類方法を限定するものではなく、段階を荒く、または細かくしても良い。
【0067】
回線品質情報154が「5」の場合、回線品質がもっとも良いため、削減処理前画面情報161は、全く削減されないか最低限の削減が行なわれ、削減処理後画面情報163として出力される。図13では、削減されない場合を示す。回線品質情報154が「4」の場合、回線品質が「5」に次いで良いため、削減処理前画面情報161は、回線品質情報154が「5」の場合より多くの削減が行なわれ、削減処理後画面情報164として出力される。ここでは、5つの画面情報のうち1つの画面情報を間引く場合を示す。なお、ここでは、5つの画面情報のうち1つの画面情報を間引いているが、削減処理後画面情報164のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報161のデータ量に応じて、画面情報の間引く割合を調整する。
【0068】
回線品質情報154が「3」の場合、回線品質が「4」に次いで良いため、削減処理前画面情報161は、回線品質情報154が「4」の場合より多くの削減が行なわれ、削減処理後画面情報165として出力される。ここでは、4つの画面情報のうち1つの画面情報を間引く場合を示す。なお、4つの画面情報のうち1つの画面情報を間引いているが、削減処理後画面情報165のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報161のデータ量に応じて、画面情報の間引く割合を調整する。
【0069】
回線品質情報154が「2」の場合は、回線品質が「3」に次いで良いため、削減処理前画面情報161は、回線品質情報154が「3」の場合より多くの削減が行なわれ、削減処理後画面情報166として出力される。ここでは、3つの画面情報のうち1つの画面情報を間引く場合を示す。なお、上記では、3つの画面情報のうち1つの画面情報を間引いているが、削減処理後画面情報166のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報161のデータ量に応じて、画面情報の間引く割合を調整する。
【0070】
回線品質情報154が「1」の場合は、回線品質が最悪であり、削減処理前画面情報161は、回線品質情報154が「2」の場合より多くの削減が行なわれ、削減処理後画面情報167として出力される。ここでは、2つの画面情報のうち1つの画面情報を間引く場合を示す。なお、上記では、2つの画面情報のうち1つの画面情報を間引いているが、削減処理後画面情報167のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報161のデータ量に応じて、画面情報の間引く割合を調整する。
【0071】
ここで、画面情報削減方法は、操作に対する追従性を優先する操作が行なわれている場合の動作を、回線品質情報154が変化しない場合として記載している。しかし、実際には、回線品質確認処理部46にて定期的に回線品質の測定が行なわれ、回線品質情報154が変動する。このため、回線品質情報154が「4」から「3」に変わった場合は、画面情報削減方法は、削減処理後画面情報164から削減処理後画面情報165に変化する。
【0072】
図14を参照して、他の画面情報削減方法を説明する。図14において、削減処理前画面情報171は、画面情報を、時間経過に沿って左から右に並べたものである。また、削減処理後画面情報172〜177は、削減制御部152で削減制御された削減後画面情報を、同様に時間経過に沿って左から右に並べたものである。
【0073】
操作に対する追従性を優先しない操作が行なわれている場合の動作を、削減処理後画面情報172を参照して説明する。キーボードによる文字入力など、操作に対する追従をしない操作が行なわれている間は、入力操作解析処理部42は削減制御部152に対して画面情報削減要求153を行なわないため、削減制御部152は、回線品質確認処理部46からの回線品質情報154の状態に係わらず、削減処理前画面情報171を削減することなく、削減処理後画面情報172として出力する。
【0074】
次に、操作に対する追従性を優先する操作が行なわれている場合の動作を、削減処理後画面情報173〜177を参照して説明する。マウスホイールによるスクロール操作など、操作に対する追従性を優先する操作が行なわれている間、入力操作解析処理部42は、削減制御部152に対して画面情報削減要求153を行なう。削減制御部152は、回線品質確認処理部46からの回線品質情報154をもとに、推定された回線品質のネットワークで大きな滞留なく送信可能なデータ量に、削減処理前画面情報171の情報量の削減を行ない、削減処理後画面情報173〜177として出力する。
【0075】
この時、図13では、情報量の削減方法として、画面情報を一定の割合で間引いていたが、間引いた画面情報は、クライアント端末1に送信されず、間引く量が多くなると連続性が損なわれ、滑らかに表示できない。このため、図14では、間引く代わりに、画面の解像度を落として画面情報の削減を行なう。
【0076】
回線品質情報154が「5」の場合は、回線品質がもっとも良いため、削減処理前画面情報171は、全く削減されないか最低限の解像度低減が行なわれ、削減処理後画面情報163として出力される。ここでは、解像度低減がされない場合を示す。
【0077】
回線品質情報154が「4」の場合、回線品質が「5」に次いで良いため、削減処理前画面情報171は、回線品質情報154が「5」の場合より多くの削減を行ない、削減処理後画面情報174として出力する。ここでは、3つの画面情報のうち1つの画面情報の解像度を落とす場合を示す。
【0078】
削減処理後画面情報174において、解像度を落とさない画面情報178を実線、解像度を落とす場合の画面情報179を点線で示す。削減制御部152は、解像度を落とさない画面情報178を2つ出力した後、例えばデータ量を5分の1となるように解像度を落した画面情報179を1つ出力し、以降同様に、画面情報の出力を行なう。
【0079】
なお、上記では3つの画面情報のうち1つの画面の解像度を落としているが、削減処理後画面情報174のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報171のデータ量に応じて、画面の解像度を落とす割合を調整する。
【0080】
回線品質情報154が「3」の場合、回線品質が「4」に次いで良いため、削減処理前画面情報171は、回線品質情報154が「4」の場合より多くの解像度低減が行なわれ、削減処理後画面情報175として出力される。ここでは、2つの画面情報のうち1つの画面情報の解像度を落とす場合を示す。削減制御部152は、解像度を落とさない画面情報を1つ出力した後、データ量を5分の1となるように解像度を落した画面情報を1つ出力し、以降同様に、画面情報の出力を行なう。
【0081】
なお、上記では2つの画面情報のうち1つの画面の解像度を落としているが、削減処理後画面情報175のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報171のデータ量に応じて、画面の解像度を落とす割合を調整する。
【0082】
回線品質情報154が「2」の場合は、回線品質が「3」に次いで良いため、削減処理前画面情報171は、回線品質情報154が「3」の場合より多くの解像度低減が行なわれ、削減処理後画面情報176として出力される。ここでは、3つの画面情報のうち2つの画面情報の解像度を落とす場合の例を示す。削減制御部152は、解像度を落とさない画面情報を1つ出力した後、データ量を5分の1となるように解像度を落した画面情報を2つ出力し、以降同様に、画面情報の出力を行なう。
【0083】
なお、上記では3つの画面情報のうち2つの画面の解像度を落としているが、削減処理後画面情報176のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報171のデータ量に応じて、画面の解像度を落とす割合を調整する。
【0084】
回線品質情報154が「1」の場合は、回線品質が最も悪いため、削減処理前画面情報171は、回線品質情報154が「2」の場合より多くの解像度低減が行なわれ、削減処理後画面情報177として出力される。ここでは、4つの画面情報のうち3つの画面情報の解像度を落とす場合の例を示す。削減制御部152は、解像度を落とさない画面情報を1つ出力した後、データ量を5分の1となるように解像度を落した画面情報を3つ出力し、以降同様に、画面情報の出力を行なう。
【0085】
なお、上記では4つの画面情報のうち3つの画面の解像度を落としているが、削減処理後画面情報177のデータ量が、あらかじめ設定されたデータ量以下となるように削減を行なうため、削減処理前画面情報171のデータ量に応じて、画面の解像度を落とす割合を調整する。
【0086】
上記の画面情報削減方法では、操作に対する追従性を優先する操作が行なわれている場合の動作を、回線品質情報154が変化しない場合として記載している。しかし、実際には、回線品質確認処理部46にて定期的に回線品質の測定が行なわれ、回線品質情報154が変動する。このため、回線品質情報154が「4」から「3」に変わった場合は、画面情報削減方法は、削減処理後画面情報174から削減処理後画面情報175に変化する。
【0087】
上記の画面情報削減方法は、解像度を落とさない画面情報と、解像度を落とした画面情報を交互に送信し、また、送信の割合を変化させることにより、削減量を変化させる削減方法である。そのため、画面情報を削減した場合でも、解像度を落とした画像がクライアント端末1で表示されるため、削減量が多い場合でも、ある程度の表示の滑らかさが得られる。しかし、解像度を動的に変化させるため、図13の画面情報削減方法より、処理が複雑になり、サーバ装置3の負担が増える可能性がある。このため、適用するシンクライアントシステムの要求条件により、図13の第1の方法または図14の第2の方法のどちらかを選択しても良い。
【0088】
また、入力操作解析処理部42から削減制御部152に出力される画面情報削減要求153に、操作に対する追従性を優先する即時応答要求操作の操作種別を追加し、削減制御部152では、入力操作解析処理部42から入力された操作種別によって2つの画面情報削減方法を切り換えても良い。
【0089】
図15を参照して、サーバ装置3からクライアント端末1の画面情報送信方法を説明する。図15において、サーバ装置3とクライアント端末1を接続するネットワーク2の回線品質は、良好である。サーバ装置3から送信される画面情報101aは、ネットワーク2を通過し、クライアント端末1に表示される。なお、縦方向は時間経過を表しており、次にサーバ装置から送信される画面情報101bは、同様にクライアント端末1に表示される。以降、画面情報101c、画面情報101d、画面情報101e、画面情報101fも、同様にクライアント端末に表示される。この時、ネットワーク2の回線品質は良好であり、サーバ側において、画面情報101aから画面情報101fを順次送信した場合でも、ネットワーク2において滞留は発生せず、クライアント端末1で表示するまでの遅延dが大きくなることはない。
【0090】
図16を参照して、サーバ装置3とクライアント端末1を接続するネットワーク2の回線品質が悪い状態において、画面情報の削減を行なわない場合の動作を説明する。図16において、サーバ装置3から送信される画面情報111aは、ネットワーク2を通過し、クライアント端末1に表示される。なお、図の縦方向は時間経過を表しており、次にサーバ装置から送信される画面情報111bは、同様にクライアント端末1に表示される。以降、画面情報111c、画面情報111d、画面情報111e、画面情報111fも、同様にクライアント端末に表示される。この時、ネットワーク2の回線品質が悪く、画面情報を送るための十分な通信帯域が確保されていないため、クライアント端末1における画面情報の受信に遅延Dが発生する。この結果、サーバ装置3から画面情報111a〜111fが送信される間隔に対して、クライアント端末1で画面が表示される間隔が長くなる。このような状態では、クライアント端末1における入力操作に対して、画面表示111b〜111fに遅延が発生する。
【0091】
図17を参照して、サーバ装置3とクライアント端末1を接続するネットワーク2の回線品質が悪い場合において、操作に対する追従性を優先する場合に、サーバ装置からクライアント端末に送信される画面情報が削減される場合の動作について説明する。なお、画面情報削減方法としては、図13を参照して説明した第1の方法で説明する。図17において、サーバ装置3の画面情報生成処理部44は、入力操作解析処理部42から画面情報削減要求の入力を受けた時、クライアント端末1に送信する画面情報を一定の割合で間引き、画面情報の送信量を削減する。この時、一定の割合で間引かれる画面情報の割合は、回線品質確認処理部46により入力された回線品質情報により決定される。回線品質が良い場合は、間引く割合を減らし、回線品質が悪くなるに従い、間引く割合を多くする。
【0092】
図17において、サーバ装置3は、画面情報121aを送信した後、次の画面情報121bについて、画面情報生成処理部44において削除し、クライアント端末1に送信しない。サーバ装置3は、画面情報121c、画面情報121dを送信した後、画面情報121eについて削除する。一方、画面情報121fは送信される。
【0093】
画面情報の間引きが発生するため、クライアント端末1に表示される画面表示は、画面表示121a、画面表示121c、画面表示121d、画面表示121fとなり、一部の画面情報は表示されない。しかし、送受信するデータ量を減らすことにより、サーバ装置3からクライアント端末1に画面情報を送信する時に発生する遅延dを減少させることができる。
【0094】
本実施例によれば、シンクライアントシステムにおいて、ユーザーの操作に対して、追従性が要求される処理の応答性が改善される。また、品質の異なるネットワークや品質が動的に変化するネットワークを介して接続された場合でも、回線品質に応じて柔軟な画面表示が可能である。
【符号の説明】
【0095】
1…クライアント端末、2…ネットワーク、3…サーバ装置、4…シンクライアントシステム、31…入力デバイス、32…入力操作情報作成部、33…送信処理部、34…受信処理部、35…画面表示処理部、36…表示デバイス、37…回線品質確認処理部、41…受信処理部、42…入力操作解析処理部、43…アプリケーション処理部、44…画面情報生成処理部、45…送信処理部、46…回線品質確認処理部、84…回線品質確認パケット、85…時刻、86…識別番号、91…画面、92…ウィンドウ、93…情報、94…マウス、95…マウスホイール、97…表示領域、101…画面情報、102…画面表示、111…画面情報、112…画面表示、121…画面情報、122…画面表示、132…デバイス種別、133…操作内容、134…時刻、135a…文字キー、135b…カーソルキー、135c…機能キー、135d…X、Y、135e…回転方向、変化量、136a…キーボード、136b…マウスポインタ、136c…マウスホイール、141…時刻、142…時刻、143…時刻、144…時刻、151…画面情報生成部、152…削減制御部、161…削減処理前画面情報、162〜167…削減処理後画面情報、171…削減処理前画面情報、172〜177…削減処理後画面情報、178…解像度を落とさない画面情報、179…解像度を落とした画面情報。
【特許請求の範囲】
【請求項1】
ネットワークで接続されたクライアント端末と、サーバ装置とを含むシンクライアントシステムにおいて、
前記クライアント端末は、入力された操作情報を前記ネットワークを介して前記サーバ装置に送信し、
前記サーバ装置は、受信した前記操作情報に基づいて、アプリケーションの処理を行ない、処理結果に基づいて、画像情報を生成し、この画像情報を前記ネットワークを介して前記クライアント端末に送信し、
前記クライアント端末は、受信した前記画像情報を表示し、
前記クライアント端末および前記サーバ装置は、前記ネットワークの回線品質を測定する回線品質確認処理部をそれぞれ備え、
前記サーバ装置は、前記回線品質に基づいて、前記画像情報のデータ量を決定することを特徴とするシンクライアントシステム。
【請求項2】
請求項1に記載のシンクライアントシステムであって、
前記ネットワークの回線品質の測定を予め定めた周期で実施し、
前記サーバ装置は、動的に変化する回線品質に基づいて、前記画像情報のデータ量を決定することを特徴とするシンクライアントシステム。
【請求項3】
請求項1または請求項2に記載のシンクライアントシステムであって、
前記サーバ装置は、前記操作情報を解析し、解析結果に基づいて、前記画像情報のデータ量を決定することを特徴とするシンクライアントシステム。
【請求項4】
ネットワークで接続されたクライアント端末から操作情報を受信して、アプリケーションの処理を行ない、処理結果に基づいて、画像情報を生成し、この画像情報を前記ネットワークを介して前記クライアント端末に送信するサーバ装置において、
前記ネットワークの回線品質を測定する回線品質確認処理部を備え、前記回線品質に基づいて、前記画像情報のデータ量を決定することを特徴とするサーバ装置。
【請求項5】
請求項4に記載のサーバ装置であって、
前記ネットワークの回線品質の測定を予め定めた周期で実施し、動的に変化する回線品質に基づいて、前記画像情報のデータ量を決定することを特徴とするサーバ装置。
【請求項6】
請求項4または請求項5に記載のサーバ装置であって、
前記操作情報を解析し、解析結果に基づいて、前記画像情報のデータ量を決定することを特徴とするサーバ装置。
【請求項1】
ネットワークで接続されたクライアント端末と、サーバ装置とを含むシンクライアントシステムにおいて、
前記クライアント端末は、入力された操作情報を前記ネットワークを介して前記サーバ装置に送信し、
前記サーバ装置は、受信した前記操作情報に基づいて、アプリケーションの処理を行ない、処理結果に基づいて、画像情報を生成し、この画像情報を前記ネットワークを介して前記クライアント端末に送信し、
前記クライアント端末は、受信した前記画像情報を表示し、
前記クライアント端末および前記サーバ装置は、前記ネットワークの回線品質を測定する回線品質確認処理部をそれぞれ備え、
前記サーバ装置は、前記回線品質に基づいて、前記画像情報のデータ量を決定することを特徴とするシンクライアントシステム。
【請求項2】
請求項1に記載のシンクライアントシステムであって、
前記ネットワークの回線品質の測定を予め定めた周期で実施し、
前記サーバ装置は、動的に変化する回線品質に基づいて、前記画像情報のデータ量を決定することを特徴とするシンクライアントシステム。
【請求項3】
請求項1または請求項2に記載のシンクライアントシステムであって、
前記サーバ装置は、前記操作情報を解析し、解析結果に基づいて、前記画像情報のデータ量を決定することを特徴とするシンクライアントシステム。
【請求項4】
ネットワークで接続されたクライアント端末から操作情報を受信して、アプリケーションの処理を行ない、処理結果に基づいて、画像情報を生成し、この画像情報を前記ネットワークを介して前記クライアント端末に送信するサーバ装置において、
前記ネットワークの回線品質を測定する回線品質確認処理部を備え、前記回線品質に基づいて、前記画像情報のデータ量を決定することを特徴とするサーバ装置。
【請求項5】
請求項4に記載のサーバ装置であって、
前記ネットワークの回線品質の測定を予め定めた周期で実施し、動的に変化する回線品質に基づいて、前記画像情報のデータ量を決定することを特徴とするサーバ装置。
【請求項6】
請求項4または請求項5に記載のサーバ装置であって、
前記操作情報を解析し、解析結果に基づいて、前記画像情報のデータ量を決定することを特徴とするサーバ装置。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図16】
【図17】
【公開番号】特開2013−105367(P2013−105367A)
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願番号】特願2011−249565(P2011−249565)
【出願日】平成23年11月15日(2011.11.15)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
【公開日】平成25年5月30日(2013.5.30)
【国際特許分類】
【出願日】平成23年11月15日(2011.11.15)
【出願人】(000005108)株式会社日立製作所 (27,607)
【Fターム(参考)】
[ Back to top ]