CN102426535B - For promoting the system and method for application virtualization - Google Patents
For promoting the system and method for application virtualization Download PDFInfo
- Publication number
- CN102426535B CN102426535B CN201110339452.9A CN201110339452A CN102426535B CN 102426535 B CN102426535 B CN 102426535B CN 201110339452 A CN201110339452 A CN 201110339452A CN 102426535 B CN102426535 B CN 102426535B
- Authority
- CN
- China
- Prior art keywords
- virtual
- assembly
- application
- access
- described process
- 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.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5011—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resources being hardware resources other than CPUs, Servers and Terminals
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/455—Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06F9/45533—Hypervisors; Virtual machine monitors
- G06F9/45545—Guest-host, i.e. hypervisor is an application program itself, e.g. VirtualBox
Abstract
This document describes dynamic process virtualization.Can operationally regulate the access to virtual application resource.More specifically, based on context the access at least one virtual application resource can be provided to process.Exemplarily, can the term of execution monitor and analysis process event to determine whether access be supplied to this process.
Description
Technical field
The application relates to virtualization, particularly relates to dynamic process virtualization.
Background technology
Application virtualization is so that software application can disconnect the technology set of coupling from operating system.It is deployed on computers as service through virtualized application, but not to be mounted directly to computer in a conventional manner.But, just look like that it mounted performs on computers through virtualized application.It is applied in some degree to be deceived so that believe its mounted and direct and computer operating system interface.This by application is encapsulated in other operations intercepting file and application and can realize operating to be redirected in the virtual environment or virtualization layer of virtualized position.
Application virtualization has some benefits.Especially, by virtual environment, application each other and and performs to isolate at least to a degree between computer.Correspondingly, it is possible to run multiple application, these multiple application include incompatible or conflict application simultaneously.Additionally, application can run in the environment except the environment that application is designed for it originally.Additionally, other application of insulation blocking and underlying operating system are write or failure code from bad.Similarly, can by application be promoted safety with operating system isolation.
Virtualization applications includes multiple part.Part I is that application occupies or that resource is resident APMB package.This bag includes running the required data of application and metadata on computers.These resources include but not limited to file and bibliographic structure.Operationally, virtual application includes these resources or the NameSpace that run on computers.By virtualizing, resource namespace and local NameSpace can be stitched into together with make to apply the resource that can find it.
Whether the example that can determine process or the application being carrying out according to parent process is virtual.If more specifically, parent process is virtual, then it is virtual that subprocess inherits this.At this, be virtual or through virtualized mean this process access application resource.Such as, text processing application needs to find it to run required file.Application virtualization can redirection file be asked so that its resource of application location.
Summary of the invention
Given below simplification is summarized to scheme to provide the basic comprehension of some aspects to disclosed theme.Present invention is not detailed general view.It is not intended to identify main/key element or describe the scope of theme required for protection.Its unique purpose is to present some concepts in simplified form, as the preamble of the more specifically embodiment presented after a while.
In short, the present invention relates generally to dynamic process virtualization.Operationally can based on context regulate the access to virtual application resource.Such as, process can based on the process event that such as application programming interface (API) calls etc the term of execution be virtualized or be in other words provided the access to virtual resource.Similarly, process can be transformed into the second virtual environment based on context from the first virtual environment or fully remove from virtual environment.Especially, postpone the scope expanding application virtualization when determining until operation about process virtual, and therefore start previous disabled virtualization sight.
In order to for addressing relevant purpose on realizing, describe some illustrative aspect of theme required for protection herein in conjunction with as explained below and accompanying drawing.The instruction of these aspects can realize the various modes of this theme, and all these modes are intended in the scope of theme required for protection.Reading in conjunction with the accompanying detailed description below, other advantages and novel feature may become apparent from.
Accompanying drawing explanation
Fig. 1 is the block diagram promoting application virtualization.
Fig. 2 is the block diagram that representativeness determines assembly.
Fig. 3 is the block diagram of delegate analysis assembly.
Fig. 4 is the representative block diagram accessing assembly.
Fig. 5 is the flow chart of the method promoting application virtualization.
Fig. 6 is the flow chart of the method promoting application virtualization.
Fig. 7 is the flow chart of the method for process virtual.
Fig. 8 is the sequence chart illustrating exemplary service condition.
Fig. 9 is the schematic block diagram of the suitable operating environment illustrating each side for the application.
Detailed description of the invention
The dynamic process virtualization that is generally directed to described in detail below, or in other words, operationally provide the access to virtual application resource.Traditional application virtualization technology utilizes parent process or other are because usually determining whether process is virtual when process creation, and the process that means being wherein virtual accesses the resource through virtualized application.It is assumed hereinafter that virtualized many aspects can be simplified but be applied with some restriction: can by checking that process identification (PID) is need when process creation to access virtual resource by parent process.Such as, depend on the mode that some software is implemented, when process creation, process is added virtual environment to and not always feasible, because information is not useable for determining which virtual environment is process belong to.Additionally, be not that all examples of process are required for being virtualized, and owing to system can exist more than one virtual application, can not determine which virtual application the example of process should be attached to.
In order to solve at least problem above, contrary with when being limited in process creation, when can be merely deferred until operation about virtualized decision.Therefore, virtualized scope is extended, thus starting previous disabled virtualization sight, such as, but not limited to, the virtualization of the operating system process of host applications private code.Additionally, can make about virtualized decision according to the contextual information including process event.Furthermore, various mechanism can be used to determine to realize process virtualization.
With reference now to accompanying drawing, being more fully described the various aspects of the application, wherein similar accompanying drawing labelling refers to similar or corresponding element.However, it is to be appreciated that be not intended as theme required for protection is limited to particular forms disclosed at this involved accompanying drawing and detailed description.On the contrary, the present invention is by all modifications contained in the spirit and scope falling into theme required for protection, equivalents and alternative.
Initial reference Fig. 1, it is shown that promote the system 100 of application virtualization.System 100 includes determining assembly 110 and accessing assembly 120.Determine that assembly 110 is configured to other unit of reception, retrieval or otherwise identification process or calculating, and make the virtualized decision about process.Additionally, determine that assembly 110 is configured to operationally operate, or in other words operate process the term of execution.Additionally, can according to the context such as, but not limited to process event etc by determining that assembly 110 is maked decision.Access assembly 120 to be configured to especially provide the process to specific virtual application resource to access.Such as, once by the decision determining that assembly 110 process of making to be virtualized, access assembly 120 and just can make process virtual or more generally provide the access to virtual application resource to process.
Fig. 2 illustrates in greater detail representative decision assembly 110.Determine that assembly 110 includes context acquiring component 210 and analytic unit 220.Context acquiring component 210 can receive or retrieve the contextual information that can help analytic unit 220.According to an embodiment, context acquiring component 210 can monitor and catch one or more process event or process event stream.Exemplarily but unrestricted, context acquiring component 210 can intercept one or more application programming interface (API) of process and call.Additionally, context acquiring component can receive or contextual information outside retrieval process.In a non-restrictive example, can ask from Local or Remote service and receive context.Analytic unit 220 is configured to analyze the information obtained by context acquiring component 210, to make the virtualization about process, or the virtualized decision of the example more specifically with regard to process.Such as, analytic unit 220 can be determined whether the dynamic virtualization that meets specified conditions or criterion for process.
Turn to Fig. 3, depict delegate analysis assembly 220 in more detail.Such as display, analytic unit 220 is split into two sub-components, namely accesses and determines assembly 310 and environment components 320.Access and determine that assembly 310 is configured to the logic including being used to determine whether make about process the type of any action and action according to such as context.Environment components 320 is available determines that with access the similar information of assembly 310 is to identify at least one environment that action will within it occur.In one embodiment, access determines that assembly 310 can determine that process should be virtualized and environment components 320 can identification process should to its specific environment being virtualized from such as multiple environment.In other words, access and determine that assembly 310 determines that process should be given the access to virtual application resource, and environment components 320 identifies this specific virtual application resource.Subsequently, process can such as be switched to virtual environment.
Additionally, whether analytic unit 220 is not limited to should be virtualized to make about process determine.Also may be made regarding whether to make through whether virtualized process localization (such as, removal virtual environment) or virtual process should be moved to the decision of different virtual environments.Such as, may determine that virtual environment goes wrong or collapses (such as, unexpected fault) and it is desirable to virtual process and do not terminate if based on context, then may decide that process is moved to outside virtual environment.There is some system process that such as cannot terminate when being not resulted in underlying operating system failure.But, if such process is virtualized, then it is useful for can they being removed from virtual environment avoiding this result.Along with mobile virtual process each in virtual environment, if the adaptive life monitor to application is made in service and this service is only capable of mutual with resource when servicing in for virtual environment, then from a virtual environment, such service is moved to another virtual environment is useful.
Fig. 4 depicts representative access assembly 120, and this access assembly 120 is configured to provide the access to the one or more environment including but not limited to virtual environment.At least two mode that access assembly 120 can be represented by moving assembly 410 and Agent components 420 realizes.
Moving assembly 410 is configured to that from first, process is performed context conversion and performs environment to second.In one example, moving assembly can such as by expansion process so that can in virtual environment mutual (such as, hook) by local process (such as, locally-installed and can perform at the top of specific operation system) convert to virtual process (such as, local disposition be the software (SaaS) as service and can with the environment of specific operation system independence in perform).Similarly, the extendible process of moving assembly 410 is so that virtual process can operate in virtual environment peripheral operation or in different virtual environments.
Agent components 420 can provide the function similar with moving assembly 410 in a different manner.Especially, Agent components 420 provides the intermediary computer systems between process and virtual environment or program.Agent components 420 thus can receive from process the request to virtual resource and requested virtual environment interacts and to process return any result.Such as, not being process converts to virtual process make it possible to virtual application resource is conducted interviews, agency can be used for providing the non-virtual process to virtual application resource to access.Additionally, if it is required, then process need not be moved or converts back home environment (such as, according to operating system, primary environment).On the contrary, corresponding agency can be removed simply by process or otherwise depart from from use.Similarly, contrary with process is moved to the second virtual environment from the first virtual environment, different agencies can be used for so that process can use across different virtual environments.Furthermore, and decide whether that moving processes is different, determine it is of concern that whether mutual with agency.
Systems mentioned above, framework, environment etc. are already in connection with being described alternately between some assemblies.Should be appreciated that some in those assemblies or sub-component, the assembly specified or sub-component that such system and assembly can include wherein specifying and/or other assemblies.Sub-component can also be implemented as the assembly being communicably coupled to other assemblies, but not includes the assembly in parent component.Additionally, one or more assemblies and/or sub-component can be incorporated in single component to provide the function of polymerization.The communication between system, assembly and/or sub-component can be realized according to any one pushing away in model and/or draw model.Assembly also can not describe but by other component interactions one or more known to those of skill in the art with in this case brief purpose specially.
In addition, as will be appreciated, system disclosed above and the various piece of following methods can include or comprise artificial intelligence, machine learning or knowledge based or the assembly of rule, sub-component, process, device, method or mechanism (such as, support vector machine, neutral net, specialist system, Bayesian Belief Networks, fuzzy logic, data fusion engines, grader ...).Such assembly especially can automatization some preferred mechanism or process so that each several part of system and method adapts to and effective and intelligent more.Exemplarily but unrestricted, determine that assembly 110 can use such mechanism to consider the offer access to virtual application resource.Such as, determine that assembly 110 can be configured to based on context to determine or whether deduction process should be virtualized.
Consider example described above sexual system, according to the method that subject realizes, the flow chart of reference Fig. 5-7 can be described.While for purposes of simplicity of explanation; each method is shown and described as a series of frame; but it is understood that and understand, theme required for protection is by the restriction of frame order, because some frames can in a different order and/or occur concomitantly with other frame described at this and describe.And, it is achieved methods as described below is not necessarily required to the entirety of the frame explained orally.
With reference to Fig. 5, it is shown that promote the method 500 of application virtualization.At accompanying drawing labelling 510, receive, retrieve or otherwise obtain (such as, by monitoring the source of one or more context) or obtain context.In an example, the one or more process event of observable.Such as, application programming interface (API) can be intercepted call.520, about whether process should be virtualized, or in other words, whether process should have the access to virtual application resource, makes and determining.This is determined can based on many factors.Such as, can need one group of predetermined situation before access is awarded.In the sight that process event is intercepted, for instance, it is determined that can based on the virtualization criterion specified according to one or more events.If 520, for instance owing to not meeting one group of situation, access and ("No") is not awarded, then method 500 is recycled into accompanying drawing labelling 510, wherein can obtain additional context.If determining that process should have access ("Yes") 520, then method 500 proceeds to 530, is virtualized in this process, or in other words, is provided the access to virtual application resource.Further, it is to be appreciated that 520 access determine and/or 530 provide the part accessed can include being designated it to provide the specific virtual environment accessed.Such as, deposit in case in multiple virtual applications or environment, access be provided to suitable environment (such as, about process interact (such as, reading or writing data) through virtualized application).Furthermore, it is noted that method 500 also apply be applicable to determine whether virtual process is virtualized in different environment or accesses different environment.
Fig. 6 is the flow chart of the method 600 promoting application virtualization.At accompanying drawing labelling 610, receive, retrieve or otherwise obtain or obtain context.Such as, such context can about the stability of virtual environment and/or desired state.At labelling 620, whether should keep virtual about process, or in other words, whether process should continue have the access to virtual resource, makes and determining.If determining that access should continue ("Yes") 620, then method 600 terminates.Or, if it is determined that access and should not continue ("No"), then method 600 proceeds to labelling 630, at this, process is terminated the access to virtual application resource.Method 600 thus can make virtual process or have the process of the access to virtual resource and be converted into non-virtual process, or in other words, the access of virtual resource terminated.Such as, it is virtualized in operating system process and can determine based on context or infer that virtual environment soon terminates (such as, unexpected fault), process can be removed from virtual environment unstable to the stopping and possible operating system avoiding process.
Fig. 7 depicts the method 700 of process virtual.At accompanying drawing labelling 710, intercept process event, such as, but not limited to, application programming interface (API) is called or similar calling.720, analysis event determines whether the process event intercepted is important, wherein importance with any can when determining whether virtualization process useful information-related.Except calling itself, for instance, also can check that the parameter called is to determine whether event is important.If event is not important ("No"), then method 700 loops back accompanying drawing labelling 710, intercepts extra process event at this.If event is considered as important ("Yes"), then method 700 proceeds to 730, is recorded or saved computer-readable recording medium in this event.At accompanying drawing labelling 740, whether it is satisfied to make about virtualization criterion and has determined.It is mutual that such criterion can such as be specified with virtual resource.Additionally, such criterion can be specified and same according to one or more process event, determine when can use arbitrarily complicated operation about process virtualization.Determine it addition, can make about the one or more process events at 730 records at accompanying drawing labelling 740.If virtualization criterion is not satisfied ("No"), then method 700 returns accompanying drawing labelling 710, intercepts extra process event at this.But, if virtualization criterion is satisfied ("Yes"), then method 700 advances to labelling 750, is virtualized in this process, or in other words, it is provided that the access (such as, by acting on behalf of) to virtual application resource.
Fig. 8 is the sequence chart illustrating the exemplary service condition being associated with each side required for protection.This sequence chart is the use about Analysis Service or more particularly managed instrument.At this, the class by computational entity or object (such as application) are modeled as in supplier can be passed through assembly instrument is turned to managed entity.Subsequently, can by sending the message to control this managed entity to managed entity.Such as, with managed entity can relate to alternately entity configuration, monitor, diagnosis and task automation etc..
Such as display, management assembly (MGMT) 802 can be the operating system service of management supplier's object.When from such as applying 804 (such as, on Local or Remote machine) etc client computer request enter to perform some action on supplier time, management assembly 802 can call " CoCreateInstance ", should " CoCreateInstance " produce starting by other operating system actions 806 a series of of the process 808 (such as, local process) of master control.Once set up by the process of master control, management assembly 802 can send other orders and load specific supplier.Once supplier is loaded, application 804 can interact its initial request with provider process and submit additional request to.
When managing assembly 802 instruction and being loaded specific supplier by the process 808 of master control, it is possible to make about whether the determination virtualizing this supplier.More specifically, during virtual operation, assembly (VRT) 810 can intercept calling and checking that call parameters is determined and whether should be virtualized by the process 808 of master control and if it is, which virtual environment that should be moved to by the process 808 of master control " coGetClassObject ".If it is determined that should be virtualized by the process 808 of master control, then process such as can be transformed into virtual environment by the hook in startup process for virtualizing by application virtualization agency (AV agency) 812.Then, initial " CoGetClassObject " calling can be returned to management assembly 802.From this point of view, mutual just similar with any other supplier with supplier, except this supplier has been shifted in virtual environment, and it can access virtual resource now.
As used in this, term " assembly " is intended to indicate that, with " system " and their form, the entity that computer is relevant, and it can be hardware, the combination of hardware and software, software or executory software.Such as, assembly can be but not limited to run on a processor process, processor, object, example, can executive item, the thread of execution, program and/or computer.Can be both assembly as explanation, the application run on computers and this computer.One or more assemblies can reside in the thread of process and/or execution, and assembly can localize on one computer and/or be distributed between two or multiple stage computer.
The term " this locality " used at this connected applications, process or other performance elements is intended to broadly refer to the locally-installed executable code of operation on the top of the specific operation system of computer.As used at this combining environmental, " this locality " refers to the software platform of the locally-installed executable code of the support of computer system.Thus, word " this locality " is intended to be contrasted with " virtual ", and wherein executable code is deployed but not is arranged on directly and in the environment of the operating system interface of machine.
Wording " exemplary " or its various forms are used herein to mean that as example, example or explain orally.It is described as any aspect of " exemplary " at this or design is not necessarily to be interpreted to compare other aspects or design more preferably or favorably.Additionally, example provides just to the purpose that is aware and understand, it is no intended to limit or limit the relevant portion of theme required for protection or the application by any way.It is understandable that a large amount of other or the replaceable examples of the scope that can present change, but omits for sake of brevity.
As used herein, term " deduction " or " inference " generally refer to the process of the state of reasoning or inference system, environment and/or user according to the observation collection via event and/or data capture.For example, inference can be adopted to identify concrete context or action, maybe can generate the probability distribution on all states.Inference can be probability namely be based on the consideration to data and event to calculate the probability distribution in state interested.The technology for constituting higher level event from one group of event and/or data can also be referred to.This inference causes constructing new events or action from one group of event observed and/or the event data that stores, and no matter whether these events are closely related in time, and also no matter these events and data originate from one or multiple event and data source.In combinations with perform the automatization relevant to theme required for protection and/or inference operations use various classification schemes and/or system (such as, support vector machine, neutral net, specialist system, Bayesian Belief Networks, fuzzy logic, data fusion engines ...).
In addition, for using term " including ", " containing ", " having " or their deformation in form in description or claims, this term is intended in the similar mode explained during to the term " comprising " transition word in being used as claims for inclusive.
In order to provide brief, the general description of proper environment that the context of theme required for protection, Fig. 9 and following discussion aim to provide the various aspects that wherein can realize this theme.But, this suitable environment is only an example, it is no intended to the scope of use or function is proposed any restriction.
Although system and method disclosed above described in the general context of the computer executable instructions that can run on one or more computers, can person of skill in the art will appreciate that, each side also realizes in combinations with other program module etc..It is said that in general, program module includes performing particular task and/or realizing the routine of particular abstract data type, program, assembly, data structure etc..In addition, it should be appreciated by those skilled in the art that, system above and method can realize in various computer system configurations, including uniprocessor, multiprocessor or polycaryon processor computer system, mini computing equipment, mainframe computer and personal computer, Handheld computing device (such as, personal digital assistant (PDA), phone, wrist-watch ...), based on microprocessor or programmable consumer or industrial electrical equipment etc..Each side can also realize in task is by the distributed computing environment performed by the remote processing devices of communication network links.But, some aspect (if not all aspects) of theme required for protection can realize on stand-alone computers.In a distributed computing environment, program module can be located at one of local and remote memory storage device or both in.
With reference to Fig. 9, it is shown that example general computer 910 or computing equipment (such as, desk-top, on knee, server, consumer hand-held, programmable or industrial electrical equipment, Set Top Box, games system ...).Computer 910 includes one or more processor 920, memorizer 930, system bus 940, massive store 950 and one or more interface module 970.System bus 940 is communicatively coupled at least system above assembly.However it is appreciated that in its simplest form, computer 910 can include the one or more processors 920 being coupled to memorizer 930, and the various computers that these one or more processors perform to be stored in memorizer 930 can perform action, instruction and/or assembly.
Processor 920 can by general purpose processor, digital signal processor (DSP), special IC (ASIC), field programmable gate array (FGPA) or other programmable logic devices, the door of separation or transistor logic, the nextport hardware component NextPort of separation or be designed as any combination performing function described herein and realize.General processor can be microprocessor, but in alternative, and this processor can be any processor, controller, microcontroller or state machine.Processor 920 is also implemented as the combination of computing equipment, for instance one or more microprocessor that DSP cooperates with DSP core with the combination of microprocessor, multi-microprocessor, polycaryon processor or any other this type of configuration.
Computer 910 can include or otherwise promote the control of computer 910 alternately with various computer-readable mediums, to realize one or more aspects of theme required for protection.Computer-readable medium can be any usable medium that can be accessed by computer 910, and comprises volatibility and non-volatile media and removable, irremovable medium.Exemplarily unrestricted, computer-readable medium can include computer-readable storage medium and communication media.
Computer-readable storage medium includes the volatibility that realizes for any method of the information storing such as computer-readable instruction, data structure, program module or other data etc or technology and medium non-volatile, removable and irremovable.Computer-readable storage medium includes but not limited to, storage device is (such as, random access memory (RAM), read only memory (ROM), Electrically Erasable Read Only Memory (EEPROM) ...), magnetic storage apparatus is (such as, hard disk, floppy disk, tape, video-tape ...), CD is (such as, compact disk (CD), digital versatile disc (DVD) ...), and solid-state devices is (such as, solid-state drive (SSD), flash drive is (such as, memory card, memory stick, Keyed actuator ...) ...), or any other media that can be used to store the information wanted and can be accessed by computer 910.
Communication media generally embodies computer-readable instruction, data structure, program module or other data with the modulated message signal of such as carrier wave or other transmission mechanisms, and includes random information transmission medium.Term " modulated message signal " refers to the signal that one or more feature is set in the way of encoding information in the signal or changes.Exemplarily unrestricted, communication media includes such as the wire medium of cable network or directly line connection etc, and such as the wireless medium of acoustics, RF, infrared and other wireless mediums etc.Above any combination also should include in the scope of computer-readable medium.
Memorizer 930 and massive store 950 are the examples of computer-readable recording medium.Depending on exact configuration and the type of computing equipment, memorizer 930 can be volatibility (such as RAM), non-volatile (such as ROM, flash memory ...) or some combination of the two.Exemplarily, basic input/output (BIOS) including the basic routine for transmission information between the element of computer 910 (all as during start-up) can be stored in nonvolatile memory, and volatile storage can be used as the process that external cache especially promotes to be undertaken by processor 920.
Massive store 950 includes removable/nonremovable, volatile/nonvolatile computer storage media for storing substantial amounts of data for memorizer 930.Such as, massive store 950 includes but not limited to, one or more equipment of such as magnetically or optically disk drive, floppy disk, flash memory, solid-state drive or memory stick etc.
Memorizer 930 and massive store 950 can include or can store wherein, operating system 960, one or more application 962, one or more program module 964 and data 966.Operating system 960 is for controlling and distribute the resource of computer 910.Application 962 include one of system and application software or both, and can via operating system 960 by being stored in the management using resource for the program module 964 and data 966 performing one or more action in memorizer 930 and/or massive store 950.Therefore, according to the logic thus provided, general purpose computer 910 can be transformed to special purpose machinery by application 962.
Standard program and/or engineering can be used to realize all or part of to produce software, firmware, hardware or their combination to control computer to realize disclosed function of theme required for protection.Exemplarily unrestricted, determine that assembly 110 and access assembly 120 can be application 962 or its form part, and include being stored in the one or more modules 964 in memorizer and/or massive store 950 and data 966, the function of these one or more modules 964 and data 966 can be realized by one or more processors 920 when being performed.
According to a specific embodiment, processor 920 may correspond to SOC(system on a chip) (SOC) or etc framework, including (or in other words, integrated) both hardware and softwares on single integrated circuit substrate.At this, processor 920 can include at least similar with processor 920 and memorizer 930 one or more processors and memorizer.Conventional processors includes minimal number of hardware and software, and farthest relies on external hardware and software.On the contrary, it is more powerful that the SOC of processor realizes, because within it embedded in hardware and software, enabling realize having the specific function relying on or not relying on external hardware and software that outside hardware and software is minimum.Such as, determine that assembly 110, access assembly 120 and/or the function being associated can be embedded in the hardware in SOC framework.
Computer 910 also includes being communicably coupled to system bus 940 and promotes and mutual one or more interface modules 970 of computer 910.Exemplarily, interface module 970 can be port (such as, serial, parallel, PCMCIA, USB, live wire ...) or interface card (such as, sound, video ...) etc..In an example implementation, interface module 970 can be embodied as user's input/output interface, so that user can pass through one or more input equipments (such as, pointing device, such as mouse, trace ball, instruction pen, touch pads, keyboard, microphone, stick, play handle, satellite dish, scanner, camera, other computers ...) order and information to computer 910 input.In another example implementation, interface module 970 can be embodied as output peripheral interface, with to display (such as, CRT, LCD, plasma ... plasma), speaker, printer and/or other computers output is provided.Furthermore, interface module 970 can be embodied as network interface, to start the communication between other computing equipment (not shown)s, is such as linked by wired or wireless communication.
The content having been described above includes the example of each side of theme required for protection.Certainly; for describe theme required for protection purpose and describe assembly or method each it is contemplated that combination be impossible; but one of ordinary skilled in the art is it should be appreciated that other combination and permutation many of theme required for protection are all possible.Therefore, disclosed theme is intended to the change in all these spirit and scope falling into appended claims, amendment and modification.
Claims (8)
1. the method promoting application virtualization, including:
Use at least one processor being configured to perform storage computer executable instructions in memory, to perform following action:
According to one or more process event non-virtual process the term of execution make the decision whether being virtualized about described process;
After making the decision that described process to be virtualized, described process the term of execution regulate the access to one or more virtual application resources of the described process.
2. the method for claim 1, it is characterised in that farther include to add in virtual environment described process to.
3. the method for claim 1, it is characterised in that farther include to remove described process from virtual environment.
4. the method for claim 1, it is characterised in that farther include from the first virtual environment, described process is moved to the second virtual environment.
5. the method for claim 1, it is characterised in that farther including adjustment mutual with what act on behalf of, described agency makes described process can the one or more virtual application resource be conducted interviews.
6. the method for claim 1, it is characterised in that farther include to monitor one or more process event.
7. method as claimed in claim 6, it is characterised in that monitor that including intercepting the one or more application programming interface (API) made by described process calls.
8. promote a system for application virtualization, including:
Being coupled to the processor of memorizer, described processor is configured to perform storage machine calculated below in which memory can executive module:
First assembly, described first assembly is configured to operationally provide the home environment process to one or more virtual application resources to access;
Second assembly, described second assembly be configured to according to one or more process event non-virtual process the term of execution make the decision whether being virtualized about described process and control the access to the one or more virtual application resource of the described process.
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/911,577 | 2010-10-25 | ||
US12/911,577 US20120102505A1 (en) | 2010-10-25 | 2010-10-25 | Dynamic process virtualization |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102426535A CN102426535A (en) | 2012-04-25 |
CN102426535B true CN102426535B (en) | 2016-07-13 |
Family
ID=45960524
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110339452.9A Active CN102426535B (en) | 2010-10-25 | 2011-10-24 | For promoting the system and method for application virtualization |
Country Status (2)
Country | Link |
---|---|
US (1) | US20120102505A1 (en) |
CN (1) | CN102426535B (en) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9811364B2 (en) * | 2013-06-13 | 2017-11-07 | Microsoft Technology Licensing, Llc | Thread operation across virtualization contexts |
EP3113092B1 (en) * | 2015-07-03 | 2021-12-01 | Huawei Technologies Co., Ltd. | Method and apparatus for managing virtual execution environments using contextual information fragments |
US20170139740A1 (en) * | 2015-11-12 | 2017-05-18 | Futurewei Technologies, Inc. | Systems and Methods for Real Time Context Based Isolation and Virtualization |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7191469B2 (en) * | 2002-05-13 | 2007-03-13 | Green Border Technologies | Methods and systems for providing a secure application environment using derived user accounts |
CN1577251B (en) * | 2003-07-28 | 2012-07-18 | 国际商业机器公司 | Long-distance cooperating method and system for small server program |
US7437734B2 (en) * | 2003-08-12 | 2008-10-14 | Hewlett-Packard Development Company, L.P. | Propagating web transaction context into common object model (COM) business logic components |
US6959264B2 (en) * | 2003-09-30 | 2005-10-25 | International Business Machines Corporation | Autonomous computing probe agent |
US7574709B2 (en) * | 2004-04-30 | 2009-08-11 | Microsoft Corporation | VEX-virtual extension framework |
US7895594B2 (en) * | 2005-03-28 | 2011-02-22 | Freescale Semiconductor, Inc. | Virtual machine extended capabilities using application contexts in a resource-constrained device |
US7966599B1 (en) * | 2006-08-29 | 2011-06-21 | Adobe Systems Incorporated | Runtime library including a virtual file system |
AU2008202532A1 (en) * | 2007-06-18 | 2009-01-08 | Pc Tools Technology Pty Ltd | Method of detecting and blocking malicious activity |
US7685251B2 (en) * | 2007-06-21 | 2010-03-23 | International Business Machines Corporation | Method and apparatus for management of virtualized process collections |
US8862590B2 (en) * | 2007-06-29 | 2014-10-14 | Microsoft Corporation | Flexible namespace prioritization |
US8171483B2 (en) * | 2007-10-20 | 2012-05-01 | Citrix Systems, Inc. | Method and system for communicating between isolation environments |
US8387075B1 (en) * | 2008-03-28 | 2013-02-26 | Emc Corporation | Common scheduling and synchronization primitives |
US20090265719A1 (en) * | 2008-04-18 | 2009-10-22 | Microsoft Corporation | Application macro recording utilizing method interception |
US8566830B2 (en) * | 2008-05-16 | 2013-10-22 | Microsoft Corporation | Local collections of tasks in a scheduler |
US8434093B2 (en) * | 2008-08-07 | 2013-04-30 | Code Systems Corporation | Method and system for virtualization of software applications |
US20100138829A1 (en) * | 2008-12-01 | 2010-06-03 | Vincent Hanquez | Systems and Methods for Optimizing Configuration of a Virtual Machine Running At Least One Process |
-
2010
- 2010-10-25 US US12/911,577 patent/US20120102505A1/en not_active Abandoned
-
2011
- 2011-10-24 CN CN201110339452.9A patent/CN102426535B/en active Active
Also Published As
Publication number | Publication date |
---|---|
US20120102505A1 (en) | 2012-04-26 |
CN102426535A (en) | 2012-04-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10162708B2 (en) | Fault tolerance for complex distributed computing operations | |
CN109597677B (en) | Method and apparatus for processing information | |
US10936350B2 (en) | Active drive API | |
CN103493011A (en) | Application compatibility with library operating systems | |
CN101930449A (en) | Client computer, acting server and be used to provide the method for cloud storage | |
EP4009170B1 (en) | Data management | |
US10817319B1 (en) | Compatibility-based configuration of hardware with virtualization software | |
US20200012572A1 (en) | System and method for critical virtual machine protection | |
CN111049904A (en) | Method and equipment for monitoring multiple public cloud resources | |
CN102426535B (en) | For promoting the system and method for application virtualization | |
US20130311659A1 (en) | Controlling access to a shared storage system | |
US9880849B2 (en) | Allocation of load instruction(s) to a queue buffer in a processor system based on prediction of an instruction pipeline hazard | |
JP2012208752A (en) | License management device, license management method, and program | |
US9924002B1 (en) | Managing stateless processes | |
CN110704851A (en) | Public cloud data processing method and device | |
EP3391208A2 (en) | Automatic system response to external field-replaceable unit (fru) process | |
CN105677481A (en) | Method and system for processing data and electronic equipment | |
TW201133238A (en) | Automatic detection of stress condition | |
CN111868698A (en) | Free space direct connection | |
CN114047976A (en) | Plug-in loading method and device, electronic equipment and storage medium | |
CN112912848B (en) | Power supply request management method in cluster operation process | |
CN110321205B (en) | Method and equipment for managing hosted program in hosted program | |
US11593035B2 (en) | Managing client devices associated with storage nodes in a scale-out storage system | |
KR20110068302A (en) | System and method for controlling access based on shell in unix/linux system | |
AU2015249127B2 (en) | Fault tolerance for complex distributed computing operations |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150720 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150720 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |