# US 8,543,641 B2 · Method and system of application delivery through application template to client device

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

- Number: US 8,543,641 B2
- Document ID: US8543641B2
- Status: Granted
- Kind: B2
- Application number: 12/826,696
- Filed: 2010-06-30
- Published: 2012-01-05
- Granted: 2013-09-24
- Earliest claimed: 2010-06-30
- Assignees: Deskstream, Inc.
- Applicants: Rao Cherukuri; Rajavel Lenin
- Inventors: Rao Cherukuri; Rajavel Lenin
- Web page: https://patentgrep.com/patent/US8543641B2

## CPC

- G06Q 10/10: Office automation; Time management
- G06F 8/60: Software deployment
- G06F 9/455: Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines
- G06Q: INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

In one embodiment, a method of a client device includes accessing an application through an application template. The application template resides on server device. The method also includes accessing application based on a response to request of a user interface. In addition, the method includes processing the application through a processor such that the application accesses the application template such that the client device permits an access of the application through the application template. The method further includes executing the application through the application template such that an execution of the application through the application template emulates the execution of the application installed on an operating system of the client device. The method also includes executing a function of the application template based on a demand of a user through the response to the request of the user such that the file is accessed when required by the application.

## Claims

### Claim 1

A method of a client device having an operating system and a user interface, the client device being operatively coupled to a server device through a network, the method comprising:
creating, at the server device, a virtual container wherein creating the virtual container comprises: creating a base template comprising folder structures of the client device copied from the client device to the server device and creating based on the base template one or more application templates, wherein each application template provides the client device access to one application of a one or more applications;
accessing, on-demand, the one or more applications through the one or more application templates based on one or more requests provided through the user interface; and
executing the one or more applications through the one or more application templates such that the execution of the one or more applications through the one or more application templates emulates an execution of the one or more applications installed on the operating system of the client device.

### Claim 2 (depends on 1)

The method of claim 1, wherein, the application template comprises one of an executable, a library, an image, a configuration file, and a registry key such that the application through the application template is accessible to the client device and another client device through the application template, the application template of the client device and the application template of the another client device being the same.

### Claim 3 (depends on 1)

The method of claim 1, further comprising:
translating between the application template and the operating system of the client device based on the type of the operating system such that the application is accessible to a user of the client device; and
processing one of a registry structure and a directory structure such that the application is accessible to the user of the client device based on a translation between the application template and the operating system of the client device.

### Claim 4 (depends on 3)

The method of claim 3, further comprising:
creating the application template through a user interface of an administrator of the client device;
creating the application template such that the application template is coupled to one of the registry structure and the directory structure such that the application is accessible to the user of the client device; and
creating the application template such that the application template is editable through the user interface of the administrator.

### Claim 5 (depends on 4)

The method of claim 4, further comprising:
permitting an update of the application through a patch applied to the application template through the user interface of the administrator;
creating the application template comprising the patch such that the application template comprising the patch is accessible to the user of the client device; and
accessing automatically the application template comprising the patch through the client device such that the application template comprising the patch is accessed when the application is requested.

### Claim 6 (depends on 1)

The method of claim 1, further comprising:
caching a file of the application template on the client device such that a latency is reduced when running the application through the server.

### Claim 7 (depends on 2)

The method of claim 2, further comprising:
creating a file system based on the file of a layer such that the file of the layer, another file of another layer, and yet another file of yet another layer are accessible to a user of the application, wherein the layer is a desktop layer, the another layer is a template layer, and the yet another layer is a host layer, such that the file of the desktop layer is prioritized over the file of the template layer and the template layer is prioritized over the host layer.

### Claim 8 (depends on 7)

The method of claim 7, further comprising:
creating a registry system based on an algorithm, wherein the algorithm maps the registry key and a registry value of the layer, the another layer, and the yet another layer, such that the registry key and the registry value are accessible through the registry system.

### Claim 9 (depends on 1)

The method of claim 1, further comprising:
executing the application through the application template such that a setting is customizable through a response of the request of the user such that the setting is accessible to the user when the application is accessed.

### Claim 10 (depends on 1)

The method of claim 1, further comprising:
accessing the application template through a software as a service model through a cloud environment such that the application is accessible through the application template, wherein the user of the client device and another user of another client device access the application through the application template, wherein the application template of the client device and the application template of the another client device are the same.

### Claim 11 (depends on 1)

The method of claim 1, in a form of a non-transitory machine-readable medium embodying a set of instructions that, when executed by a machine, causes the machine to perform the method of claim 1.

### Claim 12

A method of a server device, the server device being operatively coupled through a network to a client device having an operating system and a user interface, the method comprising:
creating, at the server device, a virtual container wherein creating the virtual container comprises: creating a base template comprising folder structures of the client device copied from the client device to the server device, creating based on the base template one or more application templates, and creating one or more translation files, wherein each application template provides the client device access to one application of a one or more applications;
permitting the client device to access the one or more applications on-demand through the one or more application templates;
and determining a translation file based on a type of the operating system of the client device such that the one or more applications are accessible to a user of the client device.

### Claim 13 (depends on 12)

The method of claim 12, wherein,
the application template comprises one of an executable, a library, an image, a configuration file, and a registry key.

### Claim 14 (depends on 12)

The method of claim 12, further comprising:
permitting access of another application of the client device such that the another application is accessible through another application template, wherein the another application template replaces the application template such that the another application template is a later version of the application template.

### Claim 15 (depends on 12)

The method of claim 12, further comprising:
permitting the access of the application through the application template such that a setting is customizable through a response of a request of the user such that the setting is accessible to the user when the application is accessed.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
accessing a file of the application template based on a demand of the user through the response to the request of the user such that the file is accessed when required of the application.

### Claim 17 (depends on 12)

The method of claim 12, further comprising:
permitting the access of the application template through a software as a service model through a cloud environment such that the application is accessible through the application template, wherein the user of the client device and another user of another client device access the application through the application template, wherein the application template of the client device and the application template of the another client device are the same.

### Claim 18 (depends on 12)

The method of claim 12, further comprising:
permitting the access of the application through the application template such that the application is accessible to the client device and another client device through the application template, wherein the application template of the client device and the application template of the another client device are the same.

### Claim 19 (depends on 12)

The method of claim 12, further comprising:
permitting the access of the application through a binary module coupled to the application template, wherein the binary module emulates a set of a function call between the application and the operating system of the client device.

### Claim 20

A system comprising:
a client device having an operating system and a user interface;
a network; and
a server operatively coupled to the client device through the network, the server having a virtual container comprising: a base template comprising folder structures of the client device copied from the client device to the server device and one or more application templates created based on the base template, wherein each application template provides the client device access to one application of a one or more applications;
wherein the client device is configured to access, on-demand, the one or more applications through the one or more application templates based on one or more requests provided through the user interface; and
wherein the client device is further configured to execute the one or more applications through the one or more application templates such that the execution of the one or more applications through the one or more application templates emulates an execution of the application installed on the operating system of the client device.
