Source: https://patents.google.com/patent/US9760286B2/en
Timestamp: 2019-05-20 15:29:03
Document Index: 80853243

Matched Legal Cases: ['§120', '§120', '§120', '§120', '§119', 'Application No. 61']

US9760286B2 - Adaptive dispersed storage network (DSN) and system - Google Patents
US9760286B2
US9760286B2 US15/451,906 US201715451906A US9760286B2 US 9760286 B2 US9760286 B2 US 9760286B2 US 201715451906 A US201715451906 A US 201715451906A US 9760286 B2 US9760286 B2 US 9760286B2
US15/451,906
US20170177230A1 (en
2017-03-07 Assigned to INTERNATIONAL BUSINESS MACHINES CORPORATION reassignment INTERNATIONAL BUSINESS MACHINES CORPORATION ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: ABHIJEET, KUMAR, MARKISON, TIMOTHY W., GLADWIN, S. CHRISTOPHER, DHUSE, GREG R., RESCH, JASON K., GRUBE, GARY W.
2017-03-07 Application filed by International Business Machines Corp filed Critical International Business Machines Corp
2017-06-22 Publication of US20170177230A1 publication Critical patent/US20170177230A1/en
2017-09-12 Publication of US9760286B2 publication Critical patent/US9760286B2/en
The present U.S. Utility patent application claims priority pursuant to 35 U.S.C. §120, as a continuation of U.S. Utility patent application Ser. No. 15/250,013, entitled “ADAPTIVE DISPERSED STORAGE NETWORK (DSN) AND SYSTEM,” filed Aug. 29, 2016, which claims priority pursuant to 35 U.S.C. §120, as a continuation-in-part (CIP) of U.S. Utility patent application Ser. No. 14/705,752, entitled “EFFICIENT STORAGE OF ENCRYPTED DATA IN A DISPERSED STORAGE NETWORK,” filed May 6, 2015, which claims priority pursuant to 35 U.S.C. §120, as a continuation of U.S. Utility patent application Ser. No. 14/336,189, entitled “EFFICIENT STORAGE OF ENCRYPTED DATA IN A DISPERSED STORAGE NETWORK,” filed Jul. 21, 2014, now issued as U.S. Pat. No. 9,043,616 on May 26, 2015, which claims priority pursuant to 35 U.S.C. §120, as a continuation of U.S. Utility patent application Ser. No. 12/885,124, entitled “EFFICIENT STORAGE OF ENCRYPTED DATA IN A DISPERSED STORAGE NETWORK,” filed Sep. 17, 2010, now issued as U.S. Pat. No. 8,819,452 on Aug. 26, 2014, which claims priority pursuant to 35 U.S.C. §119(e) to U.S. Provisional Application No. 61/264,534, entitled “DISTRIBUTED STORAGE DE-DUPLICATION,” filed Nov. 25, 2009, all of which are hereby incorporated herein by reference in their entirety and made part of the present U.S. Utility patent application for all purposes.
receive a read request for a data object from another computing device and via the DSN, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices (EDSs), wherein unique pillar combinations of at least a decode threshold number of EDSs of the set of EDSs provide for unique recovery of the data segment;
determine, for the data segment and based on the read request for the data object, whether a unique pillar combination of the at least the decode threshold number of EDSs is available to be assigned to the another computing device;
when the unique pillar combination of the at least the decode threshold number of EDSs is determined to be available, assign the unique pillar combination of the at least the decode threshold number of EDSs of the set of EDSs to the another computing device; and
when no unique pillar combination of the at least the decode threshold number of EDSs is determined to available: and
dispersed error encode the data segment in accordance with other dispersed error encoding parameters to generate another set of EDSs, wherein other unique pillar combinations of at least the decode threshold number of EDSs of the another set of EDSs provide for recovery of the data segment; and
assign one of the other unique pillar combinations of the at least the decode threshold number of EDSs of the another set of EDSs to the another computing device.
3. The computing device of claim 1, wherein the processing module, when operable within the computing device based on the operational instructions for the data segment and based on the read request for the data object, is further configured to:
retrieve the unique pillar combination of the at least the decode threshold number of EDSs of the set of EDSs from a plurality of storage units (SUs) within the DSN that distributedly store the set of EDSs; and
provide the unique pillar combination of the at least the decode threshold number of EDSs to the another computing device via the DSN.
4. The computing device of claim 1, wherein the processing module, when operable within the computing device based on the operational instructions for the data segment and based on the read request for the data object, is further configured to:
distributedly store the another set of EDSs within a plurality of storage units (SUs) within the DSN;
retrieve the one of the unique pillar combinations of the at least the decode threshold number of EDSs of the another set of EDSs from the plurality of SUs; and
provide the one of the unique pillar combinations of the at least the decode threshold number of EDSs of the another set of EDSs to the another computing device via the DSN.
receive a read request for a data object from another computing device and via the DSN, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices (EDSs) that is of a first pillar width, wherein unique pillar combinations of at least a decode threshold number of EDSs of the set of EDSs provide for unique recovery of the data segment, wherein the set of EDSs is distributedly stored among a plurality of storage units (SUs) within the DSN, wherein a read threshold number of EDSs of the set of EDSs provides for reconstruction of the data segment, and wherein a write threshold number of EDSs of the set of EDSs provides for a successful transfer of the set of EDSs from a first at least one location in the DSN to a second at least one location in the DSN;
dispersed error encode the data segment in accordance with other dispersed error encoding parameters to generate another set of EDSs that is of a second pillar width that is greater than the first pillar width, wherein other unique pillar combinations of at least the decode threshold number of EDSs of the another set of EDSs provide for recovery of the data segment; and
10. The computing device of claim 9, wherein the processing module, when operable within the computing device based on the operational instructions for the data segment and based on the read request for the data object, is further configured to:
11. The computing device of claim 9, wherein the processing module, when operable within the computing device based on the operational instructions for the data segment and based on the read request for the data object, is further configured to:
receiving, via an interface of the computing device that is configured to interface and communicate with a dispersed or distributed storage network (DSN), a read request for a data object from another computing device and via the DSN, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed error encoding parameters to produce a set of encoded data slices (EDSs), wherein unique pillar combinations of at least a decode threshold number of EDSs of the set of EDSs provide for unique recovery of the data segment;
determining, for the data segment and based on the read request for the data object, whether a unique pillar combination of the at least the decode threshold number of EDSs is available to be assigned to the another computing device;
when the unique pillar combination of the at least the decode threshold number of EDSs is determined to be available, assigning the unique pillar combination of the at least the decode threshold number of EDSs of the set of EDSs to the another computing device; and
dispersed error encoding the data segment in accordance with other dispersed error encoding parameters to generate another set of EDSs, wherein other unique pillar combinations of at least the decode threshold number of EDSs of the another set of EDSs provide for recovery of the data segment; and
assigning one of the other unique pillar combinations of the at least the decode threshold number of EDSs of the another set of EDSs to the another computing device.
retrieving the unique pillar combination of the at least the decode threshold number of EDSs of the set of EDSs from a plurality of storage units (SUs) within the DSN that distributedly store the set of EDSs; and
providing the unique pillar combination of the at least the decode threshold number of EDSs to the another computing device via the DSN.
distributedly storing the another set of EDSs within a plurality of storage units (SUs) within the DSN;
retrieving the one of the unique pillar combinations of the at least the decode threshold number of EDSs of the another set of EDSs from the plurality of SUs; and
providing the one of the unique pillar combinations of the at least the decode threshold number of EDSs of the another set of EDSs to the another computing device via the DSN.
US15/451,906 2009-11-25 2017-03-07 Adaptive dispersed storage network (DSN) and system Active US9760286B2 (en)
US15/250,013 Continuation US9672109B2 (en) 2009-11-25 2016-08-29 Adaptive dispersed storage network (DSN) and system
US15/612,750 Continuation US9823845B2 (en) 2009-11-25 2017-06-02 Adaptive dispersed storage network (DSN) and system
US20170177230A1 US20170177230A1 (en) 2017-06-22
US9760286B2 true US9760286B2 (en) 2017-09-12
US9823845B2 (en) 2017-11-21
Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:ABHIJEET, KUMAR;DHUSE, GREG R.;GLADWIN, S. CHRISTOPHER;AND OTHERS;SIGNING DATES FROM 20160805 TO 20160826;REEL/FRAME:041486/0419