JP4765729B2 - Client device of computer system and control program thereof, server device and control program thereof - Google Patents
Client device of computer system and control program thereof, server device and control program thereof Download PDFInfo
- Publication number
- JP4765729B2 JP4765729B2 JP2006100260A JP2006100260A JP4765729B2 JP 4765729 B2 JP4765729 B2 JP 4765729B2 JP 2006100260 A JP2006100260 A JP 2006100260A JP 2006100260 A JP2006100260 A JP 2006100260A JP 4765729 B2 JP4765729 B2 JP 4765729B2
- Authority
- JP
- Japan
- Prior art keywords
- pointer
- event
- server device
- transmission
- response
- 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
Links
Images
Landscapes
- Position Input By Displaying (AREA)
Description
本発明は、LAN(Local Area Network)等のネットワークを介して接続されたサーバ−クライアント・システムであって、クライアント装置にて入出力・表示される全てのアプリケーションをサーバ装置上で動作させるようにしたコンピュータシステム(thin client)のコンピュータシステムのクライアント装置およびその制御プログラム、サーバ装置およびその制御プログラムに関する。 The present invention is a server-client system connected via a network such as a LAN (Local Area Network) so that all applications input / output / displayed on the client device are operated on the server device. The present invention relates to a client device of a computer system and a control program thereof, a server device and a control program thereof.
従来、社内LANなどのネットワークに接続された各PC端末では、その個々のPC端末が独立して文書作成や表作成などのアプリケーションを起動実行し、またこれに伴い生成された種々のファイルも当該PC端末において自身の記憶装置に保存、あるいは磁気ディスク,光ディスク,小型半導体メモリ等の外部記憶媒体に保存するか、ネットワーク上のサーバが管理する記憶装置に転送して保存している。 Conventionally, in each PC terminal connected to a network such as an in-house LAN, each PC terminal independently activates and executes an application such as document creation or table creation, and various files generated in association with this start up and execution. The data is stored in its own storage device in the PC terminal, or stored in an external storage medium such as a magnetic disk, an optical disk, or a small semiconductor memory, or transferred to and stored in a storage device managed by a server on the network.
このような従来のサーバ−クライアント・システムでは、各PC端末自身において生成ファイルが管理されるため、当該PC端末を紛失したり不正に持ち出したりして第3者の手に渡った場合、保存ファイルが読み出されて重要情報や機密情報が漏洩する恐れがある。 In such a conventional server-client system, the generated file is managed in each PC terminal itself. Therefore, when the PC terminal is lost or illegally taken out and put into the hands of a third party, the saved file is stored. May be read out and important information and confidential information may be leaked.
しかも、各PC端末が独立してアプリケーションを起動実行していたのでは、当該アプリケーションの更新,変更,追加の作業を個々のPC端末毎に行う必要があり、管理が面倒でコストも掛かってしまう。 In addition, if each PC terminal starts and executes an application independently, it is necessary to update, change, and add the application for each PC terminal, which is cumbersome and expensive. .
このため最近のサーバ−クライアント・システムでは、各PC端末(クライアントPC)にて入出力・表示される全てのアプリケーションをサーバ上で起動実行させ、これに伴う全ての生成ファイルもサーバ側で管理するようにしたSBC(Server Based Computing)システム[シン・クライアント・システム]が導入されるようになっている(例えば、特許文献1、特許文献2参照。)。
For this reason, in recent server-client systems, all applications that are input / output and displayed on each PC terminal (client PC) are activated and executed on the server, and all generated files associated therewith are also managed on the server side. An SBC (Server Based Computing) system [thin client system] is introduced (see, for example,
このようなシン・クライアント・システムでは、サーバ側で実行されるアプリケーションソフトの描画データがクライアントPCに転送されて該クライアントPCにてこの描画データを表示するものである(例えば、特許文献3参照。)。 In such a thin client system, drawing data of application software executed on the server side is transferred to the client PC and the drawing data is displayed on the client PC (see, for example, Patent Document 3). ).
そして、クライアントPCでは、キーボードの操作やマウス,タッチパネルなどのポインティングデバイスの操作に伴い発生される全ての入力イベントを、そのイベント発生の都度、発生イベントに対応する送信データを生成してサーバ装置へ送信する必要がある。
前記従来のシン・クライアント・システムでは、クライアントPCは、ユーザ操作に伴い発生される全ての入力イベントを、そのイベント発生の都度、発生イベントに対応する送信データを生成してサーバ装置へ送信する必要があるため、当該イベント送信のための電力消費が大きくなり、特に、クライアントPCが携帯端末などであって、電池電源によって駆動されている場合など、電池寿命が速くなってその連続動作可能な時間を短くしてしまう問題がある。 In the conventional thin client system, the client PC needs to generate transmission data corresponding to the generated event and transmit it to the server device every time an event occurs in response to a user operation. Therefore, the power consumption for the event transmission increases, especially when the client PC is a mobile terminal or the like and is driven by a battery power source, the battery life is fast and the continuous operation time is possible. There is a problem of shortening.
本発明は、このような課題に鑑みなされたもので、入力イベントの発生に伴うサーバ装置への送信回数を適切に削減し、電力消費を抑制することが可能になるコンピュータシステムのクライアント装置およびその制御プログラム、サーバ装置およびその制御プログラムを提供することを目的とする。 The present invention has been made in view of such a problem, and it is possible to appropriately reduce the number of times of transmission to a server device accompanying the occurrence of an input event and to suppress power consumption, and a client device thereof It is an object to provide a control program, a server device, and a control program thereof.
請求項1に記載のクライアント装置は、クライアント装置からのイベント送信に従ってサーバ装置が当該送信イベントに応じた処理を実行するコンピュータシステムのクライアント装置であって、ポインティングデバイスによって示されるポインタの移動速度を判断する移動判断手段と、前記イベント送信に対するサーバ装置からの応答を判断する応答判断手段と、前記移動判断手段で前記移動速度が所定速度より遅いと判断された場合にあっては、前記ポインタのイベント情報を前記サーバ装置へ送信する第1制御手段と、前記移動判断手段で前記移動速度が所定速度より速いと判断された場合にあっては、前記応答判断手段で所定時間以内での応答ある場合に前記ポインタのイベント情報を前記サーバ装置へ送信し、前記応答判断手段で所定時間以内での応答なしと判断された場合に当該イベント情報の送信を省略する第2制御手段と、を備えたことを特徴とする。
請求項2に記載のクライアント装置は、クライアント装置からのイベント送信に従ってサーバ装置が当該送信イベントに応じた処理を実行するコンピュータシステムのクライアント装置であって、ポインティングデバイスによって示されるポインタの移動距離を判断する移動判断手段と、前記イベント送信に対するサーバ装置からの応答を判断する応答判断手段と、前記移動判断手段で前記移動距離が所定距離より長いと判断された場合にあっては、前記ポインタのイベント情報を前記サーバ装置へ送信する第1制御手段と、前記移動判断手段で前記移動距離が所定距離より短いと判断された場合にあっては、前記応答判断手段で所定時間以内での応答ある場合に前記ポインタのイベント情報を前記サーバ装置へ送信し、前記応答判断手段で所定時間以内での応答なしと判断された場合に当該イベント情報の送信を省略する第2制御手段と、を備えたことを特徴とする。
The client device according to
The client device according to
請求項3に記載のサーバ装置は、クライアント装置から送信されたイベント情報に従って当該イベント情報に応じた処理を実行するコンピュータシステムのサーバ装置であって、前記クライアント装置から送信されたポインタのイベント情報からそのポインタ位置を取得する位置取得手段と、前記クライアント装置からイベント情報の送信を停止する送信停止情報の通知を受けた場合には、前記位置取得手段により取得された過去のポインタ位置とそのポイント位置の移動状況とから現在のポインタ位置を予測する位置予測手段と、前記位置取得手段により取得されたポインタ位置、または前記位置予測手段により予測されたポインタ位置に応じて処理を実行する処理実行手段と、を備え、前記クライアント装置は、ポインティングデバイスによって示されるポインタの移動速度が所定速度より速い、あるいはポインタの移動距離が所定距離より短い、と判断した最初のときに、前記送信停止情報を当該サーバ装置へ通知する、ことを特徴とする。 The server device according to claim 3 is a server device of a computer system that executes processing according to the event information in accordance with the event information transmitted from the client device, from the event information of the pointer transmitted from the client device. When receiving the position acquisition means for acquiring the pointer position and the transmission stop information for stopping the transmission of the event information from the client device, the past pointer position acquired by the position acquisition means and the point position A position predicting unit that predicts the current pointer position from the movement status, and a processing execution unit that executes processing according to the pointer position acquired by the position acquiring unit or the pointer position predicted by the position predicting unit; The client device is a pointing device Therefore the moving speed of the pointer is higher than a predetermined speed indicated, or the moving distance of the pointer is shorter than the predetermined distance, the first when it is determined that notifies the transmission stop information to the server device, and wherein the.
本発明のクライアント装置(クライアント制御プログラム)によれば、サーバ装置への無駄なイベント送信回数を削減して電力消費を抑えることができる。 According to the client device of the present invention (client control program), it is possible to suppress power consumption by reducing wasteful event transmission times to the server device.
本発明のサーバ装置(サーバ制御プログラム)によれば、クライアント装置からのポインタ移動に伴う無駄なイベント情報の送信が停止されたときでも、当該ポインタの位置情報を予測生成して継続的に処理を実行することができる。 According to the server device of the present invention (server control program), even when the transmission of useless event information associated with the pointer movement from the client device is stopped, continuously process the location information of the pointer prediction generation to Can be executed.
よって本発明によれば、入力イベントの発生に伴うサーバ装置への送信回数を適切に削減し、電力消費を抑制することが可能になるコンピュータシステムのクライアント装置およびその制御プログラム、サーバ装置およびその制御プログラムを提供できる。 Therefore, according to the present invention, a client device of a computer system and its control program, a server device and its control capable of appropriately reducing the number of transmissions to the server device accompanying the occurrence of an input event and suppressing power consumption. Can provide a program.
以下図面により本発明の実施の形態について説明する。 Embodiments of the present invention will be described below with reference to the drawings.
(第1実施形態)
図1は、本発明の実施形態に係るサーバ装置10およびそのクライアント装置20a,20b,…を備えたシン・クライアント・システムの構成を示すブロック図である。
(First embodiment)
FIG. 1 is a block diagram showing a configuration of a thin client system including a
このシン・クライアント・システムは、LAN(Local Area Network)やWAN(Wide Area Network)からなるネットワークN上に接続されたサーバ装置10および複数のクライアント装置20a,20b,…を備える。
This thin client system includes a
サーバ装置10は、文書作成処理プログラム,表計算処理プログラム,メール処理プログラム,インターネット接続処理プログラム、Web表示プログラムなど、複数のアプリケーションプログラムを有し、当該サーバ装置10に接続されたクライアント装置20a,20b,…からの操作入力信号に応じて起動しその処理を実行する。
The
このサーバ装置10において、クライアント装置20a,20b,…からのキーボード、マウス、タッチパネルなどによる操作入力信号に応じたアプリケーションプログラムの実行に伴い生成された表示出力用の描画データは、内蔵されたアクセラレータ回路101(図6参照)によって転送用の描画データに変換されると共に、当該描画データの内容やクライアント装置20a,20b,…との通信状態に応じた最適な圧縮方式で圧縮そして暗号化され、アクセス元のクライアント装置20a,20b,…へ送信(転送)される。
In this
そして、クライアント装置20a,20b,…では、前記サーバ装置10から転送された描画データが、各クライアント装置内のアクセラレータ回路21(図2参照)においてデコードされ、その表示部に表示される。
In the
つまり、このシン・クライアント・システムにおける各クライアント装置20a,20b,…は、何れもキーボード及びマウスなどのユーザ操作に応じた入力機能とLCD表示部及びプリンタなどの出力機能を有し、独自のアプリケーション機能やデータファイルの管理機能を持つ必要が無い。
In other words, each of the
そして、クライアント装置20a,20b,…からの操作入力信号に応じてサーバ装置10にて起動実行される各種の処理に伴い生成されたデータファイルは、当該サーバ装置10内あるいは該サーバ装置10にて接続管理される磁気ディスクなどの記憶装置にユーザアカウント毎あるいは共有ファイルとして記憶され保存される。
And the data file produced | generated in connection with the various processes started and performed in the
図2は、前記シン・クライアント・システムにおけるクライアント装置20の回路構成を示すブロック図である。
FIG. 2 is a block diagram showing a circuit configuration of the
クライアント装置20は、コンピュータとしてのCPU22を備え、このCPU22には、バス23を介してROM24、RAM25が接続されると共に、アクセラレータ回路21が接続される。このアクセラレータ回路21にはVRAM26が搭載され、このVRAM26に対して前記サーバ装置10から転送されて書き込まれた描画データが表示装置27に出力されて表示される。
The
また、CPU22には、バス23を介してキーボード、マウス、タッチパネルなどの入力部28、外部記憶HDD(Hard Disk Drive)29、認証デバイス,バーコードリーダー,CCDカメラ,プリンタ,無線デバイスなどの各種の外部機器30を接続するためのUSB/パラレル/シリアルインターフェース31、前記サーバ装置10との送受信制御部(有線/無線)32が接続される。
The
なお、この送受信制御部(有線/無線)32は、各種イベントの発生に伴う送受信時においてONとなり、一定時間の経過後はスタンバイ状態になる。 The transmission / reception control unit (wired / wireless) 32 is turned on during transmission / reception accompanying the occurrence of various events, and enters a standby state after a predetermined time has elapsed.
CPU22は、ROM24に予め記憶されているシステムプログラムに従ってRAM25を作業用メモリとし回路各部の動作を制御するもので、入力部28におけるキーボード、マウス、タッチパネルなどからの入力信号や送受信制御部32を介して受信されるサーバ装置10からのアプリケーション応答信号,転送描画データなどに応じて前記システムプログラムが起動・実行される。
The
このクライアント装置20において、前記サーバ装置10におけるアプリケーションプログラムを実行させて生成した種々のデータは、適宜、外部記憶HDD29に読み込ませて記憶させ、また生成転送された表示用の描画データは、アクセラレータ回路21においてデコードされてVRAM26に書き込まれ表示装置27で表示出力される。
In the
このクライアント装置20は、入力部28におけるマウス操作に応じて表示画面上でのポインタ位置が移動表示される際に、予め設定された速度以上の速度によって移動表示された場合には、単なるポインタの目的位置への移動最中であると判定してその移動位置座標のデータをサーバ装置10へ送信しないように制御する。このことによりサーバ装置10へのデータ送信回数を削減し、電力消費を抑え、電池電源の長寿命化を図る。
When the pointer position on the display screen is moved and displayed in response to the mouse operation on the
図3は、前記シン・クライアント・システムのクライアント装置20における全体の動作制御を示すフローチャートである。
FIG. 3 is a flowchart showing overall operation control in the
電源が投入されると、各種の初期設定処理が行われ、例えば当該クライアント装置20の表示装置27の表示画面の幅W、高さH、表示可能色数などの領域指定情報をサーバ装置10へ通知するため、これらの値がクライアント管理情報としてイニシャル設定される(ステップS1)。
When the power is turned on, various initial setting processes are performed. For example, area designation information such as the width W, height H, and the number of displayable colors of the
すると、サーバ装置10に対して前記クライアント管理情報と共に接続・認証の要求信号が送信される(ステップS2,S3)。
Then, a connection / authentication request signal is transmitted to the
そして、サーバ装置10から認証OKの信号が通知されると共に発行されたクライアントIDが受信されて当該サーバ装置10との接続情報処理が確立されると(ステップS4→S5)、図4における接続サーバ装置10との通信制御処理(ステップSA)に移行され、本クライアント装置20からの種々の要求に応じたサーバ装置10でのアプリケーションの起動・実行、およびこれに伴うデータの生成・送受信処理が行われる。
Then, when an authentication OK signal is notified from the
この後、ユーザ操作に応じてサーバ装置10との接続終了が指示されるか、または該サーバ装置10から接続終了信号が受信されると(ステップS6)、当該サーバ装置10との間での通信制御処理が終了される(ステップS7)。
Thereafter, when an end of connection with the
図4は、前記クライアント装置20におけるサーバ装置10との通信制御処理(ステップSA)を示し、同図(A)はクライアント装置20の通信制御処理を示すフローチャート、同図(B)はそのサーバ装置10に対しての送信プロトコルである。
4 shows communication control processing (step SA) with the
サーバ装置10との接続が確立されると(ステップS4→S5)、先ず、当該サーバ装置10に対して問い合わせ信号を送信した際のその応答時間が計測され、サーバ応答時間データとしてRAM25内に保存される(ステップA1)。
When the connection with the
そして、イベント発生待ちの状態になる(ステップA2)。 Then, an event generation wait state is entered (step A2).
なお、前記サーバ応答時間データは、サーバ装置10でのCPU負荷が重く処理に時間が掛かっている場合には長くなり、逆に負荷が軽い場合には短くなる。
The server response time data becomes longer when the CPU load on the
次に、入力部28にけるキーボードが操作されることでそのキーコードがCPU22に受信されると(ステップA4→A5)、送信プロトコルとして本クライアントIDに対応付けするイベント種類“Key”がセットされ、受信されたキーコードのデータを付加した送信データが生成されると共に(ステップA9)パケット通信処理され(ステップA10)、転送命令によってサーバ装置10へ送信される(ステップA11)。
Next, when the key code is received by the
また、入力部28にけるマウス/タッチパネル(ポインティングデバイス)が操作されることでCPU22において表示画面上の指定座標が検出されたり、左右ホイールのクリック信号が受信されたりすると(ステップA6)、図5におけるマウスイベント制御処理(ステップAB)へ移行される。
Further, when a designated coordinate on the display screen is detected or a click signal for the left and right wheels is received by the
また、USB/パラレル/シリアルインターフェース31を介して各種の外部機器が接続されることでその外部機器からのデータがCPU22に受信されると(ステップA7→A8)、この受信されたデータがプロトコル変換されて送信データとして生成されると共に(ステップA9)パケット通信処理され(ステップA10)、転送命令によってサーバ装置10へ送信される(ステップA11)。
Further, when various external devices are connected via the USB / parallel /
さらに、前記サーバ装置10から送信転送された表示用の描画データがネットワークN(LAN)を介して受信されると(ステップA3)、アクセラレータ回路21において、TCP−IPのプロトコルヘッダが解析され(ステップA12)、受信された表示用描画データの表示位置を示す座標(x,y)および領域サイズ(h,w)が取得され表示用のレジスタに転送される(ステップA13)。するとエンコードされた表示用描画データがVRAM26へ転送されて書き換えられる(ステップA14)。
Further, when the display drawing data transmitted and transferred from the
すると、前記アクセラレータ回路21において表示命令が出力され、前記VRAM26に書き込まれた表示用の描画データに基づき表示画面データの更新が行われる(ステップA15)。
Then, a display command is output from the
図5は、前記クライアント装置20におけるサーバ装置10との通信制御処理(ステップSA)に伴う第1実施形態のマウスイベント制御処理(ステップAB)を示し、同図(A)はクライアント装置20のマウスイベント制御処理を示すフローチャート、同図(B)はそのサーバ装置10に対してのマウスイベント送信プロトコルである。
FIG. 5 shows the mouse event control process (step AB) of the first embodiment accompanying the communication control process (step SA) with the
先ず、入力部28におけるマウス操作に応じて左右ホイールのクリック信号が受信された場合には、マウスイベントの送信プロトコルとして本クライアントIDに対応付けするイベント種類“mouse”および識別子“クリック”がセットされ(ステップB2)、その後、図4に示すように、受信された左/右/ホイールのコードデータを付加した送信データが生成されると共に(ステップA9)パケット通信処理され(ステップA10)、転送命令によってサーバ装置10へ送信される(ステップA11)。
First, when a left / right wheel click signal is received in response to a mouse operation at the
一方、入力部28におけるマウス操作やタッチパネル操作に応じてVRAM26上に展開される表示領域上でのポインタ移動のイベントが発生されると(ステップB1)、表示装置27に対して当該ポインタの直接表示(ローカル表示)を行う設定であるか又はサーバ装置10からの応答によって行う設定であるかが判断され(ステップB3)、直接表示を行う設定であると判断された場合には(ステップB3(YES))、当該ポインタの移動位置座標に従ったポインタ表示が表示装置27に行われる(ステップB4)。
On the other hand, when an event of pointer movement on the display area developed on the
すると連続計時中の現タイマー値S1が読み込まれ(ステップB5)、前タイマー値S2から現タイマー値S1が減算されて当該ポインタ移動イベント発生間隔に相当する変化時間S0が計算される(ステップB6)。 Then, the current timer value S1 during continuous counting is read (step B5), and the current timer value S1 is subtracted from the previous timer value S2 to calculate the change time S0 corresponding to the pointer movement event occurrence interval (step B6). .
また、現在のポインタ座標X1,Y1の値が読み込まれ(ステップB7)、前ポインタ座標値X2,Y2から現ポインタ座標値X1,Y1が減算されてポインタ移動イベント発生間隔に相当する変化座標(移動距離)X0,Y0が計算される(ステップB8)。 Also, the values of the current pointer coordinates X1 and Y1 are read (step B7), and the current pointer coordinate values X1 and Y1 are subtracted from the previous pointer coordinate values X2 and Y2 to change coordinates (movement) corresponding to the pointer movement event occurrence interval. Distances X0, Y0 are calculated (step B8).
そして、前記ポインタ移動イベント発生間隔に相当する変化座標(移動距離)X0,Y0から同変化時間S0が除算されてXY方向それぞれのポインタ移動速度Vx0,Vy0が計算される(ステップB9)。 Then, the change time S0 is divided from the change coordinates (movement distance) X0, Y0 corresponding to the pointer movement event occurrence interval to calculate the pointer movement speeds Vx0, Vy0 in the XY directions (step B9).
ここで、前記現ポインタ座標X1,Y1が前ポインタ座標値X2,Y2に書き換えられると共に、前記現タイマー値S1が前タイマー値S2に書き換えられる(ステップB10)。 Here, the current pointer coordinates X1 and Y1 are rewritten to the previous pointer coordinate values X2 and Y2, and the current timer value S1 is rewritten to the previous timer value S2 (step B10).
すると、前記ポインタ移動イベント発生間隔相当のポインタ移動速度Vx0,Vy0が何れも予め設定された基準速度値Vx,Vyよりも遅いか否かが判断される(ステップB11)。 Then, it is determined whether or not the pointer movement speeds Vx0 and Vy0 corresponding to the pointer movement event occurrence interval are slower than preset reference speed values Vx and Vy (step B11).
そして、ポインタ移動速度Vx0,Vy0が何れも予め設定された基準速度値Vx,Vyよりも遅いと判断された場合(ステップB11(YES))、つまりマウス/タッチパネルによってポインタがゆっくり移動操作されていると判断された場合には、送信プロトコルとして本クライアントIDに対応付けする現在のポインタ座標値X,Y、イベント種類“Mouse”、識別子“座標”がセットされ(ステップB12,B13)、送信データが生成される(ステップA9)。そしてパケット通信処理され(ステップA10)、転送命令によってサーバ装置10へ送信される(ステップA11)。
If it is determined that the pointer movement speeds Vx0 and Vy0 are both slower than the preset reference speed values Vx and Vy (step B11 (YES)), that is, the pointer is slowly moved by the mouse / touch panel. Is determined, the current pointer coordinate values X and Y associated with the client ID, the event type “Mouse”, and the identifier “coordinate” are set as the transmission protocol (steps B12 and B13), and the transmission data is set. Is generated (step A9). Then, packet communication processing is performed (step A10), and the packet is transmitted to the
一方、前記ステップB11において、ポインタ移動速度Vx0,Vy0の何れかが予め設定された基準速度値Vx,Vy以上に速いと判断された場合(ステップB11(NO))、つまりマウス/タッチパネルによってポインタが素早く移動操作されていると判断された場合には、前記ステップA1にてRAM25内に保存されたサーバ装置10の応答時間が読み込まれ(ステップB14)、予め設定された適正な応答時間T0よりも長いか否かが判断される(ステップB15)。
On the other hand, if it is determined in step B11 that one of the pointer movement speeds Vx0 and Vy0 is faster than preset reference speed values Vx and Vy (step B11 (NO)), the pointer is moved by the mouse / touch panel. When it is determined that the moving operation is performed quickly, the response time of the
そして、このようにマウス/タッチパネルによってポインタが素早く移動操作された際に、前記サーバ装置10の応答時間が予め設定された適正な応答時間T0以内であると判断された場合には(ステップB15(NO))、当該サーバ装置10は高速なポインタ移動イベントの発生に十分追従できると判断し、送信プロトコルとして本クライアントIDに対応付けする現在のポインタ座標値X,Y、イベント種類“Mouse”、識別子“座標”がセットされ(ステップB12,B13)、その後、図4に示すように、送信データが生成される(ステップA9)。そしてパケット通信処理され(ステップA10)、転送命令によってサーバ装置10へ送信される(ステップA11)。
When it is determined that the response time of the
しかしながら、マウス/タッチパネルによってポインタが素早く移動操作された際に、前記サーバ装置10の応答時間が予め設定された適正な応答時間T0より長いと判断された場合には(ステップB15(YES))、当該サーバ装置10は高速なポインタ移動イベントの発生に追従できず無駄な送信イベントになると判断し、今回のポインタ移動に伴うイベント送信を行うことなく次のイベント発生の待機状態に復帰する(ステップB15→A1,A2)。
However, when it is determined that the response time of the
このように、ポインタの高速移動判断によって当該ポインタの単なる目的地点への移動途中であると判断され(ステップB11(NO))、しかもサーバ装置10の現在の負荷状況が悪く応答時間も遅いと判断された場合には(ステップB15(YES))、今回のポインタ移動に伴うイベント送信(ステップA9〜A11)を省略することで、サーバ装置10へのデータ送信回数を削減でき、電力消費を抑え、電池電源の長寿命化を図ることができる。
As described above, it is determined that the pointer is in the middle of moving to the destination point based on the high-speed movement determination of the pointer (step B11 (NO)), and it is determined that the current load status of the
図6は、前記シン・クライアント・システムにおけるサーバ装置10の回路構成を示すブロック図である。
FIG. 6 is a block diagram showing a circuit configuration of the
サーバ装置10は、コンピュータとしてのCPU102を備え、このCPU102には、バスインターフェース112及び高速バス103を介してROM104、RAM105、表示装置106が接続されると共に、アクセラレータ回路101が接続される。このアクセラレータ回路101には、当該アクセラレータ回路101のワークメモリとしてVRAM107が搭載されて接続される。
The
また、CPU102には、ノーマルバス108を介してキーボードなどの入力部109、外部記憶HDD(Hard Disk Drive)110、クライアント装置20との送受信制御部111が接続される。
Further, an
CPU102は、ROM104に予め記憶されているシステムプログラムや種々のアプリケーションプログラムに従ってRAM105を作業用メモリとし回路各部の動作を制御するもので、入力部109からのキー入力信号や送受信制御部111を介して受信されるクライアント装置20からのユーザ操作に応じたイベント発生信号などに応じて前記種々のプログラムが起動・実行される。
The
このサーバ装置10において、クライアント装置20からのイベント発生信号に応じて起動・実行されるアプリケーションプログラムに従い生成された種々のデータは、例えばそのユーザIDに対応付けられて外部記憶HDD110に記憶され、また表示用の描画データは、アクセラレータ回路101においてVRAM107を使用して転送用の表示データとして生成され、送受信制御部111からクライアント装置20へ転送されて表示出力される。
In this
図7は、前記シン・クライアント・システムのサーバ装置10における全体の動作制御を示すフローチャートである。
FIG. 7 is a flowchart showing overall operation control in the
クライアント装置20a,20b,…から本サーバ装置10に対して接続要求信号が受信されると(ステップJ1)、当該接続要求元のクライアント装置20a,20b,…に対するID,パスワードなどの確認照合に基づいた認証処理が実行される(ステップJ2)。
When a connection request signal is received from the
そして認証OKと判断されると(ステップJ3)、この認証OKと判断されたクライアント装置20a,20b,…のIDが発行され(ステップJ4)、接続されたクライアント別の転送データスレッド処理(図8参照)が開始されて、クライアント装置20a,20b,…からの種々の要求に応じたアプリケーションの起動・実行、およびこれに伴うデータの生成・送受信処理が行われる(ステップJK)。
If it is determined that the authentication is OK (step J3), the IDs of the
前記接続処理中のクライアント装置20aから切断の要求が受信されると(ステップJ5)、当該切断要求元のクライアント装置20aとの間でのデータの生成・送受信処理が終了される(ステップJ6)。
When a disconnection request is received from the
この後、本サーバ装置10のシャットダウンなどに伴って各クライアント装置20a,20b,…に対してのサービス終了が判断されると(ステップJ7)、接続中の全てのクライアント装置20a,20b,…との間でのデータの生成・送受信処理が終了される(ステップJ8)。
Thereafter, when it is determined that the service for each of the
図8は、前記サーバ装置10でのサーバ制御処理に伴うクライアント別転送データスレッド処理(ステップJK)を示すフローチャートである。
FIG. 8 is a flowchart showing a transfer data thread process for each client (step JK) accompanying the server control process in the
サーバ装置10において、転送データスレッド処理が起動されると(ステップJK)、クライアント装置20からの入力イベントの発生に伴う要求信号の受信待機状態となる(ステップK1)。
When the transfer data thread process is activated in the server device 10 (step JK), the
クライアント装置20から送信された要求信号が受信されると(ステップK1(YES))、そのヘッダが解析され(ステップK3)、キーイベント信号であると判断された場合には(ステップK4(YES))、受信されたキーコードがセットされ(ステップK5)、当該キーコードに応じたイベントが発行される(ステップK6)。
When the request signal transmitted from the
また、マウスイベント信号が受信されたと判断された場合には(ステップK7(YES))、図9におけるマウスイベント制御処理へ移行される(ステップKL)。 If it is determined that a mouse event signal has been received (step K7 (YES)), the process proceeds to the mouse event control process in FIG. 9 (step KL).
さらに、シリアルデータが受信されたと判断された場合には(ステップK8(YES))、受信データがRAM105内にバッファされ(ステップK9)、シリアルポートのマッピング処理が行われる(ステップK10)。 If it is determined that serial data has been received (step K8 (YES)), the received data is buffered in the RAM 105 (step K9), and serial port mapping processing is performed (step K10).
図9は、前記サーバ装置10でのクライアント別転送データスレッド処理(ステップJK)に伴う第1実施形態のマウスイベント制御処理(ステップKL)を示すフローチャートである。
FIG. 9 is a flowchart showing the mouse event control process (step KL) of the first embodiment accompanying the client-specific transfer data thread process (step JK) in the
クライアント装置20からマウスイベント信号が受信されることで、このマウスイベント制御処理が起動されると、受信されたマウスコードがセットされ(ステップL1)、当該マウスコードに応じたマウスイベントが発行される(ステップL2)。
When this mouse event control process is activated by receiving a mouse event signal from the
そして、このようなクライアント装置20からの各種のイベント発生に応じたキーイベントの発行処理(ステップK4〜K6)やマウスイベントの発行処理(ステップK7〜KL)、あるいはシリアル受信データのポートマッピング処理(ステップK8〜K10)の各処理に応じた処理の結果は、描画データ、サウンドデータ、シリアルデータなどの処理結果データとして要求元のクライアント装置20へ転送処理される(ステップK1(NO)→ステップK2)。
Then, key event issuance processing (steps K4 to K6), mouse event issuance processing (steps K7 to KL), or serial received data port mapping processing (steps K7 to KL) corresponding to the occurrence of various events from the
したがって、前記構成のシン・クライアント・システムのクライアント装置20による第1実施形態の通信制御機能によれば、入力部28におけるマウスあるいはタッチパネルによってポインタの移動操作が行われた際(ステップB1(YES))に、そのポインタ移動イベント発生時間間隔S0とそのポインタ座標間距離X0,Y0とにより計算されるポインタ移動速度Vx0,Vy0(ステップB5〜B9)が基準速度値Vx,Vy以上に高速になったと判断された場合(ステップB11(NO))には、当該ポインタは単なる目的地点への移動途中であるとして、この際のポインタ移動に伴うサーバ装置10へのイベント送信(ステップA9〜A11)を省略するようにしたので、サーバ装置10へのデータ送信回数を削減して電力消費を抑えることができ、電池電源の長寿命化を図ることができる。
Therefore, according to the communication control function of the first embodiment by the
また、前記構成のシン・クライアント・システムのクライアント装置20による第1実施形態の通信制御機能によれば、ポインタ移動速度Vx0,Vy0(ステップB5〜B9)が基準速度値Vx,Vy以上に高速になったと判断された場合(ステップB11(NO))であっても、サーバ装置10の応答時間が予め設定された応答時間T0以下であると判断された場合(ステップB15(NO))には、当該サーバ装置10は高速なポインタ移動イベントの発生に十分追従できる負荷状態にあるとして、この際のポインタ移動に伴うサーバ装置10へのイベント送信(ステップB12,B13→A9〜A11)を実行し、前記設定された応答時間T0より長いと判断された場合(ステップB15(YES))に、この際のポインタ移動に伴うサーバ装置10へのイベント送信(ステップA9〜A11)を省略するようにしたので、サーバ装置10への無駄と思われるデータ送信回数だけを削減して電力消費を効果的に抑えることができ、電池電源の長寿命化を図ることができる。
Further, according to the communication control function of the first embodiment by the
なお、前記クライアント装置20による第1実施形態の通信制御機能では、ポインタ移動速度Vx0,Vy0(ステップB5〜B9)が基準速度値Vx,Vy以上に高速になったか否か(ステップB11)の条件と、サーバ装置10の応答時間が予め設定された応答時間T0より長いか否か(ステップB15)の条件との適宜な組合せによって、その際のポインタ移動に伴うサーバ装置10へのイベント送信(ステップA9〜A11)を省略または実行する構成としたが、ポインタ移動イベント発生間隔でのポインタ座標間距離X0,Y0が予め設定された微少な距離未満に短いか否かを条件として、同ポインタ移動に伴うサーバ装置10へのイベント送信(ステップA9〜A11)を省略または実行する構成としてもよい。
In the communication control function of the first embodiment by the
また、前記クライアント装置20による第1実施形態の通信制御機能では、ポインタの移動操作状態を幾つかの条件により判定し、そのポインタ移動に伴うサーバ装置10へのイベント送信を単に省略または実行するだけの構成としたが、次の第2実施形態の通信制御機能で説明するように、当該クライアント装置20によってポインタ移動に伴うサーバ装置10へのイベント送信を省略した際には、このイベントSTOPのフラグをサーバ装置10へ送信通知する。これによりサーバ装置10側では、現在ポインタ座標X1,Y1に対し直前のポインタ移動イベント発生時間間隔S0とそのポインタ移動速度Vx0,Vy0とにより計算されるX,Y方向の各距離分を加算して次のポインタ座標Xs,Ysを予測生成し、新たなポインタ座標値X,Yをセットしてイベントを発行することで、クライアント装置20からのポインタ移動に伴うイベント送信の停止中であっても、そのポインタ移動イベントを予測発行して対応する処理を行う構成としてもよい。
Further, in the communication control function of the first embodiment by the
(第2実施形態)
図10は、前記クライアント装置20におけるサーバ装置10との通信制御処理(図3:ステップSA)に伴う第2実施形態のマウスイベント制御処理(ステップAB)を示し、同図(A)はクライアント装置20のマウスイベント制御処理を示すフローチャート、同図(B)はそのサーバ装置10に対してのマウスイベントSTOPフラグの送信プロトコルである。
(Second Embodiment)
FIG. 10 shows a mouse event control process (step AB) of the second embodiment accompanying a communication control process with the
この図10で示す第2実施形態のマウスイベント制御処理において、前記図5で示した第1実施形態のマウスイベント制御処理と同一の処理ステップについては、それと同一のステップ記号を付してその説明を省略する。 In the mouse event control process of the second embodiment shown in FIG. 10, the same step symbols as those of the mouse event control process of the first embodiment shown in FIG. Is omitted.
すなわち、この第2実施形態のマウスイベント制御処理では、ステップB11において、ポインタ移動速度Vx0,Vy0が基準速度値Vx,Vy以上に高速になったと判断され(B11(NO))、且つステップB15において、サーバ装置10の応答時間が予め設定された応答時間T0より長いと判断される(B15(YES))ことで、その際のポインタ移動に伴うサーバ装置10へのイベント送信(ステップA9〜A11)を省略する場合において、当該ポインタ移動イベントの“STOPフラグ”がセットされているか否かの判断ステップB16と、その“STOPフラグ”がセットされていない場合にセットする処理ステップB17と、このセットされた“STOPフラグ”を送信セットする処理ステップB18とを追加する。
That is, in the mouse event control process of the second embodiment, it is determined in step B11 that the pointer movement speeds Vx0 and Vy0 are faster than the reference speed values Vx and Vy (B11 (NO)), and in step B15. When it is determined that the response time of the
また逆に、ステップB11において、ポインタ移動速度Vx0,Vy0が基準速度値Vx,Vy未満であると判断されるか(B11(YES))、またはステップB15において、サーバ装置10の応答時間が予め設定された応答時間T0以内であると判断される(B15(NO))ことで、その際のポインタ移動に伴うサーバ装置10へのイベント送信(ステップA9〜A11)を実行する場合において、当該ポインタ移動イベントの“STOPフラグ”をクリアする処理ステップB11nを追加する。
Conversely, in step B11, it is determined that the pointer movement speeds Vx0, Vy0 are less than the reference speed values Vx, Vy (B11 (YES)), or in step B15, the response time of the
これによれば、先ず前記第1実施形態のマウスイベント制御処理と同様に、ポインタ移動速度Vx0,Vy0が基準速度値Vx,Vy以上に高速になったと判断された場合(ステップB11(NO))に、当該ポインタは単なる目的地点への移動途中であるとして、この際のポインタ移動に伴うサーバ装置10へのイベント送信(ステップA9〜A11)を省略し、サーバ装置10へのデータ送信回数を削減してクライアント装置20の電力消費を抑え、その電池電源の長寿命化を図ることができる。
According to this, first, when it is determined that the pointer movement speeds Vx0, Vy0 are faster than the reference speed values Vx, Vy, similarly to the mouse event control process of the first embodiment (step B11 (NO)). Furthermore, assuming that the pointer is simply moving to the destination point, event transmission (steps A9 to A11) to the
その上で、ポインタ移動に伴うサーバ装置10へのイベント送信(ステップA9〜A11)が省略される最初のときには(ステップB11→B14〜B16(NO))、図10(B)に示すようなマウスイベントの“STOPフラグ”をセットした送信データが生成されて(ステップB17,B18→A9)パケット通信処理され(ステップA10)、転送命令によってサーバ装置10へ送信される(ステップA11)。
In addition, when the event transmission to the server device 10 (steps A9 to A11) accompanying the pointer movement is omitted (step B11 → B14 to B16 (NO)), the mouse as shown in FIG. Transmission data in which the “STOP flag” of the event is set is generated (steps B17, B18 → A9), subjected to packet communication processing (step A10), and transmitted to the
そして、このクライアント装置20におけるマウスイベントの“STOPフラグ”をセットした送信データが、サーバ装置10において受信された場合には、次の図11及び図12を参照して説明するように、当該サーバ装置10ではイベント継続スレッド処理(ステップPQ)を起動して次のポインタ先の座標Xs,Ysを予測生成することで、新たなポインタ座標値X,Yをセットしてイベントを発行することができる。
When transmission data in which the “STOP flag” of the mouse event in the
図11は、前記サーバ装置10での図7に示すクライアント別転送データスレッド処理(ステップJK)に伴う第2実施形態のマウスイベント制御処理(ステップKP)を示すフローチャートである。 FIG. 11 is a flowchart showing a mouse event control process (step KP) of the second embodiment accompanying the client-specific transfer data thread process (step JK) shown in FIG.
クライアント装置20からマウスイベント信号が受信されることで、この第2実施形態のマウスイベント制御処理が起動されると、受信されたマウスイベント(図5(B)、図10(B)参照)のヘッダが解析され(ステップP1)、その識別子が“座標”であるか(ステップP2)、“イベントSTOP”であるか(ステップP14)、“クリック”であるか(ステップP18)の何れであるか判断される。
When the mouse event signal is received from the
イベント識別子が“クリック”であると判断された場合には(ステップP18(YES))、右クリック/左クリック/ホイールに対応したマウスコードがセットされ(ステップP19)、マウスクリックのイベントが発行される(ステップP20)。 When it is determined that the event identifier is “click” (step P18 (YES)), a mouse code corresponding to right click / left click / wheel is set (step P19), and a mouse click event is issued. (Step P20).
一方、イベント識別子が“座標”であると判断された場合には(ステップP2(YES))、後述するイベント継続スレッド処理(ステップPQ:図12参照)のスレッド継続フラグが“0”にクリアされると共に(ステップP3)、当該イベント継続スレッド処理が起動中であるか否か判断確認され(ステップP4)、イベント継続スレッド処理の起動中であると判断された場合には(ステップP4(YES))、そのスレッド処理は終了される(ステップP5)。 On the other hand, when it is determined that the event identifier is “coordinate” (step P2 (YES)), the thread continuation flag of event continuation thread processing (step PQ: see FIG. 12) described later is cleared to “0”. (Step P3), it is determined whether or not the event continuation thread process is being activated (Step P4), and if it is determined that the event continuation thread process is being activated (Step P4 (YES)). ), The thread processing is terminated (step P5).
すると本サーバ装置10にて連続計時中の現タイマー値S1が読み込まれ(ステップP6)、前タイマー値S2から現タイマー値S1が減算されて当該マウスイベント(座標)発生間隔に相当する変化(経過)時間S0が計算される(ステップP7)。 Then, the current timer value S1 during continuous counting is read by the server device 10 (step P6), and the current timer value S1 is subtracted from the previous timer value S2 to change corresponding to the mouse event (coordinate) generation interval (elapsed time). ) Time S0 is calculated (step P7).
また、今回のマウスイベント(座標)により取得された現在のポインタ座標X1,Y1の値が読み込まれ(ステップP8)、前ポインタ座標値X2,Y2から現ポインタ座標値X1,Y1が減算されて同イベント発生間隔分の変化座標(移動距離)X0,Y0が計算される(ステップP9)。 Also, the values of the current pointer coordinates X1, Y1 acquired by the current mouse event (coordinates) are read (step P8), and the current pointer coordinate values X1, Y1 are subtracted from the previous pointer coordinate values X2, Y2. Change coordinates (movement distances) X0, Y0 corresponding to the event occurrence interval are calculated (step P9).
そして、前記マウスイベント(座標)発生間隔に相当する変化座標(移動距離)X0,Y0から同変化時間S0が除算されてXY方向それぞれのポインタ移動速度Vx0,Vy0が計算される(ステップP10)。 Then, the change time S0 is divided from the change coordinates (movement distance) X0, Y0 corresponding to the mouse event (coordinate) occurrence interval to calculate the pointer movement speeds Vx0, Vy0 in the XY directions (step P10).
ここで、前記現ポインタ座標X1,Y1が前ポインタ座標値X2,Y2に書き換えられると共に、前記現タイマー値S1が前タイマー値S2に書き換えられる(ステップP11)。 Here, the current pointer coordinates X1 and Y1 are rewritten to the previous pointer coordinate values X2 and Y2, and the current timer value S1 is rewritten to the previous timer value S2 (step P11).
そして、前記今回のマウスイベント(座標)により取得された現在のポインタ座標X1,Y1が通信元クライアント装置20からのポインタ座標値X,Yとしてセットされ(ステップP12)、マウスMOVEのイベントが発行される(ステップP13)。 Then, the current pointer coordinates X1 and Y1 acquired by the current mouse event (coordinates) are set as the pointer coordinate values X and Y from the communication source client device 20 (step P12), and a mouse move event is issued. (Step P13).
このようなクライアント装置20からのマウスイベント信号(クリック)(座標)の受信によって、ユーザのマウスクリック操作に応じたアプリケーション処理やポインタ座標の移動操作に応じたアプリケーション処理がサーバ装置10側で実行され、その処理結果である各種のデータが同クライアント装置20へ転送されて出力されている状態で、当該クライアント装置20における前記マウスイベント制御処理(図10参照)に従って本サーバ装置10に受信されたマウスイベントの識別子が“イベントSTOP”であると判断された場合には(ステップP14(YES))、後述するイベント継続スレッド処理(ステップPQ:図12参照)のスレッド継続フラグが“1”にセットされると共に(ステップP15)、当該イベント継続スレッド処理が起動中であるか否か判断確認され(ステップP16)、イベント継続スレッド処理の起動中であると判断された場合には(ステップP16(YES))、その起動中である継続スレッド処理は一旦終了された後に(ステップP17)、図12におけるイベント継続スレッド処理が起動される(ステップPQ)。
By receiving the mouse event signal (click) (coordinates) from the
図12は、前記サーバ装置10における第2実施形態のマウスイベント制御処理に伴うイベント継続スレッド処理を示すフローチャートである。
FIG. 12 is a flowchart showing event continuation thread processing accompanying the mouse event control processing of the second embodiment in the
このサーバ装置10におけるイベント継続スレッド処理が起動されると、連続計時中の現タイマー値S1が読み込まれ(ステップQ1)、前タイマー値S2から現タイマー値S1が減算されて当該マウスイベント(座標)発生間隔に相当する変化(経過)時間S0が計算される(ステップQ2)。
When the event continuation thread process is started in the
すると、直前のマウスイベント(座標)に応じて読み込まれた本サーバ装置10にて認識し得る現在のポインタ座標X1,Y1に対し、前記ステップQ2にて計算された今回のマウスイベント(座標)発生時間間隔S0とそのポインタ移動速度Vx0,Vy0とにより計算されるX,Y方向の各々の距離分が加算されて次のポインタ座標Xs,Ysが予測生成される(ステップQ3)。
Then, the current mouse event (coordinate) calculated in step Q2 is generated with respect to the current pointer coordinates X1 and Y1 that can be recognized by the
この際、前記予測生成された次のポインタ座標Xs,Ysが現在のポインタ座標X1,Y1として書き換えられる(ステップQ4)。 At this time, the next pointer coordinates Xs and Ys generated by the prediction are rewritten as the current pointer coordinates X1 and Y1 (step Q4).
そして、前記予測生成されて書き換えられた現在のポインタ座標X1,Y1がポインタ座標値X,Yとしてセットされ(ステップQ5)、当該ポインタ座標値X,Yが表示用の描画エリア内にあると判断される場合には(ステップQ6(YES))、マウスMOVEのイベントが発行される(ステップQ7)。 Then, the current pointer coordinates X1 and Y1 that have been generated and rewritten by prediction are set as pointer coordinate values X and Y (step Q5), and it is determined that the pointer coordinate values X and Y are within the display drawing area. If so (step Q6 (YES)), a mouse move event is issued (step Q7).
この後、スレッド継続フラグが“0”にクリアされない状態では(ステップQ8(NO))、前記変化(経過)時間S0待機の後(ステップQ9)、前記ステップQ3以降の処理が繰り返され、順次予測生成されて書き換えられた現在のポインタ座標値X,YがセットされてマウスMOVEのイベントが発行される(ステップQ3〜Q7〜Q9)。 Thereafter, in a state where the thread continuation flag is not cleared to “0” (step Q8 (NO)), after waiting for the change (elapsed) time S0 (step Q9), the processing after the step Q3 is repeated and sequentially predicted. The current pointer coordinate values X and Y generated and rewritten are set and a mouse move event is issued (steps Q3 to Q7 to Q9).
これにより、本サーバ装置10に対して、クライアント装置20からマウスイベントの“イベントSTOP”が受信された、実際のユーザ操作に伴うポインタ座標値X,Yが得られなくなった場合でも、このイベント継続スレッド処理によって、次のポインタ座標値X,Yを予測セットしてマウスMOVEのイベントを発行することができ、ユーザによるポインタ座標の移動操作に予測追従させたアプリケーション処理を実行させることができる。
As a result, even if the
この後、本サーバ装置10に対して、前記クライアント装置20からのマウスイベント(座標)の受信が再開されることにより(ステップP1〜P3)、スレッド継続フラグが“0”にリセットされたと判断されるか(ステップQ8(YES))、あるいは予測生成セットされたポインタ座標値X,Yが表示用の描画エリア外にはみ出し(ステップQ6(NO))、スレッド継続フラグが“0”にリセットされた場合には(ステップQ11)、このイベント継続スレッド処理は終了される(ステップQ10)。
Thereafter, it is determined that the thread continuation flag has been reset to “0” when the
したがって、前記構成のシン・クライアント・システムのクライアント装置20による第2実施形態の通信制御機能、およびこれに応じたサーバ装置10による第2実施形態のマウスイベント制御機能によれば、前記第1実施形態と同様にクライアント装置20側では、ポインタの移動操作状態を幾つかの条件により判定し、そのポインタ移動に伴うサーバ装置10への無駄なイベント送信を省略することで、電力消費を抑制して電池電源を長寿命化できるばかりでなく、サーバ装置10側では、前記クライアント装置20からのポインタ移動に伴うイベント送信が省略されている間でも、その直前のポインタ座標値X1,Y1とイベント発生間隔分の座標間距離X0,Y0およびその速度Vx0,Vy0から次のポインタ座標値Xs,Ysを予測計算セットして対応する処理を継続できるようになる。
Therefore, according to the communication control function of the second embodiment by the
なお、前記クライアント装置20による第1実施形態のマウスイベント制御機能(図5参照)、および同第2実施形態のマウスイベント制御機能(図10参照)では、その何れの場合でも、ポインタ移動に伴うイベント(座標)送信の省略条件が成立している間は連続して当該イベント送信の省略も継続する構成としたが、次の図13を参照して説明する同クライアント装置20による第1実施形態(その2)のマウスイベント制御機能、およびその次の図14を参照して説明する同第2実施形態(その2)のマウスイベント制御機能のように、ポインタ移動に伴うイベント(座標)送信の省略条件が成立している間でも、一定時間毎に最新のポインタ移動位置をセットしたイベント送信を行うことで、サーバ装置10側での処理の追従性能を向上させる構成としてもよい。
Note that the mouse event control function (see FIG. 5) of the first embodiment and the mouse event control function (see FIG. 10) of the second embodiment by the
図13は、前記クライアント装置20における第1実施形態(その2)のマウスイベント制御処理を示すフローチャートである。
FIG. 13 is a flowchart showing mouse event control processing of the first embodiment (part 2) in the
このクライアント装置20における第1実施形態(その2)のマウスイベント制御処理では、ポインタ移動速度Vx0,Vy0(ステップB5〜B9)が基準速度値Vx,Vy以上に高速になったと判断され(ステップB11(NO))、且つサーバ装置10の応答時間が予め設定された応答時間T0より長いと判断されることで(ステップB15(YES))、そのポインタ移動に伴うイベント送信が省略される状態にあっても、同送信省略状態の一定時間経過の判断ステップB15nを追加して、一定時間毎に最新のポインタ移動位置をセットしたイベント送信を行わせる(ステップB15n(YES)→B12,B13→A9〜A11)構成とする。
In the mouse event control process of the
この第1実施形態(その2)のマウスイベント制御処理によれば、前述したようにクライアント装置20からのポインタ移動操作に伴う無駄なイベント送信を省略して電力消費の抑制を図った場合でも、サーバ装置10側での処理の追従性を高く維持できるようになる。
According to the mouse event control process of the first embodiment (No. 2), as described above, even when the useless event transmission accompanying the pointer moving operation from the
図14は、前記クライアント装置20における第2実施形態(その2)のマウスイベント制御処理を示すフローチャートである。
FIG. 14 is a flowchart showing mouse event control processing of the second embodiment (part 2) in the
このクライアント装置20における第2実施形態(その2)のマウスイベント制御処理では、ポインタ移動速度Vx0,Vy0(ステップB5〜B9)が基準速度値Vx,Vy以上に高速になったと判断され(ステップB11(NO))、且つサーバ装置10の応答時間が予め設定された応答時間T0より長いと判断され(ステップB15(YES))、しかも“イベントSTOP”フラグがセットされていると判断されることで(ステップB16(YES))、そのポインタ移動に伴うイベント送信が省略される状態にあっても、同送信省略状態の一定時間経過の判断ステップB16nを追加して、一定時間毎に最新のポインタ移動位置をセットしたイベント送信を行わせる(ステップB16n(YES)→B11n,B12,B13→A9〜A11)構成とする。
In the mouse event control process of the second embodiment (part 2) in the
この第2実施形態(その2)のマウスイベント制御処理によれば、前述したようにクライアント装置20からのポインタ移動操作に伴う無駄なイベント送信を省略して電力消費の抑制を図った場合でも、サーバ装置10側でのポインタ座標値Xs,Ysの予測機能と相まってその処理の追従性をより高く維持できるようになる。
According to the mouse event control process of the second embodiment (No. 2), as described above, even when the useless event transmission accompanying the pointer moving operation from the
なお、前記実施形態において記載したシン・クライアント・システムによる各処理の手法、すなわち、図3のフローチャートに示すクライアント装置20の全体動作制御処理、図4のフローチャートに示すサーバ装置10との通信制御処理、図5のフローチャートに示す第1実施形態のクライアント側マウスイベント制御処理、図7のフローチャートに示すサーバ装置10の全体動作制御処理、図8のフローチャートに示すサーバ側転送データスレッド処理、図9のフローチャートに示す第1実施形態のサーバ側マウスイベント制御処理、図10のフローチャートに示す第2実施形態のクライアント側マウスイベント制御処理、図11のフローチャートに示す第2実施形態のサーバ側マウスイベント制御処理、図12のフローチャートに示す前記第2実施形態のサーバ側マウスイベント制御処理に伴うイベント継続スレッド処理、図13のフローチャートに示す第1実施形態(その2)のクライアント側マウスイベント処理、図14のフローチャートに示す第2実施形態(その2)のクライアント側マウスイベント処理等の各手法は、何れもコンピュータに実行させることができるプログラムとして、メモリカード(ROMカード、RAMカード等)、磁気ディスク(フロッピディスク、ハードディスク等)、光ディスク(CD−ROM、DVD等)、半導体メモリ等の外部記録媒体に格納して配布することができる。そして、クライアント装置20やサーバ装置10のコンピュータ(CPU:22,102)は、この外部記録媒体に記憶されたプログラムを記憶装置(29,110)に読み込み、この読み込んだプログラムによって動作が制御されることにより、前記各実施形態において説明したクライアント装置20からのポインタ移動操作時のイベント送信制御機能やこれに伴うサーバ装置10でのポインタ移動座標予測イベント発行機能を実現し、前述した手法による同様の処理を実行することができる。
Note that each processing method by the thin client system described in the above embodiment, that is, the overall operation control process of the
また、前記各手法を実現するためのプログラムのデータは、プログラムコードの形態として通信ネットワーク(LAN)N上を伝送させることができ、この通信ネットワーク(LAN)Nに接続されたコンピュータ装置(プログラムサーバ)から前記のプログラムデータを送受信制御部(32,111)を介して取り込んで記憶装置(29,110)に記憶させ、前述したクライアント装置20からのポインタ移動操作時のイベント送信制御機能やこれに伴うサーバ装置10でのポインタ移動座標予測イベント発行機能を実現することもできる。
The program data for realizing each of the above methods can be transmitted as a program code form on a communication network (LAN) N, and a computer device (program server) connected to the communication network (LAN) N. ) From the
なお、本願発明は、前記各実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。さらに、前記各実施形態には種々の段階の発明が含まれており、開示される複数の構成要件における適宜な組み合わせにより種々の発明が抽出され得る。例えば、各実施形態に示される全構成要件から幾つかの構成要件が削除されたり、幾つかの構成要件が組み合わされても、発明が解決しようとする課題の欄で述べた課題が解決でき、発明の効果の欄で述べられている効果が得られる場合には、この構成要件が削除されたり組み合わされた構成が発明として抽出され得るものである。 Note that the present invention is not limited to the above-described embodiments, and various modifications can be made without departing from the scope of the invention at the stage of implementation. Further, each of the embodiments includes inventions at various stages, and various inventions can be extracted by appropriately combining a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in each embodiment or some constituent features are combined, the problems described in the column of the problem to be solved by the invention can be solved. When the effects described in the column of the effect of the invention can be obtained, a configuration in which these constituent elements are deleted or combined can be extracted as an invention.
10 …サーバ装置
101…サーバアクセラレータ回路
102…サーバCPU
103…高速バス
104…サーバROM
105…サーバRAM
106…サーバ表示装置
107…サーバVRAM
108…ノーマルバス
109…サーバ入力部
110…サーバ外部記憶HDD
111…サーバ送受信制御部
112…バスインターフェース
20 …クライアント装置
21 …クライアントアクセラレータ回路
22 …クライアントCPU
23 …バス
24 …クライアントROM
25 …クライアントRAM
26 …クライアントVRAM
27 …クライアント表示装置
28 …クライアント入力部
29 …クライアント外部記憶HDD
30 …外部機器
31 …USB/パラレル/シリアルインターフェース
32 …クライアント送受信制御部
DESCRIPTION OF
103 ... High-
105 ... Server RAM
106: Server display device 107: Server VRAM
108:
DESCRIPTION OF
23 ...
25 ... Client RAM
26 ... Client VRAM
27 ...
30 ...
Claims (8)
ポインティングデバイスによって示されるポインタの移動速度を判断する移動判断手段と、
前記イベント送信に対するサーバ装置からの応答を判断する応答判断手段と、
前記移動判断手段で前記移動速度が所定速度より遅いと判断された場合にあっては、前記ポインタのイベント情報を前記サーバ装置へ送信する第1制御手段と、
前記移動判断手段で前記移動速度が所定速度より速いと判断された場合にあっては、前記応答判断手段で所定時間以内での応答ある場合に前記ポインタのイベント情報を前記サーバ装置へ送信し、前記応答判断手段で所定時間以内での応答なしと判断された場合に当該イベント情報の送信を省略する第2制御手段と、
を備えたことを特徴とするコンピュータシステムのクライアント装置。 In accordance with event transmission from the client device, the server device is a client device of a computer system that executes processing according to the transmission event,
Movement determining means for determining the moving speed of the pointer indicated by the pointing device;
Response determination means for determining a response from the server device to the event transmission;
If it is determined by the movement determination means that the movement speed is slower than a predetermined speed, first control means for transmitting event information of the pointer to the server device;
If the movement determining means determines that the moving speed is faster than a predetermined speed, the response determining means transmits the event information of the pointer to the server device when there is a response within a predetermined time, A second control unit that omits transmission of the event information when the response determination unit determines that there is no response within a predetermined time;
A client device of a computer system comprising:
ポインティングデバイスによって示されるポインタの移動距離を判断する移動判断手段と、
前記イベント送信に対するサーバ装置からの応答を判断する応答判断手段と、
前記移動判断手段で前記移動距離が所定距離より長いと判断された場合にあっては、前記ポインタのイベント情報を前記サーバ装置へ送信する第1制御手段と、
前記移動判断手段で前記移動距離が所定距離より短いと判断された場合にあっては、前記応答判断手段で所定時間以内での応答ある場合に前記ポインタのイベント情報を前記サーバ装置へ送信し、前記応答判断手段で所定時間以内での応答なしと判断された場合に当該イベント情報の送信を省略する第2制御手段と、
を備えたことを特徴とするコンピュータシステムのクライアント装置。 In accordance with event transmission from the client device, the server device is a client device of a computer system that executes processing according to the transmission event,
A movement determining means for determining a moving distance of the pointer indicated by the pointing device,
Response determination means for determining a response from the server device to the event transmission;
When the movement determining means determines that the moving distance is longer than a predetermined distance, first control means for transmitting event information of the pointer to the server device;
When the movement determining means determines that the moving distance is shorter than a predetermined distance, the response determining means transmits the event information of the pointer to the server device when there is a response within a predetermined time, A second control unit that omits transmission of the event information when the response determination unit determines that there is no response within a predetermined time;
A client device of a computer system comprising:
前記クライアント装置から送信されたポインタのイベント情報からそのポインタ位置を取得する位置取得手段と、
前記クライアント装置からイベント情報の送信を停止する送信停止情報の通知を受けた場合には、前記位置取得手段により取得された過去のポインタ位置とそのポイント位置の移動状況とから現在のポインタ位置を予測する位置予測手段と、
前記位置取得手段により取得されたポインタ位置、または前記位置予測手段により予測されたポインタ位置に応じて処理を実行する処理実行手段と、
を備え、
前記クライアント装置は、ポインティングデバイスによって示されるポインタの移動速度が所定速度より速い、あるいはポインタの移動距離が所定距離より短い、と判断した最初のときに、前記送信停止情報を当該サーバ装置へ通知する、
ことを特徴とするコンピュータシステムのサーバ装置。 A server device of a computer system that executes processing according to event information according to event information transmitted from a client device,
Position acquisition means for acquiring the pointer position from the event information of the pointer transmitted from the client device;
When receiving notification of transmission stop information for stopping transmission of event information from the client device, the current pointer position is predicted from the past pointer position acquired by the position acquisition means and the movement status of the point position. Position prediction means for
Processing execution means for executing processing according to the pointer position acquired by the position acquisition means or the pointer position predicted by the position prediction means;
With
The client device notifies the server device of the transmission stop information when it first determines that the moving speed of the pointer indicated by the pointing device is faster than the predetermined speed or the moving distance of the pointer is shorter than the predetermined distance. ,
A server device of a computer system.
を更に具備したことを特徴とする請求項3に記載のコンピュータシステムのサーバ装置。 Holding means for holding transmission stop information notified from the client device;
The server device of the computer system according to claim 3 , further comprising:
ことを特徴とする請求項3に記載のコンピュータシステムのサーバ装置。 The position predicting means calculates the moving speed of the pointer position, and based on the calculated moving speed of the pointer position and the elapsed time from the acquisition time of the pointer position acquired by the position acquisition means to the current time. Predict the current pointer position,
The server device of the computer system according to claim 3 .
前記クライアント装置のコンピュータを、
ポインティングデバイスによって示されるポインタの移動速度を判断する移動判断手段、
前記イベント送信に対するサーバ装置からの応答を判断する応答判断手段、
前記移動判断手段で前記移動速度が所定速度より遅いと判断された場合にあっては、前記ポインタのイベント情報を前記サーバ装置へ送信する第1制御手段、
前記移動判断手段で前記移動速度が所定速度より速いと判断された場合にあっては、前記応答判断手段で所定時間以内での応答ある場合に前記ポインタのイベント情報を前記サーバ装置へ送信し、前記応答判断手段で所定時間以内での応答なしと判断された場合に当該イベント情報の送信を省略する第2制御手段、
として機能させるようにしたコンピュータ読み込み可能なクライアント制御プログラム。 In the computer system in which the server device executes processing according to the transmission event in accordance with event transmission from the client device,
A computer of the client device;
A movement determining means for determining a moving speed of the pointer indicated by the pointing device;
Response determination means for determining a response from the server device to the event transmission;
If the movement determining means determines that the moving speed is slower than a predetermined speed, first control means for transmitting event information of the pointer to the server device,
If the movement determining means determines that the moving speed is faster than a predetermined speed, the response determining means transmits the event information of the pointer to the server device when there is a response within a predetermined time, A second control unit that omits transmission of the event information when the response determination unit determines that there is no response within a predetermined time;
A computer-readable client control program designed to function as a computer.
前記クライアント装置のコンピュータを、
ポインティングデバイスによって示されるポインタの移動距離を判断する移動判断手段、
前記イベント送信に対するサーバ装置からの応答を判断する応答判断手段、
前記移動判断手段で前記移動距離が所定距離より長いと判断された場合にあっては、前記ポインタのイベント情報を前記サーバ装置へ送信する第1制御手段、
前記移動判断手段で前記移動距離が所定距離より短いと判断された場合にあっては、前記応答判断手段で所定時間以内での応答ある場合に前記ポインタのイベント情報を前記サーバ装置へ送信し、前記応答判断手段で所定時間以内での応答なしと判断された場合に当該イベント情報の送信を省略する第2制御手段、
として機能させるようにしたコンピュータ読み込み可能なクライアント制御プログラム。 In the computer system in which the server device executes processing according to the transmission event in accordance with event transmission from the client device,
A computer of the client device;
Movement determining means for determining a moving distance of the pointer indicated by the pointing device,
Response determination means for determining a response from the server device to the event transmission;
If the movement determining means determines that the moving distance is longer than a predetermined distance, first control means for transmitting event information of the pointer to the server device,
When the movement determining means determines that the moving distance is shorter than a predetermined distance, the response determining means transmits the event information of the pointer to the server device when there is a response within a predetermined time, A second control unit that omits transmission of the event information when the response determination unit determines that there is no response within a predetermined time;
A computer-readable client control program designed to function as a computer.
前記サーバ装置のコンピュータを、
前記クライアント装置から送信されたポインタのイベント情報からそのポインタ位置を取得する位置取得手段、
前記クライアント装置からイベント情報の送信を停止する送信停止情報の通知を受けた場合には、前記位置取得手段により取得された過去のポインタ位置とそのポイント位置の移動状況とから現在のポインタ位置を予測する位置予測手段、
前記位置取得手段により取得されたポインタ位置、または前記位置予測手段により予測されたポインタ位置に応じて処理を実行する処理実行手段、
として機能させ、
前記クライアント装置は、ポインティングデバイスによって示されるポインタの移動速度が所定速度より速い、あるいはポインタの移動距離が所定距離より短い、と判断した最初のときに、前記送信停止情報を当該サーバ装置へ通知する、
ようにしたコンピュータ読み込み可能なサーバ制御プログラム。 In the computer system in which the server device executes processing according to the event information according to the event information transmitted from the client device,
A computer of the server device;
Position acquisition means for acquiring the pointer position from the event information of the pointer transmitted from the client device;
When receiving notification of transmission stop information for stopping transmission of event information from the client device, the current pointer position is predicted from the past pointer position acquired by the position acquisition means and the movement status of the point position. Position prediction means to perform,
Processing execution means for executing processing according to the pointer position acquired by the position acquisition means or the pointer position predicted by the position prediction means;
Function as
The client device notifies the server device of the transmission stop information when it first determines that the moving speed of the pointer indicated by the pointing device is faster than the predetermined speed or the moving distance of the pointer is shorter than the predetermined distance. ,
A computer-readable server control program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006100260A JP4765729B2 (en) | 2006-03-31 | 2006-03-31 | Client device of computer system and control program thereof, server device and control program thereof |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2006100260A JP4765729B2 (en) | 2006-03-31 | 2006-03-31 | Client device of computer system and control program thereof, server device and control program thereof |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2007272770A JP2007272770A (en) | 2007-10-18 |
JP4765729B2 true JP4765729B2 (en) | 2011-09-07 |
Family
ID=38675487
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2006100260A Expired - Fee Related JP4765729B2 (en) | 2006-03-31 | 2006-03-31 | Client device of computer system and control program thereof, server device and control program thereof |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP4765729B2 (en) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009289070A (en) * | 2008-05-29 | 2009-12-10 | Casio Comput Co Ltd | Server device, client device, server control program and client control program |
JP4605268B2 (en) | 2008-07-31 | 2011-01-05 | カシオ計算機株式会社 | Server apparatus and server control program for server-based computing system |
JP5262506B2 (en) * | 2008-09-24 | 2013-08-14 | 日本電気株式会社 | Thin client experience performance management system, method used therefor, and program thereof |
JP2010237816A (en) * | 2009-03-30 | 2010-10-21 | Nec Personal Products Co Ltd | Server device, client device, client server system, image output method, and program |
WO2010122741A1 (en) | 2009-04-21 | 2010-10-28 | 株式会社デジタル | Server device, server-client system, server program, and recording medium with same recorded thereon |
JP5407635B2 (en) * | 2009-07-24 | 2014-02-05 | 富士通株式会社 | Operation content transmission program, operation content transmission method, and operation content transmission device |
JP5633341B2 (en) * | 2010-11-30 | 2014-12-03 | カシオ計算機株式会社 | Client device, server device, and program for server-based computing system |
CN109240633B (en) | 2013-03-13 | 2021-10-22 | 歌乐株式会社 | Display device and information terminal operation method |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02186782A (en) * | 1989-01-13 | 1990-07-23 | Hitachi Ltd | Picture drawing ordering device |
JP3019178B2 (en) * | 1993-05-27 | 2000-03-13 | インターナショナル・ビジネス・マシーンズ・コーポレイション | Screen display sharing system |
-
2006
- 2006-03-31 JP JP2006100260A patent/JP4765729B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2007272770A (en) | 2007-10-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4765729B2 (en) | Client device of computer system and control program thereof, server device and control program thereof | |
US11541309B2 (en) | Quickly suspending and resuming applications running on a cloud server | |
JP4533170B2 (en) | Information processing apparatus, control method, and program | |
JP2006005759A (en) | Server device, reproduction device, contents transmission method, contents reproduction method, contents reproduction system, and program | |
JP4961797B2 (en) | Server device of computer system | |
EP3314438A1 (en) | Thermal mitigation user experience | |
KR102392522B1 (en) | Apparatus and method for on-line service access control | |
CN114432692A (en) | VR control method and device for cloud game | |
JP5077272B2 (en) | Client device, server-based computing system, and client control program | |
US20230409724A1 (en) | Secure shared data application access | |
KR20180108279A (en) | Transaction Management Method on M2M Platform | |
CN113577759B (en) | Game data processing method, electronic equipment and storage medium | |
JP2006277278A (en) | Autonomous computer system and its automatic alignment method | |
TWI842905B (en) | Apparatus and method for on-line service access control | |
JP2007206852A (en) | Event execution system | |
JP4072381B2 (en) | Graphical user interface construction method and program | |
JP2015060491A (en) | Batch process control program, batch process system | |
JP7041197B2 (en) | Online service connection controller and method | |
EP4322474A1 (en) | Capability-restricted system control | |
WO2021171520A1 (en) | Server frequency control device, control method, and program | |
CN115193056A (en) | Game permission control method and device, storage medium and computer equipment | |
JP2001067237A (en) | Computer system and processing method therefor | |
JP2012222727A (en) | Information processing unit, control method, and program | |
JP6402346B2 (en) | Processing system, server, terminal, server processing program, and terminal processing program | |
JP2014232150A (en) | Information processing device, control method of information processing device and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20090107 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20101215 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110111 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110225 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20110315 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20110418 |
|
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: 20110517 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20110530 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 4765729 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: 20140624 Year of fee payment: 3 |
|
LAPS | Cancellation because of no payment of annual fees |