CN102224476B - Multi-process interactive systems and method - Google Patents

Multi-process interactive systems and method Download PDF

Info

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
Application number
CN200980146827.0A
Other languages
Chinese (zh)
Other versions
CN102224476A (en
Inventor
克温德拉·赫尔特曼·克拉默
约翰·S·昂德科夫勒
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Oblong Industries Inc
Original Assignee
Oblong Industries Inc
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Priority claimed from US12/417,252 external-priority patent/US9075441B2/en
Priority claimed from US12/487,623 external-priority patent/US20090278915A1/en
Priority claimed from US12/553,845 external-priority patent/US8531396B2/en
Priority claimed from US12/557,464 external-priority patent/US9910497B2/en
Priority claimed from US12/572,689 external-priority patent/US8866740B2/en
Application filed by Oblong Industries Inc filed Critical Oblong Industries Inc
Publication of CN102224476A publication Critical patent/CN102224476A/en
Application granted granted Critical
Publication of CN102224476B publication Critical patent/CN102224476B/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/0703Error 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/0706Error 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/38Concurrent instruction execution, e.g. pipeline or look ahead
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/542Event management; Broadcasting; Multicasting; Notifications
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition
    • G06V40/28Recognition 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

Multi-process interactive systems and method
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.
CN200980146827.0A 2008-10-14 2009-10-14 Multi-process interactive systems and method Expired - Fee Related CN102224476B (en)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Patent Citations (1)

* Cited by examiner, † Cited by third party
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