# US 2020/0401387 A1 · Unified management of heterogeneous applications

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2020/0401387 A1
- Document ID: US20200401387A1
- Status: Published application
- Kind: A1
- Application number: 16/444,934
- Filed: 2019-06-18
- Published: 2020-12-24
- Earliest claimed: 2019-06-18
- Assignees: VMware, Inc.
- Applicants: VMware, Inc.
- Inventors: Sisimon SOMAN; Jairam CHOUDHARY; Vignesh Raja JAYARAMAN
- Web page: https://patentgrep.com/patent/US20200401387A1

## CPC

- G06F 8/61: Installation
- G06F 8/63: {Image based installation; Cloning; Build to order}
- G06F 9/45508: {Runtime interpretation or emulation, e g. emulator loops, bytecode interpretation}
- G06F 9/45558: {Hypervisor-specific management and integration aspects}
- G06F 16/188: Virtual file systems
- G06F 9/445: Program loading or initiating (bootstrapping G06F9/4401; security arrangements for program loading or initiating G06F21/57)
- G06F 2009/45579: {I/O management, e.g. providing access to device drivers or storage}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

Certain embodiments described herein are generally directed to executing applications on a computing device. In some embodiments, a method includes receiving, by an app store interface, a first distribution package from an app store, the first distribution package comprising a first virtual disk file comprising an application. The method further includes opening, by an application agent, the first virtual disk file based on a file type association (FTA) between the first virtual disk file and the application agent. The method further includes storing, by the application agent, the application in a second virtual disk file. The method also includes mounting the second virtual disk file at the computing device. The method also includes executing the application stored on the mounted second virtual disk file.

## Claims

### Claim 1

A method of executing applications on a computing device, the method comprising:
receiving, by an app store interface, a first distribution package from an app store, the first distribution package comprising a first virtual disk file comprising an application;
opening, by an application agent, the first virtual disk file based on a file type association (FTA) between the first virtual disk file and the application agent;
storing, by the application agent, the application in a second virtual disk file;
mounting the second virtual disk file at the computing device; and
executing the application stored on the mounted second virtual disk file.

### Claim 2 (depends on 1)

The method of claim 1, wherein the application agent is configured to generate the FTA between the first virtual disk file and the application agent.

### Claim 3 (depends on 1)

The method of claim 1, further comprising unpacking, by the app store interface, the first virtual disk file from the first distribution package, wherein the unpacking is configured to extract data corresponding to the application from the first distribution package.

### Claim 4 (depends on 1)

The method of claim 1, further comprising unpacking, by the app store interface, the first virtual disk file from the first distribution package within a container environment configured to isolate app store interface processes from a process outside of the container environment, wherein the FTA causes the app store interface to call the process outside of the container environment to open the unpacked first virtual disk file.

### Claim 5 (depends on 1)

The method of claim 1, wherein the first distribution package further comprises an installer file configured to install the application agent on the computing device, and wherein the method further comprises:
unpacking, by the app store interface, the installer file from the first distribution package;
calling, by the app store interface, an operating system of the computing device to install the application agent utilizing the installer file; and
unpacking, by the app store interface, the first virtual disk file from the first distribution package after calling the operating system to install the application agent.

### Claim 6 (depends on 1)

The method of claim 1, wherein the first distribution package further comprises a third virtual disk file, the third virtual disk file comprising additional data not included in the first virtual disk file, wherein the additional data is configured to enable the application of the first virtual disk file to execute a function.

### Claim 7 (depends on 6)

The method of claim 6, further comprising:
opening, by the application agent, the third virtual disk file after storing the application in the second virtual disk file; and
merging, by the application agent, the additional data of the third virtual disk file into the second virtual disk file to enable the application to execute the function.

### Claim 8 (depends on 6)

