CN102224476B - Multi-process interactive systems and method - Google Patents
Multi-process interactive systems and method Download PDFInfo
- Publication number
- CN102224476B CN102224476B CN200980146827.0A CN200980146827A CN102224476B CN 102224476 B CN102224476 B CN 102224476B CN 200980146827 A CN200980146827 A CN 200980146827A CN 102224476 B CN102224476 B CN 102224476B
- Authority
- CN
- China
- Prior art keywords
- data
- exchange method
- event
- capsule
- process exchange
- 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 abstract description 1697
- 230000002452 interceptive effect Effects 0.000 title claims abstract description 84
- 230000008569 process Effects 0.000 claims abstract description 819
- 239000002775 capsule Substances 0.000 claims abstract description 509
- 238000012545 processing Methods 0.000 claims abstract description 267
- 230000014509 gene expression Effects 0.000 claims abstract description 69
- 238000011112 process operation Methods 0.000 claims abstract description 15
- 230000000977 initiatory effect Effects 0.000 claims abstract description 13
- 238000013519 translation Methods 0.000 claims description 84
- 230000014616 translation Effects 0.000 claims description 84
- 230000004044 response Effects 0.000 claims description 55
- 230000006870 function Effects 0.000 claims description 39
- 238000001514 detection method Methods 0.000 claims description 38
- 230000015572 biosynthetic process Effects 0.000 claims description 35
- 230000033001 locomotion Effects 0.000 claims description 28
- 238000002372 labelling Methods 0.000 claims description 25
- 238000009877 rendering Methods 0.000 claims description 24
- 230000008859 change Effects 0.000 claims description 20
- 230000005540 biological transmission Effects 0.000 claims description 18
- 238000006243 chemical reaction Methods 0.000 claims description 18
- 238000004891 communication Methods 0.000 claims description 16
- 230000009471 action Effects 0.000 claims description 15
- 238000013507 mapping Methods 0.000 claims description 13
- 239000003292 glue Substances 0.000 claims description 7
- 238000013213 extrapolation Methods 0.000 claims description 5
- 230000003993 interaction Effects 0.000 claims description 5
- 230000002194 synthesizing effect Effects 0.000 claims description 2
- 239000008186 active pharmaceutical agent Substances 0.000 claims 6
- 108090000623 proteins and genes Proteins 0.000 description 274
- 102000004169 proteins and genes Human genes 0.000 description 274
- 240000008415 Lactuca sativa Species 0.000 description 144
- 235000012045 salad Nutrition 0.000 description 144
- 230000036544 posture Effects 0.000 description 143
- 210000003811 finger Anatomy 0.000 description 48
- 238000010586 diagram Methods 0.000 description 41
- 210000002381 plasma Anatomy 0.000 description 36
- 230000007246 mechanism Effects 0.000 description 29
- 210000003813 thumb Anatomy 0.000 description 18
- 230000008878 coupling Effects 0.000 description 17
- 238000010168 coupling process Methods 0.000 description 17
- 238000005859 coupling reaction Methods 0.000 description 17
- 230000006399 behavior Effects 0.000 description 16
- 238000003860 storage Methods 0.000 description 15
- 238000004422 calculation algorithm Methods 0.000 description 14
- 210000004247 hand Anatomy 0.000 description 14
- 238000010276 construction Methods 0.000 description 10
- 230000000694 effects Effects 0.000 description 10
- 238000005538 encapsulation Methods 0.000 description 10
- 239000000758 substrate Substances 0.000 description 10
- 238000005516 engineering process Methods 0.000 description 9
- 239000000203 mixture Substances 0.000 description 9
- 238000007689 inspection Methods 0.000 description 8
- 238000013461 design Methods 0.000 description 7
- 238000002156 mixing Methods 0.000 description 7
- 238000003786 synthesis reaction Methods 0.000 description 7
- 238000012546 transfer Methods 0.000 description 7
- 101800001072 Protein 1A Proteins 0.000 description 6
- 238000004364 calculation method Methods 0.000 description 6
- 210000005224 forefinger Anatomy 0.000 description 6
- 238000012800 visualization Methods 0.000 description 6
- 238000009826 distribution Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 5
- 239000003550 marker Substances 0.000 description 5
- 230000003287 optical effect Effects 0.000 description 5
- 238000005457 optimization Methods 0.000 description 5
- 108010025221 plasma protein Z Proteins 0.000 description 5
- 230000003068 static effect Effects 0.000 description 5
- 108010017384 Blood Proteins Proteins 0.000 description 4
- 102000004506 Blood Proteins Human genes 0.000 description 4
- 101800001065 Protein 2B Proteins 0.000 description 4
- 230000002776 aggregation Effects 0.000 description 4
- 238000004220 aggregation Methods 0.000 description 4
- QBWCMBCROVPCKQ-UHFFFAOYSA-N chlorous acid Chemical compound OCl=O QBWCMBCROVPCKQ-UHFFFAOYSA-N 0.000 description 4
- 210000002414 leg Anatomy 0.000 description 4
- 238000000751 protein extraction Methods 0.000 description 4
- 230000000717 retained effect Effects 0.000 description 4
- 238000005452 bending Methods 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 235000013601 eggs Nutrition 0.000 description 3
- 230000002349 favourable effect Effects 0.000 description 3
- 238000001914 filtration Methods 0.000 description 3
- 238000004519 manufacturing process 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
- 210000001519 tissue Anatomy 0.000 description 3
- 230000009466 transformation Effects 0.000 description 3
- 210000004885 white matter Anatomy 0.000 description 3
- PLXMOAALOJOTIY-FPTXNFDTSA-N Aesculin Natural products OC[C@@H]1[C@@H](O)[C@H](O)[C@@H](O)[C@H](O)[C@H]1Oc2cc3C=CC(=O)Oc3cc2O PLXMOAALOJOTIY-FPTXNFDTSA-N 0.000 description 2
- 101800000442 Protein X2 Proteins 0.000 description 2
- 238000003491 array Methods 0.000 description 2
- 230000033228 biological regulation Effects 0.000 description 2
- 230000003139 buffering effect Effects 0.000 description 2
- 210000004027 cell Anatomy 0.000 description 2
- 230000006378 damage Effects 0.000 description 2
- 230000001419 dependent effect Effects 0.000 description 2
- 235000019580 granularity Nutrition 0.000 description 2
- 230000010354 integration Effects 0.000 description 2
- 210000003127 knee Anatomy 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000012423 maintenance Methods 0.000 description 2
- 238000007726 management method Methods 0.000 description 2
- 239000000463 material Substances 0.000 description 2
- 239000002184 metal Substances 0.000 description 2
- 230000006855 networking Effects 0.000 description 2
- 230000008447 perception Effects 0.000 description 2
- 238000013139 quantization Methods 0.000 description 2
- 238000000926 separation method Methods 0.000 description 2
- 241000894007 species Species 0.000 description 2
- 230000009897 systematic effect Effects 0.000 description 2
- 239000013598 vector Substances 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- QCVGEOXPDFCNHA-UHFFFAOYSA-N 5,5-dimethyl-2,4-dioxo-1,3-oxazolidine-3-carboxamide Chemical compound CC1(C)OC(=O)N(C(N)=O)C1=O QCVGEOXPDFCNHA-UHFFFAOYSA-N 0.000 description 1
- 241001270131 Agaricus moelleri Species 0.000 description 1
- 241000256844 Apis mellifera Species 0.000 description 1
- 241001269238 Data Species 0.000 description 1
- 102000002322 Egg Proteins Human genes 0.000 description 1
- 108010000912 Egg Proteins Proteins 0.000 description 1
- 241001481816 Eulemur mongoz Species 0.000 description 1
- 108091006027 G proteins Proteins 0.000 description 1
- 102000030782 GTP binding Human genes 0.000 description 1
- 108091000058 GTP-Binding Proteins 0.000 description 1
- 208000004356 Hysteria Diseases 0.000 description 1
- 241000406668 Loxodonta cyclotis Species 0.000 description 1
- 101710085938 Matrix protein Proteins 0.000 description 1
- 101710127721 Membrane protein Proteins 0.000 description 1
- 101710159910 Movement protein Proteins 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
- 241000282320 Panthera leo Species 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
- 239000002253 acid Substances 0.000 description 1
- 239000000853 adhesive Substances 0.000 description 1
- 230000001070 adhesive effect Effects 0.000 description 1
- -1 albumen Matter 1A Proteins 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 230000000712 assembly Effects 0.000 description 1
- 238000000429 assembly Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 239000007767 bonding agent Substances 0.000 description 1
- 230000001413 cellular effect 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
- 238000004040 coloring Methods 0.000 description 1
- 238000007906 compression Methods 0.000 description 1
- 230000006835 compression Effects 0.000 description 1
- 230000008602 contraction Effects 0.000 description 1
- 208000012839 conversion disease Diseases 0.000 description 1
- 238000001816 cooling Methods 0.000 description 1
- 238000013499 data model Methods 0.000 description 1
- 238000013500 data storage Methods 0.000 description 1
- 230000003111 delayed effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000018109 developmental process Effects 0.000 description 1
- 230000004069 differentiation Effects 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 235000014103 egg white Nutrition 0.000 description 1
- 210000000969 egg white Anatomy 0.000 description 1
- 230000005672 electromagnetic field Effects 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 210000003414 extremity Anatomy 0.000 description 1
- 238000007667 floating Methods 0.000 description 1
- 238000005469 granulation Methods 0.000 description 1
- 230000003179 granulation Effects 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 210000004932 little finger Anatomy 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 235000012054 meals Nutrition 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- NJPPVKZQTLUDBO-UHFFFAOYSA-N novaluron Chemical compound C1=C(Cl)C(OC(F)(F)C(OC(F)(F)F)F)=CC=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F NJPPVKZQTLUDBO-UHFFFAOYSA-N 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 238000006116 polymerization reaction Methods 0.000 description 1
- 230000001144 postural effect Effects 0.000 description 1
- 238000000734 protein sequencing Methods 0.000 description 1
- 238000011084 recovery Methods 0.000 description 1
- 238000004064 recycling Methods 0.000 description 1
- 238000007670 refining Methods 0.000 description 1
- 238000012552 review Methods 0.000 description 1
- 238000005096 rolling process Methods 0.000 description 1
- 230000011218 segmentation Effects 0.000 description 1
- 238000010008 shearing Methods 0.000 description 1
- 229920006300 shrink film Polymers 0.000 description 1
- 239000000126 substance Substances 0.000 description 1
- 230000001360 synchronised effect Effects 0.000 description 1
- 230000026676 system process Effects 0.000 description 1
- 238000012360 testing method Methods 0.000 description 1
- 238000000844 transformation Methods 0.000 description 1
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
- 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
- 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
- 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)
- Quality & Reliability (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Processing Or Creating Images (AREA)
- Digital Computer Display Output (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- User Interface Of Digital Computer (AREA)
- Image Processing (AREA)
Abstract
A kind of multi-process interactive systems are described.The system includes many processes run in processing.The separable program that process includes application program performs context so that each application program includes at least one process.The event of each process is translated to data capsule by the system.Data capsule includes initiating the expression unrelated with application program of the event data of the state of a process information of the content of data capsule and event.Data-message is sent in pond or reservoir by the system.Each process as identification process operation, wherein, the identification process recognize in pond including the data capsule with recognizing the interactive function of process and/or the corresponding content of mark of identification process.The data capsule of identification process retrieval from pond, and perform the processing to the content of the data capsule of identification suitably.
Description
Related application
This application claims the rights and interests of the U.S. (US) patent application the 61/105,243rd submitted on October 14th, 2008.
This application claims the rights and interests for the U.S. Patent Application No. 61/105,253 submitted on October 14th, 2008.
The application is the continuation of the part for the U.S. Patent Application No. 12/109,263 submitted on April 24th, 2008.
The application is the continuation of the part for the U.S. Patent Application No. 12/417,252 submitted on April 2nd, 2009.
The application is the continuation of the part for the U.S. Patent Application No. 12/487,623 submitted on June 18th, 2009.
The application is the continuation of the part for the U.S. Patent Application No. 12/553,845 submitted for 3rd in September in 2009.
The application is the continuation of the part for the U.S. Patent Application No. 12/557,464 submitted for 10th in September in 2009.
The application is the continuation of the part for the U.S. Patent Application No. 12/572,689 submitted on October 2nd, 2009,
No. 12/572,689 continuation for the part of U.S. Patent No. 7,598,942 of U.S. Patent Application No..
Technical field
The present invention relates within calculation procedure and its between data expression, manipulate and exchange embodiment.
Background technology
Traditional programmed environment not exclusively supports multicomputer processing unit (CPU) and crossover network to perform or a large amount of calculating
The flexible of data between process is shared.User oriented computer program has traditionally been constructed so that by single meter
Journey is added to produce the major part and all images outputtings of process.Although this mechanism standard and by tools chain, development environment
Supported well with operating system, but scale is not good enough, and be the expansion to widely used present age application and fragile
Obvious contribution factor.
Merged by quoting
Each patent, patent application and/or the disclosure mentioned in this specification are herein by quoting entire contents knot
Together in this, openly specifically and it is designated as such as each single patent, patent application and/or individually by reference
It is combined.
Brief description of the drawings
Figure 1A is the block diagram of the multi-process interactive systems according to embodiment.
Figure 1B is the block diagram of the multi-process interactive systems according to alternative embodiment.
Fig. 1 C are the block diagrams of the multi-process interactive systems according to another alternative embodiment.
Fig. 2 is the flow chart of the operation of the multi-process interactive systems according to embodiment.
Fig. 3 is the number including the use of many salads (slawx), protein (protein) and pond (pool) according to embodiment
According to the block diagram of the processing environment of expression.
Fig. 4 is the block diagram of the protein according to embodiment.
Fig. 5 is the block diagram of the description (descrip) according to embodiment.
Fig. 6 is the block diagram of the intake (ingest) according to embodiment.
Fig. 7 is the block diagram of the salad according to embodiment.
Fig. 8 A are the block diagrams of the protein in the pond according to embodiment.
Fig. 8 B show the salad header format according to embodiment.
Fig. 8 C are the flow charts of the use protein according to embodiment.
Fig. 8 D are the flow charts for being used to building or generating protein according to embodiment.
Fig. 9 is the block diagram of the processing environment including the use of many salads, protein and the data exchange in pond according to embodiment.
Figure 10 be according to embodiment include multiple equipment and run on it is a large amount of in one or more of described equipment
The block diagram of the processing environment of program, in such devices, blood plasma (plasma) build (such as pond, protein and salad) and are used for
Allow a large amount of operation programs shared and event that is jointly being generated in response to equipment.
Figure 11 is including multiple equipment and running in one or more of described equipment according to alternative embodiment
The block diagram of the processing environment of a large amount of programs, in such devices, blood plasma builds (such as pond, protein and salad) and is used to
The event that a large amount of operation programs are shared and jointly generated in response to equipment.
Figure 12 is being included among a large amount of programs in one or more equipment that run on according to another alternative embodiment
The block diagram of the processing environment of multiple input equipments of coupling, in such devices, blood plasma build (such as pond, protein and salad)
It is used to the event that a large amount of operation programs are shared and jointly generated in response to input equipment.
Figure 13 is being included among a large amount of programs in one or more equipment that run on according to another alternative embodiment
The block diagram of the processing environment of the multiple equipment of coupling, in such devices, blood plasma build (such as pond, protein and salad) by with
In the graphical event for allowing a large amount of operation programs to share and jointly being generated in response to equipment.
Figure 14 is being included among a large amount of programs in one or more equipment that run on according to another alternative embodiment
The block diagram of the processing environment of the multiple equipment of coupling, in such devices, blood plasma build (such as pond, protein and salad) by with
In allow the status checkout to operation program, visualization and debug.
Figure 15 be according to additional alternative embodiment be included in a large amount of programs for running in one or more equipment it
The block diagram of the processing environment of the multiple equipment of middle coupling, in such devices, blood plasma build (such as pond, protein and salad) quilt
For allowing to influence or controlling the characteristic of status information for producing and placing in the process pool.
Figure 16 is the block diagram of posture (gestural) control system according to embodiment.
Figure 17 is the diagram of the mark label according to embodiment.
Figure 18 is the diagram of the posture in the posture vocabulary (gesture vocabulary) according to embodiment.
Figure 19 is the diagram in the orientation in the posture vocabulary according to embodiment.
Figure 20 is the diagram of two hands combination in the posture vocabulary according to embodiment.
Figure 21 is the diagram of the orientation mixing in the posture vocabulary according to embodiment.
Figure 22 is the flow chart of the gesture stability according to embodiment.
Figure 23 is the example of the order according to embodiment.
Figure 24 is the block diagram of the spatial operation environment (SOE) realized by multi-process interactive systems according to embodiment.
Figure 25 is the operation of the multi-process interactive systems of input of the use from attitude control system according to embodiment
Flow chart.
Embodiment
The behavior and output that embodiment described here includes being used to coordinate multiple computer processes should so as to produce interaction
With the system and method for program.Embodiment described here is commonly known as multi-process interactive systems, program or application program, bag
Include the application program for being divided into the multiple different computer processes that can be performed parallel.The set of these processes can produce user
The part exported by its overall system interacted.The set of these processes has to the structuring for Coordinating Activity
And the right to access of the data exchange mechanism well defined.The set of these processes is operable as exchanging via structural data
To use user's input, (for example original user is inputted mechanism, and the user for aggravating conversion inputs, user that is original and aggravating conversion is defeated
Enter).
Embodiment described here provides the modularity of the application component across the border of calculation procedure.Offer is provided
Modularity result, embodiment described here provide component reuse, the bigger chance for interoperability, be easier
Test and checking, increased robustness (robustness) and the fault tolerance during performing.
In addition, existing computer generally comprises multiple processor elements (such as CPU core).Embodiment in this is than tradition
Application program constructing technology is remote preferably in multiple processor structure upscaling.It is used as the trend of Computer Design, this " multinuclear "
Calibration becomes more and more important, and manufacturing industry increasingly meets increased interior nuclear counting rather than increased clock speed.
Embodiment described here allows for dynamic construction, destruction and the restructuring of processing assembly.It is described here
Embodiment makes it possible for networking (or other interconnection) agreement and carries out structural data exchanging mechanism across multiple computers
Extension.Embodiment described here makes it possible to dynamic transmission processing assembly between the computers.Embodiment described here makes
Obtaining can be according to the quantity of the process of participation, composition and the dynamic optimization for performing context progress structural data exchanging mechanism.
The embodiment of this description makes it possible to combine the images outputting created on multiple computers on individual monitor.
The embodiment of this description, which is realized, includes shared, coordination the G context of multiple displays.Embodiment described here is real
Now include shared, coordination many display G contexts by multiple displays of multiple computer drives.It is described here
Automatic history buffering is built and introduces structural data exchanging mechanism by embodiment so that some past data volumes are for applying journey
Sequence component always can use.
Following term is intended to the following ordinary meaning that such as they are used herein.Term " process as used herein
(process) " represent that separable program performs context.The ins and outs that computer architecture and operating system are realized in process
Upper difference.The process that mechanism described here is configured as across broad range, which is realized, to be operated, and is promoted using to the greatest extent may be used
The mixed application design of available computational resources more than energy is configured.
Term " equipment " as used herein represents any setting based on processor of the one or more programs of operation or algorithm
Any equipment based on processor that is standby, being run under one or more programs or algorithm and/or it is coupled or connected to operation one
Individual or multiple programs or algorithm and/or any of the equipment based on processor run under one or more programs or algorithm set
It is standby.Term " event " as used herein represent with run or configuration processor or algorithm, the equipment based on processor and/or couple or
Be connected to the associated any event of the equipment of the equipment based on processor (for example, event can include but is not limited to input, it is defeated
Go out, control, state, state change, action, data (no matter data form or data processing associated with it in level) etc.).
In the following description, a large amount of details are introduced, to provide the thorough understanding for embodiment described here, and are made
Obtaining can illustrate to embodiment described here.However, it will be understood by those skilled in the art that can there is no these specific
It can put into practice in the case of one or more of details or by other components, system etc. these embodiments.Other
In example, known structure or operation are not shown in detail or describe, in order to avoid the aspect of fuzzy disclosed embodiment.
Embodiment in this is included in the system and method that a large amount of processes are performed at least one processing equipment.Embodiment
The event of each process is translated to data capsule by system and method.Data capsule is sent to many by the system and method for embodiment
In individual pond or reservoir.Each process as identification process operation, wherein, the identification process recognize in pond to be included and identification
The data capsule of the interactive function of process and/or the corresponding content of mark of identification process.The identification process is retrieved from pond
The data capsule of identification, and perform the processing to the content of the data capsule of identification suitably.
For example, Figure 1A is the block diagram of the multi-process interactive systems 10 according to embodiment.The system 10 includes supervisor or performed
Any amount of process P1-P7 processing equipment 11.The multi-process interactive systems 10 of the example include a computer 11 or
Run on one computer 11, but be not limited to a computer, and can across any amount of processing equipment or system and/
Or it combines to run.The process P1-P7 of embodiment is included above and below the separable program execution of one or more application programs
Text, wherein, each application program includes at least one process, but embodiment not limited to this.It is raw during the execution of each process
Into or the event that produces translate to the data capsule DC1-DC9 of some quantity, and data capsule is sent to multiple pond 15-17
Or reservoir.The oblong element of system 10 represents pond 15-17, wherein, pond or reservoir be used for it is described in detail below and
The mechanism that structural data in related application is exchanged.As described below, (also claimed by pond 15-17 data capsule DC1-DC9
For data-message) it is commonly described as " protein ".
Each process P1-P7 as identification process operation, wherein, identification process recognize in the 15-17 of pond to be included and identification
The data capsule of process P1-P7 interactive function and/or the identification process P1-P7 corresponding content of mark.Identification process P1-P7
From the data capsule DC1-DC9 of pond retrieval, and perform the appropriate process of the content to the data capsule of identification.Join below
Multi-process interactive systems 10 are more fully described according to Fig. 3-Figure 15.
Figure 1B is the block diagram of the multi-process interactive systems 20 according to alternative embodiment.The system 20 includes supervisor or performed to appoint
The process P1-PX of what quantity processing equipment 21, wherein, X represents appropriate for the configuration of processing equipment 21 and/or system 20
Any quantity.System 20 also includes supervisor or performs any amount of process P1-PY processing equipment 22, wherein, Y represent for
Any quantity of the configuration of processing equipment 22 and/or system 20 suitably.The multi-process interactive systems 20 of the example are included at two
Reason equipment 21/22 is run across two processing equipments 21/22, but is not limited to two equipment, and can cross over any quantity
Processing equipment or system and/or its combination run.The process P1-PX and P1-PY of embodiment include one or more applications
The separable program of program performs context, wherein, each application program includes at least one process, but embodiment is not limited to
This.
The event for generating or producing during the execution of each process translates to data capsule (not shown), and data glue
Capsule is sent in one or more ponds.The oblong element of system 20 represents pond, wherein, pond or reservoir are to be used to retouch in detailed below
State and mechanism that structural data in related application is exchanged.In this example, pond PLl is responsible in processing equipment 21,
But any amount of pond can be responsible in processing equipment 21.Pond PL1-PLY is responsible in processing equipment 22, wherein, Y is represented
The appropriate any quantity of configuration for processing equipment 22 and/or system 20, can be responsible for any quantity in processing equipment 22
Pond.System 20 also includes pond PL11-PLX, wherein, X represents to appoint for the configuration of processing equipment 22 and/or system 20 is appropriate
What quantity;Any amount of pond can be responsible in system 20.Any process and/or equipment for generating data capsule can be by numbers
It is sent to according to capsule in any pond in system.
Each process P1-PX/P1-PY as identification process operation, wherein, identification process recognize in pond to be included and identification
The data capsule of process P1-PX/P1-PY interactive function and/or the identification process P1-PX/P1-PY corresponding content of mark.
The identification process P1-PX/P1-PY is performed to the data capsule of identification from the data capsule of the pond retrieval
The processing of content suitably.Multi-process interactive systems 20 are more fully described referring to Fig. 3-Figure 15.
Embodiment in this is included in the system and method that a large amount of processes are performed at least one processing equipment.Embodiment
The separable program that process includes multiple application programs performs context, wherein, each application program is entered including at least one
Journey.The event of each process in multiple processes is translated to data capsule by the system and method for embodiment.Data capsule includes
Initiate the expression unrelated with application program of the state of a process information of data capsule and the event data of event.Embodiment is
Data capsule is sent in multiple ponds or reservoir by system and method.Each process of embodiment is used as identification process operation.Know
Other process is recognized in pond including the data glue with the interactive function for recognizing process and/or the corresponding content of mark for recognizing process
Capsule.The data capsule of identification process retrieval from pond, and perform it is appropriate to the content of the data capsule of identification
Processing.
The example of embodiment described here includes being used for the behavior for coordinating multiple computer processes and images outputting to open
With the system and method for interactive application.Although the example is directed to graphic processes and images outputting, multi-process interactive systems
Embodiment be not limited to graphic processes, and can apply to any process for being run under any amount of processing equipment.It is many
Process interaction system includes being divided into that the application program of multiple different computer processes, the set of these processes can be performed parallel
The part for the overall images outputting that user interacts can be produced.The set of these processes has to structuring and good
The right to access of the data exchange mechanism defined well, the data exchange mechanism make it that the set of these processes can for Coordinating Activity
Operate to input using user via structural data exchanging mechanism.
As more specifically example, a kind of multiple-process graphical program for being referred to herein as square of description teaching, makees below
Behavior and images outputting for the multiple computer processes of coordination is so as to produce the illustrative examples of the embodiment of interactive application.
The description purpose of the illustrative examples is to show how mechanism disclosed herein is being enough to realize that it is used for any interactive program
Details level operations.The mechanism (and actually its components) is entirely common, and can essentially be passed through
Various different modes are realized.As the typical case in such program, mechanism disclosed herein provide include but
The access that is not limited to input user, across process program state fine granulation coordination and the coordination of images outputting
Main services.
The square program herein proposed is used to show several useful basic coordination in real-world programs.It is square
Shape program provides the translucent square of the colouring of flexible number, to be rendered on one or more computer displays
(render).Implement each in these squares in single calculation procedure.The state and graphics details of each square
Depending on various factors, include the external message of user's input action, other square states and global transmission.Can be with
Square is moved around over the display using input equipment (such as mouse, touch-screen).Appearance described in related application
State/space (gestural/spatial) input system can be used for mobile square, and in the case, square can position
In on the available any display of the computer for adding posture/spatial network.
Fig. 1 C are the block diagrams of the multi-process interactive systems 100 according to another alternative embodiment.The system 100 includes carry out group
Close to form process and the interconnection that the example of program is run.Solid-line rectangle element (being for example usually element M, P, S, G) represents system
Process in system 100.Oblong element (such as element Ui, Coo, frame) represents pond, for as described in detail below and in phase
Close the mechanism that the structural data in application is exchanged.As described below, it is commonly described as " protein " by the data-message in pond.
The multi-process interactive systems 100 of the example include two computers 101 and 102 or cross over two Hes of computer 101
102 allow, but are not limited to two computers, and can be run across any amount of processing system and/or its combination.
In the example, the first computer 101 supervisor implements the process of two square S (such as S21, S22), and second computer 102 is led
Pipe implements the process of four square S (such as S11, S12, S13, S14).Alternative embodiment can be included in any amount of meter
Any amount of square process S run on calculation machine.First computer 101 is coupled to individual monitor 110, second computer
102 are coupled to three displays 121,122,123.Alternative embodiment can include being coupled to any of any amount of computer
The display of quantity.
Each supervisor at least one " mouse " process M (such as M1, M2) in two computers 101 and 102.Mouse process
M includes computer mouse incoming event is transformed into the suitable stream of user's input albumen matter and these protein are delivered to
At least one " user's input " pond Ui high-level driver.Posture/the space system for being encapsulated as posture/space process G is (such as following
It is described in detail) user's input albumen matter is also delivered to user's input pond Ui.
Each at least one " pointer " process P (such as P1, P2) is also responsible in two computers 101 and 102.Pointer enters
Journey P from Ui ponds obtain or receive data, and be responsible for determine user's wherein positive order pointer " concern ", and be responsible for drafting or
Render appropriate pointer figure.Pointer process P by with pointer position and pattern about or represent the data of pointer position and pattern
Insert " coordination " pond Coo.Images outputting is delivered to by pointer process P is used as special abstract " frame " pond following detailed description of.
In addition, each supervisor some " square " process S as described above in two computers 101 and 102.Each just
Square process S is consulted for the state of pointer data and the square process S of equity coordinates pond Coo.Each square process S will also
Describe the space of themselves and the data of mode state are placed back into coordination pond Coo.Images outputting is delivered to by square process S
" frame " pond.Frame pond is special abstract, is discussed in more detail below.
Posture/space process G can be responsible in any one in two computers 101 and 102 and inputs pond together with user
Ui and coordination pond Coo.Alternatively, can be shared between two computers 101 and 102 to posture/space process G together with
Family inputs pond Ui and coordinates pond Coo supervisor.As another alternative configuration, appearance can be responsible on other computer (not shown)
State/space process G inputs pond Ui together with user and coordinates pond Coo.
Frame-layer is combined as each aobvious by the protein for being stored in local frame pond, system 100 many times including each second
Show the special synthesis process com of the single frame of the output of device.Overall frame rate of display is generally set by system-level configuration selection,
But different frame rates can each be used by constituting in the single process of square application program.Synthesis process com suitably according to
Gu is matched with frame-layer.
Fig. 2 is the flow chart 200 of the operation of the multi-process interactive systems according to embodiment.Operation is included at least one
Multiple processes are performed in reason equipment 202.The separable program that multiple processes include multiple application programs performs context so that
Each application program includes at least one process.Operation includes the event of each process of multiple processes translating to data capsule
204.Data-message includes initiating the unrelated with application program of the event data of the state of a process information of data-message and event
Expression.Operation includes being sent to data-message 206 at least one pond in multiple ponds.Each process is used as identification process behaviour
Make so that the identification process is recognized in multiple ponds including with recognizing the interactive function of process and recognizing that the mark of process is corresponding
Content in the data capsule 208 of at least one.The data capsule of identification process retrieval from multiple ponds, and
Perform the processing 210 suitably to the content of the data capsule of identification.The operation of multi-process interactive systems enables the association between process
Adjust, wherein, coordinate to include the status information by retrieving peer process from multiple ponds, each process in multiple processes with it is many
The peer process of individual process is coordinated.In set by the data capsule at least one pond for alternatively combining multiple ponds
Hold, operation also allows for generating the output of multiple processes.
In process mouse and posture/space input, mouse process M monitors rudimentary mouse hardware, and by traditional mouse
Mark driver event translates to the protein unrelated with screen.According to following description, the embodiment that user inputs pond Ui is delivered to
Mouse process M protein it is as follows:
descrips:
-input driver
-mango.local
-mouse
ingests:
-id:0x012345
-pos:[1280,800]
-buttons:[1]
Posture/space process G protein will appear to it is similar, it is as follows:
descrips:
-input driver
-mango.local
-hand
ingests:
-id:0x017845
-gripe:..|||
-pos:[127.4,10.5,12.2]
-point:[[- 0.099833,0.000000, -0.995004],
[0.099335 0.995004 -0.009967]]
Positions of the pointer process P by these message interpretations for each pointer of hint in the three dimensions that they are responsible for drafting
Put.In application code may definition pointer static set, or earlier protein can it is defined simultaneously
And initialization pointers.
For the example for the square program run in spatial operation environment, each in pointer process P is known attached
It is connected to the position of the definite real world of supervisor's their computer screen act.In addition, these display screens may be
Initialized on startup or dynamically by data-message.
As protein reaches user input pond Ui, protein new by building pointer process P and they are transmitted
Reacted to pond Coo is coordinated, it is as follows:
descrips:
-pointer
-click
-mouse
ingests:
-mid:0x2345
-origin:[0.0,0.0,0.0]
-passes-through:[0.0,1625.6, -2349.3]
descrips:
-pointer
-click
-hand
-one-finger
ingests:
-mid:0x2372
-origin:[127.4,10.5,12.2]
-passes-through:[0.0,1625.6, -2349.3]
The position of these protein or message on available display definition pointer object.Each pointer process P by with
Put the mathematic(al) manipulation of the display to manage the computer for being only attached to be responsible for thereon.
Periodically, the frame of each pointer process P also graphing outputs.The graph data is delivered to frame pond.Pointer enters
Each frame that journey P is produced, which is rendered, to be responsible for all pointer figures for occurring on the display of the computer of the process being attached to.
By the Application models and figure of embodiment, square process S is responsible for tracking and drawn as square
The translucent square of the focus of application program.Each square has position (position), direction, size (size) and face
Color (color).In any time of Zheng Fangxing state change, protein is put into coordination pond Coo by square process S:
descrips:
-tsquare
-position
ingests:
-tid:0x45878912
-pos:[0.0,0.0,0.0]
-up:[0.0,1.0,0.0]
-over:[1.0,0.0,0.0]
-size:25.0
-color:[1.0,1.0,1.0,1.0]
Images outputting is also delivered to frame pond by square process S, most of to be done as pointer process.However, each just
Square process S renders the square of their own, and no matter whether the square is by the display for the computer for being attached to supervisor's process
Occur on device.Frame processing described in detail below.
The protein placement of the state of pointer and square will be described and be sent in multi-user pond to allow to constitute the application
The process of the separation of program is coordinated, and thus provides coordination between dissimilar process.The square process S prisons of embodiment
Control indicates to enter the protein of the pointer in the region on the border of square.When it happens, square process S puts protein
Enter and indicate overlapping pond, and with reference to the square and pointer being related to, it is as follows:
descrips:
-tsquare
-pointer-overlap
-entrance
ingests:
-tid:0x45878912
-mid:0x2372
Pointer process P monitors the protein of the form.When pointer process P recognizes or seen the friendship of the mid with reference to its own
During folded protein (overlap protein), change its figure used when drawing pointer frame and represent.Overlapping instruction will be used
Figure, until process see it is appropriate it is overlapping exit (overlap-exit) protein, for example:
descrips:
-tsquare
-pointer-overlap
-exit
ingests:
-tid:0x45878912
-mid:0x2372
The many variations of above coordination strategy is also possible.Pointer process P can handle the responsibility for checking that geometry is overlapping
(rather than square process S carries out the operation as described above).Process can all be frame synchronization, and overlapping protein can be with
For the generation of each frame, the need for this will be eliminated for being segregated into and exiting protein.
Any given available solution of coordination problem faced when being worked in mechanism described here is almost
Always there is diversity.In fact, this flexibility is one in the intensity of this embodiment.It is in this description explanation for
Attempt to build at least one in the solution that some inter lock problems faced in typical multiple-process graphical application program are realized
It is individual.Multiple biography letter patterns useful with reference to collection, many of which is applicable, for example, existed by G.Hohpe and B Woolf
" Enterprise Integration Patterns in ISBN 0321146530:Designing, Building and
Deploying Messaging Solutions”。
It is connected to according to embodiment by user's input in control action, alternatively moving square includes:Square enters
Journey S is put into the data coordinated in the Coo of pond using pointer process P.Pointer wraparound conditions and egg of the square process S in response to identification
The combination initialization that white matter is described with " pointer " and " click " is moved.While movement is underway, square figure table
Show and change, the square location following pointer in space.It is mobile to continue, until corresponding " pointer "/" not clicking on " egg
White matter is produced.
When the square of embodiment overlaps each other, they also change their color.Whenever S processes are seen
During " tsquare "/" position " protein, just calculate and handed at itself between the keeping of the protein with the presence or absence of any
It is folded.If it is present indicating color using overlapping when it renders its next frame, otherwise, it uses normal color.
Note, the flexibility of the framework of the loose couplings of embodiment provides the other or substitute mode for realizing the behavior.Example
Such as, square process S can be avoided carrying out overlapping calculating, and the work alternatively is unloaded into another process, such as process
It will continuously carry out for some or all of square matchings and the protein for describing wraparound condition be put into coordination pond
Coo.Square process S will simply wait for these protein:
descrips:
-tsquare
-square-overlap
ingests:
-tids:[0x45878912,0x45878916]
Application programme workload is cut into slices and this flexibility of stripping and slicing is particularly useful.Computation-intensive task can be with
It is moved to processor or machine with spare capacity.The producer of data can illustrate as needed help process (and work as
No longer need to terminate them when them).More calculating and rendering resources can apply to that user directly interacts or user is vertical
The application domain of bigger granularity, details or refresh rate can be perceived.
Because multi-process interactive systems externalizing Application Status described here and allowing multi-process to access the shape
State, so everything is possible.On the contrary, by contemporary programming model, run time state is always complete in single process
" locking ".
Multi-process interactive systems encourage programmer that all interactive functions are exposed as into protein-can driving condition.Using journey
Sequence DLL (API) is defined by the protein of each progress recognizing, rather than traditional funcall.For example, definition changes
Become the protein of the color of any (or all) squares:
descrips:
-tsquare
-color-change-command
ingests:
-tids:[0x0]
-normal-color:[1.0,0.0,0.0,0.65]
-overlap-color:[1.0,0.0,0.0,1.0]
When any square process S is seeing the protein in coordinating pond Coo, it checks tids chained lists, to determine it
Itself unique object id or general address 0x0 whether there is.If it is present process begins to use the two new face specified
Color (one is used for normal condition, and one is used to overlap situation) is square to render its.
Using this mechanism and the method for this " all interactive functions are exposed as into protein ", complete, disposing
After all other code for being used for square application program with operation, the new effect of the color for controlling square can be write
With.It need not recompilate or chain fetches new function being added to operation application program again.
Interactive debugger for graphics application program is another Program Type benefited from this method.In traditional debugging device
It can show before very many program internal states, they usually require time out program.If however, via described here
Pond exposes all controllable states of program, then debugger can be monitored and manipulative procedure state while program is run.
Graph data is pushed to frame pond by pointer process P and square process S, so that any display output is changed into user
It can be seen that.Embodiment described here includes the various ways for output pattern, and some of them are described in detail here.It is other to implement
Example for graph data is pushed into frame pond, and can export figure to be operated under the various combination of process described below
Shape.
In embodiment, process, which can be used, directly renders framework (such as OpenGL) directly drawing system graph layer.
Under this method, pond is used to coordinate, but is not used in graph command or pixel data.
Another embodiment carrys out output pattern data via by the process for rendering order and being sent to pond.Another process (or it is multiple
Process) it is then responsible for explanation and renders order and drive system graph layer.For example, these orders can be very rudimentary, example
OpenGL such as exposure is called.Conversely, it can be very senior that these, which render order, for example, than as described above
Tsquare protein, it includes the special process that renders can draw the enough information of square in which connect a frame with a frame.
Another embodiment carrys out output pattern data via the process for being rendered into pixel buffer in memory, then by gained
Original frame data is transmitted or is placed into pond.Another process (or multiple processes) combines original frame data.With it, Chi Chu
The amount of the data of reason is generally bigger more than Graphics Output Method described above.However, local render transmits offer with network frame
A large amount of flexibilities, therefore, if high bandwidth network and quick pond are realized available, typically use it.
Reference picture 1C example described above system 100 is generally come via the process for being rendered into pixel buffer in memory
Gained original frame data, is then sent in pond by output pattern data.Another process reason (or multiple processes) combines original frame number
According to.With it, the amount of the data of pond processing is generally bigger more than Graphics Output Method described above.However, local wash with watercolours
Dye and network frame transmission provide a large amount of flexibilities, therefore, if high bandwidth network and the realization of quick pond are available, typically use
It.
Therefore, each pointer process P and square process S render the independent graphic elements of themselves.Each process is chosen
Multiple colors components and multiple pixels are to render.Process can use RGBA (red, green, blueness, alpha) color spaces or
Mix the component with the alpha RGB color models synthesized to render the full display of (such as 2560x1600) pixel with alpha
Device.But, in order to save calculating cycle, render expense and pond bandwidth, process can only produce necessary pixel, specific to capture
The frame of the projection of Drawing Object, and if brightness (having the transparency) is rendered enough, then two components can be used only.
Together with various metadata, (such as geometric ranges, hierarchical information, frame per second are indicated the pixel data rendered, additional color
Information etc.) it is transmitted or passed to together in frame pond.As square application program is run in the context of spatial operation environment,
Each process has the right to access to real world geometric data, and can pass to appropriate output every in frame pond
One.This can include rendering more than one frame for each output cycle.
Protein is stored in local frame pond and occurred with the speed for the unnecessary compression for generally carrying out pixel data.
However, in order to realize the relatively low time delay for interactive application, network storage can reduce what is sent for each frame
The amount of data.Embodiment reduces the quantity of the byte needed for each array for representing pixel, but embodiment using hardware-compressed
Not limited to this.
Reference picture 1C, the embodiment of system 100 is used to be combined as being used for many times each showing by these frame-layer each second
The special synthesis process COM of the single frame of the output of device.Global display frame rate, but group are generally set by system-level configuration selection
Different frame rate can be used into each in the single process of square application program.Synthesis process com suitably according to
Turn round and look at matching frame-layer.
As being described as described above with Figure 1A-Fig. 1 C, the multi-process interactive systems of embodiment include process, pond and albumen
Matter.Solid-line rectangle in system represents process, and ellipse representation pond, the mechanism that is exchanged for structural data.Pass through the number in pond
It is commonly described as " protein " according to message.Each in process generates protein and is stored in protein one or more
Chi Zhong, and retrieve protein from one or more ponds.
Pond and protein are the components of method and system described here, and between process or process is crossed over for encapsulating
Shared data.In addition to protein and pond, these mechanism also include many salads (multiple " salad (slaw) ").Generally, it is many
Salad provides the data definition that exchanges between process that is used for of lowermost level, protein provide middle rank for the structure inquiring about and filter
With hook (hook), pond provides senior tissue and access semanteme.Many salads include being used for efficient and platform-independent tables of data
The mechanism shown and accessed.Protein provides data encapsulation and transfer scheme using many salads as payload.Pond is in process
Between interior, local process, across the network between long-range or distributed process, and via long-term (such as on disk, etc.) storage
To provide the structuring and flexible convergence of protein, sort, filter and be distributed.
The configuration and realization of the embodiment of multi-process interactive systems include some constructions, and it enables multiple abilities together.Example
Such as, embodiment described here provides the efficient exchange of the data between a large amount of processes as described above.It is described here to implement
Example also provides flexible data " type " and structure so that supports the widely varied species of data and uses.In addition, being described herein
Embodiment include the flexible mechanism (such as local storage, disk, network) of data exchange, it is all by essentially similar
Application programming interface (API) drives.In addition, the embodiment of description is enabled between the process write with different programming languages
Data exchange.In addition, embodiment described here enables the automatic maintenance of data buffer storage and converged state.
Fig. 3 is the block diagram of the processing environment represented including the use of many salads, protein and the data in pond according to embodiment.
The main construction of the embodiment herein proposed includes many salads (multiple " salads "), protein and pond.Many salads described here
Including for mechanism that is efficient, representing and access with platform-independent data.The protein being described in detail here provides data
Encapsulation and transmission plan, the payload of the protein of embodiment include many salads.Pond described here provides the knot of protein
Structure but flexible aggregation, sequence, filtering and distribution.Pond is within process, between local process, across long-range or distribution
Network between process and the access via " long-term " (such as on disk) storage by means of protein offer to data.
Fig. 4 is the block diagram of the protein according to embodiment.As described in detail below, protein includes length head
Portion, description and intake.Each include salad or many salads in describing and absorbing.
Fig. 5 is the block diagram of the description according to embodiment.As described in detail below, describe include offset, length and
Many salads.
Fig. 6 is the block diagram of the intake according to embodiment.As described in detail below, intake include offset, length and
Many salads.
Fig. 7 is the block diagram of the salad according to embodiment.As described in detail below, salad includes type head and type
Exclusive data.
Fig. 8 A are the block diagrams of the protein in the pond according to embodiment.Protein includes length header, and (" protein is long
Degree "), describe skew, intake skew, describe and absorb.Description includes skew, length and salad.Intake include offset, length and
Salad.
Protein described here is the mechanism for encapsulation of data, and the data need to share between process or needed
To be moved across bus or network or other processing structures.It is used to transmitting and manipulating data as an example, protein is provided
Improve mechanism, the data include with user interface event it is corresponding or be associated data data, specifically, embodiment
User interface event include the user interface event of the gesture interface described in U.S. Patent No. 7,598,942, and lead to
Reference is crossed to be hereby incorporated by entire contents.As another example, protein provides the improvement for being used for transmitting and manipulate data
Mechanism, the data include but is not limited to graph data or event and status information, and this is to give some instances.Protein is
The record format of structuring and for metering of operation method association set.The manipulation of record as used herein includes:Will
Data are put into structure, data are taken out and inquired about form and the presence of data from structure.Protein be configured as via with
Code that a variety of computer languages are write is used.As described herein, protein is additionally configured to for the basic of pond
Construction blocks.In addition, protein is configured as that natively between the processors and Network Mobility can be crossed over, while keeping them to wrap
The data included remain untouched.
Compareed with traditional data transmission mechanism formation, protein is non-typed (untyped).Although non-type
Change, but protein provides powerful and flexible pattern match instrument, and " type is similar " function is being realized thereon.As retouched herein
The protein configured as stating is also inherently multiple spot (although point-to-point form is easily real as the subset of multicast communication
Existing).In addition, for example, protein definition in such as memory, on disk and on line has no difference between (network) form
" general " record format of (or different only in terms of the type of the optional optimization of execution).
Reference picture 4 and Fig. 8, the protein of embodiment is the linear order of byte.Encapsulation describes chained list in these bytes
With the set for the key-value pair for being referred to as intake.List is described to retouch including every protein event that is any fine but efficiently may filter that
State.The set of key-value pair of the intake including the actual content comprising protein.
The correlation for some core ideas that protein is exchanged with key-value pair and on network friendliness and multipoint data,
The more early system (such as Linda, Jini) of concept privilege with giving " tuple (tuple) " is shared.Protein with towards tuple
System it is different in several main aspects, including the use of list is described to provide standard, optimizable pattern match substrate
(substrate).Protein is also being suitable for the tight of the record format of a variety of storages and language construct with the system towards tuple
Lattice specification is different together with several specific implementations aspect of " interface " to the record format.
The description of protein is turned to, first four of protein or eight bytes specify the length of protein, and it is in embodiment
In must be 16 bytes multiple.16 byte granularities ensure that byte alignment and bus alignment efficiency can be real on the hardware in the present age
It is existing.Any byte is not filled with by " alignment of four words " protein naturally so that its length is the multiple of 16 bytes.
The length thereof of protein has following form:In high priority (big-endian) form, designated length
32, wherein, four minimum component levels, which serve as mark, to be used to indicate grand level protein structure characteristic;If the length of protein is more than
2^32 bytes, then follow 32 other positions.
The 16 byte alignments limitation of embodiment means that the minimum component level of preceding four bytes can be used as mark.And therefore,
First three low order bit flag indicates respectively that the length of protein can be represented with preceding nybble, it is desired nonetheless to which eight, protein makes
Sorted with the sequence of high priority byte or preferential (little-endian) byte of low level, and protein is to use standard also
Criteria of right and wrong structure, but protein not limited to this.4th flag bit is retained to use in the future.
If there is provided eight byte length flag bits, by reading lower four bytes and using them as high-order excellent
The high-order bytes (nybble wherein, read provides low order portion) of eight first byte integers calculates the length of protein
Degree.If there is provided to be to be interpreted as low level preferential (no for all binary number Value Datas in low level precedence designation, protein
It is then high priority).If there is provided non-standard flag bit, the remainder of protein does not meet the mark being described below
Quasi- structure.
It is used to describe using protein and pond and synchronous available nonstandard for System Programming person except to say to exist
The various methods of quasi- protein form, and when suffering restraints in space or computer cycle, these methods can be it useful
Outside, non-standard protein structure will not be discussed further herein.For example, the most short protein of embodiment is 16 bytes.Standard
Any actually active load data can not be fitted in this 16 byte that (lion's share therein is transferred by form protein
For the position for the part for describing protein).But the protein of noncanonical format is used in its 16 byte with being envisioned that
12 are used for data.Two application programs of exchanger matter can mutually determine the albumen for any 16 byte long that they send
Matter always includes 12 bytes for representing 12 8 level sensor values for example from real-time analog-digital converter.
In the normal structure of protein, there is two other variable-length integer in followed by length header.These numerals
The skew to describing first element and the first key-value in chained list to (intake) is respectively specified that.These skews are distinguished herein
Also referred to as describe skew and intake skew.The order of the byte of every four of these numerals is by protein byte order
(endianness) flag bit is specified.For each, the highest significant position of preceding nybble determines that numeral is four or eight
Individual byte wide.If setting highest significant position (msb), preceding four bytes are the most significant words of double word (eight bytes) numeral
Section.This is referred to herein as " offset form ".Point to and describe and the use of the independent skew of (pair) is allowed by different code
Path is described and right to handle so that for example with describing pattern match, the certain optimisation relevant with protein assembly is referred to as possibility.
At the beginning of protein, the presence of the two skews also allows some useful optimizations.
Most protein will not be so big so that require the length or pointer of eight bytes, therefore normal length is (with mark
Will) and digital first three byte that will only occupy protein of two skews.In many hardware or system architecture, more than first
The acquirement or reading of specific quantity byte be " free " (for example, 16 bytes just take with single byte it is equal number of when
In the clock cycle, sent (pull) with being drawn across the main bus of Cell processor).
In many examples, it is allowed to which protein interior realizes that special or context-specific caching or metadata are useful
's.The use of skew allows " hole " that arbitrary size is created near the beginning of protein, and such member can be inserted wherein
Data.Those bytes can be freely obtained in many system architectures using the implementation of the metadata of eight bytes, wherein every time
Obtain the length header of protein.
Describe the number that skew specifies the byte between the beginning of protein and the first description item.Each item that describes includes
Skew (certainly, with offset format) to next description item, the length field followed by variable-width (is also to offset lattice
Formula), followed by salad.If described without other, according to rule, skew is the zero of nybble.Otherwise, offset and specify the note
State the beginning of item and next number for describing the byte between item.Length field specifies the length of salad in the way of byte.
In most protein, each describe is the string formatted with salad string mode:The length/type head of nybble
Portion, wherein highest significant position are set and only have relatively low 30 to be used for designated length, the number indicated followed by head
Data byte.Generally, length header obtains its byte order from protein.Assuming that byte code UTF-8 characters (therefore --- note
(nota bene) --- the number of character is not necessarily identical with the number of byte for meaning).
Intake skew specifies the number of the byte between the beginning of protein and first intake item.Each intake item bag
The skew (with offset format) to next intake item is included, again followed by length field and salad.Except intake skew is pointed to
Outside next intake item rather than next description, intake skew is functionally identical with describing skew.
In most protein, each salad cons class of the intake with the diadic chained list for including being typically used as key/value pair
Type.Salad cons records include the length/type head of nybble, wherein the second highest significant position is set and only relatively low
30 be used for designated length;To the nybble skew for the beginning for being worth (second) element;The key element of nybble length;For key
The salad record of element;The value element of nybble length, and recorded finally for the salad of value element.
Generally, cons keys are salad strings.If across answering for dried protein and salad cons length and the data of offset field
System also provides more chances for refining and optimizing.
As described above, the construction for being used to be embedded in typed (typed) data in protein according to embodiment is to be claimed
(tagged) byte sequence specification for the labeling of " salad " (plural number is " many salads ") and abstract.Salad is to represent one
The linear order of the byte of (being probably aggregation) typed data, and, the API associated with programming language special API
Permission creates, changes and moved around many salads between storage space, storage medium and machine.Salad type scheme is intended to
It is expansible and lightweight as much as possible, and is the common base that can be used from any programming language.
Build the driving for being contemplated to be salad configuration of efficiently large-scale inter-process communication mechanisms.Conventional programming language is provided
Work good complex data structures and type tool in process specific memory layout, but when be moved between process or
On disk during data storage, these data represent always to damage.Salad framework is that substantially have for the primary of interprocess communication
The multi-platform friendly low level data model of effect.
But importantly, many salads are configured as following computing hardware is influenceed and enabled together with protein (micro-
Processor, Memory Controller, disk controller) exploitation.To the several of the instruction set of such as publicly available microprocessor
Specific addition cause many salads be possible to become even for data layout in individual process, memory also with most programming languages
Call the turn the scheme used equally efficient.
Each salad includes the type header of variable-length, followed by type-specific data layout.With such as C, C++ and
Ruby supported in the example embodiment of complete salad function, by logical defined in the system header file that can be accessed from every kind of language
Type is indicated with integer.It can also realize that more complicated and flexible type differentiates function:For example, via general object ID and
The indirect type of NetFind.
For example, the salad configuration of embodiment, which allows salad to record, is used as the friendly mode of the language from both Ruby and C++
Object.A set of utility program outside C++ compilers intactly checks salad byte layout, and establishment is exclusively used in independent salad class
The header file of type and grand, and it is automatically generated for Ruby binding.As a result, even if working as out of individual process in use, good
The salad type of configuration is also very efficient.Any salad from anywhere in the accessible storage device of process can be sought
Location, without copy or " deserializing " step.
The salad function of embodiment includes being used to perform one or more of following API instruments:Create private type
New salad;Create or build and the language specific of the salad of the byte on disk or in memory is quoted;It is special with type
Mode is embedded in data in salad, inquires about the size of salad;Data are retrieved out of salad;Salad is cloned, and is translated in salad
All data byte order and other attributes of a configuration.Each salad performs above behavior.
Fig. 8 B show the salad header format according to embodiment.Salad is described in detail as follows.
The internal structure of each salad optimizes type resolution, the access to encapsulation of data and for the salad example
Size information in each.In embodiment, the complete set of salad type is completed with minimizing by designing, and is wrapped
Include:Salad string, salad cons (i.e. to (dyad));Salad list;And salad value object, its own represents to be understood to half
The arrangement beaten or the broad set of the independent value type of this base attribute.Other fundamental propertys of any salad are that its is big
It is small.In embodiment, polychrome puller has the byte length for the multiple for being quantified as four;These nybble words are referred to herein as " quad
(four-tuple) ".Generally, such size based on four-tuple by the configuration of many salads and modern computer hardware structure well
Alignment.
Preceding four bytes of each salad in embodiment include head construction, and it enters to type specification and other metamessages
Row coding, and private type meaning is attributed to specific bit patterns.For example, first (highest is effective) position of salad head is used for
Specify whether the size (length in four-tuple word) of the salad follows initial nybble type header.When this position is set
When, it is to be understood that the size of salad is explicitly recorded in lower four bytes (such as byte five to eight) of salad;If
The size of salad is that (if i.e., size is equal to or more than two 30 secondary powers), color can not be represented by four bytes
Next highest significant position of the initial nybble drawn is also set, and this explanation salad is long with eight bytes (rather than nybble)
Degree.In the case, inspection process will be seen that the length for the salad being stored in consecutive bytes five to ten two.On the other hand, it is small
The salad type of number means that the typical bit pattern specified completely under many circumstances " leaves unused " nybble salad head
In many positions, and in this case, these can be used for the length for encoding salad, so that otherwise save will need
The byte (five to eight) wanted.
For example, the highest significant position (" length obedience " indicates) that embodiment leaves salad head is not provided with, and will be next
Position is set to indicate that salad is " small cons (wee cons) ", in the case, and coding is (in four-tuple in its excess-three ten
) length of salad.Similarly, " small string (wee string) " is marked by pattern 001 in head, this leaves 20
Nine length for representing salad string;Guiding 0001 in head describes " small chained list (wee list) ", and it passes through 20
Eight length availables represent that position can be the salad list that size is up to two to two ten eight four-tuples." string (full completely
String) " (or cons or chained list) in head there are different positions to sign, wherein, because in byte five to eight (or extreme
In the case of, be 10 two) in be encoded separately salad length, so highest effective head position must be set.Note, blood plasma is realized
" decisions " is to construct " small " or " complete " version using these (decision is based on obtained size when salad is built
It is no that available small position " will be adapted to (fit) "), but the user realized completely in contrast to small details for blood plasma is hiding
, user, which only knows and is concerned only with her, just uses salad string or salad cons or salad list.
In embodiment, indicate that numerical value polychrome is drawn by guiding head pattern 00001.Follow-up head position is used to represent
The set for the orthogonal property that can be combined in arbitrary arrangement.Embodiment using but be not limited to five such character bits come indicated number
Word whether be:(1) floating-point;(2) it is plural;(3) without symbol;(4) " wide (wide) ";(5) " tubbiness (stumpy) " ((4) " width " and
(5) " tubbiness " permutation and combination is instruction eight, the number expression of 16,32 and 64).Two other positions (such as (7)
(8) numeric data for) indicating encapsulation is that (wherein, two positions are zero to show that numerical value is " an element to two, three or four element vectors
Vector " (i.e. scalar)).In this embodiment, eight of the 4th header byte are used for the size for encoding the numeric data of encapsulation
(in terms of byte, rather than four-tuple).The coding of this size is shifted by one so that it can represent to include one and 250
Six bytes and between any size.Finally, two character bits (such as (9) and (10)) are used to indicate that numeric data coding is single
The array of only numerical term, each is the type that character bit (1) to (8) is described.In the case of array, independent numerical value
It is not each with other header tag, but is packaged as following single head and possibly clear and definite salad size
The continuous data of information.
This embodiment offers simple efficient salad replicate (it can be implemented as byte and is copied to byte) and and its
Directly and efficient salad compares that (in this embodiment, and if only if deposits in their the composition byte considered in the sequence
The matching one by one of each, the two many salads are identicals).For example, efficient realization of the latter property for protein framework
Be it is important, one in the crucial and universal feature of protein framework be search or " matching " protein description chained list
Ability.
In addition, embodiment in this allows simple and efficiently builds aggregation salad form (such as salad cons and color
Slide fastener table).For example, embodiment by following steps from two many salad construction salad cons of composition (it can be any types,
Including self assemble):(a) inquire about the size of each composition salad, (b) allocated size be equal to the sizes of two many salads of composition with
Memory of the head plus the one, two or three four-tuple sum needed for size structure.(c) at first four, eight or ten
Salad head (adding size information) is recorded in two bytes;And then (d), the byte of many salads will be constituted and then copied to
And then in the memory behind.Importantly, such construction routine need not know the class on two many salads of composition
Anything of type, only their size (and being used as the accessibility of byte sequence) have relation.Identical process is applicable
In the construction of salad chained list, the salad chained list is (possibly) the sequence encapsulation of any many sub many salads of foreign peoples's type.
Obtained as another result of the basic format of the salad system of the consecutive bytes in memory with reference to " traversal " activity
--- recycling pattern is using for example to the sequential access of the independent many salads stored in salad chained list.Must similarly time
Ephemeris shows the independent many salads for describing and absorbing in protein structure.Extremely directly and as efficient way completion to transfer,
With next salad in " arrival " salad chained list, the length of current salad is added to its position in memory, obtained
Memory location be equally next salad head.Because salad and protein design avoid " indirect (indirection) ",
So such simplification is possible;In the absence of pointer;On the contrary, data simply exist in place with its entirety.
Compare this point on salad, plasma systems fully achieve that it must be admitted that across different operating system, CPU with it is hard
The presence of part framework and the different and incompatible data representation schemas among them.It is most of such different including word
Ordering strategy (for example low level preferentially contrasts high priority) and floating point representation are saved, there is also other differences.Blood plasma code requirement is true
The data for protecting many salad encapsulation can be explained (i.e. must be with the natural form appearance for the framework or platform for therefrom checking salad).It is this
It is required that and then meaning that plasma systems itself are responsible for Data Format Transform.However, specification only regulation conversion is only changed into pair in salad
Occur before the executive process " complete visual (at all visible) " that it can be checked.Therefore, it depends on being implemented separately, this
When, it selects to perform this form c conversions;Two appropriate methods are the data that salad data payload meets local framework
Form (1) due to " pull out (pull out) " that single salad is wherein its protein being packaged, or (2) at the same with
All salads in protein, because the protein is extracted in its pond reside permanently therefrom.Note, Changeover constraint considers that hardware is auxiliary
Help the possibility of realization.For example, the known features based on reception system, it is constructed with showing that the networking chipset of blood plasma ability can be with
Selection is intelligently and in " at the time of transmission " execution form conversion.Or, the process of transmission can turn data payload
The form of specification is changed to, and receiving process is symmetrically transformed into " local " form from cannonical format.Another embodiment is " in metal
(atthe metal) " performs form conversion, means always with the format memory data of specification, in local storage,
And when in the register for the CPU that data are retrieved and are positioned proximate to from memory, Memory Controller hardware is certainly
Body performs conversion.
Minimum (and read-only) protein of embodiment realizes the one or more application programs or volume using protein
Operation or behavior that journey language is called the turn.Fig. 8 C are the flow charts 850 of the use protein according to embodiment.Operation starts from inquiring about egg
The length 852 in terms of byte of white matter.Inquiry describes the number 854 of item.Inquire about the number 856 of intake.Retrieved by call number
Describe item 858.Pass through call number retrieval intake 860.
Embodiment described here also define permission protein be fabricated and fill with the basic skills of data, for
Programmer more easily carries out the helping method of public task and the hook (hook) for creating optimization.Fig. 8 D are bases
The flow chart 870 for being used to building or generating protein of embodiment.Operation starts from creating novel protein 872.It is additional a series of
Description 874.Also additional intake 876.The presence 878 that match query is described, and match query absorbs the presence 880 of key.
Given intake key, retrieves uptake values 882.884 are matched across execution pattern is described.The embedded non-structural near the beginning of protein
Change metadata 886.
As described above, many salads provide the data definition for being used to exchange between process of lowermost level, protein provides middle rank
For the structure and hook inquired about and filtered, pond provides senior tissue and access semanteme.Pond is the reservoir for protein,
Linear order and state cache are provided.Pond also provides multi-process by a large amount of different types of multiple programs or application program and visited
Ask.In addition, pond provides the set of optimizable filtering jointly and pattern match behavior.
The pond that the embodiment of up to ten thousand protein can be accommodated is used as hold mode so that single process can be unloaded pair
The common most tediously long bookkeepings of multi-process program code.Pond keeps or retained the big buffer of available protein in the past ---
Plato ideal (Platonic) pond be clearly unlimited --- allow participate in process be intended in pond backward and to
Preceding scanning.Certainly, the size of buffer is to rely on realization, but in, albumen can be typically retained in pond
Matter a few houres or several days.
Point methods formation is compareed with the mechanical. points that existing interprocess communication framework is used, pond described here is used most
Common style is suggested in accordance with biology.Title protein infers biology enlightenment:Data protein in pond can be used for a large amount of
Flexible Query and pattern match that calculation procedure is carried out, just as the chemical protein in biological tissue is tried available for substantial amounts of cell
Pattern match and filtering that agent is carried out.
Two other abstract dependence biology metaphors, including the use of " handle (handler) " and Golgi frameworks.Participate in
The process in pond generally creates multiple handles.Handle is by the code of the matching condition relative tuftlet associated with processing behavior.It is logical
Cross and one or more handles are related into pond, it is flexible that process setting is packaged to state and novel protein is reacted
Adjust back trigger.
The process in some ponds is participated in generally from abstract Golgi Similar integrals.Golgi frameworks are provided for managing multiple ponds and sentence
Multiple useful routines of handle.Golgi classes also encapsulate set membership, and there is provided the mechanism of the local albumen mass transter without using pond.
The pond API provided according to embodiment is configured as allowing to realize pond in a variety of ways, both to consider system-specific
Target, it is further contemplated that the available capability of given hardware and the network architecture.Two fundamental systems regulation that pond is depended on is storage work
Tool and the device of interprocess communication.Existing system described here is using shared memory, virtual memory and for storing work
The disk of tool and the IPC queues for interprocess communication and the flexible combination of TCP/IP sockets.
The pond function of embodiment includes but is not limited to following:Participate in pond;Protein is placed in pond;Under being retrieved from pond
One protein do not seen;Content (such as protein) in recoil or F.F. pond.In addition, pond function can include but not limit
In following:Set up the stream pond readjustment for process;Optionally retrieval matching describes or absorbed the protein of the AD HOC of key,
Backward and forward scan matching describe or intake key AD HOC protein.
In the way of sharing protein data content with other application program, protein described above is supplied to pond.
Fig. 9 is the block diagram of the processing environment including the use of many salads, protein and the data exchange in pond according to embodiment.The example ring
Border includes coming three equipment (such as the equipment X, equipment Y of shared data by using many salads described above, protein and pond
With equipment Z, it is herein collectively referred to as " equipment ").Each in equipment is coupled to three ponds (such as pond 1, pond 2, pond 3).Pond 1 includes
Contributed from each equipment or be sent to multiple protein in pond (for example, protein X1, protein Z 2, protein Y2, protein
X4, protein Y4) (for example, protein Z 2 is transmitted or contributed to pond 1 etc. by equipment Z).Pond 2 includes contributing or passing from each equipment
Multiple protein (such as protein Z 4, protein Y3, protein Z 1, protein X3) in pond are sent to (for example, equipment Y is by albumen
Matter Y3 transmits or contributed to pond 2 etc.).Pond 3 include from each equipment contribute or be sent to pond multiple protein (protein Y1,
Protein Z 3, protein X2) (for example, protein X2 is transmitted or contributed to pond 3 etc. by equipment X).Although example described above
Including coupling or being connected to three equipment among three ponds, but any number of equipment can by any mode or combine come
Couple or be connected among any number of pond, and any pond can include appointing from any number or combination of equipment contribution
What number target protein.The protein of the example and pond are above with reference to described by Fig. 3-Fig. 8.
Figure 10 be according to embodiment include multiple equipment and run on it is a large amount of in one or more of described equipment
The block diagram of the processing environment of program, in such devices, blood plasma build (such as pond, protein and salad) and are used to largely
The event that operation program is shared and jointly generated in response to equipment.The system is only multi-user, many equipment, multicomputer
Interactive controlling scene or an example of configuration.Including multiple equipment (such as device A, B more specifically, in this example,
Deng) and the interactive system of multiple programs (such as application program AA-AX, application program BA-BX) run in equipment use
Blood plasma builds (such as pond, protein and salad), to allow operation program to share and jointly in response to these input equipments
The event of generation.
In this example, each equipment (such as device A, B) is by program (such as application program run in each equipment
AA-AX, application program BA-BX etc.) generation or discrete initial data from its output translate to plasma proteins, and by these
Protein is stored in blood plasma pond.For example, program AX generation data or output, and the output is supplied to device A, device A is entered
And initial data is translated into protein (such as protein 1A, protein 2A), and these protein are stored in pond.
As another example, program BC generation data and the data are supplied to equipment B, equipment B and then data are translated into albumen
Matter (such as protein 1B, protein 2B), and these protein are stored in pond.
Each protein includes describing chained list, the data of its specified application registration or output and for program itself
Identification information.In the conceived case, protein, which is described, can also give outgoing event or the general semantic meaning of action.Egg
The data payload (for example absorbing) of white matter carries the entire set of the useful status information for program event.
Type regardless of program or equipment, above-mentioned protein makes in any program or equipment for being coupled or connected to pond
It is available in pond.Any amount of program run on any amount of computer can extract event from input pond
Protein.These equipment are only required to participate in pond via local bus memory or network connection, to be extracted from pond
Protein.The direct result of such case is to will be responsible for generating the process of processing event with using or explaining that the process of event is decoupled
The favourable possibility closed.Another result is consumer and the multiplexing in source of event so that equipment can be controlled by a people, or
Can be by several personal uses simultaneously (such as the input framework based on blood plasma supports many concurrent users), while obtained flow of event
It is visible successively for multiple event consumers.
As an example, equipment C can extract one or more protein (such as protein 1A, protein 2A from pond
Deng).After Protein Extraction, in the processing event corresponding to protein data, equipment C can use taking the photograph from protein
The data for the protein retrieved or read in the salad for taking and describing.As another example, equipment B can extract one from pond
Or multiple protein (such as protein 1C, protein 2A).After Protein Extraction, equipment B can be in protein data
The data of protein are used in corresponding processing event.
Being coupled or connected to the equipment and/or program in pond can rearwardly and a forwardly browse in pond, search the spy of protein
Sequencing is arranged.For example, generally usefully, establishing program with etc. AD HOC to be matched protein occur, then browse backward
To determine that the whether combined specific other oroteins of the protein occur together.For the thing using the storage inputted in pond
This instrument of part history generally to write condition managing code unnecessary, or at least significantly reduces to such undesirable
Coding mode dependence.
Figure 11 is including multiple equipment and running in one or more of described equipment according to alternative embodiment
The block diagram of the processing environment of a large amount of programs, in such devices, blood plasma builds (such as pond, protein and salad) and is used to
The event that a large amount of operation programs are shared and jointly generated in response to equipment.The system is only multi-user, many equipment, many calculating
Machine interactive controlling scene or an example of configuration.More specifically, in this example, including multiple equipment (for example distinguish coupling
Close device A and B equipment X and Y) and one or more computers (such as device A, equipment B) on multiple programs for running
The interactive system of (such as application program AA-AX, application program BA-BX) builds (such as pond, protein and color using blood plasma
Draw), with the event for allowing operation program to share and jointly being generated in response to these input equipments.
In this example, each equipment (being for example respectively coupled to device A and B equipment X and Y) is managed and/or coupled
With on relevant device (for example, device A, equipment B etc.) be responsible for one or more programs under or run otherwise in association, institute
State the discrete initial data that relevant device will be generated by equipment (such as equipment X, device A, equipment Y, equipment equipment B) hardware
Translate to plasma proteins and these protein are stored in blood plasma pond.For example, with the application program AB that is responsible in device A
The equipment X generation initial data run in association, protein (such as protein 1A, albumen are translated to by discrete initial data
Matter 2A etc.), and these protein are stored in pond.It is related to the application program AT being responsible in device A as another example
The equipment X generation initial data of connection ground operation, protein (such as protein 1A, protein 2A are translated to by discrete initial data
Deng), and these protein are stored in pond.As the application program CD being responsible in another example, with equipment C in association
The equipment Z generation initial data of operation, protein (such as protein 1C, protein 2C) is translated to by discrete initial data,
And these protein are stored in pond.
Each protein includes describing chained list, and it specifies the action of input equipment registration and the mark for equipment itself
Information.In the conceived case, protein, which is described, can also give device action general semantic meaning.The data of protein have
Effect load (for example absorbing) carries the entire set of the useful status information for device events.
Type regardless of program or equipment, above-mentioned protein makes in any program or equipment for being coupled or connected to pond
It is available in pond.Any amount of program run on any amount of computer can extract event from input pond
Protein.These equipment are only required to participate in pond via local bus memory or network connection, to be extracted from pond
Protein.The direct result of such case is to will be responsible for generating the process of processing event with using or explaining that the process of event is decoupled
The favourable possibility closed.Another result is consumer and the multiplexing in source of event so that the input equipment can be controlled by a people
System, or can simultaneously be obtained by several personal uses simultaneously (such as the input framework based on blood plasma supports many concurrent users)
Flow of event it is visible successively for multiple event consumers.
The equipment and/or program for being coupled or connected to pond can be in ponds backward and browsing forward, to search protein
Particular sequence.For example, generally usefully, establishing program with etc. AD HOC to be matched protein occur, then backward
Browse to determine that the whether combined specific other oroteins of the protein occur together.For utilizing the storage inputted in pond
This instrument of event history generally to write condition managing code unnecessary, or at least significantly reduce to it is such not
The dependence of desired coding mode.
Figure 12 is being included among a large amount of programs in one or more equipment that run on according to another alternative embodiment
The block diagram of the processing environment of multiple input equipments of coupling, in such devices, blood plasma build (such as pond, protein and salad)
It is used to the event that a large amount of operation programs are shared and jointly generated in response to input equipment.The system is only multi-purpose
Family, many equipment, an example of multicomputer interactive controlling scene or configuration.More specifically, in this example, it is including multiple
Input equipment (such as input equipment A, B, BA and BB) and on one or more computers (such as device A, equipment B)
The interactive system of multiple program (not shown) of operation builds (such as pond, protein and salad) using blood plasma, to allow operation
Procedure sharing and the event jointly generated in response to these input equipments.
In this example, each input equipment (such as input equipment A, B, BA and BB) is by relevant device (such as equipment
A, equipment B etc.) on be responsible for software driver management, the discrete original that the relevant device will be generated by input equipment hardware
Beginning data translate to plasma proteins and these protein are stored in blood plasma pond.For example, input equipment A generations are original
Data, and the initial data is supplied into device A, device A and then translate to protein (such as albumen by discrete initial data
Matter 1A, protein 2A etc.), and these protein are stored in pond.It is used as another example, input equipment BB generation original numbers
According to and the initial data being supplied into equipment B, equipment B and then discrete initial data translated into protein (such as protein
1B, protein 3B etc.), and these protein are stored in pond.
Each protein includes describing chained list, and it specifies the action of input equipment registration and for equipment
The identification information of itself.In the conceived case, protein, which is described, can also give device action general semanteme
Meaning.The data payload (for example absorbing) of protein carries whole collection of the useful status information for device events
Close.
It is the example protein for two typical events in such system here to illustrate.Protein is herein
Text is expressed as, however, in actually implementing, the part of these protein is typed data bundle (such as salad).
The protein of " finger is clicked on " posture (pose) (described in related application) of description in general is as follows:
As another example, the protein that description mouse is clicked on is as follows:
One or two of foregoing sample protein can cause the participation program of host device to run the specific of its code
Part.These programs may be interested in general semantic tagger:Among all most typically be " point ", or more specifically
It is to " engage, one ".Or, they can search the event " one-finger- for seeming only to be generated by accurate device
Engage " or even single aggregation object " hand-id-23 ".
Type regardless of program or equipment, above-mentioned protein makes in any program or equipment for being coupled or connected to pond
It is available in pond.Any amount of program run on any amount of computer can extract event from input pond
Protein.These equipment are only required to participate in pond via local bus memory or network connection, to be extracted from pond
Protein.The direct result of such case is the process and use or the process solution of explanation event that will be responsible for generating " incoming event "
The favourable possibility of coupling.Another result is consumer and the multiplexing in source of event so that the input equipment can be by a people
Control, or can be used simultaneously by several individuals (such as the input framework based on blood plasma supports many concurrent users), simultaneously
The flow of event arrived is visible successively for multiple event consumers.
Used as example or protein, equipment C can extract one or more protein (such as protein 1B from pond
Deng).After Protein Extraction, in the incoming event of input equipment CA and CC corresponding to processing protein data, equipment C
The data for the protein retrieved or read from the salad of intake and the description of protein can be used.As another example, if
Standby A can extract one or more protein from pond (such as protein 1B).After Protein Extraction, device A can be with
The data of protein are used in the incoming event of the input equipment A corresponding to processing protein data.
Protein can be searched in pond backward and browsing forward by being coupled or connected to the equipment and/or program in pond
Particular sequence.For example, generally usefully, establishing program with etc. AD HOC to be matched protein occur, it is then clear backward
Look to determine that the whether combined specific other oroteins of the protein occur together.For utilizing the storage inputted in pond
This instrument of event history generally to write condition managing code unnecessary, or at least significantly reduces to such not phase
The dependence of the coding mode of prestige.
The example of the input equipment used in the embodiment of system described here includes what is used in such as consumer electronics
Posture input pickup, keyboard, mouse, infrared remote control, and oriented mission tangible medium object, merely just lift several examples
Son.
Figure 13 is being included among a large amount of programs in one or more equipment that run on according to another alternative embodiment
The block diagram of the processing environment of the multiple equipment of coupling, in such devices, blood plasma build (such as pond, protein and salad) by with
In the graphical event for allowing a large amount of operation programs to share and jointly being generated in response to equipment.The system is only to include multiple fortune
One example of the system of line program (such as figure A-E) and one or more display device (not shown), wherein, use blood plasma
Build (such as pond, protein and salad) makes the images outputting of some or all of calling program for other in a coordinated fashion
Program can use, with the graphical event for allowing operation program to share and jointly being generated in response to equipment.
Generally usefully shown by the figure of another Program Generating for computer program.Several public example bags
Include videoconference application, network lantern slide and demonstration program and window manager.Under in such a configuration, pond is used as
Blood plasma storehouse, to realize shared and window management the general framework of encapsulation video, web application, and allows programmer to add
Usual disabled multiple features in the current version of such program.
The program (such as figure A-E) run in blood plasma synthetic environment participates in association by coupling and/or being connected to pond
Adjust pond.Protein can be stored in the pond by each program, to indicate the availability of various graphics sources.For display figure
Available program also deposits protein, with ability, security and the user profiles and physics and network of the display for indicating them
Position.
Graph data can also be sent by pond, or display program can point to the Internet resources of other species (for example
RSTP flows).Phrase " graph data " as used herein refers to a variety of different expressions dependent on broad continuum;Graph data
Example include but is not limited to word example (such as " image " or block of pixels), process example (for example, " drafting " indicate sequence
Row, such as under typical openGL pipelines stream) and depicted example (for example, pass through geometric transformation, shearing and synthesis behaviour
The mode of work combines the instruction of other graphical configurations).
On the local machine, graph data can be transmitted by the optimization of platform-specific display driver.Even if working as does not have
When sending figure via pond, generally also periodic screen capture can be stored in pond is coordinated so that client is not accessing directly
Still retrogressing figure can be shown in the case of more abstruse source.
Different from most message transmission frameworks and procotol, multi-process interactive systems described here include keeping data
A large amount of bufferings pond.Therefore, program can be recoiled and returned in pond, be accessed and the use pattern (situation in coordination pond with checking
Under) or the previous graphic frame of extraction (in the case of figure pond).
Figure 14 is being included among a large amount of programs in one or more equipment that run on according to another alternative embodiment
The block diagram of the processing environment of the multiple equipment of coupling, in such devices, blood plasma build (such as pond, protein and salad) by with
In status checkout, visualization and the debugging for allowing operation program.The system is only to include multiple equipment (such as device A, equipment
B etc.) on multiple operation programs (such as program P-A, program P-B) system an example, in the apparatus, some
Program uses or accessed via pond the internal state of other programs.
Most interaction computer systems are included in individual machine or run side by side each other on multiple machines and cross over net
Many programs that network is interacted.Because run time image watermarking is inside each process and is difficult to access, multi-way
Sequence system is likely difficult to configure, analyze and debug.The general framework and blood plasma of embodiment described here, which are built, to be allowed to run journey
Sequence enables they most data to be used via pond, so that other programs can check their state.The framework is enabled than passing
The more flexible debugging acid of system debugger, complicated system maintenance instrument and it is configured as allowing human operators in detail to divide
The visualization utensil of the sequence of the one or more states passed through of analysis.
The program (such as program P-A, program P-B) run in reference picture 14, the framework generated when program starts or
Create process pool.The pond is registered in system almanac, and applies security and access control.More specifically, each equipment (example
Such as device A, B) by by running on that the program in each equipment (such as program P-A, program P-B) is generated or being exported from it
Discrete initial data translate to plasma proteins, and these protein are stored in blood plasma pond.For example, program P-A gives birth to
Device A is supplied into data or output, and by the output, device A and then initial data is translated into protein (such as albumen
Matter 1A, protein 2A, protein 3A etc.), and these protein are stored in pond.It is used as another example, program P-B generations
Data and the data are supplied to equipment B, equipment B and then data are translated into protein (such as protein 1B-4B), and
And these protein are stored in pond.
For the duration of program life, other programs with enough access permissions can be attached to pond and read
The protein of program storage;This represents Basic examination form, and is conceptually " unidirectional " or " read-only " proposition:To program P-
A entity interesteds check the stream for the status information that P-A is deposited in its process pool.For example, the inspection journey run under equipment C
Sequence or application program can extract one or more protein from pond (such as protein 1A, protein 2A).In protein
After extraction, equipment C can use the data for the protein retrieved or read from the salad of intake and the description of protein, with
Access, explain and check program P-A internal state.
But, review (recall) plasma systems are not only effective state transfer scheme but also are omnidirectional's information receiving and transmittings
Environment, several other pattern support programs to program state inspection.The inspection program of mandate can be deposited protein with itself
Into program P process pool, to influence or control characteristic (after all, the journey for the status information for producing and placing in the process pool
Sequence P is not only written but also read).
Figure 15 be according to additional alternative embodiment be included in a large amount of programs for running in one or more equipment it
The block diagram of the processing environment of the multiple equipment of middle coupling, in such devices, blood plasma build (such as pond, protein and salad) quilt
For allowing to influence or controlling the characteristic of status information for producing and placing in the process pool.In the exemplary system, equipment C
Inspection program can such as requestor (such as program P-A, program P-B) the single moment or specific duration will
It is poured into than normal more states in pond.Or, next " level " of indication debugging communication, program interested can ask journey
Sequence (such as program P-A, program P-B) sends the protein for being set forth in object existing in its run time environment, and they are single
Solely can and it be interacted available for via debugging pond.It follows that program interested can be in program runtime
In among object " addressing " individual, protein is placed in the process pool that special object will individually take and respond.Example
Such as, program interested can ask object to send the reporter protein matter of the instantaneous value for describing its all composition variable.Even more
Importantly, program interested can change its behavior or the value of its variable via other oroteins instruction object.
More specifically, in this example, equipment C inspection application program is by for the request of object chained list (such as " request
Object chained list ") (in the form of protein) is placed into pond, the request and then each equipment (such as equipment by being coupled to pond
A, equipment B etc.) extract.In response to the request, each equipment (such as device A, equipment B) will be enumerated in its run time environment
The protein (such as protein 1A, protein 1B) of existing object is placed into pond, and they individually can and can use
Interacted in via debugging pond.
It follows that via enumerating from equipment, and enumerating in response to object, equipment C inspection application program
In program runtime among object addressing individual, protein is placed on into special object will individually take and responds
In process pool.For example, equipment C inspection application program can will request protein (for example protein " request report P-A-O ",
" request report P-B-O ") be placed on object (being for example object P-A-O, object P-B-O respectively) send description its it is all composition become
In the pond of the reporter protein matter (such as protein 2A, protein 2B) of the instantaneous value of amount.Each object (such as object P-A-O,
Object P-B-O) extract its request (be for example respectively protein " request report P-A-O ", " request report P-B-O "), also, ring
Protein (being for example respectively protein 2A, protein 2B) of report including request should be placed into pond in this.Equipment C
Then extract each reporter protein matter (such as protein 2A, protein 2B), and take appropriate for the content of report
Follow-up action.
In this way, erosion debugging, Process flowchart and program are finally tended to using blood plasma as exchange media logical to program
Difference between letter and coordination.
So far, universally applicable blood plasma framework allows to design visualization and analysis program in the way of loose couplings.For example, can tie
Its basic storage is read and write by conjunction to be output to any program in pond to use the visualization of display-memory access module
Instrument.The presence or design of visualization tool need not be known by the program analyzed, vice versa.
Pond in the above-described manner simultaneously not excessively influences systematic function.For example, embodiment has allowed for per second in pond deposit
Hundreds of thousands protein is put, so that also can not significantly suppress most of programs even if relatively tediously long data output
Response or interaction characteristic.
Spatial operation environment (SOE).
Multi-process interactive systems can be the components of spatial operation environment (SOE) or be coupled to be used for spatial operation environment
(SOE).The SOE of control system including attitude control system or based on posture can also be referred to as spatial user interface (SUI)
Or air interface (SI).As an example, Figure 16 is the block diagram of the spatial operation environment (SOE) according to embodiment.User is by his
Hand 1601 and 1602 is positioned in the browsing area 1650 of camera 1604A-1604D array.Camera calibration finger and hand 1601
With 1602 position, direction and mobile, and the output signal of preprocessor 1605 is generated to.Preprocessor 1605 is by camera
Output translates to the attitude signal for the computer processing unit 1607 for being supplied to system.Computer 1607 uses input information next life
Into the order for controlling one or more cursors on screen, and video frequency output is supplied to display 1603.
Although the hand of the system unique user shown can use multiple users to realize SOE as input.This
Outside, instead of hand or in addition to hand, system can track any one or more parts of the body of user, including head, pin,
Leg, arm, elbow, knee etc..
In the embodiment shown, four cameras or sensor are used for the He of hand 1601 that user is detected in browsing area 1650
1602 position, direction and movement.It should be understood that in the case where not departing from SOE scope and spirit, SOE can include more
(such as six cameras, eight cameras) or less (such as two cameras) camera or sensor.In addition, although implement in example
Camera or sensor are arranged symmetrically in example, but is not required for this symmetry in SOE.It can be used in SOE fair
The position of the hand at family allowable, any amount of camera or sensor or camera in direction and movement or the positioning of sensor.
In one embodiment, the camera used is can to capture the capturing movement camera of gray level image.In an implementation
In example, the camera used is the camera (such as Vicon MX40 cameras) of Vicon manufactures.The camera includes handling on camera, and
And image capture can be carried out with 1000 frame per second.Capturing movement camera can be detected and telltale mark.
In the described embodiment, camera is the sensor for optical detection.In other embodiments, camera or other
Detector can be used for electromagnetism, the detection of magnetostatic, RFID or any other suitable types.
The generation three dimensions point reconstruct of preprocessor 1605 and skeleton point mark.Posture transfer interpreter (gesture
Translator) 1606 3d space information and marker motion information are converted into the order language that computer processor can be explained
Speech, to update the position of cursor, shape and action on display.In SOE alternative embodiment, preprocessor 1605 and posture
Transfer interpreter 1606 is integrated or is combined to individual equipment.
Computer 1607 can be any general meter of the suitable manufacturer's manufacture of such as Apple, Dell or any other
Calculation machine.Computer 1607 runs application program and provides display output.Otherwise it will be inputted from mouse or other prior arts
The cursor information of equipment comes from attitude system now.
SOE or embodiment are it is contemplated that use mark (mark) label (tag) on one or more fingers of user so that be
System can position the hand of user, identify whether it and just browsing left hand or the right hand, and which finger is visible.This allows system detectio
Position, direction and the movement of the hand of user.The information allows multiple postures to be used as order by system identification and by user.
Mark label in one embodiment is physical tag, including (is suitable for investing on human hand in this embodiment
Each position) substrate and the discrete markers that are set on a surface of the substrate with unique identification pattern.
Mark and outside sensing system associate can be in permissions accurately, accurately and quickly and continuously acquire their three
Operated in any domain (optical, electromagnetic, magnetostatic etc.) of locus (three-space position).Mark in itself can be actively
Ground (such as by emitting structural electromagnetic pulse) or the passively operation (for example, in this embodiment, by optically reflective).
In each frame of acquisition, detecting system works spatial volume (in camera or other detectors from present in utensilization
Visual range in) in label receive include three locus of markd recovery convergence " cloud ".On each label
Mark be multifarious enough, and be arranged with unique pattern, so that detecting system can perform following task:
(1) it is segmented, wherein, the mark position each recovered is assigned to one of the point to form single label and only one subset;(2)
Mark, wherein, the subset of each segmentation of point is identified as specific label;(3) position, wherein, recover the three of the label of mark
Locus;(4) direction, wherein, recover three direction in spaces of the label of mark.As described below, and such as Figure 17
As middle one embodiment is shown, make it that task (1) and (2) are possible by the particular characteristics of marking mode.
Mark on label in one embodiment invests the subset of conventional grid position.As in the present embodiment,
This potential grid can be conventional Cartesian classification or can be replaced by some other conventional planes inlay (for example triangle/
Hexagon bedding is arranged).Known spatial resolution ratio on marking sensing system sets up ratio and the space of grid so that neighbouring
Grid positions can not possibly be confused.Selection for the marking mode of all labels should meet following constraint:Pass through rotation, translation
(translation) or mirror image any combinations, the pattern without label can meet any other label mode.Can be further
Choose the diversity and arrangement of mark so that the loss (or obstruction) of the component label of some specified quantities is tolerable.
After carrying out any any conversion, it should still can not possibly obscure compromise module with any other module.
Referring now to Figure 17, multiple label 1701A-1701E (left hand) and 1702A-1702E (right hand) are shown.Each label
It is rectangle, and includes 5x7 grid arrays in this embodiment.Rectangular shape is chosen as the auxiliary in the direction for determining label,
And reduce the possibility of image copying.In the embodiment shown, there is the label for each each finger on hand.One
The use of every one, two, three or four label of hand can be enough in a little embodiments.Each label has different gray scales
Or the border of coloured light (color shade).It is 3x5 grid arrays in the border.Specified point in grid array sets (figure
What 17 stain was represented) mark, to provide information.
By the way that each pattern is segmented into " public " and " unique " subpattern, matter can be encoded in the marking mode of label
Measure information.For example, the embodiment specify two possible " boundary scheme ", on square boundary mark distribution.Thus build
" race " of day-mark label --- therefore it can all use module of boundary identical with shown in label 1701A-1701E for the label of left hand
Formula, and the label for being attached to right finger can be allocated the different mode as shown in label 1702A-1702E.Choose the submodule
Formula so that on all directions of label, left mould formula and right mould formula can be distinguished.In the example presented in the figure, left-handed mode includes every
Mark on individual angle and the mark on the second of elongation grid positions.Right-handed mode has to be marked and at non-angle on only two angles
Two marks in grid positions.The inspection explanation of pattern, as long as any three in four marks are visible, it is possible to for certain
Distinguish left-handed mode and left-handed mode.In one embodiment, the color or shade on border are also used as the finger of handedness
Show symbol.
Certainly, each label must still use unique internal schema, the mark of the interior distribution of public boundary of the race of label.
In the embodiment shown, it has been found that, rotation or direction due to finger, two marks in internal grid array are enough unique
Ground mark is without each in ten fingers repeated.Even if mark in one be blocked, the handedness of label and
The combination of pattern also produces unique identifier.
In this embodiment, grid positions are visually presented in rigid substrate, as to additional in its expected position
The auxiliary of (manual) task of each reflective marker.Via color inkjet printer by these grids and expected mark position by
Print on substrate, substrate is (initially) sheet material of flexible " shrink film " herein word.Each module cut from sheet material and
Then baking oven is roasted, the accurate and repeatable contraction of each module experience during being heat-treated herein.For example, after for the process
Short interval, the label of cooling can slightly shape --- to follow the Vertical Curve of finger;Then, substrate is suitably firm
Property, and mark and can be attached at the grid point of instruction.
In one embodiment, mark is three-dimensional (such as attached via bonding agent or some other appropriate means in itself
It is added to the small reflecting sphere of substrate).The three-dimensionality of mark can be auxiliary in detection and positioning on two-dimensional marker.So
And, in the case where not departing from SOE described here spirit and scope, alternative one can be used.
At present, label is attached to the gloves that operator wears via the appropriate means of Velcro or other, or alternatively
It is attached directly to the finger of operator in addition using soft double stick band.In the third embodiment, can by separate marking together with
Rigid substrate is distributed and added together --- or " drawing " --- to operator finger and on hand.
The SOE of embodiment is expected to include hand posture (pose), direction, hand combination and the posture vocabulary of direction mixing.It is also real
Applying symbolic language is used to design and the posture and posture in the posture vocabulary for exchanging SOE.Posture vocabulary is for succinct text
The system that this form represents instantaneous " posture state " of kinematics link (kinematic linkage).The link discussed can
To be biological (such as human hand;Or whole human body or locust leg or the joint backbone of mongoose lemur), or non-life can be replaced by
(such as robots arm) of thing.Under any circumstance, link can be simple (backbone) or branch's (hand).SOE posture word
Remittance system sets up constant length string for any specific link, occupies the polymerization of the specific ascii character of " character position " of string
It is then the unique description for linking " posture " or immediate status.
Figure 18 shows the hand posture in the embodiment according to the SOE of embodiment posture vocabulary.SOE is assumed using on hand five
Each in individual finger.These fingers are encoded to p- little fingers of toe, the r- third fingers, m- middle fingers, i- forefingers and t- thumbs.Figure 18 determines
Justice and illustrate multiple postures for finger and thumb.Posture vocabulary string is each for link (in the case, finger)
Can freedom of expression degree set up single character position.In addition, each such free degree is interpreted as being discretized (or " quantization "), make
Its complete scope moved must can be expressed by one in the standard ascii character that the displacement place of putting distributes limited quantity.
These freedom are expressed relative to the specific origin of body (the back of the hand, the center of locust body, pedestal of robots arm etc.) and coordinate system
Degree.Therefore, a small number of additional posture vocabulary character positions are used in more global coordinate system " generally " position of expression link
Put and direction.
Referring now still to Figure 18, defined using ascii character and identify multiple postures.One is distinguished between thumb and non-thumb
A little postures.SOE in the embodiment uses coding so that ascii character is the hint of posture in itself.However, any character can
For representing posture, regardless of whether implying.In addition, not requiring the use of ascii character in the present invention is used for symbol string.Not
Depart from scope and spirit of the present invention in the case of, any suitable symbol can be used, it is digital or it is other represent.If for example,
Expect, symbol can use every two positions of finger, or according to expectation, the position of some other quantity.
The finger of character " ^ " expression bending, and ">" represent bending thumb.The straight finger or thumb referred to upwards is referred to by " 1 "
Show, and at certain angle by " " or "/" represent."-" represents the thumb laterally directed at, and " x " represents to point to the thumb of plane
Refer to.
Described using these single finger and thumbs, the solution of the present invention can be used to define and write robust
(robust) the hand posture of quantity.Each posture is represented by five characters p-r-m-i-t as described above order.Figure 18
Multiple postures are shown, and described herein by way of explanation and example." 11111 " represent to keep straight (flat) simultaneously
And parallel to the hand on ground.“^^^^>" represent fist.“111^>" expression " OK " symbol.
When using the character implied, character string provides the chance for directly " people is readable ".Generally can be with eyes
The set of the possibility character of each free degree of description is chosen, is analogized with quick identification and apparently.For example, vertical bar (" | ") will
It is " straight " possibly to represent linkage element, and quarter bend (" L ") can represent 90 degree of bendings, and circumflex (" ^ ") can refer to
Show sharp bend.As described above, any character or coding can be used according to expectation.
The advantage of the relatively high computational efficiency of string is enjoyed using any system of posture vocabulary string as described in this ---
Mark or search for any posture specified are changed into " string is compared " between desired posture string and instantaneous actual string completely
(such as UNIX " strcmp () " function).In addition, the use of wildcard characters, which is programmer or system designer, provides additional
Known efficiency and effect:Its immediate status for match the incoherent free degree can be appointed as question mark point ("”);Can be with
The other asterisk wildcard meaning of distribution.
In addition to the posture of finger and thumb, the direction of hand can represent information.It is complete that description can also be chosen apparently
The character of office's direction in space:When being run into the character position of direction, character "<”、“>", " ^ " and " v " can serve to indicate that it is left,
Right, upper and lower idea.Figure 19 shows the hand direction descriptor and example of the coding by posture and directional combination.In embodiment
In, two character positions specify the direction of palm first, followed by finger direction (they whether be it is straight, no matter finger
How is actual flexion).Possible character list for the two positions reaches " body centre " symbol in direction:“-”、“+”、“x”、
" * ", " ^ " and " v " description is middle, side, above (forward, leaving body), below (backward, leaving body), head (upward)
With afterbody (downward).
In the symbol scheme of embodiments of the invention, five finger gestures of pointing character are followed by colon, then
It is both direction character, to define complete order posture.In one embodiment, starting position is referred to as " xyz " posture, its
What middle finger was directed at upwards, forefinger refers to forward, and middle finger is pointed to left perpendicular to forefinger when carrying out this posture by the right hand.This
By string " ^^x1-:- x " is represented.
" XYZ- hands " is to allow the complete six-freedom degree of three-dimensional structure visually presented using the geometry of human hand
The technology of navigation.Although the technology is only dependent upon the bulk translation of the hand of operator and rotated --- allow its finger main
Ground is held in desired any posture --- but the preferred static configuration of the embodiment, wherein, forefinger is pointed to beyond body, and thumb refers to
To ceiling;Middle finger points to left and right.Therefore three finger descriptions (roughly, but with clearly evident are intended to) three space coordinates
Three mutually orthogonal axles of system:Therefore " XYZ- hands ".
XYZ- hands navigation and then with predetermined " neutral position " place, the above-mentioned posture kept before the body of operator
In hand, finger carry out.Three translations and three rotations to three spatial objects (or camera) are influenceed by following natural way
The access of the free degree:The moving left and right of hand (relative to the natural coordinates system of body) produces the x-axis along the context of calculating
Movement, the moving up and down to produce of hand moving along the y-axis of the context of control, front and rear hand movement (towards/leave operator
Body) produce context in z-axis motion.Similarly, the context that the hand of operator causes to calculate on the rotation of forefinger
Direction " rolling " change;Similarly influence " to tilt " respectively about the rotation of middle finger and thumb by the hand of operator and
" deflection " changes.
Note, although " context (computational context) of calculating " is used herein to represent XYZ- hand methods
The entity --- and seeming three spatial objects or camera of suggestion synthesis --- of control is it should be understood that the technology is true for controlling
Each free degree of real world object:Be equipped with pan/inclination of the video or motion picture camera of appropriate pivoting agitator/
Roll control equal useful.In addition, even in virtual Domain, somewhat less can word-for-word map what XYZ- hands posture was provided
The body free degree.In this embodiment, XYZ- hands also provide for the access of the navigation to big panorama display image so that operator
Hand left and right and up and down motion cause the expected left and right or up and down " pan " on image, but the front and rear fortune of the hand of operator
It is dynamic to be mapped as " zoom " control.
In every case, the coupling between the motion of hand and caused calculating translation/rotation can directly (be grasped
The position of the hand of author or rotation offset via some linearly or nonlinearly function one-to-one mapping be phase in the context that calculates
The position or rotation offset of machine or object) or it is indirect (i.e. the position of the hand of operator or rotation offset via some linearly or
Nonlinear function one-to-one mapping is the single order or higher order derivative of position/orientation in the context of calculating, ongoing integration
Then the non-static change of the actual zeroth order position/orientation of the context of calculating is acted on).The latter means and automobile of control
The use of " gas pedal " is similar, wherein, the systematic offset of pedal more or less, causes constant car speed.
(1) sky can be set up as by serving as " neutral position " of the local six degree of freedom origin of coordinates of real world XYZ- hands
Between in absolute position and direction (such as relative to the room of closing);(2) position of the fixation relative to operator in itself and
Direction (such as eight inches before body, ten inches below lower jaw, meets shoulder plane) sideways, no matter total position of operator
Put and " towards (heading) " is how, or (3) are alternatively, by the deliberate secondary action of operator (for example, using operation
The gesture commands that " another " hand of person is promulgated, the order indicates that the current location and direction of XYZ- hands are used as translation from this and revolved
Turn origin).
What is further facilitated is to provide " brake " region (or " dead band ") of the neutral position on XYZ- hands so that should
Motion in volume is not mapped to the motion in the context of control.
Other postures can include:
[|||||:Vx] be palm down and the straight hand of finger forward (thumb is parallel to finger).
[|||||:X^] be palm forward with finger towards ceiling straight hand.
[|||||:- x] it is the medial center of palm (if left hand, then towards right, if the right hand then direction
It is left) and the straight hand of finger forward
[^^^^-:- x] it is the one hand that thumb (has the thumb for pointing to ceiling) upwards.
[^^^|-:- x] be directed to before imitation pistol.
The SOE of embodiment contemplates that singlehanded order and posture and order and the posture of two hands.Figure 20 shows SOE implementation
Two hands in example combine the example with the symbol associated.The symbol of the first example is looked back, " fullstop " illustrates that it includes two closures
Fist." snapshot " example has the thumb and forefinger of each hand of extension, and thumb is pointed to each other, defines goal (goal
Post) the frame of shape." rudder and choke valve starting position " is that finger and thumb refers to palm screen-oriented upwards.
Figure 21 shows the example of the direction mixing in SOE embodiment.In the example shown, lead to after finger gesture string
Cross and be enclosed in the multipair direction symbol in bracket to represent mixing.For example, the first order shows all finger positions directed at.The
A pair of direction orders will produce the straight palm towards display, and second pair has the finger rotated to 45 degree of screen inclination.
Although showing multipair mixing in this example, any amount of mixing is contemplated that in SOE.
Figure 23 shows to can be used for SOE multiple possible orders.Although herein on controlling light over the display
Mark carries out some discussion, but SOE is not limited to the activity.In fact, any and all data, data of the SOE on screen is manipulated
Part and display state in there is very big application.For example, during the playback of video media, order can be used for
Replace video control.Order can be used for pause, F.F., retrogressing etc..In addition, order can be implemented as the amplification or contracting of image
It is small, to change the direction of image, pan in any direction, etc..SOE can be used for replacing menucommand, for example, play open and close
Close, preserve.In other words, envisioned any order or activity can be realized by hand posture.
Figure 22 is the flow chart of the operation of the SOE according to embodiment.2201, detecting system detection is marked and label.
2202, it is determined whether detect label and mark.If it is not, then system returns to 2201.If 2202 detect label and
Mark, then system proceeds to 2203.2203, system is from the label and marker recognition hand, finger and posture detected.
2204, the direction of system identification posture.2205, the three-dimensional space position for one or more hands that system identification is detected (please
Note, can combine any or all in 2203,2204 and 2205).
It is posture symbol as described above by information translation 2206.2207, determine whether posture is effective.Use life
Into symbol string via simple string can relatively realize the operation.If posture is invalid, system returns to 2201.If posture has
Effect, then 2208, symbol and positional information are sent to computer by system.2209, computer determines to enter in response to posture
Capable appropriate action, and correspondingly update display 2210.
In SOE one embodiment, operation 2201-2205 is completed by processor on camera.In other embodiments,
If desired, processing can be completed by component computer.
The stream for the rudimentary posture that system " can be parsed (parse) " and " translation (translate) " potential system is recovered,
And the posture of these parsings and translation is changed into and can be used for the computer applied algorithm and system that control broad range
Order or the stream of event data.These technologies and algorithm can be embodied in the system including computer code, computer code
The engine for realizing these technologies is provided and the platform of the computer applied algorithm of the ability of engine is utilized for structure.
One embodiment concern enables the abundant posture that human hand is used in computer interface, but can also recognize other bodies
Posture and various non-hand physics works that are static and being hinged that body portion (including but is not limited to arm, trunk, leg and head) is carried out
Tool, including but not limited to clamp, compass, flexible curve approximation device and variously-shaped pointer device.Mark and label can be with
According to the article and instrument for expecting to be applied to operator's carrying and use.
System described here is combined with to allow to build to be enriched in the scope for the posture that can be identified and act on
Attitude system multiple innovations, while being readily integrated into application program.
Posture parsing and translation system in one embodiment include:
1) it is used to specify the succinct and efficient of (coding is for computer program) some other postures of different convergent orders
Mode:
A. singlehanded " posture " (configuration relative to each other of the part of hand and direction) in three dimensions, singlehanded direction
And position.
B. two hands are combined, for considering posture, position or the hand of the two
C. many people's combinations;System can track more than two hand, therefore more than one people can be collaboratively (or in trip
In the case of application program of playing, competition ground) control targe system.
D. the order posture that wherein posture is combined in order, we term it " active (animating) " posture.
E. the shape in " font " posture, wherein operator tracking space
2) it is used for the programming technique that relevant with given application context each classification more than registers particular pose
3) be used for parse posture stream allow to identification registration posture and can will encapsulate these postures event pass
It is delivered to the algorithm about application context.
Canonical system (1) with composed component (1a) to (1f) provides the parsing and translation using system described here
The basis of ability.
Singlehanded " posture " is expressed as following string:
I) relative direction between finger and the back of the hand,
Ii) it is quantified as small number of discrete state.
System described here is allowed to avoid being associated from the size and geometry of different hands using relative bonding position
The problem of.The system does not need " operator's calibration ".In addition, specifying posture to allow as the string or set of relative direction by group
Posture is closed to represent easily to create more complicated posture specification with other filters and specification.
Allow to compactly specify posture and ensure using various potential using the small number of discrete state of posture specification
Tracking technique (for example, being tracked using the passive optical of camera, is tracked, electromagnetic field is tracked using the active optics of luminous point and camera
Deng) Precision postural identification.
Partly (or minimally) posture of each classification (1a) into (1f) can be specified, so as to ignore non-key number
According to.For example, the position of two of which finger is fixed and the unessential posture of other finger positions can be had by wherein providing two
Close the operable position of finger and in identical string, list " asterisk wildcard " for other fingers or general " ignoring these " refers to
Show the single specification of symbol to represent.
It is described here it is all innovate for gesture recognition, including but not limited to multilayer specification technique, relative direction make
With, the quantization of data and allow in the part of every one-level or minimum specification, use other body parts and " manufacture " instrument
The specification of hand posture is generalized to the specification of posture with object.
Programming technique for " registration posture " (2) includes allowing programmer to define which posture engine should cause for fortune
The set that the application programming interface of the available definition of other parts of row system is called.
These api routines can be used in application program setup time, and the life created through operation application program is used
Static interface definition.Them can also be used during the process of operation, it is allowed to which interface features are hastily (on the fly)
Change.This real-time change of interface allows to:
I) construction complicated context and condition state of a control,
Ii) hysteria (hysterism) is dynamically added to control environment, and
Iii the application program of the interface vocabulary of runtime in itself can be changed or extend by) creating wherein user.
Specified in algorithm comparison (1) for parsing posture stream (3) and the posture of registration and the rudimentary appearance arrived in (2)
State data.When recognizing the matching of posture of registration, represent that the event data of the posture of matching is delivered to operation on stack and answered
Use program.
Efficient real-time matching is expected in the design of the system, and the posture specified is counted as what is handled as quickly as possible
The tree of probability.
In addition, for recognizing that the original comparison operator that the inside for the posture specified is used also is exposed for application program
Programmer is used so that another comparison (for example, flexible status checkout in complicated or mixing posture) can be even from application
Occur in program context.
Identification " locking " semanteme is the innovation of system described here.Registration API (2) imply that these are semantic (and for
In less extension, embedded specification vocabulary (1)).Registration API Calls include:
I) state notifying symbol and " continuation " state notifying symbol " are logged in (entry) ", and
Ii) posture priority designator.
If identified posture, its " continuation " condition, which obtains to exceed, is used for having identical or more low priority posture
All " login " conditions it is preferential.The system that this differentiation between logging status and continuation state is significantly added to perception
Usability.
System described here includes being used for robust operation when in face of real world data error and uncertainty
Algorithm.Data from rudimentary tracking system can be the incomplete (mark for various reasons, including in optical tracking
Obstruction, network exits or handled delayed etc.).
According to the amount and context for lacking data, lack data and marked by resolution system, and interior be inserted into
" last known " or " most probable " state.
If the data (for example, orientation of particular combination point) on particular pose component lack, but physically can may be used
" last known " state of the specific components can be analyzed, then system uses the nearest known state in its real-time matching.
, whereas if can not possibly physically analyze last known state, then system drops back into " the best-guess model of component
Enclose ", and in its real-time matching use the generated data.
Specification described here and resolution system have been carefully designed to support " handedness agnosticism " so that
For many hand postures, it is allowed to which either hand meets posture demand.
The system of embodiment can provide the Virtual Space described on wherein one or more display devices
The consistent environment of (" screen ") is counted as with one or more operators of system occupy physical space.Retouch herein
State the embodiment of this environment.The present example is included in the screen of three projecting apparatus driving of fixed position, by single
Desktop computer drives, and is controlled using posture vocabulary described here and interface system.Note, however, the skill of description
Art supports any amount of screen;These screens can mobile (rather than fixation), screen can be by many independent
Computer drives simultaneously, and any input equipment or technology can control whole system.
Interface system described in the disclosure should have size, direction and the dress of position for determining the screen in physical space
Put.The information is given, it is empty for the physics of projection that system can position wherein these screens (and the operator of system forbids)
Between be dynamically mapped to the Virtual Space of computer applied algorithm run in system.It is used as the part of this automatic mapping, root
The need for application program according to system superintendent, system also translates the ratios of two spaces, angle, depth, chi by various modes
Very little and other spatial characters.
This continuous translation between physics and Virtual Space to be difficult on existing application platform or right
In each application program run on existing platform must multiple interfacings consistent realized of piece meal (piece-meal) and
Generally using being possible.These technologies include but is not limited to:
1) use of " word gives directions (literal pointing) " --- using the hand in gesture interface environment, or use
Physics pointing tool or equipment --- it is used as universal and natural interfacing
2) motion or the automatic compensation of reorientation for screen.
3) figure changed according to operator position is rendered, for example, emulate parallax transformation to strengthen depth perception.
4) physical object in screen display includes --- consider real-world locations, direction, state etc..For example, station
Operator before big transparent screen can see that the actual position of the scale model behind screen application graphical and
Represent in (and perhaps positive mobile or change direction).
Note, it is important that word is given directions with being used in window interface and most other modern systems based on mouse
It is abstract to give directions different.In such systems, operator must be learned by managing the translation between virtual mouse and physics pointer device,
And it must map between cognitively.
By contrast, in the system described in the present disclosure, in the virtual and physics from application program or User Perspective
Difference (in addition to being more obedient to for mathematical manipulation except Virtual Space) is not present between space, therefore in the absence of the required of operator
Cognitive translation.
For the word that embodiment described here is provided give directions immediate to analogize be (for example, in many ATM devices
On find) touch sensitive screen.Touch sensitive screen provide screen on two-dimentional display space and screen surface the two-dimentional input space it
Between one-to-one mapping.By similar fashion, Virtual Space that system described here is shown on one or more screens with
Flexibly mapping (possibly, but not necessarily, one-to-one) is provided between the physical space that operator lives.The serviceability no matter analogized
How, be worth understanding is that " mapping method " expands to three-dimensional and arbitrarily large architecture environment and multiple screens are not unrelated
It is critical.
In addition to component described here, system can also realize the physical space of environment and showing for each screen
Show the algorithm of (perhaps being changed by rotation, translation, scaling or other geometric transformations) continuous system level mapping between space.
Obtain to calculate object and map and export the figured of Virtual Space and render stack.
Event data (posture in the present example, inputted from system and mouse and indication are obtained from control system
Data), and the incoming event for the coordinate that the spatial data from incoming event is mapped in Virtual Space handles stack.Translation
Event be then passed to the application program of operation.
Allow system superintendent across " adhesive linkage " of the application program of some computers operation on LAN.
As describing herein as described above with Figure 1A-Fig. 1 C and in addition, it is considered to which SOE above description, SOE can be used
Make the component of multi-process interactive systems and/or be coupled to multi-process interactive systems.As described above, the SOE of embodiment can be encapsulated
For user's input albumen matter is delivered into posture/space process G that user inputs pond Ui.
Embodiment in this includes the system and method that the posture that body is carried out is detected from attitude data.Connect via detector
Receive attitude data.The system and method for embodiment perform a large amount of processes on a processing device.Process generation includes representing posture
The event of the set of event.The event of each process is translated to data capsule by the system and method for embodiment.Embodiment is
Data capsule is sent to multiple ponds or reservoir by system and method.The set of process in a large amount of processes is grasped as identification process
Make.Identification process is recognized in pond includes the data capsule of content corresponding with posture.Identification process retrieval from pond
Data capsule, and generated by the content for the data capsule for synthesizing identification with forming attitude signal from the data capsule of identification
Attitude signal.Attitude signal represents posture.
Figure 24 is realized according to embodiment by multi-process interactive systems or as the component of multi-process interactive systems
The block diagram of spatial operation environment (SOE) (see Fig. 1 C, element G).Its hand 2401 and 2402 is positioned at camera 2404A- by user
In the browsing area 2450 of 2404D array.The position of camera calibration finger and hand 2401 and 2402, direction and movement, and
It is generated to the output signal of preprocessor 2405.Camera output is translated to and is supplied at the computer of system by preprocessor 2405
Manage the attitude signal of device.In this embodiment, the function for the computer processor that above computer 2407 is performed can be by entering more
The processor of journey interactive system and/or it is coupled to the processor (Fig. 1 C) of multi-process interactive systems to perform.Attitude signal can be with
It is provided or is sent to the pond (pond Ui, Fig. 1 C) of multi-process interactive systems.Therefore, multi-process interactive systems use attitude signal
Generate the order for controlling the one or more assemblies for being coupled to multi-process interactive systems (such as display cursor).
Although system is shown as the hand with unique user as input, multiple users can be used to realize SOE.This
Outside, instead of hand or in addition to hand, system can track any one or more parts of the body of user, including head, pin,
Leg, arm, elbow, knee etc..
In the embodiment shown, four cameras or sensor are used for the He of hand 2401 that user is detected in browsing area 2450
2402 position, direction and movement.It should be understood that in the case where not departing from SOE scope and spirit, SOE can include more
(such as six cameras, eight cameras) or less (such as two cameras) camera or sensor.In addition, although implement in example
Camera or sensor are arranged symmetrically in example, but is not required for this symmetry in SOE.It can be used in SOE fair
The position of the hand at family allowable, any amount of camera or sensor or camera in direction and movement or the positioning of sensor.
In one embodiment, the camera used is can to capture the capturing movement camera of gray level image.In an implementation
In example, the camera used is the camera (such as Vicon MX40 cameras) of Vicon manufactures.The camera includes handling on camera, and
And image capture can be carried out with 1000 frame per second.Capturing movement camera can be detected and telltale mark.
In the described embodiment, camera is the sensor for optical detection.In other embodiments, camera or other
Detector can be used for electromagnetism, the detection of magnetostatic, RFID or any other suitable types.
The generation three dimensions point reconstruct of preprocessor 2405 and skeleton point mark.Posture transfer interpreter 2406 is by 3d space information
The order that can be explained from the component of the multi-process interactive systems of pond Ui (see Fig. 1) receive information is converted to marker motion information
Language.In SOE alternative embodiment, preprocessor 2405 and posture transfer interpreter 106 are integrated or are combined to individual equipment.
Figure 25 is the operation of the multi-process interactive systems 100 of input of the use from attitude control system according to embodiment
Flow chart 2500.Operation includes:The posture 2502 that body is carried out is detected from attitude data.Posture number is received via detector
According to.Operation is included in processing equipment 2504 multiple processes that perform.Process generation includes representing the thing of the set of the event of posture
Part.The separable program that process includes spatial operation application program performs context, but not limited to this.The event of each process
Translate to data capsule 2506.Data capsule includes initiating the event data of the state of a process information of data capsule and event
The expression unrelated with application program, but not limited to this.Data capsule is translated for multiple ponds 2508.The collection of the process of a large amount of processes
Cooperate as identification process operation.Identification process is recognized in pond includes the data capsule 2510 of content corresponding with posture.Identification
The data capsule of process retrieval from pond, and by synthesize identification data capsule content with formed attitude signal come
Attitude signal 2512 is generated from the data capsule of identification.Attitude signal represents posture.
Embodiment described here includes a kind of method, including:Multiple processes are performed at least one processing equipment;Will
The event of each process in multiple processes translates to data capsule, and data capsule is sent into multiple ponds;Each process conduct
Process operation is recognized, identification process is recognized in multiple ponds including with recognizing the interactive function of process and recognizing the mark pair of process
The data capsule of at least one in the content answered;And the data capsule of identification process retrieval from multiple ponds, and
Perform the processing suitably to the content of the data capsule of identification.
The data capsule of embodiment include initiate data-message state of a process information and event event data with
The unrelated expression of application program.
The method of embodiment includes:Using data capsule and multiple ponds by coordinating the behaviour of each process in multiple processes
Make from multiple processes formation interactive application.
The method of embodiment includes:Coordinate the behaviour of multiple processes using at least one in data capsule and multiple ponds
Make.
The method of embodiment includes:Application program is divided into the set of process, wherein, multiple processes include the collection of process
Close.
The method of embodiment includes the data glue of multiple retrievals by alternatively handling at least one pond in multiple ponds
Capsule generates the process of output.
The separable program that multiple processes of embodiment include multiple application programs performs context, wherein, Mei Geying
Include at least one process with program.
The method of embodiment includes:Multiple processes are performed parallel.
The method of embodiment includes:The first set of parallel executive process, and the second set of order executive process, its
In, multiple processes include the first set of process and the second set of process.
The representations of events process input of embodiment.
The representations of events process output of embodiment.
The event of embodiment includes user interface event.
The event of embodiment includes graphical event.
The representations of events process status of embodiment.
The state of a process of embodiment represents the interactive function of process, wherein, the interactive function of process is used as data capsule
Content exposure in multiple processes.
The method of embodiment includes:The application programming interface of multiple processes is defined by the content of data capsule
(API) API, rather than by funcall is defined.
The content of the data capsule of embodiment is unrelated with application program and can be by multiple progress recognizings.
At least one processing equipment of embodiment includes multiple processing equipment.
At least one of the first set of at least one process in multiple processes of embodiment in multiple processing equipment
Run under the first set of processing equipment, the second set of at least one process in multiple processes is in multiple processing equipment
Run under the second set of at least one processing equipment.
Multiple processes of embodiment include the first process.
The translation of embodiment includes:The event of first process is transformed to the first process event data for including specifying event
With at least one data sequence of the status information of event.
The the first process event data and status information of embodiment are that have class corresponding with the application program of the first process
The specific data of type of type.
The translation of embodiment includes:Data capsule shape, which is turned into, includes at least one data sequence, and the data capsule has
The data structure of the expression unrelated with application program including at least one data sequence.
Multiple processes of embodiment include the second process.
The translation of embodiment includes:Second state of a process is changed into the second process that event is transformed to include specifying event
At least one data sequence of the status information of event data and event.
The the second process event data and status information of embodiment are that have class corresponding with the application program of the second process
The specific data of type of type.
The translation of embodiment includes:Data capsule shape, which is turned into, includes at least one data sequence, and the data capsule has
The data structure of the expression unrelated with application program including at least one data sequence.
The identification process of embodiment is the second process, and retrieval includes:The data capsule of retrieval from multiple ponds, and
Perform the second process of the processing to the content of the data capsule of identification suitably.
The content of the data capsule of the identification of embodiment is the data for representing the first state of a process information.
The translation of embodiment includes:It is at least one new data sequence by the content conversion of the data capsule of identification, should
At least one new data sequence represents at least one in the event of the first process and the event of the second process.
The new data sequence of at least one of embodiment includes the first process and at least one process in the second process
The event data of status information and specified event.
First process of embodiment and the event data and status information of at least one process in the second process are that have
The specific data of type of type corresponding with the application program of at least one process in the first process and the second process.
The translation of embodiment includes:Data capsule shape, which is turned into, includes at least one new data sequence, the data capsule
Data structure with the expression unrelated with application program including at least one new data sequence.
Multiple processes of embodiment use at least one new data sequence.
The processing of the content of the data capsule to identification of embodiment suitably includes:Drawing Object is rendered, wherein, at least
Drawing Object is rendered on the display of one processing equipment.
Embodiment is rendered including directly rendering, and plurality of process is drawn directly into the figure of at least one processing equipment
Layer, wherein, multiple ponds are used for for rendering coordination suitably between multiple processes.
Embodiment render including:Multiple processes in multiple ponds will be sent to including rendering the data capsule of order.Implement
Example render including:Order is rendered from the retrieval of multiple ponds, explanation renders order, and drives at least one in response to rendering order
Multiple processes of the graph layer of processing equipment.
Embodiment render including:It is rendered into multiple processes of pixel buffer.Embodiment render including:By primitive frame
Data are sent to multiple processes in multiple ponds, and the original frame data to rendering for pixel buffer by producing.Embodiment
Render including:Original frame data is retrieved from multiple ponds, and combines the original frame data, to drive at least one processing
The multiple processes used in the graph layer of equipment.
The method of embodiment includes:Detect the event of multiple processes.The method of embodiment includes:Generation includes specifying event
Event data and event status information at least one data sequence, wherein, the event data and status information be tool
There are the specific data of type of type corresponding with the application program of at least one processing equipment.The method of embodiment includes:Will
Data capsule shape, which turns into, includes at least one data sequence, and the data capsule is with including at least one data sequence and application
The data structure of the unrelated expression of program.
At least one data sequence of the generation of embodiment includes:Generation includes the first respective number of the first respective event data
According to collection.At least one data sequence of the generation of embodiment includes:Generation includes the second respective data of the second respective status information
Collection.At least one data sequence of the generation of embodiment includes:By the first data sequence be formed as including the first respective data set and
Second respective data set.
The respective data set of generation first of embodiment includes:First respective data set is formed as to include at least one processing
The mark data of equipment, the mark data includes the data for identifying at least one processing equipment.
At least one data sequence of the generation of embodiment includes:Generation includes the first respective number of the first respective event data
According to collection.At least one data sequence of the generation of embodiment includes:Generation includes the second respective data of the second respective status information
Collection.At least one data sequence of the generation of embodiment includes:By the second data sequence be formed as including the first respective data set and
Second respective data set.
The respective data set of generation first of embodiment includes:The first respective data set offset is generated, wherein, this is first respective
Data set offset points to the first respective data set of the second data sequence.
The respective data set of generation second of embodiment includes:The second respective data set offset is generated, wherein, this is second respective
Data set offset points to the second respective data set of the second data sequence.
First respective data set of embodiment is description chained list, and this, which describes chained list, includes the description of data.
The event data of embodiment is the byte sequence for the labeling for representing typed data.
The event data of embodiment includes type header and the specific data layout of type.
The status information of embodiment is the byte sequence for the labeling for representing typed data.
The status information of embodiment includes type header and the specific data layout of type.
The method of embodiment includes:Generate at least one skew.The method of embodiment includes:Data capsule shape is turned into bag
Include at least one skew.
The method of embodiment includes:First skew of the generation with the first variable-length, wherein, first skew is pointed to
The event data of the first data sequence in a few data sequence.
The method of embodiment includes:Second skew of the generation with the second variable-length, wherein, second skew is pointed to
The status information of the first data sequence in a few data sequence.
The method of embodiment includes:Pass through data capsule formation first code using the first skew at least one skew
Path.The method of embodiment includes:Pass through data capsule formation second code road using the second skew at least one skew
Footpath, wherein, first code path and second code path are different paths.
At least one in the first skew and the second skew of embodiment includes metadata, and the metadata is included with applying journey
The corresponding context certain metadata of context of sequence.
The method of embodiment includes:Generation includes the head of the length of data capsule.The method of embodiment includes:This is counted
Turning into according to capsule shape includes the head.
The method of embodiment includes:Data capsule is sent to the pond in multiple ponds.
The method of embodiment includes:Detect the second event of at least one processing equipment.The method of embodiment includes:Many
Data capsule corresponding with second event is searched in individual pond.
The method of embodiment includes:Correspondence between identification data capsule and second event.The method of embodiment includes:
In response to recognizing the extraction data capsule from pond.The method of embodiment includes:In response to the content of data capsule, at least one is represented
Individual processing equipment performs processing operation corresponding with second event, wherein, at least one processing equipment and the first kind are answered
With program and the second application program of Second Type correspondence.
Multiple application programs are coupled in multiple ponds of embodiment, and multiple ponds include many numbers corresponding with multiple application programs
According to capsule, multiple ponds provide the access by multiple application programs to multiple data capsules, wherein, in multiple application programs extremely
Few two application programs are different application programs.
Multiple ponds of embodiment provide the state cache of multiple data capsules.
Multiple ponds of embodiment provide the linear ordering of multiple data capsules.
The data structure of embodiment is non-typed.
The data structure offer event data of the data capsule of embodiment and being represented with platform-independent for status information.
The data structure offer event data of the data capsule of embodiment and being accessed with platform-independent for status information.
The transmission of embodiment includes:Data capsule is sent to from the first application program with the first Application Type
At least one second application program with least one the second Application Type, wherein, the first Application Type and
Two Application Types are different, wherein, generate at least one data sequence by the first application program to perform, methods described bag
Include:Keep at least one data sequence of data capsule intact during transmitting.
The method of embodiment includes:At least one data sequence is used during the operation of the second application program.
The method of embodiment includes:Generation includes the event data and mark data of the source device of at least one processing equipment
The first data acquisition system, device events data include specify source device registration event data, mark data include mark source
The data of equipment.
The method of embodiment includes:Generation includes the second data set of the complete set of the status information of event, wherein, the
Each in one data set and the second data set includes the typed data bundle in the specific data layout of type.
The translation of embodiment includes:By the way that data capsule shape is encapsulated as the first data set and the second data set is included
First data set and the second data set, wherein, data capsule, which has, includes the unrelated with application program of at least one data sequence
Expression data structure.
The method of embodiment includes:Detect the event for the first processing equipment run under the application program of the first kind.
The method of embodiment includes:Generation include the first processing equipment event data data sequence, event data specify event with
The status information of event, wherein, event data and status information are that the type with type corresponding with application program is specific
Data.The method of embodiment includes:Data capsule shape, which is turned into, includes data sequence, and data capsule, which has, includes data sequence
The data structure of the expression unrelated with application program.The method of embodiment includes:Detection is with least one Second Type
The second event for the second processing equipment run under at least one second application program, wherein, Second Type and the first kind are not
Together, wherein, at least one processing equipment include the first processing equipment and second processing equipment.The method of embodiment includes:Identification
Correspondence between data capsule and second event.The method of embodiment includes:Using the content of the data sequence of data capsule,
Operation is performed in response to second event.
The generation data sequence of embodiment includes:Generation includes the first data set of event data.The generation number of embodiment
Include according to sequence:Generation includes the second data set of status information.The generation data sequence of embodiment includes:By the first data sequence
Row are formed as including the first data set and the second data set.
The event data of embodiment is the byte sequence for the labeling for representing typed data.
The event data of embodiment includes type header and the specific data layout of type.
The status information of embodiment is the byte sequence for the labeling for representing typed data.
The status information of embodiment includes type head and type-specific data layout.
The method of embodiment includes:Generate at least one skew.The method of embodiment includes:Data capsule shape is turned into bag
Include at least one skew.
The method of embodiment includes:First skew of the generation with the first variable-length, wherein, the first skew is pointed at least
The event data of the first data sequence in one data sequence.The method of embodiment includes:Generation has the second variable-length
Second skew, wherein, second skew point at least one data sequence in the first data sequence status information.
The method of embodiment includes:Pass through data capsule formation first code using the first skew at least one skew
Path.The method of embodiment includes:Pass through data capsule formation second code road using the second skew at least one skew
Footpath, wherein, first code path and second code path are different paths.
At least one in the first skew and the second skew of embodiment includes metadata, and metadata includes and application program
The corresponding context certain metadata of context.
The method of embodiment includes:Data capsule is sent to the pond in multiple ponds.
The method of embodiment includes:Data capsule corresponding with second event is searched in multiple ponds.The method of embodiment
Including:Data capsule is extracted in identification in response to correspondence from pond.
Application program and at least one second application program are coupled in multiple ponds of embodiment, and multiple ponds are included with applying journey
Sequence multiple data capsules corresponding with least one second application program, multiple ponds provide by application program and at least one the
Access of two application programs to multiple data capsules.
Multiple ponds of embodiment provide the state cache of multiple data capsules.
Multiple ponds of embodiment provide the linear ordering of multiple data capsules.
The data structure of embodiment is non-typed.
The data structure offer event data of the data capsule of embodiment and being represented with platform-independent for status information.
The data structure of the data capsule of embodiment provides being accessed with platform-independent to event data and status information.
Embodiment described here includes a kind of method, including:Multiple processes, multiple process bags are performed on a processing device
The separable program for including multiple application programs performs context, wherein, each application program includes at least one process;To be many
The event of each process of individual process translates to data-message, wherein, data-message includes the shape for initiating the process of data-message
The expression unrelated with application program of the event data of state information and event;Data-message is sent to at least one in multiple ponds
Individual pond;Coordinate between process, the coordination includes:By retrieving the status information of peer process, Duo Gejin from multiple ponds
Each process in journey is coordinated with the peer process in multiple processes;And by alternatively combining in multiple ponds at least
The set of the data-message in one pond generates the output of multiple processes.
Embodiment described here includes a kind of system, including:At least one processing equipment, processing equipment perform it is multiple enter
Journey;And multiple ponds, it is coupled at least one processing equipment;At least one processing equipment is by each process in multiple processes
Event translates to data capsule, and data capsule is sent into multiple ponds;Each process of multiple processes is used as identification process
Operation, identification process is recognized in multiple ponds including content corresponding with the interactive function for recognizing process and the mark for recognizing process
In the data capsule of at least one;The data capsule of identification process retrieval from multiple ponds, and perform to identification
The processing of the content of data capsule suitably.
Embodiment described here includes a kind of method, including:Multiple processes are performed at least one processing equipment, it is many
The separable program that individual process includes multiple application programs performs context, wherein, each application program includes at least one
Process;The event of each process in multiple processes is translated into data capsule, wherein, data capsule includes initiating data capsule
State of a process information and event event data the expression unrelated with application program;Data capsule is sent to multiple
Pond;Each process as identification process operation, identification process recognize in multiple ponds including the interactive function with identification process and
The data capsule of at least one in the corresponding content of mark of identification process;And identification process retrieval from multiple ponds
Data capsule, and perform the processing to the content of the data capsule of identification suitably.
The method of embodiment includes:Using data capsule and multiple ponds by coordinating the behaviour of each process in multiple processes
Make from multiple processes formation interactive application.
The method of embodiment includes:Coordinate the behaviour of multiple processes using at least one in data capsule and multiple ponds
Make.
The method of embodiment includes:Application program is divided into the set of process, wherein, multiple processes include the collection of process
Close.
The method of embodiment includes process by alternatively handling the numbers of multiple retrievals at least one pond in multiple ponds
Output is generated according to capsule.
The method of embodiment includes:Multiple processes are performed parallel.
The method of embodiment includes:The first set of parallel executive process, and the second set of order executive process, its
In, multiple processes include the first set of process and the second set of process.
The representations of events process input of embodiment.
The representations of events process output of embodiment.
The event of embodiment includes user interface event.
The event of embodiment includes graphical event.
The representations of events process status of embodiment.
The state of a process of embodiment represents the interactive function of process, wherein, the interactive function of process is used as data capsule
Content exposure in multiple processes.
The method of embodiment includes:The application programming interface of multiple processes is defined by the content of data capsule
API, rather than define by funcall the API.
The content of the data capsule of embodiment is unrelated with application program and can be by multiple progress recognizing.
At least one processing equipment of embodiment includes multiple processing equipment.
At least one of the first set of at least one process in multiple processes of embodiment in multiple processing equipment
Run under the first set of processing equipment, the second set of at least one process in multiple processes is in multiple processing equipment
Run under the second set of at least one processing equipment.
Multiple processes of embodiment include the first process.
The translation of embodiment includes:The event of first process is transformed to the first process event data for including specifying event
With at least one data sequence of the status information of event.
The the first process event data and status information of embodiment are that have class corresponding with the application program of the first process
The specific data of type of type.
The translation of embodiment includes:Data capsule shape, which is turned into, includes at least one data sequence, and data capsule has bag
Include the data structure of the expression unrelated with application program of at least one data sequence.
Multiple processes of embodiment include the second process.
The translation of embodiment includes:Second state of a process is changed into the second process that event is transformed to include specifying event
At least one data sequence of the status information of event data and event.
The the second process event data and status information of embodiment are that have class corresponding with the application program of the second process
The specific data of type of type.
The translation of embodiment includes:Data capsule shape, which is turned into, includes at least one data sequence, and data capsule has bag
Include the data structure of the expression unrelated with application program of at least one data sequence.
The identification process of embodiment is the second process, and retrieval includes:The data capsule of retrieval from multiple ponds, and
Perform the second process of the processing to the content of the data capsule of identification suitably.
The content of the data capsule of the identification of embodiment is the data for representing the first state of a process information.
The translation of embodiment includes:It is at least one new data sequence by the content conversion of the data capsule of identification, extremely
A few new data sequence represents at least one in the event of the first process and the event of the second process.
The new data sequence of at least one of embodiment includes the first process and at least one process in the second process
The event data of status information and specified event.
First process of embodiment and the event data and status information of at least one process in the second process are that have
The specific data of type of type corresponding with the application program of at least one process in the first process and the second process.
The translation of embodiment includes:Data capsule shape, which is turned into, includes at least one new data sequence, data capsule tool
There is the data structure of the expression unrelated with application program including at least one new data sequence.
Multiple processes of embodiment use at least one new data sequence.
Multiple processes of embodiment include input process, and input process receives incoming event from input equipment.
The translation of embodiment includes:The incoming event of input equipment is transformed to the input equipment event for including specifying event
At least one data sequence of the status information of data and event.
The input equipment event data and status information of embodiment are that have type corresponding with the application program of source device
The specific data of type.
The translation of embodiment includes:Data capsule shape, which is turned into, includes at least one data sequence, and data capsule has bag
Include the data structure of the expression unrelated with application program of at least one data sequence.
Multiple processes of embodiment include pointer process.
The identification process of embodiment is pointer process, and retrieval includes:The data capsule of retrieval from multiple ponds, and
Perform the pointer process of the processing to the content of the data capsule of identification suitably.
The content of the data capsule of the identification of embodiment is the data for representing the incoming event from input process.
The content of the data capsule of the identification of embodiment is to represent the user of at least one processing equipment on display just
The data of the position of instruction pointer object.
The translation of embodiment includes:It is at least one new data sequence by the content conversion of the data capsule of identification, extremely
The position that a few new data sequence pointer object is defined on display.
The new data sequence of at least one of embodiment includes the pointer process event data and pointer process for specifying event
The status information of event.
The pointer process event data and status information of embodiment are that have class corresponding with the application program of pointer process
The specific data of type of type.
The translation of embodiment includes:Data capsule shape, which is turned into, includes at least one new data sequence, data capsule tool
There is the data structure of the expression unrelated with application program including at least one new data sequence.
Multiple processes of embodiment render pointer object over the display using at least one new data sequence.
Multiple processes of embodiment include graphic processes.
The translation of embodiment includes:The state change event of graphic processes is transformed to the graphic processes for including specifying event
At least one data sequence of the status information of event data and event.
The graphic processes event data and status information of embodiment are that have class corresponding with the application program of graphic processes
The type-specific data of type.
The translation of embodiment includes:Data capsule shape, which is turned into, includes at least one data sequence, and data capsule has bag
Include the data structure of the expression unrelated with application program of at least one data sequence.
The identification process of embodiment is graphic processes, and retrieval includes:The data capsule of retrieval from multiple ponds, and
Perform the graphic processes of the processing to the content of the data capsule of identification suitably.
The content of the data capsule of the identification of embodiment is the number for representing another state of a process information in multiple processes
According to.
The status information of embodiment includes the information of at least one in spatiality and mode state.
The content of the data capsule of the identification of embodiment is to represent the user of at least one processing equipment on display just
The data of the position of instruction pointer object.
The position of the pointer object of embodiment in the border of Drawing Object, wherein, Drawing Object is rendered by graphic processes.
The translation of embodiment includes:It is at least one new data sequence by the content conversion of the data capsule of identification, extremely
A few new data sequence represents at least one in Drawing Object, pointer object, pointer object and the overlapping part on border.
The new data sequence of at least one of embodiment includes the graphic processes event data graphic processes thing for specifying event
The status information of part.
The graphic processes event data and status information of embodiment are that have class corresponding with the application program of graphic processes
The specific data of type of type.
The translation of embodiment includes:Data capsule shape, which is turned into, includes at least one new data sequence, data capsule tool
There is the data structure of the expression unrelated with application program including at least one new data sequence.
Multiple processes of embodiment render Drawing Object and pointer over the display using at least one new data sequence
At least one in object.
The processing of the content of the data capsule to identification of embodiment suitably includes:Drawing Object is rendered, wherein, figure pair
As rendering on the display of at least one processing equipment.
Embodiment render including:Directly render, plurality of process is drawn directly into the figure of at least one processing equipment
Shape layer, wherein, multiple ponds are used for for rendering coordination suitably between multiple processes.
Embodiment render including:Multiple processes in multiple ponds will be sent to including rendering the data capsule of order.Implement
Example render including:Order is rendered from the retrieval of multiple ponds, explanation renders order, and drives at least one in response to rendering order
Multiple processes of the graph layer of processing equipment.
Embodiment renders multiple processes including being rendered into pixel buffer.Embodiment is rendered including by original frame number
According to the multiple processes for being sent to multiple ponds, original frame data to rendering for pixel buffer by producing.Embodiment renders bag
Include and original frame data is retrieved from multiple ponds, and combine original frame data, to drive the figure of at least one processing equipment
The multiple processes used in layer.
The method of embodiment includes:Detect the event of multiple processes.The method of embodiment includes:Generation includes specifying event
Event data and event status information at least one data sequence, wherein, event data and status information be have with
The specific data of type of the corresponding type of application program of at least one processing equipment.The method of embodiment includes:By data
Capsule shape, which turns into, includes at least one data sequence, data capsule with include at least one data sequence with application program without
The data structure of the expression of pass.
At least one data sequence of the generation of embodiment includes:Generation includes the first respective number of the first respective event data
According to collection.At least one data sequence of the generation of embodiment includes:Generation includes the second respective data of the second respective status information
Collection.At least one data sequence of the generation of embodiment includes:By the first data sequence be formed as including the first respective data set and
Second respective data set.
The respective data set of generation first of embodiment includes:First respective data set is formed as to include at least one processing
The mark data of equipment, mark data includes the data for identifying at least one processing equipment.
At least one data sequence of the generation of embodiment includes:Generation includes the first respective number of the first respective event data
According to collection.At least one data sequence of generation of embodiment includes:Generation includes the second respective number of the second respective status information
According to collection.At least one data sequence of the generation of embodiment includes:Second data sequence is formed as to include the first respective data set
With the second respective data set.
The respective data set of generation first of embodiment includes:The first respective data set offset is generated, wherein, first each counts
The first respective data set of the second data sequence is pointed to according to collection skew.
The respective data set of generation second of embodiment includes:The second respective data set offset is generated, wherein, second each counts
The second respective data set of the second data sequence is pointed to according to collection skew.
First respective data set of embodiment is description chained list, and description chained list includes the description of data.
The event data of embodiment is the byte sequence for the labeling for representing typed data.
The event data of embodiment includes type header and the specific data layout of type.
The status information of embodiment is the byte sequence for the labeling for representing typed data.
The status information of embodiment includes type header and the specific data layout of type.
The method of embodiment includes:Generate at least one skew.The method of embodiment includes:Data capsule shape is turned into bag
Include at least one skew.
The method of embodiment includes:First skew of the generation with the first variable-length, wherein, the first skew is pointed at least
The event data of the first data sequence in one data sequence.
The method of embodiment includes:Second skew of the generation with the second variable-length, wherein, the second skew is pointed at least
The status information of the first data sequence in one data sequence.
The method of embodiment includes:Pass through data capsule formation first code using the first skew at least one skew
Path.The method of embodiment includes:Pass through data capsule formation second code road using the second skew at least one skew
Footpath, wherein, first code path and second code path are different paths.
At least one in the first skew and the second skew of embodiment includes metadata, and metadata includes and application program
The corresponding context certain metadata of context.
The method of embodiment includes:Generation includes the head of the length of data capsule.The method of embodiment includes:By data
Capsule shape, which turns into, includes head.
The method of embodiment includes:Data capsule is sent to the pond in multiple ponds.
The method of embodiment includes:Detect the second event of at least one processing equipment.The method of embodiment includes:Many
Data capsule corresponding with second event is searched in individual pond.
The method of embodiment includes:Correspondence between identification data capsule and second event.
The method of embodiment includes:In response to recognizing the extraction data capsule from pond.The method of embodiment includes:In response to
The content of data capsule, represents at least one processing equipment and performs processing operation corresponding with second event, wherein, at least one
Processing equipment is corresponding with the application program of the first kind and the second application program of Second Type.
Multiple application programs are coupled in multiple ponds of embodiment, and multiple ponds include many numbers corresponding with multiple application programs
According to capsule, multiple ponds provide the access by multiple application programs to multiple data capsules, wherein, in multiple application programs extremely
Few two application programs are different application programs.
Multiple ponds of embodiment provide the state cache of multiple data capsules.
Multiple ponds of embodiment provide the linear ordering of multiple data capsules.
The data structure of embodiment is non-typed.
The data structure offer event data of the data capsule of embodiment and being represented with platform-independent for status information.
The data structure of the data capsule of embodiment provides being accessed with platform-independent to event data and status information.
Transmission includes:Data capsule is sent to at least from the first application program with the first Application Type
At least one second application program of one the second Application Type, wherein, the first Application Type and second applies journey
Sequence type is different, wherein, generate at least one data sequence by the first application program to perform, methods described includes:In transmission
Period keeps at least one data sequence of data capsule intact.
The method of embodiment includes:At least one data sequence is used during the operation of the second application program.
The method of embodiment includes:Generation includes the event data and mark data of the source device of at least one processing equipment
The first data set, device events data include the data for specifying the event of source device registration, and mark data sets including mark source
Standby data.
The method of embodiment includes:Generation includes the second data set of the complete set of the status information of event, wherein, the
Each in one data set and the second data set includes the typed data bundle in the specific data layout of type.
The translation of embodiment includes:By the way that data capsule shape is encapsulated as the first data set and the second data set is included
First data set and the second data set, wherein, data capsule, which has, includes the unrelated with application program of at least one data sequence
Expression data structure.
The method of embodiment includes:Detect the event for the first processing equipment run under the application program of the first kind;
Generation includes the data sequence of the event data of the first processing equipment, and event data specifies the status information of event and event, its
In, event data and status information are the specific data of type with type corresponding with application program;By data capsule shape
As including data sequence, data capsule has the data structure for the expression unrelated with application program for including data sequence;Inspection
The second event for the second processing equipment run under with the application program of at least one of at least one Second Type second is surveyed,
Wherein, Second Type is different from the first kind, wherein, at least one processing equipment includes the first processing equipment and second processing is set
It is standby;Correspondence between identification data capsule and second event;And using data capsule data sequence content, in response to
Second event performs operation.
The generation data sequence of embodiment includes:Generation includes the first data set of event data.The generation number of embodiment
Include according to sequence:Generation includes the second data set of status information.The generation data sequence of embodiment includes:By the first data sequence
Row are formed as including the first data set and the second data set.
The event data of embodiment is the byte sequence for the labeling for representing typed data.
The event data of embodiment includes type header and the specific data layout of type.
The status information of embodiment is the byte sequence for the labeling for representing typed data.
The status information of embodiment includes type header and the specific data layout of type.
The method of embodiment includes:Generate at least one skew.The method of embodiment includes:Data capsule shape is turned into bag
Include at least one skew.
The method of embodiment includes:First skew of the generation with the first variable-length, wherein, the first skew is pointed at least
The event data of the first data sequence in one data sequence.The method of embodiment includes:Generation has the second variable-length
Second skew, wherein, second skew point at least one data sequence in the first data sequence status information.
The method of embodiment includes:Pass through data capsule formation first code using the first skew at least one skew
Path.The method of embodiment includes:Pass through data capsule formation second code road using the second skew at least one skew
Footpath, wherein, first code path and second code path are different paths.
At least one in the first skew and the second skew of embodiment includes metadata, and metadata includes and application program
The corresponding context certain metadata of context.
The method of embodiment includes:Data capsule is sent to the pond in multiple ponds.
The method of embodiment includes:Data capsule corresponding with second event is searched in multiple ponds.The method of embodiment
Including:Data capsule is extracted in identification in response to correspondence from pond.
Application program and at least one second application program are coupled in multiple ponds of embodiment, and multiple ponds include and the application
Program multiple data capsules corresponding with least one second application program, multiple ponds, which are provided, passes through the application program and at least one
Access of individual second application program to multiple data capsules.
Multiple ponds of embodiment provide the state cache of multiple data capsules.
Multiple ponds of embodiment provide the linear ordering of multiple data capsules.
The data structure of embodiment is non-typed.
The data structure offer event data of the data capsule of embodiment and being represented with platform-independent for status information.
The data structure of the data capsule of embodiment provides being accessed with platform-independent to event data and status information.
Embodiment described here includes a kind of method, including:Application program is divided into multiple processes;Using it is multiple enter
Process in journey generates the part of the output of application program;Encapsulate the part of output in the first data capsule, and by
One data capsule is sent at least one pond in multiple ponds, wherein, multiple ponds include the multiple data received from multiple processes
Capsule;Multiple ponds are accessed, and the second process in multiple processes is retrieved in input, wherein, input in multiple data capsules
The second data capsule in;And use multiple data capsules and multiple ponds Coordination Treatment between multiple processes.
Embodiment described here includes a kind of system, including:At least one processing equipment, processing equipment perform it is multiple enter
Journey, the separable program that multiple processes include multiple application programs performs context, wherein, each application program is included at least
One process;And multiple ponds, it is coupled at least one processing equipment;At least one processing equipment will be each in multiple processes
The event of process translates to data capsule, and data capsule is sent into multiple ponds, wherein, data capsule includes initiating data
The expression unrelated with application program of the state of a process information of capsule and the event data of event;Each process as recognize into
Journey is operated, and identification process is recognized in multiple ponds to be included in corresponding with the interactive function and the mark of identification process for recognizing process
The data capsule of at least one in appearance;The data capsule of identification process retrieval from multiple ponds, and perform to identification
Data capsule the appropriate processing of content.
Embodiment described here includes a kind of method, including:The posture that body is carried out is detected from attitude data, wherein,
Attitude data is received via detector;Multiple processes are performed on a processing device, and multiple processes generate event, and event includes representing
The set of the event of posture;The event of each process in multiple processes is translated into data capsule;Data capsule is sent to
Multiple ponds;The set of process in multiple processes is as identification process operation, and identification process is recognized in multiple ponds to be included and appearance
The data capsule of the corresponding content of state;And the data capsule of identification process retrieval from multiple ponds, and pass through synthesis
The content of the data capsule of identification to be formed attitude signal to generate attitude signal from the data capsule of identification, wherein, posture letter
Number represent posture.
Multiple processes of embodiment include the separable program program execution context that spatial operation is applied.
The attitude data of embodiment is absolute three locus of immediate status of the user at the point in time and space
Data.
The method of embodiment includes:Posture is recognized using only attitude data.
The detection of embodiment includes:In the position of detection body, the direction for detecting body and the motion for detecting body extremely
It is few one.
The method of embodiment includes:Posture is recognized, wherein, identification includes:Recognize posture and the direction of the part of body.
The detection of embodiment includes:Detect at least one in the first set of appendage and the second set of appendage of body
It is individual.
The detection of embodiment includes:Dynamically the position of at least one label of body is coupled in detection.
The detection of embodiment includes:The position of the set of the label of body is coupled in detection.
Each label in the set of the label of embodiment includes pattern, wherein, each label in the set of label
Each pattern is different from any pattern of remaining any label of multiple labels.
The detection of embodiment includes:Dynamically detect and position the mark on body.
The detection of embodiment includes:The position of the set of the mark of body is coupled in detection.
Being integrated on body for the mark of embodiment forms multiple patterns.
The detection of embodiment includes:Detected using the set of the mark of each in the multiple appendages for being coupled to body
The position of multiple appendages of body.
The translation of embodiment includes:It is posture symbol by the information translation of posture.
The posture symbol of embodiment represents posture vocabulary, and attitude signal includes the communication of posture vocabulary.
The posture vocabulary of embodiment represents the instant posture state of the kinematics link of body in the form of text.
The posture vocabulary of embodiment represents the direction of the kinematics link of body in the form of text.
The posture vocabulary of embodiment represents the combination in the direction of the kinematics link of body in the form of text.
The posture vocabulary of embodiment includes the string for representing the character of the state of the kinematics link of body.
The kinematics link of embodiment is at least one first appendage of body.
The method of embodiment includes:The second appendage is distributed into each position in string, it is attached that the second appendage is connected to first
Limb.
The method of embodiment includes:Character in multiple characters is distributed to each in multiple positions of the second appendage
It is individual.
Multiple positions of embodiment are set up relative to the origin of coordinates.
The method of embodiment includes:Overall positions regardless of body and towards and being handed in response to the action of body
Mutually, selected in the group constituted using the absolute position and direction from by space, relative to the fixed position and direction of body
The origin of coordinates is set up in the position selected.
The method of embodiment includes:Character in multiple characters is distributed to each in the multiple directions of the first appendage
It is individual.
The detection of embodiment includes:Detect when the position of the extrapolation of body intersects with Virtual Space, wherein, Virtual Space
It is included in the space described on the display device for be coupled at least one processing equipment.
The method of embodiment includes:When (extrapolated) position of extrapolation intersects with virtual objects, control is virtual
Virtual objects in space.
The control of embodiment includes:It is virtual right in control Virtual Space in response to the position of extrapolation in Virtual Space
The position of elephant.
The control of embodiment includes:In response to posture, the situation of the virtual objects in Virtual Space is controlled.
The method of embodiment includes:Control detection and the ratio of control, to generate between Virtual Space and physical space
Uniformity, wherein, Virtual Space includes the space described over the display, wherein, physical space includes the space that body is occupied.
The method of embodiment includes:Virtual sky is controlled in response to movement of at least one physical object in physical space
Between at least one virtual objects.
The method of embodiment includes:Using attitude signal control assembly, the component is coupled at least one processing equipment.
The control of the component of embodiment includes:By the way that posture is mapped into three spatial objects come simultaneously by six freedom
Degree three spatial objects of control.
The control of the component of embodiment includes:Three spaces are controlled by three translation freedoms and three rotary freedoms
Object.
Three spatial objects of embodiment show on the display device for be coupled at least one processing equipment.
Three spatial objects of embodiment are coupled to computer remote system.
The method of embodiment includes:Three spaces are controlled by the way that posture to be mapped to multiple objects translation of three spatial objects
The motion of object.
The mapping of embodiment includes:Direct mapping between posture and the translation of multiple objects.
The mapping of embodiment includes:Indirect mappers between posture and the translation of multiple objects.
The data capsule of embodiment include initiate data-message state of a process information and event event data with
The unrelated expression of application program.
The method of embodiment includes:Using data capsule and multiple ponds by coordinating the operation of each in multiple processes
Interactive application program is formed from multiple processes.
The method of embodiment includes:Coordinate the behaviour of multiple processes using at least one in data capsule and multiple ponds
Make.
The method of embodiment includes:Application program is divided into the set of process, wherein, multiple processes include the collection of process
Close.
The method of embodiment includes the data glue of multiple retrievals by alternatively handling at least one pond in multiple ponds
Capsule generates the process of output.
The separable program that multiple processes of embodiment include multiple application programs performs context, wherein, Mei Geying
Include at least one process with program.
The method of embodiment includes:Multiple processes are performed parallel.
The method of embodiment includes:The first set of parallel executive process, and the second set of order executive process, its
In, multiple processes include the first set of process and the second set of process.
The representations of events process input of embodiment.
The representations of events process output of embodiment.
The event of embodiment includes user interface event.
The event of embodiment includes graphical event.
The representations of events process status of embodiment.
The process status of embodiment represents the interactive function of process, wherein, the interactive function of process is used as data capsule
Content exposure is in multiple processes.
The method of embodiment includes:The application programming interface of multiple processes is defined by the content of data capsule
(API) API, rather than by funcall is defined.
The content of the data capsule of embodiment is unrelated with application program and can be by multiple progress recognizing.
At least one processing equipment of embodiment includes multiple processing equipment.
At least one of the first set of at least one process in multiple processes of embodiment in multiple processing equipment
Run under the first set of processing equipment, the second set of at least one process in multiple processes is in multiple processing equipment
Run under the second set of at least one processing equipment.
Multiple processes of embodiment include the first process.
The translation of embodiment includes:The event of first process is transformed to the first process event data for including specifying event
With at least one data sequence of the status information of event.
The the first process event data and status information of embodiment are that have class corresponding with the application program of the first process
The specific data of type of type.
The translation of embodiment includes:Data capsule shape, which is turned into, includes at least one data sequence, and data capsule has bag
Include the data structure of the expression unrelated with application program of at least one data sequence.
Multiple processes of embodiment include the second process.
The translation of embodiment includes:Second state of a process is changed into the second process that event is transformed to include specifying event
At least one data sequence of the status information of event data and event.
The the second process event data and status information of embodiment are that have class corresponding with the application program of the second process
The specific data of type of type.
The translation of embodiment includes:Data capsule shape, which is turned into, includes at least one data sequence, and data capsule has bag
Include the data structure of the expression unrelated with application program of at least one data sequence.
The identification process of embodiment is the second process, and retrieval includes:The data capsule of retrieval from multiple ponds, and
Perform the second process of the processing to the content of the data capsule of identification suitably.
The content of the data capsule of the identification of embodiment is the data for representing the first state of a process information.
The translation of embodiment includes:It is at least one new data sequence by the content conversion of the data capsule of identification, should
At least one new data sequence represents at least one in the event of the first process and the event of the second process.
The new data sequence of at least one of embodiment includes the first process and at least one process in the second process
The event data of status information and specified event.
First process of embodiment and the event data and status information of at least one process in the second process are that have
The specific data of type of type corresponding with the application program of at least one process in the first process and the second process.
The translation of embodiment includes:Data capsule shape, which is turned into, includes at least one new data sequence, data capsule tool
There is the data structure of the expression unrelated with application program including at least one new data sequence.
Multiple processes of embodiment use at least one new data sequence.
The processing of the content of the data capsule to identification of embodiment suitably includes:Drawing Object is rendered, wherein, at least
Drawing Object is rendered on the display of one processing equipment.
Embodiment render including:Directly render, plurality of process is drawn directly into the figure of at least one processing equipment
Shape layer, wherein, multiple ponds are used for for rendering coordination suitably between multiple processes.
Embodiment is rendered including multiple processes by multiple ponds are sent to including rendering the data capsule of order.Embodiment
Render and render order including the retrieval from multiple ponds, explanation renders order, and is driven in response to rendering order at least one
Manage multiple processes of the graph layer of equipment.
Embodiment renders multiple processes including being rendered into pixel buffer.Embodiment is rendered including by original frame number
According to the multiple processes for being sent to multiple ponds, original frame data to rendering for pixel buffer by producing.Embodiment renders bag
Include and original frame data is retrieved from multiple ponds, and combine original frame data to drive the graph layer of at least one processing equipment
The middle multiple processes used.
The method of embodiment includes:Detect the event of multiple processes.The method of embodiment includes:Generation includes specifying event
Event data and event status information at least one data sequence, wherein, event data and status information be have with
The specific data of type of the corresponding type of application program of at least one processing equipment.The method of embodiment includes:By data
Capsule shape, which turns into, includes at least one data sequence, data capsule with include at least one data sequence with application program without
The data structure of the expression of pass.
At least one data sequence of the generation of embodiment includes:Generation includes the first respective number of the first respective event data
According to collection.At least one data sequence of the generation of embodiment includes:Generation includes the second respective data of the second respective status information
Collection.At least one data sequence of the generation of embodiment includes:By the first data sequence be formed as including the first respective data set and
Second respective data set.
The respective data set of generation first of embodiment includes:First respective data set is formed as to include at least one processing
The mark data of equipment, mark data includes the data for identifying at least one processing equipment.
At least one data sequence of the generation of embodiment includes:Generation includes the first respective number of the first respective event data
According to collection.At least one data sequence of the generation of embodiment includes:Generation includes the second respective data of the second respective status information
Collection.At least one data sequence of the generation of embodiment includes:By the second data sequence be formed as including the first respective data set and
Second respective data set.
The respective data set of generation first of embodiment includes:The first respective data set offset is generated, wherein, first each counts
The first respective data set of the second data sequence is pointed to according to collection skew.
The respective data set of generation second of embodiment includes:The second respective data set offset is generated, wherein, second each counts
The second respective data set of the second data sequence is pointed to according to collection skew.
First respective data set of embodiment is description chained list, and description chained list includes the description of data.
The event data of embodiment is the byte sequence for the labeling for representing typed data.
The event data of embodiment includes type header and the specific data layout of type.
The status information of embodiment is the byte sequence for the labeling for representing typed data.
The status information of embodiment includes type header and the specific data layout of type.
The method of embodiment includes:Generate at least one skew.The method of embodiment includes:Data capsule shape is turned into bag
Include at least one skew.
The method of embodiment includes:First skew of the generation with the first variable-length, wherein, the first skew is pointed at least
The event data of the first data sequence in one data sequence.
The method of embodiment includes:Second skew of the generation with the second variable-length, wherein, the second skew is pointed at least
The status information of the first data sequence in one data sequence.
The method of embodiment includes:Pass through data capsule formation first code using the first skew at least one skew
Path.The method of embodiment includes:Pass through data capsule formation second code road using the second skew at least one skew
Footpath, wherein, first code path and second code path are different paths.
At least one in the first skew and the second skew of embodiment includes metadata, and metadata includes and application program
The corresponding context certain metadata of context.
The method of embodiment includes:Generation includes the head of the length of data capsule.The method of embodiment includes:By data
Capsule shape, which turns into, includes head.
The method of embodiment includes:Data capsule is sent to the pond in multiple ponds.
The method of embodiment includes:Detect the second event of at least one processing equipment.The method of embodiment includes:Many
Data capsule corresponding with second event is searched in individual pond.
The method of embodiment includes:Correspondence between identification data capsule and second event.The method of embodiment includes:
In response to recognizing the extraction data capsule from pond.The method of embodiment includes:In response to the content of data capsule, at least one is represented
Individual processing equipment performs processing operation corresponding with second event, wherein, the application of at least one processing equipment and the first kind
Program and the second application program of Second Type correspondence.
Multiple application programs are coupled in multiple ponds of embodiment, and multiple ponds include many numbers corresponding with multiple application programs
According to capsule, multiple ponds provide the access by multiple application programs to multiple data capsules, wherein, in multiple application programs extremely
Few two application programs are different application programs.
Multiple ponds of embodiment provide the state cache of multiple data capsules.
Multiple ponds of embodiment provide the linear ordering of multiple data capsules.
The data structure of embodiment is non-typed.
The data structure offer event data of the data capsule of embodiment and being represented with platform-independent for status information.
The data structure of the data capsule of embodiment provides being accessed with platform-independent to event data and status information.
The transmission of embodiment includes:Data capsule is sent to from the first application program with the first Application Type
At least one second application program with least one the second Application Type, wherein, the first Application Type and
Two Application Types are different, wherein, generate at least one data sequence by the first application program to perform, methods described bag
Include:Keep at least one data sequence of data capsule intact during transmitting.
The method of embodiment includes:At least one data sequence is used during the operation of the second application program.
The method of embodiment includes:Generation includes the event data and mark data of the source device of at least one processing equipment
The first data set, device events data include the data for specifying the event of source device registration, and mark data sets including mark source
Standby data.
The method of embodiment includes:Generation includes the second data set of the complete set of the status information of event, wherein, the
Each in one data set and the second data set includes the typed data bundle in the specific data layout of type.
The translation of embodiment includes:By the way that data capsule shape is encapsulated as the first data set and the second data set is included
First data set and the second data set, wherein, data capsule, which has, includes the unrelated with application program of at least one data sequence
Expression data structure.
The method of embodiment includes:Detect the event for the first processing equipment run under the application program of the first kind.
The method of embodiment includes:Generation include the first processing equipment event data data sequence, event data specify event with
The status information of event, wherein, event data and status information are that the type with type corresponding with application program is specific
Data.The method of embodiment includes:Data capsule shape, which is turned into, includes data sequence, and data capsule, which has, includes data sequence
The data structure of the expression unrelated with application program.The method of embodiment includes:Detection is with least one Second Type
The second event for the second processing equipment run under at least one second application program, wherein, Second Type and the first kind are not
Together, wherein, at least one processing equipment include the first processing equipment and second processing equipment.The method of embodiment includes:Identification
Correspondence between data capsule and second event.The method of embodiment includes:Using the content of the data sequence of data capsule,
Operation is performed in response to second event.
The generation data sequence of embodiment includes:Generation includes the first data set of event data.The generation number of embodiment
Include according to sequence:Generation includes the second data set of status information.The generation data sequence of embodiment includes:By the first data sequence
Row are formed as including the first data set and the second data set.
The event data of embodiment is the byte sequence for the labeling for representing typed data.
The event data of embodiment includes type header and the specific data layout of type.
The status information of embodiment is the byte sequence for the labeling for representing typed data.
The status information of embodiment includes type header and the specific data layout of type.
The method of embodiment includes:Generate at least one skew.The method of embodiment includes:Data capsule shape is turned into bag
Include at least one skew.
The method of embodiment includes:First skew of the generation with the first variable-length, wherein, the first skew is pointed at least
The event data of the first data sequence in one data sequence.The method of embodiment includes:Generation has the second variable-length
Second skew, wherein, second skew point at least one data sequence in the first data sequence status information.
The method of embodiment includes:Pass through data capsule formation first code using the first skew at least one skew
Path.The method of embodiment includes:Pass through data capsule formation second code road using the second skew at least one skew
Footpath, wherein, first code path and second code path are different paths.
At least one in the first skew and the second skew of embodiment includes metadata, and metadata includes and application program
The corresponding context certain metadata of context.
The method of embodiment includes:Data capsule is sent to the pond in multiple ponds.
The method of embodiment includes:Data capsule corresponding with second event is searched in multiple ponds.The method of embodiment
Including:Data capsule is extracted in identification in response to correspondence from pond.
Application program and at least one second application program are coupled in multiple ponds of embodiment, and multiple ponds are included with applying journey
Sequence multiple data capsules corresponding with least one second application program, multiple ponds provide by application program and at least one the
Access of two application programs to multiple data capsules.
Multiple ponds of embodiment provide the state cache of multiple data capsules.
Multiple ponds of embodiment provide the linear ordering of multiple data capsules.
The data structure of embodiment is non-typed.
The data structure offer event data of the data capsule of embodiment and being represented with platform-independent for status information.
The data structure of the data capsule of embodiment provide to event data and status information to access.
Embodiment described here includes a kind of method, including:Multiple processes, multiple process bags are performed on a processing device
The separable program for including multiple application programs performs context, wherein, each application program includes at least one process;To be many
The event of each process of individual process translates to data-message, wherein, data-message includes the shape for initiating the process of data-message
The expression unrelated with application program of the event data of state information and event;Data-message is sent to at least one in multiple ponds
Individual pond;Coordinate between process, coordinate to include:By retrieving the status information of peer process from multiple ponds, multiple processes
Each process is coordinated with the peer process in multiple processes;And by alternatively combining at least one pond in multiple ponds
The set of data-message generate the output of multiple processes.
Embodiment described here includes a kind of system, including:Detector, the posture that body is carried out is represented for receiving
Attitude data;And processor, detector is coupled to, processor is from attitude data automatic detection posture, and computing device is multiple
Process, multiple processes generation includes the event of the set of the event of expression posture, and processor is by each process in multiple processes
Event translate to data capsule, data capsule is sent to multiple ponds by processor, wherein, the set of the process in multiple processes
Operate as identification process, identification process recognize in multiple ponds includes the data capsule of content corresponding with posture, identification process
The data capsule of retrieval from multiple ponds, and by synthesize identification data capsule content with formed attitude signal come
Attitude signal is generated from the data capsule of identification, wherein, attitude signal represents posture.
System and method described here include and/or operated under processing system and/or associated with processing system.Such as
Known in the art, processing system includes the equipment or computing device or processing system based on processor of operation together
Any set of system or the component of equipment.For example, processing system can include portable computer, in a communication network operate
One or more of portable communication device and/or the webserver.Portable computer can be from personal computer, honeybee
Any number of equipment that are selected among cellular telephone, personal digital assistant, portable computing device and portable communication device and/or
The combination of equipment, but not limited to this.Processing system can include the component in larger computer system.
The processing system of embodiment includes at least one processor and at least one memory devices or subsystem.Processing system
System can also include or be coupled at least one database.Usually used term " processor " is referred at any logic herein
Manage unit, such as one or more CPU (CPU), digital signal processor (DSP), application specific integrated circuit (ASIC)
Deng.Processor and memory can integrally be integrated into one single chip, be distributed among multiple chips of host computer system or component,
And/or provided by some combinations of algorithm.Method described here can by one or more software algorithms, program, firmware,
One or more of hardware, component, circuit are realized with any combinations.
Realize that the system component of system and method described here can be positioned at together or in the position of separation.Therefore,
The system component for realizing system and method described here can be individual system, multiple systems and/or be geographically separated be
The component of system.These components can also be the sub-component or subsystem of individual system, multiple systems and/or the system being geographically separated
System.These components may be coupled to host computer system or are coupled to one or more of the other component of the system of host computer system.
Communication path coupling system components, and including any medium for file to be communicated or transmitted among component.
Communication path includes wireless connection, wired connection and hybrid wireless/wired connection.Communication path also includes the coupling to network
Or connect, network includes LAN (LAN), Metropolitan Area Network (MAN) (MAN), wide area network (WAN), private network, interoffice or back-end network
Network and internet.In addition, communication path includes being detachably fixed medium, such as floppy disk, hard disk drive and CD-ROM disk)
And the connection of flash RAM, USB (USB), RS-232 connections, telephone line, bus, and email message.
Unless context is clearly required in addition that, through specification, word " comprising ", "comprising" etc. are interpreted as and excluded
Or it is exclusive it is adversative including meaning, that is to say, that the meaning of " including, but are not limited to ".Use odd number or the word of plural number
Language also includes plural number or odd number respectively.In addition, word " herein ", " hereafter ", " more than ", the word of " following " and the similar meaning refers to
For any specific part of the application entirety, rather than the application.When the list with reference to two or more uses word
During "or", the following all explanations of word covering:All items in Arbitrary Term, list in list and the item in list
Any combination.
The above description of embodiment is not intended to exhaustive or is limited to the system and method for description disclosed accurate
Form.Although there is described herein specific embodiment and example for illustrative purposes, it is understood by one skilled in the art that
In the range of other system and method, various equivalent modifications are possible.Provided herein teaching be applied not only to said system and
Method, and can apply to other processing systems and method.
Element and the action of each embodiment described above can be combined, to provide other embodiments.More than in detail
Thin description, can carry out these and other change to embodiment.
Generally, in the following claims, the term used should not be construed as embodiment being limited to specification and right
It is required that disclosed in specific embodiment, and be understood to include all systems of operation under the claims.Therefore, embodiment
Disclosure herein is not limited to, but the scope of embodiment is determined entirely by by claim.
Although presenting the particular aspects of embodiment in specific rights requirement form, inventor is expected to use any quantity
Claim form embodiment various aspects.Therefore, inventor adds appended claims after being retained in submission application
It is required that right, to follow these additional claim forms of the other side for embodiment.
Claims (325)
1. a kind of multi-process exchange method, including:
Multiple processes are performed at least one processing equipment;
The event of each process in the multiple process is translated into data capsule;
The data capsule is sent to multiple ponds;
Each process is as identification process operation, and the identification process is recognized in the multiple pond to be included and the identification process
Interactive function and the identification process the corresponding content of mark in the data capsule of at least one;And
The data capsule of identification process retrieval from the multiple pond, and perform the data capsule to the identification
Content processing,
Wherein, data capsule includes initiating the state of a process information of data-message and the event data and application program of event
Unrelated expression.
2. multi-process exchange method as claimed in claim 1, using the data capsule and the multiple pond by coordinating
The operation for stating each process in multiple processes forms interactive application from the multiple process.
3. multi-process exchange method as claimed in claim 1, including:It is the multiple to coordinate using at least one in following
The operation of process:The data capsule and the multiple pond.
4. multi-process exchange method as claimed in claim 1, including:Application program is divided into the set of process, wherein, institute
Stating multiple processes includes the set of the process.
5. multi-process exchange method as claimed in claim 1, including by alternatively handling at least one in the multiple pond
The data capsules of multiple retrievals in individual pond generates the process of output.
6. multi-process exchange method as claimed in claim 1, wherein, the multiple process includes dividing for multiple application programs
From program perform context, wherein, each application program include at least one process.
7. multi-process exchange method as claimed in claim 1, including the multiple process is performed parallel.
8. multi-process exchange method as claimed in claim 1, including:The first set of parallel executive process, and sequentially hold
The second set of traveling journey, wherein, the multiple process includes the first set of the process and the second set of the process.
9. multi-process exchange method as claimed in claim 1, wherein, the representations of events process input.
10. multi-process exchange method as claimed in claim 1, wherein, the representations of events process output.
11. multi-process exchange method as claimed in claim 1, wherein, the event includes user interface event.
12. multi-process exchange method as claimed in claim 1, wherein, the event includes graphical event.
13. multi-process exchange method as claimed in claim 1, wherein, the representations of events process status.
14. multi-process exchange method as claimed in claim 13, wherein, the process status represents the friendship of the process
Mutual function, wherein, the interactive function of the process is as the content exposure of the data capsule in the multiple process.
15. multi-process exchange method as claimed in claim 14, including:Defined by the content of the data capsule described
The application programming interface API of multiple processes, rather than define by funcall the API.
16. multi-process exchange method as claimed in claim 15, wherein, the content of the data capsule is unrelated with application program
And can be by the multiple progress recognizing.
17. multi-process exchange method as claimed in claim 1, wherein, at least one described processing equipment includes multiple processing
Equipment.
18. multi-process exchange method as claimed in claim 17, wherein, of at least one process in the multiple process
One is integrated under the first set of at least one processing equipment in the multiple processing equipment in operation, the multiple process
Run under the second set of at least one processing equipment of the second set of at least one process in the multiple processing equipment.
19. multi-process exchange method as claimed in claim 18, wherein, the multiple process includes the first process.
20. multi-process exchange method as claimed in claim 19, wherein, the translation includes:By the thing of first process
Part is transformed to include at least one data of the status information for the first process event data and event for specifying the event
Sequence.
21. multi-process exchange method as claimed in claim 20, wherein, the first process event data and status information are
The specific data of type with type corresponding with the application program of first process.
22. multi-process exchange method as claimed in claim 21, wherein, the translation includes:The data capsule is formed
It is to include at least one described data sequence, the data capsule has including at least one data sequence with applying journey
The data structure of the unrelated expression of sequence.
23. multi-process exchange method as claimed in claim 19, wherein, the multiple process includes the second process.
24. multi-process exchange method as claimed in claim 23, wherein, the translation includes:By the shape of second process
State change event be transformed to include the specified event the second process event data and the event status information at least
One data sequence.
25. multi-process exchange method as claimed in claim 24, wherein, the second process event data and status information are
The specific data of type with type corresponding with the application program of second process.
26. multi-process exchange method as claimed in claim 25, wherein, the translation includes:The data capsule is formed
It is to include at least one described data sequence, the data capsule has including at least one data sequence with applying journey
The data structure of the unrelated expression of sequence.
27. multi-process exchange method as claimed in claim 23, wherein, the identification process is second process, described
Retrieval includes:The data capsule of retrieval from the multiple pond, and perform the content to the data capsule of the identification
Processing the second process.
28. multi-process exchange method as claimed in claim 27, wherein, the content of the data capsule of the identification is to represent institute
State the data of the first state of a process information.
29. multi-process exchange method as claimed in claim 28, wherein, the translation includes:By the data glue of the identification
The content conversion of capsule is at least one new data sequence, and at least one described new data sequence represents first process
At least one in the event of event and second process.
30. multi-process exchange method as claimed in claim 29, wherein, at least one described new data sequence includes described
The event data of at least one state of a process information and the specified event in the first process and second process.
31. multi-process exchange method as claimed in claim 30, wherein, in first process and second process extremely
The event data and status information of a few process be have with first process and second process at least
The specific data of type of the corresponding type of application program of one process.
32. multi-process exchange method as claimed in claim 31, wherein, the translation includes:The data capsule is formed
It is to include at least one described new data sequence, the data capsule, which has, includes at least one new data sequence
The data structure of the expression unrelated with application program.
33. multi-process exchange method as claimed in claim 32, wherein, at least one is new using described for the multiple process
Data sequence.
34. multi-process exchange method as claimed in claim 1, wherein, the content of the data capsule to the identification
Processing includes rendering Drawing Object, wherein, the Drawing Object is rendered on the display of at least one processing equipment.
35. multi-process exchange method as claimed in claim 34, wherein, it is described to render including directly rendering, wherein described many
Individual process is drawn directly into the graph layer of at least one processing equipment, wherein, the multiple pond is used to render for described
Coordination between the multiple process.
36. multi-process exchange method as claimed in claim 34, wherein, it is described to render including following multiple processes:
The multiple pond will be sent to including the data capsule for rendering order;And
Render order from the retrieval of the multiple pond is described, explain described in render order, and render order in response to described and drive
The graph layer of at least one processing equipment.
37. multi-process exchange method as claimed in claim 34, wherein, it is described to render including following multiple processes:
It is rendered into pixel buffer;
Original frame data is sent to the multiple pond, the original frame data as to being rendered described in the pixel buffer and
Produce;And
Retrieve the original frame data from the multiple pond, and combine the original frame data, with described in driving at least
Used in the graph layer of one processing equipment.
38. multi-process exchange method as claimed in claim 1, including:
Detect the event of the multiple process;
Generation includes specifying at least one data sequence of the status information of the event data of the event and the event, its
In, the event data and status information are the classes with type corresponding with the application program of at least one processing equipment
The specific data of type;And
Data capsule shape, which is turned into, includes at least one described data sequence, the data capsule have include it is described at least one
The data structure of the expression unrelated with application program of data sequence.
39. multi-process exchange method as claimed in claim 38, wherein, at least one described data sequence of generation includes:
Generation includes the first respective data set of the first respective event data;
Generation includes the second respective data set of the second respective status information;And
First data sequence is formed as to include the described first respective data set and the second respective data set.
40. multi-process exchange method as claimed in claim 39, wherein, generating the first respective data set includes:By institute
State the first respective data set to be formed as including the mark data of at least one processing equipment, the mark data includes mark
The data of at least one processing equipment.
41. multi-process exchange method as claimed in claim 39, wherein, at least one described data sequence of generation includes:
Generation includes the first respective data set of the first respective event data;
Generation includes the second respective data set of the second respective status information;And
Second data sequence is formed as to include the described first respective data set and the second respective data set.
42. multi-process exchange method as claimed in claim 41, wherein, generating the first respective data set includes:Generation
First respective data set offset, wherein, the first respective data set offset points to described the first of second data sequence
Respective data set.
43. multi-process exchange method as claimed in claim 41, wherein, generating the second respective data set includes:Generation
Second respective data set offset, wherein, the second respective data set offset points to described the second of second data sequence
Respective data set.
44. multi-process exchange method as claimed in claim 39, wherein, the first respective data set is description chained list, institute
Stating description chained list includes the description of the data.
45. multi-process exchange method as claimed in claim 38, wherein, the event data represents typed data
The byte sequence of labeling.
46. multi-process exchange method as claimed in claim 45, wherein, the event data includes type header and type is special
Fixed data layout.
47. multi-process exchange method as claimed in claim 38, wherein, the status information represents typed data
The byte sequence of labeling.
48. multi-process exchange method as claimed in claim 47, wherein, the status information includes type header and type is special
Fixed data layout.
49. multi-process exchange method as claimed in claim 38, including:
Generate at least one skew;And
The data capsule shape, which is turned into, includes at least one described skew.
50. multi-process exchange method as claimed in claim 49, including:
First skew of the generation with the first variable-length;
Wherein, the event data of the first data sequence at least one described data sequence is pointed in first skew.
51. multi-process exchange method as claimed in claim 49, including:
Second skew of the generation with the second variable-length;
Wherein, the status information of the first data sequence at least one described data sequence is pointed in second skew.
52. multi-process exchange method as claimed in claim 49, including:
Pass through data capsule formation first code path using the first skew at least one described skew;
Pass through data capsule formation second code path using the second skew at least one described skew;
Wherein, the first code path and the second code path are different paths.
53. multi-process exchange method as claimed in claim 52, wherein, in first skew and the described second skew extremely
Few one includes metadata, and the metadata includes context certain metadata corresponding with the context of the application program.
54. multi-process exchange method as claimed in claim 38, including:
Generation includes the head of the length of the data capsule;
The data capsule shape, which is turned into, includes the head.
55. multi-process exchange method as claimed in claim 38, including:The data capsule is sent in the multiple pond
Pond.
56. multi-process exchange method as claimed in claim 55, including:
The second event of detection at least one processing equipment;
Data capsule corresponding with the second event is searched in the multiple pond.
57. multi-process exchange method as claimed in claim 56, including:
Recognize the correspondence between the data capsule and the second event;
The data capsule is extracted from the pond in response to the identification;And
In response to the content of the data capsule, at least one processing equipment execution is represented corresponding with the second event
Processing operation, wherein, the application program of described at least one processing equipment and the first kind and the second application of Second Type
Program correspondence.
58. multi-process exchange method as claimed in claim 55, wherein, multiple application programs, institute are coupled in the multiple pond
Stating multiple ponds includes multiple data capsules corresponding with the multiple application program, and the multiple pond is provided is answered by the multiple
Access with program to the multiple data capsule, wherein, at least two application programs in the multiple application program are not
Same application program.
59. multi-process exchange method as claimed in claim 55, wherein, the multiple pond provides the state of multiple data capsules
Caching.
60. multi-process exchange method as claimed in claim 55, wherein, the multiple pond provides the linear of multiple data capsules
Sequence.
61. multi-process exchange method as claimed in claim 38, wherein, the data structure is non-typed.
62. multi-process exchange method as claimed in claim 38, wherein, the data structure of the data capsule provides the thing
Number of packages evidence and the status information are represented with platform-independent.
63. multi-process exchange method as claimed in claim 38, wherein, the data structure of the data capsule is provided to described
Event data and the status information are accessed with platform-independent.
64. multi-process exchange method as claimed in claim 38, wherein, the transmission includes:By the data capsule from tool
The first application program for having the first Application Type is sent at least one with least one the second Application Type
Second application program, wherein, first Application Type is different from second Application Type, wherein, generate institute
At least one data sequence is stated by first application program to perform, methods described includes:Kept during the transmission
At least one data sequence of the data capsule is intact.
65. the multi-process exchange method as described in claim 64, including used during the operation of second application program
At least one described data sequence.
66. multi-process exchange method as claimed in claim 38, including:Generation includes the source of at least one processing equipment
The event data of equipment and the first data set of mark data, the device events data include specifying the source device registration
The data of event, the mark data includes the data for identifying the source device.
67. the multi-process exchange method as described in claim 66, including:Generation includes the complete of the status information of the event
Second data set of set, wherein, each in first data set and second data set is specific including type
Typed data bundle in data layout.
68. the multi-process exchange method as described in claim 67, wherein, the translation includes:By the way that data capsule is formed
It is to include first data set and second data set to encapsulate first data set and second data set, its
In, the data capsule has the data structure for the expression unrelated with application program for including at least one data sequence.
69. multi-process exchange method as claimed in claim 38, including:
Detect the event for the first processing equipment run under the application program of the first kind;
Generation includes the data sequence of the event data of first processing equipment, and the event data specifies the event and institute
The status information of event is stated, wherein, the event data and status information are with type corresponding with the application program
The specific data of type;
Data capsule shape, which is turned into, includes the data sequence, and the data capsule is with including the data sequence and application
The data structure of the unrelated expression of program;
Detect the of the second processing equipment run under with the application program of at least one of at least one Second Type second
Two events, wherein, the Second Type is different from the first kind, wherein, at least one described processing equipment includes described
First processing equipment and the second processing equipment;
Recognize the correspondence between the data capsule and the second event;And
Operation is performed using the content of the data sequence of the data capsule, in response to the second event.
70. the multi-process exchange method as described in claim 69, wherein, generating the data sequence includes:
Generation includes the first data set of the event data;
Generation includes the second data set of the status information;And
First data sequence is formed as to include first data set and second data set.
71. the multi-process exchange method as described in claim 69, wherein, the event data represents typed data
The byte sequence of labeling.
72. the multi-process exchange method as described in claim 71, wherein, the event data includes type header and type is special
Fixed data layout.
73. the multi-process exchange method as described in claim 69, wherein, the status information represents typed data
The byte sequence of labeling.
74. the multi-process exchange method as described in claim 73, wherein, the status information includes type header and type is special
Fixed data layout.
75. the multi-process exchange method as described in claim 69, including:
Generate at least one skew;And
The data capsule shape, which is turned into, includes at least one described skew.
76. the multi-process exchange method as described in claim 75, including:
First skew of the generation with the first variable-length, wherein, at least one described data sequence is pointed in first skew
In the first data sequence event data;And
Second skew of the generation with the second variable-length, wherein, at least one described data sequence is pointed in second skew
In the first data sequence status information.
77. the multi-process exchange method as described in claim 75, including:
Pass through data capsule formation first code path using the first skew at least one described skew;
Pass through data capsule formation second code path using the second skew at least one described skew;
Wherein, the first code path and the second code path are different paths.
78. the multi-process exchange method as described in claim 76, wherein, in first skew and the described second skew extremely
Few one includes metadata, and the metadata includes context certain metadata corresponding with the context of the application program.
79. the multi-process exchange method as described in claim 69, including the data capsule is sent in the multiple pond
Pond.
80. the multi-process exchange method as described in claim 79, including:
Data capsule corresponding with the second event is searched in the multiple pond;And
The data capsule is extracted in identification in response to the correspondence from the pond.
81. the multi-process exchange method as described in claim 79, wherein, the application program and institute are coupled in the multiple pond
At least one second application program is stated, the multiple pond includes and the application program and at least one described second application program
Corresponding multiple data capsules, the multiple pond, which is provided, passes through the application program and at least one described second application program pair
The access of the multiple data capsule.
82. the multi-process exchange method as described in claim 79, wherein, the multiple pond provides the state of multiple data capsules
Caching.
83. the multi-process exchange method as described in claim 79, wherein, the multiple pond provides the linear of multiple data capsules
Sequence.
84. the multi-process exchange method as described in claim 69, wherein, the data structure is non-typed.
85. the multi-process exchange method as described in claim 69, wherein, the data structure of the data capsule provides the thing
Number of packages evidence and the status information are represented with platform-independent.
86. the multi-process exchange method as described in claim 69, wherein, the data structure of the data capsule is provided to described
Event data and the status information are accessed with platform-independent.
87. a kind of multi-process interactive systems, including:
At least one processing equipment, the processing equipment performs multiple processes;And
Multiple ponds, are coupled at least one described processing equipment;
The event of each process in the multiple process is translated to data capsule by least one described processing equipment, and will
The data capsule is sent to the multiple pond;
Each process in the multiple process is as identification process operation, and the identification process recognizes bag in the multiple pond
Include and the data glue of at least one in the interactive function of the identification process and the corresponding content of mark of the identification process
Capsule;
The data capsule of identification process retrieval from the multiple pond, and perform the data capsule to the identification
Content processing,
Wherein, data capsule include initiating the event data of the state of a process information of the data capsule and event with application
The unrelated expression of program.
88. a kind of multi-process exchange method, including:
Multiple processes are performed at least one processing equipment, the multiple process includes the separable journey of multiple application programs
Sequence performs context, wherein, each application program includes at least one process;
The event of each process in the multiple process is translated into data capsule, wherein, data capsule includes initiating described
The expression unrelated with application program of the state of a process information of data capsule and the event data of event;
The data capsule is sent to multiple ponds;
Each process is as identification process operation, and the identification process is recognized in the multiple pond to be included and the identification process
Interactive function and the identification process the corresponding content of mark in the data capsule of at least one;And
The data capsule of identification process retrieval from the multiple pond, and perform the data capsule to the identification
Content processing.
89. the multi-process exchange method as described in claim 88, using the data capsule and the multiple pond by coordinating
The operation of each process in the multiple process forms interactive application from the multiple process.
90. the multi-process exchange method as described in claim 88, including:It is described many to coordinate using at least one in following
The operation of individual process:The data capsule and the multiple pond.
91. the multi-process exchange method as described in claim 88, including:Application program is divided into the set of process, wherein,
The multiple process includes the set of the process.
92. the multi-process exchange method as described in claim 88, including process is by alternatively handling in the multiple pond
The data capsules of multiple retrievals at least one pond generates output.
93. the multi-process exchange method as described in claim 88, including:The multiple process is performed parallel.
94. the multi-process exchange method as described in claim 88, including:The first set of parallel executive process, and order
The second set of executive process, wherein, the multiple process includes the first set of the process and the second collection of the process
Close.
95. the multi-process exchange method as described in claim 88, wherein, the representations of events process input.
96. the multi-process exchange method as described in claim 88, wherein, the representations of events process output.
97. the multi-process exchange method as described in claim 88, wherein, the event includes user interface event.
98. the multi-process exchange method as described in claim 88, wherein, the event includes graphical event.
99. the multi-process exchange method as described in claim 88, wherein, the representations of events process status.
100. the multi-process exchange method as described in claim 99, wherein, the process status represents the described of the process
Interactive function, wherein, the interactive function of the process is as the content exposure of the data capsule in the multiple process.
101. the multi-process exchange method as described in claim 100, including:By the content of the data capsule to define
The application programming interface API of multiple processes is stated, rather than defines by funcall the API.
102. the multi-process exchange method as described in claim 101, wherein, the content of the data capsule is and application program
It is unrelated and can be by the multiple progress recognizing.
103. the multi-process exchange method as described in claim 88, wherein, at least one described processing equipment includes multiple places
Manage equipment.
104. the multi-process exchange method as described in claim 103, wherein, at least one process in the multiple process
Run under the first set of at least one processing equipment of the first set in the multiple processing equipment, in the multiple process
At least one process at least one processing equipment of the second set in the multiple processing equipment second set under transport
OK.
105. the multi-process exchange method as described in claim 88, wherein, the multiple process includes the first process.
106. the multi-process exchange method as described in claim 105, wherein, the translation includes:By first process
Event is transformed to include at least one number of the status information for the first process event data and event for specifying the event
According to sequence.
107. the multi-process exchange method as described in claim 106, wherein, the first process event data and status information
It is the specific data of type with type corresponding with the application program of first process.
108. the multi-process exchange method as described in claim 107, wherein, the translation includes:By the data capsule shape
As including at least one described data sequence, the data capsule has including at least one data sequence and application
The data structure of the unrelated expression of program.
109. the multi-process exchange method as described in claim 105, wherein, the multiple process includes the second process.
110. the multi-process exchange method as described in claim 109, wherein, the translation includes:By second process
State change event be transformed to include to specify the event the second process event data and the event status information extremely
A few data sequence.
111. the multi-process exchange method as described in claim 110, wherein, the second process event data and status information
It is the specific data of type with type corresponding with the application program of second process.
112. the multi-process exchange method as described in claim 111, wherein, the translation includes:By the data capsule shape
As including at least one described data sequence, the data capsule has including at least one data sequence and application
The data structure of the unrelated expression of program.
113. the multi-process exchange method as described in claim 109, wherein, the identification process is second process, institute
Stating retrieval includes the data capsule of the retrieval from the multiple pond, and performs the content to the data capsule of the identification
Processing the second process.
114. the multi-process exchange method as described in claim 113, wherein, the content of the data capsule of the identification is to represent
The data of the first state of a process information.
115. the multi-process exchange method as described in claim 114, wherein, the translation includes:By the data of the identification
The content conversion of capsule is at least one new data sequence, and at least one described new data sequence represents first process
Event and second process event at least one.
116. the multi-process exchange method as described in claim 115, wherein, at least one described new data sequence includes institute
State at least one state of a process information in the first process and second process and specify the event data of the event.
117. the multi-process exchange method as described in claim 116, wherein, in first process and second process
The event data and status information of at least one process be have with first process and second process extremely
The specific data of type of the corresponding type of application program of a few process.
118. the multi-process exchange method as described in claim 117, wherein, the translation includes:By the data capsule shape
As including at least one described new data sequence, the data capsule, which has, includes at least one described new data sequence
The expression unrelated with application program data structure.
119. the multi-process exchange method as described in claim 118, wherein, at least one is new described in the multiple process use
Data sequence.
120. the multi-process exchange method as described in claim 88, wherein, the multiple process includes input process, described defeated
Enter process and receive incoming event from input equipment.
121. the multi-process exchange method as described in claim 120, wherein, the translation includes:By the input equipment
The incoming event be transformed to include to specify the event input equipment event data and the event status information extremely
A few data sequence.
122. the multi-process exchange method as described in claim 121, wherein, the input equipment event data and status information
It is the specific data of type with type corresponding with the application program of source device.
123. the multi-process exchange method as described in claim 122, wherein, the translation includes:By the data capsule shape
As including at least one described data sequence, the data capsule has including at least one data sequence and application
The data structure of the unrelated expression of program.
124. the multi-process exchange method as described in claim 88, wherein, the multiple process includes pointer process.
125. the multi-process exchange method as described in claim 124, wherein, the identification process is the pointer process, institute
Stating retrieval includes:The data capsule of the identification is retrieved from the multiple pond, and performs the data capsule to the identification
Content processing pointer process.
126. the multi-process exchange method as described in claim 125, wherein, the content of the data capsule of the identification is to represent
The data of incoming event from input process.
127. the multi-process exchange method as described in claim 125, wherein, the content of the data capsule of the identification is to represent
The data of the position of user's positive order pointer object of at least one processing equipment on display.
128. the multi-process exchange method as described in claim 127, wherein, the translation includes:By the data of the identification
The content conversion of capsule be at least one new data sequence, at least one described new data sequence definition pointer object on
The position of display.
129. the multi-process exchange method as described in claim 128, wherein, at least one described new data sequence includes referring to
The pointer process event data of the fixed event and the status information of the pointer process event.
130. the multi-process exchange method as described in claim 129, wherein, the pointer process event data and status information
It is the specific data of type with type corresponding with the application program of the pointer process.
131. the multi-process exchange method as described in claim 130, wherein, the translation includes:By the data capsule shape
As including at least one described new data sequence, the data capsule, which has, includes at least one described new data sequence
The expression unrelated with application program data structure.
132. the multi-process exchange method as described in claim 131, wherein, at least one is new described in the multiple process use
Data sequence render the pointer object on the display.
133. the multi-process exchange method as described in claim 88, wherein, the multiple process includes graphic processes.
134. the multi-process exchange method as described in claim 133, wherein, the translation includes:By the graphic processes
State change event be transformed to include to specify the event graphic processes event data and the event status information extremely
A few data sequence.
135. the multi-process exchange method as described in claim 134, wherein, the graphic processes event data and status information
It is the specific data of type with type corresponding with the application program of the graphic processes.
136. the multi-process exchange method as described in claim 135, wherein, the translation includes:By the data capsule shape
As including at least one described data sequence, the data capsule has including at least one data sequence and application
The data structure of the unrelated expression of program.
137. the multi-process exchange method as described in claim 133, wherein, the identification process is the graphic processes, institute
Stating retrieval includes:The data capsule of retrieval from the multiple pond, and perform in the data capsule of the identification
The graphic processes of the processing of appearance.
138. the multi-process exchange method as described in claim 137, wherein, the content of the data capsule of the identification is to represent
The data of another state of a process information in the multiple process.
139. the multi-process exchange method as described in claim 138, wherein, the status information includes spatiality and pattern
The information of at least one in state.
140. the multi-process exchange method as described in claim 137, wherein, the content of the data capsule of the identification is to represent
The data of the position of user's positive order pointer object of at least one processing equipment on display.
The 141. multi-process exchange method as described in claim 140, wherein, the position of the pointer object is in Drawing Object
In border, wherein, the Drawing Object is rendered by the graphic processes.
The 142. multi-process exchange method as described in claim 141, wherein, the translation includes:By the data of the identification
The content conversion of capsule is at least one new data sequence, and at least one described new data sequence represents the figure pair
As, the pointer object and the pointer object and at least one in the overlapping part on the border.
The 143. multi-process exchange method as described in claim 142, wherein, at least one described new data sequence includes referring to
The graphic processes event data of the fixed event and the status information of the graphic processes event.
The 144. multi-process exchange method as described in claim 143, wherein, the graphic processes event data and status information
It is the specific data of type with type corresponding with the application program of the graphic processes.
The 145. multi-process exchange method as described in claim 144, wherein, the translation includes:By the data capsule shape
As including at least one described new data sequence, the data capsule, which has, includes at least one described new data sequence
The expression unrelated with application program data structure.
The 146. multi-process exchange method as described in claim 145, wherein, at least one is new described in the multiple process use
Data sequence render at least one in the Drawing Object and the pointer object on the display.
The 147. multi-process exchange method as described in claim 88, wherein, the content of the data capsule to the identification
Processing include render Drawing Object, wherein, the Drawing Object is rendered on the display of at least one processing equipment.
The 148. multi-process exchange method as described in claim 147, wherein, it is described to render including directly rendering, wherein described
Multiple processes are drawn directly into the graph layer of at least one processing equipment, wherein, the multiple pond is used for for the wash with watercolours
Contaminate the coordination between the multiple process.
The 149. multi-process exchange method as described in claim 147, wherein, it is described to render including following multiple processes:
The multiple pond will be sent to including the data capsule for rendering order;And
Render order from the retrieval of the multiple pond is described, explain described in render order, and render order in response to described and drive
The graph layer of at least one processing equipment.
The 150. multi-process exchange method as described in claim 147, wherein, it is described to render including following multiple processes:
It is rendered into pixel buffer;
Original frame data is sent to the multiple pond, the original frame data as to being rendered described in the pixel buffer and
Produce;And
Retrieve the original frame data from the multiple pond, and combine the original frame data, with described in driving at least
Used in the graph layer of one processing equipment.
The 151. multi-process exchange method as described in claim 88, including:
Detect the event of the multiple process;
Generation includes specifying at least one data sequence of the status information of the event data of the event and the event, its
In, the event data and status information are the classes with type corresponding with the application program of at least one processing equipment
The specific data of type;And
Data capsule shape, which is turned into, includes at least one described data sequence, the data capsule have include it is described at least one
The data structure of the expression unrelated with application program of data sequence.
The 152. multi-process exchange method as described in claim 151, wherein, the bag of generation at least one data sequence
Include:
Generation includes the first respective data set of the first respective event data;
Generation includes the second respective data set of the second respective status information;And
First data sequence is formed as to include the described first respective data set and the second respective data set.
The 153. multi-process exchange method as described in claim 152, wherein, generating the first respective data set includes:Will
The first respective data set is formed as including the mark data of at least one processing equipment, and the mark data includes mark
Know the data of at least one processing equipment.
The 154. multi-process exchange method as described in claim 152, wherein, at least one described data sequence of generation includes:
Generation includes the first respective data set of the first respective event data;
Generation includes the second respective data set of the second respective status information;And
Second data sequence is formed as to include the described first respective data set and the second respective data set.
The 155. multi-process exchange method as described in claim 154, wherein, generating the first respective data set includes:It is raw
Into the first respective data set offset, wherein, the first respective data set offset points to described the of second data sequence
One respective data set.
The 156. multi-process exchange method as described in claim 154, wherein, generating the second respective data set includes:It is raw
Into the second respective data set offset, wherein, the second respective data set offset points to described the of second data sequence
Two respective data sets.
The 157. multi-process exchange method as described in claim 152, wherein, the first respective data set is description chained list,
The description chained list includes the description of the data.
The 158. multi-process exchange method as described in claim 151, wherein, the event data is to represent typed data
Labeling byte sequence.
The 159. multi-process exchange method as described in claim 158, wherein, the event data includes type header and type
Specific data layout.
The 160. multi-process exchange method as described in claim 151, wherein, the status information is to represent typed data
Labeling byte sequence.
The 161. multi-process exchange method as described in claim 160, wherein, the status information includes type header and type
Specific data layout.
The 162. multi-process exchange method as described in claim 151, including:
Generate at least one skew;And
The data capsule shape, which is turned into, includes at least one described skew.
The 163. multi-process exchange method as described in claim 162, including:
First skew of the generation with the first variable-length;
Wherein, the event data of the first data sequence at least one described data sequence is pointed in first skew.
The 164. multi-process exchange method as described in claim 162, including:
Second skew of the generation with the second variable-length;
Wherein, the status information of the first data sequence at least one described data sequence is pointed in second skew.
The 165. multi-process exchange method as described in claim 162, including:
Pass through data capsule formation first code path using the first skew at least one described skew;
Pass through data capsule formation second code path using the second skew at least one described skew;
Wherein, the first code path and the second code path are different paths.
The 166. multi-process exchange method as described in claim 165, wherein, in first skew and the described second skew
At least one includes metadata, and the metadata includes the specific first number of context corresponding with the context of the application program
According to.
The 167. multi-process exchange method as described in claim 151, including:
Generation includes the head of the length of the data capsule;
The data capsule shape, which is turned into, includes the head.
The 168. multi-process exchange method as described in claim 151, including:The data capsule is sent to the multiple pond
In pond.
The 169. multi-process exchange method as described in claim 168, including:
The second event of detection at least one processing equipment;
Data capsule corresponding with the second event is searched in the multiple pond.
The 170. multi-process exchange method as described in claim 169, including:
Recognize the correspondence between the data capsule and the second event;
The data capsule is extracted from the pond in response to the identification;And
In response to the content of the data capsule, at least one processing equipment execution is represented corresponding with the second event
Processing operation, wherein, the application program of described at least one processing equipment and the first kind and the second application of Second Type
Program correspondence.
The 171. multi-process exchange method as described in claim 168, wherein, multiple application programs are coupled in the multiple pond,
The multiple pond includes multiple data capsules corresponding with the multiple application program, and the multiple pond is provided by the multiple
Access of the application program to the multiple data capsule, wherein, at least two application programs in the multiple application program are
Different application programs.
The 172. multi-process exchange method as described in claim 168, wherein, the multiple pond provides the shape of multiple data capsules
State is cached.
The 173. multi-process exchange method as described in claim 168, wherein, the multiple pond provides the line of multiple data capsules
Property sequence.
The 174. multi-process exchange method as described in claim 151, wherein, the data structure is non-typed.
The 175. multi-process exchange method as described in claim 151, wherein, the data structure of the data capsule provides described
Event data and the status information are represented with platform-independent.
The 176. multi-process exchange method as described in claim 151, wherein, the data structure of the data capsule is provided to institute
State being accessed with platform-independent for event data and the status information.
The 177. multi-process exchange method as described in claim 151, wherein, the transmission includes:By the data capsule from
The first application program with the first Application Type is sent at least one with least one the second Application Type
Individual second application program, wherein, first Application Type is different from second Application Type, wherein, generation
At least one described data sequence is performed by first application program, and methods described includes:Protected during the transmission
At least one data sequence for holding the data capsule is intact.
The 178. multi-process exchange method as described in claim 177, including make during the operation of second application program
With at least one described data sequence.
The 179. multi-process exchange method as described in claim 151, including:Generation includes at least one processing equipment
The event data of source device and the first data set of mark data, the device events data include specifying the source device registration
Event data, the mark data includes the data for identifying the source device.
The 180. multi-process exchange method as described in claim 179, including:Generation includes the complete of the status information of the event
Second data set of universal class, wherein, each in first data set and second data set is specific including type
Data layout in typed data bundle.
The 181. multi-process exchange method as described in claim 180, wherein, the translation includes:By by data capsule shape
As encapsulating first data set and second data set including first data set and second data set, its
In, the data capsule has the data structure for the expression unrelated with application program for including at least one data sequence.
The 182. multi-process exchange method as described in claim 151, including:
Detect the event for the first processing equipment run under the application program of the first kind;
Generation includes the data sequence of the event data of first processing equipment, and the event data specifies the event and institute
The status information of event is stated, wherein, the event data and status information are the types with type corresponding with application program
Specific data;
Data capsule shape, which is turned into, includes the data sequence, and the data capsule is with including the data sequence and application
The data structure of the unrelated expression of program;
Detect the of the second processing equipment run under with the application program of at least one of at least one Second Type second
Two events, wherein, the Second Type is different from the first kind, wherein, at least one described processing equipment includes described
First processing equipment and the second processing equipment;
Recognize the correspondence between the data capsule and the second event;And
Operation is performed using the content of the data sequence of the data capsule, in response to the second event.
The 183. multi-process exchange method as described in claim 182, wherein, generating the data sequence includes:
Generation includes the first data set of the event data;
Generation includes the second data set of the status information;And
First data sequence is formed as to include first data set and second data set.
The 184. multi-process exchange method as described in claim 182, wherein, the event data is to represent typed data
Labeling byte sequence.
The 185. multi-process exchange method as described in claim 184, wherein, the event data includes type header and type
Specific data layout.
The 186. multi-process exchange method as described in claim 182, wherein, the status information is to represent typed data
Labeling byte sequence.
The 187. multi-process exchange method as described in claim 186, wherein, the status information includes type header and type
Specific data layout.
The 188. multi-process exchange method as described in claim 182, including:
Generate at least one skew;And
The data capsule shape, which is turned into, includes at least one described skew.
The 189. multi-process exchange method as described in claim 188, including:
First skew of the generation with the first variable-length, wherein, at least one described data sequence is pointed in first skew
In the first data sequence event data;And
Second skew of the generation with the second variable-length, wherein, at least one described data sequence is pointed in second skew
In the first data sequence status information.
The 190. multi-process exchange method as described in claim 188, including:
Pass through data capsule formation first code path using the first skew at least one described skew;
Pass through data capsule formation second code path using the second skew at least one described skew;
Wherein, the first code path and the second code path are different paths.
The 191. multi-process exchange method as described in claim 189, wherein, in first skew and the described second skew
At least one includes metadata, and the metadata includes the specific first number of context corresponding with the context of the application program
According to.
The 192. multi-process exchange method as described in claim 182, including:The data capsule is sent to the multiple pond
In pond.
The 193. multi-process exchange method as described in claim 192, including:
Data capsule corresponding with the second event is searched in the multiple pond;And
The data capsule is extracted in identification in response to the correspondence from the pond.
The 194. multi-process exchange method as described in claim 192, wherein, the multiple pond be coupled to the application program and
At least one described second application program, the multiple pond include with the application program and it is described at least one second apply journey
The corresponding multiple data capsules of sequence, the multiple pond, which is provided, passes through the application program and at least one described second application program
Access to the multiple data capsule.
The 195. multi-process exchange method as described in claim 192, wherein, the multiple pond provides the shape of multiple data capsules
State is cached.
The 196. multi-process exchange method as described in claim 192, wherein, the multiple pond provides the line of multiple data capsules
Property sequence.
The 197. multi-process exchange method as described in claim 182, wherein, the data structure is non-typed.
The 198. multi-process exchange method as described in claim 182, wherein, the data structure of the data capsule provides described
Event data and the status information are represented with platform-independent.
The 199. multi-process exchange method as described in claim 182, wherein, the data structure of the data capsule is provided to institute
State being accessed with platform-independent for event data and the status information.
A kind of 200. multi-process interactive systems, including:
At least one processing equipment, the processing equipment performs multiple processes, and the multiple process includes multiple application programs
Separable program performs context, wherein, each application program includes at least one process;And
Multiple ponds, are coupled at least one described processing equipment;
The event of each process in the multiple process is translated to data capsule by least one described processing equipment, and will
The data capsule is sent to multiple ponds, wherein, data capsule include initiating the state of a process information of the data capsule and
The expression unrelated with application program of the event data of event;
Each process is as identification process operation, and the identification process is recognized in the multiple pond to be included and the identification process
Interactive function and the identification process the corresponding content of mark in the data capsule of at least one;
The data capsule of identification process retrieval from the multiple pond, and perform the data capsule to the identification
Content processing.
A kind of 201. multi-process exchange methods, including:
The posture that body is carried out is detected from attitude data, wherein, receive the attitude data via detector;
Multiple processes are performed on a processing device, and the multiple process generates event, and the event includes representing the posture
The set of event;
The event of each process in the multiple process is translated into data capsule;
The data capsule is sent to multiple ponds;
The set of process in the multiple process is recognized as identification process operation, the identification process in the multiple pond
Include the data capsule of content corresponding with the posture;And
The data capsule of identification process retrieval from the multiple pond, and by synthesizing the data glue of the identification
The content of capsule to be formed the attitude signal to generate attitude signal from the data capsule of the identification, wherein, the posture letter
Number the posture is represented,
Wherein, data capsule include initiating the event data of the state of a process information of the data capsule and event with application
The unrelated expression of program.
The 202. multi-process exchange method as described in claim 201, wherein, the multiple process includes spatial operation application journey
The separable program of sequence performs context.
The 203. multi-process exchange method as described in claim 201, wherein, the attitude data is user in time and space
In point at immediate status absolute three spatial position data.
The 204. multi-process exchange method as described in claim 201, including recognize using only the attitude data appearance
State.
The 205. multi-process exchange method as described in claim 201, wherein, the detection includes:Detect the position of the body
Put, detect at least one in the direction of the body and the motion of the detection body.
The 206. multi-process exchange method as described in claim 201, including:The posture is recognized, wherein, the identification includes
Recognize posture and the direction of the part of the body.
The 207. multi-process exchange method as described in claim 201, wherein, the detection includes:Detect the attached of the body
At least one in the first set of limb and the second set of appendage.
The 208. multi-process exchange method as described in claim 201, wherein, the detection includes dynamically detection and is coupled to institute
State the position of at least one label of body.
The 209. multi-process exchange method as described in claim 208, wherein, the detection includes detection and is coupled to the body
Label set position.
The 210. multi-process exchange method as described in claim 209, wherein, each label in the set of the label includes
Pattern, wherein each pattern of each label in the set of the label and remaining any label in the multiple label
Any pattern is different.
The 211. multi-process exchange method as described in claim 201, wherein, the detection includes dynamically detecting and positioning
Mark on the body.
The 212. multi-process exchange method as described in claim 211, wherein, the detection includes detection and is coupled to the body
Mark set position.
The 213. multi-process exchange method as described in claim 211, wherein, being integrated on the body for the mark is formed
Multiple patterns.
The 214. multi-process exchange method as described in claim 211, wherein, the detection includes:Using being coupled to the body
The position of the multiple appendages for gathering to detect the body of the mark of each in multiple appendages of body.
The 215. multi-process exchange method as described in claim 201, wherein, the translation includes turning the information of the posture
It is translated into posture symbol.
The 216. multi-process exchange method as described in claim 215, wherein, the posture symbol represents posture vocabulary, and
The attitude signal includes the communication of the posture vocabulary.
The 217. multi-process exchange method as described in claim 216, wherein, the posture vocabulary represents described in the form of text
The instant posture state of the kinematics link of body.
The 218. multi-process exchange method as described in claim 216, wherein, the posture vocabulary represents described in the form of text
The direction of the kinematics link of body.
The 219. multi-process exchange method as described in claim 216, wherein, the posture vocabulary represents described in the form of text
The combination in the direction of the kinematics link of body.
The 220. multi-process exchange method as described in claim 216, wherein, the posture vocabulary includes representing the body
The string of the character of the state of kinematics link.
The 221. multi-process exchange method as described in claim 220, wherein, kinematics link be the body at least
One the first appendage.
The 222. multi-process exchange method as described in claim 221, including each position in the string is distributed to second
Appendage, second appendage is connected to first appendage.
The 223. multi-process exchange method as described in claim 222, including the character in multiple characters is distributed to described
Each in multiple positions of two appendages.
The 224. multi-process exchange method as described in claim 223, wherein, the multiple position is built relative to the origin of coordinates
It is vertical.
The 225. multi-process exchange method as described in claim 224, including:No matter the body overall positions and towards such as
What, and in response to body action alternatively, using the absolute position and direction from by space, relative to the body
The origin of coordinates is set up in the position that is selected in the group that fixed position and direction are constituted.
The 226. multi-process exchange method as described in claim 223, including the character in the multiple character is distributed into institute
State each in the multiple directions of the first appendage.
The 227. multi-process exchange method as described in claim 221, wherein, the detection includes:Detect the outer of the body
When the position pushed away intersects with Virtual Space, wherein, the Virtual Space, which is included in, is coupled to the aobvious of at least one processing equipment
Show the space described in equipment.
The 228. multi-process exchange method as described in claim 227, including:When the position and the Virtual Space of the extrapolation
During intersection, the virtual objects in the Virtual Space are controlled.
The 229. multi-process exchange method as described in claim 228, wherein, the control is included in the Virtual Space,
In response to the position of the extrapolation, the position of the virtual objects in the Virtual Space is controlled.
The 230. multi-process exchange method as described in claim 228, wherein, the control includes:In response to the posture, control
Make the situation of the virtual objects in the Virtual Space.
The 231. multi-process exchange method as described in claim 228, including:The control detection and the ratio of control, with life
Into the uniformity between Virtual Space and physical space, wherein, the Virtual Space includes the space described over the display, its
In, the physical space includes the space that the body is occupied.
The 232. multi-process exchange method as described in claim 231, including:In response at least one physical object in the thing
The movement in space is managed to control at least one virtual objects in the Virtual Space.
The 233. multi-process exchange method as described in claim 201, including:It is described using the attitude signal control assembly
Component is coupled at least one processing equipment.
The 234. multi-process exchange method as described in claim 233, wherein, control the component to include:By by the appearance
State is mapped to three spatial objects simultaneously to control three spatial objects by six-freedom degree.
The 235. multi-process exchange method as described in claim 233, wherein, control the component to include:Pass through three translations
The free degree and three rotary freedoms control three spatial objects.
The 236. multi-process exchange method as described in claim 235, wherein, three spatial object is being coupled at least one
Show on the display device of processing equipment.
The 237. multi-process exchange method as described in claim 235, wherein, three spatial object is coupled to computer
Remote system.
The 238. multi-process exchange method as described in claim 235, including:By the way that the posture is mapped into three space
Multiple objects of object translate to control the motion of three spatial object.
The 239. multi-process exchange method as described in claim 238, wherein, it is described mapping include the posture with it is the multiple
Direct mapping between object translation.
The 240. multi-process exchange method as described in claim 238, wherein, it is described mapping include the posture with it is the multiple
Indirect mappers between object translation.
The 241. multi-process exchange method as described in claim 201, association is passed through using the data capsule and the multiple pond
The operation of each in the multiple process is adjusted to form interactive application program from the multiple process.
The 242. multi-process exchange method as described in claim 201, including:It is described to coordinate using at least one in following
The operation of multiple processes:The data capsule and the multiple pond.
The 243. multi-process exchange method as described in claim 201, including:Application program is divided into the set of process, its
In, the multiple process includes the set of the process.
The 244. multi-process exchange method as described in claim 201, including by alternatively handling in the multiple pond extremely
The data capsules of multiple retrievals in a few pond generates output process.
The 245. multi-process exchange method as described in claim 201, wherein, the multiple process includes multiple application programs
Separable program performs context, wherein, each application program includes at least one process.
The 246. multi-process exchange method as described in claim 201, including:The multiple process is performed parallel.
The 247. multi-process exchange method as described in claim 201, including:The first set of parallel executive process, and it is suitable
The second set of sequence executive process, wherein, the second of first set and the process of the multiple process including the process
Set.
The 248. multi-process exchange method as described in claim 201, wherein, the representations of events process input.
The 249. multi-process exchange method as described in claim 201, wherein, the representations of events process output.
The 250. multi-process exchange method as described in claim 201, wherein, the event includes user interface event.
The 251. multi-process exchange method as described in claim 201, wherein, the event includes graphical event.
The 252. multi-process exchange method as described in claim 201, wherein, the representations of events process status.
The 253. multi-process exchange method as described in claim 252, wherein, the process status represents the interaction of the process
Function, wherein, the interactive function of the process is as the content exposure of the data capsule in the multiple process.
The 254. multi-process exchange method as described in claim 253, including:By the content of the data capsule to define
The application programming interface API of multiple processes is stated, rather than defines by funcall the API.
The 255. multi-process exchange method as described in claim 254, wherein, the content of the data capsule is and application program
It is unrelated and can be by the multiple progress recognizing.
The 256. multi-process exchange method as described in claim 227, wherein, at least one described processing equipment includes multiple places
Manage equipment.
The 257. multi-process exchange method as described in claim 256, wherein, at least one process in the multiple process
Run under the first set of at least one processing equipment of the first set in the multiple processing equipment, in the multiple process
At least one process at least one processing equipment of the second set in the multiple processing equipment second set under transport
OK.
The 258. multi-process exchange method as described in claim 201, wherein, the multiple process includes the first process.
The 259. multi-process exchange method as described in claim 258, wherein, the translation is included the thing of first process
Part is transformed to include at least one data of the status information for the first process event data and event for specifying the event
Sequence.
The 260. multi-process exchange method as described in claim 259, wherein, the first process event data and status information
It is the specific data of type with type corresponding with the application program of first process.
The 261. multi-process exchange method as described in claim 260, wherein, the translation includes:By the data capsule shape
As including at least one described data sequence, the data capsule has including at least one data sequence and application
The data structure of the unrelated expression of program.
The 262. multi-process exchange method as described in claim 258, wherein, the multiple process includes the second process.
The 263. multi-process exchange method as described in claim 262, wherein, the translation includes:By second process
State change event be transformed to include to specify the event the second process event data and the event status information extremely
A few data sequence.
The 264. multi-process exchange method as described in claim 263, wherein, the second process event data and status information
It is the specific data of type with type corresponding with the application program of second process.
The 265. multi-process exchange method as described in claim 264, wherein, the translation includes:By the data capsule shape
As including at least one described data sequence, the data capsule has including at least one data sequence and application
The data structure of the unrelated expression of program.
The 266. multi-process exchange method as described in claim 262, wherein, the identification process is second process, institute
Stating retrieval includes:The data capsule of retrieval from the multiple pond, and perform in the data capsule of the identification
Second process of the processing of appearance.
The 267. multi-process exchange method as described in claim 266, wherein, the content of the data capsule of the identification is to represent
The data of the first state of a process information.
The 268. multi-process exchange method as described in claim 267, wherein, the translation includes:By the data of the identification
The content conversion of capsule is at least one new data sequence, and at least one described new data sequence represents first process
Event and second process event at least one.
The 269. multi-process exchange method as described in claim 268, wherein, at least one described new data sequence includes institute
State at least one state of a process information in the first process and second process and specify the event data of the event.
The 270. multi-process exchange method as described in claim 269, wherein, in first process and second process
The event data and status information of at least one process be have with first process and second process extremely
The specific data of type of the corresponding type of application program of a few process.
The 271. multi-process exchange method as described in claim 270, wherein, the translation includes:By the data capsule shape
As including at least one described new data sequence, the data capsule, which has, includes at least one described new data sequence
The expression unrelated with application program data structure.
The 272. multi-process exchange method as described in claim 271, wherein, at least one is new described in the multiple process use
Data sequence.
The 273. multi-process exchange method as described in claim 266, wherein, the content of the data capsule to the identification
Processing include render Drawing Object, wherein, the Drawing Object is rendered on the display of at least one processing equipment.
The 274. multi-process exchange method as described in claim 273, wherein, it is described to render including directly rendering, wherein described
Multiple processes are drawn directly into the graph layer of at least one processing equipment, wherein, the multiple pond is used for for the wash with watercolours
Contaminate the coordination between the multiple process.
The 275. multi-process exchange method as described in claim 273, wherein, it is described to render including following multiple processes:
The multiple pond will be sent to including the data capsule for rendering order;And
Render order from the retrieval of the multiple pond is described, explain described in render order, and render order in response to described and drive
The graph layer of at least one processing equipment.
The 276. multi-process exchange method as described in claim 273, wherein, it is described to render including following multiple processes:
It is rendered into pixel buffer;
Original frame data is sent to the multiple pond, the original frame data as to being rendered described in the pixel buffer and
Produce;And
Retrieve the original frame data from the multiple pond, and combine the original frame data, with described in driving at least
Used in the graph layer of one processing equipment.
The 277. multi-process exchange method as described in claim 201, including:
Detect the event of the multiple process;
Generation includes specifying at least one data sequence of the status information of the event data of the event and the event, its
In, the event data and status information are that the type with type corresponding with the application program of at least one processing equipment is special
Fixed data;And
Data capsule shape, which is turned into, includes at least one described data sequence, the data capsule have include it is described at least one
The data structure of the expression unrelated with application program of data sequence.
The 278. multi-process exchange method as described in claim 277, wherein, at least one described data sequence of generation includes:
Generation includes the first respective data set of the first respective event data;
Generation includes the second respective data set of the second respective status information;And
First data sequence is formed as to include the described first respective data set and the second respective data set.
The 279. multi-process exchange method as described in claim 278, wherein, generating the first respective data set includes:Will
The first respective data set is formed as including the mark data of at least one processing equipment, and the mark data includes mark
Know the data of at least one processing equipment.
The 280. multi-process exchange method as described in claim 278, wherein, at least one described data sequence of generation includes:
Generation includes the first respective data set of the first respective event data;
Generation includes the second respective data set of the second respective status information;And
Second data sequence is formed as to include the described first respective data set and the second respective data set.
The 281. multi-process exchange method as described in claim 280, wherein, generating the first respective data set includes:It is raw
Into the first respective data set offset, wherein, the first respective data set offset points to described the of second data sequence
One respective data set.
The 282. multi-process exchange method as described in claim 280, wherein, generating the second respective data set includes:It is raw
Into the second respective data set offset, wherein, the second respective data set offset points to described the of second data sequence
Two respective data sets.
The 283. multi-process exchange method as described in claim 278, wherein, the first respective data set is description chained list,
The description chained list includes the description of data.
The 284. multi-process exchange method as described in claim 277, wherein, the event data is to represent typed data
Labeling byte sequence.
The 285. multi-process exchange method as described in claim 284, wherein, the event data includes type header and type
Specific data layout.
The 286. multi-process exchange method as described in claim 201, wherein, the status information is to represent typed data
Labeling byte sequence.
The 287. multi-process exchange method as described in claim 286, wherein, the status information includes type header and type
Specific data layout.
The 288. multi-process exchange method as described in claim 201, including:
Generate at least one skew;And
The data capsule shape, which is turned into, includes at least one described skew.
The 289. multi-process exchange method as described in claim 288, including:
First skew of the generation with the first variable-length;
Wherein, the event data of the first data sequence at least one data sequence is pointed in first skew.
The 290. multi-process exchange method as described in claim 288, including:
Second skew of the generation with the second variable-length;
Wherein, the status information of the first data sequence at least one data sequence is pointed in second skew.
The 291. multi-process exchange method as described in claim 288, including:
Pass through data capsule formation first code path using the first skew at least one described skew;
Pass through data capsule formation second code path using the second skew at least one described skew;
Wherein, the first code path and the second code path are different paths.
The 292. multi-process exchange method as described in claim 291, wherein, in first skew and the described second skew
At least one includes metadata, and the metadata includes context certain metadata corresponding with the context of application program.
The 293. multi-process exchange method as described in claim 201, including:
Generation includes the head of the length of the data capsule;
The data capsule shape, which is turned into, includes the head.
The 294. multi-process exchange method as described in claim 201, including:The data capsule is sent to the multiple pond
In pond.
The 295. multi-process exchange method as described in claim 294, including:
Detect the second event of at least one processing equipment;
Data capsule corresponding with the second event is searched in the multiple pond;
Recognize the correspondence between the data capsule and the second event;
The data capsule is extracted from the pond in response to the identification;And
In response to the content of the data capsule, at least one processing equipment execution is represented corresponding with the second event
Processing operation, wherein, the application program of described at least one processing equipment and the first kind and the second application of Second Type
Program correspondence.
The 296. multi-process exchange method as described in claim 294, wherein, multiple application programs are coupled in the multiple pond,
The multiple pond includes multiple data capsules corresponding with the multiple application program, and the multiple pond is provided by the multiple
Access of the application program to the multiple data capsule, wherein, at least two application programs in the multiple application program are
Different application programs.
The 297. multi-process exchange method as described in claim 294, wherein, the multiple pond provides the shape of multiple data capsules
State is cached.
The 298. multi-process exchange method as described in claim 294, wherein, the multiple pond provides the line of multiple data capsules
Property sequence.
The 299. multi-process exchange method as described in claim 277, wherein, the data structure is non-typed.
The 300. multi-process exchange method as described in claim 201, wherein, the data structure of the data capsule provides described
Event data and the status information are represented with platform-independent.
The 301. multi-process exchange method as described in claim 201, wherein, the data structure of the data capsule is provided to institute
State being accessed with platform-independent for event data and the status information.
The 302. multi-process exchange method as described in claim 277, wherein, the transmission is included the data capsule from tool
The first application program for having the first Application Type is sent at least one with least one the second Application Type
Second application program, wherein, first Application Type is different from second Application Type, wherein, generate institute
At least one data sequence is stated by first application program to perform, methods described includes:Kept during the transmission
At least one data sequence of the data capsule is intact.
The 303. multi-process exchange method as described in claim 302, including make during the operation of second application program
With at least one described data sequence.
The 304. multi-process exchange method as described in claim 201, including:The source that generation includes at least one processing equipment is set
Standby event data and the first data set of mark data, the event data of the source device include specifying stepping on for the source device
The data of the event of note, the mark data includes the data for identifying the source device.
The 305. multi-process exchange method as described in claim 304, including generation include the complete of the status information of the event
Second data set of universal class, wherein, each in first data set and second data set is specific including type
Data layout in typed data bundle.
The 306. multi-process exchange method as described in claim 305, wherein, the translation includes:By by data capsule shape
As encapsulating first data set and second data set including first data set and second data set, its
In, the data capsule has the data structure for the expression unrelated with application program for including at least one data sequence.
The 307. multi-process exchange method as described in claim 201, including:
Detect the event for the first processing equipment run under the application program of the first kind;
Generation includes the data sequence of the event data of first processing equipment, and the event data specifies the event and institute
The status information of event is stated, wherein, the event data and status information are with type corresponding with the application program
The specific data of type;
Data capsule shape, which is turned into, includes the data sequence, and the data capsule is with including the data sequence and application
The data structure of the unrelated expression of program;
Detect the of the second processing equipment run under with the application program of at least one of at least one Second Type second
Two events, wherein, the Second Type is different from the first kind, wherein, at least one processing equipment includes described first
Processing equipment and the second processing equipment;
Recognize the correspondence between the data capsule and the second event;And
Operation is performed using the content of the data sequence of the data capsule, in response to the second event.
The 308. multi-process exchange method as described in claim 307, wherein, generating the data sequence includes:
Generation includes the first data set of the event data;
Generation includes the second data set of the status information;And
First data sequence is formed as to include first data set and second data set.
The 309. multi-process exchange method as described in claim 307, wherein, the event data is to represent typed data
Labeling byte sequence.
The 310. multi-process exchange method as described in claim 309, wherein, the event data includes type header and type
Specific data layout.
The 311. multi-process exchange method as described in claim 307, wherein, the status information is to represent typed data
Labeling byte sequence.
The 312. multi-process exchange method as described in claim 311, wherein, the status information includes type header and type
Specific data layout.
The 313. multi-process exchange method as described in claim 307, including:
Generate at least one skew;And
The data capsule shape, which is turned into, includes at least one described skew.
The 314. multi-process exchange method as described in claim 313, including:
First skew of the generation with the first variable-length, wherein, first skew is pointed at least one data sequence
The event data of first data sequence;And
Second skew of the generation with the second variable-length, wherein, second skew is pointed at least one data sequence
The status information of first data sequence.
The 315. multi-process exchange method as described in claim 313, including:
Pass through data capsule formation first code path using the first skew at least one described skew;
Pass through data capsule formation second code path using the second skew at least one described skew;
Wherein, the first code path and the second code path are different paths.
The 316. multi-process exchange method as described in claim 314, wherein, in first skew and the described second skew
At least one includes metadata, and the metadata includes the specific first number of context corresponding with the context of the application program
According to.
The 317. multi-process exchange method as described in claim 307, including the data capsule is sent to the multiple pond
In pond.
The 318. multi-process exchange method as described in claim 317, including:
Data capsule corresponding with the second event is searched in the multiple pond;And
The data capsule is extracted in identification in response to the correspondence from the pond.
The 319. multi-process exchange method as described in claim 317, wherein, the multiple pond be coupled to the application program and
At least one described second application program, the multiple pond include with the application program and it is described at least one second apply journey
The corresponding multiple data capsules of sequence, the multiple pond, which is provided, passes through the application program and at least one described second application program
Access to the multiple data capsule.
The 320. multi-process exchange method as described in claim 317, wherein, the multiple pond provides the shape of multiple data capsules
State is cached.
The 321. multi-process exchange method as described in claim 317, wherein, the multiple pond provides the line of multiple data capsules
Property sequence.
The 322. multi-process exchange method as described in claim 307, wherein, the data structure is non-typed.
The 323. multi-process exchange method as described in claim 307, wherein, the data structure of the data capsule provides described
Event data and the status information are represented with platform-independent.
The 324. multi-process exchange method as described in claim 307, wherein, the data structure of the data capsule is provided to institute
State being accessed with platform-independent for event data and the status information.
A kind of 325. multi-process interactive systems, including:
Detector, the attitude data for the posture that body is carried out is represented for receiving;And
Processor, is coupled to the detector, posture described in the processor from the attitude data automatic detection, the processing
Device performs multiple processes, and the multiple process generation includes representing the event of the set of the event of the posture, the processor
The event of each process in the multiple process is translated into data capsule, the data capsule is sent to by the processor
Multiple ponds, wherein, the set running of the process in the multiple process is identification process, and the identification process is in the multiple pond
Middle identification includes the data capsule of content corresponding with the posture, identification process retrieval from the multiple pond
Data capsule, and by synthesize the identification data capsule content to form the attitude signal come from the identification
Data capsule generates attitude signal, wherein, the attitude signal represents the posture,
Wherein, data capsule include initiating the event data of the state of a process information of the data capsule and event with application
The unrelated expression of program.
Applications Claiming Priority (15)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US10525308P | 2008-10-14 | 2008-10-14 | |
US10524308P | 2008-10-14 | 2008-10-14 | |
US61/105,243 | 2008-10-14 | ||
US61/105,253 | 2008-10-14 | ||
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/417,252 | 2009-04-02 | ||
US12/487,623 | 2009-06-18 | ||
US12/487,623 US20090278915A1 (en) | 2006-02-08 | 2009-06-18 | Gesture-Based Control System For Vehicle Interfaces |
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 | 2009-09-10 | ||
US12/557,464 US9910497B2 (en) | 2006-02-08 | 2009-09-10 | Gestural control of autonomous and semi-autonomous systems |
US12/572,689 | 2009-10-02 | ||
US12/572,689 US8866740B2 (en) | 2005-02-08 | 2009-10-02 | System and method for gesture based control system |
PCT/US2009/060725 WO2010045394A1 (en) | 2008-10-14 | 2009-10-14 | Multi-process interactive systems and methods |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102224476A CN102224476A (en) | 2011-10-19 |
CN102224476B true CN102224476B (en) | 2017-08-01 |
Family
ID=42106884
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN200980146827.0A Expired - Fee Related CN102224476B (en) | 2008-10-14 | 2009-10-14 | Multi-process interactive systems and method |
Country Status (5)
Country | Link |
---|---|
EP (1) | EP2350774A4 (en) |
JP (1) | JP5805537B2 (en) |
KR (1) | KR101649769B1 (en) |
CN (1) | CN102224476B (en) |
WO (1) | WO2010045394A1 (en) |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9952673B2 (en) | 2009-04-02 | 2018-04-24 | Oblong Industries, Inc. | Operating environment comprising multiple client devices, multiple displays, multiple users, and gestural control |
US9684380B2 (en) * | 2009-04-02 | 2017-06-20 | Oblong Industries, Inc. | Operating environment with gestural control and multiple client devices, displays, and users |
US9740293B2 (en) | 2009-04-02 | 2017-08-22 | Oblong Industries, Inc. | Operating environment with gestural control and multiple client devices, displays, and users |
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 (en) * | 2016-06-08 | 2019-01-29 | Tcl移动通信科技(宁波)有限公司 | A kind of alternative word search speed control method and system based on text input speed |
CN106571888B (en) * | 2016-11-10 | 2018-08-14 | 中国人民解放军空军航空大学军事仿真技术研究所 | A kind of analogue system automatic synchronization reliable communication method |
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 (en) * | 2017-08-08 | 2017-12-15 | 西安万像电子科技有限公司 | Data transmission method, device, system |
EP4390219A2 (en) | 2017-12-10 | 2024-06-26 | Magic Leap, Inc. | Anti-reflective coatings on optical waveguides |
US11187923B2 (en) | 2017-12-20 | 2021-11-30 | Magic Leap, Inc. | Insert for augmented reality viewing device |
CN108196686B (en) * | 2018-03-13 | 2024-01-26 | 北京无远弗届科技有限公司 | Hand motion gesture capturing device, method and virtual reality interaction system |
US10755676B2 (en) | 2018-03-15 | 2020-08-25 | Magic Leap, Inc. | Image correction due to deformation of components of a viewing device |
EP3803450A4 (en) | 2018-05-31 | 2021-08-18 | 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 |
WO2020010226A1 (en) | 2018-07-03 | 2020-01-09 | Magic Leap, Inc. | Systems and methods for virtual and augmented reality |
US11856479B2 (en) | 2018-07-03 | 2023-12-26 | Magic Leap, Inc. | Systems and methods for virtual and augmented reality along a route with markers |
US11624929B2 (en) | 2018-07-24 | 2023-04-11 | Magic Leap, Inc. | Viewing device with dust seal integration |
WO2020023545A1 (en) | 2018-07-24 | 2020-01-30 | 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 (en) * | 2018-08-15 | 2019-12-24 | 杭州电子科技大学 | Motion control method and device of embedded programmable controller |
CN112955073A (en) | 2018-08-22 | 2021-06-11 | 奇跃公司 | Patient viewing system |
CN109491725B (en) * | 2018-11-12 | 2022-12-27 | 火烈鸟网络(广州)股份有限公司 | Interactive multi-opening method and system of application program, storage medium and electronic equipment |
WO2020102412A1 (en) | 2018-11-16 | 2020-05-22 | Magic Leap, Inc. | Image size triggered clarification to maintain image sharpness |
EP3921720B1 (en) * | 2019-02-06 | 2024-05-22 | Magic Leap, Inc. | Target intent-based clock speed determination and adjustment to limit total heat generated by multiple processors |
JP2022523852A (en) | 2019-03-12 | 2022-04-26 | マジック リープ, インコーポレイテッド | Aligning local content between first and second augmented reality viewers |
WO2020223636A1 (en) | 2019-05-01 | 2020-11-05 | Magic Leap, Inc. | Content provisioning system and method |
WO2021021670A1 (en) | 2019-07-26 | 2021-02-04 | Magic Leap, Inc. | Systems and methods for augmented reality |
WO2021097318A1 (en) | 2019-11-14 | 2021-05-20 | Magic Leap, Inc. | Systems and methods for virtual and augmented reality |
WO2021097323A1 (en) | 2019-11-15 | 2021-05-20 | Magic Leap, Inc. | A viewing system for use in a surgical environment |
CN112907437A (en) * | 2021-03-26 | 2021-06-04 | 长沙景嘉微电子股份有限公司 | Method and device for running multiple 3D processes, electronic equipment and storage medium |
CN116302579B (en) * | 2023-05-25 | 2023-08-04 | 智成时空(西安)创新科技有限公司 | Space-time big data efficient loading rendering method and system for Web end |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1266512A (en) * | 1997-05-08 | 2000-09-13 | 艾瑞迪公司 | Hardware acceleration for an object-oriented programming language |
Family Cites Families (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2517531B2 (en) * | 1994-02-28 | 1996-07-24 | 株式会社エイ・ティ・アール通信システム研究所 | Posture detection device using stereo images |
US7548238B2 (en) * | 1997-07-02 | 2009-06-16 | Nvidia Corporation | Computer graphics shader systems and methods |
JP3762173B2 (en) * | 1999-11-26 | 2006-04-05 | 株式会社東芝 | Computer system, network system, and recording medium |
SE0000850D0 (en) * | 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 |
US7598942B2 (en) * | 2005-02-08 | 2009-10-06 | Oblong Industries, Inc. | System and method for gesture based control system |
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 (en) * | 2006-03-28 | 2012-08-22 | 株式会社野村総合研究所 | Job management apparatus and job management method |
EP2163987A3 (en) * | 2007-04-24 | 2013-01-23 | Oblong Industries, Inc. | Processing of events in data processing environments |
-
2009
- 2009-10-14 WO PCT/US2009/060725 patent/WO2010045394A1/en active Application Filing
- 2009-10-14 CN CN200980146827.0A patent/CN102224476B/en not_active Expired - Fee Related
- 2009-10-14 KR KR1020117011074A patent/KR101649769B1/en active IP Right Grant
- 2009-10-14 EP EP09821219.4A patent/EP2350774A4/en not_active Withdrawn
- 2009-10-14 JP JP2011532225A patent/JP5805537B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1266512A (en) * | 1997-05-08 | 2000-09-13 | 艾瑞迪公司 | Hardware acceleration for an object-oriented programming language |
Also Published As
Publication number | Publication date |
---|---|
JP5805537B2 (en) | 2015-11-04 |
EP2350774A1 (en) | 2011-08-03 |
EP2350774A4 (en) | 2014-11-05 |
CN102224476A (en) | 2011-10-19 |
JP2012506097A (en) | 2012-03-08 |
KR101649769B1 (en) | 2016-08-19 |
WO2010045394A1 (en) | 2010-04-22 |
KR20110079839A (en) | 2011-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102224476B (en) | Multi-process interactive systems and method | |
US10565030B2 (en) | Multi-process interactive systems and methods | |
US10061392B2 (en) | Control system for navigating a principal dimension of a data space | |
US10990454B2 (en) | Multi-process interactive systems and methods | |
US9063801B2 (en) | Multi-process interactive systems and methods | |
CN103988150B (en) | For the quick finger tip detection for the hand tracker for initializing view-based access control model | |
US9910497B2 (en) | Gestural control of autonomous and semi-autonomous systems | |
US9471149B2 (en) | Control system for navigating a principal dimension of a data space | |
US9933852B2 (en) | Multi-process interactive systems and methods | |
CN110023962B (en) | Human experience with efficient transfer of robots and other autonomous machines | |
US8537112B2 (en) | Control system for navigating a principal dimension of a data space | |
CN101689152B (en) | Between multi-process, data sharing and interactive operation and crossover network perform method | |
EP2338114B1 (en) | Control system for navigating a principal dimension of a data space | |
CN103930944B (en) | Adaptive tracking system for space input equipment | |
KR20120034637A (en) | Gesture-based control systems including the representation, manipulation, and exchange of data | |
WO2010030822A1 (en) | Gestural control of autonomous and semi-autonomous systems | |
US9052970B2 (en) | Multi-process interactive systems and methods | |
CN102804206B (en) | The control system based on posture representing including data, operate and exchanging |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20170801 Termination date: 20201014 |