JP4853328B2 - Processing execution system, relay device, and program - Google Patents
Processing execution system, relay device, and program Download PDFInfo
- Publication number
- JP4853328B2 JP4853328B2 JP2007048577A JP2007048577A JP4853328B2 JP 4853328 B2 JP4853328 B2 JP 4853328B2 JP 2007048577 A JP2007048577 A JP 2007048577A JP 2007048577 A JP2007048577 A JP 2007048577A JP 4853328 B2 JP4853328 B2 JP 4853328B2
- Authority
- JP
- Japan
- Prior art keywords
- identifier
- user
- screen image
- operation screen
- 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
Links
- 238000000034 method Methods 0.000 claims description 34
- 238000007726 management method Methods 0.000 description 10
- 238000004891 communication Methods 0.000 description 5
- 230000004044 response Effects 0.000 description 4
- 238000010586 diagram Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
Images
Landscapes
- Information Transfer Between Computers (AREA)
Description
本発明は、処理実行システム、中継装置、及びプログラムに関する。 The present invention relates to a processing execution system, a relay device, and a program.
アプリケーションを実行するサーバ装置に対して、複数のクライアント装置からの操作を中継して送信するシステムがある。このシステムによると、サーバ上のアプリケーションを、複数のクライアント装置の利用者で共用できる。
ところで、複数のクライアント装置からの操作を中継して送信するシステムでは、各クライアント装置からの操作が競合しないよう、調停する必要がある。 By the way, in a system that relays and transmits operations from a plurality of client devices, it is necessary to perform arbitration so that operations from the client devices do not compete.
本発明は上記実情に鑑みて為されたもので、各クライアント(利用者側の)装置からの操作が競合しないよう、調停できる処理実行システム、中継装置、及びプログラムを提供することを目的とする。 The present invention has been made in view of the above circumstances, and an object thereof is to provide a processing execution system, a relay device, and a program that can perform arbitration so that operations from each client (user side) device do not compete. .
請求項1記載の発明は、処理実行装置と、中継装置と、利用者側装置とを含む処理実行システムであって、前記処理実行装置は、操作画面画像を前記中継装置に提供する画面提供手段と、前記中継装置から操作を受け入れる操作受入手段と、を備え、前記中継装置は、前記処理実行装置から提供された操作画面画像を受け入れる手段と、受け入れた操作画面画像ごとに固有の識別子を発行し、操作画面画像と発行した識別子とを関連づけて、前記利用者側装置へ提供する手段と、前記利用者側装置から、操作画面画像に関連する識別子とともに、利用者の操作を受け入れる手段と、当該利用者側装置から受け入れた識別子を用い、当該識別子とともに受け入れた利用者の操作を表す情報を、前記処理実行装置へ送出するか否かを判断する手段と、前記判断の結果、送出すると決定した場合に、利用者の操作を前記処理実行装置へ提供する手段と、を有し、前記利用者側装置は、前記中継装置から操作画面画像と、当該操作画面画像に関連する識別子とを取得し、当該操作画面画像を表示する手段と、利用者が行った操作を表す情報を受け入れて、当該受け入れた情報とともに、表示している操作画面画像に関連する識別子を、前記中継装置へ送信する手段と、を含むこととしたものである。
The invention according to
請求項2記載の発明は、中継装置であって、利用者の操作に応じた処理を実行する処理実行装置に接続され、前記処理実行装置から操作画面の画像を受け入れる手段と、当該受け入れた操作画面画像を識別する識別子を発行する手段と、前記受け入れた操作画面画像と、当該操作画面画像を識別する識別子とを利用者側の装置に提供する手段と、利用者側の装置から、利用者の操作を表す情報とともに、当該操作が行われた時点での操作画面画像を識別する識別子を受信して、最後に発行した識別子と比較し、最後に発行した識別子と、利用者側の装置から受信した識別子とが一致するか否かにより、受信した、利用者の操作を表す情報を、前記処理実行装置に対して送信するか否かを判断する手段と、前記判断の結果、送出すると決定した場合に、利用者の操作を表す情報を前記処理実行装置へ提供する手段と、を含むこととしたものである。
The invention according to
請求項3記載の発明は、中継装置であって、利用者の操作に応じた処理を実行する処理実行装置に接続され、前記処理実行装置から操作画面の画像を受け入れる手段と、当該受け入れた操作画面画像を識別する識別子を発行する手段と、前記受け入れた操作画面画像と、当該操作画面画像を識別する識別子とを利用者側の装置に提供する手段と、利用者側の装置から、利用者の操作を表す情報とともに、当該操作が行われた時点での操作画面画像を識別する識別子を受信して、最後に発行した識別子と比較し、最後に発行した識別子と、利用者側の装置から受信した識別子とが一致しない場合に、受信した、利用者の操作を表す情報を補正する補正手段と、前記補正が行われた利用者の操作を表す情報を、前記処理実行装置へ提供する手段と、を含むこととしたものである。
The invention according to
請求項4記載の発明は、請求項3記載の中継装置であって、前記補正手段は、最後に発行した識別子に対応する操作画面画像と、利用者側の装置から受信した識別子に対応する操作画面画像とに基づいて、補正の要否を判断し、補正が必要と判断したときに、利用者の操作を表す情報を補正することとしたものである。
The invention according to
請求項5記載の発明は、請求項4記載の中継装置であって、前記補正手段は、最後に発行した識別子に対応する操作画面画像と、利用者側の装置から受信した識別子に対応する操作画面画像とが相違する領域を検索し、前記受信した利用者の操作を表す情報が、当該検索にて見出された領域内における操作を表すものであるときに、当該利用者の操作を表す情報に補正が必要と判断して、利用者の操作を表す情報を補正することとしたものである。
The invention according to claim 5 is the relay apparatus according to
請求項6記載の発明は、請求項3から5のいずれか一項に記載の中継装置であって、前記補正手段は、前記受信した利用者の操作を表す情報によって表される操作の内容に基づいて補正の可否を判断し、補正が可能であると判断したときに、利用者の操作を表す情報を補正することとしたものである。 A sixth aspect of the present invention is the relay apparatus according to any one of the third to fifth aspects, wherein the correction unit is configured to perform the operation represented by the received information indicating the user's operation. Based on this, it is determined whether or not correction is possible, and when it is determined that correction is possible, information indicating the user's operation is corrected.
請求項7記載の発明は、プログラムであって、利用者の操作に応じた処理を実行する処理実行装置に接続されたコンピュータに、前記処理実行装置から操作画面の画像を受け入れる手順と、当該受け入れた操作画面画像を識別する識別子を発行する手順と、前記受け入れた操作画面画像と、当該操作画面画像を識別する識別子とを利用者側の装置に提供する手順と、利用者側の装置から、利用者の操作を表す情報とともに、当該操作が行われた時点での操作画面画像を識別する識別子を受信して、最後に発行した識別子と比較し、最後に発行した識別子と、利用者側の装置から受信した識別子とが一致するか否かにより、受信した、利用者の操作を表す情報を、前記処理実行装置に対して送信するか否かを判断する手順と、前記判断の結果、送出すると決定した場合に、利用者の操作を表す情報を前記処理実行装置へ提供する手順と、を実行させることとしたものである。 The invention according to claim 7 is a program, a procedure for accepting an image of an operation screen from the processing execution device to a computer connected to the processing execution device for executing processing according to a user's operation, and the acceptance A procedure for issuing an identifier for identifying an operation screen image, a procedure for providing the received operation screen image and an identifier for identifying the operation screen image to a user side device, and a user side device, An identifier for identifying the operation screen image at the time when the operation is performed is received together with information representing the user's operation, and compared with the last issued identifier, the last issued identifier and the user side A procedure for determining whether or not to transmit the received information indicating the user's operation to the process execution device depending on whether or not the identifier received from the device matches, and as a result of the determination, If it is determined to output, in which the information indicating the operation of the user was decided to execute a procedure to be provided to the processing execution unit.
請求項1、2、7記載の発明によると、中継装置が、各利用者側の装置からの操作が競合しないよう、調停できる。 According to the first, second, and seventh aspects of the present invention, the relay device can arbitrate so that operations from the devices on the user side do not compete.
請求項3記載の発明によると、利用者側装置からの操作を補正して取り入れることで、操作が競合しないよう調停できる。 According to the third aspect of the present invention, it is possible to perform arbitration so that the operations do not compete by correcting and taking in the operations from the user side device.
請求項4記載の発明によると、補正の要否を予め判断して、必要な場合に補正を行うので、補正を行う必要がない場合に処理を軽減できる。 According to the fourth aspect of the invention, the necessity of correction is determined in advance, and correction is performed when necessary, so that the processing can be reduced when correction is not necessary.
請求項5記載の発明によると、利用者が行った操作の補正の要否を、操作画面画像への操作の内容に基づいて判断できる。 According to the fifth aspect of the present invention, whether or not the operation performed by the user needs to be corrected can be determined based on the content of the operation on the operation screen image.
請求項6記載の発明によると、補正の可否を判断して、可能な場合に補正を行うので、補正ができない場合の処理を軽減できる。 According to the sixth aspect of the present invention, whether or not correction is possible is determined, and correction is performed when possible. Therefore, processing when correction cannot be performed can be reduced.
本発明の実施の形態について図面を参照しながら説明する。本発明の実施の形態に係る処理実行システムは、図1に示すように、処理実行装置(サーバ)1と、中継装置2と、複数の利用者側装置(クライアント装置)3とを含んで構成されている。
Embodiments of the present invention will be described with reference to the drawings. As shown in FIG. 1, the processing execution system according to the embodiment of the present invention includes a processing execution device (server) 1, a
ここでサーバ1は、CPU(Central Processing Unit)などのプログラム制御デバイスを備え、クライアント装置3の利用者によって共用されるプログラム(共用プログラムと呼ぶ)の実行を行っている。また、このサーバ1は、この共用プログラムの操作画面の画像を生成する。そしてこの操作画面画像のデータを、中継装置2に対して送信している。なお、このサーバ1では、処理の進行に伴って操作画面画像を更新する。サーバ1は、所定のタイミングごとに(例えば定期的に)操作画面画像のデータを、中継装置2に対して送信する。
Here, the
またサーバ1は、中継装置2から操作画面に対する操作を表す情報を受信して、当該受信した情報によって表される操作の内容に従って、共用プログラムの処理を行う。例えば利用者が、提供された操作画面画像に含まれるウィンドウを移動する操作などを行うと、当該操作を表す情報が中継装置2を介してサーバ1に伝達され、サーバ1が当該ウィンドウの移動操作に応じた処理を実行することになる。
In addition, the
中継装置2は、図2に例示するように、制御部21と、記憶部22と、通信部23とを含んで構成される。ここで制御部21は、CPU(Central Processing Unit)などのプログラム制御デバイスであり、記憶部22に格納されたプログラムに従って動作する。
As illustrated in FIG. 2, the
この制御部21は、サーバ1が送信するごとに、操作画面画像を受け入れる。そして制御部21は、操作画面画像が更新されているか否かを調べ、更新されていれば最後に受信した操作画面画像のデータに固有の識別子(画像識別子)を発行する。
The
一方、制御部21は、共用プログラムの利用を希望する利用者側のクライアント装置3から、予めクライアント装置3のアドレス情報を受信して、記憶部22に蓄積して記憶している。そして、この蓄積して記憶しているアドレス情報(クライアント装置3)宛に、操作画面画像のデータと、当該データに対応して発行した画像識別子とを関連づけて送信する。以下、このアドレス情報の蓄積を行ったクライアント装置3を登録クライアント装置と呼ぶ。
On the other hand, the
さらに制御部21は、クライアント装置3から、利用者が操作の対象とした画像識別子とともに、利用者の操作を表す情報を受け入れる。そして、ここで受け入れた画像識別子に基づいて、当該画像識別子とともに受け入れた利用者の操作を表す情報を、サーバ1へ送出するか否かを判断し、この判断の結果、送出すると決定した場合に、利用者の操作を表す情報を、サーバ1へ送信する。この制御部21の動作については、後に詳しく述べる。
Further, the
記憶部22は、RAM(Random Access Memory)等の記憶素子やハードディスクなどを含んで構成される。この記憶部22には、制御部21によって実行されるプログラムが格納されている。このプログラムは、DVD−ROMなど、コンピュータ可読な記録媒体に格納されて提供され、この記憶部22に複写されたものであってもよい。さらに、この記憶部22は、制御部21のワークメモリとしても動作する。
The
通信部23は、例えばネットワークインタフェースであり、ネットワークなどの通信手段を介して、サーバ1やクライアント装置3との間で通信可能に接続されている。この通信部23は、制御部21から入力される指示に従って、指定されたアドレス情報宛にデータを送出する。また、ネットワークなどを介して到来するデータ等を受信して、制御部21に出力する。
The
クライアント装置3は、パーソナルコンピュータなどのコンピュータデバイスであり、CPUなどのプログラム制御デバイスや、メモリ等の記憶デバイス、ディスプレイなどの表示装置、利用者の操作を受け入れる入力装置などを含んで構成される。
The
このクライアント装置3は、中継装置2から操作画面画像とともに、当該操作画面画像に関連する画像識別子を受信する。そしてクライアント装置3は、当該最後に受信した画像識別子を、対象識別子として記憶デバイスに記憶しておく。また、最後に受信した操作画面画像を、ディスプレイ等に表示する。また、このクライアント装置3は、表示した操作画面画像に対して利用者が入力装置を用いて行った操作を受け入れ、当該受け入れた操作を表す情報を生成する。そして記憶デバイスに記憶している対象識別子とともに、当該操作を表す情報を、中継装置2へ送信する。
The
次に本実施の形態の中継装置2の制御部21の動作について述べる。この制御部21は、記憶部22に格納されたプログラムに従って動作し、機能的には、図3に示すように、画像中継部31と、状態管理部32と、入力中継部33と、衝突判定部34と、操作補正部35と、操作履歴記憶部36とを含むものとして機能する。
Next, operation | movement of the
画像中継部31は、サーバ1が操作画面画像のデータを送信するごとに当該データを受け入れる。そして当該受け入れた操作画面画像のデータが、前回受け入れた操作画面画像のデータから更新されたものであるか否かを判断する。この判断は例えば最後に受け入れた操作画面画像と、前回受け入れた操作画面画像との画像間の差分を検出することで行うことができる。すなわち、差分があれば更新がされたと判断し、差分がなければ更新はされなかったと判断するのである。
The
画像中継部31は、更新がされたと判断したときには、状態管理部32に対して、更新後の操作画面画像を出力し、当該更新後の操作画面画像に対する画像識別子の発行を求める。画像中継部31は、状態管理部32から画像識別子の入力を受けて、更新後の操作画面画像と、それに対応して発行された画像識別子とをクライアント装置3へ送信する。
When the
状態管理部32は、画像中継部31から画像識別子の発行要求を受けて、固有の画像識別子を発行する。そして当該発行した画像識別子を、画像中継部31に対して出力する。また、状態管理部32は、過去に発行した画像識別子と、それに対応する操作画面画像とを関連づけて記憶しておく。この操作画面画像は、必ずしも過去にサーバ1から受信したすべての操作画面画像を記憶しておく必要はなく、最近更新された所定数個分を記憶しておけばよい。
The
入力中継部33は、クライアント装置3から、クライアント装置3の利用者が操作の対象とした画像識別子とともに、利用者の操作を表す情報を受け入れる。ここで利用者の操作を表す情報は、例えば、利用者によるキー入力操作であれば入力された文字の情報を含む。また利用者によるマウスなどのポインティングデバイスの操作であれば、ポインタの移動位置を表す座標情報や、マウスのクリックボタンが押下された位置を表す座標情報、マウスのクリックボタンがリリースされた位置を表す座標情報などの情報である。
The
入力中継部33は、受け入れた画像識別子と、それに関連して発行された固有の操作識別子とを衝突判定部34に出力する。入力中継部33は、衝突判定部34が操作識別子とともに衝突なしとの判定を出力したときには、当該操作識別子に対応する利用者の操作を表す情報を、サーバ1へ送信する。
The
また、この入力中継部33は、衝突判定部34が操作識別子とともに衝突が生じたとの判定を出力したときには、当該操作識別子に対応する画像識別子と利用者の操作を表す情報とを、補正対象として操作補正部35に対して出力する。この場合、入力中継部33は、操作補正部35から補正された操作の結果と、補正ができなかったことを表す情報と、のいずれかの入力を受ける。入力中継部33は、補正された操作の結果を受け入れたときには、当該補正された操作の結果を、サーバ1に送出する。また、補正ができなかったことを表す情報の入力を受けると、入力中継部33は、当該補正できなかった操作の送信元であるクライアント装置3へ、操作が行えなかったことを表す情報を送出する。
Further, when the
このとき入力中継部33は、操作履歴記憶部36に指示して、操作識別子と、最後に発行された画像識別子と、利用者の操作を表す情報あるいは補正された操作を表す情報とを関連づけて、図4に示すような操作中継データベースとして記憶部22に蓄積させる。すなわち、この操作中継データベースには、各操作画面画像に対応してサーバ1へ中継した操作が蓄積して記録される。
At this time, the
衝突判定部34は、入力中継部33から画像識別子の入力を受けると、この入力された画像識別子と、状態管理部32が最後に発行した画像識別子とを比較する。衝突判定部34は、この比較の結果、入力中継部33から入力された画像識別子と、状態管理部32が最後に発行した画像識別子とが一致している場合は、衝突なしと判定して、画像識別子とともに入力された操作識別子と、当該判定の結果とを入力中継部33に出力する。
When receiving the input of the image identifier from the
また、衝突判定部34は、入力中継部33から入力された画像識別子と、状態管理部32が最後に発行した画像識別子とが一致していない場合は、衝突が生じたと判定して、画像識別子とともに入力された操作識別子と、衝突が生じた旨の判定とを入力中継部33に出力する。
The
操作補正部35は、入力中継部33から、画像識別子と利用者の操作を表す情報とを補正対象として受け入れると、当該補正対象となった操作の内容の補正の可否、及び要否を判断する。
When the
一例として、この操作補正部35は、補正対象となった操作が、予め補正可能と定められた操作であるか否かによって補正の可否を判断する。より具体的な例として、マウスなどのポインティングデバイスの操作を、予め補正可能な操作として定められておくものとする。この場合は、補正対象となった操作が、クリックなど、ポインティングデバイスの操作であれば、操作補正部35は補正可能と判断する。またこの場合、補正対象となった操作が、ポインティングデバイスの操作でないときには、操作補正部35は補正不能と判断し、その旨を表す情報を、衝突判定部34に出力する。
As an example, the
さらに、操作補正部35は、補正対象となった操作が行われた時点での操作画面画像と、当該操作を受け入れたときにサーバ1が提供している操作画面画像との画像の差分に基づいて、補正の可否及び要否を判断する。
Further, the
すなわち操作補正部35は、入力を受け入れた補正対象の画像識別子に関連づけて記憶されている操作画面画像を読み出す。ここで読み出した操作画面画像を、以下区別のために操作時画面画像と呼ぶ。
That is, the
また、操作補正部35は、状態管理部32が最後に発行した画面識別子に関連づけて記憶されている操作画面画像を読み出す。ここで読み出した操作画面画像を、以下「最新画面画像」と呼ぶ。そして操作補正部35は、読み出した操作時画面画像と最新画面画像との画像の差分を検出する。
The
具体的な例を示すため、図5に示すように、画面識別子(ID)が「n」の状態にあるとき、ウィンドウが画面やや左寄りに表示されており(A)、ある利用者Xの操作によって、このウィンドウが画面やや右寄りに移動されて(B)、操作画面画像が更新され、新たな画面識別子「n+1」に関連づけられた例を以下に説明する。 To show a specific example, as shown in FIG. 5, when the screen identifier (ID) is in the state of “n”, the window is displayed slightly to the left (A), and an operation of a certain user X As a result, the window is moved slightly to the right (B), the operation screen image is updated, and an example in which the window is associated with a new screen identifier “n + 1” will be described below.
この例において、操作画面画像の更新後に、画面識別子「n」の操作画面に対して、利用者Xとは別の利用者Yからの操作を受け入れた場合、衝突判定部34が衝突が発生したと判断する。そして操作補正部35が、当該利用者Yの操作に対する補正の可否及び要否を判断することになる。
In this example, after the operation screen image is updated, when the operation from the user Y different from the user X is accepted for the operation screen with the screen identifier “n”, the
操作補正部35は、利用者Yからの操作が補正可能であると判断すると、操作時画面画像(画面識別子「n」)と最新画面画像(画面識別子「n+1」)とを読み出して、その差分画像(図5の(C))を生成する。ここで差分画像は、例えば操作時画面画像と最新画面画像との間で相違があった部分(以下差分領域と呼ぶ)を所定色で塗りつぶした画像である。
When the
操作補正部35は、補正対象となった利用者の操作が、ここで検出された差分領域において行われたものであるか否かを判断する。ここでは操作補正部35は、ポインティングデバイスの操作を補正可能な操作として判断することとしているので、操作補正部35は、ポインティングデバイスの操作が行われた位置を表す座標が、この差分領域に含まれているときに、補正を要すると判断することとなる。
The
なお、例えばウィンドウの移動操作は、マウスポインタのある位置でクリックボタンを押下し、この押下状態を維持したまま、マウスポインタを移動し、その後クリックボタンを放すという操作(ドラッグ操作)で行われる。このように補正対象の操作がドラッグ操作であるときには、操作補正部35は、このドラッグ操作でのクリック位置(移動前のマウスポインタの座標)が、差分領域に含まれているか否かを判断すればよい。
For example, the window moving operation is performed by an operation (drag operation) of pressing a click button at a position where the mouse pointer is located, moving the mouse pointer while maintaining the pressed state, and then releasing the click button. As described above, when the operation to be corrected is a drag operation, the
すなわちここでの例によれば、操作補正部35は、ポインティングデバイスの操作を行った位置(操作位置座標)が、差分領域に含まれていないときには、補正不要と判断して、その旨を表す情報を、衝突判定部34に出力する。また、操作位置座標が差分領域に含まれていた場合は、補正を要すると判断して、補正対象の操作についての補正処理を開始する。
That is, according to the example here, the
補正処理においては、操作補正部35は、記憶部22の操作中継データベースから、操作時画面画像の画面識別子に関連づけられた利用者の操作の情報を読み出す。ここで読み出した操作の情報は、今回の補正の原因となった操作である。そこで以下、この操作の情報を、補正原因操作情報と呼ぶ。
In the correction process, the
操作補正部35は、補正原因操作情報と差分領域とに基づいて、補正対象の操作を補正可能か否かを判断する。例えば、操作補正部35は、補正原因操作情報が、マウスドラッグの操作であり、かつそのドラッグの始点と終点とが、ともに差分領域内に含まれる場合に補正対象の操作を補正可能と判断し、それ以外の場合は補正不能と判断する。そして補正不能と判断したときは、操作補正部35は、補正不能である旨を表す情報を衝突判定部34に出力する。
The
上述の条件は、すなわち、ウィンドウの移動操作に対応する場合であり、操作補正部35は、この場合に、補正対象の操作が補正可能であると判断することになる。そして補正可能と判断すると、補正対象の操作におけるドラッグの開始点に、補正原因操作情報において行われたウィンドウの移動量を加算する。
The above-described condition is a case corresponding to a window moving operation. In this case, the
具体的な例として、補正原因操作情報が、座標(x0,y0)から座標(x1,y1)までのドラッグ操作であり、これによってウィンドウが移動されているとする。一方、補正対象の操作が座標(xs,ys)から座標(xe,ye)までのドラッグ操作であるとする。このとき、操作補正部35は、補正対象の操作を、座標(xs+(x1−x0),ys+(y1−y0))から座標(xe,ye)までのドラッグ操作となるよう補正し、当該補正の結果を衝突判定部34に出力する。
As a specific example, it is assumed that the correction cause operation information is a drag operation from coordinates (x0, y0) to coordinates (x1, y1), and the window is moved by this. On the other hand, it is assumed that the operation to be corrected is a drag operation from coordinates (xs, ys) to coordinates (xe, ye). At this time, the
操作時画面画像と最新画面画像の画面識別子が2以上離れた値である場合は、操作時画面画像の画面識別子が最新画面画像の画面識別子のひとつ前の値になるまで、操作時画面画像の画面識別子の値を1ずつ増やしながら上述の操作補正を繰り返し行う。すなわち、時間的に古い操作履歴から順に補正して、最新画面画像に適用できる状態にする。 When the screen identifiers of the operation screen image and the latest screen image are two or more apart, the screen image of the operation screen image is displayed until the screen identifier of the operation screen image becomes the previous value of the screen identifier of the latest screen image. The above-described operation correction is repeated while increasing the screen identifier value by one. That is, the operation history is corrected in order from the oldest operation history so that it can be applied to the latest screen image.
操作履歴記憶部36は、既に述べたように、入力中継部33からの指示に従い、操作識別子と、最後に発行された画像識別子と、利用者の操作を表す情報とを関連づけて、図4に示したような操作中継データベースとして記憶部22に蓄積する。
As described above, the operation
本実施の形態の処理実行システムは、上述の構成を有しており、次のように動作する。次の動作例の説明では、2つのクライアント装置3a,3bがサーバ1上で動作するアプリケーションプログラムを操作する場合を例として説明する。
The processing execution system according to the present embodiment has the above-described configuration and operates as follows. In the following description of the operation example, a case where two
また、当初は、図6(a)に例示するように、2つのウィンドウ(W1,W2)が表示された操作画面画像(画像識別子(以下、及び図面においてはIDとする)=1)がサーバ1より提供されているものとする。このとき、中継装置2は、この操作画面画像をIDとともに各クライアント装置3a,3bに提供している。
Initially, as illustrated in FIG. 6A, an operation screen image (image identifier (hereinafter referred to as ID in the drawing) = 1) on which two windows (W1, W2) are displayed is a server. 1 is provided. At this time, the
ここで図7に示すように、クライアント装置3aの利用者(区別のため第1の利用者と呼ぶ)が、ウィンドウW2を閉じる操作を行う(S1)と、クライアント装置3aは、ウィンドウW2を閉じる操作を表す情報(例えばウィンドウW2上にある、ウィンドウを閉じるボタンをクリックしたことを表す情報)と、ID(=1)とを、中継装置2へ送出する(S2)。
Here, as shown in FIG. 7, when the user of the
中継装置2では、最後に発行したIDと、受信したIDとを比較する(S3)。ここでは各IDが一致しているので(一致していないときの動作についてはここでは省略する)、受信した操作を表す情報を、サーバ1へ送出する(S4)。
The
サーバ1では、ウィンドウW2を閉じる操作を受けて、ウィンドウW2を閉じ(S5)、ウィンドウW2を閉じた後の操作画面画像(図6(b))を送出する(S6)。中継装置2では、この操作画面画像に対して新たなID=2を発行する。そして、クライアント装置3a,3bへ配信する(S7)。
In response to the operation for closing the window W2, the
ところが、この配信を受けるまでの間に、クライアント装置3bの利用者(区別のため第2の利用者と呼ぶ)がウィンドウW2を移動する操作を行う(S11)と、クライアント装置3bは、最後に受信したID(=1)と、当該ウィンドウW2を移動する操作を表す情報とを中継装置2へ送出する(S12)。中継装置2では、最後に発行したIDと、受信したIDとを比較し(S13)、これらが一致しないので、受信したID=1に対応する操作画面画像と、現在のID=2に対応する操作画面画像との差分画像(図6(c))を生成する(S14)。この差分画像は一般に、ウィンドウW2の部分が差分領域として所定色に塗りつぶされた画像となる。
However, when the user of the
中継装置2は、このウィンドウW2があった差分領域内で第2の利用者によるドラッグ操作の始点があることを検出し、補正を要すると判断する(S15)。さらに中継装置2は、ID=1において行われた操作(ウィンドウW2上にあった、ウィンドウを閉じるボタンをクリックしたことを表す操作)を記憶しており、この記憶している内容と、差分画像とを参照して、差分画像において差分が生じている領域内でのクリックがあったことを検出する。ここでは、補正原因操作情報が差分画像内に始点及び終点を有するドラッグ操作である場合のみ補正可能であるとすると、中継装置2は、この第2の利用者の操作(補正対象の操作)は、補正不能であると判断して(S16)、その旨を表す情報をクライアント装置3bへ伝達する(S17)。クライアント装置3bでは、この情報を受けて、「操作に失敗しました」のようなメッセージを表示してもよい。
The
なお、処理S15において、例えばウィンドウW2があった差分領域内で第2の利用者によるドラッグ操作の始点がない場合(第2の利用者の操作がウィンドウW2の移動操作でなかった場合)など、第2の利用者の操作が差分領域に関わるものでない場合は、当該第2の利用者の操作をそのままサーバ1へ送出することになる。
In the processing S15, for example, when there is no starting point of the drag operation by the second user in the difference area where the window W2 was present (when the second user's operation is not the movement operation of the window W2), etc. If the operation of the second user is not related to the difference area, the operation of the second user is sent to the
さらにここで図8に示すように、第1の利用者が、ウィンドウW1を移動する操作を行う(S21)と、クライアント装置3aは、ウィンドウW1を移動する操作を表す情報(ウィンドウW1上のいずれかの点から、他の点までマウスをドラッグする操作を表す情報)と、操作開始時のID(=2)とを、中継装置2へ送出する(S22)。
Further, as shown in FIG. 8, when the first user performs an operation of moving the window W1 (S21), the
中継装置2では、最後に発行したIDと、受信したIDとを比較する(S23)。ここでは各IDが一致しているので、受信した操作を表す情報を、サーバ1へ送出する(S24)。
The
サーバ1では、ウィンドウW1を移動する操作を受けて、ウィンドウW1を移動し(S25)、ウィンドウW1を移動した後の操作画面画像(図6(d))を送出する(S26)。中継装置2では、この操作画面画像に対して新たなID=3を発行する。そして、クライアント装置3a,3bへ配信する(S27)。
In response to the operation of moving the window W1, the
この配信を受けるまでの間に、ID=2の操作画面画像において、第2の利用者がウィンドウW1を移動する操作を行う(S31)と、クライアント装置3bは、最後に受信したID(=2)と、当該ウィンドウW1を移動する操作を表す情報とを中継装置2へ送出する(S32)。中継装置2では、最後に発行したIDと、受信したIDとを比較し(S33)、これらが一致しないので、受信したID=2に対応する操作画面画像と、現在のID=3に対応する操作画面画像との差分画像(図6(e))を生成する(S34)。この差分画像は一般に、ウィンドウW1の移動前の部分と移動後の部分とのいずれか一方に対応する領域が所定色に塗りつぶされた画像となる。
Until this distribution is received, if the second user performs an operation of moving the window W1 in the operation screen image with ID = 2 (S31), the
中継装置2は、この差分画像の領域内に第2の利用者によるドラッグ操作の始点があることを検出し、補正を要すると判断する(S35)。さらに中継装置2は、ID=2において行われた操作(第1の利用者がウィンドウW1を移動した操作)を記憶しており、この記憶している内容と、差分画像とを参照して、差分画像内に始点及び終点を有するドラッグ操作があったことを検出する。中継装置2は、この検出結果に基づき補正可能であると判断する(S36)。ここで中継装置2は、第1の利用者が行ったウィンドウW1の移動量だけ、第2の利用者のドラッグ操作の始点を移動する(補正処理:S37)。すなわち、第2の利用者が図6(f)の点Aにてドラッグを開始したとすると、第1の利用者によるウィンドウW1の移動量だけ、この点Aを移動して、点A′とする。一方、ドラッグの終点である点Bは移動しない。
The
これにより、第2の利用者によるウィンドウW1の移動操作が点A′から点Bへの移動操作に補正され、この補正された操作を表す情報がサーバ1へ送出される(S38)。サーバ1では、ウィンドウW1をさらに移動する処理を行い(S39)、移動後の操作画面画像(図6(g))を中継装置2へ送出する(S40)。
Thereby, the movement operation of the window W1 by the second user is corrected to the movement operation from the point A ′ to the point B, and information representing the corrected operation is sent to the server 1 (S38). The
中継装置2では、この操作画面画像に対して新たなID=4を発行する。そして、クライアント装置3a,3bへ配信する(S41)。
The
このように本実施の形態によると、中継装置2が、各利用者からの操作が競合しないよう、調停することになる。
As described above, according to the present embodiment, the
なお、ここまでの説明では、中継装置2は、例えば図8の処理S34で生成した差分画像の領域内に、受信した利用者の操作が関わっている場合に、補正可能であれば補正を行うものとしている(処理S36からS38)。しかしながら、例えば差分画像の領域内に、受信した利用者の操作が関わっていて補正を要すると判断されたときには、利用者に対してエラーを報知することとし、補正を要しないときにのみ利用者の操作をサーバ1へ伝達するとしてもよい。この場合、操作履歴の記憶を行う必要もないので、機能的に操作履歴記憶部36は必ずしも必要でない。
In the description so far, the
1 サーバ、2 中継装置、3 クライアント装置、21 制御部、22 記憶部、23 通信部、31 画像中継部、32 状態管理部、33 入力中継部、34 衝突判定部、35 操作補正部、36 操作履歴記憶部。 1 server, 2 relay device, 3 client device, 21 control unit, 22 storage unit, 23 communication unit, 31 image relay unit, 32 state management unit, 33 input relay unit, 34 collision determination unit, 35 operation correction unit, 36 operation History storage unit.
Claims (7)
前記処理実行装置は、
操作画面画像を前記中継装置に提供する画面提供手段と、
前記中継装置から操作を受け入れる操作受入手段と、
を備え、
前記中継装置は、
前記処理実行装置から提供された操作画面画像を受け入れる手段と、
受け入れた操作画面画像ごとに固有の識別子を発行し、操作画面画像と発行した識別子とを関連づけて、前記利用者側装置へ提供する手段と、
前記利用者側装置から、操作画面画像に関連する識別子とともに、利用者の操作を受け入れる手段と、
当該利用者側装置から受け入れた識別子を用い、当該識別子とともに受け入れた利用者の操作を表す情報を、前記処理実行装置へ送出するか否かを判断する手段と、
前記判断の結果、送出すると決定した場合に、利用者の操作を前記処理実行装置へ提供する手段と、
を有し、
前記利用者側装置は、前記中継装置から操作画面画像と、当該操作画面画像に関連する識別子とを取得し、当該操作画面画像を表示する手段と、
利用者が行った操作を表す情報を受け入れて、当該受け入れた情報とともに、表示している操作画面画像に関連する識別子を、前記中継装置へ送信する手段と、
を含むことを特徴とする処理実行システム。 A processing execution system including a processing execution device, a relay device, and a user side device,
The process execution device includes:
Screen providing means for providing an operation screen image to the relay device;
An operation receiving means for receiving an operation from the relay device;
With
The relay device is
Means for accepting an operation screen image provided from the processing execution device;
A means for issuing a unique identifier for each accepted operation screen image, associating the operation screen image with the issued identifier, and providing the user side device;
Means for accepting a user operation from the user side device together with an identifier associated with the operation screen image;
Means for determining whether to use the identifier received from the user side device and to send information representing the operation of the user received together with the identifier to the processing execution device;
As a result of the determination, when it is determined to send, means for providing a user operation to the processing execution device;
Have
The user side device acquires an operation screen image and an identifier related to the operation screen image from the relay device, and displays the operation screen image.
Means for accepting information representing an operation performed by the user, and transmitting an identifier related to the displayed operation screen image to the relay device together with the accepted information;
A processing execution system comprising:
当該受け入れた操作画面画像を識別する識別子を発行する手段と、
前記受け入れた操作画面画像と、当該操作画面画像を識別する識別子とを利用者側の装置に提供する手段と、
利用者側の装置から、利用者の操作を表す情報とともに、当該操作が行われた時点での操作画面画像を識別する識別子を受信して、最後に発行した識別子と比較し、最後に発行した識別子と、利用者側の装置から受信した識別子とが一致するか否かにより、受信した、利用者の操作を表す情報を、前記処理実行装置に対して送信するか否かを判断する手段と、
前記判断の結果、送出すると決定した場合に、利用者の操作を表す情報を前記処理実行装置へ提供する手段と、
を含むことを特徴とする中継装置。 Means for receiving an image of an operation screen from the process execution device, connected to a process execution device for executing a process according to a user operation;
Means for issuing an identifier for identifying the accepted operation screen image;
Means for providing the received operation screen image and an identifier for identifying the operation screen image to a user side device;
An identifier identifying the operation screen image at the time when the operation is performed is received from the device on the user side together with information indicating the operation of the user, compared with the last issued identifier, and issued last. Means for determining whether or not to transmit the received information representing the operation of the user to the process execution device, depending on whether or not the identifier and the identifier received from the user side device match. ,
As a result of the determination, when it is determined to send, means for providing information representing a user operation to the processing execution device;
A relay device comprising:
当該受け入れた操作画面画像を識別する識別子を発行する手段と、
前記受け入れた操作画面画像と、当該操作画面画像を識別する識別子とを利用者側の装置に提供する手段と、
利用者側の装置から、利用者の操作を表す情報とともに、当該操作が行われた時点での操作画面画像を識別する識別子を受信して、最後に発行した識別子と比較し、最後に発行した識別子と、利用者側の装置から受信した識別子とが一致しない場合に、受信した、利用者の操作を表す情報を補正する補正手段と、
前記補正が行われた利用者の操作を表す情報を、前記処理実行装置へ提供する手段と、
を含むことを特徴とする中継装置。 Means for receiving an image of an operation screen from the process execution device, connected to a process execution device for executing a process according to a user operation;
Means for issuing an identifier for identifying the accepted operation screen image;
Means for providing the received operation screen image and an identifier for identifying the operation screen image to a user side device;
An identifier identifying the operation screen image at the time when the operation is performed is received from the device on the user side together with information indicating the operation of the user, compared with the last issued identifier, and issued last. Correction means for correcting the received information representing the user's operation when the identifier does not match the identifier received from the user side device;
Means for providing the processing execution apparatus with information representing the user's operation after the correction;
A relay device comprising:
前記処理実行装置から操作画面の画像を受け入れる手順と、
当該受け入れた操作画面画像を識別する識別子を発行する手順と、
前記受け入れた操作画面画像と、当該操作画面画像を識別する識別子とを利用者側の装置に提供する手順と、
利用者側の装置から、利用者の操作を表す情報とともに、当該操作が行われた時点での操作画面画像を識別する識別子を受信して、最後に発行した識別子と比較し、最後に発行した識別子と、利用者側の装置から受信した識別子とが一致するか否かにより、受信した、利用者の操作を表す情報を、前記処理実行装置に対して送信するか否かを判断する手順と、
前記判断の結果、送出すると決定した場合に、利用者の操作を表す情報を前記処理実行装置へ提供する手順と、
を実行させることを特徴とするプログラム。 To a computer connected to a process execution device that executes processes according to user operations,
A procedure for accepting an image of an operation screen from the processing execution device;
A procedure for issuing an identifier for identifying the accepted operation screen image;
A procedure for providing the received operation screen image and an identifier for identifying the operation screen image to a user side device;
An identifier identifying the operation screen image at the time when the operation is performed is received from the device on the user side together with information indicating the operation of the user, compared with the last issued identifier, and issued last. A procedure for determining whether or not to transmit the received information representing the operation of the user to the processing execution device, depending on whether or not the identifier and the identifier received from the user side device match. ,
As a result of the determination, when it is determined to be transmitted, a procedure for providing information representing a user operation to the processing execution device;
A program characterized by having executed.
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007048577A JP4853328B2 (en) | 2007-02-28 | 2007-02-28 | Processing execution system, relay device, and program |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| JP2007048577A JP4853328B2 (en) | 2007-02-28 | 2007-02-28 | Processing execution system, relay device, and program |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| JP2008210317A JP2008210317A (en) | 2008-09-11 |
| JP4853328B2 true JP4853328B2 (en) | 2012-01-11 |
Family
ID=39786532
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP2007048577A Expired - Fee Related JP4853328B2 (en) | 2007-02-28 | 2007-02-28 | Processing execution system, relay device, and program |
Country Status (1)
| Country | Link |
|---|---|
| JP (1) | JP4853328B2 (en) |
Families Citing this family (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP5482818B2 (en) * | 2012-03-12 | 2014-05-07 | コニカミノルタ株式会社 | Display system, display system control method, display system control program, and relay device control program |
| JP5701964B2 (en) * | 2013-12-05 | 2015-04-15 | 株式会社東芝 | Screen relay device |
Family Cites Families (3)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH03273443A (en) * | 1990-03-23 | 1991-12-04 | Fuji Xerox Co Ltd | Cooperative working system for plural work stations |
| JP3052790B2 (en) * | 1995-07-05 | 2000-06-19 | 松下電器産業株式会社 | Collaborative work system |
| JP3943504B2 (en) * | 2002-04-10 | 2007-07-11 | 日本電信電話株式会社 | SBC collaboration system and proxy server for realizing SBC collaboration |
-
2007
- 2007-02-28 JP JP2007048577A patent/JP4853328B2/en not_active Expired - Fee Related
Also Published As
| Publication number | Publication date |
|---|---|
| JP2008210317A (en) | 2008-09-11 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| EP2728460B1 (en) | Method of displaying data in display device using mobile communication terminal, the display device, and the mobile communication terminal | |
| WO2017022834A1 (en) | Program for predicting touch object on the basis of operation history, electronic device, system, and control method | |
| JP4991975B2 (en) | Authentication server device, authentication server device program, authentication method, and information recording medium | |
| CN105209138A (en) | Storage medium for persistently storing game program, and information processing device | |
| JP2006202138A (en) | Information processing apparatus and control method thereof | |
| US10484488B2 (en) | Method for dynamic and automatic creation of user interfaces | |
| US20140123053A1 (en) | Display terminal device, display screen sharing system, and display screen sharing method | |
| JP4853328B2 (en) | Processing execution system, relay device, and program | |
| JP2014089586A (en) | Work procedure management system, work procedure management method and work procedure management program | |
| US20150222947A1 (en) | Method and device for controlling a display device | |
| CN110533503A (en) | A kind of data processing method and device | |
| JP5907163B2 (en) | Data relevance level determination device, data relevance level determination method, and program | |
| JP5637143B2 (en) | Joint development support system, joint development support method and program | |
| CN116841425A (en) | Method, device and system for updating cursor | |
| US8886712B2 (en) | Communication device | |
| JP5087031B2 (en) | Display control device, input operation device, display system, and control system | |
| US20190012767A1 (en) | Terminal device, display system, and control method of terminal device | |
| JP2016119019A (en) | Information processing apparatus, information processing method, and program | |
| JP2018092638A (en) | Touch operation position determination device | |
| JP2018074429A (en) | Information processing device, information processing method, and program | |
| JP6376163B2 (en) | Information processing apparatus, information processing method, and program | |
| JP2007134843A (en) | Communication terminal, remote operation method and program | |
| JP6561738B2 (en) | Information linkage program, information linkage server, and information linkage method | |
| JP2019003413A (en) | Information processing system and information processing apparatus | |
| JP2025003703A (en) | Touch operation position detection device |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100121 |
|
| A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20110913 |
|
| 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: 20110927 |
|
| 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: 20111010 |
|
| FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20141104 Year of fee payment: 3 |
|
| R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 Ref document number: 4853328 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
| S533 | Written request for registration of change of name |
Free format text: JAPANESE INTERMEDIATE CODE: R313533 |
|
| R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
| LAPS | Cancellation because of no payment of annual fees |