SELECTING STORAGE FACILITIES IN A PLURALITY OF DISPERSED STORAGE NETWORKS
A method begins by a processing module receiving a data storage request and accessing a file directory to identify dispersed storage network (DSN) systems. The method continues with the processing module identifying dispersed storage (DS) units to produce identified DS units for each of the DSN systems and selecting one of the DSN systems to produce a selected DSN system. The method continues with the processing module selecting a set of DS units from the identified DS units of the selected DSN system to produce selected DS units, wherein the selected DS units store a set of encoded data slices. The method continues with the processing module updating the file directory to include an identity of the selected DS units and an identity of the set of encoded data slices.
1 . A method comprises:
receiving a data storage request;
accessing a file directory to identify dispersed storage network (DSN) systems;
for each of the DSN systems, identifying dispersed storage (DS) units based on a desired dispersed error coding performance level to produce identified DS units;
selecting one of the DSN systems based on a collective dispersed error coding performance level of the identified DS units of the one of the DSN systems to produce a selected DSN system;
selecting a set of DS units from the identified DS units of the selected DSN system based on the desired dispersed error coding performance level to produce selected DS units, wherein the selected DS units store a set of encoded data slices; and
updating the file directory to include an identity of the selected DS units and an identity of the set of encoded data slices.
2 . The method of claim 1 , wherein the file directory comprises:
a listing of DSN systems;
a root file directory identifier;
one or more intermediate file directory identifiers;
a file name or data block identifier;
a DSN system identifier;
DS unit identifiers; and
slice names.
3 . The method of claim 1 , wherein the updating the file directory comprises:
creating a file name associated with the set of encoded data slices;
linking the file name to one or more intermediate file directory folders;
linking the one or more intermediate file directories folders to a root directory folder;
linking the file name to a DSN identifier of the selected DSN system;
linking the file name to slice names of the set of encoded data slices; and
linking the slice names to DS unit identifiers of the selected DS units.
4 . The method of claim 3 further comprises:
creating at least one of the one or more intermediate file directory folders.
5 . The method of claim 1 , wherein the desired dispersed error coding performance level comprises at least one of:
an indication of dispersed error coding storage requirements;
an indication of historical dispersed error coding storage performance;
an indication of available storage;
an indication of processing capabilities;
an indication of latency performance; and
an indication of bandwidth performance.
6 . A method comprises:
receiving a data storage request for a particular type of data storage;
identifying a dispersed storage network (DSN) system from a plurality of DSN systems based on the particular type of data storage to produce an identified DSN system;
identifying dispersed storage (DS) units within the identified DSN system based on the particular type of data storage to produce identified DS units;
selecting a set of DS units from the identified DS units of the identified DSN system based on the particular type of data storage to produce selected DS units, wherein the selected DS units store a set of encoded data slices; and
updating the file directory to include an identity of the selected DS units and an identity of the set of encoded data slices.
7 . The method of claim 6 , wherein the particular type of data storage comprises at least one of:
a data type indication;
a weighted storage requirement;
a data retrieval latency indication;
a data bandwidth indication;
dispersed error coding storage function parameters; and
a date usage indication.
8 . The method of claim 6 , wherein the updating the file directory comprises:
creating a file name associated with the set of encoded data slices;
linking the file name to one or more intermediate file directory folders;
linking the one or more intermediate file directories folders to a root directory folder;
linking the file name to a DSN identifier of the identified DSN system;
linking the file name to slice names of the set of encoded data slices; and
linking the slice names to DS unit identifiers of the selected DS units.
9 . The method of claim 8 further comprises:
creating at least one of the one or more intermediate file directory folders.
10 . A computer comprises:
an interface; and
a processing module operable to:
receive, via the interface, a data storage request;
access a file directory to identify dispersed storage network (DSN) systems;
identify dispersed storage (DS) units based on a desired dispersed error coding performance level to produce identified DS units for each of the DSN systems;
select one of the DSN systems based on a collective dispersed error coding performance level of the identified DS units of the one of the DSN systems to produce a selected DSN system;
select a set of DS units from the identified DS units of the selected DSN system based on the desired dispersed error coding performance level to produce selected DS units, wherein the selected DS units store a set of encoded data slices; and
update the file directory to include an identity of the selected DS units and an identity of the set of encoded data slices.
11 . The computer of claim 10 , wherein the file directory comprises:
a listing of DSN systems;
a root file directory identifier;
one or more intermediate file directory identifiers;
a file name or data block identifier;
a DSN system identifier;
DS unit identifiers; and
slice names.
12 . The computer of claim 10 , wherein the processing module further functions to update the file directory by:
creating a file name associated with the set of encoded data slices;
linking the file name to one or more intermediate file directory folders;
linking the one or more intermediate file directories folders to a root directory folder;
linking the file name to a DSN identifier of the selected DSN system;
linking the file name to slice names of the set of encoded data slices; and
linking the slice names to DS unit identifiers of the selected DS units.
13 . The computer of claim 12 , wherein the processing module further functions to:
create at least one of the one or more intermediate file directory folders.
14 . The computer of claim 10 , wherein the desired dispersed error coding performance level comprises at least one of:
an indication of dispersed error coding storage requirements;
an indication of historical dispersed error coding storage performance;
an indication of available storage;
an indication of processing capabilities;
an indication of latency performance; and
an indication of bandwidth performance.
15 . A computer comprises:
an interface; and
a processing module operable to:
receive, via the interface, a data storage request for a particular type of data storage;
identify a dispersed storage network (DSN) system from a plurality of DSN systems based on the particular type of data storage to produce an identified DSN system;
identify dispersed storage (DS) units within the identified DSN system based on the particular type of data storage to produce identified DS units;
select a set of DS units from the identified DS units of the identified DSN system based on the particular type of data storage to produce selected DS units, wherein the selected DS units store a set of encoded data slices; and
update the file directory to include an identity of the selected DS units and an identity of the set of encoded data slices.
16 . The computer of claim 15 , wherein the particular type of data storage comprises at least one of:
a data type indication;
a weighted storage requirement;
a data retrieval latency indication;
a data bandwidth indication;
dispersed error coding storage function parameters; and
a date usage indication.
17 . The computer of claim 15 , wherein the processing module further functions to update the file directory by:
creating a file name associated with the set of encoded data slices;
linking the file name to one or more intermediate file directory folders;
linking the one or more intermediate file directories folders to a root directory folder;
linking the file name to a DSN identifier of the identified DSN system;
linking the file name to slice names of the set of encoded data slices; and
linking the slice names to DS unit identifiers of the selected DS units.
18 . The computer of claim 17 , wherein the processing module further functions to:
create at least one of the one or more intermediate file directory folders.