Synchronously storing data in a plurality of dispersed storage networks
First Claim
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:
- obtaining a data object for storage from a user;
identifying a plurality of virtual storage vaults for storage of the data object;
determining dispersal error encoding parameters associated with a first virtual storage vault of the plurality of virtual storage vaults;
dispersed error encoding the data object in accordance with dispersed error encoding parameters associated with the first virtual storage vault of the plurality of virtual storage vaults to produce a corresponding plurality of sets of encoded data slices (EDSs), wherein the data object is segmented into a first plurality of data segments and further wherein each set of EDSs of the plurality of sets of EDSs corresponds to a respective a data segment of a plurality of data segments and further;
issuing one or more sets of write slice requests to the first virtual storage vault, wherein the one or more sets of write slice requests include the corresponding plurality of sets of EDSs;
receiving EDS information from at least some of the plurality of virtual storage vaults,interpreting the received EDS information from at least some of the plurality of virtual storage vaults to determine a number of virtual storage vaults that have successfully stored the corresponding plurality of sets of EDSs;
when a threshold number of virtual storage vaults of the plurality of virtual storage vaults have successfully stored the corresponding plurality of sets of EDSs within a synchronization timeframe, issuing a favorable response to the user, wherein the issuing a favorable response to the user includes providing an indication of the success of storage and synchronization, wherein the providing an indication of successful storage and synchronization further includes providing information sufficient to determine the number of storage vaults wherein EDS were successfully stored; and
when a threshold number of virtual storage vaults of the plurality of virtual storage vaults have not successfully stored the corresponding plurality of sets of EDSs within the synchronization timeframe, initiating a retry process to store the corresponding plurality of sets of encoded data slices in one or more virtual storage vaults associated with unsuccessful storage.
3 Assignments
0 Petitions
Accused Products
Abstract
A method begins with a processing module obtaining a data object from a user and identifying a plurality of virtual storage vaults (VSVs) for storage of the data object. The method continues with the processing module determining dispersal error encoding parameters associated with a first virtual storage vault and error encoding the data object in accordance with those dispersal error encoding parameters to produce a corresponding plurality of sets of encoded data slices (EDSs), issuing write slice requests for the EDSs and receiving EDS information from at least some of the plurality of VSVs. When the EDS information indicates that a threshold number of VSVs have successfully stored the plurality of sets of encoded data slices within a synchronization timeframe, the method continues with the processing module issuing a favorable response to the user, or when a threshold number of VSVs have not successfully stored the plurality of sets of encoded data slices initiating a retry process.
86 Citations
16 Claims
-
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:
-
obtaining a data object for storage from a user; identifying a plurality of virtual storage vaults for storage of the data object; determining dispersal error encoding parameters associated with a first virtual storage vault of the plurality of virtual storage vaults; dispersed error encoding the data object in accordance with dispersed error encoding parameters associated with the first virtual storage vault of the plurality of virtual storage vaults to produce a corresponding plurality of sets of encoded data slices (EDSs), wherein the data object is segmented into a first plurality of data segments and further wherein each set of EDSs of the plurality of sets of EDSs corresponds to a respective a data segment of a plurality of data segments and further; issuing one or more sets of write slice requests to the first virtual storage vault, wherein the one or more sets of write slice requests include the corresponding plurality of sets of EDSs; receiving EDS information from at least some of the plurality of virtual storage vaults, interpreting the received EDS information from at least some of the plurality of virtual storage vaults to determine a number of virtual storage vaults that have successfully stored the corresponding plurality of sets of EDSs; when a threshold number of virtual storage vaults of the plurality of virtual storage vaults have successfully stored the corresponding plurality of sets of EDSs within a synchronization timeframe, issuing a favorable response to the user, wherein the issuing a favorable response to the user includes providing an indication of the success of storage and synchronization, wherein the providing an indication of successful storage and synchronization further includes providing information sufficient to determine the number of storage vaults wherein EDS were successfully stored; and when a threshold number of virtual storage vaults of the plurality of virtual storage vaults have not successfully stored the corresponding plurality of sets of EDSs within the synchronization timeframe, initiating a retry process to store the corresponding plurality of sets of encoded data slices in one or more virtual storage vaults associated with unsuccessful storage. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A computing device comprises:
-
an interface for interfacing with a network; memory; and a processing module operably coupled to the interface and to the memory, wherein the processing module is operable to; obtain a data object for storage from a user; identify a plurality of virtual storage vaults for storage of the data object; determine dispersal error encoding parameters associated with a first virtual storage vault of the plurality of virtual storage vaults; dispersed error encode the data object in accordance with dispersed error encoding parameters associated with the first virtual storage vault of the plurality of virtual storage vaults to produce a corresponding plurality of sets of encoded data slices (EDSs), wherein the data object is segmented into a first plurality of data segments and further wherein each set of EDSs of the plurality of sets of EDSs corresponds to a respective a data segment of a plurality of data segments and further; issue one or more sets of write slice requests to the first virtual storage vault, wherein the one or more sets of write slice requests include the corresponding plurality of sets of EDSs, wherein the indication of success of storage and synchronization includes information sufficient to determine the number of virtual storage vaults wherein EDSs were successfully stored, and wherein the indication of success of storage and synchronization further includes information sufficient to determine the number of virtual storage vaults with an unknown storage status; receive EDS information from at least some of the plurality of virtual storage vaults; interpret the received EDS information from at least some of the plurality of virtual storage vaults to determine a number of virtual storage vaults that have successfully stored the corresponding plurality of sets of EDSs; when a threshold number of virtual storage vaults of the plurality of virtual storage vaults have successfully stored the corresponding plurality of sets of EDSs within a synchronization timeframe, issue a favorable response to the user; and when a threshold number of virtual storage vaults of the plurality of virtual storage vaults have not successfully stored the corresponding plurality of sets of EDSs within the synchronization timeframe, initiate a retry process to store the corresponding plurality of sets of encoded data slices in one or more virtual storage vaults associated with unsuccessful storage. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A dispersed storage (DS) module comprises:
-
a first module, when operable within a computing device, causes the computing device to; obtain a data object for storage from a user; a second module, when operable within the computing device, causes the computing device to; identify a plurality of virtual storage vaults for storage of the data object; a third module, when operable within the computing device, causes the computing device to; determine dispersal error encoding parameters associated with each virtual storage vault of the plurality of virtual storage vaults; and dispersed error encode the data object in accordance with dispersed error encoding parameters associated with the first virtual storage vault of the plurality of virtual storage vaults to produce a corresponding plurality of sets of encoded data slices (EDSs), wherein the data object is segmented into a first plurality of data segments and further wherein each set of EDSs of the plurality of sets of EDSs corresponds to a respective a data segment of a plurality of data segments and further; a fourth module, when operable within the computing device, causes the computing device to; issue one or more sets of write slice requests to the first virtual storage vault, wherein the one or more sets of write slice requests include the corresponding plurality of sets of EDSs, wherein the indication of success of storage and synchronization includes information sufficient to determine the number of virtual storage vaults wherein EDSs were successfully stored, and wherein the indication of success of storage and synchronization further includes information sufficient to determine the number of virtual storage vaults with an unknown storage status; receive EDS information from at least some of the plurality of virtual storage vaults; a fifth module, when operable within the computing device, causes the computing device to;
interpret the received EDS information from at least some of the plurality of virtual storage vaults to determine a number of virtual storage vaults that have successfully stored the corresponding plurality of sets of EDSs;
when a threshold number of virtual storage vaults of the plurality of virtual storage vaults have successfully stored the corresponding plurality of sets of EDSs within a synchronization timeframe, issue a favorable response to the user; and
when a threshold number of virtual storage vaults of the plurality of virtual storage vaults have not successfully stored the corresponding plurality of sets of EDSs within the synchronization timeframe, initiate a retry process to store the corresponding plurality of sets of encoded data slices in one or more virtual storage vaults associated with unsuccessful storage. - View Dependent Claims (16)
-
Specification