(57)【特許請求の範囲】
【請求項１】
マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含む情報処理装置であって、
ＫＶＭスイッチを介して外部装置から前記第１の相対座標値データと、前記第１の相対座標値データへの前記第２の相対座標値データの追加の有効又は無効を示すフラグとを入力する入力手段と、
前記入力手段に入力された第１の相対座標値データを前記マウスドライバに送信すると共に、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記合算された相対座標値データを割り込み取得し、当該合算された相対座標値データから前記第２の相対座標値データを削除し、前記第１の相対座標値データを前記オペーレーティングシステムに送信する制御手段と
を備えることを特徴とする情報処理装置。
【請求項２】
前記第１の相対座標値データを、前記マウスドライバを介さずに前記オペーレーティングシステムに送信する送信手段をさらに備え、
前記制御手段は、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記第１の相対座標値データを前記送信手段に送信することを特徴とする請求項１に記載の情報処理装置。
【請求項３】
ＫＶＭスイッチを介して外部装置からマウスカーソルの移動先の座標を示す絶対座標値データを入力する入力手段と、
当該入力された絶対座標値データに絶対座標値データであることを示すフラグを設定する設定手段と、
前記フラグが絶対座標値データであることを示すか否かを判別する判別手段と、
前記フラグが絶対座標値データであることを示すと判別されたときに、前記絶対座標値データをオペーレーティングシステムに送信する絶対座標値送信手段と
を備えていることを特徴とする情報処理装置。
【請求項４】
マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含む情報処理装置であって、
前記合算された相対座標値データに基づいて移動されたマウスカーソルの移動後の座標を示す絶対座標値データを取得する取得手段と、
当該取得された絶対座標値データを前記ＫＶＭスイッチを介して前記外部装置に転送する転送手段と
を備えていることを特徴とする情報処理装置。
【請求項５】
現在のマウスカーソルの座標を示す第１の絶対座標値データを記憶する記憶手段と、
ＫＶＭスイッチを介して外部装置から当該マウスカーソルの移動距離及び移動方向を示す相対座標値データを入力する入力手段と、
前記記憶手段に記憶された第１の絶対座標値データに前記入力手段により入力された相対座標値データを加算し、当該マウスカーソルの移動先の座標を示す第２の絶対座標値データを算出する算出手段と、
前記算出された第２の絶対座標値データをオペーレーティングシステムに送信する送信手段と
を備えていることを特徴とする情報処理装置。
【請求項６】
マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含むサーバと、前記サーバに接続されるＫＶＭスイッチと、前記ＫＶＭスイッチに接続されると共に前記サーバの画面データを表示し、前記サーバに対して操作指示を行うクライアントとを備える遠隔システムであって、
前記ＫＶＭスイッチは、
前記クライアントから前記第１の相対座標値データを受信する受信手段と、
前記第１の相対座標値データへの前記第２の相対座標値データの追加の有効又は無効を示すフラグを設定する設定手段とを備え、
前記サーバは、
前記ＫＶＭスイッチから前記第１の相対座標値データと前記フラグとを入力する入力手段と、
前記入力手段に入力された第１の相対座標値データを前記マウスドライバに送信すると共に、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記合算された相対座標値データを割り込み取得し、当該合算された相対座標値データから前記第２の相対座標値データを削除し、前記第１の相対座標値データを前記オペーレーティングシステムに送信する制御手段とを備えることを特徴とする遠隔システム。
【請求項７】
前記サーバは、前記第１の相対座標値データを、前記マウスドライバを介さずに前記オペーレーティングシステムに送信する送信手段をさらに備え、
前記制御手段は、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記第１の相対座標値データを前記送信手段に送信することを特徴とする請求項６に記載の遠隔システム。
【請求項８】
サーバと、前記サーバに接続されるＫＶＭスイッチと、前記ＫＶＭスイッチに接続されると共に前記サーバの画面データを表示し、前記サーバに対して操作指示を行うクライアントとを備える遠隔システムであって、
前記ＫＶＭスイッチは、
前記クライアントからマウスカーソルの移動先の座標を示す絶対座標値データを受信する受信手段と、
前記絶対座標値データを前記サーバに送信する送信手段とを備え、
前記サーバは、
前記ＫＶＭスイッチから前記絶対座標値データを入力する入力手段と、
当該入力された絶対座標値データに絶対座標値データであることを示すフラグを設定する設定手段と、
前記フラグが絶対座標値データであることを示すか否かを判別する判別手段と、
前記フラグが絶対座標値データであることを示すと判別されたときに、前記絶対座標値データをオペーレーティングシステムに送信する絶対座標値送信手段と
を備えていることを特徴とする遠隔システム。
【請求項９】
マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含むサーバと、前記サーバに接続されるＫＶＭスイッチと、前記ＫＶＭスイッチに接続されると共に前記サーバの画面データを表示し、前記サーバに対して操作指示を行うクライアントとを備える遠隔システムであって、
前記ＫＶＭスイッチは、
前記クライアントから前記第１の相対座標値データを受信する受信手段と、
前記第１の相対座標値データへの前記第２の相対座標値データの追加の有効又は無効を示すフラグを設定する設定手段とを備え、
前記サーバは、
前記ＫＶＭスイッチから前記第１の相対座標値データ及び前記第２の相対座標値データの追加の有効を示すフラグを入力する入力手段と、
前記合算された相対座標値データに基づいて移動されたマウスカーソルの移動後の座標を示す絶対座標値データを取得する取得手段と、
当該取得された絶対座標値データを前記ＫＶＭスイッチを介して前記外部装置に転送する転送手段とを備え、
前記クライアントは、
前記ＫＶＭスイッチを介して前記サーバから取得した絶対座標値データに基づいて、前記マウスカーソルの位置を調整する調整手段
を備えていることを特徴とする遠隔システム。
【請求項１０】
サーバと、前記サーバに接続されるＫＶＭスイッチと、前記ＫＶＭスイッチに接続されると共に前記サーバの画面データを表示し、前記サーバに対して操作指示を行うクライアントとを備える遠隔システムであって、
前記ＫＶＭスイッチは、前記クライアント又は前記ＫＶＭスイッチに接続されるマウスから入力されたデータがマウスカーソルの移動先の座標を示す第２の絶対座標値データか又は当該マウスカーソルの移動距離及び移動方向を示す相対座標値データかを示す識別フラグを設定する設定手段と、
前記設定手段で設定された識別フラグ及び前記相対座標値データ又は前記第２の絶対座標値データを前記サーバに送信する第１送信手段とを備え、
前記サーバは、
現在の当該マウスカーソルの座標を示す第１の絶対座標値データを記憶する記憶手段と、
前記識別フラグ及び前記相対座標値データ又は前記第２の絶対座標値データを入力する入力手段と、
前記識別フラグが、前記クライアント又は前記ＫＶＭスイッチに接続されるマウスから入力されたデータが前記相対座標値データであることを示す場合に、前記記憶手段に記憶された第１の絶対座標値データに前記入力手段により入力された相対座標値データを加算し、前記第２の絶対座標値データを算出する算出手段と、
前記算出された第２の絶対座標値データを前記サーバのオペーレーティングシステムに送信する第２送信手段と
を備えていることを特徴とする遠隔システム。
【請求項１１】
前記識別フラグが、前記クライアント又は前記ＫＶＭスイッチに接続されるマウスから入力されたデータが前記第２の絶対値座標データであることを示す場合に、前記第２送信手段は、前記入力手段により入力された前記第２の絶対値座標データを前記サーバのオペーレーティングシステムに送信することを特徴とする請求項１０の遠隔システム。
【請求項１２】
マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含むコンピュータを、
ＫＶＭスイッチを介して外部装置から前記第１の相対座標値データと、前記第１の相対座標値データへの前記第２の相対座標値データの追加の有効又は無効を示すフラグとを入力する入力手段、及び
前記入力手段に入力された第１の相対座標値データを前記マウスドライバに送信すると共に、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記合算された相対座標値データを割り込み取得し、当該合算された相対座標値データから前記第２の相対座標値データを削除し、前記第１の相対座標値データを前記オペーレーティングシステムに送信する制御手段
として機能させることを特徴とするプログラム。
【請求項１３】
前記第１の相対座標値データを、前記マウスドライバを介さずに前記オペーレーティングシステムに送信する送信手段をさらに備え、
前記制御手段は、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記第１の相対座標値データを前記送信手段に送信することを特徴とする請求項１２に記載のプログラム。
【請求項１４】
コンピュータを、
ＫＶＭスイッチを介して外部装置からマウスカーソルの移動先の座標を示す絶対座標値データを入力する入力手段、
当該入力された絶対座標値データに絶対座標値データであることを示すフラグを設定する設定手段、
前記フラグが絶対座標値データであることを示すか否かを判別する判別手段、及び
前記フラグが絶対座標値データであることを示すと判別されたときに、前記絶対座標値データをオペーレーティングシステムに送信する絶対座標値送信手段
として機能させることを特徴とするプログラム。
【請求項１５】
マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含むコンピュータであって、
前記合算された相対座標値データに基づいて移動されたマウスカーソルの移動後の座標を示す絶対座標値データを取得する取得手段、及び
当該取得された絶対座標値データを前記ＫＶＭスイッチを介して前記外部装置に転送する転送手段
として機能させることを特徴とするプログラム。
【請求項１６】
コンピュータを、
現在のマウスカーソルの座標を示す第１の絶対座標値データを記憶する記憶手段、
ＫＶＭスイッチを介して外部装置から当該マウスカーソルの移動距離及び移動方向を示す相対座標値データを入力する入力手段、
前記記憶手段に記憶された第１の絶対座標値データに前記入力手段により入力された相対座標値データを加算し、当該マウスカーソルの移動先の座標を示す第２の絶対座標値データを算出する算出手段、及び
前記算出された第２の絶対座標値データをオペーレーティングシステムに送信する送信手段
として機能させることを特徴とするプログラム。
【請求項１７】
マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含むコンピュータを、
ＫＶＭスイッチを介して外部装置から前記第１の相対座標値データと、前記第１の相対座標値データへの前記第２の相対座標値データの追加の有効又は無効を示すフラグとを入力する入力手段、及び
前記入力手段に入力された第１の相対座標値データを前記マウスドライバに送信すると共に、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記合算された相対座標値データを割り込み取得し、当該合算された相対座標値データから前記第２の相対座標値データを削除し、前記第１の相対座標値データを前記オペーレーティングシステムに送信する制御手段
として機能させるためのプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項１８】
前記第１の相対座標値データを、前記マウスドライバを介さずに前記オペーレーティングシステムに送信する送信手段をさらに備え、
前記制御手段は、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記第１の相対座標値データを前記送信手段に送信することを特徴とする請求項１７に記載のコンピュータ読み取り可能な記録媒体。
【請求項１９】
コンピュータを、
ＫＶＭスイッチを介して外部装置からマウスカーソルの移動先の座標を示す絶対座標値データを入力する入力手段、
当該入力された絶対座標値データに絶対座標値データであることを示すフラグを設定する設定手段、
前記フラグが絶対座標値データであることを示すか否かを判別する判別手段、及び
前記フラグが絶対座標値データであることを示すと判別されたときに、前記絶対座標値データをオペーレーティングシステムに送信する絶対座標値送信手段
として機能させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２０】
マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含むコンピュータを、
前記合算された相対座標値データに基づいて移動されたマウスカーソルの移動後の座標を示す絶対座標値データを取得する取得手段、及び
当該取得された絶対座標値データを前記ＫＶＭスイッチを介して前記外部装置に転送する転送手段
として機能させるプログラムを記録したことを特徴とするコンピュータ読み取り可能な記録媒体。
【請求項２１】
コンピュータを、
現在のマウスカーソルの座標を示す第１の絶対座標値データを記憶する記憶手段、
ＫＶＭスイッチを介して外部装置から当該マウスカーソルの移動距離及び移動方向を示す相対座標値データを入力する入力手段、
前記記憶手段に記憶された第１の絶対座標値データに前記入力手段により入力された相対座標値データを加算し、当該マウスカーソルの移動先の座標を示す第２の絶対座標値データを算出する算出手段、及び
前記算出された第２の絶対座標値データをオペーレーティングシステムに送信する送信手段
として機能させるプログラムを記録したコンピュータ読み取り可能な記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ＫＶＭ（Ｋ：キーボード、Ｖ：ビデオ、Ｍ：マウス）スイッチを介してクライアントと接続される情報処理装置、遠隔システム、プログラム及びコンピュータ読み取り可能な記録媒体に関する。
【背景技術】
【０００２】
従来より、複数のクライアントと、複数のサーバと、これらの間の通信の切換を行うＫＶＭスイッチとを備えるシステムが知られている（例えば、特許文献１参照）。
【０００３】
この種のシステムでは、１台のクライアントが、ユーザによって選択されたサーバとＫＶＭスイッチを介して接続し、クライアントに接続されたモニタに、サーバの画面データを表示することができる。そして、クライアントのユーザは、クライアントに接続されたマウスを操作して、サーバの画面データ内に表示されているマウスカーソルを移動させることができる。
【特許文献１】特表２００３−５３４６８５号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、クライアントのユーザが、クライアントに接続されたマウスを操作して、サーバの画面データ内に表示されているマウスカーソルを移動させた場合に、クライアントのユーザが想像している以上にマウスカーソルが移動してしまう場合がある。
【０００５】
これは、サーバが、クライアントから受信した、相対座標で示されるマウスカーソルの移動量に対して、マウスの移動速度又移動加速度に基づくマウスカーソルの移動量を加算するためである。
【０００６】
また、ある種のソフトウエアはある特定のイベントによって、特定のＧＵＩ（Graphical User Interface）上などにマウスカーソルを移動させる機能を有している。この種のソフトウエアとして、マイクロソフト社のWindows （登録商標） OS（オペレーティングシステム）のマウスプロパティ（具体的には、「ポインタを自動的に既定のボタン上に移動する」の設定）などがある。この種のソフトウエアがサーバにインストールされ、機能が有効な状態となっている場合、ＧＵＩが表示されるアプリケーションを開くなどの、ある特定のイベントによってサーバの画面データ内に表示されているマウスカーソルが移動してしまう。この場合、クライアントが想定しているサーバの画面データ内に表示されているマウスカーソルの位置と、実際のサーバの画面データ内に表示されているマウスカーソルの位置とがずれてしまう場合がある。
【０００７】
本発明の目的は、マウスの移動速度又移動加速度に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる情報処理装置、遠隔システム、プログラム及びコンピュータ読み取り可能な記録媒体を提供することにある。
【課題を解決するための手段】
【０００８】
上記目的を達成するため、本発明の情報処理装置は、マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含む情報処理装置であって、ＫＶＭスイッチを介して外部装置から前記第１の相対座標値データと、前記第１の相対座標値データへの前記第２の相対座標値データの追加の有効又は無効を示すフラグとを入力する入力手段と、前記入力手段に入力された第１の相対座標値データを前記マウスドライバに送信すると共に、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記合算された相対座標値データを割り込み取得し、当該合算された相対座標値データから前記第２の相対座標値データを削除し、前記第１の相対座標値データを前記オペーレーティングシステムに送信する制御手段とを備えることを特徴とする。
【０００９】
かかる構成によれば、第１の相対座標値データに追加された第２の相対座標値データが削除されるので、マウスの移動速度又移動加速度に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。尚、入力手段及び制御手段は、専用デバイスドライバ１０２を実行するＣＰＵ１２１に相当する。
【００１０】
好ましくは、情報処理装置は、前記第１の相対座標値データを、前記マウスドライバを介さずに前記オペーレーティングシステムに送信する送信手段をさらに備え、前記制御手段は、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記第１の相対座標値データを前記送信手段に送信することを特徴とする。
【００１１】
かかる構成によれば、第１の相対座標値データは、マウスドライバを迂回して、制御手段及び送信手段を介してオペーレーティングシステムに送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。尚、送信手段は、専用アプリケーション１０５を実行するＣＰＵ１２１に相当する。
【００１２】
上記目的を達成するため、本発明の情報処理装置は、ＫＶＭスイッチを介して外部装置からマウスカーソルの移動先の座標を示す絶対座標値データを入力する入力手段と、当該入力された絶対座標値データに絶対座標値データであることを示すフラグを設定する設定手段と、前記フラグが絶対座標値データであることを示すか否かを判別する判別手段と、前記フラグが絶対座標値データであることを示すと判別されたときに、前記絶対座標値データをオペーレーティングシステムに送信する絶対座標値送信手段とを備えていることを特徴とする。
【００１３】
かかる構成によれば、絶対座標値データは、新たなデータが付加されることなく、オペーレーティングシステムに送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。尚、入力手段及び設定手段は、専用デバイスドライバ１０２を実行するＣＰＵ１２１に相当し、判別手段及び絶対座標値送信手段は、マウスクラスドライバ１０３を実行するＣＰＵ１２１に相当する。
【００１４】
上記目的を達成するため、本発明の情報処理装置は、マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含む情報処理装置であって、前記合算された相対座標値データに基づいて移動されたマウスカーソルの移動後の座標を示す絶対座標値データを取得する取得手段と、当該取得された絶対座標値データを前記ＫＶＭスイッチを介して前記外部装置に転送する転送手段とを備えていることを特徴とする。
【００１５】
かかる構成によれば、合算された相対座標値データに基づいてマウスカーソルが移動した場合でも、マウスカーソルの移動後の座標を示す絶対座標値データがＫＶＭスイッチを介して外部装置に転送されるので、外部装置は、当該絶対座標値データに基づいてマウスカーソルの位置を調整することができる。結果として、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。尚、取得手段は、専用アプリケーション１０５を実行するＣＰＵ１２１に相当し、転送手段は、専用アプリケーション１０５及び専用デバイスドライバ１０２を実行するＣＰＵ１２１に相当する。
【００１６】
上記目的を達成するため、本発明の情報処理装置は、現在のマウスカーソルの座標を示す第１の絶対座標値データを記憶する記憶手段と、ＫＶＭスイッチを介して外部装置から当該マウスカーソルの移動距離及び移動方向を示す相対座標値データを入力する入力手段と、前記記憶手段に記憶された第１の絶対座標値データに前記入力手段により入力された相対座標値データを加算し、当該マウスカーソルの移動先の座標を示す第２の絶対座標値データを算出する算出手段と、前記算出された第２の絶対座標値データをオペーレーティングシステムに送信する送信手段とを備えていることを特徴とする。
【００１７】
かかる構成によれば、第２の絶対座標値データは、新たなデータが付加されることなく、オペーレーティングシステムに送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。尚、記憶手段は、ＲＡＭ１２３又はＨＤＤ１２４に相当し、入力手段、算出手段及び送信手段は、専用デバイスドライバ１０２を実行するＣＰＵ１２１に相当する。
【００１８】
上記目的を達成するため、本発明の遠隔システムは、マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含むサーバと、前記サーバに接続されるＫＶＭスイッチと、前記ＫＶＭスイッチに接続されると共に前記サーバの画面データを表示し、前記サーバに対して操作指示を行うクライアントとを備える遠隔システムであって、前記ＫＶＭスイッチは、前記クライアントから前記第１の相対座標値データを受信する受信手段と、前記第１の相対座標値データへの前記第２の相対座標値データの追加の有効又は無効を示すフラグを設定する設定手段とを備え、前記サーバは、前記ＫＶＭスイッチから前記第１の相対座標値データと前記フラグとを入力する入力手段と、前記入力手段に入力された第１の相対座標値データを前記マウスドライバに送信すると共に、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記合算された相対座標値データを割り込み取得し、当該合算された相対座標値データから前記第２の相対座標値データを削除し、前記第１の相対座標値データを前記オペーレーティングシステムに送信する制御手段とを備えることを特徴とする。
【００１９】
かかる構成によれば、マウスの移動距離及び移動方向を示す第１の相対座標値データに追加された第２の相対座標値データが削除されるので、マウスの移動速度又移動加速度に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。尚、受信手段及び設定手段は、制御部２０３に相当し、入力手段及び制御手段は、専用デバイスドライバ１０２を実行するＣＰＵ１２１に相当する。
【００２０】
好ましくは、前記サーバは、前記第１の相対座標値データを、前記マウスドライバを介さずに前記オペーレーティングシステムに送信する送信手段をさらに備え、前記制御手段は、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記第１の相対座標値データを前記送信手段に送信することを特徴とする。
【００２１】
かかる構成によれば、第１の相対座標値データは、追加手段を迂回して、制御手段及び送信手段を介してオペーレーティングシステムに送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【００２２】
上記目的を達成するため、本発明の遠隔システムは、サーバと、前記サーバに接続されるＫＶＭスイッチと、前記ＫＶＭスイッチに接続されると共に前記サーバの画面データを表示し、前記サーバに対して操作指示を行うクライアントとを備える遠隔システムであって、前記ＫＶＭスイッチは、前記クライアントからマウスカーソルの移動先の座標を示す絶対座標値データを受信する受信手段と、前記絶対座標値データを前記サーバに送信する送信手段とを備え、前記サーバは、前記ＫＶＭスイッチから前記絶対座標値データを入力する入力手段と、当該入力された絶対座標値データに絶対座標値データであることを示すフラグを設定する設定手段と、前記フラグが絶対座標値データであることを示すか否かを判別する判別手段と、前記フラグが絶対座標値データであることを示すと判別されたときに、前記絶対座標値データをオペーレーティングシステムに送信する絶対座標値送信手段とを備えていることを特徴とする。
【００２３】
かかる構成によれば、絶対座標値データは、新たなデータが付加されることなく、オペーレーティングシステムに送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。尚、受信手段及び送信手段は、制御部２０３に相当し、入力手段及び設定手段は、専用デバイスドライバ１０２を実行するＣＰＵ１２１に相当し、判別手段及び絶対座標値送信手段は、マウスクラスドライバ１０３を実行するＣＰＵ１２１に相当する。
【００２４】
上記目的を達成するため、本発明の遠隔システムは、マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含むサーバと、前記サーバに接続されるＫＶＭスイッチと、前記ＫＶＭスイッチに接続されると共に前記サーバの画面データを表示し、前記サーバに対して操作指示を行うクライアントとを備える遠隔システムであって、前記ＫＶＭスイッチは、前記クライアントから前記第１の相対座標値データを受信する受信手段と、前記第１の相対座標値データへの前記第２の相対座標値データの追加の有効又は無効を示すフラグを設定する設定手段とを備え、前記サーバは、前記ＫＶＭスイッチから前記第１の相対座標値データ及び前記第２の相対座標値データの追加の有効を示すフラグを入力する入力手段と、前記合算された相対座標値データに基づいて移動されたマウスカーソルの移動後の座標を示す絶対座標値データを取得する取得手段と、当該取得された絶対座標値データを前記ＫＶＭスイッチを介して前記外部装置に転送する転送手段とを備え、前記クライアントは、前記ＫＶＭスイッチを介して前記サーバから取得した絶対座標値データに基づいて、前記マウスカーソルの位置を調整する調整手段を備えていることを特徴とする。
【００２５】
かかる構成によれば、合算された相対座標値データに基づいてマウスカーソルが移動した場合でも、マウスカーソルの移動後の座標を示す絶対座標値データがＫＶＭスイッチを介してクライアントに転送され、クライアントは、当該絶対座標値データに基づいてマウスカーソルの位置を調整する。よって、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。尚、受信手段及び設定手段は、制御部２０３に相当し、入力手段及び取得手段は、専用アプリケーション１０５を実行するＣＰＵ１２１に相当し、転送手段は、専用アプリケーション１０５及び専用デバイスドライバ１０２を実行するＣＰＵ１２１に相当し、調整手段は、ＯＳ４０５を実行するＣＰＵ４２１に相当する。
【００２６】
上記目的を達成するため、本発明の遠隔システムは、サーバと、前記サーバに接続されるＫＶＭスイッチと、前記ＫＶＭスイッチに接続されると共に前記サーバの画面データを表示し、前記サーバに対して操作指示を行うクライアントとを備える遠隔システムであって、前記ＫＶＭスイッチは、前記クライアント又は前記ＫＶＭスイッチに接続されるマウスから入力されたデータがマウスカーソルの移動先の座標を示す第２の絶対座標値データか又は当該マウスカーソルの移動距離及び移動方向を示す相対座標値データかを示す識別フラグを設定する設定手段と、前記設定手段で設定された識別フラグ及び前記相対座標値データ又は前記第２の絶対座標値データを前記サーバに送信する第１送信手段とを備え、前記サーバは、現在の当該マウスカーソルの座標を示す第１の絶対座標値データを記憶する記憶手段と、前記識別フラグ及び前記相対座標値データ又は前記第２の絶対座標値データを入力する入力手段と、前記識別フラグが、前記クライアント又は前記ＫＶＭスイッチに接続されるマウスから入力されたデータが前記相対座標値データであることを示す場合に、前記記憶手段に記憶された第１の絶対座標値データに前記入力手段により入力された相対座標値データを加算し、前記第２の絶対座標値データを算出する算出手段と、前記算出された第２の絶対座標値データを前記サーバのオペーレーティングシステムに送信する第２送信手段とを備えていることを特徴とする。
【００２７】
かかる構成によれば、第２の絶対座標値データは、新たなデータが付加されることなく、オペーレーティングシステムに送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。尚、設定手段及び第１送信手段は、制御部２０３に相当し、記憶手段は、ＲＡＭ１２３又はＨＤＤ１２４に相当し、入力手段、算出手段及び第２送信手段は、専用デバイスドライバ１０２を実行するＣＰＵ１２１に相当する。
【００２８】
好ましくは、前記識別フラグが、前記クライアント又は前記ＫＶＭスイッチに接続されるマウスから入力されたデータが前記第２の絶対値座標データであることを示す場合に、前記第２送信手段は、前記入力手段により入力された前記第２の絶対値座標データを前記サーバのオペーレーティングシステムに送信することを特徴とする。
【００２９】
かかる構成によれば、第２の絶対座標値データを算出する処理を行う必要がなくなり、処理時間を削減できる。
【００３０】
上記目的を達成するため、本発明のプログラムは、マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含むコンピュータを、ＫＶＭスイッチを介して外部装置から前記第１の相対座標値データと、前記第１の相対座標値データへの前記第２の相対座標値データの追加の有効又は無効を示すフラグとを入力する入力手段、及び前記入力手段に入力された第１の相対座標値データを前記マウスドライバに送信すると共に、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記合算された相対座標値データを割り込み取得し、当該合算された相対座標値データから前記第２の相対座標値データを削除し、前記第１の相対座標値データを前記オペーレーティングシステムに送信する制御手段として機能させることを特徴とする。
【００３１】
かかる構成によれば、第１の相対座標値データに追加された第２の相対座標値データが削除されるので、マウスの移動速度又移動加速度に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【００３２】
上記目的を達成するため、本発明のプログラムは、前記第１の相対座標値データを、前記マウスドライバを介さずに前記オペーレーティングシステムに送信する送信手段をさらに備え、前記制御手段は、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記第１の相対座標値データを前記送信手段に送信することを特徴とする。
【００３３】
かかる構成によれば、第１の相対座標値データは、マウスドライバを迂回して、制御手段及び送信手段を介してオペーレーティングシステムに送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【００３４】
上記目的を達成するため、本発明のプログラムは、コンピュータを、ＫＶＭスイッチを介して外部装置からマウスカーソルの移動先の座標を示す絶対座標値データを入力する入力手段、当該入力された絶対座標値データに絶対座標値データであることを示すフラグを設定する設定手段、前記フラグが絶対座標値データであることを示すか否かを判別する判別手段、及び前記フラグが絶対座標値データであることを示すと判別されたときに、前記絶対座標値データをオペーレーティングシステムに送信する絶対座標値送信手段として機能させることを特徴とする。
【００３５】
かかる構成によれば、絶対座標値データは、新たなデータが付加されることなく、オペーレーティングシステムに送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【００３６】
上記目的を達成するため、本発明のプログラムは、マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含むコンピュータであって、前記合算された相対座標値データに基づいて移動されたマウスカーソルの移動後の座標を示す絶対座標値データを取得する取得手段、及び当該取得された絶対座標値データを前記ＫＶＭスイッチを介して前記外部装置に転送する転送手段として機能させることを特徴とする。
【００３７】
かかる構成によれば、合算された相対座標値データに基づいてマウスカーソルが移動した場合でも、マウスカーソルの移動後の座標を示す絶対座標値データがＫＶＭスイッチを介して外部装置に転送されるので、外部装置は、当該絶対座標値データに基づいてマウスカーソルの位置を調整することができる。結果として、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【００３８】
上記目的を達成するため、本発明のプログラムは、コンピュータを、現在のマウスカーソルの座標を示す第１の絶対座標値データを記憶する記憶手段、ＫＶＭスイッチを介して外部装置から当該マウスカーソルの移動距離及び移動方向を示す相対座標値データを入力する入力手段、前記記憶手段に記憶された第１の絶対座標値データに前記入力手段により入力された相対座標値データを加算し、当該マウスカーソルの移動先の座標を示す第２の絶対座標値データを算出する算出手段、及び前記算出された第２の絶対座標値データをオペーレーティングシステムに送信する送信手段として機能させることを特徴とする。
【００３９】
かかる構成によれば、第２の絶対座標値データは、新たなデータが付加されることなく、オペーレーティングシステムに送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【００４０】
上記目的を達成するため、本発明のコンピュータ読み取り可能な記録媒体は、マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含むコンピュータを、ＫＶＭスイッチを介して外部装置から前記第１の相対座標値データと、前記第１の相対座標値データへの前記第２の相対座標値データの追加の有効又は無効を示すフラグとを入力する入力手段、及び前記入力手段に入力された第１の相対座標値データを前記マウスドライバに送信すると共に、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記合算された相対座標値データを割り込み取得し、当該合算された相対座標値データから前記第２の相対座標値データを削除し、前記第１の相対座標値データを前記オペーレーティングシステムに送信する制御手段として機能させるためのプログラムを記録したことを特徴とする。
【００４１】
かかる構成によれば、第１の相対座標値データに追加された第２の相対座標値データが削除されるので、マウスの移動速度又移動加速度に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【００４２】
上記目的を達成するため、本発明のコンピュータ読み取り可能な記録媒体は、前記第１の相対座標値データを、前記マウスドライバを介さずに前記オペーレーティングシステムに送信する送信手段をさらに備え、前記制御手段は、前記フラグが前記第２の相対座標値データの追加の無効を示す場合に、前記第１の相対座標値データを前記送信手段に送信することを特徴とする。
【００４３】
かかる構成によれば、第１の相対座標値データは、マウスドライバを迂回して、制御手段及び送信手段を介してオペーレーティングシステムに送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【００４４】
上記目的を達成するため、本発明のコンピュータ読み取り可能な記録媒体は、コンピュータを、ＫＶＭスイッチを介して外部装置からマウスカーソルの移動先の座標を示す絶対座標値データを入力する入力手段、当該入力された絶対座標値データに絶対座標値データであることを示すフラグを設定する設定手段、前記フラグが絶対座標値データであることを示すか否かを判別する判別手段、及び前記フラグが絶対座標値データであることを示すと判別されたときに、前記絶対座標値データをオペーレーティングシステムに送信する絶対座標値送信手段として機能させるプログラムを記録したことを特徴とする。
【００４５】
かかる構成によれば、絶対座標値データは、新たなデータが付加されることなく、オペーレーティングシステムに送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【００４６】
上記目的を達成するため、本発明のコンピュータ読み取り可能な記録媒体は、マウスカーソルの移動距離及び移動方向を示す第１の相対座標値データに対して第２の相対座標値データを追加し、その合算された相対座標値データをオペーレーティングシステムに送信するマウスドライバを含むコンピュータを、前記合算された相対座標値データに基づいて移動されたマウスカーソルの移動後の座標を示す絶対座標値データを取得する取得手段、及び当該取得された絶対座標値データを前記ＫＶＭスイッチを介して前記外部装置に転送する転送手段として機能させるプログラムを記録したことを特徴とする。
【００４７】
かかる構成によれば、合算された相対座標値データに基づいてマウスカーソルが移動した場合でも、マウスカーソルの移動後の座標を示す絶対座標値データがＫＶＭスイッチを介して外部装置に転送されるので、外部装置は、当該絶対座標値データに基づいてマウスカーソルの位置を調整することができる。結果として、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【００４８】
上記目的を達成するため、本発明のコンピュータ読み取り可能な記録媒体は、コンピュータを、現在のマウスカーソルの座標を示す第１の絶対座標値データを記憶する記憶手段、ＫＶＭスイッチを介して外部装置から当該マウスカーソルの移動距離及び移動方向を示す相対座標値データを入力する入力手段、前記記憶手段に記憶された第１絶対座標値データに前記入力手段により入力された相対座標値データを加算し、当該マウスカーソルの移動先の座標を示す第２の絶対座標値データを算出する算出手段、及び前記算出された第２の絶対座標値データをオペーレーティングシステムに送信する送信手段として機能させるプログラムを記録したことを特徴とする。
【００４９】
かかる構成によれば、第２の絶対座標値データは、新たなデータが付加されることなく、オペーレーティングシステムに送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【発明の効果】
【００５０】
本発明によれば、マウスの移動速度又移動加速度に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【発明を実施するための最良の形態】
【００５１】
以下、図面を参照しながら本発明の実施の形態を説明する。
【００５２】
（第１の実施の形態）
図１は、第１の実施の形態に係る情報処理装置を含む遠隔システムの概略構成図である。
【００５３】
同図において、遠隔システム１０００は、情報処理装置としてのサーバ１、ＫＶＭスイッチ２及び外部装置としてのクライアント４を備えている。サーバ１は、シリアルケーブル１１を介してＫＶＭスイッチ２に接続されている。クライアント４は、ネットワーク３及びＬＡＮケーブル１２を介してＫＶＭスイッチ２に接続されている。図１においては、遠隔システム１０００は、サーバ１及びクライアント４を備えているが、複数のサーバ及び複数のクライアントを備えていてもよい。
【００５４】
サーバ１は、シリアルケーブル１１が接続される通信インターフェース（Ｉ／Ｆ）１０１と、ＫＶＭスイッチ２から受信したパケットから、マウスカーソルの移動量及び移動方向を示すカーソル移動量データ、及びマウスのボタンが押下されているか否かを示すボタンデータを抽出し、それらをマウスクラスドライバ１０３に出力すると共に、マウスクラスドライバ１０３が出力するカーソル移動量データ及びボタンデータを割り込み取得する専用デバイスドライバ１０２と、専用デバイスドライバ１０２から取得したカーソル移動量データに加速度／速度処理によるカーソル移動量を追加するマウスクラスドライバ１０３と、専用デバイスドライバ１０２から受信したカーソル移動量データに基づいてマウスカーソルの移動を実行するオペレーティング・システム（ＯＳ）１０４とを備えている。ＯＳ１０４は、Windows（登録商標）、UNIX（登録商標）、又はMAC OSなどであるが、本発明では、主としてWindows（登録商標）を利用する。
【００５５】
尚、加速度／速度処理とは、サーバ１が、ＫＶＭスイッチ２を介してクライアント４から受信した、相対座標で示されるマウスカーソルの移動量に対して、マウスの移動速度又移動加速度に基づくマウスカーソルの移動量を加算する処理である。
【００５６】
ＫＶＭスイッチ２は、シリアルケーブル１１を介してサーバ１から画面データを受信すると共に、カーソル移動量データ及びボタンデータを含むパケットをサーバ１に送信する通信Ｉ／Ｆ２０１と、マウスカーソルの絶対座標値及びキーボート５からのキーコードをクライアント４から受信すると共にサーバ１からの画面データをクライアント４に送信する通信Ｉ／Ｆ２０２と、各種の処理を実行すると共に通信通信Ｉ／Ｆ２０１，２０２を含む装置全体を制御する制御部２０３と、各種データを記憶するメモリ２０４とを備えている。制御部２０３はマイコンで構成され、メモリ２０４はハードディスクドライブ又は不揮発性のメモリで構成されている。また、ＫＶＭスイッチ２は、マウスカーソルの絶対座標値、キーボート５からのキーコード及びサーバ１からの画面データをＩＰパケットのデータとしてクライアント４との間で通信するＩＰ−ＫＶＭスイッチである。
【００５７】
尚、通信Ｉ／Ｆ２０１及び通信Ｉ／Ｆ２０２の個数は、１つに限定されてるものではなく、複数あってもよい。
【００５８】
クライアント４は、マウスカーソルの絶対座標値及びキーボート５からのキーコードをネットワーク３を介してＫＶＭスイッチ２に送信すると共にサーバ１の画面データをネットワーク３を介してＫＶＭスイッチ２から受信する通信Ｉ／Ｆ４０１と、キーボード５からのキーコードを受信するキーボード用Ｉ／Ｆ４０２と、マウス６からのマウスデータを受信するマウス用Ｉ／Ｆ４０３と、モニタ７にサーバ１の画面データを出力するモニタ用Ｉ／Ｆ４０４と、キーボード５、マウス６、及びモニタ７を制御する複数のデバイスドライバを含むＯＳ４０５と、サーバ１の画面データをモニタ７に表示させ、遠隔操作を実行するための遠隔操作用アプリケーション４０６とを備えている。
【００５９】
ＯＳ４０５は、通信Ｉ／Ｆ４０１からサーバ１の画面データを受信し、遠隔操作用アプリケーション４０６に出力する。また、ＯＳ４０５は、キーボード用Ｉ／Ｆ４０２からキーコードを受信し、遠隔操作用アプリケーション４０６に出力すると共に、マウス用Ｉ／Ｆ４０３からマウスデータを受信し、これに基づいてマウスカーソルの絶対座標値を遠隔操作用アプリケーション４０６に出力する。さらに、ＯＳ４０５は、遠隔操作用アプリケーション４０６からキーコード及びマウスカーソルの絶対座標値を受信し、通信Ｉ／Ｆ４０１に出力する。
【００６０】
図２（Ａ）は、サーバ１のハードウエア構成を示すブロック図であり、図２（Ｂ）は、クライアント４のハードウエア構成を示すブロック図である。
【００６１】
サーバ１は、通信Ｉ／Ｆ１０１と、装置全体を制御するＣＰＵ１２１と、制御プログラムを備えるＲＯＭ１２２と、ワーキングエリアとして機能するＲＡＭ１２３と、専用デバイスドライバ１０２、マウスクラスドライバ１０３、ＯＳ１０４、及び各種の情報やプログラムを備えるハードディスクドライブ（ＨＤＤ）１２４と、ＰＳ／２用Ｉ／Ｆ１２５と、不図示のＵＳＢ機器と接続するためのＵＳＢ（universal serial bus）用Ｉ／Ｆ１２６とを備えている。ＣＰＵ１２１は、システムバス１２７を介して、通信Ｉ／Ｆ１０１、ＲＯＭ１２２、ＲＡＭ１２３、ＨＤＤ１２４、ＰＳ／２用Ｉ／Ｆ１２５、及びＵＳＢ用Ｉ／Ｆ１２６に接続されている。
【００６２】
尚、専用デバイスドライバ１０２、マウスクラスドライバ１０３、又はＯＳ１０４が実行する処理は、ＣＰＵ１２１が、専用デバイスドライバ１０２、マウスクラスドライバ１０３、又はＯＳ１０４を適宜ＨＤＤ１２４から読み出し実行することで実現される。
【００６３】
クライアント４は、通信Ｉ／Ｆ４０１と、キーボード用Ｉ／Ｆ４０２と、マウス用Ｉ／Ｆ４０３と、モニタ用Ｉ／Ｆ４０４と、装置全体を制御するＣＰＵ４２１と、制御プログラムを備えるＲＯＭ４２２と、ワーキングエリアとして機能するＲＡＭ４２３と、ＯＳ４０５、遠隔操作用アプリケーション４０６、及び各種の情報やプログラムを備えるハードディスクドライブ（ＨＤＤ）４２４と、不図示のＵＳＢ機器と接続するためのＵＳＢ用Ｉ／Ｆ４２５とを備えている。ＣＰＵ４２１は、システムバス４２６を介して、通信Ｉ／Ｆ４０１、キーボード用Ｉ／Ｆ４０２、マウス用Ｉ／Ｆ４０３、モニタ用Ｉ／Ｆ４０４、ＲＯＭ４２２、ＲＡＭ４２３、ＨＤＤ４２４、及びＵＳＢ用Ｉ／Ｆ４２５に接続されている。
【００６４】
尚、ＯＳ４０５又は遠隔操作用アプリケーション４０６が実行する処理は、ＣＰＵ４２１が、ＯＳ４０５又は遠隔操作用アプリケーション４０６を適宜ＨＤＤ４２４から読み出し実行することで実現される。
【００６５】
図３（Ａ）は、遠隔操作アプリケーション４０６を表示するモニタ７の画面の一例を示す図であり、図３（Ｂ）は、サーバ１の画面の一例を示す図である。
【００６６】
図３（Ａ）に示すように、サーバ１の画面は、遠隔操作アプリケーション４０６に表示される。クライアント４のユーザが、この遠隔操作アプリケーション４０６上で、マウスを移動させると、サーバ１の画面のマウスカーソルが移動する。尚、図３（Ａ），（Ｂ）において、マウスカーソルは黒点で示す。
【００６７】
図３（Ａ），（Ｂ）では、遠隔操作アプリケーション４０６及びサーバ１の画面の左上端を原点（点Ｏ）とし、右下端を点Ｎとする。点Ｏの座標を（０，０）とし、点Ｎの座標を（４００，２００）とする。
【００６８】
以下の説明では、初期状態で、点Ａの座標（２００，１００）にマウスカーソルがあり、クライアント４のユーザが、マウス６を操作して、このマウスカーソルを点Ｂの座標（３００，５０）に移動させる場合を考える。
【００６９】
尚、点Ｏの座標（０，０）、点Ｎの座標（４００，２００）、点Ａの座標（２００，１００）、及び点Ｂの座標（３００，５０）は、いずれも絶対座標値である。
【００７０】
図４は、クライアント４、ＫＶＭスイッチ２及びサーバ１で実行される処理のシーケンスを示す図である。
【００７１】
前提として、点Ａの座標（２００，１００）（絶対座標値）が既にＫＶＭスイッチ２のメモリ２０４に保持されているものとする。
【００７２】
クライアント４の遠隔操作アプリケーション４０６を実行するＣＰＵ４２１は、マウスカーソルの絶対座標値を取得し（ステップＳ１）、ＫＶＭスイッチ２にそのマウスカーソルの絶対座標値を送信する（ステップＳ２）。ここでは、マウスカーソルが点Ａの座標（２００，１００）から点Ｂの座標（３００，５０）へ移動する場合を考えているので、ＣＰＵ４２１は、ＫＶＭスイッチ２に点Ｂの座標（３００，５０）を送信する。このとき、マウス６のボタンが押下（クリック）されていれば、ＣＰＵ４２１は、押下されたボタン及び押下されたことを示すボタンデータもＫＶＭスイッチ２に送信する。
【００７３】
ＫＶＭスイッチ２の制御部２０３は、クライアント４からマウスカーソルの絶対座標値を受信する（ステップＳ３）。ここでは、制御部２０３は、点Ｂの座標（３００，５０）を受信し、ボタンデータが送信されている場合には、そのボタンデータも受信する。
【００７４】
制御部２０３は、予めメモリ２０４に保持されている点Ａの座標（２００，１００）と受信した点Ｂの座標（３００，５０）に基づいて、マウスカーソルの相対移動量（具体的には、点Ｂの座標−点Ａの座標＝（１００，−５０）となる）を算出する。制御部２０３は、算出されたカーソル移動量データ（即ち、相対座標値データ）と、ボタンデータと、加速無効化フラグとをまとめて、マウスパケットを作成する（ステップＳ４）。ここで作成されたマウスパケットは、図５のようになる。クライアント４からマウスホイールの移動量を示すマウスホイール移動量データが送信されてきた場合には、マウスパケットは、さらに、マウスホイール移動量データを備えていてもよい。
【００７５】
加速無効化フラグは、サーバ１のマウスクラスドライバ１０３で実行される加速度／速度処理を無効化するフラグである。この加速無効化フラグは、マウスパケットを構成する所定の位置のビット（例えば１バイト目の３番目のビット）がその機能を実現する。例えばマウスパケットの１バイト目の３番目のビットが加速無効化フラグである場合は、当該ビットが「０」に設定されると、加速度／速度処理が無効化される。一方、当該ビットが「１」に設定されると、加速度／速度処理が有効化される。
【００７６】
本実施の形態では、加速度／速度処理を無効化するため、制御部２０３は、加速無効化フラグに「０」を設定する。
【００７７】
制御部２０３は、作成したマウスパケットをサーバ１の専用デバイスドライバ１０２に送信する（ステップＳ５）。
【００７８】
専用デバイスドライバ１０２は、マウスパケットを受信し（ステップＳ６）、受信したマウスパケットを分解する（ステップＳ７）。専用デバイスドライバ１０２は、加速無効化フラグが「０」であるか否かを判別する（ステップＳ８）。加速無効化フラグが「０」である場合には、専用デバイスドライバ１０２は、後述するステップＳ１３，Ｓ１４の処理を実行し、加速無効化フラグが「１」である場合には、専用デバイスドライバ１０２は、後述するステップＳ１３，Ｓ１４の処理を実行しない。
【００７９】
専用デバイスドライバ１０２は、マウスパケットの分解により得られたカーソル移動量データ及びボタンデータをマウスクラスドライバ１０３に送信する（ステップＳ９）。
【００８０】
マウスクラスドライバ１０３は、カーソル移動量データ及びボタンデータを専用デバイスドライバ１０２から受信する（ステップＳ１０）。マウスクラスドライバ１０３は、受信したカーソル移動量データに対して、マウスカーソルの加速度／速度処理を実行する（ステップＳ１１）。マウスカーソルの加速度／速度処理の実行後のカーソル移動量データは、受信したカーソル移動量データに、当該処理により生じるカーソル移動量データを付加したものである。
【００８１】
マウスクラスドライバ１０３は、マウスカーソルの加速度／速度処理の実行後のカーソル移動量データ及びボタンデータをＯＳ１０４に向けて出力する（ステップＳ１２）。
【００８２】
専用デバイスドライバ１０２は、マウスクラスドライバ１０３からＯＳ１０４に向けて出力されたマウスカーソルの加速度／速度処理の実行後のカーソル移動量データ及びボタンデータを割り込んで取得する（ステップＳ１３）。
【００８３】
専用デバイスドライバ１０２は、マウスカーソルの加速度／速度処理により付加されたカーソル移動量データをマウスカーソルの加速度／速度処理の実行後のカーソル移動量データから削除し、即ち、マウスクラスドライバ１０３から取得したカーソル移動量データをＫＶＭスイッチ２から受信したカーソル移動量データの状態に戻し、その結果のカーソル移動量データとボタンデータをＯＳ１０４に送信する（ステップＳ１４）。
【００８４】
ＯＳ１０４は、受信したカーソル移動量データに基づいて、マウスカーソルの移動を実行すると共に、受信したボタンデータ（即ちマウスクリック等）に応じた処理を実行する（ステップＳ１５）。
【００８５】
以上のステップＳ１〜Ｓ１５の処理は、本遠隔システム１０００の作動中、繰り返し実行される。
【００８６】
以上詳細に説明したように、本実施の形態によれば、サーバ１の通信Ｉ／Ｆ１０１は、ＫＶＭスイッチ２を介してクライアント４からマウスカーソルの移動距離及び移動方向を示すカーソル移動量データ（即ち、相対座標値データ）と、マウスカーソルの加速度／速度処理により生じるカーソル移動量データの追加の有効又は無効を示す加速無効化フラグとを入力し、専用デバイスドライバ１０２は、通信Ｉ／Ｆ１０１に入力されたカーソル移動量データをマウスクラスドライバ１０３に送信すると共に、加速無効化フラグがマウスカーソルの加速度／速度処理によるカーソル移動量データの追加の無効を示す場合に、マウスカーソルの加速度／速度処理の実行後のカーソル移動量データを割り込み取得し、マウスカーソルの加速度／速度処理により付加されたカーソル移動量データをマウスカーソルの加速度／速度処理の実行後のカーソル移動量データから削除し、その結果のカーソル移動量データをＯＳ１０４に送信する。
【００８７】
よって、マウスカーソルの加速度／速度処理により追加されたカーソル移動量データが削除されるので、マウスの移動速度又移動加速度に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【００８８】
（第２の実施の形態）
第２の実施の形態は、専用デバイスドライバ１０２がサーバ１に含まれる専用アプリケーションにカーソル移動量データ及びボタンデータを送信し、専用アプリケーションがSendInput()APIを使用し、マウスイベントをＯＳ１０４に送信することでマウスカーソルを移動させる点で、第１の実施の形態と異なる。
【００８９】
図６は、第２の実施の形態に係る遠隔システムの概略構成図である。
【００９０】
図６の遠隔システム１００１は、図１の遠隔システム１０００と比べて、サーバ１の構成が異なる。サーバ１は、通信Ｉ／Ｆ１０１、専用デバイスドライバ１０２、マウスクラスドライバ１０３、ＯＳ１０４及び専用アプリケーション１０５を備えている。ＯＳ１０４は、例えば、Windows(登録商標)である。図６のＫＶＭスイッチ２及びクライアント４の構成は、図１のＫＶＭスイッチ２及びクライアント４の構成と同一である。
【００９１】
専用デバイスドライバ１０２は、専用アプリケーション１０５にカーソル移動量データ及びボタンデータを送信する。専用アプリケーション１０５は、マウスカーソルを移動させるアクションを起こす。マウスカーソルを移動させるアクションは、SendInput()APIを使用しマウスイベントを実行する方法である。SendInput()APIは、マイクロソフト（登録商標）社のAPI(Application Program Interface)であり、マウスやキーボードの操作をエミュレーションできる機能を有する。専用アプリケーション１０５は、このSendInput()APIを使って、カーソル移動量データ及びボタンデータに対応するマウスイベントをＯＳ１０４に送信する。
【００９２】
図７は、クライアント４、ＫＶＭスイッチ２及びサーバ１で実行される処理のシーケンスを示す図である。
【００９３】
ステップＳ１〜Ｓ８までの処理は、図４のステップＳ１〜Ｓ８までの処理と同一であるので、その説明は省略する。尚、加速無効化フラグが「０」である場合には、専用デバイスドライバ１０２は、後述するステップＳ２１の処理を実行し、加速無効化フラグが「１」である場合には、専用デバイスドライバ１０２が図４のステップＳ９の処理を実行し、マウスクラスドライバ１０３が図４のステップＳ１０〜Ｓ１２の処理を実行し、ＯＳ１０４が図４のステップＳ１５の処理を実行する。
【００９４】
専用デバイスドライバ１０２は、マウスパケットの分解により得られたカーソル移動量データ及びボタンデータを専用アプリケーション１０５に送信する（ステップＳ２１）。
【００９５】
専用アプリケーション１０５は、カーソル移動量データ及びボタンデータを受信する（ステップＳ２２）。専用アプリケーション１０５は、SendInput()APを使って、受信したカーソル移動量データ及びボタンデータに対応するマウスイベントをＯＳ１０４に送信する（ステップＳ２３）。
【００９６】
ＯＳ１０４は、受信したマウスイベントに基づいて、マウスカーソルの移動を実行すると共に、マウスクリック等に応じた処理を実行する（ステップＳ２４）。
【００９７】
以上のステップＳ１〜Ｓ２４の処理は、本遠隔システム１００１の作動中、繰り返し実行される。
【００９８】
以上詳細に説明したように、本実施の形態によれば、サーバ１は、ＫＶＭスイッチ２を介してクライアント４から受信したカーソル移動量データを、マウスクラスドライバ１０３を介さずにＯＳ１０４に送信する専用アプリケーション１０５をさらに備え、専用デバイスドライバ１０２は、加速無効化フラグがマウスカーソルの加速度／速度処理によるカーソル移動量データの追加の無効を示す場合に、ＫＶＭスイッチ２を介してクライアント４から受信したカーソル移動量データを専用アプリケーション１０５に送信する。
【００９９】
よって、ＫＶＭスイッチ２を介してクライアント４から受信したカーソル移動量データは、マウスクラスドライバ１０３を迂回して、専用デバイスドライバ１０２及び専用アプリケーション１０５を介してＯＳ１０４に送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【０１００】
（第３の実施の形態）
第３の実施の形態は、サーバ１に対してマウスカーソルの絶対座標値を通知する点で第１の実施の形態と異なる。
【０１０１】
図８は、第３の形態に係る遠隔システムの構成を示すブロック図である。図８の遠隔システム１００２は、図１の遠隔システム１０００と基本的な構成は同一であるが、マウスクラスドライバ１０３がＯＳ１０４に対して直接マウスカーソルの絶対座標値を送信する点で図１の遠隔システム１０００と異なる。
【０１０２】
図９は、クライアント４、ＫＶＭスイッチ２及びサーバ１で実行される処理のシーケンスを示す図である。
【０１０３】
クライアント４の遠隔操作アプリケーション４０６を実行するＣＰＵ４２１は、マウスカーソルの絶対座標値データ（具体的には、Ｘ絶対座標値及びＹ絶対座標値）を取得する（ステップＳ３１）。このＸ絶対座標値及びＹ絶対座標値は、マウスカーソルの移動先の絶対座標値を示す。
【０１０４】
ＣＰＵ４２１は、ＫＶＭスイッチ２にそのマウスカーソルの絶対座標値データを送信する（ステップＳ３２）。このとき、マウス６のボタンが押下（クリック）されていれば、ＣＰＵ４２１は、押下されたボタン及び押下されたことを示すボタンデータもＫＶＭスイッチ２に送信する。
【０１０５】
ＫＶＭスイッチ２の制御部２０３は、クライアント４からマウスカーソルの絶対座標値データ及びボタンデータを受信する（ステップＳ３３）。制御部２０３は、ボタンデータ、絶対座標値データをまとめて、マウスパケットを作成する（ステップＳ３４）。ここで作成されたマウスパケットは、図１０のようになる。クライアント４からマウスホイールの移動量を示すマウスホイール移動量データが送信されてきた場合には、マウスパケットは、さらに、マウスホイール移動量データを備えていてもよい。
【０１０６】
制御部２０３は、作成したマウスパケットをサーバ１の専用デバイスドライバ１０２に送信する（ステップＳ３５）。
【０１０７】
専用デバイスドライバ１０２は、マウスパケットを受信し（ステップＳ３６）、受信したマウスパケットを分解する（ステップＳ３７）。専用デバイスドライバ１０２は、マウスパケットの分解により得られた絶対座標値データ及びボタンデータをマウスクラスドライバ１０３に送信する（ステップＳ３８）。
【０１０８】
このとき、専用デバイスドライバ１０２は、マウスクラスドライバ１０３に、相対座標値データではなく、絶対座標値データでマウスの移動先を認識させるため、絶対座標値データに所定のフラグ（具体的には、MOUSE_MOVE_ABSOLUTEフラグ）を設定する。
【０１０９】
マウスクラスドライバ１０３は、絶対座標値データ及びボタンデータを専用デバイスドライバ１０２から受信する（ステップＳ３９）。このとき、マウスクラスドライバ１０３は、絶対座標値データに絶対座標値データを示すフラグが設定されているか否かを判別する（ステップＳ４０）。絶対座標値データを示すフラグが設定されている場合には、マウスクラスドライバ１０３は、絶対座標値データ及びボタンデータをＯＳ１０４に送信する（ステップＳ４１）。
【０１１０】
ＯＳ１０４は、受信した絶対座標値データに基づいて、マウスカーソルの移動を実行すると共に、受信したボタンデータ（即ちマウスクリック等）に応じた処理を実行する（ステップＳ４２）。
【０１１１】
ステップＳ４０で、相対座標値データを示すフラグが設定されていない場合には、マウスクラスドライバ１０３が図４のステップＳ１０〜Ｓ１２の処理を実行し、ＯＳ１０４が図４のステップＳ１５の処理を実行する。
【０１１２】
以上のステップＳ３１〜Ｓ４２の処理は、本遠隔システム１００２の作動中、繰り返し実行される。
【０１１３】
以上詳細に説明したように、本実施の形態によれば、通信Ｉ／Ｆ１０１は、ＫＶＭスイッチ２を介してクライアント４からマウスカーソルの移動先の座標を示す絶対座標値データを入力し、専用デバイスドライバ１０２は、入力された絶対座標値データに絶対座標値データであることを示すフラグを設定し、マウスクラスドライバ１０３は、フラグが絶対座標値データであることを示すか否かを判別し、フラグが絶対座標値データであることを示す場合に、絶対座標値データをＯＳ１０４に送信する。
【０１１４】
よって、絶対座標値データは、新たなデータが付加されることなく、ＯＳ１０４に送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【０１１５】
（第４の実施の形態）
第１〜第３の実施の形態では、クライアント４のマウス操作時に、サーバ１でマウスカーソルの加速度／速度処理が実行されないようにして、モニタ７に表示されるマウスカーソルがサーバ１の画面に表示されるマウスカーソルとずれないようにしている。第４の実施の形態では、クライアント４のマウス操作時に、サーバ１でマウスカーソルの加速度／速度処理が実行された場合に、移動後のマウスカーソルの絶対座標値をクライアント４に送信する（即ちフィードバックする）ことで、モニタ７に表示されるマウスカーソルがサーバ１の画面に表示されるマウスカーソルとずれないようにする。
【０１１６】
図１１は、第４の形態に係る遠隔システムの構成を示すブロック図である。図１１の遠隔システム１００３は、図６の遠隔システム１００１と基本的な構成は同一であるが、マウスクラスドライバ１０３でマウスカーソルの加速度／速度処理の実行後に、移動後のマウスカーソルの絶対座標値をＯＳ１０４、専用アプリケーション１０５及び専用デバイスドライバ１０２を介してクライアント４に送信する点で図６の遠隔システム１００１と異なる。
【０１１７】
図１２は、クライアント４、ＫＶＭスイッチ２及びサーバ１で実行される処理のシーケンスを示す図である。
【０１１８】
前提として、図３（Ａ），（Ｂ）の点Ａの座標（２００，１００）（絶対座標値）が既にＫＶＭスイッチ２のメモリ２０４に保持されているものとする。
【０１１９】
クライアント４の遠隔操作アプリケーション４０６を実行するＣＰＵ４２１は、マウスカーソルの絶対座標値データを取得し（ステップＳ５１）、ＫＶＭスイッチ２にそのマウスカーソルの絶対座標値データを送信する（ステップＳ５２）。ここでは、図３（Ａ），（Ｂ）のマウスカーソルが点Ａの座標（２００，１００）から点Ｂの座標（３００，５０）へ移動する場合を考えているので、ＣＰＵ４２１は、ＫＶＭスイッチ２に点Ｂの座標（３００，５０）を送信する。このとき、マウス６のボタンが押下（クリック）されていれば、ＣＰＵ４２１は、押下されたボタン及び押下されたことを示すボタンデータもＫＶＭスイッチ２に送信する。
【０１２０】
ＫＶＭスイッチ２の制御部２０３は、クライアント４からマウスカーソルの絶対座標値データを受信する（ステップＳ５３）。ここでは、制御部２０３は、点Ｂの座標（３００，５０）を受信し、ボタンデータが送信されている場合には、そのボタンデータも受信する。
【０１２１】
制御部２０３は、予めメモリ２０４に保持されている点Ａの座標（２００，１００）と受信した点Ｂの座標（３００，５０）に基づいて、マウスカーソルの相対移動量（具体的には、点Ｂの座標−点Ａの座標＝（１００，−５０）となる）を算出する。制御部２０３は、算出されたカーソル移動量データ（即ち、相対座標値データ）と、ボタンデータと、加速無効化フラグとをまとめて、マウスパケットを作成する（ステップＳ５４）。
【０１２２】
本実施の形態では、加速度／速度処理を無効化しないため、制御部２０３は、加速無効化フラグに「１」を設定する。
【０１２３】
制御部２０３は、作成したマウスパケットをサーバ１の専用デバイスドライバ１０２に送信する（ステップＳ５５）。
【０１２４】
マウスクラスドライバ１０３は、マウスパケットを受信し（ステップＳ５６）、受信したマウスパケットを分解する（ステップＳ５７）。
【０１２５】
マウスクラスドライバ１０３は、マウスパケットの分解により得られたカーソル移動量データに対して、マウスカーソルの加速度／速度処理を実行する（ステップＳ５８）。マウスカーソルの加速度／速度処理の実行後のカーソル移動量データは、受信したカーソル移動量データに、当該処理により生じるカーソル移動量データを付加したものである。マウスクラスドライバ１０３は、マウスカーソルの加速度／速度処理の実行後のカーソル移動量データ及びボタンデータをＯＳ１０４に送信する（ステップＳ５９）。
【０１２６】
ＯＳ１０４は、受信したカーソル移動量データに基づいて、マウスカーソルの移動を実行すると共に、受信したボタンデータ（即ちマウスクリック等）に応じた処理を実行する（ステップＳ６０）。
【０１２７】
専用アプリケーション１０５は、移動後のマウスカーソルの絶対座標値データ（具体的には、Ｘ絶対座標値及びＹ絶対座標値）を取得し（ステップＳ６１）、絶対座標値データを専用デバイスドライバ１０２に送信する（ステップＳ６２）。
【０１２８】
専用デバイスドライバ１０２は、絶対座標値データを受信し（ステップＳ６３）、受信した絶対座標値データに基づいてコマンドパケットを作成する（ステップＳ６４）。このコマンドパケットは、Ｘ絶対座標値及びＹ絶対座標値を含み、通信Ｉ／Ｆ１０１及び通信Ｉ／Ｆ２０１（例えば、ＵＳＢやＰＳ／２）の規約に従ったフォーマットになる。専用デバイスドライバ１０２は、作成したコマンドパケットをＫＶＭスイッチ２に送信する（ステップＳ６５）。
【０１２９】
ＫＶＭスイッチ２の制御部２０３は、コマンドパケットを専用デバイスドライバ１０２から受信し（ステップＳ６６）、受信したコマンドパケットのフォーマットを通信Ｉ／Ｆ２０２及び通信Ｉ／Ｆ４０１（例えば、TCP/IP）の規約に従ったフォーマットに変換し、クライアント４へ送信する（ステップＳ６７）。
【０１３０】
クライアント４の遠隔操作アプリケーション４０６を実行するＣＰＵ４２１は、ＫＶＭスイッチ２からコマンドパケットを受信し（ステップＳ６８）、受信したコマンドパケットに含まれる絶対座標値データに対応するマウスイベントをＯＳ４０５に送信する（ステップＳ６９）。
【０１３１】
ＯＳ４０５は、受信したマウスイベントに基づいて、マウスカーソルの移動を実行する（ステップＳ７０）。
【０１３２】
以上のステップＳ５１〜Ｓ７０の処理は、本遠隔システム１００３の作動中、繰り返し実行される。
【０１３３】
以上詳細に説明したように、本実施の形態によれば、通信Ｉ／Ｆ１０１は、ＫＶＭスイッチ２を介してクライアント４からマウスカーソルの移動距離及び移動方向を示すカーソル移動量データ（即ち、相対座標値データ）と、マウスカーソルの加速度／速度処理により生じるカーソル移動量データの追加の有効又は無効を示す加速無効化フラグとを入力し、専用アプリケーション１０５は、マウスカーソルの加速度／速度処理の実行後のマウスカーソルの座標を示す絶対座標値データを取得し、専用デバイスドライバ１０２は、当該絶対座標値データをＫＶＭスイッチ２を介してクライアント４に転送し、クライアント４のＯＳ４０５は、ＫＶＭスイッチ２を介してサーバ１から取得した絶対座標値データに基づいて、マウスカーソルの位置を調整する。
【０１３４】
よって、マウスカーソルの加速度／速度処理に基づいてマウスカーソルが移動した場合でも、マウスカーソルの移動後の座標を示す絶対座標値データがＫＶＭスイッチ２を介してクライアント４に転送され、当該絶対座標値データに基づいてマウスカーソルの位置が調整されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【０１３５】
尚、第２〜第４の実施の形態によれば、サーバ１において、マウスカーソルを自動的にＯＫボタンやキャンセルボタン等のボタンに移動させる、スマートムーブ機能が有効となっている場合においても、このようなマウスカーソルを自動移動させる機能やマウスカーソルを自動移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【０１３６】
（第５の実施の形態）
第５の実施の形態では、サーバ１の専用デバイスドライバ１０２が、ＫＶＭスイッチ２からカーソル移動量データ（即ち、相対座標値データ）を受信し、当該相対座標値データを絶対座標値データに変換し、変換された絶対座標値データをマウスクラスドライバ１０３を介してＯＳ１０４に出力する。
【０１３７】
図１３は、第５の実施の形態に係る遠隔システムの構成を示すブロック図である。
【０１３８】
図１３の遠隔システム１００４は、図８の遠隔システム１００２と比べて、ＫＶＭスイッチ２の構成が異なる。図８のＫＶＭスイッチ２では、キーボード用Ｉ／Ｆ２０５、マウス用Ｉ／Ｆ２０６及びモニタ用Ｉ／Ｆ２０７が制御部２０３に接続されている。さらに、キーボード用Ｉ／Ｆ２０５、マウス用Ｉ／Ｆ２０６及びモニタ用Ｉ／Ｆ２０７には、それぞれキーボード２１、マウス２２及びモニタ２３が接続されている。マウス２２は、サーバ１の画面データ内のマウスカーソルを移動させ、モニタ２３は、サーバ１の画面データを表示する。
【０１３９】
尚、上記遠隔システム１０００〜１００３のＫＶＭスイッチ２も、キーボード用Ｉ／Ｆ２０５、マウス用Ｉ／Ｆ２０６及びモニタ用Ｉ／Ｆ２０７を備えていてもよい。
【０１４０】
図１４は、クライアント４、ＫＶＭスイッチ２及びサーバ１で実行されるシーケンスを示す図である。
【０１４１】
本シーケンスが開始される前に、遠隔操作アプリケーション４０６のマウスカーソル及びサーバ１の画面のマウスカーソルは、同一の位置（例えば、点Ｏの座標（０，０））にセットされている必要がある。そこで、ＫＶＭスイッチ２は、電源投入時、又は遠隔操作アプリケーション４０６からＯＳ４０５、通信Ｉ／Ｆ４０１及びネットワーク３を介して送られてくる所定の情報をトリガとして、専用デバイスドライバ１０２にサーバ１の画面のマウスカーソルの位置を特定の位置（例えば、点Ｏの座標（０，０））に移動させるフラグを含むマウスパケットを送信する。専用デバイスドライバ１０２は、マウスクラスドライバ１０３に当該特定の位置を示す絶対座標値データ及びボタンデータを送信する。
【０１４２】
また、本シーケンスが開始される前に、専用デバイスドライバ１０２は、サーバ１の画面の解像度を予め知っておく必要がある。そこで、ＫＶＭスイッチ２は、電源投入時、又は遠隔操作アプリケーション４０６からＯＳ４０５、通信Ｉ／Ｆ４０１及びネットワーク３を介して送られてくる所定の情報をトリガとして、専用デバイスドライバ１０２にサーバ１の画面の解像度の情報及び当該情報を含むことを示すフラグを含むマウスパケットを送信する。また、現在のマウスカーソルの絶対座標値及びサーバ１の画面の解像度の情報が既にＫＶＭスイッチ２のメモリ２０４及びサーバ１のＲＡＭ１２３又はＨＤＤ１２４に保存されているものとする。
【０１４３】
クライアント４の遠隔操作アプリケーション４０６を実行するＣＰＵ４２１は、マウスカーソルの移動後の絶対座標値データを取得し（ステップＳ８１）、ＫＶＭスイッチ２にそのマウスカーソルの絶対座標値データを送信する（ステップＳ８２）。このとき、マウス６のボタンが押下（クリック）されていれば、ＣＰＵ４２１は、押下されたボタン及び押下されたことを示すボタンデータもＫＶＭスイッチ２に送信する。
【０１４４】
ＫＶＭスイッチ２の制御部２０３は、クライアント４からマウスカーソルの絶対座標値を受信する（ステップＳ８３）。ここでは、制御部２０３は、ボタンデータが送信されている場合には、そのボタンデータも受信する。
【０１４５】
制御部２０３は、予めメモリ２０４に保存されている現在のマウスカーソルの絶対座標値データ及びクライアント４から受信したマウスカーソルの絶対座標値データに基づいて、マウスカーソルの相対移動量を算出する（ステップＳ８４）。また、制御部２０３は、算出されたカーソル移動量データ（即ち、相対座標値データ）と、ボタンデータと、カーソル移動量データが相対座標値データであるか又は絶対座標値であるかを示す識別フラグとをまとめて、マウスパケットを作成する（ステップＳ８５）。ここで作成されたマウスパケットは、図１５のようになる。
【０１４６】
本実施の形態では、制御部２０３は、マウスパケットを作成する際に、カーソル移動量データが相対座標値データであることを示す識別フラグをマウスパケット内に設定する。尚、クライアント４又はＫＶＭスイッチ２に接続されているマウス２２から絶対座標値データがＫＶＭスイッチ２に入力される場合には、制御部２０３は、カーソル移動量データが絶対座標値データであることを示す識別フラグをマウスパケット内に設定し、マウスパケットを作成する。これにより、サーバ１の専用デバイスドライバ１０２は、後述するように、絶対座標値データを算出する処理を行う必要がなくなり、処理時間を削減できる。
【０１４７】
制御部２０３は、作成したマウスパケットをサーバ１の専用デバイスドライバ１０２に送信する（ステップＳ８６）。
【０１４８】
専用デバイスドライバ１０２は、マウスパケットを受信し（ステップＳ８７）、受信したマウスパケットを分解する（ステップＳ８８）。専用デバイスドライバ１０２は、識別フラグに基づいて、カーソル移動量データが相対座標値データであるか否かを判別する（ステップＳ８９）。
【０１４９】
ステップＳ８９でＹＥＳの場合には、専用デバイスドライバ１０２は、サーバ１のＲＡＭ１２３又はＨＤＤ１２４に保存されている現在のマウスカーソルの絶対座標値データに、マウスパケットに含まれていたカーソル移動量データ（相対座標値データ）を加算することで、マウスカーソルの移動先の座標を示す絶対座標値データを算出する（ステップＳ９０）。
【０１５０】
その後、専用デバイスドライバ１０２は、絶対座標値データ及びボタンデータをマウスクラスドライバ１０３に送信する（ステップＳ９１）。ステップＳ８９でＮＯの場合には、ステップＳ９１に進む。
【０１５１】
このとき、専用デバイスドライバ１０２は、マウスクラスドライバ１０３に、相対座標値データではなく、絶対座標値データでマウスの移動先を認識させるため、絶対座標値データに所定のフラグ（具体的には、MOUSE_MOVE_ABSOLUTEフラグ）を設定する。
【０１５２】
マウスクラスドライバ１０３は、絶対座標値データ及びボタンデータを専用デバイスドライバ１０２から受信する（ステップＳ９２）。このとき、マウスクラスドライバ１０３は、絶対座標値データに絶対座標値データを示すフラグが設定されているか否かを判別する（ステップＳ９３）。絶対座標値データを示すフラグが設定されている場合には、マウスクラスドライバ１０３は、絶対座標値データ及びボタンデータをＯＳ１０４に送信する（ステップＳ９４）。
【０１５３】
ＯＳ１０４は、受信した絶対座標値データに基づいて、マウスカーソルの移動を実行すると共に、受信したボタンデータ（即ちマウスクリック等）に応じた処理を実行する（ステップＳ９５）。
【０１５４】
ステップＳ９３で、相対座標値データを示すフラグが設定されている場合には、マウスクラスドライバ１０３が図４のステップＳ１０〜Ｓ１２の処理を実行し、ＯＳ１０４が図４のステップＳ１５の処理を実行する。
【０１５５】
以上のステップＳ８１〜Ｓ９５の処理は、本遠隔システム１００４の作動中、繰り返し実行される。
【０１５６】
以上詳細に説明したように、本実施の形態によれば、専用デバイスドライバ１０２が、ＲＡＭ１２３又はＨＤＤ１２４に記憶された現在のマウスカーソルの絶対座標値データに、入力された相対座標値データを加算し、マウスカーソルの移動先の座標を示す絶対座標値データを算出し、当該絶対座標値データをＯＳ１０４に送信する。
【０１５７】
よって、絶対座標値データは、新たなデータが付加されることなく、ＯＳ１０４に送信されるので、マウスの移動速度又移動加速度やマウスカーソルを移動させるソフトウエアの存在に左右されずに、遠隔操作にて正確な位置にマウスカーソルを移動させることができる。
【０１５８】
サーバ１の機能を実現するためのソフトウェアのプログラムが記録されている記録媒体を、サーバ１に供給し、サーバ１のＣＰＵ１２１が記憶媒体に格納されたプログラムを読み出し実行することによっても、上記第１〜第５の実施の形態と同様の効果を奏する。プログラムを供給するための記憶媒体としては、例えば、ＣＤ−ＲＯＭ、ＤＶＤ、又はＳＤカードなどがある。
【０１５９】
また、サーバ１のＣＰＵ１２１が、サーバ１の機能を実現するためのソフトウェアのプログラムを実行することによっても、上記第１〜第５の実施の形態と同様の効果を奏する。
【０１６０】
尚、本発明は、上述した実施の形態に限定されるものではなく、その要旨を逸脱しない範囲内で種々変形して実施することが可能である。
【図面の簡単な説明】
【０１６１】
【図１】第１の実施の形態に係る情報処理装置を含む遠隔システムの概略構成図である。
【図２】（Ａ）は、サーバ１のハードウエア構成を示すブロック図であり、（Ｂ）は、クライアント４のハードウエア構成を示すブロック図である。
【図３】（Ａ）は、遠隔操作アプリケーション４０６を表示するモニタ７の画面の一例を示す図であり、（Ｂ）は、サーバ１の画面の一例を示す図である。
【図４】クライアント４、ＫＶＭスイッチ２及びサーバ１で実行される処理のシーケンスを示す図である。
【図５】マウスパケットの構成を示す図である。
【図６】第２の実施の形態に係る遠隔システムの概略構成図である。
【図７】クライアント４、ＫＶＭスイッチ２及びサーバ１で実行される処理のシーケンスを示す図である。
【図８】第３の形態に係る遠隔システムの構成を示すブロック図である。
【図９】クライアント４、ＫＶＭスイッチ２及びサーバ１で実行される処理のシーケンスを示す図である。
【図１０】マウスパケットの構成を示す図である。
【図１１】第４の形態に係る遠隔システムの構成を示すブロック図である。
【図１２】クライアント４、ＫＶＭスイッチ２及びサーバ１で実行される処理のシーケンスを示す図である。
【図１３】第５の実施の形態に係る遠隔システムの構成を示すブロック図である。
【図１４】クライアント４、ＫＶＭスイッチ２及びサーバ１で実行されるシーケンスを示す図である。
【図１５】マウスパケットの構成を示す図である。
【符号の説明】
【０１６２】
１  サーバ
２  ＫＶＭスイッチ
３  ネットワーク
４  クライアント
５  キーボード
６  マウス
７  モニタ
１０１，２０１，２０２，４０１  通信Ｉ／Ｆ
１０２  専用デバイスドライバ
１０３  マウスクラスドライバ
１０４，４０５  ＯＳ
２０３  制御部
２０４  メモリ
４０２  キーボード用Ｉ／Ｆ
４０３  マウス用Ｉ／Ｆ
４０４  モニタ用Ｉ／Ｆ
【図１】
0005008007.tif 000002
【図２】
0005008007.tif 000003
【図３】
0005008007.tif 000004
【図４】
0005008007.tif 000005
【図５】
0005008007.tif 000006
【図６】
0005008007.tif 000007
【図７】
0005008007.tif 000008
【図８】
0005008007.tif 000009
【図９】
0005008007.tif 000010
【図１０】
0005008007.tif 000011
【図１１】
0005008007.tif 000012
【図１２】
0005008007.tif 000013
【図１３】
0005008007.tif 000014
【図１４】
0005008007.tif 000015
【図１５】
0005008007.tif 000016