System and method for hosting an application in one of a plurality of execution environments
First Claim
1. A computer storage medium storing instructions for hosting an application in a computing system, the instructions to perform steps comprising:
- receiving an indication to execute the application;
examining the application to determine an appropriate hosting environment, wherein examining the application comprises examining a code of the application for an indicator that identifies the appropriate hosting environment and comprises invoking a browser server proxy associated with the application, wherein the browser server proxy causes the application to be examined to determine if the application is intended to be hosted in a first environment, wherein the code is the same for the first hosting environment and a second hosting environment, and wherein the indicator is located within the code and determines whether the first hosting environment or the second hosting environment is appropriate;
if the current hosting environment is not the appropriate hosting environment, invoking the application in the appropriate hosting environment; and
if the application is intended to be hosted in another hosting environment, the browser server proxy passes off the application to the other hosting environment, wherein passing off the application comprises issuing a false failure notification associated with launching the application.
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.
-
Citations
31 Claims
-
1. A computer storage medium storing instructions for hosting an application in a computing system, the instructions to perform steps comprising:
-
receiving an indication to execute the application; examining the application to determine an appropriate hosting environment, wherein examining the application comprises examining a code of the application for an indicator that identifies the appropriate hosting environment and comprises invoking a browser server proxy associated with the application, wherein the browser server proxy causes the application to be examined to determine if the application is intended to be hosted in a first environment, wherein the code is the same for the first hosting environment and a second hosting environment, and wherein the indicator is located within the code and determines whether the first hosting environment or the second hosting environment is appropriate; if the current hosting environment is not the appropriate hosting environment, invoking the application in the appropriate hosting environment; and if the application is intended to be hosted in another hosting environment, the browser server proxy passes off the application to the other hosting environment, wherein passing off the application comprises issuing a false failure notification associated with launching the application. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer-implemented method for hosting an application on a computing system, the method comprising:
-
identifying an instruction to launch the application in a first hosting environment; receiving at least a portion of the application; evaluating the portion of the application to determine an appropriate hosting environment for the application wherein evaluating the portion comprises; invoking a host sniffer component to analyze the portion of the application to determine if the appropriate hosting environment is one of a predetermined set of hosting environments, and invoking a browser server proxy associated with the application, wherein the browser server proxy causes the application to be examined to determine if the application is intended to be hosted in the first environment; and if the first hosting environment is consistent with the appropriate hosting environment, launching the application in the first hosting environment, wherein if the first hosting environment is inconsistent with the appropriate hosting environment, passing the application off to another component for further evaluation, wherein passing off the application comprises issuing a false failure notification associated with launching the application. - View Dependent Claims (8, 9, 10, 11, 12, 13)
-
-
14. A computer storage medium storing computer-executable components for hosting an application in a computer system, the computer-executable components comprising:
-
a first code server operative to host the application in a first execution mode; a second code server operative to host the application in a second execution mode; a host sniffer configured to examine code for the application to identify an appropriate hosting environment in which to host the application, the appropriate hosting environment being one of either the first execution mode or the second execution mode, wherein the host sniffer is configured to examine the application by examining the application for a declarative indicator of the appropriate hosting environment, wherein the declarative indicator is located within a code that is the same for the first execution mode and the second execution mode; and a handler component executing in either the first execution mode or the second execution mode and being operative to invoke the host sniffer to identify the appropriate hosting environment and to cause the application to be launched in the appropriate hosting environment, wherein if the application is not launched in the appropriate hosting environment passing the application off, wherein passing off the application comprises issuing a false failure notification associated with launching the application. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26)
-
-
27. A computer storage medium storing computer-executable components, the computer-executable components comprising:
-
a body of code including a declarative indicator identifying which of a plurality of distinct hosting environments the body of code is intended to be hosted in, wherein if the first hosting environment is inconsistent with the appropriate hosting environment, passing the application off to another component for further evaluation, wherein passing off the application comprises issuing a false failure notification associated with launching the application and wherein the plurality of distinct hosting environments comprises; at least one hosting environment being a standalone; at least the other hosting environment being a browser; and wherein the body of code hosted is the same in the standalone manner and the browser. - View Dependent Claims (28, 29, 30, 31)
-
Specification