JP2009054114A - 情報処理装置、kvmスイッチ、サーバ及び制御プログラム - Google Patents

情報処理装置、kvmスイッチ、サーバ及び制御プログラム Download PDF

Info

Publication number
JP2009054114A
JP2009054114A JP2007222925A JP2007222925A JP2009054114A JP 2009054114 A JP2009054114 A JP 2009054114A JP 2007222925 A JP2007222925 A JP 2007222925A JP 2007222925 A JP2007222925 A JP 2007222925A JP 2009054114 A JP2009054114 A JP 2009054114A
Authority
JP
Japan
Prior art keywords
cursor
server
information processing
processing apparatus
movement
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
Application number
JP2007222925A
Other languages
English (en)
Other versions
JP5127366B2 (ja
Inventor
Naoyuki Nagao
尚幸 長尾
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Component Ltd
Original Assignee
Fujitsu Component Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Component Ltd filed Critical Fujitsu Component Ltd
Priority to JP2007222925A priority Critical patent/JP5127366B2/ja
Priority to US12/222,730 priority patent/US8706922B2/en
Priority to EP08163219.2A priority patent/EP2031487B1/en
Priority to EP08163221.8A priority patent/EP2031489B1/en
Priority to EP08163220.0A priority patent/EP2031488B1/en
Priority to KR1020080084465A priority patent/KR100995461B1/ko
Priority to CN2010102366279A priority patent/CN101893941B/zh
Priority to CN2010102366283A priority patent/CN101887317B/zh
Priority to CN2008102124569A priority patent/CN101377724B/zh
Publication of JP2009054114A publication Critical patent/JP2009054114A/ja
Application granted granted Critical
Publication of JP5127366B2 publication Critical patent/JP5127366B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/02Input arrangements using manually operated switches, e.g. using keyboards or dials
    • G06F3/023Arrangements for converting discrete items of information into a coded form, e.g. arrangements for interpreting keyboard generated codes as alphanumeric codes, operand codes or instruction codes
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/033Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
    • G06F3/038Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Software Systems (AREA)
  • Computer Hardware Design (AREA)
  • User Interface Of Digital Computer (AREA)
  • Digital Computer Display Output (AREA)
  • Position Input By Displaying (AREA)

Abstract

【課題】情報処理装置のオペレータに対して快適な操作部材の操作環境を提供することが可能な情報処理装置、KVMスイッチ、サーバ及び制御プログラムを提供する。
【解決手段】PC11aは、マウス14aからマウスデータを入力する。そして、PC11aは、マウスデータと、当該マウスデータに従って移動する、情報処理装置の画面に表示される情報処理装置のカーソルの移動量と、この情報処理装置のカーソルの移動に従って移動する、情報処理装置の画面内に設けられたウィンドウに表示されるサーバのカーソルの移動量との対応関係及び上記入力されたマウスデータに基づいて、情報処理装置のカーソルの移動量とサーバのカーソルの移動量とが一致するような単一又は複数のマウスデータを検出し、検出された単一又は複数のマウスデータをサーバ2aに出力する。
【選択図】図1

Description

本発明は、情報処理装置のマウスカーソルの位置とサーバのマウスカーソルの位置とを一致させる情報処理装置、KVMスイッチ、サーバ及び制御プログラムに関する。
コンピュータを遠隔操作する手段は、これまで様々な技術が開発されてきた。遠隔操作する上では、操作される側(サーバ)と操作する側(リモートPC)の二つのコンピュータが必要である。
遠隔操作の技術として、例えば、手元にある端末のディスプレイ上に表示した画面の操作性・視認性を損ねることなく、遠隔地の端末の画面情報と手元の端末の情報の両方を表示するシステム(例えば、特許文献1参照)、リモコン送信器と撮像手段との距離が異なっても、リモコン送信器の移動量に対するカーソル移動量が一定となるカーソル制御装置(例えば、特許文献2参照)、携帯電話端末から遠隔地にあるパソコンへ接続し、携帯電話端末からコンピュータを遠隔操作するシステム(例えば、特許文献2参照)などが知られている。
また、サーバには遠隔操作用ソフトウェアをインストールせず、サーバとリモートPCとの接続経路の間に変換器を配置して、その変換器が、サーバに接続されるキーボードやマウスを代行する技術が知られている(例えば、特許文献4参照)。
特許文献4の技術では、リモートPCに接続されているキーボード及びマウスが出力する信号がディジタルデータに変換され、変換されたデータが回線上に転送され、サーバでディジタルデータを受け取って信号に戻し、その信号を入力することで、サーバはキーボード及びマウスが直接接続されているように動作する。さらには、サーバが出力するビデオ信号がディジタルデータに変換され、変換されたデータが回線上に転送され、リモートPCがディジタルデータを受け取って信号に戻し、その信号を入力することで、リモートPC側に設置されたモニタがサーバに接続されたモニタであるように動作する。
これら技術を流用した別の技術としては、例えば、特許文献5のKVMスイッチを有するシステムが知られている。
この特許文献5のシステムは、特許文献4の基本概念を持ち、リモートPCが有するウィンドウシステムにおいて、一つのウィンドウを表示手段とし、そのウィンドウをキーボード・マウスのデータの入力経路としている。即ち、リモートPCのウィンドウ内で実行したキーボードやマウスの操作が、サーバに反映される。
特開2007−65944号公報 特開平6−75695号公報 特開2006−197299号公報 特許2698685号 特表2003−534685号公報
(課題1)
上記特許文献5の技術では、リモートPCが有するウィンドウは、例えば、図19のように表示される。この場合、リモートPCのウィンドウ自体を操作するためのリモートのマウスカーソルと、そのウィンドウ内部に表示されるサーバのマウスカーソルとの、2つのマウスカーソルが存在することになるが、このとき、リモートPCが表示するリモートのマウスカーソルの位置とリモートPCが表示するサーバのマウスカーソルの位置が一致しない場合がある。これをカーソルの位置ズレと称して、位置ズレ補正機能を使ってズレないように修正・対処する方法が知られているが、これには次の問題がある。
一般的に、ウィンドウシステムにおいては、マウスカーソルの加速処理があり、サーバは、マウスから出力されるデータに加速係数を乗じて、当該マウスデータを大きくしたり小さくしたりする。従って、リモートPCで操作したマウスデータをそのままサーバに伝達する場合、サーバは、リモートPCからのマウスデータに加速係数を乗じて、マウスデータを大きくしたり小さくしたりする。そのため、リモートPCが表示するリモートのマウスカーソルとリモートPCが表示するサーバのマウスカーソルは、なかなか重なり合うことがない。このとき、リモートPCのオペレータは、二つの異なる動きをするカーソルに戸惑ってしまい、正確なマウス操作を阻まれ、ストレスを感じてしまう。
そのため、従来は、操作性を犠牲にして、この加速処理を無効にすることが基本であった。
また、リモートPCが実行する位置ズレ補正機能を正常に実行させるためにも、この加速処理を禁止する必要がある。位置ズレ補正機能とは、サーバとリモートPCのマウスカーソルの位置ズレが起きている場合に、その位置ズレ量が無くなるように、リモートPCからサーバへマウスデータを追加で出力することで、サーバのマウスカーソルの位置をリモートPCのマウスカーソルの位置に強制的に移動させる手段である。このとき、リモートPCからサーバへ追加出力されるマウスデータが、加速処理を開始するか否かの基準値、すなわち閾値を超えることが多いため、サーバで加速処理が有効であれば、サーバのマウスカーソルの移動量は、本来移動させたいズレ量を超えて移動することになり、位置ズレ補正機能は正常に実行されない。
このように、従来は、サーバの実行する加速処理を無効にしなければ、サーバのマウスカーソルとリモートPCのマウスカーソルの位置ズレを補正できず、リモートPCのマウスのオペレータに対して快適なマウス操作環境を提供できなかった。
尚、位置ズレ補正機能が有効であるためには、サーバの加速処理を無効にする必要があることを説明したが、ウィンドウシステムまたはオペレーティングシステムによっては、この加速処理を容易に無効にできないものがある。これはUNIX(登録商標)系OSで用いられるX-windowシステムが代表的である。加速処理を容易に無効にできる代表例は、Microsoft社のWindows(登録商標)が挙げられる。
(課題2)
また、リモートPCのオペレータに戸惑いを与えないようにするため、リモートPC内のサーバのマウスカーソルを表示するウィンドウ内では、リモートPCのリモートのマウスカーソルを表示せず、リモートPCのマウスを操作しても、サーバのマウスカーソルの動きだけが表示されるようにリモートPCを制御する技術がある。しかしながら、この技術でも下記の問題が生じる。
一般的に、ウィンドウシステムにおいては、マウスカーソルは当該マウスカーソルの直下にあるウィンドウを操作するように構成されており、また、マウスカーソルの表示・非表示の権限は、マウスカーソルの直下にあるウィンドウに与えられている。従って、リモートPCのマウスカーソルを非表示にできるのは、そのマウスカーソルが、マウスカーソルの非表示を設定したウィンドウの直上にあるときだけである。
つまり、そのマウスカーソルがウィンドウの枠内を超えた瞬間、他のウィンドウの操作を行うものとして、リモートPCのマウスカーソルは再び表示される。さらに、再びマウスカーソルが、マウスカーソルの非表示を設定したウィンドウの直上にきたら、リモートPCのマウスカーソルは表示されなくなる。
ここで、問題の根本原因となる、マウスから出力されるデータ(即ちマウスデータ)の持つ意味を説明しておく。マウスが発明されてから現在に至るまで、マウスが出力するデータ(マウスデータ)は相対座標である。相対座標とは、移動量とも呼ばれる。これは、X−Y座標においてX軸方向にN移動し、Y軸方向にM移動した、と表現しうるものである。このNとMのオリジナルの値はマウスが算出しているが、その算出方法については公知の技術である。
ウィンドウの枠内を超えて、一旦表示されるようになったリモートPCのマウスカーソルが、再び、マウスカーソルの非表示を設定したウィンドウの直上に移動した瞬間、そのマウスカーソルは非表示になる。このとき、上述した相対座標の処理の都合から、次の問題が発生する。これを、図20を用いて説明する。
図20は、従来のリモートPCの画面の一例を示す図である。
同図において、符号201は、マウスカーソルの非表示を設定したウィンドウを示し、符号202は、マウスカーソルの表示を設定した他のウィンドウを示し、符号203はリモートPCの画面を示す。符号204はサーバのマウスカーソルを示し、符号205はリモートPCのマウスカーソルを示す。ウィンドウ201には、サーバの画面が表示される。
サーバのマウスカーソル204は、初期状態で位置aにあるものとし、リモートPCのマウスカーソル205は、初期状態で位置Aにあるものとする。
サーバのマウスカーソル204は、リモートPCのマウスカーソル205の動きに合わせて移動する。このとき、ウィンドウ201の直上にリモートPCのマウスカーソルがあるときは、リモートPCのマウスカーソルは非表示である。つまり、リモートPCのマウスカーソル205が位置A、F、Gにあるときには、非表示となる。
次に、リモートPCのマウスカーソル205が位置Aから位置Bに移動すると、これと連動して、サーバのマウスカーソル204は、位置aから位置bに移動する。位置Bはウィンドウ201の枠の境目であり、リモートPCのマウスカーソル205が位置Bを超えた瞬間に、リモートPCのマウスカーソル205は表示される。
次いで、リモートPCのマウスカーソル205が位置Bから位置Cまで移動し、更に位置Dまで移動しても、サーバのマウスカーソル204は位置bから移動しない。リモートPCのマウスカーソル205が位置Dを超えて位置Fまで移動すると、PCのマウスカーソル205は非表示となり、サーバのマウスカーソル204は、位置bから位置fに移動する。
一方、リモートPCのマウスカーソル205が位置Bから位置Cまで移動し、更に位置Eまで移動しても、サーバのマウスカーソル204は位置bから移動しない。リモートPCのマウスカーソル205が位置Eを超えて位置Gまで移動すると、PCのマウスカーソル205は非表示となり、サーバのマウスカーソル204は、位置bから位置gに移動する。
この後、サーバのマウスカーソル204を位置gから位置hに移動させると、非表示のリモートPCのマウスカーソル205を位置Gから位置Hに移動させることができるが、サーバのマウスカーソル204を位置fから位置hに移動させると、サーバのマウスカーソル204は位置hに到達する前に、リモートPCのマウスカーソル205がウィンドウ201の枠を超えてしまい、マウスカーソル204を位置fから位置hまで移動させることが不可能になる。
このように、サーバのマウスカーソル204が表示されるウィンドウで、リモートPCのマウスカーソル205を非表示に設定しても、サーバのマウスカーソル204とリモートPCのマウスカーソル205の位置ズレにより、リモートPCのマウスのオペレータに対して快適なマウス操作環境を提供できなかった。
(課題3)
さらに、課題2と同様の問題が生じるケースを説明する。
サーバの画面をリモートPCから操作するとき、一人のオペレータが操作するとは限らない。即ち、サーバの画面は、リモートPCの他に、ローカルでも操作する場合がある。ローカルとは、サーバに直接、キーボード、マウス及びモニタを接続し、サーバの画面を操作する環境である。
図21(A)は、従来のローカルの画面の一例を示す図であり、図21(B)は、従来のリモートの画面の一例を示す図である。
同図において、符号201は、マウスカーソルの非表示を設定したウィンドウを示し、符号202は、マウスカーソルの表示を設定した他のウィンドウを示し、符号203はリモートPCの画面を示す。符号204はサーバのマウスカーソルを示し、符号205はリモートPCのマウスカーソルを示す。符号206はローカルの画面(即ち、サーバの画面)を示す。ウィンドウ201には、サーバの画面が表示される。
ここでは、サーバの画面をまず、ローカル側で操作するものとし、サーバのマウスカーソル204を位置aから位置b又は位置cに移動させ、次いで、リモートPCのマウスカーソル205を操作する例を説明する。
サーバのマウスカーソル204を位置aから位置cまで移動させた後、リモートPCのマウスカーソル205の操作によって、サーバのマウスカーソル204を位置cから位置dまで移動させる場合、リモートPCのオペレータは、その時点でリモートPCのマウスカーソル205が何処にあるか分からない。例えば、リモートPCのマウスカーソル205が位置A、位置B又は位置Cのいずれかにあるとすると、リモートPCのオペレータは、リモートPCのマウスカーソル205をVcdの方向に動かす必要がある。この例では、リモートPCのマウスカーソル205が位置A、位置B又は位置Cのいずれにあっても、問題なく、サーバのマウスカーソル204を位置dに移動させることが可能であることを示している。
サーバのマウスカーソル204を位置aから位置cまで移動させた後、リモートPCのマウスカーソル205の操作によって、サーバのマウスカーソル204を位置cから位置dまで移動させる場合、リモートPCのマウスカーソル205が位置Aにあるならば、問題は生じない。しかし、リモートPCのマウスカーソル205が位置B又は位置Cにある場合には、サーバのマウスカーソル204が位置dに移動させる前に、リモートPCのマウスカーソル205がウィンドウ201の枠を超えてしまうため、サーバのマウスカーソル204を位置dに移動させることはできない。
このように、リモート側及びローカル側で交互にサーバのマウスカーソル204を移動させる場合も、サーバのマウスカーソル204とリモートPCのマウスカーソル205の位置ズレにより、快適なマウス操作環境を提供できなかった。
(課題4)
次に、リモートPCのマウスカーソル205がウインドウ201の内部から外部に一旦出て、再度ウインドウ201の外部から内部に入る場合の問題点を、図22を用いて説明する。
図22は、従来のリモートPCの画面の一例を示す図である。
同図において、符号201は、マウスカーソルの非表示を設定したウィンドウを示し、符号202は、マウスカーソルの表示を設定した他のウィンドウを示し、符号203はリモートPCの画面を示す。符号204はサーバのマウスカーソルを示し、符号205はリモートPCのマウスカーソルを示す。
初期状態では、サーバのマウスカーソル204は位置aにあり、リモートPCのマウスカーソル205は、位置Aにあり、同一の位置にあるものとする。リモートPCのマウスカーソル205を位置Aから位置B’まで移動させると、サーバのマウスカーソル204は位置aから位置bまで移動する。位置B'と位置bは同じ位置になる。
次いで、リモートPCのマウスカーソル205がウィンドウ201の枠を超えると、サーバのマウスカーソル204は位置bから移動しないで留まっている。
リモートPCのマウスカーソル205が経路Cを辿って位置Bから位置Gまで移動し、ウィンドウ201の枠を超えて位置Hに到達し、位置Iまで移動すると、サーバのマウスカーソル204は位置bから位置i’まで移動する。
ここで、リモートPCのオペレータは、手動で位置ズレ補正機能をオンにし、サーバのマウスカーソル204の位置i’を位置iに強制移動させると、リモートPCのマウスカーソル205とサーバのマウスカーソル204には位置ズレが無くなり、正しく操作できる。
このように、リモートPCのマウスカーソル205がウインドウ201の内部から外部に一旦出て、再度ウインドウ201の外部から内部に入る場合には、位置ズレ補正機能を実行しない限り、サーバのマウスカーソル204とリモートPCのマウスカーソル205の位置ズレにより、リモートPCのマウスのオペレータに対して快適なマウス操作環境を提供できなかった。
本発明は、上記課題に鑑みなされたもので、その目的は、情報処理装置のオペレータに対して快適な操作部材の操作環境を提供することが可能な情報処理装置、KVMスイッチ、サーバ及び制御プログラムを提供することにある。
上記目的を達成するため、本発明の情報処理装置は、操作部材から操作データを入力する入力手段と、前記操作データと、当該操作データに従って移動する、情報処理装置の画面に表示される当該情報処理装置のカーソルの移動量と、当該情報処理装置のカーソルの移動に従って移動する、前記情報処理装置の画面内に設けられたウィンドウに表示されるサーバのカーソルの移動量との対応関係及び前記入力手段により入力された操作データに基づいて、前記情報処理装置のカーソルの移動量と前記サーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出する検出手段と、前記検出手段で検出された単一又は複数の操作データをサーバに出力する出力手段とを備えることを特徴とする。
かかる構成によれば、情報処理装置のカーソルとサーバのカーソルの位置ズレが発生することがなく、情報処理装置のオペレータに対して快適な操作部材の操作環境を提供できる。尚、入力手段の一例は、図2(B)のUSBインターフェース38であり、検出手段の一例は、図5(A)、図6及び図8(A),(B)の処理を実行するCPU31であり、出力手段の一例は、図2(B)のネットワークインターフェース37である。
好ましくは、前記検出手段は、前記操作データに従って移動する、前記情報処理装置のカーソルの移動量を算出する第1算出手段と、前記サーバのカーソルの画像を抽出する抽出手段と、前記操作データに従って移動する前記抽出されたサーバのカーソルの画像の移動後の位置を検出する位置検出手段と、前記抽出されたサーバのカーソルの画像の移動前の位置と前記検出されたサーバのカーソルの画像の移動後の位置とに基づいて、前記サーバのカーソルの移動量を算出する第2算出手段と、前記操作データと、前記第1算出手段により算出された情報処理装置のカーソルの移動量と、前記第2算出手段により算出されたサーバのカーソルの移動量との対応関係を示す第1テーブルデータを作成する第1作成手段とを備えることを特徴とする。
かかる構成によれば、第1テーブルデータに基づいて、情報処理装置のカーソルの移動量とサーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出することができる。尚、第1算出手段の一例は、図6のステップS13の処理を実行するCPU31であり、抽出手段の一例は、図6のステップS11の処理を実行するCPU31であり、位置検出手段の一例は、図6のステップS14の処理を実行するCPU31であり、第2算出手段の一例は、図6のステップS15の処理を実行するCPU31であり、第1作成手段の一例は、図6のステップS16の処理を実行するCPU31である。第1テーブルデータの一例は図7(A)又は図7(B)のテーブルデータである。
より好ましくは、情報処理装置は、前記第1テーブルデータに基づいて、前記第1算出手段により算出された情報処理装置のカーソルの移動量と、前記第2算出手段により算出されたサーバのカーソルの移動量と、当該情報処理装置のカーソルの移動量と当該サーバのカーソルの移動量とが一致するような単一又は複数の操作データとの対応関係を示す第2テーブルデータを作成する第2作成手段をさらに備えていることを特徴とする。
かかる構成によれば、第2テーブルデータを利用することで、情報処理装置のカーソルの移動量とサーバのカーソルの移動量とが一致するような単一又は複数の操作データを素早くサーバに出力することができる。尚、第2作成手段の一例は、図7(C)のテーブルデータを作成するCPU31である。
好ましくは、前記検出手段は、前記操作データに従って移動する、前記情報処理装置のカーソルの移動量を算出する第3算出手段と、オペレータの操作により前記サーバのカーソルの移動後の座標を検出する座標検出手段と、前記座標検出手段により検出される前回の座標と今回の座標とに基づいて、前記サーバのカーソルの移動量を算出する第4算出手段と、前記操作データと、前記第3算出手段により算出された情報処理装置のカーソルの移動量と、前記第4算出手段により算出されたサーバのカーソルの移動量との対応関係を示す第1テーブルデータを作成する第3作成手段とを備えることを特徴とする。
かかる構成によれば、第1テーブルデータに基づいて、情報処理装置のカーソルの移動量とサーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出することができる。尚、第3算出手段の一例は、図11のステップS62の処理を実行するCPU31であり、座標検出手段の一例は、図11のステップS63の処理を実行するCPU31であり、第4算出手段の一例は、図11のステップS64の処理を実行するCPU31であり、第3作成手段の一例は、図11のステップS65の処理を実行するCPU31である。第1テーブルデータの一例は図7(A)又は図7(B)のテーブルデータである。
より好ましくは、情報処理装置は、前記第1テーブルデータに基づいて、前記第3算出手段により算出された情報処理装置のカーソルの移動量と、前記第4算出手段により算出されたサーバのカーソルの移動量と、当該情報処理装置のカーソルの移動量と当該サーバのカーソルの移動量とが一致するような単一又は複数の操作データとの対応関係を示す第2テーブルデータを作成する第4作成手段をさらに備えることを特徴とする。
かかる構成によれば、第2テーブルデータを利用することで、情報処理装置のカーソルの移動量とサーバのカーソルの移動量とが一致するような単一又は複数の操作データを素早くサーバに出力することができる。尚、第4作成手段の一例は、図7(C)のテーブルデータを作成するCPU31である。
さらに好ましくは、情報処理装置は、前記第1テーブルデータ又は前記第2テーブルデータを前記KVMスイッチ又は前記サーバから受信する受信手段を備えていることを特徴とする。
かかる構成によれば、KVMスイッチ又はサーバから受信する第1テーブルデータ又は第2テーブルデータを利用することができる。尚、受信手段の一例は、ネットワークインターフェース37である。
さらに好ましくは、情報処理装置は、前記第1テーブルデータ又は前記第2テーブルデータを前記KVMスイッチ又は前記サーバに送信する送信手段を備えていることを特徴とする。
かかる構成によれば、KVMスイッチ又はサーバに第1テーブルデータ又は第2テーブルデータを送信することができる。尚、送信手段の一例は、ネットワークインターフェース37である。
好ましくは、情報処理装置は、前記情報処理装置のカーソルの移動範囲を、前記サーバのカーソルが表示される、前記情報処理装置の画面内に設けられたウィンドウ内に制限する制限手段をさらに備えることを特徴とする。
かかる構成によれば、サーバのカーソルが表示される情報処理装置の画面内に設けられたウィンドウ内において、情報処理装置のカーソルとサーバのカーソルの位置ズレが発生することがなく、情報処理装置のオペレータに対して快適な操作部材の操作環境を提供できる。尚、制限手段の一例は、図12(A)のステップS72の処理を実行するCPU31である。
より好ましくは、情報処理装置は、前記情報処理装置のカーソルの移動範囲の制限を有効にするか又は無効にするかを選択する選択手段をさらに備えることを特徴とする。
かかる構成によれば、情報処理装置のオペレータは、情報処理装置のカーソルの移動範囲の制限を有効にするか又は無効にするかを選択することができる。尚、選択手段の一例は、図12(A)のステップS71の処理を実行するCPU31、及びキーボード13aのファンクションキー又はメニュー表示である。
上記目的を達成するため、本発明の情報処理装置は、第1操作部材が接続されるKVMスイッチを介してサーバに接続されると共に、第2操作部材が接続され、前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動する前記サーバのカーソルとを表示する情報処理装置であって、前記第2操作部材の操作から前記第1操作部材の操作に切り替わった時点の前記情報処理装置のカーソルの位置を保存する保存手段と、前記第1操作部材の操作中に、前記KVMスイッチから前記サーバに出力されたデータの累積値を取得する取得手段と、前記第1操作部材の操作から前記第2操作部材の操作に切り替え後、前記第2操作部材が操作されると、前記保存された情報処理装置のカーソルの位置及び前記取得された累積値に基づいて、現在のサーバのカーソルの位置を算出し、当該現在のサーバのカーソルの位置と現在の情報処理装置のカーソルの位置との差分を算出し、当該算出された差分と前記第2操作部材の操作による情報処理装置のカーソルの移動量との合算値を前記サーバに出力する制御手段とを備えることを特徴とする。
かかる構成によれば、サーバのカーソルがKVMスイッチに接続される第1操作部材で移動された場合でも、第1操作部材の操作から第2操作部材の操作に切り替え後、第2操作部材が操作されたときに、情報処理装置のカーソルとサーバのカーソルの位置ズレが補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。尚、保存手段の一例は、図14(A)のステップS81の処理を実行するCPU31及びHDD34であり、取得手段の一例は、図14(A)のステップS83の処理を実行するCPU31及びネットワークインターフェース37であり、制御手段の一例は、図14(A)のステップS84〜S87の処理を実行するCPU31である。
好ましくは、前記保存手段は、前記情報処理装置のカーソルの移動量と、前記サーバのカーソルの移動量と、当該情報処理装置のカーソルの移動量と当該サーバのカーソルの移動量とが一致するような、前記第2操作部材から出力される単一又は複数の操作データとの対応関係を示すテーブルデータを有し、前記制御手段は、前記テーブルデータに基づいて前記合算値に対応する単一又は複数の操作データを前記サーバに出力することを特徴とする。
かかる構成によれば、情報処理装置及びサーバにおいて、いわゆるカーソルの加速処理が行われる場合でも、第1操作部材の操作から第2操作部材の操作に切り替え後、第2操作部材が操作されたときに、情報処理装置のカーソルとサーバのカーソルの位置ズレが補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。尚、テーブルデータの一例は、図7(C)のテーブルデータである。
好ましくは、前記KVMスイッチから前記サーバに出力されたデータの累積値は、前記サーバのカーソルの画像を抽出し、前記第1操作部材の操作より移動する前記抽出されたサーバのカーソルの画像の移動後の位置を検出し、前記抽出されたサーバのカーソルの画像の移動前の位置と前記検出されたサーバのカーソルの画像の移動後の位置とに基づいて、前記サーバのカーソルの移動量を算出することにより求められる算出値であることを特徴とする。
かかる構成によれば、情報処理装置で表示されるサーバのカーソルの画像から、KVMスイッチからサーバに出力されたデータの累積値を取得することができる。
上記目的を達成するため、本発明の情報処理装置は、第1操作部材が接続されるKVMスイッチを介してサーバに接続されると共に、第2操作部材が接続され、前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動する前記サーバのカーソルとを含むウィンドウを表示する情報処理装置であって、前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を保存する保存手段と、前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段とを備えることを特徴とする。
かかる構成によれば、第2操作部材の操作により情報処理装置のカーソルがウィンドウの外部に移動し、外部からウィンドウに到達した場合でも、情報処理装置のカーソルとサーバのカーソルの位置ズレを補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。尚、保存手段の一例は、図17のステップS111の処理を実行するCPU31及びHDD34であり、制御手段の一例は、図17のステップS115の処理を実行するCPU31である。
好ましくは、前記制御手段は、前記情報処理装置のカーソルが前記ウィンドウの外部の移動中に、前記第1操作部材の操作により前記サーバのカーソルが移動された場合には、前記サーバのカーソルの移動前の座標と移動後の座標との差分を算出し、当該差分を前記保存手段に保存し、前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分と前記保存された差分と合成し、その合成値を前記サーバに出力することを特徴とする。
かかる構成によれば、情報処理装置のカーソルがウィンドウの外部の移動中に、第1操作部材の操作によりサーバのカーソルが移動された場合でも、情報処理装置のカーソルとサーバのカーソルの位置ズレを補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。上記制御手段の実行内容は、図17のステップS113,S114の処理に対応する。
上記目的を達成するため、本発明のKVMスイッチは、操作部材が接続された情報処理装置とサーバとの間に接続されるKVMスイッチであって、前記情報処理装置のカーソルの移動量を示すデータを入力する入力手段と、前記操作部材から出力される操作データと、当該操作データに従って移動する、前記情報処理装置の画面に表示される当該情報処理装置のカーソルの移動量と、当該情報処理装置のカーソルの移動に従って移動する、前記情報処理装置の画面に表示されるサーバのカーソルの移動量との対応関係及び前記入力手段により入力されたデータが示す情報処理装置のカーソルの移動量に基づいて、前記情報処理装置のカーソルの移動量と前記サーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出する検出手段と、前記検出手段で検出された単一又は複数の操作データをサーバに出力する出力手段とを備えていることを特徴とする。
かかる構成によれば、情報処理装置のカーソルとサーバのカーソルの位置ズレが発生することがなく、情報処理装置のオペレータに対して快適な操作部材の操作環境を提供できる。尚、入力手段の一例は、図3のネットワークI/F104a,104bであり、検出手段の一例は、図5(B)、図6及び図8(A),(B)の処理を実行するコントローラ101であり、出力手段の一例は、図3のI/F103a,103bである。
好ましくは、前記検出手段は、前記操作データに従って移動する、前記情報処理装置のカーソルの移動量を算出する第1算出手段と、前記サーバのカーソルの画像を抽出する抽出手段と、前記操作データに従って移動する前記抽出されたサーバのカーソルの画像の移動後の位置を検出する位置検出手段と、前記抽出されたサーバのカーソルの画像の移動前の位置と前記検出されたサーバのカーソルの画像の移動後の位置とに基づいて、前記サーバのカーソルの移動量を算出する第2算出手段と、前記操作データと、前記第1算出手段により算出された情報処理装置のカーソルの移動量と、前記第2算出手段により算出されたサーバのカーソルの移動量との対応関係を示す第1テーブルデータを作成する第1作成手段とを備えることを特徴とする。
かかる構成によれば、第1テーブルデータに基づいて、情報処理装置のカーソルの移動量とサーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出することができる。尚、第1算出手段の一例は、図6のステップS13の処理を実行するコントローラ101であり、抽出手段の一例は、図6のステップS11の処理を実行するコントローラ101であり、位置検出手段の一例は、図6のステップS14の処理を実行するコントローラ101であり、第2算出手段の一例は、図6のステップS15の処理を実行するコントローラ101であり、第1作成手段の一例は、図6のステップS16の処理を実行するコントローラ101である。第1テーブルデータの一例は図7(A)又は図7(B)のテーブルデータである。
より好ましくは、KVMスイッチは、前記第1テーブルデータに基づいて、前記第1算出手段により算出された情報処理装置のカーソルの移動量と、前記第2算出手段により算出されたサーバのカーソルの移動量と、当該情報処理装置のカーソルの移動量と当該サーバのカーソルの移動量とが一致するような単一又は複数の操作データとの対応関係を示す第2テーブルデータを作成する第2作成手段をさらに備えることを特徴とする。
かかる構成によれば、第2テーブルデータを利用することで、情報処理装置のカーソルの移動量とサーバのカーソルの移動量とが一致するような単一又は複数の操作データを素早くサーバに出力することができる。尚、第2作成手段の一例は、図7(C)のテーブルデータを作成するコントローラ101である。
さらに好ましくは、KVMスイッチは、前記第1テーブルデータ又は前記第2テーブルデータを前記情報処理装置又は前記サーバから受信する受信手段を備えていることを特徴とする。
かかる構成によれば、情報処理装置又はサーバから受信する第1テーブルデータ又は第2テーブルデータを利用することができる。尚、受信手段の一例は、図3のネットワークI/F104a,104b又は図3のI/F103a,103bである。
さらに好ましくは、KVMスイッチは、前記第1テーブルデータ又は前記第2テーブルデータを前記情報処理装置又は前記サーバに送信する送信手段を備えていることを特徴とする。
かかる構成によれば、情報処理装置又はサーバに第1テーブルデータ又は第2テーブルデータを送信することができる。尚、送信手段の一例は、図3のネットワークI/F104a,104b又は図3のI/F103a,103bである。
好ましくは、KVMスイッチは、前記情報処理装置のカーソルの移動範囲を、前記サーバのカーソルが表示される、前記情報処理装置の画面内に設けられたウィンドウ内に制限する制限手段をさらに備えることを特徴とする。
かかる構成によれば、サーバのカーソルが表示される情報処理装置の画面内に設けられたウィンドウ内において、情報処理装置のカーソルとサーバのカーソルの位置ズレが発生することがなく、情報処理装置のオペレータに対して快適な操作部材の操作環境を提供できる。尚、制限手段の一例は、図12(B)のステップS72aの処理を実行するコントローラ101である。
好ましくは、KVMスイッチは、前記情報処理装置のカーソルの移動範囲の制限を有効にするか又は無効にするかを選択する選択手段をさらに備えることを特徴とする。
かかる構成によれば、情報処理装置のオペレータは、情報処理装置のカーソルの移動範囲の制限を有効にするか又は無効にするかを選択することができる。尚、選択手段の一例は、図12(B)のステップS71aの処理を実行するコントローラ101、及びKVMスイッチ上の所定のスイッチ又はメニュー表示である。
上記目的を達成するため、KVMスイッチは、第1操作部材が接続されるKVMスイッチで、且つ第2操作部材が接続されると共に前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動するサーバのカーソルとを表示する情報処理装置、及び前記サーバに接続可能なKVMスイッチであって、前記第2操作部材の操作から前記第1操作部材の操作に切り替わったときの前記情報処理装置のカーソルの位置を前記情報処理装置から取得し保存すると共に前記第1操作部材の操作中に、前記KVMスイッチから前記サーバに出力されたデータの累積値を保存する保存手段と、前記第1操作部材の操作から前記第2操作部材の操作に切り替わったときの前記情報処理装置のカーソルの位置を前記情報処理装置から取得し、前記保存された情報処理装置のカーソルの位置及び前記取得された累積値に基づいて、現在のサーバのカーソルの位置を算出し、当該現在のサーバのカーソルの位置と前記第1操作部材の操作から前記第2操作部材の操作に切り替わったときの情報処理装置のカーソルの位置との差分を算出し、当該算出された差分と前記第2操作部材の操作による情報処理装置のカーソルの移動量との合算値を前記サーバに出力する制御手段とを備えることを特徴とする。
かかる構成によれば、サーバのカーソルがKVMスイッチに接続される第1操作部材で移動された場合でも、第1操作部材の操作から第2操作部材の操作に切り替え後、第2操作部材が操作されたときに、情報処理装置のカーソルとサーバのカーソルの位置ズレが補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。尚、保存手段の一例は、図15のステップS101,S102の処理を実行するコントローラ101及びメモリ105であり、制御手段の一例は、図15のステップS103〜S106の処理を実行するコントローラ101である。
好ましくは、前記保存手段は、前記情報処理装置のカーソルの移動量と、前記サーバのカーソルの移動量と、当該情報処理装置のカーソルの移動量と当該サーバのカーソルの移動量とが一致するような、前記第2操作部材から出力される単一又は複数の操作データとの対応関係を示すテーブルデータを有し、前記制御手段は、前記テーブルデータに基づいて前記合算値に対応する単一又は複数の操作データを前記サーバに出力することを特徴とする。
かかる構成によれば、情報処理装置及びサーバにおいて、いわゆるカーソルの加速処理が行われる場合でも、第1操作部材の操作から前記第2操作部材の操作に切り替え後、第2操作部材が操作されたときに、情報処理装置のカーソルとサーバのカーソルの位置ズレが補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。尚、テーブルデータの一例は、図7(C)のテーブルデータである。
上記目的を達成するため、KVMスイッチは、第1操作部材が接続されるKVMスイッチで、且つ第2操作部材が接続されると共に前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動するサーバのカーソルとを表示する情報処理装置、及び前記サーバに接続可能なKVMスイッチであって、前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を前記情報処理装置から取得し保存する保存手段と、前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標を前記情報処理装置から取得し、当該取得されたウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段とを備えることを特徴とする。
かかる構成によれば、第2操作部材の操作により情報処理装置のカーソルがウィンドウの外部に移動し、外部からウィンドウに到達した場合でも、情報処理装置のカーソルとサーバのカーソルの位置ズレを補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。尚、保存手段の一例は、図18のステップS121の処理を実行するコントローラ101及びメモリ105であり、制御手段の一例は、図18のステップS125の処理を実行するコントローラ101である。
好ましくは、前記制御手段は、前記情報処理装置のカーソルが前記ウィンドウの外部の移動中に、前記第1操作部材の操作により前記サーバのカーソルが移動された場合には、前記サーバのカーソルの移動前の座標と移動後の座標との差分を算出し、当該差分を前記保存手段に保存し、前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標を前記情報処理装置から取得し、当該取得されたウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分と前記保存された差分と合成し、その合成値を前記サーバに出力することを特徴とする。
かかる構成によれば、情報処理装置のカーソルがウィンドウの外部の移動中に、第1操作部材の操作によりサーバのカーソルが移動された場合でも、情報処理装置のカーソルとサーバのカーソルの位置ズレを補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。上記制御手段の実行内容は、図18のステップS123,S124の処理に対応する。
上記目的を達成するため、本発明のサーバは、操作部材が接続された情報処理装置とKVMスイッチを介して接続されるサーバであって、前記情報処理装置のカーソルの移動量を示すデータを入力する入力手段と、前記情報処理装置のカーソルの移動量を示すデータの入力順に基づいて、前記操作部材から出力される操作データを決定する決定手段と、前記決定された操作データと、当該操作データに従って移動する、前記情報処理装置の画面に表示される当該情報処理装置のカーソルの移動量と、当該情報処理装置のカーソルの移動に従って移動する、前記情報処理装置の画面に表示されるサーバのカーソルの移動量との対応関係及び前記入力手段により入力されたデータが示す情報処理装置のカーソルの移動量に基づいて、前記情報処理装置のカーソルの移動量と前記サーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出する検出手段と、前記検出手段で検出された単一又は複数の操作データに基づいて前記サーバのカーソルを移動させる移動手段とを備えていることを特徴とする。
かかる構成によれば、情報処理装置のカーソルとサーバのカーソルの位置ズレが発生することがなく、情報処理装置のオペレータに対して快適な操作部材の操作環境を提供できる。尚、入力手段の一例は、図2(A)のUSBインターフェース28であり、決定手段及び移動手段の一例は図2(A)のCPU21であり、検出手段の一例は図9(A),(B)の処理を実行するCPU21である。
好ましくは、前記検出手段は、前記入力手段により入力された情報処理装置のカーソルの移動量のデータに加速処理を実施し、前記サーバのカーソルの移動量を取得する取得手段と、前記決定手段により決定された操作データと、前記入力手段により入力された情報処理装置のカーソルの移動量と、前記取得手段により取得されたサーバのカーソルの移動量との対応関係を示す第1テーブルデータを作成する第1作成手段とを備えることを特徴とする。
かかる構成によれば、第1テーブルデータに基づいて、情報処理装置のカーソルの移動量とサーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出することができる。尚、取得手段の一例は、図9(B)のステップS42の処理を実行するCPU21であり、第1作成手段の一例は、図9(B)のステップS43の処理を実行するCPU21である。第1テーブルデータの一例は図7(A)又は図7(B)のテーブルデータである。
より好ましくは、サーバは、前記第1テーブルデータに基づいて、前記入力手段により入力された情報処理装置のカーソルの移動量と、前記取得手段により取得されたサーバのカーソルの移動量と、当該情報処理装置のカーソルの移動量と当該サーバのカーソルの移動量とが一致するような単一又は複数の操作データとの対応関係を示す第2テーブルデータを作成する第2作成手段をさらに備えることを特徴とする。
かかる構成によれば、第2テーブルデータを利用することで、情報処理装置のカーソルの移動量とサーバのカーソルの移動量とが一致するような単一又は複数の操作データを素早く検出でき、サーバのカーソルを素早く移動させることができる。尚、第2作成手段の一例は、図7(C)のテーブルデータを作成するCPU21である。
さらに好ましくは、サーバは、前記第1テーブルデータ又は前記第2テーブルデータを前記情報処理装置又は前記KVMスイッチから受信する受信手段を備えていることを特徴とする。
かかる構成によれば、情報処理装置又はKVMスイッチから受信する第1テーブルデータ又は第2テーブルデータを利用することができる。尚、受信手段の一例は、USBインターフェース28である。
さらに好ましくは、前記第1テーブルデータ又は前記第2テーブルデータを前記情報処理装置又は前記KVMスイッチに送信する送信手段を備えていることを特徴とする。
かかる構成によれば、情報処理装置又はKVMスイッチに第1テーブルデータ又は第2テーブルデータを送信することができる。尚、送信手段の一例は、USBインターフェース28である。
上記目的を達成するため、本発明の制御プログラムは、情報処理装置を、操作部材から操作データを入力する入力手段、前記操作データと、当該操作データに従って移動する、情報処理装置の画面に表示される当該情報処理装置のカーソルの移動量と、当該情報処理装置のカーソルの移動に従って移動する、前記情報処理装置の画面内に設けられたウィンドウに表示されるサーバのカーソルの移動量との対応関係及び前記入力手段により入力された操作データに基づいて、前記情報処理装置のカーソルの移動量と前記サーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出する検出手段、及び前記検出手段で検出された単一又は複数の操作データをサーバに出力する出力手段として機能させることを特徴とする。
かかる構成によれば、情報処理装置のカーソルとサーバのカーソルの位置ズレが発生することがなく、情報処理装置のオペレータに対して快適な操作部材の操作環境を提供できる。
上記目的を達成するため、本発明の制御プログラムは、第1操作部材が接続されるKVMスイッチを介してサーバに接続されると共に、第2操作部材が接続され、前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動する前記サーバのカーソルとを表示する情報処理装置を、前記第2操作部材の操作から前記第1操作部材の操作に切り替わった時点の前記情報処理装置のカーソルの位置を保存する保存手段、前記第1操作部材の操作中に、前記KVMスイッチから前記サーバに出力されたデータの累積値を取得する取得手段、及び前記第1操作部材の操作から前記第2操作部材の操作に切り替え後、前記第2操作部材が操作されると、前記保存された情報処理装置のカーソルの位置及び前記取得された累積値に基づいて、現在のサーバのカーソルの位置を算出し、当該現在のサーバのカーソルの位置と現在の情報処理装置のカーソルの位置との差分を算出し、当該算出された差分と前記第2操作部材の操作による情報処理装置のカーソルの移動量との合算値を前記サーバに出力する制御手段として機能させることを特徴とする。
かかる構成によれば、サーバのカーソルがKVMスイッチに接続される第1操作部材で移動された場合でも、第1操作部材の操作から第2操作部材の操作に切り替え後、第2操作部材が操作されたときに、情報処理装置のカーソルとサーバのカーソルの位置ズレが補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。
上記目的を達成するため、本発明の制御プログラムは、第1操作部材が接続されるKVMスイッチを介してサーバに接続されると共に、第2操作部材が接続され、前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動する前記サーバのカーソルとを含むウィンドウを表示する情報処理装置を、前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を保存する保存手段、及び前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段として機能させることを特徴とする。
かかる構成によれば、第2操作部材の操作により情報処理装置のカーソルがウィンドウの外部に移動し、外部からウィンドウに到達した場合でも、情報処理装置のカーソルとサーバのカーソルの位置ズレを補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。
上記目的を達成するため、本発明の制御プログラムは、操作部材が接続された情報処理装置とサーバとの間に接続されるKVMスイッチを、前記情報処理装置のカーソルの移動量を示すデータを入力する入力手段、前記操作部材から出力される操作データと、当該操作データに従って移動する、前記情報処理装置の画面に表示される当該情報処理装置のカーソルの移動量と、当該情報処理装置のカーソルの移動に従って移動する、前記情報処理装置の画面に表示されるサーバのカーソルの移動量との対応関係及び前記入力手段により入力されたデータが示す情報処理装置のカーソルの移動量に基づいて、前記情報処理装置のカーソルの移動量と前記サーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出する検出手段、及び前記検出手段で検出された単一又は複数の操作データをサーバに出力する出力手段として機能させることを特徴とする。
かかる構成によれば、情報処理装置のカーソルとサーバのカーソルの位置ズレが発生することがなく、情報処理装置のオペレータに対して快適な操作部材の操作環境を提供できる。
上記目的を達成するため、本発明の制御プログラムは、第1操作部材が接続されるKVMスイッチで、且つ第2操作部材が接続されると共に前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動するサーバのカーソルとを表示する情報処理装置、及び前記サーバに接続可能なKVMスイッチを、前記第2操作部材の操作から前記第1操作部材の操作に切り替わったときの前記情報処理装置のカーソルの位置を前記情報処理装置から取得し保存すると共に前記第1操作部材の操作中に、前記KVMスイッチから前記サーバに出力されたデータの累積値を保存する保存手段、及び前記第1操作部材の操作から前記第2操作部材の操作に切り替わったときの前記情報処理装置のカーソルの位置を前記情報処理装置から取得し、前記保存された情報処理装置のカーソルの位置及び前記取得された累積値に基づいて、現在のサーバのカーソルの位置を算出し、当該現在のサーバのカーソルの位置と前記第1操作部材の操作から前記第2操作部材の操作に切り替わったときの情報処理装置のカーソルの位置との差分を算出し、当該算出された差分と前記第2操作部材の操作による情報処理装置のカーソルの移動量との合算値を前記サーバに出力する制御手段として機能させることを特徴とする。
かかる構成によれば、サーバのカーソルがKVMスイッチに接続される第1操作部材で移動された場合でも、第1操作部材の操作から第2操作部材の操作に切り替え後、第2操作部材が操作されたときに、情報処理装置のカーソルとサーバのカーソルの位置ズレが補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。
上記目的を達成するため、本発明の制御プログラムは、第1操作部材が接続されるKVMスイッチで、且つ第2操作部材が接続されると共に前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動するサーバのカーソルとを表示する情報処理装置、及び前記サーバに接続可能なKVMスイッチであって、前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を前記情報処理装置から取得し保存する保存手段、及び前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標を前記情報処理装置から取得し、当該取得されたウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段として機能させることを特徴とする。
かかる構成によれば、第2操作部材の操作により情報処理装置のカーソルがウィンドウの外部に移動し、外部からウィンドウに到達した場合でも、情報処理装置のカーソルとサーバのカーソルの位置ズレを補正でき、情報処理装置のオペレータに対して快適な第2操作部材の操作環境を提供できる。
上記目的を達成するため、本発明の制御プログラムは、操作部材が接続された情報処理装置とKVMスイッチを介して接続されるサーバを、前記情報処理装置のカーソルの移動量を示すデータを入力する入力手段、前記情報処理装置のカーソルの移動量を示すデータの入力順に基づいて、前記操作部材から出力される操作データを決定する決定手段、前記決定された操作データと、当該操作データに従って移動する、前記情報処理装置の画面に表示される当該情報処理装置のカーソルの移動量と、当該情報処理装置のカーソルの移動に従って移動する、前記情報処理装置の画面に表示されるサーバのカーソルの移動量との対応関係及び前記入力手段により入力されたデータが示す情報処理装置のカーソルの移動量に基づいて、前記情報処理装置のカーソルの移動量と前記サーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出する検出手段、及び前記検出手段で検出された単一又は複数の操作データに基づいて前記サーバのカーソルを移動させる移動手段として機能させることを特徴とする。
かかる構成によれば、情報処理装置のカーソルとサーバのカーソルの位置ズレが発生することがなく、情報処理装置のオペレータに対して快適な操作部材の操作環境を提供できる。
本発明によれば、情報処理装置のオペレータに対して快適な操作部材の操作環境を提供することができる。
以下、図面を参照しながら本発明の実施の形態を説明する。
(第1の実施の形態)
図1は、本発明の第1の実施の形態に係るKVM(K:キーボード、V:ビデオ、M:マウス)スイッチ、情報処理装置、及びサーバを備えるKVMシステムの構成図である。
同図に示すように、KVMシステム1000は、KVMスイッチ(K:キーボード、V:ビデオ、M:マウス)1、サーバ2a,2b、モニタ3、キーボード4、及びマウス5を備えている。これらは、ローカルシステムを構成している。即ち、モニタ3は、サーバ2a又はサーバ2bの出力するビデオ信号を表示することができ、キーボード4及びマウス5は、サーバ2a又はサーバ2bにデータを出力することができる。
さらに、マルチモニタ対応切替システム1000は、モニタ12a、キーボード13a及びマウス14aが接続されているPC11aと、モニタ12b〜12e、キーボード13b及びマウス14bが接続されているPC11bとを備えている。PC11a及びPC11bはネットワーク10を介してKVMスイッチ1に接続される遠隔端末であり、いわゆるリモートシステムを構成している。即ち、ユーザは、PC11a又はPC11b上で動作している遠隔操作アプリケーションから、ネットワーク10及びKVMスイッチ1を介してサーバ2a又はサーバ2bを操作することができる。
尚、KVMスイッチ1に接続されるサーバ又は遠隔端末(PC)は単数でも複数でもよい。
図2(A)は、サーバ2aのハードウエア構成を示すブロック図であり、図2(B)は、PC11aのハードウエア構成を示すブロック図である。尚、サーバ2bのハードウエア構成はサーバ2aのハードウエア構成と同一であり、PC11bのハードウエア構成はPC11aのハードウエア構成と同一である。
サーバ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から受信する際に使用される。
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に接続されている。
モニタ12aはビデオインターフェース36に接続され、キーボード13a及びマウス14aはUSBインターフェース38に接続されている。ネットワークインターフェース37はKVMスイッチ1と接続するために使用され、さらに後述する図7(A)〜(C)のテーブルデータをKVMスイッチ1又はサーバ2a,2bに送信する際に使用されると共に図7(A)〜(C)のテーブルデータをKVMスイッチ1又はサーバ2a,2bから受信する際に使用される。
図3は、KVMスイッチ1のハードウエア構成を示すブロック図である。
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を備えている。
インターフェース(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からそれぞれ受信する際に使用される。
以下の説明では、サーバの代表例としてサーバ2aを使用し、遠隔端末の代表例としてPC11aを使用するが、サーバや遠隔端末をこれらに限定するものではない。
本実施の形態では、サーバ2aのマウスカーソルの加速処理に左右されない位置ズレ補正機能を実現するため、PC11a又はKVMスイッチ1がマウス14aが出力するマウスデータそのものを補正するためのテーブルデータ(図7(A)〜(C)参照)を自動作成する機能を有する。尚、位置ズレ補正機能とは、PC11aが表示するPC11aのマウスカーソルの位置とPC11aが表示するサーバ2aのマウスカーソルの位置が一致しない場合に、これらのマウスカーソルの位置を一致させる補正を実行する機能である。
まず、マウスデータを補正するためのテーブルデータを自動作成する第1の機能を説明する。
図4(A)は、サーバ2aの画面の一例を示す図であり、図4(B)は、(A)の部分拡大図であり、図4(C)は、PC11aの画面の一例を示す図である。また、図5(A)及び図5(B)は、位置ズレ補正機能を示すフローチャートである。
図4(A)において、符号121はサーバ2aの画面を示し、符号122はサーバ2aのマウスカーソルを示す。図4(C)において、符号123はPC11aの画面を示し、符号126は、PC11aのマウスカーソルを示す。符号124は、PC11aのマウスカーソル126の非表示を設定したウィンドウを示し、符号125は、マウスカーソルの表示を設定した他のウィンドウを示す。ウィンドウ124には、サーバ2aの画面が表示され、サーバ2aのマウスカーソル122が表示されている。ウィンドウ124やウィンドウ125におけるマウスカーソルの表示/非表示は、PC11aのオぺレーティングシステムで設定することができる。
初期状態では、図4(A)に示すように、サーバ2aのマウスカーソル122は、画面121のどの位置にあってもよいが、例えば、位置aにあるものとする。また、図4(C)に示すように、PC11aのマウスカーソル126は画面123のどの位置にあってもよいが、例えば、位置Aにあるものとする。PC11aのマウスカーソル126は、例えば、ウィンドウ125の直上にあったとしても、本処理においてはウィンドウ124の直上に移動させることになるため、PC11aのマウスカーソル126は画面123のどの位置にあってもよい。
図5(A)において、PC11aのCPU31は、現在のPC11aのマウスカーソル126の座標をHDD34に保存する(ステップS1)。これにより、図4(C)のマウスカーソル126の位置Aの座標がHDD34に保存される。
次いで、PC11aのCPU31は、PC11aのマウスカーソル126をウィンドウ124の左上角に移動させるマウスデータをPC11a自身に出力すると共に当該マウスデータに応じたPC11aのマウスカーソル126の移動量を示すデータをKVMスイッチ1を介して、サーバ2aに出力する(ステップS2)。これにより、図4(A)のサーバ2aのマウスカーソル122は位置aから位置bに移動し、図4(C)のマウスカーソル126は位置Aから位置Bに移動する。
尚、マウス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に移動する大きさとする。
次いで、PC11aのCPU31は、サーバ2aの加速係数の検出処理を実行する(ステップS3)。この処理は、PC11aがKVMスイッチ1を介してサーバ2aに出力するPC11aのマウスカーソル126の移動量を示すデータがサーバ2aでどの様に加速されるのかを調べるために行う。この処理によって、サーバ2aの加速係数を全て把握し、PC11aがKVMスイッチ1を介してサーバ2aが実行する加速処理に最適化したデータを出力できるようにする。サーバ2aの加速係数の検出処理の詳細は後述する。
最後に、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に戻る。
図5(A)では、PC11aのCPU31位置ズレ補正機能を実行したが、図5(B)では、KVMスイッチ1のコントローラ101が位置ズレ補正機能を実行する。
図5(B)において、KVMスイッチ1のコントローラ101は、PC11aから、現在のPC11aのマウスカーソル126の座標を取得し、メモリ105に保存する(ステップS1−1)。これにより、図4(C)のマウスカーソル126の位置Aの座標がメモリ105に保存される。
次いで、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である。
次いで、KVMスイッチ1のコントローラ101は、サーバ2aの加速係数の検出処理を実行する(ステップS3−1)。この処理は、サーバ2aに出力するPC11aのマウスカーソル126の移動量を示すデータがサーバ2aでどの様に加速されるのかを調べるために行う。この処理によって、サーバ2aの加速係数を全て把握し、KVMスイッチ1が、サーバ2aが実行する加速処理に最適化したデータを出力できるようにする。サーバ2aの加速係数の検出処理の詳細は後述する。
最後に、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に戻る。
図6は、図5(A)のステップS3の加速係数の検出処理を示すフローチャートである。
まず、PC11aのCPU31は、サーバ2aのマウスカーソル122が位置bにあり、PC11aのマウスカーソル126が位置Bにあるとき、図4(B)のマウスカーソル122を囲む閉領域rをウィンドウ124に表示している画像の領域上においてキャプチャし、サーバ2aのマウスカーソル122に対応するビットマップを抽出し(ステップS11)、ウィンドウ124内部でサーバ2aのマウスカーソル122の移動を追尾できるようにする。
以降の処理では、PC11aのCPU31は、マウス14aが1〜255の各マウスデータに応じたPC11aのマウスカーソル126の移動量を示すデータをサーバ2aに出力し、それに応じてサーバ2aのマウスカーソル122がどの様に移動するかを検知し、サーバ2aの加速係数を検出する。
PC11aのCPU31は、マウスデータ(i)の初期化を行う、即ちマウスデータとして1をセットする(i=1)(ステップS12)。次いで、PC11aのCPU31は、セットされたマウスデータ(i)に応じたPC11aのマウスカーソル126の移動量を算出すると共に、PC11aのマウスカーソル126の移動量を示すデータをサーバ2aに出力する(ステップS13)。これにより、ウィンドウ124内のサーバ2aのマウスカーソル122は移動する。
次に、PC11aのCPU31は、サーバ2aのマウスカーソル122の画像のウィンドウ124内の移動先をパターンマッチングにより検出する(ステップS14)。
PC11aのCPU31は、サーバ2aのマウスカーソル122の移動前の位置と移動後の位置との差分を計算し、マウスデータ(i)に対するサーバ2aのマウスカーソル122の移動量を算出する(ステップS15)。この移動量の算出は、ステップS13からステップS18のループにより、マウス14aが出力可能なマウスデータ(1〜255)に対応する回数、即ち255回繰り返し実行される。
PC11aのCPU31は、マウスデータ(i)、PC11aのマウスカーソル126の移動量及びサーバ2aのマウスカーソル122の移動量に基づいたテーブルデータを作成する(ステップS16)。この作成されたテーブルデータはHDD34に保存される。テーブルデータについては、後述する。
続けて、PC11aのCPU31は、マウスデータ(i)を1増加し(ステップS17)、マウスデータ(i)が255を超えたか否かを判別する(ステップS18)。
ステップS18で、マウスデータ(i)が255を超えていない場合には(NO)、ステップS13に戻る。一方、ステップS18で、マウスデータ(i)が255を超えた場合には(YES)、PC11aのCPU31は、サーバ2aのマウスカーソル122をウィンドウ124の左上角に移動させ(ステップS19)、本処理を終了する。
尚、図5(B)のステップS3−1の加速係数の検出処理は、図6と同様に実行されるが、実行主体はKVMスイッチ1のコントローラ101である。この場合、KVMスイッチ1のコントローラ101は、継続的にPC11aの画面のデータを受信する。
図7(A)は、ステップS16で作成されるテーブルデータの一例を示す図であり、図7(B)は、図7(A)の各値を四捨五入したテーブルデータの一例を示す図であり、図7(C)は、PC11aのマウスカーソル126の位置とサーバ2aのマウスカーソル122の位置とを一致させるためのテーブルデータの一例を示す図である。
図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に保存される。
サーバ2aの加速係数を検出するために、図7(A)及び図7(B)のマウスデータXが利用されているが、サーバ2aには、図7(A)及び図7(B)に示されるPC11aのマウスカーソル126の移動量Yが入力されている。マウスデータXがPC11aのマウスカーソル126の移動量Yと異なるのは、PC11aでもマウスの加速処理が実行されているためである。
サーバ2aのマウスカーソル122の位置がPC11aのマウスカーソル126の位置とズレないようにするためには、PC11aのマウスカーソル126の移動量Yとサーバ2aのマウスカーソル122の移動量Zとが一致する必要がある。しかし、PC11aのマウスカーソル126の移動量Yとサーバ2aのマウスカーソル122の移動量Zとが一致しないことは、図7(B)より明らかである。
そこで、本実施の形態では、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に直接入力されたデータである。
図7(C)のテーブルデータは、PC11aのマウスカーソル126の移動量Y、サーバ2aに出力されるマウスデータ、及びサーバ2aのマウスカーソル122の移動量Zとの関係を示す。
例えば、PC11aのマウスカーソル126の移動量Y=5の場合、その値がPC11aからサーバ2aに出力されると、図7(B)からサーバ2aのマウスカーソル122の移動量Zは「7」となり、マウスカーソル122は「2」の分だけ加速される。この場合、PC11aのマウスカーソル126の移動量Yとサーバ2aのマウスカーソル122の移動量Zとは一致しない。
しかし、図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とは一致する。
図8(A)及び(B)は、PC11a及びKVMスイッチ1で実行される処理を示すフローチャートである。
まず、図8(A)の処理について説明する。
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に表示される。
次いで、図8(B)の処理について説明する。
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に表示される。
このように、PC11a又はKVMスイッチ1が、PC11aのマウスカーソル126とサーバ2aのマウスカーソル122の位置ズレの起きないマウスデータをサーバ2aに出力することで、サーバ2aのマウスの加速処理に左右されない位置ズレ補正機能を提供できるようになり、従来のようにサーバのマウスの加速処理を無効にしなくて済むようになる。また、PC11aのマウスカーソル126がウィンドウ124の直上にある限り、PC11aのマウスカーソル126とサーバ2aのマウスカーソル122の位置ズレが発生することがなく、マウス14aのオペレータに快適なマウス操作環境を提供できる。
次に、マウスデータを補正するためのテーブルデータを自動作成する第2の機能を説明する。ここでは、図7(A)〜(C)のテーブルデータをサーバ2aが自動作成する。
上記第1の機能では、図7(A)〜(C)のテーブルデータを作成するために、PC11aがウィンドウ124でのサーバ2aのマウスカーソル122の画像のキャプチャ及びパターンマッチング処理を実行している。
PC11aのマウスカーソル126の移動がサーバ2a上でどのように反映されるか、即ちPC11aのマウスカーソル126の移動に従って、サーバ2aのマウスカーソル122がどのように移動するかは、サーバ2a上で監視プログラムを動作させ、サーバ2aのマウスカーソル122の位置を常に検出することにより調べることができる。
図9(A)は、PC11a、KVMスイッチ1及びサーバ2aにおけるデータの処理経路をモデル化した図である。
サーバ2aのHDD24は、デバイスドライバ51、ウィンドウ管理システム52、プログラム53を備えており、これらは、HDD24からRAM23に読み出されて、適宜CPU21により実行されることによりそれぞれの機能を発揮する。
同図において、経路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)を利用していることを示す。
PC11a、KVMスイッチ1及びサーバ2aの動作を以下に説明する。
PC11aから、PC11aのマウスカーソル126の移動量Yを示すデータ(図7(B)参照)がネットワーク10を介してKVMスイッチ1に通知される。KVMスイッチ1はサーバ2aにとってマウスの役割を果たし、PC11aから通知されたデータをサーバ2aに入力し、デバイスドライバ51に渡す。
マウスカーソル126の移動量Yを示すデータがデバイスドライバ51に渡った時点では、サーバ2aの加速処理は行われておらず、マウスカーソル126の移動量Yは図7(B)に示す値である。
デバイスドライバ51は、ウィンドウ管理システム52にマウスカーソル126の移動量Yを示すデータを渡し、ウィンドウ管理システム52は加速処理を実施して、プログラム53に加速処理後のデータを渡す。プログラム53に渡ったデータは、加速処理が施されているから、図7(B)のサーバ2aのマウスカーソル122の移動量Zを示すデータになっている。尚、CPU21は、加速処理が実施されたサーバ2aのマウスカーソル122の移動量Zに従って、サーバ2aのマウスカーソル122を移動させる。
このように、サーバ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を示すデータを受信することで、これに対応するマウスデータの値を取得することができる。
よって、デバイスドライバ51は、プログラム53からサーバ2aのマウスカーソル122の移動量Zを示すデータを取得することで、予め取得されたPC11aのマウスカーソル126の移動量Yを示すデータ及びマウスデータと、サーバ2aのマウスカーソル122の移動量Zを示すデータとに基づいて、図7(B)のテーブルデータ及び図7(C)のテーブルデータを作成することができる。
図9(B)は、加速係数の検出処理を示すフローチャートである。
デバイスドライバ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)のテーブルデータを取得する。
次いで、デバイスドライバ51は、マウスデータを1増加し(ステップS44)、マウスデータが255を超えたか否かを判別する(ステップS45)。
ステップS45で、マウスデータが255を超えていない場合には(NO)、ステップS42に戻る。一方、ステップS45で、マウスデータが255を超えた場合には(YES)、本処理を終了する。この処理の終了後に、デバイスドライバ51は、図7(B)のテーブルデータに基づいて図7(C)のテーブルデータを作成する。
上記処理では、デバイスドライバ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)のテーブルデータを作成してもよい。
また、KVMスイッチ1はプログラム53からサーバ2aのマウスカーソル122の移動量Zを示すデータを取得し、図7(A)〜図7(C)のテーブルデータを作成し、それを自己保持したり、デバイスドライバ51又はPC11aに転送してもよい。また、PC11aはプログラム53からサーバ2aのマウスカーソル122の移動量Zを示すデータを取得し、図7(A)〜図7(C)のテーブルデータを作成し、それを自己保持したり、デバイスドライバ51又はKVMスイッチ1に転送してもよい。
このように、図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)のテーブルデータに基づいて出力変換処理を実行する。
次に、加速係数の検出処理を半自動で実行する場合を説明する。半自動とは、PC11aのオペレータの操作が必要であることを意味する。
図10は、PC11aの画面の一例を示す図である。
図10において、符号123はPC11aの画面を示し、符号126は、PC11aのマウスカーソルを示す。符号124は、サーバ2aの画面が表示されるウィンドウを示し、符号125は、他のウィンドウを示す。ウィンドウ124には、サーバ2aのマウスカーソル122が表示され、PC11aのマウスカーソルも表示される。しかし、このPC11aのマウスカーソルは、この処理のときの場合のみ表示され、通常は、PC11aのマウスカーソルはウィンドウ124上では非表示に設定されている。
図10において、初期状態では、PC11aのマウスカーソル126の位置A及びサーバ2aのマウスカーソル122の位置aはどのような位置にあってもよい。但し、PC11aのCPU31は、PC11aのマウスカーソル126の位置Aの座標及びサーバ2aのマウスカーソル122の位置aの座標は、予めHDD34に保存しておく。
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が移動してしまい、クリックができないからである。
次に、PC11aのCPU31は、サーバ2aのマウスカーソル122を移動させるデータをサーバ2aに出力し、サーバ2aのマウスカーソル122が位置bから位置cに移動したときに、PC11aのオペレータは、PC11aのマウスカーソル126を移動させ、位置cのサーバ2aのマウスカーソル122の矢先をクリックする。
これにより、PC11aのCPU31から出力された、サーバ2aのマウスカーソル122を位置bから位置cに移動させたデータが、サーバ2aでどのように加速処理されたかが分かり、PC11aのCPU31は、PC11aのマウスカーソル126の位置bから位置cまでの移動量と、サーバ2aのマウスカーソル122の位置bから位置cまでの移動量との関係を決定できる。
このように、サーバ2aのマウスカーソル122を位置a〜位置hまで順次移動させ、その都度、PC11aのオペレータは、PC11aのマウスカーソル126を移動させ、サーバ2aのマウスカーソル122の矢先をクリックすることで、PC11aのCPU31は、PC11aのマウスカーソル126の移動量とサーバ2aのマウスカーソル122の移動量との関係を決定する。
図11は、加速係数の検出処理を半自動で実行する場合を示すフローチャートである。
まず、PC11aのCPU31は、マウスデータ(i)の初期化を行う、即ちマウスデータとして1をセットする(i=1)(ステップS61)。次いで、PC11aのCPU31は、セットされたマウスデータ(i)に応じたPC11aのマウスカーソル126の移動量を算出すると共に、PC11aのマウスカーソル126の移動量を示すデータをサーバ2aに出力する(ステップS62)。これにより、ウィンドウ124内のサーバ2aのマウスカーソル122は移動する。
次に、PC11aのCPU31は、PC11aのオペレータによりPC11aのマウスカーソル126でクリックされた座標を検出する(ステップS63)。
PC11aのCPU31は、前回クリックされた座標と今回クリックされた座標の差分を計算し、マウスデータ(i)に対するサーバ2aのマウスカーソル122の移動量を算出する(ステップS64)。この移動量の算出は、ステップS13からステップS18のループにより、マウス14aが出力可能なマウスデータ(1〜255)に対応する回数、即ち255回繰り返し実行される。尚、初期状態のサーバ2aのマウスカーソル122の座標は、HDD34に記憶されているものを使用する。
PC11aのCPU31は、マウスデータ(i)、PC11aのマウスカーソル126の移動量、及びサーバ2aのマウスカーソル122の移動量に基づいたテーブルデータを作成する(ステップS65)。この作成されたテーブルデータはHDD34に保存される。ここで作成されるテーブルデータは図7(A)及び図7(B)である。
続けて、PC11aのCPU31は、マウスデータ(i)を1増加し(ステップS66)、マウスデータ(i)が255を超えたか否かを判別する(ステップS67)。
ステップS67で、マウスデータ(i)が255を超えていない場合には(NO)、ステップS62に戻る。一方、ステップS67で、マウスデータ(i)が255を超えた場合には(YES)、PC11aのCPU31は、サーバ2aのマウスカーソル122をウィンドウ124の左上角に移動させ(ステップS68)、本処理を終了する。この処理の終了後に、PC11aのCPU31は、図7(B)のテーブルデータに基づいて図7(C)のテーブルデータを作成する。
この加速係数の検出処理を半自動で実行する機能は、PC11aのCPU31が、サーバ2aのマウスカーソル122を囲む閉領域rをウィンドウ124に表示している画像の領域上においてキャプチャできない場合に有効である。これは、PC11aのオペレーティングシステム又はウィンドウシステムが用いるカーソルの形状は、図10が示すように矢印の形状であるのが普通であるが、矢印ではなく指の形状であったり、点であったりと、サーバ2aのオペレータの嗜好によってマウスカーソルの形状が定まらない場合があるためである。このような状況であっても、PC11aのオペレータに、サーバ2aのマウスカーソル122の矢先がクリックされることでサーバ2aのマウスカーソル122の座標を特定することが可能である。このように、加速係数の検出処理を半自動で実行する機能を用いても、図7(C)のテーブルデータを作成することができる。
尚、図7(C)のテーブルデータを使用した出力変換処理は、上述したようにウィンドウ管理システム52の前段までに実行される。
(第2の実施の形態)
上述した課題2で説明したように、リモートPC(PC11に相当する)のマウスカーソル205を非表示にしても、リモートPCのマウスカーソル205が図20におけるウィンドウ201の枠を超えた場合は、サーバの遠隔操作ができなくなる。
そこで、本実施の形態では、上述した図8(A)又は図8(B)のPC11a及びKVMスイッチ1で実行される処理の前段に、PC11aのマウスカーソル126の移動範囲を制限する処理と、この移動範囲を制限する処理の有効又は無効を選択可能にする処理を追加する。
尚、本実施の形態のKVMシステムは、第1の実施の形態のKVMシステム1000と同一の構成である。
図12(A)は、第2の実施の形態にかかるPC11a及びKVMスイッチ1で実行される処理を示すフローチャートである。
PC11aのCPU31は、PC11aのマウスカーソル126の移動範囲の制限を有効にするか否かを判別する(ステップS71)。具体的には、PC11aのCPU31は、PC11aのマウスカーソル126の移動範囲を制限する指示が割り当てられているキーボード13aのファンクションキーの押下があったか又はPC11aのマウスカーソル126の移動範囲を制限するメニューが選択されているかを判別する。この場合、上記ファンクションキーの押下があった場合又は上記メニューが選択されている場合は、PC11aのCPU31は、PC11aのマウスカーソル126の移動範囲の制限を有効にすると判別する。上記ファンクションキーの押下がない場合又は上記メニューが選択されていない場合は、PC11aのCPU31は、PC11aのマウスカーソル126の移動範囲の制限を無効にすると判別する。
ステップS71でPC11aのマウスカーソル126の移動範囲の制限を有効にすると判別された場合(YES)には、PC11aのCPU31は、PC11aのオペレーティングシステムが持っている機能を呼び出し、PC11aのマウスカーソル126の移動範囲をウィンドウ124内に限定する(ステップS72)。尚、PC11aのオペレーティングシステムが持っている機能とは、例えばMicrosoft Windows(登録商標)のClipCursorを呼ばれるAPI(Application Program Interface)である。このAPIは、一般にマウスカーソルの移動範囲をウィンドウ上の四角形の領域内に制限する。
ステップS72の処理後、上述した図8(A)のステップS21〜ステップS27又は図8(B)のステップS31〜ステップS36の処理が実行され(ステップS73)、本処理を終了する。
一方、ステップS71でPC11aのマウスカーソル126の移動範囲の制限を無効にすると判別された場合(NO)には、本処理を終了する。
図12(A)のステップS71及びステップS72の実行主体は、PC11aのCPU31であるが、KVMスイッチ1のコントローラ101もステップS71及びステップS72の処理を実行できる。この場合の処理を図12(B)に示す。
ステップS71aでは、KVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126の移動範囲を制限する指示が割り当てられているKVMスイッチ上の所定のスイッチ(不図示)がオンになっている又はメモリ105内に格納されている、PC11aのマウスカーソル126の移動範囲を制限するメニューが選択されているか否かを判別する。そして、KVMスイッチ1のコントローラ101は、いずれかに該当した場合には(ステップS71aでYES)、PC11aのオペレーティングシステムが持っている機能を呼び出し、PC11aのマウスカーソル126の移動範囲をウィンドウ124内に限定する(ステップS72a)。
このように、本実施の形態では、PC11aのマウスカーソル126の移動範囲をウィンドウ124内に制限した場合に、出力変換処理が実行される。よって、PC11aのマウスカーソル126の移動範囲をウィンドウ124内に制限した場合には、PC11aのマウスカーソル126とサーバ2aのマウスカーソル122の位置ズレが発生することがなく、快適なマウス操作環境を提供できる。
(第3の実施の形態)
本実施の形態では、サーバ2aのマウスカーソル122をローカル又はリモートで交互に操作する場合について説明する。
ここで、ローカルとは、サーバ2a及びKVMスイッチ1側を指し、リモートとは、PC11a側を指す。
本実施の形態では、KVMスイッチ1のメモリ105及びPC11aのHDD34に図7(B)及び図7(C)のテーブルデータが保存されているものとする。また、本実施の形態では、サーバ2a及びPC11aにおいて、マウス操作が行われると加算処理が行われることを前提に説明する。
本実施の形態のKVMシステムは、第1の実施の形態のKVMシステム1000と同一の構成である。
以下、上記KVMスイッチ1及びPC11aで実行される処理について、図13(A),(B)を用いて説明する。
図13(A)は、ローカル(サーバ2a及びKVMスイッチ1側)の画面を示す図であり、図13(B)はリモート(PC11a側)の画面を示す図である。
図13(A)において、符号121はローカルの画面を示し、符号122はサーバ2aのマウスカーソルを示す。図13(B)において、符号123はリモートの画面を示し、符号126は、PC11aのマウスカーソルを示す。符号124は、PC11aのマウスカーソル126の非表示を設定したウィンドウを示し、符号125は、マウスカーソルの表示を設定した他のウィンドウを示す。ウィンドウ124には、ローカルの画面が表示される。ウィンドウ124やウィンドウ125におけるマウスカーソルの表示/非表示は、PC11aのオぺレーティングシステムで設定することができる。
リモートのマウス操作からローカルのマウス操作に切り替わった時点のPC11aのマウスカーソル126の位置を位置Aとすると、サーバ2aのマウスカーソル122の位置は位置aにある。ローカルのマウス操作によって、サーバ2aのマウスカーソル122が軌跡xを辿って位置aから位置bに移動した場合、最終的にサーバ2aのマウスカーソル122の移動量、即ち、KVMスイッチ1がサーバ2aに出力したデータの累積値は、Vabとなる。
ここで、ローカルのマウス操作からリモートのマウス操作に切り替わった時のサーバ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に出力する。
図14(A)は、第3の実施の形態にかかるKVMスイッチ1及びPC11aで実行される処理を示すフローチャートである。
まず、PC11aのCPU31は、リモート(PC11a側)のマウス操作からローカル(サーバ2a及びKVMスイッチ1側)のマウス操作に切り替わった時点のPC11aのマウスカーソル126の位置、即ち、リモートのマウス操作の最終位置をHDD34に保存する(ステップS81)。
次に、KVMスイッチ1のコントローラ101は、ローカルのマウス操作中に、サーバ2aに出力したデータの累積値をPC11aに出力する(ステップS82)。ここで、KVMスイッチ1がサーバ2aに出力したデータは、図7(B)又は図7(C)のテーブルデータのPC11aのマウスカーソル126の移動量Yに相当する。
PC11aのCPU31は、KVMスイッチ1がサーバ2aに出力したデータの累積値を取得する(ステップS83)。次いで、PC11aのCPU31は、ローカルのマウス操作からリモートのマウス操作に切り替わり、リモートのマウス操作により、PC11aのマウスカーソル126がいずれかの方向に移動する(ステップS84)と、HDD34に保存されたリモートのマウス操作の最終位置及びKVMスイッチ1がサーバ2aに出力したデータの累積値に基づいて、現在のサーバ2aのマウスカーソル122の位置を算出し(ステップS85)、現在のサーバ2aのマウスカーソル122の位置と現在のPC11aのマウスカーソル126の位置との差分を算出する(ステップS86)。
次いで、PC11aのCPU31は、PC11aのマウスカーソル126の移動量とステップS85で算出された差分とを合算し、図7(C)のテーブルデータを使って合算された値に対応する1又は2以上のマウスデータをサーバ2aに出力する(ステップS87)。具体的には、PC11aのCPU31は、当該合算された値と一致するPC11aのマウスカーソル126の移動量Yの値を求め、この値に対応する1又は2以上のマウスデータをサーバ2aに出力する。
以上の処理により、ローカルのマウス操作からリモートのマウス操作に切り替わる時点で、サーバ2aのマウスカーソル122の位置は、PC11aのマウスカーソル126の位置に一致する。
上記ステップS82,S83に代えて、図14(B)の処理を実行してもよい。この場合、全ての処理をPC11aのCPU31が実行することができる。
図14(B)において、ステップS81の処理後、PC11aのCPU31は、上記第1の実施の形態で説明したように、ウィンドウ124内のサーバ2aのマウスカーソル122の画像をキャプチャし(ステップS91)、サーバ2aのマウスカーソル122の画像のウィンドウ124内の移動先をパターンマッチングにより検出し(ステップS92)、マウスカーソル122の移動前の位置(即ち、リモートのマウス操作からローカルのマウス操作に切り替わった時のマウスカーソル122の位置)と移動後の位置(即ち、ローカルのマウス操作からリモートのマウス操作に切り替わった時のマウスカーソル122の位置)との差分を計算し、ローカルのマウス操作により移動したサーバ2aのマウスカーソル122の移動量を算出する(ステップS93)。
そして、PC11aのCPU31は、図7(B)のテーブルデータを使って、算出されたサーバ2aのマウスカーソル122の移動量に対応するPC11aのマウスカーソル126の移動量を、KVMスイッチ1がサーバ2aに出力したデータの累積値とし(ステップS94)、ステップS84の処理に進む。
次に、図14(A)の処理をKVMスイッチ1のコントローラ101が実行する例を説明する。
図15は、KVMスイッチ1で実行される処理を示すフローチャートである。
まず、KVMスイッチ1のコントローラ101は、リモート(PC11a側)のマウス操作からローカル(サーバ2a及びKVMスイッチ1側)のマウス操作に切り替わった時点のPC11aのマウスカーソル126の位置、即ち、リモートのマウス操作の最終位置をPC11aから取得し、メモリ105に保存する(ステップS101)。
次に、KVMスイッチ1のコントローラ101は、ローカルのマウス操作中に、サーバ2aに出力したデータの累積値をメモリ105に保存する(ステップS102)。
次いで、KVMスイッチ1のコントローラ101は、ローカルのマウス操作からリモートのマウス操作に切り替わったときのPC11aのマウスカーソル126の位置をPC11aから取得する(ステップS103)。KVMスイッチ1のコントローラ101は、メモリ105に保存されたリモートのマウス操作の最終位置及びサーバ2aに出力したデータの累積値に基づいて、現在のサーバ2aのマウスカーソル122の位置を算出し(ステップS104)、現在のサーバ2aのマウスカーソル122の位置とステップS103で取得されたPC11aのマウスカーソル126の位置との差分を算出する(ステップS105)。
その後、KVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126の移動量を示すデータをPC11aから受信すると、当該PC11aのマウスカーソル126の移動量とステップS105で算出された差分とを合算し、図7(C)のテーブルデータを使って合算された値に対応する1又は2以上のマウスデータをサーバ2aに出力する(ステップS106)。具体的には、PC11aのCPU31は、当該合算された値と一致するPC11aのマウスカーソル126の移動量Yの値を求め、この値に対応する1又は2以上のマウスデータをサーバ2aに出力する。
以上の処理により、ローカルのマウス操作からリモートのマウス操作に切り替わる時点で、サーバ2aのマウスカーソル122の位置は、PC11aのマウスカーソル126の位置に一致する。
図14(A),(B)又は図15の処理によれば、サーバ2aのマウスカーソル122をローカル又はリモートで交互に操作する場合でも、PC11aのマウスカーソルとサーバ2aのマウスカーソルの位置ズレが補正でき、マウス14aのオペレータに対して快適なマウス操作環境を提供できる。
本実施の形態では、サーバ2a及びPC11aにおいて、マウス操作が行われると加算処理が行われることを前提に説明したが、従来のように、サーバ2a及びPC11aの加算処理を無効にするKVMシステムでは、サーバ2a、KVMスイッチ1及びPC11aの入出力されるマウスデータはいずれも同一である。
このため、サーバ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に出力する。
(第4の実施の形態)
本実施の形態では、PC11aのマウスカーソル126がウインドウ124の内部から外部に一旦出て、再度ウインドウ124の外部から内部に入る場合に実行される位置補正処理について説明する。
本実施の形態のKVMシステムは、第1の実施の形態のKVMシステム1000と同一の構成である。
図16は、PC11aの画面の一例を示す図である。
図16において、符号122はサーバ2aのマウスカーソルを示し、符号123はPC11aの画面を示し、符号126は、PC11aのマウスカーソルを示す。符号124は、PC11aのマウスカーソル126の非表示を設定したウィンドウを示し、符号125は、マウスカーソルの表示を設定した他のウィンドウを示す。ウィンドウ124には、ローカル(サーバ2a)の画面が表示される。ウィンドウ124やウィンドウ125におけるマウスカーソルの表示/非表示は、PC11aのオぺレーティングシステムで設定することができる。
まず、PC11aのマウスカーソル126とサーバ2aのマウスカーソル122との位置ズレが生じていないものとする。PC11aのマウスカーソル126が位置Aからウィンドウ124の枠上の位置Bに移動したときに、PC11aのCPU31は、位置Bの座標をHDD34に保存する。このとき、サーバ2aのマウスカーソル122は位置Bと同一の位置bにある。
その後、PC11aのオペレータのマウス操作により、PC11aのマウスカーソル126は、ウィンドウ124の外部の任意の経路Cを辿り、ウィンドウ124の枠上の位置Gに到達する。このとき、位置Bの座標と位置Gの座標との差分はVBGとなる。
PC11aのCPU31は、ウィンドウ124の枠上の位置Gに到達した瞬間に、HDD34に保存された位置Bの座標と位置Gの座標の差分VBGを算出し、算出された差分をサーバ2aに出力する。これにより、サーバ2aのマウスカーソル122は位置bから位置gに移動する。位置gと位置Gは同じ位置である。
また、PC11aのマウスカーソル126が、ウィンドウ124の外部の任意の経路Cを辿っている最中に、サーバ2aのマウスカーソル122がローカルのマウス操作によって、軌跡xを辿って位置bから位置b’に移動していた場合は、PC11aのCPU31は、予め位置bの座標と位置b’の座標の差分Vb’bを算出し、HDD34に保存する。
その後、PC11aのCPU31は、ウィンドウ124の枠上の位置Gに到達した瞬間に、HDD34に保存された位置Bの座標と位置Gの座標の差分VBGを算出し、HDD34に保存された差分Vb’bと差分VBGとを合成し、合成値Vb’Gをサーバ2aに出力する。これにより、サーバ2aのマウスカーソル122は位置b’から位置gに移動する。
尚、PC11aのマウスカーソル126が位置Gからウィンドウ124の内部に入った後は、上述した第1〜第3の実施の形態で説明した処理が実行されるため、PC11aのマウスカーソル126とサーバ2aのマウスカーソル122の位置ズレが発生することがなくなる。
図17は、PC11aのCPU31が実行する処理を示すフローチャートである。
まず、PC11aのCPU31は、PC11aのマウスカーソル126がウィンドウ124の外部に出たときのウィンドウ124の枠上の座標をHDD34に保存する(ステップS111)。次に、PC11aのCPU31は、ローカルのマウス操作によって、サーバ2aのマウスカーソル122の移動があるか否かを判別する(ステップS112)。
ステップS112でYESの場合には、PC11aのCPU31は、サーバ2aのマウスカーソル122の移動前の位置の座標と移動後の位置の座標との差分を算出し、当該差分をHDD34に保存する(ステップS113)。
次いで、PC11aのCPU31は、PC11aのマウスカーソル126が再びウィンドウ124の枠上に到達したときに、当該到達したときのウィンドウ124の枠上の座標とステップS111でHDD34に保存された座標との差分を算出し、当該差分とステップS113でHDD34に保存されたサーバ2aのマウスカーソル122の移動の差分とを合成し、合成値をサーバ2aに出力し(ステップS114)、本処理を終了する。
一方、ステップS112でNOの場合には、PC11aのCPU31は、PC11aのマウスカーソル126が再びウィンドウ124の枠上に到達したときに、当該到達したときのウィンドウ124の枠上の座標とHDD34に保存された座標との差分を算出し、当該差分をサーバ2aに出力し(ステップS115)、本処理を終了する。
図18は、KVMスイッチ1のコントローラ101が実行する処理を示すフローチャートである。
まず、KVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126がウィンドウ124の外部に出たときのウィンドウ124の枠上の座標をPC11aから取得し、メモリ105に保存する(ステップS121)。次に、KVMスイッチ1のコントローラ101は、ローカルのマウス操作によって、サーバ2aのマウスカーソル122の移動があるか否かを判別する(ステップS122)。
ステップS122でYESの場合には、KVMスイッチ1のコントローラ101は、サーバ2aのマウスカーソル122の移動前の位置の座標と移動後の位置の座標との差分を算出し、当該差分をメモリ105に保存する(ステップS123)。
次いで、KVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126が再びウィンドウ124の枠上に到達したときに、当該到達したときのウィンドウ124の枠上の座標をPC11aから取得し、当該取得された座標とステップS121でメモリ105に保存された座標との差分を算出し、当該差分とステップS123でメモリ105に保存されたサーバ2aのマウスカーソル122の移動の差分とを合成し、合成値をサーバ2aに出力し(ステップS124)、本処理を終了する。
一方、ステップS122でNOの場合には、KVMスイッチ1のコントローラ101は、PC11aのマウスカーソル126が再びウィンドウ124の枠上に到達したときに、当該到達したときのウィンドウ124の枠上の座標をPC11aから取得し、当該取得された座標とメモリ105に保存された座標との差分を算出し、当該差分をサーバ2aに出力し(ステップS125)、本処理を終了する。
図17又は図18の処理によれば、PC11aのマウスカーソル126がウィンドウ124の枠外に一旦出て、再度ウィンドウ124の枠内に戻ったときに、自動的にPC11aのマウスカーソル126とサーバ2aのマウスカーソル122の位置ズレが補正されるので、マウス14aのオペレータに対して快適なマウス操作環境を提供できる。
本実施の形態では、サーバのマウスカーソルが表示されるウィンドウがPC11aの画面123に1つ表示されているが(ウィンドウ124参照)、例えば、PC11aの画面123が、サーバのマウスカーソルが表示されるウィンドウを複数表示する場合(即ち、複数のサーバに対する複数のウィンドウが表示される場合)には、図17又は図18の処理をウィンドウ毎に実行する。
従来技術では、リモートPCのマウスカーソルが、サーバのマウスカーソルが表示されるウィンドウの枠外に出て、他のウィンドウに移るたびに、リモートPCのオペレータが手動で位置ズレ補正機能を発動させ、リモートPCのマウスカーソルとサーバのマウスカーソルの位置ズレを補正していたため、リモートPCのオペレータは煩わしさを感じていた。
このような場合でも、上記図17又は図18の処理を実行することで、自動的にリモートPCのマウスカーソルとサーバのマウスカーソルの位置ズレが補正されるため、リモートPCのオペレータに煩わしさを感じさせず、快適なマウス操作環境を提供できる。
上記第1〜第4の実施の形態では、PC11aのマウスカーソル126を操作するためにマウス14aが使用され、サーバ2aのマウスカーソル122を操作するためにマウス14a又はマウス5が使用されるが、PC11aのマウスカーソル126又はサーバ2aのマウスカーソル122を操作するための操作部材は、マウスに限定されるものではなく、タブレットなどのマウスカーソルを移動させる機能を有する操作部材でもよい。
各サーバの機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、当該サーバに供給し、当該サーバの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カードなどがある。
また、各サーバのCPUが、各サーバの機能を実現するためのソフトウェアのプログラムを実行することによっても、上記第1〜第4の実施の形態と同様の効果を奏する。また、各遠隔端末のCPUが、各遠隔端末の機能を実現するためのソフトウェアのプログラムを実行することによっても、上記第1〜第4の実施の形態と同様の効果を奏する。さらに、KVMスイッチ1のコントローラ101が、KVMスイッチ1の機能を実現するためのソフトウェアのプログラム(例えば、ドライバ)を実行することによっても、上記第1〜第4の実施の形態と同様の効果を奏する。
なお、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
本発明の第1の実施の形態に係るKVM(K:キーボード、V:ビデオ、M:マウス)スイッチ、情報処理装置、及びサーバを備えるKVMシステムの構成図である。 (A)は、サーバ2aのハードウエア構成を示すブロック図であり、(B)は、PC11aのハードウエア構成を示すブロック図である。 KVMスイッチ1のハードウエア構成を示すブロック図である。 (A)は、サーバ2aの画面の一例を示す図であり、(B)は、(A)の部分拡大図であり、(C)は、PC11aの画面の一例を示す図である。 (A)及び(B)は、位置ズレ補正機能を示すフローチャートである。 図5(A)のステップS3の加速係数の検出処理を示すフローチャートである。 (A)は、ステップS16で作成されるテーブルデータの一例を示す図であり、(B)は、(A)の各値を四捨五入したテーブルデータの一例を示す図であり、(C)は、PC11aのマウスカーソル126の位置とサーバ2aのマウスカーソル122の位置とを一致させるためのテーブルデータの一例を示す図である。 (A)及び(B)は、PC11a及びKVMスイッチ1で実行される処理を示すフローチャートである。 (A)は、PC11a、KVMスイッチ1及びサーバ2aにおけるデータの処理経路をモデル化した図であり、(B)は、加速係数の検出処理を示すフローチャートである。 PC11aの画面の一例を示す図である。 加速係数の検出処理を半自動で実行する場合を示すフローチャートである。 (A)は、第2の実施の形態にかかるPC11a及びKVMスイッチ1で実行される処理を示すフローチャートであり、(B)は(A)の変形例を示すフローチャートである。 (A)は、第3の実施の形態に係るローカル(サーバ2a及びKVMスイッチ1側)の画面を示す図であり、(B)は、第3の実施の形態に係るリモート(PC11a側)の画面を示す図である。 (A)は、第3の実施の形態にかかるKVMスイッチ1及びPC11aで実行される処理を示すフローチャートであり、(B)は(A)の一部の処理の変形例を示すフローチャートである。 KVMスイッチ1で実行される処理を示すフローチャートである。 第4の実施の形態に係るPC11aの画面の一例を示す図である。 PC11aのCPU31が実行する処理を示すフローチャートである。 KVMスイッチ1のコントローラ101が実行する処理を示すフローチャートである。 従来のサーバの画面とリモートPCの画面の関係を示す図である。 従来のリモートPCの画面の一例を示す図である。 (A)は、従来のローカルの画面の一例を示す図であり、図21(B)は従来のリモートの画面の一例を示す図である。 従来のリモートPCの画面の一例を示す図である。
符号の説明
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 メモリ

