CN102224476A - Multi-process interactive systems and methods - Google Patents

Multi-process interactive systems and methods Download PDF

Info

Publication number
CN102224476A
CN102224476A CN2009801468270A CN200980146827A CN102224476A CN 102224476 A CN102224476 A CN 102224476A CN 2009801468270 A CN2009801468270 A CN 2009801468270A CN 200980146827 A CN200980146827 A CN 200980146827A CN 102224476 A CN102224476 A CN 102224476A
Authority
CN
China
Prior art keywords
data
capsule
application program
incident
skew
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.)
Granted
Application number
CN2009801468270A
Other languages
Chinese (zh)
Other versions
CN102224476B (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

Images

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, 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

Abstract

A multi-process interactive system is described. The system includes numerous processes running on a processing device. The processes include separable program execution contexts of application piograms, such that each application program comprises at least one process. The system translates events of each process into data capsules. A data capsule includes an application-independent representation of event data of an event and state information of the process originating the content of the data capsule The system transfers the data messages into pools or repositories Each process operates as a recognizing process, where the recognizing process recognizes in the pools data capsules comprising content that corresponds to an interactive function of the recognizing process and/or an identification of the recognizing process. The recognizing process retrieves recognized data capsules from the pools and executes processing appropriate to contents of the recognized data capsules.

Description

Multi-process interactive system and method
Related application
The application requires the rights and interests of No. the 61/105th, 243, united states's patented claim of submitting on October 14th, 2008.
The application requires the rights and interests of No. the 61/105th, 253, the U.S. Patent application submitted on October 14th, 2008.
The application is the continuation of the part of No. the 12/109th, 263, the U.S. Patent application submitted on April 24th, 2008.
The application is the continuation of the part of No. the 12/417th, 252, the U.S. Patent application submitted on April 2nd, 2009.
The application is the continuation of the part of No. the 12/487th, 623, the U.S. Patent application submitted on June 18th, 2009.
The application is the continuation of the part of No. the 12/553rd, 845, the U.S. Patent application submitted on September 3rd, 2009.
The application is the continuation of the part of No. the 12/557th, 464, the U.S. Patent application submitted on September 10th, 2009.
The application is the continuation of the part of No. the 12/572nd, 689, the U.S. Patent application submitted on October 2nd, 2009, and U.S. Patent application is for the 12/572nd, No. 689 a United States Patent (USP) the 7th, 598, the continuation of No. 942 part.
Technical field
The present invention relates within the calculation procedure and between the embodiment of expression, manipulation and exchange of data.
Background technology
The tradition programmed environment not exclusively supports the flexible of data between multicomputer processing unit (CPU) and crossover network execution or a large amount of calculation procedure to share.User oriented computer program has been built as feasible major part and the output of all figures that produces process by single calculation procedure traditionally.Though this mechanism standard and support well that by instrument chain, development environment and operating system scale is not good enough, and be expansion and fragile obvious contribution factor to using the widely used present age.
Merge by reference
Each patent, the patented claim of mentioning in this instructions and/or be disclosed in this and by reference its full content be incorporated into this, as each independent patent, patented claim and or open being designated as particularly and individually carry out combination by reference.
Description of drawings
Figure 1A is the block diagram according to the multi-process interactive system of embodiment.
Figure 1B is the block diagram according to the multi-process interactive system of alternative embodiment.
Fig. 1 C is the block diagram according to the multi-process interactive system of another alternative embodiment.
Fig. 2 is the process flow diagram according to the operation of the multi-process interactive system of embodiment.
Fig. 3 is the block diagram according to the processing environment of the data representation that uses polychrome to draw (slawx), protein (protein) and pond (pool) comprising of embodiment.
Fig. 4 is the block diagram according to the protein of embodiment.
Fig. 5 is the block diagram of the record (descrip) according to embodiment.
Fig. 6 is the block diagram of the picked-up (ingest) according to embodiment.
Fig. 7 is the block diagram according to the salad of embodiment.
Fig. 8 A is the block diagram according to the protein in the pond of embodiment.
Fig. 8 B illustrates the salad header format according to embodiment.
Fig. 8 C is the process flow diagram according to the use protein of embodiment.
Fig. 8 D is the process flow diagram that is used to make up or generate protein according to embodiment.
Fig. 9 is that polychrome draws according to using comprising of embodiment, the block diagram of the processing environment of the exchanges data in protein and pond.
Figure 10 is according to comprising of embodiment of a plurality of equipment and run on the block diagram of the processing environment of a large amount of programs on one or more in the described equipment, in these equipment, blood plasma (plasma) makes up (for example pond, protein and salad) and is used to allow the shared and incident that jointly generate in response to equipment of a large amount of working procedures.
Figure 11 is according to comprising of alternative embodiment of a plurality of equipment and run on the block diagram of the processing environment of a large amount of programs on one or more in the described equipment, in these equipment, blood plasma makes up (for example pond, protein and salad) and is used to allow the shared and incident that jointly generate in response to equipment of a large amount of working procedures.
Figure 12 is the block diagram that runs on the processing environment of a plurality of input equipments that are coupled among a large amount of programs on one or more equipment according to being included in of another alternative embodiment, in these equipment, blood plasma makes up (for example pond, protein and salad) and is used to allow the shared and incident that jointly generate in response to input equipment of a large amount of working procedures.
Figure 13 is the block diagram that runs on the processing environment of a plurality of equipment that are coupled among a large amount of programs on one or more equipment according to being included in of another alternative embodiment, in these equipment, blood plasma makes up (for example pond, protein and salad) and is used to allow the shared and graphical event that jointly generate in response to equipment of a large amount of working procedures.
Figure 14 is the block diagram that runs on the processing environment of a plurality of equipment that are coupled among a large amount of programs on one or more equipment according to being included in of another alternative embodiment, in these equipment, blood plasma makes up (for example pond, protein and salad) and is used to allow the status checking to working procedure, visual and debugging.
Figure 15 is the block diagram according to the processing environment that is included in a plurality of equipment that are coupled among a large amount of programs that run on one or more equipment of additional alternative embodiment, in these equipment, blood plasma makes up the characteristic that (for example pond, protein and salad) is used to allow to influence or control the status information that produces in this process pool and place.
Figure 16 is the block diagram of attitude (gestural) control system according to embodiment.
Figure 17 is the diagrammatic sketch according to the markup tags of embodiment.
Figure 18 is the diagrammatic sketch of the posture in the attitude vocabulary (gesture vocabulary) according to embodiment.
Figure 19 is the diagrammatic sketch according to the orientation in the attitude vocabulary of embodiment.
Figure 20 is the diagrammatic sketch according to two hand combinations in the attitude vocabulary of embodiment.
Figure 21 is the diagrammatic sketch that mixes according to the orientation in the attitude vocabulary of embodiment.
Figure 22 is the process flow diagram according to the attitude control of embodiment.
Figure 23 is the example according to the order of embodiment.
Figure 24 is the block diagram according to the spatial operation environment (SOE) that passes through the realization of multi-process interactive system of embodiment.
Figure 25 is according to the use of the embodiment process flow diagram from the operation of the multi-process interactive system of the input of attitude control system.
Embodiment
Thereby embodiment described here comprises the system and method that the behavior that is used to coordinate a plurality of computer processes and output produce interactive application.Embodiment described here is commonly called multi-process interactive system, program or application program, comprises the application program that is divided into a plurality of various computing machine processes that can executed in parallel.The set of these processes can produce the user and carry out the part of mutual overall system output by it.The set of these processes has the right to access to the data exchange mechanism of the structurized and good definition that is used for Coordinating Activity.The set of these processes is operable as via the structural data exchanging mechanism uses the user to import (for example original user input increases the weight of user's input, original and increase the weight of user's input etc. of conversion of conversion).
Embodiment described here provides the modularity of the application component on the border of crossing over calculation procedure.As the result of the modularity that provides, embodiment described here provides that assembly re-uses, the robustness (robustness) of the bigger chance for interoperability, easier test and checking, increase and the term of execution fault tolerance.
In addition, existing computing machine comprises a plurality of processor elements (for example CPU core) usually.Embodiment at this calibrates on multiple processor structure far better than legacy application constructing technology.As the trend of Computer Design, this " multinuclear " calibration becomes more and more important, and manufacturing industry satisfies the interior nuclear counting of increase rather than the clock speed of increase day by day.
Embodiment described here makes it possible to carry out dynamic construction, destruction and the reorganization of processing components.Embodiment described here makes it possible to use networking (or other interconnection) agreement to cross over the expansion that a plurality of computing machines carry out the structural data exchanging mechanism.Embodiment described here makes it possible to dynamically transmit processing components between computing machine.Embodiment described here makes it possible to carry out according to quantity, composition and the execution context of the process of participation the dynamic optimization of structural data exchanging mechanism.Embodiment described here makes it possible to the figure output of creating on a plurality of computing machines is combined on individual monitor.Embodiment described here realizes comprising the G context that share, that coordinate of a plurality of displays.Embodiment described here realizes comprising the many display graphics context that share, that coordinate by a plurality of displays of a plurality of computer drives.Embodiment described here is introduced the structural data exchanging mechanism with historical automatically buffering structure, makes that some past data amounts are always available for application component.
Following term is intended to have as them at this following ordinary meaning that is used.The separable program of term " process (process) " expression is carried out context as used herein.Computer architecture is different on the ins and outs that process realizes with operating system.The process that mechanism described here is configured to cross over broad range realizes operating, and promotes to utilize the mixing application programming or the configuration of available computational resources as much as possible.
As used herein any equipment of one or more programs of term " equipment " expression operation or algorithm based on processor, move under one or more programs or the algorithm any based on processor equipment and/or coupling or be connected to the one or more programs of operation or algorithm and/or any equipment of under one or more programs or algorithm, moving based on the equipment of processor.Term " incident " expression and operation or executive routine or algorithm, any incident (for example, incident can include but not limited to input, output, control, state, state change, action, data (the no matter level in the processing related with it of the form of data or data) etc.) of being associated based on the equipment and/or the coupling of processor or the equipment based on the equipment of processor that is connected to as used herein.
In the following description, introduce a large amount of details, so that the thorough understanding for embodiment described here to be provided, and make it possible to embodiment described here is described.Yet, it will be understood by those skilled in the art that can the one or more situation in not having these details under or can wait by other assembly, system and put into practice these embodiment.In other example, be not shown specifically or describe known structure or operation, in order to avoid the aspect of fuzzy disclosed embodiment.
Embodiment at this is included in the system and method for carrying out a large amount of processes at least one treatment facility.The system and method for embodiment translates to the data capsule with the incident of each process.The system and method for embodiment is sent to the data capsule in a plurality of ponds or the reservoir.Each process is as the identification process operation, and wherein, described identification process discern the data capsule that comprises the content corresponding with the sign of the interactive function of discerning process and/or the process of identification in the pond.Described identification process is retrieved the recognition data capsule from the pond, and carries out the processing suitable to the content of recognition data capsule.
For example, Figure 1A is the block diagram according to the multi-process interactive system 10 of embodiment.This system 10 comprises the treatment facility 11 of being responsible for or carrying out any amount of process P1-P7.The multi-process interactive system 10 of this example comprises a computing machine 11 or operation on a computing machine 11, but is not limited to a computing machine, and can cross over any amount of treatment facility or system and/or its and make up and move.The process P1-P7 of embodiment comprises the separable program execution context of one or more application programs, and wherein, each application program comprises at least one process, but embodiment is not limited thereto.The term of execution incident that generates or produce in each process translates to some quantity data capsule DC1-DC9, and the data capsule is sent to a plurality of pond 15-17 or reservoir.The oval element of system 10 is represented pond 15-17, and wherein, pond or reservoir are to be used for following detailed description and in the mechanism of the structural data of related application exchange.As described below, the data capsule DC1-DC9 (being also referred to as data-message) by pond 15-17 is described as " protein " usually.
Each process P1-P7 is as the identification process operation, and wherein, the identification process discern data capsule that comprises the content corresponding with the sign of the interactive function of discerning process P1-P7 and/or the process of identification P1-P7 in the 15-17 of pond.Identification process P1-P7 is from pond retrieval recognition data capsule DC1-DC9, and the execution process suitable to the content of recognition data capsule.Followingly multi-process interactive system 10 is described in more detail with reference to Fig. 3-Figure 15.
Figure 1B is the block diagram according to the multi-process interactive system 20 of alternative embodiment.This system 20 comprises the treatment facility 21 of being responsible for or carrying out any amount of process P1-PX, and wherein, X represents the suitable any amount of configuration for treatment facility 21 and/or system 20.System 20 also comprises the treatment facility 22 of being responsible for or carrying out any amount of process P1-PY, and wherein, Y represents the suitable any amount of configuration for treatment facility 22 and/or system 20.The multi-process interactive system 20 of this example comprises two treatment facilities 21/22 or crosses over two treatment facilities 21/22 operation, but is not limited to two equipment, and can cross over any amount of treatment facility or system and/or its and make up and move.The process P1-PX of embodiment and P1-PY comprise the separable program execution context of one or more application programs, and wherein, each application program comprises at least one process, but embodiment is not limited thereto.
The term of execution incident that generates or produce in each process translates to data capsule (not shown), and the data capsule is sent in one or more ponds.The oval element of system 20 is represented the pond, and wherein, pond or reservoir are to be used for following detailed description and in the mechanism of the structural data of related application exchange.In this example, on treatment facility 21, be responsible for pond PLl, but can on treatment facility 21, be responsible for any amount of pond.Be responsible for pond PL1-PLY on treatment facility 22, wherein, Y represents the suitable any amount of configuration for treatment facility 22 and/or system 20, can be responsible for any amount of pond on treatment facility 22.System 20 also comprises pond PL11-PLX, and wherein, X represents the suitable any amount of configuration for treatment facility 22 and/or system 20; In system 20, can be responsible for any amount of pond.Generating any process of data capsule and/or equipment can be sent to the data capsule in any pond in the system.
Each process P1-PX/P1-PY is as the identification process operation, and wherein, the identification process discern data capsule that comprises the content corresponding with the sign of the interactive function of discerning process P1-PX/P1-PY and/or the process of identification P1-PX/P1-PY in the pond.Described identification process P1-PX/P1-PY is from described pond retrieval recognition data capsule, and the execution processing suitable to the content of recognition data capsule.Followingly multi-process interactive system 20 is described in more detail with reference to Fig. 3-Figure 15.
Embodiment at this is included in the system and method for carrying out a large amount of processes at least one treatment facility.The process of embodiment comprises the separable program execution context of a plurality of application programs, and wherein, each application program comprises at least one process.The system and method for embodiment translates to the data capsule with the incident of each process in a plurality of processes.The data capsule comprise the state of a process information of initiating the data capsule and incident event data with the irrelevant expression of application program.The system and method for embodiment is sent to the data capsule in a plurality of ponds or the reservoir.Each process of embodiment is as the identification process operation.The identification process is discerned the data capsule that comprises with the corresponding content of sign of the interactive function of identification process and/or identification process in the pond.Described identification process is retrieved the recognition data capsule from the pond, and carries out the processing suitable to the content of recognition data capsule.
The example of embodiment described here comprises that the behavior that is used to coordinate a plurality of computer processes and figure output are to enable the system and method for interactive application.Though this example is at the output of figure process and figure, the embodiment of multi-process interactive system is not limited to the figure process, and can be applied to any process of moving under any amount of treatment facility.The multi-process interactive system comprise be divided into can a plurality of various computing machine of executed in parallel process application program, the set of these processes can produce the user carries out mutual overall figure output with it part.The set of these processes has the right to access to the data exchange mechanism of structuring and good definition, and this data exchange mechanism is used for Coordinating Activity to make the set of these processes be operable as via the structural data exchanging mechanism to use the user to import.
As example more specifically, describe below that instruction is a kind of to be referred to herein as foursquare multiple-process graphical program, thereby produce the illustrative examples of the embodiment of interactive application as the behavior of coordinating a plurality of computer processes and figure output.How the description purpose of this illustrative examples is being enough to realizing that it is used for the level operations of the details of any interactive program if being to illustrate mechanism disclosed herein.This mechanism (and in fact its components) is common fully, and in fact can realize by various different modes.As the typical case in such program, the main service of the coordination of the fine granulation of the program state that mechanism disclosed herein provides the visit that includes but not limited to user input, cross over process and the coordination of figure output.
Square program in this proposition is used for showing some kinds in the useful basic coordination of real-world programs.The square program provides the translucent square of the colouring of flexible number, to play up (render) on one or more graphoscopes.In single calculation procedure, implement each in these squares.Each foursquare state and graphics details depend on various factors, comprise the external message that user's input action, other foursquare state and the overall situation are transmitted.Can use input equipment (for example mouse, touch-screen etc.) on display, to move square everywhere.Attitude/space of describing in related application (gestural/spatial) input system also can be used for moving square, and in the case, square can be positioned on any display that can use for the computing machine that adds attitude/spatial network.
Fig. 1 C is the block diagram according to the multi-process interactive system 100 of another alternative embodiment.This system 100 comprises the process and the interconnection of making up with the example operation that forms program.Process in solid-line rectangle element (for example being generally element M, P, S, G) the expression system 100.Oval element (for example element Ui, Coo, frame) expression pond is used for as described in detail below and in the mechanism of the structural data exchange of related application.As described below, the data-message by the pond is described as " protein " usually.
The multi-process interactive system 100 of this example comprises two computing machines 101 and 102 or cross over two computing machines 101 and 102 and allow, but is not limited to two computing machines, and can cross over any amount of disposal system and/or its and make up and move.In this example, first computing machine 101 is responsible for the process of implementing two square S (for example S21, S22), and second computing machine 102 is responsible for the process of implementing four square S (for example S11, S12, S13, S14).Alternative embodiment can be included in any amount of square process S that moves on any amount of computing machine.First computing machine 101 is coupled to individual monitor 110, the second computing machines 102 and is coupled to three displays 121,122,123.Alternative embodiment can comprise any amount of display that is coupled to any amount of computing machine.
In two computing machines 101 and 102 each is responsible at least one " mouse " process M (for example M1, M2).Mouse process M comprises the computer mouse incoming event is transformed to the high-level driver that the user imports the suitable stream of protein and these protein is delivered at least one " user's input " pond Ui.Attitude/the space system (as described in detail below) that is encapsulated as attitude/space process G is also imported the user protein and is delivered to the user and imports pond Ui.
In two computing machines 101 and 102 each also is responsible at least one " pointer " process P (for example P1, P2).Pointer process P obtains or receives data from the Ui pond, and is responsible for determining user's positive order pointer " concern " wherein, and is responsible for drawing or playing up suitable pointer figure.Pointer process P inserts " coordination " pond Coo with data relevant with pointer position and pattern or expression pointer position and pattern.Pointer process P exports figure in special-purpose abstract " frame " pond that is delivered to as following detailed description.
In addition, each in two computing machines 101 and 102 is responsible for aforesaid some " square " process S.Each square process S consults for the state of pointer data and reciprocity square process S and coordinates pond Coo.Each square process S also will describe their space and the data of mode state are placed back coordination pond Coo.Square process S is delivered to " frame " pond with figure output.The frame pond is special-purpose abstract, is discussed in more detail below.
Being responsible for attitude/space process G on any that can be in two computing machines 101 and 102 imports pond Ui and coordinates pond Coo together with the user.Alternatively, can between two computing machines 101 and 102, share the person in charge who attitude/space process G is imported pond Ui and coordination pond Coo together with the user.As another alternative configuration, can on other computing machine (not shown), be responsible for attitude/space process G and import pond Ui and coordinate pond Coo together with the user.
For the protein that is stored in local frame pond, system 100 comprises that each second is combined as the frame layer the synthetic process com of special use of single frame of the output of each display many times.Usually by system-level selection of configuration whole frame rate of display is set, but constitute in the single process of square application program each can use different frame rates.Synthetic process com suitably looks after with the frame layer and mates.
Fig. 2 is the flow process Figure 200 according to the operation of the multi-process interactive system of embodiment.Operation is included in and carries out a plurality of processes at least one treatment facility 202.A plurality of processes comprise the separable program execution context of a plurality of application programs, make each application program comprise at least one process.Operation comprises that the incident with each process of a plurality of processes translates to data capsule 204.Data-message comprise the state of a process information of initiating data-message and incident event data with the irrelevant expression of application program.Operation comprises data-message is sent at least one pond in a plurality of ponds 206.Each process is as the identification process operation, make described identification process in a plurality of ponds, discern to comprise with the interactive function of identification process and the corresponding content of the sign of the process of identification at least one data capsule 208.Described identification process is retrieved the recognition data capsule from a plurality of ponds, and carries out the processing 210 suitable to the content of recognition data capsule.The coordination between the process is enabled in the operation of multi-process interactive system, wherein, coordinates to comprise the status information by retrieval peer process from a plurality of ponds, and each process in a plurality of processes and the peer process of a plurality of processes are coordinated.The content of the set of the data capsule at least one pond by alternatively making up a plurality of ponds, operation also makes it possible to generate the output of a plurality of processes.
In process mouse and attitude/space input, mouse process M monitors rudimentary mouse hardware, and traditional mouse driver incident is translated to and the irrelevant protein of screen.According to following description, being delivered to the user, to import the mouse process M protein of embodiment of pond Ui as follows:
Figure BPA00001373566200091
Attitude/space process G protein will seem similar, as follows:
Figure BPA00001373566200101
Pointer process P is the position of each pointer of hint in the three dimensions that they are responsible for drawing with these message interpretations.May define the static state set of pointer in application code, perhaps protein early can define and the initialization pointer.
For the example of the square program of moving in the spatial operation environment, each among the pointer process P is known the position of the definite real world that is attached to the computer screen curtain of being responsible for them.In addition, these display screens may be by data-message when starting or dynamically initialization.
Import pond Ui along with protein arrives the user, pointer process P reacts by making up new protein and they being delivered to coordination pond Coo, and is as follows:
Figure BPA00001373566200102
These protein or message are about the position of available display definition pointer object.Each pointer process P is configured so that manage mathematic(al) manipulation for the display that only is attached to the computing machine of being responsible for thereon.
Periodically, each pointer process P frame of graphing output also.This graph data is delivered to the frame pond.Each frame that pointer process P produces is played up all pointer figures that occur on the display of the computing machine that is attached to this process of person in charge.
By Application models and the figure of embodiment, square process S is responsible for following the tracks of and draw the translucent square as the focus of square application program.Each square has position (position), direction, size (size) and color (color).In any time that foursquare state changes, square process S is put into protein and coordinates among the Coo of pond:
Figure BPA00001373566200111
Square process S also is delivered to the frame pond with figure output, and great majority are done as the pointer process.Yet whether each square process S plays up its oneself square, no matter should will occur on the display of the computing machine that is attached to person in charge's process by square.Below describing frame in detail handles.
With the protein of describing pointer and foursquare state place be sent to the multi-user pond in the process of separating that allows to constitute this application program coordinate, between dissimilar process, provide coordination thus.The protein of the pointer in the zone that enters foursquare border is indicated in the square process S monitoring of embodiment.When this took place, square process S put into the pond that indication overlaps with protein, and with reference to the square and the pointer that relate to, as follows:
Figure BPA00001373566200112
Pointer process P monitors the protein of this form.When pointer process P identification or when seeing overlapping protein (overlap protein) with reference to the mid of himself, change the diagrammatic representation of its use when drafting pointer frame.To use the overlapping indicating graphic, see that up to process suitable overlapping withdraws from (overlap-exit) protein, for example:
Figure BPA00001373566200121
A lot of distortion of above coordination strategy also are possible.Pointer process P can handle the responsibility (rather than square as mentioned above process S carries out this operation) of checking how much overlappings.Process can all be a frame synchronization, and overlapping protein can be at each frame generation, and this will eliminate the needs that enter and withdraw from protein for separation.
Any given coordination problem of when working in the mechanism of here describing, being faced can with solution diversity is almost always arranged.In fact, this dirigibility is in the intensity of this embodiment one.This description explanation for attempting making up in the solution that some inter lock problems of facing in the typical multiple-process graphical application program realize at least one.A plurality of with reference to collecting the useful pattern of delivering a letter, in them much is applicable, " Enterprise Integration Patterns:Designing, the Building and Deploying Messaging Solutions " in ISBN 0321146530 for example by G.Hohpe and B Woolf.
According to embodiment user's input is being connected in the control action, alternatively mobile square comprises: square process S uses pointer process P to be put into the data of coordinating among the Coo of pond.Square process S moves in response to the pointer overlapping condition of identification and the combination initialization of protein and " pointer " and " click " record.In the mobile afoot while, foursquare diagrammatic representation changes, the foursquare location following pointer in the space.Move and continue, up to " pointer "/" clicking " protein generation of correspondence.
When the square of embodiment overlapped each other, they also changed their color.When the S process is seen " tsquare "/" position " protein, just calculate between the keeping of itself and this protein whether have any overlapping.If exist, then when it plays up its next frame, use the indication color that overlaps, otherwise it uses normal color.
Notice that the dirigibility of the loosely-coupled framework of embodiment provides other or the substitute mode that realizes the behavior.For example, square process S can avoid the calculating that overlaps, and alternatively this work is unloaded to another process, and for example this process will carry out continuously putting at some or all of foursquare couplings and the protein that will describe the overlapping condition and coordinate pond Coo.Square process S will wait for these protein simply:
Figure BPA00001373566200131
With this dirigibility of application programme workload section and stripping and slicing is very useful.The task of computation-intensive can move to processor or the machine with spare capacity.The fabricator of data illustration as required helps process (and stopping them when no longer needing them).More calculating and play up resource can be applied to the user directly with its alternately or the user immediately can perception the application domain of coarsegrain, details or refresh rate more.
Because this state is visited in multi-process interactive system externalizing Application Status described here and permission multi-process, so everything is possible.On the contrary, by contemporary programming model, state working time in single process always fully " locking ".
The multi-process interactive system encourages programmer that but all interactive functions are exposed as protein-driving condition.Application programming interface (API) is defined by the protein of each process identification, rather than traditional funcall.For example, definition changes the protein of any (or owning) foursquare color:
Figure BPA00001373566200132
When any square process S was coordinating to see this protein among the Coo of pond, it checked the tids chained list, determines whether object id or general address 0x0 that himself is unique exist.If exist, then process brings into use two new colors (is used for normal condition, and is used for the overlapping situation) of appointment to play up its square.
Use the method for this mechanism and this " all mutual functions are exposed as protein ", after finishing, dispose and move all other codes that are used for square application program, can write the new effectiveness that is used to control foursquare color.Do not need to recompilate or again chain fetch new function added to and run application.
The interactive debugger that is used for graphics application program is another Program Type that benefits from this method.Before the traditional debugging device can show very many program internal states, they needed time out program usually.Yet if expose all states controlled of program via pond described here, debugger can be monitored in program run and the manipulative procedure state.
Pointer process P and square process S are pushed to the frame pond with graph data, so that to the user as seen any demonstration output become.Embodiment described here comprises the multiple mode that is used for output pattern, and some of them are described in detail at this.Other embodiment can operate under the various combination of process described below, being used for that graph data is pushed to the frame pond, and output pattern.
In an embodiment, process can be used and directly play up directly drawing system graph layer of framework (for example OpenGL).Under this method, the pond is used for coordinating, but is not used in graph command or pixel data.
Another embodiment comes the output pattern data via the process that rendering command is sent to the pond.Another process (or a plurality of process) is explained rendering command and drive system graph layer then.For example, these orders can be very rudimentary, and for example the OpenGL of Bao Luing calls.Otherwise these rendering command can be very senior, and for example, such as above-described tsquare protein, it comprises that special use plays up process and can a frame connect a frame ground and draw foursquare enough information.
Another embodiment comes the output pattern data via being rendered in the storer process of pixel buffer, then the gained original frame data is transmitted or is placed in the pond.Another process (or a plurality of process) combination original frame data.By this method, the amount of the data that handle in the pond is bigger more than figure output intent described above usually.Yet this locality plays up to transmit with network frame provides a large amount of dirigibilities, therefore, if high bandwidth network and fast the pond realize availablely, generally use it.
Usually come the output pattern data via being rendered in the storer process of pixel buffer with reference to Fig. 1 C example system described above 100, then the gained original frame data is sent in the pond.Process reason (or a plurality of process) makes up original frame data in addition.By this method, the amount of the data that handle in the pond is bigger more than figure output intent described above usually.Yet this locality plays up to transmit with network frame provides a large amount of dirigibilities, therefore, if high bandwidth network and fast the pond realize availablely, generally use it.
Therefore, each pointer process P and square process S play up their independent graphic elements.Each process is chosen a plurality of colors component and a plurality of pixel to play up.Process can be used RGBA (red, green, blue, alpha) color space or have that alpha mixes and the assembly of the RGB color model that alpha synthesizes is played up the full display of (for example 2560x1600) pixel., in order to save computation period, to play up expense and pond bandwidth, process can only produce necessary pixel, with the frame of the projection of catching particular graphical object, and if brightness (having the transparency) play up enough, then can only use two assemblies.
The pixel data of playing up transmits or is delivered in the frame pond together with various metadata (for example geometric ranges, hierarchical information, frame per second indication, additional color information etc.).Along with square application program is moved in the context of spatial operation environment, each process has the right to access to the real world geometric data, and suitable output can be passed in the frame pond each.This can comprise for each output cycle plays up frame more than one.
Protein is stored in the local frame pond with the speed of the unnecessary compression of carrying out pixel data usually and takes place.Yet in order to realize the low relatively time delay for interactive application, network is deposited the amount that can reduce the data that send for each frame.The hardware-compressed of using embodiment reduces the quantity of the required byte of each array of remarked pixel, but embodiment is not limited thereto.
With reference to Fig. 1 C, the embodiment of system 100 uses the synthetic process COM of special use that these frame layers each second is combined as many times the single frame of the output that is used for each display.Usually by system-level selection of configuration overall display frame rate is set, but form in the single process of square application program each can use different frame rate.Synthetic process com suitably looks after coupling frame layer.
With reference to as described in Figure 1A-Fig. 1 C, the multi-process interactive system of embodiment comprises process, pond and protein as above.Solid-line rectangle in the system is represented process, and the ellipse representation pond, is used for the mechanism of structural data exchange.Data-message by the pond is described as " protein " usually.In the process each generates protein and protein is stored in one or more ponds, and from one or more pond retrieval protein.
Pond and protein are the assemblies of method and system described here, and being used to encapsulate will be between process or the data shared of leap process.Except protein and pond, these mechanism comprise that also polychrome draws (a plurality of " salad (slaw) ").Usually, structure and the hook (hook) inquiring about and filter of being used to that provides the first degree data definition that is used for exchanging between process, protein that middle rank is provided is provided polychrome, and the pond provides senior tissue and visit semantic.Polychrome draw comprise be used for efficient, with the data representation of platform independence and the mechanism of visit.Protein uses polychrome to draw as useful load data encapsulation and transfer scheme is provided.The pond between in-process, local process, cross over the network between long-range or the distributed process, and the structuring of protein is provided and assembles flexibly, sort, filter and distribute via long-term (for example on the dish, etc.) storage.
The configuration of the embodiment of multi-process interactive system and realization comprise some structures, and it enables a plurality of abilities together.For example, embodiment described here provides the efficient exchange of the data between aforesaid a large amount of process.Embodiment described here also provides data " type " and structure flexibly, feasible extensive variation kind and the use of supporting data.In addition, embodiment described here comprises the flexible mechanism (for example local storage, dish, network etc.) of exchanges data, and all drive by similar basically application programming interface (API).In addition, the embodiment of description enables the exchanges data between the process of writing with different programming languages.In addition, embodiment described here is enabled the automatic maintenance of metadata cache and converged state.
Fig. 3 is that polychrome draws according to using comprising of embodiment, the block diagram of the processing environment of the data representation in protein and pond.Main structure at the embodiment of this proposition comprises that polychrome draws (a plurality of " salad "), protein and pond.Polychrome described here draw comprise be used for efficiently, with the data representation of platform independence and the mechanism of visit.Protein in this detailed description provides data encapsulation and transmission plan, and the useful load of the protein of embodiment comprises that polychrome draws.Pond described here provides the structuring of protein but assembles flexibly, sorts, filters and distribute.The pond within the process, between the local process, cross over the network between long-range or the distributed process and store by means of protein visit to data is provided via " for a long time " (for example on dish).
Fig. 4 is the block diagram according to the protein of embodiment.As described in detail below, protein comprises length header, record and picked-up.In recording and narrating and absorbing each comprises that salad or polychrome draw.
Fig. 5 is the block diagram according to the record of embodiment.As described in detail below, record comprises that skew, length and polychrome draw.
Fig. 6 is the block diagram according to the picked-up of embodiment.As described in detail below, picked-up comprises that skew, length and polychrome draw.
Fig. 7 is the block diagram according to the salad of embodiment.As described in detail below, salad comprises type head and type exclusive data.
Fig. 8 A is the block diagram according to the protein in the pond of embodiment.Protein comprises length header (" protein length "), records and narrates skew, absorbs skew, records and narrates and picked-up.Record comprises skew, length and salad.Picked-up comprises skew, length and salad.
Protein described here is the mechanism that is used for encapsulation of data, and described data need be shared between process or need cross over bus or network or other Processing Structure and move.As example, protein provides and has been used to transmit and the improving mechanism of manipulation data, described data comprise the data of or the data that are associated corresponding with user interface event, specifically, the user interface event of embodiment comprises United States Patent (USP) the 7th, the user interface event of the gesture interface of describing in 598, No. 942, and by reference its full content is incorporated into this.As another example, protein provides and has been used to transmit and the improving mechanism of manipulation data, and described data include but not limited to graph data or incident and status information, and this just gives some instances.Protein is the related set of structurized record format and the method that is used for metering of operation.Ji Lu manipulation comprises as used herein: data are put into structure, data are taken out and the form and the existence of data query from structure.Protein is configured to use via the code of writing with multiple computerese.As described here, protein also is configured to be used for the basic construction blocks in pond.In addition, protein be configured to natively can be between processor and spanning network move, the data that keep them to comprise simultaneously remain untouched.
Form contrast, protein right and wrong typed (untyped) with traditional data transmission mechanism.Though right and wrong are typed, protein provides powerful and pattern match instrument flexibly, realizes " type is similar " function thereon.The protein that disposes as described here also is multiple spot (though point-to-point form easily realizes as the subclass of multicast communication) inherently.In addition, for example, protein definition in storer for example, there is no " general " record format of difference (or only difference aspect the type of the optional optimization of carrying out) on the dish and on the line between (network) form.
With reference to Fig. 4 and Fig. 8, the protein of embodiment is the linear order of byte.Chained list and the right set of key-value that is called picked-up are recorded and narrated in encapsulation in these bytes.Record and narrate tabulation and comprise meticulous arbitrarily but efficient filtrable every protein incident description.Picked-up comprises the right set of key-value of the actual content that comprises protein.
Protein and key-value to and the correlativity of some core idea of friendly multiple spot exchanges data to about network, (for example Linda is Jini) shared with the system early of the notion privilege that gives " tuple (tuple) ".Protein with towards the system of tuple several different aspect main, comprise use record and narrate tabulation with provide standard, optimizable pattern match substrate (substrate).Protein also with towards the system of tuple strictly regulating in the record format that is suitable for multiple storage and language construct together with different aspect several specific implementation of " interface " of this record format.
Turn to the description of protein, preceding four or the Eight characters joint of protein has been specified the length of protein, and it must be the multiple of 16 bytes in an embodiment.16 byte granularity have guaranteed that byte alignment and bus aligning efficient can realize on the hardware in the present age.Be not filled with any byte, make that its length is the multiple of 16 bytes by " four words are aimed at " protein naturally.
The length of protein partly has following form: in high priority (big-endian) form, and 32 of designated length, wherein, four minimum component levels are served as sign and are used to indicate grand level protein structure characteristic; If the length of protein, is then followed 32 other positions greater than the 2^32 byte.
The 16 byte alignments restriction of embodiment means that the minimum component level of preceding four bytes can be used as sign.And therefore, first three low-order bit sign length of indicator protein matter respectively can be represented with preceding nybble, still need eight, protein uses still preferential (little-endian) byte ordering of low level of high priority byte ordering, and protein is employing standard or non-standard structure, but protein is not limited thereto.The 4th zone bit is retained for using in the future.
If be provided with Eight characters joint length mark position, then by reading following four bytes and using them to calculate the length of protein as the high-order byte (nybble that wherein, has read provides low order portion) of the Eight characters joint integer of high priority.If be provided with the low level precedence designation, then all the binary number Value Datas in the protein will be interpreted as low level preferential (otherwise being high priority).If be provided with non-standard zone bit, then the remainder of protein does not meet the following normal structure that will describe.
Be used to use protein and pond to describe and the whole bag of tricks of the non-standard protein form that can use for systems programming person synchronously except saying to exist, and when space or computer cycle suffer restraints these methods can be useful outside, at this non-standard protein structure will be discussed further.For example, the shortest protein of embodiment is 16 bytes.Standard format protein can't be fitted to any actual payload data (lion's share has wherein shifted the position into the ingredient of describing protein) in this 16 byte.But the protein of noncanonical format can use 12 in its 16 byte with imagining is used for data.Two application programs of exchanger matter can determine the protein of any 16 byte longs that they send always to comprise that expression is for example from 12 bytes of 12 8 level sensor values of real-time analog to digital converter mutually.
In the normal structure of protein, followed by length header, two other variable-length integer appears.These numerals have been specified respectively recording and narrating the skew to (picked-up) of first element in the chained list and first key-value.These skews are also referred to as respectively at this and record and narrate skew and picked-up skew.The order of per four byte of these numerals is specified by protein byte order (endianness) zone bit.For each, the highest significant position of preceding nybble determines that numeral is four or eight byte wides.If highest significant position (msb) is set, then preceding four bytes are most significant bytes of double word (Eight characters joint) numeral.This is referred to herein as " offset form ".Point to record and narrate and the use of the independent skew of (pair) allowed to handle by the different code path and record and narrate and right, for example make and record and narrate the certain optimisation that pattern match and protein group be equipped with the pass and be called possibility.The existence that begins to locate these two skews at protein also allows some useful optimizations.
To such an extent as to most protein can not require the length or the pointer of Eight characters joint so greatly, so normal length (having sign) and two digital first three bytes that will only occupy protein of skew.In a lot of hardware or system architecture, surpass first the specific quantity byte to obtain or read be " free " (for example, 16 bytes are just in time got the clock period with single byte similar number, draw with the main bus of crossing over Cell processor and send (pull)).
In a lot of examples, it is useful allowing the realization special use of protein interior or the buffer memory or the metadata of context-specific.The use of skew allows to create " hole " of size arbitrarily near the beginning of protein, can insert such metadata therein.Can utilize being implemented in of metadata of eight bytes freely to obtain those bytes on a lot of system architectures, wherein obtain the length header of protein at every turn.
Recording and narrating skew has specified the beginning and first of protein to record and narrate the number of the byte between the item.Each is recorded and narrated item and comprises the skew (certainly, with the skew form) of the next one being recorded and narrated item, then is the length field (also being with the skew form) of variable-width, then is salad.If there is not other record, then according to rule, skew is zero of a nybble.Otherwise this records and narrates the beginning and the next number of recording and narrating the byte between the item of item the skew appointment.Length field is specified the length of salad in the mode of byte.
In most protein, each record all is with the formative string of salad string mode: the length/type head of nybble, wherein highest significant position is set up and has only lower 30 to be used to specify length, then is the data byte of the number of head indication.Usually, length header obtains its byte order from protein.Suppose byte code UTF-8 character (---noticing (nota bene)---that therefore not necessarily the number with byte is identical for the number of character).
The beginning of protein and the number of the byte between first picked-up item have been specified in the picked-up skew.Each picked-up item comprises the skew (with the skew form) to next one picked-up item, then is length field and salad once more.Be offset sensing next one picked-up item rather than the next one record item except absorbing, picked-up is offset on function and is offset identical with record.
In most protein, each picked-up has the salad cons type that comprises usually as the right diadic chained list of key/value.Salad cons record comprises the length/type head of nybble, and wherein second highest significant position is set up and has only lower 30 to be used to specify length; Nybble skew to the beginning of value (second) element; The key element of nybble length; Salad record for the key element; The value element of nybble length, and at last for the salad record that is worth element.
Usually, the cons key is the salad string.Cross over some protein and salad cons length and offset field data duplicate the more multimachine meeting that also is provided for refinement and optimization.
As mentioned above, the structure that is used for being embedded at protein typed (typed) data according to embodiment is (tagged) the byte sequence standard and abstract that is called as the labelization of " salad " (plural number is " polychrome draws ").Salad is the linear order of the byte of (may assemble) typed data of expression, and is associated with the programming language special API, and this API allows to create between storage space, storage medium and machine, revises and mobile everywhere polychrome draws.It is extendible and in light weight as much as possible that the salad type scheme is intended to, and is from the operable common base of any programming language.
Make up the driving that is contemplated to be the salad configuration of efficient large-scale inter-process communication mechanisms.The tradition programming language is provided at work in the process specific memory layout good complex data structures and type tool, but when when moving between the process or store data on dish, these data representations always damage.The salad framework is the low level data model that is used for the primary effective multi-platform close friend basically of interprocess communication.
But the more important thing is that polychrome draws the exploitation that is configured to influence and enable together with protein following computing hardware (microprocessor, Memory Controller, disk controller).Might become also the same efficient even make polychrome draw with the scheme of in most programming languages, using for data layout in individual process, the storer to several specific interpolation such as the instruction set of publicly available microprocessor.
Each salad comprises the type header of variable-length, then is type exclusive data layout.Supporting in the example embodiment of complete salad function with for example C, C++ and Ruby, indicating type by the general purpose integer that can from system's header file of every kind of language visit, define.Can also realize more complicated and flexibly type differentiate function: for example, via the indirect type of general object ID and NetFind.
For example, the salad of embodiment configuration permission salad record is used as the object from the friendly mode of language of Ruby and C++.One cover utility routine of C++ compiler outside is intactly checked salad byte layout, creates the header file be exclusively used in independent salad type and grand, and generates the binding that is used for Ruby automatically.As a result, even when using in individual process, the salad type of good configuration is also very efficient.Any salad Anywhere in the addressable memory of process can be addressed, and need not copy or " deserializing " step.
The salad function of embodiment comprises and is used for carrying out following one or more API instrument: the new salad of creating private type; Create or make up quoting from the language specific of the salad that coils the byte in last or the storer; Be embedded in data with the type dedicated mode at salad, the size of inquiry salad; Retrieve data in the salad; Clone salad, and translate byte order and other attribute of a configuration of all data in the salad.Each salad is carried out above behavior.
Fig. 8 B illustrates the salad header format according to embodiment.Being described in detail as follows of salad.
The inner structure of each salad all optimize type differentiate, to the visit of encapsulation of data and each of size information that is used for this salad example.In an embodiment, the set fully of salad type is finished by design with minimizing, and comprises: salad string, salad cons (promptly to (dyad)); The salad tabulation; And salad numerical value object, himself expression is understood that the broad set of the independent value type of the arrangement of half-dozen or this base attribute.Other fundamental property of any salad is its size.In an embodiment, polychrome draws and has the byte length that is quantified as four multiple; These nybble words are referred to herein as " quad (four-tuple) ".Usually, such big young pathbreaker's polychrome based on four-tuple draws with the configuration of modern computer hardware structure and aims at well.
Preceding four bytes of each salad among the embodiment comprise head construction, and it is encoded to type specification and other metamessage, and with the private type meaning owing to specific bit patterns.For example, first of the salad head whether (the highest effectively) position size (length in the four-tuple word) of being used to specify this salad follows initial nybble type header.When this position is set up, be understandable that, in following four bytes (for example byte five to eight) of salad, write down the size of salad clearly; If the size of salad is to represent (promptly by four bytes, if size is equal to or greater than two 30 second powers), then next highest significant position of the initial nybble of salad also is set up, and this explanation salad has Eight characters joint (rather than nybble) length.In the case, detecting process will find to be stored in the length of the salad in the consecutive bytes five to 12.On the other hand, the salad type of peanut means under many circumstances a lot of positions in typical bit pattern " stay not usefulness " the nybble salad head of appointment fully, and under these circumstances, the length of these salads that can be used to encode, thus save otherwise the byte (five to eight) that will need.
For example, the highest significant position (" length obedience " sign) that embodiment stays the salad head is not provided with, and it is " small cons (wee cons) " that next bit is set to indicate salad, in the case, and the length of coding in ten of its excess-three (in the four-tuple) salad.Similarly, come mark " small string (wee string) " by pattern 001 in head, this stays 29 length that are used to represent the salad string; " small chained list (wee list) " described in guiding 0001 in the head, and it represents that by 28 length available the position can be the salad tabulation of size up to two to 28 four-tuple." string (full string) fully " (or cons or chained list) has different position signatures in head, wherein, because coding colors elongation degree discretely in byte five to eight (or under extreme case, being 12) is so the highest effective head position must be set up.Note, blood plasma be implemented in salad make up in " decision " be " small " or " fully " version of adopting these structures (whether that " suitable (fit) " is available this decision based on the size that obtains small), hide but in contrast to the user that small details realizes for blood plasma fully, the user only knows and only pays close attention to her and just using salad string or salad cons or salad tabulation.
In an embodiment, indicate the numerical value polychrome to draw by guiding head pattern 00001.Follow-up head position is used for being illustrated in the set of the orthogonal property that any arrangement can make up.Whether embodiment adopts but is not limited to five such character bits and come designation number to be: (1) floating-point; (2) plural number; (3) no symbol; (4) " wide (wide) "; (5) " tubbiness (stumpy) " ((4) " wide " and (5) " tubbiness " permutation and combination are shown for the numerical table of eight, 16,32 and 64 of indications).The numeric data of two other positions (for example (7) and (8)) indication encapsulation is two, three or the plain vector of quaternary (wherein, two positions be zero show that numerical value is " an element vector " (being scalar)).In this embodiment, eight of the 4th the header byte size (in byte, rather than four-tuple) of numeric data of encapsulation that is used to encode.The coding of this size is offset one, make it can represent to comprise one and 256 bytes and between any size.At last, two character bits (for example (9) and (10)) are used in reference to the encode array of independent numerical term of registration Value Data, and wherein each is the type that character bit (1) to (8) is described.Under the situation of array, separately numerical term is not each with other header tagization, but is packaged as the continuous data of following single head and clear and definite possibly salad size information.
This embodiment provides simply and efficiently salad duplicates (it can be implemented as byte byte is copied) and and directly and efficiently salad is relatively (in this embodiment, if and only if exists each coupling one by one in their the composition byte of considering in the sequence, and it is identical that these two polychromes draw).For example, back one characteristic is important for the efficient realization of protein framework, and one in the key of protein framework and the universal characteristics is the ability of the record chained list of search or " coupling " protein.
In addition, the embodiment at this allows simply and makes up efficiently gathering salad form (for example salad cons and salad chained list).For example, embodiment draws construction salad cons by following steps from two composition polychromes, and (it can be an any kind, comprise and self assembling): (a) inquire about the size that each forms salad, (b) allocated size equals two and forms the storer that size that polychromes draw and head add size structure required, two or three four-tuple sums.(c) record salad head (adding size information) in preceding four, eight or 12 bytes; And (d) then, will form the byte that polychrome draws and then copy in the storer of back and then.Importantly, such structure routine does not need to know about two forms anything of type that polychromes draw, has only their the size accessibility of byte sequence (and as) that relation is arranged.Identical process is applicable to the structure of salad chained list, and described salad chained list is the ordering encapsulation that any many sub-polychromes of (possibly) foreign peoples's type draw.
Another result as the basic format of the salad system of the consecutive bytes in the storer obtains in conjunction with " traversal " is movable---recycle the pattern use sequential access that the independent polychrome stored in the slide fastener table draws of for example checking colors.Must travel through the independent polychrome of recording and narrating and absorbing in the expression protein structure similarly draws.Finish such transfer with extremely direct and efficient way, the next salad with in " arrival " salad chained list adds the length of current salad to its position in storer, and the memory location that obtains is the head of next salad equally.Because " (indirection) indirectly " avoided in salad and protein design, so such simplification is possible; There is not pointer; On the contrary, data all exist in place with it simply.
About salad this point relatively, the existence that realizes fully that it must be admitted that and cross over different operating system, CPU and hardware structure and the different and incompatible data representation scheme among them of blood plasma system.Most of such differences comprise byte ordering strategy (for example low level preferentially contrasts high priority) and floating point representation, also have other difference.The blood plasma code requirement guarantees that polychrome draws the data of encapsulation soluble (promptly must occurring with the natural form of the framework of therefrom checking salad or platform).This requirement and then mean that the blood plasma system self is responsible for Data Format Transform.Yet the standard only executive process " visual entirely (at all visible) " that only becomes checking it at salad of regulation conversion takes place before.Therefore, it depends on independent realization, and at this moment, it selects to carry out this form c conversion; Two suitable methods are that salad data useful load meets the data layout (1) of local framework because independent salad is " pulling out (pull out) " of its packaged protein wherein, or (2) be used for all salads of protein simultaneously, owing to extract this protein from its pond that resides permanently wherein.Notice that the auxiliary possibility that realizes of hardware is considered in the conversion constraint.For example, based on the known features of receiving system, construction has the networking chipset that shows the blood plasma ability can select intelligently and carries out format conversion in " moment of transmission ".Perhaps, the process of transmission can be converted to the data useful load form of standard, and receiving process is transformed into " this locality " form from cannonical format symmetrically.Another embodiment " at metal (at the metal) " carries out format conversion, the meaning is always with the format memory data of standard, even in local storage, and work as data and retrieve from storer and be placed in the register of immediate CPU, Memory Controller hardware self is carried out conversion.
The minimum of embodiment (with read-only) protein realizes comprising the one or more application programs of utilizing protein or operation or the behavior in the programming language.Fig. 8 B is the process flow diagram 850 according to the use protein of embodiment.Operation starts from the length 852 in byte of query protein.The number 854 of item is recorded and narrated in inquiry.The number 856 of inquiry picked-up.Record and narrate item 858 by the call number retrieval.By call number retrieval picked-up 860.
Embodiment described here has also defined the hook (hook) that allows protein to be fabricated and to fill basic skills with data, more easily carry out the helping method of public task and be used to create optimization for the programmer.Fig. 8 C is the process flow diagram 870 that is used to make up or generate protein according to embodiment.Operation starts from creating novel protein 872.Additional a series of record item 874.Also additional picked-up 876.The existence 878 that match query is recorded and narrated, and the existence 880 of match query picked-up key.Given picked-up key, retrieval picked-up value 882.Cross over and record and narrate execution pattern coupling 884.Near the beginning of protein, embed destructuring metadata 886.
As mentioned above, structure and the hook inquiring about and filter of being used to that provides the first degree data definition that is used for exchanging between process, protein that middle rank is provided is provided polychrome, and the pond provides senior tissue and visit semantic.The pond is the reservoir that is used for protein, and linear orderization and state cache are provided.The pond also provides the multi-process visit by a large amount of dissimilar a plurality of programs or application program.In addition, the pond provides the common optimizable filtration and the set of pattern match behavior.
The pond that can hold the embodiment of up to ten thousand protein is used as hold mode, makes independent process can unload the most tediously long bookkeeping common to the multi-process program code.The pond keeps or keeps the available big impact damper---Plato's ideal (Platonic) pond is unlimited clearly---of crossing deproteinize making that the process of participating in can be with being intended in the pond backward and scanning forward.Certainly, the size of impact damper depends on realization, but in usually using, generally can be in the pond retaining protein several hours or several days.
The mechanical. points that adopts with existing interprocess communication framework forms contrast to point methods, and the most common style that use in pond described here is observed the biology metaphor.Title protein is inferred the biology enlightenment: the data protein in the pond can be used for flexible inquiry and the pattern match that a large amount of calculation procedure are carried out, just as the chemical protein in the biological tissue can be used for pattern match and the filtration that a large amount of cell reagents carries out.
Two other abstract dependence biology metaphors comprise use " handle (handler) " and Golgi framework.The process that participates in the pond is created a plurality of handles usually.Handle is the code of relative tuftlet that matching condition and processing behavior are associated.By one or more handles are related to the pond, process is provided with the trigger of readjustment flexibly that state is encapsulated and novel protein is reacted.
The process that participates in some ponds is inherited from abstract Golgi class usually.The Golgi framework is provided for managing a plurality of useful routine of a plurality of ponds and handle.The Golgi class also encapsulates set membership, and the mechanism of the local protein exchange of not using the pond is provided.
The pond API that provides according to embodiment is configured to allow the accomplished in various ways pond, so that both taking into account system application-specific target, considers the available capability of the given hardware and the network architecture again.Two ultimate system regulations that the pond is depended on are devices of storage tool and interprocess communication.Existing system described here uses shared storage, virtual memory and is used for the dish of storage tool and is used for the IPC formation of interprocess communication and the flexible combination of TCP/IP socket.
The pond function of embodiment includes but not limited to following: participate in the pond; Protein is placed in the pond; The next protein of not seeing of retrieval from the pond; Content (for example protein) in recoil or the F.F. pond.In addition, the pond function can include but not limited to following: set up the stream pond readjustment that is used for process; Optionally the protein of the AD HOC of key is recorded and narrated or absorbed to match retrieval, scans the protein of the AD HOC of coupling record or picked-up key backward and forward.
To share the mode of protein data content, protein described above is offered the pond with other application program.Fig. 9 is that polychrome draws according to using comprising of embodiment, the block diagram of the processing environment of the exchanges data in protein and pond.Three equipment (for example equipment X, equipment Y and equipment Z are referred to as " equipment " at this) that this example context comprises that polychrome described above draws by using, shared data is come in protein and pond.In the equipment each is coupled to three ponds (for example pond 1, pond 2, pond 3).Pond 1 comprises a plurality of protein (for example, protein X1, protein Z2, protein Y2, protein X4, protein Y4) (for example, equipment Z transmits protein Z2 or contribute to pond 1 etc.) of contributing or be sent to the pond from each equipment.Pond 2 comprises a plurality of protein (for example protein Z4, protein Y3, protein Z1, protein X3) (for example, equipment Y transmits protein Y3 or contribute to pond 2 etc.) of contributing or be sent to the pond from each equipment.Pond 3 comprises a plurality of protein (protein Y1, protein Z3, protein X2) (for example, equipment X transmits protein X2 or contribute to pond 3 etc.) of contributing or be sent to the pond from each equipment.Though example described above comprises coupling or is connected three equipment among three ponds, but the equipment of any number can be coupled or is connected among the pond of any number by any way or combination, and any pond can comprise from the protein of any number of the equipment contribution of any number or combination.The protein of this example and pond are as above described with reference to Fig. 3-Fig. 8.
Figure 10 is according to comprising of embodiment of a plurality of equipment and run on the block diagram of the processing environment of a large amount of programs on one or more in the described equipment, in these equipment, blood plasma makes up (for example pond, protein and salad) and is used to allow a large amount of working procedures to share and the incident that jointly generates in response to equipment.This system only is the example that multi-user, many equipment, multicomputer control scene or configuration alternately.More particularly, in this example, the interactive system of a plurality of programs that comprise a plurality of equipment (for example device A, B etc.) and move on equipment (for example application A A-AX, application program BA-BX etc.) uses blood plasma to make up (for example pond, protein and salad), with the incident that allows working procedure to share and jointly generate in response to these input equipments.
In this example, each equipment (for example device A, B etc.) will be generated or translated to plasma proteins from the discrete raw data of its output by the program of moving on each equipment (for example application A A-AX, application program BA-BX etc.), and these protein are stored in the blood plasma pond.For example, program AX generates data or output, and this output is offered device A, device A and then raw data translated to protein (for example protein 1A, protein 2A etc.), and these protein are stored in the pond.As another example, program BC generates data and these data is offered equipment B, equipment B and then data are translated to protein (for example protein 1B, protein 2B etc.), and these protein are stored in the pond.
Each protein comprises the record chained list, the data or the output of its specified application registration and the identification information that is used for program self.Under possible situation, protein is recorded and narrated and also can be given the outgoing event or the general semantic meaning that moves.The data useful load of protein (for example picked-up) has been carried whole set of the useful status information that is used for program event.
Regardless of the type of program or equipment, above-mentioned protein coupling be connected to any program in pond or pond that equipment uses in be available.Any amount of program of moving on any amount of computing machine can be extracted incident protein from the input pond.These equipment only need and can connect and the participation pond via local bus memory or network, so that extract protein from the pond.The direct result of this situation is to be responsible for generating the process of processing events and the uncoupled favourable possibility of process of the use or the incident of explanation.Another result is the multiplexing of the consumer of incident and source, the equipment that makes can be by people's control, perhaps can be used a lot of concurrent users of input framework support of blood plasma (for example based on) by the several people simultaneously, the flow of event that obtains simultaneously for a plurality of event consumer successively as seen.
As example, equipment C can extract one or more protein (for example protein 1A, protein 2A etc.) from the pond.After Protein Extraction, in the pairing processing events of protein data, equipment C can use the data of the protein of retrieving or reading from the salad of the picked-up of protein and record.As another example, equipment B can be extracted one or more protein (for example protein 1C, protein 2A etc.) from the pond.After Protein Extraction, equipment B can be used the data of protein in the processing events of protein data correspondence.
Coupling or the equipment and/or the program that are connected to the pond can be browsed in the pond backward and forward, search the particular sequence of protein.For example, usually usefully, establishing program with etc. the protein of AD HOC to be matched occur, browse backward then to determine whether this protein occurs in conjunction with other specific protein together.It is unnecessary to be used for utilizing this instrument of event history of the storage in input pond to make usually writing the condition managing code, perhaps at least obviously reduces the dependence to such coding mode of not expecting.
Figure 11 is according to comprising of alternative embodiment of a plurality of equipment and run on the block diagram of the processing environment of a large amount of programs on one or more in the described equipment, in these equipment, blood plasma makes up (for example pond, protein and salad) and is used to allow the shared and incident that jointly generate in response to equipment of a large amount of working procedures.This system only is the example that multi-user, many equipment, multicomputer control scene or configuration alternately.More particularly, in this example, comprise the upward interactive system use blood plasma structure (for example pond, protein and salad) of a plurality of programs (for example application A A-AX, application program BA-BX etc.) of operation of a plurality of equipment (for example being coupled to equipment X and the Y of device A and B respectively) and one or more computing machine (for example device A, equipment B etc.), to allow the shared and incident that jointly generate of working procedure in response to these input equipments.
In this example, each equipment (for example being coupled to equipment X and the Y of device A and B respectively) managed and/or be coupled with on relevant device (for example, device A, equipment B etc.) move explicitly under one or more programs of being responsible for or with it, described relevant device will be translated to plasma proteins and these protein will be stored in the blood plasma pond by equipment (for example equipment X, device A, equipment Y, equipment equipment B etc.) the discrete raw data that hardware generated.For example, the equipment X that moves explicitly with the application A B that is responsible on the device A generates raw data, and the raw data that will disperse translates to protein (for example protein 1A, protein 2A etc.), and these protein are stored in the pond.As another example, the equipment X that moves explicitly with the application A T that is responsible on the device A generates raw data, and the raw data that will disperse translates to protein (for example protein 1A, protein 2A etc.), and these protein are stored in the pond.As another example, the equipment Z that moves explicitly with the last application program CD that is responsible for of equipment C generates raw data, and the raw data that will disperse translates to protein (for example protein 1C, protein 2C etc.), and these protein are stored in the pond.
Each protein comprises the record chained list, and it specifies the action of input equipment registration and the identification information that is used for equipment self.Under possible situation, protein is recorded and narrated and also can be given the equipment action general semantic meaning.The data useful load of protein (for example picked-up) has been carried whole set of the useful status information that is used for device events.
Regardless of the type of program or equipment, above-mentioned protein coupling be connected to any program in pond or pond that equipment uses in be available.Any amount of program of moving on any amount of computing machine can be extracted incident protein from the input pond.These equipment only need and can connect and the participation pond via local bus memory or network, so that extract protein from the pond.The direct result of this situation is to be responsible for generating the process of processing events and the uncoupled favourable possibility of process of the use or the incident of explanation.Another result is the multiplexing of the consumer of incident and source, make that this input equipment can be by people's control, perhaps can be used a lot of concurrent users of input framework support of blood plasma (for example based on) by the several people simultaneously, the flow of event that obtains simultaneously for a plurality of event consumer successively as seen.
Coupling or the equipment and/or the program that are connected to the pond can be browsed in the pond backward and forward, to search the particular sequence of protein.For example, usually usefully, establishing program with etc. the protein of AD HOC to be matched occur, browse backward then to determine whether this protein occurs in conjunction with other specific protein together.It is unnecessary to be used for utilizing this instrument of event history of the storage in input pond to make usually writing the condition managing code, perhaps at least obviously reduces the dependence to such coding mode of not expecting.
Figure 12 is the block diagram that runs on the processing environment of a plurality of input equipments that are coupled among a large amount of programs on one or more equipment according to being included in of another alternative embodiment, in these equipment, blood plasma makes up (for example pond, protein and salad) and is used to allow the shared and incident that jointly generate in response to input equipment of a large amount of working procedures.This system only is the example that multi-user, many equipment, multicomputer control scene or configuration alternately.More particularly, in this example, the interactive system use blood plasma structure (for example pond, protein and salad) that comprises a plurality of input equipments (for example input equipment A, B, BA and BB etc.) and go up a plurality of program (not shown) of operation at one or more computing machines (for example device A, equipment B etc.) is with the incident that allows working procedure to share and jointly generate in response to these input equipments.
In this example, each input equipment (for example input equipment A, B, BA and BB etc.) is gone up the software driver management of being responsible for by relevant device (for example device A, equipment B etc.), and described relevant device will be translated to plasma proteins and these protein are stored in the blood plasma pond by the discrete raw data that input equipment hardware is generated.For example, input equipment A generates raw data, and this raw data is offered device A, and the device A and then the raw data that will disperse translate to protein (for example protein 1A, protein 2A etc.), and these protein are stored in the pond.As another example, input equipment BB generates raw data, and this raw data is offered equipment B, and the equipment B and then the raw data that will disperse translate to protein (for example protein 1B, protein 3B etc.), and these protein are stored in the pond.
Each protein comprises the record chained list, and it specifies the action of input equipment registration and the identification information that is used for equipment self.Under possible situation, protein is recorded and narrated and also can be given the equipment action general semantic meaning.The data useful load of protein (for example picked-up) has been carried whole set of the useful status information that is used for device events.
In order to illustrate, be the example protein that is used for two typical events of such system here.Protein is expressed as text at this, yet in reality was implemented, the ingredient of these protein was typed data bundle (for example salads).The protein of describing " finger is clicked " posture (pose) (describing in the related application) generally speaking is as follows:
Figure BPA00001373566200281
As another example, the protein of describing click is as follows:
Figure BPA00001373566200282
One or two of aforementioned sample protein can be so that the specific part of its code of participation program run of main process equipment.These programs may be interested in general semantic tagger: the most general in the middle of all is " point ", or more particularly to " engage, one ".Perhaps, as if they only can search the incident " one-finger-engage " and even the single gathering object " hand-id-23 " that can be generated by accurate equipment.
Regardless of the type of program or equipment, above-mentioned protein coupling be connected to any program in pond or pond that equipment uses in be available.Any amount of program of moving on any amount of computing machine can be extracted incident protein from the input pond.These equipment only need and can connect and the participation pond via local bus memory or network, so that extract protein from the pond.The direct result of this situation is to be responsible for generating the process of " incoming event " and the uncoupled favourable possibility of process of the use or the incident of explanation.Another result is the multiplexing of the consumer of incident and source, make that this input equipment can be by people's control, perhaps can be used a lot of concurrent users of input framework support of blood plasma (for example based on) by the several people simultaneously, the flow of event that obtains simultaneously for a plurality of event consumer successively as seen.
Use as example or protein, equipment C can extract one or more protein (for example protein 1B etc.) from the pond.After Protein Extraction, in the incoming event of handling pairing input equipment CA of protein data and CC, equipment C can use the data of the protein of retrieving or reading from the salad of the picked-up of protein and record.As another example, device A can be extracted one or more protein (for example protein 1B etc.) from the pond.After Protein Extraction, device A can be used the data of protein in the incoming event of handling the pairing input equipment A of protein data.
Coupling or the equipment and/or the program that are connected to the pond can be browsed in the pond backward and forward, search the particular sequence of protein.For example, usually usefully, establishing program with etc. the protein of AD HOC to be matched occur, browse backward then to determine whether this protein occurs in conjunction with other specific protein together.It is unnecessary to be used for utilizing this instrument of event history of the storage in input pond to make usually writing the condition managing code, perhaps at least obviously reduces the dependence to such coding mode of not expecting.
The example of the input equipment that uses among the embodiment of system described here comprises attitude input pickup, keyboard, mouse, the infrared remote control that uses in the consumer electronics for example, and the tangible medium object of oriented mission, just gives some instances here.
Figure 13 is the block diagram that runs on the processing environment of a plurality of equipment that are coupled among a large amount of programs on one or more equipment according to being included in of another alternative embodiment, in these equipment, blood plasma makes up (for example pond, protein and salad) and is used to allow the shared and graphical event that jointly generate in response to equipment of a large amount of working procedures.This system only is an example that comprises the system of a plurality of working procedures (for example figure A-E) and one or more display device (not shown), wherein, use blood plasma to make up (for example pond, protein and salad) and some or all the figure output in the calling program can be used for other program, with the graphical event that allows working procedure to share and jointly generate in response to equipment with coordinated mode.
For computer program, usefully show the figure that generates by another program usually.Several public examples comprise videoconference application, based on network lantern slide and demonstration program and window manager.Under this configuration, the pond is as blood plasma storehouse, realizing that encapsulate video, web application are shared and the general framework of window management, and allows the programmer to add in the current version of such program disabled a plurality of features usually.
The program of moving in the blood plasma synthetic environment (for example figure A-E) participates in coordinating the pond by being coupled and/or being connected to the pond.Each program can leave protein in this pond, to indicate the availability of various graphics sources.For display graphics can with program also deposit protein, with ability, security and user profiles and the physics and the network site of the demonstration of indicating them.
Also can send graph data by the pond, perhaps display routine can point to the Internet resources (for example RSTP stream) of other kind.Phrase " graph data " refers to the multiple different expressions that depend on broad continuum as used herein; The example of graph data (for example includes but not limited to literal example (for example " image " or block of pixels), process example, the sequence of " drafting " indication, such as under typical openGL pipe flow will) and depicted example (for example, making up the instruction of other graphical configuration by the mode of geometric transformation, shearing and synthetic operation).
On local machine, can optimize by the platform-specific display driver and come the transitive graph graphic data.Even when not sending figure via the pond, usually also can be in coordinating the pond screen capture of memory cycle property, make the client retreat figure directly still can not showing under the situation in the more abstruse source of visit.
Different with procotol with most message transmission frameworks, multi-process interactive system described here comprises the pond of a large amount of bufferings that keep data.Therefore, program can be recoiled and be got back in the pond, to check visit and use pattern (under the situation of coordinating the pond) or to extract previous graphic frame (under the situation in figure pond).
Figure 14 is the block diagram that runs on the processing environment of a plurality of equipment that are coupled among a large amount of programs on one or more equipment according to being included in of another alternative embodiment, in these equipment, blood plasma makes up status checking that (for example pond, protein and salad) be used to allow working procedure, visual and debugging.This system only is an example that comprises the system of a plurality of working procedures (for example program P-A, program P-B etc.) on a plurality of equipment (for example device A, equipment B etc.), and in described equipment, the internal state of other program is used or visited via the pond to some programs.
Majority interactive computer system is included in individual machine or operation and spanning network carry out mutual a lot of programs side by side each other on a plurality of machines.Because working time, data hidden was inner and be difficult to visit in each process, so multiprogramming system may be difficult to configuration, analyze and debugging.The general framework of embodiment described here and blood plasma make up and allow working procedure to make their data of majority via Chi Keyong, thereby other program can be checked their state.This framework enable than traditional debugging device more flexibly debugging acid, complicated system maintenance instrument and being configured to allow the visual utensil of sequence of the state of the one or more processes of human operators labor.
With reference to Figure 14, the program of moving in this framework (for example program P-A, program P-B etc.) generates or creates process pool when program start.This pond of registration in system almanac, and application safety and access control.More particularly, that each equipment (for example device A, B etc.) will be generated by the program (for example program P-A, program P-B etc.) on each equipment of running on or translate to plasma proteins from the discrete raw data of its output, and these protein are stored in the blood plasma pond.For example, program P-A generates data or output, and this output is offered device A, device A and then raw data translated to protein (for example protein 1A, protein 2A, protein 3A etc.), and these protein are stored in the pond.As another example, program P-B generates data and these data is offered equipment B, equipment B and then data are translated to protein (for example protein 1B-4B etc.), and these protein are stored in the pond.
For the duration of program life, other program with enough access permissions can be attached to the protein that pond and fetch program deposit; The basic form of checking of this expression, and conceptive be " unidirectional " or " read-only " proposition: the stream of the interested entity of program P-A being checked the status information that P-A deposits in its process pool.For example, scrutiny program that moves under equipment C or application program can be extracted one or more protein (for example protein 1A, protein 2A etc.) from the pond.After Protein Extraction, equipment C can use the data of the protein of retrieving or reading from the salad of the picked-up of protein and record, with the internal state of visit, explanation and scrutiny program P-A.
But review (recall) blood plasma system is not only effective state transfer scheme but also is omnidirectional's information receiving and transmitting environment, and several other pattern support programs are to the program state inspection.The scrutiny program of authorizing can self be stored in protein in the process pool of program P, to influence or to control the characteristic (after all, program P not only writes but also reads) of the status information that produces in this process pool and place.
Figure 15 is the block diagram according to the processing environment that is included in a plurality of equipment that are coupled among a large amount of programs that run on one or more equipment of additional alternative embodiment, in these equipment, blood plasma makes up the characteristic that (for example pond, protein and salad) is used to allow to influence or control the status information that produces in this process pool and place.In this exemplary system, the scrutiny program of equipment C for example requestor (for example program P-A, program P-B etc.) will be poured in the pond than normal more state in the single moment or in the specific duration.Perhaps, next " level " of indication debug communications, interested program can requestor (for example program P-A, program P-B etc.) be sent the protein that is set forth in object existing in its of environment working time, and they can and can be used for carrying out alternately via the debugging pond individually.Hence one can see that, interested program can be in program runtime among object " addressing " individuality, protein is placed in the process pool that special object will take separately and respond.For example, interested program can request object be sent the reporter protein matter of the instantaneous value of describing all its composition variables.Even the more important thing is that interested program can change the value of its behavior or its variable via other protein instruction object.
More specifically, in this example, the inspection application program of equipment C will be placed in the pond for the request (for example " request object chained list ") (with the form of protein) of object chained list, and this request is extracted by each equipment that is coupled to the pond (for example device A, equipment B etc.) then.In response to this request, the protein (for example protein 1A, protein 1B etc.) that each equipment (for example device A, equipment B etc.) will be enumerated object existing in its of environment working time is placed in the pond, and they can and can be used for carrying out alternately via the debugging pond individually.
Hence one can see that, via from the enumerating of equipment, and in response to the enumerating of object, the inspection application program of equipment C in program runtime among object the addressing individuality, protein is placed in the process pool that special object will take separately and respond.For example, the inspection application program of equipment C can be placed on request protein (for example protein " request report P-A-O ", " request report P-B-O ") object (for example being respectively object P-A-O, object P-B-O) and sends in the pond of reporter protein matter (for example protein 2A, protein 2B etc.) of the instantaneous value of describing its all composition variables.Each object (for example object P-A-O, object P-B-O) extracts its request (for example being respectively protein " request report P-A-O ", " request report P-B-O "), and, in response to this, will comprise that the protein (for example being respectively protein 2A, protein 2B) of the report of request is placed in the pond.Equipment C extracts each reporter protein matter (for example protein 2A, protein 2B etc.) then, and takes for the suitable subsequent treatment action of the content of report.
In this way, use blood plasma in return medium finally be tending towards corroding debugging, process control and program and arrive difference between interprogram communication and the coordination.
So far, the universally applicable blood plasma framework allows to design visual and routine analyzer in loosely-coupled mode.For example, can be in conjunction with its basic storage being read and writes the visualization tool that any program that outputs to the pond is used the display-memory access module.The program of being analyzed need not to know the existence or the design of visualization tool, and vice versa.
Use the pond exceedingly not influence system performance in the above described manner.For example, embodiment has allowed in the pond per second to deposit a hundreds of thousands protein, thereby even makes tediously long relatively data output also can suppress the response or the interaction characteristic of most of programs indistinctively.
Spatial operation environment (SOE).
The multi-process interactive system can be the assembly of spatial operation environment (SOE) or be coupled to be used for spatial operation environment (SOE).Comprise attitude control system or also can be called as spatial user interface (SUI) or air interface (SI) based on the SOE of the control system of attitude.As example, Figure 16 is the block diagram according to the spatial operation environment (SOE) of embodiment.The user is positioned at his hand 1601 and 1602 in the browsing area 1650 of array of camera 1604A-1604D.The position of phase machine testing finger and hand 1601 and 1602, direction and mobile, and be generated to the output signal of pretreater 1605.Pretreater 1605 translates to camera output the attitude signal of the computer processing unit 1607 of the system of offering.Computing machine 1607 uses input information to generate the order that is used to control the one or more cursors on the screen, and video output is offered display 1603.
Though the system that illustrates uses the hand of unique user as input, can use a plurality of users to realize SOE.In addition, replace hand or except hand, system can follow the tracks of any one or a plurality of part of user's health, comprises head, pin, leg, arm, elbow, knee etc.
In the embodiment shown, four cameras or sensor are used in the browsing area 1650 and detect users' hand 1601 and 1602 position, direction and move.Should be understood that under the situation of the scope and spirit that do not break away from SOE SOE can comprise more (for example six cameras, eight cameras etc.) or (for example two cameras) camera or sensor still less.In addition, though in example embodiment, arrange camera or sensor symmetrically, do not require for this symmetry among the SOE.In SOE, can use position, direction and the mobile any amount of camera or the location of sensor or camera or sensor of the hand that allows the user.
In one embodiment, the camera of use is the capturing movement camera that can catch gray level image.In one embodiment, the camera of use is the camera (for example Vicon MX40 camera) that Vicon makes.This camera comprises on the camera to be handled, and can carry out image capturing with per second 1000 frames.The capturing movement camera can detect and telltale mark.
In the embodiment that describes, camera is the sensor that is used for optical detection.In other embodiments, camera or other detecting device can be used for the detection of electromagnetism, magnetostatic, RFID or any other adequate types.
Pretreater 1605 generates reconstruct of three dimensions point and skeleton point mark.Attitude transfer interpreter (gesture translator) 1606 is the command language that computer processor can be explained with 3d space information and marker motion information translation, with position, shape and the action of cursor on the refresh display.In the alternative embodiment of SOE, pretreater 1605 and attitude transfer interpreter 1606 are integrated or are combined to individual equipment.
Computing machine 1607 can be any multi-purpose computer of making of Apple, Dell or any other suitable manufacturer for example.Computing machine 1607 runs application and provides and shows output.Otherwise will be from the cursor information of mouse or other prior art input equipment now from attitude system.
SOE or embodiment are expected at usage flag (mark) label (tag) on one or more fingers of user, the hand that the system that makes can consumer positioning, and whether it is just browsing the left hand or the right hand in identification, and which finger is as seen.This permission system detects position, the direction of user's hand and moves.This information allows a plurality of attitudes to be used as order by system identification and by the user.
Markup tags among embodiment is a physical tag, comprises (being suitable for investing each position on the staff in this embodiment) substrate and the discrete markers that is provided with on the surface of substrate with the unique identification pattern.
Mark and related outside sensing system can be operated in any territory of three locus (three-space position) that allow to obtain accurately, accurately and fast and continuously them (light, electromagnetism, magnetostatic etc.).Mark itself is (for example by the emitting structural electromagnetic pulse) or (for example, in this embodiment, by reflective optically) operation passively on one's own initiative.
At each frame that obtains, detection system from the label utensil work spatial volume (in the visual range of camera or other detecting device) at present receive comprise the convergence " cloud " of three locus of underlined recovery.Mark on each label is enough multifarious, and arrange with unique pattern, thereby detection system can be carried out following task: (1) segmentation, and wherein, the mark position of each recovery is assigned to one of the point that forms single label and subclass only; (2) mark, wherein, the subclass of each segmentation of point is identified as specific label; (3) three locus of the label of sign wherein, are recovered in position; (4) direction wherein, is recovered three direction in spaces of the label of sign.Such as described below, and as an embodiment illustrates among Figure 17, the particular characteristics by marking mode makes that task (1) and (2) are possible.
Mark on the label among embodiment invests the subclass of conventional grid positions.As in the present embodiment, this potential grid can be traditional Descartes's classification, maybe can be replaced by some other conventional planes inlays (for example triangle/sexangle bedding arrange).Set up the ratio and the space of grid about the known spatial resolution of mark sensing system, make contiguous grid positions not to be confused.The selection that is used for the marking mode of all labels should be satisfied following constraint: any combination by rotation, translation (translation) or mirror image does not have the pattern of label can meet any other label mode.Can further choose the diversity and the layout of mark, make that the loss (or block) of assembly mark of some specified quantities is tolerable.After carrying out any any conversion, should still compromise module and any other module can not be obscured.
Referring now to Figure 17, a plurality of label 1701A-1701E (left hand) and 1702A-1702E (right hand) are shown.Each label is a rectangle, and comprises the 5x7 grid array in this embodiment.Choose rectangular shape auxiliary as the direction of determining label, and reduce the possibility of image copying.In the embodiment shown, there is the label that is used for each each finger on hand.In certain embodiments, it can be enough using one in every hand, two, three or four labels.Each label has the border of different gray scales or coloured light (color shade).It in this border the 3x5 grid array.Specified point setting in grid array (stain of Figure 17 is represented) mark is to provide information.
By each pattern being segmented into " public " and " unique " subpattern, can be in the marking mode of label coding quality information.For example, this embodiment specify two possible " boundary schemes ", about the distribution of the mark of square boundary.Setting up " family " of label thus---can therefore all use and the identical boundary scheme shown in the label 1701A-1701E at the label of left hand, and the label that is attached to right finger can be assigned with the different mode shown in label 1702A-1702E.Choose this subpattern, make on all directions of label, can distinguish left pattern and right pattern.In examples shown, left-handed mode comprise mark on each angle and elongation grid positions second on mark.Right-handed mode has mark and two marks on the grid positions of non-angle on two angles only.The inspection of pattern explanation, if in four marks any three as seen, just can distinguish left-handed mode and left-handed mode for certain.In one embodiment, the color on border or shade also can be as the designators of handedness.
Certainly, each label must still adopt the interior mark that distributes of public boundary of the family of unique internal schema, label.In the embodiment shown, have been found that rotation or direction owing to finger, two marks in the inner grid array are enough to identify uniquely each in ten fingers that do not repeat.Even one in the mark has got clogged, the handedness of label and the combination of pattern also produce unique identifier.
In this embodiment, grid positions visually is presented on the rigid substrate, as assisting of (manually) task of the position in its expection being added each reflective marker.Word-for-word print on the substrate via the mark position of color inkjet printer with these grids and expection, substrate is the sheet material of (initially) flexible " shrink film " at this.Each module from sheet material cutting and then stove cure, each module experience accurately and is repeatably shunk during this thermal treatment.For example, for the short interval after this process, the label of cooling can slightly be shaped---to follow vertical curve of finger; Then, substrate is a rigidity suitably, and mark can be attached to the grid point place of indication.
In one embodiment, mark itself is three-dimensional (for example appending to the little reflecting sphere of substrate via bonding agent or some other suitable means).The three-dimensional of mark can be auxiliary in detection on two-dimensional marker and the location.Yet, under the situation of the spirit and scope that do not break away from SOE described here, can use the two one of.
At present, label appends to the gloves that the operator wears via Velcro or other suitable means, or uses soft double stick band directly to append to operator's finger in addition alternatively.In the 3rd embodiment, separate marking can be distributed together with rigid substrate and additional---or " drawing "---to operator's finger and on hand.
The SOE expection of embodiment comprises the attitude vocabulary that hand posture (pose), direction, hand combination and direction are mixed.Also implement synthetic language and be used for designing posture and attitude with the attitude vocabulary that exchanges SOE.Attitude vocabulary is the system that is used for representing with succinct textual form instantaneous " posture state " of kinematics link (kinematic linkage).The link of being discussed can be biological (staff for example; Or the joint backbone of the whole person or locust leg or mongoose lemur), maybe can be replaced by abiotic (for example robots arm).Under any circumstance, link can be simple (backbone) or branch's (hand).The attitude lexical system of SOE is set up the constant length string for any specific link, and the polymerization of specific ascii character that occupies " character position " of string then is " posture " or unique description of immediate status of link.
Figure 18 illustrates according to the hand posture among the embodiment of the attitude vocabulary of the SOE of embodiment.SOE hypothesis is used on hand each in five fingers.These fingers are encoded to p-little finger of toe, the r-third finger, m-middle finger, i-forefinger and t-thumb.Figure 18 defines and illustrates a plurality of postures that are used for finger and thumb.Attitude vocabulary string for link (finger) in the case, but each freedom of expression degree set up single character position.In addition, each such degree of freedom is interpreted as by discretize (or " quantification "), makes by put the complete scope that can express its motion of being furnished with in the standard A SCII character of limitting quantity of punishing in displacement.Express these degree of freedom with respect to specific initial point of health (center of the back of the hand, locust health, robots arm's pedestal etc.) and coordinate system.Therefore, the additional attitude vocabulary character position of minority is used for expressing in more overall coordinate system " generally " position and the direction of link.
Still, use the ascii character definition and identify a plurality of postures with reference to Figure 18.Between thumb and non-thumb, distinguish some postures.SOE among this embodiment uses coding, makes that ascii character itself is the hint of posture.Whether yet any character can be used to represent posture, no matter hint.In addition, do not require that in the present invention the use ascii character is used for symbol string.Under the situation that does not break away from the scope of the invention and spirit, can use any suitable symbol, numeral or other expression.For example, if expectation, symbol can use two positions of every finger, or according to expectation, the position of some other quantity.
The crooked finger of character " ^ " expression, and "〉" the crooked thumb of expression.Upwards straight finger of Zhiing or thumb by " 1 " indication, and be in certain angle place by " " or "/" expression.The thumb that "-" expression laterally directs at, the thumb on plane is pointed in " x " expression.
Use these independent finger and thumbs to describe, can use the solution of the present invention to define and write the hand posture of robust (robust) quantity.Each posture by five characters as described above the order of p-r-m-i-t represent.Figure 18 illustrates a plurality of postures, and describes in this mode by explanation and example." 11111 " expression keeps straight (flat) and is parallel to the hand on ground." ^^^^〉" the expression fist." 111^〉" expression " OK " symbol.
When using the character of hint, character string is provided for directly the chance of " people's readability ".Usually can choose the set of the possible character of describing each degree of freedom with eyes, with quick identification with analogize apparently.For example, vertical bar (" | ") will represent possibly that linkage element is " straight ", and quarter bend (" L ") can represent that 90 degree are crooked, and circumflex (" ^ ") can be indicated sharp bend.As mentioned above, can use any character or coding according to expectation.
Adopt as any system of attitude vocabulary string described here enjoys the advantage of string Computationally efficient relatively---for " string compares " (for example " strcmp () " function of UNIX) between the sign of the posture of any appointment or posture string that search becomes expectation fully and the instantaneous actual string.In addition, using to programmer or system designer of wildcard characters provides additional efficient and the effect be familiar with: its immediate status for the incoherent degree of freedom of coupling can be appointed as the question mark point ("? "); Can distribute other asterisk wildcard meaning.
Except the posture of finger and thumb, the direction of hand can be represented information.Also can choose the character of describing the global space direction apparently: when in the direction character position, running into, character "<", "〉", " ^ " and " v " can be used to indicate left and right, upper and lower idea.Figure 19 illustrates hand direction descriptor and the example with the coding of posture and direction combination.In an embodiment, two character positions are at first specified the direction of palm, are the direction (whether they are straight, regardless of the actual flexion of pointing) of finger then." body centre " symbol that is used for the possible character expression direction of these two positions: "-", "+", " x ", " * ", " ^ " and " v " describe centre, side, front (forward, leave health), back (backward, leaving health), head (making progress) and afterbody (downwards).
In the symbol scheme of embodiments of the invention, colon is followed in five finger gesture back of pointing character, is the both direction character then, to define complete order posture.In one embodiment, the starting position is called as " xyz " posture, and its middle finger upwards directs at, and forefinger refers to that forward middle finger points to a left side perpendicular to forefinger when carrying out this posture by the right hand.This is represented by string " ^^x1-:-x ".
" XYZ-hand " is the geometry that utilizes staff with the technology of the complete six-freedom degree navigation of the three-dimensional structure that allows visually to present.The preferred static configuration of this embodiment that---makes its finger can mainly remain in any posture of expectation---though this technology only depends on the bulk translation and the rotation of operator's hand, wherein, forefinger points to beyond the health, and thumb points to ceiling; About middle finger points to.Therefore three fingers are described three mutually orthogonal axles of (roughly, but have clear significantly intention) three spatial coordinate system: therefore " XYZ-hand ".
XYZ-hand navigation is carried out with hand, finger in the above-mentioned posture of locating in predetermined " neutral position ", keeping before the health the operator then.Influence three translations of three spatial objects (or camera) and the visit of three rotary freedoms by following natural way: the move left and right of hand (with respect to the body's natural coordinate system) produces moving along the x axle of calculated contexts, hand move up and down generation along the moving of the contextual y axle of control, the front and back hand move (towards/leave operator's health) the z axle that produces in the context moves.Similarly, operator's hand causes " rolling " of the direction of calculated contexts to change about the rotation of forefinger; Hand by the operator influences " inclination " and " deflection " change similarly about the rotation of middle finger and thumb respectively.
Note, as if---and advising synthetic three spatial objects or camera---should be understood that this technology each degree of freedom for the control real-world objects though " calculated contexts (computational context) " is used herein to the entity of expression XYZ-hand method control: the pan/inclination/rolling control that is equipped with the video or the motion picture camera of suitable rotation excitation device is useful on an equal basis.In addition, even in virtual Domain, can a little less word-for-word shine upon the health degree of freedom that XYZ-hand posture provides.In this embodiment, the XYZ-hand also is used to provide the navigation visit to big panorama display image, make the operator hand about and move up and down and cause about about the expection of image or up and down " pan ", but seesawing of operator's hand is mapped as " zoom " control.
Under each situation, coupling between the motion of hand and the calculating that causes are translated/rotated can be directly (be operator's the position of hand or rotation skew be mapped as the position or the rotation skew of camera in the calculated contexts or object one to one via some linearities or nonlinear function) or indirect (be operator's the position of hand or rotation skew be mapped as the single order of position/orientation in the calculated contexts or higher derivative more one to one via some linearities or nonlinear function, ongoing integration acts on non-static change of the actual zeroth order position/orientation of calculated contexts then).Back means of control and the use of automobile " gas pedal " are similar, and wherein, the systematic offset of pedal more or less, causes constant car speed.
" neutral position " of serving as the local six degree of freedom true origin of real world XYZ-hand can be set up as absolute position and the direction (such as the room with respect to sealing) in (1) space; (2) with respect to (for example eight inches in operator's fixing position itself and direction in the health front, below lower jaw ten inches, the side meets the shoulder plane), overall positions and " towards (heading) " regardless of the operator, or (3) alternatively, deliberate less important action (for example, use the attitude order of " another " hand promulgation of operator, the current location of described order indication XYZ-hand and direction are from then on as translation and rotation initial point) by the operator.
What further facilitate provides " detent " zone (or " dead band ") about the neutral position of XYZ-hand, makes motion in this volume not be mapped to the motion in the context of control.
Other posture can comprise:
[|| || |: vx] be palm down and finger straight hand (thumb is parallel to finger) forward.
[|| || |: x^] be palm forward with the straight hand of finger towards ceiling.
[|| || | :-x] is medial center of palm (if left hand, then towards the right side, if the right hand is then towards a left side) and finger straight hand forward
[^^^^-:-x] is the one hand that thumb upwards (has the thumb that points to ceiling).
[^^^|-:-x] is meant imitation pistol forward.
The SOE expection of embodiment has the order and the posture of singlehanded order and posture and two hands.Figure 20 illustrates the two hands combination among the embodiment of SOE and the example of related symbol.Look back the symbol of first example, " fullstop " illustrates the fist that it comprises two closures." snapshot " example has the thumb and the forefinger of each hand of extension, and thumb points to each other, the frame of definition goal (goal post) shape." rudder and throttling valve starting position " is that finger and thumb upwards refers to the palm screen-oriented.
Figure 21 illustrates the example that the direction among the embodiment of SOE is mixed.In the example shown, after the finger gesture string, the direction symbol is represented to mix by being enclosed in many in the bracket.For example, first order illustrates the finger position that all direct at.First pair of direction order will produce straight palm towards display, and second pair has the finger that rotates to screen inclination 45 degree.Though illustrate manyly to mixing in this example, expection has any amount of mixing in SOE.
Figure 23 illustrates a plurality of possible order that can be used for SOE.Though carry out some discussion about control cursor on display at this, SOE is not limited to this activity.In fact, has very big application in the state of any and all data, section data and the display of SOE on handling screen.For example, during the playback of video media, order can be used to replace video control.Order can be used for time-out, F.F., retreat etc.In addition, order can be implemented as the amplification of image or dwindles, with the direction that changes image, pan in any direction, etc.SOE also can be used to replace menucommand, for example opens, closes, preservation etc.In other words, can realize any order or the activity that to imagine by the hand attitude.
Figure 22 is the process flow diagram according to the operation of the SOE of embodiment.2201, detection system certification mark and label.2202, determine whether to detect label and mark.If not, then system returns 2201.If detect label and mark 2202, then system proceeds to 2203.2203, system is from detected label and mark identification hand, finger and posture.2204, the direction of system identification posture.2205, the three-dimensional space position of the detected one or more hands of system identification (note that can make up in 2203,2204 and 2205 arbitrarily or all).
2206, be aforesaid attitude symbol with information translation.2207, determine whether posture is effective.Use the symbol string that generates relatively can realize this operation via simple string.If posture is invalid, then system returns 2201.If posture is effective, then 2208, system sends to computing machine with symbol and positional information.2209, computing machine is determined the suitable action that will carry out in response to attitude, and correspondingly in 2210 update displayed.
In the embodiment of SOE, by processor complete operation 2201-2205 on the camera.In other embodiments, if expectation can be finished processing by system computer.
System can " resolve (parse) " and the stream of the rudimentary attitude of " translating (translate) " potential system recovery, and changes these parsings and the attitude of translating into can be used to control broad range computer applied algorithm and the order of system or the stream of event data.These technology and algorithm can be embodied in the system that comprises computer code, and computer code provides the engine of these technology of realization and is used to make up the platform of the computer applied algorithm of the ability of utilizing engine.
An embodiment pays close attention to and enables the attitude of enriching of using staff in computer interface, but also can discern attitude and static and hinged various non-hand physical instrument that other body part (including but not limited to arm, trunk, leg and head) carries out, include but not limited to the pointing apparatus of clamp, compass, flexible curve approximation device and different shape.Mark and label can be applied to article and the instrument that the operator carries and uses according to expectation.
System described here is combined with feasible a plurality of innovations that can be structured in attitude system abundant in the scope of the attitude that can be identified and act on, and is easy to simultaneously be integrated in the application program.
Attitude among embodiment is resolved and the system of translating comprises:
1) be used to specify the succinct and efficient way of (coding to be used for computer program) some different other attitudes of convergent orders:
The direction and the position of a. " posture " of the one hand in the three dimensions (part of hand configuration and direction relative to each other), one hand.
B. two hands combination is used to consider posture, position or the hand of the two
C. many people's combinations; System can follow the tracks of the hand more than two, therefore more than one people can be collaboratively (or under the situation of game application, competition ground) controlled target system.
D. the order attitude that made up in order of posture wherein, we are referred to as " active (animating) " attitude.
E. " font " attitude, wherein the operator follows the tracks of the shape in the space
2) be used for from the programming technique of each relevant classification registration particular pose of above and given application context
3) be used to resolve the feasible algorithm that can discern the attitude of registration and the incident of these attitudes of encapsulation can be delivered to relevant application context of attitude stream.
Canonical system (1) with composed component (1a) to (1f) provides the parsing of use system described here and the basis of conversion ability.
Singlehanded " posture " is expressed as following string:
I) relative direction between finger and the back of the hand,
Ii) be quantified as the small number of discrete state.
Use relative bonding position to allow system described here to avoid the problem that is associated with the size and the geometry of different hands.This system does not need " operator's calibration ".In addition, specify posture to allow to represent easily to create more complicated attitude standard with other filtrator and standard by combinations of gestures as the string or the set of relative direction.
The small number of discrete state of use posture standard makes can specify posture compactly and (for example guarantee to use various potential tracking techniques, use the passive optical of camera to follow the tracks of, use the active optics tracking, electromagnetic field tracking of luminous point and camera etc.) accurate gesture recognition.
Partly (or minimum ground) specifies the attitude in each classification (1a) to (1f), thereby ignores non-critical data.For example, wherein the stationkeeping of two fingers and the unessential attitude of other finger position can be by the operable positions that wherein provide two relevant fingers and in identical string, list the single standard of " asterisk wildcard " or general " ignoring these " designator for other finger and represent.
All innovations described here are used for gesture recognition, include but not limited to multilayer specification technique, relative direction use, data quantification and allow part or minimum specification at each grade, use other body part and " manufacturing " instrument and object the standard of hand attitude to be generalized to the standard of attitude.
The programming technique that is used for " registration attitude " (2) comprise allow programmer definition engine should make which attitude for the other parts of operational system can with the set of calling of the application programming interface of definition.
These api routines can be used in application program Time Created, create to run through the employed static interface definition of the life that runs application.During the process of operation, also can use them, allow interface features (on the fly) change hastily.This real-time change of interface make can:
I) construction complicated context and condition state of a control,
Ii) hysteria (hysterism) is dynamically added to controling environment, and
Iii) create the application program that user wherein can change or expand the interface vocabulary of operational system itself.
The algorithm that is used for resolving attitude stream (3) relatively (1) specify and (2) in attitude of registering and the rudimentary attitude data of arrival.When the coupling of the attitude that recognizes registration, the event data of the attitude of expression coupling is delivered on stack and runs application.
The efficient coupling in real time of expectation in the design of this system, and the tree of the attitude of the appointment probability that is counted as handling as quickly as possible.
In addition, being used to discern the original comparison operator that the inside of the attitude of appointment uses also is exposed to be used for the application programming person uses, making another compare (for example, the status checking flexibly in complexity or the mixing attitude) can even occur in application context.
Identification " locking " semanteme is the innovation of system described here.Registration API (2) hints these semantemes (and for still less expansion, embedding in the standard vocabulary (1)).The registration API Calls comprises:
I) " login (entry) " state notifying symbol and " continuation " state notifying symbol, and
Ii) attitude priority indicator.
If discerned attitude, then its " continuation " condition obtain surpass all " login " conditions be used to have attitude identical or more low priority preferentially.System's usability of perception is added in this differentiation between logging status and the continuation state significantly to.
System described here comprises the algorithm that is used for the robust operation in the face of real world data sum of errors uncertainty the time.Data from rudimentary tracker can be incomplete (for various reasons, comprise the obstruction of the mark in the optical tracking, network withdraw from or handle hysteresis etc.).
According to amount that lacks data and context, lack data by the resolution system mark, and in be inserted into " last known " or " most probable " state.
If the data (for example, the orientation of particular combination point) about the particular pose assembly lack, but can physically may analyze " last known " state of this specific components, then system uses this known state recently in the coupling in real time at it.
Otherwise, if physically can not analyze last known state, system's " best-guess scope " of assembly that fall back then, and at its this generated data of use in coupling in real time.
Standard described here and resolution system carefully have been designed to support " handedness agnosticism ", make for many hands attitude, allow arbitrary hand to satisfy the posture demand.
The system of embodiment can provide the Virtual Space of describing on wherein one or more display devices (" screen ") to be counted as the consistent environment of physical space that occupies with one or more operators of system.At this embodiment of this environment is described.This current embodiment is included in three projector screen driven of fixing position, by the individual desktop computer drives, and uses attitude vocabulary described here and interface system to control.Yet, note any amount of screen of the technical support of description; These screens can be (rather than fixing) that moves, screen can by much independently computing machine drive simultaneously, and any input equipment or technology can be controlled total system.
The interface system of describing in the disclosure should have the device of size, direction and the position of the screen in definite physical space.Given this information, system can dynamically be mapped to these screens location (and the operator of system forbids) wherein for the physical space of projection the Virtual Space of the computer applied algorithm that moves in the system.As the part of this automatic mapping, the needs of the application program of being responsible for according to system, system also translates ratio, angle, the degree of depth, size and other spatial character in two spaces by variety of way.
This between physics and the Virtual Space translate continuously make be difficult on the existing application platform to realize or for existing platform on a plurality of interfacings of must sheet meal (piece-meal) realizing of each application program of moving one make peace generally that use is possible.These technology include, but is not limited to:
1) use of " literal is given directions (literal pointing) "---use the hand in the gesture interface environment, or use physics to give directions instrument or equipment---as general and natural interfacing
2) for the motion of screen or the automatic compensation of reorientation.
3) graph rendering that changes according to the operator position, for example the emulation parallax changes to strengthen depth perception.
4) comprising of the physical object in showing on the screen---consider real-world locations, direction, state etc.For example, the operator who stands in big transparent screen front can see the application graphical of actual position of scale model of screen back and expression (and perhaps just moving or change direction).
Notice that importantly, literal is given directions with different based on the abstract indication of using in the window interface of mouse and other modern system of majority.In these systems, the operator must the learning management virtual mouse and the physics pointing apparatus between translate, and must between the two, shine upon on cognitive ground.
By contrast, in the system of in the disclosure, describing, there is not difference (except more be obedient to for mathematical manipulation the Virtual Space) between the virtual and physical space from application program or User Perspective, therefore do not exist operator's required cognition to translate.
The literal that provides for embodiment described here is given directions, and immediate to analogize be (for example, finding on a lot of ATM devices) touch sensitive screen.Touch sensitive screen provides the mapping one to one between the two-dimentional input space of two-dimentional display space on the screen and screen surface.By similar fashion, system described here lives to provide between the physical space of usefulness flexible mapping (possibly, but not necessarily, one to one) the Virtual Space that shows on one or more screens and operator.Regardless of the serviceability of analogizing, be worth being understood that this " mapping method " expands to three-dimensional and any big architecture environment and a plurality of screen is not unimportant.
Except assembly described here, system can also realize the algorithm of (perhaps revising by rotation, translation, convergent-divergent or other geometric transformation) the continuous system level mapping between the display space of the physical space of environment and each screen.
Obtain the figured stack of playing up of calculating object and mapping and output Virtual Space.
Obtain event data (among current embodiment) from control system, and will be mapped to the incoming event processing stack of the coordinate in the Virtual Space from the spatial data of incoming event from the attitude and the indication data of system and mouse input.The incident of translating is delivered to the application program of operation then.
The permission system is responsible for " adhesive linkage " of the application program of crossing over the some computer runs on the LAN (Local Area Network).
As above with reference to Figure 1A-Fig. 1 C and this in addition as described in, consider the above description of SOE, SOE can and/or be coupled to the multi-process interactive system as the assembly of multi-process interactive system.As mentioned above, the SOE of embodiment can be encapsulated as and the user is imported protein be delivered to attitude/space process G that the user imports pond Ui.
Comprise the system and method that detects the attitude that health carries out from attitude data at this embodiment.Receive attitude data via detecting device.The system and method for embodiment is carried out a large amount of processes on treatment facility.Process generates the incident of the set that comprises the incident of representing attitude.The system and method for embodiment translates to the data capsule with the incident of each process.The system and method for embodiment is sent to a plurality of ponds or reservoir with the data capsule.The set of the process in a large amount of processes is as the identification process operation.The identification process is discerned the data capsule that comprises the content corresponding with attitude in the pond.The identification process is retrieved the recognition data capsule from the pond, and comes to generate attitude signal from the recognition data capsule to form attitude signal by the content of synthetic recognition data capsule.Attitude signal is represented attitude.
Figure 24 is the block diagram according to the spatial operation environment (SOE) (seeing Fig. 1 C, element G) that passes through the multi-process interactive system or realize as the assembly of multi-process interactive system of embodiment.The user is positioned at its hand 2401 and 2402 in the browsing area 2450 of array of camera 2404A-2404D.The position of phase machine testing finger and hand 2401 and 2402, direction and mobile, and be generated to the output signal of pretreater 2405.Pretreater 2405 translates to camera output the attitude signal of the computer processor of the system of offering.In this embodiment, the function of the computer processor carried out of aforementioned calculation machine 2407 can be carried out by the processor of multi-process interactive system and/or the processor (Fig. 1 C) that is coupled to the multi-process interactive system.Attitude signal can be provided or be sent to the pond (pond Ui, Fig. 1 C) of multi-process interactive system.Therefore, the order that multi-process interactive system is used attitude signal to generate to be used to control the one or more assemblies that are coupled to the multi-process interactive system (for example display cursor etc.).
Though system is depicted as the hand of usefulness unique user as input, can use a plurality of users to realize SOE.In addition, replace hand or except hand, system can follow the tracks of any one or a plurality of part of user's health, comprises head, pin, leg, arm, elbow, knee etc.
In the embodiment shown, four cameras or sensor are used in the browsing area 2450 and detect users' hand 2401 and 2402 position, direction and move.Should be understood that under the situation of the scope and spirit that do not break away from SOE SOE can comprise more (for example six cameras, eight cameras etc.) or (for example two cameras) camera or sensor still less.In addition, though in example embodiment, arrange camera or sensor symmetrically, do not require for this symmetry among the SOE.In SOE, can use position, direction and the mobile any amount of camera or the location of sensor or camera or sensor of the hand that allows the user.
In one embodiment, the camera of use is the capturing movement camera that can catch gray level image.In one embodiment, the camera of use is the camera (for example Vicon MX40 camera) that Vicon makes.This camera comprises on the camera to be handled, and can carry out image capturing with per second 1000 frames.The capturing movement camera can detect and telltale mark.
In the embodiment that describes, camera is the sensor that is used for optical detection.In other embodiments, camera or other detecting device can be used for the detection of electromagnetism, magnetostatic, RFID or any other adequate types.
Pretreater 2405 generates reconstruct of three dimensions point and skeleton point mark.The command language that attitude transfer interpreter 2406 can be explained 3d space information and marker motion information translation for the assembly that receives the multi-process interactive system of information from pond Ui (see figure 1).In the alternative embodiment of SOE, pretreater 2405 and attitude transfer interpreter 106 are integrated or are combined to individual equipment.
Figure 25 is according to the use of the embodiment process flow diagram 2500 from the operation of the multi-process interactive system 100 of the input of attitude control system.Operation comprises: detect the attitude 2502 that health carries out from attitude data.Receive attitude data via detecting device.Operation is included in and carries out a plurality of processes on the treatment facility 2504.Process generates the incident of the set that comprises the incident of representing attitude.Process comprises the separable program execution context of spatial operation application program, but is not limited thereto.The incident of each process translates to data capsule 2506.The data capsule comprise the state of a process information of initiating the data capsule and incident event data with the irrelevant expression of application program, but be not limited thereto.The data capsule is translated to a plurality of ponds 2508.The set of the process of a large amount of processes is as the identification process operation.The identification process is discerned the data capsule 2510 that comprises the content corresponding with attitude in the pond.The identification process is retrieved the recognition data capsule from the pond, and comes to generate attitude signal 2512 from the recognition data capsule to form attitude signal by the content of synthetic recognition data capsule.Attitude signal is represented attitude.
Embodiment described here comprises a kind of method, comprising: carry out a plurality of processes at least one treatment facility; The incident of each process in a plurality of processes is translated to the data capsule, the data capsule is sent to a plurality of ponds; Each process is as the identification process operation, the identification process in a plurality of ponds, discern comprise with the interactive function of identification process and the corresponding content of the sign of discerning process at least one data capsule; And the identification process retrieves the recognition data capsule from a plurality of ponds, and carries out the processing suitable to the content of recognition data capsule.
The data capsule of embodiment comprise the state of a process information of initiating data-message and incident event data with the irrelevant expression of application program.
The method of embodiment comprises: use data capsule and a plurality of pond to form interactive application by the operation of coordinating each process in a plurality of processes from a plurality of processes.
The method of embodiment comprises: at least one in use data capsule and a plurality of pond coordinated the operation of a plurality of processes.
The method of embodiment comprises: application program is divided into the set of process, and wherein, a plurality of processes comprise the set of process.
The method of embodiment comprises the process that generates output by a plurality of data retrieved capsules of alternatively handling at least one pond in a plurality of ponds.
A plurality of processes of embodiment comprise the separable program execution context of a plurality of application programs, and wherein, each application program comprises at least one process.
The method of embodiment comprises: a plurality of processes of executed in parallel.
The method of embodiment comprises: first set of executed in parallel process, and second set of order executive process, wherein, a plurality of processes comprise first set of process and second set of process.
The representations of events process input of embodiment.
The representations of events process output of embodiment.
The incident of embodiment comprises user interface event.
The incident of embodiment comprises graphical event.
The representations of events process status of embodiment.
The state of a process of embodiment is represented the interactive function of process, wherein, the interactive function of process as the content exposure of data capsule in a plurality of processes.
The method of embodiment comprises: define the application programming interface (API) of a plurality of processes by the content of data capsule, rather than define this API by funcall.
The content of the data capsule of embodiment and application program have nothing to do and can be by a plurality of processes identifications.
At least one treatment facility of embodiment comprises a plurality of treatment facilities.
First of at least one process in a plurality of processes of embodiment is integrated into first set operation down of at least one treatment facility in a plurality of treatment facilities, and second of at least one process in a plurality of processes is integrated into second set operation down of at least one treatment facility in a plurality of treatment facilities.
A plurality of processes of embodiment comprise first process.
Translating of embodiment comprises: at least one data sequence that the incident of first process is transformed to the status information of the first process event data that comprise allocate event and incident.
The first process event data of embodiment and status information are the specific data of type with type corresponding with the application program of first process.
Translating of embodiment comprises: the data capsule shape is become comprise at least one data sequence, this data capsule has that comprise at least one data sequence and the data structure irrelevant expression of application program.
A plurality of processes of embodiment comprise second process.
Translating of embodiment comprises: at least one data sequence that the second state of a process change incident is transformed to the status information of the second process event data that comprise allocate event and incident.
The second process event data of embodiment and status information are the specific data of type with type corresponding with the application program of second process.
Translating of embodiment comprises: the data capsule shape is become comprise at least one data sequence, this data capsule has that comprise at least one data sequence and the data structure irrelevant expression of application program.
The identification process of embodiment is second process, and retrieval comprises: retrieval recognition data capsule from a plurality of ponds, and execution is to second process of the suitable processing of the content of recognition data capsule.
The content of the recognition data capsule of embodiment is the data of the expression first state of a process information.
Translating of embodiment comprises: the content of recognition data capsule is transformed at least one new data sequence, and this at least one new data sequence is represented at least one in the incident of the incident of first process and second process.
The data sequence that at least one of embodiment is new comprises at least one the state of a process information in first process and second process and the event data of allocate event.
First process of embodiment and the event data of at least one process in second process and status information are the specific data of type with type corresponding with the application program of at least one process in first process and second process.
Translating of embodiment comprises: the data capsule shape is become the data sequence that comprises that at least one is new, and this data capsule has that comprise data sequence that at least one is new and the data structure irrelevant expression of application program.
A plurality of processes of embodiment are used at least one new data sequence.
The suitable processing of the content to the recognition data capsule of embodiment comprises: the render graphics object, wherein, render graphics object on the display of at least one treatment facility.
The playing up of embodiment comprises directly plays up, and wherein a plurality of processes are drawn directly into the graph layer of at least one treatment facility, and wherein, a plurality of ponds are used for for playing up the suitably coordination between a plurality of processes.
Playing up of embodiment comprises: will comprise that the data capsule of rendering command is sent to a plurality of processes in a plurality of ponds.Playing up of embodiment comprises: from a plurality of pond retrieval rendering command, explain rendering command, and drive a plurality of processes of the graph layer of at least one treatment facility in response to rendering command.
Playing up of embodiment comprises: a plurality of processes that are rendered into pixel buffer.Playing up of embodiment comprises: original frame data is sent to a plurality of processes in a plurality of ponds, and described original frame data is by producing to playing up of pixel buffer.Playing up of embodiment comprises: retrieve original frame data from a plurality of ponds, and make up described original frame data, with a plurality of processes of using in the graph layer that drives at least one treatment facility.
The method of embodiment comprises: the incident that detects a plurality of processes.The method of embodiment comprises: at least one data sequence that generates the status information of the event data comprise allocate event and incident, wherein, described event data and status information are the specific data of type with type corresponding with the application program of at least one treatment facility.The method of embodiment comprises: the data capsule shape is become comprise at least one data sequence, this data capsule has that comprise at least one data sequence and the data structure irrelevant expression of application program.
At least one data sequence of the generation of embodiment comprises: generate and to comprise first first data set separately of event data separately.At least one data sequence of the generation of embodiment comprises: generate and to comprise second second data set separately of status information separately.At least one data sequence of the generation of embodiment comprises: first data sequence is formed comprise first data set and second data set separately separately.
The generation first of embodiment data set separately comprises: with first separately data set form the identification data that comprises at least one treatment facility, this identification data comprises the data that identify at least one treatment facility.
At least one data sequence of the generation of embodiment comprises: generate and to comprise first first data set separately of event data separately.At least one data sequence of the generation of embodiment comprises: generate and to comprise second second data set separately of status information separately.At least one data sequence of the generation of embodiment comprises: second data sequence is formed comprise first data set and second data set separately separately.
The generation first of embodiment data set separately comprises: generate the first data set skew separately, wherein, this first separately the data set skew point to first data set separately of second data sequence.
The generation second of embodiment data set separately comprises: generate the second data set skew separately, wherein, this second separately the data set skew point to second data set separately of second data sequence.
Embodiment first separately data set be to describe chained list, this describes the description that chained list comprises data.
The event data of embodiment is the byte sequence of the labelization of the typed data of expression.
The event data of embodiment comprises type header and the specific data layout of type.
The status information of embodiment is the byte sequence of the labelization of the typed data of expression.
The status information of embodiment comprises type header and the specific data layout of type.
The method of embodiment comprises: generate at least one skew.The method of embodiment comprises: the data capsule shape is become comprise at least one skew.
The method of embodiment comprises: generate first skew with first variable-length, wherein, the event data of first data sequence at least one the data sequence is pointed in this first skew.
The method of embodiment comprises: generate second skew with second variable-length, wherein, the status information of first data sequence at least one the data sequence is pointed in this second skew.
The method of embodiment comprises: use first skew at least one skew to form the first code path by the data capsule.The method of embodiment comprises: use second skew at least one skew to form the second code path by the data capsule, wherein, the first code path is different paths with the second code path.
First skew of embodiment and at least one in second skew comprise metadata, and this metadata comprises the context certain metadata corresponding with the context of application program.
The method of embodiment comprises: the head that generates the length that comprises the data capsule.The method of embodiment comprises: this data capsule shape is become comprise this head.
The method of embodiment comprises: the data capsule is sent to pond in a plurality of ponds.
The method of embodiment comprises: second incident that detects at least one treatment facility.The method of embodiment comprises: the search data capsule corresponding with second incident in a plurality of ponds.
The method of embodiment comprises: the correspondence between the recognition data capsule and second incident.The method of embodiment comprises: extract the data capsule in response to identification from the pond.The method of embodiment comprises: in response to the content of data capsule, represent at least one treatment facility to carry out the processing operation corresponding with second incident, wherein, second application program of the application program of this at least one treatment facility and the first kind and second type is corresponding.
A plurality of application programs are coupled in a plurality of ponds of embodiment, a plurality of ponds comprise a plurality of data capsules corresponding with a plurality of application programs, a plurality of ponds provide by the visit of a plurality of application programs to a plurality of data capsules, and wherein, at least two application programs in a plurality of application programs are different application programs.
A plurality of ponds of embodiment provide the state cache of a plurality of data capsules.
A plurality of ponds of embodiment provide the linear ordering of a plurality of data capsules.
The data structure right and wrong of embodiment are typed.
The data structure of the data capsule of embodiment provides event data and status information and expression platform independence.
The data structure of the data capsule of embodiment provides event data and status information and visit platform independence.
The transmission of embodiment comprises: the data capsule is sent at least one second application program with at least one second Application Type from first application program with first Application Type, wherein, first Application Type is different with second Application Type, wherein, generate at least one data sequence and carried out by first application program, described method comprises: intact at least one data sequence that transmits the retaining data during capsule.
The method of embodiment comprises: use at least one data sequence in the operating period of second application program.
The method of embodiment comprises: generate the event data of the source device that comprises at least one treatment facility and first data acquisition of identification data, the device events data comprise the data of the incident of assigned source device registration, and identification data comprises the data of identification sources equipment.
The method of embodiment comprises: generate second data set of set fully of the status information that comprises incident, wherein, each of first data set and second data centralization comprises the typed data bundle in the specific data layout of type.
Translating of embodiment comprises: comprise that by the data capsule shape is become first data set and second data set encapsulate first data set and second data set, wherein, the data capsule has that comprise at least one data sequence and the data structure irrelevant expression of application program.
The method of embodiment comprises: the incident that detects first treatment facility that moves under the application program of the first kind.The method of embodiment comprises: generate the data sequence of the event data that comprises first treatment facility, and the status information of event data allocate event and incident, wherein, event data and status information are the specific data of type with type corresponding with application program.The method of embodiment comprises: the data capsule shape is become comprise data sequence, the data capsule has that comprise data sequence and the data structure irrelevant expression of application program.The method of embodiment comprises: detect in second incident with second treatment facility that moves under at least one second application program of at least one second type, wherein, second type is different with the first kind, and wherein, at least one treatment facility comprises first treatment facility and second treatment facility.The method of embodiment comprises: the correspondence between the recognition data capsule and second incident.The method of embodiment comprises: use the content of the data sequence of data capsule, in response to the second incident executable operations.
The generation data sequence of embodiment comprises: generate first data set that comprises event data.The generation data sequence of embodiment comprises: generate second data set that comprises status information.The generation data sequence of embodiment comprises: first data sequence is formed comprise first data set and second data set.
The event data of embodiment is the byte sequence of the labelization of the typed data of expression.
The event data of embodiment comprises type header and the specific data layout of type.
The status information of embodiment is the byte sequence of the labelization of the typed data of expression.
The status information of embodiment comprises type head and type particular data layout.
The method of embodiment comprises: generate at least one skew.The method of embodiment comprises: the data capsule shape is become comprise at least one skew.
The method of embodiment comprises: generate first skew with first variable-length, wherein, the event data of first data sequence at least one the data sequence is pointed in first skew.The method of embodiment comprises: generate second skew with second variable-length, wherein, the status information of first data sequence at least one the data sequence is pointed in second skew.
The method of embodiment comprises: use first skew at least one skew to form the first code path by the data capsule.The method of embodiment comprises: use second skew at least one skew to form the second code path by the data capsule, wherein, the first code path is different paths with the second code path.
First skew of embodiment and at least one in second skew comprise metadata, and metadata comprises the context certain metadata corresponding with the context of application program.
The method of embodiment comprises: the data capsule is sent to pond in a plurality of ponds.
The method of embodiment comprises: the search data capsule corresponding with second incident in a plurality of ponds.The method of embodiment comprises: the data capsule is extracted in the identification in response to correspondence from the pond.
Application program and at least one second application program are coupled in a plurality of ponds of embodiment, a plurality of ponds comprise and application program and the corresponding a plurality of data capsules of at least one second application program that a plurality of ponds provide by application program and the visit of at least one second application program to a plurality of data capsules.
A plurality of ponds of embodiment provide the state cache of a plurality of data capsules.
A plurality of ponds of embodiment provide the linear ordering of a plurality of data capsules.
The data structure right and wrong of embodiment are typed.
The data structure of the data capsule of embodiment provides event data and status information and expression platform independence.
The data structure of the data capsule of embodiment provides event data and status information and visit platform independence.
Embodiment described here comprises a kind of method, comprising: carry out a plurality of processes on treatment facility, a plurality of processes comprise the separable program execution context of a plurality of application programs, and wherein, each application program comprises at least one process; The incident of each process of a plurality of processes is translated to data-message, wherein, data-message comprise the state of a process information of initiating data-message and incident event data with the irrelevant expression of application program; Data-message is sent at least one pond in a plurality of ponds; Coordinate between process, described coordination comprises: by the status information of retrieval peer process from a plurality of ponds, each process in a plurality of processes and the peer process in a plurality of process are coordinated; And the set of the data-message by alternatively making up at least one pond in a plurality of ponds generates the output of a plurality of processes.
Embodiment described here comprises a kind of system, comprising: at least one treatment facility, treatment facility are carried out a plurality of processes; And a plurality of ponds, be coupled at least one treatment facility; At least one treatment facility translates to the data capsule with the incident of each process in a plurality of processes, and the data capsule is sent to a plurality of ponds; Each process of a plurality of processes is as the identification process operation, the identification process in a plurality of ponds, discern comprise with the interactive function of identification process and the corresponding content of the sign of discerning process at least one data capsule; The identification process is retrieved the recognition data capsule from a plurality of ponds, and carries out the processing suitable to the content of recognition data capsule.
Embodiment described here comprises a kind of method, comprising: carry out a plurality of processes at least one treatment facility, a plurality of processes comprise the separable program execution context of a plurality of application programs, and wherein, each application program comprises at least one process; The incident of each process in a plurality of processes is translated to the data capsule, wherein, the data capsule comprise the state of a process information of initiating the data capsule and incident event data with the irrelevant expression of application program; The data capsule is sent to a plurality of ponds; Each process is as the identification process operation, the identification process in a plurality of ponds, discern comprise with the interactive function of identification process and the corresponding content of the sign of discerning process at least one data capsule; And the identification process retrieves the recognition data capsule from a plurality of ponds, and carries out the processing suitable to the content of recognition data capsule.
The method of embodiment comprises: use data capsule and a plurality of pond to form interactive application by the operation of coordinating each process in a plurality of processes from a plurality of processes.
The method of embodiment comprises: at least one in use data capsule and a plurality of pond coordinated the operation of a plurality of processes.
The method of embodiment comprises: application program is divided into the set of process, and wherein, a plurality of processes comprise the set of process.
The method of embodiment comprises that process generates output by a plurality of data retrieved capsules of alternatively handling at least one pond in a plurality of ponds.
The method of embodiment comprises: a plurality of processes of executed in parallel.
The method of embodiment comprises: first set of executed in parallel process, and second set of order executive process, wherein, a plurality of processes comprise first set of process and second set of process.
The representations of events process input of embodiment.
The representations of events process output of embodiment.
The incident of embodiment comprises user interface event.
The incident of embodiment comprises graphical event.
The representations of events process status of embodiment.
The state of a process of embodiment is represented the interactive function of process, wherein, the interactive function of process as the content exposure of data capsule in a plurality of processes.
The method of embodiment comprises: define the application programming interface API of a plurality of processes by the content of data capsule, rather than define this API by funcall.
The content of the data capsule of embodiment be with application program irrelevant and can be by a plurality of processes identifications.
At least one treatment facility of embodiment comprises a plurality of treatment facilities.
First of at least one process in a plurality of processes of embodiment is integrated into first set operation down of at least one treatment facility in a plurality of treatment facilities, and second of at least one process in a plurality of processes is integrated into second set operation down of at least one treatment facility in a plurality of treatment facilities.
A plurality of processes of embodiment comprise first process.
Translating of embodiment comprises: at least one data sequence that the incident of first process is transformed to the status information of the first process event data that comprise allocate event and incident.
The first process event data of embodiment and status information are the specific data of type with type corresponding with the application program of first process.
Translating of embodiment comprises: the data capsule shape is become comprise that at least one data sequence, data capsule have that comprise at least one data sequence and the data structure irrelevant expression of application program.
A plurality of processes of embodiment comprise second process.
Translating of embodiment comprises: at least one data sequence that the second state of a process change incident is transformed to the status information of the second process event data that comprise allocate event and incident.
The second process event data of embodiment and status information are the specific data of type with type corresponding with the application program of second process.
Translating of embodiment comprises: the data capsule shape is become comprise that at least one data sequence, data capsule have that comprise at least one data sequence and the data structure irrelevant expression of application program.
The identification process of embodiment is second process, and retrieval comprises: retrieval recognition data capsule from a plurality of ponds, and execution is to second process of the suitable processing of the content of recognition data capsule.
The content of the recognition data capsule of embodiment is the data of the expression first state of a process information.
Translating of embodiment comprises: the content of recognition data capsule is transformed at least one new data sequence, and at least one new data sequence is represented at least one in the incident of the incident of first process and second process.
The data sequence that at least one of embodiment is new comprises at least one the state of a process information in first process and second process and the event data of allocate event.
First process of embodiment and the event data of at least one process in second process and status information are the specific data of type with type corresponding with the application program of at least one process in first process and second process.
Translating of embodiment comprises: the data capsule shape is become the data sequence that comprises that at least one is new, and the data capsule has that comprise data sequence that at least one is new and the data structure irrelevant expression of application program.
A plurality of processes of embodiment are used at least one new data sequence.
A plurality of processes of embodiment comprise input process, and input process receives incoming event from input equipment.
Translating of embodiment comprises: at least one data sequence that the incoming event of input equipment is transformed to the status information of the input equipment event data that comprises allocate event and incident.
The input equipment event data of embodiment and status information are the specific data of type with type corresponding with the application program of source device.
Translating of embodiment comprises: the data capsule shape is become comprise that at least one data sequence, data capsule have that comprise at least one data sequence and the data structure irrelevant expression of application program.
A plurality of processes of embodiment comprise the pointer process.
The identification process of embodiment is the pointer process, and retrieval comprises: retrieval recognition data capsule from a plurality of ponds, and execution is to the pointer process of the suitable processing of the content of recognition data capsule.
The content of the recognition data capsule of embodiment is the data of expression from the incoming event of input process.
The content of the recognition data capsule of embodiment is the data of position of user's positive order pointer object of at least one treatment facility of expression on the display.
Translating of embodiment comprises: the content of recognition data capsule is transformed at least one new data sequence, and at least one new data sequence pointer object is about the position of display definition.
The data sequence that at least one of embodiment is new comprises the pointer process event data of allocate event and the status information of pointer process event.
The pointer process event data of embodiment and status information are the specific data of type with type corresponding with the application program of pointer process.
Translating of embodiment comprises: the data capsule shape is become the data sequence that comprises that at least one is new, and the data capsule has that comprise data sequence that at least one is new and the data structure irrelevant expression of application program.
A plurality of processes of embodiment use at least one new data sequence to play up the pointer object on display.
A plurality of processes of embodiment comprise the figure process.
Translating of embodiment comprises: at least one data sequence that figure state of a process change incident is transformed to the status information of the figure process event data that comprise allocate event and incident.
The figure process event data of embodiment and status information are the type particular datas with type corresponding with the application program of figure process.
Translating of embodiment comprises: the data capsule shape is become comprise that at least one data sequence, data capsule have that comprise at least one data sequence and the data structure irrelevant expression of application program.
The identification process of embodiment is the figure process, and retrieval comprises: retrieval recognition data capsule from a plurality of ponds, and execution is to the figure process of the suitable processing of the content of recognition data capsule.
The content of the recognition data capsule of embodiment is the data of another state of a process information in a plurality of processes of expression.
The status information of embodiment comprises at least one the information in spatiality and the mode state.
The content of the recognition data capsule of embodiment is the data of position of user's positive order pointer object of at least one treatment facility of expression on the display.
The position of the pointer object of embodiment is in the border of Drawing Object, and wherein, Drawing Object is played up by the figure process.
Translating of embodiment comprises: the content of recognition data capsule is transformed at least one new data sequence, at least one in the overlapping part on data sequence presentation graphic object, pointer object, pointer object and border that at least one is new.
The data sequence that at least one of embodiment is new comprises the status information of the figure process event datagraphic process event of allocate event.
The figure process event data of embodiment and status information are the specific data of type with type corresponding with the application program of figure process.
Translating of embodiment comprises: the data capsule shape is become the data sequence that comprises that at least one is new, and the data capsule has that comprise data sequence that at least one is new and the data structure irrelevant expression of application program.
A plurality of processes of embodiment are used at least one new data sequence at least one in render graphics object and the pointer object on display.
The suitable processing of the content to the recognition data capsule of embodiment comprises: the render graphics object, wherein, Drawing Object is played up on the display of at least one treatment facility.
Playing up of embodiment comprises: directly play up, wherein a plurality of processes are drawn directly into the graph layer of at least one treatment facility, and wherein, a plurality of ponds are used for for playing up the suitably coordination between a plurality of processes.
Playing up of embodiment comprises: will comprise that the data capsule of rendering command is sent to a plurality of processes in a plurality of ponds.Playing up of embodiment comprises: from a plurality of pond retrieval rendering command, explain rendering command, and drive a plurality of processes of the graph layer of at least one treatment facility in response to rendering command.
Playing up of embodiment comprises a plurality of processes that are rendered into pixel buffer.Playing up of embodiment comprises a plurality of processes that original frame data are sent to a plurality of ponds, and original frame data is by producing to playing up of pixel buffer.The playing up of embodiment comprises from a plurality of ponds retrieves original frame data, and the combination original frame data, with a plurality of processes of using in the graph layer that drives at least one treatment facility.
The method of embodiment comprises: the incident that detects a plurality of processes.The method of embodiment comprises: at least one data sequence that generates the status information of the event data comprise allocate event and incident, wherein, event data and status information are the specific data of type with type corresponding with the application program of at least one treatment facility.The method of embodiment comprises: the data capsule shape is become comprise that at least one data sequence, data capsule have that comprise at least one data sequence and the data structure irrelevant expression of application program.
At least one data sequence of the generation of embodiment comprises: generate and to comprise first first data set separately of event data separately.At least one data sequence of the generation of embodiment comprises: generate and to comprise second second data set separately of status information separately.At least one data sequence of the generation of embodiment comprises: first data sequence is formed comprise first data set and second data set separately separately.
The generation first of embodiment data set separately comprises: with first separately data set form the identification data that comprises at least one treatment facility, identification data comprises the data that identify at least one treatment facility.
At least one data sequence of the generation of embodiment comprises: generate and to comprise first first data set separately of event data separately.Comprising of at least one data sequence of generation of embodiment: generate and to comprise second second data set separately of status information separately.At least one data sequence of the generation of embodiment comprises: second data sequence is formed comprise first data set and second data set separately separately.
The generation first of embodiment data set separately comprises: generate the first data set skew separately, wherein, first separately the data set skew point to first data set separately of second data sequence.
The generation second of embodiment data set separately comprises: generate the second data set skew separately, wherein, second separately the data set skew point to second data set separately of second data sequence.
Embodiment first separately data set be to describe chained list, the description that chained list comprises data is described.
The event data of embodiment is the byte sequence of the labelization of the typed data of expression.
The event data of embodiment comprises type header and the specific data layout of type.
The status information of embodiment is the byte sequence of the labelization of the typed data of expression.
The status information of embodiment comprises type header and the specific data layout of type.
The method of embodiment comprises: generate at least one skew.The method of embodiment comprises: the data capsule shape is become comprise at least one skew.
The method of embodiment comprises: generate first skew with first variable-length, wherein, the event data of first data sequence at least one the data sequence is pointed in first skew.
The method of embodiment comprises: generate second skew with second variable-length, wherein, the status information of first data sequence at least one the data sequence is pointed in second skew.
The method of embodiment comprises: use first skew at least one skew to form the first code path by the data capsule.The method of embodiment comprises: use second skew at least one skew to form the second code path by the data capsule, wherein, the first code path is different paths with the second code path.
First skew of embodiment and at least one in second skew comprise metadata, and metadata comprises the context certain metadata corresponding with the context of application program.
The method of embodiment comprises: the head that generates the length that comprises the data capsule.The method of embodiment comprises: the data capsule shape is become comprise head.
The method of embodiment comprises: the data capsule is sent to pond in a plurality of ponds.
The method of embodiment comprises: second incident that detects at least one treatment facility.The method of embodiment comprises: the search data capsule corresponding with second incident in a plurality of ponds.
The method of embodiment comprises: the correspondence between the recognition data capsule and second incident.
The method of embodiment comprises: extract the data capsule in response to identification from the pond.The method of embodiment comprises: in response to the content of data capsule, represent at least one treatment facility to carry out the processing operation corresponding with second incident, wherein, second application program of the application program of at least one treatment facility and the first kind and second type is corresponding.
A plurality of application programs are coupled in a plurality of ponds of embodiment, a plurality of ponds comprise a plurality of data capsules corresponding with a plurality of application programs, a plurality of ponds provide by the visit of a plurality of application programs to a plurality of data capsules, and wherein, at least two application programs in a plurality of application programs are different application programs.
A plurality of ponds of embodiment provide the state cache of a plurality of data capsules.
A plurality of ponds of embodiment provide the linear ordering of a plurality of data capsules.
The data structure right and wrong of embodiment are typed.
The data structure of the data capsule of embodiment provides event data and status information and expression platform independence.
The data structure of the data capsule of embodiment provides event data and status information and visit platform independence.
Transmission comprises: the data capsule is sent at least one second application program with at least one second Application Type from first application program with first Application Type, wherein, first Application Type is different with second Application Type, wherein, generate at least one data sequence and carried out by first application program, described method comprises: intact at least one data sequence that transmits the retaining data during capsule.
The method of embodiment comprises: use at least one data sequence in the operating period of second application program.
The method of embodiment comprises: generate the event data of the source device that comprises at least one treatment facility and first data set of identification data, the device events data comprise the data of the incident of assigned source device registration, and identification data comprises the data of identification sources equipment.
The method of embodiment comprises: generate second data set of set fully of the status information that comprises incident, wherein, each of first data set and second data centralization comprises the typed data bundle in the specific data layout of type.
Translating of embodiment comprises: comprise that by the data capsule shape is become first data set and second data set encapsulate first data set and second data set, wherein, the data capsule has that comprise at least one data sequence and the data structure irrelevant expression of application program.
The method of embodiment comprises: the incident that detects first treatment facility that moves under the application program of the first kind; Generation comprises the data sequence of the event data of first treatment facility, the status information of event data allocate event and incident, and wherein, event data and status information are the specific data of type with type corresponding with application program; The data capsule shape become comprise data sequence, the data capsule has that comprise data sequence and the data structure irrelevant expression of application program; Detection is in second incident with second treatment facility that moves under at least one second application program of at least one second type, wherein, second type is different with the first kind, and wherein, at least one treatment facility comprises first treatment facility and second treatment facility; Correspondence between the recognition data capsule and second incident; And use the content of the data sequence of data capsule, in response to the second incident executable operations.
The generation data sequence of embodiment comprises: generate first data set that comprises event data.The generation data sequence of embodiment comprises: generate second data set that comprises status information.The generation data sequence of embodiment comprises: first data sequence is formed comprise first data set and second data set.
The event data of embodiment is the byte sequence of the labelization of the typed data of expression.
The event data of embodiment comprises type header and the specific data layout of type.
The status information of embodiment is the byte sequence of the labelization of the typed data of expression.
The status information of embodiment comprises type header and the specific data layout of type.
The method of embodiment comprises: generate at least one skew.The method of embodiment comprises: the data capsule shape is become comprise at least one skew.
The method of embodiment comprises: generate first skew with first variable-length, wherein, the event data of first data sequence at least one the data sequence is pointed in first skew.The method of embodiment comprises: generate second skew with second variable-length, wherein, the status information of first data sequence at least one the data sequence is pointed in second skew.
The method of embodiment comprises: use first skew at least one skew to form the first code path by the data capsule.The method of embodiment comprises: use second skew at least one skew to form the second code path by the data capsule, wherein, the first code path is different paths with the second code path.
First skew of embodiment and at least one in second skew comprise metadata, and metadata comprises the context certain metadata corresponding with the context of application program.
The method of embodiment comprises: the data capsule is sent to pond in a plurality of ponds.
The method of embodiment comprises: the search data capsule corresponding with second incident in a plurality of ponds.The method of embodiment comprises: the data capsule is extracted in the identification in response to correspondence from the pond.
Application program and at least one second application program are coupled in a plurality of ponds of embodiment, a plurality of ponds comprise and this application program and the corresponding a plurality of data capsules of at least one second application program that a plurality of ponds provide by this application program and the visit of at least one second application program to a plurality of data capsules.
A plurality of ponds of embodiment provide the state cache of a plurality of data capsules.
A plurality of ponds of embodiment provide the linear ordering of a plurality of data capsules.
The data structure right and wrong of embodiment are typed.
The data structure of the data capsule of embodiment provides event data and status information and expression platform independence.
The data structure of the data capsule of embodiment provides event data and status information and visit platform independence.
Embodiment described here comprises a kind of method, comprising: application program is divided into a plurality of processes; Use process in a plurality of processes to generate the part of the output of application program; The part of encapsulation output in the first data capsule, and the first data capsule is sent at least one pond in a plurality of ponds, wherein, a plurality of ponds comprise a plurality of data capsules that receive from a plurality of processes; Visit a plurality of ponds, and retrieve second process in a plurality of processes in input, wherein, input is in the second data capsule of a plurality of data capsules; And use a plurality of data capsules and a plurality of pond Coordination Treatment between a plurality of processes.
Embodiment described here comprises a kind of system, comprising: at least one treatment facility, treatment facility are carried out a plurality of processes, and a plurality of processes comprise the separable program execution context of a plurality of application programs, and wherein, each application program comprises at least one process; And a plurality of ponds, be coupled at least one treatment facility; At least one treatment facility translates to the data capsule with the incident of each process in a plurality of processes, and the data capsule is sent to a plurality of ponds, wherein, the data capsule comprise the state of a process information of initiating the data capsule and incident event data with the irrelevant expression of application program; Each process is as the identification process operation, the identification process in a plurality of ponds, discern comprise with the interactive function of identification process and the corresponding content of the sign of discerning process at least one data capsule; The identification process is retrieved the recognition data capsule from a plurality of ponds, and carries out the processing suitable to the content of recognition data capsule.
Embodiment described here comprises a kind of method, comprising: detect the attitude that health carries out from attitude data, wherein, receive attitude data via detecting device; Carry out a plurality of processes on treatment facility, a plurality of processes generate incident, and incident comprises the set of the incident of representing attitude; The incident of each process in a plurality of processes is translated to the data capsule; The data capsule is sent to a plurality of ponds; The set of the process in a plurality of processes is as the identification process operation, and the identification process is discerned the data capsule that comprises the content corresponding with attitude in a plurality of ponds; And the identification process retrieves the recognition data capsule from a plurality of ponds, and comes to generate attitude signal from the recognition data capsule to form attitude signal by the content of synthetic recognition data capsule, and wherein, attitude signal is represented attitude.
A plurality of processes of embodiment comprise the separable program program execution context that spatial operation is used.
The attitude data of embodiment is absolute three spatial position data of the immediate status at the some place of user in time and space.
The method of embodiment comprises: only use attitude data to discern attitude.
The detection of embodiment comprises: at least one in the motion of the position of detection health, the direction that detects health and detection health.
The method of embodiment comprises: the identification attitude, wherein, identification comprises: the attitude and the direction of the part of identification health.
The detection of embodiment comprises: at least one in first set of the appendage of detection health and second set of appendage.
The detection of embodiment comprises: the position of dynamically detecting at least one label that is coupled to health.
The detection of embodiment comprises: the position of detecting the set of the label that is coupled to health.
Each label in the set of the label of embodiment comprises pattern, and wherein, each pattern of each label in the set of label is different with any pattern of any all the other labels of a plurality of labels.
The detection of embodiment comprises: dynamically detect and the location health on mark.
The detection of embodiment comprises: the position of detecting the set of the mark that is coupled to health.
Being integrated into of the mark of embodiment forms a plurality of patterns on the health.
The detection of embodiment comprises: use each the set of mark in a plurality of appendages be coupled to health to detect the position of a plurality of appendages of health.
Translating of embodiment comprises: with the information translation of attitude is the attitude symbol.
The attitude symbolic representation attitude vocabulary of embodiment, and attitude signal comprises the communication of attitude vocabulary.
The instant attitude state of the kinematics link of health represented in the attitude vocabulary of embodiment with textual form.
The direction of the kinematics link of health represented in the attitude vocabulary of embodiment with textual form.
The combination of the direction that the kinematics of health links represented in the attitude vocabulary of embodiment with textual form.
The attitude vocabulary of embodiment comprises the string of character of the state of the kinematics link of representing health.
The kinematics link of embodiment is at least one first appendage of health.
The method of embodiment comprises: second appendage is distributed in each position in will going here and there, and second appendage is connected to first appendage.
The method of embodiment comprises: the character in a plurality of characters is distributed to each in a plurality of positions of second appendage.
A plurality of positions of embodiment are set up with respect to true origin.
The method of embodiment comprises: regardless of the overall positions of health and towards, and in response to the action of health alternatively, use the position of from the group that is constituted by the absolute position the space and direction, with respect to the fixed position and the direction of health, selecting to set up true origin.
The method of embodiment comprises: the character in a plurality of characters is distributed to each in a plurality of directions of first appendage.
The detection of embodiment comprises: when the position of detecting the extrapolation of health intersects with the Virtual Space, and wherein, the Virtual Space is included in the space of describing on the display device that is coupled at least one treatment facility.
The method of embodiment comprises: when (extrapolated) position of extrapolation intersects with virtual objects, and the virtual objects in the control Virtual Space.
The control of embodiment comprises: in response to the position of extrapolation, control the position of the virtual objects in the Virtual Space in the Virtual Space.
The control of embodiment comprises: in response to attitude, and the situation of the virtual objects in the control Virtual Space.
The method of embodiment comprises: the ratio of control detection and control, and to generate the consistance between Virtual Space and the physical space, wherein, the Virtual Space is included in the space of describing on the display, and wherein, physical space comprises the space that health occupies.
The method of embodiment comprises: at least one virtual objects of controlling in the Virtual Space in response at least one physical object moving in physical space.
The method of embodiment comprises: use the attitude signal Control Component, this assembly is coupled at least one treatment facility.
The control of the assembly of embodiment comprises: come side by side to control three spatial objects by six-freedom degree by attitude being mapped to three spatial objects.
The control of the assembly of embodiment comprises: control three spatial objects by three translation freedoms and three rotary freedoms.
Three spatial objects of embodiment manifest being coupled on the display device of at least one treatment facility.
Three spatial objects of embodiment are to be coupled to the computer remote system.
The method of embodiment comprises: control the motion of three spatial objects by a plurality of object translations that attitude are mapped to three spatial objects.
The mapping of embodiment comprises: the direct mapping between attitude and a plurality of object translation.
The mapping of embodiment comprises: the indirect mapping between attitude and a plurality of object translation.
The data capsule of embodiment comprise the state of a process information of initiating data-message and incident event data with the irrelevant expression of application program.
The method of embodiment comprises: use data capsule and a plurality of pond to form mutual application program by each the operation of coordinating in a plurality of processes from a plurality of processes.
The method of embodiment comprises: at least one in use data capsule and a plurality of pond coordinated the operation of a plurality of processes.
The method of embodiment comprises: application program is divided into the set of process, and wherein, a plurality of processes comprise the set of process.
The method of embodiment comprises the process that generates output by a plurality of data retrieved capsules of alternatively handling at least one pond in a plurality of ponds.
A plurality of processes of embodiment comprise the separable program execution context of a plurality of application programs, and wherein, each application program comprises at least one process.
The method of embodiment comprises: a plurality of processes of executed in parallel.
The method of embodiment comprises: first set of executed in parallel process, and second set of order executive process, wherein, a plurality of processes comprise first set of process and second set of process.
The representations of events process input of embodiment.
The representations of events process output of embodiment.
The incident of embodiment comprises user interface event.
The incident of embodiment comprises graphical event.
The representations of events process status of embodiment.
The process status of embodiment is represented the interactive function of process, wherein, the interactive function of process as the content exposure of data capsule in a plurality of processes.
The method of embodiment comprises: define the application programming interface (API) of a plurality of processes by the content of data capsule, rather than define this API by funcall.
The content of the data capsule of embodiment be with application program irrelevant and can be by a plurality of processes identifications.
At least one treatment facility of embodiment comprises a plurality of treatment facilities.
First of at least one process in a plurality of processes of embodiment is integrated into first set operation down of at least one treatment facility in a plurality of treatment facilities, and second of at least one process in a plurality of processes is integrated into second set operation down of at least one treatment facility in a plurality of treatment facilities.
A plurality of processes of embodiment comprise first process.
Translating of embodiment comprises: at least one data sequence that the incident of first process is transformed to the status information of the first process event data that comprise allocate event and incident.
The first process event data of embodiment and status information are the specific data of type with type corresponding with the application program of first process.
Translating of embodiment comprises: the data capsule shape is become comprise that at least one data sequence, data capsule have that comprise at least one data sequence and the data structure irrelevant expression of application program.
A plurality of processes of embodiment comprise second process.
Translating of embodiment comprises: at least one data sequence that the second state of a process change incident is transformed to the status information of the second process event data that comprise allocate event and incident.
The second process event data of embodiment and status information are the specific data of type with type corresponding with the application program of second process.
Translating of embodiment comprises: the data capsule shape is become comprise that at least one data sequence, data capsule have that comprise at least one data sequence and the data structure irrelevant expression of application program.
The identification process of embodiment is second process, and retrieval comprises: retrieval recognition data capsule from a plurality of ponds, and execution is to second process of the suitable processing of the content of recognition data capsule.
The content of the recognition data capsule of embodiment is the data of the expression first state of a process information.
Translating of embodiment comprises: the content of recognition data capsule is transformed at least one new data sequence, and this at least one new data sequence is represented at least one in the incident of the incident of first process and second process.
The data sequence that at least one of embodiment is new comprises at least one the state of a process information in first process and second process and the event data of allocate event.
First process of embodiment and the event data of at least one process in second process and status information are the specific data of type with type corresponding with the application program of at least one process in first process and second process.
Translating of embodiment comprises: the data capsule shape is become the data sequence that comprises that at least one is new, and the data capsule has that comprise data sequence that at least one is new and the data structure irrelevant expression of application program.
A plurality of processes of embodiment are used at least one new data sequence.
The suitable processing of the content to the recognition data capsule of embodiment comprises: the render graphics object, wherein, render graphics object on the display of at least one treatment facility.
Playing up of embodiment comprises: directly play up, wherein a plurality of processes are drawn directly into the graph layer of at least one treatment facility, and wherein, a plurality of ponds are used for for playing up the suitably coordination between a plurality of processes.
Playing up of embodiment comprises that the data capsule that will comprise rendering command is sent to a plurality of processes in a plurality of ponds.Playing up of embodiment comprises from a plurality of pond retrieval rendering command, explains rendering command, and drives a plurality of processes of the graph layer of at least one treatment facility in response to rendering command.
Playing up of embodiment comprises a plurality of processes that are rendered into pixel buffer.Playing up of embodiment comprises a plurality of processes that original frame data are sent to a plurality of ponds, and original frame data is by producing to playing up of pixel buffer.The playing up of embodiment comprises from a plurality of ponds retrieves original frame data, and a plurality of processes of combination original frame data to use in the graph layer that drives at least one treatment facility.
The method of embodiment comprises: the incident that detects a plurality of processes.The method of embodiment comprises: at least one data sequence that generates the status information of the event data comprise allocate event and incident, wherein, event data and status information are the specific data of type with type corresponding with the application program of at least one treatment facility.The method of embodiment comprises: the data capsule shape is become comprise that at least one data sequence, data capsule have that comprise at least one data sequence and the data structure irrelevant expression of application program.
At least one data sequence of the generation of embodiment comprises: generate and to comprise first first data set separately of event data separately.At least one data sequence of the generation of embodiment comprises: generate and to comprise second second data set separately of status information separately.At least one data sequence of the generation of embodiment comprises: first data sequence is formed comprise first data set and second data set separately separately.
The generation first of embodiment data set separately comprises: with first separately data set form the identification data that comprises at least one treatment facility, identification data comprises the data that identify at least one treatment facility.
At least one data sequence of the generation of embodiment comprises: generate and to comprise first first data set separately of event data separately.At least one data sequence of the generation of embodiment comprises: generate and to comprise second second data set separately of status information separately.At least one data sequence of the generation of embodiment comprises: second data sequence is formed comprise first data set and second data set separately separately.
The generation first of embodiment data set separately comprises: generate the first data set skew separately, wherein, first separately the data set skew point to first data set separately of second data sequence.
The generation second of embodiment data set separately comprises: generate the second data set skew separately, wherein, second separately the data set skew point to second data set separately of second data sequence.
Embodiment first separately data set be to describe chained list, the description that chained list comprises data is described.
The event data of embodiment is the byte sequence of the labelization of the typed data of expression.
The event data of embodiment comprises type header and the specific data layout of type.
The status information of embodiment is the byte sequence of the labelization of the typed data of expression.
The status information of embodiment comprises type header and the specific data layout of type.
The method of embodiment comprises: generate at least one skew.The method of embodiment comprises: the data capsule shape is become comprise at least one skew.
The method of embodiment comprises: generate first skew with first variable-length, wherein, the event data of first data sequence at least one the data sequence is pointed in first skew.
The method of embodiment comprises: generate second skew with second variable-length, wherein, the status information of first data sequence at least one the data sequence is pointed in second skew.
The method of embodiment comprises: use first skew at least one skew to form the first code path by the data capsule.The method of embodiment comprises: use second skew at least one skew to form the second code path by the data capsule, wherein, the first code path is different paths with the second code path.
First skew of embodiment and at least one in second skew comprise metadata, and metadata comprises the context certain metadata corresponding with the context of application program.
The method of embodiment comprises: the head that generates the length that comprises the data capsule.The method of embodiment comprises: the data capsule shape is become comprise head.
The method of embodiment comprises: the data capsule is sent to pond in a plurality of ponds.
The method of embodiment comprises: second incident that detects at least one treatment facility.The method of embodiment comprises: the search data capsule corresponding with second incident in a plurality of ponds.
The method of embodiment comprises: the correspondence between the recognition data capsule and second incident.The method of embodiment comprises: extract the data capsule in response to identification from the pond.The method of embodiment comprises: in response to the content of data capsule, represent at least one treatment facility to carry out the processing operation corresponding with second incident, wherein, second application program of the application program of at least one treatment facility and the first kind and second type is corresponding.
A plurality of application programs are coupled in a plurality of ponds of embodiment, a plurality of ponds comprise a plurality of data capsules corresponding with a plurality of application programs, a plurality of ponds provide by the visit of a plurality of application programs to a plurality of data capsules, and wherein, at least two application programs in a plurality of application programs are different application programs.
A plurality of ponds of embodiment provide the state cache of a plurality of data capsules.
A plurality of ponds of embodiment provide the linear ordering of a plurality of data capsules.
The data structure right and wrong of embodiment are typed.
The data structure of the data capsule of embodiment provides event data and status information and expression platform independence.
The data structure of the data capsule of embodiment provides event data and status information and visit platform independence.
The transmission of embodiment comprises: the data capsule is sent at least one second application program with at least one second Application Type from first application program with first Application Type, wherein, first Application Type is different with second Application Type, wherein, generate at least one data sequence and carried out by first application program, described method comprises: intact at least one data sequence that transmits the retaining data during capsule.
The method of embodiment comprises: use at least one data sequence in the operating period of second application program.
The method of embodiment comprises: generate the event data of the source device that comprises at least one treatment facility and first data set of identification data, the device events data comprise the data of the incident of assigned source device registration, and identification data comprises the data of identification sources equipment.
The method of embodiment comprises: generate second data set of set fully of the status information that comprises incident, wherein, each of first data set and second data centralization comprises the typed data bundle in the specific data layout of type.
Translating of embodiment comprises: comprise that by the data capsule shape is become first data set and second data set encapsulate first data set and second data set, wherein, the data capsule has that comprise at least one data sequence and the data structure irrelevant expression of application program.
The method of embodiment comprises: the incident that detects first treatment facility that moves under the application program of the first kind.The method of embodiment comprises: generate the data sequence of the event data that comprises first treatment facility, and the status information of event data allocate event and incident, wherein, event data and status information are the specific data of type with type corresponding with application program.The method of embodiment comprises: the data capsule shape is become comprise data sequence, the data capsule has that comprise data sequence and the data structure irrelevant expression of application program.The method of embodiment comprises: detect in second incident with second treatment facility that moves under at least one second application program of at least one second type, wherein, second type is different with the first kind, and wherein, at least one treatment facility comprises first treatment facility and second treatment facility.The method of embodiment comprises: the correspondence between the recognition data capsule and second incident.The method of embodiment comprises: use the content of the data sequence of data capsule, in response to the second incident executable operations.
The generation data sequence of embodiment comprises: generate first data set that comprises event data.The generation data sequence of embodiment comprises: generate second data set that comprises status information.The generation data sequence of embodiment comprises: first data sequence is formed comprise first data set and second data set.
The event data of embodiment is the byte sequence of the labelization of the typed data of expression.
The event data of embodiment comprises type header and the specific data layout of type.
The status information of embodiment is the byte sequence of the labelization of the typed data of expression.
The status information of embodiment comprises type header and the specific data layout of type.
The method of embodiment comprises: generate at least one skew.The method of embodiment comprises: the data capsule shape is become comprise at least one skew.
The method of embodiment comprises: generate first skew with first variable-length, wherein, the event data of first data sequence at least one the data sequence is pointed in first skew.The method of embodiment comprises: generate second skew with second variable-length, wherein, the status information of first data sequence at least one the data sequence is pointed in second skew.
The method of embodiment comprises: use first skew at least one skew to form the first code path by the data capsule.The method of embodiment comprises: use second skew at least one skew to form the second code path by the data capsule, wherein, the first code path is different paths with the second code path.
First skew of embodiment and at least one in second skew comprise metadata, and metadata comprises the context certain metadata corresponding with the context of application program.
The method of embodiment comprises: the data capsule is sent to pond in a plurality of ponds.
The method of embodiment comprises: the search data capsule corresponding with second incident in a plurality of ponds.The method of embodiment comprises: the data capsule is extracted in the identification in response to correspondence from the pond.
Application program and at least one second application program are coupled in a plurality of ponds of embodiment, a plurality of ponds comprise and application program and the corresponding a plurality of data capsules of at least one second application program that a plurality of ponds provide by application program and the visit of at least one second application program to a plurality of data capsules.
A plurality of ponds of embodiment provide the state cache of a plurality of data capsules.
A plurality of ponds of embodiment provide the linear ordering of a plurality of data capsules.
The data structure right and wrong of embodiment are typed.
The data structure of the data capsule of embodiment provides event data and status information and expression platform independence.
The data structure of the data capsule of embodiment provides the right visit to event data and status information.
Embodiment described here comprises a kind of method, comprising: carry out a plurality of processes on treatment facility, a plurality of processes comprise the separable program execution context of a plurality of application programs, and wherein, each application program comprises at least one process; The incident of each process of a plurality of processes is translated to data-message, wherein, data-message comprise the state of a process information of initiating data-message and incident event data with the irrelevant expression of application program; Data-message is sent at least one pond in a plurality of ponds; Coordinate between process, coordinate to comprise: by the status information of retrieval peer process from a plurality of ponds, each process of a plurality of processes and the peer process in a plurality of process are coordinated; And the set of the data-message by alternatively making up at least one pond in a plurality of ponds generates the output of a plurality of processes.
Embodiment described here comprises a kind of system, comprising: detecting device is used to receive the attitude data of the attitude that the expression health carries out; And processor, be coupled to detecting device, processor detects attitude automatically from attitude data, processor is carried out a plurality of processes, a plurality of processes generate the incident of the set that comprises the incident of representing attitude, processor translates to the data capsule with the incident of each process in a plurality of processes, processor is sent to a plurality of ponds with the data capsule, wherein, the set running of the process in a plurality of processes is the identification process, the identification process is discerned the data capsule that comprises the content corresponding with attitude in a plurality of ponds, the identification process is retrieved the recognition data capsule from a plurality of ponds, and the content by synthetic recognition data capsule comes to generate attitude signal from the recognition data capsule to form attitude signal, and wherein, attitude signal is represented attitude.
System and method described here comprises and/or operates under the disposal system and/or with disposal system and is associated.As known in the art, disposal system comprises any set based on the assembly of the equipment of processor or computing equipment or disposal system or equipment that operates in together.For example, disposal system can comprise portable computer, the portable communication device of in communication network, operating and or the webserver in one or more.Portable computer can be any a plurality of equipment selected among personal computer, cell phone, personal digital assistant, portable computing device and portable communication device and/or the combination of equipment, but is not limited thereto.Disposal system can comprise than the intrasystem assembly of computation machine.
The disposal system of embodiment comprises at least one processor and at least one memory devices or subsystem.Disposal system can also comprise or be coupled at least one database.Refer to any Logical processing unit at this normally used term " processor ", for example one or more CPU (central processing unit) (CPU), digital signal processor (DSP), special IC (ASIC) etc.Processor and storer can integrally be integrated into single chip, are distributed among a plurality of chips or assembly of host computer system, and/or are provided by some combinations of algorithm.Method described here can realize with any combination by one or more in one or more software algorithms, program, firmware, hardware, assembly, the circuit.
The position that the system component of realizing system and method described here can be positioned at together or separate.Therefore, the system component of realizing system and method described here can be individual system, a plurality of system and/or the geographical assembly of going up the system that separates.These assemblies also can be individual system, a plurality of system and/or geographical sub-component or the subsystem of going up the system that separates.These assemblies can be coupled to host computer system or be coupled to one or more other assemblies of the system of host computer system.
Communication path coupled system assembly, and comprise any medium that is used among assembly communication or transmits file.Communication path comprises wireless connections, wired connection and hybrid wireless/wired connection.Communication path also is included in the coupling or the connection of network, and network comprises Local Area Network, Metropolitan Area Network (MAN) (MAN), wide area network (WAN), private network, interoffice or back-end network and the Internet.In addition, communication path comprises detachable mounting medium, for example floppy disk, hard disk drive and CD-ROM dish) and flash RAM, USB (universal serial bus) (USB) connection, RS-232 connection, telephone line, bus, and email message.
Unless context is in addition requirement clearly, runs through instructions, word " comprises ", " comprising " etc. be interpreted as and eliminating or the exclusive adversative meaning that comprises, that is to say the meaning of " including, but are not limited to ".Use the word of odd number or plural number also to comprise plural number or odd number respectively.In addition, word " at this ", " hereinafter ", " more than ", the word of " following " and the similar meaning refers to the application's integral body, rather than any specific part of the application.When use with reference to two or more tabulation word " or " time, this word covers following all explanations: the combination in any of the item in all among in the tabulation any, tabulation and the tabulation.
The above description of embodiment is not to be intended to exhaustive or the system and method for describing is restricted to disclosed precise forms.Though described specific embodiment and example for the purpose of example at this, it will be understood by those skilled in the art that in the scope of other system and method, various equivalent modifications are possible.Not only be used for said system and method in this teaching that provides, and can be applied to other disposal system and method.
Can make up element and the action of each embodiment described above, so that other embodiment to be provided.According to above detailed description, can carry out these and other change to embodiment.
Usually, in claims, the term of use should not be construed as embodiment is restricted to disclosed specific embodiment in instructions and the claim, and is understood to include all systems of the operation under claim.Therefore, embodiment is not limited to this disclose, but the scope of embodiment is intactly determined by claim.
Though presented the particular aspects of embodiment with specific rights requirement form, the inventor expects the various aspects of embodiment of the form that adopts any amount of claim.Therefore, the inventor is retained in the right of adding accessory claim after the submit applications, to follow these accessory claim forms of the others that are used for embodiment.

