Directory synchronization of a dispersed storage network
First Claim
1. A method comprises:
- dispersed storage error encoding data to produce a set of encoded data slices;
generating a first transaction identifier regarding storage of the set of encoded data slices;
outputting a plurality of write request messages to a plurality of dispersed storage (DS) units, wherein each of the plurality of write request messages includes the first transaction identifier and at least a corresponding one of the set of encoded data slices;
receiving write response messages from at least some of the DS units, wherein each of the write response messages includes a reference to the first transaction identifier;
when at least a write threshold number of the write response messages have been received, updating directory information regarding storage of the data to produce updated directory information;
dispersed storage error encoding the updated directory information to produce a set of encoded directory slices;
generating a second transaction identifier regarding storage of the set of encoded directory slices;
outputting a second plurality of write request messages to the plurality of DS units or to a second plurality of DS units, wherein each of the second plurality of write request messages includes the second transaction identifier and a corresponding one of the set of encoded directory slices;
when at least a second write threshold number of second write response messages have been received within a time period, outputting a plurality of commit request messages regarding the set of encoded data slices and the set of encoded directory slices to the plurality of DS units or to the second plurality of DS units, wherein each of the plurality of commit request messages includes the first and second transaction identifiers; and
when the second write threshold number of second write response messages have not been received within the time period;
re-updating the directory information regarding storage of the data;
re-dispersed error encoding the directory information to reproduce a second set of encoded directory slices; and
outputting at least some of the second plurality of write request messages regarding the reproduced second set of encoded directory slices.
5 Assignments
0 Petitions
Accused Products
Abstract
A method begins by a processing module dispersed storage error encoding data to produce a set of encoded data slices and generating a transaction identifier regarding storage of the set of encoded data slices. The method continues with the processing module outputting a plurality of write request messages to a plurality of dispersed storage (DS) units, wherein each of the plurality of write request messages includes the transaction identifier and a corresponding one of the set of encoded data slices. The method continues with the processing module receiving write response messages from at least some of the DS units, wherein each of the write response messages includes a reference to the transaction identifier. The method continues with the processing module updating directory information regarding storage of the data to produce updated directory information when at least a write threshold number of the write response messages have been received.
-
Citations
12 Claims
-
1. A method comprises:
-
dispersed storage error encoding data to produce a set of encoded data slices; generating a first transaction identifier regarding storage of the set of encoded data slices; outputting a plurality of write request messages to a plurality of dispersed storage (DS) units, wherein each of the plurality of write request messages includes the first transaction identifier and at least a corresponding one of the set of encoded data slices; receiving write response messages from at least some of the DS units, wherein each of the write response messages includes a reference to the first transaction identifier; when at least a write threshold number of the write response messages have been received, updating directory information regarding storage of the data to produce updated directory information; dispersed storage error encoding the updated directory information to produce a set of encoded directory slices; generating a second transaction identifier regarding storage of the set of encoded directory slices; outputting a second plurality of write request messages to the plurality of DS units or to a second plurality of DS units, wherein each of the second plurality of write request messages includes the second transaction identifier and a corresponding one of the set of encoded directory slices; when at least a second write threshold number of second write response messages have been received within a time period, outputting a plurality of commit request messages regarding the set of encoded data slices and the set of encoded directory slices to the plurality of DS units or to the second plurality of DS units, wherein each of the plurality of commit request messages includes the first and second transaction identifiers; and when the second write threshold number of second write response messages have not been received within the time period; re-updating the directory information regarding storage of the data; re-dispersed error encoding the directory information to reproduce a second set of encoded directory slices; and outputting at least some of the second plurality of write request messages regarding the reproduced second set of encoded directory slices. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A computer comprises:
-
an interface; memory; and a hardware processing module coupled to the memory and the interface, wherein the hardware processing module is operable to; dispersed storage error encode data to produce a set of encoded data slices; generate a first transaction identifier regarding storage of the set of encoded data slices; output, via the interface, a plurality of write request messages to a plurality of dispersed storage (DS) units, wherein each of the plurality of write request messages includes the first transaction identifier and at least a corresponding one of the set of encoded data slices; receive, via the interface, write response messages from at least some of the DS units, wherein each of the write response messages includes a reference to the first transaction identifier; update directory information regarding storage of the data to produce updated directory information when at least a write threshold number of the write response messages have been received; dispersed storage error encode the updated directory information to produce a set of encoded directory slices; generate a second transaction identifier regarding storage of the set of encoded directory slices; output, via the interface, a second plurality of write request messages to the plurality of DS units or a second plurality of DS units, wherein each of the second plurality of write request messages includes the second transaction identifier and a corresponding one of the set of encoded directory slices; when at least a second write threshold number of second write response messages have been received within a time period, output, via the interface, a plurality of commit request messages regarding the set of encoded data slices and the set of encoded directory slices to the plurality of DS units or to the second plurality of DS units, wherein each of the plurality of commit request messages includes the first and second transaction identifiers; and when the second write threshold number of second write response messages have not been received within the time period; re-update the directory information regarding storage of the data; re-dispersed error encode the directory information to reproduce a second set of encoded directory slices; and output, via the interface, at least some of the second plurality of write request messages regarding the reproduced second set of encoded directory slices. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification