NAMESPACE AFFINITY AND FAILOVER FOR PROCESSING UNITS IN A DISPERSED STORAGE NETWORK
A method includes receiving a DSN access request, identifying a DSN address of the DSN access request, identifying one or more DS processing units affiliated with the DSN address. The method further includes determining, for each of the one or more DS processing units, an availability level and a priority level. The method further includes selecting one DS processing unit of the one or more DS processing units based on one or more of the availability level and the priority level and forwarding the DSN access request to the selected DS processing unit. The method further includes accessing an affinity table based on the DSN address to identify the one or more DS processing units associated with an DSN address range that includes the DSN address.
1 . A method for execution by a computing device of a dispersed storage network (DSN), the method comprises:
receiving a DSN access request;
identifying a DSN address of the DSN access request;
identifying one or more DS processing units affiliated with the DSN address;
determining, for each of the one or more DS processing units, an availability level;
determining, for each of the one or more DS processing units, a priority level;
selecting one DS processing unit of the one or more DS processing units based on the availability level and the priority level; and
forwarding the DSN access request to the selected DS processing unit.
2 . The method of claim 1 , wherein the DSN access request includes one or more of: a data identifier (ID), data, a DSN address associated with the data, a request type, or a requesting entity ID.
3 . The method of claim 2 , wherein the identifying a DSN address of the DSN access request is based on one or more of: extracting the DSN address from the DSN access request, a lookup of a read request type, or generating the DSN address.
4 . The method of claim 3 , wherein the generating the DSN address is based on one or more of: a requesting entity ID, the data, a vault ID associated with a requesting entity, a vault lookup, or the data ID.
5 . The method of claim 1 , wherein the identifying one or more DS processing units affiliated with the DSN address is based on one or more of: receiving the DS processing unit identity, an affinity table lookup, or a query.
6 . The method of claim 5 further comprises accessing the affinity table based on the DSN address to identify the one or more DS processing units associated with an DSN address range that includes the DSN address.
7 . The method of claim 1 , wherein the determining, for each of the one or more DS processing units, an availability level is based on one or more of: receiving an error message, accessing an availability list, sending a query, or performing a test.
8 . The method of claim 1 , wherein the determining, for each of the one or more DS processing units, a priority level is based on one or more of: an affinity table lookup, receiving a list, or sending a query.
9 . The method of claim 1 , wherein the selecting includes selecting an available DS processing unit associated with a greater priority level then other available DS processing units.
10 . The method of claim 1 further comprises appending the DSN address to the DSN access request when a request type is a write request and the DSN address is a new DS address associated with data.
11 . A computing device of a group of computing devices of a dispersed storage network (DSN), the computing device comprises:
an interface;
a local memory; and
a processing module operably coupled to the interface and the local memory, wherein the processing module functions to:
receive a DSN access request;
identify a DSN address of the DSN access request;
identify one or more DS processing units affiliated with the DSN address;
determine, for each of the one or more DS processing units, an availability level;
determine, for each of the one or more DS processing units, a priority level;
select one DS processing unit of the one or more DS processing units based on the availability level and the priority level; and
forward the DSN access request to the selected DS processing unit.
12 . The computing device of claim 11 , wherein the DSN access request includes one or more of: a data identifier (ID), data, a DSN address associated with the data, a request type, or a requesting entity ID.
13 . The computing device of claim 12 , wherein the identify a DSN address of the DSN access request is based on one or more of: extracting the DSN address from the DSN access request, a lookup of a read request type, or generating the DSN address.
14 . The computing device of claim 13 , wherein the generating the DSN address is based on one or more of: a requesting entity ID, the data, a vault ID associated with a requesting entity, a vault lookup, or the data ID.
15 . The computing device of claim 11 , wherein the identify one or more DS processing units affiliated with the DSN address is based on one or more of: receiving the DS processing unit identity, an affinity table lookup, or a query.
16 . The computing device of claim 15 further comprises accessing the affinity table based on the DSN address to identify the one or more DS processing units associated with an DSN address range that includes the DSN address.
17 . The computing device of claim 11 , wherein the determine, for each of the one or more DS processing units, an availability level is based on one or more of: receiving an error message, accessing an availability list, sending a query, or performing a test.
18 . The computing device of claim 11 , wherein the determine, for each of the one or more DS processing units, a priority level is based on one or more of: an affinity table lookup, receiving a list, or sending a query.
19 . The computing device of claim 11 further comprises appending the DSN address to the DSN access request when a request type is a write request and the DSN address is a new DS address associated with data.
20 . A dispersed storage network (DSN) system comprises:
a plurality of DSN storage units;
a dispersed storage client module including:
an interface;
a local memory; and
a processing module operably coupled to the interface and the local memory, wherein the processing module functions to:
receive a DSN access request;
identify a DSN address of the DSN access request;
identify one or more DS processing units affiliated with the DSN address;
determine, for each of the one or more DS processing units, an availability level;
determine, for each of the one or more DS processing units, a priority level;
select, based on the availability level and an affinity table look-up, one DS processing unit of the one or more DS processing units based on the DSN addess and the priority level; and
forward the DSN access request to the selected DS processing unit.