Patent ID: 8838533

Claim:
A computer-implemented method, comprising: a computing component, which is different from a data source and different from a client, performing the following acts: maintaining a data representation that represents source data at the data source; receiving a request from the client to perform a first edit; sending a request to the data source to make the first edit to the source data; determining that a failure notice for the first edit has not been received from the data source prior to a first response threshold time; in response to determining that a failure notice for the first edit has not been received from the data source prior to the first response threshold time, performing the following: applying the first edit to the data representation optimistically; sending a change notification to the client, the change notification indicating one or more changes to the data representation, the one or more changes to the data representation resulting from application of the first edit to the data representation; receiving a notification from the data source after applying the first edit to the data representation and after sending the change notification, the notification from the data source indicating whether the first edit to the source data succeeded; receiving a request from the client to perform a second edit; sending a request to the data source to make the second edit to the source data represented by the data representation; determining that a failure notice for the second edit has been received from the data source prior to a second response threshold time; and in response to determining that a failure notice for the second edit has been received from the data source prior to a second response threshold time, the computing component refraining from applying the second edit to the data representation.