The method of claim 6, wherein the first distribution package is configured to control an order in which the app store interface receives the first virtual disk file and the third virtual disk file.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
receiving, by the app store interface, a second distribution package from the app store, the second distribution package comprising a third virtual disk file comprising additional data not included in the first virtual disk file, wherein the additional data is configured to enable the application of the first virtual disk file to execute a function; and
merging, by the application agent, the additional data into the second virtual disk file after storing the application of the first virtual disk file in the second virtual disk file, wherein merging the additional data comprises one or more of:
a merged view of the additional data in the second virtual disk file, or
a physical copy of the additional data in the second virtual disk file.

### Claim 10

A non-transitory computer-readable storage medium comprising instructions that, when executed in a computing device, perform a method of executing applications on a computing device, the method comprising:
receiving, by an app store interface, a first distribution package from an app store, the first distribution package comprising a first virtual disk file comprising an application;
opening, by an application agent, the first virtual disk file based on a file type association (FTA) between the first virtual disk file and the application agent;
storing, by the application agent, the application in a second virtual disk file;
mounting the second virtual disk file at the computing device; and
executing the application stored on the mounted second virtual disk file.

### Claim 11 (depends on 10)

The method of claim 10, wherein the application agent is configured to generate the FTA between the first virtual disk file and the application agent.

### Claim 12 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the method further comprises unpacking, by the app store interface, the first virtual disk file from the first distribution package, wherein the unpacking is configured to extract data corresponding to the application from the first distribution package.

### Claim 13 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the method further comprises unpacking, by the app store interface, the first virtual disk file from the first distribution package within a container environment configured to isolate app store interface processes from a process outside of the container environment, wherein the FTA causes the app store interface to call the process outside of the container environment to open the unpacked first virtual disk file.

### Claim 14 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the first distribution package further comprises an installer file configured to install the application agent on the computing device, and wherein the method further comprises:
unpacking, by the app store interface, the installer file from the first distribution package;
calling, by the app store interface, an operating system of the computing device to install the application agent utilizing the installer file; and
unpacking, by the app store interface, the first virtual disk file from the first distribution package after calling the operating system to install the application agent.

### Claim 15 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the first distribution package further comprises a third virtual disk file, the third virtual disk file comprising additional data not included in the first virtual disk file, wherein the additional data is configured to enable the application of the first virtual disk file to execute a function.

### Claim 16 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the method further comprises:
opening, by the application agent, the third virtual disk file after storing the application in the second virtual disk file; and
merging, by the application agent, the additional data of the third virtual disk file into the second virtual disk file to enable the application to execute the function.

### Claim 17 (depends on 15)

The non-transitory computer-readable storage medium of claim 15, wherein the first distribution package is configured to control an order in which the app store interface receives the first virtual disk file and the third virtual disk file.

### Claim 18 (depends on 10)

The non-transitory computer-readable storage medium of claim 10, wherein the method further comprises:
receiving, by the app store interface, a second distribution package from the app store, the second distribution package comprising a third virtual disk file comprising additional data not included in the first virtual disk file, wherein the additional data is configured to enable the application of the first virtual disk file to execute a function; and
merging, by the application agent, the additional data into the second virtual disk file after storing the application of the first virtual disk file in the second virtual disk file, wherein merging the additional data comprises one or more of:
a merged view of the additional data in the second virtual disk file, or
a physical copy of the additional data in the second virtual disk file.

### Claim 19

A computing device, comprising:
a processor; and
a memory communicatively coupled to the processor, wherein the memory includes a program executable in the processor to perform a method for executing an application, the method comprising:
receiving, by an app store interface, a first distribution package from an app store, the first distribution package comprising a first virtual disk file comprising the application;
opening, by an application agent, the first virtual disk file based on a file type association (FTA) between the first virtual disk file and the application agent;
storing, by the application agent, the application in a second virtual disk file;
mounting the second virtual disk file at the computing device; and
executing the application stored on the mounted second virtual disk file.

### Claim 20 (depends on 19)

The computing device of claim 19, wherein the method further comprises unpacking, by the app store interface, the first virtual disk file from the first distribution package, wherein the unpacking is configured to extract data corresponding to the application from the first distribution package.
