Maintaining data states upon forced exit
AssigneeApple Inc.
InventorsClay Maeckel, Christopher Crim
Life of this patent
Estimating the term…
Abstract
Methods, program products, and systems of maintaining data states upon forced exit are disclosed. In one aspect, an application program executing on the mobile device can maintain a connection to a remote data store and retrieve and cache data from the data store. When the mobile device receives an event that forces the application program to terminate, the mobile device can provide a time window in which the mobile device can perform various state preservation actions. During the time window, the mobile device can store data states, including states of the connection and states of the cached data. When the application program is re-launched, the mobile device can use the stored data states to restore a connection and a displayed view.
Claims20
A method comprising:
- executing, by a mobile device, an application program, the application program configured to receive an input from a user interface item of the mobile device that is external to the application program forcing the application program to terminate, the application program being connected to one or more data stores through one or more connections;
- receiving, by the mobile device, the input forcing the application program to terminate;
- upon receiving the input, inquiring, by the application program and to an operating system of the mobile device, a time window in which the application program is allowed to perform one or more actions before the application program is forced to terminate, wherein the time window includes a length of time between receiving the input and a time that the operating system revokes resources provided by the operating system to the application program;
- within the time window, performing the actions, including storing data states on a storage device, the data states including states of at least one of the one or more connections;
- and
- terminating the one or more connections.
A non-transitory storage device storing computer instructions operable to cause one or more processors to perform operations comprising:
- executing, by a mobile device, an application program, the application program configured to receive an input from a user interface item of the mobile device that is external to the application program forcing the application program to terminate, the application program being connected to one or more data stores through one or more connections;
- receiving, by the mobile device, the input forcing the application program to terminate;
- upon receiving the input, inquiring, by the application program and to an operating system of the mobile device, a time window in which the application program is allowed to perform one or more actions before the application program is forced to terminate, wherein the time window includes a length of time between receiving the input and a time that the operating system revokes resources provided by the operating system to the application program;
- within the time window, performing the actions, including storing data states on a storage device, the data states including states of at least one of the one or more connections;
- and
- terminating the one or more connections.
A system comprising:
- one or more processors configured to perform operations comprising:
- executing, by a mobile device, an application program, the application program configured to receive an input from a user interface item of the mobile device that is external to the application program forcing the application program to terminate, the application program being connected to one or more data stores through one or more connections;
- receiving, by the mobile device, the input forcing the application program to terminate;
- upon receiving the input, inquiring, by the application program and to an operating system of the mobile device, a time window in which the application program is allowed to perform one or more actions before the application program is forced to terminate, wherein the time window includes a length of time between receiving the input and a time that the operating system revokes resources provided by the operating system to the application program;
- within the time window, performing the actions, including storing data states on a storage device, the data states including states of at least one of the one or more connections;
- and
- terminating the one or more connections.
Dependencies are inferred from the claim text.