Hosting an application in one of a plurality of execution environments
First Claim
1. A client device a computer-readable storage medium storing computer-executable components, the client device comprising:
- a first hosting environment;
a second hosting environment;
a code host mechanism resident within the client device; and
a body of code received by the client device to be hosted in either the first or the second hosting environment,wherein the body of code is essentially the same for the first hosting environment and the second hosting environment,wherein the code host mechanism evaluates the body of code to determine the presence of a particular function call within the body of code, wherein the function, when compiled, results in a byte signature within an executable code, the byte signature being indicative of the function call,wherein;
in the event that the body of code includes the particular function call, the code host mechanism operates to cause the body of code to be hosted in the first hosting environment;
in the event that the body of code does not include the particular function call, then the code host mechanism operates to cause the body of code to be hosted in second hosting environment.
2 Assignments
0 Petitions
Accused Products
Abstract
Described is a mechanism for executing a hosted application in either a browser-execution environment or as a standalone application. The invention provides a mechanism that enables hosting code in either of plural hosting environments. Briefly stated, code is created that executes in a common execution environment. That execution environment can be either owned by a browser or not. When the code is launched, a host sniffer component determines from an indicator within the code which hosting environment is appropriate. Based on that indicator, the code is launched in the appropriate hosting environment. The appropriate hosting environment may be either browser hosted or standalone.
30 Citations
18 Claims
-
1. A client device a computer-readable storage medium storing computer-executable components, the client device comprising:
-
a first hosting environment; a second hosting environment; a code host mechanism resident within the client device; and a body of code received by the client device to be hosted in either the first or the second hosting environment, wherein the body of code is essentially the same for the first hosting environment and the second hosting environment, wherein the code host mechanism evaluates the body of code to determine the presence of a particular function call within the body of code, wherein the function, when compiled, results in a byte signature within an executable code, the byte signature being indicative of the function call, wherein; in the event that the body of code includes the particular function call, the code host mechanism operates to cause the body of code to be hosted in the first hosting environment; in the event that the body of code does not include the particular function call, then the code host mechanism operates to cause the body of code to be hosted in second hosting environment. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computer-readable storage medium storing computer-executable components for hosting an executable file in a client device, the computer-executable components comprising:
-
a default hosting environment in the client device; an alternate hosting environment in the client device; an executable file for hosting within the client device, comprising; a first portion including computer-executable instructions operative for performing operations; and a second portion including a function call which, when invoked, is operative to cause the executable file to be executed in the alternative hosting environment, wherein the function, when compiled, results in a byte signature within the executable code, the byte signature being indicative of the function call ;
anda handler component, executing in either the default hosting environment or the alternate hosting environment, to facilitate the launch of the executable file in either the default hosting environment or the alternate hosting environment, wherein; in the event that the executable file invokes the function, the executable file is launched in the alternative hosting environment; in the event that the executable file does not invoke the function, the executable file is launched in the default hosting environment. - View Dependent Claims (9, 10, 11)
-
-
12. A computer-executable method of hosting an executable file in a hosting environment, the method comprising:
-
providing a default hosting environment for the executable file; providing an alternative hosting environment for the executable file; providing a shell environment that is operative to launch the executable file in the default hosting environment common to other executable files; providing a function that, if called by the executable file, is operative to cause the executable file to be launched in the alternative hosting environment, wherein the function, when compiled, results in a byte signature within the executable file, the byte signature being indicative of the function call; and invoking a handler component within the shell environment, wherein the handler component determines if the executable file is configured to call the function, wherein in the event the handler component determines that the executable file is configured to call the function, the handler component facilitates the launch of the executable file, wherein; in the event that the executable file calls the function, the executable file is launched in the alternative hosting environment; in the event that the executable file does not call the function, the executable file is launched in the default hosting environment, wherein a determination of whether to launch the executable file in either the default hosting environment or the alternative hosting environment is based substantially exclusively on the executable file being configured to call the function. - View Dependent Claims (13, 14, 15, 16, 17, 18)
-
Specification