JP5805537B2 - マルチプロセス・インタラクティブ・システムおよび方法 - Google Patents
マルチプロセス・インタラクティブ・システムおよび方法 Download PDFInfo
- Publication number
- JP5805537B2 JP5805537B2 JP2011532225A JP2011532225A JP5805537B2 JP 5805537 B2 JP5805537 B2 JP 5805537B2 JP 2011532225 A JP2011532225 A JP 2011532225A JP 2011532225 A JP2011532225 A JP 2011532225A JP 5805537 B2 JP5805537 B2 JP 5805537B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- event
- processes
- capsule
- application
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims description 1574
- 230000002452 interceptive effect Effects 0.000 title claims description 81
- 230000008569 process Effects 0.000 claims description 887
- 239000002775 capsule Substances 0.000 claims description 509
- 238000012545 processing Methods 0.000 claims description 278
- 238000009877 rendering Methods 0.000 claims description 107
- 230000004044 response Effects 0.000 claims description 44
- 230000006870 function Effects 0.000 claims description 42
- 230000033001 locomotion Effects 0.000 claims description 42
- 239000000284 extract Substances 0.000 claims description 23
- 238000013507 mapping Methods 0.000 claims description 20
- 239000000872 buffer Substances 0.000 claims description 16
- 238000004891 communication Methods 0.000 claims description 15
- 230000008859 change Effects 0.000 claims description 14
- 238000013519 translation Methods 0.000 claims description 12
- 230000014616 translation Effects 0.000 claims description 12
- 230000009471 action Effects 0.000 claims description 11
- 238000001514 detection method Methods 0.000 claims description 11
- 230000036961 partial effect Effects 0.000 claims description 3
- 239000008186 active pharmaceutical agent Substances 0.000 claims 3
- 230000001131 transforming effect Effects 0.000 claims 3
- 238000013213 extrapolation Methods 0.000 claims 1
- 108090000623 proteins and genes Proteins 0.000 description 292
- 102000004169 proteins and genes Human genes 0.000 description 292
- 235000018102 proteins Nutrition 0.000 description 289
- 210000003811 finger Anatomy 0.000 description 53
- 238000010586 diagram Methods 0.000 description 48
- 230000007246 mechanism Effects 0.000 description 30
- 239000003550 marker Substances 0.000 description 23
- 210000003813 thumb Anatomy 0.000 description 17
- 210000004247 hand Anatomy 0.000 description 15
- 230000006399 behavior Effects 0.000 description 14
- 241000699666 Mus <mouse, genus> Species 0.000 description 13
- 238000012546 transfer Methods 0.000 description 11
- 238000006243 chemical reaction Methods 0.000 description 10
- 238000004422 calculation algorithm Methods 0.000 description 9
- 101800001072 Protein 1A Proteins 0.000 description 8
- 239000000758 substrate Substances 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 239000000203 mixture Substances 0.000 description 7
- 238000005457 optimization Methods 0.000 description 7
- 238000004458 analytical method Methods 0.000 description 6
- 230000008901 benefit Effects 0.000 description 6
- 238000001914 filtration Methods 0.000 description 6
- 230000003287 optical effect Effects 0.000 description 6
- 238000003860 storage Methods 0.000 description 6
- 238000012800 visualization Methods 0.000 description 6
- 238000007689 inspection Methods 0.000 description 5
- 210000002414 leg Anatomy 0.000 description 5
- 238000000751 protein extraction Methods 0.000 description 5
- 230000002441 reversible effect Effects 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 101800001065 Protein 2B Proteins 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- 238000013459 approach Methods 0.000 description 4
- 230000005540 biological transmission Effects 0.000 description 4
- QBWCMBCROVPCKQ-UHFFFAOYSA-N chlorous acid Chemical compound OCl=O QBWCMBCROVPCKQ-UHFFFAOYSA-N 0.000 description 4
- 230000000694 effects Effects 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 230000009466 transformation Effects 0.000 description 4
- 102000004506 Blood Proteins Human genes 0.000 description 3
- 108010017384 Blood Proteins Proteins 0.000 description 3
- 230000015572 biosynthetic process Effects 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 3
- 238000004883 computer application Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 238000009826 distribution Methods 0.000 description 3
- 238000005538 encapsulation Methods 0.000 description 3
- 230000010354 integration Effects 0.000 description 3
- 238000002372 labelling Methods 0.000 description 3
- 238000002156 mixing Methods 0.000 description 3
- 230000007935 neutral effect Effects 0.000 description 3
- 239000010979 ruby Substances 0.000 description 3
- 229910001750 ruby Inorganic materials 0.000 description 3
- 238000003786 synthesis reaction Methods 0.000 description 3
- 238000012360 testing method Methods 0.000 description 3
- 241000254032 Acrididae Species 0.000 description 2
- 101800000442 Protein X2 Proteins 0.000 description 2
- 230000002457 bidirectional effect Effects 0.000 description 2
- 230000001413 cellular effect Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 2
- 239000000470 constituent Substances 0.000 description 2
- 238000011161 development Methods 0.000 description 2
- 230000018109 developmental process Effects 0.000 description 2
- 238000007667 floating Methods 0.000 description 2
- 210000003128 head Anatomy 0.000 description 2
- 210000003127 knee Anatomy 0.000 description 2
- 239000012464 large buffer Substances 0.000 description 2
- 238000012886 linear function Methods 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000008520 organization Effects 0.000 description 2
- 238000004091 panning Methods 0.000 description 2
- 238000002360 preparation method Methods 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000012163 sequencing technique Methods 0.000 description 2
- 239000007787 solid Substances 0.000 description 2
- 238000012795 verification Methods 0.000 description 2
- 101000663392 Hordeum vulgare Serpin-Z4 Proteins 0.000 description 1
- 241000288904 Lemur Species 0.000 description 1
- 101710159910 Movement protein Proteins 0.000 description 1
- 241000699670 Mus sp. Species 0.000 description 1
- 241000203475 Neopanax arboreus Species 0.000 description 1
- 101710193592 ORF3a protein Proteins 0.000 description 1
- 101710087110 ORF6 protein Proteins 0.000 description 1
- 101710128341 ORF7a protein Proteins 0.000 description 1
- 101800001064 Protein 2C Proteins 0.000 description 1
- 101800001092 Protein 3B Proteins 0.000 description 1
- 101800003106 VPg Proteins 0.000 description 1
- 101800001133 Viral protein genome-linked Proteins 0.000 description 1
- 230000001154 acute effect Effects 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- 210000000617 arm Anatomy 0.000 description 1
- 238000005452 bending Methods 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 239000003795 chemical substances by application Substances 0.000 description 1
- 230000001149 cognitive effect Effects 0.000 description 1
- 210000001072 colon Anatomy 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 150000001875 compounds Chemical class 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013144 data compression Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 230000034994 death Effects 0.000 description 1
- 238000000354 decomposition reaction Methods 0.000 description 1
- 230000001934 delay Effects 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 230000008021 deposition Effects 0.000 description 1
- 210000001513 elbow Anatomy 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 230000008030 elimination Effects 0.000 description 1
- 238000003379 elimination reaction Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000011049 filling Methods 0.000 description 1
- 238000005206 flow analysis Methods 0.000 description 1
- 230000037406 food intake Effects 0.000 description 1
- 238000009472 formulation Methods 0.000 description 1
- 239000003292 glue Substances 0.000 description 1
- 238000010438 heat treatment Methods 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 230000000670 limiting effect Effects 0.000 description 1
- 230000004807 localization Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 239000002184 metal Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000008447 perception Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000004886 process control Methods 0.000 description 1
- 235000004252 protein component Nutrition 0.000 description 1
- 230000006798 recombination Effects 0.000 description 1
- 238000005215 recombination Methods 0.000 description 1
- 230000002829 reductive effect Effects 0.000 description 1
- 239000013643 reference control Substances 0.000 description 1
- 230000003362 replicative effect Effects 0.000 description 1
- 230000004043 responsiveness Effects 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 229920006300 shrink film Polymers 0.000 description 1
- 238000004513 sizing Methods 0.000 description 1
- 241000894007 species Species 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000007723 transport mechanism Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
-
- 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/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F11/00—Error detection; Error correction; Monitoring
- G06F11/07—Responding to the occurrence of a fault, e.g. fault tolerance
- G06F11/0703—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation
- G06F11/0706—Error or fault processing not based on redundancy, i.e. by taking additional measures to deal with the error or fault not making use of redundancy in operation, in hardware, or in data representation the processing taking place on a specific hardware platform or in a specific software environment
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/542—Event management; Broadcasting; Multicasting; Notifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Quality & Reliability (AREA)
- Processing Or Creating Images (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Image Processing (AREA)
- User Interface Of Digital Computer (AREA)
- Digital Computer Display Output (AREA)
Description
本出願は、2008年10月14日に出願した米国(US)特許出願第61/105,243号の優先権を主張する。
本願は、2008年4月24日に出願したUS特許出願第12/109,263号の一部継続出願である。
本願は、2009年6月18日に出願したUS特許出願第12/487,623号の一部継続出願である。
本願は、2009年9月10日に出願したUS特許出願第12/557,464号の一部継続出願である。
発明の分野
計算プロセス内および計算プロセス間におけるデータの表現、操作、および交換に関する実施形態について説明する。
引用による包含
本明細書において述べる各特許、特許出願、および/または刊行物は、本願において引用することにより、個々の特許、特許出願、および/または刊行物の各々が具体的にそして個々に、引用することにより本願に含まれることを示した場合と同程度にその全体が本願にも含まれるものとする。
図6は、一実施形態の下におけるインジェストのブロック図である。以下で詳細に説明するが、インジェストは、オフセット、長さ、およびスローを含む。
図8Aは、一実施形態の下における、プールの中にあるプロテインのブロック図である。プロテインは、長さヘッダ(「プロテイン長」)、ディスクリップ・オフセット、インジェスト・オフセット、ディスクリップ、およびインジェストを含む。ディスクリップは、オフセット、長さ、およびスローを含む。インジェストは、オフセット、長さ、およびスローを含む。
多くの場合、プロテイン内部において実施態様特定またはコンテキスト特定のキャッシュ(caching)またはメタデータを許容することは有用である。オフセットの使用により、プロテインの先頭付近に、任意のサイズの「孔(hole)」を作成し、その中にこのようなメタデータを割り込ませることができる。8バイトのメタデータを利用することができる実施態様では、多くのシステム・アーキテクチャ上でこれらのバイトを、長さヘッダをフェッチする毎に1つのプロテインに対して自由に得ることができる。
各スローの内部構造は、タイプ解明、カプセル化データへのアクセス、および当該スロー・インスタンスについてのサイズ情報の各々を最適化する。一実施形態では、1組のスロー・タイプ全体は、設計上、最小限の全てが揃っており、スロー・ストリング、スロー・コンス(即ち、ダイアッド(dyad))、スロー・リスト、およびスロー数値オブジェクトを含む。スロー数値オブジェクト自体は、半ダース程度の基本的な属性の組み合わせ(permutation)として理解される、広範な1組の個別数値タイプを表す。いずれのスローでも、その他の基本的プロパティはそのサイズである。一実施形態では、スロークスは、4の倍数に量子化したバイト長を有し、これらの4バイト・ワードを、ここでは「クアッド」と呼ぶ。一般に、このようなクアッドに基づくサイズ決定により、スロークスを最新のコンピュータ・ハードウェア・アーキテクチャのコンフィギュレーションと正確に整合させる。
空間動作環境(SOE)
マルチプロセス・インタラクティブ・システムは、空間動作環境(SOE)の構成要素であること、またはこれと共に用いるために結合することができる。SOEは、ジェスチャ制御システムまたはジェスチャ基準制御システムを含み、空間ユーザ・インターフェース(SUI)または空間インターフェース(SI)と呼ぶこともできる。一例として、図16は、一実施形態の下における空間動作環境(SOE)のブロック図である。ユーザは、彼の手1601および1602を、カメラ1604A〜1604Dのアレイの視野に置く。これらのカメラは、指ならびに手1601および1602の位置、方位、および移動を検出し、出力信号をプリプロセッサ1605に発生する。プリプロセッサ1605は、カメラ出力をジェスチャ信号に変換し、このジェスチャ信号をシステムのコンピュータ演算装置1607に供給する。コンピュータ1607は、入力情報を用いて、1つ以上の画面上カーソルを制御するコマンドを発生し、ビデオ出力をディスプレイ1603に供給する。
[lllll:vx]は、手を平らにして(親指が他の指と平行)、手のひらが下を向き、指が前方に突き出している。
[lllll:-x]は、手を平らにして、手のひらがボディの中心に向いており(左手の場合は右、右手の場合は左)、指が前方に突き出している。
[^^^|-:-x]は、銃を前方に構える真似である。
一実施形態のSOEは、1つの手のコマンドおよびポーズだけでなく、2つの手によるコマンドおよびポーズも想定している。図20は、一実施形態の下における、SOEのジェスチャ・ボキャブラリにおける二手組み合わせおよ対応する表記の例を示す。第1の例の表記を検討すると、「完全停止(full stop)」とは2つの拳を閉じていることを示す。「スナップショット」の例では、各手の親指および人差し指が広げられ、親指が互いに向き合って、ゴール・ポストの形状の枠を定めている。「舵およびスロットル開始位置」は、指および親指が上を向いており、手のひらが画面に面している。
1)様々な異なる集計レベルにおいて、ジェスチャを指定する(コンピュータ・プログラムにおいて用いるためのエンコード)緻密かつ効率的な方法。
b.2つの手の組み合わせ。いずれかの手がポーズ、位置、または双方を考慮に入れる。
e.操作者が空間内の形状を追跡する「書記素」ジェスチャ(grapheme gesture)。
3)登録されているジェスチャを識別することができ、これらのジェスチャをカプセル化するイベントを関連するアプリケーション・コンテキストに配信することができるように、ジェスチャの流れを解析するアルゴリズム。
1本の手の「ポーズ」は、
i)手の指と甲との間の相対的方位、
ii)少数の離散状態への量子化、
のストリングとして表される。
i)複雑なコンテキストおよび条件付き制御状態を構築すること、
ii)動的にヒステリシスを制御環境に追加すること、および
iii)ユーザが実行システム自体のインターフェース・ボキャブラリを変更または拡張することができるアプリケーションを作成すること、
が可能となる。
加えて、指定されたジェスチャを認識するために内部で使用されている原始的比較演算子は、アプリケーション・プログラマが用いるためにも露出されるので、アプリケーション・コンテキスト内部からでも、より多くの比較(例えば、複雑なジェスチャまたは複合ジェスチャにおける柔軟な状態の検査)を行うことができる。
i)「エントリ」状態通知部および「連続」状態通知部、ならびに
ii)ジェスチャ優先度指定部
を含む。
3)操作者の位置に応じて変化するグラフィクス・レンダリング。例えば、深度の知覚を高めるためにパララックス・シフトをシミュレーションする。
入力イベント処理スタックは、制御システムからイベント・データを取り込み(現実施形態では、システムおよびマウス入力からのジェスチャ・データおよびポインティング・データの双方)、入力イベントからの空間データを仮想空間における座標にマッピングする。次いで、変換されたイベントは、実行中のアプリケーションに配信される。
SOEについての前述の説明を考慮すると、SOEは、図1から図1Cまでおよび本明細書における他のところを参照して先に説明したマルチプロセス・インタラクティブ・システムの構成要素として用いること、および/またはマルチプロセス・インタラクティブ・システムに結合することができる。一実施形態のSOEは、先に説明したように、ユーザ入力プロテインをユーザ入力プールUiに伝達するジェスチャ/空間プロセスGとしてカプセル化することができる。
一実施形態の方法は、データ・カプセルおよび複数のプールを用いて、複数のプロセスの各々の動作を調整することによって、複数のプロセスからインタラクティブ・アプリケーションを形成するステップを備えている。
一実施形態の方法は、アプリケーション・プログラムを1組のプロセスに分割するステップを備えており、複数のプロセスが1組のプロセスを含む。
一実施形態の方法は、第1組のプロセスを並列に実行し、第2組のプロセスを順次実行するステップを備えており、複数のプロセスが第1組のプロセスおよび第2組のプロセスを含む。
一実施形態のイベントは、プロセス出力を表す。
一実施形態のイベントは、ユーザ・インターフェース・イベントを備えている。
一実施形態のイベントは、イベントがプロセスの状態を表す。
一実施形態のプロセスの状態は、当該プロセスのインタラクティブ機能を表し、プロセスのインタラクティブ機能を複数のプロセスに、データ・カプセルの内容として露出する。
一実施形態の少なくとも1つの処理デバイスは、複数の処理デバイスを備えている。
一実施形態の変換するステップは、第1プロセスのイベントを、イベントを指定する第1プロセス・イベント・データと、このイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスに変換するステップを含む。
一実施形態の変換するステップは、少なくとも1つのデータ・シーケンスを含むようにデータ・カプセルを形成するステップを含み、データ・カプセルは、少なくとも1つのデータ・シーケンスのアプリケーション独立表現を備えているデータ構造を有する。
一実施形態の変換するステップは、第2プロセスの状態変化イベントを、イベントを指定する第2プロセス・イベント・データとこのイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスに変換するステップを含む。
一実施形態の変換するステップは、少なくとも1つのデータ・シーケンスを含むようにデータ・カプセルを形成するステップを含み、データ・カプセルは、少なくとも1つのデータ・シーケンスのアプリケーション独立表現を備えているデータ構造を有する。
一実施形態の変換するステップは、認識したデータ・カプセルの内容を少なくとも1つの新たなデータ・シーケンスに変換するステップを含み、少なくとも1つの新たなデータ・シーケンスは、第1プロセスのイベントおよび第2プロセスのイベントの内少なくとも1つを表す。
一実施形態の認識したデータ・カプセルの内容に適した処理は、グラフィカル・オブジェクトをレンダリングするステップを含み、少なくとも1つの処理デバイスのディスプレイ上にグラフィカル・オブジェクトをレンダリングする。
一実施形態のイベント・データは、類別されたデータ(typed data)を表すタグ付き(tagged)バイト・シーケンスである。
一実施形態の状態情報は、類別されたデータを表すタグ付きバイト・シーケンスである。
一実施形態の方法は、少なくとも1つのオフセットを発生するステップを備えている。一実施形態の方法は、少なくとも1つのオフセットを含むように、データ・カプセルを形成するステップを備えている。
一実施形態の方法は、少なくとも1つの処理デバイスの第2イベントを検出するステップを備えている。一実施形態の方法は、複数のプールを検索して、第2イベントに対応するデータ・カプセルを求めるステップを備えている。
一実施形態の複数のプールは、複数のデータ・カプセルの線形シーケンス(sequencing)に備えている。
一実施形態のデータ・カプセルのデータ構造は、イベント・データおよび状態情報のプラットフォームに独立した表現を与える。
一実施形態の転送するステップは、第1アプリケーション・タイプを有する第1アプリケーションから少なくとも1つの第2アプリケーション・タイプを有する少なくとも1つの第2アプリケーションにデータ・カプセルを転送するステップを含み、第1アプリケーション・タイプが第2アプリケーション・タイプとは異なり、少なくとも1つのデータ・シーケンスを発生するステップは、第1アプリケーションによって実行され、本方法は、転送するステップの間、データ・カプセルの少なくとも1つのデータ・シーケンスをそのまま保持するステップを備えている。
一実施形態の方法は、イベント・データと、少なくとも1つの処理デバイスのソース・デバイスの識別データとを含む第1データ集合を発生するステップを備えており、デバイス・イベント・データは、ソース・デバイスによって登録されたイベントを指定するデータを含み、識別データは、ソース・デバイスを識別するデータを含む。
一実施形態のイベント・データは、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む。
一実施形態の状態情報は、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む。
一実施形態の方法は、複数のプールを検索して、第2イベントに対応するデータ・カプセルを求めるステップを備えている。一実施形態の方法は、対応を特定したことに応答して、プールからデータ・カプセルを抽出するステップを備えている。
一実施形態の複数のプールは、複数のデータ・カプセルの線形シーケンスに備えている。
一実施形態のデータ・カプセルのデータ構造は、イベント・データおよび状態情報のプラットフォームに独立した表現を与える。
本明細書において記載した実施形態は、方法を含む。この方法は、処理デバイス上において複数のプロセスを実行するステップであって、これら複数のプロセスは、複数のアプリケーション・プログラムの分離可能なプログラム実行コンテキストを含み、各アプリケーション・プログラムが少なくとも1つのプロセスを含む、ステップと、複数のプロセスの各プロセスのイベントをデータ・メッセージに変換するステップであって、このデータ・メッセージが、イベントのイベント・データのアプリケーションに独立した表現と、データ・メッセージを発したプロセスの状態情報とを含む、ステップと、データ・メッセージを、複数のプールの内少なくとも1つのプールに転送するステップと、プロセス間において調整を行うステップであって、この調整は、複数のプロセスの各プロセスは、複数のプールからピア・プロセスの状態情報を引き出すことによって、複数のプロセスのピア・プロセスと対等になることを含む、ステップと、複数のプールの内少なくとも1つのプールの1組のデータ・メッセージをインタラクティブに組み合わせることによって、複数のプロセスの出力を発生するステップとを備えている。
一実施形態の方法は、アプリケーション・プログラムを1組のプロセスに分割するステップを備えており、複数のプロセスが1組のプロセスを含む。
一実施形態の方法は、第1組のプロセスを並列に実行し、第2組のプロセスを順次実行するステップを備えており、複数のプロセスが第1組のプロセスおよび第2組のプロセスを含む。
一実施形態のイベントは、プロセス出力を表す。
一実施形態のイベントは、ユーザ・インターフェース・イベントを備えている。
一実施形態のイベントは、プロセス状態を表す。
一実施形態のプロセスの状態は、当該プロセスのインタラクティブ機能を表し、プロセスのインタラクティブ機能を複数のプロセスに、データ・カプセルの内容として露出する。
一実施形態の少なくとも1つの処理デバイスは、複数の処理デバイスを備えている。
一実施形態の方変換するステップは、第1プロセスのイベントを、イベントを指定する第1プロセス・イベント・データと、このイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスに変換するステップを含む。
一実施形態の変換するステップは、少なくとも1つのデータ・シーケンスを含むようにデータ・カプセルを形成するステップを含み、データ・カプセルは、少なくとも1つのデータ・シーケンスのアプリケーション独立表現を備えているデータ構造を有する。
一実施形態の変換するステップは、第2プロセスの状態変化イベントを、イベントを指定する第2プロセス・イベント・データとこのイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスに変換するステップを含む。
一実施形態の変換するステップは、少なくとも1つのデータ・シーケンスを含むようにデータ・カプセルを形成するステップを含み、データ・カプセルは、少なくとも1つのデータ・シーケンスのアプリケーション独立表現を備えているデータ構造を有する。
一実施形態の変換するステップは、認識したデータ・カプセルの内容を少なくとも1つの新たなデータ・シーケンスに変換するステップを含み、少なくとも1つの新たなデータ・シーケンスは、第1プロセスのイベントおよび第2プロセスのイベントの内少なくとも1つを表す。
一実施形態の複数のプロセスが入力プロセスを含み、この入力プロセスが入力イベントを入力デバイスから受ける。
一実施形態の変換するステップは、少なくとも1つのデータ・シーケンスを含むようにデータ・カプセルを形成するステップを含み、データ・カプセルは、少なくとも1つのデータ・シーケンスのアプリケーション独立表現を備えているデータ構造を有する。
一実施形態の認識プロセスは、ポインタ・プロセスであり、引き出すステップは、ポインタ・プロセスが複数のプールから認識したデータ・カプセルを引き出し、認識したデータ・カプセルの内容に適したプロセスを実行するステップを含む。
一実施形態の認識データ・カプセルの内容は、少なくとも1つの処理デバイスのユーザがポインタ・オブジェクトを誘導しているディスプレイ上の位置を表すデータである。
一実施形態のポインタ・プロセス・イベント・データおよび状態情報は、ポインタ・プロセスのアプリケーションに対応するタイプを有するタイプ特定データである。
一実施形態の複数のプロセスは、グラフィカル・プロセスを含む。
一実施形態の変換するステップは、少なくとも1つの新たなデータ・シーケンスを含むようにデータ・カプセルを形成するステップを含み、データ・カプセルは、少なくとも1つのデータ・シーケンスのアプリケーション独立表現を備えているデータ構造を有する。
一実施形態の状態情報は、空間状態およびモード状態の内少なくとも1つの情報を含む。
一実施形態のポインタ・オブジェクトの位置は、グラフィカル・オブジェクトの境界内部にあり、グラフィカル・オブジェクトがグラフィカル・プロセスによってレンダリングされる。
一実施形態の変換するステップは、少なくとも1つのデータ・シーケンスを含むようにデータ・カプセルを形成するステップを含み、このデータ・カプセルは、少なくとも1つのデータ・シーケンスのアプリケーション独立表現を備えているデータ構造を有する。
一実施形態のイベント・データは、類別されたデータを表すタグ付きバイト・シーケンスである。
一実施形態の状態情報は、類別されたデータを表すタグ付きバイト・シーケンスである。
一実施形態の方法は、少なくとも1つのオフセットを発生するステップを備えている。一実施形態の方法は、少なくとも1つのオフセットを含むように、データ・カプセルを形成するステップを備えている。
一実施形態の方法は、少なくとも1つの処理デバイスの第2イベントを検出するステップを備えている。一実施形態の方法は、複数のプールを検索して、第2イベントに対応するデータ・カプセルを求めるステップを備えている。
一実施形態の複数のプールは、複数のデータ・カプセルの線形シーケンスに備えている。
一実施形態のデータ・カプセルのデータ構造は、イベント・データおよび状態情報のプラットフォームに独立した表現を与える。
転送するステップは、第1アプリケーション・タイプを有する第1アプリケーションから少なくとも1つの第2アプリケーション・タイプを有する少なくとも1つの第2アプリケーションにデータ・カプセルを転送するステップを含み、第1アプリケーション・タイプが第2アプリケーション・タイプとは異なり、少なくとも1つのデータ・シーケンスを発生するステップは、第1アプリケーションによって実行され、本方法は、転送するステップの間、データ・カプセルの少なくとも1つのデータ・シーケンスをそのまま保持するステップを備えている。
一実施形態の方法は、イベント・データと、少なくとも1つの処理デバイスのソース・デバイスの識別データとを含む第1データ集合を発生するステップを備えており、デバイス・イベント・データは、ソース・デバイスによって登録されたイベントを指定するデータを含み、識別データは、ソース・デバイスを識別するデータを含む。
一実施形態のイベント・データは、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む。
一実施形態の状態情報は、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む。
一実施形態の方法は、複数のプールを検索して、第2イベントに対応するデータ・カプセルを求めるステップを備えている。一実施形態の方法は、対応を特定したことに応答して、プールからデータ・カプセルを抽出するステップを備えている。
一実施形態の複数のプールは、複数のデータ・カプセルの線形シーケンスに備えている。
一実施形態のデータ・カプセルのデータ構造は、イベント・データおよび状態情報のプラットフォームに独立した表現を与える。
本明細書において記載した実施形態は、方法を含む。この方法は、アプリケーション・プログラムを複数のプロセスに分割するステップと、これら複数のプロセスの中にあるプロセスを用いて、アプリケーション・プログラムの出力の一部を発生するステップと、出力の一部を第1データ・カプセルにカプセル化し、第1データ・カプセルを複数のプールの内少なくとも1つに転送するステップであって、複数のプールが、複数のプロセスから受け取られる複数のデータ・カプセルを備えている、ステップと、複数のプールにアクセスし、複数のプロセスの内第2プロセスの入力を引き出すステップであって、入力が複数のデータ・カプセルの内第2データ・カプセルの中にある、ステップと、複数のデータ・カプセルおよび複数のプールを用いて、複数のプロセス間における処理を調整するステップとを備えている。
を備えており、少なくとも1つの処理デバイスが、複数のプロセスの各プロセスのイベントをデータ・カプセルに変換し、このデータ・カプセルを複数のプールに転送し、データ・カプセルが、イベントのイベント・データのアプリケーション独立表現と、データ・カプセルが発したプロセスの状態情報とを含み、各プロセスが認識プロセスとして動作し、この認識プロセスが、複数のプールにおいて、当該認識プロセスのインタラクティブ機能に対応する内容と、認識プロセスの識別との内少なくとも1つを備えているデータ・カプセルを認識し、認識プロセスが、認識したデータ・カプセルを複数のプールから引き出し、認識したデータ・カプセルの内容に適した処理を実行する。
一実施形態のジェスチャ・データは、ある時点および空間におけるユーザの瞬時的状態の絶対三空間位置データである。
一実施形態の検出するステップは、ボディの位置を検出すること、ボディの方位を検出すること、およびボディの運動を検出することの内少なくとも1つを含む。
一実施形態の検出するステップは、ボディの第1組の付属器官および第2組の付属器官の内少なくとも1つを検出するステップを含む。
一実施形態の検出するステップは、ボディに結合されている1組のタグの位置を検出するステップを含む。
一実施形態の検出するステップは、ボディに結合されている1組のマーカの位置を検出するステップを含む。
一実施形態の検出するステップは、ボディの複数の付属器官の各々に結合されている1組のマーカを用いて、付属器官の位置を検出するステップを含む。
一実施形態のジェスチャ表記は、ジェスチャ・ボキャブラリを表し、ジェスチャ信号がジェスチャ・ボキャブラリの通信を含む。
一実施形態のジェスチャ・ボキャブラリは、ボディの力学的連携の方位をテキスト形態で表す。
一実施形態のジェスチャ・ボキャブラリは、ボディの力学的連携状態を表す、キャラクタのストリングを含む。
一実施形態の方法は、ストリングにおける各位置を第2付属器官に割り当てるステップを備えており、第2付属器官が第1付属器官に接続されている。
一実施形態の複数の位置は、座標原点に対して確定される。
一実施形態の検出するステップは、ボディの外挿補間位置が仮想空間と交差するときを検出するステップを含み、仮想空間が、少なくとも1つの処理デバイスに結合されているディスプレイ・デバイス上に描画された空間を含む。
一実施形態の制御するステップは、仮想空間における外挿位置に応答して、仮想空間における仮想オブジェクトの位置を制御するステップを備えている。
一実施形態の方法は、仮想空間と物理空間との間において一致を生じさせるために、検出および制御のスケーリングを制御するステップを備えており、仮想空間がディスプレイ上に描画された空間を構成し、物理空間が、ボディが存在する空間を含む。
一実施形態のコンポーネントを制御するステップは、ジェスチャを三空間オブジェクトにマッピングすることによって、6自由度で同時に三空間オブジェクトを制御するステップを含む。
一実施形態の三空間オブジェクトを、少なくとも1つの処理デバイスに結合されているディスプレイ・デバイス上に呈示する。
一実施形態の方法は、ジェスチャを三空間オブジェクトの複数のオブジェクト平行移動にマッピングすることによって、三空間オブジェクトの移動を制御するステップを備えている。
一実施形態のマッピングは、ジェスチャと複数のオブジェクト平行移動との間における間接マッピングを含む。
一実施形態の方法は、データ・カプセルおよび複数のプールを用いて、複数のプロセスの各々の動作を調整することによって、複数のプロセスからインタラクティブ・アプリケーションを形成するステップを備えている。
一実施形態の方法は、アプリケーション・プログラムを1組のプロセスに分割するステップを備えており、複数のプロセスが1組のプロセスを含む。
一実施形態の方法は、第1組のプロセスを並列に実行し、第2組のプロセスを順次実行するステップを備えており、複数のプロセスが第1組のプロセスおよび第2組のプロセスを含む。
一実施形態のイベントは、プロセス出力を表す。
一実施形態のイベントは、ユーザ・インターフェース・イベントを備えている。
一実施形態のイベントは、プロセス状態を表す。
一実施形態のプロセスの状態は、当該プロセスのインタラクティブ機能を表し、プロセスのインタラクティブ機能を複数のプロセスに、データ・カプセルの内容として露出する。
一実施形態の少なくとも1つの処理デバイスは、複数の処理デバイスを備えている。
一実施形態の変換するステップは、第1プロセスのイベントを、イベントを指定する第1プロセス・イベント・データと、このイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスに変換するステップを含む。
一実施形態の変換するステップは、少なくとも1つのデータ・シーケンスを含むようにデータ・カプセルを形成するステップを含み、データ・カプセルが、少なくとも1つのデータ・シーケンスのアプリケーション独立表現を備えているデータ構造を有する。
一実施形態の変換するステップは、第2プロセスの状態変化イベントを、イベントを指定する第2プロセス・イベント・データとこのイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスに変換するステップを含む。
一実施形態の変換するステップは、少なくとも1つのデータ・シーケンスを含むようにデータ・カプセルを形成するステップを含み、データ・カプセルが、少なくとも1つのデータ・シーケンスのアプリケーション独立表現を備えているデータ構造を有する。
一実施形態の変換するステップは、認識したデータ・カプセルの内容を少なくとも1つの新たなデータ・シーケンスに変換するステップを含み、少なくとも1つの新たなデータ・シーケンスが、第1プロセスのイベントおよび第2プロセスのイベントの内少なくとも1つを表す。
一実施形態の認識したデータ・カプセルの内容に適した処理は、グラフィカル・オブジェクトをレンダリングするステップを含み、少なくとも1つの処理デバイスのディスプレイ上にグラフィカル・オブジェクトをレンダリングする。
一実施形態のイベント・データは、類別されたデータを表すタグ付きバイト・シーケンスである。
一実施形態の状態情報は、類別されたデータを表すタグ付きバイト・シーケンスである。
一実施形態の方法は、少なくとも1つのオフセットを発生するステップを備えている。一実施形態の方法は、なくとも1つのオフセットを含むように、データ・カプセルを形成するステップを備えている。
一実施形態の方法は、少なくとも1つの処理デバイスの第2イベントを検出するステップを備えている。一実施形態の方法は、複数のプールを検索して、第2イベントに対応するデータ・カプセルを求めるステップを備えている。
一実施形態の複数のプールは、複数のデータ・カプセルの線形シーケンスに備えている。
一実施形態のデータ・カプセルのデータ構造は、イベント・データおよび状態情報のプラットフォームに独立した表現を与える。
一実施形態の転送するステップは、第1アプリケーション・タイプを有する第1アプリケーションから少なくとも1つの第2アプリケーション・タイプを有する少なくとも1つの第2アプリケーションにデータ・カプセルを転送するステップを含み、第1アプリケーション・タイプが第2アプリケーション・タイプとは異なり、少なくとも1つのデータ・シーケンスを発生するステップが、第1アプリケーションによって実行され、本方法は、転送するステップの間、データ・カプセルの少なくとも1つのデータ・シーケンスをそのまま保持するステップを備えている。
一実施形態の方法は、イベント・データと、少なくとも1つの処理デバイスのソース・デバイスの識別データとを含む第1データ集合を発生するステップを備えており、デバイス・イベント・データが、ソース・デバイスによって登録されたイベントを指定するデータを含み、識別データが、ソース・デバイスを識別するデータを含む。
一実施形態のイベント・データは、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む。
一実施形態の状態情報は、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む。
一実施形態の方法は、複数のプールを検索して、第2イベントに対応するデータ・カプセルを求めるステップを備えている。一実施形態の方法は、対応を特定したことに応答して、プールからデータ・カプセルを抽出するステップを備えている。
一実施形態の複数のプールは、複数のデータ・カプセルの線形シーケンスに備えている。
一実施形態のデータ・カプセルのデータ構造は、イベント・データおよび状態情報のプラットフォームに独立した表現を与える。
本明細書において記載した実施形態は、方法を含む。この方法は、処理デバイス上において複数のプロセスを実行するステップであって、複数のプロセスが、複数のアプリケーション・プログラムの分離可能なプログラム実行コンテキストを含み、各アプリケーション・プログラムが少なくとも1つのプロセスを含む、ステップと、複数のプロセスの各プロセスのイベントをデータ・メッセージに変換するステップであって、データ・メッセージが、イベントのイベント・データのアプリケーションに独立した表現と、データ・メッセージを発したプロセスの状態情報とを含む、ステップと、データ・メッセージを、複数のプールの内少なくとも1つのプールに転送するステップと、プロセス間において調整を行うステップであって、この調整が、複数のプールからピア・プロセスの状態情報を引き出すことによって、複数のプロセスの各プロセスが、複数のプロセスのピア・プロセスと対等になることを含む、ステップと、複数のプールの内少なくとも1つのプールの1組のデータ・メッセージをインタラクティブに組み合わせることによって、複数のプロセスの出力を発生するステップとを備えている。
Claims (331)
- 少なくとも1つの処理デバイス上において複数のプロセスを実行するステップであって、各プロセスが、該プロセスのアプリケーションに対応するタイプを有するタイプ特定データを含んでいるイベントを生成する、ステップと、
前記複数のプロセスの各プロセスのイベントをデータ・カプセルに変換するステップであって、各データ・カプセルが、各プロセスのアプリケーションに依存せずに前記複数のプロセスによって認識可能な前記イベントの表現であるアプリケーション独立表現に変換されたデータを含んでいる、ステップと、
前記データ・カプセルを複数のプールに転送するステップであって、各プールが、前記複数のプロセスによって生成された前記データ・カプセルを含んでいる、ステップと、
各プロセスが認識プロセスとして動作するステップであって、前記認識プロセスが、前記複数のプールにおいて、当該認識プロセスのインタラクティブ機能に対応する内容と、当該認識プロセスの識別との内少なくとも1つを備えているデータ・カプセルを認識する、ステップと、
前記認識プロセスが、認識したデータ・カプセルを前記複数のプールから引き出し、前記認識したデータ・カプセルの内容に適した処理を実行するステップと、
を備えている、方法。 - 請求項1記載の方法において、データ・カプセルが、データ・メッセージが発生したプロセスの状態情報をさらに含む、方法。
- 請求項1記載の方法であって、前記データ・カプセルおよび前記複数のプールを用いて、前記複数のプロセスの各々の動作を調整することによって、前記複数のプロセスからインタラクティブ・アプリケーションを形成するステップを備えている、方法。
- 請求項1記載の方法であって、前記データ・カプセルおよび前記複数のプールの内少なくとも1つを用いて、前記複数のプロセスの動作を調整するステップを備えている、方法。
- 請求項1記載の方法であって、アプリケーション・プログラムを1組のプロセスに分割するステップを備えており、前記複数のプロセスが前記1組のプロセスを含む、方法。
- 請求項1記載の方法であって、前記複数のプールの内少なくとも1つのプールから引き出した複数のデータ・カプセルをインタラクティブに処理することによって、出力を発生するプロセスを備えている、方法。
- 請求項1記載の方法において、前記複数のプロセスが、複数のアプリケーション・プログラムの分離可能なプログラム実行コンテキストを含み、各アプリケーション・プログラムが少なくとも1つのプロセスを備えている、方法。
- 請求項1記載の方法であって、前記複数のプロセスを並列に実行するステップを備えている、方法。
- 請求項1記載の方法であって、第1組のプロセスを並列に実行し、第2組のプロセスを順次実行するステップを備えており、前記複数のプロセスが前記第1組のプロセスおよび前記第2組のプロセスを含む、方法。
- 請求項1記載の方法において、前記イベントがプロセス入力を表す、方法。
- 請求項1記載の方法において、前記イベントがプロセス出力を表す、方法。
- 請求項1記載の方法において、前記イベントがユーザ・インターフェース・イベントを備えている、方法。
- 請求項1記載の方法において、前記イベントがグラフィクスイベントを備えている、方法。
- 請求項1記載の方法において、前記イベントがプロセスの状態を表す、方法。
- 請求項14記載の方法において、プロセスの状態が、当該プロセスのインタラクティブ機能を表し、前記プロセスのインタラクティブ機能を複数のプロセスに、前記データ・カプセルの内容として露出する、方法。
- 請求項15記載の方法であって、アプリケーション・プログラミング・インターフェース(API)を関数コールによって定義する代わりに、前記データ・カプセルの内容によって前記複数のプロセスのAPIを定義するステップを備えている、方法。
- 請求項16記載の方法において、前記データ・カプセルの内容が、アプリケーション独立表現であり、前記複数のプロセスによって認識可能である、方法。
- 請求項1記載の方法において、前記少なくとも1つの処理デバイスが、複数の処理デバイスを備えている、方法。
- 請求項18記載の方法において、前記複数のプロセスの内少なくとも1つの第1組のプロセスが、前記複数の処理デバイスの内少なくとも1つの第1組の処理デバイスの下で起動し、前記複数のプロセスの内少なくとも1つの第2組のプロセスが、前記複数の処理デバイスの内少なくとも1つの第2組の処理デバイスの下で起動する、方法。
- 請求項19記載の方法において、前記複数のプロセスが第1プロセスを含む、方法。
- 請求項20記載の方法であって、前記変換するステップが、前記第1プロセスのイベントを、前記イベントを指定する第1プロセス・イベント・データと、このイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスに変換するステップを含む、方法。
- 請求項21記載の方法において、前記第1プロセス・イベント・データおよび状態情報が、前記第1プロセスのアプリケーションに対応するタイプを有するタイプ特定データである、方法。
- 請求項22記載の方法において、前記変換するステップが、前記少なくとも1つのデータ・シーケンスを含むように前記データ・カプセルを形成するステップを含み、前記データ・カプセルが、前記少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項20記載の方法において、前記複数のプロセスが第2プロセスを含む、方法。
- 請求項24記載の方法において、前記変換するステップが、前記第2プロセスの状態変化イベントを、前記イベントを指定する第2プロセス・イベント・データとこのイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスに変換するステップを含む、方法。
- 請求項25記載の方法において、前記第2プロセス・イベント・データおよび状態情報が、前記第2プロセスのアプリケーションに対応するタイプを有するタイプ特定データである、方法。
- 請求項26記載の方法において、前記変換するステップが、前記少なくとも1つのデータ・シーケンスを含むように前記データ・カプセルを形成するステップを含み、前記データ・カプセルが、前記少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項24記載の方法において、前記認識プロセスが前記第2プロセスであり、前記引き出すステップが、前記認識したデータ・カプセルを前記複数のプールから引き出し、前記認識したデータ・カプセルの内容に適した処理を実行する前記第2プロセスを備えている、方法。
- 請求項28記載の方法において、前記認識したデータ・カプセルの内容が、前記第1プロセスの状態情報を表すデータである、方法。
- 請求項29記載の方法において、前記変換するステップが、前記認識したデータ・カプセルの内容を少なくとも1つの新たなデータ・シーケンスに変換するステップを含み、前記少なくとも1つの新たなデータ・シーケンスが、前記第1プロセスのイベントおよび前記第2プロセスのイベントの内少なくとも1つを表す、方法。
- 請求項30記載の方法において、前記少なくとも1つの新たなデータ・シーケンスが、前記イベントを指定するイベント・データと、前記第1プロセスおよび前記第2プロセスの内少なくとも1つの状態情報とを備えている、方法。
- 請求項31記載の方法において、前記イベント・データならびに前記第1プロセスおよ
び前記第2プロセスの内少なくとも1つの状態情報が、前記第1プロセスおよび前記第2プロセスの内前記少なくとも1つのアプリケーションに対応するタイプを有するタイプ特定データである、方法。 - 請求項32記載の方法において、前記変換するステップが、前記少なくとも1つの新たなデータ・シーケンスを含むように前記データ・カプセルを形成するステップを含み、前記データ・カプセルが、前記少なくとも1つの新たなデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項33記載の方法において、前記複数のプロセスが前記少なくとも1つの新たなデータ・シーケンスを用いる、方法。
- 請求項1記載の方法において、前記認識したデータ・カプセルの内容に適した前記処理が、グラフィカル・オブジェクトをレンダリングするステップを含み、前記少なくとも1つの処理デバイスのディスプレイ上に前記グラフィカル・オブジェクトをレンダリングする、方法。
- 請求項35記載の方法において、前記レンダリングするステップが、直接レンダリングを行い、前記複数のプロセスが前記少なくとも1つの処理デバイスのグラフィクス・レイヤに直接描画を行い、前記複数のプロセス間において前記レンダリングに適するような調整を行うために前記複数のプールを用いる、方法。
- 請求項35記載の方法において、前記レンダリングするステップが、
レンダリング・コマンドを備えているデータ・カプセルを前記複数のプールに転送するプロセスと、
前記レンダリング・コマンドを前記複数のプールから引き出し、前記レンダリング・コマンドを解釈し、前記レンダリング・コマンドに応答して前記少なくとも1つの処理デバイスのグラフィクス・レイヤをドライブするプロセスと、
を含む、複数のプロセスを備えている、方法。 - 請求項35記載の方法において、前記レンダリングするステップが、
画素バッファにレンダリングするプロセスと、
生のフレーム・データを前記複数のプールに転送するプロセスであって、前記生のフレーム・データが前記画素バッファへのレンダリングの結果得られる、プロセスと、
前記生のフレーム・データを前記複数のプールから引き出し、前記少なくとも1つの処理デバイスのグラフィクス・レイヤをドライブする際に用いるために、前記生のフレーム・データを組み合わせるプロセスと、
を含む、複数のプロセスを備えている、方法。 - 請求項1記載の方法であって、
前記複数のプロセスのイベントを検出するステップと、
前記イベントを指定するイベント・データと、このイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスを発生するステップであって、前記イベント・データおよび状態情報が、前記少なくとも1つの処理デバイスのアプリケーションに対応するタイプを有するタイプ特定データである、ステップと、
前記少なくとも1つのデータ・シーケンスを含むようにデータ・カプセルを形成するステップであって、前記データ・カプセルが、前記少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、ステップと、
を備えている、方法。 - 請求項39記載の方法において、前記少なくとも1つのデータ・シーケンスを発生する前記ステップが、
第1個別イベント・データを含む第1個別データ集合を発生するステップと、
第2個別状態情報を含む第2個別データ集合を発生するステップと、
前記第1個別データ集合および前記第2個別データ集合を含むように、第1データ・シーケンスを形成するステップと、
を備えている、方法。 - 請求項40記載の方法において、前記第1個別データ集合を発生する前記ステップが、前記少なくとも1つの処理デバイスの識別データを含むように、前記第1個別データ集合を形成するステップを含み、前記識別データが、前記少なくとも1つの処理デバイスを識別するデータを含む、方法。
- 請求項40記載の方法において、前記少なくとも1つのデータ・シーケンスを発生する前記ステップが、
第1個別イベント・データを含む第1個別データ集合を発生するステップと、
第2個別状態情報を含む第2個別データ集合を発生するステップと、
前記第1個別データ集合および前記第2個別データ集合を含むように、第2データ・シーケンスを形成するステップと、
を備えている、方法。 - 請求項42記載の方法において、前記第1個別データ集合を発生する前記ステップが、第1個別データ集合オフセットを発生するステップを含み、前記第1個別データ集合オフセットが、前記第2データ・シーケンスの前記第1個別データ集合を指し示す、方法。
- 請求項42記載の方法において、前記第2個別データ集合を発生する前記ステップが、第2個別データ集合オフセットを発生するステップを含み、前記第2個別データ集合オフセットが、前記第2データ・シーケンスの前記第2個別データ集合を指し示す、方法。
- 請求項40記載の方法において、前記第1個別データ集合が、記述リストであり、この記述リストが、前記データの記述を含む、方法。
- 請求項39記載の方法において、前記イベント・データが、類別されたデータを表すタグ付きバイト・シーケンスである、方法。
- 請求項46記載の方法において、前記イベント・データが、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む、方法。
- 請求項39記載の方法において、前記状態情報が、類別されたデータを表すタグ付きバイト・シーケンスである、方法。
- 請求項48記載の方法において、前記状態情報が、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む、方法。
- 請求項39記載の方法であって、
少なくとも1つのオフセットを発生するステップと、
前記少なくとも1つのオフセットを含むように、前記データ・カプセルを形成するステップと、
を備えている、方法。 - 請求項50記載の方法であって、
第1可変長を有する第1オフセットを発生するステップを備えており、
前記第1オフセットが、前記少なくとも1つのデータ・シーケンスの第1データ・シーケンスの前記イベント・データを指し示す、方法。 - 請求項50記載の方法であって、
第2可変長を有する第2オフセットを発生するステップを備えており、
前記第2オフセットが、前記少なくとも1つのデータ・シーケンスの第1データ・シーケンスの前記状態情報を指し示す、方法。 - 請求項50記載の方法であって、
前記少なくとも1つのオフセットの内第1オフセットを用いて、前記データ・カプセルを通過する第1コード経路を形成するステップと、
前記少なくとも1つのオフセットの内第2オフセットを用いて、前記データ・カプセルを通過する第2コード経路を形成する、ステップと、
を備えており、
前記第1コード経路および前記第2コード経路が異なる経路である、方法。 - 請求項50記載の方法において、第1オフセットおよび第2オフセットの内少なくとも1つがメタデータを含み、このメタデータが、前記アプリケーションのコンテキストに対応するコンテキスト特定メタデータを含む、方法。
- 請求項39記載の方法であって、
前記データ・カプセルの長さを含むヘッダを発生するステップと、
前記ヘッダを含むように前記データ・カプセルを形成するステップと、
を備えている、方法。 - 請求項39記載の方法であって、前記データ・カプセルを前記複数のプールにおけるプールに転送するステップを備えている、方法。
- 請求項56記載の方法であって、
前記少なくとも1つの処理デバイスの第2イベントを検出するステップと、
前記複数のプールを検索して、前記第2イベントに対応するデータ・カプセルを求めるステップと、
を備えている、方法。 - 請求項57記載の方法であって、
前記データ・カプセルと前記第2イベントとの間における対応を特定するステップと、
前記特定に応答して、前記プールから前記データ・カプセルを抽出するステップと、
前記データ・カプセルの内容に応答して、前記少なくとも1つの処理デバイスの代わりに、前記第2イベントに対応する処理動作を実行するステップであって、前記少なくとも1つの処理デバイスが第1タイプのアプリケーションおよび第2タイプのアプリケーションに対応する、ステップと、
を備えている、方法。 - 請求項56記載の方法において、前記複数のプールが複数のアプリケーションに結合されており、前記複数のプールが、前記複数のアプリケーションに対応する複数のデータ・カプセルを含み、前記複数のプールが、前記複数のアプリケーションによる前記複数のデータ・カプセルへのアクセスに備えており、前記複数のアプリケーションの内少なくとも2つのアプリケーションが異なるアプリケーションである、方法。
- 請求項56記載の方法において、前記複数のプールが、複数のデータ・カプセルの状態のキャッシュに備えている、方法。
- 請求項56記載の方法において、前記複数のプールが、複数のデータ・カプセルの線形シーケンスに備えている、方法。
- 請求項39記載の方法において、前記データ構造が、類別されていない、方法。
- 請求項39記載の方法において、前記データ・カプセルのデータ構造が、前記イベント・データおよび前記状態情報のプラットフォームに依存しない表現である、方法。
- 請求項39記載の方法において、前記データ・カプセルのデータ構造が、前記イベント・データおよび前記状態情報へのプラットフォームに依存しないアクセスを与える、方法。
- 請求項39記載の方法において、前記転送するステップが、第1アプリケーション・タイプを有する第1アプリケーションから少なくとも1つの第2アプリケーション・タイプを有する少なくとも1つの第2アプリケーションに前記データ・カプセルを転送するステップを含み、前記第1アプリケーション・タイプが前記第2アプリケーション・タイプとは異なり、前記少なくとも1つのデータ・シーケンスを発生するステップが、前記第1アプリケーションによって実行され、前記方法が、前記転送するステップの間、前記データ・カプセルの少なくとも1つのデータ・シーケンスをそのまま保持するステップを備えている、方法。
- 請求項65記載の方法であって、前記第2アプリケーションの動作中、前記少なくとも1つのデータ・シーケンスを用いるステップを備えている、方法。
- 請求項39記載の方法であって、イベント・データと、前記少なくとも1つの処理デバイスのソース・デバイスの識別データとを含む第1データ集合を発生するステップを備えており、デバイス・イベント・データが、前記ソース・デバイスによって登録されたイベントを指定するデータを含み、前記識別データが、前記ソース・デバイスを識別するデータを含む、方法。
- 請求項67記載の方法であって、前記イベントの完全な1組の状態情報を含む第2データ集合を発生するステップを備えており、前記第1データ集合および前記第2データ集合の各々が、タイプ特定データ・レイアウトとした類別データ・バンドルを備えている、方法。
- 請求項68記載の方法において、前記変換するステップが、前記第1データ集合および前記第2データ集合を含むようにデータ・カプセルを形成することによって、前記第1データ集合および前記第2データ集合をカプセル化するステップを備えており、前記データ・カプセルが、前記少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項39記載の方法であって、
第1タイプのアプリケーションの下で起動する第1処理デバイスのイベントを検出するステップと、
前記第1処理デバイスのイベント・データを含むデータ・シーケンスを発生するステップであって、前記イベント・データが前記イベントおよびこのイベントの状態情報を指定
し、前記イベント・データおよび状態情報が、前記アプリケーションに対応するタイプを有するタイプ特定データである、ステップと、
前記データ・シーケンスを含むようにデータ・カプセルを形成するステップであって、前記データ・カプセルが、前記データ・シーケンスのアプリケーション独立表現のデータ構造を有する、ステップと、
少なくとも1つの第2タイプを有する少なくとも1つの第2アプリケーションの下で起動する第2処理デバイスの第2イベントを検出するステップであって、前記第2タイプが前記第1タイプとは異なり、前記少なくとも1つの処理デバイスが、前記第1処理デバイスおよび前記第2処理デバイスを含み、
前記データ・カプセルと前記第2イベントとの間における対応を特定するステップと、
前記第2イベントに応答して、前記データ・カプセルのデータ・シーケンスの内容を用いて動作を実行するステップと、
を備えている、方法。 - 請求項70記載の方法において、前記データ・シーケンスを発生する前記ステップが、
前記イベント・データを含む第1データ集合を発生するステップと、
前記状態情報を含む第2データ集合を発生するステップと、
前記第1データ集合および前記第2データ集合を含むように第1データ・シーケンスを形成するステップと、
を備えている、方法。 - 請求項70記載の方法において、前記イベント・データが、類別されたデータを表すタグ付きバイト・シーケンスである、方法。
- 請求項72記載の方法において、前記イベント・データが、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む、方法。
- 請求項70記載の方法において、前記状態情報が、類別されたデータを表すタグ付きバイト・シーケンスである、方法。
- 請求項74記載の方法において、前記状態情報が、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む、方法。
- 請求項70記載の方法であって、
少なくとも1つのオフセットを発生するステップと、
前記少なくとも1つのオフセットを含むように前記データ・カプセルを形成するステップと、
を備えている、方法。 - 請求項76記載の方法であって、
第1可変長を有する第1オフセットを発生するステップであって、前記第1オフセットが、前記少なくとも1つのデータ・シーケンスの第1データ・シーケンスの前記イベント・データを指し示す、ステップと、
第2可変長を有する第2オフセットを発生するステップであって、前記第2オフセットが、前記少なくとも1つのデータ・シーケンスの第1データ・シーケンスの前記状態情報を指し示す、ステップと、
を備えている、方法。 - 請求項76記載の方法であって、
前記少なくとも1つのオフセットの内第1オフセットを用いて、前記データ・カプセル
を通過する第1コード経路を形成するステップと、
前記少なくとも1つのオフセットの内第2オフセットを用いて、前記データ・カプセルを通過する第2コード経路を形成する、ステップと、
を備えており、
前記第1コード経路および前記第2コード経路が異なる経路である、方法。 - 請求項76記載の方法において、第1オフセットおよび第2オフセットの内少なくとも1つがメタデータを含み、このメタデータが、前記アプリケーションのコンテキストに対応するコンテキスト特定メタデータを含む、方法。
- 請求項70記載の方法であって、前記データ・カプセルを前記複数のプールにおけるプールに転送するステップを備えている、方法。
- 請求項80記載の方法であって、
前記複数のプールを検索して、前記第2イベントに対応するデータ・カプセルを求めるステップと、
前記対応を特定したことに応答して、前記プールから前記データ・カプセルを抽出するステップと、
を備えている、方法。 - 請求項80記載の方法において、前記複数のプールが前記アプリケーションおよび前記少なくとも1つの第2アプリケーションに結合されており、前記複数のプールが、前記アプリケーションおよび前記少なくとも1つの第2アプリケーションに対応する複数のデータ・カプセルを含み、前記複数のプールが、前記アプリケーションおよび前記少なくとも1つの第2アプリケーションによる前記複数のデータ・カプセルへのアクセスを与える、方法。
- 請求項80記載の方法において、前記複数のプールが、複数のデータ・カプセルの状態のキャッシュに備えている、方法。
- 請求項80記載の方法において、前記複数のプールが、複数のデータ・カプセルの線形シーケンスに備えている、方法。
- 請求項70記載の方法において、前記データ構造が、類別されていない、方法。
- 請求項70記載の方法において、前記データ・カプセルのデータ構造が、前記イベント・データおよび前記状態情報のプラットフォームに依存しない表現である、方法。
- 請求項70記載の方法において、前記データ・カプセルのデータ構造が、前記イベント・データおよび前記状態情報へのプラットフォームに依存しないアクセスを与える、方法。
- 処理デバイス上において複数のプロセスを実行するステップであって、前記複数のプロセスが、複数のアプリケーション・プログラムの分離可能なプログラム実行コンテキストを含み、各アプリケーション・プログラムが少なくとも1つのプロセスを含み、かつ、各プロセスが、対応するプロセスのアプリケーションに対応するタイプを有するタイプ特定データを含んでいるイベントを生成する、ステップと、
前記複数のプロセスの各プロセスのイベントをデータ・メッセージに変換するステップであって、データ・メッセージが、各プロセスのアプリケーションに依存せずに前記複数のプロセスによって認識可能な前記イベントの表現であるアプリケーション独立表現に変
換されたデータと、前記データ・メッセージを発したプロセスの状態情報とを含む、ステップと、
前記データ・メッセージを、複数のプールの内少なくとも1つのプールに転送するステップであって、各プールが、前記複数のプロセスによって生成されたデータ・メッセージを含んでいる、ステップと、
前記プロセス間において調整を行うステップであって、この調整が、前記複数のプロセスの各プロセスが、前記複数のプールからピア・プロセスの状態情報を引き出すことによって、前記複数のプロセスの前記ピア・プロセスと対等になることを含む、ステップと、
前記複数のプールの内少なくとも1つのプールの1組のデータ・メッセージをインタラクティブに組み合わせることによって、前記複数のプロセスの出力を発生するステップと、
を備えている、方法。 - 複数のプロセスを実行する少なくとも1つの処理デバイスであって、各プロセスが、該プロセスのアプリケーションに対応するタイプを有するタイプ特定データを含んでいるイベントを生成する少なくとも1つの処理デバイスと、
前記少なくとも1つの処理デバイスに結合されている複数のプールと、
を備えており、
前記少なくとも1つの処理デバイスが、前記複数のプロセスの各プロセスのイベントをデータ・カプセルに変換し、このデータ・カプセルを前記複数のプールに転送し、各データ・カプセルが、各プロセスのアプリケーションに依存せずに前記複数のプロセスによって認識可能な前記イベントの表現であるアプリケーション独立表現に変換されたデータを含み、各プールが、前記複数のプロセスによって生成されたデータ・カプセルを含んでおり、
前記複数のプロセスの各プロセスが、認識プロセスとして動作し、この認識プロセスが、前記複数のプールにおいて、当該認識プロセスのインタラクティブ機能に対応する内容と、前記認識プロセスの識別との内少なくとも1つを備えているデータ・カプセルを認識し、
前記認識プロセスが、認識したデータ・カプセルを前記複数のプールから引き出し、前記認識したデータ・カプセルの内容に適した処理を実行する、システム。 - 少なくとも1つの処理デバイス上において複数のプロセスを実行するステップであって、前記複数のプロセスが、複数のアプリケーション・プログラムの分離可能なプログラム実行コンテキストを含み、各アプリケーション・プログラムが少なくとも1つのプロセスを含み、各プロセスが、該プロセスのアプリケーションに対応するタイプを有するタイプ特定データを含んでいるイベントを生成する、ステップと、
前記複数のプロセスの各プロセスのイベントをデータ・カプセルに変換するステップであって、データ・カプセルが、各プロセスのアプリケーションに依存せずに前記複数のプロセスによって認識可能な前記イベントの表現であるアプリケーション独立表現に変換されたデータと、前記データ・カプセルを発したプロセスの状態情報とを含む、ステップと、
前記データ・カプセルを、複数のプールに転送するステップであって、各プールが、前記複数のプロセスによって生成された前記データ・カプセルを含んでいる、ステップと、
各プロセスが認識プロセスとして動作し、この認識プロセスが、前記複数のプールにおいて、当該認識プロセスのインタラクティブ機能に対応する内容と、前記認識プロセスの識別との少なくとも1つを備えているデータ・カプセルを認識するステップと、
前記認識プロセスが、認識したデータ・カプセルを前記複数のプールから引き出し、前記認識したデータ・カプセルの内容に適した処理を実行するステップと、
を備えている、方法。 - 請求項90記載の方法であって、前記データ・カプセルおよび前記複数のプールを用いて、前記複数のプロセスの各々の動作を調整することによって、前記複数のプロセスからインタラクティブ・アプリケーションを形成するステップを備えている、方法。
- 請求項90記載の方法であって、前記データ・カプセルおよび前記複数のプールの内少なくとも1つを用いて、前記複数のプロセスの動作を調整するステップを備えている、方法。
- 請求項90記載の方法であって、アプリケーション・プログラムを1組のプロセスに分割するステップを備えており、前記複数のプロセスが前記1組のプロセスを含む、方法。
- 請求項90記載の方法であって、前記複数のプールの内少なくとも1つのプールから引き出した複数のデータ・カプセルをインタラクティブに処理することによって、出力を発生するプロセスを備えている、方法。
- 請求項90記載の方法の方法であって、前記複数のプロセスを並列に実行するステップを備えている、方法。
- 請求項90記載の方法であって、第1組のプロセスを並列に実行し、第2組のプロセスを順次実行するステップを備えており、前記複数のプロセスが前記第1組のプロセスおよび前記第2組のプロセスを含む、方法。
- 請求項90記載の方法において、前記イベントがプロセス入力を表す、方法。
- 請求項90記載の方法において、前記イベントがプロセス出力を表す、方法。
- 請求項90記載の方法において、前記イベントがユーザ・インターフェース・イベントを備えている、方法。
- 請求項90記載の方法において、前記イベントがグラフィクスイベントを備えている、方法。
- 請求項90記載の方法において、前記イベントがプロセスの状態を表す、方法。
- 請求項101記載の方法において、プロセスの状態が、当該プロセスのインタラクティブ機能を表し、前記プロセスのインタラクティブ機能を複数のプロセスに、前記データ・カプセルの内容として露出する、方法。
- 請求項102記載の方法であって、アプリケーション・プログラミング・インターフェース(API)を関数コールによって定義する代わりに、前記データ・カプセルの内容によって前記複数のプロセスのAPIを定義するステップを備えている、方法。
- 請求項103記載の方法において、前記データ・カプセルの内容が、アプリケーションに依存せず、前記複数のプロセスによって認識可能である、方法。
- 請求項90記載の方法において、前記少なくとも1つの処理デバイスが、複数の処理デバイスを備えている、方法。
- 請求項105記載の方法において、前記複数のプロセスの内少なくとも1つの第1組のプロセスが、前記複数の処理デバイスの内少なくとも1つの第1組の処理デバイスの下で
起動し、前記複数のプロセスの内少なくとも1つの第2組のプロセスが、前記複数の処理デバイスの内少なくとも1つの第2組の処理デバイスの下で起動する、方法。 - 請求項90記載の方法において、前記複数のプロセスが第1プロセスを含む、方法。
- 請求項107記載の方法であって、前記変換するステップが、前記第1プロセスのイベントを、前記イベントを指定する第1プロセス・イベント・データと、このイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスに変換するステップを含む、方法。
- 請求項108記載の方法において、前記第1プロセス・イベント・データおよび状態情報が、前記第1プロセスのアプリケーションに対応するタイプを有するタイプ特定データである、方法。
- 請求項109記載の方法において、前記変換するステップが、前記少なくとも1つのデータ・シーケンスを含むように前記データ・カプセルを形成するステップを含み、前記データ・カプセルが、前記少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項107記載の方法において、前記複数のプロセスが第2プロセスを含む、方法。
- 請求項111記載の方法において、前記変換するステップが、前記第2プロセスの状態変化イベントを、前記イベントを指定する第2プロセス・イベント・データとこのイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスに変換するステップを含む、方法。
- 請求項112記載の方法において、前記第2プロセス・イベント・データおよび状態情報が、前記第2プロセスのアプリケーションに対応するタイプを有するタイプ特定データである、方法。
- 請求項113記載の方法において、前記変換するステップが、前記少なくとも1つのデータ・シーケンスを含むように前記データ・カプセルを形成するステップを含み、前記データ・カプセルが、前記少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項111記載の方法において、前記認識プロセスが前記第2プロセスであり、前記引き出すステップが、前記認識したデータ・カプセルを前記複数のプールから引き出し、前記認識したデータ・カプセルの内容に適した処理を実行する前記第2プロセスを備えている、方法。
- 請求項115記載の方法において、前記認識したデータ・カプセルの内容が、前記第1プロセスの状態情報を表すデータである、方法。
- 請求項116記載の方法において、前記変換するステップが、前記認識したデータ・カプセルの内容を少なくとも1つの新たなデータ・シーケンスに変換するステップを含み、前記少なくとも1つの新たなデータ・シーケンスが、前記第1プロセスのイベントおよび前記第2プロセスのイベントの内少なくとも1つを表す、方法。
- 請求項117記載の方法において、前記少なくとも1つの新たなデータ・シーケンスが、前記イベントを指定するイベント・データと、前記第1プロセスおよび前記第2プロセ
スの内少なくとも1つの状態情報とを備えている、方法。 - 請求項118記載の方法において、前記イベント・データならびに前記第1プロセスおよび前記第2プロセスの内少なくとも1つの状態情報が、前記第1プロセスおよび前記第2プロセスの内前記少なくとも1つのアプリケーションに対応するタイプを有するタイプ特定データである、方法。
- 請求項119記載の方法において、前記変換するステップが、前記少なくとも1つの新たなデータ・シーケンスを含むように前記データ・カプセルを形成するステップを含み、前記データ・カプセルが、前記少なくとも1つの新たなデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項120記載の方法において、前記複数のプロセスが前記少なくとも1つの新たなデータ・シーケンスを用いる、方法。
- 請求項90記載の方法において、前記複数のプロセスが入力プロセスを含み、この入力プロセスが入力イベントを入力デバイスから受ける、方法。
- 請求項122記載の方法において、前記変換するステップが、前記入力デバイスの入力イベントを、前記イベントを指定する入力デバイス・イベント・データとこのイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスに変換するステップを含む、方法。
- 請求項123記載の方法において、前記入力デバイス・イベント・データおよび状態情報が、ソース・デバイスのアプリケーションに対応するタイプを有するタイプ特定データである、方法。
- 請求項124記載の方法において、前記変換するステップが、前記少なくとも1つのデータ・シーケンスを含むように前記データ・カプセルを形成するステップを含み、前記データ・カプセルが、前記少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項90記載の方法において、前記複数のプロセスがポインタ・プロセスを含む、方法。
- 請求項126記載の方法において、前記認識プロセスが前記ポインタ・プロセスであり、前記引き出すステップが、前記ポインタ・プロセスが前記複数のプールから前記認識したデータ・カプセルを引き出し、前記認識したデータ・カプセルの内容に適したプロセスを実行するステップを含む、方法。
- 請求項127記載の方法において、前記認識したデータ・カプセルの内容が、入力プロセスからの入力イベントを表すデータである、方法。
- 請求項127記載の方法において、認識データ・カプセルの内容が、前記少なくとも1つの処理デバイスのユーザがポインタ・オブジェクトを誘導しているディスプレイ上の位置を表すデータである、方法。
- 請求項129記載の方法において、前記変換するステップが、前記認識したデータ・カプセルの内容を少なくとも1つの新たなデータ・シーケンスに変換するステップを含み、前記少なくとも1つの新たなデータ・シーケンスが、ディスプレイに関する前記ポインタ
・オブジェクトの位置を定める、方法。 - 請求項130記載の方法において、前記少なくとも1つの新たなデータ・シーケンスが、前記イベントを指定するイベント・データと、ポインタ・プロセス・イベントの状態情報とを備えている、方法。
- 請求項131記載の方法において、ポインタ・プロセス・イベント・データおよび状態情報が、前記ポインタ・プロセスのアプリケーションに対応するタイプを有するタイプ特定データである、方法。
- 請求項132記載の方法において、前記変換するステップが、前記少なくとも1つの新たなデータ・シーケンスを含むように前記データ・カプセルを形成するステップを含み、前記データ・カプセルが、前記少なくとも1つの新たなデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項133記載の方法において、前記複数のプロセスが、前記ディスプレイ上に前記ポインタ・オブジェクトをレンダリングする際に、前記少なくとも1つの新たなデータ・シーケンスを用いる、方法。
- 請求項90記載の方法において、前記複数のプロセスがグラフィカル・プロセスを含む、方法。
- 請求項135記載の方法において、前記変換するステップが、前記グラフィカル・プロセスの状態変化イベントを、前記イベントを指定するグラフィカル・プロセス・イベント・データと、前記イベントの状態情報とを備えている少なくとも1つのデータ・シーケンスに変換するステップを含む、方法。
- 請求項136記載の方法において、前記グラフィカル・プロセス・イベント・データおよび状態情報が、前記グラフィカル・プロセスのアプリケーションに対応するタイプを有するタイプ特定データである、方法。
- 請求項137記載の方法において、前記変換するステップが、前記少なくとも1つの新たなデータ・シーケンスを含むように前記データ・カプセルを形成するステップを含み、前記データ・カプセルが、前記少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項135記載の方法において、前記認識するプロセスが前記グラフィカル・プロセスであり、前記引き出すステップが、前記認識したデータ・カプセルを前記複数のプールから引き出し、前記認識したデータ・カプセルの内容に適した処理を実行する前記グラフィカル・プロセスを備えている、方法。
- 請求項139記載の方法において、前記認識したデータ・カプセルの内容が、前記複数のプロセスの内他のプロセスの状態情報を表すデータである、方法。
- 請求項140記載の方法において、前記状態情報が、空間状態およびモード状態の内少なくとも1つの情報を含む、方法。
- 請求項139記載の方法において、認識データ・カプセルの内容が、前記少なくとも1つの処理デバイスのユーザがポインタ・オブジェクトを誘導しているディスプレイ上の位置を表すデータである、方法。
- 請求項142記載の方法において、前記ポインタ・オブジェクトの位置が、グラフィカル・オブジェクトの境界内部にあり、前記グラフィカル・オブジェクトが前記グラフィカル・プロセスによってレンダリングされる、方法。
- 請求項142記載の方法において、前記変換するステップが、前記認識したデータ・カプセルの内容を少なくとも1つの新たなデータ・シーケンスに変換するステップを含み、前記少なくとも1つの新たなデータ・シーケンスが、グラフィカル・オブジェクト、前記ポインタ・オブジェクト、および前記ポインタ・オブジェクトと境界との重複の内少なくとも1つを表す、方法。
- 請求項144記載の方法において、前記少なくとも1つの新たなデータ・シーケンスが、前記イベントを指定するグラフィカル・プロセス・イベント・データと、グラフィカル・プロセス・イベントの状態情報とを備えている、方法。
- 請求項145記載の方法において、前記グラフィカル・プロセス・イベント・データおよび状態情報が、前記グラフィカル・プロセスのアプリケーションに対応するタイプを有するタイプ特定データである、方法。
- 請求項146記載の方法において、前記変換するステップが、前記少なくとも1つのデータ・シーケンスを含むように前記データ・カプセルを形成するステップを含み、前記データ・カプセルが、前記少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項147記載の方法において、前記複数のプロセスが、グラフィカル・オブジェクトおよび前記ポインタ・オブジェクトの内少なくとも1つを前記ディスプレイ上にレンダリングする際に、前記少なくとも1つの新たなデータ・シーケンスを用いる、方法。
- 請求項90記載の方法において、前記認識したデータ・カプセルに適した前記処理が、グラフィカル・オブジェクトのレンダリングを含み、前記グラフィカル・オブジェクトが前記少なくとも1つの処理デバイスのディスプレイ上にレンダリングされる、方法。
- 請求項149記載の方法において、前記レンダリングするステップが、直接レンダリングを行い、前記複数のプロセスが前記少なくとも1つの処理デバイスのグラフィクス・レイヤに直接描画を行い、前記複数のプロセス間において前記レンダリングに適するような調整を行うために前記複数のプールを用いる、方法。
- 請求項149記載の方法において、前記レンダリングするステップが、
レンダリング・コマンドを備えているデータ・カプセルを前記複数のプールに転送するプロセスと、
前記レンダリング・コマンドを前記複数のプールから引き出し、前記レンダリング・コマンドを解釈し、前記レンダリング・コマンドに応答して前記少なくとも1つの処理デバイスのグラフィクス・レイヤをドライブするプロセスと、
を含む、複数のプロセスを備えている、方法。 - 請求項149記載の方法において、前記レンダリングするステップが、
画素バッファにレンダリングするプロセスと、
生のフレーム・データを前記複数のプールに転送するプロセスであって、前記生のフレーム・データが前記画素バッファへのレンダリングの結果得られる、プロセスと、
前記生のフレーム・データを前記複数のプールから引き出し、前記少なくとも1つの処
理デバイスのグラフィクス・レイヤをドライブする際に用いるために、前記生のフレーム・データを組み合わせるプロセスと、
を含む、複数のプロセスを備えている、方法。 - 請求項90記載の方法であって、
前記複数のプロセスのイベントを検出するステップと、
前記イベントを指定するイベント・データと、このイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスを発生するステップであって、前記イベント・データおよび状態情報が、前記少なくとも1つの処理デバイスのアプリケーションに対応するタイプを有するタイプ特定データである、ステップと、
前記少なくとも1つのデータ・シーケンスを含むようにデータ・カプセルを形成するステップであって、前記データ・カプセルが、前記少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、ステップと、
を備えている、方法。 - 請求項153記載の方法において、前記少なくとも1つのデータ・シーケンスを発生する前記ステップが、
第1個別イベント・データを含む第1個別データ集合を発生するステップと、
第2個別状態情報を含む第2個別データ集合を発生するステップと、
前記第1個別データ集合および前記第2個別データ集合を含むように、第1データ・シーケンスを形成するステップと、
を備えている、方法。 - 請求項154記載の方法において、前記第1個別データ集合を発生する前記ステップが、前記少なくとも1つの処理デバイスの識別データを含むように、前記第1個別データ集合を形成するステップを含み、前記識別データが、前記少なくとも1つの処理デバイスを識別するデータを含む、方法。
- 請求項154記載の方法において、前記少なくとも1つのデータ・シーケンスを発生する前記ステップが、
第1個別イベント・データを含む第1個別データ集合を発生するステップと、
第2個別状態情報を含む第2個別データ集合を発生するステップと、
前記第1個別データ集合および前記第2個別データ集合を含むように、第2データ・シーケンスを形成するステップと、
を備えている、方法。 - 請求項156記載の方法において、前記第1個別データ集合を発生する前記ステップが、第1個別データ集合オフセットを発生するステップを含み、前記第1個別データ集合オフセットが、前記第2データ・シーケンスの前記第1個別データ集合を指し示す、方法。
- 請求項156記載の方法において、前記第2個別データ集合を発生する前記ステップが、第2個別データ集合オフセットを発生するステップを含み、前記第2個別データ集合オフセットが、前記第2データ・シーケンスの前記第2個別データ集合を指し示す、方法。
- 請求項154記載の方法において、前記第1個別データ集合が、記述リストであり、この記述リストが、前記データの記述を含む、方法。
- 請求項153記載の方法において、前記イベント・データが、類別されたデータを表すタグ付きバイト・シーケンスである、方法。
- 請求項160記載の方法において、前記イベント・データが、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む、方法。
- 請求項153記載の方法において、前記状態情報が、類別されたデータを表すタグ付きバイト・シーケンスである、方法。
- 請求項162記載の方法において、前記状態情報が、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む、方法。
- 請求項153記載の方法であって、
少なくとも1つのオフセットを発生するステップと、
前記少なくとも1つのオフセットを含むように、前記データ・カプセルを形成するステップと、
を備えている、方法。 - 請求項164記載の方法であって、
第1可変長を有する第1オフセットを発生するステップを備えており、
前記第1オフセットが、前記少なくとも1つのデータ・シーケンスの第1データ・シーケンスの前記イベント・データを指し示す、方法。 - 請求項164記載の方法であって、
第2可変長を有する第2オフセットを発生するステップを備えており、
前記第2オフセットが、前記少なくとも1つのデータ・シーケンスの第1データ・シーケンスの前記状態情報を指し示す、方法。 - 請求項164記載の方法であって、
前記少なくとも1つのオフセットの内第1オフセットを用いて、前記データ・カプセルを通過する第1コード経路を形成するステップと、
前記少なくとも1つのオフセットの内第2オフセットを用いて、前記データ・カプセルを通過する第2コード経路を形成する、ステップと、
を備えており、
前記第1コード経路および前記第2コード経路が異なる経路である、方法。 - 請求項164記載の方法において、第1オフセットおよび第2オフセットの内少なくとも1つがメタデータを含み、このメタデータが、前記アプリケーションのコンテキストに対応するコンテキスト特定メタデータを含む、方法。
- 請求項153記載の方法であって、
前記データ・カプセルの長さを含むヘッダを発生するステップと、
前記ヘッダを含むように前記データ・カプセルを形成するステップと、
を備えている、方法。 - 請求項153記載の方法であって、前記データ・カプセルを前記複数のプールにおけるプールに転送するステップを備えている、方法。
- 請求項170記載の方法であって、
前記少なくとも1つの処理デバイスの第2イベントを検出するステップと、
前記複数のプールを検索して、前記第2イベントに対応するデータ・カプセルを求めるステップと、
を備えている、方法。 - 請求項171記載の方法であって、
前記データ・カプセルと前記第2イベントとの間における対応を特定するステップと、
前記特定に応答して、前記プールから前記データ・カプセルを抽出するステップと、
前記データ・カプセルの内容に応答して、前記少なくとも1つの処理デバイスの代わりに、前記第2イベントに対応する処理動作を実行するステップであって、前記少なくとも1つの処理デバイスが第1タイプのアプリケーションおよび第2タイプのアプリケーションに対応する、ステップと、
を備えている、方法。 - 請求項170記載の方法において、前記複数のプールが複数のアプリケーションに結合されており、前記複数のプールが、前記複数のアプリケーションに対応する複数のデータ・カプセルを含み、前記複数のプールが、前記複数のアプリケーションによる前記複数のデータ・カプセルへのアクセスに備えており、前記複数のアプリケーションの内少なくとも2つのアプリケーションが異なるアプリケーションである、方法。
- 請求項170記載の方法において、前記複数のプールが、複数のデータ・カプセルの状態のキャッシュに備えている、方法。
- 請求項170記載の方法において、前記複数のプールが、複数のデータ・カプセルの線形シーケンスに備えている、方法。
- 請求項153記載の方法において、前記データ構造が、類別されていない、方法。
- 請求項153記載の方法において、前記データ・カプセルのデータ構造が、前記イベント・データおよび前記状態情報のプラットフォームに依存しない表現である、方法。
- 請求項153記載の方法において、前記データ・カプセルのデータ構造が、前記イベント・データおよび前記状態情報へのプラットフォームに依存しないアクセスを与える、方法。
- 請求項153記載の方法において、前記転送するステップが、第1アプリケーション・タイプを有する第1アプリケーションから少なくとも1つの第2アプリケーション・タイプを有する少なくとも1つの第2アプリケーションに前記データ・カプセルを転送するステップを含み、前記第1アプリケーション・タイプが前記第2アプリケーション・タイプとは異なり、前記少なくとも1つのデータ・シーケンスを発生するステップが、前記第1アプリケーションによって実行され、前記方法が、前記転送するステップの間、前記データ・カプセルの少なくとも1つのデータ・シーケンスをそのまま保持するステップを備えている、方法。
- 請求項179記載の方法であって、前記第2アプリケーションの動作中、前記少なくとも1つのデータ・シーケンスを用いるステップを備えている、方法。
- 請求項153記載の方法であって、イベント・データと、前記少なくとも1つの処理デバイスのソース・デバイスの識別データとを含む第1データ集合を発生するステップを備えており、デバイス・イベント・データが、前記ソース・デバイスによって登録されたイベントを指定するデータを含み、前記識別データが、前記ソース・デバイスを識別するデータを含む、方法。
- 請求項181記載の方法であって、前記イベントの完全な1組の状態情報を含む第2デ
ータ集合を発生するステップを備えており、前記第1データ集合および前記第2データ集合の各々が、タイプ特定データ・レイアウトとした類別データ・バンドルを備えている、方法。 - 請求項182記載の方法において、前記変換するステップが、前記第1データ集合および前記第2データ集合を含むようにデータ・カプセルを形成することによって、前記第1データ集合および前記第2データ集合をカプセル化するステップを備えており、前記データ・カプセルが、前記少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項153記載の方法であって、
第1タイプのアプリケーションの下で起動する第1処理デバイスのイベントを検出するステップと、
前記第1処理デバイスのイベント・データを含むデータ・シーケンスを発生するステップであって、前記イベント・データが前記イベントおよびこのイベントの状態情報を指定し、前記イベント・データおよび状態情報が、前記アプリケーションに対応するタイプを有するタイプ特定データである、ステップと、
前記データ・シーケンスを含むようにデータ・カプセルを形成するステップであって、前記データ・カプセルが、前記データ・シーケンスのアプリケーション独立表現のデータ構造を有する、ステップと、
少なくとも1つの第2タイプを有する少なくとも1つの第2アプリケーションの下で起動する第2処理デバイスの第2イベントを検出するステップであって、前記第2タイプが前記第1タイプとは異なり、前記少なくとも1つの処理デバイスが、前記第1処理デバイスおよび前記第2処理デバイスを含み、
前記データ・カプセルと前記第2イベントとの間における対応を特定するステップと、
前記第2イベントに応答して、前記データ・カプセルのデータ・シーケンスの内容を用いて動作を実行するステップと、
を備えている、方法。 - 請求項184記載の方法において、前記データ・シーケンスを発生する前記ステップが、
前記イベント・データを含む第1データ集合を発生するステップと、
前記状態情報を含む第2データ集合を発生するステップと、
前記第1データ集合および前記第2データ集合を含むように第1データ・シーケンスを形成するステップと、
を備えている、方法。 - 請求項184記載の方法において、前記イベント・データが、類別されたデータを表すタグ付きバイト・シーケンスである、方法。
- 請求項186記載の方法において、前記イベント・データが、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む、方法。
- 請求項184記載の方法において、前記状態情報が、類別されたデータを表すタグ付きバイト・シーケンスである、方法。
- 請求項188記載の方法において、前記状態情報が、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む、方法。
- 請求項184記載の方法であって、
少なくとも1つのオフセットを発生するステップと、
前記少なくとも1つのオフセットを含むように前記データ・カプセルを形成するステップと、
を備えている、方法。 - 請求項190記載の方法であって、
第1可変長を有する第1オフセットを発生するステップであって、前記第1オフセットが、前記少なくとも1つのデータ・シーケンスの第1データ・シーケンスの前記イベント・データを指し示す、ステップと、
第2可変長を有する第2オフセットを発生するステップであって、前記第2オフセットが、前記少なくとも1つのデータ・シーケンスの第1データ・シーケンスの前記状態情報を指し示す、ステップと、
を備えている、方法。 - 請求項190記載の方法であって、
前記少なくとも1つのオフセットの内第1オフセットを用いて、前記データ・カプセルを通過する第1コード経路を形成するステップと、
前記少なくとも1つのオフセットの内第2オフセットを用いて、前記データ・カプセルを通過する第2コード経路を形成する、ステップと、
を備えており、
前記第1コード経路および前記第2コード経路が異なる経路である、方法。 - 請求項190記載の方法において、第1オフセットおよび第2オフセットの内少なくとも1つがメタデータを含み、このメタデータが、前記アプリケーションのコンテキストに対応するコンテキスト特定メタデータを含む、方法。
- 請求項184記載の方法であって、前記データ・カプセルを前記複数のプールにおけるプールに転送するステップを備えている、方法。
- 請求項194記載の方法であって、
前記複数のプールを検索して、前記第2イベントに対応するデータ・カプセルを求めるステップと、
前記対応を特定したことに応答して、前記プールから前記データ・カプセルを抽出するステップと、
を備えている、方法。 - 請求項194記載の方法において、前記複数のプールが前記アプリケーションおよび前記少なくとも1つの第2アプリケーションに結合されており、前記複数のプールが、前記アプリケーションおよび前記少なくとも1つの第2アプリケーションに対応する複数のデータ・カプセルを含み、前記複数のプールが、前記アプリケーションおよび前記少なくとも1つの第2アプリケーションによる前記複数のデータ・カプセルへのアクセスを与える、方法。
- 請求項194記載の方法において、前記複数のプールが、複数のデータ・カプセルの状態のキャッシュに備えている、方法。
- 請求項194記載の方法において、前記複数のプールが、複数のデータ・カプセルの線形シーケンスに備えている、方法。
- 請求項184記載の方法において、前記データ構造が、類別されていない、方法。
- 請求項184記載の方法において、前記データ・カプセルのデータ構造が、前記イベント・データおよび前記状態情報のプラットフォームに依存しない表現である、方法。
- 請求項184記載の方法において、前記データ・カプセルのデータ構造が、前記イベント・データおよび前記状態情報へのプラットフォームに依存しないアクセスを与える、方法。
- アプリケーション・プログラムを複数のプロセスに分割するステップと、
前記複数のプロセスの中にあるプロセスを用いて、前記アプリケーション・プログラムの出力の一部を発生するステップであって、当該プロセスが、該プロセスのアプリケーションに対応するタイプを有するタイプ特定データを含んでいる前記一部を生成する、ステップと、
前記出力の前記一部を第1データ・カプセルにカプセル化し、前記第1データ・カプセルを複数のプールの内少なくとも1つに転送するステップであって、前記第1データ・カプセルが、前記出力の前記一部のアプリケーションに依存せずに前記複数のプロセスによって認識可能なイベントの表現であるアプリケーション独立表現に変換された前記一部のデータを含み、前記複数のプールの各プールが、前記複数のプロセスから受け取られる複数のデータ・カプセルを備えている、ステップと、
前記複数のプールにアクセスし、前記複数のプロセスの内第2プロセスの入力を引き出すステップであって、前記入力が前記複数のデータ・カプセルの内第2データ・カプセルの中にある、ステップと、
前記複数のデータ・カプセルおよび前記複数のプールを用いて、前記複数のプロセス間における処理を調整するステップと、
を備えている、方法。 - 複数のプロセスを実行する少なくとも1つの処理デバイスであって、前記複数のプロセスが複数のアプリケーション・プログラムの分離可能なプログラム実行コンテキストを含み、各アプリケーション・プログラムが少なくとも1つのプロセスを備え、各プロセスが、該プロセスのアプリケーションに対応するタイプを有するタイプ特定データを含んでいるイベントを生成する、処理デバイスと、
前記少なくとも1つの処理デバイスに結合されている複数のプールと、
を備えており、
前記少なくとも1つの処理デバイスが、前記複数のプロセスの各プロセスのイベントをデータ・カプセルに変換し、このデータ・カプセルを前記複数のプールに転送し、
データ・カプセルが、各プロセスのアプリケーションに依存せずに前記複数のプロセスによって認識可能な前記イベントの表現に変換されたデータと、前記データ・カプセルが発したプロセスの状態情報とを含み、各プールが、前記複数のプロセスによって生成されたデータ・カプセルを含み、
各プロセスが認識プロセスとして動作し、この認識プロセスが、前記複数のプールにおいて、当該認識プロセスのインタラクティブ機能に対応する内容と、前記認識プロセスの識別との内少なくとも1つを備えているデータ・カプセルを認識し、
前記認識プロセスが、認識したデータ・カプセルを前記複数のプールから引き出し、前記認識したデータ・カプセルの内容に適した処理を実行する、システム。 - ジェスチャ・データから人が行ったジェスチャを検出するステップであって、前記ジェスチャ・データが検出器を通じて受け取られる、ステップと、
処理デバイス上において複数のプロセスを実行するステップであって、前記複数のプロセスがイベントを発生し、これらイベントが、対応するプロセスのアプリケーションに対応するタイプを有するタイプ特定データを含み、かつ、前記ジェスチャを表す1組のイベ
ントを含む、ステップと、
前記複数のプロセスの各プロセスの前記イベントをデータ・カプセルに変換するステップであって、各データ・カプセルが、各プロセスのアプリケーションに依存せずに前記複数のプロセスによって認識可能な前記イベントの表現であるアプリケーション独立表現に変換されたデータを含んでいる、ステップと、
前記データ・カプセルを複数のプールに転送するステップであって、各プールが、前記複数のプロセスによって生成された前記データ・カプセルを含んでいる、ステップと、
を備えており、
前記複数のプロセスの内1組のプロセスが認識プロセスとして動作し、この認識プロセスが、前記複数のプールにおいて、前記ジェスチャに対応するコンテンツを備えているデータ・カプセルを認識し、
前記認識プロセスが、認識したデータ・カプセルを前記複数のプールから引き出し、前記認識したデータ・カプセルの内容を合成してジェスチャ信号を形成することによって、前記認識したデータ・カプセルからジェスチャ信号を発生し、前記ジェスチャ信号が前記ジェスチャを表す、方法。 - 請求項204記載の方法において、前記複数のプロセスが、空間動作アプリケーションの分離可能なプログラム実行コンテキストを含む、方法。
- 請求項204記載の方法において、前記ジェスチャ・データが、ある時点および空間におけるユーザの瞬時的状態の絶対三空間位置データである、方法。
- 請求項204記載の方法であって、前記ジェスチャ・データのみを用いて前記ジェスチャを識別するステップを備えている、方法。
- 請求項204記載の方法において、前記検出するステップが、ボディの位置を検出すること、前記ボディの方位を検出すること、および前記ボディの運動を検出することの内少なくとも1つを含む、方法。
- 請求項204記載の方法であって、前記ジェスチャを識別するステップを備えており、前記識別が、ボディの一部のポーズおよび方位の識別を含む、方法。
- 請求項204記載の方法において、前記検出するステップが、ボディの第1組の付属器官および第2組の付属器官の内少なくとも1つを検出するステップを含む、方法。
- 請求項204記載の方法において、前記検出するステップが、ボディに結合されている少なくとも1つのタグの位置を動的に検出するステップを含む、方法。
- 請求項211記載の方法において、前記検出するステップが、前記ボディに結合されている1組のタグの位置を検出するステップを含む、方法。
- 請求項212記載の方法において、前記1組のタグにおける各タグがパターンを含み、前記1組のタグにおける各タグの各パターンが、前記複数のタグにおけるいずれの残りのタグのいずれのパターンとも異なる、方法。
- 請求項204記載の方法において、前記検出するステップが、ボディ上にあるマーカを動的に検出し位置を突き止めるステップを含む、方法。
- 請求項214記載の方法において、前記検出するステップが、前記ボディに結合されている1組のマーカの位置を検出するステップを含む、方法。
- 請求項214記載の方法において、前記1組のマーカが前記ボディ上において複数のパターンを形成する、方法。
- 請求項214記載の方法において、前記検出するステップが、前記ボディの複数の付属器官の各々に結合されている1組のマーカを用いて、前記付属器官の位置を検出するステップを含む、方法。
- 請求項204記載の方法において、前記変換するステップが、前記ジェスチャについての情報をジェスチャ表記に変換するステップを含む、方法。
- 請求項218記載の方法において、前記ジェスチャ表記が、ジェスチャ・ボキャブラリを表し、前記ジェスチャ信号が前記ジェスチャ・ボキャブラリの通信を含む、方法。
- 請求項219記載の方法において、前記ジェスチャ・ボキャブラリが、ボディの力学的連携の瞬時的ポーズ状態をテキスト形態で表す、方法。
- 請求項219記載の方法において、前記ジェスチャ・ボキャブラリが、ボディの力学的連携の方位をテキスト形態で表す、方法。
- 請求項219記載の方法において、前記ジェスチャ・ボキャブラリが、ボディの力学的連携の方位の組み合わせを、テキスト形態で表す、方法。
- 請求項219記載の方法において、前記ジェスチャ・ボキャブラリが、ボディの力学的連携状態を表す、キャラクタのストリングを含む、方法。
- 請求項223記載の方法において、前記力学的連携がボディの少なくとも1つの第1付属器官である、方法。
- 請求項224記載の方法であって、前記ストリングにおける各位置を第2付属器官に割り当てるステップを備えており、前記第2付属器官が前記第1付属器官に接続されている、方法。
- 請求項225記載の方法であって、複数のキャラクタの中にあるキャラクタを、前記第2付属器官の複数の位置の各々に割り当てるステップを備えている、方法。
- 請求項226記載の方法において、前記複数の位置が、座標原点に対して確定される、方法。
- 請求項227記載の方法であって、空間における絶対位置および方位、ボディの全体的な位置および方位とは無関係のボディに対する固定位置および方位から成るグループから選択された位置を用いて、更にボディのアクションにインタラクティブに応答して、前記座標原点を確立するステップを備えている、方法。
- 請求項226記載の方法であって、前記複数のキャラクタの中にあるキャラクタを、前記第1付属器官の複数の方位の各々に割り当てるステップを備えている、方法。
- 請求項224記載の方法において、前記検出するステップが、ボディの外挿補間位置が仮想空間と交差するときを検出するステップを含み、前記仮想空間が、前記少なくとも1つの処理デバイスに結合されているディスプレイ・デバイス上に描画された空間を含
む、方法。 - 請求項230記載の方法であって、前記外挿補間位置が仮想オブジェクトと交差するときに、前記仮想空間において前記仮想オブジェクトを制御するステップを備えている、方法。
- 請求項231記載の方法において、前記制御するステップが、前記仮想空間における外挿位置に応答して、前記仮想空間における前記仮想オブジェクトの位置を制御するステップを備えている、方法。
- 請求項231記載の方法であって、前記制御するステップが、前記ジェスチャに応答して、前記仮想空間における前記仮想オブジェクトの姿勢を制御するステップを含む、方法。
- 請求項204記載の方法であって、仮想空間と物理空間との間において一致を生じさせるために、前記検出および制御のスケーリングを制御するステップを備えており、前記仮想空間がディスプレイ上に描画された空間を構成し、前記物理空間が、ボディが存在する空間を含む、方法。
- 請求項234記載の方法であって、前記物理空間における少なくとも1つの物理オブジェクトの移動に応答して、前記仮想空間において少なくとも1つの仮想オブジェクトを制御するステップを備えている、方法。
- 請求項204記載の方法であって、前記ジェスチャ信号を用いてコンポーネントを制御するステップを備えており、前記コンポーネントが前記少なくとも1つの処理デバイスに結合されている、方法。
- 請求項236記載の方法において、前記コンポーネントを制御するステップが、前記ジェスチャを三空間オブジェクトにマッピングすることによって、6自由度で同時に三空間オブジェクトを制御するステップを含む、方法。
- 請求項236記載の方法において、前記コンポーネントを制御するステップが、3空間移動自由度および3回転自由度で三空間オブジェクトを制御するステップを含む、方法。
- 請求項238記載の方法において、前記三空間オブジェクトを、前記少なくとも1つの処理デバイスに結合されているディスプレイ・デバイス上に呈示する、方法。
- 請求項238記載の方法において、前記三空間オブジェクトが、コンピュータに結合されている遠隔システムである、方法。
- 請求項238記載の方法であって、前記ジェスチャを前記三空間オブジェクトの複数のオブジェクト平行移動にマッピングすることによって、前記三空間オブジェクトの移動を制御するステップを備えている、方法。
- 請求項241記載の方法において、前記マッピングが、前記ジェスチャと前記複数のオブジェクト平行移動との間における直接マッピングを含む、方法。
- 請求項241記載の方法において、前記マッピングが、前記ジェスチャと前記複数のオブジェクト平行移動との間における間接マッピングを含む、方法。
- 請求項204記載の方法において、データ・カプセルが、データ・メッセージが発生したプロセスの状態情報をさらに含む、方法。
- 請求項204記載の方法であって、前記データ・カプセルおよび前記複数のプールを用いて、前記複数のプロセスの各々の動作を調整することによって、前記複数のプロセスからインタラクティブ・アプリケーションを形成するステップを備えている、方法。
- 請求項204記載の方法であって、前記データ・カプセルおよび前記複数のプールの内少なくとも1つを用いて、前記複数のプロセスの動作を調整するステップを備えている、方法。
- 請求項204記載の方法であって、アプリケーション・プログラムを1組のプロセスに分割するステップを備えており、前記複数のプロセスが前記1組のプロセスを含む、方法。
- 請求項204記載の方法であって、前記複数のプールの内少なくとも1つのプールから引き出した複数のデータ・カプセルをインタラクティブに処理することによって、出力を発生するプロセスを備えている、方法。
- 請求項204記載の方法において、前記複数のプロセスが、複数のアプリケーション・プログラムの分離可能なプログラム実行コンテキストを含み、各アプリケーション・プログラムが少なくとも1つのプロセスを備えている、方法。
- 請求項204記載の方法であって、前記複数のプロセスを並列に実行するステップを備えている、方法。
- 請求項204記載の方法であって、第1組のプロセスを並列に実行し、第2組のプロセスを順次実行するステップを備えており、前記複数のプロセスが前記第1組のプロセスおよび前記第2組のプロセスを含む、方法。
- 請求項204記載の方法において、前記イベントがプロセス入力を表す、方法。
- 請求項204記載の方法において、前記イベントがプロセス出力を表す、方法。
- 請求項204記載の方法において、前記イベントがユーザ・インターフェース・イベントを備えている、方法。
- 請求項204記載の方法において、前記イベントがグラフィクスイベントを備えている、方法。
- 請求項204記載の方法において、前記イベントがプロセスの状態を表す、方法。
- 請求項256記載の方法において、プロセスの前記状態が、当該プロセスのインタラクティブ機能を表し、前記プロセスのインタラクティブ機能を複数のプロセスに、前記データ・カプセルの内容として露出する、方法。
- 請求項257記載の方法であって、アプリケーション・プログラミング・インターフェース(API)を関数コールによって定義する代わりに、前記データ・カプセルの内容によって前記複数のプロセスのAPIを定義するステップを備えている、方法。
- 請求項258記載の方法において、前記データ・カプセルの内容が、アプリケーションに依存せずに、前記複数のプロセスによって認識可能である、方法。
- 請求項204記載の方法において、前記少なくとも1つの処理デバイスが、複数の処理デバイスを備えている、方法。
- 請求項260記載の方法において、前記複数のプロセスの内少なくとも1つの第1組のプロセスが、前記複数の処理デバイスの内少なくとも1つの第1組の処理デバイスの下で起動し、前記複数のプロセスの内少なくとも1つの第2組のプロセスが、前記複数の処理デバイスの内少なくとも1つの第2組の処理デバイスの下で起動する、方法。
- 請求項204記載の方法において、前記複数のプロセスが第1プロセスを含む、方法。
- 請求項262記載の方法であって、前記変換するステップが、前記第1プロセスのイベントを、前記イベントを指定する第1プロセス・イベント・データと、このイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスに変換するステップを含む、方法。
- 請求項263記載の方法において、前記第1プロセス・イベント・データおよび状態情報が、前記第1プロセスのアプリケーションに対応するタイプを有するタイプ特定データである、方法。
- 請求項264記載の方法において、前記変換するステップが、前記少なくとも1つのデータ・シーケンスを含むように前記データ・カプセルを形成するステップを含み、前記データ・カプセルが、前記少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項262記載の方法において、前記複数のプロセスが第2プロセスを含む、方法。
- 請求項266記載の方法において、前記変換するステップが、前記第2プロセスの状態変化イベントを、前記イベントを指定する第2プロセス・イベント・データとこのイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスに変換するステップを含む、方法。
- 請求項267記載の方法において、前記第2プロセス・イベント・データおよび状態情報が、前記第2プロセスのアプリケーションに対応するタイプを有するタイプ特定データである、方法。
- 請求項268記載の方法において、前記変換するステップが、前記少なくとも1つのデータ・シーケンスを含むように前記データ・カプセルを形成するステップを含み、前記データ・カプセルが、前記少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項266記載の方法において、前記認識プロセスが前記第2プロセスであり、前記引き出すステップが、前記認識したデータ・カプセルを前記複数のプールから引き出し、前記認識したデータ・カプセルの内容に適した処理を実行する前記第2プロセスを備えている、方法。
- 請求項270記載の方法において、前記認識したデータ・カプセルの内容が、前記第1プロセスの状態情報を表すデータである、方法。
- 請求項271記載の方法において、前記変換するステップが、前記認識したデータ・カプセルの内容を少なくとも1つの新たなデータ・シーケンスに変換するステップを含み、前記少なくとも1つの新たなデータ・シーケンスが、前記第1プロセスのイベントおよび前記第2プロセスのイベントの内少なくとも1つを表す、方法。
- 請求項272記載の方法において、前記少なくとも1つの新たなデータ・シーケンスが、前記イベントを指定するイベント・データと、前記第1プロセスおよび前記第2プロセスの内少なくとも1つの状態情報とを備えている、方法。
- 請求項273記載の方法において、前記イベント・データならびに前記第1プロセスおよび前記第2プロセスの内少なくとも1つの状態情報が、前記第1プロセスおよび前記第2プロセスの内前記少なくとも1つのアプリケーションに対応するタイプを有するタイプ特定データである、方法。
- 請求項274記載の方法において、前記変換するステップが、前記少なくとも1つの新たなデータ・シーケンスを含むように前記データ・カプセルを形成するステップを含み、前記データ・カプセルが、前記少なくとも1つの新たなデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項275記載の方法において、前記複数のプロセスが前記少なくとも1つの新たなデータ・シーケンスを用いる、方法。
- 請求項204記載の方法において、前記認識したデータ・カプセルの内容に適した処理が、グラフィカル・オブジェクトをレンダリングするステップを含み、前記少なくとも1つの処理デバイスのディスプレイ上に前記グラフィカル・オブジェクトをレンダリングする、方法。
- 請求項277記載の方法において、前記レンダリングするステップが、直接レンダリングを行い、前記複数のプロセスが前記少なくとも1つの処理デバイスのグラフィクス・レイヤに直接描画を行い、前記複数のプロセス間において前記レンダリングに適するような調整を行うために前記複数のプールを用いる、方法。
- 請求項277記載の方法において、前記レンダリングするステップが、
レンダリング・コマンドを備えているデータ・カプセルを前記複数のプールに転送するプロセスと、
前記レンダリング・コマンドを前記複数のプールから引き出し、前記レンダリング・コマンドを解釈し、前記レンダリング・コマンドに応答して前記少なくとも1つの処理デバイスのグラフィクス・レイヤをドライブするプロセスと、
を含む、複数のプロセスを備えている、方法。 - 請求項277記載の方法において、前記レンダリングするステップが、
画素バッファにレンダリングするプロセスと、
生のフレーム・データを前記複数のプールに転送するプロセスであって、前記生のフレーム・データが前記画素バッファへのレンダリングの結果得られる、プロセスと、
前記生のフレーム・データを前記複数のプールから引き出し、前記少なくとも1つの処理デバイスのグラフィクス・レイヤをドライブする際に用いるために、前記生のフレーム・データを組み合わせるプロセスと、
を含む、複数のプロセスを備えている、方法。 - 請求項204記載の方法であって、
前記複数のプロセスのイベントを検出するステップと、
前記イベントを指定するイベント・データと、このイベントの状態情報とを備えている少なくとも1つのデータ・シーケンスを発生するステップであって、前記イベント・データおよび状態情報が、前記少なくとも1つの処理デバイスのアプリケーションに対応するタイプを有するタイプ特定データである、ステップと、
前記少なくとも1つのデータ・シーケンスを含むようにデータ・カプセルを形成するステップであって、前記データ・カプセルが、前記少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、ステップと、
を備えている、方法。 - 請求項204記載の方法において、少なくとも1つのデータ・シーケンスを発生する前記ステップが、
第1個別イベント・データを含む第1個別データ集合を発生するステップと、
第2個別状態情報を含む第2個別データ集合を発生するステップと、
前記第1個別データ集合および前記第2個別データ集合を含むように、第1データ・シーケンスを形成するステップと、
を備えている、方法。 - 請求項282記載の方法において、前記第1個別データ集合を発生する前記ステップが、前記少なくとも1つの処理デバイスの識別データを含むように、前記第1個別データ集合を形成するステップを含み、前記識別データが、前記少なくとも1つの処理デバイスを識別するデータを含む、方法。
- 請求項282記載の方法において、少なくとも1つのデータ・シーケンスを発生する前記ステップが、
第1個別イベント・データを含む第1個別データ集合を発生するステップと、
第2個別状態情報を含む第2個別データ集合を発生するステップと、
前記第1個別データ集合および前記第2個別データ集合を含むように、第2データ・シーケンスを形成するステップと、
を備えている、方法。 - 請求項284記載の方法において、前記第1個別データ集合を発生する前記ステップが、第1個別データ集合オフセットを発生するステップを含み、前記第1個別データ集合オフセットが、前記第2データ・シーケンスの前記第1個別データ集合を指し示す、方法。
- 請求項284記載の方法において、前記第2個別データ集合を発生する前記ステップが、第2個別データ集合オフセットを発生するステップを含み、前記第2個別データ集合オフセットが、前記第2データ・シーケンスの前記第2個別データ集合を指し示す、方法。
- 請求項282記載の方法において、前記第1個別データ集合が、記述リストであり、この記述リストが、前記データの記述を含む、方法。
- 請求項204記載の方法において、イベント・データが、類別されたデータを表すタグ付きバイト・シーケンスである、方法。
- 請求項288記載の方法において、イベント・データが、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む、方法。
- 請求項204記載の方法において、状態情報が、類別されたデータを表すタグ付き
バイト・シーケンスである、方法。 - 請求項290記載の方法において、状態情報が、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む、方法。
- 請求項204記載の方法であって、
少なくとも1つのオフセットを発生するステップと、
前記少なくとも1つのオフセットを含むように、前記データ・カプセルを形成するステップと、
を備えている、方法。 - 請求項292記載の方法であって、
第1可変長を有する第1オフセットを発生するステップを備えており、
前記第1オフセットが、前記少なくとも1つのデータ・シーケンスの第1データ・シーケンスのイベント・データを指し示す、方法。 - 請求項292記載の方法であって、
第2可変長を有する第2オフセットを発生するステップを備えており、
前記第2オフセットが、前記少なくとも1つのデータ・シーケンスの第1データ・シーケンスの状態情報を指し示す、方法。 - 請求項292記載の方法であって、
前記少なくとも1つのオフセットの内第1オフセットを用いて、前記データ・カプセルを通過する第1コード経路を形成するステップと、
前記少なくとも1つのオフセットの内第2オフセットを用いて、前記データ・カプセルを通過する第2コード経路を形成する、ステップと、
を備えており、
前記第1コード経路および前記第2コード経路が異なる経路である、方法。 - 請求項292記載の方法において、第1オフセットおよび第2オフセットの内少なくとも1つがメタデータを含み、このメタデータが、前記アプリケーションのコンテキストに対応するコンテキスト特定メタデータを含む、方法。
- 請求項204記載の方法であって、
前記データ・カプセルの長さを含むヘッダを発生するステップと、
前記ヘッダを含むように前記データ・カプセルを形成するステップと、
を備えている、方法。 - 請求項204記載の方法であって、前記データ・カプセルを前記複数のプールにおけるプールに転送するステップを備えている、方法。
- 請求項298記載の方法であって、
前記少なくとも1つの処理デバイスの第2イベントを検出するステップと、
前記複数のプールを検索して、前記第2イベントに対応するデータ・カプセルを求めるステップと、
を備えている、方法。 - 請求項299記載の方法であって、
前記データ・カプセルと前記第2イベントとの間における対応を特定するステップと、
前記特定に応答して、前記プールから前記データ・カプセルを抽出するステップと、
前記データ・カプセルの内容に応答して、前記少なくとも1つの処理デバイスの代わりに、前記第2イベントに対応する処理動作を実行するステップであって、前記少なくとも1つの処理デバイスが第1タイプのアプリケーションおよび第2タイプのアプリケーションに対応する、ステップと、
を備えている、方法。 - 請求項298記載の方法において、前記複数のプールが複数のアプリケーションに結合されており、前記複数のプールが、前記複数のアプリケーションに対応する複数のデータ・カプセルを含み、前記複数のプールが、前記複数のアプリケーションによる前記複数のデータ・カプセルへのアクセスに備えており、前記複数のアプリケーションの内少なくとも2つのアプリケーションが異なるアプリケーションである、方法。
- 請求項298記載の方法において、前記複数のプールが、複数のデータ・カプセルの状態のキャッシュに備えている、方法。
- 請求項298記載の方法において、前記複数のプールが、複数のデータ・カプセルの線形シーケンスに備えている、方法。
- 請求項204記載の方法において、データ構造が、類別されていない、方法。
- 請求項204記載の方法において、前記データ・カプセルのデータ構造が、イベント・データおよび状態情報のプラットフォームに依存しない表現である、方法。
- 請求項204記載の方法において、前記データ・カプセルのデータ構造が、イベント・データおよび状態情報へのプラットフォームに依存しないアクセスを与える、方法。
- 請求項204記載の方法において、前記転送するステップが、第1アプリケーション・タイプを有する第1アプリケーションから少なくとも1つの第2アプリケーション・タイプを有する少なくとも1つの第2アプリケーションに前記データ・カプセルを転送するステップを含み、前記第1アプリケーション・タイプが前記第2アプリケーション・タイプとは異なり、前記少なくとも1つのデータ・シーケンスを発生するステップが、前記第1アプリケーションによって実行され、前記方法が、前記転送するステップの間、前記データ・カプセルの少なくとも1つのデータ・シーケンスをそのまま保持するステップを備えている、方法。
- 請求項307記載の方法であって、前記第2アプリケーションの動作中、前記少なくとも1つのデータ・シーケンスを用いるステップを備えている、方法。
- 請求項204記載の方法であって、イベント・データと、前記少なくとも1つの処理デバイスのソース・デバイスの識別データとを含む第1データ集合を発生するステップを備えており、デバイス・イベント・データが、前記ソース・デバイスによって登録されたイベントを指定するデータを含み、前記識別データが、前記ソース・デバイスを識別するデータを含む、方法。
- 請求項309記載の方法であって、前記イベントの完全な1組の状態情報を含む第2データ集合を発生するステップを備えており、前記第1データ集合および前記第2データ集合の各々が、タイプ特定データ・レイアウトとした類別データ・バンドルを備えている、方法。
- 請求項310記載の方法において、前記変換するステップが、前記第1データ集合および前記第2データ集合を含むようにデータ・カプセルを形成することによって、前記第1データ集合および前記第2データ集合をカプセル化するステップを備えており、前記データ・カプセルが、少なくとも1つのデータ・シーケンスのアプリケーション独立表現のデータ構造を有する、方法。
- 請求項204記載の方法であって、
第1タイプのアプリケーションの下で起動する第1処理デバイスのイベントを検出するステップと、
前記第1処理デバイスのイベント・データを含むデータ・シーケンスを発生するステップであって、前記イベント・データが前記イベントおよびこのイベントの状態情報を指定し、前記イベント・データおよび状態情報が、前記アプリケーションに対応するタイプを有するタイプ特定データである、ステップと、
前記データ・シーケンスを含むようにデータ・カプセルを形成するステップであって、前記データ・カプセルが、前記データ・シーケンスのアプリケーション独立表現のデータ構造を有する、ステップと、
少なくとも1つの第2タイプを有する少なくとも1つの第2アプリケーションの下で起動する第2処理デバイスの第2イベントを検出するステップであって、前記第2タイプが前記第1タイプとは異なり、前記少なくとも1つの処理デバイスが、前記第1処理デバイスおよび前記第2処理デバイスを含み、
前記データ・カプセルと前記第2イベントとの間における対応を特定するステップと、
前記第2イベントに応答して、前記データ・カプセルのデータ・シーケンスの内容を用いて動作を実行するステップと、
を備えている、方法。 - 請求項312記載の方法において、前記データ・シーケンスを発生する前記ステップが、
前記イベント・データを含む第1データ集合を発生するステップと、
前記状態情報を含む第2データ集合を発生するステップと、
前記第1データ集合および前記第2データ集合を含むように第1データ・シーケンスを形成するステップと、
を備えている、方法。 - 請求項312記載の方法において、前記イベント・データが、類別されたデータを表すタグ付きバイト・シーケンスである、方法。
- 請求項314記載の方法において、前記イベント・データが、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む、方法。
- 請求項312記載の方法において、前記状態情報が、類別されたデータを表すタグ付きバイト・シーケンスである、方法。
- 請求項316記載の方法において、前記状態情報が、タイプ・ヘッダと、タイプ特定データ・レイアウトとを含む、方法。
- 請求項312記載の方法であって、
少なくとも1つのオフセットを発生するステップと、
前記少なくとも1つのオフセットを含むように前記データ・カプセルを形成するステップと、
を備えている、方法。 - 請求項318記載の方法であって、
第1可変長を有する第1オフセットを発生するステップであって、前記第1オフセットが、前記少なくとも1つのデータ・シーケンスの第1データ・シーケンスの前記イベント・データを指し示す、ステップと、
第2可変長を有する第2オフセットを発生するステップであって、前記第2オフセットが、前記少なくとも1つのデータ・シーケンスの第1データ・シーケンスの前記状態情報を指し示す、ステップと、
を備えている、方法。 - 請求項318記載の方法であって、
前記少なくとも1つのオフセットの内第1オフセットを用いて、前記データ・カプセルを通過する第1コード経路を形成するステップと、
前記少なくとも1つのオフセットの内第2オフセットを用いて、前記データ・カプセルを通過する第2コード経路を形成する、ステップと、
を備えており、
前記第1コード経路および前記第2コード経路が異なる経路である、方法。 - 請求項318記載の方法において、第1オフセットおよび第2オフセットの内少なくとも1つがメタデータを含み、このメタデータが、前記アプリケーションのコンテキストに対応するコンテキスト特定メタデータを含む、方法。
- 請求項312記載の方法であって、前記データ・カプセルを前記複数のプールにおけるプールに転送するステップを備えている、方法。
- 請求項322記載の方法であって、
前記複数のプールを検索して、前記第2イベントに対応するデータ・カプセルを求めるステップと、
前記対応を特定したことに応答して、前記プールから前記データ・カプセルを抽出するステップと、
を備えている、方法。 - 請求項322記載の方法において、前記複数のプールが前記アプリケーションおよび前記少なくとも1つの第2アプリケーションに結合されており、前記複数のプールが、前記アプリケーションおよび前記少なくとも1つの第2アプリケーションに対応する複数のデータ・カプセルを含み、前記複数のプールが、前記アプリケーションおよび前記少なくとも1つの第2アプリケーションによる前記複数のデータ・カプセルへのアクセスを与える、方法。
- 請求項322記載の方法において、前記複数のプールが、複数のデータ・カプセルの状態のキャッシュに備えている、方法。
- 請求項322記載の方法において、前記複数のプールが、複数のデータ・カプセルの線形シーケンスに備えている、方法。
- 請求項312記載の方法において、前記データ構造が、類別されていない、方法。
- 請求項312記載の方法において、前記データ・カプセルのデータ構造が、前記イベント・データおよび前記状態情報のプラットフォームに依存しない表現である、方法。
- 請求項312記載の方法において、前記データ・カプセルのデータ構造が、前記イベント・データおよび前記状態情報へのプラットフォームに依存しないアクセスを与える、方法。
- 処理デバイス上において複数のプロセスを実行するステップであって、前記複数のプロセスが、複数のアプリケーション・プログラムの分離可能なプログラム実行コンテキストを含み、各アプリケーション・プログラムが少なくとも1つのプロセスを含み、各プロセスが、該プロセスのアプリケーションに対応するタイプを有するタイプ特定データを含んでいるイベントを生成する、ステップと、
前記複数のプロセスの各プロセスのイベントをデータ・メッセージに変換するステップであって、データ・メッセージが、各プロセスのアプリケーションに依存せずに前記複数のプロセスによって認識可能な前記イベントの表現であるアプリケーション独立表現に変換されたデータと、前記データ・メッセージを発したプロセスの状態情報とを含む、ステップと、
前記データ・メッセージを、複数のプールの内少なくとも1つのプールに転送するステップであって、各プールが、前記複数のプロセスによって生成された前記データ・メッセージを含んでいる、ステップと、
前記プロセス間において調整を行うステップであって、この調整が、前記複数のプールからピア・プロセスの状態情報を引き出すことによって、前記複数のプロセスの各プロセスが、前記複数のプロセスのピア・プロセスと対等になることを含む、ステップと、
前記複数のプールの内少なくとも1つのプールの1組のデータ・メッセージをインタラクティブに組み合わせることによって、前記複数のプロセスの出力を発生するステップと、
を備えている、方法。 - ボディによって行われたジェスチャを表すジェスチャ・データを受け取る検出器と、
前記検出器に結合されているプロセッサであって、このプロセッサが前記ジェスチャ・データから自動的に前記ジェスチャを検出し、前記プロセッサが複数のプロセスを実行し、これら複数のプロセスが、前記ジェスチャを表す1組のイベントを含むイベントを発生し、各プロセスが、該プロセスのアプリケーションに対応するタイプを有するタイプ特定データを含んでいるイベントを生成し、前記プロセッサが、前記複数のプロセスにおける各プロセスのイベントをデータ・カプセルに変換し、各データ・カプセルが、各データ・カプセルが、各プロセスのアプリケーションに依存せずに前記複数のプロセスによって認識可能な前記イベントの表現であるアプリケーション独立表現に変換されたデータを含み、前記プロセッサが前記データ・カプセルを複数のプールに転送し、各プールが、前記複数のプロセスによって生成された前記データ・カプセルを含み、前記複数のプロセスの内1組のプロセスが、認識プロセスとして機能し、この認識プロセスが、前記複数のプールにおいて、前記ジェスチャに対応する内容を備えているデータ・カプセルを認識し、前記認識プロセスが、認識したデータ・カプセルを前記複数のプールから引き出し、前記認識したデータ・カプセルの内容を合成してジェスチャ信号を形成することによって、前記認識したデータ・カプセルから前記ジェスチャ信号を発生し、前記ジェスチャ信号が前記ジェスチャを表す、プロセッサと、
を備えている、システム。
Applications Claiming Priority (15)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10524308P | 2008-10-14 | 2008-10-14 | |
US10525308P | 2008-10-14 | 2008-10-14 | |
US61/105,243 | 2008-10-14 | ||
US61/105,253 | 2008-10-14 | ||
US12/417,252 | 2009-04-02 | ||
US12/417,252 US9075441B2 (en) | 2006-02-08 | 2009-04-02 | Gesture based control using three-dimensional information extracted over an extended depth of field |
US12/487,623 US20090278915A1 (en) | 2006-02-08 | 2009-06-18 | Gesture-Based Control System For Vehicle Interfaces |
US12/487,623 | 2009-06-18 | ||
US12/553,845 | 2009-09-03 | ||
US12/553,845 US8531396B2 (en) | 2006-02-08 | 2009-09-03 | Control system for navigating a principal dimension of a data space |
US12/557,464 US9910497B2 (en) | 2006-02-08 | 2009-09-10 | Gestural control of autonomous and semi-autonomous systems |
US12/557,464 | 2009-09-10 | ||
US12/572,689 US8866740B2 (en) | 2005-02-08 | 2009-10-02 | System and method for gesture based control system |
US12/572,689 | 2009-10-02 | ||
PCT/US2009/060725 WO2010045394A1 (en) | 2008-10-14 | 2009-10-14 | Multi-process interactive systems and methods |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2012506097A JP2012506097A (ja) | 2012-03-08 |
JP5805537B2 true JP5805537B2 (ja) | 2015-11-04 |
Family
ID=42106884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2011532225A Expired - Fee Related JP5805537B2 (ja) | 2008-10-14 | 2009-10-14 | マルチプロセス・インタラクティブ・システムおよび方法 |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2350774A4 (ja) |
JP (1) | JP5805537B2 (ja) |
KR (1) | KR101649769B1 (ja) |
CN (1) | CN102224476B (ja) |
WO (1) | WO2010045394A1 (ja) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9740293B2 (en) | 2009-04-02 | 2017-08-22 | Oblong Industries, Inc. | Operating environment with gestural control and multiple client devices, displays, and users |
US9684380B2 (en) * | 2009-04-02 | 2017-06-20 | Oblong Industries, Inc. | Operating environment with gestural control and multiple client devices, displays, and users |
US9952673B2 (en) | 2009-04-02 | 2018-04-24 | Oblong Industries, Inc. | Operating environment comprising multiple client devices, multiple displays, multiple users, and gestural control |
US10824238B2 (en) | 2009-04-02 | 2020-11-03 | Oblong Industries, Inc. | Operating environment with gestural control and multiple client devices, displays, and users |
US9971807B2 (en) | 2009-10-14 | 2018-05-15 | Oblong Industries, Inc. | Multi-process interactive systems and methods |
US10481769B2 (en) * | 2013-06-09 | 2019-11-19 | Apple Inc. | Device, method, and graphical user interface for providing navigation and search functionalities |
US9430808B2 (en) * | 2013-06-19 | 2016-08-30 | Microsoft Technology Licensing, Llc | Synchronization points for state information |
GB2521151B (en) * | 2013-12-10 | 2021-06-02 | Advanced Risc Mach Ltd | Configurable thread ordering for a data processing apparatus |
US9990046B2 (en) | 2014-03-17 | 2018-06-05 | Oblong Industries, Inc. | Visual collaboration interface |
EP3062142B1 (en) | 2015-02-26 | 2018-10-03 | Nokia Technologies OY | Apparatus for a near-eye display |
US9734000B2 (en) * | 2015-06-18 | 2017-08-15 | Microsoft Technology Licensing, Llc | Seamless transitions between applications and devices |
CN106055123B (zh) * | 2016-06-08 | 2019-01-29 | Tcl移动通信科技(宁波)有限公司 | 一种基于文字输入速度的备选字查找速度控制方法及系统 |
CN106571888B (zh) * | 2016-11-10 | 2018-08-14 | 中国人民解放军空军航空大学军事仿真技术研究所 | 一种仿真系统自动同步可靠通信方法 |
US10650552B2 (en) | 2016-12-29 | 2020-05-12 | Magic Leap, Inc. | Systems and methods for augmented reality |
EP4300160A3 (en) | 2016-12-30 | 2024-05-29 | Magic Leap, Inc. | Polychromatic light out-coupling apparatus, near-eye displays comprising the same, and method of out-coupling polychromatic light |
US10578870B2 (en) | 2017-07-26 | 2020-03-03 | Magic Leap, Inc. | Exit pupil expander |
CN107479973A (zh) * | 2017-08-08 | 2017-12-15 | 西安万像电子科技有限公司 | 数据传输方法、装置、系统 |
JP7282090B2 (ja) | 2017-12-10 | 2023-05-26 | マジック リープ, インコーポレイテッド | 光学導波管上の反射防止性コーティング |
KR20200100720A (ko) | 2017-12-20 | 2020-08-26 | 매직 립, 인코포레이티드 | 증강 현실 뷰잉 디바이스용 인서트 |
CN108196686B (zh) * | 2018-03-13 | 2024-01-26 | 北京无远弗届科技有限公司 | 一种手部动作姿态捕捉设备、方法及虚拟现实交互系统 |
US10755676B2 (en) | 2018-03-15 | 2020-08-25 | Magic Leap, Inc. | Image correction due to deformation of components of a viewing device |
US11885871B2 (en) | 2018-05-31 | 2024-01-30 | Magic Leap, Inc. | Radar head pose localization |
WO2020010097A1 (en) | 2018-07-02 | 2020-01-09 | Magic Leap, Inc. | Pixel intensity modulation using modifying gain values |
US11856479B2 (en) | 2018-07-03 | 2023-12-26 | Magic Leap, Inc. | Systems and methods for virtual and augmented reality along a route with markers |
US11510027B2 (en) | 2018-07-03 | 2022-11-22 | Magic Leap, Inc. | Systems and methods for virtual and augmented reality |
WO2020023543A1 (en) | 2018-07-24 | 2020-01-30 | Magic Leap, Inc. | Viewing device with dust seal integration |
EP4270016A3 (en) | 2018-07-24 | 2024-02-07 | Magic Leap, Inc. | Temperature dependent calibration of movement detection devices |
US11112862B2 (en) | 2018-08-02 | 2021-09-07 | Magic Leap, Inc. | Viewing system with interpupillary distance compensation based on head motion |
US10795458B2 (en) | 2018-08-03 | 2020-10-06 | Magic Leap, Inc. | Unfused pose-based drift correction of a fused pose of a totem in a user interaction system |
CN109143983B (zh) * | 2018-08-15 | 2019-12-24 | 杭州电子科技大学 | 嵌入式可编程控制器的运动控制方法及装置 |
JP7487176B2 (ja) | 2018-08-22 | 2024-05-20 | マジック リープ, インコーポレイテッド | 患者視認システム |
CN109491725B (zh) * | 2018-11-12 | 2022-12-27 | 火烈鸟网络(广州)股份有限公司 | 应用程序可交互多开方法和系统、存储介质、电子设备 |
JP7472127B2 (ja) | 2018-11-16 | 2024-04-22 | マジック リープ, インコーポレイテッド | 画像鮮明度を維持するための画像サイズによってトリガされる明確化 |
US11425189B2 (en) * | 2019-02-06 | 2022-08-23 | Magic Leap, Inc. | Target intent-based clock speed determination and adjustment to limit total heat generated by multiple processors |
EP3939030A4 (en) | 2019-03-12 | 2022-11-30 | Magic Leap, Inc. | REGISTRATION OF LOCAL CONTENT BETWEEN FIRST AND SECOND VIEWERS OF AUGMENTED REALITY |
CN114127837A (zh) | 2019-05-01 | 2022-03-01 | 奇跃公司 | 内容提供系统和方法 |
US11514673B2 (en) | 2019-07-26 | 2022-11-29 | Magic Leap, Inc. | Systems and methods for augmented reality |
US12033081B2 (en) | 2019-11-14 | 2024-07-09 | Magic Leap, Inc. | Systems and methods for virtual and augmented reality |
EP4058979A4 (en) | 2019-11-15 | 2023-01-11 | Magic Leap, Inc. | VIEWING SYSTEM FOR USE IN A SURGICAL ENVIRONMENT |
CN112907437A (zh) * | 2021-03-26 | 2021-06-04 | 长沙景嘉微电子股份有限公司 | 多个3d进程运行方法、装置、电子设备和存储介质 |
CN116302579B (zh) * | 2023-05-25 | 2023-08-04 | 智成时空(西安)创新科技有限公司 | 面向Web端的时空大数据高效加载渲染方法及系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2517531B2 (ja) * | 1994-02-28 | 1996-07-24 | 株式会社エイ・ティ・アール通信システム研究所 | ステレオ画像を用いた姿勢検出装置 |
JP2000514944A (ja) * | 1997-05-08 | 2000-11-07 | アイレディー コーポレイション | オブジェクト指向プログラミング言語のためのハードウェア加速器 |
US7548238B2 (en) * | 1997-07-02 | 2009-06-16 | Nvidia Corporation | Computer graphics shader systems and methods |
JP3762173B2 (ja) * | 1999-11-26 | 2006-04-05 | 株式会社東芝 | 計算機システム及びネットワークシステム並びに記録媒体 |
SE0000850D0 (sv) * | 2000-03-13 | 2000-03-13 | Pink Solution Ab | Recognition arrangement |
US8745541B2 (en) * | 2003-03-25 | 2014-06-03 | Microsoft Corporation | Architecture for controlling a computer using hand gestures |
US7436535B2 (en) * | 2003-10-24 | 2008-10-14 | Microsoft Corporation | Real-time inking |
US7366368B2 (en) * | 2004-06-15 | 2008-04-29 | Intel Corporation | Optical add/drop interconnect bus for multiprocessor architecture |
US7613830B2 (en) * | 2004-12-10 | 2009-11-03 | Microsoft Corporation | Reliably transferring queued application messages |
EP1851750A4 (en) * | 2005-02-08 | 2010-08-25 | Oblong Ind Inc | SYSTEM AND METHOD FOR CONTROL SYSTEM BASED ON GESTURES |
US8769127B2 (en) * | 2006-02-10 | 2014-07-01 | Northrop Grumman Systems Corporation | Cross-domain solution (CDS) collaborate-access-browse (CAB) and assured file transfer (AFT) |
JP5007060B2 (ja) * | 2006-03-28 | 2012-08-22 | 株式会社野村総合研究所 | ジョブ管理装置およびジョブ管理方法 |
EP2163987A3 (en) * | 2007-04-24 | 2013-01-23 | Oblong Industries, Inc. | Processing of events in data processing environments |
-
2009
- 2009-10-14 CN CN200980146827.0A patent/CN102224476B/zh not_active Expired - Fee Related
- 2009-10-14 EP EP09821219.4A patent/EP2350774A4/en not_active Withdrawn
- 2009-10-14 KR KR1020117011074A patent/KR101649769B1/ko active IP Right Grant
- 2009-10-14 JP JP2011532225A patent/JP5805537B2/ja not_active Expired - Fee Related
- 2009-10-14 WO PCT/US2009/060725 patent/WO2010045394A1/en active Application Filing
Also Published As
Publication number | Publication date |
---|---|
JP2012506097A (ja) | 2012-03-08 |
KR20110079839A (ko) | 2011-07-08 |
EP2350774A4 (en) | 2014-11-05 |
KR101649769B1 (ko) | 2016-08-19 |
WO2010045394A1 (en) | 2010-04-22 |
CN102224476A (zh) | 2011-10-19 |
CN102224476B (zh) | 2017-08-01 |
EP2350774A1 (en) | 2011-08-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5805537B2 (ja) | マルチプロセス・インタラクティブ・システムおよび方法 | |
US10565030B2 (en) | Multi-process interactive systems and methods | |
US9063801B2 (en) | Multi-process interactive systems and methods | |
US10990454B2 (en) | Multi-process interactive systems and methods | |
US10235412B2 (en) | Detecting, representing, and interpreting three-space input: gestural continuum subsuming freespace, proximal, and surface-contact modes | |
JP5698733B2 (ja) | 三空間入力の検出、表現、および解釈:自由空間、近接、および表面接触モードを組み込むジェスチャ連続体 | |
US9933852B2 (en) | Multi-process interactive systems and methods | |
US20180136734A1 (en) | Spatial, multi-modal control device for use with spatial operating system | |
US8669939B2 (en) | Spatial, multi-modal control device for use with spatial operating system | |
US9495013B2 (en) | Multi-modal gestural interface | |
US8665213B2 (en) | Spatial, multi-modal control device for use with spatial operating system | |
JP5806615B2 (ja) | データ空間の主要次元をナビゲートするための制御システム | |
JP5782431B2 (ja) | 空間動作システムと共に用いるための空間マルチモード制御デバイス | |
US9052970B2 (en) | Multi-process interactive systems and methods | |
JP2015525381A (ja) | 相互ユーザ手追跡および形状認識ユーザ・インターフェース |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20121015 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140213 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140513 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140520 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140813 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20150114 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150410 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20150513 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20150714 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20150804 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20150902 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5805537 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |