(57)【特許請求の範囲】
【請求項１】
ヒューマンインターフェースデバイス(HID)のアプリケーションへの割当を示すルーティングテーブルを備えるシステムが、前記ヒューマンインターフェースデバイスの前記アプリケーションへの割当てを管理するための方法であって、
ヒューマンインターフェースデバイスが前記システムに新たに接続されたことを検出すると、周辺装置関連付けアプリケーションが、ヒューマンインターフェースデバイスとアプリケーションとの現在の関連付けを示す情報を表示するステップと、
ヒューマンインターフェースデバイスとアプリケーションとの関連付けの変更を指示するユーザ操作を検出すると、前記周辺装置関連付けアプリケーションが、前記ルーティングテーブルにおけるヒューマンインターフェースデバイスとアプリケーションとの関連付けを示す情報を変更することで、ヒューマンインターフェースデバイスとアプリケーションとの関連付けを変更するステップと、
を含むことを特徴とする方法。
【請求項２】
前記HIDがキーボード、マウス、またはジョイスティックのうちの1つである、請求項１に記載の方法。
【請求項３】
ヒューマンインターフェースデバイス（HID）のアプリケーションへの割当てを管理するためのシステムであって、
前記ヒューマンインターフェースデバイスの前記アプリケーションへの割当てを示すルーティングテーブルと、
ヒューマンインターフェースデバイスが前記システムに新たに接続されたことを検出すると、ヒューマンインターフェースデバイスとアプリケーションとの現在の関連付けを示す情報を表示し、ヒューマンインターフェースデバイスとアプリケーションとの関連付けの変更を指示するユーザ操作を検出すると、前記ルーティングテーブルにおけるヒューマンインターフェースデバイスとアプリケーションとの関連付けを示す情報を変更することで、ヒューマンインターフェースデバイスとアプリケーションとの関連付けを変更する周辺装置関連付けアプリケーションと、
を備えることを特徴とするシステム。
【請求項４】
前記HIDがキーボード、マウス、またはジョイスティック、あるいは任意のヒューマンインターフェースデバイス(HID)のうちの1つである、請求項３に記載のシステム。
【請求項５】
ヒューマンインターフェースデバイス（HID）のアプリケーションへの割当てを示すルーティングテーブルを備えるシステムを制御するコンピュータに、
ヒューマンインターフェースデバイスが前記システムに新たに接続されたことを検出すると、周辺装置関連付けアプリケーションが、ヒューマンインターフェースデバイスとアプリケーションとの現在の関連付けを示す情報を表示するステップと、
ヒューマンインターフェースデバイスとアプリケーションとの関連付の変更を指示するユーザ操作を検出すると、前記周辺装置関連付けアプリケーションが、前記ルーティングテーブルにおけるヒューマンインターフェースデバイスとアプリケーションとの関連付けを示す情報を変更することで、ヒューマンインターフェースデバイスとアプリケーションとの関連付けを変更するステップと、
を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ヒューマンインターフェースデバイスのアプリケーションへの割当てを管理するための方法、システム及びプログラムに関する。
【０００２】
優先権の主張
2010年11月29日に出願された欧州特許出願第10192963.6号の優先権を主張し、その内容を参照により本明細書に組み込む。
【０００３】
また、本発明は、前記方法を実行するためのシステムに関する。
【０００４】
また、本発明は、第1のグラフィック環境下で実行しているアプリケーションを使用する通信デバイスに関し、前記通信デバイスは、第1のグラフィック環境に割り当てられた少なくとも第1のHIDを備える。
【０００５】
また、本発明は、記録媒体に格納されており、コンピュータシステムにおいて実行されるとき本発明による方法のステップを実行するための命令を備えるコンピュータプログラムに関する。
【背景技術】
【０００６】
モバイル通信デバイスは、同時に焦点を合わせることができ、潜在的に複数のHIDならびに/または外部キーボードおよびスクリーンを同時に使用する、2つ以上のアプリケーションの概念を導入している。現在焦点を合わせているアプリケーションについて、適切なヒューマンインターフェースデバイス(HID)、キーボード、およびスクリーンの動的な割当てを、同時に管理するためのソリューションが必要である。
【０００７】
Windows（登録商標）またはLinux（登録商標） OSなどのオペレーティングシステムはマルチタスクであると考えられるが、ある時点で、ユーザインターフェースでアクティブなアプリケーションは1つだけであり、このアプリケーションだけが焦点を合わせて、HID(キーボード、マウス、ジョイスティック等)からイベントを受信する。たとえユーザが複数のキーボードに接続しても、全てのイベントは焦点を合わせているアプリケーションによって受信される。他のアプリケーションはバックグラウンドで実行し、すなわち、ビデオ符号化を処理するために、またはユーザとの対話を許可せずにコンテンツを表示するためにCPUを使用する。Windows（登録商標） OSおよびLinux（登録商標）は、1つまたは複数のアプリケーションを表示するためのより広い領域を有するためにオフィスを単に拡張する1つまたは複数のスクリーンを追加できるようにする、拡張されたデスクトップ特徴を提供する。ユーザとの対話は変更しない。
【０００８】
クライアント-サーバアーキテクチャでは、最も一般的なタイプの最新のシンクライアントは、エンドユーザにグラフィックユーザインターフェースを提供することだけに集中する低価格コンピュータ端末である。その他の機能、具体的にはオペレーティングシステムは、サーバによって提供される。
【０００９】
技術的な問題は、クライアント-サーバセッションの間、ユーザはシンクライアントに接続されたHIDを、第1のグラフィック環境から第2のグラフィック環境に切り替えることができないという事実によって生じる。
【００１０】
図1は、第1のグラフィック環境2、および第2のグラフィック環境4下で実行しているアプリケーションを制御するために使用されるシンクライアント装置1を概略的に示している。
【００１１】
シンクライアント装置1は、内部キーボード10などの内部HID(ヒューマンインターフェースデバイス)と、前記シンクライアント装置に接続されうるそれぞれの外部HID(16、18)を制御するための、ドライバモジュール15とを備える。
【００１２】
図1の例では、第1のグラフィック環境2だけがアクティブであり、シンクライアント装置のユーザは第1のグラフィック環境2下で実行しているアプリケーションを使用すると仮定される。ユーザが、外部マウス16または外部キーボード18などのシンクライアント装置外部HIDに接続すると、前記外部HIDはシンクライアント装置のドライバ15によって検出されて、一意のアクティブなグラフィック環境2に関連付けられる。シンクライアント装置上に第2のグラフィック環境4が立ち上がると、および第2のグラフィック環境4がHIDを先取りすると、ユーザは先取されたHIDを第2のグラフィック環境4から第1のグラフィック環境2に動的に切り替えることができなくなる。
【発明の概要】
【発明が解決しようとする課題】
【００１３】
本発明の第1の目的は、上記の問題を解決することである。
【００１４】
より具体的には、本発明は、たとえば2つ以上のアプリケーションが同時に焦点を合わせて、同時にHIDを使用するクラウドコンピューティングセッションにおいて、現在焦点を合わせているアプリケーションへのHIDの割当てを動的に管理することを目的とする。
【課題を解決するための手段】
【００１５】
本発明の第１の態様によれば、方法は、ヒューマンインターフェースデバイス(HID)のアプリケーションへの割当を示すルーティングテーブルを備えるシステムが、前記ヒューマンインターフェースデバイスの前記アプリケーションへの割当てを管理するための方法であって、ヒューマンインターフェースデバイスが前記システムに新たに接続されたことを検出すると、周辺装置関連付けアプリケーションが、ヒューマンインターフェースデバイスとアプリケーションとの現在の関連付けを示す情報を表示するステップと、ヒューマンインターフェースデバイスとアプリケーションとの関連付けの変更を指示するユーザ操作を検出すると、前記周辺装置関連付けアプリケーションが、前記ルーティングテーブルにおけるヒューマンインターフェースデバイスとアプリケーションとの関連付けを示す情報を変更することで、ヒューマンインターフェースデバイスとアプリケーションとの関連付けを変更するステップと、を含むことを特徴とする。
【００１６】
本発明の第２の態様によれば、システムは、ヒューマンインターフェースデバイス（HID）のアプリケーションへの割当てを管理するためのシステムであって、前記ヒューマンインターフェースデバイスの前記アプリケーションへの割当てを示すルーティングテーブルと、ヒューマンインターフェースデバイスが前記システムに新たに接続されたことを検出すると、ヒューマンインターフェースデバイスとアプリケーションとの現在の関連付けを示す情報を表示し、ヒューマンインターフェースデバイスとアプリケーションとの関連付けの変更を指示するユーザ操作を検出すると、前記ルーティングテーブルにおけるヒューマンインターフェースデバイスとアプリケーションとの関連付けを示す情報を変更することで、ヒューマンインターフェースデバイスとアプリケーションとの関連付けを変更する周辺装置関連付けアプリケーションと、を備えることを特徴とする。
【００１７】
本発明の第３の態様によれば、プログラムは、ヒューマンインターフェースデバイス（HID）のアプリケーションへの割当てを示すルーティングテーブルを備えるシステムを制御するコンピュータに、ヒューマンインターフェースデバイスが前記システムに新たに接続されたことを検出すると、周辺装置関連付けアプリケーションが、ヒューマンインターフェースデバイスとアプリケーションとの現在の関連付けを示す情報を表示するステップと、ヒューマンインターフェースデバイスとアプリケーションとの関連付の変更を指示するユーザ操作を検出すると、前記周辺装置関連付けアプリケーションが、前記ルーティングテーブルにおけるヒューマンインターフェースデバイスとアプリケーションとの関連付けを示す情報を変更することで、ヒューマンインターフェースデバイスとアプリケーションとの関連付けを変更するステップと、を実行させるためのプログラムである。
【００２２】
添付の図面を参照して、以下の説明を非限定的な例として読めば、本発明はよりよく理解されよう。
【図面の簡単な説明】
【００２３】
【図１】従来技術における、2つの異なるグラフィック環境下で実行しているアプリケーションを制御するために使用されるユーザ装置を概略的に示す図である。
【図２】本発明による、2つの異なるグラフィック環境下で実行しているアプリケーションを制御するために使用されるユーザ装置を概略的に示す図である。
【図３】1つまたは複数のアプリケーションを管理しているウィンドウシステム(WS)にHIDが関連付けられうるオペレーティングシステムにおける、本発明によるHIDのWSへの動的な割当てを概略的に示す図である。
【図４】図3のシステムの異なるコンポーネント間の対話を概略的に示す流れ図である。
【発明を実施するための形態】
【００２４】
本発明による方法を、図2を参照して説明する。図2では、第1のグラフィック環境2および第2のグラフィック環境4をサポートするユーザ装置(UE)1が、第1のグラフィック環境または第2のグラフィック環境のうちの1つの下で、リモートサーバ上で実行しているアプリケーションを遠隔で使用するためにクラウドサービスプロバイダ(CSP)の前記サーバと通信するように構成されている。
【００２５】
以下の説明では、同一の参照番号は、図面に共通の要素を示す。
【００２６】
グラフィック環境は、ウィンドウシステム(WS)内のアプリケーションでも、アプリケーションのグループでもよく、既存のウィンドウシステムで現在行われるように、焦点を有するアプリケーションに(アクティブなアプリケーションではなく)デバイスを関連付けるために、パス/ルーティングメカニズムはウィンドウシステムレベルで生じるべきである点に留意されたい。グラフィック環境は、オペレーティングシステム(OS)内のウィンドウシステムでもよく、この場合、HIDは1つまたは複数のアプリケーションを管理しているWSに関連付けられうる。グラフィック環境は可視化層で動作しており、2つ以上のオペレーティングシステムをサポートしているデバイスに準拠しなければならない。
【００２７】
図2を参照すると、図1のUE1と比較して、本発明のUE1は、パスマネージャ20、ルーティングテーブル22、および周辺装置関連付けアプリケーション24で構成される3つのモジュールをさらに備える。
【００２８】
パスマネージャ20は、入力デバイスからウィンドウシステムへのデータイベントのパスを変更するサービスを実行するソフトウェアコンポーネントである。
【００２９】
周辺装置関連付けアプリケーションは、UE1上でアプリケーションを使用するために、複数のHIDのうちの少なくとも1つの第1のHIDを、複数のグラフィック環境のうちの第1のグラフィック環境に動的に割り当てるためのユーザに対するユーザインターフェースを実行するソフトウェアコンポーネントである。
【００３０】
ルーティングテーブルは、周辺装置関連付けアプリケーションによって実行される割当てを備えるUE1に格納されたデータ構造である。
【００３１】
図3は、アプリケーションを使用するために、スクリーン30、および/またはキーボード32、および/またはマウス34を、第1のグラフィック環境2または第2のグラフィック環境4に動的に割り当てるためのシステムを概略的に示している。
【００３２】
このシステムでは、第1のグラフィック環境2は、アプリケーション33が実行されうるオペレーティングシステム（ＯＳ）のウィンドウシステム30(すなわち、モバイルアプリケーション用のAndroid(登録商標)、およびPCアプリケーション用のLinux(登録商標))と見なされ、第2のグラフィック環境4は、アプリケーション35が実行されうるウィンドウシステム31と見なされる。
【００３３】
この例では、システムはスクリーンドライバ36、キーボードドライバ38、およびマウスドライバ40を備える。それぞれのデバイスドライバは、キーボード32についての/からの、およびマウス34についての、それぞれ入力イベント、またはモニタ30への出力のファイルを表す専用ファイル記述子42を通じてパスマネージャ20と通信する。
【００３４】
HID(キーボード32、および/またはマウス34)がUE1に接続されると、パスマネージャ20は、ウィンドウシステム30および31によってそれぞれ管理されたファイル50および52内のそれぞれのHIDの入力をリダイレクトする。
【００３５】
このアーキテクチャで、HIDのうちの1つ、すなわちキーボード32またはマウス34がUE1に接続される場合、スクリーンドライバ36、および/またはキーボードドライバ38、および/またはマウスドライバ40は、ウィンドウシステム30または31に直接関連付けられないが、対応するファイルをウィンドウシステム30または31のうちの1つに関連付けることはパスマネージャの役割である。
【００３６】
以下で、デバイスGEはデバイス専用のグラフィック環境を表し、リモートGEはリモート接続専用のグラフィック環境を表す。
【００３７】
動作中、起動時に、ルーティングテーブル22はデフォルト関連付けで設定される。デフォルト関連付けとして、新しいHIDはUE1のグラフィック環境(default deviceGE)と関連付けられうる。
【００３８】
しかし、このデフォルト関連付けはユーザ嗜好によって無効にされる場合がある。
【００３９】
マウスおよびキーボードのプラグが差し込まれた後、ルーティングテーブル22は2つのエントリを設定する:
default deviceGE
/dev/input/event0 deviceGE
/dev/input/event1 deviceGE
【００４０】
周辺装置関連付けアプリケーション24のおかげで、ユーザは、以下のように2つの入力をリモートアプリケーションに関連付けることを決定できる:
default deviceGE
/dev/input/event0 remoteGE
/dev/input/event1 remoteGE
【００４１】
新しいHIDが検出されると、パスマネージャは、ルーティングテーブル内のデフォルト関連付けを探して、そのデバイスを予測されるウィンドウシステムに関連付ける。
【００４２】
ルーティングテーブルが更新されると(周辺装置関連付けアプリケーション24を介して)、パスマネージャ20は通知される。次いで、パスマネージャ20が現在の関連付けおよび現在のルーティングテーブル値に基づいて、HIDとウィンドウシステムとの間の関連付けが変更されるべきかどうかをチェックする。
【００４３】
図4は、HIDをグラフィック環境に動的に割り当てるために、パスマネージャ側および周辺装置関連付けアプリケーション側で実行されるステップを概略的に示している。
【００４４】
パスマネージャ側で、新しいHIDが検出されると、パスマネージャ20は、ルーティングテーブル値に基づいて仮想ドライバファイル記述子をウィンドウシステムに接続して(ステップ60)、新しいHID接続またはルーティング値変更を待つ(ステップ62)。
【００４５】
周辺装置関連付けアプリケーション24側では、周辺装置関連付けアプリケーションが現在の関連付けを表示して(ステップ64)、ユーザ選択を待つ(ステップ66)。
【００４６】
ステップ68で、ユーザは現在の関連付けを変更するかしないかを決定する。
【００４７】
ユーザが関連付けを変更しない場合、焦点が合っているアプリケーションは現在の関連付けで使用される。
【００４８】
ユーザが関連付けを変更する場合、その結果としてステップ70でルーティングテーブル値が変更されて、パスマネージャはルーティングテーブルの変更を通知される(矢印72および74)。
【００４９】
焦点が合っているアプリケーションは、新しい関連付けで使用される。
【符号の説明】
【００５０】
1  シンクライアント装置
1  ユーザ装置(UE)
2  第1のグラフィック環境
4  第2のグラフィック環境
10  内部キーボード
15  ドライバモジュール
16  外部マウス
18  外部キーボード
20  パスマネージャ
22  ルーティングテーブル
24  周辺装置関連付けアプリケーション
30  スクリーン
30  ウィンドウシステム
31  ウィンドウシステム
32  キーボード
33  アプリケーション
34  マウス
35  アプリケーション
36  スクリーンドライバ
38  キーボードドライバ
40  マウスドライバ
42  専用ファイル記述子
50  ファイル
52  ファイル
【図１】
0005861708.tif 000002
【図２】
0005861708.tif 000003
【図３】
0005861708.tif 000004
【図４】
0005861708.tif 000005