Claims (37)

  1. 操作部材から操作データを入力する入力手段と、
    前記操作データと、当該操作データに従って移動する、情報処理装置の画面に表示される当該情報処理装置のカーソルの移動量と、当該情報処理装置のカーソルの移動に従って移動する、前記情報処理装置の画面内に設けられたウィンドウに表示されるサーバのカーソルの移動量との対応関係及び前記入力手段により入力された操作データに基づいて、前記情報処理装置のカーソルの移動量と前記サーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出する検出手段と、
    前記検出手段で検出された単一又は複数の操作データをサーバに出力する出力手段と
    を備えることを特徴とする情報処理装置。
  2. 前記検出手段は、
    前記操作データに従って移動する、前記情報処理装置のカーソルの移動量を算出する第1算出手段と、
    前記サーバのカーソルの画像を抽出する抽出手段と、
    前記操作データに従って移動する前記抽出されたサーバのカーソルの画像の移動後の位置を検出する位置検出手段と、
    前記抽出されたサーバのカーソルの画像の移動前の位置と前記検出されたサーバのカーソルの画像の移動後の位置とに基づいて、前記サーバのカーソルの移動量を算出する第2算出手段と、
    前記操作データと、前記第1算出手段により算出された情報処理装置のカーソルの移動量と、前記第2算出手段により算出されたサーバのカーソルの移動量との対応関係を示す第1テーブルデータを作成する第1作成手段と
    を備えることを特徴とする請求項1に記載の情報処理装置。
  3. 前記第1テーブルデータに基づいて、前記第1算出手段により算出された情報処理装置のカーソルの移動量と、前記第2算出手段により算出されたサーバのカーソルの移動量と、当該情報処理装置のカーソルの移動量と当該サーバのカーソルの移動量とが一致するような単一又は複数の操作データとの対応関係を示す第2テーブルデータを作成する第2作成手段をさらに備えていることを特徴とする請求項2に記載の情報処理装置。
  4. 前記検出手段は、
    前記操作データに従って移動する、前記情報処理装置のカーソルの移動量を算出する第3算出手段と、
    オペレータの操作により前記サーバのカーソルの移動後の座標を検出する座標検出手段と、
    前記座標検出手段により検出される前回の座標と今回の座標とに基づいて、前記サーバのカーソルの移動量を算出する第4算出手段と、
    前記操作データと、前記第3算出手段により算出された情報処理装置のカーソルの移動量と、前記第4算出手段により算出されたサーバのカーソルの移動量との対応関係を示す第1テーブルデータを作成する第3作成手段と
    を備えることを特徴とする請求項1に記載の情報処理装置。
  5. 前記第1テーブルデータに基づいて、前記第3算出手段により算出された情報処理装置のカーソルの移動量と、前記第4算出手段により算出されたサーバのカーソルの移動量と、当該情報処理装置のカーソルの移動量と当該サーバのカーソルの移動量とが一致するような単一又は複数の操作データとの対応関係を示す第2テーブルデータを作成する第4作成手段をさらに備えることを特徴とする請求項4に記載の情報処理装置。
  6. 前記第1テーブルデータ又は前記第2テーブルデータを前記KVMスイッチ又は前記サーバから受信する受信手段を備えていることを特徴とする請求項3又は請求項5に記載の情報処理装置。
  7. 前記第1テーブルデータ又は前記第2テーブルデータを前記KVMスイッチ又は前記サーバに送信する送信手段を備えていることを特徴とする請求項3又は請求項5に記載の情報処理装置。
  8. 前記情報処理装置のカーソルの移動範囲を、前記サーバのカーソルが表示される、前記情報処理装置の画面内に設けられたウィンドウ内に制限する制限手段をさらに備えることを特徴とする請求項1乃至7のいずれか1項に記載の情報処理装置。
  9. 前記情報処理装置のカーソルの移動範囲の制限を有効にするか又は無効にするかを選択する選択手段をさらに備えることを特徴とする請求項8に記載の情報処理装置。
  10. 第1操作部材が接続されるKVMスイッチを介してサーバに接続されると共に、第2操作部材が接続され、前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動する前記サーバのカーソルとを表示する情報処理装置であって、
    前記第2操作部材の操作から前記第1操作部材の操作に切り替わった時点の前記情報処理装置のカーソルの位置を保存する保存手段と、
    前記第1操作部材の操作中に、前記KVMスイッチから前記サーバに出力されたデータの累積値を取得する取得手段と、
    前記第1操作部材の操作から前記第2操作部材の操作に切り替え後、前記第2操作部材が操作されると、前記保存された情報処理装置のカーソルの位置及び前記取得された累積値に基づいて、現在のサーバのカーソルの位置を算出し、当該現在のサーバのカーソルの位置と現在の情報処理装置のカーソルの位置との差分を算出し、当該算出された差分と前記第2操作部材の操作による情報処理装置のカーソルの移動量との合算値を前記サーバに出力する制御手段と
    を備えることを特徴とする情報処理装置。
  11. 前記保存手段は、前記情報処理装置のカーソルの移動量と、前記サーバのカーソルの移動量と、当該情報処理装置のカーソルの移動量と当該サーバのカーソルの移動量とが一致するような、前記第2操作部材から出力される単一又は複数の操作データとの対応関係を示すテーブルデータを有し、
    前記制御手段は、前記テーブルデータに基づいて前記合算値に対応する単一又は複数の操作データを前記サーバに出力することを特徴とする請求項10に記載の情報処理装置。
  12. 前記KVMスイッチから前記サーバに出力されたデータの累積値は、前記サーバのカーソルの画像を抽出し、前記第1操作部材の操作より移動する前記抽出されたサーバのカーソルの画像の移動後の位置を検出し、前記抽出されたサーバのカーソルの画像の移動前の位置と前記検出されたサーバのカーソルの画像の移動後の位置とに基づいて、前記サーバのカーソルの移動量を算出することにより求められる算出値であることを特徴とする請求項10に記載の情報処理装置。
  13. 第1操作部材が接続されるKVMスイッチを介してサーバに接続されると共に、第2操作部材が接続され、前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動する前記サーバのカーソルとを含むウィンドウを表示する情報処理装置であって、
    前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を保存する保存手段と、
    前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段と
    を備えることを特徴とする情報処理装置。
  14. 前記制御手段は、前記情報処理装置のカーソルが前記ウィンドウの外部の移動中に、前記第1操作部材の操作により前記サーバのカーソルが移動された場合には、前記サーバのカーソルの移動前の座標と移動後の座標との差分を算出し、当該差分を前記保存手段に保存し、
    前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分と前記保存された差分と合成し、その合成値を前記サーバに出力することを特徴とする請求項13に記載の情報処理装置。
  15. 操作部材が接続された情報処理装置とサーバとの間に接続されるKVMスイッチであって、
    前記情報処理装置のカーソルの移動量を示すデータを入力する入力手段と、
    前記操作部材から出力される操作データと、当該操作データに従って移動する、前記情報処理装置の画面に表示される当該情報処理装置のカーソルの移動量と、当該情報処理装置のカーソルの移動に従って移動する、前記情報処理装置の画面に表示されるサーバのカーソルの移動量との対応関係及び前記入力手段により入力されたデータが示す情報処理装置のカーソルの移動量に基づいて、前記情報処理装置のカーソルの移動量と前記サーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出する検出手段と、
    前記検出手段で検出された単一又は複数の操作データをサーバに出力する出力手段と
    を備えていることを特徴とするKVMスイッチ。
  16. 前記検出手段は、
    前記操作データに従って移動する、前記情報処理装置のカーソルの移動量を算出する第1算出手段と、
    前記サーバのカーソルの画像を抽出する抽出手段と、
    前記操作データに従って移動する前記抽出されたサーバのカーソルの画像の移動後の位置を検出する位置検出手段と、
    前記抽出されたサーバのカーソルの画像の移動前の位置と前記検出されたサーバのカーソルの画像の移動後の位置とに基づいて、前記サーバのカーソルの移動量を算出する第2算出手段と、
    前記操作データと、前記第1算出手段により算出された情報処理装置のカーソルの移動量と、前記第2算出手段により算出されたサーバのカーソルの移動量との対応関係を示す第1テーブルデータを作成する第1作成手段と
    を備えることを特徴とする請求項15に記載のKVMスイッチ。
  17. 前記第1テーブルデータに基づいて、前記第1算出手段により算出された情報処理装置のカーソルの移動量と、前記第2算出手段により算出されたサーバのカーソルの移動量と、当該情報処理装置のカーソルの移動量と当該サーバのカーソルの移動量とが一致するような単一又は複数の操作データとの対応関係を示す第2テーブルデータを作成する第2作成手段をさらに備えることを特徴とする請求項16に記載のKVMスイッチ。
  18. 前記第1テーブルデータ又は前記第2テーブルデータを前記情報処理装置又は前記サーバから受信する受信手段を備えていることを特徴とする請求項17に記載のKVMスイッチ。
  19. 前記第1テーブルデータ又は前記第2テーブルデータを前記情報処理装置又は前記サーバに送信する送信手段を備えていることを特徴とする請求項17に記載のKVMスイッチ。
  20. 前記情報処理装置のカーソルの移動範囲を、前記サーバのカーソルが表示される、前記情報処理装置の画面内に設けられたウィンドウ内に制限する制限手段をさらに備えることを特徴とする請求項15乃至19のいずれか1項に記載のKVMスイッチ。
  21. 前記情報処理装置のカーソルの移動範囲の制限を有効にするか又は無効にするかを選択する選択手段をさらに備えることを特徴とする請求項20に記載のKVMスイッチ。
  22. 第1操作部材が接続されるKVMスイッチで、且つ第2操作部材が接続されると共に前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動するサーバのカーソルとを表示する情報処理装置、及び前記サーバに接続可能なKVMスイッチであって、
    前記第2操作部材の操作から前記第1操作部材の操作に切り替わったときの前記情報処理装置のカーソルの位置を前記情報処理装置から取得し保存すると共に前記第1操作部材の操作中に、前記KVMスイッチから前記サーバに出力されたデータの累積値を保存する保存手段と、
    前記第1操作部材の操作から前記第2操作部材の操作に切り替わったときの前記情報処理装置のカーソルの位置を前記情報処理装置から取得し、前記保存された情報処理装置のカーソルの位置及び前記取得された累積値に基づいて、現在のサーバのカーソルの位置を算出し、当該現在のサーバのカーソルの位置と前記第1操作部材の操作から前記第2操作部材の操作に切り替わったときの情報処理装置のカーソルの位置との差分を算出し、当該算出された差分と前記第2操作部材の操作による情報処理装置のカーソルの移動量との合算値を前記サーバに出力する制御手段と
    を備えることを特徴とするKVMスイッチ。
  23. 前記保存手段は、前記情報処理装置のカーソルの移動量と、前記サーバのカーソルの移動量と、当該情報処理装置のカーソルの移動量と当該サーバのカーソルの移動量とが一致するような、前記第2操作部材から出力される単一又は複数の操作データとの対応関係を示すテーブルデータを有し、
    前記制御手段は、前記テーブルデータに基づいて前記合算値に対応する単一又は複数の操作データを前記サーバに出力することを特徴とする請求項22に記載のKVMスイッチ。
  24. 第1操作部材が接続されるKVMスイッチで、且つ第2操作部材が接続されると共に前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動するサーバのカーソルとを表示する情報処理装置、及び前記サーバに接続可能なKVMスイッチであって、
    前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を前記情報処理装置から取得し保存する保存手段と、
    前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標を前記情報処理装置から取得し、当該取得されたウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段と
    を備えることを特徴とするKVMスイッチ。
  25. 前記制御手段は、前記情報処理装置のカーソルが前記ウィンドウの外部の移動中に、前記第1操作部材の操作により前記サーバのカーソルが移動された場合には、前記サーバのカーソルの移動前の座標と移動後の座標との差分を算出し、当該差分を前記保存手段に保存し、
    前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標を前記情報処理装置から取得し、当該取得されたウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分と前記保存された差分と合成し、その合成値を前記サーバに出力することを特徴とする請求項24に記載のKVMスイッチ。
  26. 操作部材が接続された情報処理装置とKVMスイッチを介して接続されるサーバであって、
    前記情報処理装置のカーソルの移動量を示すデータを入力する入力手段と、
    前記情報処理装置のカーソルの移動量を示すデータの入力順に基づいて、前記操作部材から出力される操作データを決定する決定手段と、
    前記決定された操作データと、当該操作データに従って移動する、前記情報処理装置の画面に表示される当該情報処理装置のカーソルの移動量と、当該情報処理装置のカーソルの移動に従って移動する、前記情報処理装置の画面に表示されるサーバのカーソルの移動量との対応関係及び前記入力手段により入力されたデータが示す情報処理装置のカーソルの移動量に基づいて、前記情報処理装置のカーソルの移動量と前記サーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出する検出手段と、
    前記検出手段で検出された単一又は複数の操作データに基づいて前記サーバのカーソルを移動させる移動手段と
    を備えていることを特徴とするサーバ。
  27. 前記検出手段は、
    前記入力手段により入力された情報処理装置のカーソルの移動量のデータに加速処理を実施し、前記サーバのカーソルの移動量を取得する取得手段と、
    前記決定手段により決定された操作データと、前記入力手段により入力された情報処理装置のカーソルの移動量と、前記取得手段により取得されたサーバのカーソルの移動量との対応関係を示す第1テーブルデータを作成する第1作成手段と
    を備えることを特徴とする請求項26に記載のサーバ。
  28. 前記第1テーブルデータに基づいて、前記入力手段により入力された情報処理装置のカーソルの移動量と、前記取得手段により取得されたサーバのカーソルの移動量と、当該情報処理装置のカーソルの移動量と当該サーバのカーソルの移動量とが一致するような単一又は複数の操作データとの対応関係を示す第2テーブルデータを作成する第2作成手段をさらに備えることを特徴とする請求項27に記載のサーバ。
  29. 前記第1テーブルデータ又は前記第2テーブルデータを前記情報処理装置又は前記KVMスイッチから受信する受信手段を備えていることを特徴とする請求項28に記載のサーバ。
  30. 前記第1テーブルデータ又は前記第2テーブルデータを前記情報処理装置又は前記KVMスイッチに送信する送信手段を備えていることを特徴とする請求項28に記載のサーバ。
  31. 情報処理装置を、
    操作部材から操作データを入力する入力手段、
    前記操作データと、当該操作データに従って移動する、情報処理装置の画面に表示される当該情報処理装置のカーソルの移動量と、当該情報処理装置のカーソルの移動に従って移動する、前記情報処理装置の画面内に設けられたウィンドウに表示されるサーバのカーソルの移動量との対応関係及び前記入力手段により入力された操作データに基づいて、前記情報処理装置のカーソルの移動量と前記サーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出する検出手段、及び
    前記検出手段で検出された単一又は複数の操作データをサーバに出力する出力手段
    として機能させることを特徴とする制御プログラム。
  32. 第1操作部材が接続されるKVMスイッチを介してサーバに接続されると共に、第2操作部材が接続され、前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動する前記サーバのカーソルとを表示する情報処理装置を、
    前記第2操作部材の操作から前記第1操作部材の操作に切り替わった時点の前記情報処理装置のカーソルの位置を保存する保存手段、
    前記第1操作部材の操作中に、前記KVMスイッチから前記サーバに出力されたデータの累積値を取得する取得手段、及び
    前記第1操作部材の操作から前記第2操作部材の操作に切り替え後、前記第2操作部材が操作されると、前記保存された情報処理装置のカーソルの位置及び前記取得された累積値に基づいて、現在のサーバのカーソルの位置を算出し、当該現在のサーバのカーソルの位置と現在の情報処理装置のカーソルの位置との差分を算出し、当該算出された差分と前記第2操作部材の操作による情報処理装置のカーソルの移動量との合算値を前記サーバに出力する制御手段
    として機能させることを特徴とする制御プログラム。
  33. 第1操作部材が接続されるKVMスイッチを介してサーバに接続されると共に、第2操作部材が接続され、前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動する前記サーバのカーソルとを含むウィンドウを表示する情報処理装置を、
    前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を保存する保存手段、及び
    前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段
    として機能させることを特徴とする制御プログラム。
  34. 操作部材が接続された情報処理装置とサーバとの間に接続されるKVMスイッチを、
    前記情報処理装置のカーソルの移動量を示すデータを入力する入力手段、
    前記操作部材から出力される操作データと、当該操作データに従って移動する、前記情報処理装置の画面に表示される当該情報処理装置のカーソルの移動量と、当該情報処理装置のカーソルの移動に従って移動する、前記情報処理装置の画面に表示されるサーバのカーソルの移動量との対応関係及び前記入力手段により入力されたデータが示す情報処理装置のカーソルの移動量に基づいて、前記情報処理装置のカーソルの移動量と前記サーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出する検出手段、及び
    前記検出手段で検出された単一又は複数の操作データをサーバに出力する出力手段
    として機能させることを特徴とする制御プログラム。
  35. 第1操作部材が接続されるKVMスイッチで、且つ第2操作部材が接続されると共に前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動するサーバのカーソルとを表示する情報処理装置、及び前記サーバに接続可能なKVMスイッチを、
    前記第2操作部材の操作から前記第1操作部材の操作に切り替わったときの前記情報処理装置のカーソルの位置を前記情報処理装置から取得し保存すると共に前記第1操作部材の操作中に、前記KVMスイッチから前記サーバに出力されたデータの累積値を保存する保存手段、及び
    前記第1操作部材の操作から前記第2操作部材の操作に切り替わったときの前記情報処理装置のカーソルの位置を前記情報処理装置から取得し、前記保存された情報処理装置のカーソルの位置及び前記取得された累積値に基づいて、現在のサーバのカーソルの位置を算出し、当該現在のサーバのカーソルの位置と前記第1操作部材の操作から前記第2操作部材の操作に切り替わったときの情報処理装置のカーソルの位置との差分を算出し、当該算出された差分と前記第2操作部材の操作による情報処理装置のカーソルの移動量との合算値を前記サーバに出力する制御手段
    として機能させることを特徴とする制御プログラム。
  36. 第1操作部材が接続されるKVMスイッチで、且つ第2操作部材が接続されると共に前記第2操作部材の操作により移動する情報処理装置のカーソルと前記第1操作部材及び前記第2操作部材のいずれかの操作によって移動するサーバのカーソルとを表示する情報処理装置、及び前記サーバに接続可能なKVMスイッチであって、
    前記第2操作部材の操作により前記情報処理装置のカーソルが前記ウィンドウの外部に移動するときに通過する前記ウィンドウの枠上の座標で、且つ前記サーバのカーソルの位置と前記情報処理装置のカーソルの位置とが一致する座標を前記情報処理装置から取得し保存する保存手段、及び
    前記情報処理装置のカーソルが前記ウィンドウの外部から前記ウィンドウに到達したときに、当該到達したウィンドウの枠上の座標を前記情報処理装置から取得し、当該取得されたウィンドウの枠上の座標と前記保存された座標との差分を算出し、当該差分を前記サーバに出力する制御手段
    として機能させることを特徴とする制御プログラム。
  37. 操作部材が接続された情報処理装置とKVMスイッチを介して接続されるサーバを、
    前記情報処理装置のカーソルの移動量を示すデータを入力する入力手段、
    前記情報処理装置のカーソルの移動量を示すデータの入力順に基づいて、前記操作部材から出力される操作データを決定する決定手段、
    前記決定された操作データと、当該操作データに従って移動する、前記情報処理装置の画面に表示される当該情報処理装置のカーソルの移動量と、当該情報処理装置のカーソルの移動に従って移動する、前記情報処理装置の画面に表示されるサーバのカーソルの移動量との対応関係及び前記入力手段により入力されたデータが示す情報処理装置のカーソルの移動量に基づいて、前記情報処理装置のカーソルの移動量と前記サーバのカーソルの移動量とが一致するような単一又は複数の操作データを検出する検出手段、及び
    前記検出手段で検出された単一又は複数の操作データに基づいて前記サーバのカーソルを移動させる移動手段
    として機能させることを特徴とする制御プログラム。
