Asynchronous data manipulation
First Claim
1. A method performed at a computing device comprising one or more processors, the method comprising:
- submitting a request for synchronization conditions to an instant web publishing engine comprising a web-side application server and a database-side application server, the synchronization conditions associated with a data field displayed in a web browser of the computing device, wherein the data field comprises browser data;
receiving, from the instant web publishing engine, synchronization conditions indicating whether asynchronous user actions are allowed on the data field, wherein the asynchronous user actions comprise (i) user actions performed on browser data displayed in the data field before synchronizing the browser data with stored data in a database hosted on a database server backend of the instant web publishing engine is completed and (ii) user actions that will not change a state of the stored data in the database server backend during the user actions or a probability that the state of the stored data on the database server backend will change during the user actions is below a predefined threshold;
receiving a user action to be performed on the data field;
determining whether the user action comprises an asynchronous user action;
in response to a determination that the user action does not comprise an asynchronous user action;
synchronizing the browser data with the stored data prior to allowing the user action to proceed; and
in response to a determination that the user action comprises an asynchronous user action;
synchronizing the browser data with the stored data and allowing the user action to proceed while synchronizing the browser data with the stored data.
1 Assignment
0 Petitions
Accused Products
Abstract
Methods, program products, and systems of synchronizing data while the data is being edited by a user are disclosed. A web application system implementing a notification-based web application framework can allow a user to focus or edit data in a browser on a client device while the data displayed in the browser is being synchronized with data stored on a database server. The user edit and the synchronization can be asynchronous with one another, where editing can occur before a response from the database server is received. Accordingly, user perceived response time is improved over a conventional system where a user must wait for the response from the server before the user can proceed to edit the data.
-
Citations
24 Claims
-
1. A method performed at a computing device comprising one or more processors, the method comprising:
-
submitting a request for synchronization conditions to an instant web publishing engine comprising a web-side application server and a database-side application server, the synchronization conditions associated with a data field displayed in a web browser of the computing device, wherein the data field comprises browser data; receiving, from the instant web publishing engine, synchronization conditions indicating whether asynchronous user actions are allowed on the data field, wherein the asynchronous user actions comprise (i) user actions performed on browser data displayed in the data field before synchronizing the browser data with stored data in a database hosted on a database server backend of the instant web publishing engine is completed and (ii) user actions that will not change a state of the stored data in the database server backend during the user actions or a probability that the state of the stored data on the database server backend will change during the user actions is below a predefined threshold; receiving a user action to be performed on the data field; determining whether the user action comprises an asynchronous user action; in response to a determination that the user action does not comprise an asynchronous user action; synchronizing the browser data with the stored data prior to allowing the user action to proceed; and in response to a determination that the user action comprises an asynchronous user action; synchronizing the browser data with the stored data and allowing the user action to proceed while synchronizing the browser data with the stored data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A non-transitory computer-readable storage medium programmed to include instructions that, when executed by one or more processors, cause the one or more processors to perform operations comprising:
-
submitting, by a client device comprising the one or more processors, a request for synchronization conditions to an instant web publishing engine comprising a web-side application server and a database-side application server, the synchronization conditions associated with a data field displayed in a web browser of the client device, wherein the data field comprises browser data; receiving, from instant web publishing engine, synchronization conditions indicating whether asynchronous user actions are allowed on the data field, wherein the asynchronous user actions comprise (i) user actions performed on browser data displayed in the data field before synchronizing the browser data with stored data in a database hosted on a database server backend of the instant web publishing engine is completed and (ii) user actions that will not change a state of the stored data in the database server backend during the user actions or a probability that the state of the stored data on the database server backend will change during the user actions is below a predefined threshold; receiving, by the client device, a user action to be performed on the data field; determining whether the user action comprises an asynchronous user action; in response to a determination that the user action does not comprise the asynchronous user action; synchronizing the browser data with the stored data and allowing the user action to proceed after finishing synchronizing the browser data with the stored data; and in response to a determination that the user action comprises the asynchronous user action; synchronizing the browser data with the stored data and allowing the user action to proceed while synchronizing the browser data with the stored data. - View Dependent Claims (10, 11, 12, 13, 14, 15, 16)
-
-
17. A system comprising:
-
one or more processors; and a non-transitory computer-readable storage medium storing instructions that, when executed by the one or more processors, cause the one or more processors to perform operations comprising; submitting, by a client device comprising the one or more processors, a request for synchronization conditions to an instant web publishing engine comprising a web-side application server and a database-side application server the synchronization conditions associated with a data field displayed in a web browser of the client device wherein the data field comprises browser data; receiving, from the instant web publishing engine, synchronization conditions indicating whether asynchronous user actions are allowed on the data field, wherein the asynchronous user actions comprise (i) user actions performed on browser data displayed in the data field before synchronizing the browser data with stored data in a database hosted on a database server backend of the instant web publishing engine is completed and (ii) user actions that will not change the state of the stored data in the database server backend during the user actions or a probability that the state of the stored data on the database server backend will change during the user actions is below a defined threshold; receiving, by the client device, a user action to be performed on the data field; determining whether the user action comprises an asynchronous user action; in response to a determination that the user action does not comprise the asynchronous user action; synchronizing the browser data with the stored data prior to allowing the user action to proceed; and in response to a determination that the user action comprises an asynchronous user action; synchronizing the browser data with the stored data and allowing the user action to proceed while synchronizing the browser data with the stored data. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24)
-
Specification