System and method for introducing functionality to an application for use with a network service
AssigneeUber Technologies, Inc.
InventorsPaul-Phillip Holden, Logan Rockmore
Life of this patent
Estimating the term…
Abstract
A computing device operates an application to receive and implement new functionality from a network service. If the new functionality causes the application to fail, the application can automatically discard or ignore the new functionality when the application is re-launched.
Claims18
A method for operating a computing device to receive a network service, the method being implemented by one or more processors and comprising:
- launching an application that is linked to operate with the network service, wherein launching the application includes executing instructions for initiating the application on the computing device, and for communicating with one or more servers of the network service;
- wherein launching the application includes:
- progressing the application towards completion of a startup process, during which instructions for implementing new functionality is received for use with the network service, wherein progressing the application towards completion of the startup process includes executing a launching process, a server communication process, and one or more tasks specified by the one or more servers;
- storing new functionality information that is accessible to initiate the computing device in executing the instructions for implementing the new functionality when the application is re-launched;
- and
- implementing one or more processes to monitor multiple types of application failures;
- in response to detecting an application failure of one of the multiple types of application failures, storing a data set which is indicative of the application failure;
- re-launching the application, to progress the application towards completion of the startup process;
- wherein re-launching the application includes:
- determining, based at least in part on the stored data set, that the application previously failed upon the instructions for implementing the new functionality being executed;
- and
- progressing the application towards completion of the startup process without accessing the new functionality information, so that the new functionality is not triggered.
A method for changing functionality of a network service provided to a population of user computing devices, the method being implemented by one or more processors and comprising:
- providing an application for a population of computing devices operated by users, each computing device of the population being operable to run the application to receive the network service, wherein the application runs on each computing device to cause the application to (i) initiate on each computing device of the population, (ii) communicate over one or more networks with one or more servers that provide the network service, and (iii) perform one or more tasks specified by the one or more servers;
- introducing a new functionality to the application on a given set of computing devices in the population when each computing device in the set launches the application;
- and
- wherein introducing the new functionality includes providing instructions with the new functionality for each computing device of the set to execute when the application is launched and progressing towards completion of a startup process, including executing a launching process, a server communication process, and the one or more tasks specified by the one or more servers, wherein the provided instructions include:
- (i) new functionality instructions to cause the computing device to persistently store information for use when the application launches with introduction of the new functionality, (ii) failure detection instructions to cause the computing device to detect if launching the application with introduction of the new functionality causes the application to fail, (iii) default mode instructions to cause the computing device to implement a default mode re-launch process for the application that uses the stored information, and (iv) safe mode instructions to cause the computing device to implement a safe mode re-launch that omits use of the stored information if launching the application with introduction of the new functionality is detected as causing the application to fail on that computing device.
A non-transitory computer-readable medium that stores instructions which, when executed by one or more processors of a system, cause the system to perform operations that comprise:
- launching an application that is linked to operate with a network service, wherein launching the application includes executing instructions for initiating the application on a computing device, and for communicating with one or more servers of the network service;
- wherein launching the application includes:
- progressing the application towards completion of a startup process, during which instructions for implementing new functionality is received for use with the network service, wherein progressing the application towards completion of the startup process includes executing a launching process, a server communication process, and one or more tasks specified by the one or more servers;
- storing new functionality information that is accessible to initiate the computing device in executing the instructions for implementing the new functionality when the application is re-launched;
- and
- implementing one or more processes to monitor multiple types of application failures;
- in response to detecting an application failure of one of the multiple types of application failures, storing a data set which is indicative of the application failure;
- re-launching the application, to progress the application towards completion of the startup process;
- wherein re-launching the application includes:
- determining, based at least in part on the stored data set, that the application previously failed upon the instructions for implementing the new functionality being executed;
- and
- progressing the application towards completion of the startup process without accessing the new functionality information, so that the new functionality is not triggered.
Dependencies are inferred from the claim text.