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

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

Info

Publication number
JP5140978B2
JP5140978B2 JP2006260719A JP2006260719A JP5140978B2 JP 5140978 B2 JP5140978 B2 JP 5140978B2 JP 2006260719 A JP2006260719 A JP 2006260719A JP 2006260719 A JP2006260719 A JP 2006260719A JP 5140978 B2 JP5140978 B2 JP 5140978B2
Authority
JP
Japan
Prior art keywords
event
input
specific
server device
specific event
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
JP2006260719A
Other languages
English (en)
Other versions
JP2008083800A (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 JP2006260719A priority Critical patent/JP5140978B2/ja
Priority to CNA2007101617371A priority patent/CN101155104A/zh
Priority to US11/861,553 priority patent/US8219685B2/en
Publication of JP2008083800A publication Critical patent/JP2008083800A/ja
Application granted granted Critical
Publication of JP5140978B2 publication Critical patent/JP5140978B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/131Protocols for games, networked simulations or virtual reality

Description

本発明は、ネットワークを介してサーバ装置に対してサービス要求を行ない、前記サービス要求に対応する画面情報を前記サーバ装置から取得して表示するクライアント装置にする。
近年、企業によるサーバベースコンピューティングの採用が急速に進んでいる。
サーバベースコンピューティング(シンクライアントシステム)とは、クライアント装置とサーバ装置とがネットワークを介して相互に接続可能に構成されたシステムにおいて、クライアント装置がサーバ装置に対してサービス要求を行なうと、サーバ装置がクライアント装置からのサービス要求に基づいて、データの管理およびアプリケーションプログラムを動作させるというものである(例えば、特許文献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へ常に送信し、サーバ装置2側で仮名漢字変換処理を行っている。
このような技術を伝送遅延が大きい移動体通信網等のネットワーク3で利用した場合、非常に作業効率が悪くなることが予想され、この問題を解決するために、クライアント装置1側にサーバ装置2側のGUIを擬似的に実現する環境(GUIエミュレータ)を用意し、仮名漢字変換もクライアント装置1側で実行し、確定した情報(変換後の漢字)を送信することで伝送遅延の問題を減少させている技術が開示されている(例えば、特許文献2参照。)。
特開2004−349965号公報 特開2003−323402号公報
上述のような技術においては、サーバ装置2でアプリケーションプログラムが実行されるので、ユーザがシンクライアント装置1で行った入力操作は、入力情報として通信網3を介してサーバ装置2に伝送される。このため、サーバ装置2が入力情報を受信するのは、ユーザが操作を行った瞬間から通信網3の遅延時間以上の時間が経過した後ということになる。この通信網3の遅延時間は、移動体通信網等においては特に無線区間の伝送エラー発生時の再送処理や端末(クライアント装置1)の移動時のゾーン切替時等、突発的に伝送遅延時間が大きくなることがある。
このように通信網3の伝送遅延時間が変動すると、ユーザがクライアント装置1を操作することで発生した入力情報のサーバ装置2への到着が時間軸方向で変動することとなり、これが原因でサーバ装置2はユーザの意図と異なる動作をしてしまうという問題点があった。
図2は、従来の入力情報の送信例を説明するための図であり、図3は、従来の問題点を説明するための図である。
図2に示した例では、ユーザがクライアント装置1に備えられたマウスのボタンをクリック操作した際に実行される入力情報の送信例が示されており、図3では、その際に発生する問題の例が示されている。
まず、ユーザがクライアント装置1のマウスのボタンを押した時、図2(a)に示したように、クライアント装置1は入力情報としてボタンプレスイベントを第1の通信パケットとしてサーバ装置2に向けて送信する。次いでユーザがクライアント装置1のマウスのボタンを離した時、図2(b)に示したように、クライアント装置1はボタンリリースイベントをサーバ装置2に向けて送信する。
すなわち、ボタンのクリック操作はユーザがボタンを押した際のボタンプレスイベントと、ボタンを離した際のボタンリリースイベントの2つの入力イベントで構成され、それぞれが通信上の別々のパケット(例えばTCP(Transmission Control Protocol)パケット)で伝送される。
このように、クリック操作がボタンプレスイベントとボタンリリースイベントで別々に送信されると、図3に示したように、ボタンプレスイベントの伝送遅延に比べてボタンリリースイベントの伝送遅延が大きく増加する場合あり、このような場合には、ユーザはマウスのボタンをほんの短い時間押して離した(クリック操作)にも関わらず、サーバ装置2ではボタンが長時間押されていたように見えてしまうことがある。
このような状況下では、例えばスクロールバーの上下スクロールボタンをユーザがクリック操作した場合、ユーザはほんの少しのスクロールを行ないたかったにも関わらず、サーバ装置2はスクロールボタンが押し続けられたものと認識し、スクロールを連続して行った結果の画面が出力されることとなってしまう。
本発明は、クライアント装置とサーバ装置とを接続するネットワークにおいて伝送遅延が発生するような環境下においても、マウスクリック等のクライアント装置の入力イベントを正確にサーバ装置に送信することを目的とする。
本発明は、ネットワークを介してサーバ装置に対してサービス要求を行ない、前記サービス要求に対応する画面情報を前記サーバ装置から取得して表示するクライアント装置であって、入力デバイスに対する操作に基づく入力イベントを検出する検出手段と、前記検出手段で検出された入力イベントが、一対の特定イベントの内の第1特定イベントか否かを判別する第1判別手段と、前記第1判別手段で判別された入力イベントが前記第1特定イベントであれば、その入力イベントを一時保管すると共に、その第1特定イベントの検出後にあって前記検出手段で検出した新たな入力イベントが、当該第1特定イベントに関連する前記一対の特定イベントの内の残りの第2特定イベントか否かを判別する第2判別手段と、前記第1判別手段で判別された入力イベントが前記第1特定イベントでなければ、その入力イベントを前記サーバ装置に対して送信し、前記第2判別手段で判別された新たな入力イベントが前記第2特定イベントであれば、前記一時保管した第1特定イベントと当該第2特定イベントを一つにまとめ、そのまとめた入力イベントを前記サーバ装置に対して送信する第1送信制御手段と、を具備したことを特徴とする。
本発明によれば、クライアント装置とサーバ装置とを接続するネットワークにおいて伝送遅延が発生するような環境下においても、マウスクリック等のクライアント装置の入力イベントを正確にサーバ装置に送信することが可能となる
まず、本発明の実施の形態について概略を説明する。
本発明によるシンクライアントシステムは、各種のアプリケーションプログラムを実行するサーバ装置と、ユーザ操作により生じる入力情報をサーバ装置に送信しサーバ装置から画面情報を取得してこれを画面に表示するクライアント装置、およびサーバ装置とクライアント装置の間でデータをやり取りするためのネットワーク(通信網)で構成される。
サーバ装置およびクライアント装置はそれぞれ通信部を持ち、サーバ装置上のプログラムであるシンクライアントサーバとクライアント装置上のプログラムであるシンクライアントビューアとは、通信網を介してデータのやり取りをする。
シンクライアントサーバは、通信網を介してシンクライアントビューアから送られてくる入力イベントを受信し、実行中のアプリケーションプログラムへ入力イベントを渡すとともに、アプリケーションが動作することによって発生する画面の更新を検出し画面データを生成してこれをシンクライアントビューアに向けて送信する。
シンクライアントビューアは、ユーザがキーやマウス等の入力装置を操作することによる入力を受け取り、これを入力イベントとしてシンクライアントサーバに向けて送信するとともに、シンクライアントサーバから送られてくる画面データを受信してこれをディスプレイ画面等の出力装置に表示する。
そして、アプリケーションプログラムを実行するサーバ装置と、ユーザ操作による入力情報をサーバ装置に送信しサーバ装置から画面情報を取得してこれを画面に表示するクライアント装置とを有するシンクライアントシステムにおいて、本発明のクライアント装置は、通常続けて起こる2つまたはそれ以上の異なる入力イベントであって、これら入力イベントの発生時間間隔の長短が意味を持つものについて、最初の入力イベント発生時から一定時間以内に、通常次に発生すると想定される入力イベントが発生した場合には、これらの入力イベントを1つの通信パケットに纏めて送信する。
さらに、クライアント装置は、通常続けて起こる2つの異なる入力イベントの、最初の入力イベントが発生した時刻から通常次に発生すると想定される入力イベントが発生した時刻までを複数回計測し、これらの平均値をその操作の所要時間とする手段を備え、最初の入力イベント発生時に次の想定される入力イベントの発生をどれだけの時間待ってからサーバ装置へ送信するのかを決定付ける待ち時間を、前記算出した操作の所要時間に応じて変化させることができる。
また、上記シンクライアントシステムにおいて、本発明のサーバ装置は、クライアント装置から送信されてきた通信パケットが、続けて起こる2つの異なる入力イベントを1つの通信パケットに纏めたものである場合には、これらの入力イベントを所定時間内に続けて実行する。
以下、本発明の実施の形態について図面を参照しながら具体的に説明する。
図4は、クライアント装置のハードウェア構成の概略を示す図である。
図4において、クライアント装置10は、CPU(中央処理装置:Central Processing Unit)402、各種のデータや信号等を入力するための入力装置403、画像やその他の情報を表示するための表示装置404、クライアント装置10において実行する処理を実行するプログラムの他、クライアント装置10の各機能を制御し実行するための制御プログラムが収納されたROM405やRAM406、画像やその他の情報を記憶するための外部記憶装置407、無線LAN、携帯電話網等のネットワークに接続するための通信I/F(インターフェス)408、入力装置403によって入力された入力イベントを一時的に記憶する補助記憶装置409がバス401に接続されて構成され、CPU402がこれらの各部を制御している。
図5は、サーバ装置のハードウェア構成の概略を示す図である。
図5において、サーバ装置20は、CPU502、各種のデータや信号等を入力するための入力装置503、画像やその他の情報を表示するための表示装置204、サーバ装置20において実行する処理を実行するプログラムの他、サーバ装置20の各機能を制御し実行するための制御プログラムが収納されたROM505やRAM506、画像やその他の情報を記憶するための外部記憶装置507、無線LAN、携帯電話網等のネットワークに接続するための通信I/F508、クライアント装置10から送信されてきた通信パケットや該通信パケットを構成する入力イベントを一時的に記憶する補助記憶装置509がバス501に接続されて構成され、CPU502がこれらの各部を制御している。
次に、上述のように構成されたサーバベースコンピューティングシステムにおける実行されるクライアント装置10およびサーバ装置20の動作例を説明する。
図6は、クライアント装置10が備えるシンクライアントビューアの処理の流れを示すフローチャートである。
まず、CPU402はステップS601において、キーやマウス等から何かしらのイベント入力があったか否かを判断する。イベント入力を検出した場合(ステップS601:Y)は、ステップS602において、検出した入力イベントがマウスボタンを押すことにより発生するボタンプレスイベントであるか否かを判断する。
ボタンプレスイベントであると判断された場合(ステップS602:Y)は、ステップS603において、タイマを起動し、ボタンプレスイベントを検出してから後述するボタンリリースイベントを検出するまでの時間の計測を開始する。そして、ステップS604において、上記検出したボタンプレスイベントの情報を後で(ステップS608、S610、S618で)参照できるように補助記憶装置409に一時的に記憶(保管)して、ステップS601に戻り次のイベント入力または画面情報の受信を待つ。
次に、ステップS602でボタンプレスイベントでないと判断された場合(ステップS602:N)は、ステップS605において、タイマが動作中か否かを判断する。タイマが動作中であると判断された場合、すなわち、ステップS603で開始されたタイマが未だ所定時間の経過によるタイムアウトしていない状態であると判断された場合(ステップS605:Y)は、ステップS606において、動作中のタイマを初期化する。そして、ステップS607において、検出した入力イベントが押されているマウスボタンを離すことにより発生するボタンリリースイベントであるか否かを判断する。
ボタンリリースイベントであると判断された場合(ステップS607:Y)は、ステップS608において、ステップS604で一時保管したボタンプレスイベントの情報とステップS607で検出したボタンリリースイベントの情報を1つの通信パケットに纏める。そして、ステップS609において、ステップS608で1つに纏めた通信パケットをサーバ装置20へ送信して、ステップS601に戻り次のイベント入力または画面情報の受信を待つ。
図7は、入力された2つのイベントを1つの通信パケットとして送信する仕組みを説明するための図である。
図7に示したように、ステップS608でボタンプレスイベント情報とボタンリリースイベント情報とが1つに纏められた通信パケットは、クライアント装置10からサーバ装置20へ送信される。
図6の説明に戻る。
他方、ボタンリリースイベントでないと判断された場合、すなわち、ボタンプレスイベント及びボタンリリースイベント以外のイベントであると判断された場合(ステップS607:N)は、ステップS610において、ステップS604で一時保管したボタンプレスイベントの情報をパケット化してサーバ装置20へ送信し、続いて、ステップS611において、ステップS607で検出したボタンプレスイベント及びボタンリリースイベント以外のイベントの情報をパケット化してサーバ装置20へ送信して、ステップS601に戻り次のイベント入力または画面情報の受信を待つ。
ステップS605でタイマが動作中ないと判断された場合(ステップS605:N)は、ステップS612において、ステップS607で検出した(ボタンプレスイベント以外の)イベントの情報をパケット化してサーバ装置20へ送信して、ステップS601に戻り次のイベント入力または画面情報の受信を待つ。
ステップS601でキーやマウス等から何かしらのイベント入力を検出しなかった場合(ステップS601:N)は、ステップS613において、サーバ装置20から画面上を受信したか否かを判断する。
そして、画面情報を受信したと判断された場合(ステップS613:Y)は、ステップS614において、受信した画面情報による画面表示処理を行ない、出力装置404に画面を提示してステップS601に戻る。
他方、画面情報を受信しなかったと判断された場合、すなわち、入力イベントの検出もなく画面情報の受信もない場合(ステップS613:N)は、ステップS615において、タイマが動作中か否かを判断する。
タイマも動作中でないと判断された場合(ステップS615:N)は、ステップS601に戻り次のイベント入力または画面情報の受信を待つ。
他方、タイマが動作中であると判断された場合(ステップS615:Y)は、ステップS616において、タイムアウトしたか否かを判断し、タイムアウトしていないと判断された場合(ステップS606:N)は、ステップS601に戻り次のイベント入力または画面情報の受信を待ち、タイムアウトしたと判断された場合(ステップS606:Y)は、ステップS617において、動作中のタイマを初期化した後、ステップS618において、ステップS604で一時保管したボタンプレスイベントの情報をパケット化してサーバ装置20へ送信して、ステップS601に戻り次のイベント入力または画面情報の受信を待つ。
このようにタイムアウトおよびタイマ動作中のボタンリリースイベント以外の入力イベント検出時の処理を設けることにより、例えばマウスによるドラッグ操作等、ユーザがマウスのボタンを押したままにするような操作にも対応することができる。
図7は、入力された2つのイベントを1つの通信パケットとして送信する仕組みを説明するための図であり、図8は、マウスクリック操作の際の動作シーケンスを示す図である。
図6に示したフローチャートを用いて説明したように、ユーザによるマウスクリック操作が行なわれると、図7および図8に示したように、ボタンプレスイベントとボタンリリースイベントの2つの異なる入力イベントが1つの通信パケットに纏められ、クライアント装置10からサーバ装置20へ送信される。
以上説明したように、上述のクライアント装置10は、通常続けて起こる2つの異なる入力イベントを1つの通信パケットに纏めて送信するようにしたことにより、伝送遅延時間の変動が原因で発生する、サーバ装置20がユーザ操作と異なる動作をするという問題を解決できるという利点がある。
なお、マウスのボタンをクリック操作した場合を例として説明したが、本発明は入力イベントの種類を限定するものではなく、連続する2つの入力イベントの発生時間間隔の長短が特定の意味を持つ入力イベントの組み合わせであればかまわない。
また、通常続けて起こる2つの異なる入力イベントを1つの通信パケットにまとめて送信するようにしたが、これを3つ以上の入力イベントを1つの通信パケットに纏めて送信するようにしても良い。
次に、本発明を適用した第2の実施の形態について説明する。
上述の実施の形態(第1の実施の形態)においては、ボタンプレスイベントの検出後にタイマを開始し、このタイマがタイムアウトするまでの間にボタンリリースイベントを検出した場合に、これら2つの入力イベントを1つの通信パケットに纏めて送信していた。ここで、マウスのボタンを長時間押したままにする操作の場合を考えてみる。
図9は、マウスボタンを長時間押したままにした際の動作シーケンスを示す図である。
マウスのボタンを長時間押したままにする操作の場合、図9に示すように、ボタンプレスイベントがサーバ装置20に向けて送信されるのはT秒後(タイムアウト後)ということになる。このことは、ユーザが行った操作が遅れて送信されるということになるため、時間Tの値はできる限り小さく設定すべきである。しかしながら、時間Tの値をあまりに小さくしすぎると、ユーザがマウスボタンをクリック操作した時にもタイムアウトが発生し、ボタンプレスイベントとボタンリリースイベントとを1つに纏めるという処理自体が行われないこととなってしまう。
そこで、本第2の実施の形態では、マウスボタンのクリック操作時にはタイムアウトが発生しない範囲であって、できる限り時間Tの値を小さく設定するために以下に説明するような仕組みを追加する。
まず、時間Tの値は一定の値とせずに可変とする。そして、ユーザのマウスボタンのクリック操作において、ボタンプレスイベントが発生した時刻からボタンリリースイベントが発生した時刻までを複数回計測し、これらの平均値をクリック操作所要時間とする。そして、算出したクリック操作所要時間に応じて時間Tの値を変える。
クリック操作所要時間は、ユーザの癖やマウス操作習熟度によって異なるものと考えられる。このため、直前の何回かのユーザ操作から算出したクリック操作所要時間を時間Tの値に反映させるようにすることで、クライアント装置10を操作するユーザにとっての最適値を時間Tに与えることができる。
すなわち、本第2の実施の形態では、ボタンプレスイベントが発生した時刻からボタンリリースイベントが発生した時刻までを複数回計測し、これらの平均値をクリック操作所要時間とする手段を備え、ボタンプレスイベントの発生後に次のボタンリリースイベントをどれだけの期間待つかを決定付けるタイムアウト値(時間T)を、それまでのユーザ操作をもとに上記算出したクリック操作所要時間によって変化させるようにしたことにより、マウスのボタンを長時間押したままにするような操作を行なう場合に、最初のボタンプレスイベントが送信されるまでの遅れを極力小さく抑えられ、第1の実施の形態と比較してより自然な操作感を得ることができるという利点がある。
図10は、タイムアウト値の最適値を推定する処理の流れを示すフローチャートである。
図10に示した例では、ユーザがマウスボタンを操作する度に、ボタンプレスイベントの検出からボタンリリースイベントの検出までのクリック操作所要時間tを測定し、その結果からユーザのクリック操作所要時間の平均値tmおよびその偏差dを求めることによってタイムアウト値Tの最適値の推定を行なう。
具体的には、ステップS1001において、ボタンプレスイベントを検出すると(ステップS1001:Y)、ステップS1002において、時間の計測を開始する。そして、ステップS1003において、ボタンリリースイベントを検出すると(ステップS1003:Y)、ステップS1004において、ステップS1002で開始した時間の計測を終了し、時間の計測開始から終了までの時間tを得る。
そして、ステップS1005において、これ以上ボタンがプレスされたままならば長押しとみなす時間TLと比較し、クリック操作所要時間の測定値tがTLより大きい場合(ステップS1005:Y)は、ユーザが長押し操作をしているとみなし、ステップS1001に戻り、そのときの測定値tはタイムアウト値Tの推定には使用しない。
他方、クリック操作所要時間の測定値tがTL以下の場合(ステップS1005:N)は、ステップS1006において、新しい測定値tを得るたびに極力簡単な計算で値を更新できるようにすべく、(1−α)tm+αtの計算結果をtmに代入することで、クリック操作所要時間の測定値tの平均値tmの値の更新を行なう。ここで、αは調整パラメータで、例えばα=0.1として計算すると、新しい測定値tの重みが1/10で、過去の測定値から求めた平均値tmの重みが9/10であることを意味する。
そして、ステップS1007において、クリック操作所要時間の測定値tの平均偏差dもtmの算出同様、新しい測定値tを得るたびに簡単な計算で値を更新できるようにすべく、(1−β)d+β|tm−t|の計算結果をdに代入して値を更新する。ここで、βは前記αと同様の調整パラメータである。
さらに、ステップS1008において、上述の方法と同様の方法でクリック操作所要時間の平均値tmと平均偏差dを求め、tm+3dをTに代入することで、タイムアウト値の更新を行ない、ステップS1001に戻る。
なお、前述の方法で算出したtmやdは、厳密にはtの平均値や平均偏差とは言えないが、計算が簡単であり、それほど精度の高い値を必要とするわけでもないので効果的である。
統計論によれば、「母集団が正規分布であるとき、平均値から標準偏差の3倍以上離れた値をとることはまれ」であるので、クリック操作所要時間の平均値+平均偏差の3倍をTの値とする。つまり、ユーザのクリック操作所要時間より大きな値の集合の中の最小の値がTであるとみなす。またこの例では、計算を簡単にし演算装置の負荷を極力小さくするために、平均偏差を使用している。
次に、サーバ装置20で実行される処理について説明する。
図11は、サーバ装置20の処理の流れを示すフローチャートである。
まず、ステップS1101において、クライアント装置10から送信されてきたイベントを受信したか否かを判断し、受信したと判断された場合(ステップS1101:Yes)は、ステップS1102において、その受信したイベントが送信パケット化された入力イベントか否かを判断する。
入力イベントでないと判断された場合(ステップS1102:No)は、ステップS1103において、入力イベントでない他のイベントについての処理を実行して、ステップS1101に戻る。
他方、入力イベントであると判断された場合(ステップS1102:Yes)は、ステップS1104において、その入力イベントが複数の入力イベントを纏めた通信パケットであるか否かを判断する。
そして、複数の入力イベントであると判断された場合(ステップS1104:Yes)は、ステップS1105において、その複数の入力イベントを元の個別の入力イベントに分割し、ステップS1106において、これら入力イベントの処理を実行して、ステップS1101に戻る。
以上、本発明の実施の形態を、図面を参照しながら説明してきたが、上述してきた本発明の実施の形態は、クライアント装置10またはサーバ装置20の一機能としてハードウェアまたはDSP(Digital Signal Processor)ボードやCPUボードでのファームウェアもしくはソフトウェアにより実現することができる。
また、本発明が適用されるクライアント装置10およびサーバ装置20は、その機能が実行されるのであれば、上述の実施の形態に限定されることなく、単体の装置であっても、複数の装置からなるシステムあるいは統合装置であっても、LAN、WAN等のネットワークを介して処理が行なわれるシステムであってもよいことは言うまでもない。
また、バスに接続されたCPU、ROMやRAMのメモリ、入力装置、出力装置、外部記録装置、媒体駆動装置、ネットワーク接続装置で構成されるシステムでも実現できる。すなわち、前述してきた実施の形態のシステムを実現するソフトェアのプログラムを記録したROMやRAMのメモリ、外部記録装置、可搬記録媒体を、クライアント装置10およびサーバ装置20に供給し、それらのクライアント装置10およびサーバ装置20のコンピュータがプログラムを読み出し実行することによっても、達成されることは言うまでもない。
この場合、可搬記録媒体等から読み出されたプログラム自体が本発明の新規な機能を実現することになり、そのプログラムを記録した可搬記録媒体等は本発明を構成することになる。
プログラムを供給するための可搬記録媒体としては、例えば、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、DVD−ROM、DVD−RAM、磁気テープ、不揮発性のメモリーカード、ROMカード、電子メールやパソコン通信等のネットワーク接続装置(言い換えれば、通信回線)を介して記録した種々の記録媒体などを用いることができる。
また、コンピュータ(情報処理装置)がメモリ上に読み出したプログラムを実行することによって、前述した実施の形態の機能が実現される他、そのプログラムの指示に基づき、コンピュータ上で稼動しているOSなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現される。
さらに、可搬型記録媒体から読み出されたプログラムやプログラム(データ)提供者から提供されたプログラム(データ)が、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるメモリに書き込まれた後、そのプログラムの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行ない、その処理によっても前述した実施の形態の機能が実現され得る。
すなわち、本発明は、以上に述べた実施の形態に限定されるものではなく、本発明の要旨を逸脱しない範囲内で種々の構成または形状を取ることができる。
シンクライアントシステムの概要を説明するための図である。 従来の入力情報の送信例を説明するための図である。 従来の問題点を説明するための図である。 クライアント装置10のハードウェア構成の概略を示す図である。 サーバ装置20のハードウェア構成の概略を示す図である。 クライアント装置10が備えるシンクライアントビューアの処理の流れを示すフローチャートである。 入力された2つのイベントを1つの通信パケットとして送信する仕組みを説明するための図である。 マウスクリック操作の際の動作シーケンスを示す図である。 マウスボタンを長時間押したままにした際の動作シーケンスを示す図である。 タイムアウト値の最適値を推定する処理の流れを示すフローチャートである。 サーバ装置20の処理の流れを示すフローチャートである。
符号の説明
1 クライアント装置
2 サーバ装置
3 通信網
10 クライアント装置
20 サーバ装置
401 バス
402 CPU
403 入力装置
404 表示装置
405 ROM
406 RAM
407 外部記憶装置
408 通信I/F
409 補助記憶装置
501 バス
502 CPU
503 入力装置
504 表示装置
505 ROM
506 RAM
507 外部記憶装置
508 通信I/F
509 補助記憶装置

Claims (5)

  1. ネットワークを介してサーバ装置に対してサービス要求を行ない、前記サービス要求に対応する画面情報を前記サーバ装置から取得して表示するクライアント装置であって、
    入力デバイスに対する操作に基づく入力イベントを検出する検出手段と、
    前記検出手段で検出された入力イベントが、一対の特定イベントの内の第1特定イベントか否かを判別する第1判別手段と、
    前記第1判別手段で判別された入力イベントが前記第1特定イベントであれば、その入力イベントを一時保管すると共に、その第1特定イベントの検出後にあって前記検出手段で検出した新たな入力イベントが、当該第1特定イベントに関連する前記一対の特定イベントの内の残りの第2特定イベントか否かを判別する第2判別手段と、
    前記第1判別手段で判別された入力イベントが前記第1特定イベントでなければ、その入力イベントを前記サーバ装置に対して送信し、前記第2判別手段で判別された新たな入力イベントが前記第2特定イベントであれば、前記一時保管した第1特定イベントと当該第2特定イベントを一つにまとめ、そのまとめた入力イベントを前記サーバ装置に対して送信する第1送信制御手段と、
    を具備したことを特徴とするクライアント装置。
  2. 前記第2判別手段で判別された新たな入力イベントが前記第2特定イベントでなければ、前記一時保管した第1特定イベントを出力した後、今回検出した新たな入力イベントを前記サーバ装置に対して送信する第2送信制御手段と、
    を更に具備したことを特徴とする請求項1に記載のクライアント装置。
  3. 前記第1特定イベントの一時保管後にあって、所定時間新たな入力イベントの検出がない場合には、前記一時保管した第1特定イベントを前記サーバ装置に対して送信する第3送信制御手段と、
    を更に具備したことを特徴とする請求項1または2に記載のクライアント装置。
  4. 前記第1特定イベントは、前記入力デバイスに対するプレスイベントであり、前記第2特定イベントは、前記入力デバイスに対する前記プレスイベントを解除した際のリリースイベントである、
    ことを特徴とする請求項1に記載のクライアント装置。
  5. ネットワークを介してサーバ装置に対してサービス要求を行ない、前記サービス要求に対応する画面情報を前記サーバ装置から取得して表示するクライアント装置のコンピュータを制御するためのプログラムであって、
    前記コンピュータを、
    入力デバイスに対する操作に基づく入力イベントを検出する検出手段、
    前記検出手段で検出された入力イベントが、一対の特定イベントの内の第1特定イベントか否かを判別する第1判別手段、
    前記第1判別手段で判別された入力イベントが前記第1特定イベントであれば、その入力イベントを一時保管すると共に、その第1特定イベントの検出後にあって前記検出手段で検出した新たな入力イベントが、当該第1特定イベントに関連する前記一対の特定イベントの内の残りの第2特定イベントか否かを判別する第2判別手段、
    前記第1判別手段で判別された入力イベントが前記第1特定イベントでなければ、その入力イベントを前記サーバ装置に対して送信し、前記第2判別手段で判別された新たな入力イベントが前記第2特定イベントであれば、前記一時保管した第1特定イベントと当該第2特定イベントを一つにまとめ、そのまとめた入力イベントを前記サーバ装置に対して送信する第1送信制御手段、
    として機能させるようにしたコンピュータ読み取り可能なプログラム。
JP2006260719A 2006-09-26 2006-09-26 クライアント装置およびプログラム Expired - Fee Related JP5140978B2 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2006260719A JP5140978B2 (ja) 2006-09-26 2006-09-26 クライアント装置およびプログラム
CNA2007101617371A CN101155104A (zh) 2006-09-26 2007-09-25 服务器装置、客户机装置、基于服务器计算系统以及程序产品
US11/861,553 US8219685B2 (en) 2006-09-26 2007-09-26 Thin client apparatus, a control method thereof, and a program storage medium for a thin client system for intergrating input information items and transmitting the intergrated information to a server

Applications Claiming Priority (1)

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

Publications (2)

Publication Number Publication Date
JP2008083800A JP2008083800A (ja) 2008-04-10
JP5140978B2 true JP5140978B2 (ja) 2013-02-13

Family

ID=39226331

Family Applications (1)

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

Country Status (3)

Country Link
US (1) US8219685B2 (ja)
JP (1) JP5140978B2 (ja)
CN (1) CN101155104A (ja)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1985104A2 (en) * 2006-02-14 2008-10-29 Casio Computer Co., Ltd. Server apparatuses, server control programs, and client apparatuses in a computer system
JP4848801B2 (ja) * 2006-03-09 2011-12-28 カシオ計算機株式会社 画面表示制御装置および画面表示制御処理プログラム
WO2007114456A1 (en) * 2006-03-29 2007-10-11 Casio Computer Co., Ltd. Server apparatus of computer system
JP4957126B2 (ja) * 2006-08-31 2012-06-20 カシオ計算機株式会社 クライアント装置およびプログラム
US8134482B2 (en) * 2007-12-03 2012-03-13 Avocent Corporation Method and system for reducing multiple keystroke output
JP4725587B2 (ja) * 2008-03-18 2011-07-13 カシオ計算機株式会社 サーバ装置及びサーバ制御プログラム
CN101674154B (zh) * 2008-09-08 2012-12-19 鸿富锦精密工业(深圳)有限公司 通信系统及通信方法
JP5251500B2 (ja) * 2008-12-26 2013-07-31 カシオ計算機株式会社 クライアント装置、およびプログラム
JP4697321B2 (ja) * 2009-03-24 2011-06-08 カシオ計算機株式会社 コンピュータシステム、クライアント装置及びプログラム
US9774818B2 (en) 2009-04-24 2017-09-26 Level 3 Communications, Llc Media resource storage and management
WO2010124291A1 (en) 2009-04-24 2010-10-28 Level 3 Communications, Llc Media resource storage and management
EP2821920A4 (en) 2012-03-02 2015-03-25 Fujitsu Ltd IMAGE TRANSMISSION METHOD, PROGRAM, AND DEVICE
US9721175B2 (en) 2013-05-08 2017-08-01 Jpmorgan Chase Bank, N.A. Systems and methods for high fidelity multi-modal out-of-band biometric authentication through vector-based multi-profile storage
US10235508B2 (en) 2013-05-08 2019-03-19 Jpmorgan Chase Bank, N.A. Systems and methods for high fidelity multi-modal out-of-band biometric authentication with human cross-checking
EP4156601A1 (en) * 2013-05-08 2023-03-29 JPMorgan Chase Bank, N.A. Automated code analysis and tagging (methods and systems)
US9760785B2 (en) 2013-05-08 2017-09-12 Jpmorgan Chase Bank, N.A. Systems and methods for high fidelity multi-modal out-of-band biometric authentication
JP2015011652A (ja) * 2013-07-02 2015-01-19 キヤノン株式会社 情報処理装置及びその制御方法、並びにプログラム
US9923855B2 (en) 2013-08-01 2018-03-20 Jpmorgan Chase Bank, N.A. Systems and methods for electronic message prioritization
KR101663964B1 (ko) * 2015-07-20 2016-10-11 주식회사 에이텍 마우스를 이용한 망 전환장치 및 그 방법

Family Cites Families (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566339A (en) * 1992-10-23 1996-10-15 Fox Network Systems, Inc. System and method for monitoring computer environment and operation
DE69625751T2 (de) * 1995-07-07 2003-10-02 Sun Microsystems Inc Verfahren und System zur Ausführungssynchronisation von Ereignissen beim Testen von Software
US7555529B2 (en) * 1995-11-13 2009-06-30 Citrix Systems, Inc. Interacting with software applications displayed in a web page
JP4552296B2 (ja) * 2000-09-08 2010-09-29 ソニー株式会社 情報処理装置および情報処理方法、並びに記録媒体
JP2002328886A (ja) * 2001-04-27 2002-11-15 Canon Inc 遠隔操作システム、遠隔操作方法、被操作装置、操作端末、プログラムおよび記憶媒体
US6877007B1 (en) * 2001-10-16 2005-04-05 Anna M. Hentzel Method and apparatus for tracking a user's interaction with a resource supplied by a server computer
US7287273B2 (en) * 2002-02-15 2007-10-23 Science Park Corporation Individual authentication method using input characteristic of input apparatus by network, program thereof, and recording medium containing the program
KR100991895B1 (ko) * 2002-02-27 2010-11-04 싸이언스 파크 가부시키가이샤 전자계산기의 파일 시스템 드라이버의 제어 방법 및 그 프로그램을 기록한 컴퓨터 판독 가능한 기록매체
JP2003323402A (ja) 2002-05-01 2003-11-14 Ntt Docomo Inc シンクライアントシステム、並びに、シンクライアント端末、シンクライアント端末制御方法、及び、制御プログラム
US7026929B1 (en) * 2002-05-10 2006-04-11 A La Cart, Inc. Food information monitoring system
JP4326836B2 (ja) * 2003-05-21 2009-09-09 株式会社エヌ・ティ・ティ・ドコモ シンクライアントシステム、シンクライアント端末機、中継装置及びシンクライアント端末画面更新方法
WO2005043802A1 (en) * 2003-10-20 2005-05-12 Drm Technologies, Llc Securing digital content system and method
NZ589653A (en) * 2004-06-04 2012-10-26 Keyless Systems Ltd System to enhance data entry in mobile and fixed environment
KR100690752B1 (ko) * 2004-07-28 2007-03-09 엘지전자 주식회사 피티티 서비스 시스템의 발언권 할당방법
US20070065357A1 (en) * 2005-09-19 2007-03-22 Mediatek Inc. Cellular phone with push to talk over cellular (POC) service

Also Published As

Publication number Publication date
CN101155104A (zh) 2008-04-02
US8219685B2 (en) 2012-07-10
US20080077660A1 (en) 2008-03-27
JP2008083800A (ja) 2008-04-10

Similar Documents

Publication Publication Date Title
JP5140978B2 (ja) クライアント装置およびプログラム
JP5296373B2 (ja) 処理の所要時間を予め提供する技術
KR100869902B1 (ko) 통합관리 시스템 환경에서의 장애 및 성능정보 통합모니터링 방법 및 그 시스템
CN102693104B (zh) 打印系统和图像形成装置
US9594663B2 (en) Apparatus and method for collecting log information from a plurality of servers
JP6504234B2 (ja) 情報処理装置、その処理方法及びプログラム
US10091129B2 (en) Information processing apparatus and method, information processing system, and non-transitory computer readable medium
US20060290980A1 (en) Character entry system
US20170249612A1 (en) Receipt server, electronic receipt system, and program
JP4663525B2 (ja) 情報処理方法、情報処理装置、及びプログラム
US20120120448A1 (en) Image processing system and image processing method
JP5050432B2 (ja) クライアント装置およびプログラム
JP2010134765A (ja) 印刷枚数削減支援装置、印刷枚数削減支援方法、及びプログラム
JP2008071092A (ja) サーバ装置、クライアント装置、サーバベースコンピューティングシステムおよびプログラム
US20100042736A1 (en) System and method for determining printer health
KR100750157B1 (ko) 화상형성시스템 및 화상형성방법
JP2011198053A (ja) 画像処理システム
JP2007272620A (ja) ファイル評価装置、ファイル評価方法、およびファイル評価プログラム
US20040230700A1 (en) Information transmission method and information transmission apparatus
JP2017037469A (ja) 情報処理システム、優先処理方法、情報処理装置及びプログラム
CN101267337A (zh) 网络管理系统及其管理方法
JP2006235935A (ja) 印刷システム
JP2005065279A (ja) ユーザインタフェースカスタマイズ方法、ユーザインタフェースカスタマイズ装置、ユーザインタフェース設定複製方法、ユーザインタフェース設定複製装置及びコンピュータ読み出し可能媒体
JP6266925B2 (ja) 制御装置、制御方法、およびプログラム
JP2007206808A (ja) 印刷文書登録プログラム及び記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20090709

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: 20110808

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20120403

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120621

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20120628

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: 20121023

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: 20121105

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

Free format text: PAYMENT UNTIL: 20151130

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 5140978

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees