Scheduling of application preloading in user devices
A user device includes an interface and one or more processors. The interface is configured to communicate over a network. The one or more processors are configured to evaluate a pre-load scheduling condition with respect to a user application installed in the user device, and to schedule pre-loading of the user application depending on the pre-load scheduling condition.
1. A user device, comprising:
an interface, configured to communicate over a network; and
one or more processors, configured to:
evaluate a pre-load scheduling condition for pre-loading a user application installed in the user device, wherein:
(i) the pre-loading comprises pre-launching the user application and running program code of the user application in a background, transparently to a user of the user device, including pre-rendering visual content of the user application in the background, and
(ii) in accordance with the pre-load scheduling condition, the pre-loading is performed in response to a manual “preload-now” request from a user to immediately pre-load the user application; and
schedule the pre-loading of the user application depending on the pre-load scheduling condition.
2. The user device according to claim 1 , wherein the one or more processors are further configured to pre-load the user application in response to arrival of data for the user application over the network.
3. The user device according to claim 1 , wherein the one or more processors are further configured to schedule pre-loading of the user application depending on an identity of another user application that is currently used by the user.
4. The user device according to claim 3 , wherein the one or more processors are configured to pre-load the user application in response to detecting that the user has launched the other user application.
5. The user device according to claim 1 , wherein the one or more processors are further configured to schedule pre-loading of the user application depending on usage history of the user application by the user.
6. The user device according to claim 1 , wherein the one or more processors are further configured to schedule pre-loading of the user application depending on usage history of the user application by one or more other users.
7. The user device according to claim 1 , wherein the one or more processors are further configured to schedule pre-loading of the user application depending on current or imminent communication conditions with the network.
8. The user device according to claim 7 , wherein the one or more processors are configured to pre-load the user application in response to a prediction that the communication conditions will deteriorate at a time the user application will be used.
9. The user device according to claim 8 , wherein the prediction is a prediction that a network outage will occur at the time the user application will be used.
10. The user device according to claim 1 , wherein the one or more processors are configured to pre-load the user application in response to arrival of a notification of the user application over the network.
11. The user device according to claim 1 , wherein the one or more processors are configured to pre-load the user application in response to generation of a notification to the user by the user application.
12. A method in a user device, the method comprising:
evaluating a pre-load scheduling condition for pre-loading a user application installed in the user device, wherein:
(i) the pre-loading comprises pre-launching the user application and running program code of the user application in a background, transparently to a user of the user device, including pre-rendering visual content of the user application in the background, and
(ii) in accordance with the pre-load scheduling condition, the pre-loading is performed in response to a manual “preload-now” request from a user to immediately pre-load the user application; and
scheduling the pre-loading of the user application depending on the pre-load scheduling condition.
13. The method according to claim 12 , wherein, in accordance with the pre-load scheduling condition, pre-loading the user application is further performed in response to arrival of data for the user application over the network.
14. The method according to claim 12 , wherein, in accordance with the pre-load scheduling condition, pre-loading the user application is further performed depending on an identity of another user application that is currently used by the user.
15. The method according to claim 14 , wherein pre-loading the user application is performed in response to detecting that the user has launched the other user application.
16. The method according to claim 12 , wherein, in accordance with the pre-load scheduling condition, pre-loading the user application is further performed depending on usage history of the user application by the user.
17. The method according to claim 12 , wherein, in accordance with the pre-load scheduling condition, pre-loading the user application is further performed depending on usage history of the user application by one or more other users.
18. The method according to claim 12 , wherein, in accordance with the pre-load scheduling condition, pre-loading the user application is further performed depending on current or imminent communication conditions with the network.
19. The method according to claim 18 , wherein pre-loading the user application is performed in response to a prediction that the communication conditions will deteriorate at a time the user application will be used.
20. The method according to claim 19 , wherein the prediction is a prediction that a network outage will occur at the time the user application will be used.
21. The method according to claim 12 , wherein, in accordance with the pre-load scheduling condition, pre-loading the user application is performed in response to arrival of a notification of the user application over the network.
22. The method according to claim 12 , wherein, in accordance with the pre-load scheduling condition, pre-loading the user application is performed in response to generation of a notification to the user by the user application.