IP Library Granted Patent US 10,229,002
Granted Patent B2
US 10,229,002 · App. 15/432,642 · Granted Mar 12, 2019

Process to migrate named objects to a dispersed or distributed storage network (DSN)

Inventors: Andrew D. Baptist (Mt. Pleasant, WI); Franco V. Borich (Naperville, IL); Wesley B. Leggette (Chicago, IL)
Assignee: INTERNATIONAL BUSINESS MACHINES CORPORATION
G06F11/1076G06F3/0604G06F3/064G06F3/067G06F3/0608G06F3/0619G06F3/0644G06F3/0652G06F11/1068H04L67/1097G06F2211/1028
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,229,002
App. No.
15/432,642
Granted
Mar 12, 2019
Kind
B2
Abstract

A computing device includes an interface configured to interface and communicate with a dispersed storage network (DSN), a memory that stores operational instructions, and a processing module operably coupled to the interface and memory such that the processing module, when operable within the computing device based on the operational instructions, is configured to perform various operations. The computing device receives data object information for a data object and stores the data object information in a dispersed index of a dispersed or distributed storage network (DSN). The computing device also dispersed error encodes the data object to generate sets of encoded data slices (EDSs) (e.g., for data segments of the data object) and updates the index entry state of the dispersed index to moving to indicate that the data object is moving. The computing device distributedly stores the sets of EDSs among a storage units (SUs) of the DSN.

Claims (76)

1. A computing device comprising:

an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);

memory that stores operational instructions; and

a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to:

receive, from a data storage system, data object information for a data object that is stored within the data storage system;

store the data object information in a dispersed index of a dispersed or distributed storage network (DSN) that is different than the data storage system including to update an index entry state of the dispersed index to indicate the data object is to be moved from the data storage system to the DSN;

dispersed error encode the data object to generate sets of encoded data slices (EDSs) corresponding to a plurality of data segments of the data object, wherein the data object is segmented into the 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 EDSs of the sets of EDSs;

update the index entry state of the dispersed index to moving to indicate that the data object is moving from the data storage system to the DSN;

distributedly store the sets of EDSs among a plurality of storage units (SUs) of the DSN; and

when storage of a write threshold number of EDSs for the sets of EDSs is confirmed by the plurality of SUs, update the index entry state of the dispersed index to indicate that storage of the data object in the DSN is done.

2. The computing device of claim 1 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to operate in a move mode including to:

generate a delete data object request;

transmit the delete data object request to the data storage system after storage of the write threshold number of EDSs for the sets of EDSs is confirmed by the plurality of SUs; and

when deletion of the data object is confirmed by the data storage system, update the index entry state of the dispersed index to indicate that storage of the data object in the DSN is done and the data object is moved from the data storage system to the DSN.

3. The computing device of claim 1 , wherein:

the sets of EDSs are of pillar width,

a decode threshold number of EDSs of the set of EDSs of the sets of EDSs are needed to recover the data segment of the plurality of data segments;

a read threshold number of EDSs of the set of EDSs of the sets of EDSs provides for reconstruction of the data segment of the plurality of data segments; and

the write threshold number of EDSs of the set of EDSs of the sets of EDSs provides for a successful transfer of the set of EDSs of the sets of EDSs from a first at least one location in the DSN to a second at least one location in the DSN.

4. The computing device of claim 1 , wherein:

the data storage system is a legacy data storage system with respect to the DSN; and

the data storage system includes a RAID (redundant array of independent disks) system that stores the data object.

5. The computing device of claim 1 , wherein the processing module, when operable within the computing device based on the operational instructions, is further configured to:

perform storage of a plurality of data objects that includes the data object within the DSN on a batch by batch basis, wherein each batch includes a respective subset of data objects of the plurality of data objects, and wherein each subset of data objects of the plurality of data objects include at least one of a same number of data objects or a same total size.

6. The computing device of claim 1 , wherein the computing device is located at a first premises that is remotely located from at least one SU of the plurality of SUs within the DSN.

7. The computing device of claim 1 further comprising:

a SU of the plurality of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

8. The computing device of claim 1 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication systems, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

9. A computing device comprising:

an interface configured to interface and communicate with a dispersed or distributed storage network (DSN);

memory that stores operational instructions; and

a processing module operably coupled to the interface and to the memory, wherein the processing module, when operable within the computing device based on the operational instructions, is configured to:

receive, from a data storage system, data object information for a data object that is stored within the data storage system;

store the data object information in a dispersed index of a dispersed or distributed storage network (DSN) that is different than the data storage system including to update an index entry state of the dispersed index to indicate the data object is to be moved from the data storage system to the DSN;

dispersed error encode the data object to generate sets of encoded data slices (EDSs) corresponding to a plurality of data segments of the data object, wherein the data object is segmented into the 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 EDSs of the sets of EDSs;

update the index entry state of the dispersed index to moving to indicate that the data object is moving from the data storage system to the DSN;

distributedly store the sets of EDSs among a plurality of storage units (SUs) of the DSN; and

when operating in a copy mode, when storage of a write threshold number of EDSs for the sets of EDSs is confirmed by the plurality of SUs, update the index entry state of the dispersed index to indicate that storage of the data object in the DSN is done;

