OPTIMISTIC DATA FETCHING AND RENDERING
First Claim
1. A method performed by a client system of managing data for graphical rendering, comprising:
- receiving, by a client system, a request for an update to graphical content;
determining one or more data changes resulting from the request;
sending updated graphical content based on the data changes;
after the sending, submitting to a server over a network for storage on the server, the one or more data changes;
receiving a response from the server indicating whether the one or more data changes are successfully stored on the server;
when the response indicates a success, saving the one or more data changes in a local database; and
when the response indicates a failure, resending the graphical content instead of the updated graphical content.
2 Assignments
0 Petitions
Accused Products
Abstract
Embodiments are disclosed for fast data fetching and rendering. In some embodiments, in response to receiving a page display request, a system constructs a static, possibly nested query for retrieving all the data to be rendered for the page and stores the query result in a data store. For a future page display request, the system similarly constructs a query and determines whether the query can be resolved from the data store. If not, the system constructs a “diff query” to fetch only the missing data. In some embodiments, in response to a subsequent page update request, the system retrieves from the server all the data likely to be viewed or updated and renders the data changes corresponding to the requested update. The system then submits the data changes to the server and undoes the rendering of the data changes when the server fails to process the data changes.
9 Citations
20 Claims
-
1. A method performed by a client system of managing data for graphical rendering, comprising:
-
receiving, by a client system, a request for an update to graphical content; determining one or more data changes resulting from the request; sending updated graphical content based on the data changes; after the sending, submitting to a server over a network for storage on the server, the one or more data changes; receiving a response from the server indicating whether the one or more data changes are successfully stored on the server; when the response indicates a success, saving the one or more data changes in a local database; and when the response indicates a failure, resending the graphical content instead of the updated graphical content. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A system for managing data for graphical rendering, comprising:
-
a graphical user interface, including an input device and an output device; and a processor and memory, cooperating to function as; a first receiving unit configured to receive an input via the input device, wherein the input is related to graphical content that is visible; a determining unit configured to determine one or more data updates resulting from the input; a sending unit configured to send updated graphical content based on the data updates via the output device; a submitting unit configured to submit, after the sending, the one or more data updates to a server over a network for storage on the server; a second receiving unit configured to receive a reply from the server indicating whether the one or more data updates are successfully stored on the server; a saving unit configured to save, when the reply indicates a success, the one or more data updates in a local data store; and a resending unit configured to resend, when the reply indicates a failure, the graphical content instead of the updated graphical content via the output device. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19)
-
-
20. A computer-readable storage medium storing computer-executable instructions that, when executed, cause a computer to perform a method of managing data for graphical rendering, comprising:
-
instructions for receiving a request for an update to graphical content; instructions for determining one or more data changes resulting from the request; instructions for sending updated graphical content based on the data changes; instructions for, after the sending, submitting the one or more data changes to a server over a network for storage on the server; instructions for receiving a response from the server indicating whether the one or more data changes are successfully stored on the server; instructions for, when the response indicates a success, saving the one or more data changes in a local database; and instructions for, when the response indicates a failure, resending the graphical content instead of the updated graphical content.
-
Specification