Method and system for virtualization of software applications
First Claim
1. A method of executing one or more virtual applications from a single executable file, the method comprising:
- receiving a character string comprising a first parameter, a second parameter, and an identification of an executable file implementing a plurality of virtual applications, the executable file comprising a plurality of startup files each corresponding to one of the plurality of virtual applications;
executing a process of the executable file;
determining whether the executing process is a first process of the executable file to be executed based on presence or absence of a data structure associated with the executable file in a shared memory;
allocating a data structure in a shared memory associated with the executing process;
passing at least a portion of the character string to the executing process when the executing process is determined not to be the first process; and
when the executing process is determined to be the first process, parsing the character string to obtain the first and second parameters, identifying a particular one of the plurality of startup files, and executing the particular startup file, wherein identifying the particular startup file comprises;
determining the second parameter is a candidate trigger when the first parameter has a predetermined format,determining one of the plurality of startup files associated with the candidate trigger is the particular startup file when the candidate trigger is a member of a triggers list, anddetermining a predetermined one of the plurality of startup files is the particular startup file when the candidate trigger is not a member of the triggers list.
2 Assignments
0 Petitions
Accused Products
Abstract
A method of virtualizing an application to execute on a plurality of operating systems without installation. The method includes creating an input configuration file for each operating system. The templates each include a collection of configurations that were made by the application during installation on a computing device executing the operating system. The templates are combined into a single application template having a layer including the collection of configurations for each operating system. The collection of configurations includes files and registry entries. The collections also identifies and configures environmental variables, systems, and the like. Files in the collection of configurations and references to those files may be replaced with references to files stored on installation media. The application template is used to build an executable of the virtualized application. The application template may be incorporated into a manifest listing other application templates and made available to users from a website.
326 Citations
13 Claims
-
1. A method of executing one or more virtual applications from a single executable file, the method comprising:
-
receiving a character string comprising a first parameter, a second parameter, and an identification of an executable file implementing a plurality of virtual applications, the executable file comprising a plurality of startup files each corresponding to one of the plurality of virtual applications; executing a process of the executable file; determining whether the executing process is a first process of the executable file to be executed based on presence or absence of a data structure associated with the executable file in a shared memory; allocating a data structure in a shared memory associated with the executing process; passing at least a portion of the character string to the executing process when the executing process is determined not to be the first process; and when the executing process is determined to be the first process, parsing the character string to obtain the first and second parameters, identifying a particular one of the plurality of startup files, and executing the particular startup file, wherein identifying the particular startup file comprises; determining the second parameter is a candidate trigger when the first parameter has a predetermined format, determining one of the plurality of startup files associated with the candidate trigger is the particular startup file when the candidate trigger is a member of a triggers list, and determining a predetermined one of the plurality of startup files is the particular startup file when the candidate trigger is not a member of the triggers list. - View Dependent Claims (2, 3)
-
-
4. A non-transitory computer-readable medium comprising instructions that when executed by a processor perform a method of executing one or more virtual applications from a single executable file, the method comprising:
-
receiving a character string comprising a first parameter, a second parameter, and an identification of an executable file implementing a plurality of virtual applications, the executable file comprising a plurality of startup files each corresponding to one of the plurality of virtual applications; executing a process of the executable file; determining whether the executing process is a first process of the executable file to be executed based on presence or absence of a data structure associated with the executable file in a shared memory; allocating a data structure in a shared memory associated with the executing process; passing at least a portion of the character string to the executing process when the executing process is determined not to be the first process; and when the executing process is determined to be the first process, parsing the character string to obtain the first and second parameters, identifying a particular one of the plurality of startup files, and executing the particular startup file, wherein identifying the particular startup file comprises; determining the second parameter is a candidate trigger when the first parameter has a predetermined format, determining one of the plurality of startup files associated with the candidate trigger is the particular startup file when the candidate trigger is a member of a triggers list, and determining a predetermined one of the plurality of startup files is the particular startup file when the candidate trigger is not a member of the triggers list. - View Dependent Claims (5, 6)
-
-
7. A method comprising:
-
receiving a character string comprising a plurality of parameters and an identification of an executable file implementing a plurality of virtual applications, the executable file comprising a plurality of startup files each corresponding to one of the plurality of virtual applications, the plurality of parameters comprising first and second parameters; executing a process of the executable file; determining whether the executing process is a first process of the executable file to be executed based on presence or absence of a data structure associated with the executable file in a shared memory; allocating a data structure in a shared memory associated with the executing process; passing at least a portion of the character string to the executing process when the executing process is determined not to be the first process; and when the executing process is determined to be the first process, parsing the character string to obtain the plurality of parameters, identifying one or more of the plurality of startup files, and executing the identified one or more startup files, wherein identifying the one or more startup files comprises; determining the second parameter is a candidate trigger when the first parameter has a predetermined format, determining at least one of the plurality of startup files associated with the candidate trigger is the identified one or more startup files when the candidate trigger is a member of a triggers list, and determining a predetermined one or more of the plurality of startup files are the identified one or more startup files when the candidate trigger is not a member of the triggers list. - View Dependent Claims (8)
-
-
9. A system comprising one or more processors configured to execute instructions that when executed by the one or more processors perform a method comprising:
-
receiving a character string comprising a first parameter, a second parameter, and an identification of an executable file implementing a plurality of virtual applications, the executable file comprising a plurality of startup files each corresponding to one of the plurality of virtual applications; executing a process of the executable file; determining whether the executing process is a first process of the executable file to be executed based on presence or absence of a data structure associated with the executable file in a shared memory; allocating a data structure in a shared memory associated with the executing process; passing at least a portion of the character string to the executing process when the executing process is determined not to be the first process; and when the executing process is determined to be the first process, parsing the character string to obtain the first and second parameters, identifying a particular one of the plurality of startup files, and executing the particular startup file, wherein identifying the particular startup file comprises; determining the second parameter is a candidate trigger when the first parameter has a predetermined format, determining one of the plurality of startup files associated with the candidate trigger is the particular startup file when the candidate trigger is a member of a triggers list, and determining a predetermined one of the plurality of startup files is the particular startup file when the candidate trigger is not a member of the triggers list. - View Dependent Claims (10, 11)
-
-
12. A system comprising one or more processors configured to execute instructions that when executed by the one or more processors perform a method comprising:
-
receiving a character string comprising a plurality of parameters and an identification of an executable file implementing a plurality of virtual applications, the executable file comprising a plurality of startup files each corresponding to one of the plurality of virtual applications, the plurality of parameters comprising first and second parameters; executing a process of the executable file; determining whether the executing process is a first process of the executable file to be executed based on presence or absence of a data structure associated with the executable file in a shared memory; allocating a data structure in a shared memory associated with the executing process; passing at least a portion of the character string to the executing process when the executing process is determined not to be the first process; and when the executing process is determined to be the first process, parsing the character string to obtain the plurality of parameters, identifying one or more of the plurality of startup files, and executing the identified one or more startup files, wherein identifying the one or more startup files comprises; determining the second parameter is a candidate trigger when the first parameter has a predetermined format, determining at least one of the plurality of startup files associated with the candidate trigger is the identified one or more startup files when the candidate trigger is a member of a triggers list, and determining a predetermined one or more of the plurality of startup files are the identified one or more startup files when the candidate trigger is not a member of the triggers list. - View Dependent Claims (13)
-
Specification