×

Resolving write conflicts in a dispersed storage network

  • US 9,274,908 B2
  • Filed: 01/13/2014
  • Issued: 03/01/2016
  • Est. Priority Date: 02/26/2013
  • Status: Active Grant
First Claim
Patent Images

1. A method for execution by one or more processing modules of one or more computing devices of a dispersed storage network (DSN), the method comprises:

  • transmitting, by a first client device, a first set of write requests regarding a first set of encoded data slices to storage units of the DSN, wherein the first client device dispersed storage error encoded a data object to produce the first set of encoded data slices;

    transmitting, by a second client device and nearly concurrently with the transmitting by the first client device, a second set of write requests regarding a second set of encoded data slices to the storage units, wherein the second client device dispersed storage error encoded the data object to produce the second set of encoded data slices;

    for a storage unit of the storage units;

    receiving one of the first set of write requests before one of the second set of write requests or receiving the one of the second set of write requests before the one of the first set of write requests;

    when the one of the first set of write requests is received before the one of the second set of write requests;

    generating a first write response message that includes an indication that the data object is locked for the first client device and a storage unit score value;

    sending the first write response message to the first client device in response to receiving the one of the first set of write requests; and

    sending the first write response message to the second client device in response to receiving the one of the second set of write requests;

    when the one of the second set of write requests is received before the one of the first set of write requests;

    generating a second write response message that includes an indication that the data object is locked for the second client device and the storage unit score value;

    sending the second write response message to the first client device in response to receiving the one of the first set of write requests; and

    sending the second write response message to the second client device in response to receiving the one of the second set of write requests;

    receiving, by the first client device, first and second write response messages from the storage units;

    interpreting, by the first client device, storage unit score values of the received first and second write response messages to determine whether the first client device has write priority over the second client device; and

    when the first client device has the write priority over the second client device, sending, by the first client device, a set of next-phase write requests regarding the data object to the storage units.

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