IP Library Patent Application 15901686
Patent Application
App. No. 15/901,686

CHOOSING OBJECT NAMES BASED ON STORAGE UNIT (SU) AND/OR MEMORY DEVICE AVAILABILITY

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 None
App. No.
15/901,686
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 processing circuitry operably coupled to the interface and to the memory. The processing circuitry is configured to execute the operational instructions to perform various operations and functions. The computing device receives a data object from to be stored is storage set(s) and dispersed error encodes the data object to generate a plurality of sets of encoded data slices (EDSs) and determines availability of a plurality of storage sets. The computing device identifies a vault identifier (ID) associated with the data object, generates an object number, and generates a plurality of sets of slice names. the computing device also generates a plurality of sets of write slice requests and transmits the plurality of sets of write slice requests to at least one identified storage set.

Claims (85)

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

processing circuitry operably coupled to the interface and to the memory, wherein the processing circuitry is configured to execute the operational instructions to:

receive a data object from to be stored in at least one storage set that includes at least one of a plurality of storage units (SUs);

dispersed error encode the data object in accordance with dispersed error encoding parameters to generate a plurality of sets of encoded data slices (EDSs), 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 the plurality of sets of EDSs;

determine availability of a plurality of storage sets that include the plurality of SUs;

identify a vault identifier (ID) associated with the data object;

generate an object number based on the vault ID, DSN address range assignments of the plurality of storage sets that include the plurality of SUs, and the availability of the plurality of storage sets that include the plurality of SUs;

generate a plurality of sets of slice names utilizing the vault ID associated with the data object;

generate a plurality of sets of write slice requests that includes the plurality of sets of EDSs and the plurality of sets of slice names;

identify the at least one storage set that includes the at least one of the plurality of SUs; and

transmit the plurality of sets of write slice requests to the at least one storage set that includes the at least one of the plurality of SUs.

2 . The computing device of claim 1 , wherein the processing circuitry is further configured to execute the operational instructions to:

determine the availability of the plurality of storage sets that include the plurality of SUs based on at least one of initiating a query, performing a test, receiving an error message, or receiving availability information.

3 . The computing device of claim 1 , wherein the processing circuitry is further configured to execute the operational instructions to:

identify the vault ID associated with the data object based on at least one of a registry lookup, receiving the vault ID, or initiating a query with a requesting entity.

4 . The computing device of claim 1 , wherein the processing circuitry is further configured to execute the operational instructions to perform at least one of:

identify the at least one storage set that includes the at least one of the plurality of SUs based on association with the vault ID and based on a favorable availability level based on the availability of the plurality of storage sets that include the plurality of SUs that is determined; or

identify the at least one storage set that includes the at least one of the plurality of SUs based on at least one of performing a lookup in a slice name to physical location table, accessing a list, or receiving a storage set identifier.

5 . The computing device of claim 1 , wherein the processing circuitry is further configured to execute the operational instructions to:

generate each slice name of the plurality of sets of slice names to include a slice index value based on a pillar with associated with the vault ID, the vault ID, the object number, and a segment number associated with each set of EDSs of the plurality of sets of EDSs.

6 . The computing device of claim 1 , wherein:

a decode threshold number of EDSs are needed to recover the data segment;

a read threshold number of EDSs provides for reconstruction of the data segment;

a write threshold number 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;

the set of the plurality of sets of EDSs is of pillar width and includes a pillar number of EDSs;

each of the decode threshold number, the read threshold number, and the write threshold number is less than the pillar number; and

the write threshold number is greater than or equal to the read threshold number that is greater than or equal to the decode threshold number.

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 system, 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

processing circuitry operably coupled to the interface and to the memory, wherein the processing circuitry is configured to execute the operational instructions to:

receive a data object from to be stored in at least one storage set that includes at least one of a plurality of storage units (SUs);

dispersed error encode the data object in accordance with dispersed error encoding parameters to generate a plurality of sets of encoded data slices (EDSs), 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 the plurality of sets of EDSs;

determine availability of a plurality of storage sets that include the plurality of SUs based on at least one of initiating a query, performing a test, receiving an error message, or receiving availability information;

identify a vault identifier (ID) associated with the data object based on at least one of a registry lookup, receiving the vault ID, or initiating a query with a requesting entity;

generate an object number based on the vault ID, DSN address range assignments of the plurality of storage sets that include the plurality of SUs, and the availability of the plurality of storage sets that include the plurality of SUs;

generate a plurality of sets of slice names utilizing the vault ID associated with the data object;

generate a plurality of sets of write slice requests that includes the plurality of sets of EDSs and the plurality of sets of slice names;

