説明

新鮮さステータスを使用するユーザインターフェイスアクション処理

ユーザインターフェイスデバイスから発生されたユーザインターフェイスアクションを処理するシステムにおいて、ユーザインターフェイスアクションに対する新鮮さステータスを発生させることを含むシステム。新鮮さステータスは、ユーザインターフェイスアクションに関係する新鮮さステータスを含む。新鮮さステータスは、ユーザインターフェイスアクションに関係付けられている。

【発明の詳細な説明】
【分野】
【0001】
本発明は一般的にユーザインターフェイスアクションの処理に関連し、さらに詳細には、ユーザインターフェイスアクションの関係するアプリケーションへの選択的な提供に関連する。
【背景】
【0002】
技術の進歩は、より小さくより強力なパーソナルコンピューティングデバイスをもたらした。例えば、小型、軽量で、ユーザにより容易に持ち運ばれることができる、さまざまなポータブルワイヤレス電話機、パーソナルデジタルアシスタント(PDA)およびページングデバイスが現存している。一般的にこれらのデバイスは、厳しくリソースが制約されている。例えば、スクリーンサイズ、メモリとファイルシステム空間の利用可能な容量、入出力能力と処理能力の容量は、デバイスの小さいサイズによりそれぞれ制限される。さらに、厳しくおよび厳しくなく、リソースが制約されているデバイスの両方を含むすべてのタイプのコンピューティングデバイスが、一般的に、現在の、またはより小さい空間要求内で増加されたコンピューティング能力を提供する、新しいコンピューティング技術の導入から利益を受ける。一般的に、最も利益を受けるのは、厳しく制約されているデバイスである。
【0003】
現在、いくつかのパーソナルコンピューティングデバイスを含む、数々のコンピューティングデバイスが、ユーザインターフェイス(U/I)イベント/アクションを追跡し、記録するU/Iシステムを含む、コンピューティング能力を備える。そのようなイベント/アクションは、一般的にキーストロークと、ポインタ(マウスまたはペン)の動きを含み、それぞれのイベント/アクションは、それ自身の対応するイベント/アクションコードを持つ。ポインタの動きは、例えば、ペンアップ、ペンダウンおよびペンドラッグを含む、いくつかのイベント/アクションタイプ(ペンイベント/アクション)を持つとして知られている。イベント/アクションコードは、一般的にU/Iシステムによる、対応するU/Iデバイスの定期的なポーリングによって発生される。例えば、ペンが前の時間中の前の位置に対して、変更されたその接触位置を持つとして検出された場合、イベント/アクションコードが、U/Iシステムにより発生され、イベント/アクションコードは、現在のペンロケーション(x,y)を持つペンドラッグとして、イベント/アクションを一意的に識別する。
【0004】
上に述べたように、イベント/アクションは、対応するU/Iデバイスの定期的なサンプリングに基づいて発生される。一般的に、サンプリング期間は、平均的アプリケーションにより実行される動作に関して、短すぎず、長すぎないように決定される長さに設定される。設定が短すぎる場合には、ポインタが付加的イベント/アクションを発生させ続ける間、または、ユーザのアクションにスクリーンが追い付くのをユーザが待機する間のいずれかに、対応するアプリケーションが、例えば、それぞれのイベント/アクションのロケーションの表示に大部分の時間を費やすので、発生されるポインタの動きのイベント/アクションは、例えば、アプリケーションを圧倒するほど数多くなるかも知れない。例えば、イベント/アクションが発生するたび、それらを単にドロップすること(すなわち、いったんキュー/バッファがあるサイズに達すると、それらを列に並べるのに失敗する)、または、何もせずに、表示がユーザのアクションの後にかなり遅れることを単に許容すること、のいずれかによって、大量データを取り扱う試みの努力を行うことができるが、対応する結果のいずれも受け入れ可能な解法を表さない。反対に、期間の設定が長すぎる場合には、例えば、手書き文字認識ソフトウェアのような、より高分解能のデータを要求するアプリケーションは、望まれるように実行するために利用可能な十分なデータを持たないだろう。
【0005】
1つの一般的なアプローチは、高分解能と低分解能のバッファの両方を提供することにより、イベント/アクションを追跡することである。1つの実施形態では、高分解能バッファはより高いサンプリングレートを持っているソフトウェアに関係付けられる傾向があり、低分解能バッファはより低いサンプリングレートを持っているソフトウェアに関係付けられる傾向がある。少なくともいくつかの実施形態では、高分解能バッファ中に取り込まれるアイテムはアクションとして呼ばれ、低分解能バッファ中に取り込まれるアイテムはイベントとして呼ばれる。1つのそのような実施形態では、イベントはアクションのサブセットである。1つの実施形態では、最新の、または「現在」のアクション/イベントは、対応するバッファのトップに位置しているアイテムを調べることにより決定することができる。少なくとも1つの実施形態では、高分解能バッファは、100ヘルツのサンプリングレートに関係付けられ、手書き文字サンプリングプログラムに関係付けられる。
【0006】
これらのシステムは、上に説明したように、高および低分解能バッファの両方を実装し、高分解能データを検索するため別にアクセスすることができる高分解能バッファへのオプション的アクセスを提供することによって、手書き文字認識ソフトウェアのような高分解能データを要求するアプリケーションに対して使用可能な解法を提供するように設計されているとして知られている。このようなことから、多くのアプリケーションは、単に低分解能バッファだけを使用して十分に動作するが、他の高分解能ベースのアプリケーションは、別の高分解能バッファを使用することによって、よりよい結果を達成する。したがって、一般的に、U/Iイベント情報を識別するイベントコード情報を取り扱うシステムは、高および低分解能バッファの両方を含むものとして知られており、一方は、一般的に「現在」のイベントに関係する典型的アプリケーションに対し、もう一方は、単に「現在」イベントだけでなくそれ以上のものに関係する、高分解能ベースのアプリケーションに対する。高および低分解能バッファの両方の解法を提供することは、単一バッファの解法を使用することが可能であった場合に必要になる以上の、さらなるコーディング、データ構造および処理能力を要求する。
【0007】
イベント/アクションの大きなバックログの発生の潜在的問題を取り扱う他のアプローチは、個別アプリケーションに対してバックログを取り扱う責任を強いることである。しかしながら、これはそのようなアプリケーションの設計を複雑にし、異なるデバイス上の同一アプリケーションの異なるふるまいに帰結する可能性をもたらす。
【0008】
したがって、システムが高分解能情報を要求するか、または、システムが現在のロケーション情報だけを要求するかにかかわらず、すべてのアプリケーションに対して受け入れ可能な形態でアプリケーションアクション/イベントデータを提供する、リソースを減少させる強力なU/Iイベント/アクション処理システムに対する技術への要求がある。したがって、アクションバッファおよびイベントキューの両方においてアクションを記憶する二重特性を減少させるためのさらなる要求もある。
【概要】
【0009】
ここで開示した実施形態は、例えば、方法、ソフトウェアおよび装置がU/Iデバイスから発生されるU/Iアクションを処理するのに使用される1以上の実施形態を含む、上で述べた要求に取り組む。
【0010】
少なくとも1つの実施形態では、U/Iアクションの処理は、U/Iアクションに対する新鮮さステータスの発生を含み、新鮮さステータスは、U/Iアクションに関係する新鮮さ状態を示す。さらに、新鮮さステータスもU/Iアクションに関係付けられる。
【0011】
少なくとも1つの実施形態では、U/Iアクションの処理は、U/Iアクションに関係するU/Iアクションインジケータを受け取ることを含む。さらに、U/Iアクションに関係付けられた新鮮さステータスも受け取られる。
【0012】
少なくとも1つの実施形態では、U/Iアクションの処理は、U/Iアクションに対する新鮮さステータスの発生を含み、新鮮さステータスは、U/Iアクションに関係する新鮮さ状態を示す。さらに、新鮮さステータスはU/Iアクションに関係付けられる。さらに、U/Iアクションに関係付けられたU/Iアクションインジケータが受け取られる。最後に、新鮮さステータスが受け取られる。
【0013】
少なくとも1つの実施形態では、コンピューティングデバイスは、U/Iデバイスから発生されるU/Iアクションを処理するのに使用される。コンピューティングデバイスは、メモリ、ユーザI/Oインターフェイスおよびプロセッサを持つ。ユーザI/Oインターフェイスは、U/IデバイスからU/Iアクション信号を受け取るように構成されている。プロセッサはメモリに結合され、U/Iアクションに対する新鮮さステータスを発生させるコードを実行するように動作可能である。プロセッサは、新鮮さアクションインジケータを形成するため新鮮さステータスをU/Iアクションに関係付けるように動作可能である。さらに、プロセッサは、処理のためにアプリケーションに対して新鮮さアクションインジケータを提供するように動作可能である。
【0014】
少なくとも1つの実施形態では、コンピューティングデバイスは、U/Iデバイスから発生されるU/Iアクションを処理するのに使用される。コンピューティングデバイスは、メモリ、U/Iアクションバッファおよびプロセッサを持っている。U/Iアクションバッファは、新鮮さアクションインジケータを記憶するよう構成されている。プロセッサはメモリに結合され、U/Iアクションに関係するU/Iアクションインジケータを受け取るコードを実行するように動作可能である。さらに、プロセッサは、U/Iアクションに関係する新鮮さステータスを受け取るように動作可能である。
【0015】
少なくとも1つの実施形態では、コンピューティングデバイスは、U/Iデバイスから発生されるU/Iアクションを処理するのに使用される。コンピューティングデバイスは、メモリ、ユーザI/Oインターフェイスおよびプロセッサを持つ。ユーザI/Oインターフェイスは、U/IデバイスからU/Iアクション信号を受け取るように構成されている。プロセッサはメモリに結合され、U/Iアクションに対して新鮮さステータスを発生させるコードを実行するように動作可能である。プロセッサは、新鮮さアクションインジケータを形成するため新鮮さステータスをU/Iアクションに関係付けるように動作可能である。さらに、プロセッサは、U/Iアクションバッファ中に新鮮さアクションインジケータを記憶するように動作可能である。プロセッサは、U/Iアクションに関係付けられたU/Iアクションインジケータを受け取るようにも動作可能である。さらに、プロセッサは、U/Iアクションに関係付けられた新鮮さステータスを受け取るように動作可能である。
【0016】
少なくとも1つの実施形態の少なくとも1つの利点は、特定のアプリケーションにより要求された、U/Iアクションインジケータだけを処理する能力を提供することを含む。関係付けられた「現在」のステータスを持つU/Iアクションインジケータだけを必要とするアプリケーションは、容易にそのようなデータだけを受け取ることができる。しかしながら、例えば、すべてのそのようなU/Iアクションインジケータのような、より多くの量のU/Iアクションインジケータを必要とするアプリケーションも、容易にそのような望ましいデータだけを受け取ることができる。
【0017】
少なくとも1つの実施形態では、U/Iアクションインジケータを使用するアプリケーションは、関係するステータスとは別にU/Iアクションインジケータを検索する/受け取ることはなく、むしろ、関係するステータスは、アプリケーションにおいて検索され/受け取られる、U/Iアクションインジケータ内に含まれる。このようなことから、そのようなステータス情報を別に検索する、別のコール、問い合わせ、または類似のアクションは何も必要とされない。少なくとも1つの実施形態では、アプリケーションがそのようなデータを対応するバッファから受け取るのではなく、関係するステータスを含むU/Iアクションインジケータは、関係するアプリケーションにおいて受け取られる。
【0018】
少なくとも1つの実施形態の少なくとも1つの利点は、第2の低分解能バッファ(イベントキュー)の使用に対する必要性がないことを含む。そのような実施形態は、別の低分解能バッファと、別のイベントキューおよび別のアクションバッファの両方に対する別の処理とをさらに必要とすることなく、高分解能バッファ(アクションバッファ)だけを使用する。少なくとも1つの実施形態の少なくとも1つの利点は、アプリケーションに対してさらなる処理制御を提供することである。それらが望ましい機能を達成するために処理する必要のないU/Iインジケータまでも処理するようにアプリケーションに要求するのではなく、そのような実施形態は、代わりに、必要なデータだけを処理するさらなる制御を提供する。少なくとも1つの実施形態の少なくとも1つの利点は、U/Iアクションインジケータを処理するのに必要なリソースの量を減少させることである。アクションバッファとイベントキューの両方ではなく、アクションバッファだけを必要とすることは、要求されるリソースを減少させる。さらに、すべてのそのようなデータはいつも1つの場所、高分解能バッファ(アクションバッファ)中だけに見つけられるため、U/Iアクションインジケータを処理するために1つのタイプの処理だけが必要とされる。
【0019】
本発明の他の観点、利点および特徴は、以下のセクション:図面の簡単な説明、詳細な説明、請求項、を含む全体の出願を閲覧した後に明らかになるだろう。
【0020】
これまでの、ここで説明した実施形態の観点とそれに伴う利点は、添付の図面とともに、以下の詳細な説明を参照することにより、より明らかになるだろう。
【詳細な説明】
【0021】
本明細書で「例示的な」という語は「模範、事例、図解として働く」ということを意味するのに使用されている。ここで「例示的」として説明する任意の実施形態は、他の実施形態より好ましい、または、有利であるとして解釈するべきではない。
【0022】
以下の詳細な説明では、コンピューティングデバイス上で、U/Iデバイスから発生されたU/Iアクションを処理するのに使用される方法、ソフトウェアおよび装置を説明し、ペンイベントアクションを処理するための、そのようなペンイベントアクションに関係する新鮮さステータスを使用する、方法、ソフトウェアおよび装置を含む。1以上の実施形態では、コンピューティングデバイスは組み込み制御装置と限定されたリソース(すなわち、限定されたメモリ容量、ディスプレイ領域、および、ファイルシステム空間)とを持ち、コンピューティングデバイスは、そのようなU/Iアクションの処理の制御において、U/Iアクションに関係する新鮮さステータスを発生させ、検索し、受け取るように動作する。
【0023】
1以上の実施形態では、U/Iデバイスから発生されたU/Iアクションを処理するのに使用されるシステムは、コンピューティングデバイス上で実行されているランタイム環境と対話し、ランタイム環境は、例えば、デバイス専用のリソースに対して一般化されたコールを行うことにより、デバイスの動作を簡単にするのに使用される。そのようなランタイム環境の1つは、カリフォルニア州サンディエゴのクァルコム社によって開発された、ワイヤレスのためのバイナリランタイム環境(BREW(登録商標))ソフトウェアプラットフォームである。以下の説明の少なくとも1つの実施形態では、コンピューティングデバイス上でU/Iデバイスから発生されたU/Iアクションを処理するのに使用されるシステムは、BREWソフトウェアプラットフォームのようなランタイム環境を実行するポータブルデバイス上で実施される。しかしながら、単一のアクティブなアプリケーション環境コンピューティングデバイス上でアプリケーションを実行するのに使用されるシステムの1以上の実施形態は、単一のアクティブなアプリケーション環境コンピューティングデバイス上でのアプリケーションの実行を制御するために、他のタイプのランタイム環境で使用するのに適している。
【0024】
図1は、U/Iデバイスから発生されたU/Iアクションを処理するためのコンピューティングデバイス100の1つの例示的な実施形態を図解する。ここで使用されるように、「コンピューティングデバイス」は、マイクロプロセッサ、デジタル信号プロセッサ(DSP)、マイクロ制御装置、ポータブルワイヤレス電話機、パーソナルデジタルアシスタント(PDA)、および、ページングデバイスのような、メモリ中に記憶されたソフトウェアモジュールを実行する1以上の処理回路、あるいは、ハードウェア、メモリに記憶されたソフトウェア、および/または、単一のアクティブなアプリケーションが維持されているファームウェアの任意の適切な組合せ、を含む。コンピューティングデバイス100は、メモリ102、ネットワークI/Oインターフェイス104、ユーザI/Oインターフェイス106、プロセッサ108およびバス110を含む。メモリ102は、RAMの1つの連続したユニットとして示されているが、他の実施形態は、メモリ102として、複数のロケーションと複数のタイプのメモリを使用する。ネットワークI/Oインターフェイス104は、バス110によりネットワークに接続されたすべてのデバイスに対して入力と出力を提供する。ユーザI/Oインターフェイス106は、キーボード、マウス、タッチスクリーン、ジョイスティック、およびこれらに類する物のようなU/Iデバイス113により、単一のアクティブなアプリケーション環境コンピューティングデバイス100のユーザに対して入力と出力を提供する。プロセッサ108は、バス110により提供される命令とデータで動作する。
【0025】
メモリ102内に位置して示されるのは、アプリケーション112、ランタイム環境114、および、U/Iアクションバッファ116である。アプリケーション112は、コンピューティングデバイス100と互換性があり、U/Iアクションバッファ116と対話する能力のある、任意のアプリケーションを表す。上で述べたように、ランタイム環境114は、例えば、デバイス専用のリソースに対して一般化されたコールを行うことにより、デバイスの動作を簡単にするためにコンピューティングデバイス100上で実行される。示されたランタイム環境はBREWであるが、他の例示的な実施形態では、同様の機能を提供する他のランタイム環境114が使用される。
【0026】
1つの実施形態では、U/Iアクションバッファ116は、新鮮さアクションインジケータ118(120、122、124、126、128、130、132、134および136)を含む。しかしながら、他の実施形態では、そのような新鮮さアクションインジケータ118は関係するバッファ中に含まれず、代わりに、情報を使用するアプリケーションに対して単に提供される。さらに、他の実施形態では、U/Iアクションバッファ116から受け取られるアイテム(すなわち、U/Iアクションインジケータ)は、その後、そのようなアイテムが処理アプリケーションに送られ、または、処理アプリケーションにより処理される前に、対応する新鮮さアクションインジケータ118を発生させるのに使用される。新鮮さアクションインジケータ118は、U/Iデバイス(からのU/I)アクションの処理中に使用されるデータを表す。少なくとも1つの実施形態では、そのようなU/Iアクションバッファ116は、1以上の新鮮さアクションインジケータ118を含み、そのような新鮮さアクションインジケータ118は、U/Iアクションインジケータ140、142、144、146、148、150、152、154および156をさらに含んでいてもよい。示されたU/Iアクションインジケータは、それぞれペンアクションであるが、キーボードアクション、または、類似のU/Iアクションを含む、他のU/Iアクションインジケータも、新鮮さアクションインジケータ118中に存在していてもよい。さらに、新鮮さアクションインジケータ118は、新鮮さインジケータ160、162、168、170、172および174もさらに含んでいてもよい。示された実施形態では、新鮮さインジケータ160、162、168、170、172および174は、ペンドラッグアクションを含むU/Iアクションインジケータ140、142、144、146、148、150、152、154および156のような、セグメントベースのアクション(下の説明を参照)にだけ関係している。少なくとも1つの実施形態では、新鮮さアクションインジケータ118は、関係するバッファ中に記憶されておらず、代わりに、関係するバッファのエントリを受け取った後で発生され、そのようなエントリ中に新鮮さインジケータ160、162、164、168、170、172および174が含まれる。そのような実施形態では、従来技術のバッファを含む従来技術のシステムは、そのようなバッファの内容が同一のままであるときには使用されてもよく、新鮮さインジケータがこれらに関係付けられるのは、そのようなバッファから情報が受け取られた後だけである。
【0027】
さらに、少なくとも1つの実施形態では、新鮮さアクションインジケータ118は、2つの異なるタイプ、ポイントベースのアクション/イベント、セグメントベースのアクション/イベントに分類することができる。ポイントベースのアクション/イベントは、一般的に、一連のポイントのアクション/イベントではなく、特定のポイントに関連するアクション/イベントを表す、U/Iアクション/イベントである。少なくとも1つの実施形態では、ポイントベースのアクション/イベントは、一般的にセグメントベースのアクション/イベントよりも重要であると考えられ、ポイントベースのアクション/イベントは、ユーザの選択に大きく依存するので、関係するポーリングレートに基づいて変更されることがない。例えば、ポイントベースのアクション/イベントは、一般的にペンダウン(120と128)、および、ペンアップ(126)アクション/イベントを含む。ここでは、そのようなポイントベースのアクション/イベント(120、126および128)は、ユーザが対応するディスプレイ上で1つの特定のポイントを選ぶのに対応して、特に発生される。
【0028】
対照的に、セグメントベースのアクションは一般的に、真っ直ぐの、斜めの、曲がりくねった、蛇行するまたは他の任意の類似のパスを有する、連続的セグメントの発生に関係し、パスは一連の連続的ポイントを反映し、一連の連続的ポイントは、U/Iアクション/イベントに関係する一連の発生されたポイントを表し、連続的に検出されたユーザU/I対話ではなく、連続的ポーリングサンプルにより、それぞれ分けられる。例えば、セグメントベースのアクション/イベントは、例えば、ペンドラッグアクション/イベント(122、124)と(130、132、134および136)を含む。そのようなセグメントベースのアクション/イベントは、一般的にディスプレイ上のパスをトレースすることに応答して発生され、それに対して、対応するポーリングレートは、そのようなパスに沿った、どのポイント/座標が、実際のセグメントベースのアクション/イベントと考えられることになるかを規定する。ここでは、ユーザ対話は、任意の特定のポイントの選択ではなく、ポイントの並びのセグメントの描写を表している。
【0029】
少なくとも1つの実施形態では、新鮮さインジケータ160、162、168、170、172および174は、セグメントベースのアクション/イベントだけに関係付けられている。そのような実施形態では、これは、「新鮮でない」および「現在」の値が、ユーザに決定された期間によってではなく、単一のタイムスライスにより分けられた、U/Iアクション/イベントに関してだけ意味を持っていると見なされるためである。ここで、「新鮮でない」は次のU/Iアクション/イベントにより取って代わられたU/Iアクション/イベントを示し、「現在」は、そのような次のU/Iアクション/イベントによりまだ取って代わられていないU/Iアクション/イベントを示す。さらに、少なくとも1つの実施形態では、関係する「現在」の新鮮さインジケータ(160、162、168、170、172および174)を持つ新鮮さアクションインジケータ118は、最も最近に期間が満了したタイムスライスにおいてそのような新鮮さアクションインジケータが記録されたものであることを意味する。
【0030】
新鮮さアクションインジケータ118は他の類似の情報も含んでもよく、他の類似の情報は、RAM、ROM、レジスタ、フラッシュメモリ、およびこれらに類する物を含む任意の数のメモリタイプに記憶されてもよく、任意の適切なデータ構造で記憶されてもよい。新鮮さアクションインジケータ118は、2つの状態:新鮮でないおよび現在、だけを含むとして示されているが、他の実施形態は、U/Iアクションインジケータに関係する他の履歴情報を追跡するためにさらなる状態を使用する。ここでは、「現在」の状態は、現在アクティブなU/Iアクションインジケータを表す。例えば、ペンが現在スクリーンに接触していることを対話スクリーンが感知している場合、現在のペンアクション156、例えばロケーション17.6xと11.2yにおけるペンドラッグは、「現在」の値を有する新鮮さインジケータ174を持っているとして示される。同様に、直前の新鮮さアクションインジケータ134は、新しい現在の新鮮さアクションインジケータ136の導入とともに、その新鮮さインジケータ172を「現在」から「新鮮でない」に変更させる。少なくとも1つの実施形態では、ペンアップとペンダウンイベントは、「新鮮でない」状態に関係付けられることはなく、その理由は、このような実施形態では、ペンアップとペンダウンイベントは、セグメントベースのアクション/イベントではなく、ポイントベースのアクション/イベントであるとして考えられ、さもなければ、「新鮮でない」ステータスに対する同様の要求はないものとして考えられるためである。
【0031】
現在の実施形態では、多くて1つのU/Iアクションインジケータが、時間中の任意の瞬間において、「現在」と考えられる。示されるように、セグメントベースのアクションを表す、より早く発生されたすべての新鮮さアクションインジケータ122、124、130、132および134は、「新鮮でない」の新鮮さインジケータ160、162、168、170および172を持っている。少なくとも1つの実施形態では、ペンアップイベントは、セグメントベースのイベントではなく、ポイントベースのイベントであるとして考えられるため、ペンアップイベントは、「現在」または「新鮮でない」のいずれにも決してならない。そのため、例えば、新鮮さアクションインジケータ126は、関係する新鮮さインジケータを持つことはあり得ない。
【0032】
アプリケーション112は、U/Iアクションに関係するU/Iアクションインジケータ140、142、144、146、148、150、152、154および156を受け取り、U/Iアクションに関係する新鮮さステータスを受け取るコード180を含むとして示されている。1つの実施形態では、例えば、受け取ったI/Oアクションインジケータと受け取った新鮮さステータスは、アプリケーション112によって処理することができる。例えば、アプリケーション112は、「現在」の新鮮さインジケータ160、162、168、170、172および174を持つ、新鮮さアクションインジケータ118だけを処理するようにプログラムされていてもよい。例えば、アプリケーション112が、デスクトップ表示アプリケーションであるときに、アプリケーション112が、アイコンドラッグおよびドロップの間に、それに沿ってアイコンがドラッグされたパスではなく、アイコンの現在のロケーションにだけ関係する場合に、このことは当てはまる(図2を参照)。他の実施形態では、例えば、アプリケーション112は、関連する新鮮さインジケータ160、162、168、170、172および174の値に関係なく、すべてのU/Iアクションインジケータを処理するようにプログラムされていてもよい。例えば、アプリケーション112が書き込み認識アルゴリズムであるときに、デバイススクリーンとのペンの対話からデバイスが入力を受け取っている時間の間に、ペンのそれぞれ記録されたロケーション、または、少なくともそれらの高い割合が、その機能を実行しているアプリケーション112によって使用されるような場合に、これは当てはまる。(図2を参照)。
【0033】
1つの実施形態では、メモリはコード182を含み、このコード182は、U/Iアクションに対する新鮮さステータスを発生させ、新鮮さアクションインジケータ118を形成するために新鮮さステータスをU/Iアクションに関係付けし、新鮮さアクションインジケータ118をU/Iアクションバッファ116中に記憶させる。他の実施形態は、新鮮さアクションインジケータ118をU/Iアクションバッファ中に記憶させないが、代わりにU/Iアクションバッファ116中に記憶させたU/Iアクションインジケータに基づいて、新鮮さアクションインジケータ118をアセンブルする。ランタイム環境114とアプリケーション112とから離れて位置するように示されているが、そのようなコード182は、それがその特定の機能を実行できるように、コンピューティングデバイス100中の任意の適切なロケーションに位置していてもよい。示された実施形態では、コード182は、入ってくるU/Iアクションが「現在」または「新鮮でない」と考えられるべきかどうかを評価するように動作する。そのような評価の後、コード182は、存在する場合、新鮮さインジケータ160、162、168、170、172および174を、関係するU/Iアクションインジケータ140、142、144、146、148、150、152、154および156に関係付けして、新鮮さアクションインジケータ120、122、124、126、128、130、132、134および136を発生させるように動作し、1つの実施形態では、新鮮さアクションインジケータをU/Iアクションバッファ116中に記憶させるよう動作する。そのような動作の後、対応するコード180は、U/Iアクションバッファ116からの同一の情報を読み取ることによって、新しい情報を自由に処理できる。少なくとも1つの実施形態では、「現在」の入ってくるU/Iアクションが到着するとき、前に識別された「現在」のアプリケーションは「新鮮でない」に更新される。いくつかの実施形態では、「現在」の状態は、U/Iアクションバッファ116のトップに位置している1つの新鮮さアクションインジケータであると推定され、任意のより早いエントリは、「新鮮でない」のステータスを持つと推定される。他の実施形態では、U/Iアクションバッファ116中のすべてのエントリは、「新鮮でない」として考えられ、新しく受け取られたU/Iアクションだけが、「現在」と考えられている可能性があるとして考えられる。
【0034】
しかしながら、少なくとも1つの他の実施形態では、新鮮さインジケータ160、162、168、170、172および174は、新鮮さアクションインジケータがバッファ中に記憶されるときに、または、それより前に、新鮮さアクションインジケータに関係付けられるのではなく、そのような新鮮さインジケータ160、162、168、170、172および174は、代わりに、そのような情報が記憶されていたキューからそのような情報が除去されるときに、または、その後で、新鮮さアクションインジケータに関係付けられる。また、新鮮さアクションインジケータが「現在」として考えられるべきかどうかの決定は、対応するキュー中の新鮮さアクションインジケータのロケーションに基づいて決定される。例えば、新鮮さアクションインジケータがセグメントベースのアクション/イベントであり、最新に記録された新鮮さアクションインジケータとして、それが対応するキューのトップに位置している場合に、それがセグメントベースのアクション/イベントのタイプであるために、そのような新鮮さアクションインジケータは「現在」のステータスを持っていると決定することができる。このようなことから、そのような機能は、対応する新鮮さアクションインジケータの記憶の後の時間における、新鮮さインジケータ160、162、166、168、170、172および174の決定を表す。このようなことから、アプリケーションが新鮮さアクションインジケータをキューから受け取るときに、関係する新鮮さインジケータ160、162、168、170、172および174が決定され、そのような瞬間より前に決定される必要はない。
【0035】
U/Iアクションバッファ116は、メモリ102中に位置しているとして示されているが、そのような情報はコンピューティングデバイス100の内部および外部の両方のさまざまなロケーションに記憶されてもよく、リンク付けされたリスト、配列、データベース、または、他のデータ構造のような、さまざまな形態で記憶されてもよく、ハードウェアまたはソフトウェアベースのいずれでもよい。さらに、1つの実施形態では、内容が今、U/Iアクションインジケータ140、142、144、146、148、150、152、154および156ではなく、新鮮さアクションインジケータ118を含むということを除いて、U/Iアクションバッファ116は、現在の利用可能なシステム中に存在するU/Iアクションバッファと同一であってもよく、または、それに類似していてもよい。他の実施形態では、内容が、U/Iアクション(または、イベント)インジケータ140、142、144、146、148、150、152、154および156ではなく、新鮮さアクションインジケータ118を含むということを除いて、U/Iアクションバッファ116は現在のシステム中に存在する高分解能または低分解能バッファと同一であってもよく、または、それに類似していてもよい。他の実施形態では、U/Iアクションバッファ116は、現存するシステム中で見られる高分解能および低分解能バッファとは異なっていてもよく、例えば、バッファ中のエントリは、関係するU/Iアクションの新鮮さインジケータを有している付加的なインジケータを含んでいてもよい。
【0036】
対応する新鮮さインジケータ160、162、168、170、172および174を含む、新鮮さアクションインジケータ120、122、124、126、128、130、132、134および136に直接アクセスするアプリケーション112の能力により、例えば、「新鮮でない」と考えられるすべてのU/Iアクションを無視しつつ、「現在」と考えられるU/Iアクションだけを利用するようにそのようなアプリケーション112をプログラムできるという点で、どのようにアプリケーション112が動作するかに関して、アプリケーション112により大きな自律性を持たせることが可能となる。同様に、他のアプリケーション112は、「現在」または「新鮮でない」と考えられるかどうかに関わらず、すべてのU/Iアクションを利用するようにプログラムすることができる。そのような動作と機能性は、高分解能および低分解能バッファの両方を使用する現在のシステムや、入ってくるU/Iアクションとイベントを処理する専用アプリケーションには存在しない。
【0037】
1つの実施形態では、新鮮さアクションインジケータ120、122、124、126、128、130、132、134および136が処理のためにアプリケーションに送られる準備ができるまで、そのような新鮮さアクションインジケータ120、122、124、126、128、130、132、134および136は、U/Iアクションバッファ116中で列に並べられている。同様に、U/Iアクションバッファから受け取られたU/Iアクションに基づいて、新鮮さアクションインジケータ120、122、124、126、128、130、132、134および136をアセンブルする実施形態では、さらなるU/IアクションがU/Iアクションバッファ116から受け取られて、処理のためにターゲットアプリケーションに送られるまで、そのようなU/Iアクションは、U/Iアクションバッファ116中で列に並べられる。
【0038】
図2は、U/Iデバイス113から発生されたU/Iアクションを処理するための、コンピューティングデバイス100の1つの例示的な実施形態200の図を図解する。特に、図2はタッチスクリーンディスプレイ202、ジョイスティック204、キーパッド206およびペン208を含む構成部品とU/Iデバイス113とを持つコンピューティングデバイス100を示す。U/Iデバイス113は、カーソル214により発生された対応する弧の動き210と212を生成するのに使用してもよい。示されているように、デバイスは、第1の弧の動き210中で、次に第2の弧の動き210中で、カーソル214を動かすための入力を受け取る。示されているように、カーソル214はタッチスクリーンディスプレイ202を横切って、アイコン216をドラッグしており、示されているように、アイコン216は新鮮さアクションインジケータ120に対応するロケーションにおいて、現在もまだ再描画されている。カーソル214は、新鮮さアクションインジケータ136に対応するロケーションに現在あるが、アイコンを表示するアプリケーションが、アイコンを所定のロケーションに完全に表示するためにアプリケーションの実行を完了していないため、アイコンは、新鮮さアクションインジケータ120に対応するロケーションに表示され続けている。また、図に示されているように、現在のカーソル214のロケーションを越えて、ユーザによるカーソル214のその後の動きに対応して、コンピューティングデバイスにおいて入力として受け取られる、弧の動き212の付加的部分(破線)が示されている。そのような弧の動き212は、最終のU/Iアクション218のペンアップアクションで完了する。示されているように弧の動き210は、第1の4つの新鮮さアクションインジケータ120、122、124および126に関係するスクリーンロケーションポイントを含み、弧の動き212は、第2の5つの新鮮さアクションインジケータ128、130、132、134および136に関係するスクリーンロケーションポイントを含む。
【0039】
弧の動き210および212を発生させるため、ペンチップ222を備えているペン208が、対応するU/Iアクションを発生させるために、タッチスクリーンディスプレイ202とともに使用されてもよい。また、ジョイスティック204も、対応するU/Iアクションを発生させるために、純y方向218と純x方向220とを含む、さまざまな方向に動かされてもよい。さらに、少なくとも1つの実施形態では、キーパッド206が、対応するU/Iアクションを発生させるために、単独で使用されてもよく、他のU/Iデバイス113とともに使用されてもよい。
【0040】
図3は、U/Iデバイス113から発生されたU/Iアクションを処理するためのコンピューティングデバイス100の1つの実施形態に対応するデータを反映している状態テーブル300を図解する。特に、図3は、コンピューティングデバイス100がU/Iデバイス113からU/Iアクション情報を受け取るタイムスライス302にわたってのユーザU/Iアクションバッファ116の内容を示している。状態テーブル300の内容は、図2の弧の動き210および212に対応する。次の実施形態では、残りの新鮮さアクションインジケータ122、124、126、128、130、132、134および136が記録される間に、元のアイコンは第1の新鮮さアクションインジケータ120において描画され続ける。元のアイコンが対応するアプリケーションによって描画され続けるため、新鮮さアクションインジケータは、U/Iアクションバッファ中で列に並び続けられる。
【0041】
タイムスライス0 304において、任意のU/Iアクションが検出される前に、U/Iアクションバッファ116には新鮮さアクションインジケータ118は何も存在しない。次のタイムスライス、タイムスライスx 306において、U/Iデバイス113が新鮮さアクションインジケータ120を発生させた後に、U/Iアクションバッファ116は、U/Iアクションインジケータ(ペンダウンアクション)140を示す新鮮さアクションインジケータ120で占められる(図1を参照)。このロケーションにおいて、関係するアプリケーションはそのような新鮮さアクションインジケータ120の情報を使用して、そのようなスクリーンのロケーションにおいてアイコンの描写を開始し、残りのU/Iアクション(122、124、126、128、130、132、134および136)が受け取られる間に、そのようなロケーションにおいて描画し続ける。タイムスライスx+1 308において、特定のU/Iアクションインジケータ(ペンドラッグアクション)142を示す対応する新鮮さアクションインジケータ122により、新しいU/Iアクションが検出され(図1を参照)、「現在」の新鮮さインジケータが検出される。タイムスライスx+2 310において、特定のU/Iアクションインジケータ(ペンドラッグアクション)144を示している対応する新鮮さアクションインジケータ124により、新しいU/Iアクションが検出され、「現在」の新鮮さインジケータが検出される。同一のタイムスライスにおいて、前の新鮮さアクションインジケータ122を表している新鮮さアクションインジケータは、「新鮮でない」に設定される。タイムスライスx+3において、特定のU/Iアクションインジケータ(ペンアップアクション)144を示している、対応する新鮮さアクションインジケータ126により、新しいU/Iアクションが検出される。この実施形態では、ペンアップアクション(すなわち、ポイントベースのアクション/イベント)は、そのようなU/Iアクションインジケータ146が最新であったとしても、決してステータスを持っていないため、ペンアクションは「現在」ステータスでマークされないことに留意すべきである。同一のタイムスライスにおいて、前の新鮮さアクションインジケータ124を表している新鮮さアクションインジケータは、「新鮮でない」に設定される。
【0042】
タイムスライスx+n 314、すなわち、タイムスライスx+3 312の後のいくつかのタイムスライスを表しているタイムスライスにおいて、特定のU/Iアクションインジケータ(ペンダウンアクション)148を示している対応する新鮮さアクションインジケータ128により、新しいU/Iアクションが検出される。タイムスライスx+n+1 316において、特定のU/Iアクションインジケータ(ペンドラッグアクション)150を示している、対応する新鮮さアクションインジケータ130により、新しいU/Iアクションが検出され、「現在」の新鮮さインジケータが検出される。タイムスライスx+n+2 318において、特定のU/Iアクションインジケータ(ペンドラッグアクション)152を示している、対応する新鮮さアクションインジケータ132により、新しいU/Iアクションが検出され、「現在」の新鮮さインジケータが検出される。同一のタイムスライスにおいて、前の新鮮さアクションインジケータ130を表している新鮮さアクションインジケータは、「新鮮でない」に設定される。タイムスライスx+n+3 320において、特定のU/Iアクションインジケータ(ペンドラッグアクション)154を示している、対応する新鮮さアクションインジケータ134により、新しいU/Iアクションが検出され、「現在」の新鮮さインジケータが検出される。同一のタイムスライスにおいて、前の新鮮さアクションインジケータ132を表している新鮮さアクションインジケータは、「新鮮でない」に設定される。最後に、タイムスライスx+n+4 322において、特定のU/Iアクションインジケータ(ペンドラッグアクション)156を示している、対応する新鮮さアクションインジケータ136により、新しいU/Iアクションが検出され、「現在」の新鮮さインジケータが検出される。同一のタイムスライスにおいて、前の新鮮さアクションインジケータ134を表している新鮮さアクションインジケータは、「新鮮でない」に設定される。
【0043】
上で説明したように、「現在」の値を有する新鮮さインジケータを持っている、新鮮さアクションインジケータ118だけを処理するようにプログラムされている特定のアプリケーション112は、任意の特定の時間においてそのような「現在」の値を含むこれらの新鮮さアクションインジケータ118だけを処理するように動作するだろう。少なくとも1つの実施形態(すなわち、図3に示される実施形態)では、1つの新鮮さアクションインジケータ118だけが時間中の任意の1つの特定のポイントにおいて「現在」の値を持っていてもよい。同様に、すべての新鮮さアクションインジケータ118を処理するようにプログラムされているアプリケーション112に対して、新鮮さインジケータの内容に関わらず、そのようなアプリケーション112は、すべての新鮮さアクションインジケータで動作する。
【0044】
さらに、U/Iアクションバッファ116から対応するU/Iアクションインジケータを受け取った後だけに、新鮮さアクションインジケータ118が作られる(すなわち、U/Iアクションインジケータは、新鮮さアクションインジケータ中にではなく、そのようなバッファ中に記憶される)実施形態に対して、示されているように、そのような新鮮さアクションインジケータ118は、そのようなU/Iアクションバッファ116中には記憶されない。代わりに、そのような新鮮さアクションインジケータ118は、そのようなU/Iアクションバッファ116の内容を使用して作られ、少なくとも1つの実施形態では、新鮮さアクションインジケータ118は、対応するU/Iアクションインジケータが、U/Iアクションバッファ116のトップにあるかどうかに基づいて決定された、または、U/Iアクションバッファ116中に記憶されたU/Iアクションインジケータのステータスを決定する上に説明した他の方法によって決定された、ステータスを持つ。
【0045】
図4は、単一のアクティブなアプリケーション環境コンピューティングデバイス上でアプリケーションを実行する方法に対する1つの例示的な実施形態400のフローチャートを図解する。特に、図4は、コンピューティングデバイス100により受け取られたU/Iアクションに基づいて新鮮さインジケータを設定することを説明している。プロセスは、ステップ402において開始し、アプリケーションの最初の実行が始まる。ステップ402に続くのはステップ404であり、ここでは、システムが次のU/Iアクションの存在を検出する。ステップ404に続くのはステップ406であり、ここでは、システムが前のU/Iアクションがセグメントベースのアクションであったかどうか決定する。そうである場合、ステップ408が開始し、そこでは、システムが前のU/Iアクションに対する新鮮さインジケータを「新鮮でない」に設定する。ステップ406またはステップ408のいずれかに続くのはステップ410であり、ここでは、システムが次のU/Iアクションがセグメントベースのアクションであるかどうか決定する。そうである場合、ステップ412が開始し、そこでは、システムが次のU/Iアクションに対する新鮮さインジケータを「現在」に設定する。ステップ410またはステップ412に続いて、ステップ404において、システムが次のU/Iアクションを処理し続けるように、方法は実行し続ける。
【0046】
図5は、コンピューティングデバイス上でアプリケーション112を実行する方法に対する1つの例示的な実施形態500のフローチャートを図解する。特に、図5は、「現在」のステータスを持つ新鮮さインジケータに関係付けられたU/Iアクションだけを処理することを説明している。プロセスはアプリケーションの最初の実行が開始する、ステップ502において開始する。ステップ502に続くのはステップ504であり、ここでは、システムが「現在」の新鮮さステータスを持つ新鮮さアクションインジケータを受け取る。一度そのような新鮮さアクションインジケータが選択されると、次のステップ506が開始される。ステップ506では、システムは、受け取られた新鮮さアクションインジケータに関係するアクションインジケータを処理する。このプロセスは、それぞれの新しいタイムスライスに対して繰り返されてもよい。ステップ506に続くのは、終了ステップ508である。
【0047】
図6は、コンピューティングデバイス上でアプリケーション112を実行する方法に対する1つの例示的な実施形態600のフローチャートを図解する。特に、図6は、対応する新鮮さインジケータの内容にかかわらず、すべてのU/Iアクションを処理することを説明している。プロセスはアプリケーションの最初の実行が開始する、ステップ602において開始する。ステップ602に続くのはステップ604であり、ここでは、システムが新鮮さインジケータを無視しつつ、次の連続する新鮮さアクションインジケータを受け取る。一度そのような新鮮さアクションインジケータが選択されると、次のステップ606が開始される。ステップ606では、システムは、そのような新鮮さアクションインジケータを処理する。このプロセスは、それぞれの新しいタイムスライスに対して繰り返されてもよい。ステップ606に続くのは、終了ステップ608である。
【0048】
図7は、U/Iデバイス113から発生されるU/Iアクションを処理する方法の1つの例示的な実施形態700を図解する。特に図7は次のような方法を説明している。すなわち、ノード702において開始した後にステップ704が開始され、ここでは、システムがU/Iアクションに対して新鮮さステータスを発生させる。新鮮さステータスは、U/Iアクションに関係する新鮮さ状態を示している。ステップ704に続くのはステップ706であり、ここでは、システムが新鮮さステータスをU/Iアクションに関係付ける。ステップ706に続くのはオプション的ステップ708であり、ここでは、システムがU/Iアクションバッファ中に新鮮さアクションインジケータをオプション的に記憶させる。ステップ706(およびオプション的ステップ708)に続くのは、終了ノード708で示される、方法の終了である。
【0049】
さらに、図7は、数多くの付加的なオプション的基準とステップ712、714、716、718および720とを示す。特にオプション的基準とステップ712、714、716および718とは、それぞれステップ704を修正し、残りのステップは、ステップ706を修正する。第1のステップ704は、オプション的に修正され(712)、新鮮さステータスは、次の2つの状態:現在および新鮮でない、のうちの1つを示す。また、ステップ704は、オプション的に修正され(714)、方法は、ポータブルワイヤレスデバイス上で実行される。ステップ704は、オプション的に修正され(716)、U/Iアクションはペンアクションである。ステップ704は、オプション的に修正され(718)、処理のためにアプリケーションに対して新鮮さステータスとユーザインターフェイスアクションとを提供することを含む付加的ステップが加えられる。最後に、ステップ706が修正され(720)、U/Iアクションに関係する、新鮮さステータスとU/Iアクションインジケータ140、142、144、146、148、150、152、154および156との両方を含む新鮮さアクションインジケータ118を発生させるステップを含むようになる。
【0050】
図8は、U/Iデバイス113から発生されたU/Iアクションを処理する方法の1つの例示的な実施形態800を図解する。特に、図8は、ノード802において開始した後にステップ804が開始される方法を説明し、ステップ804では、システムが、U/Iアクションに関係するU/Iアクションインジケータを受け取る。ステップ804に続くのはステップ806であり、ここでは、システムが、U/Iアクションに関係する新鮮さステータスを受け取る。ステップ806に続くのは、2つのオプション的ステップ808および810である。オプション的ステップ808は、システムが新鮮さステータスに基づいて、U/Iアクションインジケータを選択的に処理することを含む。オプション的ステップ810は、システムが、「現在」の状態を持つ新鮮さステータスに基づいて、U/Iアクションインジケータを選択的に処理することを含む。ステップ810に続くのは、終了ノード812で示される、方法の終了である。
【0051】
さらに、図8は、数多くの付加的なオプション的基準とステップ814、816、818および820とを示す。特にオプション的基準とステップ814、816および818とは、それぞれステップ804を修正し、残りは、ステップ806を修正する。第1のステップ804は、オプション的に修正され(814)、U/Iアクションインジケータ140、142、144、146、148、150、152、154および156がU/Iアクションバッファ116から受け取られる。また、ステップ804は、オプション的に修正され(816)、U/Iアクションはペンアクションである。ステップ804は、オプション的に修正され(818)、方法はポータブルワイヤレスデバイス上で実行される。最後に、ステップ806が修正され(820)、新鮮さステータスは、次の2つの状態:現在および新鮮でない、のうちの1つを持つ。
【0052】
図9は、U/Iデバイス113から発生されたU/Iアクションを処理する方法の1つの例示的な実施形態900を図解する。特に、図9は、ノード902において開始した後にステップ904が開始される方法を説明し、ステップ904では、システムがU/Iアクションに対する新鮮さステータスを発生させる。新鮮さステータスは、U/Iアクションに関係する新鮮さ状態を示している。ステップ904に続くのはステップ906であり、ここでは、システムが新鮮さステータスをU/Iアクションに関係付ける。ステップ906に続くのはオプション的ステップ908であり、ここでは、システムが、U/Iアクションに関係する、新鮮さステータスとU/Iアクションインジケータを記憶させる。オプション的ステップ908に続くのはステップ910であり、ここでは、システムが、処理のためにアプリケーションに対して新鮮さステータスとU/Iアクションをオプション的に提供する。オプション的ステップ910に続くのはステップ912であり、ここでは、システムが、U/Iアクションに関係するU/Iアクションインジケータ140、142、144、146、148、150、152、154および156を受け取る。ステップ912に続くのはステップ914であり、ここでは、システムが新鮮さステータスを受け取る。ステップ914に続くのは、2つのオプション的ステップ916および918である。オプション的ステップ916は、システムが、新鮮さステータスに基づいて、U/Iアクションインジケータ140、142、144、146、148、150、152、154および156を選択的に処理することを含む。オプション的ステップ918は、システムが、「現在」の状態を示す新鮮さステータスの値に基づいて、U/Iアクションインジケータ140、142、144、146、148、150、152、154および156を選択的に処理することを含む。ステップ918に続くのは、終了ノード920で示される、方法の終了である。
【0053】
さらに、図9は、数多くのさらなるオプション的基準とステップ922、924および926とを示す。ステップ904は、オプション的に修正され(922)、新鮮さステータスは、次の2つの状態:現在および新鮮でない、のうちの1つを持つ。ステップ906は、オプション的に修正され(924)、方法は、システムが新鮮さステータスとU/Iアクションインジケータ140、142、144、146、148、150、152、154および156との両方を含む新鮮さアクションインジケータ118を発生させる、付加的ステップを含む。ステップ908は、オプション的に修正され(926)、方法は、システムが新鮮さステータスとU/Iアクションインジケータ140、142、144、146、148、150、152、154および156とをU/Iアクションバッファ116中に記憶させる、付加的なステップを含む。
【0054】
ここで開示されている実施形態に関連して説明している、さまざまな図解的論理ブロック、モジュール、回路、および、アルゴリズムステップは、電子的ハードウェア、コンピュータソフトウェア、または、両方の組み合わせとして実施してもよい。ハードウェアとソフトウェアのこの互換性を明確に図解するため、一般的にそれらの機能性の観点から、さまざまな図解的構成部品、ブロック、モジュール、回路、および、ステップを上で説明した。そのような機能がハードウェアとして、または、ソフトウェアとして実現されるかは、全体のシステムに課される、特定のアプリケーションと設計の制約に依拠する。当業者は、各特定のアプリケーションに対して異なる方法で説明した機能を実現してもよいが、そのような実現の決定は、本発明の範囲からの逸脱を引き起こすものとして解釈すべきではない。
【0055】
ここで開示した実施形態に関連して説明した方法またはアルゴリズムのステップは、ハードウェア中、プロセッサにより実行されるソフトウェアモジュール中、または、2つの組み合わせ中に、直接組み込んでもよい。ソフトウェアモジュールは、RAMメモリ、フラッシュメモリ、ROMメモリ、EPROMメモリ、EEPROMメモリ、レジスタ、ハードディスク、リムーバブルディスク、CD−ROM、または当業者に知られている、他の任意の形態の記憶媒体中に存在してもよい。例示的な記憶媒体はプロセッサに結合され、そのようなプロセッサは記憶媒体から情報を読み出すことができ、記憶媒体に情報を書き込むことができる。代わりに、記憶媒体はプロセッサに統合されていてもよい。プロセッサおよび記憶媒体はASIC中に存在していてもよい。ASICはユーザ端末中に存在していてもよい。代わりに、プロセッサおよび記憶媒体はユーザ端末中にディスクリート構成部品として存在していてもよい。
【0056】
これまでの開示された実施形態の説明は、当業者が本発明を作りまたは利用可能にするために提供された。これらの実施形態に対するさまざまな修正は、当業者にとって容易に明らかになり、ここで定義された包括的原則は、本発明の精神と範囲を逸脱することなく、他の実施形態に適用し得ることが理解されるべきである。したがって、本発明はここに示されている実施形態に制限されることを企図しているものではなく、ここに開示されている原理および新規な特徴と矛盾しない最も広い範囲にしたがうことを企図している。
【図面の簡単な説明】
【0057】
【図1】図1は、U/Iデバイスから発生されたU/Iアクションを処理するためのコンピューティングデバイスの1つの実施形態のブロック図を示す。
【図2】図2は、U/Iデバイスから発生されたU/Iアクションを処理するためのコンピューティングデバイスの1つの実施形態の図を示す。
【図3】図3は、U/Iデバイスから発生されたU/Iアクションを処理するためのコンピューティングデバイスの1つの実施形態に対応する、状態テーブル反映データを示す。
【図4】図4は、U/Iデバイスから発生されたU/Iアクションを処理する方法の1つの実施形態のフローチャートを示す。
【図5】図5は、U/Iデバイスから発生されたU/Iアクションを処理する方法の1つの実施形態のフローチャートを示す。
【図6】図6は、U/Iデバイスから発生されたU/Iアクションを処理する方法の1つの実施形態のフローチャートを示す。
【図7】図7は、アプリケーション状態履歴情報を使用して、単一のアクティブなアプリケーション環境コンピューティングデバイス上でアプリケーションを実行する方法の1つの実施形態のフローチャートを示す。
【図8】図8は、U/Iデバイスから発生されたU/Iアクションを処理する方法の1つの実施形態のフローチャートを示す。
【図9】図9は、U/Iデバイスから発生されたU/Iアクションを処理する方法の1つの実施形態のフローチャートを示す。

【特許請求の範囲】
【請求項1】
ユーザインターフェイスデバイスから発生されるユーザインターフェイスアクションを処理する方法において、
ユーザインターフェイスアクションに対する新鮮さステータスを発生させ、前記新鮮さステータスは、前記ユーザインターフェイスアクションに関係する新鮮さ状態を示すことと、
前記新鮮さステータスを前記ユーザインターフェイスアクションに関係付けることと
を含む方法。
【請求項2】
前記新鮮さステータスは、次の2つの状態:現在および新鮮でない、のうちの1つを示す、請求項1記載の方法。
【請求項3】
前記新鮮さステータスを前記ユーザインターフェイスアクションに関係付けるステップは、前記ユーザインターフェイスアクションに関係する、新鮮さステータスとユーザインターフェイスアクションインジケータの両方を有する、新鮮さアクションインジケータを発生させるステップをさらに含む、請求項1記載の方法。
【請求項4】
前記新鮮さアクションインジケータをユーザインターフェイスアクションバッファ中に記憶させるステップをさらに含む、請求項3記載の方法。
【請求項5】
処理のためにアプリケーションに対して、前記新鮮さステータスと前記ユーザインターフェイスアクションを提供するステップをさらに含む、請求項1記載の方法。
【請求項6】
前記ユーザインターフェイスアクションはペンアクションである、請求項1記載の方法。
【請求項7】
前記方法は、ポータブルワイヤレスデバイス上で実行される、請求項1記載の方法。
【請求項8】
ユーザインターフェイスデバイスから発生されるユーザインターフェイスアクションを処理する方法において、
ユーザインターフェイスアクションに関係するユーザインターフェイスアクションインジケータを受け取ることと、
前記ユーザインターフェイスアクションに関係する新鮮さステータスを受け取ることと
を含む方法。
【請求項9】
前記新鮮さステータスに基づいて、前記ユーザインターフェイスアクションインジケータを選択的に処理するステップをさらに含む、請求項8記載の方法。
【請求項10】
前記新鮮さステータスは、次の2つの状態:現在および新鮮でない、のうちの1つを持つ、請求項8記載の方法。
【請求項11】
前記現在の状態を持つ新鮮さステータスに基づいて、前記ユーザインターフェイスアクションインジケータを選択的に処理するステップをさらに含む、請求項8記載の方法。
【請求項12】
前記ユーザインターフェイスアクションインジケータは、ユーザインターフェイスアクションバッファから受け取られる、請求項8記載の方法。
【請求項13】
前記ユーザインターフェイスアクションはペンアクションである、請求項8記載の方法。
【請求項14】
前記方法は、ポータブルワイヤレスデバイス上で実行される、請求項8記載の方法。
【請求項15】
ユーザインターフェイスデバイスから発生されるユーザインターフェイスアクションを処理する方法において、
ユーザインターフェイスアクションに対する新鮮さステータスを発生させ、前記新鮮さステータスは、前記ユーザインターフェイスアクションに関係する新鮮さ状態を示すことと、
前記新鮮さステータスを前記ユーザインターフェイスアクションに関係付けることと、
前記ユーザインターフェイスアクションに関係するユーザインターフェイスアクションインジケータを受け取ることと、
前記新鮮さステータスを受け取ることと
を含む方法。
【請求項16】
前記新鮮さステータスは、次の2つの状態:現在および新鮮でない、のうちの1つを示す、請求項15記載の方法。
【請求項17】
前記新鮮さステータスと前記ユーザインターフェイスアクションインジケータを記憶させるステップは、前記新鮮さステータスと前記ユーザインターフェイスアクションインジケータをユーザインターフェイスアクションバッファ中に記憶させるステップをさらに含む、請求項15記載の方法。
【請求項18】
前記新鮮さステータスに基づいて、前記ユーザインターフェイスアクションインジケータを選択的に処理するステップをさらに含む、請求項15記載の方法。
【請求項19】
前記現在の状態を示す新鮮さステータスの値に基づいて、前記ユーザインターフェイスアクションコードを選択的に処理するステップをさらに含む、請求項15記載の方法。
【請求項20】
前記新鮮さステータスを前記ユーザインターフェイスアクションに関係付けるステップは、前記新鮮さステータスと前記ユーザインターフェイスアクションインジケータの両方を有する、新鮮さアクションインジケータを発生させるステップをさらに含む、請求項15記載の方法。
【請求項21】
処理のためにアプリケーションに対して、前記新鮮さステータスと前記ユーザインターフェイスアクションを提供するステップをさらに含む、請求項15記載の方法。
【請求項22】
ユーザインターフェイスデバイスから発生されるユーザインターフェイスアクションを処理するコンピューティングデバイスにおいて、
メモリと、
ユーザインターフェイスデバイスからユーザインターフェイスアクション信号を受け取るように構成されたユーザ入出力インターフェイスと、
前記メモリに結合され、前記ユーザインターフェイスアクションに対する前記新鮮さステータスを発生させ、新鮮さアクションインジケータを形成するために前記新鮮さステータスを前記ユーザインターフェイスアクションに関係付けし、処理のためにアプリケーションに対して前記新鮮さアクションインジケータを提供するコードを実行するように動作可能であるプロセッサと
を具備するコンピューティングデバイス。
【請求項23】
前記ユーザインターフェイスアクションはペンアクションである、請求項22記載のコンピューティングデバイス。
【請求項24】
前記コンピューティングデバイスはポータブルワイヤレスデバイスである、請求項22記載のコンピューティングデバイス。
【請求項25】
ユーザインターフェイスデバイスから発生されるユーザインターフェイスアクションを処理するコンピューティングデバイスにおいて、
メモリと、
ユーザ新鮮さアクションインジケータを記憶するように構成されたユーザインターフェイスアクションバッファと、
前記メモリに結合され、ユーザインターフェイスアクションに関係するユーザインターフェイスアクションインジケータを受け取り、前記ユーザインターフェイスアクションに関係する新鮮さステータスを受け取るコードを実行するように動作可能であるプロセッサと
を具備するコンピューティングデバイス。
【請求項26】
前記新鮮さステータスに基づいて、前記ユーザインターフェイスアクションインジケータを選択的に処理するステップをさらに含む、請求項25記載の方法。
【請求項27】
前記ユーザインターフェイスアクションコードは、前記ユーザインターフェイスアクションバッファから受け取られる、請求項25記載の方法。
【請求項28】
前記ユーザインターフェイスアクションはペンアクションである、請求項25記載のコンピューティングデバイス。
【請求項29】
前記コンピューティングデバイスは、ポータブルワイヤレスデバイスである、請求項25記載のコンピューティングデバイス。
【請求項30】
ユーザインターフェイスデバイスから発生されるユーザインターフェイスアクションを処理するコンピューティングデバイスにおいて、
メモリと、
ユーザインターフェイスデバイスからユーザインターフェイスアクション信号を受け取るユーザ入出力インターフェイスと、
前記メモリに結合され、前記ユーザインターフェイスアクションに対する新鮮さステータスを発生させ、新鮮さアクションインジケータを形成するために前記新鮮さステータスを前記ユーザインターフェイスアクションに関係付け、処理のためにアプリケーションに対して前記新鮮さアクションインジケータを提供し、前記ユーザインターフェイスアクションに関係するユーザインターフェイスアクションインジケータを受け取り、前記ユーザインターフェイスアクションに関係する新鮮さステータスを受け取るコードを実行するように動作可能であるプロセッサと
を具備するコンピューティングデバイス。
【請求項31】
前記受け取られた新鮮さコードの値に基づいて、前記ユーザインターフェイスアクションコードを選択的に処理するステップをさらに含む、請求項30記載の方法。
【請求項32】
前記ユーザインターフェイスアクションコードは、ユーザインターフェイスアクションバッファから受け取られる、請求項30記載の方法。
【請求項33】
コンピュータ読取可能媒体に組み込まれたコンピュータプログラムにおいて、
前記コンピュータプログラムは、ユーザインターフェイスデバイスから発生されたユーザインターフェイスアクションを処理することが可能であり、
ユーザインターフェイスアクションに対する新鮮さステータスを発生させるように動作可能であり、前記新鮮さステータスは、前記ユーザインターフェイスアクションに関係する新鮮さ状態を示すコードと、
前記新鮮さステータスを前記ユーザインターフェイスアクションに関係付けるように動作可能なコードと
を含むコンピュータプログラム。
【請求項34】
コンピュータ読取可能媒体に組み込まれたコンピュータプログラムにおいて、
前記コンピュータプログラムは、ユーザインターフェイスデバイスから発生されたユーザインターフェイスアクションを処理可能であり、
ユーザインターフェイスアクションに関係するユーザインターフェイスアクションインジケータを受け取るように動作可能なコードと、
前記ユーザインターフェイスアクションに関係する新鮮さステータスを受け取るように動作可能なコードと
を含むコンピュータプログラム。
【請求項35】
コンピューティングデバイスにおいて、
ユーザインターフェイスアクションに対する新鮮さステータスを発生させ、前記新鮮さステータスは、前記ユーザインターフェイスアクションに関係する新鮮さ状態を示す手段と、
前記新鮮さステータスを前記ユーザインターフェイスアクションに関係付ける手段と
を具備するコンピューティングデバイス。
【請求項36】
コンピューティングデバイスにおいて、
ユーザインターフェイスアクションに関係するユーザインターフェイスアクションインジケータを受け取る手段と、
前記ユーザインターフェイスアクションに関係する新鮮さステータスを受け取る手段と
を具備するコンピューティングデバイス。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公表番号】特表2008−500649(P2008−500649A)
【公表日】平成20年1月10日(2008.1.10)
【国際特許分類】
【出願番号】特願2007−515376(P2007−515376)
【出願日】平成17年5月26日(2005.5.26)
【国際出願番号】PCT/US2005/018674
【国際公開番号】WO2005/119414
【国際公開日】平成17年12月15日(2005.12.15)
【出願人】(595020643)クゥアルコム・インコーポレイテッド (7,166)
【氏名又は名称原語表記】QUALCOMM INCORPORATED
【Fターム(参考)】