×

Conditional writes at distributed storage services

  • US 9,569,459 B1
  • Filed: 03/31/2014
  • Issued: 02/14/2017
  • Est. Priority Date: 03/31/2014
  • Status: Active Grant
First Claim
Patent Images

1. A system, comprising:

  • one or more computing devices configured to;

    determine, at a client of a storage subsystem of a distributed multi-tenant storage service, that a particular file store operation is to be implemented at least in part as a read-modify-write sequence directed to a particular physical page of a file store object, wherein the storage subsystem is configured to use a replicated state machine to coordinate changes to the file store object;

    receive, at a selected node of the storage subsystem, a read request directed to the particular physical page by the client, wherein the selected node is selected by the storage service based at least in part on the particular physical page;

    obtain, at the selected node, a read logical timestamp from the replicated state machine, wherein the read logical timestamp is indicative of an order in which the read request was processed at the selected node relative to other service requests directed to the file store object;

    transmit, by the selected node to the client, the read logical timestamp;

    receive, at the selected node, a write request directed to the particular physical page, wherein the write request indicates (a) a modification to be applied to the particular physical page and (b) the read logical timestamp of the read request;

    determine, by the selected node, using the replicated state machine and the read logical timestamp indicated in the write request, whether the particular physical page has been modified since the read logical timestamp was obtained by the selected node from the replicated state machine; and

    in response to a determination that the particular physical page has not been modified since the read logical timestamp was obtained, apply the modification to the particular physical page.

View all claims
  • 1 Assignment
Timeline View
Assignment View
    ×
    ×