Back to results
US 8,789,068 B2Granted
Method and system for changing execution environments during application execution
AssigneeOracle America, Inc.
InventorKenneth B. Russell
Life of this patent
Estimating the term…
Abstract
Some embodiments of the present invention provide a system that executes an application. During operation, the system starts the application using a web browser. Next, the system receives an execution environment change notification from a user of the application, and in response to the notification transitions the application to a second execution environment without interrupting the execution of the application.
Claims21
A method comprising:
- receiving an application at a first execution environment, wherein the first execution environment comprises a web browser, and wherein the application receives services by exchanging messages for the services with an execution environment;
- starting execution of the application using the first execution environment, wherein, while the application is executing using the first execution environment, the application connects to the web browser and receives a first set of services by using a first message passing service implementation to exchange a first set of messages with the web browser, wherein the first set of services comprises one or more of the services, and wherein the first set of messages comprises messages for the first set of services;
- receiving an execution environment change notification from a user of the application, wherein the execution environment change notification corresponds to a request to transition the application to a second execution environment;
- when the second execution environment is a compatible execution environment, transitioning the application from the first execution environment to the second execution environment without interrupting the execution of the application, wherein transitioning the application to the second execution environment involves dynamically replacing, during the execution of the application, the first message passing service implementation with a second message passing service implementation;
- and
- when the second execution environment is an incompatible execution environment, continuing the execution of the application by using the first message passing service implementation,
- wherein dynamically replacing the first message passing service implementation comprises disconnecting the application from the web browser, and wherein, while executing using the second execution environment, the application receives a second set of services by using the second message passing service implementation to exchange a second set of messages for the second set of services with the second execution environment, wherein the second set of services comprises one or more of the services,
- wherein the second message passing service implementation allows the application to run independently of the web browser, wherein allowing the application to run independently of the web browser comprises, while the application is executing using the second execution environment, ignoring a third set of messages from the web browser to the application so that the application is not affected by the third set of messages, wherein messages in the third set of messages correspond to commands for one or more of the services.
5 more elements
A system comprising:
- a processor coupled to memory comprising:
- a plugin configured to start an application using a first execution environment, wherein the first execution environment comprises a web browser;
- and
- a container configured to:
- receive the application at the first execution environment, wherein the application receives a set of services by exchanging messages for the services with an execution environment;
- start execution of the application in the first execution environment, wherein, while the application is executing using the first execution environment, the application connects to the web browser and receives a first set of services by using a first message passing service implementation to exchange a first set of messages with the web browser, wherein the first set of services comprises one or more of the services, and wherein the first set of messages comprises one or more messages for the first set of services;
- receive an execution environment change notification from a user of the application, wherein the execution environment change notification corresponds to a request to transition the application to a second execution environment;
- when the second execution environment is an incompatible execution environment, continuing the execution of the application by using the first message passing service implementation;
- when the second execution environment is a compatible execution environment, transition the application from the first execution environment to the second execution environment without interrupting the execution of the application, wherein transitioning the application to the second execution environment involves dynamically replacing, during the execution of the application, the first message passing service implementation with a second message passing service implementation;
- and
- wherein dynamically replacing the first message passing service implementation comprises disconnecting the application from the web browser,
- wherein, while executing using the second execution environment, the application continues to receive a second set of services by using the second message passing service implementation to exchange a second set of messages with the second execution environment, wherein the second set of services comprises one or more of the services, and wherein the second set of messages comprises one or more messages for the second set of services, and
- wherein the second message passing service implementation allows the application to run independently of the web browser, wherein allowing the application to run independently of the web browser comprises, while the application is executing using the second execution environment, ignoring a third set of messages from the web browser to the application so that the application is not affected by the third set of messages, wherein one or more messages in the third set of messages correspond to one or more commands for one or more of the services.
10 more elements
A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause:
- receiving an application at a first execution environment, wherein the first execution environment comprises a web browser, and wherein the application receives a set of services by exchanging messages for the services with an execution environment;
- starting execution of the application using the first execution environment, wherein, while the application is executing using the first execution environment, the application connects to the web browser and receives a first set of services by using a first message passing service implementation to exchange a first set of messages with the web browser, wherein the first set of services comprises one or more of the services, and wherein the first set of messages comprises one or more messages for the first set of services;
- receiving an execution environment change notification from a user of the application, wherein the execution environment change notification corresponds to a request to transition the application to a second execution environment;
- when the second execution environment is an incompatible execution environment, continuing the execution of the application by using the first message passing service implementation;
- when the second execution environment is a compatible execution environment, transitioning the application from the first execution environment to a second execution environment without interrupting the execution of the application, wherein transitioning the application to the second execution environment involves dynamically replacing, during the execution of the application, the first message passing service implementation with a second message passing service implementation;
- and
- wherein dynamically replacing the first message passing service implementation comprises disconnecting the application from the web browser,
- wherein, while executing using the second execution environment, the application receives a second set of services by using the second message passing service implementation to exchange a second set of messages with the second execution environment, wherein the second set of services comprises one or more of the services, and wherein the second set of messages comprises one or more messages for the second set of services, and
- wherein the second message passing service implementation allows the application to run independently of the web browser, wherein allowing the application to run independently of the web browser comprises, while the application is executing using the second execution environment, ignoring a third set of messages from the web browser to the application so that the application is not affected by the third set of messages, wherein one or more messages in the third set of messages correspond to one or more commands for one or more of the services.
6 more elements
Dependencies are inferred from the claim text.