Linking virtualized application namespaces at runtime

US9575774B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-9575774-B2
Application numberUS-42947209-A
CountryUS
Kind codeB2
Filing dateApr 24, 2009
Priority dateApr 25, 2008
Publication dateFeb 21, 2017
Grant dateFeb 21, 2017

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

A method for linking a plurality of virtualized application packages for execution on a computer system is described. A runtime executable of a primary virtualized application package is launched. A secondary virtualized application package to be merged with the primary virtualized application package is identified. In one embodiment, application settings and file data for the first and second virtualized application packages are merged into a single data structure. An execution layer is created by starting execution of one of the application files associated with the primary virtualized application package. Requests from the execution layer to the operating system for configuration settings and contents of application files of either the primary virtualized application package or secondary virtualized application package and providing requested configuration settings are satisfied using configuration settings and file information from both the primary and secondary virtualized application packages.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for linking a plurality of virtualized application packages for execution on a computer system, each virtualized application package comprising configuration settings and file data, the file data comprising contents of a plurality of application files and mapping information for each of the plurality of application files, the mapping information associating a file path of each of the plurality of application files to an actual location of the contents of a corresponding application file of the plurality of application files, the file path identifying a virtual location of the corresponding application files in a logical structure of a hierarchical disk directory, the virtual location being a location that the application file would be copied to, had the virtualized application package been directly installed on the computer system, the method comprising: identifying a primary application package installed on the computer system; determining that the primary application package is dependent on a secondary application package for execution; prior to virtualizing the primary application package, determining whether a virtualized secondary application package is accessible, wherein the virtualized secondary application package includes a first application virtualization layer; in response to determining that the secondary virtualized application package is accessible, virtualizing the primary application package, wherein the primary virtualized application package includes a second application virtualization layer that is isolated from the first application virtualization layer; configuring the primary virtualized application package to merge-in the virtualized secondary application package when a runtime executable is launched, wherein the merge-in provides a gateway from the primary virtualized application package to the virtualized secondary application package; launching a runtime executable for the primary virtualized application package; launching an execution layer by starting execution of one of the application files associated with the primary virtualized application package; intercepting requests from the execution layer to an operating system for configuration settings of either the primary virtualized application package or the secondary virtualized application package; providing requested configuration settings using the configuration settings from a corresponding one of the primary virtualized application package and the secondary virtualized application packages; intercepting file operations from the execution layer to the operating system for one of the application files of either the primary virtualized application package or the secondary virtualized application package; and using the mapping information from the primary virtualized application package and the mapping information from the secondary virtualized application package to identify a location of contents of one file to satisfy the file operations. 2. The method of claim 1 , wherein the primary virtualized application package and the secondary virtualized application packages each comprise a single file containing the plurality of application files, and wherein the mapping includes, for each of the application files, an offset and length of the application file, the offset being a position within the single file of the contents of the application file. 3. The method of claim 1 , wherein the configuration settings are stored in a hierarchical data tree structure, the method further comprising: prior to the launching of the execution layer, merging the configuration settings of the primary virtualized application package and the configuration settings of the secondary virtualized application package to create a merged data tree structure containing configuration settings from both the primary virtualized application package and the secondary virtualized application package; and wherein the providing of the requested configuration settings comprises accessing the merged data tree structure to satisfy the request. 4. The method of claim 1 , further comprising: prior to the launching of the execution layer, creating a single data structure formed from the mapping information for the primary virtualized application package and the mapping information for the secondary virtualized application package, wherein the using of the mapping information to satisfy intercepted disk I/O requests comprises accessing the single data structure to identify the location of the contents of the one file. 5. The method of claim 4 , wherein the single data structure is a tree data structure, wherein each branch of the tree data structure corresponds to a folder in the hierarchical disk directory, and each leaf of the tree data structure corresponds to one of the application files. 6. The method of claim 5 , wherein the configuration settings are stored in a hierarchical data tree structure, the method further comprising: prior to the launching of the execution layer, merging the configuration settings of the primary virtualized application package and the configuration settings of the secondary virtualized application package to create a merged data tree structure containing configuration settings from both the primary virtualized application package and the secondary virtualized application package; and grafting the single data structure to the merged data tree structure to create a single merged data tree. 7. The method of claim 1 , wherein each of the plurality of virtualized application packages comprise a single file containing the runtime executable, the configuration settings, and the file data. 8. The method of claim 1 , wherein the secondary virtualized application package includes a run-time library required by the primary virtualized application package for execution. 9. The method of claim 1 , wherein the secondary virtualized application package includes a plug-in usable by the primary virtualized application package. 10. The method of claim 1 , wherein the virtualization layer is implemented by the runtime executable. 11. The method of claim 1 , wherein, for each of the virtualized application packages, configuration settings and file data are obtained by comparing snapshots of a file system and the operating system configuration settings of the computer system before and after actual installation of a corresponding application package to the computer system. 12. A machine readable storage medium embodying computer program instructions for linking a plurality of virtualized application packages for execution on a computer system each virtualized application package comprising configuration settings and file data, the file data comprising contents of a plurality of application files and mapping information for each of the plurality of application files, the mapping information associating a file path of each of the plurality of application files to an actual location of the contents of a corresponding application file of the plurality of application files, the file path identifying a virtual location of the corresponding application files in a logical structure of a hierarchical disk directory, the virtual location being a location that the application file would be copied to, had the application files encapsulated by the virtualized application package been directly installed on the computer system, the computer program instructions causing the computer system to implement a method, the method comprising: identifying a primary application package installed on the computer system; determining that the primary application package is dependent on a secondary application package for

Assignees

Inventors

Classifications

  • G06F9/445Primary

    Program loading or initiating (bootstrapping G06F9/4401; security arrangements for program loading or initiating G06F21/57) · CPC title

  • Physics · mapped topic

  • Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines · CPC title

  • Techniques for file synchronisation in file systems · CPC title

  • Schema design and management · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9575774B2 cover?
A method for linking a plurality of virtualized application packages for execution on a computer system is described. A runtime executable of a primary virtualized application package is launched. A secondary virtualized application package to be merged with the primary virtualized application package is identified. In one embodiment, application settings and file data for the first and second …
Who is the assignee on this patent?
Clark Jonathan, Vmware Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/445. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Feb 21 2017 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).