JP2014507726A - マルチモーダルタッチスクリーン対話装置、方法、及び、システム - Google Patents
マルチモーダルタッチスクリーン対話装置、方法、及び、システム Download PDFInfo
- Publication number
- JP2014507726A JP2014507726A JP2013552739A JP2013552739A JP2014507726A JP 2014507726 A JP2014507726 A JP 2014507726A JP 2013552739 A JP2013552739 A JP 2013552739A JP 2013552739 A JP2013552739 A JP 2013552739A JP 2014507726 A JP2014507726 A JP 2014507726A
- Authority
- JP
- Japan
- Prior art keywords
- user
- touch
- processor
- gesture
- mti
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
- G06F3/0488—Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/0354—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor with detection of 2D relative movements between the device, or an operating part thereof, and a plane or surface, e.g. 2D mice, trackballs, pens or pucks
- G06F3/03545—Pens or stylus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Abstract
マルチモーダルタッチスクリーン対話装置、方法、及び、システム(MTI)は、複数ユーザによる、マルチモーダルなタッチスクリーンを介したジェスチャー入力をMTIコンポーネントを介して変換し、ユーザによりカスタマイズされた計算結果を表示する。一実装例において、MTIはタッチスクリーン上のユーザタッチイベントの情報を含むセンサ信号を、タッチスクリーンセンサから取得する。MTIは当該センサ信号からユーザタッチイベントの位置座標を決定する。MTIは当該センサ信号からユーザタッチイベントのタッチ種別を識別し、ユーザタッチイベントのタッチ種別を用いてユーザタッチスクリーンジェスチャーを決定する。MTIはメモリから、当該ユーザタッチスクリーンジェスチャーと関連付けられたユーザコマンドを検索し、プロセッサを介して、当該ユーザコマンドを実行する。
【選択図】図1A
【選択図】図1A
Description
この特許に係る特許証開示文書は、種々の新規な革新(以下において、「開示」という。)を含む発明の側面を記載しており、且つ、著作権、マスクワーク、及び/又は、その他知的財産の保護を受ける内容を含んでいる。当該知的財産の夫々の所有者は、何人かが当該開示を複製することにつき、それが公開された特許庁のファイル/記録に存する限りにおいて、異議を有さないものとするが、そうでない場合は全ての権利を留保する。
優先権主張クレーム
この出願は、「APPARATUSES, METHODS AND SYSTEMS FOR MULTIMODAL INTERACTIONS WITH LASER LIGHT PLANE TOUCH SCREENS」と題する2011年2月8日に出願された米国特許仮出願第61/440,591号(代理人整理番号21445−002PV)に対し、米国特許法第119条に基づく優先権を主張するものであり、上記出願の全体が引用により本願に明示的に組み込まれる。
この出願は、「APPARATUSES, METHODS AND SYSTEMS FOR MULTIMODAL INTERACTIONS WITH LASER LIGHT PLANE TOUCH SCREENS」と題する2011年2月8日に出願された米国特許仮出願第61/440,591号(代理人整理番号21445−002PV)に対し、米国特許法第119条に基づく優先権を主張するものであり、上記出願の全体が引用により本願に明示的に組み込まれる。
本願に係る革新技術は、一般に、人とコンピュータの対話のための装置、方法、及びシステムに関し、特に、タッチスクリーンを介したマルチモーダル対話(MULTIMODAL TOUCHSCREEN INTERACTION、以降「MTI」と称する)のための装置、方法、及びシステムを含む。
電子ディスプレイは、ユーザに視覚情報を提供する。いくつかのコンピュータシステムは、電子ディスプレイにより提供される視覚情報に従って、ユーザに入力を提供する仕組みを備えている。例えば、コンピュータシステムはタッチスクリーンを含んでいてもよい。ユーザは、コンピュータシステムへの入力を提供する仕組みとして、タッチスクリーンの一部領域に圧力を加える。
添付の別表、及び/又は、図面は、本開示の下で、種々の限定されない発明の側面を例示するものである。
MTIのいくつかの実施形態において、タッチスクリーンを介したマルチモーダル対話の例を示すブロック図である。
MTIのいくつかの実施形態において、タッチスクリーンを介したマルチモーダル対話の例を示すブロック図である。
MTIのいくつかの実施形態において、マルチモーダルタッチセンシングの例を示すブロック図である。
MTIのいくつかの実施形態において、マルチモーダルタッチセンシングの例を示すブロック図である。
MTIのいくつかの実施形態において、マルチモーダルタッチセンシングの例を示すブロック図である。
MTIのいくつかの実施形態において、マルチモーダルタッチセンシングの例を示すブロック図である。
MTIのいくつかの実施形態において、光ベースのタッチ入力認識の一例を示すブロック図である。
MTIのいくつかの実施形態において、マルチモーダルタッチ処理(MTP)の一例(例えば、マルチモーダルタッチ処理部400)を示す論理フロー図である。
MTIのいくつかの実施形態において、マルチモーダルタッチ処理(MTP)の一例(例えば、マルチモーダルタッチ処理部400)を示す論理フロー図である。
MTIのいくつかの実施形態において、タッチ座標決定(TCD)の一例(例えば、タッチ座標決定部500)を示す論理フロー図である。
MTIのいくつかの実施形態において、タッチ種別識別(TTP)の一例(例えば、タッチ種別識別部600)を示す論理フロー図である。
MTIのいくつかの実施形態において、タッチグループ解析(TGR)の一例(例えば、タッチグループ解析部700)を示す論理フロー図である。
MTIのいくつかの実施形態において、タッチグループ解析(TGR)の一例(例えば、タッチグループ解析部700)を示す論理フロー図である。
MTIコントローラの実施形態を示すブロック図である。
図中に示す参照符号の最初の番号は、夫々、当該参照符号が導入される、及び/又は、詳細に説明される図番号を表している。つまり、参照符号101についての詳細な説明は図1中にあり、及び/又は、図1において導入される。参照符号201は図2において導入される。
〈マルチモーダルタッチスクリーン対話(MTI)〉
マルチモーダルタッチスクリーン対話装置、方法、及び、システム(MTI)は、複数ユーザによる、マルチモーダルなタッチスクリーンを介したジェスチャー入力を変換し、ユーザによりカスタマイズされた計算結果を表示する。図1A−Bに、MTIのいくつかの実施形態において、タッチスクリーンを介したマルチモーダル対話の例を示すブロック図を示す。図1Aを参照すると、いくつかの実施形態において、MTIはタッチスクリーン100を備える。例えば、ユーザが、MTIにより提供されるディスプレイに、指又は手、又はスタイラス(タッチペン)のような物体でタッチする構成としてもよい。タッチスクリーンは、視覚的表示を行う電子ディスプレイであってもよく、表示領域内におけるタッチとその位置を検出し、検出されたタッチを処理された対話に変換し、結果を表示することができる。MTIは、それによって仮想オーバレイまたは表面がユーザ入力を受け取る仕組みを提供してもよい。ユーザ入力は、備えられた、又はディスプレイをホスティングする所定の表面に入り、対話又はタッチする。いくつかの実装では、タッチスクリーンは、タッチスクリーンまたはその周辺の僅かな物理的な周辺環境の変化を検知するように設計されたセンサが輪郭に設けられた、或いは当該センサで支持されたフレームを備えてもよい。センサは、定義された表面上における種々の対象物との接触を、空間的、及び時間的に検知、追跡してもよい。いくつかの実装では、タッチスクリーン面は、例えば液晶ディスプレイ(LCD)、プラズマディスプレイ、背面投影、Light-Emitting-Diode(LED)、Organic Light-Emitting-Diode(OLED)、及び/又は、これらと同種のデジタルディスプレイ上のオーバレイを含んでいてもよいが、これらに限られるものではない。他に、非デジタルディスプレイとして、例えば、不規則形状の或いは曲面の壁面をタッチスクリーン面として具現化することもできる。いくつかの実施形態では、MTIは、一のディスプレイ上の二以上の異なるタッチイベントを同時に検知し、解釈するように設計されたマルチタッチスクリーンを提供してもよい。当該マルチタッチスクリーンは、二本以上の指によって実現される様々なジェスチャーを解釈することができるものを含む。MTIは、ここで議論される様々なタッチ検出方式及び追跡方式の何れかを用いてマルチタッチ・タッチスクリーンを実装してよい。これにより、MTIはジェスチャー解釈が可能となり、表示された内容に対し、多種の上等で洗練されたユーザ対話を提供する。いくつかの実施形態では、MTIは、単一のユーザによる単一種類の入力(例えば、スタイラス入力101a、指入力101bなど)を提供する。いくつかの実施形態では、MTIは、単一のユーザによる複数の入力タッチの同時入力(例えば、複数のスタイラス入力101c、スタイラスと指のハイブリッド入力101d、複数指による入力101e、複数手と複数指による入力101f、複数指とスタイラスによるハイブリッド入力101g、及び/又は、同様の組み合わせ等)を提供する。
マルチモーダルタッチスクリーン対話装置、方法、及び、システム(MTI)は、複数ユーザによる、マルチモーダルなタッチスクリーンを介したジェスチャー入力を変換し、ユーザによりカスタマイズされた計算結果を表示する。図1A−Bに、MTIのいくつかの実施形態において、タッチスクリーンを介したマルチモーダル対話の例を示すブロック図を示す。図1Aを参照すると、いくつかの実施形態において、MTIはタッチスクリーン100を備える。例えば、ユーザが、MTIにより提供されるディスプレイに、指又は手、又はスタイラス(タッチペン)のような物体でタッチする構成としてもよい。タッチスクリーンは、視覚的表示を行う電子ディスプレイであってもよく、表示領域内におけるタッチとその位置を検出し、検出されたタッチを処理された対話に変換し、結果を表示することができる。MTIは、それによって仮想オーバレイまたは表面がユーザ入力を受け取る仕組みを提供してもよい。ユーザ入力は、備えられた、又はディスプレイをホスティングする所定の表面に入り、対話又はタッチする。いくつかの実装では、タッチスクリーンは、タッチスクリーンまたはその周辺の僅かな物理的な周辺環境の変化を検知するように設計されたセンサが輪郭に設けられた、或いは当該センサで支持されたフレームを備えてもよい。センサは、定義された表面上における種々の対象物との接触を、空間的、及び時間的に検知、追跡してもよい。いくつかの実装では、タッチスクリーン面は、例えば液晶ディスプレイ(LCD)、プラズマディスプレイ、背面投影、Light-Emitting-Diode(LED)、Organic Light-Emitting-Diode(OLED)、及び/又は、これらと同種のデジタルディスプレイ上のオーバレイを含んでいてもよいが、これらに限られるものではない。他に、非デジタルディスプレイとして、例えば、不規則形状の或いは曲面の壁面をタッチスクリーン面として具現化することもできる。いくつかの実施形態では、MTIは、一のディスプレイ上の二以上の異なるタッチイベントを同時に検知し、解釈するように設計されたマルチタッチスクリーンを提供してもよい。当該マルチタッチスクリーンは、二本以上の指によって実現される様々なジェスチャーを解釈することができるものを含む。MTIは、ここで議論される様々なタッチ検出方式及び追跡方式の何れかを用いてマルチタッチ・タッチスクリーンを実装してよい。これにより、MTIはジェスチャー解釈が可能となり、表示された内容に対し、多種の上等で洗練されたユーザ対話を提供する。いくつかの実施形態では、MTIは、単一のユーザによる単一種類の入力(例えば、スタイラス入力101a、指入力101bなど)を提供する。いくつかの実施形態では、MTIは、単一のユーザによる複数の入力タッチの同時入力(例えば、複数のスタイラス入力101c、スタイラスと指のハイブリッド入力101d、複数指による入力101e、複数手と複数指による入力101f、複数指とスタイラスによるハイブリッド入力101g、及び/又は、同様の組み合わせ等)を提供する。
図1Bを参照すると、いくつかの実施形態では、MTIは、複数ユーザ(例えば、ユーザ1:110a、ユーザ2:110b、ユーザ3:110c)による、図1Aを参照して上述したタッチスクリーン100への複数入力の同時入力を提供する。いくつかの実施形態において、夫々のユーザは、MTIにより提供されたタッチスクリーン上に表示された別々の実行可能アプリケーション(例えば、アプリケーション111a、111b、111c)と対話している。この場合、MTIは(場合によっては同時に作業している)各ユーザによる(場合によっては同時に入力される)複数の入力の夫々を受け付け、区別し、一意に特定して、各ユーザによる当該入力をMTI上で対話中の対応するアプリケーションと関連付けてもよい。好ましい実施形態において、MTIは指入力とスタイラス入力が異種のタッチであるとスクリーンに触れたときに検知されるようにして、ユーザによる指入力とスタイラス入力を認識し、識別してもよい。この場合、MTIは、タッチスクリーンに表示されているアプリケーションのユーザインタフェースを適応させ、指で対話している場合にスタイラスで対話している場合と異なる動作をさせてもよい。いくつかの実施形態では、(例えば、MTIのタッチスクリーン上のユーザのジェスチャーの形が指とスタイラスとで同じであっても)ユーザが指又はスタイラスのどちらをアプリケーションとの対話のために利用しているか否かに応じて、当該アプリケーションによりユーザに提供される機能が変化してもよい。この一例として、描画アプリケーションにおいて、指タッチに基づくジェスチャーが消しゴムツールをユーザに提供する一方で、スタイラスを用いた同じジェスチャーが描画ツールをユーザに提供してもよい。いくつかの実施形態では、(例えば、指タッチではなく)スタイラスのタッチによりユーザコントロールが起動してもよく、指及びスタイラスを同時にジェスチャー内で用いる方法により定義される新規な複合型タッチジェスチャーが可能となる。いくつかの実施形態では、タッチスクリーンアプリケーションソフトウェア(又は「アプリ」)は、指又はスタイラスの何れか一方、又はその両方に基づいて実行される特定の追跡プロセスを、専用にするか、及び/又は、分割する。実例的な、限定されない例として、MTI上で実行されるタッチスクリーンアプリケーションは、描画に指を用いる場合に、スタイラスを用いる場合に比して追加的なスムージングを適用する。
図2A−Dに、MTIのいくつかの実施形態において、マルチモーダルタッチセンシングの例を示すブロック図を示す。図2Aを参照し、多種多様な実施形態において、MTIは、タッチ検出のための様々な技術を利用したタッチスクリーンを備える。当該技術は、抵抗性/容量性膜、表示面に取り付けられたフレームを含んでなる「オーバレイ」、背面から表面を観察するカメラ、対象物が表示面の周辺を移動することに伴い発生する音響振動に基づいて当該対象物の位置を三角測量により求める音響センサ、を含むが、これらに限られるものではない。抵抗性/容量性タッチスクリーンを利用する実施形態では、センサは、弾性及び柔軟性が予め調整され、且つ、最適化済みのプラスチックポリマーで構成されていてもよく、例えば指のような静電気を帯びた物体の近傍で、又は当該物体の接触により、誘起される歪みに敏感な静電界を感知する。MTIは、拡張可能な感度範囲及び近接センシング能力を備えた抵抗性/容量性タッチスクリーンを提供してもよい。いくつかの実施形態において、オーバレイ面は圧力に敏感であり、表面に印加された力の大きさを測定してもよい。いくつかの実装例では、タッチスクリーンは、高リフレッシュレート(例えば、120Hz以上)で、曇りのない透明で高いコントラスト比を持つ、高解像度の画素センサの使用を含んでいてもよい。タッチスクリーンセンサは、自動的に較正されるか、又は、ユーザ/グループの嗜好、実行されるアプリケーション、タッチスクリーン周囲の環境条件等に従ってカスタマイズされてもよい。上述した種々の実装例は、複数モードを用いたタッチ対話を検出し、追跡し、解釈するタッチスクリーンに組み合わされてもよい。
いくつかの実装例では、レーザ光平面(Laser Light Plane: LLP)、つまり、赤外光(IR)或いは他の光波が表示面に渡って投影され、対象物が投影された光波を遮ることにより、センサによりタッチ検出される。例えば、いくつかの実施形態では、タッチスクリーン210は表示面に赤外光源215及びセンサを組み合わせてもよい。赤外光源215は表示面に平行に光が出射するように取り付けられ、当該出射光及びその擾乱を観測するためにセンサが取り付けられる。いくつかの実施形態では、タッチスクリーン表示面は平坦面であってよいが、例えば円柱の一部分のように、ある種の曲率を有して、動作可能な程度の曲面であっても構わない。限定されることなく、実施形態は可視光を含む種々の電磁波の波長に対して動作可能である。
いくつかの実施形態では、一部表面の周囲に方形のフレーム211を設け、当該フレーム内に赤外光源及びセンサを組み込んでもよい。赤外光源は、複数の光源を(例えば、連続的に、等間隔で、或いは所定の参照点からみた角が等角度間隔になるように等)配置して、フレームの内側に実装してもよい。センサ(図2Aの符号214)は、当該方形のフレームの二以上のコーナー部に配置してもよい。別の実施形態では、発光体とセンサが互いに向かい合って、適合した対をなすようにフレーム内に組み込んでもよい。例えば、フレームの一辺に複数の発光体を備え、その対向する辺に当該発光体に対応する複数のセンサを備えるものとしてよい。いくつかの実施形態では、タッチスクリーン周囲のフレームは、感度レベル、分解能、及び/又は、計時特性の異なるセンサの混成した組を備えてもよい。いくつかの実施形態では、例えば赤外LEDが一方向に配置される等、照度センサがセンシング面上に配置されてもよい。フレームは、既定の対話領域に渡って戦略的に配置された多様なセンサを備えていてもよい。いくつかの実施形態では、タッチスクリーンは、例えば相補型金属酸化膜物半導体(CMOS)及び赤外レーザダイオードを2次元的に配置する場合には、平面表面の外側にセンサを備えていてもよい。センサが平面表面の外側にある場合、タッチスクリーンと対話するに際して対象物、及び/又は、スタイラスが当該表面と物理的に接触する必要はなく、タッチスクリーンは、例えばモバイル機器や遠隔装置を介して遠隔から対話入力を受け取ることが可能となる。種々の実施形態において、タッチスクリーンと対話する物体は多数の形をとりえる。一実施形態において、検出される物体は、指、スタイラス、或いは、規則形状であれ不規則形状であれ予め定義されたパターンの遠位末端を有する部材であってもよい。
一実施形態において、タッチスクリーンは多様なセンサの出力から三角法により対象物の位置を決定してもよい。いくつかの実施形態では、タッチスクリーンとの対話のために赤外発光体を備えたスタイラスを使用してもよい。タッチスクリーンは当該赤外光スタイラスを高輝度の点として、(スクリーンの背後から測定するか、スクリーンの面内で測定する)光センサを介して検出する。いくつかの実施形態において、タッチスクリーンは指によるタッチ動作を反射または遮光により検出するために赤外光を出射する。いくつかのスクリーンは、スクリーンに触れた指が赤外光により照射され、光センサの輝点として検出できるように、タッチスクリーンの平面内に光を照射する赤外光源を内蔵していてもよい。
いくつかの実施形態では、タッチスクリーン周囲に設けられたオーバレイフレームは、表面に平行に照射する赤外光源、及び、対象物が定義された平面を割り込み、光がセンサの方向に反射した際に増加する輝度を検出する複数の光センサを備えてもよい。図2Aに示すように、いくつかの実施形態では、タッチスクリーンパネルは指212及びスタイラス213からの入力を同時に受け付け、夫々を独立に追跡する。いくつかの実施形態では、センサ214はスタイラスからの発光又は指タッチによる反射光を検知する。そのような実施形態にあっては、スタイラス213により照射される光の強度は、指タッチによる反射光の強度、或いはタッチがない場合にスクリーン平面上方に照射される光の通常の強度よりも高輝度であってもよい。
いくつかの実施形態では、オーバレイフレームは、表面に平行に赤外光を照射する光源、及び、複数のセンサを備えてもよい。当該センサは、指などの対象物が赤外光源とセンサの間で当該表面と接触することによる光の遮りを検出する。図2Bに示すように、いくつかの実施形態では、遮断された光によりタッチを検出するタッチスクリーンを利用してよい。そのような実施形態にあっては、タッチイベント222がセンサ220により検出されると、発光又は透過光225の強度の減少により遮りを認識し、検出されたタッチイベントの位置を(例えばタッチプロセッサ221を介して)三角法により求め、数個のセンサによる遮断パターンに基づいて追跡してもよい。いくつかの実施形態では、区別アルゴリズムが、通常よりも有意に明るい位置(例えば、スタイラス223の光/RF波発光体がオンの場合)、或いは、通常よりも有意に暗い位置(例えば、指222がスクリーン面上方の光面を遮り又は減少させている場合)をセンサに検出するように指示してもよい。その場合、通常より明るいスクリーン対話はスタイラスによるタッチ223と解釈され、通常よりも暗い場合は指によるタッチ222と解釈されることができる。いくつかの実施形態では、スタイラス223はRF送信器を備え、タッチスクリーンのオーバレイフレームに組み込まれた二以上のセンサ223を用いた三角法によりスタイラスの位置を求めるものであってよい。
図2Cを参照して、いくつかの実施形態では、タッチスクリーンパネル230は、別のタッチスクリーン232−233とネットワークを介して通信しながら、指234及びスタイラス235からの入力を受け付ける。入力側タッチスクリーンパネル230で検出されたタッチ対話はタッチプロセッサ231により、追跡され、ネットワーク接続された全てのスクリーン230、232−233に表示されるように出力処理がされてもよい。いくつかの実施形態において、ネットワーク接続されたスクリーン232−233自身がタッチスクリーン230と同様の特徴を備えたタッチスクリーンであってもよい。いくつかの実施形態において、ネットワーク接続されたタッチスクリーンは、カメラベースのタッチ/近接入力スクリーン(例えば、表面を背にして配置されたカメラ、フロントマウントカメラ、後方カメラ)、抵抗性/容量性タッチスクリーンベースの入力スクリーン、及び/又は、それと同様の構成を含む若干の追加入力を備えていてもよい。
いくつかの実施形態では、スタイラス235はIR LED又はRF送信器をその先端に備え、タッチスクリーン面から圧力を受け、又はタッチスクリーン面に近接することで、LED又はRF送信器が随意に起動するものとしてよい。スタイラスは、外部から取り付けられた、又は内蔵されたスイッチを備えてもよい。当該スイッチは、スタイラスが対象物に対して動く又は押されると、LED又はRF送信器を起動する電気回路を閉じる。いくつかの実施形態では、センサは複数のスタイラス同士を識別してもよい。例えば、ある既定のスタイラスの先端にLEDを設け、タッチスクリーン面と接触している間は連続的に赤外光を出射するようにしておき、当該赤外光をディスプレイ面上に整列(面内で、背後から、前面の何れでもよい)したセンサにより検出、追跡してもよい。同一光を出射する複数のスタイラスについては、センサは一連の同種の輝点を区別することなく認識してもよい。いくつかの実施形態においては、特定のスタイラスのIR LEDを点滅するようにし、異なるスタイラスについては異なるパターン又は異なる周波数で点滅するようにして、センサにスタイラスを区別させてもよい。周波数パターンにより区別が可能になるので、いくつかのタッチスクリーンは精密な追跡の恩恵を受けうる。
いくつかの実施形態では、スタイラスの夫々が、タッチスクリーン面に近づく/接触するときに異なる空間的パターンの光を生成してもよい。適切に定義された大きさのスタイラス及びセンサ範囲を用いると、スタイラスがIRセンサに対して様々な位置にある場合にパターンが認識可能となる。いくつかの実施形態では、スタイラスは、センサのコントラストを上げるために、色つきの(複数の)LEDを備えてもよい。実施例としては輝度が時間と共に変化する二つのLEDを備えてもよい。この場合、スタイラスは途切れることなくセンサに対して可視状態となる(暗くならない)が、「明るい」と「より明るい」との間の変調が異なる時間パターン又は異なる周波数で行われることにより、異なるスタイラスを区別してもよい。このようにして、複数のスタイラスの移動跡を互いに区別しつつ、高忠実度の位置追跡の維持が可能となる。複数のスタイラス同士を区別するタッチスクリーンのいくつかの実施形態において、タッチスクリーンは、スタイラス毎に異なる描画モード(色、線種など)を関連付けてもよい。他に、描画及び消去モード、ユーザ/スタイラスの関連付け、ターン制の制御、タッチスクリーンの一部に対する読み出し/書き込み/実行パーミッションが挙げられる。加えて、ユーザ毎に関連付けられた異なるスタイラスにより、どのユーザが何を描いているかを追跡してもよい。
図2Dに入力スタイラスの例を示す。例えば、入力部材243は所定の遠位端にIR LEDが設けられたスタイラスである。一実施形態では、入力部材は近位端にIR LEDの対を配してもよい。スタイラス入力部材は、スタイラスのオンオフ、及び/又は、追加的なスタイラスの機能242を制御するトグルスイッチを備えてもよい。タッチ式の直線方向に滑動するスライドが、追加的な制御、例えばタッチスクリーンに出力される線幅の制御を提供してもよい。一実施形態では、スタイラス241は無線通信ハードウェア、音声マイク、及び/又は、内蔵された生体認証ソフトウェアを備えてもよい。図2Dのスタイラスは、さらに、センサによる三角測量及び識別のためにRF送信器/受信器を備えていてもよい。スタイラス識別の一実施形態において、異なる時間変調パターン毎にスタイラスIDが割り当てられてもよい。夫々のIDは、異なる正弦波又はステップパターンの時間周波数、ゼロ輝度からのオフセット値により関連付けられてもよい。さらに、スタイラスIDはモールス信号に類似の時間パターンを備えてもよい。実装例では、LEDの対をスタイラスの両端に備え、夫々の一端で異なった時間変調パターンを用いてもよい。一実施形態では、スタイラスペンの側部に配されたスイッチにより時間変調パターンを変化させ、これによりスタイラスIDを切り替える構成としてもよい。時間変調パターンの認識は、初めにタッチスクリーン面上のスタイラスを観測してから若干の遅れを伴って生じうる。しかしながら、高周波数パターンで、且つ、高フレームレートで動作するセンサであれば、当該遅れは非常に小さい。加えて、スタイラスの接触が最初に観測されたときは、その領域内で最も直近に観測されたスタイラスと同じIDを割り当ててよい。この初期の推定は、数フレーム後、観測によりスタイラスIDが確認又は訂正されるまで利用され、通常のタッチスクリーンの利用では、この初期推定は非常に高い時間割合で正しい可能性が高い。
一実施形態において、スタイラスはラジオ周波数(RF)送信アンテナ、及び/又は、受信器を、タッチスクリーンとの通信を確立するために備えてもよい。RF伝送を利用するスタイラスとタッチスクリーンの実装例では、送信器と受信器間で信号を伝送するためのラジオ波を用いてもよい。スタイラスアンテナが、スタイラス送信部に取り付けられていてもよい。当該スタイラス送信部は、スタイラス内に内蔵されているか、或いは、通信動作が可能な状態でスタイラスと接続されている。実装例によっては、タッチスクリーン側の受信器がスタイラスからの信号を受信できるように、スタイラス側の送信器を位置決めしてもよい。一実施形態では、スタイラス同士のRF通信を一チャンネル、及び/又は、多チャンネルのシステムにより可能としてもよい。多チャンネルシステムの一実施形態は、RFスタイラス、及び/又は、タッチスクリーン側の送受信器上のチャネルセレクタを含んでいてもよい。
図3に、MTIのいくつかの実施形態における、光ベースのタッチ入力認識の一例を示すブロック図を示す。このうち図3(a)−(b)は、指タッチの検出が反射を測定することにより行う場合に、スタイラス及び指入力タッチに対して、出力であるIR光の感度の一例を示すグラフである。一実施形態において、基準光レベルはIR光源がオンであるときにセンサが検出した値として測定され、指タッチに係る閾値と、スタイラスタッチに係る閾値の2つの閾値が設定されてもよい。図3(a)−(b)に示すようないくつかの実施形態では、両方の閾値が上記基準光レベルよりも高く、スタイラスに係る閾値を最も高くするとよい。
図3(c)−(d)は、指タッチの検出が光の遮りを測定することにより行う場合に、スタイラス及び指入力タッチに対して、出力であるIR光の感度の一例を示すグラフである。一実施形態において、グラフは一次元に配列したカメラのうちのある一つが表面の面内における多数の角度につき測定した様子を示している。つまり、図の横軸Θは、例えば、IR撮像装置から見た角度を代表している。一実施形態において、閾値レベルは一定値とせず、むしろ、矢印に示すように動的に変化するものとしてもよい。例えば、MTIがノイズの大きい、一様でない基準光レベルを想定する場合、閾値を同じ形状であるが、オフセットを上方又は下方に設定してもよい。或いは、基準光レベルがタッチスクリーンの空間に渡って変動し、その上時間的にも変動している場合には、MTIが、グラフ内の夫々の位置で、基準光レベルに対するある割合(例えば、120%又は80%)として閾値を計算することもできる。
例えば、いくつかの実施形態では、IR光源をオンにすると、センサの夫々が基準光レベルを測定し、定義してもよい。タッチスクリーンソフトウェアはこの基準光レベルよりも高い「閾値1」を設定し、輝度がこの閾値を超える場合にスタイラスによるタッチを検出してもよい。いくつかの実施形態では、基準光レベルよりも低い「閾値2」を設定し、輝度がこの第2の閾値未満となる場合に指によるタッチを検出してもよい。限定されることなく、当該閾値1及び2はセンサ毎に異なる値が設定され、センサの検出範囲がスクリーン面に沿った空間位置の範囲に渡るものであれば、空間的に分布していてもよい。これにより、基準光レベル、及び、当該基準光レベルより高い閾値及び低い閾値は、夫々、非一様となりうる。タッチオーバレイソフトウェアの較正は、中性の(指又はスタイラスとの接触がない)場合に中間値を表すように設定される。一実施形態では、タッチスクリーンは複数種の対象物(例えば、指とスタイラス)によるタッチ対話を検知し、解釈し、区別し、さらに二以上の同種の対象物(例えば、複数の異なるスタイラス)のタッチ対話について、それらが単一のユーザによるものか複数のユーザによるものかを解釈、区別してもよい。以降において詳細に説明されるが、一実施形態では、タッチスクリーンはここで説明された物理検出モードの何れか1つ、或いは複数の組み合わせにより実装されてもよい。好ましい一実施形態において、タッチスクリーンは少なくとも光学式タッチ検出、或いはラジオ周波数信号検出と光学式検出の組み合わせにより実装されてもよい。
図4A−Bに、MTIのいくつかの実施形態において、マルチモーダルタッチ処理(MTP)の一例(例えば、マルチモーダルタッチ処理部400)を示す論理フロー図を示す。図4Aを参照すると、いくつかの実施形態において、ユーザがMTIのタッチスクリーンに対してタッチ入力を与える(401)。例えば、ユーザは一以上の指タッチ、一以上の光/RF発光スタイラス、或いはこれらの任意の組み合わせを利用できる。タッチスクリーンが光ベースのユーザタッチ検出方式を利用する実施形態の場合、タッチスクリーンセンサが、ユーザタッチにより生じた光レベルの変動(増加又は減少)を検出する(402)。当該検出された変動を用いて、タッチスクリーンセンサは光強度信号を生成し(403)、当該光強度信号を一以上のタッチ処理(「タッチプロセッサ」)へ与える。例えば、センサは銅線のようなアナログ通信チャネルを介して光強度信号を伝送してもよい。その後、データ収集ボード(Data Acquisition Board)を用いたデジタルサンプリングが行われる。他の例として、センサは、例えば(保護された)HyperText Transfer Protocol (HTTP(S))を利用し、ネットワークを介してデータパケットを伝送してもよい。タッチプロセッサは、光強度信号を取得すると、当該光強度信号の変動の様子からユーザタッチの位置座標を決定する(404)。例えば、タッチプロセッサはタッチ座標決定部(一例としては、以降において図5を参照して後述されるTCD500)を実行する。この計算に基づき、タッチプロセッサは、例えば図7中の701に示されている座標のような、データを生成する。タッチプロセッサは、一タッチ入力に対し、座標の夫々({x,y,z})を設定する(405)。いくつかの実施形態では、タッチプロセッサは、ユーザによるタッチ入力毎にその種別(指によるものか、スタイラスによるものか等)を識別してもよい(406)。例えば、タッチプロセッサはタッチ種別識別部(一例としては、以降において図6を参照して後述されるTTI600)を実行してもよい。この計算に基づき、タッチプロセッサは、例えば図7中の701に示されているようなタッチ種別のデータを生成する。いくつかの実施形態では、タッチプロセッサは、ユーザによるどの複数のタッチ入力を単一ジェスチャーの一部として一グループにまとめるべきか(例を挙げると、二つの指と一つのスタイラスによるタッチを、一人のユーザによる単一ジェスチャーとみなすべきか)を判断してもよい(407)。例えば、タッチプロセッサはタッチグループ解析部(一例としては、以降において図7A−Bを参照して後述されるTGR700)を実行してもよい。この計算に基づき、タッチプロセッサは、例えば図7中の705に示されているようなタッチグループのデータを生成する。ユーザのジェスチャーを識別するに際して、タッチプロセッサはデータベースに対し、所定の時間ウィンドウの範囲で、ジェスチャーシーケンスの一部として組み合わせることのできる以前のタッチ入力グループの検索要求(クエリ)を生成する(408)。例えば、4指のスワイプ動作は同時に行われるジェスチャーとは認識されないかもしれない。むしろ、当該ジェスチャーはユーザの4指の動きを有限の時間ウィンドウで追跡することにより識別されうる。また別の例では、あるジェスチャーは2つの異なったユーザタッチの組(例えば、2指タップとスタイラスによるタップなど)を必要とするかもしれない。検索要求に基づき、データベース/メモリはジェスチャーシーケンスを識別するために以前のタッチ入力の組を与える(409)。例えば、タッチプロセッサは、SQL(Structured Query Language)コマンドが組み込まれたPHP(Hypertext Preprocessor)スクリプトを、以前のタッチ入力の組をリレーショナルデータベースから探索するために利用してもよい。以前のタッチ入力の組を用いて、タッチプロセッサはタッチ入力グループからジェスチャーパターン/シーケンスを生成する(410)。いくつかの実施形態において、タッチ入力グループの位置座標に基づいて、タッチプロセッサはジェスチャーパターン/シーケンスの夫々にユーザID(おおよそ当該空間位置にいることが分かっているユーザ(例えば、カメラによる顔認識を用いる場合、そのタッチスクリーンの位置のユーザログイン等)、或いは当該おおよその位置で操作された他のジェスチャーシーケンスに割り当てたものと同じランダムID)のタグを付けてもよい。夫々のジェスチャーパターン/シーケンスにつき、タッチプロセスはデータベース/メモリに当該ジェスチャーパターン/シーケンスと関連付けられているユーザコマンドを検索させる(412)。これを受け、データベース/メモリは要求されたユーザコマンドを提供し、当該ユーザコマンドがその実行のためにプロセスキューに保持される。
図4Bを参照すると、いくつかの実施形態において、タッチプロセッサは(例えば、図4Aを参照して上述した手順により随意に生成される)プロセスキューからユーザコマンドを選択してもよい(414)。任意で、タッチプロセッサはユーザコマンドに関連付けられたジェスチャーパターンを検索する要求を生成してもよい(415)。これを受け、データベース/メモリはジェスチャーパターンの一部を形成している以前のタッチ入力の組を提供する(416)。タッチプロセッサはジェスチャーパターンの一部を形成しているタッチ入力を抽出する(417)。例えば、タッチプロセスは、パーサを用いてデータを構文解析する。パーサの具体例については、以降において図8を参照して説明される。タッチプロセッサは、タッチ入力の組が、スタイラスと指のハイブリッド入力を含むか否かを判断する(418)。タッチ入力の組の何れかに、スタイラスと指のハイブリッド入力を含む場合(418でYES分枝)、タッチプロセスはジェスチャーと通常間連付けられるユーザコマンドに対する変更を検索する要求を生成する(419)。データベース/メモリからユーザコマンドの変更を取得(420)後、タッチプロセッサは、例えばタッチスクリーン(或いはネットワークに接続された他のタッチスクリーン等)を介したプレゼンテーションのための映像/音響出力の生成等、(変更された)ユーザコマンドを実行する(421)。タッチプロセッサは、上記の手順をプロセスキューに保持されたユーザコマンド毎に行う(422)。
図5に、MTIのいくつかの実施形態において、タッチ座標決定(TCD)の一例(例えば、タッチ座標決定部500)を示す論理フロー図を示す。いくつかの実装例では、MTIのタッチプロセッサはタッチスクリーンセンサから光強度信号を取得して、当該光強度信号に符号化されているユーザタッチの座標を決定する(501)。タッチプロセッサは、光強度信号を用いてデジタルタッチマップを任意で作成してもよい(502)。例えば、タッチプロセッサは閾値未満の全ての画素を0とし、閾値を超える全ての画素を1として光強度信号の閾値化処理を行ってもよい。或いは、発光するスタイラス入力及び光を遮る指入力の何れかに対応する画素を1とし、他の全ての画素を0とするように、2つの異なる閾値を持たせてもよい。デジタルタッチマップを用いて、タッチプロセッサは夫々のタッチ(或いはその輪郭線)を識別できる。例えば、タッチプロセッサは夫々のタッチ或いはその輪郭線を識別するために画像分割アルゴリズムを用いてもよい(503)。(分割された)夫々のタッチイメージオブジェクトの識別後、タッチプロセッサは、当該分割されたタッチイメージの輪郭内を強度で重み付けした平均の位置に基づき重心を計算する(504)。タッチプロセッサは当該重心の座標{x,y,z}を識別されたタッチの位置座標として保持し、これをタッチについての決定された位置座標として返す(506)。
図6に、MTIのいくつかの実施形態において、タッチ種別識別(TTP)の一例(例えば、タッチ種別識別部600)を示す論理フロー図を示す。いくつかの実施形態において、MTIのタッチプロセッサはタッチの夫々のタッチID及び位置座標(例えば、図5の506を参照)を取得して、タッチIDの夫々につきタッチの種別を識別する(601)。タッチプロセッサは元の光強度信号(例えば、図4Aの403を参照)を取得してもよい(602)。タッチプロセスはタッチIDを選択し(603)、選択されたタッチIDに対応する位置座標を調べる(604)。当該位置座標に基づき、タッチプロセッサは、光強度信号を用いて、当該位置座標に対応する画素の元の強度レベル(又は、その周辺のあるウィンドウ内の画素における平均レベル)を調べる(605)。タッチプロセッサは、光強度レベルのサンプルを、検出されるべきスタイラス入力の閾値、及び/又は、検出されるべき指入力の場合の閾値と比較する。当該比較に基づいて、タッチプロセッサはスタイラス入力と指入力の何れかとして、タッチ種別を識別する(606)。タッチプロセッサはこの手順を取得したタッチID毎に行う(607)。タッチプロセスはタッチID及びタッチ種別をその後の処理のために返す(608)。
図7A−Bに、MTIのいくつかの実施形態において、タッチグループ解析(TGR)の一例(例えば、タッチグループ解析部700)を示す論理フロー図を示す。図7Aを参照すると、いくつかの実装例において、MTIのタッチプロセッサはタッチの夫々についてタッチID及び位置座標を取得し(701(挿入図を参照))、一以上のユーザによる複数のタッチのうち、どれかが単一のジェスチャー又はジェスチャーパターン/シーケンスの一部としてグループにまとめられるかを解決する。タッチプロセッサは位置座標を用いてタッチ入力のペア夫々についてペア間の距離を計算する(702(挿入図の距離行列を参照))。タッチプロセッサは閾値を越える全ての行列要素を0とし、閾値未満の全ての行列要素を1として距離行列の閾値化処理を行ってもよい。これにより、いくつかの実施形態では、他のタッチと(単一のジェスチャー、パターン、又はシーケンスの一部といえるために必要な閾値距離よりも短いと評価され)十分に近い位置にあるタッチのみが1となる。近接行列(703(挿入図を参照))の対角成分は、タッチが自身の近傍にあるので常に1である。したがって、タッチが孤立してあれば、そのIDに対応する対角要素は1となり、対応する列における他の全ての要素は0となる(挿入図の第4列を参照)。図7Bを参照して、いくつかの実装例では、タッチプロセッサは703の近接行列を近接ペアを構成するタッチの識別に利用してもよい(704(挿入図のペア行列を参照))。タッチプロセッサは少なくとも1つの共通のタッチIDを有する近接ペアを結合し(705)、タッチグループ(705の挿入図を参照)を生成する。タッチプロセスは当該タッチグループを、その後の処理のために返す(706)。
〈MTIコントローラ〉
図8に、MTIコントローラ801の実施形態を示すブロック図を示す。この実施形態では、MTIコントローラ801は、種々の技術によりコンピュータとの対話、及び/又は他の関連するデータを、集計し、処理し、保持し、検索し、提供し、識別し、指示し、生成し、照合し、及び/又は、対話が容易になるように促進する。
図8に、MTIコントローラ801の実施形態を示すブロック図を示す。この実施形態では、MTIコントローラ801は、種々の技術によりコンピュータとの対話、及び/又は他の関連するデータを、集計し、処理し、保持し、検索し、提供し、識別し、指示し、生成し、照合し、及び/又は、対話が容易になるように促進する。
典型的には、人又はシステムであってもよいが、ユーザ833aが、情報の加工を容易に行うために情報技術システム(例えば、コンピュータ)を使用する。同じく、コンピュータは情報の加工のためにプロセッサを利用する。そのようなプロセッサ803は、中央処理装置(CPU)と呼ばれる。プロセッサの形式の1つにマイクロプロセッサがある。CPUは、命令として機能する2値の符号化された信号をやりとりするための連絡回路を使用し、当該命令により、様々な動作が可能になる。これらの命令は、動作可能であり、及び/又は、種々のアクセス可能なプロセッサやメモリ829の動作領域(例えば、レジスタ、キャッシュメモリ、ランダムアクセスメモリなど)内にある他の命令及びデータを含み、及び/又は、参照するデータ命令である。このような連絡可能な命令は、所望の動作を行うためのプログラム、及び/又は、データ構造として、ひとまとまりの束(例えば、バッチ命令)毎に保持され、及び/又は、転送される。これらの保持される命令コード群、例えばプログラムは、CPU回路コンポーネント及び他のマザーボード、及び/又はシステムコンポーネントに所望の動作を行わせる。プログラムの一種としてオペレーティングシステムがあり、コンピュータ上のCPUによって実行されうる。オペレーティングシステムは、ユーザがコンピュータ情報技術及び資源(リソース)にアクセスし、操作することを可能・容易にする。情報技術システムにおいて使用されているリソースは、データをコンピュータ内に入れる、及びコンピュータから取り出すための入出力機構、データを保存する記憶装置、及び、情報を処理するプロセッサを含む。これらの情報技術システムは、データベースプログラムにより容易となるが、後の検索、分析、操作のためにデータを収集するのに用いてもよい。これらの情報技術システムはユーザに様々なシステムコンポーネントへのアクセス、操作を可能とするインタフェースを提供する。
一実施形態において、MTIコントローラ801は下記の実在と接続、及び/又は、通信してもよいが、これに限られるものではない。ユーザ入力機器811からの一以上のユーザ、周辺機器812、任意の暗号化処理機器(暗号機器)828、及び/又は、通信ネットワーク813。例えば、MTIコントローラ801はユーザ833a、クライアント操作機器(例えば、833b)と接続され、及び/又は、通信してもよい。クライアント操作機器としては、パーソナルコンピュータ、サーバ、及び/又は、種々のモバイル機器が挙げられるが、これに限られるものではない。モバイル機器としては、携帯電話、スマートフォン(例えば、Apple iPhone、Blackberry、Android OSを採用したスマートフォン等)、タブレットコンピュータ(例えば、Apple iPad、HP Slate、Motorola Xoom等)、電子ブックリーダ(例えば、Amazon Kindle、Barnes and Noble's Nook eReader等)、ラップトップコンピュータ、ノートブック、ネットブック、ゲーミングコンソール(例えば、XBOX Live, Nintendo DS, Sony PlayStation Portable等)、ポータブルスキャナ等が挙げられるが、これに限られるものではない。
ネットワークは通常クライアント、サーバ、及びグラフトポロジーにおける中間ノード間の相互接続及び相互運用を包含すると考えられている。この出願において、用語「サーバ」は一般的にコンピュータのほか、他の機器、プログラム、或いは通信ネットワークを介して遠隔ユーザの要求を処理し、応答するこれらの組み合わせを指すことに注意すべきである。サーバは自身の持つ情報を要求があったクライアントに提供する。ここで、用語「クライアント」は一般的にコンピュータのほか、プログラム、他の機器、ユーザ、及び/又は、要求を処理、作成し、通信ネットワークを介してサーバから応答を取得し、処理を行うことが可能なこれらの組み合わせを指す。コンピュータ、他の機器、プログラム、或いは、情報及び要求を処理し、手助けし、及び/又は、発信元のユーザから目的のユーザへ情報の伝達を促進するこれらの組み合わせは、通常「ノード」と呼ばれる。ネットワークは一般的に発信源から目的地への情報の転送を容易にすると考えられている。特に、発信元のユーザから目的のユーザへ情報の伝達を促進する役割を有するノードは通常「ルータ」と呼ばれる。ローカルエリアネットワーク (LAN)、ピコネットワーク、ワイドエリアネットワーク(WAN), 無線ネットワーク (WLAN)など、多くの形式のネットワークがある。例えば、インターネットは遠隔クライアントとサーバが互いにアクセスし、相互運用が可能なように多数のネットワーク間を相互接続するものとして、一般的に受け入れられている。
MTIコントローラ801は、例えばメモリ829と接続するコンピュータシステム部802のようなコンポーネントを備えたコンピュータシステムに基づいていてもよいが、これに限られるものではない。
〈コンピュータシステム部〉
コンピュータシステム部802は、クロック830、中央処理装置(「CPU」及び/又は「プロセッサ」(本開示において、これらの語は特に断らない限り、互いに代替可能である))803、メモリ829(例えば、リードオンリーメモリ(ROM)806、ランダムアクセスメモリ(RAM)805など)、及び/又は、インタフェースバス807を備える。さらに、必ずしも必要ではないが、最も頻繁には、これらの全てが、導通した回路経路及び/又は転送可能な回路経路を有して、命令(例えば、2値の符号化された信号)が通信、動作、記憶を行うために伝達する一以上の(マザー)ボード802上に、システムバス804を通して相互接続され、及び/又は、連絡している。コンピュータシステム部は電源886と接続されていてもよい。例えば、任意であるが電源は内部にあってもよい。また、暗号化プロセッサ826、及び/又は、無線送受信機(例えば、IC)874がシステムバスと接続されていてもよい。他の実施形態では、暗号化プロセッサ、及び/又は、無線送受信機はシステム内部、及び/又は外部に設けられた周辺機器812として、インタフェースバスI/Oを介して接続されてもよい。無線送受信機はアンテナ875と接続されていてもよく、これにより種々の通信、及び/又は、センサプロトコルの無線による送受信が可能となる。例えば、アンテナは下記の無線送受信機と接続してもよい:Texas Instruments WiLink WL1283 transceiver chip(例えば、802.11n、 Bluetooth(登録商標) 3.0、FM、衛星利用測位システム(GPS)(これによりMTIコントローラはその位置を決定できる)の場合)、Broadcom BCM4329FKUBG transceiver chip(例えば、802.11n、Bluetooth 2.1 + EDR、FM等の場合)、Broadcom BCM4750IUB8 receiver chip(例えば、GPS)、Infineon Technologies X-Gold 618-PMB9800 (例えば、2G/3G HSDPA/HSUPA通信の場合)等。システムクロックは典型的には結晶振動子を有し、コンピュータシステム部の回路経路に基準信号を生成する。クロックは典型的にはシステムバスと接続し、コンピュータシステム部内で相互接続する他のコンポーネントに利用する基準動作周波数を増加又は減少させる様々なクロック乗算器と接続する。クロック及びコンピュータシステム部内の種々のコンポーネントは、情報が組み込まれた信号をそのシステム内の全域に渡って駆動する。このような情報が組み込まれた命令のコンピュータシステム内全域における送信及び受信は、総称して通信と呼ばれる。これらの通信命令は、さらに、送信され、受信され、当該コンピュータシステム部を超えて、通信ネットワーク、入力デバイス、他のコンピュータシステム部、周辺機器等にまで及ぶ返信及び/又は応答を生じる。代替する実施形態として、上述のコンポーネントは他と互いに直接接続してもよいし、CPUと接続してもよいし、及び/又は、種々のコンピュータシステムによって例示される多数の変形を用いて体系化されていてもよい。
コンピュータシステム部802は、クロック830、中央処理装置(「CPU」及び/又は「プロセッサ」(本開示において、これらの語は特に断らない限り、互いに代替可能である))803、メモリ829(例えば、リードオンリーメモリ(ROM)806、ランダムアクセスメモリ(RAM)805など)、及び/又は、インタフェースバス807を備える。さらに、必ずしも必要ではないが、最も頻繁には、これらの全てが、導通した回路経路及び/又は転送可能な回路経路を有して、命令(例えば、2値の符号化された信号)が通信、動作、記憶を行うために伝達する一以上の(マザー)ボード802上に、システムバス804を通して相互接続され、及び/又は、連絡している。コンピュータシステム部は電源886と接続されていてもよい。例えば、任意であるが電源は内部にあってもよい。また、暗号化プロセッサ826、及び/又は、無線送受信機(例えば、IC)874がシステムバスと接続されていてもよい。他の実施形態では、暗号化プロセッサ、及び/又は、無線送受信機はシステム内部、及び/又は外部に設けられた周辺機器812として、インタフェースバスI/Oを介して接続されてもよい。無線送受信機はアンテナ875と接続されていてもよく、これにより種々の通信、及び/又は、センサプロトコルの無線による送受信が可能となる。例えば、アンテナは下記の無線送受信機と接続してもよい:Texas Instruments WiLink WL1283 transceiver chip(例えば、802.11n、 Bluetooth(登録商標) 3.0、FM、衛星利用測位システム(GPS)(これによりMTIコントローラはその位置を決定できる)の場合)、Broadcom BCM4329FKUBG transceiver chip(例えば、802.11n、Bluetooth 2.1 + EDR、FM等の場合)、Broadcom BCM4750IUB8 receiver chip(例えば、GPS)、Infineon Technologies X-Gold 618-PMB9800 (例えば、2G/3G HSDPA/HSUPA通信の場合)等。システムクロックは典型的には結晶振動子を有し、コンピュータシステム部の回路経路に基準信号を生成する。クロックは典型的にはシステムバスと接続し、コンピュータシステム部内で相互接続する他のコンポーネントに利用する基準動作周波数を増加又は減少させる様々なクロック乗算器と接続する。クロック及びコンピュータシステム部内の種々のコンポーネントは、情報が組み込まれた信号をそのシステム内の全域に渡って駆動する。このような情報が組み込まれた命令のコンピュータシステム内全域における送信及び受信は、総称して通信と呼ばれる。これらの通信命令は、さらに、送信され、受信され、当該コンピュータシステム部を超えて、通信ネットワーク、入力デバイス、他のコンピュータシステム部、周辺機器等にまで及ぶ返信及び/又は応答を生じる。代替する実施形態として、上述のコンポーネントは他と互いに直接接続してもよいし、CPUと接続してもよいし、及び/又は、種々のコンピュータシステムによって例示される多数の変形を用いて体系化されていてもよい。
CPUは、ユーザ、及び/又はシステムが生成した要求を実行するためにプログラムコンポーネントを実行するのに適切な少なくとも1つの高速データプロセッサを含む。しばしば、プロセッサはそれ自身が下記に示す種々の専用の処理ユニットを内蔵しているが、これに限られるものではない:統合システム(バス)コントローラ、メモリ管理制御ユニット、浮動小数点ユニット、及び、グラフィックス処理ユニットやデジタル信号処理ユニット等。加えて、プロセッサは高速アクセスのアドレス可能なメモリを内蔵し、プロセッサ自身の外部にあるメモリ829のマッピング、アドレッシングが可能にされていてもよい。内蔵メモリは、高速レジスタ、種々のレベルのキャッシュメモリ(例えば、レベル1、2、3等)、RAM等を含むが、これに限られるものではない。プロセッサはメモリアドレス空間の使用を通してこのメモリにアクセスしてよい。当該メモリアドレス空間は、命令アドレスを介してアクセス可能である。プロセッサは当該命令アドレスを構成し、復号化して、回路経路上のある記憶状態を有する特定のメモリアドレス空間へのアクセスを許可する。CPUは、AMDのAthlon、Duron、及び/又はOpteron、ARMのセキュアな組み込み・アプリケーションプロセッサ、IBM及び/又はMotorolaのDragonBall及びPowerPC、IBM及びSonyのCellプロセッサ、IntelのCeleron、Core (2) Duo、Itanium、 Pentium(登録商標)、Xeon、及び/又は、XScale、等のマイクロプロセッサであってよい。CPUは導電性の、及び/又は、転送可能な経路(例えば、(印刷された)電気回路、及び/又は、光学回路)を通して、命令のやりとりによってメモリと対話し、従来のデータ処理技術によって保持された命令(つまり、プログラムコード)を実行する。このような命令のやり取りはMTIコントローラ内の通信、及び様々なインタフェースを通した外部への通信を容易にする。プロセシングの要請はより高速性、及び/又は、より大きな処理能力を決定付け、分散型プロセッサ(例えば分散型MTI)、メインフレーム、マルチコア、並列、及び/又はスーパーコンピュータアーキテクチャを同様に採用してもよい。一方、配置の要請はより携帯性に優れることを決定付け、より小型の携帯情報端末(PDA)を採用してもよい。
個別の実装例に依存するが、MTIの特徴はCAST R8051XC2マイクロコントローラ、Intel MCS 51(8051マイクロコントローラ)等のマイクロコントローラの実装によりなされてもよい。また、MTIのある特徴を実装するために、いくつかの特徴の実装に際して、ASIC(Application-Specific Integrated Circuit)、DSP(Digital Signal Processing)、FPGA(Field Programmable Gate Array)、及び/又は、同種の組み込み技術のような組み込みコンポーネントに頼ってもよい。例えば、MTIコンポーネント集合体(分散していても、又はそうでなくても)及び/又は特徴の何れかは、マイクロプロセッサを介して、及び/又は、例えばASIC、コプロセッサ、DSP、FPGA等の組み込みコンポーネントを介して実装されてもよい。一方で、MTIのいくつかの実装が、様々な特徴又は信号処理を行うために構成され、使用される組み込みコンポーネントを用いてなされてもよい。
個別の実装例に依存するが、組み込みコンポーネントはソフトフェアによる解法と、ハードウェアによる解法、及び/又はその両方の組み合わせによる解法を含んでよい。例えば、ここで説明したMTIの機能はFPGAにより実装することができる。FPGAは「論理ブロック」と呼ばれるプログラム可能な論理コンポーネントと、プログラム可能な配線を含んだ半導体装置であり、例として高パフォーマンスのFPGA Virtexシリーズ、及び/又は、低コストのSpartanシリーズがザイリンクス社により製造されている。論理ブロック及び配線はFPGAの製造後に顧客或いは設計者によって任意のMTIの機能を実装するためにプログラム可能である。プログラム可能な配線はMTIシステムの設計者/管理者の必要に応じて、さながら1チップのプログラム可能な実験用回路基板のように、論理ブロックが相互接続されるように階層化されている。FPGAの論理ブロックは、ANDやXORのような基本論理ゲート、或いはデコーダのようなより複雑な組み合わせの演算、或いは単純な数学演算を行うようにプログラム可能である。大半のFPGAでは、論理ブロックはさらにメモリ素子を含む。当該メモリ素子はフリップフロップ回路又はより完全なメモリブロックであってもよい。状況次第で、MTIは通常のFPGAで開発され、その後ASIC実装により近い固定されたバージョンに移行されてもよい。代替の、或いは調整された実装では、FPGAの代わりに、或いはFPGAに加えて、MTIコントローラの機能を最終のASICに移行させてよい。実装に依存するが、上述した組み込みコンポーネント及びマイクロプロセッサの全ては、MTIにとってCPU、及び/又は、プロセッサとみなされる。
〈電源〉
電源886は、小型の電子回路基板装置に電力を供給する任意の標準の形式であってよく、例えば以下に示す電池が挙げられる:アルカリ、リチウム水素、リチウムイオン、リチウムポリマー、ニッケルカドミウム、太陽電池等。他の型のAC又はDC電源も同様に使用できる。太陽電池を用いる場合、一実施形態において、光エネルギーを捕獲するための開口を備える。電源886はMTIの相互接続された後続のコンポーネントの少なくとも1つと接続され、後続のコンポーネント全てに電流を供給する。一例では、電源886はシステムバスコンポーネント804と接続される。代替する実施形態では、外部電源886が、I/Oインタフェース808を介した接続により提供される。例えば、USB接続、及び/又は、IEEE 1394接続はデータと電力の両方を当該接続により運ぶことができるため、電源に適している。
電源886は、小型の電子回路基板装置に電力を供給する任意の標準の形式であってよく、例えば以下に示す電池が挙げられる:アルカリ、リチウム水素、リチウムイオン、リチウムポリマー、ニッケルカドミウム、太陽電池等。他の型のAC又はDC電源も同様に使用できる。太陽電池を用いる場合、一実施形態において、光エネルギーを捕獲するための開口を備える。電源886はMTIの相互接続された後続のコンポーネントの少なくとも1つと接続され、後続のコンポーネント全てに電流を供給する。一例では、電源886はシステムバスコンポーネント804と接続される。代替する実施形態では、外部電源886が、I/Oインタフェース808を介した接続により提供される。例えば、USB接続、及び/又は、IEEE 1394接続はデータと電力の両方を当該接続により運ぶことができるため、電源に適している。
〈インタフェースアダプタ〉
インタフェースバス807は、多数のインタフェースアダプタに対応し、接続、及び/又は通信を行うものであってよい。インタフェースアダプタは、アダプタカード方式が標準的であるが、必ずしもこの必要はない。インタフェースアダプタは、例えば入出力インタフェース(I/O)808、ストレージインタフェース809、ネットワークインタフェース810等であるが、これに限られるものではない。任意で、暗号化プロセッサインタフェース827が同様にインタフェースバスに接続されていてもよい。インタフェースバスは、インタフェースアダプタとコンピュータシステム部の他のコンポーネント間の通信のほか、インタフェースアダプタと他のインタフェースアダプタ間の通信を提供する。インタフェースアダプタは互換インタフェースバスに適応する。インタフェースアダプタは、スロット構造を介してインタフェースバスと接続するのが標準的である。標準のスロット構造として、AGP(Accelerated Graphics Port)、カードバス、(E)ISA((Extended) Industry Standard Architecture)、MCA(Micro Channel Architecture)、NuBus、PCI(X)(Peripheral Component Interconnect (Extended))、PCI Express、PCMCIA(Personal Computer Memory Card International Association)等を採用してもよいが、これに限られるものではない。
インタフェースバス807は、多数のインタフェースアダプタに対応し、接続、及び/又は通信を行うものであってよい。インタフェースアダプタは、アダプタカード方式が標準的であるが、必ずしもこの必要はない。インタフェースアダプタは、例えば入出力インタフェース(I/O)808、ストレージインタフェース809、ネットワークインタフェース810等であるが、これに限られるものではない。任意で、暗号化プロセッサインタフェース827が同様にインタフェースバスに接続されていてもよい。インタフェースバスは、インタフェースアダプタとコンピュータシステム部の他のコンポーネント間の通信のほか、インタフェースアダプタと他のインタフェースアダプタ間の通信を提供する。インタフェースアダプタは互換インタフェースバスに適応する。インタフェースアダプタは、スロット構造を介してインタフェースバスと接続するのが標準的である。標準のスロット構造として、AGP(Accelerated Graphics Port)、カードバス、(E)ISA((Extended) Industry Standard Architecture)、MCA(Micro Channel Architecture)、NuBus、PCI(X)(Peripheral Component Interconnect (Extended))、PCI Express、PCMCIA(Personal Computer Memory Card International Association)等を採用してもよいが、これに限られるものではない。
ストレージインタフェース809は、多数のストレージデバイスに対応し、通信、及び/又は接続を行うものであってよい。ストレージデバイスとしては、例えばストレージデバイス814、及び/又は、リムーバブルディスク装置等が挙げられるが、これに限られるものではない。ストレージインタフェースは例えば下記の接続プロトコルを採用してよいが、これに限られるものではない:(Ultra) (Serial) ATA(PI)((Ultra) (Serial) Advanced Technology Attachment (Packet Interface))、(E)IDE((Enhanced) Integrated Drive Electronics)、IEEE(Institute of Electrical and Electronics Engineers)1394、ファイバーチャネル、SCSI(Small Computer Systems Interface)、USB(Universal Serial Bus)等。
ネットワークインタフェース810は、通信ネットワーク813に対応し、通信、及び/又は接続を行うものであってよい。通信ネットワーク813を通して、MTIコントローラは遠隔クライアント833b(例えば、ウェブブラウザ付きのコンピュータ)とのアクセスがユーザ833aによって可能となる。ネットワークインタフェースは例えば下記の接続プロトコルを採用してよいが、これに限られるものではない:ダイレクトコネクト、イーサネット(太い、細い、ツイストペアの10/100/1000 Base T等)(登録商標)、トークンリング、IEEE 802.11a-xに代表される無線接続等。プロセシングにはより高速性、及び/又は、より大きな処理能力が求められるため、分散型ネットワークコントローラ(例えば分散型MTI)アーキテクチャを、プールし、負荷を分散し、及び/または、MTIコントローラの通信バンド幅を増加させたりするために同様に採用してもよい。通信ネットワークは以下に示すネットワークの何れか、及び/又は、これらの組み合わせであってよい:直接相互接続、インターネット、ローカルエリアネットワーク(LAN)、メトロポリタンエリアネットワーク(MAN)、OMNI(Operating Missions as Nodes on the Internet)、保護されたカスタム接続、ワイドエリアネットワーク(WAN)、無線ネットワーク(例えばWAP(Wireless Application Protocol)、Iモード等のプロトコルがあるが、これに限られない)等。ネットワークインタフェースは入出力インタフェースの特別な形式と考えることができる。さらに、通信ネットワーク813の種々の方式に対応できるように、複合的なネットワークインタフェースを使用してもよい。例えば、放送、マルチキャスト通信、及び/又は、ユニキャスト通信を可能とするために、複合ネットワークインタフェースを採用してもよい。
入出力インタフェース(I/O)808は、ユーザ入力機器811、周辺機器812、暗号化処理機器(暗号機器)828等に対応し、通信、及び/又は接続を行うものであってよい。I/Oは下記の接続プロトコルを使用してもよいが、これに限られるものではない:音声について:アナログ、デジタル、モノラル、RCA、ステレオ等、データについて:アップルデスクトップバス(ADB)、IEEE 1394a-b、 シリアル、 ユニバーサルシリアルバス(USB)、赤外通信、ジョイスティック、キーボード、MIDI、オプティカル、PC AT、PS/2、パラレル、ラジオ、映像インタフェースについて:アップルデスクトップコネクタ(ADC)、BNC、同軸、コンポーネント、コンポジット、デジタル、デジタルビジュアルインタフェース(DVI)、高精細度マルチメディアインタフェース(HDMI(登録商標))、RCA、RFアンテナ、Sビデオ、VGA等、無線送受信について:802.11a/b/g/n/x、ブルートゥース、セルラー方式(例えば、符号分割多重接続(CDMA)、HSPA(+)(high speed packet access)、HSDPA(high-speed downlink packet access)、GSM(global system for mobile communications)(登録商標)、LTE(long term evolution)、WiMax等。典型的な出力機器の1つはビデオディスプレイであり、典型的にはブラウン管(CRT)や液晶ディスプレイ(LCD)に基づくモニタに、映像インタフェースからの信号を受けるインタフェース(例えば、DVI回路及びケーブル)を備えたものが用いられる。映像インタフェースはコンピュータシステム部により生成された情報を合成し、映像メモリフレーム内の合成された情報に基づいて映像信号を生成する。他の出力機器としては映像インタフェースからの信号を受けるテレビ装置がある。典型的に、映像インタフェースは映像ディスプレイインタフェースを受ける映像接続インタフェース(例えば、RCAコンポジット映像ケーブルを受けるRCAコンポジット映像コネクタや、DVIディスプレイケーブルを受けるDVIコネクタ等)を通して合成された映像情報を提供する。
ユーザ入力機器811は、多くの場合周辺機器812(下記参照)の一種であり、以下の機器を含んでいてよい:カードリーダ、ドングル、指紋リーダ、データグローブ、グラフィックタブレット、ジョイスティック、キーボード、マイク、マウス、リモコン、網膜リーダ、タッチスクリーン(静電容量式、或いは抵抗式等)、トラックボール、トラックパッド、センサ(例えば、加速度計、周辺光、GPS、ジャイロスコープ、近接センサ等)、スタイラス等。
周辺機器812は、I/O、及び/又は、ネットワークインタフェース、ストレージインタフェース、インタフェースバスと直接、システムバス、CPU等の他の機器と接続し、及び/又は通信を行うものであってよい。周辺機器は外付け、内蔵型、及び/又はMTIコントローラの一部であってもよい。周辺機器は以下の機器を含んでいてよい:アンテナ、オーディオ機器(例えば、ライン入力、ライン出力、マイク入力、スピーカー等)、カメラ(例えば、スチルカメラ、ビデオカメラ、ウェブカメラ等)、ドングル(例えば、コピー保護や、デジタル署名つきの安全な取引を保証する目的等)、外部プロセッサ(追加される機能として、例えば、暗号機器828)、力フィードバック機器(例えば、振動モータ)、ネットワークインタフェース、プリンタ、スキャナ、記憶装置、送受信機(例えば、携帯電話、GPS等)、映像機器(例えば、ゴーグル、モニタ等)、映像ソース、バイザー等。周辺機器は、多くの場合複数種の入力機器(例えば、カメラ)を含む。
ユーザ入力機器及び周辺機器が用いられる場合であっても、MTIコントローラは、ネットワークインタフェース接続を介してアクセスが提供されれば、内蔵された、専用の、及び/又はモニタレス(つまり、ヘッドレスの)装置として実装されてもよいことに留意すべきである。
暗号化ユニットとして、マイクロコントローラ、プロセッサ826、インタフェース827、及び/又は、機器828が追加され、及び/又は、MTIコントローラと通信する構成としてもよいが、これに限られるものではない。モトローラ社製のMC68HC16マイクロコントローラを、暗号化ユニットのために、及び/又は、暗号化ユニット内で利用することができる。MC68HC16マイクロコントローラは16ビットの積和演算(multiply-and-accumulate)命令を16MHzの構成で実行し、512ビットのRSA秘密鍵の処理実行に1秒をも必要としない。暗号化ユニットは、匿名による処理を許容する場合のほか、対話するエージェントからの通信の場合にその認証を支援する。暗号化ユニットはCPUの一部として構成されてもよい。同等のマイクロコントローラ、及び/又は、プロセッサも使用してもよい。他の市販の専用の暗号化プロセッサとしては、Broadcom社のCryptoNetX及び他のセキュリティプロセッサ、nCipher社のnShield、SafeNet社の Luna PCI (例えば、7100) シリーズ、Semaphore Communications社の 40 MHz Roadrunner 184、サン社の暗号化アクセラレータ(例えば、Accelerator 6000 PCIe Board、 Accelerator 500 Daughtercard)、500+MB/sで暗号化命令を処理できるVia Nano Processor(例えば、L2100, L2200, U2400)line、VLSI Technology社の 33 MHz 6868等が挙げられる。
〈メモリ〉
一般的に、プロセッサが記憶装置に作用することを可能とし、及び/又は情報の検索を可能とする任意の機械化、及び/又は、実装例をメモリ829とみなせる。しかしながら、メモリは代替可能な技術及び資源であり、このため、多数のメモリ実施形態が、他の実施形態に代替して、或いは他の実施形態と併せて適用されうる。MTIコントローラ、及び/又は、コンピュータシステム部は様々な形式のメモリ829を採用してよいことが理解される。例えば、コンピュータシステム部は、チップ上のCPU内部メモリ(例えば、レジスタ)、RAM、ROM、及び他の記憶装置の動作が紙製のパンチテープ或いは紙製のパンチカード機構により提供されてもよいが、しかしながらそのような実施形態では動作速度が極めて遅くなる。典型的な構成では、メモリ829はROM806、RAM805、及び、ストレージデバイス814を備える。ストレージデバイス814は従来用いられている任意のコンピュータシステム記憶装置であってよい。ストレージデバイスは、ドラムメモリ、(固定された、及び/又は取り外し可能な)磁気ディスクドライブ、光磁気ドライブ、光学ドライブ(例えば、ブルーレイ、CD ROM/RAM/Recordable (R)/ReWritable (RW)、DVD R/RW、HD DVD R/RW等)、装置の配列(例えば、RAID(Redundant Array of Independent Disks))、固体記憶装置(例えば、USBメモリ、固体ドライブ(SSD)等)、その他プロセッサにより読み出し可能な記憶媒体等の機器を備えていてもよい。このように、コンピュータシステム部は一般にメモリを必要とし、使用する。
一般的に、プロセッサが記憶装置に作用することを可能とし、及び/又は情報の検索を可能とする任意の機械化、及び/又は、実装例をメモリ829とみなせる。しかしながら、メモリは代替可能な技術及び資源であり、このため、多数のメモリ実施形態が、他の実施形態に代替して、或いは他の実施形態と併せて適用されうる。MTIコントローラ、及び/又は、コンピュータシステム部は様々な形式のメモリ829を採用してよいことが理解される。例えば、コンピュータシステム部は、チップ上のCPU内部メモリ(例えば、レジスタ)、RAM、ROM、及び他の記憶装置の動作が紙製のパンチテープ或いは紙製のパンチカード機構により提供されてもよいが、しかしながらそのような実施形態では動作速度が極めて遅くなる。典型的な構成では、メモリ829はROM806、RAM805、及び、ストレージデバイス814を備える。ストレージデバイス814は従来用いられている任意のコンピュータシステム記憶装置であってよい。ストレージデバイスは、ドラムメモリ、(固定された、及び/又は取り外し可能な)磁気ディスクドライブ、光磁気ドライブ、光学ドライブ(例えば、ブルーレイ、CD ROM/RAM/Recordable (R)/ReWritable (RW)、DVD R/RW、HD DVD R/RW等)、装置の配列(例えば、RAID(Redundant Array of Independent Disks))、固体記憶装置(例えば、USBメモリ、固体ドライブ(SSD)等)、その他プロセッサにより読み出し可能な記憶媒体等の機器を備えていてもよい。このように、コンピュータシステム部は一般にメモリを必要とし、使用する。
〈コンポーネント集合体〉
メモリ829はプログラム、及び/又は、データベースコンポーネント、及び/又は、データの集合を含んでいてもよい。集合としては例えば下記のコンポーネントが挙げられるが、これに限られるものではない:オペレーティングシステムコンポーネント815(オペレーティングシステム)、情報サーバコンポーネント816(情報サーバ)、ユーザインタフェースコンポーネント817(ユーザインタフェース)、ウェブブラウザコンポーネント818(ウェブブラウザ)、データベース819、メールサーバコンポーネント821、メールクライアントコンポーネント822、暗号サーバコンポーネント820(暗号サーバ)、MTIコンポーネント835等。これらをまとめてコンポーネント集合体という。これらのコンポーネントは、ストレージデバイス、及び/又はインタフェースバスを介してアクセス可能なストレージデバイスに保持され、アクセスされる。当該コンポーネント集合体のうち従来構成にないプログラムコンポーネントについては、ローカルのストレージデバイス814に保持されるのが典型例であるが、周辺機器、RAM、通信ネットワークを介したリモート記憶装置、ROM等、様々な形式のメモリにロードされ、及び/又は、保持されても構わない。
メモリ829はプログラム、及び/又は、データベースコンポーネント、及び/又は、データの集合を含んでいてもよい。集合としては例えば下記のコンポーネントが挙げられるが、これに限られるものではない:オペレーティングシステムコンポーネント815(オペレーティングシステム)、情報サーバコンポーネント816(情報サーバ)、ユーザインタフェースコンポーネント817(ユーザインタフェース)、ウェブブラウザコンポーネント818(ウェブブラウザ)、データベース819、メールサーバコンポーネント821、メールクライアントコンポーネント822、暗号サーバコンポーネント820(暗号サーバ)、MTIコンポーネント835等。これらをまとめてコンポーネント集合体という。これらのコンポーネントは、ストレージデバイス、及び/又はインタフェースバスを介してアクセス可能なストレージデバイスに保持され、アクセスされる。当該コンポーネント集合体のうち従来構成にないプログラムコンポーネントについては、ローカルのストレージデバイス814に保持されるのが典型例であるが、周辺機器、RAM、通信ネットワークを介したリモート記憶装置、ROM等、様々な形式のメモリにロードされ、及び/又は、保持されても構わない。
〈オペレーティングシステム〉
オペレーティングシステムコンポーネント815は、MTIコントローラの動作を容易にするための実行可能なプログラムコンポーネントである。典型的には、オペレーティングシステムはI/O、ネットワークインタフェース、周辺機器、記憶装置等へのアクセスを容易にする。オペレーティングシステムは、高い耐障害性、拡張性を備えた、安全なシステムであってよく、例えば以下のオペレーティングシステムが挙げられる:Apple Macintosh OS X (Server)、AT&T Plan 9、Be OS、Unix(登録商標)及びUnix類似のシステムディストリビューション(例えば、AT&T UNIX、FreeBSD、NetBSD、OpenBSD等のBSD系(Berkley Software Distribution)、Red Hat、Ubuntu等のLinux(登録商標)ディストリビューション)等。しかしながら、下記に示すより限定的な、及び/又は、より安全ではないオペレーティングシステムを利用することもできる:Apple Macintosh OS、IBM OS/2、Microsoft DOS、Microsoft Windows(登録商標) 2000/2003/3.1/95/98/CE/Millenium/ NT/Vista/XP (Server)、Palm OS等。オペレーティングシステムは自身が属するコンポーネント集合体内の他のコンポーネント等と通信し、及び/又は、連絡を取り合う。多くの場合、オペレーティングシステムは他のプログラムコンポーネント、ユーザインタフェース等と連絡を取り合う。たとえば、オペレーティングシステムはプログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、及び/又は応答を制限し、通信し、生成し、取得し、及び/又は提供してもよい。オペレーティングシステムは、一旦CPUにより実行されると、通信ネットワーク、データ、I/O、周辺機器、プログラムコンポーネント、メモリ、及び、ユーザ入力機器等との対話を可能にする。オペレーティングシステムはMTIコントローラが通信ネットワーク813を通して他の存在と通信するための通信プロトコルを提供する。MTIコントローラによって、マルチキャスト、TCP/IP、UDP、ユニキャスト等といった種々の通信プロトコルがサブキャリア伝送機構として使用されてよいが、これに限られるものではない。
オペレーティングシステムコンポーネント815は、MTIコントローラの動作を容易にするための実行可能なプログラムコンポーネントである。典型的には、オペレーティングシステムはI/O、ネットワークインタフェース、周辺機器、記憶装置等へのアクセスを容易にする。オペレーティングシステムは、高い耐障害性、拡張性を備えた、安全なシステムであってよく、例えば以下のオペレーティングシステムが挙げられる:Apple Macintosh OS X (Server)、AT&T Plan 9、Be OS、Unix(登録商標)及びUnix類似のシステムディストリビューション(例えば、AT&T UNIX、FreeBSD、NetBSD、OpenBSD等のBSD系(Berkley Software Distribution)、Red Hat、Ubuntu等のLinux(登録商標)ディストリビューション)等。しかしながら、下記に示すより限定的な、及び/又は、より安全ではないオペレーティングシステムを利用することもできる:Apple Macintosh OS、IBM OS/2、Microsoft DOS、Microsoft Windows(登録商標) 2000/2003/3.1/95/98/CE/Millenium/ NT/Vista/XP (Server)、Palm OS等。オペレーティングシステムは自身が属するコンポーネント集合体内の他のコンポーネント等と通信し、及び/又は、連絡を取り合う。多くの場合、オペレーティングシステムは他のプログラムコンポーネント、ユーザインタフェース等と連絡を取り合う。たとえば、オペレーティングシステムはプログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、及び/又は応答を制限し、通信し、生成し、取得し、及び/又は提供してもよい。オペレーティングシステムは、一旦CPUにより実行されると、通信ネットワーク、データ、I/O、周辺機器、プログラムコンポーネント、メモリ、及び、ユーザ入力機器等との対話を可能にする。オペレーティングシステムはMTIコントローラが通信ネットワーク813を通して他の存在と通信するための通信プロトコルを提供する。MTIコントローラによって、マルチキャスト、TCP/IP、UDP、ユニキャスト等といった種々の通信プロトコルがサブキャリア伝送機構として使用されてよいが、これに限られるものではない。
〈情報サーバ〉
情報サーバコンポーネント816はCPUにより実行される保持されたプログラムコンポーネントである。情報サーバは従来のインターネット情報サーバであってよく、例えばApache Software FoundationのApache、Microsoft Internet Information Server等が挙げられるが、これに限られるものではない。情報サーバは例えば下記の機能を通してプログラムコンポーネントの実行を可能にする:ASP(Active Server Page)、ActiveX、(ANSI) (Objective-) C (++), C#及び/又は.NET, CGI(Common Gateway Interface)スクリプト、(ダイナミック)HTML(hypertext markup language)、FLASH、Java(登録商標)、JavaScript(登録商標)、PERL(Practical Extraction Report Language)、PHP(Hypertext Pre-Processor)、pipes、Python、WAP(wireless application protocol)、WebObjects等。情報サーバは下記の保護された通信プロトコルをサポートしてもよいが、これに限られるものではない:FTP(File Transfer Protocol)、HTTP(HyperText Transfer Protocol)、HTTPS(Secure Hypertext Transfer Protocol)、SSL(Secure Socket Layer)、メッセージ通信プロトコル(例えば、America Online (AOL) Instant Messenger (AIM)、Application Exchange (APEX)、ICQ、IRC(Internet Relay Chat) 、Microsoft Network (MSN) Messenger Service、PRIM(Presence and Instant Messaging Protocol)、Internet Engineering Task Force (IETF) Session Initiation Protocol(SIP)、SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE)、オープンXMLベースのXMPP(Extensible Messaging and Presence Protocol)(例えば、Jabber社或いはOpen Mobile Alliance (OMA)によるIMPS(Instant Messaging and Presence Service)、Yahoo! Instant Messenger Service)等。情報サーバはウェブページの形でウェブブラウザへ結果を提供し、他のプログラムコンポーネントとの対話を通してウェブページの編集と作成を可能にする。HTTP要求のうち、ドメインネームシステム(DNS)による名前解決の部分が特定の情報サーバにより解決されると、情報サーバは残りのHTTP要求に基づき、MTIコントローラ上の特定された場所の情報提示要求を解決する。例えば、http://123.124.125.126/myInformation.htmlのような要求は、DNSサーバによって解決されるIP部分"123.124.125.126"を有している。当該IP部分は、当該IPアドレスの情報サーバへ向けての要求であることを示す。当該情報サーバは、次にHTTP要求を"/myInformation.html"の部分について構文解析し、情報"myInformation.html"のあるメモリ内の場所を示して要求を解決する。また、他の情報サービスプロトコルは、種々のポート上で利用されるものであってよい。例えば、FTPによる通信がポート番号21で行われるとしてもよいし、或いは類似のポートで行われるとしてもよい。情報サーバは自身が属するコンポーネント集合体内の他のコンポーネント等と通信し、及び/又は、連絡を取り合う。多くの場合、情報サーバはMTIデータベース819、オペレーティングシステム、他のプログラムコンポーネント、ユーザインタフェース、ウェブブラウザ等と連絡を取り合う。
情報サーバコンポーネント816はCPUにより実行される保持されたプログラムコンポーネントである。情報サーバは従来のインターネット情報サーバであってよく、例えばApache Software FoundationのApache、Microsoft Internet Information Server等が挙げられるが、これに限られるものではない。情報サーバは例えば下記の機能を通してプログラムコンポーネントの実行を可能にする:ASP(Active Server Page)、ActiveX、(ANSI) (Objective-) C (++), C#及び/又は.NET, CGI(Common Gateway Interface)スクリプト、(ダイナミック)HTML(hypertext markup language)、FLASH、Java(登録商標)、JavaScript(登録商標)、PERL(Practical Extraction Report Language)、PHP(Hypertext Pre-Processor)、pipes、Python、WAP(wireless application protocol)、WebObjects等。情報サーバは下記の保護された通信プロトコルをサポートしてもよいが、これに限られるものではない:FTP(File Transfer Protocol)、HTTP(HyperText Transfer Protocol)、HTTPS(Secure Hypertext Transfer Protocol)、SSL(Secure Socket Layer)、メッセージ通信プロトコル(例えば、America Online (AOL) Instant Messenger (AIM)、Application Exchange (APEX)、ICQ、IRC(Internet Relay Chat) 、Microsoft Network (MSN) Messenger Service、PRIM(Presence and Instant Messaging Protocol)、Internet Engineering Task Force (IETF) Session Initiation Protocol(SIP)、SIP for Instant Messaging and Presence Leveraging Extensions (SIMPLE)、オープンXMLベースのXMPP(Extensible Messaging and Presence Protocol)(例えば、Jabber社或いはOpen Mobile Alliance (OMA)によるIMPS(Instant Messaging and Presence Service)、Yahoo! Instant Messenger Service)等。情報サーバはウェブページの形でウェブブラウザへ結果を提供し、他のプログラムコンポーネントとの対話を通してウェブページの編集と作成を可能にする。HTTP要求のうち、ドメインネームシステム(DNS)による名前解決の部分が特定の情報サーバにより解決されると、情報サーバは残りのHTTP要求に基づき、MTIコントローラ上の特定された場所の情報提示要求を解決する。例えば、http://123.124.125.126/myInformation.htmlのような要求は、DNSサーバによって解決されるIP部分"123.124.125.126"を有している。当該IP部分は、当該IPアドレスの情報サーバへ向けての要求であることを示す。当該情報サーバは、次にHTTP要求を"/myInformation.html"の部分について構文解析し、情報"myInformation.html"のあるメモリ内の場所を示して要求を解決する。また、他の情報サービスプロトコルは、種々のポート上で利用されるものであってよい。例えば、FTPによる通信がポート番号21で行われるとしてもよいし、或いは類似のポートで行われるとしてもよい。情報サーバは自身が属するコンポーネント集合体内の他のコンポーネント等と通信し、及び/又は、連絡を取り合う。多くの場合、情報サーバはMTIデータベース819、オペレーティングシステム、他のプログラムコンポーネント、ユーザインタフェース、ウェブブラウザ等と連絡を取り合う。
MTIデータベースへのアクセスは以降において例挙されるスクリプト言語(例えば、CGI)のような多数のデータベース通信メカニズムを介して、且つ、以降において例挙されるアプリケーション間通信チャネル(例えば、CORBA、WebObjects等)を介して行われる。ウェブブラウザを介したデータ要求は当該通信メカニズムによって、MTIが必要とする適切な文法に構文解析される。一実施形態において、情報サーバはウェブブラウザによってアクセス可能なウェブフォームを提供する。ウェブフォーム内の供給されたフィールドを構成するエントリが特定のフィールドへ入力済みとしてタグが付され、そのように構文解析がされる。その後、入力された語がフィールドタグとともに通過して、パーサに適切なテーブル、及び/又は、フィールドについて検索要求(クエリ)を生成する指示を行うように動作する。一実施形態において、パーサはタグ付けされたテキストエントリに基づき、適当なjoin/selectコマンドを用いた探索文字列のインスタンスを生成することにより標準のSQLのクエリを生成してよい。このとき、結果としてコマンドは通信メカニズムを介し、MTIにクエリとして提供される。クエリから検索結果生成に基づいて、その結果が通信メカニズムを通過し、初期化及び新たな出力ウェブページの生成のために通信メカニズムにより解析される。新たな出力ウェブページは情報サーバに提供され、情報サーバはそれを要求があったウェブブラウザに供給する。
また、情報サーバはプログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、及び/又は応答を制限し、通信し、生成し、取得し、及び/又は提供してもよい。
〈ユーザインタフェース〉
コンピュータインタフェースはいくつかの点において自動車の操作インタフェースと似ている。ステアリングホイール、変速レバー、及び、スピードメータといった自動車の操作インタフェース要素は、自動車のリソース及び状態へのアクセス、操作、及び表示を容易にしている。同様に、チェックボックス、カーソル、メニュー、スクロールバー、及びウィンドウ(これらはまとめて、ウィジェットと総称される)といったコンピュータ対話インタフェース要素は、データ、コンピュータハードウェア、オペレーティングシステムリソース、及び状態へのアクセス、機能、処理、及び表示を容易にする。操作インタフェースは一般にユーザインタフェースと呼ばれる。グラフィカルユーザインタフェース、例えば、Apple Macintosh Operating Systemの Aqua、IBM OS/2、Microsoft Windows 2000/2003/3.1/95/98/CE/Millenium/NT/XP/Vista/7(即ち、Aero)、Unix X-Window(例えば、KDE(K Desktop Environment)、mythTVやGNOME(GNU Network Object Model Environment)といった追加的なグラフィックインタフェースライブラリ及びレイヤを含む)、ウェブインタフェースライブラリ(例えば、ActiveX、AJAX、(D)HTML、FLASH、Java、JavaScript等があり、インタフェースライブラリとしては、Dojo、jQuery(UI)、MooTools、Prototype、script.aculo.us、SWFObject、Yahoo! User Interfaceの何れかを利用できるが、これに限られるものではない)が、情報にアクセスし、ユーザに図示的に表示するための基準及び手段を提供する。
コンピュータインタフェースはいくつかの点において自動車の操作インタフェースと似ている。ステアリングホイール、変速レバー、及び、スピードメータといった自動車の操作インタフェース要素は、自動車のリソース及び状態へのアクセス、操作、及び表示を容易にしている。同様に、チェックボックス、カーソル、メニュー、スクロールバー、及びウィンドウ(これらはまとめて、ウィジェットと総称される)といったコンピュータ対話インタフェース要素は、データ、コンピュータハードウェア、オペレーティングシステムリソース、及び状態へのアクセス、機能、処理、及び表示を容易にする。操作インタフェースは一般にユーザインタフェースと呼ばれる。グラフィカルユーザインタフェース、例えば、Apple Macintosh Operating Systemの Aqua、IBM OS/2、Microsoft Windows 2000/2003/3.1/95/98/CE/Millenium/NT/XP/Vista/7(即ち、Aero)、Unix X-Window(例えば、KDE(K Desktop Environment)、mythTVやGNOME(GNU Network Object Model Environment)といった追加的なグラフィックインタフェースライブラリ及びレイヤを含む)、ウェブインタフェースライブラリ(例えば、ActiveX、AJAX、(D)HTML、FLASH、Java、JavaScript等があり、インタフェースライブラリとしては、Dojo、jQuery(UI)、MooTools、Prototype、script.aculo.us、SWFObject、Yahoo! User Interfaceの何れかを利用できるが、これに限られるものではない)が、情報にアクセスし、ユーザに図示的に表示するための基準及び手段を提供する。
ユーザインタフェースコンポーネント817はCPUにより実行される保持されたプログラムコンポーネントである。ユーザインタフェースは、オペレーティングシステム、及び/又はオペレーティング環境によって、これらと一緒に、及び/又は、これらの上で提供される、上述した従来のグラフィカルユーザインタフェースであってよい。ユーザインタフェースはテキスト形式の、及び/又はグラフィック形式の設備を通して、プログラムコンポーネント、及び/又は、システム機能との表示、実行、対話、編集、及び/又は処理を可能にする。ユーザインタフェースはユーザがコンピュータシステムに作用し、対話し、操作するための設備を提供する。ユーザインタフェースは自身が属するコンポーネント集合体内の他のコンポーネント等と通信し、及び/又は、連絡を取り合う。多くの場合、ユーザインタフェースはオペレーティングシステムや他のプログラムコンポーネント等と連絡を取り合う。ユーザインタフェースはプログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、及び/又は応答を制限し、通信し、生成し、取得し、及び/又は提供してもよい。
〈ウェブブラウザ〉
ウェブブラウザコンポーネント818はCPUにより実行される保持されたプログラムコンポーネントである。ウェブブラウザはMicrosoft Internet Explorer 或いは Netscape Navigator等といった従来のハイパーテキスト閲覧アプリケーションであってよい。安全なウェブブラウジングがHTTPS、SSL等を介した128ビット(或いはそれ以上)の暗号化を用いて提供されてもよい。ウェブブラウザは、例えばActiveX、AJAX、(D)HTML、FLASH、Java、JavaScript、プラグインAPI(例えば、FireFox、Safari Plug-in等のAPI)等の機能によって、プログラムコンポーネントの実行が可能である。ウェブブラウザ、及び同様の情報アクセスツールはPDA、携帯電話、及び/又は、他の携帯機器に統合されていてもよい。ウェブブラウザは自身が属するコンポーネント集合体内の他のコンポーネント等と通信し、及び/又は、連絡を取り合う。多くの場合、ウェブブラウザは情報サーバ、オペレーティングシステム、統合されたプログラムコンポーネント(例えば、プラグイン)等と連絡を取り合う。例えば、ウェブブラウザはプログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、及び/又は応答を制限し、通信し、生成し、取得し、及び/又は提供してもよい。さらに、ウェブブラウザと情報サーバの代わりに、結合されたアプリケーションが両方と同様の処理を行うために開発されてもよい。当該結合されたアプリケーションは、同様にユーザ、ユーザエージェント、及び/又は、MTI可能なノードからの同等物への情報の取得、供給に影響を与えるであろう。結合されたアプリケーションは標準的なウェブブラウザが稼動するシステムからは無効(nugatory)であってもよい。
ウェブブラウザコンポーネント818はCPUにより実行される保持されたプログラムコンポーネントである。ウェブブラウザはMicrosoft Internet Explorer 或いは Netscape Navigator等といった従来のハイパーテキスト閲覧アプリケーションであってよい。安全なウェブブラウジングがHTTPS、SSL等を介した128ビット(或いはそれ以上)の暗号化を用いて提供されてもよい。ウェブブラウザは、例えばActiveX、AJAX、(D)HTML、FLASH、Java、JavaScript、プラグインAPI(例えば、FireFox、Safari Plug-in等のAPI)等の機能によって、プログラムコンポーネントの実行が可能である。ウェブブラウザ、及び同様の情報アクセスツールはPDA、携帯電話、及び/又は、他の携帯機器に統合されていてもよい。ウェブブラウザは自身が属するコンポーネント集合体内の他のコンポーネント等と通信し、及び/又は、連絡を取り合う。多くの場合、ウェブブラウザは情報サーバ、オペレーティングシステム、統合されたプログラムコンポーネント(例えば、プラグイン)等と連絡を取り合う。例えば、ウェブブラウザはプログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、及び/又は応答を制限し、通信し、生成し、取得し、及び/又は提供してもよい。さらに、ウェブブラウザと情報サーバの代わりに、結合されたアプリケーションが両方と同様の処理を行うために開発されてもよい。当該結合されたアプリケーションは、同様にユーザ、ユーザエージェント、及び/又は、MTI可能なノードからの同等物への情報の取得、供給に影響を与えるであろう。結合されたアプリケーションは標準的なウェブブラウザが稼動するシステムからは無効(nugatory)であってもよい。
〈メールサーバ〉
メールサーバコンポーネント821はCPU803により実行される保持されたプログラムコンポーネントである。メールサーバは、sendmail、Microsoft Exchange等のような従来のインターネットメールサーバであってよいが、これに限られるものではない。メールサーバは、ASP、ActiveX、(ANSI) (Objective-) C (++)、C#、及び/又は.NET、CGIスクリプト、Java、JavaScript、PERL、PHP、pipes、Python、WebObjects等の機能によってプログラムコンポーネントの実行を可能としてもよい。メールサーバは下記の通信プロトコルに対応してもよいが、これに限られるものではない:IMAP(Internet message access protocol)、MAPI(Messaging Application Programming Interface)/Microsoft Exchange、POP3(post office protocol)、SMTP(simple mail transfer protocol)等。メールサーバは、MTIを通って、及び/又はMTIへと送信された、中継された、及び/又は転送途中の、到着する及び外に出て行くメールメッセージの配送先を決定し、転送し、処理する。
メールサーバコンポーネント821はCPU803により実行される保持されたプログラムコンポーネントである。メールサーバは、sendmail、Microsoft Exchange等のような従来のインターネットメールサーバであってよいが、これに限られるものではない。メールサーバは、ASP、ActiveX、(ANSI) (Objective-) C (++)、C#、及び/又は.NET、CGIスクリプト、Java、JavaScript、PERL、PHP、pipes、Python、WebObjects等の機能によってプログラムコンポーネントの実行を可能としてもよい。メールサーバは下記の通信プロトコルに対応してもよいが、これに限られるものではない:IMAP(Internet message access protocol)、MAPI(Messaging Application Programming Interface)/Microsoft Exchange、POP3(post office protocol)、SMTP(simple mail transfer protocol)等。メールサーバは、MTIを通って、及び/又はMTIへと送信された、中継された、及び/又は転送途中の、到着する及び外に出て行くメールメッセージの配送先を決定し、転送し、処理する。
MTIメールへのアクセスは、個々のウェブサーバコンポーネント及び/又はオペレーティングシステムにより提供される多数のAPIを介してなされてもよい。
また、メールサーバはプログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、情報、及び/又は応答を制限し、通信し、生成し、取得し、及び/又は提供してもよい。
〈メールクライアント〉
メールクライアントコンポーネント822はCPU803により実行される保持されたプログラムコンポーネントである。メールクライアントはApple Mail、Microsoft Entourage、Microsoft Outlook、Microsoft Outlook Express、Mozilla、Thunderbird等の従来のメール閲覧アプリケーションであってよい。メールクライアントはIMAP、Microsoft Exchange、POP3、SMTP等といった多くの転送プロトコルに対応してもよい。メールクライアントは自身が属するコンポーネント集合体内の他のコンポーネント等と通信し、及び/又は、連絡を取り合う。多くの場合、メールクライアントはメールサーバ、オペレーティングシステム、他のメールクライアント等と連絡を取り合う。例えば、メールクライアントはプログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、情報、及び/又は応答を制限し、通信し、生成し、取得し、及び/又は提供してもよい。一般に、メールクライアントは電子メールメッセージを作成し、送信する機能を提供する。
メールクライアントコンポーネント822はCPU803により実行される保持されたプログラムコンポーネントである。メールクライアントはApple Mail、Microsoft Entourage、Microsoft Outlook、Microsoft Outlook Express、Mozilla、Thunderbird等の従来のメール閲覧アプリケーションであってよい。メールクライアントはIMAP、Microsoft Exchange、POP3、SMTP等といった多くの転送プロトコルに対応してもよい。メールクライアントは自身が属するコンポーネント集合体内の他のコンポーネント等と通信し、及び/又は、連絡を取り合う。多くの場合、メールクライアントはメールサーバ、オペレーティングシステム、他のメールクライアント等と連絡を取り合う。例えば、メールクライアントはプログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、情報、及び/又は応答を制限し、通信し、生成し、取得し、及び/又は提供してもよい。一般に、メールクライアントは電子メールメッセージを作成し、送信する機能を提供する。
〈暗号サーバ〉
暗号サーバコンポーネント820はCPU803、暗号化プロセッサ826、暗号化プロセッサインタフェース827、暗号化処理機器828等により実行される保持されたプログラムコンポーネントである。暗号化プロセッサインタフェースは暗号コンポーネントによる暗号化/復号化要求の迅速処理を可能にする。しかしながら、暗号コンポーネントは、代替的に、従来のCPU上で動作してもよい。暗号コンポーネントは与えられたデータの暗号化、及び/又は、復号化を可能にする。暗号コンポーネントは対称暗号方式、及び非対称暗号方式(例えば、PGP(Pretty Good Protection))の両方につき、暗号化、及び/又は、復号化を可能にする。暗号コンポーネントは下記の暗号化技術を適用してもよいが、これに限られるものではない:デジタル証明書(例えば、X.509の枠組みによる)、デジタル署名、二重署名、封書化(enveloping)、パスワードによるアクセス保護、公開鍵管理等。暗号コンポーネントは以下の多数の(暗号化、及び/又は、復号化の)セキュリティプロトコルを利用可能とするが、これに限られるものではない:チェックサム、DES(Data Encryption Standard)、楕円曲線暗号(ECC)、IDEA(International Data Encryption Algorithm)、(一方向ハッシュ演算である)MD5(Message Digest 5)、パスワード、RC5(Rivest Cipher)、Rijndael暗号、RSA(Ron Rivest、Adi Shamir、Leonard Adlemanによって1977年に開発されたアルゴリズムを利用するインタネット上の暗号/認証システム)、SHA(Secure Hash Algorithm)、SSL(Secure Socket Layer)、HTTPS(Secure Hypertext Transfer Protocol)等。上記の暗号化セキュリティプロトコルを利用するに際し、MTIは全ての行き来する通信を暗号化し、より広域の通信ネットワークにおける1つの仮想プライベートネットワーク(VPN)内のノードとして働く。暗号コンポーネントは「セキュリティ認証」処理を容易にし、この結果、リソースへのアクセスは、セキュリティプロトコルによって制限されるとともに、暗号コンポーネントが保護されたリソースへの認証されたアクセスを生じさせる。加えて、暗号コンポーネントは、例えばMD5ハッシュを用いてデジタル音声ファイルの一意的な署名を取得する等、コンテンツの一意的な識別子を提供してもよい。暗号コンポーネントは自身が属するコンポーネント集合体内の他のコンポーネント等と通信し、及び/又は、連絡を取り合う。暗号コンポーネントは、MTIコンポーネントが求めに応じて保護されたトランザクション処理を行うことのできるように、通信ネットワークを介した情報の保護された伝送を可能とする暗号化スキームに対応する。暗号コンポーネントはMTI上のリソースへの保護されたアクセスを容易にするとともに、リモートシステム上の保護されたリソースへのアクセスを容易にする。つまり、保護されたリソースのクライアント、及び/又は、サーバとして働く。多くの場合、暗号コンポーネントは情報サーバ、オペレーティングシステム、他のプログラムコンポーネント等と連絡を取り合う。暗号コンポーネントはプログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、及び/又は応答を制限し、通信し、生成し、取得し、及び/又は提供してもよい。
暗号サーバコンポーネント820はCPU803、暗号化プロセッサ826、暗号化プロセッサインタフェース827、暗号化処理機器828等により実行される保持されたプログラムコンポーネントである。暗号化プロセッサインタフェースは暗号コンポーネントによる暗号化/復号化要求の迅速処理を可能にする。しかしながら、暗号コンポーネントは、代替的に、従来のCPU上で動作してもよい。暗号コンポーネントは与えられたデータの暗号化、及び/又は、復号化を可能にする。暗号コンポーネントは対称暗号方式、及び非対称暗号方式(例えば、PGP(Pretty Good Protection))の両方につき、暗号化、及び/又は、復号化を可能にする。暗号コンポーネントは下記の暗号化技術を適用してもよいが、これに限られるものではない:デジタル証明書(例えば、X.509の枠組みによる)、デジタル署名、二重署名、封書化(enveloping)、パスワードによるアクセス保護、公開鍵管理等。暗号コンポーネントは以下の多数の(暗号化、及び/又は、復号化の)セキュリティプロトコルを利用可能とするが、これに限られるものではない:チェックサム、DES(Data Encryption Standard)、楕円曲線暗号(ECC)、IDEA(International Data Encryption Algorithm)、(一方向ハッシュ演算である)MD5(Message Digest 5)、パスワード、RC5(Rivest Cipher)、Rijndael暗号、RSA(Ron Rivest、Adi Shamir、Leonard Adlemanによって1977年に開発されたアルゴリズムを利用するインタネット上の暗号/認証システム)、SHA(Secure Hash Algorithm)、SSL(Secure Socket Layer)、HTTPS(Secure Hypertext Transfer Protocol)等。上記の暗号化セキュリティプロトコルを利用するに際し、MTIは全ての行き来する通信を暗号化し、より広域の通信ネットワークにおける1つの仮想プライベートネットワーク(VPN)内のノードとして働く。暗号コンポーネントは「セキュリティ認証」処理を容易にし、この結果、リソースへのアクセスは、セキュリティプロトコルによって制限されるとともに、暗号コンポーネントが保護されたリソースへの認証されたアクセスを生じさせる。加えて、暗号コンポーネントは、例えばMD5ハッシュを用いてデジタル音声ファイルの一意的な署名を取得する等、コンテンツの一意的な識別子を提供してもよい。暗号コンポーネントは自身が属するコンポーネント集合体内の他のコンポーネント等と通信し、及び/又は、連絡を取り合う。暗号コンポーネントは、MTIコンポーネントが求めに応じて保護されたトランザクション処理を行うことのできるように、通信ネットワークを介した情報の保護された伝送を可能とする暗号化スキームに対応する。暗号コンポーネントはMTI上のリソースへの保護されたアクセスを容易にするとともに、リモートシステム上の保護されたリソースへのアクセスを容易にする。つまり、保護されたリソースのクライアント、及び/又は、サーバとして働く。多くの場合、暗号コンポーネントは情報サーバ、オペレーティングシステム、他のプログラムコンポーネント等と連絡を取り合う。暗号コンポーネントはプログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、及び/又は応答を制限し、通信し、生成し、取得し、及び/又は提供してもよい。
〈MTIデータベース〉
MTIデータベースコンポーネント(MTIデータベース)819はデータベース及びその保持されるデータ内部に実装される。データベースはCPUにより実行される保持されたプログラムコンポーネントであり、当該保持されたプログラムコンポーネント部分が、保持されたデータをCPUが処理するように構成する。データベースは、例えばOracle又はSybaseのような、従来の、高い耐障害性を備えた、リレーショナルな、拡張性を備えた、保護されたデータベースであってよい。リレーショナルデータベースはフラットファイルを拡張したものである。リレーショナルデータベースは一連の関係するテーブルからなる。テーブルはキーフィールドを介して相互接続されている。キーフィールドを使用し、キーフィールドに対して索引を付すことで、複数のテーブル同士を結合することが可能になる。即ち、キーフィールドは様々なテーブルからの情報を結合する次元の回転中心として働く。関係付けは、一般にプライマリキーを適合させることによりテーブル間に維持されるリンクを確認する。プライマリキーはリレーショナルデータベースにおけるテーブルの行を一意に特定するフィールドを表す。より正確には、それは一対多の関係のあるテーブルの「一」側のテーブルの行を一意に特定する。
MTIデータベースコンポーネント(MTIデータベース)819はデータベース及びその保持されるデータ内部に実装される。データベースはCPUにより実行される保持されたプログラムコンポーネントであり、当該保持されたプログラムコンポーネント部分が、保持されたデータをCPUが処理するように構成する。データベースは、例えばOracle又はSybaseのような、従来の、高い耐障害性を備えた、リレーショナルな、拡張性を備えた、保護されたデータベースであってよい。リレーショナルデータベースはフラットファイルを拡張したものである。リレーショナルデータベースは一連の関係するテーブルからなる。テーブルはキーフィールドを介して相互接続されている。キーフィールドを使用し、キーフィールドに対して索引を付すことで、複数のテーブル同士を結合することが可能になる。即ち、キーフィールドは様々なテーブルからの情報を結合する次元の回転中心として働く。関係付けは、一般にプライマリキーを適合させることによりテーブル間に維持されるリンクを確認する。プライマリキーはリレーショナルデータベースにおけるテーブルの行を一意に特定するフィールドを表す。より正確には、それは一対多の関係のあるテーブルの「一」側のテーブルの行を一意に特定する。
代わりに、MTIデータベースは例えば配列、ハッシュ、(連結)リスト、構造体、構造化されたテキストファイル(例えば、XML)、テーブル等、種々の標準的なデータ構造を使用して実装されていてもよい。これらのデータ構造はメモリ内に、及び/又は、(構造化された)ファイル内に格納されていてもよい。また別の方法として、例えばFrontier、 ObjectStore、Poet、Zope等のオブジェクト指向データベースを利用してもよい。オブジェクトデータベースは共通の属性によりグループ化され、及び/又は互いに結びつけられた多数のオブジェクト集合を含む。オブジェクト集合はある共通の属性によって他のオブジェクト集合と関係付けられてよい。オブジェクト指向データベースは、オブジェクトが単なるデータの一片ではなく、別種の機能が所定のオブジェクト内に隠蔽(カプセル化)されている場合があることを除いて、リレーショナルデータベースと同様の動作をする。MTIデータベースがデータ構造として実装される場合、MTIデータベース819の利用は例えばMTIコンポーネント835のような他のコンポーネント内に統合されていてもよい。さらに、データ構造、オブジェクト、及びリレーショナル構造を混合してデータベースが実装されていてもよい。データベースは、標準のデータ処理技術による無数の設計変更に応じて統一され、及び/又は、分散されていてもよい。データベースの部分、例えば、テーブルは、エクスポート、及び/又は、インポートされてもよく、これにより分散管理され、及び/又は、集中管理される。
一実施形態では、データベースコンポーネント819は複数個のテーブル819a〜jを含む。ユーザテーブル819aは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:user_id、ssn、dob、first_name、last_name、age、state、address_firstline、address_secondline、zipcode、devices_list、contact_info、contact_type、alt_contact_info、alt_contact_type等。ユーザテーブルはMTI上の複数の実在するアカウントに対応し、アカウントを追跡する。
デバイステーブル819bは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:device_ID、device_name、device_IP、device_MAC、device_type、device_model、device_version、device_OS、device_apps_list、device_securekey等。
アプリテーブル819cは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:app_ID、app_name、app_type、app_dependencies等。
ジェスチャーテーブル819dは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:gesture_id、gesture_name、gesture_touch_group_definition、gesture_timing_sequence、gesture_enabled_flag、gesture_settings_list、gesture_settings_values等。
入力機器テーブル819eは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:device_ID、device_name、device_IP、device_MAC、device_type、device_model、device_version、device_OS、device_apps_list、device_securekey等。
コマンドテーブル819fは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:command_id、command_name、command_syntax、command_compiler、command_inputs、command_exceptions_list、command_gesture_trigger等。
センサテーブル819gは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:sensor_id、sensor_name、sensor_type、last_calibrated、sensor_data_rate、sensor_data_format、sensor_data_error_estimate、sensor_trigger_type、sensor_trigger_condition、sensor_burst_enable_flag、sensor_continuous_enable_flag等。
較正データテーブル819hは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:calibration_id、calibration_type、calibration_device_applicable、calibration_variables_list、calibration_variables_values等。
閾値テーブル819iは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:threshold_id、threshold_name、threshold_type、threshold_dynamic_parameter、threshold_value、threshold_delta、threshold_last_update、threshold_calibrated_flag等。
タッチ履歴テーブル819jは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:timestamp、user_id、user_app_id、user_device_id、user_gesture_id、user_command_id等。
デバイステーブル819bは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:device_ID、device_name、device_IP、device_MAC、device_type、device_model、device_version、device_OS、device_apps_list、device_securekey等。
アプリテーブル819cは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:app_ID、app_name、app_type、app_dependencies等。
ジェスチャーテーブル819dは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:gesture_id、gesture_name、gesture_touch_group_definition、gesture_timing_sequence、gesture_enabled_flag、gesture_settings_list、gesture_settings_values等。
入力機器テーブル819eは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:device_ID、device_name、device_IP、device_MAC、device_type、device_model、device_version、device_OS、device_apps_list、device_securekey等。
コマンドテーブル819fは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:command_id、command_name、command_syntax、command_compiler、command_inputs、command_exceptions_list、command_gesture_trigger等。
センサテーブル819gは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:sensor_id、sensor_name、sensor_type、last_calibrated、sensor_data_rate、sensor_data_format、sensor_data_error_estimate、sensor_trigger_type、sensor_trigger_condition、sensor_burst_enable_flag、sensor_continuous_enable_flag等。
較正データテーブル819hは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:calibration_id、calibration_type、calibration_device_applicable、calibration_variables_list、calibration_variables_values等。
閾値テーブル819iは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:threshold_id、threshold_name、threshold_type、threshold_dynamic_parameter、threshold_value、threshold_delta、threshold_last_update、threshold_calibrated_flag等。
タッチ履歴テーブル819jは例えば下記のフィールドを備えて構成されてよいが、これに限られるものではない:timestamp、user_id、user_app_id、user_device_id、user_gesture_id、user_command_id等。
一実施形態において、MTIデータベースは他のデータベースシステムと交信してもよい。例えば、分散型データベースシステムを採用することにより、MTIコンポーネント検索によるクエリ及びデータアクセスは、MTIデータベースが結合され、統合化されたデータ・セキュリティレイヤデータベースを単一のデータベースとして扱ってもよい。
一実施形態において、ユーザプログラムはMTIをアップデートするために提供されうる種々の基本的なユーザインタフェースを包含してもよい。また、アカウントが多様であることにより、MTIの提供を必要とするクライアントの種類、環境に応じてカスタムデータベーステーブルが必要となる。任意の一意なフィールドがあらゆる場所でキーフィールドとして指定されうることに留意すべきである。代替の実施形態では、これらのテーブルはこれら自身のデータベース、及び、夫々のデータベースコントローラ(即ち、上記テーブルの夫々に対応する個々のデータベースコントローラ)に分散されている。標準のデータ処理技術を用いて、データベースをさらに複数のコンピュータシステム部、及び/又は、複数のストレージデバイスに渡って分散させてもよい。同様に、分散的なデータベースコントローラの構成は、種々のデータベースコンポーネント819a〜jの一元化、及び/又は、分散化に応じて様々であってよい。MTIは、データベースコントローラを介した様々な設定、入力、及びパラメータを把握できるように構成されている。
MTIデータベースは自身が属するコンポーネント集合体内の他のコンポーネント等と通信し、及び/又は、連絡を取り合う。多くの場合、MTIデータベースはMTIコンポーネント、他のプログラムコンポーネント等と連絡を取り合う。データベースは他のノードに関する情報及びデータを制限し、維持し、及び、提供してもよい。
〈MTI〉
MTIコンポーネント835はCPUにより実行される保持されたプログラムコンポーネントである。一実施形態において、MTIコンポーネントは前図(図8)において説明したMTIの態様の何れかの、及び/又は全ての組み合わせを包含する。そして、MTIは種々の通信ネットワークを介し、情報、サービス、トランザクション等のアクセス、取得、供給等に作用する。
MTIコンポーネント835はCPUにより実行される保持されたプログラムコンポーネントである。一実施形態において、MTIコンポーネントは前図(図8)において説明したMTIの態様の何れかの、及び/又は全ての組み合わせを包含する。そして、MTIは種々の通信ネットワークを介し、情報、サービス、トランザクション等のアクセス、取得、供給等に作用する。
当該MTIコンポーネントは、複数ユーザによる、マルチモーダルなタッチスクリーンを介したジェスチャー入力を複数のMTIコンポーネントを介して変換し、ユーザによりカスタマイズされた計算結果を表示し、MTIを使用してよい。一実施形態において、MTIコンポーネント835は、(例えば、タッチ入力401、以前のタッチ入力の組409、ユーザコマンド413、416、変更されたユーザコマンド420、光強度信号501、タッチID、位置座標601、701等の)入力を受け、(例えば、マルチモーダルタッチ処理部(MTP)841、タッチ座標決定部(TCD)842、タッチ種別識別部(TII)843、タッチグループ解析部(TGR)844等の)MTIコンポーネントを介し、(例えば、実行されたユーザコマンド421、重心座標505、タッチIDと位置座標506、タッチIDとタッチ種別608、タッチグループ706等の)出力に変換する。
ノード間の情報のアクセスが可能なMTIコンポーネントが、以下の標準開発ツール及び言語を利用することにより開発可能であるが、これに限られるものではない:Apacheコンポーネント、アセンブリ言語、ActiveX、実行可能なバイナリ、(ANSI) (Objective-) C (++)、C#及び/又は.NET、データベースアダプタ、CGIスクリプト、Java、JavaScript、マッピングツール、手続き型及びオブジェクト指向開発ツール、PERL、PHP、Python、シェルスクリプト、SQLコマンド、ウェブアプリケーションサーバ拡張、ウェブ開発環境及びライブラリ(例えば、Microsoft ActiveX、Adobe AIR, FLEX & FLASH、AJAX、(D)HTML、Dojo、Java、JavaScript、jQuery(UI)、MooTools、Prototype、script.aculo.us、SOAP (Simple Object Access Protocol)、SWFObject、Yahoo! User Interface等)、WebObjects等。一実施形態において、MTIサーバは通信の暗号化及び復号化のために暗号サーバを採用してもよい。MTIコンポーネントは自身が属するコンポーネント集合体内の他のコンポーネント等と通信し、及び/又は、連絡を取り合う。多くの場合、MTIコンポーネントはMTIデータベース、オペレーティングシステム、他のプログラムコンポーネント等と連絡を取り合う。MTIコンポーネントはプログラムコンポーネント、システム、ユーザ、及び/又はデータ通信、要求、及び/又は応答を制限し、通信し、生成し、取得し、及び/又は提供してもよい。
〈分散型MTI〉
MTIノードコントローラコンポーネントは、その複数の何れかの構造及び/又は動作が、開発、及び/又は、配置が容易となるように、種々の方法で結合され、一元化され、及び/又は、分散されてもよい。同様に、コンポーネント集合体は開発、及び/又は、配置が容易となるように、種々の方法で結合されていてもよい。このために、コンポーネントを共通のコードベース、又は、要求に応じてコンポーネントを動的にロードできる機能で一体的に統合してもよい。
MTIノードコントローラコンポーネントは、その複数の何れかの構造及び/又は動作が、開発、及び/又は、配置が容易となるように、種々の方法で結合され、一元化され、及び/又は、分散されてもよい。同様に、コンポーネント集合体は開発、及び/又は、配置が容易となるように、種々の方法で結合されていてもよい。このために、コンポーネントを共通のコードベース、又は、要求に応じてコンポーネントを動的にロードできる機能で一体的に統合してもよい。
コンポーネント集合体は、標準のデータ処理技術、及び/又は、開発技術による無数の設計変更に応じて統合され、及び/又は、分散されていてもよい。コンポーネント集合体内のプログラムコンポーネントの複数インスタンスが、何れも単一ノード上でインスタンスが生成されるか、及び/又は、負荷分散及び/又はデータ処理技術によりパフォーマンスが向上するように、多数のノード上でインスタンスが生成されていてもよい。さらに、一のインスタンスが複数のコントローラ及び/又は複数の記憶装置(例えば、データベース)に渡って分散されていてもよい。協調して動作する全てのプログラムコンポーネントインスタンス及びコントローラは、標準のデータ処理・通信技術によってそのようにしてよい。
MTIコントローラの構成はシステムの配備構成に依存する。例えば、予算、性能、場所、及び/又は基礎となるハードウェア資源の使用(これらに限られるものではない)が、配備の条件及び構成に影響を及ぼす。より一元化され、及び/又は統合されたプログラムコンポーネントを備えた構成となるか、より分散された一連のプログラムコンポーネントを備えた構成となるか、及び/又は、より一元化された構成とより分散された構成の組み合わせとなるかを問わず、データは通信され、取得され、及び/又は、提示される。プログラムコンポーネント集合体から共通のコードベースに一元化されたコンポーネントのインスタンスが、データの通信、取得、及び/又は提示を行ってもよい。これは、例えば、データ参照(例えばポインタ)、内部メッセージング、オブジェクトインスタンス可変通信、共有メモリ空間、可変パッシング等のアプリケーション内データ処理通信技術により可能となるが、これに限られるものではない。
コンポーネント集合のコンポーネントが孤立して、ばらばらで、及び/又は、他に対して外部に存在する場合、他のコンポーネントとの、及び/又は他のコンポーネントへのデータの通信、取得、及び/又は提示は、例えば下記に示すアプリケーション間データ処理通信技術により可能となるが、これに限られるものではない:API(Application Program Interfaces)情報パッセージ、(分散型)COM(Component Object Model)、(分散型)OLE(Object Linking and Embedding等)、CORBA(Common Object Request Broker Architecture)、Jini local and remote application program interfaces、JSON(JavaScript Object Notation)、RMI(Remote Method Invocation)、SOAP、プロセスパイプ、共有ファイル等。アプリケーション間通信を介して別々のコンポーネント間で送信されるメッセージ、又は、アプリケーション内通信を介して単一のコンポーテントのメモリ空間へ送信されるメッセージは、文法(grammar)の生成及び解析によって容易となる。文法は例えばlex、yacc、XML等の文法を生成し解析する機能を有して、コンポーネント内、及びコンポーテント間の通信メッセージの基礎を生成する開発ツールの利用によって開発されてもよい。
例として、HTTPのポストコマンドのトークンを認識するように配列された下記の文法を考える。
w3c -post http://... Value1
w3c -post http://... Value1
ここで、"http://"は文法構文(grammar syntax)の一部であり、その次に続くものがpost値と認識されるため、Value1はパラメータとして識別される。同様に、そのような文法では、変数"Value1"は"http://"ポストコマンド内に挿入した状態で送信されてもよい。文法構文自体は、構文解析メカニズムの生成のために解釈、及び/又は使用される構造化されたデータ(例えば、lexやyacc等が生成する構文記述テキストファイル)として提示されてもよい。また、一度構文解析メカニズムが生成され、及び/又は、インスタンス化されると、当該構文解析メカニズムは自身で、文字(例えばタブ)で区切られたテキスト、HTML、構造化されたテキストストリーム、XML等の構造化されたデータ(これに限られるものではない)を処理、及び/又は、解析してもよい。別の実施形態では、アプリケーション間データ処理プロトコルそれ自身が、統合化された、及び/又は、直ちに利用可能なパーサ(例えば、JSON、SOAP等)を有し、(例えば、通信文)データを構文解析するために利用されてもよい。さらに、メッセージ解析のほか、データベース、データ集合体、データ蓄積、構造化データ等の解析にも、文法解析を行ってもよい。また、システム配備の内容、環境、及び条件に応じて、所望の構成は変化する。
例えば、いくつかの実装例では、MTIコントローラは、情報サーバを介し、SSL(Secure Sockets Layer)ソケットサーバを実装したPHPスクリプトを実行してもよい。PHPスクリプトは、サーバ上のあるポートを待機状態とし、クライアントが例えばJSONフォーマットで符号化されたデータを当該ポートに向けて送信するとき、当該ポートから到来する通信に耳を傾ける。到来する通信文の識別後、PHPスクリプトはクライアント機器からの到来メッセージを読み取り、受信したJSON符号化されたテキストデータを構文解析により当該JSON符号化されたテキストデータから情報を取り出してPHPスクリプトの変数とし、(例えば、クライアント識別情報等の)データ、及び/又は、取り出された情報をSQL(Structured Query Language)によりアクセス可能なリレーショナルデータベースに保存する。SSL接続を介してクライアント機器からJSON符号化された入力データを受け付け、当該データを構文解析して変数を取り出し、データをデータベースに保存するための、実質的にPHP/SQLコマンドの形式で記載された例示的なリストを、以下に示す。
<?PHP
header('Content-Type: text/plain');
// set ip address and port to listen to for incoming data
$address = '192.168.0.100';
$port = 255;
// create a server-side SSL socket, listen for/accept incoming communication
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, $port) or die('Could not bind to address');
socket_listen($sock);
$client = socket_accept($sock);
// read input data from client device in 1024 byte blocks until end of message
do {
$input = "";
$input = socket_read($client, 1024);
$data .= $input;
} while ($input != "");
// parse data to extract variables
$obj = json_decode( $data, true);
// store input data in a database
mysql_connect("201.408.185.132", $DBserver, $password); // access database server
mysql_select("CLIENT_DB.SQL"); // select database to append
mysql_query("INSERT INTO UserTable (transmission)
VALUES ($data)"); // add data to UserTable table in a CLIENT database
mysql_close("CLIENT_DB . SQL"); // close connection to database
?>
header('Content-Type: text/plain');
// set ip address and port to listen to for incoming data
$address = '192.168.0.100';
$port = 255;
// create a server-side SSL socket, listen for/accept incoming communication
$sock = socket_create(AF_INET, SOCK_STREAM, 0);
socket_bind($sock, $address, $port) or die('Could not bind to address');
socket_listen($sock);
$client = socket_accept($sock);
// read input data from client device in 1024 byte blocks until end of message
do {
$input = "";
$input = socket_read($client, 1024);
$data .= $input;
} while ($input != "");
// parse data to extract variables
$obj = json_decode( $data, true);
// store input data in a database
mysql_connect("201.408.185.132", $DBserver, $password); // access database server
mysql_select("CLIENT_DB.SQL"); // select database to append
mysql_query("INSERT INTO UserTable (transmission)
VALUES ($data)"); // add data to UserTable table in a CLIENT database
mysql_close("CLIENT_DB . SQL"); // close connection to database
?>
また、SOAPパーサの実装に関しては、例示の実施形態として、下記のリソースを利用できる:
http://www.xav.com/perl/site/lib/SOAP/Parser.html
http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/
index.jsp?topic=/com.ibm.IBMDI.doc/referenceguide295.htm
http://www.xav.com/perl/site/lib/SOAP/Parser.html
http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/
index.jsp?topic=/com.ibm.IBMDI.doc/referenceguide295.htm
さらに、他のパーサの実装については:
http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/
index.jsp?topic=/com.ibm.IBMDI.doc/referenceguide259.htm
http://publib.boulder.ibm.com/infocenter/tivihelp/v2r1/
index.jsp?topic=/com.ibm.IBMDI.doc/referenceguide259.htm
これらパーサ実装の全てが、ここで、参照により明示的に取り込まれる。
様々な課題及び技術進歩に対応するため、「マルチモーダルタッチスクリーン対話装置、方法、及び、システム」についてのこの出願の全体(表紙、題名、見出し、技術分野、背景技術、概要、図面の簡単な説明、詳細な説明、特許請求の範囲、カバーページ、要約、図面、付録その他を含む)は、特許請求された発明が実施されうる種々の実施形態を説明するものである。この出願に記載の効果、及び特徴は実施形態における代表的な一例のみを取り出したものであり、これらは網羅的、及び/又は、排他的ではない。これらは特許請求された指針の理解を助け、及び教示するために提示されているに過ぎない。これらは特許請求された全ての革新を代表するものではないと理解すべきである。そのため、開示のある側面について、ここでは説明されていない場合がある。革新のある特定の一部について代替する実施形態が提示されていない場合、或いは、さらに記載されていない代替する実施形態がある一部について利用可能である場合であっても、これらの代替する実施形態は放棄されたと考えるべきではない。それら記載のない実施形態のうち多数は当該革新と同じ指針を包含し、他は均等と理解されるであろう。したがって、他の実施形態の利用に際し、開示の範囲、及び/又は、精神から逸脱することなく、機能的な、論理的な、運用上の、組織的な、構造的な、及び/又は、トポロジー的な変更を伴ってもよいと理解される。そして、この開示全体に渡って、全ての具体例、及び/又は、実施形態は限定されないものと考えられる。さらに、ここで説明された実施形態に関し、記載の節約と繰り返しを避けるために説明されていない場合を別として、ここで説明されていない実施形態との比較推論を行うべきではない。例えば、図及び/又は全体を通して記載された、任意のプログラムコンポーネント(コンポーネント集合体)、他のコンポーネント、及び/又は任意の現存する特徴の組との任意の組み合わせについての論理的、及び/又は、トポロジー的な構造は、固定の動作順序及び/または配列に限定されるものではなく、むしろ、開示された順序は例示的であって、順序に拘わらず、全ての均等物が開示によって期待される。さらに、そのような特徴はシリアル実行に限られるものではなく、むしろ、非同期で、一斉に、並列して、同時に、同期して、及び/又は同等の方法で実行するための多数のスレッド、プロセス、サービス、サーバ等が開示によって期待される。その場合、これらの特徴のいくつかは、ある一実施形態において同時に存在できないことにより互いに矛盾するかもしれない。同様に、いくつかの特徴は革新の一側面において適用可能であるが、他では適用できないことがある。加えて、本開示は現時点で特許請求されていない他の革新を含んでいる。出願人はこれらの現時点で特許請求されていない革新について、そのような革新を特許請求する権利、追加的な出願、継続出願、一部継続出願、分割出願等を行う権利を含め、全ての権利を保持している。そして、本開示の効果、実施形態、具体例、特徴、機能、論理的な、運用上の、組織的な、構造的な、トポロジー的な、及び/又は他の一側面は、開示上の特許請求の範囲の規定を限定するもの、又は、特許請求の範囲の均等物を限定するものと考えるべきではない。MTIの個人及び/又は企業ユーザの個別の要求、特性、データベースの構成及び/又はリレーショナルモデル、データ型、データ伝送及び/又はネットワーク構成、構文構造等に応じて、大幅な柔軟性及びカスタマイズを可能とする種々のMTIの実施形態を利用してよいことを理解すべきである。例えば、MTIの側面は3次元没入型システム、仮想現実体験、オフィススイート等に適合されてもよい。MTIについての種々の実施形態及び説明は人とコンピュータ間の対話を目的としているが、ここに記載された実施形態は多岐にわたる他の応用、及び/又は、実装に対して容易に構成され、及び/又は、カスタマイズされてよいと理解される。
Claims (21)
- マルチモーダルタッチスクリーン対話をプロセッサにより実現する方法であって、
タッチスクリーンセンサから、タッチスクリーン上のユーザタッチイベントの情報を含むセンサ信号を取得する工程と、
プロセッサを介して、前記センサ信号から前記ユーザタッチイベントの位置座標を決定する工程と、
前記センサ信号から前記ユーザタッチイベントのタッチ種別を識別する工程と、
前記プロセッサを介して、前記ユーザタッチイベントの前記タッチ種別を用いてユーザタッチスクリーンジェスチャーを決定する工程と、を備えることを特徴とする方法。 - メモリから、前記ユーザタッチスクリーンジェスチャーと関連付けられたユーザコマンドを検索する工程と、
前記プロセッサを介して、前記ユーザコマンドを実行する工程を含むことを特徴とする請求項1に記載の方法。 - メモリから、所定の時間ウィンドウの範囲で、以前のユーザタッチイベントを検索する工程と、
前記以前のユーザタッチイベント及び前記ユーザタッチスクリーンジェスチャーを用いてジェスチャーパターンを識別する工程を含むことを特徴とする請求項2に記載の方法。 - 前記ユーザタッチスクリーンジェスチャーと関連付けられた前記ユーザコマンドの検索が、前記識別されたジェスチャーパターンに基づいて行われることを特徴とする請求項3に記載の方法。
- 識別された前記ユーザタッチイベントの前記タッチ種別に基づき、前記ユーザタッチスクリーンジェスチャーに関連付けられた前記ユーザコマンドに対する変更を識別する工程を有し、
前記プロセッサを介した前記ユーザコマンドの実行が、識別された前記タッチ種別に基づく前記ユーザコマンドに対する変更に基づいて行われることを特徴とする請求項2に記載の方法。 - 前記ユーザタッチイベントが、指によるタッチとスタイラスによるタッチを含むことを特徴とする請求項1に記載の方法。
- 前記ユーザタッチイベントが、複数指によるタッチとスタイラスによるタッチを含むことを特徴とする請求項6に記載の方法。
- マルチモーダルタッチスクリーン対話システムであって、
プロセッサ、及び、前記プロセッサと連絡を取り合うように配置され、プロセッサにより発行可能な命令を保持するメモリを備え、
前記プロセッサにより発行可能な命令が、
タッチスクリーン上のユーザタッチイベントの情報を含むセンサ信号を取得する命令と、
前記プロセッサを介して、前記センサ信号から前記ユーザタッチイベントの位置座標を決定する命令と、
前記センサ信号から前記ユーザタッチイベントのタッチ種別を識別する命令と、
前記プロセッサを介して、前記ユーザタッチイベントの前記タッチ種別を用いてユーザタッチスクリーンジェスチャーを決定する命令と、を含むことを特徴とするシステム。 - 前記メモリが、
メモリから、前記ユーザタッチスクリーンジェスチャーと関連付けられたユーザコマンドを検索する命令、及び、前記プロセッサを介して、前記ユーザコマンドを実行する命令を保持することを特徴とする請求項8に記載のシステム。 - 前記メモリが、
メモリから、所定の時間ウィンドウの範囲で、以前のユーザタッチイベントを検索する命令、及び、前記以前のユーザタッチイベントと前記ユーザタッチスクリーンジェスチャーを用いてジェスチャーパターンを識別する命令を保持することを特徴とする請求項9に記載のシステム。 - 前記ユーザタッチスクリーンジェスチャーと関連付けられた前記ユーザコマンドの検索が、前記識別されたジェスチャーパターンに基づいて行われることを特徴とする請求項10に記載のシステム。
- 前記メモリが、
識別された前記ユーザタッチイベントの前記タッチ種別に基づき、前記ユーザタッチスクリーンジェスチャーに関連付けられた前記ユーザコマンドに対する変更を識別する命令を保持し、
前記プロセッサを介した前記ユーザコマンドの実行が、識別された前記タッチ種別に基づく前記ユーザコマンドに対する変更に基づいて行われることを特徴とする請求項9に記載のシステム。 - 前記ユーザタッチイベントが、指によるタッチとスタイラスによるタッチを含むことを特徴とする請求項8に記載のシステム。
- 前記ユーザタッチイベントが、複数指によるタッチとスタイラスによるタッチを含むことを特徴とする請求項13に記載のシステム。
- プロセッサにより発行可能なマルチモーダルタッチスクリーン対話命令を保持する、プロセッサにより読み取り可能な有形媒体であって、
タッチスクリーン上のユーザタッチイベントの情報を含むセンサ信号を取得する命令、
前記プロセッサを介して、前記センサ信号から前記ユーザタッチイベントの位置座標を決定する命令、
前記センサ信号から前記ユーザタッチイベントのタッチ種別を識別する命令、及び、
前記プロセッサを介して、前記ユーザタッチイベントの前記タッチ種別を用いてユーザタッチスクリーンジェスチャーを決定する命令を保持する媒体。 - メモリから、前記ユーザタッチスクリーンジェスチャーと関連付けられたユーザコマンドを検索する命令、及び、
前記プロセッサを介して、前記ユーザコマンドを実行する命令を保持することを特徴とする請求項15に記載の媒体。 - メモリから、所定の時間ウィンドウの範囲で、以前のユーザタッチイベントを検索する命令、及び、
前記以前のユーザタッチイベントと前記ユーザタッチスクリーンジェスチャーを用いてジェスチャーパターンを識別する命令を保持することを特徴とする請求項16に記載の媒体。 - 前記ユーザタッチスクリーンジェスチャーと関連付けられた前記ユーザコマンドの検索が、前記識別されたジェスチャーパターンに基づいて行われることを特徴とする請求項17に記載の媒体。
- 識別された前記ユーザタッチイベントの前記タッチ種別に基づき、前記ユーザタッチスクリーンジェスチャーに関連付けられた前記ユーザコマンドに対する変更を識別する命令を保持し、
前記プロセッサを介した前記ユーザコマンドの実行が、識別された前記タッチ種別に基づく前記ユーザコマンドに対する変更に基づいて行われることを特徴とする請求項16に記載の媒体。 - 前記ユーザタッチイベントが、指によるタッチとスタイラスによるタッチを含むことを特徴とする請求項15に記載の媒体。
- 前記ユーザタッチイベントが、複数指によるタッチとスタイラスによるタッチを含むことを特徴とする請求項20に記載の媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161440591P | 2011-02-08 | 2011-02-08 | |
US61/440,591 | 2011-02-08 | ||
PCT/US2012/024350 WO2012109368A1 (en) | 2011-02-08 | 2012-02-08 | Multimodal touchscreen interaction apparatuses, methods and systems |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2014507726A true JP2014507726A (ja) | 2014-03-27 |
Family
ID=46638946
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013552739A Pending JP2014507726A (ja) | 2011-02-08 | 2012-02-08 | マルチモーダルタッチスクリーン対話装置、方法、及び、システム |
Country Status (8)
Country | Link |
---|---|
US (1) | US20120274583A1 (ja) |
EP (1) | EP2673698A1 (ja) |
JP (1) | JP2014507726A (ja) |
KR (1) | KR20140024854A (ja) |
CN (1) | CN103534674A (ja) |
AU (1) | AU2012214445A1 (ja) |
CA (1) | CA2826390A1 (ja) |
WO (1) | WO2012109368A1 (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017117434A (ja) * | 2015-12-17 | 2017-06-29 | 株式会社リコー | 座標検出システム、座標検出方法、画像処理装置、及びプログラム |
JP2019159865A (ja) * | 2018-03-14 | 2019-09-19 | 富士通株式会社 | 制御プログラム、制御方法、及び情報処理装置 |
Families Citing this family (78)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI386656B (zh) * | 2009-07-02 | 2013-02-21 | Novatek Microelectronics Corp | 電容值測量電路與方法 |
US9471192B2 (en) | 2011-05-23 | 2016-10-18 | Haworth, Inc. | Region dynamics for digital whiteboard |
US20140055400A1 (en) | 2011-05-23 | 2014-02-27 | Haworth, Inc. | Digital workspace ergonomics apparatuses, methods and systems |
EP2715490B1 (en) | 2011-05-23 | 2018-07-11 | Haworth, Inc. | Digital whiteboard collaboration apparatuses, methods and systems |
US9465434B2 (en) | 2011-05-23 | 2016-10-11 | Haworth, Inc. | Toolbar dynamics for digital whiteboard |
CN109582180A (zh) | 2011-10-18 | 2019-04-05 | 卡内基梅隆大学 | 用于分类触敏表面上的触摸事件的方法和设备 |
KR101493558B1 (ko) * | 2011-12-22 | 2015-02-16 | 엘지디스플레이 주식회사 | 터치센서를 가지는 표시장치 및 그의 터치 좌표 데이터 전송방법 |
US9479548B2 (en) | 2012-05-23 | 2016-10-25 | Haworth, Inc. | Collaboration system with whiteboard access to global collaboration data |
US9479549B2 (en) | 2012-05-23 | 2016-10-25 | Haworth, Inc. | Collaboration system with whiteboard with federated display |
TWI462033B (zh) * | 2012-11-02 | 2014-11-21 | Wistron Corp | 觸控系統及觸控系統的繪圖方法 |
WO2014106910A1 (ja) * | 2013-01-04 | 2014-07-10 | 株式会社ユビキタスエンターテインメント | 情報処理装置及び情報入力制御プログラム |
US9836154B2 (en) * | 2013-01-24 | 2017-12-05 | Nook Digital, Llc | Selective touch scan area and reporting techniques |
US11861561B2 (en) | 2013-02-04 | 2024-01-02 | Haworth, Inc. | Collaboration system including a spatial event map |
US10304037B2 (en) | 2013-02-04 | 2019-05-28 | Haworth, Inc. | Collaboration system including a spatial event map |
US9671953B2 (en) * | 2013-03-04 | 2017-06-06 | The United States Of America As Represented By The Secretary Of The Army | Systems and methods using drawings which incorporate biometric data as security information |
KR20140114766A (ko) * | 2013-03-19 | 2014-09-29 | 퀵소 코 | 터치 입력을 감지하기 위한 방법 및 장치 |
US9612689B2 (en) | 2015-02-02 | 2017-04-04 | Qeexo, Co. | Method and apparatus for classifying a touch event on a touchscreen as related to one of multiple function generating interaction layers and activating a function in the selected interaction layer |
US9013452B2 (en) | 2013-03-25 | 2015-04-21 | Qeexo, Co. | Method and system for activating different interactive functions using different types of finger contacts |
JP6448062B2 (ja) * | 2013-05-07 | 2019-01-09 | ノーム ザタロブスキ、ヨーニ | パーソナライズされたカスタマイズ可能なスマートブラウザが動作可能なブラウジングのためのシステム |
ES1079832Y (es) * | 2013-05-08 | 2013-08-22 | Gutierrez Santiago Fornet | Pantalla tactil identificadora |
US9176614B2 (en) | 2013-05-28 | 2015-11-03 | Google Technology Holdings LLC | Adapative sensing component resolution based on touch location authentication |
US20150006385A1 (en) * | 2013-06-28 | 2015-01-01 | Tejas Arvindbhai Shah | Express transactions on a mobile device |
US10073578B2 (en) | 2013-08-13 | 2018-09-11 | Samsung Electronics Company, Ltd | Electromagnetic interference signal detection |
US10101869B2 (en) * | 2013-08-13 | 2018-10-16 | Samsung Electronics Company, Ltd. | Identifying device associated with touch event |
US10141929B2 (en) | 2013-08-13 | 2018-11-27 | Samsung Electronics Company, Ltd. | Processing electromagnetic interference signal using machine learning |
US10108305B2 (en) | 2013-08-13 | 2018-10-23 | Samsung Electronics Company, Ltd. | Interaction sensing |
US9596319B2 (en) | 2013-11-13 | 2017-03-14 | T1V, Inc. | Simultaneous input system for web browsers and other applications |
JP6349838B2 (ja) * | 2014-01-21 | 2018-07-04 | セイコーエプソン株式会社 | 位置検出装置、位置検出システム、及び、位置検出装置の制御方法 |
JP6562124B2 (ja) * | 2014-01-21 | 2019-08-21 | セイコーエプソン株式会社 | 位置検出システム、及び、位置検出システムの制御方法 |
JP6398248B2 (ja) | 2014-01-21 | 2018-10-03 | セイコーエプソン株式会社 | 位置検出システム、及び、位置検出システムの制御方法 |
JP6201824B2 (ja) * | 2014-03-05 | 2017-09-27 | 株式会社デンソー | 操作装置 |
KR102265143B1 (ko) * | 2014-05-16 | 2021-06-15 | 삼성전자주식회사 | 입력 처리 장치 및 방법 |
WO2015181163A1 (en) * | 2014-05-28 | 2015-12-03 | Thomson Licensing | Method and system for touch input |
US9310929B2 (en) | 2014-06-06 | 2016-04-12 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Unlocking touch screen devices |
US9558455B2 (en) * | 2014-07-11 | 2017-01-31 | Microsoft Technology Licensing, Llc | Touch classification |
US9329715B2 (en) | 2014-09-11 | 2016-05-03 | Qeexo, Co. | Method and apparatus for differentiating touch screen users based on touch event analysis |
US11619983B2 (en) | 2014-09-15 | 2023-04-04 | Qeexo, Co. | Method and apparatus for resolving touch screen ambiguities |
US10606417B2 (en) | 2014-09-24 | 2020-03-31 | Qeexo, Co. | Method for improving accuracy of touch screen event analysis by use of spatiotemporal touch patterns |
US10282024B2 (en) | 2014-09-25 | 2019-05-07 | Qeexo, Co. | Classifying contacts or associations with a touch sensitive device |
CN104333962A (zh) * | 2014-11-28 | 2015-02-04 | 浙江晶日照明科技有限公司 | 一种智能led灯具及其人机交互***、交互方法 |
US9811256B2 (en) | 2015-01-14 | 2017-11-07 | International Business Machines Corporation | Touch screen tactile gestures for data manipulation |
US20160210038A1 (en) * | 2015-01-21 | 2016-07-21 | Microsoft Technology Licensing, Llc | Electronic inking |
US10031638B2 (en) * | 2015-02-10 | 2018-07-24 | Etter Studio Ltd. | Multi-touch GUI featuring directional compression and expansion of graphical content |
US9977519B2 (en) * | 2015-02-25 | 2018-05-22 | Synaptics Incorporated | Active pen with bidirectional communication |
EP3292524B1 (en) | 2015-05-06 | 2020-07-08 | Haworth, Inc. | Virtual workspace viewport follow mode in collaboration systems |
US10642404B2 (en) | 2015-08-24 | 2020-05-05 | Qeexo, Co. | Touch sensitive device with multi-sensor stream synchronized data |
US20170068414A1 (en) * | 2015-09-09 | 2017-03-09 | Microsoft Technology Licensing, Llc | Controlling a device |
US10481645B2 (en) | 2015-09-11 | 2019-11-19 | Lucan Patent Holdco, LLC | Secondary gesture input mechanism for touchscreen devices |
WO2017048068A1 (en) * | 2015-09-16 | 2017-03-23 | Samsung Electronics Co., Ltd. | Electromagnetic interference signal detection |
US10955977B2 (en) * | 2015-11-03 | 2021-03-23 | Microsoft Technology Licensing, Llc | Extender object for multi-modal sensing |
US10404938B1 (en) | 2015-12-22 | 2019-09-03 | Steelcase Inc. | Virtual world method and system for affecting mind state |
US10317988B2 (en) * | 2016-02-03 | 2019-06-11 | Disney Enterprises, Inc. | Combination gesture game mechanics using multiple devices |
US10255023B2 (en) | 2016-02-12 | 2019-04-09 | Haworth, Inc. | Collaborative electronic whiteboard publication process |
US10181218B1 (en) | 2016-02-17 | 2019-01-15 | Steelcase Inc. | Virtual affordance sales tool |
US10182210B1 (en) | 2016-12-15 | 2019-01-15 | Steelcase Inc. | Systems and methods for implementing augmented reality and/or virtual reality |
US10545658B2 (en) | 2017-04-25 | 2020-01-28 | Haworth, Inc. | Object processing and selection gestures for forming relationships among objects in a collaboration system |
US20200348817A1 (en) * | 2017-08-23 | 2020-11-05 | Flatfrog Laboratories Ab | Pen touch matching |
US11126258B2 (en) * | 2017-10-14 | 2021-09-21 | Qualcomm Incorporated | Managing and mapping multi-sided touch |
US12019850B2 (en) | 2017-10-23 | 2024-06-25 | Haworth, Inc. | Collaboration system including markers identifying multiple canvases in multiple shared virtual workspaces |
US11126325B2 (en) | 2017-10-23 | 2021-09-21 | Haworth, Inc. | Virtual workspace including shared viewport markers in a collaboration system |
US11934637B2 (en) | 2017-10-23 | 2024-03-19 | Haworth, Inc. | Collaboration system including markers identifying multiple canvases in multiple shared virtual workspaces |
WO2019236764A1 (en) * | 2018-06-05 | 2019-12-12 | Google Llc | Confidence-based application-specific user interactions |
US11009989B2 (en) | 2018-08-21 | 2021-05-18 | Qeexo, Co. | Recognizing and rejecting unintentional touch events associated with a touch sensitive device |
CN110874200B (zh) * | 2018-08-29 | 2023-05-26 | 斑马智行网络(香港)有限公司 | 交互方法、设备、存储介质和操作*** |
US10845985B2 (en) | 2018-09-14 | 2020-11-24 | Sigmasense, Llc. | Identification in touch systems |
CN109271069B (zh) * | 2018-10-29 | 2021-06-29 | 深圳市德明利技术股份有限公司 | 基于电容触控的二次区域查找方法及触控装置、移动终端 |
WO2020176517A1 (en) | 2019-02-25 | 2020-09-03 | Haworth, Inc. | Gesture based workflows in a collaboration system |
JP2022527280A (ja) * | 2019-03-28 | 2022-06-01 | ジーエイチエスピー・インコーポレイテッド | 対話型キッチンディスプレイ |
US10942603B2 (en) | 2019-05-06 | 2021-03-09 | Qeexo, Co. | Managing activity states of an application processor in relation to touch or hover interactions with a touch sensitive device |
US11164508B2 (en) * | 2019-05-16 | 2021-11-02 | Asustek Computer Inc. | Electronic device |
US11231815B2 (en) | 2019-06-28 | 2022-01-25 | Qeexo, Co. | Detecting object proximity using touch sensitive surface sensing and ultrasonic sensing |
US11592423B2 (en) | 2020-01-29 | 2023-02-28 | Qeexo, Co. | Adaptive ultrasonic sensing techniques and systems to mitigate interference |
WO2021162602A1 (en) | 2020-02-10 | 2021-08-19 | Flatfrog Laboratories Ab | Improved touch-sensing apparatus |
US11212127B2 (en) | 2020-05-07 | 2021-12-28 | Haworth, Inc. | Digital workspace sharing over one or more display clients and authorization protocols for collaboration systems |
US11750672B2 (en) | 2020-05-07 | 2023-09-05 | Haworth, Inc. | Digital workspace sharing over one or more display clients in proximity of a main client |
US11790820B2 (en) * | 2021-06-14 | 2023-10-17 | Samsung Electronics Co., Ltd. | Electronic device including rollable display rolled into circle |
KR20230023158A (ko) * | 2021-08-10 | 2023-02-17 | 삼성전자주식회사 | 전자 장치 및 전자 펜 동작 방법 |
CN115268757A (zh) * | 2022-07-19 | 2022-11-01 | 武汉乐庭软件技术有限公司 | 一种基于触摸屏的画面***上的手势交互识别*** |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4686332A (en) * | 1986-06-26 | 1987-08-11 | International Business Machines Corporation | Combined finger touch and stylus detection system for use on the viewing surface of a visual display device |
US8479122B2 (en) * | 2004-07-30 | 2013-07-02 | Apple Inc. | Gestures for touch sensitive input devices |
US8125459B2 (en) * | 2007-10-01 | 2012-02-28 | Igt | Multi-user input systems and processing techniques for serving multiple users |
WO2004070396A2 (en) * | 2003-02-10 | 2004-08-19 | N-Trig Ltd. | Touch detection for a digitizer |
CN101057271A (zh) * | 2004-07-15 | 2007-10-17 | N-Trig有限公司 | 双模数字化器的自动转换 |
US20060012580A1 (en) * | 2004-07-15 | 2006-01-19 | N-Trig Ltd. | Automatic switching for a dual mode digitizer |
US7728823B2 (en) * | 2004-09-24 | 2010-06-01 | Apple Inc. | System and method for processing raw data of track pad device |
US7877707B2 (en) * | 2007-01-06 | 2011-01-25 | Apple Inc. | Detecting and interpreting real-world and security gestures on touch and hover sensitive devices |
WO2008138030A1 (en) * | 2007-05-11 | 2008-11-20 | Rpo Pty Limited | User-defined enablement protocol |
US9335869B2 (en) * | 2007-10-01 | 2016-05-10 | Igt | Method and apparatus for detecting lift off on a touchscreen |
JP2011503709A (ja) * | 2007-11-07 | 2011-01-27 | エヌ−トリグ リミテッド | デジタイザのためのジェスチャ検出 |
AR064377A1 (es) * | 2007-12-17 | 2009-04-01 | Rovere Victor Manuel Suarez | Dispositivo para sensar multiples areas de contacto contra objetos en forma simultanea |
US20100205190A1 (en) * | 2009-02-09 | 2010-08-12 | Microsoft Corporation | Surface-based collaborative search |
US8681106B2 (en) * | 2009-06-07 | 2014-03-25 | Apple Inc. | Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface |
US8269511B2 (en) * | 2009-09-08 | 2012-09-18 | Synaptics Incorporated | Sensing and defining an input object |
US20120019453A1 (en) * | 2010-07-26 | 2012-01-26 | Wayne Carl Westerman | Motion continuation of touch input |
-
2012
- 2012-02-08 CA CA2826390A patent/CA2826390A1/en not_active Abandoned
- 2012-02-08 US US13/369,137 patent/US20120274583A1/en not_active Abandoned
- 2012-02-08 JP JP2013552739A patent/JP2014507726A/ja active Pending
- 2012-02-08 AU AU2012214445A patent/AU2012214445A1/en not_active Abandoned
- 2012-02-08 CN CN201280008070.0A patent/CN103534674A/zh active Pending
- 2012-02-08 EP EP12744926.2A patent/EP2673698A1/en not_active Withdrawn
- 2012-02-08 WO PCT/US2012/024350 patent/WO2012109368A1/en active Application Filing
- 2012-02-08 KR KR1020137023873A patent/KR20140024854A/ko not_active Application Discontinuation
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2017117434A (ja) * | 2015-12-17 | 2017-06-29 | 株式会社リコー | 座標検出システム、座標検出方法、画像処理装置、及びプログラム |
JP2019159865A (ja) * | 2018-03-14 | 2019-09-19 | 富士通株式会社 | 制御プログラム、制御方法、及び情報処理装置 |
Also Published As
Publication number | Publication date |
---|---|
CA2826390A1 (en) | 2012-08-16 |
CN103534674A (zh) | 2014-01-22 |
AU2012214445A1 (en) | 2013-08-01 |
EP2673698A1 (en) | 2013-12-18 |
WO2012109368A1 (en) | 2012-08-16 |
US20120274583A1 (en) | 2012-11-01 |
KR20140024854A (ko) | 2014-03-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2014507726A (ja) | マルチモーダルタッチスクリーン対話装置、方法、及び、システム | |
US11550399B2 (en) | Sharing across environments | |
JP6576555B2 (ja) | サービス処理方法、デバイス及びシステム | |
US9866645B2 (en) | Actionable notifications apparatuses, methods and systems | |
US20180224963A1 (en) | Electronic device for variably displaying display position of object on expansion area of display and method of displaying | |
CN105677049B (zh) | 具有多主机切换的输入装置 | |
US20150227231A1 (en) | Virtual Transparent Display | |
KR20180027332A (ko) | 디바이스의 독립적인 프로세서들을 통한 데이터 검증 | |
US11054930B2 (en) | Electronic device and operating method therefor | |
WO2011029055A1 (en) | Apparatuses, methods and systems for a visual query builder | |
US20110291953A1 (en) | Robot device and platform for social networking | |
AU2016298399A1 (en) | Dynamic checkout button apparatuses, methods and systems | |
US10001962B2 (en) | Control method, control apparatus, and electronic device | |
US9864516B2 (en) | Universal keyboard | |
JP2020057085A (ja) | 表示制御装置、表示制御方法、および表示制御システム | |
TWI552791B (zh) | 雷射二極體模式 | |
US20200019584A1 (en) | Supra Boundary Web Compositor Apparatuses, Methods and Systems | |
CN108415657A (zh) | 消息发送方法、装置、介质及电子设备 | |
KR20230008662A (ko) | 음성 인식 서비스 운용 방법 및 이를 지원하는 전자 장치 | |
CN109271779A (zh) | 一种安装包检测方法、终端设备及服务器 | |
EP3622382A1 (en) | Disambiguating gesture input types using multiple heatmaps | |
RU2600544C2 (ru) | Навигационный пользовательский интерфейс с поддержкой сосредоточенного на странице восприятия просмотра на основе распознавания прикосновений или жестов | |
US9633227B2 (en) | Method, apparatus, and system of detecting unauthorized data modification | |
KR20160024505A (ko) | 전자 장치 및 이의 입력 방법 | |
JP2016031704A (ja) | 認証装置、プログラム及び方法 |