JP2007222925A 2007-08-29 2007-08-29 情報処理装置、kvmスイッチ、サーバ及び制御プログラム Active JP5127366B2 (ja)

Priority Applications (9)

Application Number Priority Date Filing Date Title
JP2007222925A JP5127366B2 (ja) 2007-08-29 2007-08-29 情報処理装置、kvmスイッチ、サーバ及び制御プログラム
US12/222,730 US8706922B2 (en) 2007-08-29 2008-08-14 Information processing apparatus, KVM switch, server, and computer readable medium
EP08163221.8A EP2031489B1 (en) 2007-08-29 2008-08-28 Information processing apparatus, KVM switch, server, and program
EP08163220.0A EP2031488B1 (en) 2007-08-29 2008-08-28 Information processing apparatus, KVM switch, server, and program
EP08163219.2A EP2031487B1 (en) 2007-08-29 2008-08-28 Information processing apparatus, KVM switch, server and program
KR1020080084465A KR100995461B1 (ko) 2007-08-29 2008-08-28 정보 처리 장치, kvm 스위치, 서버 및 기록 매체
CN2010102366279A CN101893941B (zh) 2007-08-29 2008-08-29 信息处理装置和kvm开关
CN2010102366283A CN101887317B (zh) 2007-08-29 2008-08-29 信息处理装置和kvm开关
CN2008102124569A CN101377724B (zh) 2007-08-29 2008-08-29 信息处理装置、kvm开关和服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2007222925A JP5127366B2 (ja) 2007-08-29 2007-08-29 情報処理装置、kvmスイッチ、サーバ及び制御プログラム

