Selecting a directory of a dispersed storage network
First Claim
1. A method for execution by a dispersed storage (DS) processing unit of a dispersed storage network (DSN) the method comprises:
- obtaining a revision level of a global parent directory file of a global file structure, wherein the global parent directory file is represented by one or more data segments, in which respective data segments are error encoded to produce N number of encoded data slices for each data segment, and wherein the N number of encoded data slices for the respective data segments are dispersed separately in a distributed storage network, where only a read threshold number T of the particular N number of encoded data slices are needed to be retrieved from the distributed storage network to reconstruct each data segment to reconstruct the global parent directory file, where T is less than N, and wherein a local parent directory file also stores a local parent directory structure in encoded data slices in order for the local parent directory file and the global parent directory file to mirror each other, wherein the obtaining the revision level of the global parent directory file of the global file structure includes;
transmitting a read request to the distributed storage network; and
performing a slice-to-slice comparison of respective encoded data slices of the global parent directory file and the local parent directory file to identify a revision level indicator mismatch between respective encoded data slices of the global parent directory file and the local parent directory file;
comparing the revision level of the global parent directory file with a revision level of a local parent directory file by comparing a revision level indicator included with at least one encoded data slice pertaining to the global parent directory file with a revision level of the local parent directory file;
when the comparing of the revision level indicator included with the at least one encoded data slice pertaining to the global parent directory file with the revision level of the local parent directory file is unfavorable;
retrieving encoded data slices pertaining to the global parent directory file from the distributed storage network;
decoding the encoded data slices pertaining to the global parent directory file to reconstruct the global parent directory file;
updating the local parent directory file based on the global parent directory file;
accessing an entry of the global parent directory file that points to an address of a global child directory file, wherein the global child directory file includes an entry that points to an address of a data object;
obtaining a revision level of the global child directory file, recovering and decoding encoded data slices pertaining to the global child directory file from the distributed storage network and using the global child directory file to update a local child directory file; and
utilizing updated local parent and local child directory files to perform an access request regarding the data object.
5 Assignments
0 Petitions
Accused Products
Abstract
A method begins by a processing module receiving a dispersed storage network (DSN) access request accessing DSN memory regarding a set of encoded data slices, selecting a local DSN directory or a global DSN directory to produce a selected DSN directory, identifying an entry of the selected DSN directory regarding the set of encoded data slices to produce an identified entry, and accessing the DSN memory regarding the set of encoded data slices. The method continues with the processing module determining whether to update one or more of the local DSN directory and the global DSN directory based on the accessing the DSN memory and when the one or more of the local DSN directory and the global DSN directory is to be updated, updating the one or more of the local DSN directory and the global DSN directory in accordance with the accessing the DSN memory.
-
Citations
12 Claims
-
1. A method for execution by a dispersed storage (DS) processing unit of a dispersed storage network (DSN) the method comprises:
-
obtaining a revision level of a global parent directory file of a global file structure, wherein the global parent directory file is represented by one or more data segments, in which respective data segments are error encoded to produce N number of encoded data slices for each data segment, and wherein the N number of encoded data slices for the respective data segments are dispersed separately in a distributed storage network, where only a read threshold number T of the particular N number of encoded data slices are needed to be retrieved from the distributed storage network to reconstruct each data segment to reconstruct the global parent directory file, where T is less than N, and wherein a local parent directory file also stores a local parent directory structure in encoded data slices in order for the local parent directory file and the global parent directory file to mirror each other, wherein the obtaining the revision level of the global parent directory file of the global file structure includes; transmitting a read request to the distributed storage network; and performing a slice-to-slice comparison of respective encoded data slices of the global parent directory file and the local parent directory file to identify a revision level indicator mismatch between respective encoded data slices of the global parent directory file and the local parent directory file; comparing the revision level of the global parent directory file with a revision level of a local parent directory file by comparing a revision level indicator included with at least one encoded data slice pertaining to the global parent directory file with a revision level of the local parent directory file; when the comparing of the revision level indicator included with the at least one encoded data slice pertaining to the global parent directory file with the revision level of the local parent directory file is unfavorable; retrieving encoded data slices pertaining to the global parent directory file from the distributed storage network; decoding the encoded data slices pertaining to the global parent directory file to reconstruct the global parent directory file; updating the local parent directory file based on the global parent directory file; accessing an entry of the global parent directory file that points to an address of a global child directory file, wherein the global child directory file includes an entry that points to an address of a data object; obtaining a revision level of the global child directory file, recovering and decoding encoded data slices pertaining to the global child directory file from the distributed storage network and using the global child directory file to update a local child directory file; and utilizing updated local parent and local child directory files to perform an access request regarding the data object. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A dispersed storage (DS) module comprises:
-
a first module, when operable in a computing device, causes the computing device to obtain a revision level of a global parent directory file of a global file structure, wherein the global parent directory file is represented by one or more data segments, in which respective data segments are error encoded to produce N number of encoded data slices for each data segment, and wherein the N number of encoded data slices for the respective data segments are dispersed separately in a distributed storage network, where only a read threshold number T of the particular N number of encoded data slices are needed to be retrieved from the distributed storage network to reconstruct each data segment to reconstruct the global parent directory file, where T is less than N, and wherein a local parent directory file also stores a local parent directory structure in encoded data slices in order for the local parent directory file and the global parent directory file to mirror each other, wherein the obtaining the revision level of the global parent directory file of the global file structure includes; transmitting a read request to the distributed storage network; and performing a slice-to-slice comparison of respective encoded data slices of the global parent directory file and the local parent directory file to identify a revision level indicator mismatch between respective encoded data slices of the global parent directory file and the local parent directory file; a second module, when operable in the computing device causes the computing device to compare the revision level of the global parent directory file with a revision level of a local parent directory file by comparing a revision level indicator included with at least one encoded data slice pertaining to the global parent directory file with a revision level of the local parent directory file; a third module, when operable in the computing device causes the computing device to; when comparing the revision level indicator included with the at least one encoded data slice pertaining to the global parent directory file with the revision level of the local parent directory file is unfavorable; retrieve encoded data slices pertaining to the global parent directory file from the distributed storage network; decode the encoded data slices pertaining to the global parent directory to reconstruct the global parent directory file; update the local parent directory file based on the global parent directory file; access an entry of the global parent directory file that points to an address of a global child directory file, wherein the global child directory file includes an entry that points to an address of a data object; obtain a revision level of the global child directory file, recover and decode encoded data slices pertaining to the global child directory file from the distributed storage network and use the global child directory file to update a local child directory file; and a fourth module, when operable in the computing device causes the computing device to utilize updated local parent and local child directory files to perform an access request regarding the data object. - View Dependent Claims (8, 9, 10, 11, 12)
-
Specification