(57)【特許請求の範囲】
【請求項１】
ネットワーク上に存在するサーバーを遠隔操作する情報処理装置において、
遠隔操作用のアプリケーションから前記サーバーの操作要求を受信した後に、キーボードから出力されたキーコードを所定のメモリに保存するキーコード保存開始要求、前記情報処理装置内のＯＳへの前記キーコードの送信を遮断するキーコード遮断開始要求、及び前記メモリに保存されたキーコードを前記サーバーに送信するネットワーク送信開始要求を出力するインターフェース制御部と、
前記キーコード保存開始要求に応じて、前記キーボードから出力されたキーコードを前記情報処理装置内のＯＳが取得する前に取得し、該キーコードを前記メモリに保存すると共に該キーコードをキーコード制御部に送信するキーコード受信部と、
前記キーコード遮断開始要求に応じて、前記キーコード受信部から受信したキーコードの前記ＯＳへの送信を遮断するキーコード制御部と、
前記ネットワーク送信開始要求に応じて、前記メモリに保存されたキーコードを前記サーバーに送信する通信部とを備え、
前記メモリに保存されたキーコードは、さらに前記インターフェース制御部を介して前記遠隔操作用のアプリケーションに送信されることを特徴とする情報処理装置。
【請求項２】
前記インターフェース制御部は、遠隔操作用のアプリケーションから前記サーバーの操作要求を受信した後に、ポインティングデバイスから出力されたポインティングデバイスデータを所定のメモリに保存するポインティングデバイスデータ保存開始要求、前記情報処理装置内のＯＳへの前記ポインティングデバイスデータの送信を遮断するポインティングデバイスデータ遮断開始要求、及び前記メモリに保存されたポインティングデバイスデータを前記サーバーに送信するネットワーク送信開始要求を出力し、
前記情報処理装置は更に、
前記ポインティングデバイスデータ保存開始要求に応じて、前記ポインティングデバイスから出力されたポインティングデバイスデータを前記ＯＳが取得する前に取得し、該ポインティングデバイスデータを前記メモリに保存すると共に該ポインティングデバイスデータをポインティングデバイスデータ制御部に送信するポインティングデバイスデータ受信部と、
前記ポインティングデバイスデータ遮断開始要求に応じて、前記ポインティングデバイスデータ受信部から受信したポインティングデバイスデータの前記ＯＳへの送信を遮断するポインティングデバイスデータ制御部と、
前記ネットワーク送信開始要求に応じて、前記メモリに保存されたポインティングデバイスデータを前記サーバーに送信する通信部とを備え、
前記メモリに保存されたポインティングデバイスデータは、さらに前記インターフェース制御部を介して前記遠隔操作用のアプリケーションに送信されることを特徴とする請求項１記載の情報処理装置。
【請求項３】
前記遠隔操作用のアプリケーションは、前記サーバーの遠隔操作中、ポインティングデバイスのエミュレーションを実行するスレッドを作成し、当該スレッドが前記インターフェース制御部を介して前記メモリに保存されたポインティングデバイスデータ受信し、該受信したポインティングデバイスデータに基づいて、ポインティングデバイスのエミュレーションを実行することを特徴とする請求項２記載の情報処理装置。
【請求項４】
前記情報処理装置は、ＫＶＭ装置であることを特徴とする請求項１から請求項３のいずれか一項に記載の情報処理装置。
【請求項５】
複数のサーバーと、ネットワークを介して前記サーバーを遠隔操作する情報処理装置とを備えたシステムであって、
前記情報処理装置は、請求項１から請求項４のいずれか一項に記載の情報処理装置であることを特徴とするシステム。
【請求項６】
ネットワーク上に存在するサーバーを遠隔操作する情報処理装置の遠隔操作方法であって、
インターフェース制御部によって、遠隔操作用のアプリケーションから前記サーバーの操作要求を受信した後に、キーボードから出力されたキーコードを所定のメモリに保存するキーコード保存開始要求、前記情報処理装置内のＯＳへの前記キーコードの送信を遮断するキーコード遮断開始要求、及び前記メモリに保存されたキーコードを前記サーバーに送信するネットワーク送信開始要求を出力する出力ステップと、
キーコード受信部によって、前記キーコード保存開始要求に応じて、前記キーボードから出力されたキーコードを前記情報処理装置内のＯＳが取得する前に取得し、該キーコードを前記メモリに保存すると共に該キーコードをキーコード制御部に送信する保存ステップと、
キーコード制御部によって、前記キーコード遮断開始要求に応じて、前記キーコード受信部から受信したキーコードの前記ＯＳへの送信を遮断する遮断ステップと、
通信部によって、前記ネットワーク送信開始要求に応じて、前記メモリに保存されたキーコードを前記サーバーに送信する送信ステップとを備え、
前記メモリに保存されたキーコードは、さらに前記インターフェース制御部を介して前記遠隔操作用のアプリケーションに送信されることを特徴とする遠隔操作方法。
【請求項７】
前記出力ステップは、遠隔操作用のアプリケーションから前記サーバーの操作要求を受信した後に、ポインティングデバイスから出力されたポインティングデバイスデータを所定のメモリに保存するポインティングデバイスデータ保存開始要求、前記情報処理装置内のＯＳへの前記ポインティングデバイスデータの送信を遮断するポインティングデバイスデータ遮断開始要求、及び前記メモリに保存されたポインティングデバイスデータを前記サーバーに送信するネットワーク送信開始要求を出力し、
前記遠隔操作方法は更に、
ポインティングデバイスデータ受信部によって、前記ポインティングデバイスデータ保存開始要求に応じて、前記ポインティングデバイスから出力されたポインティングデバイスデータを前記ＯＳが取得する前に取得し、該ポインティングデバイスデータを前記メモリに保存すると共に該ポインティングデバイスデータをポインティングデバイスデータ制御部に送信する第２保存ステップと、
ポインティングデバイスデータ制御部によって、前記ポインティングデバイスデータ遮断開始要求に応じて、前記ポインティングデバイスデータ受信部から受信したポインティングデバイスデータの前記ＯＳへの送信を遮断する第２遮断ステップと、
通信部によって、前記ネットワーク送信開始要求に応じて、前記メモリに保存されたポインティングデバイスデータを前記サーバーに送信する第２送信ステップとを有し、
前記メモリに保存されたポインティングデバイスデータは、さらに前記インターフェース制御部を介して前記遠隔操作用のアプリケーションに送信されることを特徴とする請求項６記載の遠隔操作方法。
【請求項８】
前記遠隔操作用のアプリケーションは、前記サーバーの遠隔操作中、ポインティングデバイスのエミュレーションを実行するスレッドを作成し、当該スレッドが前記インターフェース制御部を介して前記メモリに保存されたポインティングデバイスデータ受信し、該受信したポインティングデバイスデータに基づいて、ポインティングデバイスのエミュレーションを実行することを特徴とする請求項７記載の遠隔操作方法。
【請求項９】
ネットワーク上に存在するサーバーを遠隔操作するために、コンピュータを、
遠隔操作用のアプリケーションから前記サーバーの操作要求を受信した後に、キーボードから出力されたキーコードを所定のメモリに保存するキーコード保存開始要求、前記情報処理装置内のＯＳへの前記キーコードの送信を遮断するキーコード遮断開始要求、及び前記メモリに保存されたキーコードを前記サーバーに送信するネットワーク送信開始要求を出力するインターフェース制御手段、
前記キーコード保存開始要求に応じて、前記キーボードから出力されたキーコードを前記情報処理装置内のＯＳが取得する前に取得し、該キーコードを前記メモリに保存すると共に該キーコードをキーコード制御手段に送信するキーコード受信手段、
前記キーコード遮断開始要求に応じて、前記キーコード受信手段から受信したキーコードの前記ＯＳへの送信を遮断するキーコード制御手段、及び
前記ネットワーク送信開始要求に応じて、前記メモリに保存されたキーコードを前記サーバーに送信する通信手段として機能させ、
前記メモリに保存されたキーコードは、さらに前記インターフェース制御手段を介して前記遠隔操作用のアプリケーションに送信されることを特徴とするプログラム。
【請求項１０】
前記インターフェース制御手段は、遠隔操作用のアプリケーションから前記サーバーの操作要求を受信した後に、ポインティングデバイスから出力されたポインティングデバイスデータを所定のメモリに保存するポインティングデバイスデータ保存開始要求、前記情報処理装置内のＯＳへの前記ポインティングデバイスデータの送信を遮断するポインティングデバイスデータ遮断開始要求、及び前記メモリに保存されたポインティングデバイスデータを前記サーバーに送信するネットワーク送信開始要求を出力し、
前記プログラムは更に、
前記ポインティングデバイスデータ保存開始要求に応じて、前記ポインティングデバイスから出力されたポインティングデバイスデータを前記ＯＳが取得する前に取得し、該ポインティングデバイスデータを前記メモリに保存すると共に該ポインティングデバイスデータをポインティングデバイスデータ制御手段に送信するポインティングデバイスデータ受信手段、
前記ポインティングデバイスデータ遮断開始要求に応じて、前記ポインティングデバイスデータ受信手段から受信したポインティングデバイスデータの前記ＯＳへの送信を遮断するポインティングデバイスデータ制御手段、及び
前記ネットワーク送信開始要求に応じて、前記メモリに保存されたポインティングデバイスデータを前記サーバーに送信する通信手段として機能させ、
前記メモリに保存されたポインティングデバイスデータは、さらに前記インターフェース制御手段を介して前記遠隔操作用のアプリケーションに送信されることを特徴とする請求項９記載のプログラム。
【請求項１１】
前記遠隔操作用のアプリケーションは、前記サーバーの遠隔操作中、ポインティングデバイスのエミュレーションを実行するスレッドを作成し、当該スレッドが前記インターフェース制御手段を介して前記メモリに保存されたポインティングデバイスデータ受信し、該受信したポインティングデバイスデータに基づいて、ポインティングデバイスのエミュレーションを実行することを特徴とする請求項１０記載のプログラム。
【請求項１２】
前記請求項９から請求項１１の何れか一項に記載のプログラムを記録した記録媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、システム、遠隔操作方法、プログラム及び、記録媒体に関する。
【背景技術】
【０００２】
従来からネットワーク上で動作している複数のサーバーを切り替えて使用する場合、ネットワーク経由ＫＶＭ装置が使用されている。図１は、従来のネットワーク経由ＫＶＭ装置を用いて複数のサーバーを操作するシステムの構成図である。
【０００３】
図１に示すように、システム２０は、コンソールＰＣ１、ネットワーク経由ＫＶＭ装置２、３、サーバー４〜９、キーボード１０、ポインティングデバイス１１、通信装置１２を備える。ネットワーク経由ＫＶＭ装置２、３に対して、一台のコンソールＰＣ１がネットワーク１３で接続され、ネットワーク経由ＫＶＭ装置２にはサーバー４、５、６が、ネットワーク経由ＫＶＭ装置３にはサーバー７、８、９がそれぞれ接続されている。
【０００４】
コンソールＰＣ１には入力装置として、キーボード１０、ポインティングデバイス１１が接続されている。ネットワーク経由ＫＶＭ装置２、３には、ＩＰアドレスが設定されており、コンソールＰＣ１はＴＣＰ／ＩＰ等のプロトコルによって、ネットワーク経由ＫＶＭ装置２または３と通信を行い、特定の選択操作に基づいていずれかのサーバー４〜９をコンソールＰＣ１から操作するサーバーとして選択する。
【０００５】
次に、図１で示したコンソールＰＣ１の内部構成について説明する。図２は、従来のコンソールＰＣ１の内部構成を説明するための図である。図２に示すように、コンソールＰＣ１は、ＯＳ（Operating System）３０、アプリケーション４０を有する。なお、図１と同一箇所については同一符号を付してその説明を省略する。アプリケーション４０は、キーコード受信部４１、ポインティングデバイスデータ受信部４２、サーバー通信部４３、メモリ４４を有する。
【０００６】
キーボード１０とポインティングデバイス１１が操作されると、アプリケーション４０内で動作しているキーコード受信部４１がキーボード１０から出力されたキーコードとポインティングデバイス１１から出力されたポインティングデバイスデータをＯＳ３０経由にて取得し、メモリ４４に保存する。サーバー通信部４３は、メモリ４４よりキーコードとポインティングデバイスデータを読み取り、これらのデータをＴＣＰ／ＩＰプロトコルを用いて、選択されているサーバー４〜９が接続されているネットワーク経由ＫＶＭ装置２、３に対して送信する。ネットワーク経由ＫＶＭ装置２、３は、データを受信すると、選択サーバーに対してキーボード１０から出力されたキーコードとポインティングデバイス１１から出力されたマウスデータをサーバーに送信し、コンソールＰＣ１から選択サーバーを操作する。次に、一般的な従来のネットワーク経由ＫＶＭ装置ついて説明する。
【０００７】
特許文献１記載のＫＶＭ装置は、ワークステーションからのサーバー選択操作に基づいて、特定のサーバーをネットワークに接続してワークステーションとサーバーとの間で通信を可能とし、複数のコンピュータを他のコンピュータから遠隔操作できるというものである。
【０００８】
【特許文献１】特開２００１−３４４１８９号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら、コンソールＰＣ１に接続したキーボード１０から出力されたキーコードは、コンソールＰＣ１のユーザーモードで起動しているアプリケーション４０上で取得しているため、コンソールＰＣ１上でキー入力を監視しているアプリケーションが他に存在した場合、遠隔操作を実行中にキーを監視しているアプリケーション４０以外のアプリケーションがアクティブになり、その結果、遠隔操作を実行していたアプリケーション４０の状態がアクティブ状態ではなくなり、キーコードやポインティングデバイスデータが選択サーバーに送信されなくなってしまうという問題がある。
【００１０】
また、従来、特殊キーを選択サーバーに送信するボタンＧＵＩ（Graphical User Interface）などを持つアプリケーションが存在するが、ボタンＧＵＩによって特殊キーを送信する場合、通常のキー操作ではないマウス入力などの操作が必要となり、その結果、キー入力のオペレーションを連続で行うことが困難になってしまうという問題がある。また、サーバーに送信したい特殊キーが増えるたびにアプリケーションにボタンなどのＧＵＩが増えてしまう。
【００１１】
そこで、本発明はこれらの問題を解決するためになされたもので、他のアプリケーションの影響を受けることなく、通常のキー操作のみでサーバーを遠隔操作できる情報処理装置、システム、遠隔操作方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上記課題を解決するために、本発明の情報処理装置は、請求項１に記載のように、ネットワーク上に存在するサーバーを遠隔操作する情報処理装置において、遠隔操作用のアプリケーションから前記サーバーの操作要求を受信した後に、キーボードから出力されたキーコードを所定のメモリに保存するキーコード保存開始要求、前記情報処理装置内のＯＳへの前記キーコードの送信を遮断するキーコード遮断開始要求、及び前記メモリに保存されたキーコードを前記サーバーに送信するネットワーク送信開始要求を出力するインターフェース制御部と、前記キーコード保存開始要求に応じて、前記キーボードから出力されたキーコードを前記情報処理装置内のＯＳが取得する前に取得し、該キーコードを前記メモリに保存すると共に該キーコードをキーコード制御部に送信するキーコード受信部と、前記キーコード遮断開始要求に応じて、前記キーコード受信部から受信したキーコードの前記ＯＳへの送信を遮断するキーコード制御部と、前記ネットワーク送信開始要求に応じて、前記メモリに保存されたキーコードを前記サーバーに送信する通信部とを備え、前記メモリに保存されたキーコードは、さらに前記インターフェース制御部を介して前記遠隔操作用のアプリケーションに送信されることを特徴とする。
【００１３】
請求項１記載の発明によれば、キーコードを情報処理装置内のＯＳに送信せずにネットワーク上にあるサーバーに送信できるので、キー入力を監視している他のアプリケーションの影響を受けることなく、特殊キーを送信することができる。よって、通常のキー操作をネットワーク経由の遠隔操作においても実現することができる。また、キー入力のオペレーションを連続で行うことができる。
【００１４】
また、本発明は、請求項２に記載のように、請求項１記載の情報処理装置において、前記インターフェース制御部は、遠隔操作用のアプリケーションから前記サーバーの操作要求を受信した後に、ポインティングデバイスから出力されたポインティングデバイスデータを所定のメモリに保存するポインティングデバイスデータ保存開始要求、前記情報処理装置内のＯＳへの前記ポインティングデバイスデータの送信を遮断するポインティングデバイスデータ遮断開始要求、及び前記メモリに保存されたポインティングデバイスデータを前記サーバーに送信するネットワーク送信開始要求を出力し、前記情報処理装置は更に、  前記ポインティングデバイスデータ保存開始要求に応じて、前記ポインティングデバイスから出力されたポインティングデバイスデータを前記ＯＳが取得する前に取得し、該ポインティングデバイスデータを前記メモリに保存すると共に該ポインティングデバイスデータをポインティングデバイスデータ制御部に送信するポインティングデバイスデータ受信部と、前記ポインティングデバイスデータ遮断開始要求に応じて、前記ポインティングデバイスデータ受信部から受信したポインティングデバイスデータの前記ＯＳへの送信を遮断するポインティングデバイスデータ制御部と、前記ネットワーク送信開始要求に応じて、前記メモリに保存されたポインティングデバイスデータを前記サーバーに送信する通信部とを備え、前記メモリに保存されたポインティングデバイスデータは、さらに前記インターフェース制御部を介して前記遠隔操作用のアプリケーションに送信されることを特徴とする。
【００１５】
請求項２記載の発明によれば、ポインティングデバイスデータをＯＳに送信せずにネットワーク上にあるサーバーに送信できるので、ポインティングデバイス入力を監視している他のアプリケーションの影響を受けることなく、ポインティングデバイスデータを送信することができる。よって、通常のポインティングデバイス操作を前記ＯＳに通知することなく、ネットワーク経由の遠隔操作においても実現することができる。
【００１８】
また、本発明は、請求項３に記載のように、請求項２記載の情報処理装置において、前記遠隔操作用のアプリケーションは、前記サーバーの遠隔操作中、ポインティングデバイスのエミュレーションを実行するスレッドを作成し、当該スレッドが前記インターフェース制御部を介して前記メモリに保存されたポインティングデバイスデータ受信し、該受信したポインティングデバイスデータに基づいて、ポインティングデバイスのエミュレーションを実行することを特徴とする。
【００２０】
また、本発明は、請求項４に記載のように、請求項１から請求項３のいずれか一項に記載の情報処理装置において、前記情報処理装置は、ＫＶＭ装置であることを特徴とする。
【００２１】
また、本発明のシステムは、請求項５に記載のように、複数のサーバーと、ネットワークを介して前記サーバーを遠隔操作する情報処理装置とを備えたシステムであって、前記情報処理装置は、請求項１から請求項４のいずれか一項に記載の情報処理装置であることを特徴とする。請求項５記載の発明によれば、キーコードやポインティングデバイスデータを情報処理装置内のＯＳに送信せずにネットワーク上にあるサーバーに送信できるので、キー入力を監視している他のアプリケーションの影響を受けることなく、特殊キーを送信することができる。
【００２２】
また、本発明の遠隔操作方法は、請求項６に記載のように、ネットワーク上に存在するサーバーを遠隔操作する情報処理装置の遠隔操作方法であって、インターフェース制御部によって、遠隔操作用のアプリケーションから前記サーバーの操作要求を受信した後に、キーボードから出力されたキーコードを所定のメモリに保存するキーコード保存開始要求、前記情報処理装置内のＯＳへの前記キーコードの送信を遮断するキーコード遮断開始要求、及び前記メモリに保存されたキーコードを前記サーバーに送信するネットワーク送信開始要求を出力する出力ステップと、キーコード受信部によって、前記キーコード保存開始要求に応じて、前記キーボードから出力されたキーコードを前記情報処理装置内のＯＳが取得する前に取得し、該キーコードを前記メモリに保存すると共に該キーコードをキーコード制御部に送信する保存ステップと、キーコード制御部によって、前記キーコード遮断開始要求に応じて、前記キーコード受信部から受信したキーコードの前記ＯＳへの送信を遮断する遮断ステップと、通信部によって、前記ネットワーク送信開始要求に応じて、前記メモリに保存されたキーコードを前記サーバーに送信する送信ステップとを備え、前記メモリに保存されたキーコードは、さらに前記インターフェース制御部を介して前記遠隔操作用のアプリケーションに送信されることを特徴とする。
【００２３】
請求項７記載の発明によれば、キーコードを情報処理装置内のＯＳに送信せずにネットワーク上にあるサーバーに送信できるので、キー入力を監視している他のアプリケーションの影響を受けることなく、特殊キーを送信することができる。よって、通常のキー操作をネットワーク経由の遠隔操作においても実現することができる。また、キー入力のオペレーションを連続で行うことができる。
【００２４】
また、本発明は、請求項７に記載のように、請求項６記載の遠隔操作方法において、前記出力ステップは、遠隔操作用のアプリケーションから前記サーバーの操作要求を受信した後に、ポインティングデバイスから出力されたポインティングデバイスデータを所定のメモリに保存するポインティングデバイスデータ保存開始要求、前記情報処理装置内のＯＳへの前記ポインティングデバイスデータの送信を遮断するポインティングデバイスデータ遮断開始要求、及び前記メモリに保存されたポインティングデバイスデータを前記サーバーに送信するネットワーク送信開始要求を出力し、前記遠隔操作方法は更に、ポインティングデバイスデータ受信部によって、前記ポインティングデバイスデータ保存開始要求に応じて、前記ポインティングデバイスから出力されたポインティングデバイスデータを前記ＯＳが取得する前に取得し、該ポインティングデバイスデータを前記メモリに保存すると共に該ポインティングデバイスデータをポインティングデバイスデータ制御部に送信する第２保存ステップと、ポインティングデバイスデータ制御部によって、前記ポインティングデバイスデータ遮断開始要求に応じて、前記ポインティングデバイスデータ受信部から受信したポインティングデバイスデータの前記ＯＳへの送信を遮断する第２遮断ステップと、通信部によって、前記ネットワーク送信開始要求に応じて、前記メモリに保存されたポインティングデバイスデータを前記サーバーに送信する第２送信ステップとを有し、前記メモリに保存されたポインティングデバイスデータは、さらに前記インターフェース制御部を介して前記遠隔操作用のアプリケーションに送信されることを特徴とする。
【００２５】
請求項８記載の発明によれば、ポインティングデバイスデータを情報処理装置内のＯＳに送信せずにネットワーク上にあるサーバーに送信できるので、ポインティングデバイス入力を監視している他のアプリケーションの影響を受けることなく、ポインティングデバイスデータを送信することができる。よって、通常のポインティングデバイス操作を前記ＯＳに通知することなく、ネットワーク経由の遠隔操作においても実現することができる。
【００２８】
また、本発明は、請求項８に記載のように、請求項７記載の遠隔操作方法において、前記遠隔操作用のアプリケーションは、前記サーバーの遠隔操作中、ポインティングデバイスのエミュレーションを実行するスレッドを作成し、当該スレッドが前記インターフェース制御部を介して前記メモリに保存されたポインティングデバイスデータ受信し、該受信したポインティングデバイスデータに基づいて、ポインティングデバイスのエミュレーションを実行することを特徴とする。
【００３０】
また、本発明のプログラムは、請求項９に記載のように、ネットワーク上に存在するサーバーを遠隔操作するために、コンピュータを、遠隔操作用のアプリケーションから前記サーバーの操作要求を受信した後に、キーボードから出力されたキーコードを所定のメモリに保存するキーコード保存開始要求、前記情報処理装置内のＯＳへの前記キーコードの送信を遮断するキーコード遮断開始要求、及び前記メモリに保存されたキーコードを前記サーバーに送信するネットワーク送信開始要求を出力するインターフェース制御手段、前記キーコード保存開始要求に応じて、前記キーボードから出力されたキーコードを前記情報処理装置内のＯＳが取得する前に取得し、該キーコードを前記メモリに保存すると共に該キーコードをキーコード制御手段に送信するキーコード受信手段、前記キーコード遮断開始要求に応じて、前記キーコード受信手段から受信したキーコードの前記ＯＳへの送信を遮断するキーコード制御手段、及び前記ネットワーク送信開始要求に応じて、前記メモリに保存されたキーコードを前記サーバーに送信する通信手段として機能させ、前記メモリに保存されたキーコードは、さらに前記インターフェース制御手段を介して前記遠隔操作用のアプリケーションに送信されることを特徴とする。
【００３１】
請求項１１記載の発明によれば、キーコードをコンピュータ内のＯＳに送信せずにネットワーク上にあるサーバーに送信できるので、キー入力を監視している他のアプリケーションの影響を受けることなく、特殊キーを送信することができる。よって、通常のキー操作をネットワーク経由の遠隔操作においても実現することができる。また、キー入力のオペレーションを連続で行うことができる。
【００３２】
また、本発明は、請求項１０に記載のように、請求項９記載のプログラムにおいて、前記インターフェース制御手段は、遠隔操作用のアプリケーションから前記サーバーの操作要求を受信した後に、ポインティングデバイスから出力されたポインティングデバイスデータを所定のメモリに保存するポインティングデバイスデータ保存開始要求、前記情報処理装置内のＯＳへの前記ポインティングデバイスデータの送信を遮断するポインティングデバイスデータ遮断開始要求、及び前記メモリに保存されたポインティングデバイスデータを前記サーバーに送信するネットワーク送信開始要求を出力し、前記プログラムは更に、  前記ポインティングデバイスデータ保存開始要求に応じて、前記ポインティングデバイスから出力されたポインティングデバイスデータを前記ＯＳが取得する前に取得し、該ポインティングデバイスデータを前記メモリに保存すると共に該ポインティングデバイスデータをポインティングデバイスデータ制御手段に送信するポインティングデバイスデータ受信手段、前記ポインティングデバイスデータ遮断開始要求に応じて、前記ポインティングデバイスデータ受信手段から受信したポインティングデバイスデータの前記ＯＳへの送信を遮断するポインティングデバイスデータ制御手段、及び前記ネットワーク送信開始要求に応じて、前記メモリに保存されたポインティングデバイスデータを前記サーバーに送信する通信手段として機能させ、前記メモリに保存されたポインティングデバイスデータは、さらに前記インターフェース制御手段を介して前記遠隔操作用のアプリケーションに送信されることを特徴とする。
【００３５】
また、本発明は、請求項１１に記載のように、請求項１０記載のプログラムにおいて、前記遠隔操作用のアプリケーションは、前記サーバーの遠隔操作中、ポインティングデバイスのエミュレーションを実行するスレッドを作成し、当該スレッドが前記インターフェース制御手段を介して前記メモリに保存されたポインティングデバイスデータ受信し、該受信したポインティングデバイスデータに基づいて、ポインティングデバイスのエミュレーションを実行することを特徴とする。
【００３７】
また、本発明の記録媒体は、請求項１２に記載のように、前記請求項９から請求項１１の何れか一項に記載のプログラムを記録している。
【発明の効果】
【００３８】
本発明によれば、他のアプリケーションの影響を受けることなく、通常のキー操作のみでサーバーを遠隔操作できる情報処理装置、システム、遠隔操作方法及びプログラムを提供できる。
【発明を実施するための最良の形態】
【００３９】
以下、本発明を実施するための最良の形態を説明する。
【実施例１】
【００４０】
図３は第１実施例に係るシステム１００のブロック図である。図３に示すように、システム１００は、コンソールＰＣ５１、ネットワーク経由ＫＶＭ装置２、３、サーバー４〜９、キーボード１０、マウス等のポインティングデバイス１１、通信装置１２を備える。
【００４１】
コンソールＰＣ５１は、ネットワーク上に存在するサーバー４〜９を遠隔操作するもので、デバイスドライバ６０、ＯＳ７０、アプリケーション８０を有する。このコンソールＰＣ５１は、例えば、ＣＰＵ（Central Processing Unit）、ＲＯＭ（Read Only Memory）、ＲＡＭ（Random Access Memory）等を用いて構成される。なお、このコンソールＰＣ５１は、複数のコンピュータを切替える機能を備えたＫＶＭ装置により構成するようにしてもよい。
【００４２】
デバイスドライバ６０は、キーコード受信部６１、ポインティングデバイスデータ受信部６２、メモリ６３、キーコード制御部６４、ポインティングデバイスデータ制御部６５、インターフェース６６、サーバー通信部６７を有する。キーコード受信部６１、ポインティングデバイスデータ受信部６２、キーコード制御部６４、ポインティングデバイスデータ制御部６５、インターフェース制御部６６、サーバー通信部６７は、アプリケーション８０から送信される指示情報によってそれぞれの動作を切り替えることができる。
【００４３】
ここで、指示情報とは、キーコード受信部６１、ポインティングデバイスデータ受信部６２、キーコード制御部６４、ポインティングデバイスデータ制御部６５、インターフェース制御部６６、サーバー通信部６７の各モジュールの動作を指定する情報である。キーコード受信部６１の動作を指定する指示情報は、キーコード保存開始要求とキーコード保存終了要求の２種類であり、この２種類の情報は排他の関係である。
【００４４】
ＯＳ７０上には、アプリケーション８０を含め複数のアプリケーションが存在する。これらのアプリケーションは、キーボード１０やポインティングデバイス１１からのキー入力を監視している。アプリケーション８０は、ネットワーク１３を介してサーバー４〜９を遠隔操作するためのものである。
【００４５】
次に、キーコード受信部６１について説明する。キーコード受信部６１は、キーボード１０から出力されたキーコードをＯＳ７０が取得する前に取得し、このキーコードをメモリ６３に保存する機能を含み以下の機能を有する。キーコード受信部６１は、キーボード１０から送信されたキーコードを受信する機能、キーボード１０から受信したキーコードをメモリ６３に保存する機能、キーボード１０から受信したキーコードをキーコード制御部６４に送信する機能、インターフェース制御部６６から送信された指示情報を受信する機能、インターフェース制御部６６から受信した指示情報をメモリ６３に保存する機能を有し、メモリ６３に保存した指示情報を読み取る機能を有し、キーボード１０から受信したキーコードをキーコード制御部６４へ送信し、インターフェース制御部６６からの指示情報に従って、キーコードをメモリ６３へと保存、非保存を切り替える。
【００４６】
図４は、キーコード受信部６１の処理フローチャートである。キーコード受信部６１の処理は、インターフェース制御部６６からの指示情報を処理するステップＳ０００１〜Ｓ０００４と、キーボード１０から送信されるキーコードを処理するステップＳ０００５〜Ｓ００１０を有する。これらはそれぞれ独立して動作する。まず、インターフェース制御部６６からの指示情報を処理するフローについて説明する。Ｓ０００２にて、キーコード受信部６１は、インターフェース制御部６６から指示情報が送信されるまで待機し、Ｓ０００３にて、インターフェース制御部６６から受信した指示情報をメモリ６３に保存する。
【００４７】
次に、キーボード１０から送信されるキーコードを処理するフローについて説明する。Ｓ０００６にて、キーコード受信部６１は、キーボード１０からキーコードを受信するまで待機し、Ｓ０００７にて、キーボード１０から受信したキーコードをキーコード制御部６４に送信する。Ｓ０００８にて、メモリ６３より指示情報を読み取り、読み取った指示情報がキーコード保存開始要求あるいはキーコード保存終了要求かを確認する。キーコード保存開始要求およびキーコード保存終了要求は排他とし、キーコード保存開始要求がある場合は、Ｓ０００９にてキーボード１０から受信したキーコードをメモリ６３に保存し、キーコード保存終了要求がある場合は、キーボード１０から受信したキーコードをメモリ６３に保存しない。
【００４８】
次に、ポインティングデバイスデータ受信部６２について説明する。ポインティングデバイスデータ受信部６２は、ポインティングデバイス１１から出力されたポインティングデバイスデータをＯＳ７０が取得する前に取得し、このポインティングデバイスデータをメモリ６３に保存する機能を含み以下の機能を有する。
【００４９】
ポインティングデバイスデータ受信部６２は、ポインティングデバイス１１から送信されたポインティングデバイスデータを受信する機能、ポインティングデバイス１１から受信したポインティングデバイスデータをメモリ６３に保存する機能、ポインティングデバイス１１から受信したポインティングデバイスデータをポインティングデバイスデータ制御部６５に送信する機能、インターフェース制御部６６から送信された指示情報を受信する機能、インターフェース制御部６６から受信した指示情報をメモリ６３に保存する機能、メモリ６３に保存した指示情報を読み取る機能を有し、ポインティングデバイス１１から受信したポインティングデバイスデータをポインティングデバイスデータ制御部６５へ送信し、インターフェース制御部６６からの指示情報に従って、ポインティングデバイスデータをメモリ６３へと保存、非保存を切り替える。
【００５０】
図５はポインティングデバイスデータ受信部６２の処理フローチャートである。ポインティングデバイスデータ受信部６２の処理は、インターフェース制御部６６からの指示情報を処理するフローＳ０１０１〜Ｓ０１０４と、ポインティングデバイス１１から送信されるポインティングデバイスデータを処理するフローＳ０１０５〜Ｓ０１１０を有する。これらはそれぞれ独立して動作する。まず、インターフェース制御部６６からの指示情報を処理するフローについて説明する。Ｓ０１０２にて、ポインティングデバイスデータ受信部６２は、インターフェース制御部６６から指示情報が送信されるまで待機し、Ｓ０１０３にて、インターフェース制御部６６から受信した指示情報をメモリ６３に保存する。
【００５１】
次に、ポインティングデバイス１１から送信されるポインティングデバイスデータを処理するフローについて説明する。Ｓ０１０６にて、ポインティングデバイス１１からポインティングデバイスデータを受信するまで待機し、Ｓ０１０７にて、ポインティングデバイス１１から受信したポインティングデバイスデータをポインティングデバイスデータ制御部６５に送信する。Ｓ０１０８にて、メモリ６３より指示情報を読み取り、読み取った指示情報がポインティングデバイスデータ保存開始要求あるいはポインティングデバイスデータ保存終了要求かを確認する。
【００５２】
ポインティングデバイスデータ保存開始要求およびポインティングデバイスデータ保存終了要求は排他とし、ポインティングデバイスデータ保存開始要求がある場合は、Ｓ０１０９にて、ポインティングデバイス１１から受信したポインティングデバイスデータをメモリ６３に保存し、ポインティングデバイスデータ保存終了要求がある場合は、ポインティングデバイス１１から受信したポインティングデバイスデータをメモリ６３に保存しない。
【００５３】
次に、キーコード制御部６４について説明する。キーコード制御部６４は、ＯＳ７０へのキーコードの送信を遮断する機能を含み以下の機能を有する。キーコード制御部６４は、キーコード受信部６１から送信されたキーコードを受信する機能、キーコード受信部６１から受信したキーコードのＯＳ７０への送信を遮断する機能、インターフェース制御部６６から送信された指示情報を受信する機能、インターフェース制御部６６から受信した指示情報をメモリ６３に保存する機能、メモリ６３に保存した指示情報を読み取る機能を有する。インターフェース制御部６６からの指示情報に従って、キーコード受信部６１から受信したキーコードのＯＳ７０への送信の遮断、送信を切り替える。
【００５４】
図６は、キーコード制御部６４の処理フローチャートである。キーコード制御部６４の処理は、インターフェース制御部６６からの指示情報を処理するＳ０２０１〜Ｓ０２０４と、キーコード受信部６１から送信されるキーコードを処理するＳ０２０５〜Ｓ０２１０を有する。これらはそれぞれ独立して動作する。まず、インターフェース制御部６６からの指示情報を処理するフローについて説明する。Ｓ０２０２にて、キーコード制御部６４は、インターフェース制御部６６から指示情報が送信されるまで待機し、Ｓ０２０３にて、インターフェース制御部６６から受信した指示情報をメモリ６３に保存する。
【００５５】
次に、キーコード受信部６１から送信されるキーコードを処理するフローについて説明する。Ｓ０２０６にて、キーコード受信部６１からキーコードを受信するまで待機し、Ｓ０２０７にて、キーコード制御部６４からキーコードを受信する。Ｓ０２０８にて、メモリ６３より指示情報を読み取り、読み取った指示情報がキーコード遮断開始要求あるいはキーコード遮断終了要求かを確認する。キーコード遮断開始要求およびキーコード遮断終了要求は排他とし、キーコード遮断開始要求がある場合は、キーコード受信部６１から受信したキーコードのＯＳ７０への送信を遮断し、キーコード遮断終了要求がある場合は、Ｓ０２０９にて、キーコード受信部６１から受信したキーコードをＯＳ７０へ送信する。
【００５６】
次に、ポインティングデバイスデータ制御部６５について説明する。ポインティングデバイスデータ制御部６５は、ＯＳ７０へのポインティングデバイスデータの送信を遮断する機能を含み以下の機能を有する。
【００５７】
ポインティングデバイスデータ制御部６５は、ポインティングデバイスデータ受信部６２から送信されたポインティングデバイスデータを受信する機能、ポインティングデバイスデータ受信部６２から受信したポインティングデバイスデータのＯＳ７０への送信を遮断する機能、インターフェース制御部６６から送信された指示情報を受信する機能、インターフェース制御部６６から受信した指示情報をメモリ６３に保存する機能、メモリ６３に保存した指示情報を読み取る機能を有し、インターフェース制御部６６からの指示情報に従って、ポインティングデバイスデータ受信部６２から受信したポインティングデバイスデータのＯＳ７０への送信の遮断、送信を切り替える。
【００５８】
図７は、ポインティングデバイスデータ制御部６５の処理フローチャートである。ポインティングデバイスデータ制御部６５の処理は、インターフェース制御部６６からの指示情報を処理するフローＳ０３０１〜Ｓ０３０４と、ポインティングデバイスデータ受信部６２から送信されるポインティングデバイスデータを処理するフローＳ０３０５〜Ｓ０３１０とを有する。これらはそれぞれ独立して動作する。まず、インターフェース制御部６６からの指示情報を処理するフローについて説明する。Ｓ０３０２にて、ポインティングデバイスデータ制御部６５は、インターフェース制御部６６から指示情報が送信されるまで待機し、Ｓ０３０３にて、インターフェース制御部６６から受信した指示情報をメモリ６３に保存する。
【００５９】
次に、ポインティングデバイスデータ受信部６２から送信されるポインティングデバイスデータを処理するフローについて説明する。Ｓ０３０６にて、ポインティングデバイスデータ受信部６２からポインティングデバイスデータを受信するまで待機し、Ｓ０３０７にて、ポインティングデバイスデータ制御部６５からポインティングデバイスデータを受信する。Ｓ０３０８にて、メモリ６３より指示情報を読み取り、読み取った指示情報がポインティングデバイスデータ遮断開始要求あるいはポインティングデバイスデータ遮断終了要求かを確認する。
【００６０】
ポインティングデバイスデータ遮断開始要求およびポインティングデバイスデータ遮断終了要求は排他とし、ポインティングデバイスデータ遮断開始要求がある場合は、ポインティングデバイスデータ受信部６２から受信したポインティングデバイスデータのＯＳ７０への送信を遮断し、ポインティングデバイスデータ遮断終了要求がある場合は、Ｓ０３０９にてポインティングデバイスデータ受信部から受信したポインティングデバイスデータをＯＳ７０へ送信する。
【００６１】
次に、サーバー通信部６７について説明する。サーバー通信部６７は、メモリ６３に保存されたキーコードやポインティングデバイスデータをサーバー４〜９に送信する機能を含め以下の機能を有する。
【００６２】
サーバー通信部６７は、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータを読み取る機能、メモリ６３に保存されたキーコードおよびポインティングデバイスデータがキーコード受信部６１およびポインティングデバイス受信部６２により更新されたことを確認する機能、通信機器に接続されたネットワーク１３上の他の通信機器に対して送りたい情報とその送信先を指定する機能、送信先をメモリ６３より読み取る機能、インターフェース制御部６６から送信された指示情報を受信する機能、インターフェース制御部６６から受信した指示情報をメモリ６３に保存する機能、メモリ６３に保存した指示情報を読み取る機能を有し、インターフェース制御部６６からの指示情報に従って、メモリ６３から読み取ったからキーコードおよびポインティングデバイスデータをネットワーク１３上の他の通信機器に送信、非送信を切り替える。
【００６３】
図８は、サーバー通信部６７の処理フローチャートである。サーバー通信部６７の処理は、インターフェース制御部６６からの指示情報を処理するフローＳ０４０１〜Ｓ０４０４と、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータを読み取り処理するフローＳ０４０５〜Ｓ０４１０とを有する。これらはそれぞれ独立して動作する。まず、インターフェース制御部６６からの指示情報を処理するフローについて説明する。Ｓ０４０２にて、サーバー通信部６７は、インターフェース制御部６６から指示情報が送信されるまで待機し、Ｓ０４０３にて、インターフェース制御部６６から受信した指示情報をメモリ６３に保存する。
【００６４】
次に、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータを読み取り処理するフローについて説明する。Ｓ０４０６にて、サーバー通信部６７は、メモリ６３より指示情報を読み取り、読み取った指示情報よりネットワーク送信開始要求およびネットワーク送信終了要求を確認する。ネットワーク送信開始要求およびネットワーク送信終了要求は排他とし、ネットワーク送信開始要求がある場合は、Ｓ０４０８にて、サーバー通信部６７は、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータの送信を開始する。ネットワーク送信終了要求がある場合は、メモリにネットワーク送信開始要求が保存されるまで送信を開始しない。
【００６５】
ネットワーク送信開始要求がある場合、Ｓ０４０８にて、サーバー通信部６７は、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータが更新されているかをチェックし、更新されていればＳ０４０９にて、更新されたキーコードおよびポインティングデバイスデータをメモリ６３より読み取り、Ｓ０４１０にてメモリより通信先情報を読み取る。通信先情報とは、通信機器に接続されたネットワーク１３上のネットワーク経由ＫＶＭ装置２、３に接続されたサーバー４〜９を遠隔操作する為に必要な情報のことである。
【００６６】
Ｓ０４１１にて、サーバー通信部６７は、メモリ６３より読み取ったキーコードおよびポインティングデバイスデータを通信先情報にあるネットワーク経由ＫＶＭ装置２、３に対して送信する。Ｓ０４０８にて、サーバー通信部６７は、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータが更新されていない場合、メモリ６３に保存されたキーコードおよびポインティングデバイスデータが更新されるまで送信を行わない。
【００６７】
ループＳ０４０７にて、サーバー通信部６７は、メモリ６３より指示情報を読み取り、ネットワーク送信終了要求が保存されるまで、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータが更新されるのを待機する。Ｓ０４０８にて、サーバー通信部６７は、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータが更新されていない場合、メモリ６３より指示情報を読み取り、ネットワーク送信終了要求が保存されるまで、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータが更新されるのを待機する。
【００６８】
次に、インターフェース制御部６６について説明する。インターフェース制御部６６は、メモリ６３に保存されたキーコードやポインティングデバイスデータをＯＳ７０上で動作する遠隔操作用のアプリケーション８０に送信する。
【００６９】
インターフェース制御部６６は、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータを読み取る機能、アプリケーション８０にキーコードおよびポインティングデバイスデータを送信する機能、メモリ６３に保存されたキーコードおよびポインティングデバイスデータがキーコード受信部６１およびポインティングデバイス受信部６２により更新されたことを確認する機能、アプリケーション８０から送信された指示情報を受信する機能、アプリケーション８０から受信した指示情報をメモリ６３に保存する機能、メモリ６３に保存した指示情報を読み取る機能、アプリケーション８０から受信した指示情報をキーコード受信部６１に送信する機能、アプリケーション８０から受信した指示情報をポインティングデバイスデータ受信部６２に送信する機能、アプリケーション８０から受信した指示情報をキーコード制御部６４に送信する機能、アプリケーション８０から受信した指示情報をポインティングデバイスデータ制御部６５に送信する機能、アプリケーション８０から受信した指示情報をサーバー通信部６７に送信する機能を有し、アプリケーション８０からの指示情報に従って、メモリ６３から読み取ったからキーコードおよびポインティングデバイスデータをアプリケーション８０に送信、非送信を切り替える。
【００７０】
図９は、インターフェース制御部６６の処理フローチャートである。インターフェース制御部６６の処理は、アプリケーション８０からの指示情報を処理するフローＳ０５０１〜Ｓ０５０９と、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータを読み取り処理するフローＳ０５１０〜Ｓ０５１７とを有する。これらはそれぞれ独立して動作する。
【００７１】
まず、アプリケーション８０からの指示情報を処理するフローについて説明する。Ｓ０５０２にて、インターフェース制御部６６は、アプリケーション８０から指示情報が送信されるまで待機し、Ｓ０５０３にて、アプリケーション８０から受信した指示情報をメモリ６３に保存する。Ｓ０５０４にて、インターフェース制御部６６は、キーコード受信部６１への指示情報をキーコード受信部６１へ送信する。Ｓ０５０５にて、インターフェース制御部６６は、ポインティングデバイスデータ受信部６２への指示情報をポインティングデバイスデータ受信部６２へ送信する。
【００７２】
Ｓ０５０６にて、インターフェース制御部６６は、キーコード制御部６４への指示情報をキーコード制御部６４へ送信する。Ｓ０５０７にて、インターフェース制御部６６は、ポインティングデバイスデータ制御部６５へ遮断開始要求を送信する。Ｓ０５０８にて、インターフェース制御部６６は、サーバー通信部６７へ通信開始要求を送信する。
【００７３】
次に、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータを読み取り処理するフローについて説明する。Ｓ０５１１にて、インターフェース制御部６６は、メモリ６３より指示情報を読み取り、読み取った指示情報よりアプリケーション送信開始要求およびアプリケーション送信終了要求を確認する。アプリケーション送信開始要求およびアプリケーション送信終了要求は排他とし、アプリケーション送信開始要求がある場合は、Ｓ０５１３にて、インターフェース制御部６６は、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータの送信を開始する。
【００７４】
アプリケーション送信終了要求がある場合、インターフェース制御部６７は、メモリにアプリケーション送信開始要求が保存されるまで送信を開始しない。アプリケーション送信開始要求がある場合、Ｓ０５１３にて、インターフェース制御部６７は、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータが更新されているかをチェックし、更新されていればＳ０５１４にて、更新されたキーコードおよびポインティングデバイスデータをメモリ６３より読み取り、Ｓ０５１５にて、アプリケーション８０にキーコードおよびポインティングデバイスデータを送信する。
【００７５】
Ｓ０５１３にて、インターフェース制御部６７は、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータが更新されていない場合、メモリ６３に保存されたキーコードおよびポインティングデバイスデータが更新されるまで送信を行わない。ループＳ０５１６にて、インターフェース制御部６６は、メモリ６３より指示情報を読み取り、アプリケーション送信終了要求が保存されるまで、キーコード受信部６１およびポインティングデバイス受信部６２によりメモリ６３に保存されたキーコードおよびポインティングデバイスデータが更新されるのを待機する。
【００７６】
次に、システムの動作について説明する。キーボード１０およびポインティングデバイス１１を操作する前に、アプリケーション８０からインターフェース制御部６６にサーバーの操作要求を送信し、操作要求を受信したインターフェース制御部６６は、キーボード受信部６１に保存要求、ポインティングデバイスデータ受信部６２に保存要求、キーボード制御部６４に遮断要求、ポインティングデバイスデータ制御部６５に遮断要求、サーバー通信部６７に通信要求を送信する。これらの処理の後、キーボード１０への入力により、キーコードが発生し、キーコード受信部６１はキーコードを受信し、キーコードをキーコード制御部６４に送信するとともに、保存要求に従ってメモリ６３にキーコードを保存する。
キーコード制御部６４は前記遮断要求に従って、ＯＳ７０へのキーコード送信を遮断する。
【００７７】
サーバー通信部６７は、キーコードをメモリ６３から読み出し、通信機器１２へ送信し、通信機器１２からネットワーク１３を通じて、ネットワーク経由ＫＶＭ装置２、３にキーコードが送信される。インターフェース制御部６６は、メモリ６３からキーコードを読み出しアプリケーション８０へ送信することで、アプリケーション８０が受信したキーコードに従って、インターフェース制御部６６にサーバーの遠隔操作および遠隔操作終了を要求可能にする。
【００７８】
また、ポインティングデバイス１１についても、ポインティングデバイス１１への入力により、ポインティングデバイスデータが発生し、ポインティングデバイスデータ受信部６２は、ポインティングデバイスデータを受信し、ポインティングデバイスデータをポインティングデバイスデータ制御部６５に送信するとともに、保存要求に従ってメモリ６３にポインティングデバイスデータを保存する。ポインティングデバイスデータ制御部６５は、遮断要求に従って、ＯＳ７０へのポインティングデバイスデータの送信を遮断する。
【００７９】
サーバー通信部６７は、ポインティングデバイスデータをメモリ６７から読み出し、通信機器１２へ送信し、通信機器１２からネットワーク１３を通じて、ネットワーク経由ＫＶＭ装置２、３にポインティングデバイスデータが送信される。インターフェース制御部６６は、メモリ６３からポインティングデバイスデータを読み出しアプリケーション８０へ送信することで、アプリケーション８０が受信したポインティングデバイスデータに従って、インターフェース制御部６６にサーバーの遠隔操作および遠隔操作終了を要求可能にする。
【００８０】
これにより、入力されたキーコードおよびポインティングデバイスデータをＯＳ７０に送信することなく、ネットワーク経由ＫＶＭ装置２、３へ送信することができ、他のキーコードを監視するアプリケーションに影響されず、かつ特殊キーをネットワーク経由ＫＶＭ装置２、３に送信することができるので、通常のキー操作をネットワーク経由の遠隔操作においても実現することが出来る。また、入力されたキーコードおよびポインティングデバイスデータをサーバーの遠隔操作アプリケーションへ送信することで、アプリケーションが受信したキーコードおよびポインティングデバイスデータに従って、サーバーの遠隔操作および遠隔操作終了を実現することができる。
【００８１】
第１実施例におけるモジュールの処理の詳細について説明する。図１０、図１１、図１２に、図３における処理のシーケンスを示す。なお、キーコード保存開始要求、ポインティングデバイスデータ保存開始要求、キーコード遮断開始要求、ポインティングデバイスデータ遮断開始要求、ネットワーク送信開始要求、アプリケーション送信開始要求で構成された指示情報をサーバー操作開始要求とし、キーコード保存終了要求、ポインティングデバイスデータ保存終了要求、キーコード遮断終了要求、ポインティングデバイスデータ遮断終了要求、ネットワーク送信終了要求、アプリケーション送信終了要求で構成された指示情報をサーバー操作終了要求とする。
【００８２】
図１０に示すように、ステップＳ０６０１において、ユーザーはアプリケーション８０からサーバー操作開始要求を送信する。ステップＳ０６０２において、インターフェース制御部６６は、図９に示したフローＳ０５０２でサーバー操作開始要求を受信し、Ｓ０５０３でメモリ６３にサーバー操作開始要求を保存する。サーバー操作開始要求にはアプリケーション送信開始要求が含まれているので、アプリケーション８０に対してメモリ６３から読み取ったキーコードとポインティングデバイスデータを送信するように設定される。
【００８３】
また、Ｓ０５０４〜Ｓ０５０８のフローで、インターフェース制御部６６は、サーバー操作開始要求の構成から、キーコード受信部６１にキーコード保存開始要求、ポインティングデバイスデータ受信部６２にポインティングデバイスデータ保存開始要求、キーコード制御部６４にキーコード遮断開始要求、ポインティングデバイスデータ制御部６５にポインティングデバイスデータ遮断開始要求、サーバー通信部６７にネットワーク送信開始要求をそれぞれ送信する。
【００８４】
ステップＳ０６０３において、キーコード受信部６１は、図４に示したＳ０００２のフローでキーコード保存開始要求を受信し、Ｓ０００３のフローでメモリ６３にキーコード保存開始要求を保存することで、キーボード１０より受信したキーコードをメモリ６３に保存するように設定される。ステップＳ０６０４において、ポインティングデバイスデータ受信部６２は、図５に示したＳ０１０２のフローでポインティングデバイス保存開始要求を受信し、Ｓ０１０３のフローでメモリ６３にポインティングデバイスデータ保存開始要求を保存することで、ポインティングデバイスデータ受信部６２より受信したポインティングデバイスデータをメモリ６３に保存するように設定される。
【００８５】
ステップＳ０６０５において、キーコード制御部６４は、図６に示したＳ０２０２のフローでキーコード遮断開始要求を受信し、Ｓ０２０３のフローでメモリ６３にキーコード遮断開始要求を保存することで、キーコード受信部６１より受信したキーコードのＯＳ７０への送信を遮断するように設定される。ステップＳ０６０６において、ポインティングデバイスデータ制御部６５は、図７に示したＳ０３０２で、ポインティングデバイスデータ遮断開始要求を受信し、Ｓ０３０３でメモリ６３にポインティングデバイスデータ遮断開始要求を保存することで、ポインティングデバイスデータ受信部６２から受信したポインティングデバイスデータのＯＳ７０への送信を遮断するように設定される。
【００８６】
ステップＳ０６０７において、サーバー通信部６７は、図８に示したＳ０４０２のフローで、ネットワーク送信開始要求を受信し、Ｓ０４０３のフローで、メモリ６３にネットワーク送信開始要求を保存することで、ネットワーク経由ＫＶＭ装置２、３に対してメモリ６３から読み取ったキーコードとポインティングデバイスデータを送信するように設定される。
【００８７】
この後、キーコードは、キーボード１０、キーコード受信部６１、キーコード制御部６４、メモリ６３、サーバー通信部６７、通信機器１２、ネットワーク経由ＫＶＭ装置２、３の順に操作対象のサーバーに送信される。また、別の経路として、キーコードは、キーボード１０、キーコード受信部６１、キーコード制御部６４、メモリ６３、インターフェース制御部６６、アプリケーション８０の順でアプリケーション８０に送信される。これによりＯＳ７０には送信されず、サーバー４〜９の遠隔操作が可能となる。
【００８８】
ポインティングデバイス１１のデータに付いても上記と同様に２種類の経路がある。すなわち、ポインティングデバイスデータは、ポインティングデバイス１１、ポインティングデバイスデータ受信部６２、ポインティングデバイス制御部６５、メモリ６３、サーバー通信部６７、通信機器１２、ネットワーク経由ＫＶＭ装置２、３の順で操作対象のサーバーに送信される。また、別の経路として、ポインティングデバイスデータは、ポインティングデバイス１１、ポインティングデバイスデータ受信部６１、ポインティングデバイスデータ制御部６５、メモリ６３、インターフェース制御部６６、アプリケーション８０の順で、アプリケーション８０に送信される。これによりＯＳ７０には送信されず、サーバー４〜７の遠隔操作が可能となる。
【００８９】
続いて、図１１を用いて、この状態から遠隔操作を行うときの処理フローを説明する。まず、キーコードの送信について説明する。Ｓ０７０１において、キーボード１０の操作によってキーコードが発生し、キーコード受信部６１は、図４に示すＳ０００６フローにてキーコードを受信する。ステップＳ０７０２において、キーコード受信部６１は、図４に示したＳ０００７のフローにてキーコードをキーコード制御部６４に送信し、キーコード保存開始要求によってキーコードを保存する状態になっているので、Ｓ０００９のフローにてキーコードをメモリ６３に保存する。
【００９０】
ステップＳ０７０３において、キーコード制御部６４は、図６に示すＳ０２０６のフローにて、キーコード受信部６１よりキーコードを受信し、キーコード遮断開始要求によってＯＳ７０へのキーコードの送信を遮断する状態になっているので、ＯＳ７０へのキーコードの送信を遮断する。ステップＳ０７０４において、インターフェース制御部６６は、キーコード受信部６１によってメモリ６３に保存されたキーコードを図９に示すＳ０５１４のフローにて、メモリ６３より読み取り、アプリケーション送信開始要求によって、アプリケーション８０に送信する状態になっているので、Ｓ０５１５のフローにてアプリケーション８０に送信する。
【００９１】
ステップＳ０７０５において、アプリケーション８０はキーコードを受信する。Ｓ０７０６において、サーバー通信部６７は、キーコード受信部６１によって保存されたキーコードを図８に示すＳ０４０９のフローにて、メモリ６３より読み取り、ネットワーク送信開始要求によってネットワーク１３に送信する状態になっているので、Ｓ０４１１のフローにて通信機器１２にキーコードを送信する。
【００９２】
次に、ポインティングデバイスデータの送信について説明する。ステップＳ０７０７において、ポインティングデバイス１１の操作によってポインティングデバイスデータが発生し、ポインティングデバイスデータ受信部６２は、図５に示したＳ０１０６のフローにて、ポインティングデバイスデータを受信する。ステップＳ０７０８において、ポインティングデバイスデータ受信部６２は、図５に示すＳ０１０７にて、ポインティングデバイスデータ制御部６５に送信し、ポインティングデバイスデータ保存開始要求によってポインティングデバイスデータを保存する状態になっているので、Ｓ０１０９のフローにて、ポインティングデバイスデータをメモリ６３に保存する。
【００９３】
ステップＳ０７０９において、ポインティングデバイスデータ制御部６５は、図７に示すＳ０３０６のフローにて、ポインティングデバイスデータ受信部６２よりポインティングデバイスデータを受信し、ポインティングデバイスデータ遮断開始要求によって、ＯＳ７０へのポインティングデバイスデータの送信を遮断する状態になっているので、ＯＳ７０へのポインティングデバイスデータの送信を遮断する。
【００９４】
ステップＳ０７１０において、インターフェース制御部６６は、ポインティングデバイスデータ受信部６２によってメモリ６３に保存されたポインティングデバイスデータを図９に示すＳ０５１４のフローにてメモリ６３より読み取り、アプリケーション送信開始要求によってアプリケーション８０に送信する状態になっているので、Ｓ０５１５のフローにて、アプリケーション８０に送信する。ステップＳ０７１１において、アプリケーション８０は、ポインティングデバイスデータを受信する。
【００９５】
Ｓ０７１２において、サーバー通信部６７は、ポインティングデバイスデータ受信部６２によって保存されたポインティングデバイスデータを図８に示したＳ０４０９のフローにてメモリ６３より読み取り、ネットワーク送信開始要求によってネットワーク１３に送信する状態になっているので、Ｓ０４１１のフローにて通信機器１２にポインティングデバイスデータを送信する。上記の処理により、ＯＳ７０にキーコードおよびポインティングデバイスデータを送信することなく、サーバー４〜９を遠隔操作できる。
【００９６】
次に、図１２を用いて、サーバーの遠隔操作を終了し、キーコードおよびポインティングデバイスデータをコンソールＰＣ５１のＯＳ７０上に流す処理を説明する。ステップＳ０８０１において、キーコードおよびポインティングデバイスデータをアプリケーション８０に送信する手順において取得したキーコードおよびポインティングデバイスデータにより、ユーザーはアプリケーション８０からサーバーの遠隔操作を終了すると、アプリケーション８０からインターフェース制御部６６にサーバー操作終了要求が送信される。
【００９７】
Ｓ０８０２において、インターフェース制御部６６は、図９に示すＳ０５０２のフローにて、サーバー操作終了要求を受信し、Ｓ０５０３のフローで、メモリ６３にサーバー操作終了要求を保存する。サーバー操作終了要求には、アプリケーション送信終了要求が含まれているので、アプリケーション８０に対して送信をやめるように設定される。また、Ｓ０５０４〜Ｓ０５０８のフローで、サーバー操作終了要求の構成から、キーコード受信部６１にキーコード保存終了要求、ポインティングデバイスデータ受信部６２にポインティングデバイスデータ保存終了要求、キーコード制御部６４にキーコード遮断終了要求、ポインティングデバイスデータ制御部６５にポインティングデバイスデータ遮断終了要求、サーバー通信部６７にネットワーク送信終了要求をそれぞれ送信する。
【００９８】
ステップＳ０８０３において、キーコード受信部６１は、図４に示したＳ０００２で、キーコード保存終了要求を受信し、Ｓ０００３のフローで、メモリ６３にキーコード保存終了要求を保存することで、キーボード１０から受信したキーコードをメモリ６３に保存しないように設定される。
【００９９】
ステップＳ０８０４において、ポインティングデバイスデータ受信部６２は、図５に示すＳ０１０２のフローで、ポインティングデバイス保存終了要求を受信し、Ｓ０１０３のフローで、メモリ６３にポインティングデバイスデータ保存終了要求を保存することで、ポインティングデバイス１１より受信したポインティングデバイスデータをメモリ６３に保存しないように設定される。ステップＳ０８０５において、キーコード制御部６４は、図６に示したＳ０２０２で、キーコード遮断開始要求を受信し、Ｓ０２０３のフローでメモリ６３にキーコード遮断終了要求を保存することで、キーコード受信部６１より受信したキーコードをＯＳ７０へ送信するように設定される。
【０１００】
ステップＳ０８０６において、ポインティングデバイスデータ制御部６５は、図７に示したＳ０３０２で、ポインティングデバイスデータ遮断終了要求を受信し、Ｓ０３０３のフローでメモリ６３にポインティングデバイスデータ遮断終了要求を保存することで、ポインティングデバイスデータ受信部６２より受信したポインティングデバイスデータをＯＳ７０へ送信するように設定される。
【０１０１】
ステップＳ０８０７において、サーバー通信部６７は、図８に示したＳ０４０２でネットワーク送信終了要求を受信し、Ｓ０４０３のフローでメモリ６３にネットワーク送信終了要求を保存することで、メモリ６３からキーコードおよびポインティングデバイスデータの読み出しを停止し、通信機器１２への送信を停止する。そして通信を終了するように設定される。これにより、ネットワーク経由ＫＶＭ装置２、３へのキーコードおよびポインティングデバイスデータの送信が停止され、ＯＳ７０へ送信される。
【０１０２】
ステップＳ０８０８において、キーボード１０の操作によってキーコードが発生しキーコード受信部６１にキーコードが送信される。Ｓ０８０９において、キーコード受信部６１は、図４に示したＳ０００６にてキーコードを受信し、Ｓ０００７のフローにてキーコード制御部６４に送信する。ステップＳ０８１０において、キーコード制御部６４は、図６に示すＳ０２０７にてキーコード受信部６１から送信されたキーコードを受信し、Ｓ０２０９のフローにてＯＳ７０へ送信する。
【０１０３】
ステップＳ０８１１において、ポインティングデバイス１１の操作によってポインティングデバイスデータが発生しポインティングデバイスデータ受信部６２にポインティングデバイスデータが送信される。Ｓ０８１２において、ポインティングデバイスデータ受信部６２は、図５に示したＳ０１０６にてポインティングデバイスデータを受信し、Ｓ０１０７にてポインティングデバイスデータ制御部６５に送信する。ステップＳ０８１３において、ポインティングデバイスデータ制御部６５は、図７に示したＳ０３０７にてポインティングデバイスデータ受信部６２から送信されたポインティングデバイスデータを受信し、Ｓ０３０９のフローにてＯＳ７０へ送信する。
【０１０４】
第１実施例によれば、キーボード１０およびポインティングデバイス１１のキーコードおよびポインティングデバイスデータをＯＳ７０に送信せずにネットワーク１３上にあるＫＶＭ装置２、３に送信できる。また、キーボード１０およびポインティングデバイス１１のキーコードおよびポインティングデバイスデータをＯＳ７０に送信せずにＯＳ７０上で動作するアプリケーション８０に送信できる。これにより、キー入力を監視している他のアプリケーションの影響を受けることなく、サーバー４〜９に特殊キーを送信することができる。よって、通常のキー操作をネットワーク経由の遠隔操作においても実現することができる。また、ＧＵＩによって特殊キーを送信しないので、キー入力のオペレーションを連続で行うことができる。さらに、ボタンなどのＧＵＩが増えることもない。
【実施例２】
【０１０５】
次に、第２実施例について説明する。第２実施例では、Ｗｉｎｄｏｗｓ（登録商標）ＯＳが動作するコンピューターシステムに対して本発明を適用した例を示す。図１３は、第２実施例に係るシステム２００のブロック図である。図１３に示すように、システム２００は、コンソールＰＣ１５１、ネットワーク経由ＫＶＭ装置２、３、サーバー４〜９、キーボード１０、ポインティングデバイス１１、通信装置１２を備える。
【０１０６】
コンソールＰＣ１５１は、デバイスドライバ１６０、ＯＳ１７０、アプリケーション１８０を有する。デバイスドライバ１６０は、キーコード受信部６１、ポインティングデバイスデータ受信部６２、メモリ６３、キーコード制御部６４、ポインティングデバイスデータ制御部６５、インターフェース６６、サーバー通信部６７を有する。アプリケーション１８０は、メモリ１８１を有する。
【０１０７】
コンソールＰＣ１５１は、Ｗｉｎｄｏｗｓ（登録商標）ＯＳ１７０が動作するいわゆるＤｏｓ／Ｖマシーンであること、また接続状態のサーバーのデスクトップ画像はネットワークを介してコンソールＰＣ１５１内のモジュールが受信しており、その情報はアプリケーション１８０が取得できることを前提条件とする。
【０１０８】
また、第２実施例のモジュールであるキーコード受信部６１、ポインティングデバイスデータ受信部６２、キーコード制御部６４、ポインティングデバイスデータ制御部６５、サーバー通信部６７およびインターフェース制御部６６は、カーネルモードで動作するデバイスドライバである。
【０１０９】
アプリケーション１８０は、図１４で例示するＧＵＩを持ったユーザーモードで動作するアプリケーションとして動作する。接続先となるサーバー４〜９への通信情報はメモリ１８１に保存されている。また、アプリケーション１８０は、図１４に示すサーバー番号の書かれたボタンＢを押すとキーコードやポインティングデバイスデータを該当番号のサーバー４〜９に送信する機能、画面表示部に該当番号のサーバーのデスクトップ画面を表示する機能、サーバー接続時、インターフェース受信部６６から取得したポインティングデバイス１１のデータを使用してマウスカーソルを移動させる機能を有する。
【０１１０】
図１６は、ネットワーク１３を経由して遠隔地にあるサーバー４〜９を操作する際のアプリケーション１８０の処理フローチャートである。図１７は、アプリケーション１８０の初期化の処理フローチャートである。図１８は、アプリケーション１８０のマウスイベント生成の処理フローチャートである。図１９は、アプリケーション１８０の終了処理のフローチャートである。図２０、図２１、図２２に、図１３における処理のシーケンスを示す。
図１６において、ユーザーが遠隔操作を開始するため、アプリケーション１８０を起動する。すると、Ｓ０９０１において、アプリケーション１８０は初期化処理を行う。
【０１１１】
図１７のＳ１００１において、メモリ１８１よりネットワーク経由ＫＶＭ装置２、３に接続されたサーバー４〜９の種類を読み取り、アプリケーション１８０は、サーバー４〜９を表すボタンを表示する。Ｓ１００２において、デバイスドライバ１６０はオープンとなり、アプリケーション１８０からインターフェース制御部６６への指示要求の送信、インターフェース制御部６６からアプリケーション１８０へのポインティングデバイスおよびキーコードの送信を可能な状態になる。遠隔操作中、ＯＳ１７０にポインティングデバイスデータは送信されなくなり、ユーザーは、マウスカーソルを移動させることが出来なくなる為、アプリケーション１８０のボタンを押すことが不可能になる。そこで、Ｓ１００３において遠隔操作中にＳ１００４〜Ｓ１００７で示したポインティングデバイス１１のエミュレーションを実行するスレッドを作成し、マウスイベントを発生させることでマウス操作を可能とする。
【０１１２】
図１６に戻り、Ｓ０９０２において、ユーザーがボタンＢを押すまで待機し、Ｓ０９０３においてどのボタンが押されたかを確認する。ユーザーがサーバー４〜６のいずれかのボタンＢを押した場合、Ｓ０９０４において、アプリケーション１８０は、押されたボタンＢに対応するサーバー４〜９への通信情報をメモリ１８１より読み取り、メモリ６３にそのデータを書き込む。Ｓ０９０５において、遠隔操作中でない場合、Ｓ０９０６にて、アプリケーション１８０は、インターフェース制御部６６にアプリケーション送信開始要求、キーコード保存開始要求、ポインティングデバイスデータ保存開始要求、キーコード遮断開始要求、ポインティングデバイスデータ遮断開始要求、ネットワーク送信開始要求を送信する。(図２０のＳ１１０１)
Ｓ１１０２にで、インターフェース制御部６６は、アプリケーション送信開始要求を受信し、アプリケーション１８０へメモリ６３上に保存されたキーコードおよびポインティングデバイスデータを送信する状態となる。Ｓ１１０３にて、キーコード受信部６１は、キーコード保存開始要求を受信し、メモリ６３にキーボード１０より受信したキーコードを保存するように設定される。Ｓ１１０４にて、ポインティングデバイスデータ受信部６２は、ポインティングデバイスデータ保存開始要求を受信し、メモリ６３にポインティングデバイス１１より受信したポインティングデバイスデータを保存するように設定される。
【０１１３】
Ｓ１１０５にて、キーコード制御部６４は、キーコード遮断開始要求を受信し、キーコード受信部６１より受信したキーコードのＯＳ１７０への送信を遮断するように設定される。Ｓ１１０６にて、ポインティングデバイスデータ受信部６２は、ポインティングデバイス遮断開始要求を受信し、ポインティングデバイスデータ受信部６２より受信したポインティングデバイスデータのＯＳ７０への送信を遮断するように設定される。
【０１１４】
Ｓ１１０７にて、サーバー通信部６７は、ネットワーク送信開始要求を受信し、メモリ６３に保存された通信先情報に対してメモリ６３から読み取ったキーコードとポインティングデバイスデータを送信するように設定される。ここで、キーコードとポインティングデバイスデータのＯＳ１７０への送信を遮断し、キーコードとポインティングデバイスデータをアプリケーション１８０とサーバー４〜６へ送信する状態になる。
【０１１５】
図１６に戻り、Ｓ０９０７にて、アプリケーション１８０は、遠隔操作中であることをメモリ１８１に保存し、再びユーザーがボタンを押すまで待機する。図１５は、遠隔操作中のアプリケーション１８０のＧＵＩを示す図である。画面表示部１９０に遠隔操作中のパソコンのデスクトップ画像が表示されている。
【０１１６】
まず、キーコードの送信について説明する。キーコードは、キーボード１０、キーコード受信部６１、キーコード制御部６４、メモリ６３、サーバー通信部６７、通信機器１２、ネットワーク経由ＫＶＭ装置２、３の順に流れ、操作対象のサーバー４〜９にキーコードが送信される。同時に、キーコードは、キーボード１０、キーコード受信部６１、キーコード制御部６４、メモリ６３、インターフェース制御部６６、アプリケーション１８０の順に流れ、アプリケーション１８０にも送信される。これにより、ＯＳ１７０には送信されず、サーバー４〜９の遠隔操作が可能となる。
【０１１７】
Ｓ１２０１において、キーボード１０の操作によってキーコードが発生し、キーコード受信部６１は、Ｓ１２０２において、キーコードをキーコード制御部６４に送信する。さらに、キーコード保存開始要求によってキーコードを保存する状態になっているので、キーコードをメモリ６３に保存する。Ｓ１２０３において、キーコード制御部６４は、キーコード受信部６１よりキーコードを受信する。キーコード遮断開始要求によってＯＳ１７０へのキーコードの送信を遮断する状態になっているので、ＯＳ１７０へのキーコードの送信を遮断する。
【０１１８】
Ｓ１２０４において、インターフェース制御部６６は、キーコード受信部６１によってメモリ６３に保存されたキーコードをメモリ６３より読み取り、アプリケーション送信開始要求によって、アプリケーション１８０に送信する状態になっているので、アプリケーション１８０に送信する。Ｓ１２０５において、アプリケーション１８０はキーコードを受信する。Ｓ１２０６において、サーバー通信部６７は、キーコード受信部６１によって保存されたキーコードをメモリ６３より読み取り、ネットワーク送信開始要求によってネットワーク１３に送信する状態になっているので、通信機器１２にキーコードを送信する。
【０１１９】
次にポインティングデバイスデータの流れについて説明する。ポインティングデバイスデータは、ポインティングデバイス１１、ポインティングデバイスデータ受信部６２、ポインティングデバイスデータ制御部６５、メモリ６３、サーバー通信部６７、通信機器１２、ネットワーク経由ＫＶＭ装置２、３の順に流れ、操作対象のサーバー４〜９にポインティングデバイスデータが送信される。同時に、ポインティングデバイスデータは、ポインティングデバイス１１、ポインティングデバイスデータ受信部６２、ポインティングデバイスデータ制御部６５、メモリ６３、インターフェース制御部６６、アプリケーション１８０の順に流れ、アプリケーション１８０にも送信される。これによりＯＳ１７０には送信されず、サーバー４〜９の遠隔操作が可能となる。
【０１２０】
Ｓ１２０７において、ポインティングデバイス１１の操作によってポインティングデバイスデータが発生し、ポインティングデバイスデータ受信部６２は、Ｓ１２０８において、ポインティングデバイスデータをポインティングデバイスデータ制御部６５に送信し、ポインティングデバイスデータ保存開始要求によってポインティングデバイスデータを保存する状態になっているので、ポインティングデバイスデータをメモリ６３に保存する。
【０１２１】
Ｓ１２０９において、ポインティングデバイスデータ制御部６５は、ポインティングデバイスデータ受信部６２よりポインティングデバイスデータを受信し、ポインティングデバイスデータ遮断開始要求によってＯＳ１７０へのポインティングデバイスデータの送信を遮断する状態になっているので、ＯＳ１７０へのポインティングデバイスデータの送信を遮断する。Ｓ１２１０において、インターフェース制御部６６は、ポインティングデバイスデータ受信部６２によってメモリ６３に保存されたキーコードをメモリ６３より読み取り、アプリケーション送信開始要求によって、アプリケーション１８０に送信する状態になっているので、アプリケーション１８０に送信する。
【０１２２】
アプリケーション１８０は、図１８のＳ１００３において作成したスレッドにて、ポインティングデバイスデータを受信する。このとき、Ｓ１００５でポインティングデバイスデータを受信したことを確認し、Ｓ１００６においてインターフェース制御部６６より受信したポインティングデバイスデータで得られたデータに基づいて、マウスのエミュレーションを実行する。
【０１２３】
また、Ｓ１２１２において、サーバー通信部６７は、ポインティングデバイスデータ受信部６２によって保存されたポインティングデバイスデータをメモリ６３より読み取り、ネットワーク送信開始要求によってネットワーク１３に送信する状態になっているので、通信機器１２にポインティングデバイスデータを送信する。
【０１２４】
この後、ネットワーク経由ＫＶＭ装置２、３を送られたキーコードおよびポインティングデバイスデータは、ネットワーク経由ＫＶＭ装置２、３によって操作対象のサーバー４〜９に送信されることで、遠隔操作が可能になり、コンソールＰＣ１５１のＯＳ１７０にはキーコードおよびポインティングデバイスデータが送信されない為、他のキーコード監視アプリケーションにはキーコードが送信されることがない。また、アプリケーション１８０は、ポインティングデバイスデータを元にスレッドでマウスイベントを生成してマウスのエミュレーションを実行しているので、アプリケーション１８０のボタンを押すことが可能となる。
【０１２５】
次に、ユーザーがコンソールＰＣ１５１のボタンＢを押した場合、図１６のＳ０９０８において、メモリ１８１より遠隔操作中かどうかを確認し、遠隔操作中の場合は、Ｓ０９０９において、アプリケーション１８０は、インターフェース制御部６６にアプリケーション送信終了要求、キーコード保存終了要求、ポインティングデバイスデータ保存終了要求、キーコード遮断終了要求、ポインティングデバイスデータ遮断終了要求、ネットワーク送信終了要求を送信する。(図２２のＳ１３０１)
Ｓ１３０２にて、インターフェース制御部６６は、アプリケーション送信終了要求を受信したので、アプリケーション１８０への送信をしないように設定される。Ｓ１３０３にて、キーコード受信部６１は、キーコード保存終了要求を受信したので、キーボード１０より受信したキーコードをメモリ６３に保存しないように設定される。Ｓ１３０４にて、ポインティングデバイスデータ受信部６２は、ポインティングデバイスデータ保存終了要求を受信したので、メモリ６３に保存しないように設定される。
【０１２６】
Ｓ１３０５にて、キーコード制御部６４は、キーコード遮断終了要求を受信したので、ＯＳ７０へキーコードを送信するように設定される。Ｓ１３０６にて、ポインティングデバイスデータ受信部６２は、ポインティングデバイス遮断終了要求を受信したので、OSへポインティングデバイスデータを送信するように設定される。Ｓ１３０７にて、サーバー通信部６７は、ネットワーク送信終了要求を受信したので、ネットワーク１３への送信をしないように設定される。
【０１２７】
アプリケーション１８０は、Ｓ０９１０において、遠隔操作中でないことをメモリ１８１に保存し、再びユーザーがボタンＢを押すまで待機する。この後、キーボード１０を操作した場合、キーコード受信部６１は、図２２のＳ１３０９において、キーコードを受信しキーコード制御部６４に送信する。その後、キーコード制御部６４は、Ｓ１３１０において、キーコードをＯＳ１７０へ送信する。ポインティングデバイス１１を操作した場合、ポインティングデバイスデータ受信部６２は、Ｓ１３１２において、ポインティングデバイスデータを受信し、ポインティングデバイスデータ制御部６５に送信する。その後、ポインティングデバイスデータ制御部６５は、Ｓ１３１３において、ポインティングデバイスデータをＯＳ１７０へ送信する。
【０１２８】
ユーザーが終了ボタンＢを押した場合、遠隔操作中であった場合は、図１６のＳ０９１２において、コンソールＰＣ１５１のボタンＢを押した場合の処理同様、遠隔操作を終了させ、Ｓ０９１３にて、メモリ１８１に遠隔操作中でないことを保存し、終了処理において、遠隔操作中のマウスエミュレーションを実行するスレッドを終了させ(図１９のＳ１００７)、Ｓ１００８のドライバクローズにて、インターフェース制御部６６との通信を止めてからアプリケーション１８０を終了する。
【０１２９】
入力されたキーコードおよびポインティングデバイスデータをＯＳ１７０に送信することなく、ネットワーク経由ＫＶＭ装置２、３へ送信することができ、他のキーコード監視アプリケーションに影響されず、かつ特殊キーをネットワーク経由ＫＶＭ装置２、３に送信することができるので、通常のキー操作をネットワーク経由の遠隔操作においても実現することが出来る。
【０１３０】
第２実施例によれば、キーボード１０およびポインティングデバイス１１のキーコードおよびポインティングデバイスデータをＯＳ１７０に送信せずにネットワーク１３上にあるＫＶＭ装置２、３に送信できる。また、キーボード１０およびポインティングデバイス１１のキーコードおよびポインティングデバイスデータをＯＳ１７０に送信せずにＯＳ１０上で動作するアプリケーション１８０に送信できる。
【０１３１】
これにより、キー入力を監視している他のアプリケーションの影響を受けることなく、サーバー４〜９に特殊キーを送信することができる。よって、通常のキー操作をネットワーク経由の遠隔操作においても実現することができる。
また、ＧＵＩによって特殊キーを送信しないので、キー入力のオペレーションを連続で行うことができる。さらに、ボタンなどのＧＵＩが増えることもない。
【０１３２】
なお、コンソールＰＣ５１、１５１が特許請求の範囲における情報処理装置に相当し、デバイスドライバ６０、１６０が特許請求の範囲におけるプログラムに相当し、アプリケーション８０、１８０が特許請求の範囲における遠隔操作用のアプリケーションに相当する。また、プログラムであるデバイスドライバ６０、１６０は、ＣＤ−ＲＯＭ等の記録媒体に記録して配布することができる。
【０１３３】
以上本発明の好ましい実施例について詳述したが、本発明は係る特定の実施例に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【０１３４】
【図１】従来のネットワーク経由ＫＶＭ装置を用いて複数のサーバーを操作するシステムの構成図である。
【図２】従来のコンソールＰＣの内部構成を説明するための図である。
【図３】第１実施例に係るシステムのブロック図である。
【図４】キーコード受信部の処理フローチャートである。
【図５】ポインティングデバイスデータ受信部の処理フローチャートである。
【図６】キーコード制御部の処理フローチャートである。
【図７】ポインティングデバイスデータ制御部の処理フローチャートである。
【図８】サーバー通信部の処理フローチャートである。
【図９】インターフェース制御部の処理フローチャートである。
【図１０】図３における処理のシーケンスを示す図である。
【図１１】図３における処理のシーケンスを示す図である。
【図１２】図３における処理のシーケンスを示す図である。
【図１３】第２実施例に係るシステムのブロック図である。
【図１４】アプリケーションが提供するＧＵＩを示す図である。
【図１５】遠隔操作中のアプリケーションのＧＵＩを示す図である。
【図１６】ネットワークを経由して遠隔地にあるサーバーを操作する際のアプリケーションの処理フローチャートである。
【図１７】アプリケーションの初期化の処理フローチャートである。
【図１８】アプリケーションのマウスイベント生成の処理フローチャートである。
【図１９】アプリケーションの終了処理のフローチャートである。
【図２０】図１３における処理のシーケンスを示す図である。
【図２１】図１３における処理のシーケンスを示す図である。
【図２２】図１３における処理のシーケンスを示す図である。
【符号の説明】
【０１３５】
２、３  ネットワーク経由ＫＶＭ装置
４〜９  サーバー
１０  キーボード
１１  ポインティングデバイス
１２  通信機器
１３  ネットワーク
５１  コンソールＰＣ
６０、１６０  デバイスドライバ
６１  キーコード受信部
６２  ポインティングデバイスデータ受信部
６３  メモリ
６４  キーコード制御部
６５  ポインティングデバイスデータ制御部
６６  インターフェース制御部
６７  サーバー通信部
７０、１７０  ＯＳ
８０、１８０  アプリケーション
１８１  メモリ
【図１】
0004535314.tif 000002
【図２】
0004535314.tif 000003
【図３】
0004535314.tif 000004
【図４】
0004535314.tif 000005
【図５】
0004535314.tif 000006
【図６】
0004535314.tif 000007
【図７】
0004535314.tif 000008
【図８】
0004535314.tif 000009
【図９】
0004535314.tif 000010
【図１０】
0004535314.tif 000011
【図１１】
0004535314.tif 000012
【図１２】
0004535314.tif 000013
【図１３】
0004535314.tif 000014
【図１４】
0004535314.tif 000015
【図１５】
0004535314.tif 000016
【図１６】
0004535314.tif 000017
【図１７】
0004535314.tif 000018
【図１８】
0004535314.tif 000019
【図１９】
0004535314.tif 000020
【図２０】
0004535314.tif 000021
【図２１】
0004535314.tif 000022
【図２２】
0004535314.tif 000023