JP2012155770A - Information processing device, kvm switch and control program - Google Patents
Information processing device, kvm switch and control program Download PDFInfo
- Publication number
- JP2012155770A JP2012155770A JP2012116921A JP2012116921A JP2012155770A JP 2012155770 A JP2012155770 A JP 2012155770A JP 2012116921 A JP2012116921 A JP 2012116921A JP 2012116921 A JP2012116921 A JP 2012116921A JP 2012155770 A JP2012155770 A JP 2012155770A
- Authority
- JP
- Japan
- Prior art keywords
- server
- cursor
- window
- mouse
- information processing
- 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.)
- Granted
Links
Images
Landscapes
- Position Input By Displaying (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
Description
本発明は、情報処理装置のマウスカーソルの位置とサーバのマウスカーソルの位置とを一致させる情報処理装置、KVMスイッチ及び制御プログラムに関する。 The present invention relates to an information processing apparatus, a KVM switch, and a control program that match the position of a mouse cursor of an information processing apparatus with the position of a mouse cursor of a server.
コンピュータを遠隔操作する手段は、これまで様々な技術が開発されてきた。遠隔操作する上では、操作される側(サーバ)と操作する側(リモートPC)の二つのコンピュータが必要である。 Various techniques have been developed for remote control of computers. For remote operation, two computers are required: the operated side (server) and the operated side (remote PC).
遠隔操作の技術として、例えば、手元にある端末のディスプレイ上に表示した画面の操作性・視認性を損ねることなく、遠隔地の端末の画面情報と手元の端末の情報の両方を表示するシステム(例えば、特許文献1参照)、リモコン送信器と撮像手段との距離が異なっても、リモコン送信器の移動量に対するカーソル移動量が一定となるカーソル制御装置(例えば、特許文献2参照)、携帯電話端末から遠隔地にあるパソコンへ接続し、携帯電話端末からコンピュータを遠隔操作するシステム(例えば、特許文献2参照)などが知られている。 As a remote operation technique, for example, a system that displays both the screen information of a remote terminal and the information of the terminal at hand without impairing the operability and visibility of the screen displayed on the display of the terminal at hand ( For example, see Patent Document 1), a cursor control device (see, for example, Patent Document 2), a mobile phone in which the amount of cursor movement relative to the amount of movement of the remote control transmitter is constant even if the distance between the remote control transmitter and the imaging means is different A system is known in which a terminal is connected to a remote personal computer and the computer is remotely operated from a mobile phone terminal (see, for example, Patent Document 2).
また、サーバには遠隔操作用ソフトウェアをインストールせず、サーバとリモートPCとの接続経路の間に変換器を配置して、その変換器が、サーバに接続されるキーボードやマウスを代行する技術が知られている(例えば、特許文献4参照)。 Also, there is a technology in which a remote control software is not installed in the server, a converter is arranged between the connection path between the server and the remote PC, and the converter acts as a keyboard or mouse connected to the server. It is known (see, for example, Patent Document 4).
特許文献4の技術では、リモートPCに接続されているキーボード及びマウスが出力する信号がディジタルデータに変換され、変換されたデータが回線上に転送され、サーバでディジタルデータを受け取って信号に戻し、その信号を入力することで、サーバはキーボード及びマウスが直接接続されているように動作する。さらには、サーバが出力するビデオ信号がディジタルデータに変換され、変換されたデータが回線上に転送され、リモートPCがディジタルデータを受け取って信号に戻し、その信号を入力することで、リモートPC側に設置されたモニタがサーバに接続されたモニタであるように動作する。
In the technique of
これら技術を流用した別の技術としては、例えば、特許文献5のKVMスイッチを有するシステムが知られている。
As another technique that uses these techniques, for example, a system having a KVM switch of
この特許文献5のシステムは、特許文献4の基本概念を持ち、リモートPCが有するウィンドウシステムにおいて、一つのウィンドウを表示手段とし、そのウィンドウをキーボード・マウスのデータの入力経路としている。即ち、リモートPCのウィンドウ内で実行したキーボードやマウスの操作が、サーバに反映される。
The system of
次に、リモートPCのマウスカーソル205がウインドウ201の内部から外部に一旦出て、再度ウインドウ201の外部から内部に入る場合の問題点を、図19を用いて説明する。
Next, the problem that occurs when the
図19は、従来のリモートPCの画面の一例を示す図である。 FIG. 19 is a diagram showing an example of a conventional remote PC screen.
同図において、符号201は、マウスカーソルの非表示を設定したウィンドウを示し、符号202は、マウスカーソルの表示を設定した他のウィンドウを示し、符号203はリモートPCの画面を示す。符号204はサーバのマウスカーソルを示し、符号205はリモートPCのマウスカーソルを示す。
In the figure,
初期状態では、サーバのマウスカーソル204は位置aにあり、リモートPCのマウスカーソル205は、位置Aにあり、同一の位置にあるものとする。リモートPCのマウスカーソル205を位置Aから位置B’まで移動させると、サーバのマウスカーソル204は位置aから位置bまで移動する。位置B'と位置bは同じ位置になる。
In the initial state, it is assumed that the
次いで、リモートPCのマウスカーソル205がウィンドウ201の枠を超えると、サーバのマウスカーソル204は位置bから移動しないで留まっている。
Next, when the
リモートPCのマウスカーソル205が経路Cを辿って位置Bから位置Gまで移動し、ウィンドウ201の枠を超えて位置Hに到達し、位置Iまで移動すると、サーバのマウスカーソル204は位置bから位置i’まで移動する。
When the
ここで、リモートPCのオペレータは、手動で位置ズレ補正機能をオンにし、サーバのマウスカーソル204の位置i’を位置iに強制移動させると、リモートPCのマウスカーソル205とサーバのマウスカーソル204には位置ズレが無くなり、正しく操作できる。
Here, when the operator of the remote PC manually turns on the positional deviation correction function and forcibly moves the position i ′ of the
このように、リモートPCのマウスカーソル205がウインドウ201の内部から外部に一旦出て、再度ウインドウ201の外部から内部に入る場合には、位置ズレ補正機能を実行しない限り、サーバのマウスカーソル204とリモートPCのマウスカーソル205の位置ズレにより、リモートPCのマウスのオペレータに対して快適なマウス操作環境を提供できなかった。
As described above, when the
本発明は、上記課題に鑑みなされたもので、その目的は、情報処理装置のオペレータに対して快適な操作部材の操作環境を提供することが可能な情報処理装置、KVMスイッチ及び制御プログラムを提供することにある。 The present invention has been made in view of the above problems, and an object thereof is to provide an information processing apparatus, a KVM switch, and a control program capable of providing a comfortable operating member operating environment to an operator of the information processing apparatus. There is to do.
上記目的を達成するため、本発明の情報処理装置は、第1操作部材が接続されるKVMスイッチを介してサーバに接続されると共に、第2操作部材が接続され、前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動する前記サーバのカーソルとを含むウィンドウを表示する情報処理装置であって、前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を保存する保存手段と、前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段とを備えることを特徴とする。 In order to achieve the above object, an information processing apparatus according to the present invention is connected to a server via a KVM switch to which a first operation member is connected, and a second operation member is connected to operate the second operation member. An information processing apparatus that displays a window including a cursor of an information processing apparatus that is moved by a cursor and a cursor of the server that is moved by an operation of one of the first operation member and the second operation member, wherein the second operation The coordinates on the window frame through which the cursor of the information processing apparatus moves when the cursor of the information processing apparatus moves outside the window by the operation of the member, and the position of the cursor of the server and the position of the cursor of the information processing apparatus match Storage means for storing coordinates to be performed, and when the cursor of the information processing apparatus reaches the window from outside the window, And calculating a difference between coordinates on the frame and the stored coordinates of the window, characterized in that it comprises a control means for outputting the difference to the server.
かかる構成によれば、第2操作部材の操作により情報処理装置のカーソルがウィンドウの外部に移動し、外部からウィンドウに到達した場合でも、情報処理装置のカーソルとサーバのカーソルの位置ズレを補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。尚、保存手段の一例は、図17のステップS111の処理を実行するCPU31及びHDD34であり、制御手段の一例は、図17のステップS115の処理を実行するCPU31である。
According to this configuration, even when the cursor of the information processing apparatus moves to the outside of the window by the operation of the second operation member and reaches the window from the outside, the positional deviation between the cursor of the information processing apparatus and the cursor of the server can be corrected. A comfortable operating environment for the second operating member can be provided to the operator of the information processing apparatus. An example of the storage unit is the
好ましくは、前記制御手段は、前記情報処理装置のカーソルが前記ウィンドウの外部の移動中に、前記第1操作部材の操作により前記サーバのカーソルが移動された場合には、前記サーバのカーソルの移動前の座標と移動後の座標との差分を算出し、当該差分を前記保存手段に保存し、前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分と前記保存された差分と合成し、その合成値を前記サーバに出力することを特徴とする。 Preferably, the control means moves the server cursor when the cursor of the information processing apparatus is moved outside the window and the cursor of the server is moved by the operation of the first operation member. The difference between the previous coordinate and the coordinate after the movement is calculated, the difference is stored in the storage unit, and when the cursor of the information processing apparatus reaches the window from the outside of the window, A difference between coordinates on the frame and the stored coordinates is calculated, and the difference is combined with the stored difference, and the combined value is output to the server.
かかる構成によれば、情報処理装置のカーソルがウィンドウの外部の移動中に、第1操作部材の操作によりサーバのカーソルが移動された場合でも、情報処理装置のカーソルとサーバのカーソルの位置ズレを補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。上記制御手段の実行内容は、図17のステップS113,S114の処理に対応する。 According to this configuration, even when the server cursor is moved by the operation of the first operation member while the cursor of the information processing apparatus is moving outside the window, the positional deviation between the cursor of the information processing apparatus and the cursor of the server is shifted. It can correct | amend and can provide the operation environment of the 2nd operation member comfortable with respect to the operator of information processing apparatus. The execution contents of the control means correspond to the processing in steps S113 and S114 in FIG.
上記目的を達成するため、KVMスイッチは、第1操作部材が接続されるKVMスイッチで、且つ第2操作部材が接続されると共に前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動するサーバのカーソルとを表示する情報処理装置、及び前記サーバに接続可能なKVMスイッチであって、前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を前記情報処理装置から取得し保存する保存手段と、前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標を前記情報処理装置から取得し、当該取得されたウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段とを備えることを特徴とする。 In order to achieve the above object, the KVM switch is a KVM switch to which the first operation member is connected, and the cursor of the information processing apparatus that is connected to the second operation member and moves by the operation of the second operation member, and the An information processing apparatus that displays a cursor of a server that moves by an operation of either the first operation member or the second operation member, and a KVM switch that can be connected to the server, the operation of the second operation member The coordinates on the frame of the window that pass when the cursor of the information processing apparatus moves outside the window, and the coordinates at which the cursor position of the server and the cursor position of the information processing apparatus match Storage means for acquiring and saving from the information processing apparatus, and a cursor of the information processing apparatus reaching the window from outside the window The coordinates of the arrived window frame are obtained from the information processing device, the difference between the obtained coordinates of the window frame and the stored coordinates is calculated, and the difference is calculated by the server. And a control means for outputting to the control unit.
かかる構成によれば、第2操作部材の操作により情報処理装置のカーソルがウィンドウの外部に移動し、外部からウィンドウに到達した場合でも、情報処理装置のカーソルとサーバのカーソルの位置ズレを補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。尚、保存手段の一例は、図18のステップS121の処理を実行するコントローラ101及びメモリ105であり、制御手段の一例は、図18のステップS125の処理を実行するコントローラ101である。
According to this configuration, even when the cursor of the information processing apparatus moves to the outside of the window by the operation of the second operation member and reaches the window from the outside, the positional deviation between the cursor of the information processing apparatus and the cursor of the server can be corrected. A comfortable operating environment for the second operating member can be provided to the operator of the information processing apparatus. An example of the storage unit is the
好ましくは、前記制御手段は、前記情報処理装置のカーソルが前記ウィンドウの外部の移動中に、前記第1操作部材の操作により前記サーバのカーソルが移動された場合には、前記サーバのカーソルの移動前の座標と移動後の座標との差分を算出し、当該差分を前記保存手段に保存し、前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標を前記情報処理装置から取得し、当該取得されたウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分と前記保存された差分と合成し、その合成値を前記サーバに出力することを特徴とする。 Preferably, the control means moves the server cursor when the cursor of the information processing apparatus is moved outside the window and the cursor of the server is moved by the operation of the first operation member. The difference between the previous coordinate and the coordinate after the movement is calculated, the difference is stored in the storage unit, and when the cursor of the information processing apparatus reaches the window from the outside of the window, The coordinates on the frame are acquired from the information processing device, the difference between the acquired coordinates on the frame of the window and the stored coordinates is calculated, and the difference and the stored difference are combined and combined. A value is output to the server.
かかる構成によれば、情報処理装置のカーソルがウィンドウの外部の移動中に、第1操作部材の操作によりサーバのカーソルが移動された場合でも、情報処理装置のカーソルとサーバのカーソルの位置ズレを補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。上記制御手段の実行内容は、図18のステップS123,S124の処理に対応する。 According to this configuration, even when the server cursor is moved by the operation of the first operation member while the cursor of the information processing apparatus is moving outside the window, the positional deviation between the cursor of the information processing apparatus and the cursor of the server is shifted. It can correct | amend and can provide the operation environment of the 2nd operation member comfortable for the operator of information processing apparatus. The execution contents of the control means correspond to the processing in steps S123 and S124 in FIG.
上記目的を達成するため、本発明の制御プログラムは、第1操作部材が接続されるKVMスイッチを介してサーバに接続されると共に、第2操作部材が接続され、前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動する前記サーバのカーソルとを含むウィンドウを表示する情報処理装置を、前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を保存する保存手段、及び前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段として機能させることを特徴とする。 In order to achieve the above object, a control program according to the present invention is connected to a server via a KVM switch to which a first operation member is connected, a second operation member is connected, and an operation of the second operation member is performed. An information processing apparatus that displays a window including a cursor of an information processing apparatus that moves and a cursor of the server that moves by an operation of any one of the first operation member and the second operation member. The coordinates on the frame of the window that passes when the cursor of the information processing apparatus moves outside the window, and the coordinates at which the cursor position of the server and the cursor position of the information processing apparatus match Save means for saving, and when the cursor of the information processing apparatus reaches the window from outside the window, It calculates a difference between coordinates on the frame of the window and the stored coordinates, characterized in that to function as a control means for outputting the difference to the server.
かかる構成によれば、第2操作部材の操作により情報処理装置のカーソルがウィンドウの外部に移動し、外部からウィンドウに到達した場合でも、情報処理装置のカーソルとサーバのカーソルの位置ズレを補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。 According to this configuration, even when the cursor of the information processing apparatus moves to the outside of the window by the operation of the second operation member and reaches the window from the outside, the positional deviation between the cursor of the information processing apparatus and the cursor of the server can be corrected. A comfortable operating environment for the second operating member can be provided to the operator of the information processing apparatus.
上記目的を達成するため、本発明の制御プログラムは、第1操作部材が接続されるKVMスイッチで、且つ第2操作部材が接続されると共に前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動するサーバのカーソルとを表示する情報処理装置、及び前記サーバに接続可能なKVMスイッチであって、前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を前記情報処理装置から取得し保存する保存手段、及び前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標を前記情報処理装置から取得し、当該取得されたウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段として機能させることを特徴とする。 In order to achieve the above object, a control program according to the present invention is a KVM switch to which a first operation member is connected, and an information processing apparatus that is connected to the second operation member and moves by operation of the second operation member. An information processing apparatus that displays a cursor and a cursor of a server that is moved by an operation of one of the first operation member and the second operation member, and a KVM switch that can be connected to the server, the second operation member The position of the cursor of the server and the position of the cursor of the information processing device coincide with the coordinates on the frame of the window that pass when the cursor of the information processing device moves outside the window by the operation of Storage means for acquiring and storing coordinates from the information processing apparatus, and a cursor of the information processing apparatus from the outside of the window When reaching the dough, the coordinates on the frame of the reached window are acquired from the information processing apparatus, the difference between the acquired coordinates on the frame of the window and the stored coordinates is calculated, and the difference Is made to function as a control means for outputting to the server.
かかる構成によれば、第2操作部材の操作により情報処理装置のカーソルがウィンドウの外部に移動し、外部からウィンドウに到達した場合でも、情報処理装置のカーソルとサーバのカーソルの位置ズレを補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。 According to this configuration, even when the cursor of the information processing apparatus moves to the outside of the window by the operation of the second operation member and reaches the window from the outside, the positional deviation between the cursor of the information processing apparatus and the cursor of the server can be corrected. A comfortable operating environment for the second operating member can be provided to the operator of the information processing apparatus.
本発明によれば、情報処理装置のオペレータに対して快適な操作部材の操作環境を提供することができる。 According to the present invention, it is possible to provide a comfortable operating environment for operating members for an operator of an information processing apparatus.
以下、図面を参照しながら本発明の実施の形態を説明する。 Hereinafter, embodiments of the present invention will be described with reference to the drawings.
(第1の実施の形態)
図1は、本発明の第1の実施の形態に係るKVM(K:キーボード、V:ビデオ、M:マウス)スイッチ、情報処理装置、及びサーバを備えるKVMシステムの構成図である。
(First embodiment)
FIG. 1 is a configuration diagram of a KVM system including a KVM (K: keyboard, V: video, M: mouse) switch, an information processing apparatus, and a server according to the first embodiment of the present invention.
同図に示すように、KVMシステム1000は、KVMスイッチ(K:キーボード、V:ビデオ、M:マウス)1、サーバ2a,2b、モニタ3、キーボード4、及びマウス5を備えている。これらは、ローカルシステムを構成している。即ち、モニタ3は、サーバ2a又はサーバ2bの出力するビデオ信号を表示することができ、キーボード4及びマウス5は、サーバ2a又はサーバ2bにデータを出力することができる。
As shown in the figure, the
さらに、マルチモニタ対応切替システム1000は、モニタ12a、キーボード13a及びマウス14aが接続されているPC11aと、モニタ12b〜12e、キーボード13b及びマウス14bが接続されているPC11bとを備えている。PC11a及びPC11bはネットワーク10を介してKVMスイッチ1に接続される遠隔端末であり、いわゆるリモートシステムを構成している。即ち、ユーザは、PC11a又はPC11b上で動作している遠隔操作アプリケーションから、ネットワーク10及びKVMスイッチ1を介してサーバ2a又はサーバ2bを操作することができる。
Further, the
尚、KVMスイッチ1に接続されるサーバ又は遠隔端末(PC)は単数でも複数でもよい。
The server or remote terminal (PC) connected to the
図2(A)は、サーバ2aのハードウエア構成を示すブロック図であり、図2(B)は、PC11aのハードウエア構成を示すブロック図である。尚、サーバ2bのハードウエア構成はサーバ2aのハードウエア構成と同一であり、PC11bのハードウエア構成はPC11aのハードウエア構成と同一である。
FIG. 2A is a block diagram illustrating a hardware configuration of the
サーバ2aは、装置全体を制御するCPU21、制御プログラムを備えるROM22、ワーキングエリアとして機能するRAM23、各種の情報やプログラムを備えるハードディスクドライブ(HDD)24、ビデオ信号を出力するためのビデオインターフェース26、ネットワークインターフェース27及びUSB(universal serial bus)インターフェース28を備えている。CPU21はシステムバス29を介してROM22、RAM23、ハードディスクドライブ(HDD)24、ビデオインターフェース26、ネットワークインターフェース27及びUSBインターフェース28に接続されている。USBインターフェース28は、KVMスイッチ1と接続するために使用され、さらに後述する図7(A)〜(C)のテーブルデータをKVMスイッチ1又はPC11a,11bに送信する際に使用されると共に図7(A)〜(C)のテーブルデータをKVMスイッチ1又はPC11a,11bから受信する際に使用される。
The
PC11aは、装置全体を制御するCPU31、制御プログラムを備えるROM32、ワーキングエリアとして機能するRAM33、各種の情報やプログラムを備えるハードディスクドライブ(HDD)34、ビデオ信号を出力するためのビデオインターフェース36、KVMスイッチ1又は他のコンピュータと接続するためのネットワークインターフェース37、及び不図示のUSB機器と接続するためのUSB(universal serial bus)インターフェース38を備えている。CPU31はシステムバス39を介してROM32、RAM33、ハードディスクドライブ(HDD)34、ビデオインターフェース36、ネットワークインターフェース37及びUSBインターフェース38に接続されている。
The
モニタ12aはビデオインターフェース36に接続され、キーボード13a及びマウス14aはUSBインターフェース38に接続されている。ネットワークインターフェース37はKVMスイッチ1と接続するために使用され、さらに後述する図7(A)〜(C)のテーブルデータをKVMスイッチ1又はサーバ2a,2bに送信する際に使用されると共に図7(A)〜(C)のテーブルデータをKVMスイッチ1又はサーバ2a,2bから受信する際に使用される。
The monitor 12 a is connected to the
図3は、KVMスイッチ1のハードウエア構成を示すブロック図である。
FIG. 3 is a block diagram showing a hardware configuration of the
KVMスイッチ1は、スイッチ全体の動作を制御するコントローラ101、ビデオ信号の出力先やマウス又はキーボードのデータの入力先を切り替えるスイッチング回路102、サーバ2a,2bとそれぞれ接続するためのインターフェース(I/F)103a,103b、ネットワーク10を介してPC11a,11bと接続するためのネットワークインターフェース(I/F)104a,104b、モニタ3と接続するためのビデオインターフェース(I/F)106、並びにキーボード4及びマウス5と接続するためのキーボード・マウスインターフェース(I/F)107を備えている。コントローラ101は各種の制御プログラムやデータなどを格納するメモリ105を備えている。
The
インターフェース(I/F)103a,103bは、後述する図7(A)〜(C)のテーブルデータをサーバ2a,2bにそれぞれ送信する際に使用されると共に図7(A)〜(C)のテーブルデータをサーバ2a,2bからそれぞれ受信する際に使用される。ネットワークインターフェース(I/F)104a,104bは、後述する図7(A)〜(C)のテーブルデータをPC11a,11bにそれぞれ送信する際に使用されると共に図7(A)〜(C)のテーブルデータをPC11a,11bからそれぞれ受信する際に使用される。
The interfaces (I / F) 103a and 103b are used when transmitting table data shown in FIGS. 7A to 7C, which will be described later, to the
以下の説明では、サーバの代表例としてサーバ2aを使用し、遠隔端末の代表例としてPC11aを使用するが、サーバや遠隔端末をこれらに限定するものではない。
In the following description, the
本実施の形態では、サーバ2aのマウスカーソルの加速処理に左右されない位置ズレ補正機能を実現するため、PC11a又はKVMスイッチ1がマウス14aが出力するマウスデータそのものを補正するためのテーブルデータ(図7(A)〜(C)参照)を自動作成する機能を有する。尚、位置ズレ補正機能とは、PC11aが表示するPC11aのマウスカーソルの位置とPC11aが表示するサーバ2aのマウスカーソルの位置が一致しない場合に、これらのマウスカーソルの位置を一致させる補正を実行する機能である。
In the present embodiment, table data for correcting the mouse data itself output from the mouse 14a by the
まず、マウスデータを補正するためのテーブルデータを自動作成する第1の機能を説明する。 First, a first function for automatically creating table data for correcting mouse data will be described.
図4(A)は、サーバ2aの画面の一例を示す図であり、図4(B)は、(A)の部分拡大図であり、図4(C)は、PC11aの画面の一例を示す図である。また、図5(A)及び図5(B)は、位置ズレ補正機能を示すフローチャートである。
4A is a diagram showing an example of the screen of the
図4(A)において、符号121はサーバ2aの画面を示し、符号122はサーバ2aのマウスカーソルを示す。図4(C)において、符号123はPC11aの画面を示し、符号126は、PC11aのマウスカーソルを示す。符号124は、PC11aのマウスカーソル126の非表示を設定したウィンドウを示し、符号125は、マウスカーソルの表示を設定した他のウィンドウを示す。ウィンドウ124には、サーバ2aの画面が表示され、サーバ2aのマウスカーソル122が表示されている。ウィンドウ124やウィンドウ125におけるマウスカーソルの表示/非表示は、PC11aのオぺレーティングシステムで設定することができる。
4A,
初期状態では、図4(A)に示すように、サーバ2aのマウスカーソル122は、画面121のどの位置にあってもよいが、例えば、位置aにあるものとする。また、図4(C)に示すように、PC11aのマウスカーソル126は画面123のどの位置にあってもよいが、例えば、位置Aにあるものとする。PC11aのマウスカーソル126は、例えば、ウィンドウ125の直上にあったとしても、本処理においてはウィンドウ124の直上に移動させることになるため、PC11aのマウスカーソル126は画面123のどの位置にあってもよい。
In the initial state, as shown in FIG. 4A, the
図5(A)において、PC11aのCPU31は、現在のPC11aのマウスカーソル126の座標をHDD34に保存する(ステップS1)。これにより、図4(C)のマウスカーソル126の位置Aの座標がHDD34に保存される。
5A, the
次いで、PC11aのCPU31は、PC11aのマウスカーソル126をウィンドウ124の左上角に移動させるマウスデータをPC11a自身に出力すると共に当該マウスデータに応じたPC11aのマウスカーソル126の移動量を示すデータをKVMスイッチ1を介して、サーバ2aに出力する(ステップS2)。これにより、図4(A)のサーバ2aのマウスカーソル122は位置aから位置bに移動し、図4(C)のマウスカーソル126は位置Aから位置Bに移動する。
Next, the
尚、マウス14aが出力可能なマウスデータは1〜255である。PC11aのマウスカーソル126が移動する大きさは、図4(C)に示すように、VABで示し、サーバ2aに到達して実際にサーバ2aのマウスカーソル122が移動する大きさをVabで示す。この2つの移動の大きさの関係はVAB<<Vabであり、VabはVABよりも非常に大きな値とし、サーバ2aの加速処理に左右されず、サーバ2aのマウスカーソル122及びPC11aのマウスカーソル126がそれぞれ画面121の左上角の位置B及びウィンドウ124の左上角の位置bに移動する大きさとする。
The mouse data that can be output by the mouse 14a is 1 to 255. As shown in FIG. 4C, the size of movement of the
次いで、PC11aのCPU31は、サーバ2aの加速係数の検出処理を実行する(ステップS3)。この処理は、PC11aがKVMスイッチ1を介してサーバ2aに出力するPC11aのマウスカーソル126の移動量を示すデータがサーバ2aでどの様に加速されるのかを調べるために行う。この処理によって、サーバ2aの加速係数を全て把握し、PC11aがKVMスイッチ1を介してサーバ2aが実行する加速処理に最適化したデータを出力できるようにする。サーバ2aの加速係数の検出処理の詳細は後述する。
Next, the
最後に、PC11aのCPU31は、PC11aのマウスカーソル126をウィンドウ124の左上角の座標からHDD34に保存されたPC11aのマウスカーソル126の座標(即ち位置Aの座標)の位置に戻すマウスデータをPC11a自身に出力すると共に当該マウスデータに応じたPC11aのマウスカーソル126の移動量を示すデータをKVMスイッチ1を介して、サーバ2aに出力する(ステップS4)。ステップS2のマウスデータとステップS4のマウスデータとの関係は大きさが同一であるが、正負が逆になる。これにより、PC11aのマウスカーソル126は位置Bから位置Aに戻り、サーバ2aのマウスカーソル122は位置bから位置aに戻る。
Finally, the
図5(A)では、PC11aのCPU31位置ズレ補正機能を実行したが、図5(B)では、KVMスイッチ1のコントローラ101が位置ズレ補正機能を実行する。
In FIG. 5A, the
図5(B)において、KVMスイッチ1のコントローラ101は、PC11aから、現在のPC11aのマウスカーソル126の座標を取得し、メモリ105に保存する(ステップS1−1)。これにより、図4(C)のマウスカーソル126の位置Aの座標がメモリ105に保存される。
5B, the
次いで、KVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126をウィンドウ124の左上角に移動させるマウスデータをPC11aに出力すると共に当該マウスデータに応じたPC11aのマウスカーソル126の移動量を示すデータをサーバ2aに出力する(ステップS2−1)。これにより、図4(A)のサーバ2aのマウスカーソル122は位置aから位置bに移動し、図4(C)のマウスカーソル126は位置Aから位置Bに移動する。尚、KVMスイッチ1が出力可能なマウスデータは1〜255である。
Next, the
次いで、KVMスイッチ1のコントローラ101は、サーバ2aの加速係数の検出処理を実行する(ステップS3−1)。この処理は、サーバ2aに出力するPC11aのマウスカーソル126の移動量を示すデータがサーバ2aでどの様に加速されるのかを調べるために行う。この処理によって、サーバ2aの加速係数を全て把握し、KVMスイッチ1が、サーバ2aが実行する加速処理に最適化したデータを出力できるようにする。サーバ2aの加速係数の検出処理の詳細は後述する。
Next, the
最後に、KVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126をウィンドウ124の左上角の座標からメモリ105に保存されたPC11aのマウスカーソル126の元の位置(即ち位置Aの座標)に戻すマウスデータをPC11a自身に出力すると共に当該マウスデータに応じたPC11aのマウスカーソル126の移動量を示すデータをサーバ2aに出力する(ステップS4−1)。ステップS2−1のマウスデータとステップS4−1のマウスデータとの関係は大きさが同一であるが、正負が逆になる。これにより、PC11aのマウスカーソル126は位置Bから位置Aに戻り、サーバ2aのマウスカーソル122は位置bから位置aに戻る。
Finally, the
図6は、図5(A)のステップS3の加速係数の検出処理を示すフローチャートである。 FIG. 6 is a flowchart showing the acceleration coefficient detection process in step S3 of FIG.
まず、PC11aのCPU31は、サーバ2aのマウスカーソル122が位置bにあり、PC11aのマウスカーソル126が位置Bにあるとき、図4(B)のマウスカーソル122を囲む閉領域rをウィンドウ124に表示している画像の領域上においてキャプチャし、サーバ2aのマウスカーソル122に対応するビットマップを抽出し(ステップS11)、ウィンドウ124内部でサーバ2aのマウスカーソル122の移動を追尾できるようにする。
First, when the
以降の処理では、PC11aのCPU31は、マウス14aが1〜255の各マウスデータに応じたPC11aのマウスカーソル126の移動量を示すデータをサーバ2aに出力し、それに応じてサーバ2aのマウスカーソル122がどの様に移動するかを検知し、サーバ2aの加速係数を検出する。
In the subsequent processing, the
PC11aのCPU31は、マウスデータ(i)の初期化を行う、即ちマウスデータとして1をセットする(i=1)(ステップS12)。次いで、PC11aのCPU31は、セットされたマウスデータ(i)に応じたPC11aのマウスカーソル126の移動量を算出すると共に、PC11aのマウスカーソル126の移動量を示すデータをサーバ2aに出力する(ステップS13)。これにより、ウィンドウ124内のサーバ2aのマウスカーソル122は移動する。
The
次に、PC11aのCPU31は、サーバ2aのマウスカーソル122の画像のウィンドウ124内の移動先をパターンマッチングにより検出する(ステップS14)。
Next, the
PC11aのCPU31は、サーバ2aのマウスカーソル122の移動前の位置と移動後の位置との差分を計算し、マウスデータ(i)に対するサーバ2aのマウスカーソル122の移動量を算出する(ステップS15)。この移動量の算出は、ステップS13からステップS18のループにより、マウス14aが出力可能なマウスデータ(1〜255)に対応する回数、即ち255回繰り返し実行される。
The
PC11aのCPU31は、マウスデータ(i)、PC11aのマウスカーソル126の移動量及びサーバ2aのマウスカーソル122の移動量に基づいたテーブルデータを作成する(ステップS16)。この作成されたテーブルデータはHDD34に保存される。テーブルデータについては、後述する。
The
続けて、PC11aのCPU31は、マウスデータ(i)を1増加し(ステップS17)、マウスデータ(i)が255を超えたか否かを判別する(ステップS18)。
Subsequently, the
ステップS18で、マウスデータ(i)が255を超えていない場合には(NO)、ステップS13に戻る。一方、ステップS18で、マウスデータ(i)が255を超えた場合には(YES)、PC11aのCPU31は、サーバ2aのマウスカーソル122をウィンドウ124の左上角に移動させ(ステップS19)、本処理を終了する。
If the mouse data (i) does not exceed 255 in step S18 (NO), the process returns to step S13. On the other hand, if the mouse data (i) exceeds 255 in step S18 (YES), the
尚、図5(B)のステップS3−1の加速係数の検出処理は、図6と同様に実行されるが、実行主体はKVMスイッチ1のコントローラ101である。この場合、KVMスイッチ1のコントローラ101は、継続的にPC11aの画面のデータを受信する。
The acceleration coefficient detection process in step S3-1 in FIG. 5B is executed in the same manner as in FIG. 6, but the execution subject is the
図7(A)は、ステップS16で作成されるテーブルデータの一例を示す図であり、図7(B)は、図7(A)の各値を四捨五入したテーブルデータの一例を示す図であり、図7(C)は、PC11aのマウスカーソル126の位置とサーバ2aのマウスカーソル122の位置とを一致させるためのテーブルデータの一例を示す図である。
FIG. 7A is a diagram illustrating an example of the table data created in step S16, and FIG. 7B is a diagram illustrating an example of the table data obtained by rounding each value of FIG. 7A. FIG. 7C is a diagram showing an example of table data for matching the position of the
図7(A)において、XはPC11aへの入力に相当するマウスデータを示し、YはPC11aのマウスカーソル126の移動量を示し、Zはサーバ2aのマウスカーソル122の移動量を示す。上記ステップS16により、PC11aのCPU31は、図7(A)のテーブルデータを作成するが、このとき、図7(A)の各値を四捨五入した図7(B)のテーブルデータを同時に作成する。図7(C)のテーブルデータは、ステップS19でPC11aのCPU31により作成され、HDD34に保存される、又はステップS19でKVMスイッチ1のコントローラ101に作成され、メモリ105に保存される。
In FIG. 7A, X represents mouse data corresponding to input to the
サーバ2aの加速係数を検出するために、図7(A)及び図7(B)のマウスデータXが利用されているが、サーバ2aには、図7(A)及び図7(B)に示されるPC11aのマウスカーソル126の移動量Yが入力されている。マウスデータXがPC11aのマウスカーソル126の移動量Yと異なるのは、PC11aでもマウスの加速処理が実行されているためである。
In order to detect the acceleration coefficient of the
サーバ2aのマウスカーソル122の位置がPC11aのマウスカーソル126の位置とズレないようにするためには、PC11aのマウスカーソル126の移動量Yとサーバ2aのマウスカーソル122の移動量Zとが一致する必要がある。しかし、PC11aのマウスカーソル126の移動量Yとサーバ2aのマウスカーソル122の移動量Zとが一致しないことは、図7(B)より明らかである。
In order to prevent the position of the
そこで、本実施の形態では、PC11aのCPU31又はKVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126の移動量Yとサーバ2aのマウスカーソル122の移動量Zとが一致するように、PC11aのマウスカーソル126の移動量Yの出力を変換する出力変換処理を実行する。具体的には、出力変換処理では、PC11aのCPU31又はKVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126の移動量Yとサーバ2aのマウスカーソル122の移動量Zとが一致するような、1又は2以上のマウスデータをサーバ2aに出力する。このマウスデータはPC11aで加速処理が実行されていない、マウスからPC11aに直接入力されたデータである。
Therefore, in the present embodiment, the
図7(C)のテーブルデータは、PC11aのマウスカーソル126の移動量Y、サーバ2aに出力されるマウスデータ、及びサーバ2aのマウスカーソル122の移動量Zとの関係を示す。
The table data in FIG. 7C shows the relationship between the movement amount Y of the
例えば、PC11aのマウスカーソル126の移動量Y=5の場合、その値がPC11aからサーバ2aに出力されると、図7(B)からサーバ2aのマウスカーソル122の移動量Zは「7」となり、マウスカーソル122は「2」の分だけ加速される。この場合、PC11aのマウスカーソル126の移動量Yとサーバ2aのマウスカーソル122の移動量Zとは一致しない。
For example, if the movement amount Y = 5 of the
しかし、図7(C)では、PC11aのマウスカーソル126の移動量Y=5の場合、PC11aからサーバ2aにマウスデータX−1としての「3」及びマウスデータX−2としての「1」が出力される、即ち、マウスデータが2回に分けて出力される。マウスデータが「3」のときは、図7(B)に基づいて、サーバ2aのマウスカーソル122の移動量Z−1は「4」となり、マウスデータが「1」のときは、図7(B)に基づいて、サーバ2aのマウスカーソル122の移動量Z−2は「1」となり、移動量Z−1及び移動量Z−2の合計であるマウスカーソル122の移動量Zは「5」となる。この場合、PC11aのマウスカーソル126の移動量Yとサーバ2aのマウスカーソル122の移動量Zとは一致する。
However, in FIG. 7C, when the movement amount Y of the
図8(A)及び(B)は、PC11a及びKVMスイッチ1で実行される処理を示すフローチャートである。
FIGS. 8A and 8B are flowcharts showing processing executed by the
まず、図8(A)の処理について説明する。 First, the process of FIG. 8A will be described.
PC11aでマウス14aが操作され、PC11aのマウスカーソル126が移動する(ステップS21)と、PC11aのCPU31は、PC11aのマウスカーソル126の移動量Yのデータを作成し(ステップS22)、KVMスイッチ1へ送信する(ステップS23)。KVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126の移動量Yのデータを受信し(ステップS24)、図7(C)のテーブルデータを使って、出力変換処理を実行し(ステップS25)、1又は2以上のマウスデータをサーバ2aに出力する(ステップS26)。サーバ2aは1又は2以上のマウスデータを受信し、サーバ2aのマウスカーソル122を移動させ(ステップS27)、本処理を終了する。尚、サーバ2aのマウスカーソル122の移動は、PC11aのウィンドウ124に表示される。
When the mouse 14a is operated on the
次いで、図8(B)の処理について説明する。 Next, the process in FIG. 8B will be described.
PC11aでマウス14aが操作され、PC11aのマウスカーソル126が移動する(ステップS31)と、PC11aのCPU31は、図7(C)のテーブルデータを使って、出力変換処理を実行し(ステップS32)、1又は2以上のマウスデータをKVMスイッチ1へ送信する(ステップS33)。KVMスイッチ1のコントローラ101は、1又は2以上のマウスデータを受信し(ステップS34)、そのまま、サーバ2aに出力する(ステップS35)。サーバ2aは1又は2以上のマウスデータを受信し、サーバ2aのマウスカーソル122を移動させ(ステップS36)、本処理を終了する。尚、サーバ2aのマウスカーソル122の移動は、PC11aのウィンドウ124に表示される。
When the mouse 14a is operated on the
このように、PC11a又はKVMスイッチ1が、PC11aのマウスカーソル126とサーバ2aのマウスカーソル122の位置ズレの起きないマウスデータをサーバ2aに出力することで、サーバ2aのマウスの加速処理に左右されない位置ズレ補正機能を提供できるようになり、従来のようにサーバのマウスの加速処理を無効にしなくて済むようになる。また、PC11aのマウスカーソル126がウィンドウ124の直上にある限り、PC11aのマウスカーソル126とサーバ2aのマウスカーソル122の位置ズレが発生することがなく、マウス14aのオペレータに快適なマウス操作環境を提供できる。
As described above, the
次に、マウスデータを補正するためのテーブルデータを自動作成する第2の機能を説明する。ここでは、図7(A)〜(C)のテーブルデータをサーバ2aが自動作成する。
Next, a second function for automatically creating table data for correcting mouse data will be described. Here, the
上記第1の機能では、図7(A)〜(C)のテーブルデータを作成するために、PC11aがウィンドウ124でのサーバ2aのマウスカーソル122の画像のキャプチャ及びパターンマッチング処理を実行している。
In the first function, the
PC11aのマウスカーソル126の移動がサーバ2a上でどのように反映されるか、即ちPC11aのマウスカーソル126の移動に従って、サーバ2aのマウスカーソル122がどのように移動するかは、サーバ2a上で監視プログラムを動作させ、サーバ2aのマウスカーソル122の位置を常に検出することにより調べることができる。
It is monitored on the
図9(A)は、PC11a、KVMスイッチ1及びサーバ2aにおけるデータの処理経路をモデル化した図である。
FIG. 9A is a diagram modeling data processing paths in the
サーバ2aのHDD24は、デバイスドライバ51、ウィンドウ管理システム52、プログラム53を備えており、これらは、HDD24からRAM23に読み出されて、適宜CPU21により実行されることによりそれぞれの機能を発揮する。
The
同図において、経路P1は、KVMスイッチ1とPC11aとの間で成立するI/F(例えばEthernet(登録商標)や電話回線)を利用することを示す。経路P2は、デバイスドライバ51とハードウェアであるKVMスイッチ1との間で成立するI/F(例えばPS2通信線やUSB)を利用していることを示す。経路P3は、プログラム53とデバイスドライバ51との間で成立するI/F(例えばApplication Program Interface)を利用していることを示す。経路P4は、サーバ2aとKVMスイッチ1が相互接続可能な通信経路に接続されている場合で、プログラム53とKVMスイッチ1との間で成立するI/F(例えばEthernet(登録商標)及びTCP/IP)を利用していることを示す。経路P5は、サーバ2aとPC11aが相互接続可能な通信経路に接続されている場合で、プログラム53とPC11aとの間で成立するI/F(例えばEthernet(登録商標)及びTCP/IP)を利用していることを示す。
In the figure, a path P1 indicates that an I / F (for example, Ethernet (registered trademark) or a telephone line) established between the
PC11a、KVMスイッチ1及びサーバ2aの動作を以下に説明する。
The operations of the
PC11aから、PC11aのマウスカーソル126の移動量Yを示すデータ(図7(B)参照)がネットワーク10を介してKVMスイッチ1に通知される。KVMスイッチ1はサーバ2aにとってマウスの役割を果たし、PC11aから通知されたデータをサーバ2aに入力し、デバイスドライバ51に渡す。
Data indicating the movement amount Y of the
マウスカーソル126の移動量Yを示すデータがデバイスドライバ51に渡った時点では、サーバ2aの加速処理は行われておらず、マウスカーソル126の移動量Yは図7(B)に示す値である。
When the data indicating the movement amount Y of the
デバイスドライバ51は、ウィンドウ管理システム52にマウスカーソル126の移動量Yを示すデータを渡し、ウィンドウ管理システム52は加速処理を実施して、プログラム53に加速処理後のデータを渡す。プログラム53に渡ったデータは、加速処理が施されているから、図7(B)のサーバ2aのマウスカーソル122の移動量Zを示すデータになっている。尚、CPU21は、加速処理が実施されたサーバ2aのマウスカーソル122の移動量Zに従って、サーバ2aのマウスカーソル122を移動させる。
The
このように、サーバ2aに入力されたPC11aのマウスカーソル126の移動量Yを示すデータはデバイスドライバ51で取得され、サーバ2aのマウスカーソル122の移動量Zを示すデータはプログラム53で取得される。尚、マウスデータは、後述するように、順番に1つずつ増加するので、デバイスドライバ51は、最初に受信したPC11aのマウスカーソル126の移動量Yを示すデータに対応するマウスデータが「1」であり、次に受信したPC11aのマウスカーソル126の移動量Yを示すデータに対応するマウスデータが「2」であり、最後に受信したPC11aのマウスカーソル126の移動量Yを示すデータに対応するマウスデータが「255」であることを判断することができる。つまり、デバイスドライバ51は、PC11aのマウスカーソル126の移動量Yを示すデータを受信することで、これに対応するマウスデータの値を取得することができる。
Thus, the data indicating the movement amount Y of the
よって、デバイスドライバ51は、プログラム53からサーバ2aのマウスカーソル122の移動量Zを示すデータを取得することで、予め取得されたPC11aのマウスカーソル126の移動量Yを示すデータ及びマウスデータと、サーバ2aのマウスカーソル122の移動量Zを示すデータとに基づいて、図7(B)のテーブルデータ及び図7(C)のテーブルデータを作成することができる。
Therefore, the
図9(B)は、加速係数の検出処理を示すフローチャートである。 FIG. 9B is a flowchart showing acceleration coefficient detection processing.
デバイスドライバ51は、マウスデータ(i)の初期化を行う、即ちマウスデータとして1をセットする(i=1)(ステップS41)。次いで、デバイスドライバ51は、プログラム53からサーバ2aのマウスカーソル122の移動量Zを示すデータ、KVMスイッチ1からPC11aのマウスカーソル126の移動量Yを示すデータを取得する(ステップS42)。デバイスドライバ51は、マウスデータ、サーバ2aのマウスカーソル122の移動量Z、及びPC11aのマウスカーソル126の移動量Yに基づいてテーブルデータを作成する(ステップS43)。このテーブルデータは図7(A)であるが、デバイスドライバ51は、マウスデータ、サーバ2aのマウスカーソル122の移動量Z、及びPC11aのマウスカーソル126の移動量Yの各値を四捨五入することで図7(B)のテーブルデータを取得する。
The
次いで、デバイスドライバ51は、マウスデータを1増加し(ステップS44)、マウスデータが255を超えたか否かを判別する(ステップS45)。
Next, the
ステップS45で、マウスデータが255を超えていない場合には(NO)、ステップS42に戻る。一方、ステップS45で、マウスデータが255を超えた場合には(YES)、本処理を終了する。この処理の終了後に、デバイスドライバ51は、図7(B)のテーブルデータに基づいて図7(C)のテーブルデータを作成する。
If the mouse data does not exceed 255 in step S45 (NO), the process returns to step S42. On the other hand, if the mouse data exceeds 255 in step S45 (YES), this process ends. After the completion of this process, the
上記処理では、デバイスドライバ51で図7(A)〜図7(C)のテーブルデータを作成したが、PC11aのマウスカーソル126の移動量Yを示すデータ及びマウスデータは、KVMスイッチ1及びPC11aでも取得されているデータなので、サーバ2aのマウスカーソル122の移動量Zを示すデータを経路P1又は経路P2を使ってKVMスイッチ1又はPC11aに転送し、KVMスイッチ1又はPC11aで図7(A)〜図7(C)のテーブルデータを作成してもよい。
In the above processing, the table data of FIGS. 7A to 7C is created by the
また、KVMスイッチ1はプログラム53からサーバ2aのマウスカーソル122の移動量Zを示すデータを取得し、図7(A)〜図7(C)のテーブルデータを作成し、それを自己保持したり、デバイスドライバ51又はPC11aに転送してもよい。また、PC11aはプログラム53からサーバ2aのマウスカーソル122の移動量Zを示すデータを取得し、図7(A)〜図7(C)のテーブルデータを作成し、それを自己保持したり、デバイスドライバ51又はKVMスイッチ1に転送してもよい。
Further, the
このように、図7(A)〜図7(C)のテーブルデータの作成は、PC11a、KVMスイッチ1、又はデバイスドライバ51のいずれでも実行可能である。また、図7(C)のテーブルデータに基づいて実行される出力変換処理(即ち、PC11aのマウスカーソル126の移動量Yとサーバ2aのマウスカーソル122の移動量Zとが一致するような、1又は2以上のマウスデータをサーバ2a(より具体的にはプログラム53)に出力する処理)は、ウィンドウ管理システム52の前段までに実行されていればよい。サーバ2aでは、デバイスドライバ51が図7(C)のテーブルデータに基づいて出力変換処理を実行する。
As described above, the table data shown in FIGS. 7A to 7C can be created by any of the
次に、加速係数の検出処理を半自動で実行する場合を説明する。半自動とは、PC11aのオペレータの操作が必要であることを意味する。
Next, a case where the acceleration coefficient detection process is executed semi-automatically will be described. Semi-automatic means that the operation of the operator of the
図10は、PC11aの画面の一例を示す図である。
FIG. 10 is a diagram illustrating an example of the screen of the
図10において、符号123はPC11aの画面を示し、符号126は、PC11aのマウスカーソルを示す。符号124は、サーバ2aの画面が表示されるウィンドウを示し、符号125は、他のウィンドウを示す。ウィンドウ124には、サーバ2aのマウスカーソル122が表示され、PC11aのマウスカーソルも表示される。しかし、このPC11aのマウスカーソルは、この処理のときの場合のみ表示され、通常は、PC11aのマウスカーソルはウィンドウ124上では非表示に設定されている。
In FIG. 10,
図10において、初期状態では、PC11aのマウスカーソル126の位置A及びサーバ2aのマウスカーソル122の位置aはどのような位置にあってもよい。但し、PC11aのCPU31は、PC11aのマウスカーソル126の位置Aの座標及びサーバ2aのマウスカーソル122の位置aの座標は、予めHDD34に保存しておく。
In FIG. 10, in the initial state, the position A of the
PC11aのCPU31は、最初にサーバ2aのマウスカーソル122を移動させるデータをサーバ2aに出力し、サーバ2aのマウスカーソル122を位置aから位置bに移動させる。PC11aのオペレータは、PC11aのマウスカーソル126を移動させ、位置bのサーバ2aのマウスカーソル122の矢先をクリックする。このクリックにより、PC11aのCPU31はサーバ2aのマウスカーソル122の位置bとサーバ2aのマウスカーソル122の位置が同位置であると認識できる。尚、このとき、PC11aのCPU31は、PC11aのマウスカーソル126の移動量を示すデータをサーバ2aに出力しない。これは、PC11aのマウスカーソル126の移動量を示すデータをサーバ2aに出力してしまうと、PC11aのマウスカーソル126の移動に連動してサーバ2aのマウスカーソル122が移動してしまい、クリックができないからである。
The
次に、PC11aのCPU31は、サーバ2aのマウスカーソル122を移動させるデータをサーバ2aに出力し、サーバ2aのマウスカーソル122が位置bから位置cに移動したときに、PC11aのオペレータは、PC11aのマウスカーソル126を移動させ、位置cのサーバ2aのマウスカーソル122の矢先をクリックする。
Next, the
これにより、PC11aのCPU31から出力された、サーバ2aのマウスカーソル122を位置bから位置cに移動させたデータが、サーバ2aでどのように加速処理されたかが分かり、PC11aのCPU31は、PC11aのマウスカーソル126の位置bから位置cまでの移動量と、サーバ2aのマウスカーソル122の位置bから位置cまでの移動量との関係を決定できる。
As a result, it is understood how the data output from the
このように、サーバ2aのマウスカーソル122を位置a〜位置hまで順次移動させ、その都度、PC11aのオペレータは、PC11aのマウスカーソル126を移動させ、サーバ2aのマウスカーソル122の矢先をクリックすることで、PC11aのCPU31は、PC11aのマウスカーソル126の移動量とサーバ2aのマウスカーソル122の移動量との関係を決定する。
In this way, the
図11は、加速係数の検出処理を半自動で実行する場合を示すフローチャートである。 FIG. 11 is a flowchart illustrating a case where the acceleration coefficient detection process is executed semi-automatically.
まず、PC11aのCPU31は、マウスデータ(i)の初期化を行う、即ちマウスデータとして1をセットする(i=1)(ステップS61)。次いで、PC11aのCPU31は、セットされたマウスデータ(i)に応じたPC11aのマウスカーソル126の移動量を算出すると共に、PC11aのマウスカーソル126の移動量を示すデータをサーバ2aに出力する(ステップS62)。これにより、ウィンドウ124内のサーバ2aのマウスカーソル122は移動する。
First, the
次に、PC11aのCPU31は、PC11aのオペレータによりPC11aのマウスカーソル126でクリックされた座標を検出する(ステップS63)。
Next, the
PC11aのCPU31は、前回クリックされた座標と今回クリックされた座標の差分を計算し、マウスデータ(i)に対するサーバ2aのマウスカーソル122の移動量を算出する(ステップS64)。この移動量の算出は、ステップS13からステップS18のループにより、マウス14aが出力可能なマウスデータ(1〜255)に対応する回数、即ち255回繰り返し実行される。尚、初期状態のサーバ2aのマウスカーソル122の座標は、HDD34に記憶されているものを使用する。
The
PC11aのCPU31は、マウスデータ(i)、PC11aのマウスカーソル126の移動量、及びサーバ2aのマウスカーソル122の移動量に基づいたテーブルデータを作成する(ステップS65)。この作成されたテーブルデータはHDD34に保存される。ここで作成されるテーブルデータは図7(A)及び図7(B)である。
The
続けて、PC11aのCPU31は、マウスデータ(i)を1増加し(ステップS66)、マウスデータ(i)が255を超えたか否かを判別する(ステップS67)。
Subsequently, the
ステップS67で、マウスデータ(i)が255を超えていない場合には(NO)、ステップS62に戻る。一方、ステップS67で、マウスデータ(i)が255を超えた場合には(YES)、PC11aのCPU31は、サーバ2aのマウスカーソル122をウィンドウ124の左上角に移動させ(ステップS68)、本処理を終了する。この処理の終了後に、PC11aのCPU31は、図7(B)のテーブルデータに基づいて図7(C)のテーブルデータを作成する。
If the mouse data (i) does not exceed 255 in step S67 (NO), the process returns to step S62. On the other hand, if the mouse data (i) exceeds 255 in step S67 (YES), the
この加速係数の検出処理を半自動で実行する機能は、PC11aのCPU31が、サーバ2aのマウスカーソル122を囲む閉領域rをウィンドウ124に表示している画像の領域上においてキャプチャできない場合に有効である。これは、PC11aのオペレーティングシステム又はウィンドウシステムが用いるカーソルの形状は、図10が示すように矢印の形状であるのが普通であるが、矢印ではなく指の形状であったり、点であったりと、サーバ2aのオペレータの嗜好によってマウスカーソルの形状が定まらない場合があるためである。このような状況であっても、PC11aのオペレータに、サーバ2aのマウスカーソル122の矢先がクリックされることでサーバ2aのマウスカーソル122の座標を特定することが可能である。このように、加速係数の検出処理を半自動で実行する機能を用いても、図7(C)のテーブルデータを作成することができる。
The function of executing the acceleration coefficient detection process semi-automatically is effective when the
尚、図7(C)のテーブルデータを使用した出力変換処理は、上述したようにウィンドウ管理システム52の前段までに実行される。
Note that the output conversion process using the table data in FIG. 7C is executed up to the preceding stage of the
(第2の実施の形態)
上述した課題2で説明したように、リモートPC(PC11に相当する)のマウスカーソル205を非表示にしても、リモートPCのマウスカーソル205が図20におけるウィンドウ201の枠を超えた場合は、サーバの遠隔操作ができなくなる。
(Second Embodiment)
As described in
そこで、本実施の形態では、上述した図8(A)又は図8(B)のPC11a及びKVMスイッチ1で実行される処理の前段に、PC11aのマウスカーソル126の移動範囲を制限する処理と、この移動範囲を制限する処理の有効又は無効を選択可能にする処理を追加する。
Therefore, in the present embodiment, a process of limiting the movement range of the
尚、本実施の形態のKVMシステムは、第1の実施の形態のKVMシステム1000と同一の構成である。
Note that the KVM system of the present embodiment has the same configuration as the
図12(A)は、第2の実施の形態にかかるPC11a及びKVMスイッチ1で実行される処理を示すフローチャートである。
FIG. 12A is a flowchart illustrating processing executed by the
PC11aのCPU31は、PC11aのマウスカーソル126の移動範囲の制限を有効にするか否かを判別する(ステップS71)。具体的には、PC11aのCPU31は、PC11aのマウスカーソル126の移動範囲を制限する指示が割り当てられているキーボード13aのファンクションキーの押下があったか又はPC11aのマウスカーソル126の移動範囲を制限するメニューが選択されているかを判別する。この場合、上記ファンクションキーの押下があった場合又は上記メニューが選択されている場合は、PC11aのCPU31は、PC11aのマウスカーソル126の移動範囲の制限を有効にすると判別する。上記ファンクションキーの押下がない場合又は上記メニューが選択されていない場合は、PC11aのCPU31は、PC11aのマウスカーソル126の移動範囲の制限を無効にすると判別する。
The
ステップS71でPC11aのマウスカーソル126の移動範囲の制限を有効にすると判別された場合(YES)には、PC11aのCPU31は、PC11aのオペレーティングシステムが持っている機能を呼び出し、PC11aのマウスカーソル126の移動範囲をウィンドウ124内に限定する(ステップS72)。尚、PC11aのオペレーティングシステムが持っている機能とは、例えばMicrosoft Windows(登録商標)のClipCursorを呼ばれるAPI(Application Program Interface)である。このAPIは、一般にマウスカーソルの移動範囲をウィンドウ上の四角形の領域内に制限する。
If it is determined in step S71 that the restriction on the movement range of the
ステップS72の処理後、上述した図8(A)のステップS21〜ステップS27又は図8(B)のステップS31〜ステップS36の処理が実行され(ステップS73)、本処理を終了する。 After the process of step S72, the processes of steps S21 to S27 in FIG. 8A or steps S31 to S36 in FIG. 8B described above are executed (step S73), and this process ends.
一方、ステップS71でPC11aのマウスカーソル126の移動範囲の制限を無効にすると判別された場合(NO)には、本処理を終了する。
On the other hand, if it is determined in step S71 that the limitation on the movement range of the
図12(A)のステップS71及びステップS72の実行主体は、PC11aのCPU31であるが、KVMスイッチ1のコントローラ101もステップS71及びステップS72の処理を実行できる。この場合の処理を図12(B)に示す。
The execution subject of steps S71 and S72 in FIG. 12A is the
ステップS71aでは、KVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126の移動範囲を制限する指示が割り当てられているKVMスイッチ上の所定のスイッチ(不図示)がオンになっている又はメモリ105内に格納されている、PC11aのマウスカーソル126の移動範囲を制限するメニューが選択されているか否かを判別する。そして、KVMスイッチ1のコントローラ101は、いずれかに該当した場合には(ステップS71aでYES)、PC11aのオペレーティングシステムが持っている機能を呼び出し、PC11aのマウスカーソル126の移動範囲をウィンドウ124内に限定する(ステップS72a)。
In step S71a, the
このように、本実施の形態では、PC11aのマウスカーソル126の移動範囲をウィンドウ124内に制限した場合に、出力変換処理が実行される。よって、PC11aのマウスカーソル126の移動範囲をウィンドウ124内に制限した場合には、PC11aのマウスカーソル126とサーバ2aのマウスカーソル122の位置ズレが発生することがなく、快適なマウス操作環境を提供できる。
As described above, in this embodiment, when the movement range of the
(第3の実施の形態)
本実施の形態では、サーバ2aのマウスカーソル122をローカル又はリモートで交互に操作する場合について説明する。
(Third embodiment)
In the present embodiment, a case will be described in which the
ここで、ローカルとは、サーバ2a及びKVMスイッチ1側を指し、リモートとは、PC11a側を指す。
Here, local refers to the
本実施の形態では、KVMスイッチ1のメモリ105及びPC11aのHDD34に図7(B)及び図7(C)のテーブルデータが保存されているものとする。また、本実施の形態では、サーバ2a及びPC11aにおいて、マウス操作が行われると加算処理が行われることを前提に説明する。
In the present embodiment, it is assumed that the table data of FIGS. 7B and 7C are stored in the
本実施の形態のKVMシステムは、第1の実施の形態のKVMシステム1000と同一の構成である。
The KVM system of the present embodiment has the same configuration as the
以下、上記KVMスイッチ1及びPC11aで実行される処理について、図13(A),(B)を用いて説明する。
Hereinafter, processing executed by the
図13(A)は、ローカル(サーバ2a及びKVMスイッチ1側)の画面を示す図であり、図13(B)はリモート(PC11a側)の画面を示す図である。
FIG. 13A is a diagram showing a local (
図13(A)において、符号121はローカルの画面を示し、符号122はサーバ2aのマウスカーソルを示す。図13(B)において、符号123はリモートの画面を示し、符号126は、PC11aのマウスカーソルを示す。符号124は、PC11aのマウスカーソル126の非表示を設定したウィンドウを示し、符号125は、マウスカーソルの表示を設定した他のウィンドウを示す。ウィンドウ124には、ローカルの画面が表示される。ウィンドウ124やウィンドウ125におけるマウスカーソルの表示/非表示は、PC11aのオぺレーティングシステムで設定することができる。
In FIG. 13A,
リモートのマウス操作からローカルのマウス操作に切り替わった時点のPC11aのマウスカーソル126の位置を位置Aとすると、サーバ2aのマウスカーソル122の位置は位置aにある。ローカルのマウス操作によって、サーバ2aのマウスカーソル122が軌跡xを辿って位置aから位置bに移動した場合、最終的にサーバ2aのマウスカーソル122の移動量、即ち、KVMスイッチ1がサーバ2aに出力したデータの累積値は、Vabとなる。
Assuming that the position of the
ここで、ローカルのマウス操作からリモートのマウス操作に切り替わった時のサーバ2aのマウスカーソル122の位置を位置bとし、PC11aのマウスカーソル126の位置を位置Bとする。ローカルのマウス操作からリモートのマウス操作に切り替わり、リモートのマウス操作により、PC11aのマウスカーソル126がいずれかの方向に移動すると、PC11aのCPU31は、サーバ2aのマウスカーソル122の移動量Vabをサーバ2aから取得し、当該移動量Vab及び位置aの座標から位置bを割り出し、位置bとサーバ2aのマウスカーソル122の位置Bとの差分(Vb’)を算出する。そして、PC11aのCPU31は、PC11aのマウスカーソル126の移動量と上記算出された位置bと位置Bとの差分(Vb’)とを合算し、図7(C)のテーブルデータを使って合算された値に対応する1又は2以上のマウスデータをサーバ2aに出力する。
Here, it is assumed that the position of the
図14(A)は、第3の実施の形態にかかるKVMスイッチ1及びPC11aで実行される処理を示すフローチャートである。
FIG. 14A is a flowchart illustrating processing executed by the
まず、PC11aのCPU31は、リモート(PC11a側)のマウス操作からローカル(サーバ2a及びKVMスイッチ1側)のマウス操作に切り替わった時点のPC11aのマウスカーソル126の位置、即ち、リモートのマウス操作の最終位置をHDD34に保存する(ステップS81)。
First, the
次に、KVMスイッチ1のコントローラ101は、ローカルのマウス操作中に、サーバ2aに出力したデータの累積値をPC11aに出力する(ステップS82)。ここで、KVMスイッチ1がサーバ2aに出力したデータは、図7(B)又は図7(C)のテーブルデータのPC11aのマウスカーソル126の移動量Yに相当する。
Next, the
PC11aのCPU31は、KVMスイッチ1がサーバ2aに出力したデータの累積値を取得する(ステップS83)。次いで、PC11aのCPU31は、ローカルのマウス操作からリモートのマウス操作に切り替わり、リモートのマウス操作により、PC11aのマウスカーソル126がいずれかの方向に移動する(ステップS84)と、HDD34に保存されたリモートのマウス操作の最終位置及びKVMスイッチ1がサーバ2aに出力したデータの累積値に基づいて、現在のサーバ2aのマウスカーソル122の位置を算出し(ステップS85)、現在のサーバ2aのマウスカーソル122の位置と現在のPC11aのマウスカーソル126の位置との差分を算出する(ステップS86)。
The
次いで、PC11aのCPU31は、PC11aのマウスカーソル126の移動量とステップS85で算出された差分とを合算し、図7(C)のテーブルデータを使って合算された値に対応する1又は2以上のマウスデータをサーバ2aに出力する(ステップS87)。具体的には、PC11aのCPU31は、当該合算された値と一致するPC11aのマウスカーソル126の移動量Yの値を求め、この値に対応する1又は2以上のマウスデータをサーバ2aに出力する。
Next, the
以上の処理により、ローカルのマウス操作からリモートのマウス操作に切り替わる時点で、サーバ2aのマウスカーソル122の位置は、PC11aのマウスカーソル126の位置に一致する。
With the above processing, when the local mouse operation is switched to the remote mouse operation, the position of the
上記ステップS82,S83に代えて、図14(B)の処理を実行してもよい。この場合、全ての処理をPC11aのCPU31が実行することができる。
Instead of steps S82 and S83, the process of FIG. 14B may be executed. In this case, all the processes can be executed by the
図14(B)において、ステップS81の処理後、PC11aのCPU31は、上記第1の実施の形態で説明したように、ウィンドウ124内のサーバ2aのマウスカーソル122の画像をキャプチャし(ステップS91)、サーバ2aのマウスカーソル122の画像のウィンドウ124内の移動先をパターンマッチングにより検出し(ステップS92)、マウスカーソル122の移動前の位置(即ち、リモートのマウス操作からローカルのマウス操作に切り替わった時のマウスカーソル122の位置)と移動後の位置(即ち、ローカルのマウス操作からリモートのマウス操作に切り替わった時のマウスカーソル122の位置)との差分を計算し、ローカルのマウス操作により移動したサーバ2aのマウスカーソル122の移動量を算出する(ステップS93)。
In FIG. 14B, after the process of step S81, the
そして、PC11aのCPU31は、図7(B)のテーブルデータを使って、算出されたサーバ2aのマウスカーソル122の移動量に対応するPC11aのマウスカーソル126の移動量を、KVMスイッチ1がサーバ2aに出力したデータの累積値とし(ステップS94)、ステップS84の処理に進む。
Then, the
次に、図14(A)の処理をKVMスイッチ1のコントローラ101が実行する例を説明する。
Next, an example in which the
図15は、KVMスイッチ1で実行される処理を示すフローチャートである。
FIG. 15 is a flowchart showing processing executed by the
まず、KVMスイッチ1のコントローラ101は、リモート(PC11a側)のマウス操作からローカル(サーバ2a及びKVMスイッチ1側)のマウス操作に切り替わった時点のPC11aのマウスカーソル126の位置、即ち、リモートのマウス操作の最終位置をPC11aから取得し、メモリ105に保存する(ステップS101)。
First, the
次に、KVMスイッチ1のコントローラ101は、ローカルのマウス操作中に、サーバ2aに出力したデータの累積値をメモリ105に保存する(ステップS102)。
Next, the
次いで、KVMスイッチ1のコントローラ101は、ローカルのマウス操作からリモートのマウス操作に切り替わったときのPC11aのマウスカーソル126の位置をPC11aから取得する(ステップS103)。KVMスイッチ1のコントローラ101は、メモリ105に保存されたリモートのマウス操作の最終位置及びサーバ2aに出力したデータの累積値に基づいて、現在のサーバ2aのマウスカーソル122の位置を算出し(ステップS104)、現在のサーバ2aのマウスカーソル122の位置とステップS103で取得されたPC11aのマウスカーソル126の位置との差分を算出する(ステップS105)。
Next, the
その後、KVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126の移動量を示すデータをPC11aから受信すると、当該PC11aのマウスカーソル126の移動量とステップS105で算出された差分とを合算し、図7(C)のテーブルデータを使って合算された値に対応する1又は2以上のマウスデータをサーバ2aに出力する(ステップS106)。具体的には、PC11aのCPU31は、当該合算された値と一致するPC11aのマウスカーソル126の移動量Yの値を求め、この値に対応する1又は2以上のマウスデータをサーバ2aに出力する。
After that, when the
以上の処理により、ローカルのマウス操作からリモートのマウス操作に切り替わる時点で、サーバ2aのマウスカーソル122の位置は、PC11aのマウスカーソル126の位置に一致する。
With the above processing, when the local mouse operation is switched to the remote mouse operation, the position of the
図14(A),(B)又は図15の処理によれば、サーバ2aのマウスカーソル122をローカル又はリモートで交互に操作する場合でも、PC11aのマウスカーソルとサーバ2aのマウスカーソルの位置ズレが補正でき、マウス14aのオペレータに対して快適なマウス操作環境を提供できる。
14A, 14B, or 15, even when the
本実施の形態では、サーバ2a及びPC11aにおいて、マウス操作が行われると加算処理が行われることを前提に説明したが、従来のように、サーバ2a及びPC11aの加算処理を無効にするKVMシステムでは、サーバ2a、KVMスイッチ1及びPC11aの入出力されるマウスデータはいずれも同一である。
The present embodiment has been described on the assumption that the addition process is performed when the mouse operation is performed in the
このため、サーバ2a及びPC11aの加算処理を無効にするKVMシステムでも、図14(A)、図14(B)及び図15の処理を適用できるが、図7(B)及び図7(C)のテーブルデータを使う必要はない。この場合、上記ステップS87では、PC11aのCPU31は、PC11aのマウスカーソル126の移動量とステップS85算出された差分とを合算し、その合算値のデータをサーバ2aに出力する。また、上記ステップS94では、算出されたサーバ2aのマウスカーソル122の移動量が、KVMスイッチ1がサーバ2aに出力したデータの累積値となる。さらに、上記ステップS106では、PC11aのマウスカーソル126の移動量とステップS105で算出された差分とを合算し、その合算値のデータをサーバ2aに出力する。
For this reason, even in the KVM system that invalidates the addition processing of the
(第4の実施の形態)
本実施の形態では、PC11aのマウスカーソル126がウインドウ124の内部から外部に一旦出て、再度ウインドウ124の外部から内部に入る場合に実行される位置補正処理について説明する。
(Fourth embodiment)
In the present embodiment, a position correction process executed when the
本実施の形態のKVMシステムは、第1の実施の形態のKVMシステム1000と同一の構成である。
The KVM system of the present embodiment has the same configuration as the
図16は、PC11aの画面の一例を示す図である。
FIG. 16 is a diagram illustrating an example of a screen of the
図16において、符号122はサーバ2aのマウスカーソルを示し、符号123はPC11aの画面を示し、符号126は、PC11aのマウスカーソルを示す。符号124は、PC11aのマウスカーソル126の非表示を設定したウィンドウを示し、符号125は、マウスカーソルの表示を設定した他のウィンドウを示す。ウィンドウ124には、ローカル(サーバ2a)の画面が表示される。ウィンドウ124やウィンドウ125におけるマウスカーソルの表示/非表示は、PC11aのオぺレーティングシステムで設定することができる。
In FIG. 16,
まず、PC11aのマウスカーソル126とサーバ2aのマウスカーソル122との位置ズレが生じていないものとする。PC11aのマウスカーソル126が位置Aからウィンドウ124の枠上の位置Bに移動したときに、PC11aのCPU31は、位置Bの座標をHDD34に保存する。このとき、サーバ2aのマウスカーソル122は位置Bと同一の位置bにある。
First, it is assumed that there is no positional deviation between the
その後、PC11aのオペレータのマウス操作により、PC11aのマウスカーソル126は、ウィンドウ124の外部の任意の経路Cを辿り、ウィンドウ124の枠上の位置Gに到達する。このとき、位置Bの座標と位置Gの座標との差分はVBGとなる。
Thereafter, the
PC11aのCPU31は、ウィンドウ124の枠上の位置Gに到達した瞬間に、HDD34に保存された位置Bの座標と位置Gの座標の差分VBGを算出し、算出された差分をサーバ2aに出力する。これにより、サーバ2aのマウスカーソル122は位置bから位置gに移動する。位置gと位置Gは同じ位置である。
The
また、PC11aのマウスカーソル126が、ウィンドウ124の外部の任意の経路Cを辿っている最中に、サーバ2aのマウスカーソル122がローカルのマウス操作によって、軌跡xを辿って位置bから位置b’に移動していた場合は、PC11aのCPU31は、予め位置bの座標と位置b’の座標の差分Vb’bを算出し、HDD34に保存する。
In addition, while the
その後、PC11aのCPU31は、ウィンドウ124の枠上の位置Gに到達した瞬間に、HDD34に保存された位置Bの座標と位置Gの座標の差分VBGを算出し、HDD34に保存された差分Vb’bと差分VBGとを合成し、合成値Vb’Gをサーバ2aに出力する。これにより、サーバ2aのマウスカーソル122は位置b’から位置gに移動する。
After that, the
尚、PC11aのマウスカーソル126が位置Gからウィンドウ124の内部に入った後は、上述した第1〜第3の実施の形態で説明した処理が実行されるため、PC11aのマウスカーソル126とサーバ2aのマウスカーソル122の位置ズレが発生することがなくなる。
After the
図17は、PC11aのCPU31が実行する処理を示すフローチャートである。
FIG. 17 is a flowchart showing processing executed by the
まず、PC11aのCPU31は、PC11aのマウスカーソル126がウィンドウ124の外部に出たときのウィンドウ124の枠上の座標をHDD34に保存する(ステップS111)。次に、PC11aのCPU31は、ローカルのマウス操作によって、サーバ2aのマウスカーソル122の移動があるか否かを判別する(ステップS112)。
First, the
ステップS112でYESの場合には、PC11aのCPU31は、サーバ2aのマウスカーソル122の移動前の位置の座標と移動後の位置の座標との差分を算出し、当該差分をHDD34に保存する(ステップS113)。
If YES in step S112, the
次いで、PC11aのCPU31は、PC11aのマウスカーソル126が再びウィンドウ124の枠上に到達したときに、当該到達したときのウィンドウ124の枠上の座標とステップS111でHDD34に保存された座標との差分を算出し、当該差分とステップS113でHDD34に保存されたサーバ2aのマウスカーソル122の移動の差分とを合成し、合成値をサーバ2aに出力し(ステップS114)、本処理を終了する。
Next, when the
一方、ステップS112でNOの場合には、PC11aのCPU31は、PC11aのマウスカーソル126が再びウィンドウ124の枠上に到達したときに、当該到達したときのウィンドウ124の枠上の座標とHDD34に保存された座標との差分を算出し、当該差分をサーバ2aに出力し(ステップS115)、本処理を終了する。
On the other hand, if NO in step S112, when the
図18は、KVMスイッチ1のコントローラ101が実行する処理を示すフローチャートである。
FIG. 18 is a flowchart illustrating processing executed by the
まず、KVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126がウィンドウ124の外部に出たときのウィンドウ124の枠上の座標をPC11aから取得し、メモリ105に保存する(ステップS121)。次に、KVMスイッチ1のコントローラ101は、ローカルのマウス操作によって、サーバ2aのマウスカーソル122の移動があるか否かを判別する(ステップS122)。
First, the
ステップS122でYESの場合には、KVMスイッチ1のコントローラ101は、サーバ2aのマウスカーソル122の移動前の位置の座標と移動後の位置の座標との差分を算出し、当該差分をメモリ105に保存する(ステップS123)。
If YES in step S122, the
次いで、KVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126が再びウィンドウ124の枠上に到達したときに、当該到達したときのウィンドウ124の枠上の座標をPC11aから取得し、当該取得された座標とステップS121でメモリ105に保存された座標との差分を算出し、当該差分とステップS123でメモリ105に保存されたサーバ2aのマウスカーソル122の移動の差分とを合成し、合成値をサーバ2aに出力し(ステップS124)、本処理を終了する。
Next, when the
一方、ステップS122でNOの場合には、KVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126が再びウィンドウ124の枠上に到達したときに、当該到達したときのウィンドウ124の枠上の座標をPC11aから取得し、当該取得された座標とメモリ105に保存された座標との差分を算出し、当該差分をサーバ2aに出力し(ステップS125)、本処理を終了する。
On the other hand, in the case of NO in step S122, when the
図17又は図18の処理によれば、PC11aのマウスカーソル126がウィンドウ124の枠外に一旦出て、再度ウィンドウ124の枠内に戻ったときに、自動的にPC11aのマウスカーソル126とサーバ2aのマウスカーソル122の位置ズレが補正されるので、マウス14aのオペレータに対して快適なマウス操作環境を提供できる。
17 or 18, when the
本実施の形態では、サーバのマウスカーソルが表示されるウィンドウがPC11aの画面123に1つ表示されているが(ウィンドウ124参照)、例えば、PC11aの画面123が、サーバのマウスカーソルが表示されるウィンドウを複数表示する場合(即ち、複数のサーバに対する複数のウィンドウが表示される場合)には、図17又は図18の処理をウィンドウ毎に実行する。
In the present embodiment, one window on which the server mouse cursor is displayed is displayed on the
従来技術では、リモートPCのマウスカーソルが、サーバのマウスカーソルが表示されるウィンドウの枠外に出て、他のウィンドウに移るたびに、リモートPCのオペレータが手動で位置ズレ補正機能を発動させ、リモートPCのマウスカーソルとサーバのマウスカーソルの位置ズレを補正していたため、リモートPCのオペレータは煩わしさを感じていた。 In the prior art, the remote PC operator manually activates the misalignment correction function every time the mouse cursor of the remote PC goes out of the window frame where the server mouse cursor is displayed and moves to another window. Since the positional deviation between the PC mouse cursor and the server mouse cursor was corrected, the remote PC operator felt troublesome.
このような場合でも、上記図17又は図18の処理を実行することで、自動的にリモートPCのマウスカーソルとサーバのマウスカーソルの位置ズレが補正されるため、リモートPCのオペレータに煩わしさを感じさせず、快適なマウス操作環境を提供できる。 Even in such a case, by executing the processing of FIG. 17 or FIG. 18, the positional deviation between the mouse cursor of the remote PC and the mouse cursor of the server is automatically corrected. A comfortable mouse operation environment can be provided without feeling.
上記第1〜第4の実施の形態では、PC11aのマウスカーソル126を操作するためにマウス14aが使用され、サーバ2aのマウスカーソル122を操作するためにマウス14a又はマウス5が使用されるが、PC11aのマウスカーソル126又はサーバ2aのマウスカーソル122を操作するための操作部材は、マウスに限定されるものではなく、タブレットなどのマウスカーソルを移動させる機能を有する操作部材でもよい。
In the first to fourth embodiments, the mouse 14a is used to operate the
各サーバの機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、当該サーバに供給し、当該サーバのCPUが記憶媒体に格納されたプログラムを読み出し実行することによっても、上記第1〜第4の実施の形態と同様の効果を奏する。また、各遠隔端末の機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、当該遠隔端末に供給し、当該遠隔端末のCPUが記憶媒体に格納されたプログラムを読み出し実行することによっても、上記第1〜第4の実施の形態と同様の効果を奏する。さらにKVMスイッチ1の機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、当該KVMスイッチ1に供給し、当該KVMスイッチ1のコントローラ101が記憶媒体に格納されたプログラムを読み出し実行することによっても、上記第1〜第4の実施の形態と同様の効果を奏する。この場合、KVMスイッチ1は記憶媒体からプログラムを読み出す装置(CD−ROMドライブ又はDVD−ROMドライブなど)を備えている。尚、プログラムを供給するための記憶媒体としては、例えば、CD−ROM、DVD、又はSDカードなどがある。
The first medium is also provided by supplying a recording medium in which a software program for realizing the function of each server is recorded to the server, and the CPU of the server reads and executes the program stored in the storage medium. -There exists an effect similar to 4th Embodiment. In addition, a recording medium in which a software program for realizing the function of each remote terminal is recorded is supplied to the remote terminal, and the CPU of the remote terminal reads and executes the program stored in the storage medium. Has the same effect as the first to fourth embodiments. Further, a recording medium on which a software program for realizing the function of the
また、各サーバのCPUが、各サーバの機能を実現するためのソフトウェアのプログラムを実行することによっても、上記第1〜第4の実施の形態と同様の効果を奏する。また、各遠隔端末のCPUが、各遠隔端末の機能を実現するためのソフトウェアのプログラムを実行することによっても、上記第1〜第4の実施の形態と同様の効果を奏する。さらに、KVMスイッチ1のコントローラ101が、KVMスイッチ1の機能を実現するためのソフトウェアのプログラム(例えば、ドライバ)を実行することによっても、上記第1〜第4の実施の形態と同様の効果を奏する。
Further, the same effects as those of the first to fourth embodiments can be obtained by the CPU of each server executing a software program for realizing the function of each server. Further, the same effects as those of the first to fourth embodiments can be obtained by the CPU of each remote terminal executing a software program for realizing the function of each remote terminal. Further, when the
なお、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。 Note that the present invention is not limited to the above-described embodiment, and can be implemented with various modifications without departing from the scope of the invention.
1 KVMスイッチ
2a,2b サーバ
3,12a,12b モニタ
4,13a,13b キーボード
5,14a,14b マウス
21,31 CPU
22,32 ROM
23,33 RAM
24,34 ハードディスクドライブ(HDD)
26,36 ビデオインターフェース
27,37 ネットワークインターフェース
28,38 USBインターフェース
101 コントローラ
102 スイッチング回路
105 メモリ
1
22,32 ROM
23,33 RAM
24, 34 Hard Disk Drive (HDD)
26, 36
Claims (6)
前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を保存する保存手段と、
前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段と
を備えることを特徴とする情報処理装置。 The first operation member is connected to the server via the KVM switch to which the first operation member is connected, the second operation member is connected, and the cursor of the information processing apparatus that moves by the operation of the second operation member, the first operation member, An information processing apparatus for displaying a window including a cursor of the server that is moved by any operation of the second operation member,
The coordinates on the frame of the window that pass when the cursor of the information processing apparatus moves outside the window by the operation of the second operation member, and the position of the cursor of the server and the cursor of the information processing apparatus Storage means for storing coordinates that coincide with the position;
When the cursor of the information processing apparatus reaches the window from the outside of the window, the difference between the coordinates on the frame of the reached window and the stored coordinates is calculated, and the difference is output to the server An information processing apparatus comprising: a control unit.
前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分と前記保存された差分と合成し、その合成値を前記サーバに出力することを特徴とする請求項1に記載の情報処理装置。 When the cursor of the information processing apparatus is moved outside the window and the cursor of the server is moved by the operation of the first operation member, the control means is configured to adjust the coordinates of the server before the cursor is moved. And the difference between the coordinates after movement and the difference is stored in the storage means,
When the cursor of the information processing apparatus reaches the window from the outside of the window, the difference between the coordinates on the frame of the reached window and the stored coordinates is calculated, and the difference and the stored difference The information processing apparatus according to claim 1, wherein the combined value is output to the server.
前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を前記情報処理装置から取得し保存する保存手段と、
前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標を前記情報処理装置から取得し、当該取得されたウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段と
を備えることを特徴とするKVMスイッチ。 A KVM switch to which the first operation member is connected, and a cursor of the information processing apparatus that is moved by the operation of the second operation member while the second operation member is connected, the first operation member, and the second operation member; An information processing device that displays a cursor of a server that is moved by any operation, and a KVM switch that can be connected to the server,
The coordinates on the frame of the window that pass when the cursor of the information processing apparatus moves outside the window by the operation of the second operation member, and the position of the cursor of the server and the cursor of the information processing apparatus Storage means for acquiring and storing coordinates corresponding to the position from the information processing apparatus;
When the cursor of the information processing apparatus reaches the window from the outside of the window, the coordinates on the frame of the reached window are acquired from the information processing apparatus, and the coordinates on the acquired frame of the window and the coordinates of the acquired window A KVM switch comprising: control means for calculating a difference from the stored coordinates and outputting the difference to the server.
前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標を前記情報処理装置から取得し、当該取得されたウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分と前記保存された差分と合成し、その合成値を前記サーバに出力することを特徴とする請求項3に記載のKVMスイッチ。 When the cursor of the information processing apparatus is moved outside the window and the cursor of the server is moved by the operation of the first operation member, the control means is configured to adjust the coordinates of the server before the cursor is moved. And the difference between the coordinates after movement and the difference is stored in the storage means,
When the cursor of the information processing apparatus reaches the window from the outside of the window, the coordinates on the frame of the reached window are acquired from the information processing apparatus, and the coordinates on the acquired frame of the window and the coordinates of the acquired window 4. The KVM switch according to claim 3, wherein the difference between the stored coordinates is calculated, the difference is combined with the stored difference, and the combined value is output to the server.
前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を保存する保存手段、及び
前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段
として機能させることを特徴とする制御プログラム。 The first operation member is connected to the server via the KVM switch to which the first operation member is connected, the second operation member is connected, and the cursor of the information processing apparatus that moves by the operation of the second operation member, the first operation member, An information processing apparatus for displaying a window including a cursor of the server that is moved by any operation of the second operation member;
The coordinates on the frame of the window that pass when the cursor of the information processing apparatus moves outside the window by the operation of the second operation member, and the position of the cursor of the server and the cursor of the information processing apparatus Storage means for storing coordinates that coincide with the position; and when the cursor of the information processing apparatus reaches the window from outside the window, the coordinates on the frame of the reached window and the stored coordinates A control program for calculating a difference and functioning as control means for outputting the difference to the server.
前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を前記情報処理装置から取得し保存する保存手段、及び
前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標を前記情報処理装置から取得し、当該取得されたウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段
として機能させることを特徴とする制御プログラム。 A KVM switch to which the first operation member is connected, and a cursor of the information processing apparatus that is moved by the operation of the second operation member while the second operation member is connected, the first operation member, and the second operation member; An information processing device that displays a cursor of a server that is moved by any operation, and a KVM switch that can be connected to the server,
The coordinates on the frame of the window that pass when the cursor of the information processing apparatus moves outside the window by the operation of the second operation member, and the position of the cursor of the server and the cursor of the information processing apparatus A storage unit that acquires and stores coordinates that coincide with a position from the information processing apparatus; and when a cursor of the information processing apparatus reaches the window from outside the window, coordinates on the frame of the reached window are obtained. Control that is obtained from the information processing apparatus, calculates a difference between coordinates on the acquired window frame and the stored coordinates, and functions as a control unit that outputs the difference to the server program.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012116921A JP5197868B2 (en) | 2012-05-22 | 2012-05-22 | Information processing apparatus, KVM switch, and control program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012116921A JP5197868B2 (en) | 2012-05-22 | 2012-05-22 | Information processing apparatus, KVM switch, and control program |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007222925A Division JP5127366B2 (en) | 2007-08-29 | 2007-08-29 | Information processing apparatus, KVM switch, server, and control program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012155770A true JP2012155770A (en) | 2012-08-16 |
JP5197868B2 JP5197868B2 (en) | 2013-05-15 |
Family
ID=46837357
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012116921A Active JP5197868B2 (en) | 2012-05-22 | 2012-05-22 | Information processing apparatus, KVM switch, and control program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5197868B2 (en) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002525750A (en) * | 1998-09-22 | 2002-08-13 | サイベックス コンピュータ プロダクツ コーポレーション | System for remote access to personal computer |
JP2004295304A (en) * | 2003-03-26 | 2004-10-21 | Fujitsu Component Ltd | Switching device, image transmiiion device, image transmission method, image display method, image transmission program and image display program |
JP2004334903A (en) * | 2004-06-07 | 2004-11-25 | Fujitsu Ltd | Other terminal operating device |
WO2006112873A2 (en) * | 2005-04-12 | 2006-10-26 | Belkin Corporation | Apparatus and system for managing multiple computers |
-
2012
- 2012-05-22 JP JP2012116921A patent/JP5197868B2/en active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2002525750A (en) * | 1998-09-22 | 2002-08-13 | サイベックス コンピュータ プロダクツ コーポレーション | System for remote access to personal computer |
JP2004295304A (en) * | 2003-03-26 | 2004-10-21 | Fujitsu Component Ltd | Switching device, image transmiiion device, image transmission method, image display method, image transmission program and image display program |
JP2004334903A (en) * | 2004-06-07 | 2004-11-25 | Fujitsu Ltd | Other terminal operating device |
WO2006112873A2 (en) * | 2005-04-12 | 2006-10-26 | Belkin Corporation | Apparatus and system for managing multiple computers |
Also Published As
Publication number | Publication date |
---|---|
JP5197868B2 (en) | 2013-05-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5127366B2 (en) | Information processing apparatus, KVM switch, server, and control program | |
US20130106700A1 (en) | Electronic apparatus and input method | |
US9544524B2 (en) | Remote controller, remote control system and program | |
US20120299846A1 (en) | Electronic apparatus and operation support method | |
KR20080068781A (en) | Electronic device with touch screen and method of displaying information using same | |
JP2014164368A (en) | Input support device, keyboard, information processing terminal, input support method, and program | |
KR20180052439A (en) | Set-top box | |
JP5274688B2 (en) | Information processing apparatus, KVM switch, and control program | |
JP2014085818A (en) | Program, information processing device, information processing method, and information processing system | |
JP5197868B2 (en) | Information processing apparatus, KVM switch, and control program | |
JP5907163B2 (en) | Data relevance level determination device, data relevance level determination method, and program | |
KR101447969B1 (en) | Input device of terminal including multi monitor | |
JP6624767B1 (en) | Information processing system and information processing method | |
JPWO2014024281A1 (en) | Electronic device, display control method and program | |
US9141443B2 (en) | Method and system for integrating visual controls with legacy applications | |
JP2011028530A (en) | Server device and coordinate correction program | |
EP4252871A1 (en) | System, imaging device, information processing device, information processing method, and information processing program | |
CN113938756B (en) | Display interface sharing processing method and system | |
JP2021034006A (en) | Information processing system and information processing method | |
JP2021033996A (en) | Information processing system and information processing method | |
CN110580104A (en) | Cursor movement auxiliary system and method | |
JP2010192978A (en) | Video system and method for changing set menu | |
KR20120016886A (en) | Display device apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20120523 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20130131 |
|
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: 20130205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130205 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160215 Year of fee payment: 3 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5197868 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
S531 | Written request for registration of change of domicile |
Free format text: JAPANESE INTERMEDIATE CODE: R313531 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |