(57)【特許請求の範囲】
【請求項１】
デバイス上のタッチセンサからタッチセンサデータを、及びポジションセンサから前記デバイスの動きを示すポジションデータを受け取り、メモリに入れるステップと、
処理デバイスが、前記タッチセンサへのコンタクトの動きを、前記ポジションセンサにより示された前記デバイスの動きと比較して、比較結果を提供するステップと、
前記比較結果に基づき前記タッチセンサへのコンタクトに関する情報を提供するステップとを有する、
方法。
【請求項２】
コンタクトの動きが前記ポジションセンサにより示された前記デバイスの動きと同じ方向であるとき、前記コンタクトの動きは意図的なものとして表示される、請求項１に記載の方法。
【請求項３】
コンタクトの動きが前記ポジションセンサにより示された前記デバイスの動きと反対方向であるとき、前記コンタクトの動きは偶発的なものとして表示される、請求項１に記載の方法。
【請求項４】
前記受け取られるポジションセンサデータは前記デバイスの動きの方向と大きさを記述するデータを含む、請求項１に記載の方法。
【請求項５】
マルチタッチポインティングデバイスであって、
タッチセンサとのコンタクトを示す出力を有する、前記ポインティングデバイス上の前記タッチセンサと、
前記ポインティングデバイスの動きを示す出力を有するポジションセンサと、
前記タッチセンサと前記ポジションセンサの出力を受け取るように接続された入力を有し、同じ時間フレームの前記ポジションセンサの出力と前記タッチセンサの出力とに関する情報を同期して、前記マルチタッチポインティングデバイスの出力を提供する処理デバイスとを有する、
マルチタッチポインティングデバイス。
【請求項６】
前記処理デバイスは、
第１のサンプル時間のポジションセンサデータを受け取る第１の入力と、第２のサンプル時間のポジションセンサデータを受け取る第２の入力と、前記ポジションセンサにより示されるポインティングデバイスの動きの方向の符号化を提供する出力とを有する動き計算器と、
前記タッチセンサの出力を受け取る第１の入力と、同じ時間フレームの前記動き計算器の出力を受け取る第２の入力と、前記同期された入力を前記マルチタッチポインティングデバイスの出力として提供する出力とを有する同期モジュールとを有する、
請求項５に記載のマルチタッチポインティングデバイス。
【請求項７】
前記動き計算器の出力は前記ポインティングデバイスの動きの方向と大きさを符号化する、請求項６に記載のマルチタッチポインティングデバイス。
【請求項８】
入力デバイス上のタッチセンサへのコンタクトの動きを記述する情報と、前記入力デバイス上のポジションセンサにより示される前記入力デバイスの動きを記述する情報とを記憶するメモリと、
前記タッチセンサへのコンタクトの動きを記述する情報を受け取る第１の入力と、前記ポジションセンサから前記入力デバイスの動きを記述する情報を受け取る第２の入力と、比較結果を提供する出力とを有する比較器を含む処理デバイスとを有する、
コンピューティングマシン。
【請求項９】
コンタクトの動きが前記ポジションセンサにより示される入力デバイスの動きと同じ方向であるとき、前記コンタクトの動きは意図的なものとして表示される、請求項８に記載のコンピューティングマシン。
【請求項１０】
コンタクトの動きが前記ポジションセンサにより示される入力デバイスの動きと反対方向であるとき、前記コンタクトの動きは偶発的なものとして表示される、請求項８に記載のコンピューティングマシン。
【発明の詳細な説明】
【背景技術】
【０００１】
マルチタッチポインティングデバイスと呼ばれるコンピュータ入力デバイスのクラスは、ポジションセンサとタッチセンサの両方を有するデバイスを含む。典型的なマウスのように、ユーザはデバイスを持って動かし、ポジション入力をする。また、ユーザはデバイスのタッチセンサにタッチしてタッチ入力をする。タッチ入力はジェスチャとして解釈できる。ポジション入力と、タッチ入力と、場合によってジェスチャとに関する情報はアプリケーションに入力として提供される。
【発明の概要】
【０００２】
本欄では、発明の詳細な説明で詳しく説明するコンセプトの一部を選んで、簡単に説明する。本欄は、特許を請求する主題の重要な特徴や本質的な特徴を特定するものではなく、特許を請求する主題の範囲を限定するものでもない。
【０００３】
ユーザは、マルチタッチポインティングデバイスにタッチして、それを動かし、タッチセンサにタッチ入力を提供するので、意図的なコンタクトを偶発的なコンタクトからの動きとタッチセンサ上での動きを曖昧性除去（disambiguate）することは困難な場合がある。
【０００４】
例えば、ユーザがジェスチャの一部として指でストロークをした場合、タッチセンサへのそのコンタクトと動きは意図的なものである。しかし、ユーザがマウスを動かした時にユーザの指先がタッチセンサ上で回転した場合、タッチセンサへのコンタクトと動きは偶発的なものであるが、タッチセンサにはコンタクトと動きとして見える。
【０００５】
マルチタッチポインティングデバイスにおける意図的な指のコンタクトと動きと、偶発的なものとの間の曖昧性をはっきりさせなければ、多くの意図しないジェスチャが間違って通知され、かかるジェスチャに依存するアプリケーションのユーザ体験は悪くなる。マルチタッチポインティングデバイスがタッチセンサを有するマウスである場合に、この問題は悪化する。多くのユーザが手首を表面に付けたままマウスを操作し、指先でマウスをプッシュするからである。この種のマウスの操作により指先の回転運動が生じ、タッチセンサにはコンタクトの動きとして見える。
【０００６】
意図的な指の接触と動きと、偶発的なものとの曖昧性除去（disambiguating）を支援するため、コンピュータは、ポジションディテクタからの動きに対する、タッチセンサへの接触の相対的な動きを用いる。例えば、タッチセンサにおいて検出された接触の動きが、ポジションセンサの動きと同じ方向であれば、タッチセンサにおけるコンタクトと動きは意図的なものである可能性が高い。しかし、タッチセンサにおいて検出された接触の動きが、ポジションセンサの動きとが反対方向であれば、タッチセンサにおけるコンタクトと動きは偶発的なものである可能性が高い。
【０００７】
相対的動きの処理と、ポジションセンサデータとタッチセンサデータの両方に対して他の計算を行わせるため、マルチタッチポジションセンサは、同期されたポジションセンサ及びタッチセンサデータをコンピュータに提供する。一実施形態では、入力デバイスはポジションセンサの動きの大きさと方向を符号化して、それを同じ時間フレームのタッチセンサデータと結合して、同期されたデータを例えばコンピュータに出力する。
【０００８】
一態様では、コンピューティングマシンは、タッチセンサとポジションセンサを有する入力デバイスを有する。メモリは、入力デバイスから、タッチセンサへのコンタクトの動きを記述する情報と、ポジションセンサの動きを記述する情報とを記憶する。処理デバイスは、前記タッチセンサへのコンタクトの動きを記述する情報を受け取る第１の入力と、前記ポジションセンサの動きを記述する情報を受け取る第２の入力と、比較結果を提供する出力とを有する比較器を含む。比較結果は、コンタクトの動きが偶発的か意図的か決定するために、アプリケーションにより使われる。
【０００９】
他の一態様では、製品はコンピュータ記憶媒体と、そのコンピュータ記憶媒体に記憶されたコンピュータプログラム命令とを含む。かかる命令は、処理デバイスにより処理されると、処理デバイスに方法を実行するように命じる。この方法は、タッチセンサからタッチセンサデータを、ポジションセンサからポジションデータを受け取り、メモリに入れるステップを含む。処理デバイスは、処理デバイスが、前記タッチセンサへのコンタクトの動きを、前記ポジションセンサの動きと比較して、比較結果を提供する。
【００１０】
他の一態様では、コンピュータで実施される方法は、タッチセンサからタッチセンサデータを、ポジションセンサからポジションデータを受け取り、メモリに入れるステップを含む。処理デバイスは、処理デバイスが、前記タッチセンサへのコンタクトの動きを、前記ポジションセンサの動きと比較して、比較結果を提供する。
【００１１】
ある実施形態では、コンタクトの動きが前記ポジションセンサの動きと同じ方向であるとき、前記コンタクトの動きを意図的であるの表示をすることができる。コンタクトの動きが前記ポジションセンサの動きと反対方向であるとき、前記コンタクトの動きを偶発的であるの表示をすることができる。受け取られるタッチセンサデータとポジションデータは同じ時間フレームのものであることが好ましい。受け取られるポジションセンサデータは、ポジションセンサの動きの方向と大きさを記述するデータであってもよい。
【００１２】
他の一態様では、マルチタッチポインティングデバイスは、出力を有するタッチセンサと、出力を有するポジションセンサと、処理デバイスとを含む。処理デバイスは、同じ時間フレームの、ポジションセンサの出力とタッチセンサの出力とに関する情報を同期させて、マルチタッチポインティングデバイスの出力を提供する。一実施形態では、処理デバイスは動き計算器と同期モジュールとを含む。動き計算器は、第１のサンプル時間の前記ポジションセンサデータを受け取る第１の入力と、第２のサンプル時間の前記ポジションセンサデータを受け取る第２の入力と、前記ポジションセンサの動きの方向の符号化を提供する出力とを有する。同期モジュールは、前記タッチセンサの出力を受け取る第１の入力と、前記動き計算器の出力を受け取る第２の入力と、マルチタッチポインティングデバイスの出力を提供する出力とを有する。一実施形態では、タッチセンサデータとポジションセンサデータとは出力として提供される。他の一実施形態では、ポジションセンサの動きとタッチセンサデータとが出力として提供される。
【００１３】
以下の説明では、本開示の一部を構成する、具体的な実施例を例示として示す添付図面を参照する。言うまでもなく、本開示の範囲から逸脱することなく、他の実施形態を考えることができる。
【図面の簡単な説明】
【００１４】
【図１】マルチタッチポインティングデバイスを利用し得る動作環境例を示すブロック図である。
【図２】意図的及び偶発的な接触と動きの曖昧性除去の実施例を示すデータフロー図である。
【図３】図２の動きデータがどう求められるかの実施例を示すデータフロー図である。
【図４】ポジションセンサデータの符号化の例を示す図である。
【図５】入力デバイスの一例の動作を示すフローチャートである。
【図６】入力デバイスを用いるコンピュータの動作例を示すフローチャートである。
【図７】かかるシステムを実施できるコンピューティングマシンを示すブロック図である。
【発明を実施するための形態】
【００１５】
以下のセクションでは、かかるマルチタッチポインティングデバイスを利用できる動作環境を説明する。
【００１６】
図１を参照するが、コンピュータ１２０上で実行されているアプリケーション１００が、マルチタッチポインティングデバイス１０２からのユ―ザ入力に応答する。デバイス１０２は、コンピュータ１２０に、ポジションセンサデータ及びタッチセンサデータ１０４を提供する。コンピュータ１２０は、曖昧性除去モジュール１０６を含む。この曖昧性除去モジュール１０６は、一般的には、コンピュータ１２０上でユーザレベルプロセスとして実行されているデバイス１０２のダイナミックリンクライブラリ（dynamically-linked  library）内にインプリメントされている。デバイス１０２がヒューマンインタフェースデバイス（ＨＩＤ）クラスのユニバーサルシリアルバス（ＵＳＢ）デバイスである一実施形態では、このライブラリは、そのクラスのデバイスのためのドライバにより提供されるデータを受け取る。曖昧性除去モジュール１０６は、デバイス１０２からデータ１０４を受け取り、コンタクト情報１０８を提供する。コンタクト情報１０８は、タッチセンサにおける意図的な接触と動きであるとコンピュータが考えるものを示す。コンタクト情報１０８は、少なくとも部分的には、ポジションセンサの動きの方向と大きさ（magnitude）を用いて、タッチセンサ上の接触と動きの意図的なものと偶発的なものとの曖昧性除去に基づく。
【００１７】
意図的な指の接触と動きと、偶発的なものとの曖昧性除去（disambiguating）を支援するため、曖昧性除去モジュールは、ポジションディテクタからの動きに対する、タッチセンサへの接触の相対的な動きを用いる。例えば、タッチセンサにおいて検出された接触の動きが、ポジションセンサの動きと同じ方向であれば、タッチセンサにおける接触運動（contact  motion）は意図的なものである可能性が高い。しかし、タッチセンサにおいて検出された接触の動きが、ポジションセンサの動きとが反対方向であれば、タッチセンサにおける接触運動（contact  motion）は偶発的なものである可能性が高い。
【００１８】
このコンテキストにおいて、図２、図３および図４を参照して、曖昧性除去モジュール１０６の実施例をより詳細に説明する。この実施形態では、曖昧性除去モジュールは、コンピュータ上でユーザレベルプロセスとして実行されるコンピュータプログラムとして実施される。このモジュールは、ポジションセンサからの動きデータとタッチセンサデータとを処理する。他のインプリメンテーションも可能である。例えば、曖昧性除去モジュールは入力デバイス自体にあってもよい。かかる一インプリメンテーションでは、入力デバイスは、曖昧性除去モジュールをインプリメントするファームウェアを処理デバイス中に含む。このモジュールは、タッチセンサ情報と、タッチセンサとポジションセンサにおける接触間の相対的な動きを示すその他のデータとを提供する。
【００１９】
図２において、比較器２００は、タッチセンサへの接触の動きを記述する情報２０２を受け取る第１の入力を有する。この情報は、例えば、タッチセンサへの接触を特定する接触検出アルゴリズムの出力である。接触は、識別子により、及びｘ、ｙ座標またはその他の記述（例えば、囲みボックス、画素重み、画素数、またはその他の接触の特徴）により、特徴付けできる。第２の入力は、ポジションセンサの動きを記述する情報２０４を受け取る。ポジションセンサの動きを記述する情報は、例えば、動きの方向と大きさである。あるいは、この情報は、ポジションセンサの動きを計算できるどんなデータであってもよく、例えば現在の及び以前のポジションデータであってもよい。比較器は複数の方法で比較を実施できる。接触の動き（contact  motion）とポジションセンサの動きに適用して接触とポジションセンサが同じ方向に動いているか、反対の方向に動いているか判断できる数学的関数を用いることができる。例えば、方向の違いが閾値内にある場合、方向は同じであると見なせる。他の一例として、ｘ軸とｙ軸の動きの方向の符号を比較できる。他の一インプリメンテーションでは、接触の動きをポジションセンサの動きで調整してもよい。すなわち、ポジションセンサの動きを接触の動きから減算してもよい。比較器２００の出力は比較結果２０６である。
【００２０】
ポジションセンサの動きと、タッチセンサへの接触の動きとを表す入力は、複数の方法で求めることができる。一実施例を図３に示した。
【００２１】
図３は、入力デバイスにおけるポジションセンサとタッチセンサからのデータを処理するデータフロー図である。この実施例では、コンタクト処理モジュール３２０はコンピュータにあり、他のモジュールは入力デバイスにある。
【００２２】
入力デバイスにおいて、３００、３０２で示したように、時刻XとX-１にポジションセンサからの生ポジションが記憶される。異なる２つの時点のポジションデータを用いて、動き計算器３０４により動きを計算できる。動き計算器は、様々な方法で実施でき、３０６で示したように、ポジションセンサにより検出された、動きの大きさと方向などの動きを記述する情報を提供できる。同期モジュール３１０は、動きデータを、同じ時間フレームのタッチセンサデータ３０８と同期して、同期されたタッチセンサ・ポジションセンサデータ３１２を提供する。
【００２３】
同期モジュール３１０の目的のひとつは、コンピュータが同じ時間フレームのポジションセンサデータとタッチセンサデータを受け取るようにすることである。時間フレームは、ポジションセンサの動きを計算する時間（period  of  time）である。この時間フレーム中に取得されたタッチセンサデータは、同じ時間フレーム内にある。同じ時間フレームの動き情報とタッチセンサ情報とを同期することにより、それらの相対的な方向と大きさを比較できる。コンピュータにおいて、コンタクト処理モジュール３２０は、同期されたタッチセンサ・ポジションセンサデータ３１２を受け取る入力と、曖昧性除去されたコンタクトモーション３２２を提供する出力とを有する。一例として、このコンタクト処理モジュール３２０は、図２のデータフロー図による比較器を含むように実施することもできる。各コンタクトに対して、比較器情報を用いて、コンタクトの動きが偶発的なものか意図的なものか示すことができる。
【００２４】
かかるコンタクト曖昧性除去（contact  disambiguation）の動作例を概説したので、ここで具体例を説明する。
【００２５】
ポジションセンサの動き情報を、同じ時間フレームのタッチセンサデータと同期するように、提供する様々な方法がある。以下に説明する一例では、時間Ｘにおける動きの大きさと方向は値として符号化され、タッチセンサデータと結合されて、その後入力デバイスからコンピュータに送信される。
【００２６】
具体的な実施形態では、５×５ピクセルで１ピクセルあたり４ビットデータのタッチセンサにより、１００ビットのタッチセンサデータが提供される。タッチセンサデータを記憶する１３バイト中、さらに４ビットデータを利用できる。ポジションセンサデータはこれらの４ビットで符号化できる。ポジションセンサデータとタッチセンサデータとを表すのに用いるビット数は、タッチセンサの分解能（すなわち、ピクセル数とピクセル深度）と、ポジションセンサ情報の望ましいフォーマット及び分解能と、入力デバイスからホストに送信できるビット数とに依存する。
【００２７】
例えば、図４に示したように、ポジションセンサの動きは、２つのバイナリ値により符号化できる方向と、２ビットで符号化できる速度を表す大きさとにより表され、値０は動きが無いことを表す。方向は、方向が原点から負の向きか正の向きかを表す値と、方向が主としてｘ軸上かｙ軸上にあるか表す他の値とにより符号化される。例えば、主として正のＹ軸方向（クアドラント０）の動きの場合、２つのバイナリ値は、例えば負方向＝０、X軸＝０であり、これは大きさ値と結合され、例えば、１６進数フォーマットで０ｘ０、０ｘ１、０ｘ２、または０ｘ３という値になる。ポジションセンサの動きが主として正のＸ軸方向（クアドラント１）である場合、２つのバイナリ値は、例えば負方向＝０、X軸＝１であり、これは大きさ値と結合され、例えば、０ｘ４、０ｘ５、０ｘ６、または０ｘ７という値になる。ポジションセンサの動きが主として負のＹ軸方向（クアドラント２）である場合、２つのバイナリ値は、例えば負方向＝１、X軸＝０であり、これは大きさ値と結合され、例えば、０ｘ８、０ｘ９、０ｘA、または０ｘBという値になる。ポジションセンサの動きが主として負のX軸方向（クアドラント３）である場合、２つのバイナリ値は、例えば負方向＝１、X軸＝１であり、これは大きさ値と結合され、例えば、０ｘC、０ｘD、０ｘE、または０ｘFという値になる。
【００２８】
表１は、タッチセンサデータのバイトの最後の４ビット中の位置データの符号化を表す。
【００２９】
【表１】
0006038893.tif 000002
ここで図５を参照し、入力デバイス例の同左例を説明する。ポジションセンサデータとタッチセンサデータをサンプリングする（５００）。例えば、これには規則的な時間間隔でポジションセンサとタッチセンサとのそれぞれにより提供される出力を定期的にサンプリングすることが含まれる。位置データに関する情報は、ポジションセンサデータ自体、または符号化された方向と大きさなどのポジションセンサデータから得られた情報を含んでも良く、同じ時間フレームのタッチセンサデータと結合される（５０２）。結合されたデータはコンピュータに送信される（５０４）。例えば、これはシリアルバス、無線接続、または入力デバイスとコンピュータとの間のその他のインタフェースにより送信できる。
【００３０】
ここで図６を参照し、コンピュータが、入力デバイスとコンピュータとの間のインタフェースにより、結合されたポジション及びタッチセンサデータを受信する（６００）。コンピュータがデータを抽出し、そのデータを処理する（ドライバなどの）アプリケーションにアクセス可能なメモリに記憶する。タッチセンサデータを処理して（６０２）、タッチセンサへの接触を特定し、そうでなければタッチセンサへの接触を特徴付ける。具体的には、タッチsenseへの各接触の明らかな動きを求めることができる。上記のように、ポジションセンサとタッチセンサへの接触との相対的な動きを比較して（６０４）、意図的な動きと偶発的な動きとを曖昧性除去する。タッチセンサへの接触の動きに関連する値を記憶して、この結論を示す。
【００３１】
実施例を説明したので、かかるシステムが動作するように設計されたコンピューティング環境を説明する。以下の説明は、このシステムを実施できる好適なコンピューティング環境の簡単な一般的説明するものである。本システムは、多数の汎用または特定用途のコンピューティングハードウェア構成で実施することができる。好適な周知のコンピューティングデバイスの例には、限定ではなく、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルドまたはラップトップデバイス（例えば、メディアプレーヤ、ノートブックコンピュータ、セルラー電話、パーソナルデジタルアシスタント、ボイスレコーダ）、マルチプロセッサシステム、マイクロプロセッサベースシステム、セットトップボックス、ゲームコンソール、プログラマブルコンシューマエレクトロニクス、ネットワークＰＣ、ミニコンピュータ、メインフレームコンピュータ、上記のシステムまたはデバイスのいずれかを含む分散コンピューティング環境などが含まれる。
【００３２】
図７は、好適なコンピューティング環境の一例を示す。上記のコンピューティングシステム環境は、好適なコンピューティング環境の単なる一例であって、かかるコンピューティング環境の利用や機能の範囲に関する限定を示唆するものではない。どのコンピューティング環境も、上記の動作環境に示したコンポーネントのどれかまたはその組合せに依存するまたは必要とすると解してはならない。
【００３３】
図７を参照し、コンピューティング環境例はコンピューティングマシン７００などのコンピューティングマシンを含む。最も基本的な構成では、コンピューティングマシン７００は少なくとも１つの処理ユニット７０２とメモリ７０４を含む。コンピューティングデバイスは、複数の処理ユニット及び／または追加的なグラフィックス処理ユニット７２０などのコ・プロセッシングユニット（co-processing  units）を含む。コンピューティングデバイスの構成とタイプに応じて、メモリ７０４は、（ＲＡＭなどの）揮発性であっても、（ＲＯＭやフラッシュメモリなどの）不揮発性であっても、これらの組合せであってもよい。この最も基本的な構成を図７において破線７０６で示した。また、コンピューティングマシン７００は、追加的特徴や機能を有していてもよい。例えば、コンピューティングマシン７００は、磁気または光学のディスクまたはテープなどを含むがこれらに限定されない（リムーバブル及び／または非リムーバブルの）追加的な記憶も含み得る。かかる追加的記憶は、図７において、リムーバブル記憶７０８及び非リムーバブル記憶７１０により示されている。コンピュータ記憶媒体には、コンピュータプログラム命令、データ構造、プログラムモジュールその他のデータなどの情報を記憶するための任意の方法や技術で実施された、揮発性および不揮発性、リムーバブルまたは非リムーバブルの媒体を含む。メモリ７０４、リムーバブル記憶７０８、及び非リムーバブル記憶７１０は、すべてコンピュータ記憶媒体の例である。コンピュータ記憶媒体は、ＲＡＭ、ＲＯＭ、ＥＥＰＲＯＭ、フラッシュメモリその他のメモリ技術、ＣＤ−ＲＯＭ、デジタルバーサタイルディスク（ＤＶＤ）その他の光ディスク記憶媒体、磁気カセット、磁気テープ、磁気ディスク記憶その他の磁気記憶デバイス、またはその他の、所望の情報の記憶に使え、コンピューティングマシン７００によりアクセスできる任意の媒体を含むが、これらに限定されない。かかるコンピュータ記憶媒体はコンピューティングマシン７００の一部であり得る。
【００３４】
コンピューティングマシン７００は、デバイスが他のデバイスと通信できるようにする通信接続７１２も含み得る。通信接続７１２は通信媒体の一例である。通信媒体は、一般的に、キャリア波などの変調データ信号やその他の伝送メカニズム中のコンピュータプログラム命令、データ構造、プログラムモジュールその他のデータを担い、任意の情報配信媒体を含む。「変調データ信号」との用語は、情報を信号にエンコードするように設定または変更された特徴を有し、信号を受信するデバイスの構成や状態を変化させる信号を意味する。限定でなく例示として、通信媒体は、優先ネットワークや直接優先接続などの有線媒体と、音響、ＲＦ、赤外線、その他の無線媒体などの無線媒体とを含む。
【００３５】
コンピューティングマシン７００は、ディスプレイ、キーボード、マウス、ペン、カメラ、タッチ入力デバイスなどの様々な入力デバイス７１４を有する。スピーカ、プリンタなどの出力デバイス７１６を含んでいてもよい。これらのデバイスはすべて本技術分野で周知であり、これ以上説明する必要はない。
【００３６】
システムは、コンピューティングマシンにより処理される、プログラムモジュールなどのコンピュータ実行可能命令及び／またはコンピュータインタープリタ命令を含むソフトウェアの一般的なコンテキストで実施することもできる。一般的に、プログラムモジュールには、処理ユニットにより処理されたときに、あるタスクを実行したり、ある抽象的データタイプをインプリメントするように処理ユニットに命令する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などが含まれる。このシステムは、通信ネットワークによりリンクされたリモート処理装置によりタスクが実行される分散計算環境で実施することもできる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶デバイスを含むローカル及びリモートのコンピュータ記憶媒体の両方に配置できる。
【００３７】
添付した請求項のプリアンブルの「製品」、「方法」、「マシン」、及び「物質組成」との用語は、請求項を、米国特許法第１０１条におけるこれらの用語の使用により画定される保護対象の主題の範囲内になるように限定するものである。
【００３８】
ここに説明した実施形態を必要に応じて組み合わせて、追加的なハイブリッドの実施形態を構成することもできる。言うまでもなく、添付した請求項で画定した主題は、上記の具体的な実施形態に必ずしも限定されない。上記の具体的な実施形態は単に例として開示したものである。
【図１】
0006038893.tif 000003
【図２】
0006038893.tif 000004
【図３】
0006038893.tif 000005
【図４】
0006038893.tif 000006
【図５】
0006038893.tif 000007
【図６】
0006038893.tif 000008
【図７】
0006038893.tif 000009