Claims (331)

1. method comprises:
On at least one treatment facility, carry out a plurality of processes;
The incident of each process in described a plurality of processes is translated to the data capsule;
Described data capsule is sent to a plurality of ponds;
Each process is as the identification process operation, and described identification process is discerned at least one the data capsule that comprises in the content corresponding with the sign of the interactive function of described identification process and described identification process in described a plurality of ponds; And
Described identification process is retrieved the recognition data capsule from described a plurality of ponds, and carries out the processing suitable to the content of described recognition data capsule.
The method of claim 1, wherein the data capsule comprise the state of a process information of initiating data-message and incident event data with the irrelevant expression of application program.
3. the method for claim 1 uses described data capsule and described a plurality of pond to form interactive application by the operation of coordinating each process in described a plurality of processes from described a plurality of processes.
4. the method for claim 1 comprises: use in described data capsule and the described a plurality of pond at least one to coordinate the operation of described a plurality of processes.
5. the method for claim 1 comprises: application program is divided into the set of process, and wherein, described a plurality of processes comprise the set of described process.
6. the method for claim 1 comprises the process that generates output by a plurality of data retrieved capsules of alternatively handling at least one pond in described a plurality of pond.
7. the method for claim 1, wherein described a plurality of processes comprise the separable program execution context of a plurality of application programs, and wherein, each application program comprises at least one process.
8. the method for claim 1 comprises the described a plurality of processes of executed in parallel.
9. the method for claim 1 comprises: first set of executed in parallel process, and second set of order executive process, wherein, described a plurality of processes comprise that second of first set of described process and described process gather.
10. the method for claim 1, wherein described representations of events process input.
11. the method for claim 1, wherein described representations of events process output.
12. the method for claim 1, wherein described incident comprises user interface event.
13. the method for claim 1, wherein described incident comprises graphical event.
14. the method for claim 1, wherein described representations of events process status.
15. method as claimed in claim 14, wherein, described process status is represented the described interactive function of described process, wherein, the described interactive function of described process as the content exposure of described data capsule in described a plurality of processes.
16. method as claimed in claim 15 comprises: define the application programming interface API of described a plurality of processes by the content of described data capsule, rather than define described API by funcall.
17. method as claimed in claim 16, wherein, the content of described data capsule and application program have nothing to do and can be by described a plurality of processes identifications.
18. the method for claim 1, wherein described at least one treatment facility comprises a plurality of treatment facilities.
19. method as claimed in claim 18, wherein, first of at least one process in described a plurality of process is integrated into first set operation down of at least one treatment facility in described a plurality of treatment facility, and second of at least one process in described a plurality of processes is integrated into second set operation down of at least one treatment facility in described a plurality of treatment facility.
20. method as claimed in claim 19, wherein, described a plurality of processes comprise first process.
21. method as claimed in claim 20, wherein, described translating comprises: at least one data sequence that the incident of described first process is transformed to the status information that comprises the first process event data of specifying described incident and described incident.
22. method as claimed in claim 21, wherein, described first process event data and status information are the specific data of type with type corresponding with the application program of described first process.
23. method as claimed in claim 22, wherein, described translating comprises: described data capsule shape is become comprise that described at least one data sequence, described data capsule have that comprise described at least one data sequence and the data structure irrelevant expression of application program.
24. method as claimed in claim 20, wherein, described a plurality of processes comprise second process.
25. method as claimed in claim 24, wherein, described translating comprises: at least one data sequence that the described second state of a process change incident is transformed to the status information that comprises the second process event data of specifying described incident and described incident.
26. method as claimed in claim 25, wherein, described second process event data and status information are the specific data of type with type corresponding with the application program of described second process.
27. method as claimed in claim 26, wherein, described translating comprises: described data capsule shape is become comprise that described at least one data sequence, described data capsule have that comprise described at least one data sequence and the data structure irrelevant expression of application program.
28. method as claimed in claim 24, wherein, described identification process is described second process, and described retrieval comprises: retrieval recognition data capsule from described a plurality of ponds, and execution is to second process of the suitable processing of the content of described recognition data capsule.
29. method as claimed in claim 28, wherein, the content of described recognition data capsule is the data of the described first state of a process information of expression.
30. method as claimed in claim 29, wherein, described translating comprises: the content of described recognition data capsule is transformed at least one new data sequence, and described at least one new data sequence is represented at least one in the incident of the incident of described first process and described second process.
31. method as claimed in claim 30, wherein, described at least one new data sequence comprises at least one the state of a process information in described first process and described second process and specifies the event data of described incident.
32. method as claimed in claim 31, wherein, the described event data of at least one process in described first process and described second process and status information are the specific data of type with type corresponding with the application program of at least one process in described first process and described second process.
33. method as claimed in claim 32, wherein, described translating comprises: described data capsule shape is become comprise that described at least one new data sequence, described data capsule have that comprise described at least one new data sequence and the data structure irrelevant expression of application program.
34. method as claimed in claim 33, wherein, described a plurality of processes are used described at least one new data sequence.
35. the method for claim 1, wherein described suitable processing comprises the render graphics object to the content of described recognition data capsule, wherein, plays up described Drawing Object on the display of described at least one treatment facility.
36. method as claimed in claim 35, wherein, described playing up comprises directly and playing up that wherein said a plurality of processes are drawn directly into the graph layer of described at least one treatment facility, wherein, described a plurality of pond is used for playing up the suitably coordination between described a plurality of processes for described.
37. method as claimed in claim 35, wherein, described playing up comprises following a plurality of process:
The data capsule that will comprise rendering command is sent to described a plurality of pond; And
Retrieve described rendering command from described a plurality of ponds, explain described rendering command, and drive the graph layer of described at least one treatment facility in response to described rendering command.
38. method as claimed in claim 35, wherein, described playing up comprises following a plurality of process:
Be rendered into pixel buffer;
Original frame data is sent to described a plurality of pond, and described original frame data is by to described the playing up of described pixel buffer and produce; And
The described original frame data of retrieval from described a plurality of ponds, and make up described original frame data, in the graph layer that drives described at least one treatment facility, to use.
39. the method for claim 1 comprises:
Detect the incident of described a plurality of processes;
Generation comprises at least one data sequence of the status information of the event data of specifying described incident and described incident, wherein, described event data and status information are the specific data of type with type corresponding with the application program of described at least one treatment facility; And
The data capsule shape become comprise that described at least one data sequence, described data capsule have that comprise described at least one data sequence and the data structure irrelevant expression of application program.
40. method as claimed in claim 39 wherein, generates described at least one data sequence and comprises:
Generation comprises first first data set separately of event data separately;
Generation comprises second second data set separately of status information separately; And
First data sequence formed comprise described first data set and described second data set separately separately.
41. method as claimed in claim 40, wherein, generate described first separately data set comprise: with described first separately data set form the identification data that comprises described at least one treatment facility, described identification data comprises the data that identify described at least one treatment facility.
42. the described method of claim 40 wherein, generates described at least one data sequence and comprises:
Generation comprises first first data set separately of event data separately;
Generation comprises second second data set separately of status information separately; And
Second data sequence formed comprise described first data set and described second data set separately separately.
43. method as claimed in claim 42, wherein, generate described first separately data set comprise: generate the first data set skew separately, wherein, described first separately the data set skew point to described first data set separately of described second data sequence.
44. method as claimed in claim 42, wherein, generate described second separately data set comprise: generate the second data set skew separately, wherein, described second separately the data set skew point to described second data set separately of described second data sequence.
45. method as claimed in claim 40, wherein, described first separately data set be to describe chained list, described description chained list comprises the description of described data.
46. method as claimed in claim 39, wherein, described event data is the byte sequence of the labelization of the typed data of expression.
47. method as claimed in claim 46, wherein, described event data comprises type header and the specific data layout of type.
48. method as claimed in claim 39, wherein, described status information is the byte sequence of the labelization of the typed data of expression.
49. method as claimed in claim 48, wherein, described status information comprises type header and the specific data layout of type.
50. method as claimed in claim 39 comprises:
Generate at least one skew; And
Described data capsule shape become comprise described at least one skew.
51. method as claimed in claim 50 comprises:
Generation has first skew of first variable-length;
Wherein, the event data of first data sequence in described at least one data sequence is pointed in described first skew.
52. method as claimed in claim 50 comprises:
Generation has second skew of second variable-length;
Wherein, the status information of first data sequence in described at least one data sequence is pointed in described second skew.
53. method as claimed in claim 50 comprises:
Use first skew in described at least one skew to form the first code path by described data capsule;
Use second skew in described at least one skew to form the second code path by described data capsule;
Wherein, described first code path is different paths with described second code path.
54. method as claimed in claim 50, wherein, described first skew and described second skew
In at least one comprise metadata, described metadata comprises corresponding with the context of described application program
The context certain metadata.
55. method as claimed in claim 39 comprises:
Generation comprises the head of the length of described data capsule;
Described data capsule shape become comprise described head.
56. method as claimed in claim 39 comprises: described data capsule is sent to pond in described a plurality of pond.
57. method as claimed in claim 56 comprises:
Detect second incident of described at least one treatment facility;
The search data capsule corresponding in described a plurality of ponds with described second incident.
58. method as claimed in claim 57 comprises:
Discern the correspondence between described data capsule and described second incident;
From described pond, extract described data capsule in response to described identification; And
In response to the content of described data capsule, represent described at least one treatment facility to carry out the processing corresponding and operate with described second incident, wherein, the application program of described at least one treatment facility and the first kind and second application program of second type are corresponding.
59. method as claimed in claim 56, wherein, a plurality of application programs are coupled in described a plurality of pond, described a plurality of pond comprises a plurality of data capsules corresponding with described a plurality of application programs, described a plurality of pond provides by the visit of described a plurality of application programs to described a plurality of data capsules, wherein, at least two application programs in described a plurality of application program are different application programs.
60. method as claimed in claim 56, wherein, described a plurality of ponds provide the state cache of a plurality of data capsules.
61. method as claimed in claim 56, wherein, described a plurality of ponds provide the linear ordering of a plurality of data capsules.
62. method as claimed in claim 39, wherein, described data structure right and wrong are typed.
63. method as claimed in claim 39, wherein, the data structure of described data capsule provides described event data and described status information and expression platform independence.
64. method as claimed in claim 39, wherein, the data structure of described data capsule provides described event data and described status information and visit platform independence.
65. method as claimed in claim 39, wherein, described transmission comprises: described data capsule is sent at least one second application program with at least one second Application Type from first application program with first Application Type, wherein, described first Application Type is different with described second Application Type, wherein, generate described at least one data sequence and carried out by described first application program, described method comprises: keep at least one data sequence of described data capsule intact during described transmission.
66. as the described method of claim 65, the operating period that is included in described second application program is used described at least one data sequence.
67. method as claimed in claim 39, comprise: generate the event data of the source device that comprises described at least one treatment facility and first data set of identification data, described device events data comprise the data of the incident of specifying described source device registration, and described identification data comprises the data that identify described source device.
68. as the described method of claim 67, comprise: second data set of set fully that generates the status information that comprises described incident, wherein, each of described first data set and described second data centralization comprises the typed data bundle in the specific data layout of type.
69. as the described method of claim 68, wherein, described translating comprises: comprise that by the data capsule shape is become described first data set and described second data set encapsulate described first data set and described second data set, wherein, described data capsule has that comprise described at least one data sequence and the data structure irrelevant expression of application program.
70. method as claimed in claim 39 comprises:
The incident of first treatment facility that detection moves under the application program of the first kind;
Generation comprises the data sequence of the event data of described first treatment facility, described event data is specified the status information of described incident and described incident, wherein, described event data and status information are the specific data of type with type corresponding with described application program;
The data capsule shape become comprise described data sequence, described data capsule has that comprise described data sequence and the data structure irrelevant expression of application program;
Detection is in second incident with second treatment facility that moves under at least one second application program of at least one second type, wherein, described second type is different with the described first kind, wherein, described at least one treatment facility comprises described first treatment facility and described second treatment facility;
Discern the correspondence between described data capsule and described second incident; And
Use the content of the described data sequence of described data capsule, in response to the described second incident executable operations.
71. the described method of claim 70 wherein, generates described data sequence and comprises:
Generation comprises first data set of described event data;
Generation comprises second data set of described status information; And
First data sequence formed comprise described first data set and described second data set.
72. as the described method of claim 70, wherein, described event data is the byte sequence of the labelization of the typed data of expression.
73. as the described method of claim 72, wherein, described event data comprises type header and the specific data layout of type.
74. as the described method of claim 70, wherein, described status information is the byte sequence of the labelization of the typed data of expression.
75. as the described method of claim 74, wherein, described status information comprises type header and the specific data layout of type.
76., comprising as the described method of claim 70:
Generate at least one skew; And
Described data capsule shape become comprise described at least one skew.
77., comprising as the described method of claim 76:
Generation has first skew of first variable-length, and wherein, the event data of first data sequence in described at least one data sequence is pointed in described first skew; And
Generation has second skew of second variable-length, and wherein, the status information of first data sequence in described at least one data sequence is pointed in described second skew.
78., comprising as the described method of claim 76:
Use first skew in described at least one skew to form the first code path by described data capsule;
Use second skew in described at least one skew to form the second code path by described data capsule;
Wherein, described first code path is different paths with described second code path.
79. as the described method of claim 76, wherein, at least one in described first skew and described second skew comprises metadata, described metadata comprises the context certain metadata corresponding with the context of described application program.
80., comprise described data capsule is sent to pond in described a plurality of pond as the described method of claim 70.
81., comprising as the described method of claim 80:
The search data capsule corresponding in described a plurality of ponds with described second incident; And
Described data capsule is extracted in identification in response to described correspondence from described pond.
82. as the described method of claim 80, wherein, described application program and described at least one second application program are coupled in described a plurality of pond, described a plurality of pond comprises and described application program and the corresponding a plurality of data capsules of described at least one second application program, and described a plurality of ponds provide by the visit to described a plurality of data capsules of described application program and described at least one second application program.
83. as the described method of claim 80, wherein, described a plurality of ponds provide the state cache of a plurality of data capsules.
84. as the described method of claim 80, wherein, described a plurality of ponds provide the linear ordering of a plurality of data capsules.
85. the method for claim 70, wherein, described data structure right and wrong are typed.
86. as the described method of claim 70, wherein, the data structure of described data capsule provides described event data and described status information and expression platform independence.
87. as the described method of claim 70, wherein, the data structure of described data capsule provides described event data and described status information and visit platform independence.
88. a method comprises:
Carry out a plurality of processes on treatment facility, described a plurality of processes comprise the separable program execution context of a plurality of application programs, and wherein, each application program comprises at least one process;
The incident of each process of described a plurality of processes is translated to data-message, and wherein, data-message comprises the state of a process information of initiating described data-message and event data and expression application program of incident;
Described data-message is sent at least one pond in a plurality of ponds;
Coordinate between process, described coordination comprises: by the described status information of the described peer process of retrieval from described a plurality of ponds, the peer process in each process in described a plurality of processes and the described a plurality of process is coordinated; And
The set of the data-message by alternatively making up at least one pond in described a plurality of pond generates the output of described a plurality of processes.
89. a system comprises:
At least one treatment facility, described treatment facility is carried out a plurality of processes; And
Described at least one treatment facility is coupled in a plurality of ponds;
Described at least one treatment facility translates to the data capsule with the incident of each process in described a plurality of processes, and described data capsule is sent to described a plurality of pond;
Each process in described a plurality of process is as the identification process operation, and described identification process is discerned at least one the data capsule that comprises in the content corresponding with the sign of the interactive function of described identification process and described identification process in described a plurality of ponds;
Described identification process is retrieved the recognition data capsule from described a plurality of ponds, and carries out the processing suitable to the content of described recognition data capsule.
90. a method comprises:
Carry out a plurality of processes at least one treatment facility, described a plurality of processes comprise the separable program execution context of a plurality of application programs, and wherein, each application program comprises at least one process;
The incident of each process in described a plurality of processes is translated to the data capsule, wherein, the data capsule comprise the state of a process information of initiating described data capsule and incident event data with the irrelevant expression of application program;
Described data capsule is sent to a plurality of ponds;
Each process is as the identification process operation, and described identification process is discerned at least one the data capsule that comprises in the content corresponding with the sign of the interactive function of described identification process and described identification process in described a plurality of ponds; And
Described identification process is retrieved the recognition data capsule from described a plurality of ponds, and carries out the processing suitable to the content of described recognition data capsule.
91., use described data capsule and described a plurality of pond to form interactive application from described a plurality of processes by the operation of coordinating each process in described a plurality of processes as the described method of claim 90.
92., comprising: use in described data capsule and the described a plurality of pond at least one to coordinate the operation of described a plurality of processes as the described method of claim 90.
93. as the described method of claim 90, comprising: application program is divided into the set of process, and wherein, described a plurality of processes comprise the set of described process.
94., comprise that process generates output by a plurality of data retrieved capsules of alternatively handling at least one pond in described a plurality of pond as the described method of claim 90.
95., comprising: the described a plurality of processes of executed in parallel as the described method of claim 90.
96. as the described method of claim 90, comprising: first set of executed in parallel process, and second set of order executive process, wherein, described a plurality of processing comprise first set of described process and second set of described process.
97. as the described method of claim 90, wherein, described representations of events process input.
98. as the described method of claim 90, wherein, described representations of events process output.
99. as the described method of claim 90, wherein, described incident comprises user interface event.
100. as the described method of claim 90, wherein, described incident comprises graphical event.
101. as the described method of claim 90, wherein, described representations of events process status.
102. as the described method of claim 101, wherein, described process status is represented the described interactive function of described process, wherein, the described interactive function of described process as the content exposure of described data capsule in described a plurality of processes.
103., comprising: define the application programming interface API of described a plurality of processes by the content of described data capsule, rather than define described API by funcall as the described method of claim 102.
104. as the described method of claim 103, wherein, the content of described data capsule be with application program irrelevant and can be by described a plurality of processes identifications.
105. as the described method of claim 90, wherein, described at least one treatment facility comprises a plurality of treatment facilities.
106. as the described method of claim 105, wherein, first of at least one process in described a plurality of process is integrated into first set operation down of at least one treatment facility in described a plurality of treatment facility, and second of at least one process in described a plurality of processes is integrated into second set operation down of at least one treatment facility in described a plurality of treatment facility.
107. as the described method of claim 90, wherein, described a plurality of processes comprise first process.
108. as the described method of claim 107, wherein, described translating comprises: at least one data sequence that the incident of described first process is transformed to the status information that comprises the first process event data of specifying described incident and described incident.
109. as the described method of claim 108, wherein, described first process event data and status information are the specific data of type with type corresponding with the application program of described first process.
110. as the described method of claim 109, wherein, described translating comprises: described data capsule shape is become comprise that described at least one data sequence, described data capsule have that comprise described at least one data sequence and the data structure irrelevant expression of application program.
111. as the described method of claim 107, wherein, described a plurality of processes comprise second process.
112. as the described method of claim 111, wherein, described translating comprises: at least one data sequence that the described second state of a process change incident is transformed to the status information that comprises the second process event data of specifying described incident and described incident.
113. as the described method of claim 112, wherein, described second process event data and status information are the specific data of type with type corresponding with the application program of described second process.
114. as the described method of claim 113, wherein, described translating comprises: described data capsule shape is become comprise that described at least one data sequence, described data capsule have that comprise described at least one data sequence and the data structure irrelevant expression of application program.
115. as the described method of claim 111, wherein, described identification process is described second process, and described retrieval comprises retrieval recognition data capsule from described a plurality of ponds, and carries out second process to the suitable processing of the content of described recognition data capsule.
116. as the described method of claim 115, wherein, the content of described recognition data capsule is the data of the described first state of a process information of expression.
117. as the described method of claim 116, wherein, described translating comprises: the content of described recognition data capsule is transformed at least one new data sequence, and described at least one new data sequence is represented at least one in the incident of the incident of described first process and described second process.
118. as the described method of claim 117, wherein, described at least one new data sequence comprises at least one the state of a process information in described first process and described second process and specifies the event data of described incident.
119. as the described method of claim 118, wherein, the described event data of at least one process in described first process and described second process and status information are the specific data of type with type corresponding with the application program of at least one process in described first process and described second process.
120. as the described method of claim 119, wherein, described translating comprises: described data capsule shape is become comprise that described at least one new data sequence, described data capsule have that comprise described at least one new data sequence and the data structure irrelevant expression of application program.
121. as the described method of claim 120, wherein, described a plurality of processes are used described at least one new data sequence.
122. as the described method of claim 90, wherein, described a plurality of processes comprise input process, described input process receives incoming event from input equipment.
123. as the described method of claim 122, wherein, described translating comprises: at least one data sequence that the described incoming event of described input equipment is transformed to the status information that comprises the input equipment event data of specifying described incident and described incident.
124. as the described method of claim 123, wherein, described input equipment event data and status information are the specific data of type with type corresponding with the application program of source device.
125. as the described method of claim 124, wherein, described translating comprises: described data capsule shape is become comprise that described at least one data sequence, described data capsule have that comprise described at least one data sequence and the data structure irrelevant expression of application program.
126. as the described method of claim 90, wherein, described a plurality of processes comprise the pointer process.
127. as the described method of claim 126, wherein, described identification process is described pointer process, and described retrieval comprises: the described recognition data capsule of retrieval from described a plurality of ponds, and execution is to the pointer process of the suitable processing of the content of described recognition data capsule.
128. as the described method of claim 127, wherein, the content of described recognition data capsule is the data of expression from the incoming event of input process.
129. as the described method of claim 127, wherein, the content of described recognition data capsule is the data of position of user's positive order pointer object of described at least one treatment facility of expression on the display.
130. as the described method of claim 129, wherein, described translating comprises: the content of described recognition data capsule is transformed at least one new data sequence, and described at least one new data sequence definition pointer object is about the position of display.
131. as the described method of claim 130, wherein, described at least one new data sequence comprises the pointer process event data of specifying described incident and the status information of described pointer process event.
132. as the described method of claim 131, wherein, described pointer process event data and status information are the specific data of type with type corresponding with the application program of described pointer process.
133. as the described method of claim 132, wherein, described translating comprises: described data capsule shape is become comprise that described at least one new data sequence, described data capsule have that comprise described at least one new data sequence and the data structure irrelevant expression of application program.
134. as the described method of claim 133, wherein, described a plurality of processes use described at least one new data sequence to play up described pointer object on described display.
135. as the described method of claim 90, wherein, described a plurality of processes comprise the figure process.
136. as the described method of claim 135, wherein, described translating comprises: at least one data sequence that described figure state of a process change incident is transformed to the status information that comprises the figure process event data of specifying described incident and described incident.
137. as the described method of claim 136, wherein, described figure process event data and status information are the specific data of type with type corresponding with the application program of described figure process.
138. as the described method of claim 137, wherein, described translating comprises: described data capsule shape is become comprise that described at least one data sequence, described data capsule have that comprise described at least one data sequence and the data structure irrelevant expression of application program.
139. as the described method of claim 135, wherein, described identification process is described figure process, and described retrieval comprises: retrieval recognition data capsule from described a plurality of ponds, and execution is to the figure process of the suitable processing of the content of described recognition data capsule.
140. as the described method of claim 139, wherein, the content of described recognition data capsule is the data of another state of a process information in the described a plurality of processes of expression.
141. as the described method of claim 140, wherein, described status information comprises at least one the information in spatiality and the mode state.
142. as the described method of claim 139, wherein, the content of described recognition data capsule is the data of position of user's positive order pointer object of described at least one treatment facility of expression on the display.
143. as the described method of claim 142, wherein, the position of described pointer object is in the border of Drawing Object, wherein, described Drawing Object is played up by described figure process.
144. as the described method of claim 142, wherein, described translating comprises: the content of described recognition data capsule is transformed at least one new data sequence, and described at least one new data sequence is represented at least one in the overlapping part on described Drawing Object, described pointer object and described pointer object and described border.
145. as the described method of claim 144, wherein, described at least one new data sequence comprise the figure process event data of specifying described incident and described figure process event status information and.
146. as the described method of claim 145, wherein, described figure process event data and status information are the specific data of type with type corresponding with the application program of described figure process.
147. as the described method of claim 146, wherein, described translating comprises: described data capsule shape is become comprise that described at least one new data sequence, described data capsule have that comprise described at least one new data sequence and the data structure irrelevant expression of application program.
148. as the described method of claim 147, wherein, described at least one the new data sequence of described a plurality of processes uses is played up at least one in described Drawing Object and the described pointer object on described display.
149. as the described method of claim 90, wherein, described suitable processing comprises the render graphics object to the content of described recognition data capsule, wherein, described Drawing Object is played up on the display of described at least one treatment facility.
150. as the described method of claim 149, wherein, described playing up comprises directly and playing up that wherein said a plurality of processes are drawn directly into the graph layer of described at least one treatment facility, wherein, described a plurality of pond is used for playing up the suitably coordination between described a plurality of processes for described.
151. as the described method of claim 149, wherein, described playing up comprises following a plurality of process:
The data capsule that will comprise rendering command is sent to described a plurality of pond; And
Retrieve described rendering command from described a plurality of ponds, explain described rendering command, and drive the graph layer of described at least one treatment facility in response to described rendering command.
152. as the described method of claim 149, wherein, described playing up comprises following a plurality of process:
Be rendered into pixel buffer;
Original frame data is sent to described a plurality of pond, and described original frame data is by to described the playing up of described pixel buffer and produce; And
The described original frame data of retrieval from described a plurality of ponds, and make up described original frame data, in the graph layer that drives described at least one treatment facility, to use.
153., comprising as the described method of claim 90:
Detect the incident of described a plurality of processes;
Generation comprises at least one data sequence of the status information of the event data of specifying described incident and described incident, wherein, described event data and status information are the specific data of type with type corresponding with the application program of described at least one treatment facility; And
The data capsule shape become comprise that described at least one data sequence, described data capsule have that comprise described at least one data sequence and the data structure irrelevant expression of application program.
154. the described method of claim 153 wherein, generates comprising of described at least one data sequence:
Generation comprises first first data set separately of event data separately;
Generation comprises second second data set separately of status information separately; And
First data sequence formed comprise described first data set and described second data set separately separately.
155. as the described method of claim 154, wherein, generate described first separately data set comprise: with described first separately data set form the identification data that comprises described at least one treatment facility, described identification data comprises the data that identify described at least one treatment facility.
156. the described method of claim 154 wherein, generates described at least one data sequence and comprises:
Generation comprises first first data set separately of event data separately;
Generation comprises second second data set separately of status information separately; And
Second data sequence formed comprise described first data set and described second data set separately separately.
157. as the described method of claim 156, wherein, generate described first separately data set comprise: generate the first data set skew separately, wherein, described first separately the data set skew point to described first data set separately of described second data sequence.
158. as the described method of claim 156, wherein, generate described second separately data set comprise: generate the second data set skew separately, wherein, described second separately the data set skew point to described second data set separately of described second data sequence.
159. as the described method of claim 154, wherein, described first separately data set be to describe chained list, described description chained list comprises the description of described data.
160. as the described method of claim 153, wherein, described event data is the byte sequence of the labelization of the typed data of expression.
161. as the described method of claim 160, wherein, described event data comprises type header and the specific data layout of type.
162. as the described method of claim 153, wherein, described status information is the byte sequence of the labelization of the typed data of expression.
163. as the described method of claim 162, wherein, described status information comprises type header and the specific data layout of type.
164., comprising as the described method of claim 153:
Generate at least one skew; And
Described data capsule shape become comprise described at least one skew.
165., comprising as the described method of claim 164:
Generation has first skew of first variable-length;
Wherein, the event data of first data sequence in described at least one data sequence is pointed in described first skew.
166., comprising as the described method of claim 164:
Generation has second skew of second variable-length;
Wherein, the status information of first data sequence in described at least one data sequence is pointed in described second skew.
167., comprising as the described method of claim 164:
Use first skew in described at least one skew to form the first code path by described data capsule;
Use second skew in described at least one skew to form the second code path by described data capsule;
Wherein, described first code path is different paths with described second code path.
168. as the described method of claim 164, wherein, at least one in described first skew and described second skew comprises metadata, described metadata comprises the context certain metadata corresponding with the context of described application program.
169., comprising as the described method of claim 153:
Generation comprises the head of the length of described data capsule;
Described data capsule shape become comprise described head.
170., comprising: described data capsule is sent to pond in described a plurality of pond as the described method of claim 153.
171., comprising as the described method of claim 170:
Detect second incident of described at least one treatment facility;
The search data capsule corresponding in described a plurality of ponds with described second incident.
172., comprising as the described method of claim 171:
Discern the correspondence between described data capsule and described second incident;
From described pond, extract described data capsule in response to described identification; And
In response to the content of described data capsule, represent described at least one treatment facility to carry out the processing corresponding and operate with described second incident, wherein, the application program of described at least one treatment facility and the first kind and second application program of second type are corresponding.
173. as the described method of claim 170, wherein, a plurality of application programs are coupled in described a plurality of pond, described a plurality of pond comprises a plurality of data capsules corresponding with described a plurality of application programs, described a plurality of pond provides by the visit of described a plurality of application programs to described a plurality of data capsules, wherein, at least two application programs in described a plurality of application program are different application programs.
174. as the described method of claim 170, wherein, described a plurality of ponds provide the state cache of a plurality of data capsules.
175. as the described method of claim 170, wherein, described a plurality of ponds provide the linear ordering of a plurality of data capsules.
176. the method for claim 153, wherein, described data structure right and wrong are typed.
177. as the described method of claim 153, wherein, the data structure of described data capsule provides described event data and described status information and expression platform independence.
178. as the described method of claim 153, wherein, the data structure of described data capsule provides described event data and described status information and visit platform independence.
179. as the described method of claim 153, wherein, described transmission comprises: described data capsule is sent at least one second application program with at least one second Application Type from first application program with first Application Type, wherein, described first Application Type is different with described second Application Type, wherein, generate described at least one data sequence and carried out by described first application program, described method comprises: keep at least one data sequence of described data capsule intact during described transmission.
180. as the described method of claim 179, the operating period that is included in described second application program is used described at least one data sequence.
181. as the described method of claim 153, comprise: generate the event data of the source device that comprises described at least one treatment facility and first data set of identification data, described device events data comprise the data of the incident of specifying described source device registration, and described identification data comprises the data that identify described source device.
182. as the described method of claim 181, comprise: second data set of set fully that generates the status information that comprises described incident, wherein, each of described first data set and described second data centralization comprises the typed data bundle in the specific data layout of type.
183. as the described method of claim 182, wherein, described translating comprises: comprise that by the data capsule shape is become described first data set and described second data set encapsulate described first data set and described second data set, wherein, described data capsule has that comprise described at least one data sequence and the data structure irrelevant expression of application program.
184., comprising as the described method of claim 153:
The incident of first treatment facility that detection moves under the application program of the first kind;
Generation comprises the data sequence of the event data of described first treatment facility, described event data is specified the status information of described incident and described incident, wherein, described event data and status information are the specific data of type with type corresponding with application program;
The data capsule shape become comprise described data sequence, described data capsule has that comprise described data sequence and the data structure irrelevant expression of application program;
Detection is in second incident with second treatment facility that moves under at least one second application program of at least one second type, wherein, described second type is different with the described first kind, wherein, described at least one treatment facility comprises described first treatment facility and described second treatment facility;
Discern the correspondence between described data capsule and described second incident; And
Use the content of the described data sequence of described data capsule, in response to the described second incident executable operations.
185. the described method of claim 184 wherein, generates described data sequence and comprises:
Generation comprises first data set of described event data;
Generation comprises second data set of described status information; And
First data sequence formed comprise described first data set and described second data set.
186. as the described method of claim 184, wherein, described event data is the byte sequence of the labelization of the typed data of expression.
187. as the described method of claim 186, wherein, described event data comprises type header and the specific data layout of type.
188. as the described method of claim 184, wherein, described status information is the byte sequence of the labelization of the typed data of expression.
189. as the described method of claim 188, wherein, described status information comprises type header and the specific data layout of type.
190., comprising as the described method of claim 184:
Generate at least one skew; And
Described data capsule shape become comprise described at least one skew.
191., comprising as the described method of claim 190:
Generation has first skew of first variable-length, and wherein, the event data of first data sequence in described at least one data sequence is pointed in described first skew; And
Generation has second skew of second variable-length, and wherein, the status information of first data sequence in described at least one data sequence is pointed in described second skew.
192., comprising as the described method of claim 190:
Use first skew in described at least one skew to form the first code path by described data capsule;
Use second skew in described at least one skew to form the second code path by described data capsule;
Wherein, described first code path is different paths with described second code path.
193. as the described method of claim 190, wherein, at least one in described first skew and described second skew comprises metadata, described metadata comprises the context certain metadata corresponding with the context of described application program.
194., comprising: described data capsule is sent to pond in described a plurality of pond as the described method of claim 184.
195., comprising as the described method of claim 194:
The search data capsule corresponding in described a plurality of ponds with described second incident; And
Described data capsule is extracted in identification in response to described correspondence from described pond.
196. as the described method of claim 194, wherein, described application program and described at least one second application program are coupled in described a plurality of pond, described a plurality of pond comprises and described application program and the corresponding a plurality of data capsules of described at least one second application program, and described a plurality of ponds provide by the visit to described a plurality of data capsules of described application program and described at least one second application program.
197. as the described method of claim 194, wherein, described a plurality of ponds provide the state cache of a plurality of data capsules.
198. as the described method of claim 194, wherein, described a plurality of ponds provide the linear ordering of a plurality of data capsules.
199. the method for claim 184, wherein, described data structure right and wrong are typed.
200. as the described method of claim 184, wherein, the data structure of described data capsule provides described event data and described status information and expression platform independence.
201. as the described method of claim 184, wherein, the data structure of described data capsule provides described event data and described status information and visit platform independence.
202. a method comprises:
Application program is divided into a plurality of processes;
Use process in described a plurality of process to generate the part of the output of described application program;
The described part of the described output of encapsulation in the first data capsule, and will the described first data capsule be sent at least one pond in a plurality of ponds, wherein, described a plurality of ponds comprise from a plurality of data capsules of described a plurality of processes receptions;
Visit described a plurality of pond, and retrieve second process in described a plurality of processes in input, wherein, described input is in the second data capsule of described a plurality of data capsules; And
Use described a plurality of data capsule and described a plurality of pond Coordination Treatment between described a plurality of processes.
203. a system comprises:
At least one treatment facility, described treatment facility is carried out a plurality of processes, and described a plurality of processes comprise the separable program execution context of a plurality of application programs, and wherein, each application program comprises at least one process; And
Described at least one treatment facility is coupled in a plurality of ponds;
Described at least one treatment facility translates to the data capsule with the incident of each process in described a plurality of processes, and described data capsule is sent to a plurality of ponds, wherein, the data capsule comprise the state of a process information of initiating described data capsule and incident event data with the irrelevant expression of application program;
Each process is as the identification process operation, and described identification process is discerned at least one the data capsule that comprises in the content corresponding with the sign of the interactive function of described identification process and described identification process in described a plurality of ponds;
Described identification process is retrieved the recognition data capsule from described a plurality of ponds, and carries out the processing suitable to the content of described recognition data capsule.
204. a method comprises:
Detect the attitude that health carries out from attitude data, wherein, receive described attitude data via detecting device;
Carry out a plurality of processes on treatment facility, described a plurality of processes generate incident, and described incident comprises the set of the incident of representing described attitude;
The incident of each process in described a plurality of processes is translated to the data capsule;
Described data capsule is sent to a plurality of ponds;
The set of the process in described a plurality of process is as the identification process operation, and described identification process is discerned the data capsule that comprises the content corresponding with described attitude in described a plurality of ponds; And
Described identification process is retrieved the recognition data capsule from described a plurality of ponds, and the content by synthetic described recognition data capsule comes to generate attitude signal from described recognition data capsule to form described attitude signal, wherein, described attitude signal is represented described attitude.
205. as the described method of claim 204, wherein, described a plurality of processes comprise the separable program execution context of spatial operation application program.
206. as the described method of claim 204, wherein, described attitude data is absolute three spatial position data of the immediate status at the some place of user in time and space.
207., comprise and only use described attitude data to discern described attitude as the described method of claim 204.
208. as the described method of claim 204, wherein, described detection comprises: detect described health the position, detect the direction of described health and detect in the motion of described health at least one.
209. as the described method of claim 204, comprising: discern described attitude, wherein, described identification comprises the attitude and the direction of the part of discerning described health.
210. as the described method of claim 204, wherein, described detection comprises: detect at least one in gathering of second of first set of appendage of described health and appendage.
211. as the described method of claim 204, wherein, described detection comprises the position of dynamically detecting at least one label that is coupled to described health.
212. as the described method of claim 211, wherein, described detection comprises the position of the set that detects the label that is coupled to described health.
213. as the described method of claim 212, wherein, each label in the set of described label comprises pattern, any pattern of any all the other labels in each pattern of each label in the set of wherein said label and the described a plurality of labels is different.
214. as the described method of claim 204, wherein, described detection comprises and dynamically detects and locate mark on the described health.
215. as the described method of claim 214, wherein, described detection comprises the position of the set that detects the mark that is coupled to described health.
216. as the described method of claim 214, wherein, being integrated into of described mark forms a plurality of patterns on the described health.
217. as the described method of claim 214, wherein, described detection comprises: use each the set of mark in a plurality of appendages be coupled to described health to detect the position of a plurality of appendages of described health.
218. as the described method of claim 204, wherein, described to translate the information translation that comprises described attitude be the attitude symbol.
219. as the described method of claim 218, wherein, described attitude symbolic representation attitude vocabulary, and described attitude signal comprises the communication of described attitude vocabulary.
220. as the described method of claim 219, wherein, the instant attitude state of the kinematics link of described health represented in described attitude vocabulary with textual form.
221. as the described method of claim 219, wherein, the direction of the kinematics link of described health represented in described attitude vocabulary with textual form.
222. as the described method of claim 219, wherein, the combination of the direction that the kinematics of described health links represented in described attitude vocabulary with textual form.
223. as the described method of claim 219, wherein, described attitude vocabulary comprises the string of character of the state of the kinematics link of representing described health.
224. as the described method of claim 223, wherein, described kinematics link is at least one first appendage of described health.
225. as the described method of claim 224, comprise second appendage distributed in each position in the described string that described second appendage is connected to described first appendage.
226., comprise in a plurality of positions of described second appendage each distributed in the character in a plurality of characters as the described method of claim 225.
227. as the described method of claim 226, wherein, described a plurality of positions are set up with respect to true origin.
228. as the described method of claim 227, comprise: regardless of the overall positions of described health and towards, and in response to the action of health alternatively, use the position of from the group that is constituted by the absolute position the space and direction, with respect to the fixed position and the direction of described health, selecting to set up true origin.
229., comprise in a plurality of directions of described first appendage each distributed in the character in described a plurality of characters as the described method of claim 226.
230. as the described method of claim 224, wherein, described detection comprises: when the position of detecting the extrapolation of described health intersects with the Virtual Space, and wherein, described Virtual Space is included in the space of describing on the display device that is coupled to described at least one treatment facility.
231., comprising: when the position of described extrapolation intersects with described virtual objects, control the virtual objects in the described Virtual Space as the described method of claim 230.
232. the described method of claim 231, wherein, described control is included in the described Virtual Space: in response to the position of described extrapolation, control the position of the virtual objects in the described Virtual Space.
233. the described method of claim 231, wherein, described control comprises: in response to described attitude, control the situation of the described virtual objects in the described Virtual Space.
234., comprising: control the ratio of described detection and control, to generate the consistance between Virtual Space and the physical space as the described method of claim 204, wherein, described Virtual Space is included in the space of describing on the display, and wherein, described physical space comprises the space that described health occupies.
235., comprising: control at least one virtual objects in the described Virtual Space in response at least one physical object moving in described physical space as the described method of claim 234.
236. as the described method of claim 204, comprising: use described attitude signal Control Component, described assembly is coupled to described at least one treatment facility.
237., wherein, control described assembly and comprise: come side by side to control three spatial objects by six-freedom degree by described attitude being mapped to three spatial objects as the described method of claim 236.
238. as the described method of claim 236, wherein, control described assembly and comprise: control three spatial objects by three translation freedoms and three rotary freedoms.
239. as the described method of claim 238, wherein, described three spatial objects manifest being coupled on the display device of described at least one treatment facility.
240. as the described method of claim 238, wherein, described three spatial objects are to be coupled to described computer remote system.
241., comprising: control the motion of described three spatial objects by a plurality of object translations that described attitude are mapped to described three spatial objects as the described method of claim 238.
242. as the described method of claim 241, wherein, described mapping comprises the direct mapping between described attitude and the described a plurality of object translation.
243. as the described method of claim 241, wherein, described mapping comprises the indirect mapping between described attitude and the described a plurality of object translation.
244. as the described method of claim 204, wherein, the data capsule comprise the state of a process information of initiating data-message and incident event data with the irrelevant expression of application program.
245., use described data capsule and described a plurality of pond to form mutual application program from described a plurality of processes by each the operation of coordinating in described a plurality of process as the described method of claim 204.
246., comprising: use in described data capsule and the described a plurality of pond at least one to coordinate the operation of described a plurality of processes as the described method of claim 204.
247. as the described method of claim 204, comprising: application program is divided into the set of process, and wherein, described a plurality of processes comprise the set of described process.
248., comprise that a plurality of data retrieved capsules by alternatively handling at least one pond in described a plurality of pond generate output process as the described method of claim 204.
249. as the described method of claim 204, wherein, described a plurality of processes comprise the separable program execution context of a plurality of application programs, wherein, each application program comprises at least one process.
250., comprising: the described a plurality of processes of executed in parallel as the described method of claim 204.
251. as the described method of claim 204, comprising: first set of executed in parallel process, and second set of order executive process, wherein, described a plurality of processes comprise first set of described process and second closing of described process.
252. as the described method of claim 204, wherein, described representations of events process input.
253. as the described method of claim 204, wherein, described representations of events process output.
254. as the described method of claim 204, wherein, described incident comprises user interface event.
255. as the described method of claim 204, wherein, described incident comprises graphical event.
256. as the described method of claim 204, wherein, described representations of events process status.
257. as the described method of claim 256, wherein, described process status is represented the described interactive function of described process, wherein, the described interactive function of described process as the content exposure of described data capsule in described a plurality of processes.
258., comprising: define the application programming interface API of described a plurality of processes by the content of described data capsule, rather than define described API by funcall as the described method of claim 257.
259. as the described method of claim 258, wherein, the content of described data capsule be with application program irrelevant and can be by described a plurality of processes identifications.
260. as the described method of claim 204, wherein, described at least one treatment facility comprises a plurality of treatment facilities.
261. as the described method of claim 260, wherein, first of at least one process in described a plurality of process is integrated into first set operation down of at least one treatment facility in described a plurality of treatment facility, and second of at least one process in described a plurality of processes is integrated into second set operation down of at least one treatment facility in described a plurality of treatment facility.
262. as the described method of claim 204, wherein, described a plurality of processes comprise first process.
263., wherein, describedly translate at least one data sequence that the incident that comprises described first process is transformed to the status information that comprises the first process event data of specifying described incident and described incident as the described method of claim 262.
264. as the described method of claim 263, wherein, described first process event data and status information are the specific data of type with type corresponding with the application program of described first process.
265. as the described method of claim 264, wherein, described translating comprises: described data capsule shape is become comprise that described at least one data sequence, described data capsule have that comprise described at least one data sequence and the data structure irrelevant expression of application program.
266. as the described method of claim 262, wherein, described a plurality of processes comprise second process.
267. as the described method of claim 266, wherein, described translating comprises: at least one data sequence that the described second state of a process change incident is transformed to the status information that comprises the second process event data of specifying described incident and described incident.
268. as the described method of claim 267, wherein, described second process event data and status information are the specific data of type with type corresponding with the application program of described second process.
269. as the described method of claim 268, wherein, described translating comprises: described data capsule shape is become comprise that described at least one data sequence, described data capsule have that comprise described at least one data sequence and the data structure irrelevant expression of application program.
270. as the described method of claim 266, wherein, described identification process is described second process, and described retrieval comprises: retrieval recognition data capsule from described a plurality of ponds, and execution is to second process of the suitable processing of the content of described recognition data capsule.
271. as the described method of claim 270, wherein, the content of described recognition data capsule is the data of the described first state of a process information of expression.
272. as the described method of claim 271, wherein, described translating comprises: the content of described recognition data capsule is transformed at least one new data sequence, and described at least one new data sequence is represented at least one in the incident of the incident of described first process and described second process.
273. as the described method of claim 272, wherein, described at least one new data sequence comprises at least one the state of a process information in described first process and described second process and specifies the event data of described incident.
274. as the described method of claim 273, wherein, the described event data of at least one process in described first process and described second process and status information are the specific data of type with type corresponding with the application program of at least one process in described first process and described second process.
275. as the described method of claim 274, wherein, described translating comprises: described data capsule shape is become comprise that described at least one new data sequence, described data capsule have that comprise described at least one new data sequence and the data structure irrelevant expression of application program.
276. as the described method of claim 275, wherein, described a plurality of processes are used described at least one new data sequence.
277. as the described method of claim 204, wherein, described suitable processing comprises the render graphics object to the content of described recognition data capsule, wherein, plays up described Drawing Object on the display of described at least one treatment facility.
278. as the described method of claim 277, wherein, described playing up comprises directly and playing up that wherein said a plurality of processes are drawn directly into the graph layer of described at least one treatment facility, wherein, described a plurality of pond is used for playing up the suitably coordination between described a plurality of processes for described.
279. as the described method of claim 277, wherein, described playing up comprises following a plurality of process:
The data capsule that will comprise rendering command is sent to described a plurality of pond; And
Retrieve described rendering command from described a plurality of ponds, explain described rendering command, and drive the graph layer of described at least one treatment facility in response to described rendering command.
280. as the described method of claim 277, wherein, described playing up comprises following a plurality of process:
Be rendered into pixel buffer;
Original frame data is sent to described a plurality of pond, and described original frame data is by to described the playing up of described pixel buffer and produce; And
The described original frame data of retrieval from described a plurality of ponds, and make up described original frame data, in the graph layer that drives described at least one treatment facility, to use.
281., comprising as the described method of claim 204:
Detect the incident of described a plurality of processes;
Generation comprises at least one data sequence of the status information of the event data of specifying described incident and described incident, wherein, described event data and status information are the specific data of type with type corresponding with the application program of described at least one treatment facility; And
The data capsule shape become comprise that described at least one data sequence, described data capsule have that comprise described at least one data sequence and the data structure irrelevant expression of application program.
282. the described method of claim 204 wherein, generates described at least one data sequence and comprises:
Generation comprises first first data set separately of event data separately;
Generation comprises second second data set separately of status information separately; And
First data sequence formed comprise described first data set and described second data set separately separately.
283. as the described method of claim 282, wherein, generate described first separately data set comprise: with described first separately data set form the identification data that comprises described at least one treatment facility, described identification data comprises the data that identify described at least one treatment facility.
284. the described method of claim 282 wherein, generates described at least one data sequence and comprises:
Generation comprises first first data set separately of event data separately;
Generation comprises second second data set separately of status information separately; And
Second data sequence formed comprise described first data set and described second data set separately separately.
285. as the described method of claim 284, wherein, generate described first separately data set comprise: generate the first data set skew separately, wherein, described first separately the data set skew point to described first data set separately of described second data sequence.
286. as the described method of claim 284, wherein, generate described second separately data set comprise: generate the second data set skew separately, wherein, described second separately the data set skew point to described second data set separately of described second data sequence.
287. as the described method of claim 282, wherein, described first separately data set be to describe chained list, described description chained list comprises the description of data.
288. as the described method of claim 204, wherein, described event data is the byte sequence of the labelization of the typed data of expression.
289. as the described method of claim 288, wherein, described event data comprises type header and the specific data layout of type.
290. as the described method of claim 204, wherein, described status information is the byte sequence of the labelization of the typed data of expression.
291. as the described method of claim 290, wherein, described status information comprises type header and the specific data layout of type.
292., comprising as the described method of claim 204:
Generate at least one skew; And
Described data capsule shape become comprise described at least one skew.
293., comprising as the described method of claim 292:
Generation has first skew of first variable-length;
Wherein, the event data of first data sequence in described at least one data sequence is pointed in described first skew.
294., comprising as the described method of claim 292:
Generation has second skew of second variable-length;
Wherein, the status information of first data sequence in described at least one data sequence is pointed in described second skew.
295., comprising as the described method of claim 292:
Use first skew in described at least one skew to form the first code path by described data capsule;
Use second skew in described at least one skew to form the second code path by described data capsule;
Wherein, described first code path is different paths with described second code path.
296. as the described method of claim 292, wherein, at least one in described first skew and described second skew comprises metadata, described metadata comprises the context certain metadata corresponding with the context of described application program.
297., comprising as the described method of claim 204:
Generation comprises the head of the length of described data capsule;
Described data capsule shape become comprise described head.
298., comprising: described data capsule is sent to pond in described a plurality of pond as the described method of claim 204.
299., comprising as the described method of claim 298:
Detect second incident of described at least one treatment facility;
The search data capsule corresponding in described a plurality of ponds with described second incident.
300., comprising as the described method of claim 299:
Discern the correspondence between described data capsule and described second incident;
From described pond, extract described data capsule in response to described identification; And
In response to the content of described data capsule, represent described at least one treatment facility to carry out the processing corresponding and operate with described second incident, wherein, the application program of described at least one treatment facility and the first kind and second application program of second type are corresponding.
301. as the described method of claim 298, wherein, a plurality of application programs are coupled in described a plurality of pond, described a plurality of pond comprises a plurality of data capsules corresponding with described a plurality of application programs, described a plurality of pond provides by the visit of described a plurality of application programs to described a plurality of data capsules, wherein, at least two application programs in described a plurality of application program are different application programs.
302. as the described method of claim 298, wherein, described a plurality of ponds provide the state cache of a plurality of data capsules.
303. as the described method of claim 298, wherein, described a plurality of ponds provide the linear ordering of a plurality of data capsules.
304. as the described method of claim 204, wherein, described data structure right and wrong are typed.
305. as the described method of claim 204, wherein, the data structure of described data capsule provides described event data and described status information and expression platform independence.
306. as the described method of claim 204, wherein, the data structure of described data capsule provides described event data and described status information and visit platform independence.
307. as the described method of claim 204, wherein, described transmission comprises described data capsule is sent at least one second application program with at least one second Application Type from first application program with first Application Type, wherein, described first Application Type is different with described second Application Type, wherein, generate described at least one data sequence and carried out by described first application program, described method comprises: keep at least one data sequence of described data capsule intact during described transmission.
308. as the described method of claim 307, the operating period that is included in described second application program is used described at least one data sequence.
309. as the described method of claim 204, comprise: generate the event data of the source device that comprises described at least one treatment facility and first data set of identification data, described device events data comprise the data of the incident of specifying described source device registration, and described identification data comprises the data that identify described source device.
310. as the described method of claim 309, comprise second data set of set fully that generates the status information that comprises described incident, wherein, each of described first data set and described second data centralization comprises the typed data bundle in the specific data layout of type.
311. as the described method of claim 310, wherein, described translating comprises: comprise that by the data capsule shape is become described first data set and described second data set encapsulate described first data set and described second data set, wherein, described data capsule has that comprise described at least one data sequence and the data structure irrelevant expression of application program.
312., comprising as the described method of claim 204:
The incident of first treatment facility that detection moves under the application program of the first kind;
Generation comprises the data sequence of the event data of described first treatment facility, described event data is specified the status information of described incident and described incident, wherein, described event data and status information are the specific data of type with type corresponding with described application program;
The data capsule shape become comprise described data sequence, described data capsule has that comprise described data sequence and the data structure irrelevant expression of application program;
Detection is in second incident with second treatment facility that moves under at least one second application program of at least one second type, wherein, described second type is different with the described first kind, wherein, described at least one treatment facility comprises described first treatment facility and described second treatment facility;
Discern the correspondence between described data capsule and described second incident; And
Use the content of the described data sequence of described data capsule, in response to the described second incident executable operations.
313. the described method of claim 312 wherein, generates described data sequence and comprises:
Generation comprises first data set of described event data;
Generation comprises second data set of described status information; And
First data sequence formed comprise described first data set and described second data set.
314. as the described method of claim 312, wherein, described event data is the byte sequence of the labelization of the typed data of expression.
315. as the described method of claim 314, wherein, described event data comprises type header and the specific data layout of type.
316. as the described method of claim 312, wherein, described status information is the byte sequence of the labelization of the typed data of expression.
317. as the described method of claim 316, wherein, described status information comprises type header and the specific data layout of type.
318., comprising as the described method of claim 312:
Generate at least one skew; And
Described data capsule shape become comprise described at least one skew.
319., comprising as the described method of claim 318:
Generation has first skew of first variable-length, and wherein, the event data of first data sequence in described at least one data sequence is pointed in described first skew; And
Generation has second skew of second variable-length, and wherein, the status information of first data sequence in described at least one data sequence is pointed in described second skew.
320., comprising as the described method of claim 318:
Use first skew in described at least one skew to form the first code path by described data capsule;
Use second skew in described at least one skew to form the second code path by described data capsule;
Wherein, described first code path is different paths with described second code path.
321. as the described method of claim 318, wherein, at least one in described first skew and described second skew comprises metadata, described metadata comprises the context certain metadata corresponding with the context of described application program.
322., comprise described data capsule is sent to pond in described a plurality of pond as the described method of claim 312.
323., comprising as the described method of claim 322:
The search data capsule corresponding in described a plurality of ponds with described second incident; And
Described data capsule is extracted in identification in response to described correspondence from described pond.
324. as the described method of claim 322, wherein, described application program and described at least one second application program are coupled in described a plurality of pond, described a plurality of pond comprises and described application program and the corresponding a plurality of data capsules of described at least one second application program, and described a plurality of ponds provide by the visit to described a plurality of data capsules of described application program and described at least one second application program.
325. as the described method of claim 322, wherein, described a plurality of ponds provide the state cache of a plurality of data capsules.
326. as the described method of claim 322, wherein, described a plurality of ponds provide the linear ordering of a plurality of data capsules.
327. as the described method of claim 312, wherein, described data structure right and wrong are typed.
328. as the described method of claim 312, wherein, the data structure of described data capsule provides described event data and described status information and expression platform independence.
329. as the described method of claim 312, wherein, the data structure of described data capsule provides described event data and described status information and visit platform independence.
330. a method comprises:
Carry out a plurality of processes on treatment facility, described a plurality of processes comprise the separable program execution context of a plurality of application programs, and wherein, each application program comprises at least one process;
The incident of each process of described a plurality of processes is translated to data-message, wherein, data-message comprise the state of a process information of initiating described data-message and incident event data with the irrelevant expression of application program;
Described data-message is sent at least one pond in a plurality of ponds;
Coordinate between process, described coordination comprises: by the described status information of the described peer process of retrieval from described a plurality of ponds, the peer process in each process in described a plurality of processes and the described a plurality of process is coordinated; And
The set of the data-message by alternatively making up at least one pond in described a plurality of pond generates the output of described a plurality of processes.
331. a system comprises:
Detecting device is used to receive the attitude data of the attitude that the expression health carries out; And
Processor, be coupled to described detecting device, described processor detects described attitude automatically from described attitude data, described processor is carried out a plurality of processes, described a plurality of process generates the incident of the set that comprises the incident of representing described attitude, described processor translates to the data capsule with the incident of each process in described a plurality of processes, described processor is sent to a plurality of ponds with described data capsule, wherein, the set running of the process in described a plurality of process is the identification process, described identification process is discerned the data capsule that comprises the content corresponding with described attitude in described a plurality of ponds, described identification process is retrieved the recognition data capsule from described a plurality of ponds, and the content by synthetic described recognition data capsule comes to generate attitude signal from described recognition data capsule to form described attitude signal, wherein, described attitude signal is represented described attitude.
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,253 2008-10-14
US61/105,243 2008-10-14
US12/417,252 2009-04-02
US12/417,252 US9075441B2 (en) 2006-02-08 2009-04-02 Gesture based control using three-dimensional information extracted over an extended depth of field
US12/487,623 2009-06-18
US12/487,623 US20090278915A1 (en) 2006-02-08 2009-06-18 Gesture-Based Control System For Vehicle Interfaces
US12/553,845 US8531396B2 (en) 2006-02-08 2009-09-03 Control system for navigating a principal dimension of a data space
US12/553,845 2009-09-03
US12/557,464 US9910497B2 (en) 2006-02-08 2009-09-10 Gestural control of autonomous and semi-autonomous systems
US12/557,464 2009-09-10
US12/572,689 US8866740B2 (en) 2005-02-08 2009-10-02 System and method for gesture based control system
US12/572,689 2009-10-02
PCT/US2009/060725 WO2010045394A1 (en) 2008-10-14 2009-10-14 Multi-process interactive systems and methods