identify the at least one storage set that includes the at least one of the plurality of SUs; and

transmit the plurality of sets of write slice requests to the at least one storage set that includes the at least one of the plurality of SUs.

10 . The computing device of claim 9 , wherein the processing circuitry is further configured to execute the operational instructions to perform at least one of:

identify the at least one storage set that includes the at least one of the plurality of SUs based on association with the vault ID and based on a favorable availability level based on the availability of the plurality of storage sets that include the plurality of SUs that is determined; or

identify the at least one storage set that includes the at least one of the plurality of SUs based on at least one of performing a lookup in a slice name to physical location table, accessing a list, or receiving a storage set identifier.

11 . The computing device of claim 9 , wherein the processing circuitry is further configured to execute the operational instructions to:

generate each slice name of the plurality of sets of slice names to include a slice index value based on a pillar with associated with the vault ID, the vault ID, the object number, and a segment number associated with each set of EDSs of the plurality of sets of EDSs.

12 . The computing device of claim 9 , wherein:

a decode threshold number of EDSs are needed to recover the data segment;

a read threshold number of EDSs provides for reconstruction of the data segment;

a write threshold number 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;

the set of the plurality of sets of EDSs is of pillar width and includes a pillar number of EDSs;

each of the decode threshold number, the read threshold number, and the write threshold number is less than the pillar number; and

the write threshold number is greater than or equal to the read threshold number that is greater than or equal to the decode threshold number.

13 . The computing device of claim 9 , wherein the DSN includes at least one of a wireless communication system, a wire lined communication system, 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, via an interface of the computing device that is configured to interface and communicate with a dispersed or distributed storage network (DSN), a data object from to be stored in at least one storage set that includes at least one of a plurality of storage units (SUs);

dispersed error encoding the data object in accordance with dispersed error encoding parameters to generate a plurality of sets of encoded data slices (EDSs), 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 the plurality of sets of EDSs;

determining availability of a plurality of storage sets that include the plurality of SUs;

identifying a vault identifier (ID) associated with the data object;

generating an object number based on the vault ID, DSN address range assignments of the plurality of storage sets that include the plurality of SUs, and the availability of the plurality of storage sets that include the plurality of SUs;

generating a plurality of sets of slice names utilizing the vault ID associated with the data object;

generating a plurality of sets of write slice requests that includes the plurality of sets of EDSs and the plurality of sets of slice names;

identifying the at least one storage set that includes the at least one of the plurality of SUs; and

transmitting, via the interface, the plurality of sets of write slice requests to the at least one storage set that includes the at least one of the plurality of SUs.

15 . The method of claim 14 further comprising:

determining the availability of the plurality of storage sets that include the plurality of SUs based on at least one of initiating a query, performing a test, receiving an error message, or receiving availability information.

16 . The method of claim 14 further comprising:

identifying the vault ID associated with the data object based on at least one of a registry lookup, receiving the vault ID, or initiating a query with a requesting entity.

17 . The method of claim 14 further comprising at least one of:

identifying the at least one storage set that includes the at least one of the plurality of SUs based on association with the vault ID and based on a favorable availability level based on the availability of the plurality of storage sets that include the plurality of SUs that is determined; or

identifying the at least one storage set that includes the at least one of the plurality of SUs based on at least one of performing a lookup in a slice name to physical location table, accessing a list, or receiving a storage set identifier.

18 . The method of claim 14 further comprising:

generating each slice name of the plurality of sets of slice names to include a slice index value based on a pillar with associated with the vault ID, the vault ID, the object number, and a segment number associated with each set of EDSs of the plurality of sets of EDSs.

19 . The method of claim 14 , wherein:

a decode threshold number of EDSs are needed to recover the data segment;

a read threshold number of EDSs provides for reconstruction of the data segment;

a write threshold number 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;

the set of the plurality of sets of EDSs is of pillar width and includes a pillar number of EDSs;

each of the decode threshold number, the read threshold number, and the write threshold number is less than the pillar number; and

the write threshold number is greater than or equal to the read threshold number that is greater than or equal to the decode threshold number.

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

Assignments (3)
CORRECTIVE ASSIGNMENT TO CORRECT THE DELETE 15/174/279 AND 15/174/596 PROPERTY NUMBERS PREVIOUSLY RECORDED AT REEL: 49555 FRAME: 530. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Jan 7, 2020
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 051495/0831 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 21, 2019
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: PURE STORAGE, INC.
Reel/Frame 049555/0530 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 21, 2018
From: RESCH, JASON K.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 044993/0826 →