when operating in a move mode:

generate a delete data object request;

transmit the delete data object request to the data storage system after storage of the write threshold number of EDSs for the sets of EDSs is confirmed by the plurality of SUs; and

when deletion of the data object is confirmed by the data storage system, update the index entry state of the dispersed index to indicate that storage of the data object in the DSN is done and the data object is moved from the data storage system to the DSN.

10. The computing device of claim 9 , wherein:

the sets of EDSs are of pillar width,

a decode threshold number of EDSs of the set of EDSs of the sets of EDSs are needed to recover the data segment of the plurality of data segments;

a read threshold number of EDSs of the set of EDSs of the sets of EDSs provides for reconstruction of the data segment of the plurality of data segments; and

the write threshold number of EDSs of the set of EDSs of the sets of EDSs provides for a successful transfer of the set of EDSs of the sets of EDSs from a first at least one location in the DSN to a second at least one location in the DSN.

11. The computing device of claim 9 , wherein:

the data storage system is a legacy data storage system with respect to the DSN; and

the data storage system includes a RAID (redundant array of independent disks) system that stores the data object.

12. The computing device of claim 9 further comprising:

a SU of the plurality of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

13. The computing device of claim 9 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication systems, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

14. A method for execution by a computing device, the method comprising:

receiving, from a data storage system and via an interface of the computing device that is configured to interface and communicate with a dispersed or distributed storage network (DSN), data object information for a data object that is stored within the data storage system;

storing the data object information in a dispersed index of a dispersed or distributed storage network (DSN) that is different than the data storage system including to update an index entry state of the dispersed index to indicate the data object is to be moved from the data storage system to the DSN;

dispersed error encoding the data object to generate sets of encoded data slices (EDSs) corresponding to a plurality of data segments of the data object, wherein the data object is segmented into the 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 EDSs of the sets of EDSs;

updating the index entry state of the dispersed index to moving to indicate that the data object is moving from the data storage system to the DSN;

distributedly storing the sets of EDSs among a plurality of storage units (SUs) of the DSN; and

when storage of a write threshold number of EDSs for the sets of EDSs is confirmed by the plurality of SUs, updating the index entry state of the dispersed index to indicate that storage of the data object in the DSN is done.

15. The method of claim 14 , when operating in a move mode, further comprising:

generating a delete data object request;

transmitting, via the interface of the computing device, the delete data object request to the data storage system after storage of the write threshold number of EDSs for the sets of EDSs is confirmed by the plurality of SUs; and

when deletion of the data object is confirmed by the data storage system, updating the index entry state of the dispersed index to indicate that storage of the data object in the DSN is done and the data object is moved from the data storage system to the DSN.

16. The method of claim 14 , wherein:

the sets of EDSs are of pillar width,

a decode threshold number of EDSs of the set of EDSs of the sets of EDSs are needed to recover the data segment of the plurality of data segments;

a read threshold number of EDSs of the set of EDSs of the sets of EDSs provides for reconstruction of the data segment of the plurality of data segments; and

the write threshold number of EDSs of the set of EDSs of the sets of EDSs provides for a successful transfer of the set of EDSs of the sets of EDSs from a first at least one location in the DSN to a second at least one location in the DSN.

17. The method of claim 14 , wherein:

the data storage system is a legacy data storage system with respect to the DSN; and

the data storage system includes a RAID (redundant array of independent disks) system that stores the data object.

18. The method of claim 14 further comprising:

performing storage of a plurality of data objects that includes the data object within the DSN on a batch by batch basis, wherein each batch includes a respective subset of data objects of the plurality of data objects, and wherein each subset of data objects of the plurality of data objects include at least one of a same number of data objects or a same total size.

19. The method of claim 14 , wherein the computing device includes a SU of the plurality of SUs within the DSN, a wireless smart phone, a laptop, a tablet, a personal computers (PC), a work station, or a video game device.

20. The method of claim 14 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication systems, a non-public intranet system, a public internet system, a local area network (LAN), or a wide area network (WAN).

Assignments (5)
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENT RIGHTS Recorded Jun 11, 2025
From: BARCLAYS BANK PLC, AS ADMINISTRATIVE AGENT
To: PURE STORAGE, INC.
Reel/Frame 071558/0523 →
SECURITY INTEREST Recorded Aug 26, 2020
From: PURE STORAGE, INC.
To: BARCLAYS BANK PLC AS ADMINISTRATIVE AGENT
Reel/Frame 053867/0581 →
CORRECTIVE ASSIGNMENT TO CORRECT THE 9992063 AND 10334045 LISTED IN ERROR PREVIOUSLY RECORDED ON REEL 049556 FRAME 0012. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNOR HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 14, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 052205/0705 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049556/0012 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2017
From: BAPTIST, ANDREW D.; BORICH, FRANCO V.; LEGGETTE, WESLEY B.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 041255/0343 →
Continuity (4)
Continuation In Part 15095558 · Apr 11, 2016
Continuation In Part 14088794 · Nov 25, 2013
Provisional Application 61748891 · Jan 4, 2013
Related Publication 20170153946A1 · Jun 1, 2017