(57)【特許請求の範囲】
【請求項１】
通信デバイスの動作方法であって、
前記通信デバイスに接続されている携帯デバイスのための第１のＵＩを表示することと；
前記第１のＵＩ中のデータ入力フィールドの選択がなされたことを検出することに応じて、データ入力フィールド選択メッセージを前記携帯デバイスに送信することと；
前記データ入力フィールド選択メッセージを送信することに応じて、前記携帯デバイスから、第２のＵＩの表示をトリガするトリガメッセージと、前記第２のＵＩ中に表示すべきコンテンツとを受信することと；
前記トリガメッセージ及び前記コンテンツを受信することに応じて、前記第２のＵＩを表示する共に、前記第２のＵＩ中のデータ入力フィールドに、前記コンテンツを表示することと；
を含み、ここで、
・ 前記コンテンツは、前記携帯デバイスのＵＩ中のデータ入力フィールドであって、前記第１のＵＩ中の前記データ入力フィールドに対応するデータ入力フィールドから取得されたものであり、
・ 前記通信デバイスに表示される前記第２のＵＩは、前記通信デバイスのコンテキスト情報に基づいて選択される、
方法。
【請求項２】
前記通信デバイスは車載通信デバイスであり、
前記コンテキスト情報は、前記通信デバイスが搭載される車両の速度または可視性に関する情報である、
請求項１に記載の方法。
【請求項３】
前記受信したコンテンツから、データ入力完成予測アルゴリズムを用いてデータ入力を完成させる候補をいくつか決定することを含む、請求項１又は２に記載の方法。
【請求項４】
処理手段及び記憶手段を備える通信デバイスであって、前記記憶手段はプログラム命令を格納し、該プログラム命令は、前記処理手段に実行されると、前記通信デバイスに、請求項１から３のいずれかに記載の方法を遂行させるように構成される、通信デバイス。
【請求項５】
通信デバイスの処理手段に実行されると、該通信デバイスに、請求項１から３のいずれかに記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
【請求項６】
通信デバイスであって、
前記通信デバイスに接続されている携帯デバイスのための第１のＵＩを表示する手段と；
前記第１のＵＩ中のデータ入力フィールドの選択がなされたことを検出することに応じて、データ入力フィールド選択メッセージを前記携帯デバイスに送信する手段と；
前記データ入力フィールド選択メッセージを送信することに応じて、前記携帯デバイスから、第２のＵＩの表示をトリガするトリガメッセージと、前記第２のＵＩ中に表示すべきコンテンツとを受信する手段と；
前記トリガメッセージ及び前記コンテンツを受信することに応じて、前記第２のＵＩを表示する共に、前記第２のＵＩ中のデータ入力フィールドに、前記コンテンツを表示する手段と；
を備え、ここで、
・ 前記コンテンツは、前記携帯デバイスのＵＩ中のデータ入力フィールドであって、前記第１のＵＩ中の前記データ入力フィールドに対応するデータ入力フィールドから取得されたものであり、
・ 前記通信デバイスに表示される前記第２のＵＩは、前記通信デバイスのコンテキスト情報に基づいて選択される、
通信デバイス。
【請求項７】
携帯デバイスの動作方法であって、
前記携帯デバイスに接続されている通信デバイスに、自身のＵＩを投影するためのデータを送信することと；
前記通信デバイスに投影されたＵＩにおいてデータ入力フィールドの選択がなされたことを知らせるデータ入力フィールド選択メッセージを、前記通信デバイスから受信することと；
前記データ入力フィールド選択メッセージを受信することに応じて、前記通信デバイス上で第２のＵＩの表示をトリガするトリガメッセージと、前記第２のＵＩ中に表示すべきコンテンツとを、前記通信デバイスに送信することと；
を含み、ここで、
・ 前記コンテンツは、前記自身のＵＩ中のデータ入力フィールドであって、前記通信デバイスにおいて前記選択された前記データ入力フィールドに対応するデータ入力フィールドから取得されたものであり、
・ 前記通信デバイスに表示される前記第２のＵＩは、前記通信デバイスのコンテキスト情報に基づいて選択される、
方法。
【請求項８】
前記通信デバイスは車載通信デバイスであり、
前記コンテキスト情報は、前記通信デバイスが搭載される車両の速度または可視性に関する情報である、
請求項７に記載の方法。
【請求項９】
前記取得したコンテンツから、データ入力完成予測アルゴリズムを用いてデータ入力を完成させる候補をいくつか決定することを含む、請求項７又は８に記載の方法。
【請求項１０】
処理手段及び記憶手段を備える携帯デバイスであって、前記記憶手段はプログラム命令を格納し、該プログラム命令は、前記処理手段に実行されると、前記携帯デバイスに、請求項７から９のいずれかに記載の方法を遂行させるように構成される、携帯デバイス。
【請求項１１】
通信デバイスの携帯手段に実行されると、該携帯デバイスに、請求項７から９のいずれかに記載の方法を遂行させるように構成されるプログラム命令を備える、コンピュータプログラム。
【請求項１２】
携帯デバイスであって、
前記携帯デバイスに接続されている通信デバイスに、自身のＵＩを投影するためのデータを送信する手段と；
前記通信デバイスに投影されたＵＩにおいてデータ入力フィールドの選択がなされたことを知らせるデータ入力フィールド選択メッセージを、前記通信デバイスから受信する手段と；
前記データ入力フィールド選択メッセージを受信することに応じて、前記通信デバイス上で第２のＵＩの表示をトリガするトリガメッセージと、前記第２のＵＩ中に表示すべきコンテンツとを、前記通信デバイスに送信する手段と；
を備え、ここで、
・ 前記コンテンツは、前記自身のＵＩ中のデータ入力フィールドであって、前記通信デバイスにおいて前記選択された前記データ入力フィールドに対応するデータ入力フィールドから取得されたものであり、
・ 前記通信デバイスに表示される前記第２のＵＩは、前記通信デバイスのコンテキスト情報に基づいて選択される、
携帯デバイス。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、一般的にはリモート・ユーザインタフェースの実装に関し、より具体的には、リモート環境へデータ・エントリ・コンテンツを提供する方法及び装置に関する。
【背景】
【０００２】
モバイル・コンピューティング・デバイスは、新しくパワフルなアプリケーションをサポートする能力を有するように進化を続けている。ある例では、ハンドヘルド携帯デバイスは、アプリケーションを実行するために必要十分な処理能力やネットワーク接続機能、記憶容量を有している。しかし、ハンドヘルド携帯デバイスの寸法・形状が小さいことは、例えば小さなユーザインタフェースや表示画面のために、アプリケーションの操作性に制限を加えることがある。
【０００３】
そのため、コンピュータ端末や車載ヘッドユニット、タブレットデバイスやパッドデバイスのような大きなユーザインタフェースを有するリモートデバイスに対してユーザが近くにいる場合には、ユーザはハンドヘルドデバイスのユーザインタフェースを使用するよりは、リモートデバイスのユーザインタフェースを使用することを望むであろう。例えばＧＰＳアプリケーションを考えてみると、ユーザは、ハンドヘルドデバイスを、車の中で、大きなディスプレイを有するデバイスに接続し、地図やその他の位置情報をリモートデバイスに表示したいと考えるかもしれない。同様に、メディアプレーヤーとして動作しているモバイル・コンピューティング・デバイスも、車の中では他のデバイスに接続して、いつもの位置にあるディスプレイを通じて、ラジオのためのインタフェースをユーザに提供するかもしれない。
【０００４】
リモート・ユーザインタフェースにアクセスし及びリモート・ユーザインタフェースをサポートするために、ハンドヘルドデバイスは、動画や音楽の情報を提供するかもしれない。これは、リモートデバイス上でハンドヘルドデバイスのユーザインタフェースを生成することを可能にするためである。リモートデバイスは、ユーザ入力を受け取り、出力をユーザに提供するために、ハンドヘルドデバイスと完全に連動することができるべきである。またハンドヘルドデバイスは、リモートデバイスのそのような能力をサポートするべきである。
【摘要】
【０００５】
データ・エントリ・コンテンツをリモート環境に提供することを手助けする、例示的な方法及び例示的な装置が開示される。方法の実施形態の一例は：リモートデバイスにおいてデータ入力フィールドの選択がなされたことを知らせる、データ入力フィールド選択メッセージをデバイスにおいて受信することと；前記デバイスのユーザインタフェースのフォーカスをデータ入力フィールドへと変更することと；データ入力フィールドの現在のデータコンテンツをリトリーブすることと；前記データ入力フィールドの前記現在のデータコンテンツが、データ入力インタフェースに表示されることを可能にするために、前記データ入力フィールドの前記現在のデータコンテンツを前記リモートデバイスに知らせる情報が、前記リモートデバイスに提供されるようにすることと；を含む。
【０００６】
別の例示的実施形態は、少なくとも一つのプロセッサと、コンピュータプログラムコードを含む少なくとも一つのメモリとを備える装置である。前記少なくとも一つのメモリ及び前記コンピュータプログラムコードは、前記少なくとも一つのプロセッサと共に、前記例示的装置に様々な機能を遂行させるように構成されてもよい。とりわけ前記例示的装置は：リモートデバイスにおいてデータ入力フィールドの選択がなされたことを知らせる、データ入力フィールド選択メッセージをデバイスにおいて受信することと；ユーザインタフェースのフォーカスをデータ入力フィールドへと変更することと；データ入力フィールドの現在のデータコンテンツをリトリーブすることと；前記データ入力フィールドの前記現在のデータコンテンツが、データ入力インタフェースに表示されることを可能にするために、前記データ入力フィールドの前記現在のデータコンテンツを前記リモートデバイスに知らせる情報が、前記リモートデバイスに提供されるようにすることと；を遂行させるようにされてもよい。
【０００７】
別の例示的実施形態は、コンピュータプログラムコードを格納する非一時的コンピュータ可読記憶媒体である。前記コンピュータプログラムコードは、実行される時、装置に：リモートデバイスにおいてデータ入力フィールドの選択がなされたことを知らせる、データ入力フィールド選択メッセージをデバイスにおいて受信することと；ユーザインタフェースのフォーカスをデータ入力フィールドへと変更することと；データ入力フィールドの現在のデータコンテンツをリトリーブすることと；前記データ入力フィールドの前記現在のデータコンテンツが、データ入力インタフェースに表示されることを可能にするために、前記データ入力フィールドの前記現在のデータコンテンツを前記リモートデバイスに知らせる情報が、前記リモートデバイスに提供されるようにすることと；を遂行させてもよい。
【０００８】
別の例示的実施形態は：リモートデバイスにおいてデータ入力フィールドの選択がなされたことを知らせる、データ入力フィールド選択メッセージをデバイスにおいて受信する手段と；ユーザインタフェースのフォーカスをデータ入力フィールドへと変更する手段と；データ入力フィールドの現在のデータコンテンツをリトリーブする手段と；前記データ入力フィールドの前記現在のデータコンテンツが、データ入力インタフェースに表示されることを可能にするために、前記データ入力フィールドの前記現在のデータコンテンツを前記リモートデバイスに知らせる情報が、前記リモートデバイスに提供されるようにする手段と；を備える装置である。
【０００９】
別の例示的な方法の実施形態は：第１のデバイスにおいて、データ入力フィールドの選択を受け取ることと；データ入力フィールドの選択がなされたことを第２のデバイスに知らせるデータ入力フィールド選択メッセージが、前記第１のデバイスから前記第２のデバイスに送信されるようにすることと；前記データ入力フィールドの現在のデータコンテンツを前記第２のデバイスに知らせる情報を、前記第１のデバイスから受信することと；前記現在のデータコンテンツを、データ入力インタフェースのデータ入力フィールドに入力することと；を含む。
【００１０】
別の例示的実施形態は、少なくとも一つのプロセッサと、コンピュータプログラムコードを含む少なくとも一つのメモリとを備える装置である。前記少なくとも一つのメモリ及び前記コンピュータプログラムコードは、前記少なくとも一つのプロセッサと共に、前記例示的装置に様々な機能を遂行させるように構成されてもよい。とりわけ前記例示的装置は：第１のデバイスにおいて、データ入力フィールドの選択を受け取ることと；データ入力フィールドの選択がなされたことを第２のデバイスに知らせるデータ入力フィールド選択メッセージが、前記第１のデバイスから前記第２のデバイスに送信されるようにすることと；前記データ入力フィールドの現在のデータコンテンツを前記第２のデバイスに知らせる情報を、前記第１のデバイスから受信することと；前記現在のデータコンテンツを、データ入力インタフェースのデータ入力フィールドに入力することと；を遂行させるようにされてもよい。
【００１１】
別の例示的実施形態は、コンピュータプログラムコードを格納する非一時的コンピュータ可読記憶媒体である。前記コンピュータプログラムコードは、実行される時、装置に：第１のデバイスにおいて、データ入力フィールドの選択を受け取ることと；データ入力フィールドの選択がなされたことを第２のデバイスに知らせるデータ入力フィールド選択メッセージが、前記第１のデバイスから前記第２のデバイスに送信されるようにすることと；前記データ入力フィールドの現在のデータコンテンツを前記第２のデバイスに知らせる情報を、前記第１のデバイスから受信することと；前記現在のデータコンテンツを、データ入力インタフェースのデータ入力フィールドに入力することと；を遂行させてもよい。
【００１２】
別の例示的実施形態は：第１のデバイスにおいて、データ入力フィールドの選択を受け取る手段と；データ入力フィールドの選択がなされたことを第２のデバイスに知らせるデータ入力フィールド選択メッセージが、前記第１のデバイスから前記第２のデバイスに送信されるようにする手段と；前記データ入力フィールドの現在のデータコンテンツを前記第２のデバイスに知らせる情報を、前記第１のデバイスから受信する手段と；前記現在のデータコンテンツを、データ入力インタフェースのデータ入力フィールドに入力する手段と；を備える装置である。
【図面の簡単な説明】
【００１３】
本発明を一般的に説明してきたが、以下の説明では添付の図面を参照されたい。図面のスケールは正確であるとは限らない。
【００１４】
【図１】様々な例示的実施形態に従ってリモート・ユーザインタフェースを実装するシステムを描いている。
【００１５】
【図２】様々な例示的実施形態に従ってコンテンツやデータ入力フィールドを表示するユーザ装置を描いている。
【００１６】
【図３】様々な例示的実施形態に従って、ユーザ装置のユーザインタフェースを遠隔表示する、リモート・ユーザインタフェース・デバイスを描いている。
【００１７】
【図４】様々な例示的実施形態に従って、データ入力フィールドにデータを入力するための仮想キーボードを表示する、リモート・ユーザインタフェース・デバイスを描いている。
【００１８】
【図５】様々な例示的実施形態に従って、データ・エントリ・コンテンツをリモート環境に提供するための、信号のやりとりや動作の流れを描いたものである。
【００１９】
【図６】様々な実施形態に従って構成されたユーザ装置のブロック図を描いたものである。
【００２０】
【図７】様々な実施形態に従って構成された移動端末のブロック図を描いたものである。
【００２１】
【図８】様々な実施形態に従って構成された、リモート・ユーザインタフェース・デバイス装置のブロック図を描いたものである。
【詳細な説明】
【００２２】
以下、添付図面を参照して本発明のいくつかの例示的実施形態をより詳細に説明する。なお本発明の全ての実施形態が紹介されるわけではない。実際、本発明は様々な形態で実施されることができるので、本発明の実施形態がここで紹介される実施形態に限定されると考えてはならない。むしろここで紹介される実施形態は、本明細書が法的な要件を充足するために紹介されるものである。本明細書および図面を通じて同様の符号は同様の要素を表す。本発明のある例示的実施形態においては、"データ"や"コンテンツ"、"情報"のような用語は、送信されたり受信されたりすることが可能なデータや、影響を与えたり格納されたりすることが可能なデータを言い表すために、互いに置き換え可能に使用されることが可能でありうる。
【００２３】
本願において、"回路（circuitry）"との語句は、次の全てを表す。（ａ）ハードウェアのみの実装。例えばアナログ回路だけ、デジタル回路だけ、又はアナログ回路とデジタル回路の組み合わせ。（ｂ）ソフトウェア及び／又はファームウェアと回路との組み合わせ。例えば（ｉ）一つ又は複数のプロセッサや、（ｉｉ）一つ又は複数のプロセッサ／ソフトウェアの部分の組み合わせ。これには、一つ又は複数のＤＳＰやソフトウェア、またこれらと協働して携帯電話やサーバなどの装置に様々な機能を実行させる一つ又は複数のメモリが含まれる。（ｃ）一つ又は複数のマイクロプロセッサや一つ又は複数のマイクロプロセッサの部分のような回路。このような回路は動作のためにソフトウェアやファームウェアを（たとえそれらが物理的には存在しないものと考えられる場合であっても）必要とする。
【００２４】
この「回路」の定義は、本願において「回路」との語句を使う全ての場合において適用される。請求項においても同様である。さらなる例として、本願で使用される場合、"回路（ｃｉｒｃｕｉｔｒｙ）"との語句は、プロセッサだけの実装や、複数のプロセッサによる実装、プロセッサの部分や付随するソフトウェア及び／又はファームウェアによる実装をカバーするものでありうる。"回路"という語句はまた、例えば、請求項に記載される特定の要素をその範囲に含むことが可能な場合がある。例えば、携帯電話のベースバンド集積回路やアプリケーションプロセッサ集積回路を意味してもよく、サーバやセルラネットワークデバイス、その他のネットワークデバイスにおける同様の集積回路を意味してもよい。
【００２５】
図１は、本発明の様々な例示的実施形態に従うシステムの例を描いている。この例示的システムは、リモート・ユーザインタフェース（ＵＩ）・デバイス１００、ユーザ装置（ＵＥ）１０１、通信リンク１０２を含む。
【００２６】
リモートＵＩデバイス１００は、ＵＥ１０１のユーザインタフェースを遠隔表示することができるように構成された、どのような種類のコンピューティングデバイスであってもよい。また、リモートＵＩデバイス１００は、ユーザインタフェース・コンポーネンツやユーザインタフェースに関する機能を有していてもよい。本明細書で説明されるリモートＵＩデバイスの機能を実行するために、ユーザインタフェース・コンポーネンツは、リモートＵＩデバイス１００に備えられる一つ又は複数のプロセッサ及び一つ又は複数のメモリによって制御されてもよい。ある例示的実施形態において、リモートＵＩデバイス１００は、ディスプレイへのタッチイベントを介してユーザからの入力を受け取るように構成される、タッチスクリーンディスプレイを備えていてもよい。リモートＵＩデバイス１００はまた、物理的なキーボードやキーパッド、マウスやトラックボール等のポインティングデバイス、スピーカー、マイクロフォンのような、様々なユーザインタフェースを、タッチスクリーンディスプレイの代わりに、又はそれに加えて、備えていてもよい。リモートＵＩデバイスは、ユーザ入力を受け取るための様々な技術をサポートしてもよい。そのような技術には、例えば音声認識や手書き認識のようなものが含まれてもよい。また、リモートＵＩデバイス１００は、キーボードやスピーカー、マイクロフォン等を有していてもよい。
【００２７】
リモートＵＩデバイス１００はまた、通信リンク１０２を介してＵＥ１０１と通信するための無線通信インタフェースを有していてもよい。ある例示的実施形態では、リモートＵＩデバイス１００とＵＥ１０１とは有線リンクを介して通信してもよい。通信リンク１０２は、リモートＵＩデバイス１００とＵＥ１０１との通信をサポートする能力を有する如何なる種類の通信リンクであってもよい。ある例示的実施形態では、通信リンク１０２は無線ＬＡＮ、Bluetooth（登録商標）、又は別の種類の無線リンクであってもよい。
【００２８】
ＵＥ１０１は、如何なるタイプのモバイル・コンピューティング通信デバイスであってもよい。ある例示的実施形態では、ＵＥ１０１は、スマートフォンやタブレット、パッドデバイスであってもよい。ＵＥ１０１は、通信リンク１０２を介してリモートＵＩデバイス１００と通信するように構成されてもよい。ＵＥ１０１はまた、内蔵する少なくとも一つのプロセッサ及び少なくとも一つのメモリによって、アプリケーションを実行・実装するように構成されてもよい。
【００２９】
ある例示的実施形態によれば、ＵＥ１０１は、通信接続１０２を介して、ユーザインタフェースを出力するようにリモートＵＩデバイス１０１に命令し、リモートＵＩデバイス１００を介して提供されるユーザ入力を受信するように構成されてもよい。リモートＵＩデバイス１００に投影されるユーザインタフェースは、ＵＥ１０１のディスプレイに表示されるユーザインタフェース（またはＵＥ１０１がアクティブである場合にそのディスプレイに表示されるであろうユーザインタフェース）と同じインタフェースであってもよい。ある例示的実施形態においては、通信リンク１０２を介してリモートＵＩデバイス１００のディスプレイ上にユーザインタフェースの少なくとも一部分を生成するために、フレームバッファ・スキャンニングのような技術を用いてもよい。ある例示的実施形態においては、リモートＵＩデバイス１００は、ＵＥ１０１のユーザインタフェースを元にして変更を加えたユーザインタフェースを提供してもよい。例えば、リモートＵＩデバイス１００が、車両用のヘッドユニットとして、車両に搭載される場合を考えてみる。車の運転手は、例えば、リモートＵＩデバイス１００が車の中の便利な位置に存在したり、大きなサイズのスクリーンを有するなどの理由で、ＵＥ１０１へのインタフェースとしてリモートＵＩデバイス１００を使いたいと思うかもしれない。ＵＥ１０１はリモートＵＩデバイス１００とリンクするように構成されてもよく、リモートＵＩデバイス１００を介してユーザと関係を持つために、リモートＵＩデバイス１００にユーザインタフェースを表示するように命令してもよい。リモートＵＩデバイス１００のディスプレイは様々な制御要素を有していてもよい。これらはＵＥ１０１のユーザインタフェースの制御要素と関係していてもよいししていなくてもよい。これらの制御要素には、ハンドルの制御要素やタッチ制御要素、回転つまみ、及び／又はその他の設定可能なボタンや専用ボタンが含まれてもよい。ある例において、リモートＵＩデバイス１００によって提供されるユーザインタフェースは、移動する車両を運転するユーザによって、そのユーザが便利なように変更されてもよい。
【００３０】
ＵＥ１０１とリモートＵＩデバイス１００との相互作用は、モバイルデバイスの相互運用（interoperability）の例を提供する。この相互運用のことを、スマートスペース（smart space）やリモート環境（remote environment）、リモートクライアント（remote client）などと称する場合がある。ある例において、ＵＥ１０１は、リモートＵＩデバイス１００によってアクセスされ制御されている場合に、「端末モード」にあると表現される場合がある。ＵＥ１０１の特徴や機能は、外部環境（例えばリモートＵＩデバイス１００）に"投影"すなわち現出させられる。この外部環境は、その特徴や機能があたかも当該外部環境固有のものであるかのように見えてもよく、ＵＥ１０１に依存していることはユーザに明らかではないようになっていてもよい。ＵＥ１０１の特徴や機能を投影することは、ＵＥ１０１のユーザインタフェース（ＵＩ）のスクリーンをエクスポートすることを含んでもよく、また命令や制御情報を外部環境にエクスポートすることを含んでもよい。それによってユーザは、ＵＥ１０１の代わりに外部環境と快適に相互作用を行うことができる。
【００３１】
図２及び図３は、ＵＥ１０１のユーザインタフェースがリモートＵＩデバイス１００のディスプレイに投影されている例示的なシナリオを描いたものである。図２は、あるＷＥＢサイトを表示中のＵＥ１０１を描いたものである。ウェブサイト１０４のコンテンツは、データ入力フィールド１０３と共に表示されており、データ入力フィールド１０３は、その現在のデータコンテンツ（データ値）として、現在のＵＲＬを有している。図３は、図２に示したＵＥ１０１のユーザインタフェースを投影した、リモートＵＩデバイス１００の例を描いたものである。コンテンツ１０４は、リモートＵＩデバイス１００におけるコンテンツ１０４ａとして投影され、データ入力フィールド１０３は、データ入力フィールド１０３ａとして投影されている。リモートＵＩデバイス１００のユーザインタフェースはまた、リモートＵＩデバイス１００を車両内の環境で安全に使用することを助けうる、追加の制御要素１０５を表示している。
【００３２】
リモートＵＩデバイス１００がＵＥ１０１のユーザインタフェースを投影するとき、リモートＵＩデバイス１００は、ＵＥ１０１へ提供されるべきデータをユーザがリモートＵＩデバイス１００を介して入力することを可能にする必要がある場合がある。これに関し、ユーザは、リモートＵＩデバイス１００に投影されたデータ入力フィールド（例えば図３におけるデータ入力フィールド１０３ａ。これは例えばテキストフィールドであってもよい）にデータ（例えばテキスト）を入力したいと考えるかもしれない。データ入力フィールドのデータを変更するために、ユーザは、リモートＵＩデバイス１００のデータ入力フィールド１０３ａを、（例えばスクリーン上で当該フィールドをタッチするなどして）選択してもよい。
【００３３】
この種の操作をＵＥ１０１に対して直接行う場合、スクリーンの一部分を覆う仮想キーボードが提供され、例えばテキスト文字をユーザが入力することを可能にするかもしれない。しかし、「端末モード」においては、この操作はユーザとリモートＵＩデバイス１００との間で行われる。リモートＵＩデバイス１００は、単に仮想キーボードをユーザに提供するか、また別のタイプのデータ入力インタフェースを提供してもよい。しかしながら、キーボードは、例えば、運転中に操作するのに便利なように、大きなキーボードに変更されてもよい。例えばリモートＵＩデバイス１００に用いられる仮想キーボードは、特大のものであったり、データ入力フィールド／ボックスを備えてフルスクリーン化されたものであったりしてもよい。図４は、リモートＵＩデバイス１００に表示される特大の仮想キーボード１０６の例を描いたものである。この仮想キーボード１０７は、データ入力フィールド１０７を有している。仮想ネットワーク・コンピューティング（ＶＮＣ）の仮想キーボード・トリガメッセージが、特別のキーボードをリモートＵＩデバイス１００に表示する契機となってもよい。そのようなメッセージはＵＥ１０１から送信されてもよい。
【００３４】
ＵＥ１０１からリモートＵＩデバイス１００へのヒューズインタフェースの投影には、しばしばピクセルベースのフレームバッファ・スキャン技術が用いられる。そのためリモートＵＩデバイス１００は、データ入力フィールドにおける、ピクセル又はイメージレベルでの現在のデータコンテンツしか提供できないかもしれない。このためリモートＵＩデバイス１００は、データ入力フィールドの現在のデータコンテンツの実際のデータ値を知ることができないかもしれない。データ入力フィールド１０７は、データ入力フィールド１０３又は１０３ａのネイティブな表示から切り離されてもよい。これは、ネイティブな表示は単なるイメージであるが、データ入力フィールド１０７は、フィールドに入力するデータ値を必要としうるからである。そこで、データ入力フィールド１０３の現在のデータコンテンツ（本例では"http://www.webaddress.com"とのテキスト）がリトリーブされてデータ入力フィールド１０７に入力されなければならないかもしれない。これは、リモートＵＩデバイス１００において、現在のデータコンテンツを修正したり、その全部又は一部を消去したりすることを可能にするためであり、また、例えば仮想キーボードの表示態様がデータ入力フィールドを見えなくしてしまっているような場合に、現在のデータコンテンツを読み取ることを可能にしたりするためである。
【００３５】
仮想キーボードに関連するデータ入力フィールド１０７に、データ入力フィールド１０３の現在のデータコンテンツを入力するために、ＵＥ１０１からリモートＵＩデバイス１００への複数のメッセージの組み合わせが用いられてもよい。これに関して、いくつかの例示的実施形態によれば、仮想キーボードの表示と、関連するデータ入力フィールドに現在のデータコンテンツを入力することとの両方のために、例えばＶＮＣ仮想キーボード・トリガメッセージ（VNC Virtual Keyboard Trigger message）のような形のキーボード・トリガメッセージが、ＶＮＣサーバ・カット・テキストメッセージ（VNC Server Cut Text message）のようなカットテキストメッセージと共に、ＵＥ１０１からリモートＵＩデバイス１００へと提供されてもよい。このようにして、ＵＥ１０１のユーザインタフェースを投影するために通常用いられうる、ピクセルに基づく通常のＶＮＣフレームバッファ更新の帯域外で、データ入力フィールドの現在のデータが提供されることができる。
【００３６】
図５は、本発明による例示的方法の信号のやりとりおよび処理の流れを描いた図である。この図はシステムの観点から、またリモートＵＩデバイス１００及びＵＥ１０１のそれぞれの観点から描かれている。図５のコンテキストにおいて、リモートＵＩデバイス１００とＵＥ１０１とは、ＵＥ１０１のユーザインタフェース（又はそのサブセット）をリモートＵＩデバイス１００のユーザインタフェースに投影することを可能にする通信接続を共有している。これに関して、ＵＥ１０１のスクリーンをリモートＵＩデバイス１００のディスプレイに投影するターミナルモードを実装する間、リモートＵＩデバイス１００は、リモート・フレームバッファ・プロトコルやリモート・デスクトップ・プロトコルを用いてＵＥ１０１に接続されてもよい。
【００３７】
１２０において、リモートＵＩデバイス１００は、データ入力フィールドの選択を受け取る。これに関して、例えばユーザは、リモートＵＩデバイス１００によって受け取られる選択を行うために、リモートＵＩデバイス１００のディスプレイ上のデータ入力フィールド（例えばテキスト入力フィールド）をタッチしてもよい。リモートＵＩデバイス１００は、データ入力フィールドの選択に応じて、当該選択を示す情報を、データ入力フィールド選択メッセージの形で送信する（１２１）ように構成されてもよい。ＵＥ１０１は、データ入力フィールドの選択がなされたとの通知として、データ入力フィールド選択メッセージを受信してもよい（１２２）。データ入力フィールド選択メッセージはディスプレイの特定の座標におけるタッチイベントを記述する情報を含んでもよく、ＵＥ１０１は、現在表示されているコンテンツに対して前記座標を解析することにより、前記イベントがデータ入力フィールドの選択であることを決定してもよい。データ入力フィールド選択メッセージは、例えばＶＮＣポインタ・イベント・メッセージ（VNC Pointer Event message）のような、リモートプロトコルによって、ＵＥ１０１へと送信されてもよい。１２３において、ＵＥ１０１は、データ入力フィールドへとフォーカスを変更して（例えばカーソルを動かして）、データの入力についてユーザを助けるように構成されてもよい。ある例示的実施形態によれば、ＵＥ１０１は、フォーカスを変更するためにポインタ・イベントを入れてもよい。これは、同じ位置でポインタ・イベントをエミュレートするためである。
【００３８】
続いてＵＥ１０１は、仮想キーボードをトリガすることを試みてもよい。この試みは、ローカル及びリモートの両方のユーザインタフェースで行われてもよい。しかし、ある例示的実施形態によれば、ローカルの仮想キーボード・トリガはインターセプトされ止められる。これは、ＵＥ１０１のユーザインタフェース上で仮想キーボードが自動的に表示されることを防ぐためである。また従って、リモートＵＩデバイス１００の投影されたユーザインタフェースが自動的に表示されることを防ぐためである。
【００３９】
仮想キーボードをトリガすることの試みがインターセプトされたとき、またはデータ入力フィールドへフォーカスが移動したことに応じて、ＵＥ１０１は、リモート仮想キーボード・トリガを送信する（１２５）ように構成されてもよい。またリモートＵＩデバイス１００は、そのリモート仮想キーボードメッセージを受信してもよい（１２６）。このようにして、ＵＥ１０１は、リモートＵＩデバイス１００にデータ入力インタフェース（例えば仮想キーボード）を表示することをトリガしてもよい。それは、関連するデータ入力フィールドへデータ入力することを可能にしてもよい。リモート仮想キーボード・トリガメッセージは、ＶＮＣ端末モード仮想キーボード・トリガメッセージ（VNC Terminal Mode (TM) Virtual Keyboard Trigger message）であってもよい。このメッセージは、例えばテキストのようなデータの入力サポートは必要性を、リモートＵＩデバイス１００に伝えるものであってもよい。
【００４０】
１２７において、ＵＥ１０１は、選択されたフィールドの現在のデータコンテンツをリトリーブするように構成されてもよい。現在のデータコンテンツをリトリーブするために、仮想キーボードの使用に関連する技術が用いられてもよい。例えばＵＥ１０１は、データフィールドに関連するローカルデータ値を解析し、それによって現在のデータコンテンツを決定し、そしてデータを読み込んでもよい。
【００４１】
１２８において、ＵＥ１０１は、選択されたデータ入力フィールドの現在のデータコンテンツを示す情報を、リモートＵＩデバイス１００に提供するように構成されてもよい。この情報は、１２９においてリモートＵＩデバイス１００に受信されてもよい。これを受信することにより、リモートＵＩデバイス１００は、データ入力インタフェースのデータ入力フィールドの現在のデータコンテンツを表示することができる。データ入力インタフェースの例には、データ入力フィールドを有する仮想キーボードがある。これに関して、例えば、前述の情報は、読み込まれたデータ・エントリ値を含むメッセージをリモートＵＩデバイス１００に送信することであってもよい。このメッセージは、例えばＶＮＣサーバ・カット・テキストメッセージ（VNC Server Cut Text message）のようなカットテキストメッセージであってもよい。データ入力フィールドがからの場合、メッセージはからのままにされるか、予め定められた値で埋められるか、または全く送信されないことにされるかであってもよい。データ入力フィールドが空の場合にメッセージが送信されない例示的実施形態においては、リモートＵＩデバイス１００は、データ入力フィールドの現在のコンテンツを示す情報を決定するか受信するかのためのタイムアウト・カウンタを装備するように構成されてもよい。その他、メッセージが送信される場合は、当該メッセージは自身を仮想キーボード・トリガメッセージにリンクさせるための専用の識別子（例えばテキスト識別子（textual identifier））を含んでいてもよい。仮想キーボード・トリガメッセージは、対応する専用の識別子を含んでいてもよい。これは上記メッセージの専用識別子と同じ識別子であってもよいし、上記メッセージの専用識別子から導かれる識別情報であってもよく、マッチングや検証のために用いられてもよい。
【００４２】
１３０において、ＵＥ１０１は、データ入力インタフェースを表示し、関連するデータ入力フィールドに、選択されたデータ入力フィールドの現在のデータコンテンツを入力してもよい。リモートＵＩデバイスのデータ入力インタフェース（例えば仮想キーボード）に関連付けられるデータ入力フィールドは、上述のように、選択されたデータ入力フィールドのネイティブな表示からは切り離される。
【００４３】
なお、様々な例示的実施形態においては、１２５におけるリモート仮想キーボード・トリガ送信は、読み込まれたデータコンテンツを示す情報が提供された（１２８）後に行われてもよい。このように、ある例示的実施形態によれば、VNC Server Cut TextメッセージとVNC TM仮想キーボード・トリガメッセージの順番は逆になってもよい。ただし、標準として順番を固定しておくことは有利であるだろう。
【００４４】
さらに、ある例示的実施形態によれば、ＵＥ１０１とリモートＵＩデバイス１００とのいずれかが、選択されたてたエントリフィールドの現在のデータコンテンツを解析し、データ入力を完成させる可能性（候補）をいくつか決定してもよい。この決定は、データ入力コンプリートアルゴリズムを使ってもよい。このような決定を行う理由は、例えば運転しているかもしれないユーザによる使用を容易にすることを助けるためである。同様に、リモートＵＩデバイス１００により実装される仮想キーボードがテキスト予測機能またはスペル予測機能を有する場合、リモートＵＩデバイス１００は、データ入力フィールドから読み込んだ現在のデータコンテンツを、テキスト予測アルゴリズムまたはスペル予測機能への入力として利用し、それによって、次の入力文字または語句として可能なもののセットを決定してもよい。
【００４５】
追加的に又は代替的に、ある例示的実施形態によれば、選択されたデータ入力フィールドの現在のデータコンテンツは、リモートＵＩデバイス１００またはＵＥ１０１において解析され、データのタイプ（例えばアルファベットのみのデータ、数字のみのデータ等）が特定される。そしてデータのタイプに基づいて、データ入力インタフェースのバリエーション（例えば仮想キーボードのバリエーション）が表示されてもよい（又は表示されるようにされてもよい）。従って、例えば、リモートＵＩデバイス１００は、選択されたデータ入力フィールドの現在のデータコンテンツを解析し、表示されるべき仮想キー入力ユーザインタフェースのタイプ（例えばキーボードのタイプ）を決定してもよい。例えば、現在のデータコンテンツが全て数であるならば、リモートＵＩデバイス１００は数値キーパッドを表示してもよい。一方、選択されたデータ入力フィールドの現在のデータコンテンツがアルファベット文字を含んでいるのであれば、英数字キーボード又はアルファベットのみのキーボードを表示してもよい。追加的に又は代替的に、ある例示的実施形態によれば、ＵＥ１０１は、リモートＵＩデバイス１００に、仮想キーボードの必要性を通知するだけでなく、表示されるべきキーボードの種類をも通知してもよい。これは、ＵＥ１０１において、選択されたデータ入力フィールドの現在のコンテンツを解析することによって行われてもよい。リモートＵＩデバイス１００は、上述のようにして、適切なキーボードを表示してもよい。
【００４６】
追加的に又は代替的に、リモートＵＩデバイス１００及び／又はその環境に関するコンテキスト情報が解析され、それに基づいてデータ入力インタフェースのバリエーション（例えば仮想キーボードのバリエーション）が表示されたり、または表示されるようにされたりしてもよい。例えば、リモートＵＩデバイスがインストールされている車両のコンテキスト（例えば現在の速度や現在の可視性等）が、リモートＵＩデバイス１００またはＵＥ１０１によって解析され、表示される仮想キーボードの種類が決定されてもよい。
【００４７】
上述の説明及び本明細書で全体的に説明されている事項は、データ・エントリ・コンテンツをリモート環境に提供する例示的な方法、例示的な装置、例示的なコンピュータプログラム（非一時的コンピュータ可読媒体に格納されている）を説明しているものである。図６，７，８は、本明細書で説明される様々な機能を実行するように構成された、本発明の例示的な装置の実施形態を描いたものである。図６は、図１−５に関連して説明され、また本明細書で全体的に説明された様々な機能を実行するように構成された例示的な装置を、ＵＥ（例えばＵＥ１０１）の観点から描いている。図７は、例示的なＵＥ装置を移動端末の形態でより具体的に描いたものであり、図１−５に描かれ、また本明細書で全体的に説明された様々な機能を、ＵＥ１０１の観点から実行するように構成された移動端末を描いたものである。図８は、図１−５に関連して説明され、また本明細書で全体的に説明された様々な機能を実行するように構成された例示的な装置を、リモート環境（例えばリモートＵＩデバイス１０１）の観点から描いている。図６，７，８に描かれた例示的な装置はまた、図５に関連して説明されたような、本発明による例示的な方法を実行するように構成されてもよい。
【００４８】
図６を参照すると、ある例示的実施形態において、装置２００は、有線及び／又は無線通信機能を具備する通信機器として（またはそのような通信機器に含まれる要素として）具現化されることができる。これに関して、装置２００は、本明細書で説明されたＵＥの機能に従って動作することができてもよい。実施形態によっては、装置２００は、固定端末または移動端末のような通信デバイス（例えばＵＥ１０１）の一部であってもよい。移動端末として、装置２００は携帯型コンピュータ、携帯電話、ポータブル・デジタル・アシスタント（ＰＤＡ）、ポケットベル、携帯テレビ、ゲームデバイス、ラップトップコンピュータ、カメラ、ビデオレコーダーは、オーディオ／ビデオプレーヤー、ラジオ、スマートフォン、タブレット、パッドデバイスであってもよく、及び／又はＧＰＳデバイスであってもよく、またはこれらの任意の組み合わせであってもよい。通信デバイスの種類に関わらず、装置２００は計算能力を有していてもよい。
【００４９】
例示的な装置２００は、プロセッサ２０５やメモリデバイス２１０、入力／出力（Ｉ／Ｏ）インタフェース２０６、通信インタフェース２２０、ユーザインタフェース２１５、リモートＵＩサーバモジュール２３０を備えるか、そうでなければこれらと通信する。プロセッサ２０５は、本発明の例示的実施形態の様々な機能を実装する様々な手段として具現化されうる。例えばマイクロプロセッサ、コプロセッサ、コントローラ、ＡＳＩＣのような特定目的の集積回路、ＦＰＧＡ、ハードウェアアクセラレータ、処理回路等として具現化されうる。ある例示的実施形態では、プロセッサ２０５は、協働する複数のプロセッサや、一つ又は複数のマルチコプロセッサを表してもよい。さらに、プロセッサ２０５は、本明細書で説明される機能の発揮を助けるための複数のトランジスタやロジックゲート、クロック（例えば発信器）、その他の回路等を備えてもよい。プロセッサ２０５は、必ずしも必要というわけではないが、協働する一つ又は複数のデジタルシグナルプロセッサを備えてもよい。ある例示的実施形態において、プロセッサ２０５は、メモリデバイス２１０に格納された命令を実行するように構成されてもよい。またはプロセッサ２０５は、自身がアクセス可能な命令を実行するように構成されてもよい。プロセッサ２０５は、装置２００に本明細書で説明される様々な機能をプロセッサが実行させるように、動作するように構成されてもよい。
【００５０】
ハードウェアにより構成されるか、またはコンピュータ読み取り可能な記憶媒体に格納される命令により構成されるか、またはこれらの組み合わせにより構成されるかに関わらず、プロセッサ２０５は、本発明の様々な実施形態に従う処理を遂行する能力を有する要素を表しうる。従って、プロセッサ２０５がＡＳＩＣやＦＰＧＡとして（またはその一部として）具現化される例示的実施形態では、プロセッサ２０５は、本明細書により説明される処理を遂行するために特別に構成されたハードウェアと考えられうる。また、プロセッサ２０５が、非一時的コンピュータ可読記憶媒体に格納される命令又はコンピュータプログラムコードの実行要素として具現化される例示的実施形態においては、当該命令は、プロセッサ２０５を、本明細書で説明されるアルゴリズムや処理（例えば図５に関して説明されたアルゴリズムや処理）を実行するように、特別に構成する。ある例示的実施形態において、プロセッサ２０５は、本発明の例示的実施形態を取り入れるように構成された特定のデバイス（例えば移動端末）のプロセッサである。本明細書で説明されるアルゴリズムや方法、処理を遂行するために、実行された命令によりプロセッサ２０５を構成することにより、本発明の例示的実施形態を取り入れる。
【００５１】
メモリデバイス２１０は、一つ又は複数の非一時的コンピュータ可読記憶媒体であってもよく、揮発性及び／又は不揮発性のメモリを含んでもよい。ある例示的実施形態では、メモリデバイス２１０は、ランダムアクセスメモリ（ＲＡＭ）を含んでもよく、ダイナミック及び／又はスタティックＲＡＭ、オンチップ又はオフチップのキャッシュメモリ等を含んでもよい。さらに、メモリデバイス２１０は、内蔵及び／又は着脱可能な不揮発性メモリであってもよく、また、例えばリード・オンリー・メモリ、フラッシュメモリ、磁気記憶デバイス（例えばハードディスクやフレキシブルディスクドライブ、磁気テープなど）、光ディスクドライブ及び／又は光ディスクメディア、不揮発性のランダムアクセスメモリ（ＮＶＲＡＭ）等を含んでもよい。メモリドライブ２１０は、データの一時的な記憶のためのキャシュエリアを含んでもよい。これに関して、メモリデバイス２１０のいくつかまたは全ては、プロセッサ２０５内に含まれていてもよい。
【００５２】
さらに、メモリデバイス２１０は、一つ又は複数のメモリデバイスであってもよい。またメモリデバイス２１０は、プロセッサ２０５及び装置例２００が本明細書に記載される本発明の例示的実施形態に従う様々な機能を実行しうるように、情報、データ、アプリケーション、コンピュータ読み取り可能なプログラムコード命令等を格納するように構成されてもよい。例えばメモリデバイス２１０は、プロセッサ２０５より処理される入力データをバッファするように構成されてもよい。さらに又は代替的に、メモリデバイス２１０は、プロセッサ２０５により実行される命令を格納するように構成されてもよい。
【００５３】
Ｉ／Ｏインタフェース２０６は、プロセッサ２０５と他の回路やデバイスを接続する如何なる手段であってもよく、デバイス、回路、ハードウェアに内蔵された手段、ソフトウェア、ハードウェアとソフトウェアの組み合わせ等、如何なるものでもよい。例えば通信インタフェース２２０やユーザインタフェース２１５であってもよい。ある例示的実施形態においては、プロセッサ２０５は、Ｉ／Ｏインタフェース２０６を介してメモリ２１０に接続される。Ｉ／Ｏインタフェース２０６は、信号やデータを、プロセッサ２０５により解釈されうる形に変換する。Ｉ／Ｏインタフェース２０６は、プロセッサ２０５の動作を助けるために、入力及び出力のバッファリングを行ってもよい。ある例示的実施形態によれば、プロセッサ２０５及びＩ／Ｏインタフェース２０６は、単一のチップや集積回路に結合され、本発明の様々な機能を実行したり、又は装置２００に実行させるように構成される。
【００５４】
通信インタフェース２２０は、ネットワーク２２５や、装置例２００（例えばリモートＵＩデバイス１００）と通信可能なデバイスやモジュールとの間でデータを受信及び／又は送信するように構成される、どのようなデバイスや手段（例えば回路）であってもよい。このようなデバイスや手段は、ハードウェアやコンピュータプログラム製品、ハードウェアとソフトウェアの組み合わせなどとして具現化されてもよい。通信インタフェースは、任意のタイプの有線又は無線接続、任意のタイプの通信プロトコル（例えばセルラ通信やＮＦＣ（近距離通信）をサポートする通信プロトコル）を介して、情報を通信できるように構成されてもよい。様々な例示的実施形態によれば、通信インタフェース２２０は、インターネットプロトコルに基づくネットワーク（例えばインターネット）やセルラネットワーク等の様々なネットワークにおける情報の送受信をサポートするように構成されてもよい。通信インタフェース２２０は、モバイル・アドホック・ネットワーク（ＭＡＮＥＴ）のようなデバイス間通信をサポートするように構成されてもよい。プロセッサ２０５は、例えば通信インタフェース２２０内のハードウェアを制御することを通じて、通信インタフェース２２０を介する通信を助けるように構成されてもよい。これに関して、通信インタフェース２２０は、例えば、通信ドライバ回路（例えば光ファイバー接続を介する有線接続をサポートする回路など）や、一つ又は複数のアンテナ、送信機、受信機、送受信機等を備えてもよく、また、通信を可能にするプロセッサのようなサポートハードウェアを備えていてもよい。通信インタフェース２２０を介して装置例２００は、デバイス間通信の形態で、他の様々なネットワーク要素と通信してもよい。または、基地局やアクセスポイント、サーバ、ゲートウェイ、ルータ等を介して間接的に通信してもよい。
【００５５】
ユーザインタフェース２１５は、ユーザインタフェース２１５を介するユーザ入力を受け取ったり、聴覚や視覚に関する出力や、機械的又はその他の出力をユーザに提供するために、プロセッサ２０５と通信状態にあってもよい。ユーザインタフェース２１５は、例えば、キーボードやマウス、ジョイスティック、ディスプレイ（例えばタッチスクリーン）、マイクロフォン、スピーカー、その他の入力又は出力機構のいずれか一つ以上を有していてもよい。さらにプロセッサ２０５は、ユーザ入力インタフェースの一つ又は複数の要素の少なくともいずれかの機能を制御するように構成される、ユーザインタフェース回路を備えていてもよい（又はそのような回路と通信していてもよい）。プロセッサ２０５及び／又はユーザインタフェース回路は、コンピュータプログラム命令を通じて、ユーザインタフェースの一つ又は複数の要素の一つ又は複数の機能を制御するように構成されてもよい。そのようなコンピュータプログラム命令は、例えば揮発性メモリや不揮発性メモリのような、プロセッサ２０５がアクセス可能なメモリに格納される、例えばソフトウェアやファームウェアであることができる。ある例示的実施形態において、ユーザインタフェース回路は、装置２００の少なくとも一つの機能をユーザがディスプレイを使って制御することを助け、また、ユーザの入力に応答するように構成されてもよい。プロセッサ２０５はまた、ユーザインタフェースの少なくとも一部分を表示するように構成されるディスプレイ回路を備えてもよい（又はそのような回路と通信してもよい）。ディスプレイ及びディスプレイ回路は、装置２００の少なくともいずれかの機能をユーザが制御することを容易にするように構成されてもよい。
【００５６】
例示的な装置２００のリモートＵＩ・サーバモジュール２３０は、ハードウェアや、コンピュータプログラムを格納する非一時的コンピュータ読み取り媒体、これらの組み合わせ等により部分的に又は全体的に具現化されうる如何なる手段やデバイスでもよく、例えば、例示的な装置２００を構成するべく格納した命令を実行するプロセッサ２０５や、本明細書で説明されるような、リモートＵＩ・サーバモジュール２３０の機能を実行するようにハードウェア的に構成されたプロセッサ２０５であってもよい。ある例示的実施形態においては、プロセッサ２０５は、リモートＵＩ・サーバモジュール２３０を含むか、又はこれをコントロールしてもよい。リモートＵＩ・サーバモジュール２３０は、プロセッサ２０５と似たような、ただし異なるプロセッサによって、その一部又は全部が具現化されてもよい。これに関して、リモートＵＩ・サーバモジュール２３０は、プロセッサ２０５と通信するようにされてもよい。様々な例示的実施形態において、リモートＵＩ・サーバモジュール２３０は、その一部又は全部が、複数の異なる装置に分散されて存在してもよい。すなわち、リモートＵＩ・サーバモジュール２３０のいくつか又は全ての機能は第１の装置によって実行され、その残りの機能は一つ又は複数の他の装置によって実行されてもよい。
【００５７】
装置２００及びプロセッサ２０５は、次の機能をリモートＵＩ・サーバモジュール２３０を通じて実行するように構成されてもよい。また、リモートＵＩ・サーバモジュール２３０は、リモートデバイスにおいてデータ入力フィールドの選択が行われたことを通知する、データ入力フィールド選択メッセージを受信するように構成されてもよく、また、ユーザインタフェースのフォーカスを、データ入力フィールドに変更するように構成されてもよい。リモートＵＩ・サーバモジュール２３０は、さらに、データ入力フィールドの現在のデータコンテンツをリトリーブように構成されてもよく、また、データ入力フィールドの現在のデータコンテンツをリモートデバイスに知らせる情報が、当該リモートデバイスに提供されるように構成されてもよい。この情報を提供することは、リモートデバイスに、データ入力フィールドの現在のデータコンテンツを、データ入力インタフェースに表示することを可能にしてもよい。
【００５８】
さらに、ある例示的実施形態においては、リモートＵＩ・サーバモジュール２３０は、データ入力フィールドに関連するデータ入力を可能にすべく、リモートデバイスに、データ入力インタフェースを表示するきっかけを与えるように構成されてもよい。追加的に又は代替的に、いくつかの例示的実施形態においては、リモートＵＩ・サーバモジュール２３０は、データ入力フィールドの現在のデータコンテンツをリモートデバイスに知らせる情報が当該リモートデバイスに提供されるようにし、データ入力フィールドの現在のデータコンテンツが、元々のデータ入力フィールドに対応する表示要素とは異なる第２のデータ入力フィールドに表示されることを可能にしてもよい。ある例示的実施形態によれば、リモートＵＩ・サーバモジュール２３０は、追加的に又は代替的に、データ入力フィールドの現在のデータコンテンツを解析し、データ入力完成・予測アルゴリズムを用いて、データ入力を完成させる候補をいくつか決定するように構成されてもよい。追加的に又は代替的に、ある例示的実施形態によれば、リモートＵＩ・サーバモジュール２３０は、データ入力フィールドの現在のデータコンテンツを解析し、データタイプを特定し、そのデータタイプに基づいて、リモートデバイスに、データ入力インタフェースのバリエーションが表示されるように構成されてもよい。追加的に又は代替的に、ある例示的実施形態によれば、リモートＵＩ・サーバモジュール２３０は、リモートデバイスに関連するコンテキスト情報を解析し、そのコンテキスト情報に基づいて、リモートデバイスに、データ入力インタフェースのバリエーションが表示されるように構成されてもよい。
【００５９】
図７を参照すると、本発明の様々な実施形態に従うより具体的な装置例が示されている。図７の例の装置は、セルラ通信ネットワークのような無線ネットワークで通信するように構成された移動端末１０である。移動端末１０は、本明細書で説明されたＵＥ１０１及び／又は装置２００の機能を遂行するように構成されてもよい。ある例示的実施形態においては、移動端末１０は、プロセッサ２０を通じてリモートＵＩ・サーバモジュール２３０の昨日を遂行するようにされてもよい。これに関して、プロセッサ２０は、プロセッサ２０５及び例えばＩ／Ｏインタフェース２０６のように構成される集積回路やチップであってもよい。また、揮発性メモリ４０及び不揮発性メモリ４２は、コンピュータ読み取り可能な記憶媒体として、プロセッサ２０の動作をサポートするように構成されてもよい。
【００６０】
移動端末１０は、さらに、アンテナ１２、送信機１４、受信機１６を備えてもよく、これらは移動端末１０の通信インタフェースの一部に含まれてもよい。ユーザインタフェースには、スピーカー２４やマイクロフォン２６、ディスプレイ２８、キーパッド３０が含まれていてもよい。
【００６１】
図８を参照すると、ある例示的実施形態において、装置３００は、有線及び／又は無線通信機能を具備する通信機器として（またはそのような通信機器に含まれる要素として）具現化されることができる。これに関して、装置３００は、本明細書で説明されたリモートＵＩデバイス１００のようなリモート環境の機能性に従って動作するように構成されてもよい。実施形態によっては、装置３００は、固定端末や移動端末、又は何かに搭載される端末のような、通信デバイス（例えばリモートＵＩデバイス１００）の一部であってもよい。移動端末として、装置３００は携帯型コンピュータ、携帯電話、ポータブル・デジタル・アシスタント（ＰＤＡ）、ポケットベル、携帯テレビ、ゲームデバイス、ラップトップコンピュータ、カメラ、ビデオレコーダーは、オーディオ／ビデオプレーヤー、ラジオ、スマートフォン、タブレット、パッドデバイスであってもよく、及び／又はＧＰＳデバイスであってもよく、またはこれらの任意の組み合わせであってもよい。何かに搭載される端末として、装置３００は、車載ヘッドユニットやモニタのようなものであってもよい。通信デバイスの種類に関わらず、装置３００は計算能力を有していてもよい。
【００６２】
例示的な装置３００は、プロセッサ３０５やメモリデバイス３１０、入力／出力（Ｉ／Ｏ）インタフェース３０６、通信インタフェース３２０、ユーザインタフェース３１５、リモートＵＩサーバモジュール３３０を備えるか、そうでなければこれらと通信する。プロセッサ３０５は、本発明の例示的実施形態の様々な機能を実装する様々な手段として具現化されうる。例えばマイクロプロセッサ、コプロセッサ、コントローラ、ＡＳＩＣのような特定目的の集積回路、ＦＰＧＡ、ハードウェアアクセラレータ、処理回路等として具現化されうる。ある例示的実施形態では、プロセッサ３０５は、協働する複数のプロセッサや、一つ又は複数のマルチコプロセッサを表してもよい。さらに、プロセッサ３０５は、本明細書で説明される機能の発揮を助けるための複数のトランジスタやロジックゲート、クロック（例えば発信器）、その他の回路等を備えてもよい。プロセッサ３０５は、必ずしも必要というわけではないが、協働する一つ又は複数のデジタルシグナルプロセッサを備えてもよい。ある例示的実施形態において、プロセッサ３０５は、メモリデバイス３１０に格納された命令を実行するように構成されてもよい。またはプロセッサ３０５は、自身がアクセス可能な命令を実行するように構成されてもよい。プロセッサ３０５は、装置３００に本明細書で説明される様々な機能をプロセッサが実行させるように、動作するように構成されてもよい。
【００６３】
ハードウェアにより構成されるか、またはコンピュータ読み取り可能な記憶媒体に格納される命令により構成されるか、またはこれらの組み合わせにより構成されるかに関わらず、プロセッサ３０５は、本発明の様々な実施形態に従う処理を遂行する能力を有する要素を表しうる。従って、プロセッサ３０５がＡＳＩＣやＦＰＧＡとして（またはその一部として）具現化される例示的実施形態では、プロセッサ３０５は、本明細書により説明される処理を遂行するために特別に構成されたハードウェアと考えられうる。また、プロセッサ３０５が、非一時的コンピュータ可読記憶媒体に格納される命令又はコンピュータプログラムコードの実行要素として具現化される例示的実施形態においては、当該命令は、プロセッサ３０５を、本明細書で説明されるアルゴリズムや処理（例えば図５に関して説明されたアルゴリズムや処理）を実行するように、特別に構成する。ある例示的実施形態において、プロセッサ３０５は、本発明の例示的実施形態を取り入れるように構成された特定のデバイス（例えば移動端末）のプロセッサである。本明細書で説明されるアルゴリズムや方法、処理を遂行するために、実行された命令によりプロセッサ３０５を構成することにより、本発明の例示的実施形態を取り入れる。
【００６４】
メモリデバイス３１０は、一つ又は複数の非一時的コンピュータ可読記憶媒体であってもよく、揮発性及び／又は不揮発性のメモリを含んでもよい。ある例示的実施形態では、メモリデバイス３１０は、ランダムアクセスメモリ（ＲＡＭ）を含んでもよく、ダイナミック及び／又はスタティックＲＡＭ、オンチップ又はオフチップのキャッシュメモリ等を含んでもよい。さらに、メモリデバイス３１０は、内蔵及び／又は着脱可能な不揮発性メモリであってもよく、また、例えばリード・オンリー・メモリ、フラッシュメモリ、磁気記憶デバイス（例えばハードディスクやフレキシブルディスクドライブ、磁気テープなど）、光ディスクドライブ及び／又は光ディスクメディア、不揮発性のランダムアクセスメモリ（ＮＶＲＡＭ）等を含んでもよい。メモリドライブ３１０は、データの一時的な記憶のためのキャシュエリアを含んでもよい。これに関して、メモリデバイス３１０のいくつかまたは全ては、プロセッサ３０５内に含まれていてもよい。
【００６５】
さらに、メモリデバイス３１０は、一つ又は複数のメモリデバイスであってもよい。またメモリデバイス２１０は、プロセッサ３０５及び装置例３００が本明細書に記載される本発明の例示的実施形態に従う様々な機能を実行しうるように、情報、データ、アプリケーション、コンピュータ読み取り可能なプログラムコード命令等を格納するように構成されてもよい。例えばメモリデバイス３１０は、プロセッサ３０５より処理される入力データをバッファするように構成されてもよい。さらに又は代替的に、メモリデバイス３１０は、プロセッサ３０５により実行される命令を格納するように構成されてもよい。
【００６６】
Ｉ／Ｏインタフェース３０６は、プロセッサ３０５と他の回路やデバイスを接続する如何なる手段であってもよく、デバイス、回路、ハードウェアに内蔵された手段、ソフトウェア、ハードウェアとソフトウェアの組み合わせ等、如何なるものでもよい。例えば通信インタフェース３２０やユーザインタフェース３１５であってもよい。ある例示的実施形態においては、プロセッサ３０５は、Ｉ／Ｏインタフェース３０６を介してメモリ３１０に接続される。Ｉ／Ｏインタフェース３０６は、信号やデータを、プロセッサ３０５により解釈されうる形に変換する。Ｉ／Ｏインタフェース３０６は、プロセッサ３０５の動作を助けるために、入力及び出力のバッファリングを行ってもよい。ある例示的実施形態によれば、プロセッサ３０５及びＩ／Ｏインタフェース３０６は、単一のチップや集積回路に結合され、本発明の様々な機能を実行したり、又は装置３００に実行させるように構成される。
【００６７】
通信インタフェース３２０は、ネットワーク３３５や、装置例３００（例えばＵＥ１０１）と通信可能なデバイスやモジュールとの間でデータを受信及び／又は送信するように構成される、どのようなデバイスや手段（例えば回路）であってもよい。このようなデバイスや手段は、ハードウェアやコンピュータプログラム製品、ハードウェアとソフトウェアの組み合わせなどとして具現化されてもよい。通信インタフェースは、任意のタイプの有線又は無線接続、任意のタイプの通信プロトコル（例えばセルラ通信やＮＦＣ（近距離通信）をサポートする通信プロトコル）を介して、情報を通信できるように構成されてもよい。様々な例示的実施形態によれば、通信インタフェース３２０は、インターネットプロトコルに基づくネットワーク（例えばインターネット）やセルラネットワーク等の様々なネットワークにおける情報の送受信をサポートするように構成されてもよい。通信インタフェース３２０は、モバイル・アドホック・ネットワーク（ＭＡＮＥＴ）のようなデバイス間通信をサポートするように構成されてもよい。プロセッサ３０５は、例えば通信インタフェース３２０内のハードウェアを制御することを通じて、通信インタフェース３２０を介する通信を助けるように構成されてもよい。これに関して、通信インタフェース３２０は、例えば、通信ドライバ回路（例えば光ファイバー接続を介する有線接続をサポートする回路など）や、一つ又は複数のアンテナ、送信機、受信機、送受信機等を備えてもよく、また、通信を可能にするプロセッサのようなサポートハードウェアを備えていてもよい。通信インタフェース３２０を介して装置例３００は、デバイス間通信の形態で、他の様々なネットワーク要素と通信してもよい。または、基地局やアクセスポイント、サーバ、ゲートウェイ、ルータ等を介して間接的に通信してもよい。
【００６８】
ユーザインタフェース３１５は、ユーザインタフェース３１５を介するユーザ入力を受け取ったり、聴覚や視覚に関する出力や、機械的又はその他の出力をユーザに提供するために、プロセッサ３０５と通信状態にあってもよい。ユーザインタフェース３１５は、例えば、キーボードやマウス、ジョイスティック、ディスプレイ（例えばタッチスクリーン）、マイクロフォン、スピーカー、その他の入力又は出力機構のいずれか一つ以上を有していてもよい。さらにプロセッサ３０５は、ユーザ入力インタフェースの一つ又は複数の要素の少なくともいずれかの機能を制御するように構成される、ユーザインタフェース回路を備えていてもよい（又はそのような回路と通信していてもよい）。プロセッサ３０５及び／又はユーザインタフェース回路は、コンピュータプログラム命令を通じて、ユーザインタフェースの一つ又は複数の要素の一つ又は複数の機能を制御するように構成されてもよい。そのようなコンピュータプログラム命令は、例えば揮発性メモリや不揮発性メモリのような、プロセッサ３０５がアクセス可能なメモリに格納される、例えばソフトウェアやファームウェアであることができる。ある例示的実施形態において、ユーザインタフェース回路は、装置３００の少なくとも一つの機能をユーザがディスプレイを使って制御することを助け、また、ユーザの入力に応答するように構成されてもよい。プロセッサ３０５はまた、ユーザインタフェースの少なくとも一部分を表示するように構成されるディスプレイ回路を備えてもよい（又はそのような回路と通信してもよい）。ディスプレイ及びディスプレイ回路は、装置３００の少なくともいずれかの機能をユーザが制御することを容易にするように構成されてもよい。
【００６９】
例示的な装置３００のリモートＵＩ・クライアントモジュール３３０は、ハードウェアや、コンピュータプログラムを格納する非一時的コンピュータ可読記憶媒体、これらの組み合わせ等により部分的に又は全体的に具現化されうる如何なる手段やデバイスでもよく、例えば、例示的な装置３００を構成するべく格納した命令を実行するプロセッサ３０５や、本明細書で説明されるような、リモートＵＩ・クライアントモジュール３３０の機能を実行するようにハードウェア的に構成されたプロセッサ３０５であってもよい。ある例示的実施形態においては、プロセッサ３０５は、リモートＵＩ・クライアントモジュール３３０を含むか、又はこれをコントロールしてもよい。リモートＵＩ・クライアントモジュール３３０は、プロセッサ３０５と似たような、ただし異なるプロセッサによって、その一部又は全部が具現化されてもよい。これに関して、リモートＵＩ・クライアントモジュール３３０は、プロセッサ３０５と通信するようにされてもよい。様々な例示的実施形態において、リモートＵＩ・クライアントモジュール３３０は、その一部又は全部が、複数の異なる装置に分散されて存在してもよい。すなわち、リモートＵＩ・クライアントモジュール３３０のいくつか又は全ての機能は第１の装置によって実行され、その残りの機能は一つ又は複数の他の装置によって実行されてもよい。
【００７０】
装置３００及びプロセッサ３０５は、次の機能をリモートＵＩ・クライアントモジュール３３０を通じて実行するように構成されてもよい。これに関して、リモートＵＩ・クライアントモジュール３３０は、データ入力フィールドの選択を受信し、データ入力フィールド選択メッセージが第２のデバイスに送信されるようにして、データ入力フィールドの選択がなされたことを第２のデバイスに知らせるように構成されてもよい。リモートＵＩ・クライアントモジュール３３０はさらに、第２のデバイスのデータ入力フィールドの現在のデータコンテンツを知らせる情報を、第２のデバイスから受信し、装置３００のデータ入力インタフェースのデータ入力フィールドに、前記現在のデータコンテンツを入力するように構成されてもよい。
【００７１】
さらに、ある例示的実施形態においては、リモートＵＩ・クライアントモジュール３３０は、装置３００がデータ入力インタフェースを表示し、関連するデータ入力フィールドにデータが入力されることを可能にするきっかけとなる、信号を受信するように構成されてもよい。追加的に又は代替的に、いくつかの例示的実施形態においては、リモートＵＩ・クライアントモジュール３３０は、第２のデバイスのデータ入力フィールドの現在のデータコンテンツが、第２のデバイスのデータ入力フィールドに対応する表示要素とは異なる第２のデータ入力フィールドに表示されることを可能にしてもよい。ある例示的実施形態によれば、リモートＵＩ・クライアントモジュール３３０は、追加的に又は代替的に、データ入力フィールドの現在のデータコンテンツを解析し、データ入力完成・予測アルゴリズムを用いて、データ入力を完成させる候補をいくつか決定するように構成されてもよい。追加的に又は代替的に、リモートＵＩ・クライアントモジュール３３０は、データ入力フィールドの現在のデータコンテンツを解析し、データタイプを特定し、そのデータタイプに基づいて、装置３００に、データ入力インタフェースのバリエーションが表示されるように構成されてもよい。追加的に又は代替的に、ある例示的実施形態によれば、リモートＵＩ・クライアントモジュール３３０は、装置３００に関連するコンテキスト情報を解析し、そのコンテキスト情報に基づいて、装置３００に、データ入力インタフェースのバリエーションが表示されるように構成されてもよい。
【００７２】
前述のように、図５は、本発明の例示的実施形態に従うシステム及び／又は方法及び／又は非一時的コンピュータ可読記憶媒体に格納されたコンピュータプログラム（例えばコンピュータプログラム製品）のフローチャートである。無論、フローチャートの各ブロック若しくは処理は、及び／又は、ブロック若しくは処理の組み合わせは、様々な手段によって実装されうる。フローチャートの各ブロック若しくは処理や、ブロック若しくは処理の組み合わせ、また本明細書で説明される本発明の例示的実施形態の他の機能を実装する手段は、ハードウェアであってもよく、また、コンピュータプログラムコード命令やプログラム命令、実行可能なコンピュータ可読プログラムコード命令を一つ又は複数格納する非一時的コンピュータ可読記憶媒体であってもよい。これに関して、プログラム命令は、装置例２００や３００のような例示的装置の、メモリデバイス２１０や３１０のようなメモリデバイスに格納されてもよく、プロセッサ２０５や３０５のようなプロセッサ２実行されてもよい。理解されうるように、このようなコンピュータプログラム命令は、コンピュータ可読記憶媒体から、コンピュータや他のプログラム可能な装置（例えばプロセッサ２０５，３０５やメモリデバイス２１０，３１０等）にロードされて、特定の機械を構成する。かかる機械は、フローチャートの一つ又は複数のブロック又は処理により特定される機能を実装する手段となる。これらのプログラムコード命令は、コンピュータ可読記憶媒体に格納されてもよく、特定の方法で機能するようにコンピュータやプロセッサ、他のプログラム可能な装置に命令し、それによって、特定の機械または特定の製品を生成することができる。コンピュータ可読記憶媒体に格納される命令は製品を生成してもよいが、ここでこの製品は、フローチャートの一つ又は複数のブロック又は処理により特定される機能を実装する手段となる。プログラムコード命令は、コンピュータ可読記憶媒体からリトリーブされ、コンピュータやプロセッサ、他のプログラム可能な装置にロードされてもよく、それによって、コンピュータやプロセッサ、他のプログラム可能な装置上で（またはこれらの装置によって）遂行されるべき処理を実行させるように、コンピュータやプロセッサ、他のプログラム可能な装置を構成してもよい。プログラム命令のリトリーブ（Retrieval）、ロード、実行は順番に行われてもよい。例えば、一度に一つの命令が、リトリーブされ、ロードされ、実行されてもよい。実施形態によっては、リトリーブ、ロード、実行は、並行的に行われてもよい。すなわち、複数の命令が同時にリトリーブされ、ロードされ、実行されてもよい。プログラムコード命令の実行は、コンピュータ実装型のプロセスを生成してもよい。すなわち、コンピュータやプロセッサ、他のプログラム可能な装置により実行された命令は、フローチャートの一つ又は複数のブロック又は処理により特定される機能を実装する動作を提供してもよい。
【００７３】
さらに、フローチャートのブロック又は処理に関連する命令をプロセッサにより実行することや、フローチャートのブロック又は処理に関連する命令をコンピュータ可読記憶媒体に格納することは、特定の機能を実行する処理の組み合わせを助ける。また、フローチャートの一つ又は複数のブロック若しくは処理、及び、フローチャートの複数のブロックの若しくは処理組み合わせは、特定の機能を実行する特定目的のハードウェアベースのコンピュータシステム（及び／又はプロセッサ）や、特定目的のハードウェアとプログラムコード命令との組み合わせによって実装されてもよいことも理解されたい。
【００７４】
ここで説明された発明についての多くの変形その他の実施形態が、前述の説明や関連する図面に示される教示から利益を受けうる、本発明に関連する当業者に想起されるであろう。従って本発明は、ここで退治された特定の実施形態に制限されるものと理解されてはならず、上述の変形その他の実施形態も、添付の請求項の範囲に含まれるべきものである。さらに、上述の説明や関連する図面が要素や機能の或る例示的な組み合わせという文脈で例示的な実施形態を説明してきたが、別の実施形態では、添付の請求項の範囲を逸脱せずに、要素や機能の異なる組み合わせも可能であることに留意されたい。ここで例えば、上で明示的に説明されている要素や機能の組み合わせ以外の組み合わせも、添付の請求項のいずれかに属するものと考えるべきである。本明細書では特定の語句が使用されているが、それは一般的かつ説明の意味で使われており、限定する目的で使われてはいない。
【図１】
0005906316.tif 000002
【図２】
0005906316.tif 000003
【図３】
0005906316.tif 000004
【図４】
0005906316.tif 000005
【図５】
0005906316.tif 000006
【図６】
0005906316.tif 000007
【図７】
0005906316.tif 000008
【図８】
0005906316.tif 000009