Publications (2)

Publication Number Publication Date
CN102224476A true CN102224476A (en) 2011-10-19
CN102224476B 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)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105359104A (en) * 2013-06-19 2016-02-24 微软技术许可有限责任公司 Synchronization points for state information
CN105765536A (en) * 2013-12-10 2016-07-13 Arm 有限公司 Configurable thread ordering for a data processing apparatus
CN107479973A (en) * 2017-08-08 2017-12-15 西安万像电子科技有限公司 Data transmission method, device, system
CN107810489A (en) * 2015-06-18 2018-03-16 微软技术许可有限责任公司 Using the bumpless transfer between equipment
CN108196686A (en) * 2018-03-13 2018-06-22 北京无远弗届科技有限公司 A kind of hand motion posture captures equipment, method and virtual reality interactive system
CN109143983A (en) * 2018-08-15 2019-01-04 杭州电子科技大学 The motion control method and device of embedded programmable controller
CN109491725A (en) * 2018-11-12 2019-03-19 火烈鸟网络(广州)股份有限公司 Application program can interact more extractions of root and system, storage medium, electronic equipment
CN112907437A (en) * 2021-03-26 2021-06-04 长沙景嘉微电子股份有限公司 Method and device for running multiple 3D processes, electronic equipment and storage medium

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9684380B2 (en) * 2009-04-02 2017-06-20 Oblong Industries, Inc. Operating environment with gestural control and multiple client devices, displays, and users
US9952673B2 (en) 2009-04-02 2018-04-24 Oblong Industries, Inc. Operating environment comprising multiple client devices, multiple displays, multiple users, and gestural control
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
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
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
EP4300160A2 (en) 2016-12-30 2024-01-03 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
CN111448497B (en) 2017-12-10 2023-08-04 奇跃公司 Antireflective coating on optical waveguides
CN115826240A (en) 2017-12-20 2023-03-21 奇跃公司 Insert for augmented reality viewing apparatus
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
US11510027B2 (en) 2018-07-03 2022-11-22 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
JP7426982B2 (en) 2018-07-24 2024-02-02 マジック リープ, インコーポレイテッド Temperature-dependent calibration of movement sensing devices
US11112862B2 (en) 2018-08-02 2021-09-07 Magic Leap, Inc. Viewing system with interpupillary distance compensation based on head motion
JP7438188B2 (en) 2018-08-03 2024-02-26 マジック リープ, インコーポレイテッド Unfused pose-based drift correction of fused poses of totems in user interaction systems
EP3881279A4 (en) 2018-11-16 2022-08-17 Magic Leap, Inc. Image size triggered clarification to maintain image sharpness
EP3921720A4 (en) * 2019-02-06 2022-06-29 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
JP2022530900A (en) 2019-05-01 2022-07-04 マジック リープ, インコーポレイテッド Content provisioning system and method
JP2022542363A (en) 2019-07-26 2022-10-03 マジック リープ, インコーポレイテッド Systems and methods for augmented reality
WO2021097323A1 (en) 2019-11-15 2021-05-20 Magic Leap, Inc. A viewing system for use in a surgical environment
CN116302579B (en) * 2023-05-25 2023-08-04 智成时空(西安)创新科技有限公司 Space-time big data efficient loading rendering method and system for Web end

