×

Reduced bandwidth cache coherency via checksum exchange

  • US 8,666,954 B2
  • Filed: 04/03/2009
  • Issued: 03/04/2014
  • Est. Priority Date: 04/03/2009
  • Status: Active Grant
First Claim
Patent Images

1. A computer-implemented method for updating a local database, comprising:

  • at a server system having one or more processors and memory;

    receiving a first request for a data item from a client device, wherein the first request includes an identifier of the data item;

    in response to the first request;

    calculating a first checksum of the data item;

    sending the data item and the first checksum to the client device, for storage in a local database at the client device, such that the client device does not compute a checksum of the data item;

    receiving a second request for the data item from the client device, wherein the second request includes the identifier of the data item and the first checksum previously computed by the server system;

    in response to the second request;

    calculating a second checksum of the data item;

    comparing the first checksum to the second checksum;

    determining that the data item has been updated based at least in part on the comparison of the first checksum to the second checksum; and

    in accordance with the determination that the data item has been updated, sending to the client device a reply indicating that the data item has been updated;

    wherein the reply indicating that the data item has been updated includes a request for a first plurality of identifiers, each identifier in the first plurality of identifiers corresponding to a component in a first plurality of components of the data item, the method further comprising;

    receiving a message from the client device, the first plurality of identifiers comprising a part of the message;

    in response to the message, comparing the first plurality of identifiers received in the message from the client device to a second plurality of identifiers, each identifier in the second plurality of identifiers being associated with a component in a second plurality of components of the data item;

    determining a respective identifier in the second plurality of identifiers that is not in the first plurality of identifiers; and

    in response to determining the respective identifier, sending a respective component that is associated with the respective identifier to the client device and sending the second checksum to the client device.

View all claims
  • 2 Assignments
Timeline View
Assignment View
    ×
    ×