Related Child Applications (2)

Application Number Title Priority Date Filing Date
JP2012116921A Division JP5197868B2 (ja) 2012-05-22 2012-05-22 情報処理装置、kvmスイッチ及び制御プログラム
JP2012116920A Division JP5274688B2 (ja) 2012-05-22 2012-05-22 情報処理装置、kvmスイッチ及び制御プログラム

Publications (2)

Publication Number Publication Date
JP2009054114A true JP2009054114A (ja) 2009-03-12
JP5127366B2 JP5127366B2 (ja) 2013-01-23

Family

ID=40149668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2007222925A Active JP5127366B2 (ja) 2007-08-29 2007-08-29 情報処理装置、kvmスイッチ、サーバ及び制御プログラム

Country Status (5)

Country Link
US (1) US8706922B2 (ja)
EP (3) EP2031488B1 (ja)
JP (1) JP5127366B2 (ja)
KR (1) KR100995461B1 (ja)
CN (3) CN101377724B (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2014194644A (ja) * 2013-03-28 2014-10-09 Fujitsu Ltd 情報処理装置,情報処理方法及び情報処理プログラム
JP2015529353A (ja) * 2012-08-16 2015-10-05 リアル ヴィエヌシー リミテッド コンピューティング装置を遠隔制御する方法及びシステム
JP2015210714A (ja) * 2014-04-28 2015-11-24 富士通コンポーネント株式会社 プログラム、中継装置及び情報処理装置
CN112738422A (zh) * 2020-12-31 2021-04-30 威创集团股份有限公司 一种坐席画面显示系统及其显示方法

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8271704B2 (en) 2009-06-16 2012-09-18 International Business Machines Corporation Status information saving among multiple computers
CN102281308B (zh) * 2010-06-10 2016-01-20 盛乐信息技术(上海)有限公司 智能设备远程服务系统和方法及远程服务接入盒
US8704764B2 (en) * 2011-10-28 2014-04-22 Verizon Patent And Licensing Inc. Correcting client device inputs to a virtual machine
CN103516752B (zh) * 2012-06-25 2017-03-15 3M创新有限公司 一种终端设备及其执行的方法
US20150163282A1 (en) * 2012-07-10 2015-06-11 Avocent Huntsville Corp. System and method for accessing remote disk images using a vmedia client and through a remote access appliance
CN104067202B (zh) * 2012-12-31 2016-12-28 华为技术有限公司 鼠标同步的方法、装置和系统
CN103220339B (zh) * 2013-03-27 2016-01-13 北京奇虎科技有限公司 远程操作中的光标轨迹显示方法、装置和系统
TWI497400B (zh) * 2014-06-10 2015-08-21 Aten Int Co Ltd 自動辨識游標所在螢幕之方法
CN109002183B (zh) * 2017-06-07 2022-11-29 北京搜狗科技发展有限公司 一种信息输入的方法及装置
US11449213B1 (en) * 2021-02-26 2022-09-20 Citrix Systems, Inc. Host to client drag-and-drop operation

Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03225562A (ja) * 1990-01-31 1991-10-04 Nec Corp グラフィックスシステム
JPH05289843A (ja) * 1992-04-13 1993-11-05 Hitachi Ltd カーソル制御方法
JPH07200472A (ja) * 1993-12-13 1995-08-04 Internatl Business Mach Corp <Ibm> 通信会議をサポートするシステム及び方法
JPH10111760A (ja) * 1996-10-04 1998-04-28 Hitachi Ltd カーソル制御装置及びそのシステム
JPH10285450A (ja) * 1997-04-02 1998-10-23 Sony Corp 操作量記録装置及びカメラ装置
JP2000034384A (ja) * 1998-07-17 2000-02-02 Otsuka Chem Co Ltd 樹脂組成物及び摺動部材
JP2002525750A (ja) * 1998-09-22 2002-08-13 サイベックス コンピュータ プロダクツ コーポレーション パーソナルコンピュータにリモートアクセスするためのシステム
JP2003534685A (ja) * 2000-05-03 2003-11-18 サイベックス コンピューター プロダクツ コーポレイション ネットワークによるキーボード・ビデオ・マウス切り替えシステム
JP2005065944A (ja) * 2003-08-22 2005-03-17 Konica Minolta Medical & Graphic Inc 診断支援装置
JP2005266951A (ja) * 2004-03-16 2005-09-29 Fujitsu Component Ltd 切替え装置およびこの切替え装置を備えるコンピュータシステム
JP2006197299A (ja) * 2005-01-14 2006-07-27 Eiji Kamiya 携帯電話を用いたパソコンの遠隔操作システム

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2698685B2 (ja) 1990-03-27 1998-01-19 株式会社東芝 計算機システム遠隔操作装置
JPH0675695A (ja) 1992-06-26 1994-03-18 Sanyo Electric Co Ltd カーソル制御装置
US6115027A (en) * 1998-02-23 2000-09-05 Hewlett-Packard Company Synchronized cursor shared among a number of networked computer systems
ES2263238T3 (es) 1998-03-30 2006-12-01 F. Hoffmann-La Roche Ag Procedimiento para la preparacion de antagonistas alfail-adrenoceptores.
US7424551B2 (en) * 2001-03-29 2008-09-09 Avocent Corporation Passive video multiplexing method and apparatus priority to prior provisional application
US20040215743A1 (en) * 2003-03-04 2004-10-28 Soronti, Inc. Mouse synchronization for virtual presence architecture (VPA)
US8881023B2 (en) * 2003-07-07 2014-11-04 Avocent Utah Methods and apparatus for synchronizing virtual and physical mouse pointers on remote KVM systems
JP2007065944A (ja) 2005-08-31 2007-03-15 Hitachi Ltd 計算機情報の表示方法およびシステム
JP4754991B2 (ja) 2006-02-24 2011-08-24 三菱重工業株式会社 摩擦攪拌接合方法
US20070257883A1 (en) * 2006-05-05 2007-11-08 Aten International Co., Ltd. Cursor control system and method thereof
CN100397320C (zh) * 2006-07-31 2008-06-25 华为技术有限公司 一种kvm切换系统及其鼠标同步方法
JP5289843B2 (ja) 2008-07-04 2013-09-11 東洋鋼鈑株式会社 生体関連分子の相互作用を検出するための方法及びそれに用いる担体支持部材

Patent Citations (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH03225562A (ja) * 1990-01-31 1991-10-04 Nec Corp グラフィックスシステム
JPH05289843A (ja) * 1992-04-13 1993-11-05 Hitachi Ltd カーソル制御方法
JPH07200472A (ja) * 1993-12-13 1995-08-04 Internatl Business Mach Corp <Ibm> 通信会議をサポートするシステム及び方法
JPH10111760A (ja) * 1996-10-04 1998-04-28 Hitachi Ltd カーソル制御装置及びそのシステム
JPH10285450A (ja) * 1997-04-02 1998-10-23 Sony Corp 操作量記録装置及びカメラ装置
JP2000034384A (ja) * 1998-07-17 2000-02-02 Otsuka Chem Co Ltd 樹脂組成物及び摺動部材
JP2002525750A (ja) * 1998-09-22 2002-08-13 サイベックス コンピュータ プロダクツ コーポレーション パーソナルコンピュータにリモートアクセスするためのシステム
JP2003534685A (ja) * 2000-05-03 2003-11-18 サイベックス コンピューター プロダクツ コーポレイション ネットワークによるキーボード・ビデオ・マウス切り替えシステム
JP2005065944A (ja) * 2003-08-22 2005-03-17 Konica Minolta Medical & Graphic Inc 診断支援装置
JP2005266951A (ja) * 2004-03-16 2005-09-29 Fujitsu Component Ltd 切替え装置およびこの切替え装置を備えるコンピュータシステム
JP2006197299A (ja) * 2005-01-14 2006-07-27 Eiji Kamiya 携帯電話を用いたパソコンの遠隔操作システム

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2015529353A (ja) * 2012-08-16 2015-10-05 リアル ヴィエヌシー リミテッド コンピューティング装置を遠隔制御する方法及びシステム
US9772742B2 (en) 2012-08-16 2017-09-26 Realvnc Ltd System and method for remote controlling computing device
JP2014194644A (ja) * 2013-03-28 2014-10-09 Fujitsu Ltd 情報処理装置,情報処理方法及び情報処理プログラム
JP2015210714A (ja) * 2014-04-28 2015-11-24 富士通コンポーネント株式会社 プログラム、中継装置及び情報処理装置
CN112738422A (zh) * 2020-12-31 2021-04-30 威创集团股份有限公司 一种坐席画面显示系统及其显示方法

Also Published As

Publication number Publication date
EP2031487A2 (en) 2009-03-04
EP2031488A2 (en) 2009-03-04
KR100995461B1 (ko) 2010-11-18
EP2031489A2 (en) 2009-03-04
EP2031487A3 (en) 2009-12-30
EP2031489A3 (en) 2009-12-23
CN101377724B (zh) 2011-05-04
CN101893941A (zh) 2010-11-24
CN101887317B (zh) 2012-07-04
US8706922B2 (en) 2014-04-22
EP2031488B1 (en) 2016-03-02
EP2031489B1 (en) 2016-02-24
CN101377724A (zh) 2009-03-04
JP5127366B2 (ja) 2013-01-23
EP2031487B1 (en) 2013-08-07
CN101887317A (zh) 2010-11-17
KR20090023221A (ko) 2009-03-04
CN101893941B (zh) 2012-11-14
US20090058804A1 (en) 2009-03-05
EP2031488A3 (en) 2009-12-23

Similar Documents

Publication Publication Date Title
JP5127366B2 (ja) 情報処理装置、kvmスイッチ、サーバ及び制御プログラム
JP4475634B2 (ja) 情報処理装置および方法
JP5204286B2 (ja) 電子機器および入力方法
US9544524B2 (en) Remote controller, remote control system and program
JP2006244078A (ja) 表示制御装置及びその制御方法
JP2006260028A (ja) 遠隔操作システム、リモートコントローラ、遠隔操作方法、情報処理装置、情報処理方法、およびプログラム
JP2007226571A (ja) タッチパネル入力による電子機器装置、タッチパネルの入力操作を行うプログラム
KR101914207B1 (ko) 셋톱박스
JP5274688B2 (ja) 情報処理装置、kvmスイッチ及び制御プログラム
JP5197868B2 (ja) 情報処理装置、kvmスイッチ及び制御プログラム
JP5087031B2 (ja) 表示制御装置、入力操作装置、表示システム、及び管制システム
JPWO2014024281A1 (ja) 電子機器、表示制御方法及びプログラム
JP6624767B1 (ja) 情報処理システム及び情報処理方法
JP4811177B2 (ja) グラフ表示装置及びグラフ表示処理プログラム
JP2011008633A (ja) 情報処理装置および電子ファイル操作プログラム
US20220281115A1 (en) Screen image transition information generation device, screen image transition information generation method, screen image transition information generation program, and screen image transition information generation system
JP2007272755A (ja) 情報機器、表示装置および入力方法
JP5920839B2 (ja) 情報処理装置
JP2021033996A (ja) 情報処理システム及び情報処理方法
TWI505170B (zh) 操控應用程式的方法、其電子裝置、儲存媒體,及使用此方法之電腦程式產品
JP2010192978A (ja) 映像システム及び設定メニュー変更方法
JP2005050188A (ja) 表示画面更新方法及び表示画面更新装置
JP2011008595A (ja) プログラム、およびソフトウェア判定システム
JP2009157559A (ja) インタラクティブボード用プログラム、インタラクティブボードシステムおよびその制御方法

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100604

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20111201

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20111213

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120105

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120417

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120522

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

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121030

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

R150 Certificate of patent or registration of utility model

Ref document number: 5127366

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20151109

Year of fee payment: 3

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