System and method for reducing startup cost of a software application
First Claim
1. A computer-implemented method, comprising:
- at a computing device having one or more processors and memory storing programs executed by the one or more processors;
initializing a main application on a first thread, the main application configured to exchange information with a target application that provides local services for the main application;
after the main application performs one or more first startup operations;
allowing user interaction with the main application;
initializing an assistant process on a second thread, the assistant process configured to exchange information with the target application as a stand-in for the main application and to exchange information with the main application derived from operations performed by the target application, including one or more second startup operations with more startup costs than the one or more first startup operations; and
in response to a request from the main application, performing the one or more second startup operations at the target application with the assistant process, deferring a portion of the startup cost of the main application to the assistant process.
2 Assignments
0 Petitions
Accused Products
Abstract
A computing device has one or more processors and memory storing programs executed by the one or more processors. The computing device initializes a main application on a first thread. The main application has a first synchronous connection with a target application. After the main application performs one or more operations at the target application through the first synchronous connection, the computing device initializes an assistant process on a second thread. The assistant process has a second synchronous connection with the target application and an asynchronous connection with the main application. After receiving a request from the main application through the asynchronous connection, the assistant process performs one or more operations at the target application through the second synchronous connection.
-
Citations
28 Claims
-
1. A computer-implemented method, comprising:
- at a computing device having one or more processors and memory storing programs executed by the one or more processors;
initializing a main application on a first thread, the main application configured to exchange information with a target application that provides local services for the main application; after the main application performs one or more first startup operations; allowing user interaction with the main application; initializing an assistant process on a second thread, the assistant process configured to exchange information with the target application as a stand-in for the main application and to exchange information with the main application derived from operations performed by the target application, including one or more second startup operations with more startup costs than the one or more first startup operations; and in response to a request from the main application, performing the one or more second startup operations at the target application with the assistant process, deferring a portion of the startup cost of the main application to the assistant process. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13)
- at a computing device having one or more processors and memory storing programs executed by the one or more processors;
-
14. A computer system, comprising:
-
one or more processors; memory; and one or more programs, wherein the one or more programs are stored in the memory and configured to be executed by the one or more processors, the one or more programs including; instructions for initializing a main application on a first thread, the main application configured to exchange information with a target application that provides local services for the main application; instructions for allowing user interaction with the main application and initializing an assistant process on a second thread after the main application performs one or more first startup operations the assistant process configured to exchange information with the target application as a stand-in for the main application and to exchange information with the main application derived from operations performed by the target application, including one or more second startup operations with more startup costs than the one or more first startup operations; and
in response to a request from the main application, performing the one or more second startup operations at the target application with the assistant process, deferring a portion of the startup cost of the main application to the assistant process. - View Dependent Claims (15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A non-transitory computer readable storage medium and one or more computer programs embedded therein, the one or more computer programs comprising instructions, which when executed by a computer system, cause the computer system to:
-
initialize a main application on a first thread, the main application configured to exchange information with a target application that provides local services for the main application; after the main application performs one or more first startup operations; allowing user interaction with the main application; initialize an assistant process on a second thread, the assistant process configured to exchange information with the target application as a stand-in for the main application and to exchange information with the main application derived from operations performed by the target application, including one or more second startup operations with more startup costs than the one or more first startup operations; and in response to a request from the main application, performing the one or more second startup operations at the target application with the assistant process, deferring a portion of the startup cost of the main application to the assistant process. - View Dependent Claims (24, 25, 26, 27, 28)
-
Specification