(57)【特許請求の範囲】
【請求項１】
ローカルユーザの入力操作により得られるローカル操作信号を受信するローカル操作受信部と、
ネットワークを介して画面操作装置で発生したリモート操作信号を受信して、受信したリモート操作信号をローカル操作信号に変換するリモート操作受信部と、
前記ローカル操作信号とローカル操作イベント信号との関連付けを保持し、前記ローカル操作受信部または前記リモート操作受信部から前記ローカル操作信号を取得して前記関連付けに基づき当該ローカル操作信号をローカル操作イベント信号に変換するイベント変換部と、
前記イベント変換部から前記ローカル操作イベント信号を取得して当該ローカル操作イベント信号に従って操作イベント処理を実行する操作イベント処理部と、
前記操作イベント処理部の処理結果を画面情報として構成する画面構成部と、
前記画面構成部が構成した画面情報を前記画面操作装置へネットワークを介して送信する画面情報送信部と、
予め指定された条件を満たすか否かを判断し前記条件を満たすと判断すると、前記イベント変換部が保持する前記ローカル操作信号と前記ローカル操作イベント信号との関連付けを変更する操作制御部を備え、
前記操作制御部は、前記イベント変換部の変換処理を変更する処理として、前記操作イベント処理部が何も処理を実行しない空設定処理を行うことを特徴とする画面被操作装置。
【請求項２】
前記画面被操作装置の状態を検知して前記操作制御部に通知する状態通知部を備え、
前記操作制御部は、前記状態通知部から前記画面被操作装置の状態を受信し、前記ローカル操作信号の内容と前記画面被操作装置の状態が指定した基準を充たすと、前記イベント変換部が保持する前記ローカル操作信号と前記ローカル操作イベント信号との関連付けを変更することを特徴とする請求項1記載の画面被操作装置。
【請求項３】
前記状態通知部は、画面被操作装置の状態として、画面被操作装置の入力装置の設定状態、使用中ユーザ、使用中アプリケーション、使用中ウィンドウの種類、ＣＰＵまたはメモリの使用率、内部時計の時刻や時間帯、アプリケーションの実行中タスクの種類および、オブジェクトの位置のいずれかを通知することを特徴とする請求項２に記載の画面被操作装置。
【請求項４】
前記操作制御部は画面被操作装置の入力装置の設定状態、使用中ユーザ、使用中アプリケーション、使用中ウィンドウの種類、ＣＰＵまたはメモリの使用率、内部時計の時刻や時間帯、アプリケーションの実行中タスクの種類および、オブジェクトの位置のいずれかを条件として、前記ローカル操作信号と前記ローカル操作イベント信号との関連付けを変更することを特徴とする請求項１〜３のいずれか１項に記載の画面被操作装置。
【請求項５】
ローカルユーザの入力操作により得られるローカル操作信号を受信するローカル操作受信ステップと、
ネットワークを介して画面操作装置で発生したリモート操作信号を受信して、受信したリモート操作信号をローカル操作信号に変換するリモート操作受信ステップと、
前記ローカル操作信号とローカル操作イベント信号との関連付けを保持し、前記ローカル操作受信ステップまたは前記リモート操作受信ステップによる前記ローカル操作信号を取得して前記関連付けに基づき当該ローカル操作信号をローカル操作イベント信号に変換するイベント変換ステップと、
前記イベント変換ステップにて変換した前記ローカル操作イベント信号を取得して当該ローカル操作イベント信号に従って操作イベント処理を実行する操作イベント処理ステップと、
前記操作イベント処理ステップの処理結果を画面情報として構成する画面構成ステップと、
前記画面構成ステップにて構成した画面情報を前記画面操作装置へネットワークを介して送信する画面情報送信ステップと、
予め指定された条件を満たすか否かを判断し前記条件を満たすと判断すると、前記イベント変換ステップにて保持する前記ローカル操作信号と前記ローカル操作イベント信号との関連付けを変更する操作制御ステップを備え、
前記操作制御ステップは、前記イベント変換ステップでの変換処理を変更する処理として、前記操作イベント処理ステップにて何も処理を実行しない空設定処理を行うことを特徴とする画面被操作方法。
【請求項６】
ローカルユーザの入力操作により得られるローカル操作信号を受信するローカル操作受信ステップと、
ネットワークを介して画面操作装置で発生したリモート操作信号を受信して、受信したリモート操作信号をローカル操作信号に変換するリモート操作受信ステップと、
前記ローカル操作信号とローカル操作イベント信号との関連付けを保持し、前記ローカル操作受信ステップまたは前記リモート操作受信ステップによる前記ローカル操作信号を取得して前記関連付けに基づき当該ローカル操作信号をローカル操作イベント信号に変換するイベント変換ステップと、
前記イベント変換ステップにて変換した前記ローカル操作イベント信号を取得して当該ローカル操作イベント信号に従って操作イベント処理を実行する操作イベント処理ステップと、
前記操作イベント処理ステップの処理結果を画面情報として構成する画面構成ステップと、
前記画面構成ステップにて構成した画面情報を前記画面操作装置へネットワークを介して送信する画面情報送信ステップと、
予め指定された条件を満たすか否かを判断し前記条件を満たすと判断すると、前記イベント変換ステップにて保持する前記ローカル操作信号と前記ローカル操作イベント信号との関連付けを変更する操作制御ステップを備え、
前記操作制御ステップは、前記イベント変換ステップでの変換処理を変更する処理として、前記操作イベント処理ステップにて何も処理を実行しない空設定処理を行うことをコンピュータに実現させる画面被操作プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、画面操作装置により表示画面がリモート操作される画面被操作装置に関する。
【背景技術】
【０００２】
近年、ネットワークを経由してコンピュータの表示画面を別のコンピュータによって操作するリモート操作技術が普及している。リモート操作技術はリモートデスクトップという概念で提唱されており、代表的には、特許文献1に示すような VNC (Virtual Network Computing) が提案されている。
【０００３】
リモート操作技術を実現する環境は、表示画面がリモート操作される画面被操作装置と、表示画面をリモート操作する画面操作装置とをネットワークでつなぐことで構築される。画面操作装置および画面被操作装置はそれぞれ、アプリケーションにより動作するコンピュータであり、出力装置である表示画面と、入力装置であるマウスやキーボード等とを有している。
【０００４】
画面被操作装置はサーバ装置として、表示画面の画像情報をネットワーク経由で画面操作装置に送信して画面の転送を行う。一方、画面操作装置はクライアント装置として、受信した画像情報を表示画面に表示する。画面操作装置はマウスやキーボード等の入力装置を操作して操作信号を生成し、これをネットワーク経由で画面被操作装置に送信する。
【０００５】
画面被操作装置は受信した操作信号をアプリケーションに引き渡し、操作信号を操作イベント信号に変換する。このとき、操作信号と操作イベント信号とは予め関連付けられている。そして画面被操作装置は操作イベント信号にしたがって各種のイベント処理を実行し、実行した処理結果を表示画面に出力する。具体的なイベント処理としては、マウス押下イベントやポインタ移動イベント等がある。
【０００６】
ところで、画面被操作装置は画面操作装置側から操作信号を受信するだけではなく、画面被操作装置自体に付設された入力装置からも操作信号を受信する。画面操作装置側からの操作信号をリモート操作信号、画面被操作装置側からの操作信号をローカル操作信号と呼ぶ。
【０００７】
画面被操作装置では、受信した操作信号がリモート操作信号なのか、ローカル操作信号なのかを判別している。このような操作信号の判別により、操作信号の発信元が画面操作装置なのか、画面被操作装置なのかによって、操作信号の許可あるいは破棄を選択的に行うことができる。
【先行技術文献】
【特許文献】
【０００８】
【特許文献１】特開２００８−７１３１２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００９】
従来の画面被操作装置では、リモート操作信号なのかローカル操作信号なのかを判別しているが、リモート操作信号自体を画面操作装置ごとに判別することは行っていない。そのため、１台の画面被操作装置に対して複数台の画面操作装置を同時に接続した場合、特定の画面操作装置だけを対象として、リモート操作信号の許可または破棄を行うことはできない。したがって、ある画面操作装置からのリモート操作信号を許可し、別の画面操作装置からのリモート操作信号についてはこれを破棄するといったリモート操作技術が望まれている。
【００１０】
また、従来の画面被操作装置では、操作信号の許可または破棄に際して、画面被操作装置では装置の状態を考慮していない。画面被操作装置の状態とは、ＯＳやＸサーバ、各種デバイス、設定ファイル等から導かれる情報であって、具体的には次のような状態として現れる。
【００１１】
すなわち、画面被操作装置の入力装置をどのように設定するか、使用中のユーザは誰か、使用中のアプリケーションや使用中のウィンドウの種類は何か、ＣＰＵ使用率やメモリ使用率はどのような値を取るか、内部時計は何時なのか、テキストカーソルやマウスカーソルの位置はどこか等である。これら装置の状態を勘案した上で操作信号の許可または破棄を行うことで、状況に適切に対応することが可能なリモート操作技術の開発が待たれている。
【００１２】
また、ＯＳも多様化傾向にある近年、画面被操作装置と画面操作装置が異なるＯＳを使用するといった環境も少なくない。このため、操作信号と操作イベント信号との関連付けが固定されていると、あるＯＳに特有の操作信号については、そのＯＳを利用していない画面被操作装置では対応することができない。
【００１３】
さらには、入力装置の設定に関して、画面被操作装置側と画面操作装置側とで異なることもある。この場合も操作信号と操作イベント信号との関連付けが固定されていると、画面操作装置からのリモート操作信号について画面被操作装置で対応する可能性がある。したがって、操作信号を許可するか、あるいは破棄するかの２通りの処理を行うだけではなく、操作信号と操作イベント信号との関連付けを変更し、操作信号に柔軟に対応することも求められている。
【００１４】
本実施形態の画面被操作装置は上記の課題を解決するために提案されたものである。本実施形態の目的は、操作信号の発信元や画面被操作装置の状態に応じて操作信号を処理することができ、ユーザビリティおよび信頼性の向上を図った画面被操作装置を提供することにある。
【課題を解決するための手段】
【００１５】
上記の目的を達成するために、本発明に係る画面被操作装置は、次の構成要素（ａ）〜（ｈ）を備えたことを特徴とする。
（ａ）ローカルユーザの入力操作により得られるローカル操作信号を受信するローカル操作受信部。
（ｂ）ネットワークを介して画面操作装置で発生したリモート操作信号を受信して、受信したリモート操作信号をローカル操作信号に変換するリモート操作受信部。
（ｃ）前記ローカル操作信号とローカル操作イベント信号との関連付けを保持し、前記ローカル操作受信部または前記リモート操作受信部から前記ローカル操作信号を取得して前記関連付けに基づき当該ローカル操作信号をローカル操作イベント信号に変換するイベント変換部。
（ｄ）前記イベント変換部から前記ローカル操作イベント信号を取得して当該ローカル操作イベント信号に従って操作イベント処理を実行する操作イベント処理部。
（ｅ）前記操作イベント処理部の処理結果を画面情報として構成する画面構成部。
（ｆ）前記画面構成部が構成した画面情報を前記画面操作装置へネットワークを介して送信する画面情報送信部。
（ｇ）予め指定された条件を満たすか否かを判断し前記条件を満たすと判断すると、前記イベント変換部が保持する前記ローカル操作信号と前記ローカル操作イベント信号との関連付けを変更する操作制御部。
（ｈ）前記操作制御部は、前記イベント変換部の変換処理を変更する処理として、前記操作イベント処理部が何も処理を実行しない空設定処理を行う。
【図面の簡単な説明】
【００１６】
【図１】第１の実施形態を含むブロック図。
【図２】第１の実施形態の構成図。
【図３】第１の実施形態の処理フロー図。
【図４】第１の実施形態の処理フロー図。
【図５】第１の実施形態のフローチャート。
【図６】第１の実施形態のフローチャート。
【図７】第１の実施形態のフローチャート。
【図８】第１の実施形態において特定の画面操作装置からのリモート操作信号を破棄する状態場合の模式図。
【図９】第１の実施形態において特定のアプリケーションウィンドウに対するリモート操作信号を破棄する場合の模式図。
【図１０】第１の実施形態において操作信号と操作イベント信号との関連付けを変更する場合の模式図。
【発明を実施するための形態】
【００１７】
［第１の実施形態］
図１〜図１０を参照して第１の実施形態に係る画面被操作装置について説明する。
（構成の概要）
図１は画面被操作装置１のリモート操作環境を示すブロックである。図１に示すように、画面被操作装置１と画面操作装置１００とはネットワークＮでつながれている。ネットワークＮは、ＩＥＥＥ８０２．３等の有線通信プロトコルや、ＩＥＥＥ８０２．１１で規定される無線通信プロトコルや、その他のプロトコルに準拠したネットワークであり、ＬＡＮ、インターネット網、専用回線等の通信回線である。
【００１８】
画面被操作装置１および画面操作装置１００は共にコンピュータであり、前者はＯＳ上でＶＮＣサーバアプリケーションを動作させるＶＮＣサーバ装置であり、後者はＯＳ上でＶＮＣクライアントアプリケーションを動作させるＶＮＣクライアント装置である。画面被操作装置１および画面操作装置１００はそれぞれ、ＣＰＵからなる演算制御装置１ａ，１００ａ、ＲＡＭである主記憶装置１ｂ，１００ｂ、ＯＳおよびアプリケーションが記憶されるＨＤＤ等の外部記憶装置１ｃ，１００ｃ、通信インターフェース１ｄ，１００ｄ、表示画面であるスクリーン２１，１２１、入力装置であるキーボード３０，１３０およびマウス３１，１３１を備えている。
【００１９】
（詳細な構成）
図２のブロック図を用いて画面被操作装置１および画面操作装置１００の構成を詳細に説明する。
（画面操作装置）
画面操作装置１００の構成について述べる。図２に示すように、画面操作装置１００にはリモート操作送信部１１０および画面情報受信部１２０が設けられている。これらの構成部はＯＳおよびＶＮＣクライアントアプリケーションの起動によって、その機能が実現される。
【００２０】
リモート操作送信部１１０と画面情報受信部１２０は通信インターフェース１００ｄにより、他の端末とＴＣＰ／ＩＰ等のプロトコルを用いて通信を行う。これらは共通の通信部を用いてもよい。リモート操作送信部１１０はマウス１３１やキーボード１３０から受信したリモート操作信号にＴＣＰやＩＰのヘッダを付加し、ネットワークＮを介して画面被操作装置１へと送信する。
【００２１】
画面情報受信部１２０はネットワークＮを介して画面被操作装置１の画面情報送信部２０から受信したデータからＴＣＰやＩＰのヘッダを取り除き、デコード処理を施し画面の差分情報を得て、フレームバッファに対して上書きする。フレームバッファとは主記憶装置１ｂ内に割り当てられた仮想空間である。スクリーン１２１はフレームバッファの内容を可視化し、画面操作装置１００側のユーザに画面データを提供する。
【００２２】
（画面被操作装置）
次に、画面被操作装置１の構成について述べる。図２に示すように、画面被操作装置１にはリモート操作受信部１０、画面情報送信部２０、画面構成部２２、ローカル操作受信部３２、操作イベント処理部４０、イベント変換部５０、状態通知部６０、操作制御部７０が設けられている。これらの構成部はＯＳおよびＶＮＣサーバアプリケーションの起動によって、その機能が実現される。
【００２３】
画面被操作装置１はフレームバッファの内容について、スクリーン２１に出力すると共に、通信インターフェース１ｄによりネットワークＮを介してスクリーン２１の画面データを画面操作装置１００に転送する。スクリーン２１はフレームバッファの内容を可視化した画面データを、画面被操作装置１側のユーザに提供する表示画面である。
【００２４】
（リモート操作受信部）
リモート操作受信部１０はＶＮＣサーバの一部であり、通信インターフェース１ｄにより他の端末とＴＣＰ／ＩＰ等のプロトコルを用いて通信を行う。リモート操作受信部１０はネットワークＮを介して画面操作装置１００のリモート操作送信部１１０からリモート操作信号を受信し、そこからＴＣＰやＩＰのヘッダを取り除いてローカル操作信号に変換する。
【００２５】
（画面情報送信部）
画面情報送信部２０もまたＶＮＣサーバの一部であり、通信インターフェース１ｄにより他の端末とＴＣＰ／ＩＰ等のプロトコルを用いて通信を行う。リモート操作受信部１０と画面情報送信部２０は共通の通信部を用いてもよい。画面情報送信部２０は画面構成部２２から受信した画面データにＴＣＰやＩＰのヘッダを付加し、ネットワークＮを介してこれを画面操作装置１００へ送信する。
【００２６】
画面情報送信部２０は画面データの送信に際して、すべての画面データを送信するのではなく、直前に画面構成部２２から受信した画面情報との差分抽出をビット比較などにより行い、それに任意の圧縮処理（例えばＪＰＥＧ や ｇｚｉｐなど）を施して、画面操作装置１００へ送信するようになっている。
【００２７】
（画面構成部）
画面構成部２２は操作イベント処理部４０から描画要求を受け取り、それを画面データへ変換してフレームバッファなどの記憶領域へ格納する部分である。画面構成部２２は例えばＵＮＩＸシステム（登録商標）等に採用されるＸサーバの描画機能により実現される。画面構成部２２は、操作イベント処理部４０から受け取った描画情報を視覚情報としてフレームバッファへ格納する。描画情報とはウィンドウ、ボタン、文字列および画像等の描画オブジェクトである。
【００２８】
（ローカル操作受信部）
ローカル操作受信部３２は、例えばマウス３１やキーボード３０といった入力装置を介してローカルユーザから入力操作信号をローカル操作信号として受信する。
【００２９】
（操作イベント処理部）
操作イベント処理部４０はイベント変換部５０からローカル操作イベント信号を取得して、このローカル操作イベント信号に応じた操作イベント処理を実行する。例えば、操作イベント処理部４０はマウス３１等の入力装置からの入力にしたがい各種アプリケーション中の操作イベント信号を処理し、処理結果として描画要求を画面構成部２２へ送る。描画要求には文字や図の描画要求だけではなくマウスカーソル等の描画要求も含まれる。  
【００３０】
（イベント変換部）
イベント変換部５０はローカル操作受信部３２またはリモート操作受信部１０からローカル操作信号を取得して、ローカル操作信号をローカル操作イベント信号に変換する。ローカル操作信号とはハードウェアのボタンの識別番号とボタンの押下状態を含む信号等であり、ローカル操作イベント信号とは操作の処理内容を示す識別番号を含む信号等である。
【００３１】
イベント変換部５０はローカル操作信号とローカル操作イベント信号との関連付けを保持し、ローカル操作信号を操作イベント処理部４０から受け取ると、前記関連付けに基づいて、それに対応する操作イベント信号へ変換して操作イベント処理部４０に返す。操作イベント信号にはマウスポインタのポインタ移動イベント信号や、キーボードやマウスボタンのボタン押下イベント信号等が含まれる。
【００３２】
イベント変換部５０はＵＮＩＸシステム（登録商標）等に採用されているＸサーバのキーマップとして実装される。キーマップは物理的なボタンの識別子であるキーコード（スキャンコードとも呼ばれる）を、ソフトウェア的なボタンの識別子であるキーシンボルへ変換するための対応表である。例えば、日本語１０６キーボードのスペースキーのキーコードは整数６１ 、Ｘサーバの一実装であるＸ１１の「スペース」に相当するキーシンボルは識別子ＸＫ_ＳＰＡＣＥであり、Ｘ１１のキーマップにてこれらを対応付けている。
【００３３】
（状態通知部）
状態通知部６０は画面被操作装置１の状態を操作制御部７０に通知する部分であって、本実施形態の特徴的な部分の１つである。第１の実施形態に係る画面被操作装置１では状態通知部６０によって画面被操作装置１の状態を把握した上で、リモート操作信号の許可や破棄を行うことに特徴がある。
【００３４】
画面被操作装置１の状態とは、画面被操作装置１の入力装置の設定状態、使用中ユーザ、使用中アプリケーションや使用中ウィンドウの種類、ＣＰＵ１ａの使用率や、主記憶装置１ｂにおけるメモリ使用率、画面被操作装置１に組み込まれた内部時計の時刻や時間帯、アプリケーションの状態等がある。アプリケーションの状態としては、アプリケーションが実行中のタスクの種類や、アプリケーションのウィンドウやボタンおよびマウスカーソルなどのオブジェクトが画面上にどのように配置されているかといったオブジェクトの位置といったことが含まれる。
【００３５】
（操作制御部）
操作制御部７０はイベント変換部５０が保持するローカル操作信号と操作イベント信号との関連付けを変更する部分であって、この構成要素も本実施形態の特徴的な部分の１つである。操作制御部７０は状態通知部６０が通知する画面被操作装置１の状態を受信し、ローカル操作受信部３２およびリモート操作受信部１０からローカル操作信号を受信する。
【００３６】
操作制御部７０は予め指定された条件を満たすか否かを判断し、条件を満たすと判断するとローカル操作信号と操作イベント信号との関連付けを変更して、イベント変換部５０の変換動作を変更する。操作制御部７０においてイベント変換部５０の変換処理を変更する処理として、操作イベント処理部４０が何も処理を実行しない空設定を含む。イベント変換部５０の変換動作の変更は、イベント変換部５０が保持するローカル操作信号とローカル操作イベント信号との対応関係を直接編集するか、この対応関係をあらかじめ用意しておいた別の対応関係と入れ替えることにより行う。
【００３７】
操作制御部７０においてイベント変換部５０の変換動作を変更するための条件としては、リモート操作信号の発信元が所定の画面操作装置１００であること、使用するアプリケーションが所定のものであること、さらには前述した画面被操作装置１の状態等が設定される。
【００３８】
（処理の流れ）
次に、本実施形態に係る画面被操作装置１における処理の流れについて説明する。
（画面転送処理）
図３は画面被操作装置１から画面操作装置１００への画面転送処理を示している。まず、画面構成部２２は描画要求にしたがってフレームバッファ内の画像データを更新し（ステップＳ０１）、フレームバッファの内容をスクリーン２１へ描画する（ステップＳ０２）。
【００３９】
画面構成部２２がフレームバッファを更新すると、画面情報送信部２０はその更新内容を示す画面データを画面操作装置１００へ送信する（ステップＳ０３）。具体的には、画面情報送信部２０がフレームバッファを監視し、画面構成部２２がフレームバッファを更新すると、画面情報送信部２０はフレームバッファ内の画像データを読み出す。
【００４０】
画面情報送信部２０はフレームバッファ内の画像データ読み出しに際して、予め保持している前回の画像データと、読み出した画像データとを比較して差分箇所を検出する。そして、画面情報送信部２０は差分箇所の画像データを圧縮し、圧縮した差分箇所の画像データにＴＣＰやＩＰのヘッダを付加して画面データとしてネットワークＮに送出する。ＴＣＰやＩＰのヘッダには、画面操作装置のＩＰアドレスや画面情報受信部２０を示すポート番号が含まれている。
【００４１】
画面操作装置１００側では画面情報受信部１２０がネットワークＮを介して画面情報送信部２０から画面データを受信すると（ステップＳ０４）、画面データの内容をスクリーン１２１へ描画する（ステップＳ０５）。具体的には、画面情報受信部１２０は画面データを受信すると、ＴＣＰやＩＰのヘッダを取り除いた上で画面データを伸張し、得られた画像データをフレームバッファの差分箇所に書き込む。
【００４２】
（画面操作装置におけるボタン押下処理）
図４は画面操作装置１００のマウスボタンあるいはキーボード押下処理を示している。まず、画面操作装置１００のユーザがマウス１３１を用いてマウスボタンを押下する、あるいは、キーボード１３０を用いてキーを押下する操作を行うと、ボタン押下イベントが発生する（ステップＳ１１）。
【００４３】
リモート操作送信部１１０ではボタン押下イベントが発生すると、リモート操作信号を生成する。リモート操作信号にはＴＣＰやＩＰのヘッダを付加する。ＴＣＰやＩＰには画面被操作装置１のＩＰアドレスおよびリモート操作受信部１０を示すポート番号が含まれる。リモート操作送信部１１０はネットワークＮを介してリモート操作信号を画面被操作装置１へ送信する（ステップＳ１２）。
【００４４】
画面被操作装置１側では、リモート操作受信部１０がリモート操作信号を受信し、リモート操作信号からＴＣＰやＩＰヘッダを取り除き、ローカル操作信号に変換してから、これを操作制御部７０へ送信する（ステップＳ１３）。ローカル操作信号にはＩＰアドレス等の画面操作装置１００のＩＤを付加する。
【００４５】
画面操作装置１００の操作を破棄する設定でなければ、（ステップＳ１４のＮｏ）、操作制御部７０はイベント変換部５０の変換処理をデフォルト設定に変更する（ステップＳ１５−２）。デフォルト設定では、イベント変換部５０が受信したすべての操作信号を、ＯＳやＸサーバの標準設定にしたがってローカル操作イベント信号へ変換するように、イベント変換部５０が変換処理を行うように設定されている。
【００４６】
一方、画面操作装置１００の操作を破棄する設定であれば（ステップＳ１４のＹｅｓ）、操作制御部７０はイベント変換部５０の変換処理を空設定に変更する（ステップＳ１５−１）。空設定では、イベント変換部５０が受信したすべての操作信号を、操作イベント処理部４０が何も処理を行わない種類のローカル操作イベント信号へ変換するように、イベント変換部５０の変換処理を変更する。
【００４７】
イベント変換部５０の変換処理が空設定であれば、操作イベント処理部４０が何も処理を行わないので、画面操作装置１００から送信されたリモート操作信号は破棄されることになる。また、画面操作装置１００の操作を破棄するか否かは、画面操作装置１００のＩＤと操作を破棄するか否かを関連付けた表等で管理してもよい。
【００４８】
操作制御部７０は操作イベント処理部４０にローカル操作信号を送信する（ステップＳ１６）。操作イベント処理部４０はローカル操作信号をイベント変換部５０に送り、イベント変換部５０はローカル操作信号をローカル操作イベント信号へ変換する（ステップＳ１７）。この際、イベント変換部５０はステップＳ１５−１で設定した空設定またはステップＳ１５−２で設定したデフォルト設定にしたがって信号変換処理を実行する。
【００４９】
操作イベント処理部４０はイベント変換部５０からローカル操作イベント信号を受け取り、この信号にしたがって各処理を行う（ステップＳ１８）。ここで、イベント変換部５０の変換処理が空設定となっている場合は、操作イベント処理部４０が得るローカル操作イベント信号は何も処理を行わない種類のローカル操作イベント信号である。そのため、操作イベント処理部４０は何も処理を行わず、画面操作装置１００から送信されたリモート操作信号は破棄される。
【００５０】
（画面被操作装置におけるボタン押下処理）
図５は画面被操作装置１のマウスボタンあるいはキーボード押下処理を示すフローチャートである。まずユーザがマウス３１を用いてマウスボタンを押下する、あるいは、キーボード３０を用いてキーを押下する操作を行うと、ローカル操作イベント信号が発生する（ステップＳ２１）。ローカル操作受信部３２はローカル操作イベント信号を操作制御部７０へ送信する。
【００５１】
ここで、画面被操作装置１の操作を破棄する設定でなければ、（ステップＳ２２のＮｏ）、操作制御部７０はイベント変換部５０の変換処理を、ＯＳやＸサーバの標準設定にしたがってローカル操作イベント信号へ変換するデフォルト設定にする（ステップＳ２３−２）。一方、画面被操作装置１の操作を破棄する設定であれば（ステップＳ２２のＹｅｓ）、操作制御部７０はイベント変換部５０の変換処理を、操作イベント処理部４０が何も処理を行わないように空設定に変更する（ステップＳ２３−１）。
【００５２】
さらに操作制御部７０は操作イベント処理部４０にローカル操作信号を送信する（ステップＳ２４）。操作イベント処理部４０はローカル操作信号をイベント変換部５０に送り、イベント変換部５０はローカル操作信号をローカル操作イベント信号へ変換する（ステップＳ２５）。この際、イベント変換部５０はステップＳ２３−１で設定した空設定またはステップＳ２３−２で設定したデフォルト設定にしたがって信号変換処理を実行する。
【００５３】
操作イベント処理部４０はイベント変換部５０からローカル操作イベント信号を受け取り、この信号にしたがって各イベント処理を行う（ステップＳ２６）。ここで、イベント変換部５０の変換処理が空設定となっていれば、前述した場合と同じく、イベント処理部４０は何も処理を行うことはない。
【００５４】
（リモート操作信号と操作イベント信号との関連付けを変更する処理その１）
図６はリモート操作信号と操作イベント信号との関連付けを変更した上でリモート操作信号を受け入れる処理を示すフローチャートである。図６の処理では、操作制御部７０が予め指定された条件を満たすか否かで、リモート操作信号と操作イベント信号との関連付けの変更の可否を判断している。
【００５５】
画面被操作装置１のリモート操作受信部１０が画面操作装置１００からリモート操作信号を受信する、あるいは画面被操作装置１においてローカルユーザが入力操作を行うことでローカル操作受信部３２がローカル操作イベント信号を受信する（ステップＳ３１）。ここで操作制御部７０においてローカル操作信号と操作イベント信号との関連付けを変更する設定でなければ（ステップＳ３２のＮｏ）、操作制御部７０はイベント変換部５０の変換処理を、ＯＳやＸサーバの標準設定にしたがってローカル操作イベントへ変換するデフォルト設定にする（ステップＳ３３−２）。
【００５６】
一方、操作制御部７０がローカル操作信号と操作イベント信号との関連付けを変更する設定であれば（ステップＳ３２のＹｅｓ）、操作制御部７０はローカル操作信号をローカル操作イベント信号へ変換する規則を変えてイベント変換部５０の変換処理を変更する（ステップＳ３３−１）。
【００５７】
さらに操作制御部７０は操作イベント処理部４０にローカル操作信号を送信する（ステップＳ３４）。操作イベント処理部４０はローカル操作信号をイベント変換部５０に送り、イベント変換部５０はローカル操作信号をローカル操作イベント信号へ変換する（ステップＳ３５）。この際、イベント変換部５０はステップＳ３３−１またはステップＳ３３−２の設定にしたがって変換処理を行う。操作イベント処理部４０はローカル操作イベント信号にしたがって各処理を行う（ステップＳ３６）。
【００５８】
（ローカル操作信号と操作イベント信号との関連付けを変更する処理その２）
図７はリモート操作信号の内容と画面被操作装置１の状態に基づいて、ローカル操作信号と操作イベント信号との関連付けを変更する処理を示すフローチャートである。まず状態通知部６０が画面被操作装置１の状態を監視し、得られた状態情報を操作制御部７０へ通知する（ステップＳ４１）。
【００５９】
操作制御部７０は画面被操作装置１の状態を示す情報が予め指定された条件を満たさないと判断すれば（ステップＳ４２のＮｏ）、操作制御部７０はイベント変換部５０の変換処理を、ＯＳやＸサーバの標準設定にしたがってローカル操作イベントへ変換するデフォルト設定にする（ステップＳ４３−２）。また、操作制御部７０は画面被操作装置１の状態を示す情報が予め指定された条件を満たすと判断すると（ステップＳ４２のＹｅｓ）、イベント変換部５０の変換処理を変更する（ステップＳ４３−１）。具体的には、ローカル操作信号とローカル操作イベントとを関連付けている規則を変更する。
【００６０】
（作用効果）
このような構成および動作を持つ画面被操作装置１の作用効果について、ボタン押下処理を例にとり、図８〜図１０を参照して説明する。なお、図８および図１０では画面操作装置１００を画面操作装置Ａ，Ｂとして示す。
【００６１】
（１）特定の画面操作装置Ｂから送信したリモート操作信号を破棄することができる。
図８に示すように、画面被操作装置１は画面操作装置Ａのスクリーン上ならびに画面操作装置Ｂのスクリーン上に、画面被操作装置１のスクリーン２１の画面データを転送し描画する。
【００６２】
画面被操作装置１において、画面操作装置Ａからの画面被操作装置１へのリモート操作信号を許可し、画面操作装置Ｂからの画面被操作装置１へのリモート操作信号を破棄すると予め設定する。すなわち、操作制御部７０においてイベント変換部５０の変換動作を空設定に変更するための条件として、リモート操作信号の発信元が画面操作装置Ｂであることを設定する。操作制御部７０は前記条件を満たすと、イベント変換部５０の変換処理を、操作イベント処理部４０が何も処理を行わない空設定に変更する。
【００６３】
画面操作装置Ａのスクリーン上にて発生したボタン操作を画面被操作装置１へ送信する。この場合、受信したリモート操作信号の発信元が画面操作装置Ａなので、画面被操作装置１の操作制御部７０は予め指定された条件を満たさない。したがって、画面被操作装置１側のイベント変換部５０および操作イベント処理部４０にてボタン操作信号への変換および処理に関してはこれを通常通りに行い、処理結果を画面操作装置Ａおよび画面被操作装置１の各スクリーンへ反映する。
【００６４】
一方、画面操作装置Ｂのスクリーン上にて発生したボタン操作のリモート操作信号を画面被操作装置１へ送信する。この場合、受信したリモート操作信号の発信元が画面操作装置Ｂであると、画面被操作装置１の操作制御部７０は予め指定された条件を満たすことになり、イベント変換部５０の変換処理を、操作イベント処理部４０が何も処理を行わないように空設定に変更する。その結果、操作イベント処理部４０はボタン操作処理を行うことなくボタン操作を破棄する。これにより、ボタン操作は画面被操作装置１のスクリーン２１へ反映されることはない。
【００６５】
このような第１の実施形態によれば、あらかじめ指定した画面操作装置Ｂからのボタン操作のみを破棄することが可能である。したがって、１台の画面被操作装置に複数の画面操作装置を接続している場合に、特定の画面操作装置からのリモート操作信号だけを破棄することが可能となる。
【００６６】
（２）特定のアプリケーションウィンドウへのリモート操作信号を破棄することができる。
図９に示すように、画面被操作装置１は画面操作装置１００のスクリーン上に画面被操作装置１のスクリーンの画面情報を転送し描画する。図９(ａ)は画面操作装置１００から画面被操作装置１のアプリケーションＡを操作している状態を表す模式図、図９(ｂ)は画面操作装置１００から画面被操作装置１のアプリケーションＢを操作している状態を表す模式図である。
【００６７】
画面被操作装置１の操作制御部７０において、画面操作装置１００からの画面被操作装置１のアプリケーションＡへのリモート操作信号を許可するがアプリケーションＢへのリモート操作信号は破棄とすると予め設定する。つまり、画面被操作装置１のリモート操作受信部１０が画面操作装置１００からリモート操作信号を受信するとき、画面被操作装置が使用中のアプリケーションがアプリケーションＢであれば、操作制御部７０はイベント変換部５０の変換処理を、操作イベント処理部４０が何も処理を行わないように空設定に変更する。
【００６８】
図９(ａ)に示すように、画面操作装置１００のスクリーン上にて発生したボタン操作を画面被操作装置１へ送信した場合は画面被操作装置１において使用中のアプリケーションＡである。そのため、画面被操作装置１側のイベント変換部５０および操作イベント処理部４０はボタン操作信号への変換および処理を通常通りに行う。その、操作イベント処理部４０の処理結果を画面操作装置１００および画面被操作装置１の各スクリーンへ反映する。
【００６９】
一方、図９(ｂ)に示すように、画面操作装置１００のスクリーン上にて発生したボタン操作のリモート操作信号を画面被操作装置１へ送信した場合、画面被操作装置１において使用中のアプリケーションＢであれば、操作制御部７０はイベント変換部５０の変換処理を操作イベント処理部４０が何も処理を行わないように空設定に変更する。その結果、操作イベント処理部４０はアプリケーションＢにおいてボタン操作処理を破棄する。
【００７０】
これにより、ボタン操作は画面被操作装置１のスクリーン２１へ反映されることはない。こうして、画面操作装置１００から画面被操作装置１の特定アプリケーションＢへの操作のみを破棄することが可能である。以上のような第１の実施形態によれば、アプリケーション単位で入力操作情報を破棄することが可能である。
【００７１】
（３）ローカル操作信号と操作イベント信号との関連付けを変更することができる。
図１０に示すように、画面被操作装置１は画面操作装置Ａのスクリーン上ならびに画面操作装置Ｂのスクリーン上に画面被操作装置１のスクリーンの画面情報を転送し描画する。画面被操作装置１の操作制御部７０においては、予め指定された条件が満たされると画面操作装置Ｂからの入力操作信号と画面被操作装置１における操作イベント信号との関連付けを変更するように設定する。
【００７２】
画面操作装置Ａのスクリーン上にて発生したボタン操作を画面被操作装置１へ送信し、予め指定された条件が満たされない場合には、画面被操作装置１側のイベント変換部５０および操作イベント処理部４０にてボタン操作信号への変換および処理を通常通りに行い、処理結果を画面操作装置Ａおよび画面被操作装置１の各スクリーンへ反映する。
【００７３】
一方、画面操作装置Ｂのスクリーン上にて発生したボタン操作を画面被操作装置１へ送信して、予め指定された条件が満たされると、操作制御部７０はイベント変換部５０の変換処理を変えて、ローカル操作信号と操作イベント信号との関連付けを変更する。すなわち、操作制御部７０がローカル操作信号をローカル操作イベント信号へ変換する規則を変えてイベント変換部５０の変換処理を変更し、その上でローカル操作信号を受け入れる。
【００７４】
（３−１）ローカル操作信号と操作イベント信号との関連付け変更が有効である例その１
例えば、画面被操作装置１と画面操作装置Ａは「Ｓ」というＯＳを使用しており、画面操作装置Ｂは「Ｓ」とは異なる「Ｌ」というＯＳを使用する。また、ＯＳ「Ｓ」に特有のローカル操作イベント信号として、「Ｃｏｐｙキー」が存在すると仮定する。
【００７５】
このとき、「画面被操作装置１の使用中アプリケーションがローカル操作イベント『Ｃｏｐｙキー』を利用するアプリケーションである」ということを、ローカル操作信号と操作イベント信号との関連付けを変更条件とする。なお、変更前の操作イベント信号としては、特定のローカル操作信号をローカル操作イベント信号「Ｆ１キー」として変換していたとする。
【００７６】
操作制御部７０が上記の変更条件を満たすと判断するとき、変更前にはローカル操作信号をローカル操作イベント信号「Ｆ１キー」として変換していたところを、ローカル操作イベント信号「Ｃｏｐｙキー」に変換する。従来であれば、ＯＳが「Ｌ」である画面操作装置Ｂからは、画面被操作装置１で使用中のＯＳ「Ｓ」において特有の「Ｃｏｐｙキー」の押下操作を行うことができなかった。
【００７７】
しかし、第１の実施形態によれば、画面操作装置Ｂにて「Ｆ１キー」キーが押下されたときに、画面被操作装置１が該当操作イベント信号を「Ｃｏｐｙキー」へと変更している。これにより、画面操作装置Ｂからのリモート操作信号によっても、画面被操作装置１において「Ｃｏｐｙキー」の押下操作が可能であり、ユーザビリティがいっそう向上する。
【００７８】
（３−２）ローカル操作信号と操作イベント信号との関連付け変更が有効である例その２
また、操作信号と操作イベント信号との関連付けの変更が有効である別の例としては、画面被操作装置１側と画面操作装置Ｂとのマウスの入力設定が相違する場合がある。すなわち、「マウスの左右ボタンの押下キーに関して画面被操作装置１側が標準設定であり、画面操作装置Ｂ側は左右切り替えて設定している」ということを、ローカル操作信号と操作イベント信号との関連付けを変更する条件とする。この変更条件を満たすと、操作制御部７０はイベント変換部５０の変換処理について、マウスの左右ボタンの押下キーに対応した操作イベント信号を左右逆になるように変更する。
【００７９】
画面被操作装置１と画面操作装置Ｂのユーザが右利き、画面操作装置Ｂのユーザが左利きであるとき、画面操作装置Ｂから画面被操作装置１のリモート操作を行う場合に、画面操作装置Ｂのユーザは利き手ではない右手でマウス操作を行うか、左手で右手と同等のマウス操作を行う必要があり、画面操作装置Ｂのユーザのマウス使用感が低下する。
【００８０】
このような場合、マウスの押下キーが左右にある時、左右の切り替え設定が可能である。すなわち、ユーザが右利きか左利きかでマウスの押下キーの操作内容を左右で入れ替え、使用頻度に差がある右ボタンの入力操作と、左ボタンの入力操作とを切り替えることができる。左右ボタンの入力操作には使用頻度に差があるため、利き手で使用頻度が高い側のボタンの押下操作が可能となり、使い勝手が向上する。
【００８１】
ここで、画面被操作装置１では標準設定とし、画面操作装置Ｂではマウスの押下キーを左右切り替えて、さらに上記の変更条件を設定したとする。したがって、マウスの押下キーは画面被操作装置１と画面操作装置Ｂとで左右逆に設定されたことになる。以上のような設定では、画面被操作装置１が画面操作装置Ｂから右ボタンの押下操作というリモート操作信号を受信すると、右ボタンを左ボタンに切り替えた画面操作装置Ｂでは右ボタンではなく、左ボタンの押下操作を実行したことになる。
【００８２】
従来の画面被操作装置１ではローカル操作信号と操作イベント信号との関連付けを変更していない。そのため、右ボタンの押下操作というローカル操作信号はそのまま右ボタンの押下操作イベントとして処理されてしまう。その結果、従来の画面被操作装置１では正確なリモート操作を実行することができない。
【００８３】
そこで第１の実施形態では、「マウスの左右ボタンの押下キーに関して画面被操作装置１が標準設定であり、画面操作装置Ｂは左右切り替えて設定している」ことを変更条件とする。そして、操作制御部７０は、この変更条件を満たすとローカル操作信号と操作イベント信号との関連付けを変更し、イベント変換部５０の変換処理について、マウスの左右ボタンの押下キーに対応した操作イベント信号が左右逆となるようにする。
【００８４】
したがって、画面被操作装置１のリモート操作受信部１０が、画面操作装置Ｂにてマウスの左ボタンが押下されたときのリモート操作信号を受信すると、操作制御部７０はローカル操作信号と操作イベント信号との関連付けを変更する。このため、イベント変換部５０は、マウスの左ボタン操作から生成されたローカル操作信号を、右ボタン押下操作を導く操作イベント信号へと変更する。
【００８５】
また、画面被操作装置１のリモート操作受信部１０が、画面操作装置Ｂにてマウスの右ボタンが押下されたときのリモート操作信号を受信すると、やはり操作制御部７０はローカル操作信号と操作イベント信号との関連付けを変更する。したがって、イベント変換部５０は、マウスの右ボタン操作から生成されたローカル操作信号を、左ボタン押下操作を導く操作イベント信号へと変更する。
【００８６】
このような第１の実施形態によれば、画面操作装置Ｂのユーザが左手にてマウスを操作すべくマウスボタンの左右を切り替える設定を行っていても、画面被操作装置１はリモート操作信号の内容を正確に把握した上で表示画面がリモート操作される。これにより、第１の実施形態ではリモート制御技術の信頼性および使い易さの向上に寄与することができる。
【００８７】
［他の実施形態］
以上のように、本発明の実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することを意図していない。これら新規な実施形態は、そのほかの様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【００８８】
例えば、上記実施形態では、特定の画面操作装置や特定のアプリケーションを使用中の画面被操作装置１に対してリモート操作信号の破棄を行っているが、特定の画面操作装置や特定のアプリケーションを使用中の画面被操作装置に対してのリモート操作信号のみ、許可するように設定してもよい。また、アプリケーション単位に限らず、ユーザ単位やアプリケーションウィンドウの構成部品単位で、リモート操作信号の許可あるいは破棄を行うようにしてもよい。
【００８９】
さらに、リモート操作信号と操作イベント信号との関連付けを変更するための変更条件としては、次のような例がある。例えば、使用中ユーザが使用中アプリケーションの使用を許可されていないこと、ＣＰＵ利用率やメモリ利用率がある値以上であること、内部時計の値が特定の時刻あるいは時間帯であること、使用中ユーザ入力中のテキストカーソルやマウスカーソルの位置が使用中ユーザに入力許可されていないテキストボックスやボタンの上にあること等がある。このような実施形態によれば、特定のユーザや画面被操作装置の使用状態、さらには特定の時間等を限定して、表示画面のリモート操作を実施することが可能である。これにより、信頼性やセキュリティの向上を図ることができる。
【符号の説明】
【００９０】
１  画面被操作装置
１ａ  演算制御装置
１ｂ  主記憶装置
１ｃ  外部記憶装置
１ｄ  通信インターフェース
１０  リモート操作受信部
２０  画面情報送信部
２１，１２１  スクリーン
２２  画面構成部
３０，１３０  キーボード
３１，１３１  マウス
３２  ローカル操作受信部
４０  操作イベント処理部
５０  イベント変換部
６０  状態通知部
７０  操作制御部
１００  画面操作装置
１１０  リモート操作送信部
１２０  画面情報受信部
Ｎ  ネットワーク
【図１】
0006021436.tif 000002
【図２】
0006021436.tif 000003
【図３】
0006021436.tif 000004
【図４】
0006021436.tif 000005
【図５】
0006021436.tif 000006
【図６】
0006021436.tif 000007
【図７】
0006021436.tif 000008
【図８】
0006021436.tif 000009
【図９】
0006021436.tif 000010
【図１０】
0006021436.tif 000011