JP5050432B2 - クライアント装置およびプログラム - Google Patents

クライアント装置およびプログラム Download PDF

Info

Publication number
JP5050432B2
JP5050432B2 JP2006203110A JP2006203110A JP5050432B2 JP 5050432 B2 JP5050432 B2 JP 5050432B2 JP 2006203110 A JP2006203110 A JP 2006203110A JP 2006203110 A JP2006203110 A JP 2006203110A JP 5050432 B2 JP5050432 B2 JP 5050432B2
Authority
JP
Japan
Prior art keywords
display
input event
service request
server device
received
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.)
Expired - Fee Related
Application number
JP2006203110A
Other languages
English (en)
Other versions
JP2008033407A (ja
Inventor
高弘 冨田
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Casio Computer Co Ltd
Original Assignee
Casio Computer Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Casio Computer Co Ltd filed Critical Casio Computer Co Ltd
Priority to JP2006203110A priority Critical patent/JP5050432B2/ja
Publication of JP2008033407A publication Critical patent/JP2008033407A/ja
Application granted granted Critical
Publication of JP5050432B2 publication Critical patent/JP5050432B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Computer And Data Communications (AREA)
  • User Interface Of Digital Computer (AREA)

Description

本発明は、ネットワークを介してサーバ装置に対してサービス要求を行ない、前記サービス要求に対応する表示情報を前記サーバ装置から受信して表示するクライアント装置に関する。
近年、企業によるサーバベースコンピューティングの採用が急速に進んでいる。
サーバベースコンピューティング(シンクライアントシステム)とは、クライアント装置とサーバ装置とがネットワークを介して相互に接続可能に構成されたシステムにおいて、クライアント装置がサーバ装置に対してサービス要求を行なうと、サーバ装置がクライアント装置からのサービス要求に基づいて、データの管理およびアプリケーションプログラムを動作させるというものである(例えば、特許文献1および非特許文献1参照。)。
図1は、シンクライアントシステムの概要を説明するための図である。
図1に示す通り、ユーザはクライアント装置(シンクライアント端末あるいはシンクライアント装置と呼ばれることもある)1を操作することで、サーバ装置2で実行されるアプリケーションが提供するサービスを利用することができる。クライアント装置1では、キーボードやマウス等を操作することによる入力情報をネットワーク(通信網)3を介してサーバ装置2に送信し、サーバ装置2からネットワーク3を介して受信した画面データを表示する。
サーバ装置2はクライアント装置1で表示するための表示データを作成し、ネットワーク3を介してクライアント装置1に送る。クライアント装置1では、ユーザのキーやマウス等の操作情報を、ネットワーク3を介してサーバ装置2へ送り、前記サーバ装置2で作成されたクライアント装置1で表示するための表示データを受け取って表示する。クライアント装置1は、ネットワーク機器、表示装置、マウスやキーボード等の入力装置を備えているだけでよく、データをクライアント装置1で持たないためハードディスク等のストレージが不要であり、また、アプリケーションプログラムの実行を行なわないためクライアント装置1に必要となる処理の負荷が軽いというメリットがある。
企業はサーバベースコンピューティングを導入することにより、データやアプリケーションプログラム等の資源がサーバ装置で一元管理できるため、運用コストや管理コストを削減することができるというメリットがある。また、クライアント装置1は複雑で高価なパソコンを使用せず、表示や入力などの最低限の機能のみを持った低価格の端末を使用し、従来のパソコンに比べて安価に調達することができるというメリットがある。セキュリティ面においても、データをクライアント装置で保持しないという性質から、情報漏洩対策にも有効である。また、サーバ装置2が有するデータへのアクセス制限をかけたり、アクセスログを取ったりすることにより、情報への不正アクセスのリスクを減らすことが出来る。ウイルスに対しても、サーバ装置2で一括対処することが可能となる。
上述のように、サーバベースコンピューティングシステムにおいて、サーバ装置2でアプリケーション等の実行を行ない、クライアント装置1では画面表示、マウス、キー等による入出力のみを行なう技術では、一般的にはクライアント装置1では常にマウスやキーの入力をサーバ装置2に送信し続け、サーバ装置2で各種処理を行っている。
特開2004−349965号公報 http://www.keyman.or.jp/search/30000031_1.html(サーバーベースコンピューティング)
上述のような技術においては、クライアント装置1からの要求に基づいて、サーバ装置2でアプリケーションプログラムが実行される。このため、ユーザがクライアント装置1で行った入力操作はネットワーク3を介してサーバ装置2に送信され、その操作に対するアプリケーションプログラムのレスポンスが画面データとして今度はサーバ装置2からクライアント装置1に向けて送信され、これをクライアント装置1の画面等出力装置に表示することとなる。このため、ユーザは入力操作に対するレスポンスを、利用しているネットワーク3のRTT(ラウンドトリップタイム: ネットワーク3をデータが往復するのに要する時間)あるいはそれ以上の時間分待たなければならない。このRTTは、近年普及が著しい携帯電話等の移動体通信網においては、LANの場合と比較して数百倍程度大きいことが知られている。さらに移動体通信網では、その程度は状況により変化するが、エラー発生時の再送や端末移動時のゾーン切り替え等による大きな遅延が時折発生する。
従って、クライアント装置1とサーバ装置2との間のネットワーク3の伝送遅延が大きい場合には、クライアント装置1でユーザが入力した結果がなかなか画面に反映されない状況が発生する。このような状況下では、ユーザは自分が入力ミスをしたと錯覚し、再度同じ入力を繰り返してしまうような行動をとることが多い。このような心理的行動は、本来必要の無い入力をしてしまうだけにとどまらず、不要な入力に対する結果として更なる余計な作業が発生することが多く(例えば文字入力であれば、余計な文字入力に対してそれを削除するための入力が更に必要になる)、作業効率を著しく低下させるという問題点があった。
本発明は、クライアント装置とサーバ装置とを接続するネットワークにおける伝送遅延によって、クライアント装置への操作に対するレスポンスが遅れていることを、ユーザに的確に報知することが可能となり、よってユーザの作業効率を向上させることが可能なクライアント装置を提供することを目的とする。
本発明の請求項1は、ネットワークを介してサーバ装置に対してサービス要求を行ない、前記サービス要求に対応する表示情報を前記サーバ装置から受信して表示するクライアント装置であって、所望するサービス要求のための入力イベントを順次検出する検出手段と、この検出手段で検出した入力イベントをその検出した順番に前記サーバ装置に対して順次送信する送信手段と、前記入力イベントのサービス要求に対応する表示情報を前記サーバ装置から受信する受信手段と、前記各入力イベントの送信後にあって、その入力イベントに対応する表示情報を前記サーバ装置から所定時間経過しても受信してない場合には、要求に対する応答が滞っていることを示すフィードバック情報の表示を開始する表示開始制御手段と、前記受信手段で前記サービス要求に対応する表示情報を受信した際は、前記表示開始制御手段によるフィードバック情報の表示中であって、その受信した表示情報が直前のサービス要求に対応する表示情報か否かに基づいて前記送信手段で送信した各入力イベントに対応する表示情報を全て受信したか否かを判別する判別手段と、前記判別手段で、前記フィードバック情報の表示中であって全ての表示情報を受信したと判別した際は、前記フィードバック情報の表示を解除し、一方、前記フィードバック情報の表示中であって全て表示情報を受信していないと判別した際は、前記送信手段で送信した各入力イベントに対応する表示情報を全て受信してないことを示すために前記フィードバック情報を継続表示させる表示制御手段と、を備えることを特徴とする。
本発明の請求項は、ネットワークを介してサーバ装置に対してサービス要求を行ない、前記サービス要求に対応する表示情報を前記サーバ装置から受信して表示するクライアント装置であって、所望するサービス要求のための入力イベントを順次検出する検出手段と、前記検出手段で新規の入力イベントを検出する毎に、その入力イベントを識別するための変数をインクリメントするインクリメント手段と、前記検出手段で検出した入力イベントを、前記インクリメント手段でインクリメントされた変数と共に送信する送信手段と、前記入力イベントのサービス要求に対応する表示情報を、対応する入力イベントを識別するための変数と共に、前記サーバ装置から受信する受信手段と、前記受信手段で受信した変数と、前記インクリメント手段でインクリメントされた変数との差分に基づいて、前記各サービス要求に対してその応答が滞っている滞り状態を示すフィードバック情報を表示するフィードバック表示手段と、を備えることを特徴とする。
本発明によれば、クライアント装置とサーバ装置とを接続するネットワークにおける伝送遅延によって、クライアント装置への操作に対するレスポンスが遅れていることを、ユーザに的確に報知することができる。
また、本発明によれば、ユーザは、ネットワークにおける伝送遅延によって、クライアント装置への操作に対するレスポンスが遅れていることを的確に知ることが出来るので、ユーザの作業効率を向上させることができる。
まず、本発明の実施の形態について概略を説明する。
本発明によるシンクライアントシステムは、アプリケーションプログラムを実行するサーバ装置と、ユーザ操作による入力情報をサーバ装置に送信しサーバ装置から画面情報を取得してこれを画面に表示するクライアント装置、およびサーバ装置とクライアント装置の間でデータをやり取りするためのネットワーク(通信網)で構成される。
サーバ装置およびクライアント装置はそれぞれ通信部を持ち、サーバ装置上のプログラムであるシンクライアントサーバとクライアント装置上のプログラムであるシンクライアントビューアとは、通信網を介してデータのやり取りをする。
シンクライアントサーバは、通信網を介してシンクライアントビューアから送られてくる入力イベントを受信し、実行中のアプリケーションプログラムへ入力イベントを渡すとともに、アプリケーションが動作することによって発生する画面の更新を検出し画面データを生成してこれをシンクライアントビューアに向けて送信する。
シンクライアントビューアは、ユーザがキーやマウス等の入力装置を操作することによる入力を受け取り、これを入力イベントとしてシンクライアントサーバに向けて送信するとともに、シンクライアントサーバから送られてくる画面データを受信してこれをディスプレイ画面等の出力装置に表示する。
すなわち、アプリケーションプログラムを実行するサーバ装置と、ユーザ操作による入力情報をサーバ装置に送信しサーバ装置から画面情報を取得してこれを画面に表示するクライアント装置とを有するシンクライアントシステムにおいて、クライアント装置は、検出した入力に番号を割り当て、入力情報にこの番号を付加してサーバ装置へ送信し、サーバ装置は、受信した入力情報に付加されていた番号を画面情報に付加してクライアント装置へ送信し、クライアント装置は、入力情報を送信後一定時間以内に、その時点における最新の入力に割り当てられた番号と等しい番号が付加された画面情報が受信できない場合に、ユーザに対して砂時計等、何らかのフィードバックを提示し、クライアント装置は、最新の入力に割り当てた番号と等しい番号が付加された画面情報を受信した時、上記何らかのフィードバックを提示中であればこれを終了する。
さらに、上記クライアント装置は、番号を付加した入力情報を送信した時刻から、送信した番号と等しい番号が付加された画面情報を受信した時刻までを複数回計測し、これらの平均値を通信網の遅延時間とする手段を備え、入力情報送信後、最新の入力に割り当てた番号と等しい番号が付加された画面情報が受信できていない状態において、ユーザにフィードバックの提示を開始するまでの時間を上記遅延時間によって変化させる。
また、上記シンクライアントシステムにおいて、クライアント装置が送信する入力情報に対して、アプリケーションプログラムによる画面の更新が発生しない場合には、サーバ装置は空の画面情報と共に受信した入力情報に付加されていた番号をクライアント装置に向けて送信する。
以下、本発明の実施の形態について図面を参照しながら具体的に説明する。
図2は、サーバ装置のハードウェア構成の概略を示す図である。
図2において、サーバ装置10は、CPU(中央処理装置:Central Processing Unit)202、各種のデータや信号等を入力するためのキー入力部203、画像やその他の情報を表示するための表示部204、サーバ装置10において実行する処理を実行するプログラムの他、サーバ装置10の各機能を制御し実行するための制御プログラムが収納されたROM205やRAM206、表示部204に表示するための画像を一時的に格納するV−RAM207、LAN等のネットワークに接続するための通信I/F208、画像を始め様々な情報を記録するための外部記憶部209がバス201に接続されて構成され、CPU202がこれらの各部を制御している。
このようなハードウェアを備えるサーバ装置10は、ネットワークを介したクライアント装置20(図3参照)からのサービス要求に基づいて、前記サービス要求に対応する画面情報を前記クライアント装置20へ送信し、本発明を実現するための機能として、サーバ側受信部と画面情報生成部とサーバ側送信部とを有している。
サーバ側受信部は、前記サービス要求のための命令と一対一に対応付けられた命令符号とを前記クライアント装置20から受信し、画面情報生成部は、前記サーバ側受信部によって受信した前記命令に基づいて、前記画面情報を生成する。
また、サーバ側送信部は、前記画面情報生成部によって生成された画面情報と前記サーバ側受信部によって受信した前記命令符号とを対応付けて前記クライアント装置20へ送信する一方、前記画面情報生成部によって生成された画面情報が空白データであった場合、前記空白データであることを示す情報と前記サーバ側受信部によって受信した前記命令符号とを対応付けて前記クライアント装置20へ送信する。
図3は、クライアント装置のハードウェア構成の概略を示す図である。
図3において、クライアント装置20は、CPU302、各種のデータや信号等を入力するためのキー入力部303、画像やその他の情報を表示するための表示部304、クライアント装置20において実行する処理を実行するプログラムの他、クライアント装置20の各機能を制御し実行するための制御プログラムが収納されたROM305やRAM306、表示部304に表示するための画像を一時的に格納するV−RAM307、無線LAN等のネットワークに接続するための通信I/F308、携帯電話網等のネットワークに接続するための通信I/F309がバス301に接続されて構成され、CPU302がこれらの各部を制御している。
次に、上述のように構成されたサーバベースコンピューティングシステムにおける実行されるサーバ装置10およびクライアント装置20の動作例を説明する。
クライアント装置20上で動作するシンクライアントビューアは、サーバ装置10に対して送信すべき入力が検出されるたびに値が更新される変数NcをRAM306内に確保してその値を更新する。そして、入力イベントと共にその時点における変数Ncの値もサーバ装置10に送信する。なお、変数Ncの値をインクリメントしてゆく例に限らず、サービス要求に対応して符号を生成するものであればよい。
また、サーバ装置10上で動作するシンクライアントサーバもシンクライアントビューアと同様に変数NsをRAM206内に確保してその値を更新する。そして、入力イベントと共に変数Ncの値を受信するたびに変数Ncの値を変数Nsに代入する。次いで、受信した入力イベントを実行中のアプリケーションプログラムに渡し、その結果としての画面更新を検出してクライアント装置20に送信すべき画面データを生成する。そして、その画面データをその時点における変数Nsの値と共にクライアント装置20に向けて送信する。
シンクライアントビューアがサーバ装置10から送られたデータを受信した際には、受信データから変数Nsの値を取り出し、その時点における変数Ncの値との比較を行なう。こうすることで、シンクライアントビューアは受信した変数Nsの値が変数Ncと等しかった場合には、検出された最新の入力が少なくともシンクライアントサーバに到達していることを知ることができる。
シンクライアントビューアは、入力を検出しタイマがタイムアウトするまでの間に、変数Ncの値と等しい値の変数Nsをもつ画面データを受信できなかった場合には、何らかのフィードバックをクライアント装置20によってユーザに対して提示し、変数Ncの値と等しい値の変数Nsをもつ画面データを受信した時点でフィードバックの提示を終了する。ここでフィードバックの提示とは、例えば画面上に砂時計のアイコンやプログレスバー等を表示することが考えられるが、本発明では特にその表示形態を制限するものではない。
図4は、第1の実施の形態におけるシンクライアントビューアの処理の流れを示すフローチャートである。
まず、CPU302はステップS401において、キーやマウス等の入力があったか否かを判断する。入力があった場合(ステップS401:Y)は、ステップS402において、変数Ncの値を1インクリメントし、ステップS403において、ステップS401で入力されたイベントを変数Ncの値とともにサーバ装置10が有するシンクライアントサーバへ送信する。このとき、入力されたイベントはイベントのコードのままサーバ装置10へ送信してもよいし、イベントの種類により、それぞれサーバ装置10に対するサービス要求のための命令に置換えてもよい。そして、変数の値はサービス要求のための命令に対応していれば数値でなくともサービス要求に対応した特定の符号でもよい。
そして、ステップS404において、タイマが動作中であるか否かを検出し、動作中であれば(ステップS404:Y)、ステップS405において、タイマを初期化した後、ステップS406において、タイマのカウントを開始し、他方、動作中でなければ(ステップS404:N)、ステップS406において、タイマのカウントを開始してステップS401へ戻る。
また、ステップS401でキーやマウス等の入力がなかったと判断された場合(ステップS401:N)は、ステップS407において、シンクライアントサーバからデータを受信したか否かを判断し、受信したと判断された場合(ステップS407:Y)は、ステップS408において、受信したデータから変数Nsと画面データとを取り出す。そして、ステップS409において、変数Ncの値と変数Nsの値とが等しいか否かを判断する。このとき、変数がサービス要求に対応した特定の符号の場合は、送信したサービス要求に対応した特定の符号と受信したサービス要求に対応した特定の符号とが一致するか否かを判断する。
変数Ncの値と変数Nsの値とが等しいと判断された場合(ステップS409:Y)は、ステップS410において、フィードバック提示がなされているか否かを判断し、フィードバック提示中であれば(ステップS410:Y)、ステップS411において、フィードバック提示を解除した後、ステップ414において、ステップS407で受信した画面データを表示してステップS401に戻る。
他方、フィードバック提示中でなければ(ステップS410:N)、ステップS412において、タイマが動作中であるか否かを判断し、動作中であると判断された場合(ステップS412:Y)は、ステップS413において、タイマを初期化して、ステップ414において、ステップS407で受信した画面データを表示してステップS401に戻る。
また、ステップS409で変数Ncの値と変数Nsの値とが等しくないと判断された場合(ステップS409:N)も、ステップ414において、ステップS407で受信した画面データを表示してステップS401に戻る。
ステップS407でシンクライアントサーバからデータを受信していないと判断された場合(ステップS407:N)は、ステップS415において、タイマが動作中であるか否かを判断し、動作中でないと判断された場合(ステップS415:N)は、ステップS401に戻り、動作中であると判断された場合(ステップS415:Y)は、さらに、ステップS416において、所定の時間が経過したことによりタイムアウトしたか否かを判断する。タイムアウトしていないと判断された場合(ステップS416:N)は、ステップS401に戻り、他方、タイムアウトしたと判断された場合(ステップS416:Y)は、ステップS417において、タイマを初期化して、ステップ418において、砂時計のアイコン等を表示する等のフィードバック提示を行なってステップS401に戻る。なお、フィードバック提示は、サービス要求のための命令に基づいてサーバ装置10で生成された画面情報がクライアント側受信手段によって受信されていないことを示すものであれば、特定の文字列や図形を表示するようにしてもよいし、特定の文字列や図形をブリンクさせたり反転させたりするようにしてもよい。
図5は、第1の実施の形態におけるフィードバック提示の例を示す図である。
図5において、(A)は通常時のマウスポインタのアイコンの例であり、(B)はフィードバック提示中のマウスポインタのアイコンの例である。
図6は、第1の実施の形態におけるシンクライアントサーバの処理の流れを示すフローチャートである。
まず、CPU202はステップS601において、シンクライアントビューアからデータを受信したか否かを判断する。シンクライアントビューアからデータを受信したと判断された場合(ステップS601:Y)は、ステップS602において、受信したデータから変数Ncに代入されている値と入力イベントとを取り出し、ステップS603において、変数Ncの値を変数Nsに代入する。
次に、ステップS604において、サーバ装置10で実行されるアプリケーションプログラムに入力イベントを渡し、ステップS605に進む。他方、シンクライアントビューアからデータを受信していないと判断された場合(ステップS601:N)、例えば、動画像が表示されているような場合も、データは受信していないが画面の更新があり得るので、ステップS605に進む。
そして、ステップS605において、アプリケーションプログラムの実行による画面の更新があるか否かを判断し、画面の更新があると判断された場合(ステップS605:Y)は、ステップS606において、画面データを生成する。この結果、サービス要求があった場合にサービス要求のための命令に基づいて画面情報が生成されることになる。その後、ステップS607において、ステップS606で生成した画面データをステップS603で変数Ncの値を代入した変数Nsとともにシンクライアントビューアへ送信してステップS601に戻る。他方、画面の更新がないと判断された場合(ステップS605:N)は、そのままステップS601に戻る。
次に、上述の処理フローによるシンクライアントビューアとシンクライアントサーバ間の動作シーケンスの例を説明する。
図7は、第1の実施の形態のおけるシンクライアントビューアとシンクライアントサーバとの間の動作シーケンスを示す図である。
図7において、シンクライアントビューアは、保持している変数の値が変数Nc=n−1であったときにユーザ操作による入力1を検出すると、変数の値を1増加させて変数Nc=nとする。そして、検出した入力1の入力イベントを変数Nc=nと共にシンクライアントサーバに向けて送信すると共にタイマを開始し、シンクライアントサーバからのデータ受信またはユーザ操作による次の入力を待つ。
また、シンクライアントビューアは、変数Nc=nの入力イベントを送信してから所定時間Tf秒以内にシンクライアントサーバから変数Ns=nの画像データを受信しなかったので、ユーザに向けてフィードバックの提示を開始する。
シンクライアントサーバは、変数Nc=nの入力イベントを受信すると保持している変数の値を変数Ns=nに更新して受信した入力イベントをアプリケーションプログラムに渡し、その結果として発生する画面の更新を検出してシンクライアントビューアに送信すべき画面データを生成する。そして、生成した画面データを変数Ns=nと共にシンクライアントビューアに向けて送信し、シンクライアントビューアからのデータ受信およびアプリケーションプログラムによる次の画面更新を待つ。
次に、シンクライアントビューアは、入力2を検出すると変数の値を1増加させて変数Nc=n+1にし、変数Nc=n+1と共に入力イベントをシンクライアントサーバに向けて送信する。その後変数Ns=nの画面データを受信するが、その時の変数の値は変数Nc=n+1であるのでフィードバックの提示はそのまま継続し、受信した画面データによる表示画面の更新処理を行なう。
また、シンクライアントサーバは、Nc=n+1の入力イベントを受信すると、上述の変数Nc=nの入力イベント受信時と同様に、保持している変数の値を変数Ns=n+1に更新して受信した入力イベントをアプリケーションプログラムに渡し、その結果として発生する画面の更新を検出してシンクライアントビューアに送信すべき画面データを生成する。そして、生成した画面データを変数Ns=n+1と共にシンクライアントビューアに向けて送信し、次のデータ受信および画面更新を待つ。
すると、シンクライアントビューアは、変数Ns=n+1の画面データを受信すると表示画面の更新処理を行ない、そして、その時点の変数の値は変数Nc=n+1であり、変数Nsと変数Ncの値が等しいのでフィードバックの提示を終了する。
すなわち、クライアント装置20は、ユーザ操作による入力を検出するたびに値が+1される変数Ncを持ち、入力イベントと共に変数Ncの値もサーバ装置10へ送信する。
サーバ装置10は、変数Ncを受信するたびにその値がセットされる変数Nsを持ち、画面データと共に変数Nsの値もクライアント装置20へ送信される。
そして、クライアント装置20は、画面データと共に受信した変数Nsの値がその時点の変数Ncの値と等しいか否かにより、最新の入力イベントがサーバ装置10に到着したかどうかを知ることができるので、最新の入力イベントがサーバ装置10に到達済であることを確認できるまでフィードバックの提示を行なう。
これによって、操作に対するレスポンスが遅延していることを、クライアント装置20を操作するユーザに対して的確に知らせることができるようになる。従って、ユーザの作業効率が向上する。
また、クライアント装置20が入力イベントを送信して直ぐにフィードバックの提示を行なうのではなく、一定時間以内に最新の入力イベントがサーバ装置10に到達済であることを確認できなかった場合にのみフィードバックを提示することもできる。
これによって、通信網の遅延が大きくない場合にもちらちらとフィードバックの提示が行われるようなことが無くなり、ユーザは快適に操作できる。
上述の第1の実施の形態では、クライアント装置20が入力イベントを送信後、一定の時間Tf以内に最新の入力イベントがサーバ装置10に到達済であることを確認できなかった場合にフィードバックを提示するようにしたが、このTfを通信網の状況に応じて可変としても良い。
具体的には、クライアント装置20が入力イベントを送信した時刻から、送信した時点のNcの値と等しいNsの値をもつ画面データを受信した時刻までを複数計測し、これらの平均値をおおよそのRTT(Round Trip Time)とする。そして、算出したRTTに応じてTfの値を変化させる。
こうすることにより、例えば、平均的な遅延時にはフィードバックの提示を行なわず、エラー等で突発的に遅延量が増加したときにのみフィードバックを提示するようなことが実現できる。
次に、本発明を適用した第2の実施の形態について説明する。
第1の実施の形態と第2の実施の形態との違いは、第2の実施の形態では、シンクライアントビューアがシンクライアントサーバに向けて送信した入力イベントに対して、アプリケーションプログラムによる画面の更新が行われなかった場合に、空の画面データとNsをシンクライアントサーバがシンクライアントビューアに向けて送信するようにしたことである。
例えば、サーバ装置10で動作しているアプリケーションプログラムがウィンドウ形式の画面表示をしている場合に、ユーザがクライアント装置20に対して、カーソルキーを操作することによりウィンドウのスクロールを行った時を想定する。
このような場合において、例えばウィンドウの最下端が表示されている時にユーザが更に下カーソルキーを押下しても、アプリケーションプログラムはそれ以上のスクロールを行なうことができない。従ってこの場合は、アプリケーションプログラムが入力イベントを受け取っても画面の更新が発生しない。
上述したように、第1の実施の形態では、提示されたフィードバックを解除するきっかけとなるのは、シンクライアントビューアが画面データを受信することであった。しかしながら、上記の想定の例ではシンクライアントビューアが送信した入力イベントに対して、アプリケーションプログラムで画面の更新が発生しないので、シンクライアントサーバが送信すべき画面データが存在せず、シンクライアントビューアはフィードバックの提示を解除するきっかけを失うこととなる。このような場合には、ユーザが新たに別の入力操作を行ってアプリケーションプログラムによる画面の更新が発生し、シンクライアントビューアが画面データを受信するまでフィードバックが提示され続けることとなってしまう。
本第2の実施の形態はこのような状況にも対応できるようにするものである。
図8は、第2の実施の形態におけるシンクライアントビューアの処理の流れを示すフローチャートであり、図9は、第2の実施の形態におけるシンクライアントサーバの処理の流れを示すフローチャートである。
図8に示す通り、シンクライアントビューアは、中身が空の画面データを受信することがあることを考慮し、空であった場合には受信した変数Nsの処理のみ行ない、画面データ表示の処理はスキップするようになっている(ステップS801参照)。
また、図9に示す通り、シンクライアントサーバは、シンクライアントビューアから受信した入力イベントを渡したアプリケーションプログラムにおいて画面の更新が発生しなかった場合には、空の画面データを変数Nsの値と共にシンクライアントビューアに向けて送信するようにしている(ステップS901参照)。
以上説明したように、入力イベントに対して画面の更新が発生しない場合でも、シンクライアントビューアはシンクライアントサーバからの何らかのレスポンスを取得することができるため、上述したようなフィードバックの提示を解除するきっかけを失うようなことがなくなる。
次に、本発明を適用した第3の実施の形態について説明する。
第1の実施の形態と第3の実施の形態との違いは、第3の実施の形態では、フィードバックの提示として砂時計のアイコンを出力する代わりに、バーグラフのアイコンを出力するものである。
図10は、第3の実施の形態におけるフィードバック提示の例を示す図である。
図10の(A)に示したように、クライアント装置20の画面の隅にバーグラフを表示し、サーバ装置10からの画面データの遅延のおおよその度合いをバーの長さで提示する。バーの長さは、ユーザがクライアント装置20で入力操作を行ったが未だサーバ装置10から対応する画面データが返っていない入力イベント(ペンディング中の入力イベント)の数を示している。例えば、図10(B)は、ペンディング中の入力イベントが多い(5〜6個)時のバーグラフであり、図10(C)は、ペンディング中の入力イベントが少ない(1〜2個)時のバーグラフであり、図10(D)は、ペンディング中の入力イベントがない(0個)時のバーグラフである。
このような第3の実施の形態では、例えばユーザが文字入力を行っている場合に、あるキーを入力してそのレスポンスとしての画面データがサーバ装置10から返ってくる以前に次々にキー入力を行なうような状況で、クライアント装置20の画面上に反映されていない入力操作(ペンディング中の入力イベント)がいくつあるのかをユーザが知ることができる。
なお、図10に示した例では、バーの長さが長いほどペンディング中の入力イベント数が多いことを示しているが、サーバ装置10で動作しているアプリケーションによっては、バーグラフを表示している領域に、ユーザが操作すべきボタン等が重なる場合もありえるため、バーグラフの表示は透過色でオーバレイ表示し、ユーザ操作の妨げにならないようにすることもできる。
図11は、第3の実施の形態におけるシンクライアントビューアの処理の流れを示すフローチャートである。
まず、ステップS401において、キーやマウス等の入力があったか否かを判断する。入力があった場合(ステップS401:Y)は、ステップS402において、変数Ncの値を1インクリメントし、ステップS403において、ステップS401で入力されたイベントをNcの値とともにサーバ装置10が有するシンクライアントサーバへ送信する。そして、ステップS1101において、バーグラフの長さを1加算して、ステップS401へ戻る。
他方、ステップS401でキーやマウス等の入力がなかったと判断された場合(ステップS401:N)は、ステップS407において、シンクライアントサーバからデータを受信したか否かを判断し、受信したと判断された場合(ステップS407:Y)は、ステップS408において、受信したデータから変数Nsと画面データとを取り出す。そして、ステップS1102において、バーグラフの長さを変数Ncの値から変数Nsの値を減算した値とする。
そして、ステップS801において、画面データが空であるか否かを判断し、空であると判断された場合(ステップS801:Y)は、ステップS401に戻り、空でないと判断された場合(ステップS801:N)は、ステップ414において、ステップS407で受信した画面データを表示してステップS401に戻る。
なお、第3の実施の形態が第1の実施の形態と比較してタイマに関する処理がないのは、図10の(D)バーグラフに示したように、ペンディング中の入力イベントがない(0個)状態であってもバーグラフが出力されているからである。
また、第3の実施の形態におけるシンクライアントサーバ側の処理は、上述の第2実施の形態と同様である。
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、上述してきた本発明の実施の形態は、サーバ装置またはクライアント装置の一機能としてハードウェアまたはDSP(Digital Signal Processor)ボードやCPUボードでのファームウェアもしくはソフトウェアにより実現することができる。
また、本発明が適用されるサーバ装置およびクライアント装置は、その機能が実行されるのであれば、上述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、LAN、WAN等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。
また、バスに接続されたCPU、ROMやRAMのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムを記録したROMやRAMのメモリ、外部記録装置、可搬記録媒体を、サーバ装置およびクライアント装置に供給し、それらのサーバ装置およびクライアント装置のコンピュータがプログラムを読み出し実行することによっても、達成されることは言うまでもない。
この場合、可搬記録媒体等から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した可搬記録媒体等は本発明を構成することになる。
プログラムを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、DVD−RAM、磁気テープ、不揮発性のメモリーカード、ROMカード、電子メールやパソコン通信等のネットワーク接続装置(言い換えれば、通信回線)を介して記録した種々の記録媒体などを用いることができる。
また、コンピュータ(情報処理装置)がメモリ上に読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
さらに、可搬型記録媒体から読み出されたプログラムやプログラム(データ)提供者から提供されたプログラム(データ)が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
シンクライアントシステムの概要を説明するための図である。 サーバ装置のハードウェア構成の概略を示す図である。 クライアント装置のハードウェア構成の概略を示す図である。 第1の実施の形態におけるシンクライアントビューアの処理の流れを示すフローチャートである。 第1の実施の形態におけるフィードバック提示の例を示す図である。 第1の実施の形態におけるシンクライアントサーバの処理の流れを示すフローチャートである。 第1の実施の形態のおけるシンクライアントビューアとシンクライアントサーバとの間の動作シーケンスを示す図である。 第2の実施の形態におけるシンクライアントビューアの処理の流れを示すフローチャートである。 第2の実施の形態におけるシンクライアントサーバの処理の流れを示すフローチャートである。 第3の実施の形態におけるフィードバック提示の例を示す図である。 第3の実施の形態におけるシンクライアントサーバの処理の流れを示すフローチャートである。
符号の説明
1 クライアント装置
2 サーバ装置
3 ネットワーク
10 サーバ装置
20 クライアント装置
201 バス
202 CPU
203 キー入力部
204 表示部
205 ROM
206 RAM
207 V−RAM
208 通信I/F(LAN用)
209 外部記憶部
301 バス
302 CPU
303 キー入力部
304 表示部
305 ROM
306 RAM
307 V−RAM
308 通信I/F(無線LAN用)
309 通信I/F(携帯電話網用)

Claims (8)

  1. ネットワークを介してサーバ装置に対してサービス要求を行ない、前記サービス要求に対応する表示情報を前記サーバ装置から受信して表示するクライアント装置であって、
    所望するサービス要求のための入力イベントを順次検出する検出手段と、
    この検出手段で検出した入力イベントをその検出した順番に前記サーバ装置に対して順次送信する送信手段と、
    前記入力イベントのサービス要求に対応する表示情報を前記サーバ装置から受信する受信手段と、
    前記各入力イベントの送信後にあって、その入力イベントに対応する表示情報を前記サーバ装置から所定時間経過しても受信してない場合には、要求に対する応答が滞っていることを示すフィードバック情報の表示を開始する表示開始制御手段と、
    前記受信手段で前記サービス要求に対応する表示情報を受信した際は、前記表示開始制御手段によるフィードバック情報の表示中であって、その受信した表示情報が直前のサービス要求に対応する表示情報か否かに基づいて前記送信手段で送信した各入力イベントに対応する表示情報を全て受信したか否かを判別する判別手段と、
    前記判別手段で、前記フィードバック情報の表示中であって全ての表示情報を受信したと判別した際は、前記フィードバック情報の表示を解除し、一方、前記フィードバック情報の表示中であって全て表示情報を受信していないと判別した際は、前記送信手段で送信した各入力イベントに対応する表示情報を全て受信してないことを示すために前記フィードバック情報を継続表示させる表示制御手段と、
    を備えることを特徴とするクライアント装置。
  2. 前記検出手段で新規の入力イベントを検出する毎に、その入力イベントを識別するための識別番号をインクリメントするインクリメント手段と、を更に備え、
    前記送信手段は、前記インクリメント手段でインクリメントされた識別番号を、前記入力イベントと共に送信し、
    前記受信手段は、前記サーバ装置から画面情報を受信する際に、対応する入力イベントを識別するための識別情報も合わせて受信し、
    前記判別手段は、前記受信手段で受信した識別情報と、前記インクリメント手段でインクリメントされた識別情報が等しいか否かに基づいて、前記送信手段で送信した各入力イベントに対応する表示情報を全て受信したか否かを判別する、
    ことを特徴とする請求項に記載のクライアント装置。
  3. 前記表示制御手段は、前記フィードバック情報の継続表示後にあって、前記各入力イベントに対応する表示情報を全て受信した際は、前記フィードバック情報の表示を解除する、
    ことを特徴とする請求項1又は2に記載のクライアント装置。
  4. 前記所定時間は、前記送信手段で入力イベントを送信後、その入力イベントに対応する表示情報を前記受信手段で受信するまでの応答時間を、過去の複数の入力イベント毎に取得することでその応答時間の平均値に基づいて定められる、
    ことを特徴とする請求項1〜の何れか1項に記載のクライアント装置。
  5. ネットワークを介してサーバ装置に対してサービス要求を行ない、前記サービス要求に対応する表示情報を前記サーバ装置から受信して表示するクライアント装置であって、
    所望するサービス要求のための入力イベントを順次検出する検出手段と、
    前記検出手段で新規の入力イベントを検出する毎に、その入力イベントを識別するための変数をインクリメントするインクリメント手段と、
    前記検出手段で検出した入力イベントを、前記インクリメント手段でインクリメントされた変数と共に送信する送信手段と、
    前記入力イベントのサービス要求に対応する表示情報を、対応する入力イベントを識別するための変数と共に、前記サーバ装置から受信する受信手段と、
    前記受信手段で受信した変数と、前記インクリメント手段でインクリメントされた変数との差分に基づいて、前記各サービス要求に対してその応答が滞っている滞り状態を示すフィードバック情報を表示するフィードバック表示手段と、
    を備えることを特徴とするクライアント装置。
  6. 前記フィードバック情報は、前記差分に応じた長さのバーグラフ情報である、
    ことを特徴とする請求項に記載のクライアント装置。
  7. ネットワークを介してサーバ装置に対してサービス要求を行ない、前記サービス要求に対応する表示情報を前記サーバ装置から受信して表示するクライアント装置のコンピュータを制御するためのプログラムであって、
    前記コンピュータを、
    所望するサービス要求のための入力イベントを順次検出する検出手段、
    この検出手段で検出した入力イベントをその検出した順番に前記サーバ装置に対して順次送信する送信手段、
    前記入力イベントのサービス要求に対応する表示情報を前記サーバ装置から受信する受信手段、
    前記各入力イベントの送信後にあって、その入力イベントに対応する表示情報を前記サーバ装置から所定時間経過しても受信してない場合には、要求に対する応答が滞っていることを示すフィードバック情報の表示を開始する表示開始制御手段、
    前記受信手段で前記サービス要求に対応する表示情報を受信した際は、前記表示開始制御手段によるフィードバック情報の表示中であって、その受信した表示情報が直前のサービス要求に対応する表示情報か否かに基づいて前記送信手段で送信した各入力イベントに対応する表示情報を全て受信したか否かを判別する判別手段、
    前記判別手段で、前記フィードバック情報の表示中であって全ての表示情報を受信したと判別した際は、前記フィードバック情報の表示を解除し、一方、前記フィードバック情報の表示中であって全て表示情報を受信していないと判別した際は、前記送信手段で送信した各入力イベントに対応する表示情報を全て受信してないことを示すために前記フィードバック情報を継続表示させる表示制御手段、
    として機能させるようにしたコンピュータ読み取り可能なプログラム。
  8. ネットワークを介してサーバ装置に対してサービス要求を行ない、前記サービス要求に対応する表示情報を前記サーバ装置から受信して表示するクライアント装置のコンピュータを制御するためのプログラムであって、
    前記コンピュータを、
    所望するサービス要求のための入力イベントを順次検出する検出手段、
    前記検出手段で新規の入力イベントを検出する毎に、その入力イベントを識別するための変数をインクリメントするインクリメント手段、
    前記検出手段で検出した入力イベントを、前記インクリメント手段でインクリメントされた変数と共に送信する送信手段、
    前記入力イベントのサービス要求に対応する表示情報を、対応する入力イベントを識別するための変数と共に、前記サーバ装置から受信する受信手段、
    前記受信手段で受信した変数と、前記インクリメント手段でインクリメントされた変数との差分に基づいて、前記各サービス要求に対してその応答が滞っている滞り状態を示すフィードバック情報を表示するフィードバック表示手段、
    として機能させるようにしたコンピュータ読み取り可能なプログラム。
JP2006203110A 2006-07-26 2006-07-26 クライアント装置およびプログラム Expired - Fee Related JP5050432B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2006203110A JP5050432B2 (ja) 2006-07-26 2006-07-26 クライアント装置およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006203110A JP5050432B2 (ja) 2006-07-26 2006-07-26 クライアント装置およびプログラム

Publications (2)

Publication Number Publication Date
JP2008033407A JP2008033407A (ja) 2008-02-14
JP5050432B2 true JP5050432B2 (ja) 2012-10-17

Family

ID=39122801

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006203110A Expired - Fee Related JP5050432B2 (ja) 2006-07-26 2006-07-26 クライアント装置およびプログラム

Country Status (1)

Country Link
JP (1) JP5050432B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9522483B2 (en) 2011-04-29 2016-12-20 Ticona Llc Methods for impregnating fiber rovings with polymer resin

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4605268B2 (ja) 2008-07-31 2011-01-05 カシオ計算機株式会社 サーバベース・コンピューティング・システムのサーバ装置およびサーバ制御プログラム
JP5262506B2 (ja) * 2008-09-24 2013-08-14 日本電気株式会社 シンクライアント体感性能管理システム及びそれに用いる方法並びにそのプログラム
JP5081790B2 (ja) * 2008-10-30 2012-11-28 株式会社日立製作所 回線性能データ収集システム、回線性能データ収集方法、シンクライアント端末、およびプログラム
JP2012243239A (ja) * 2011-05-24 2012-12-10 Funai Electric Co Ltd サービス提供システム
JP5770782B2 (ja) * 2013-05-23 2015-08-26 株式会社オプティム オペレータ端末、ユーザ端末、所要時間通知方法、及びオペレータ端末用プログラム

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000075919A (ja) * 1998-08-27 2000-03-14 Hitachi Ltd 遷移状態を表現するマンマシン画面の定義方法及び装置
JP2004280483A (ja) * 2003-03-17 2004-10-07 Grape System:Kk 処理方法、処理装置、及び、処理システム
JP4326836B2 (ja) * 2003-05-21 2009-09-09 株式会社エヌ・ティ・ティ・ドコモ シンクライアントシステム、シンクライアント端末機、中継装置及びシンクライアント端末画面更新方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9522483B2 (en) 2011-04-29 2016-12-20 Ticona Llc Methods for impregnating fiber rovings with polymer resin

Also Published As

Publication number Publication date
JP2008033407A (ja) 2008-02-14

Similar Documents

Publication Publication Date Title
JP5140978B2 (ja) クライアント装置およびプログラム
JP5050432B2 (ja) クライアント装置およびプログラム
US9280451B2 (en) Testing device
US8860977B2 (en) Information transmission system and method with multiple user authentication
JP2003256367A (ja) 電子機器のエラーに関する情報提供システムおよび電気機器のエラー実績を管理するサーバ
CN109521978B (zh) 一种内容显示方法及终端设备
CN101394417A (zh) 远程访问装置以及远程访问系统
JP2007183793A (ja) 情報処理方法、情報処理装置、及びプログラム
KR20080021531A (ko) 휴대용 전자 기기의 원격 관리 방법 및 시스템과 그시스템에서의 휴대용 전자 기기
JP2008092205A (ja) 移動通信端末装置
EP2244453A2 (en) Display management system
US20050049006A1 (en) Mobile terminal for displaying a variable auxiliary display area and method thereof
KR20180039141A (ko) 표시 방법, 정보 처리 장치, 정보 처리 단말, 표시 프로그램
JP2000227826A (ja) アクティブ・ヘルプ装置
JP2009187311A (ja) 情報処理装置及び情報処理方法
JP2008061246A (ja) 携帯用電子機器の遠隔管理システム及び方法
JP2016099756A (ja) 画像形成システム、情報処理装置及び設定方法
JP5778892B2 (ja) 操作状況監視プログラム、該装置、及び該方法
JP2013054662A (ja) 画像形成装置、画像形成装置の制御方法、およびプログラム
JP5087031B2 (ja) 表示制御装置、入力操作装置、表示システム、及び管制システム
JP5556539B2 (ja) 通信端末、通信システム、セッション管理方法、及びプログラム
JP2016032149A (ja) 電子機器
US20100097173A1 (en) Entry/Exit Managing Device and Information Communication Terminal
EP3885943A1 (en) Electronic device, and function limit cancel method and program
JP2019068426A (ja) 電子機器およびシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090709

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20110624

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110628

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110809

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120522

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20120626

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20120709

R150 Certificate of patent or registration of utility model

Ref document number: 5050432

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150803

Year of fee payment: 3

LAPS Cancellation because of no payment of annual fees