Family Cites Families (13)

* 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
WO1998050852A1 (en) * 1997-05-08 1998-11-12 Iready Corporation Hardware accelerator for an object-oriented programming language
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
WO2008134452A2 (en) * 2007-04-24 2008-11-06 Oblong Industries, Inc. Proteins, pools, and slawx in processing environments

Cited By (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105359104B (en) * 2013-06-19 2019-05-31 微软技术许可有限责任公司 The synchronous point of status information
CN105359104A (en) * 2013-06-19 2016-02-24 微软技术许可有限责任公司 Synchronization points for state information
CN105765536A (en) * 2013-12-10 2016-07-13 Arm 有限公司 Configurable thread ordering for a data processing apparatus
CN105765536B (en) * 2013-12-10 2020-04-14 Arm 有限公司 Data processing device capable of configuring thread sequencing
CN107810489A (en) * 2015-06-18 2018-03-16 微软技术许可有限责任公司 Using the bumpless transfer between equipment
CN107810489B (en) * 2015-06-18 2021-05-18 微软技术许可有限责任公司 Seamless transition between applications and devices
CN107479973A (en) * 2017-08-08 2017-12-15 西安万像电子科技有限公司 Data transmission method, device, system
CN108196686A (en) * 2018-03-13 2018-06-22 北京无远弗届科技有限公司 A kind of hand motion posture captures equipment, method and virtual reality interactive system
CN108196686B (en) * 2018-03-13 2024-01-26 北京无远弗届科技有限公司 Hand motion gesture capturing device, method and virtual reality interaction system
CN109143983A (en) * 2018-08-15 2019-01-04 杭州电子科技大学 The motion control method and device of embedded programmable controller
CN109143983B (en) * 2018-08-15 2019-12-24 杭州电子科技大学 Motion control method and device of embedded programmable controller
CN109491725A (en) * 2018-11-12 2019-03-19 火烈鸟网络(广州)股份有限公司 Application program can interact more extractions of root and system, storage medium, electronic equipment
CN109491725B (en) * 2018-11-12 2022-12-27 火烈鸟网络(广州)股份有限公司 Interactive multi-opening method and system of application program, storage medium and electronic equipment
CN112907437A (en) * 2021-03-26 2021-06-04 长沙景嘉微电子股份有限公司 Method and device for running multiple 3D processes, electronic equipment and storage medium

Also Published As

Publication number Publication date
JP5805537B2 (en) 2015-11-04
KR20110079839A (en) 2011-07-08
KR101649769B1 (en) 2016-08-19
WO2010045394A1 (en) 2010-04-22
CN102224476B (en) 2017-08-01
JP2012506097A (en) 2012-03-08
EP2350774A1 (en) 2011-08-03
EP2350774A4 (en) 2014-11-05

Similar Documents

Publication Publication Date Title
CN102224476A (en) Multi-process interactive systems and methods
US10565030B2 (en) Multi-process interactive systems and methods
US9063801B2 (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
CN103988150B (en) For the quick finger tip detection for the hand tracker for initializing view-based access control model
US9933852B2 (en) Multi-process interactive systems and methods
US9471148B2 (en) Control system for navigating a principal dimension of a data space
US9910497B2 (en) Gestural control of autonomous and semi-autonomous systems
CN102460510B (en) For the space multi-mode opertaing device used together with spatial operation system
CN103930944B (en) Adaptive tracking system for space input equipment
US20100060576A1 (en) Control System for Navigating a Principal Dimension of a Data Space
KR20120034637A (en) Gesture-based control systems including the representation, manipulation, and exchange of data
US9052970B2 (en) Multi-process interactive systems and methods
JP2015525381A (en) Interactive user hand tracking and shape recognition user interface
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