EP-4539435-B1 - OPTIMIZING USER INTERFACE DATA CACHING FOR FUTURE ACTIONS
Inventors
- ZHANG, FAN
- ZHUANG, Peng
- MENG, Yi
Dates
- Publication Date
- 20260513
- Application Date
- 20170607
Claims (13)
- A method performed by one or more data processing apparatus, the method comprising: determining a user interface context for a given user interface being presented by a display of a client device for a given web application; determining, based on the user interface context, a predicted next action that a user of the client device will perform at the given user interface; determining that the predicted next action will cause the client device to load a script; prior to detecting the predicted next action, obtaining the script; and storing the script in a cache.
- The method of claim 1, wherein the script comprises code for downloading to the client device (150) and for executing in a web browser when a web page that includes the web application is opened in the web browser.
- The method of any one of the preceding claims, wherein the web application executes in a web browser.
- The method of any one of the preceding claims, wherein obtaining the script comprises downloading the script to the client device (150).
- The method of any one of the preceding claims, further comprising executing the script in a web browser when a web page that includes the given web application is opened in the web browser.
- The method of any one of the preceding claims, wherein determining that the predicted next action will cause the client device to load a script comprises determining that the predicted action will cause the client device to download the script to the client device (150) and execute the script in the web browser when a web page that includes the web application is opened in the web browser.
- The method of claim 1, wherein the user interface context for the given user interface includes at least one of (i) a group to which data that is being presented in the given user interface belongs or (ii) a type of data that is being presented in the given user interface.
- The method of claim 1, further comprising: transmitting, over a data communication network and prior to detecting the predicted next action, a request for next action data that will be presented in response to the user performing the predicted next action; receiving, over the data communication network, the next action data; and storing the next action data in the cache.
- The method of any one of the preceding claims, wherein the script is for loading a second web application in a web browser.
- The method of claim 9, wherein the second application generates one or more user interfaces different from the given user interface.
- The method of any one of claims 9-10, wherein the second web application is different from the given application.
- The method of claims 9-11, wherein: the given application is a first web application and the second application is a second web application different from the first web application; and the method further comprises: detecting an occurrence of the predicted next action at the given user interface; and transitioning a web browser from the first web application to the second web application.
- A client device, comprising: a display configured to present user interfaces for one or more mobile applications; a data storage device having a cache configured to store data received over a data communication network for the one or more mobile applications; a data processing apparatus that communicates with the data storage device and the display, and configured to perform the method of any preceding claims.
Description
BACKGROUND The Internet facilitates the exchange of data and transactions between users across the globe. This exchange of data enables data providers to provide various types of content to a variety of users. The data can be provided in various ways, including publishing the data on electronic documents (e.g., web pages) and within applications (e.g., mobile apps). The data is generally provided to a client device in response to a user request, e.g., in response to a user selecting a link to a web page. Each request may take time for the data provider to identify the appropriate data and transmit the data over the Internet to the client device. Prior art document ProMWS "Proactive Mobile Web Service Provision Using Context-Awareness" proposes a context-aware cache pre-fetching framework in mobile peer-to-peer web services that predicts a user's future queries and preloads service results on the device to reduce latency. Another prior art document US2010131443A1 discloses a system that learns a user's recurring routes and time-patterns to predict future activities or visits and proactively provide relevant information or recommendations. A further prio art document US2010131443A1 teaches adapting pushed-content delivery on mobile devices by using location and user-activity to predict network access changes and then prefetch, postpone, or batch content accordingly. SUMMARY This specification describes systems, methods, devices, and other techniques for pre-caching data at a client device based on a next action that the user is determined, e.g., predicted, to perform. In general, one innovative aspect of the subject matter described in this specification can be implemented in a client device that includes a display that presents user interfaces for one or more mobile applications. The client device can also include a data storage device having a cache that stores data received over a data communication network for the one or more mobile applications. The client device can also include a data processing apparatus that communicates with the data storage device and the display. The data processing apparatus can determine a user interface context for a given user interface being presented by the display for a given application. The user interface context for the given user interface can specify at least one of (i) a group to which data that is being presented in the given user interface belongs or (ii) a type of data that is being presented in the given user interface. The data processing apparatus can determine, based on the user interface context, a predicted next action that a user of the client device will perform at the given user interface. The data processing apparatus can transmit, over the data communication network and prior to detecting the predicted next action, a request for next action data that will be presented in response to the user performing the predicted next action. The data processing apparatus can receive, over the data communication network, the next action data and store the next action data in the cache. Other implementations of this aspect include corresponding apparatus, methods, systems, and computer programs, configured to perform the actions of the methods, encoded on computer storage devices. These and other implementations can optionally include one or more of the following features. In some aspects, the data processing apparatus of the client device can detect an occurrence of the predicted action at the given user interface, obtaining the next action data from the cache, and update the user interface to present the next action data. In some aspects, the user interface context specifies a rollup level of the data that is being presented in the given user interface. The rollup level can specify a hierarchical level at which the data is aggregated. In some aspects, the predicted action next action is determined based on a number of times each action of a set of possible actions that can be performed at the given user interface has been performed by one or more users including the user when the given user interface had a context that matches the determined user interface context. In some aspects, the data processing apparatus of the client device can detect a trigger event for determining the predicted next action. The predicted next action can be determined in response to detecting the trigger event. In some aspects, the data processing apparatus of the client device can obtain a prediction model that determines the predicted next action based on the user interface context and convert the predictive model to mappings between predicted next actions and probabilities. Each mapping can be a mapping between a respective predicted next action and a probability of the respective predicted next action occurring for a given user interface context. In some aspects, the data processing apparatus of the client device can select the predictive model from a set of predictive models based on at