CN102754073B - For the method and system that virtualized extension point is declaratively registered - Google Patents

For the method and system that virtualized extension point is declaratively registered Download PDF

Info

Publication number
CN102754073B
CN102754073B CN201180008320.6A CN201180008320A CN102754073B CN 102754073 B CN102754073 B CN 102754073B CN 201180008320 A CN201180008320 A CN 201180008320A CN 102754073 B CN102754073 B CN 102754073B
Authority
CN
China
Prior art keywords
extension point
application
point
virtual
heavily
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
Application number
CN201180008320.6A
Other languages
Chinese (zh)
Other versions
CN102754073A (en
Inventor
J·M·希恩
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.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN102754073A publication Critical patent/CN102754073A/en
Application granted granted Critical
Publication of CN102754073B publication Critical patent/CN102754073B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/44Arrangements for executing specific programs
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45533Hypervisors; Virtual machine monitors
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • 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/44Arrangements for executing specific programs
    • G06F9/455Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
    • G06F9/45504Abstract machines for programme code execution, e.g. Java virtual machine [JVM], interpreters, emulators
    • G06F9/45529Embedded in an application, e.g. JavaScript in a Web browser

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Stored Programmes (AREA)

Abstract

The heavily parsing point that extension point virtualization system uses operating system to provide is registered to provide minimal expansion point.Heavily resolve point and retain application isolation while elimination writes the convergent-divergent problem of self-defined extension point agency for each extension point.As an alternative, this system can use be generally located at ought to virtual heavy resolve point Single document system filters, and be stored as need be redirected extension point store heavily resolve point data.By operating system being redirected to the virtual home of this application resource from the exemplary position of application resource to process many extension points.Thus, system also should usually process chartered position with heavily resolving the reposition a little processed subsequently by allowing applying virtual system only to register, and carrys out the process of the new extension point of simplify processes.

Description

For the method and system that virtualized extension point is declaratively registered
Background technology
Virtual execution then operation system and/or the application virtually on a virtual machine referred to by the virtual machine of physical hardware.Virtual machine can represent the lowest common denominator of hardware capability or can represent the well-known configurations be easy to as its beamhouse operation system and application.Along with resource requirement increases, many data centers use virtual easily virtual machine can be moved to new physical hardware, thus maintenance cycle and balance physics server load.Virtual is useful for many situations, but also may apply the restriction of the appearance due to many virtual machine contention same asset (such as, CPU (central processing unit) (CPU), storer and network interface unit (NIC)).
Applying virtual provides virtual machine at single application level.Such as, master operating system can run some application in the machine ground, is provided for the virtual environment running other application simultaneously.This can allow operating system, such as, operates to the application designed by different operating system.The fuzzy difference to user between the applying virtual application that the machine is run in master operating system and the application run in virtual machine.Such as, two classes application can appear in the taskbar or menu that operating system shell provides side by side.Application converts to and does not install and apply the Virtual Service of the centralized management do not conflicted with other by MICROSOFT applying virtual (ApplicationVirtualization, App-V).In physical environment, its operating system for service range (OS) is depended in each application, comprises that storer distributes, device driver and more.Incompatibility between application and operating system thereof is by server virtualization or present virtual solving---but the incompatibility between the two methods that the same instance of OS is installed is solved by applying virtual.
Operating system needs to revise it and shows the needs adapting to client.Such as, user can installation file type association carry out the MICROSOFTWord(Microsoft word processing of registering).This file type associations changes operating system and how to show.When user clicks the document with Word file type associations, operating system calls MICROSOFTWord.File type associations is a concrete example of operating system extension point.A virtualized part is isolation, this means that an application can not see Another Application, and the action of an application does not affect operating system, or only affects operating system by agency.When file type associations, the example of agency is that the agency of representatively this application detects and the MICROSOFTApp-V client computer of register-file type association.In this way, MICROSOFTApp-V aware operating systems is revised, and this amendment can be made to fall back when virtualization applications is removed.
Unfortunately, it is unrealistic or non-scalable for setting up self-defined agency for each operating system extension point.MICROSOFTWINDOWS(Microsoft's Window) in have more than 3000 extension points, thus make to write an agency for each extension point hardly.In addition, possess the support to each new operating system, extra extension point needs be detected and manage, to make applying virtualization keep, as was expected works.The extension point that quantity continues to expand consumes the development& testing time, and has taken away to the time of other new features.
General introduction
This document describes extension point virtualization system, the heavily parsing point that this extension point virtualization system uses operating system to provide is registered to provide minimal expansion point.Heavily resolve point in elimination for retaining application isolation when each extension point writes the convergent-divergent problem of self-defined extension point agency.By operating system being redirected to the virtual home of this application resource from the exemplary position of application resource to process many extension points.Extension point virtualization system uses heavily parsing point to eliminate the demand of each extension point to self-defined agency.As an alternative, system can use be generally located at ought to virtual heavy resolve point Single document system filters, and for need be redirected extension point store heavily resolve point data.Thus, system also can usually process chartered position with heavily resolving the reposition a little processed subsequently by allowing applying virtual system only to register, and carrys out the process of the new extension point of simplify processes.
There is provided this general introduction to introduce some concepts that will further describe in the following detailed description in simplified form.This general introduction is not intended to the key feature or the essential feature that identify claimed subject, is not intended to the scope for limiting claimed subject yet.
Accompanying drawing is sketched
Fig. 1 is the block diagram of each assembly of the extension point virtualization system illustrated in one embodiment.
Fig. 2 illustrates that extension point virtualization system is in one embodiment for identifying extension point and arranging the process flow diagram of the process that application is redirected for identified extension point.
Fig. 3 is virtualization system in one embodiment for the process flow diagram of the process responded to the request visiting resource by extension point.
Describe in detail
This document describes extension point virtualization system, the heavily parsing point that this extension point virtualization system uses operating system to provide is registered to provide minimal expansion point.Heavily resolve point and retain application isolation while elimination writes the convergent-divergent problem of self-defined extension point agency for each extension point.By operating system being redirected to the virtual home of this application resource from the exemplary position of application resource to process many extension points.Such as, can be redirected previous application file being installed to operating system catalogue, those files to be installed to the catalogue of oneself (making it think file still in operating system catalogue even if applying virtual cheats this application) of this application.
File or catalogue can comprise heavily resolves a little, and this heavy parsing point is a set for user-defined data.The form of these data is stored application and the file system filter understanding of these data, and application developer installs this file system filter to explain these data and to process this file.When application arrange heavily resolve some time, these data of this application memory, add the heavily parsing label of its data just stored of unique identification.When file system opens the file with heavily resolving a little, this file system attempts finding and the file system filter of heavily resolving data layout that label identifies and being associated.If file system filter is found, then file processes as by heavy resolution data orientation by filtrator.If file system filter is not found, then file open operation failure.Such as, heavily resolve point to be used for realizing new technology file system link and MICROSOFT remote storage server (RSS).The file infrequently used moves in the longer-term storage of such as tape or optical medium and so on by the rule set of RSS use management person definition.RSS uses heavily parsing point the information relevant with file to be stored in file system.This information is stored in counterfoil file, and this counterfoil file comprises the heavily parsing point that its data point to the equipment that actual file is positioned at.File system filter can use this information to carry out retrieving files.Heavily resolve the file that point is also used for realizing carry.
Extension point virtualization system uses heavily parsing point to eliminate the demand of each extension point to self-defined agency.As an alternative, system can create be generally located at ought to virtual heavy resolve point Single document system filters, and for need be redirected extension point store heavily resolve point data.Such as, system a little can be associated heavily resolving with file or registry entry, and the concrete expansion object of no matter this file or registry entry.Thus, system also can usually process chartered position with heavily resolving the reposition a little processed subsequently by allowing applying virtual system only to register, and carrys out the process of the new extension point of simplify processes.
Applying virtualization collects file and the log-on data of an application, and places it in and be called as in the storage of bag, and this application is thought, and file and registry entries are local installations, even if they are not like this.The prior method registering extension point creates agency as each extension point.This agency can detect that system existed this bag, and resolves enough metadata to operating system registration extension point.When extension point is called, agency can be called, find correct bag and by hand over to this bag.As a comparison, the extension point virtualization system that text describes uses operating system facility, heavily resolve point (or the Symbolic Links in UNIX) minimizes registration extension point.Heavily resolving point is an operating system facility, this operating system facility teaching process system: when particular path is used in operating system application programming interface (API), operating system should change the alternative route finding data into.
Extension point virtualization system causes the position of being redirected in virtual package.By doing like this, system provides so a kind of mode: allow add new extension point and without the need to agency, continue to apply to isolate with operating system simultaneously.Adopt the example of " .txt " file type associations, realize the extension point of this technology to other types and work.File type associations has registry entry, this registry entry operating system is worked as order line that user is assigned to the path of executable file when operating system shell (shell) (such as MICROSOFTWINDOWS browser (Explorer)) clicks this file type associations.In default situations, registry entry data be " HKEY_CLASSES_ROOT txtfile shell open command=%SystemRoot% system32 NOTEPAD.EXE%1 ", these registry entry data make operating system notepad (Notepad) to open file.What extension point virtualization system detected registration " .txt " file type associations wraps in system, and be a little placed in this registration table by heavily resolving, make when shell open HKEY_CLASSES_ROOT txtfile shell open command time, this order will heavily be resolved to HKCR [APPGUID] txtfile shell open command.In this case, [APPGUID] wraps special Globally Unique Identifier (GUID).
This technology can be extended to other extension points, and those do not comprise single registry entries but comprise the extension point of the multiple registry entries across multiple position and file and catalogue.The applying virtual environment (such as MICROSOFTApp-V client computer) that extension point virtualization system wraps (this bag is data), representative bag performs registration and one group of extension point carry out work.Extension point can represent by declaratively extend markup language (XML) syntax, makes applying virtual environment can easily add new extension point, and does not require to change this environment or bag.
Fig. 1 is the block diagram of each assembly of the extension point virtualization system illustrated in one embodiment.System 100 comprise extension point identified component 110, extension point data store 120, applying virtual environment 130, extension point component registration 140, heavily resolve point create assembly 150, extension point access component 160 and an extension point be redirected assembly 170.Each in these assemblies discusses in detail herein further.
Extension point identified component 110 identifies extension point, and third party's programming code comes extended operation system or application by extension point.Such as, this assembly can detect registry entry, by the registrable application plug-in of registry entry so that by being used for calling.In some cases, the Message-based IPC of the performance of this application when being used for monitoring that application runs by keeper or other instruments, manually can identify extension point.Such as, keeper can use registration table supervision position to determine the registry-location applied or operating system reads.
Extension point data store 120 and store identified extension point with declaratively form.Extension point data store that 120 can comprise file (such as XML file), data block, network data store, based on cloud stores service or therefrom can retrieve other storage mediums of identified extension point list.Along with new extension point is found, keeper or applied environment author can pass in time and add new extension point, make even previous disposed virtualization applications all by benefiting from the operating system isolation of increase from the applied environment previously undetected amendment to operating system.In addition, independent software vendor (ISV) can contribute the application extension point of himself to store 120 for adding data to, and virtual and isolation is carried out in the application making it possible to more easily revise its application to those.
Applying virtual environment 130 provides the indirect rank between virtual application and master operating system.Wrapper can be very thin, thus allow application to run close to the machine, such as when application is designed to run on master operating system.Alternatively or additionally, wrapper can provide API, and other constraint condition met desired by the application of other operating system or operating system version design.Therefore, applying virtual environment 130 provides such environment to virtual application: use the available resources of master operating system to apply for this Environment Design.
Extension point component registration 140 detects the installation of quoting the virtual application bag of identified extension point.Assembly 140 is accessed extension point data storage 120 and is loaded identified extension point list, and is made comparisons by the bag that this list and user are called.If the coupling of finding, then assembly 140 calls and heavily resolves point and create an assembly 150 and create and heavily resolve a little, this heavy parsings point be redirected this application in case in application is wrapped searching extension point data.
Heavily resolve point create assembly 150 for identified extension point and quote identified extension point the virtual application bag detected create heavily resolve a little.Such as, if extension point component registration 140 detects the bag of register-file type association, then heavily parsing point creates an assembly 150 is that the registry entries establishment describing this application in file type associations is heavily resolved a little, to start this application when file type associations is called.Registry entries to be redirected to a position in the virtual application bag that detects by the point of heavily resolving created.
Extension point access component 160 detects the created access of heavily resolving a little, and invoke extensions point is redirected assembly 170, to make operating system find the data of specifying in the position be associated with the virtual application bag detected.Although describe as independent assembly, extension point virtualization system 100 can rely on default operating system behavior to be redirected to allow operating system to perform, and without the need to notifying extension point virtualization system 100.But operating system allows the registration of file system filter really, this file system filter is called when heavily resolving a little accessed, and system can use this function to carry out test access and perform self-defined process in certain embodiments.Such as, this debugging be just redirected for wherein application request and audit may be useful.
Extension point is redirected during assembly 170 makes operating system or is applied in the position that is associated with the virtual application bag detected to be found by heavily resolving the specific data a little quoted.As previously noticed, extension point virtualization system 100 can rely on the default behavior of operating system to be redirected according to heavily resolving an execution, and without the need to relating to extension point virtualization system 100.
The computing equipment it realizing extension point virtualization system can comprise CPU (central processing unit), storer, input equipment (such as, keyboard and pointing device), output device (such as, display device) and memory device (such as, disk drive or other non-volatile memory mediums).Storer and memory device are the computer-readable recording mediums can encoded with the computer executable instructions (such as, software) realized or enable this system.In addition, data structure and message structure can be stored or send via data transmission medium such as the signals on such as communication link.Various communication link can be used, such as the Internet, LAN (Local Area Network), wide area network, point-to-point dial-up connection, cellular phone network etc.
The embodiment of this system can realize in various operating environment, and these operating environments comprise personal computer, server computer, hand-held or laptop devices, multicomputer system, system based on microprocessor, programmable consumer electronics, digital camera, network PC, small-size computer, mainframe computer, to comprise in any said system or equipment any one distributed computing environment etc.Computer system can be cell phone, personal digital assistant, smart phone, personal computer, programmable consumer electronic device, digital camera etc.
This system can describe in the general context of the computer executable instructions such as the such as program module performed by one or more computing machine or other equipment.Generally speaking, program module comprises the routine, program, object, assembly, data structure etc. that perform particular task or realize particular abstract data type.Usually, the function of program module can carry out combining or distributing in various embodiments as required.
Fig. 2 illustrates that extension point virtualization system is in one embodiment for identifying extension point and arranging the process flow diagram of the process that application is redirected for identified extension point.Start in block 210, system banner extension point.Such as, system can receive extension point list for adding the storage of extension point data to from operating system supplier or ISV.Alternatively or additionally, the virtualization system developer of applying virtual or system manager is used manually can to identify extension point, such as by Message-based IPC instrument.
Continue in frame 220, identified extension point is added to extension point data and stores by system.The storage of extension point data can comprise the declaratively form of resource path listed known extensions point and be associated, such as XML file.When system apply detect the quoting of extension point path in bag time, system performs step described herein to isolate and the amendment of re-direction applications to operating system.Continue in decision box 230, if there is more extension points that will identify, then systemic circulation is to frame 210, otherwise system continues at frame 240 place.Notice, although convenient shown in same process flow diagram for explanation, abovementioned steps can occur dividually with following steps, and can occur on the basis of carrying out when new extension point is found.Equally, following steps repeatedly can occur many application when each virtualization applications is performed by system.
Continue in frame 240, system acceptance specifies the application of virtual application bag to perform request.Usually, this occurs when user runs the application from operating system shell, and this application is become will be virtualized by Administrator.Usually, this application is not even installed on the computing machine of user, but the computing machine of user comprises enough virtual application bags quoting to locate and run centralized stores (such as, on network).When virtual application bag is called, system is run applying virtual environment described herein as client computer and is carried out direct application virtualization process.
Continue in frame 250, system is made comparisons by one or more path of being quoted by virtual application bag and those paths in extension point data store, identifies one or more application extension point and quote in specified virtual application bag.Such as, apply by coming register-file type association or text processing application plug-in unit based on the extension point of registration.If in the list that registered location stores in extension point data, then system determines that extension point quoted by application bag.Continue in decision box 260, if systems axiol-ogy is quoted to extension point, then system continues at frame 270 place, otherwise system completes.
Continue in decision box 270, system creation is heavily resolved a little, identified application extension point is quoted the position isolated be redirected in specified virtual application bag.Heavily resolve point to make in application bag, to find data to the access of extension point, and stop the direct retouching operation system of application bag.Continue in decision box 280, if systems axiol-ogy is quoted to extra application extension point, then systemic circulation is heavily resolved a little to frame 270 additionally to quote establishment for each, otherwise system completes.After frame 280, these steps terminate.
Fig. 3 be in one embodiment, virtualization system is to the process flow diagram of the process that the request by extension point access resources responds.Start in a block 310, system acceptance quotes the resource access request of resource path.Such as, application can the file open type API that provides of call operation system, and is assigned to the path of the file that application request is opened.Alternatively or additionally, other application of such as operating system shell and so on can attempt access resources position, apply the function coming extended operation system or application by this resource location.
Continue in a block 320, extension point virtualization system detects the resource quoted in this path and whether comprises the heavily parsing point be associated.Such as, operating system can be found and the data wherein storing the resource of heavily resolving point data and be associated.Continue in decision box 330, if systems axiol-ogy is to heavily resolving a little, then system continues at frame 340 place, otherwise system completes.Continue in frame 340, extension point virtualization system identifies the virtual application bag be associated with quoted path.Such as, the application GUID(Globally Unique Identifier that point can comprise mark application bag is heavily resolved).System can comprise common methods application GUID being mapped to application bag, such as uses application GUID that application bag is stored in known location.
Continue in frame 350, resource request is redirected to identified virtual application bag by extension point virtualization system.Such as, resource request can be forwarded to registered file system driver by operating system after heavily parsing being detected, or processes request with default behavior, such as by request is redirected to the position of specifying.Exemplarily, system can replace with the file path be associated with virtual application bag the file path comprised in the request received.Continue in frame 360, extension point virtualization system responds to the resource request be redirected to the access of requested resource by providing.Such as, operating system can be opened identified file and provide file data in response to asking.Apply just as data also operate application its position of normal storage, and virtualization system amendment request is to point to the position that data are actually stored.Being redirected performed by heavily resolving a little, therefore no matter resource request comes self-application, another process or other resources, and applying virtualization all correctly works.After frame 360, these steps terminate.
In certain embodiments, extension point virtualization system carrys out storing applied data with APMB package form.APMB package can be any file layout that can store multiple alternative document and data type.Such as, common existing APMB package form comprises ZIP, CAB, RAR, SFT and other similar forms.Except allowing to store except multiple file with an archive format, APMB package generally includes compression for reducing file size and other features (such as encrypting).The APMB package of virtualization applications can comprise the data of registry hive, file, database and the other types used by virtual application.Operating system can the APMB package of carry as catalogue, volume, disk drive and other resources, makes virtual application can quote with the common operating system API that file and other resources are handled the item stored in APMB package.In certain embodiments, extension point virtualization system can be included in the virtual application data in the virtual executable file quoted, and makes to apply to be distributed as having from the single EXE file extracting data.Although text describes some examples, extension point virtualization system is not limited to any ad hoc fashion of storing applied data, and memory mechanism than that described above can be used to realize similar result.
Can find out from the foregoing description, be appreciated that the specific embodiment of extension point virtualization system described herein just for purpose of explanation, but, when without departing from the spirit and scope of the present invention, can various amendment be carried out.Therefore, the present invention only limits by claims.

Claims (15)

1. what computing machine performed also isolates for identifying extension point the method used the application of extension point, and described method comprises:
Mark extension point, described extension point provides the mode expanding extended operation system or application by third party;
Identified extension point is added to extension point data to store, the resource path that the storage of described extension point data comprises known extensions point and is associated;
Receive and specify the application of virtual application bag to perform request;
Made comparisons by one or more path that described virtual application bag is quoted and those paths in described extension point data store, in specified virtual application bag, identify one or more application extension point quote; And
Create and heavily resolve a little, identified application extension point to be quoted the position isolated be redirected in specified virtual application bag,
Wherein, step is above performed by least one processor.
2. the method for claim 1, is characterized in that, mark extension point comprises: receive extension point list from operating system supplier or independent software vendor (ISV).
3. the method for claim 1, is characterized in that, mark extension point comprises: come automatically to identify described extension point to the Message-based IPC instrument of the use of operating-system resources by detecting application.
4. the method for claim 1, is characterized in that, described known extensions point and the resource path be associated are listed in declaratively in form.
5. the method for claim 1, is characterized in that, receiving application execution request and comprises: receiving the user's request to running virtual application.
6. the method for claim 1, is characterized in that, receiving application execution request and comprises: receiving the request to performing application, and described application is not arranged on from the computer system of its reception described request by the machine.
7. the method for claim 1, is characterized in that, also comprises: after receiving described application and performing request, be invoked at the applying virtual environment of the application that wherein operation is asked.
8. the method for claim 1, is characterized in that, mark extension point is quoted and comprised: identify the request to register-file type association.
9. the method for claim 1, is characterized in that, creating heavily parsing point and comprises: specifying application identities symbol and replacement path to quote for accessing identified application extension point.
10. the method for claim 1, is characterized in that, creates heavily parsing point and also comprises: the master operating system performing described virtual application is directly revised in the virtual application specified by prevention.
11. 1 kinds of computer systems usually processing the virtual of operating system and application extension point, described system comprises:
Be configured to processor and the storer of executive software instruction;
Be configured to the extension point identified component identifying extension point, can be expanded by third party's programming code by described extension point operating system or application;
Extension point data store, and are configured to store with declaratively form the extension point identified;
Applying virtual environment, is configured to the indirect rank provided between virtual application and master operating system;
Extension point component registration, is configured to detect the installation of the virtual application bag quoting identified extension point;
Heavily resolve point and create assembly, be configured to identified extension point establishment and heavily resolve a little, the extension point identified points to the virtual application bag detected quoting identified extension point;
Extension point access component, is configured to detect and heavily resolves access a little and invoke extensions point is redirected assembly to created; And
Extension point is redirected assembly, is configured to make described master operating system or is applied in the position that is associated with the virtual application bag detected find by heavily resolving the specific data a little quoted.
12. systems as claimed in claim 11, is characterized in that, described extension point identified component be also configured to come automatically to identify extension point based on Message-based IPC in case the term of execution detect by applying the path accessed.
13. systems as claimed in claim 11, it is characterized in that, the storage of described extension point data comprises XML file, and described XML file comprises the list of identified extension point.
14. systems as claimed in claim 11, it is characterized in that, described extension point data store and are also configured to: pass in time and receive described new extension point when new extension point is found, and make the virtual application previously disposed can pass through to benefit from from the applied environment previously undetected amendment to described operating system the operating system isolation of increase.
15. systems as claimed in claim 11, it is characterized in that, described applying virtual environment is also configured to: provide to described virtual application and use the available resources of described master operating system to design the environment of described application for it.
CN201180008320.6A 2010-02-05 2011-02-04 For the method and system that virtualized extension point is declaratively registered Active CN102754073B (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/700,723 2010-02-05
US12/700,723 US9262187B2 (en) 2010-02-05 2010-02-05 Extension point declarative registration for virtualization
PCT/US2011/023801 WO2011097521A2 (en) 2010-02-05 2011-02-04 Extension point declarative registration for virtualization

Publications (2)

Publication Number Publication Date
CN102754073A CN102754073A (en) 2012-10-24
CN102754073B true CN102754073B (en) 2016-01-27

Family

ID=44354659

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201180008320.6A Active CN102754073B (en) 2010-02-05 2011-02-04 For the method and system that virtualized extension point is declaratively registered

Country Status (9)

Country Link
US (2) US9262187B2 (en)
EP (1) EP2531915B1 (en)
JP (1) JP5847734B2 (en)
KR (2) KR101774975B1 (en)
CN (1) CN102754073B (en)
AU (1) AU2011213666B2 (en)
CA (1) CA2786890C (en)
ES (1) ES2687792T3 (en)
WO (1) WO2011097521A2 (en)

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9003014B2 (en) * 2010-08-31 2015-04-07 International Business Machines Corporation Modular cloud dynamic application assignment
US9342368B2 (en) * 2010-08-31 2016-05-17 International Business Machines Corporation Modular cloud computing system
US10235147B2 (en) * 2011-08-26 2019-03-19 Microsoft Technology Licensing, Llc Discovery and activation of application extensions
US9092235B2 (en) 2012-05-25 2015-07-28 Microsoft Technology Licensing, Llc Virtualizing integrated calls to provide access to resources in a virtual namespace
CN103902265B (en) * 2012-12-26 2018-01-09 腾讯科技(深圳)有限公司 One kind applies implementation method and relevant apparatus
US9448830B2 (en) 2013-03-14 2016-09-20 Google Inc. Service bridges
CN104199894A (en) * 2014-08-25 2014-12-10 百度在线网络技术(北京)有限公司 Method and device for scanning files
US10089489B2 (en) * 2015-06-02 2018-10-02 ALTR Solutions, Inc. Transparent client application to arbitrate data storage between mutable and immutable data repositories
US20170060650A1 (en) * 2015-08-28 2017-03-02 Ncr Corporation Dynamic service extensibility
US10223378B2 (en) 2015-11-02 2019-03-05 Microsoft Technology Licensing, Llc Controlling reparse behavior associated with an intermediate directory
US20180059990A1 (en) * 2016-08-25 2018-03-01 Microsoft Technology Licensing, Llc Storage Virtualization For Files
CN108363931B (en) * 2018-02-13 2020-06-23 奇安信科技集团股份有限公司 Method and device for restoring files in isolation area
CN108304699B (en) * 2018-02-13 2020-07-14 奇安信科技集团股份有限公司 Method and device for protecting security software
US11029970B2 (en) * 2018-10-24 2021-06-08 Sap Se Operating system extension framework
CN110515598A (en) * 2019-08-30 2019-11-29 山东浪潮通软信息科技有限公司 A method of the integrated service based on order line form

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2365554B (en) * 2000-05-31 2004-09-01 Ibm Virtual machine support for multiple aplications
US7673308B2 (en) * 2002-11-18 2010-03-02 Symantec Corporation Virtual OS computing environment
US20050091658A1 (en) 2003-10-24 2005-04-28 Microsoft Corporation Operating system resource protection
US20060015601A1 (en) 2004-05-21 2006-01-19 Bea Systems, Inc. Console architecture
US7752600B2 (en) 2004-09-30 2010-07-06 Citrix Systems, Inc. Method and apparatus for providing file-type associations to multiple applications
US20060117018A1 (en) 2004-11-30 2006-06-01 Microsoft Corporation Method and system for caching remote files locally
US7493594B2 (en) 2005-03-14 2009-02-17 Research In Motion System and method for designing component based applications
US20060277537A1 (en) 2005-06-01 2006-12-07 International Business Machines Corporation Deployment of containers and container extensions in a modular code runtime platform through a runtime platform extension point
US20070033640A1 (en) 2005-07-22 2007-02-08 International Business Machines Corporation Generic context service in a distributed object environment
US20070156913A1 (en) 2005-12-30 2007-07-05 Hiroyuki Miyamoto Method for enabling extension points through plug-ins
US8108851B2 (en) 2006-01-30 2012-01-31 International Business Machines Corporation External registration for function configuration within a client platform application
US8719816B2 (en) * 2006-03-14 2014-05-06 University Of Utah Research Foundation Extendable framework for distributed applications and data
US8793584B2 (en) 2006-05-24 2014-07-29 International Business Machines Corporation Customizable user interface wrappers for web applications
US7715854B2 (en) * 2006-07-01 2010-05-11 The Boeing Company Method and apparatus for actively monitoring personal cellular devices and controlling access to a celluar communications network with an airborne mobile platform
CN101290584A (en) * 2007-04-17 2008-10-22 焦秀琴 Migrating software use mode based on system call wrapping technology
US8060812B2 (en) 2007-07-27 2011-11-15 International Business Machines Corporation Methods, systems, and computer program products for class verification
US8171483B2 (en) * 2007-10-20 2012-05-01 Citrix Systems, Inc. Method and system for communicating between isolation environments
US8990903B2 (en) 2007-11-09 2015-03-24 International Business Machines Corporation Extension point application and configuration of a login module
US8261254B2 (en) * 2008-03-31 2012-09-04 Symantec Corporation Dynamic insertion and removal of virtual software sub-layers
CN101593249B (en) 2008-05-30 2011-08-03 成都市华为赛门铁克科技有限公司 Suspicious file analyzing method and suspicious file analyzing system
US8307177B2 (en) * 2008-09-05 2012-11-06 Commvault Systems, Inc. Systems and methods for management of virtualization data

Also Published As

Publication number Publication date
AU2011213666A1 (en) 2012-08-02
WO2011097521A2 (en) 2011-08-11
US9262187B2 (en) 2016-02-16
AU2011213666B2 (en) 2014-05-01
CA2786890C (en) 2016-11-29
ES2687792T3 (en) 2018-10-29
KR20120139692A (en) 2012-12-27
JP5847734B2 (en) 2016-01-27
JP2013519168A (en) 2013-05-23
EP2531915A4 (en) 2014-05-21
KR20170103031A (en) 2017-09-12
CA2786890A1 (en) 2011-08-11
WO2011097521A3 (en) 2011-12-29
US20110197184A1 (en) 2011-08-11
EP2531915B1 (en) 2018-07-11
KR101774975B1 (en) 2017-09-05
CN102754073A (en) 2012-10-24
EP2531915A2 (en) 2012-12-12
US10331466B2 (en) 2019-06-25
KR101836058B1 (en) 2018-03-07
US20160162310A1 (en) 2016-06-09

Similar Documents

Publication Publication Date Title
CN102754073B (en) For the method and system that virtualized extension point is declaratively registered
CN102782648B (en) For the virtual environment that the server of such as WEB application and so on is applied
JP5026430B2 (en) Discover, qualify, and launch software add-in components
US8543641B2 (en) Method and system of application delivery through application template to client device
US7177865B2 (en) Data synchronization method and system
CN102460382B (en) Annotating virtual application processes
US20050055698A1 (en) Server-driven data synchronization method and system
US20120047239A1 (en) System and Method for Installation and Management of Cloud-Independent Multi-Tenant Applications
US8346854B2 (en) Method and system of operating system independence
US8627284B2 (en) Managed system extensibility
US10838745B2 (en) Loading dependency library files from a shared library repository in an application runtime environment
US8087015B2 (en) Assignment of application models to deployment targets
US11392391B2 (en) Selectively updating a bios image
US7562084B2 (en) System and method for mapping between instrumentation and information model
US20220004637A1 (en) Preventing discovery of unique identifiers in firmware
Vasilakis et al. The web as a distributed computing platform
WO2023140908A1 (en) Super-app extension discovery and configuration via source code management platform comments

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: 20150729

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150729

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