Smart access to a dispersed data storage network
First Claim
1. A method of reading data, said method operating on at least one computer and comprising the steps of:
- receiving a read request for a data segment stored on a dispersed data storage network;
determining a virtual digital data storage vault to store the data segment based on the read request;
determining a vault data structure corresponding to the virtual digital data storage vault;
authenticating the read request in accordance with the vault data structure;
when the read request is authenticated, assembling a list of slice servers based on the virtual digital data storage vault, wherein each slice server on said list stores at least one data slice associated with said data segment, wherein the data segment was encoded into a plurality of data slices based on an information dispersal algorithm;
assigning a preference rating to each of said slice servers contained on said list based on at least one of a slice server'"'"'s most recent response time, historical response time, and present load; and
retrieving, based on said preference rating, a number of data slices required by the information dispersal algorithm to assemble said data segment, wherein the number of data slices is less than the plurality of data slices.
9 Assignments
0 Petitions
Accused Products
Abstract
An improved system for accessing data within a distributed data storage network (“DDSN”) is disclosed. In a system implementing the disclosed invention, traffic is routed to individual slice servers within the DDSN in accordance with objective criteria as well as user-defined policies. In accordance with one aspect of the disclosed invention, when a data segment is written to a DDSN, the segment is divided into multiple data slices, which are simultaneously transmitted to different slice servers. In accordance with another aspect of the disclosed invention, when a data segment is read from a DDSN, a list of slice servers, each containing a data slice that could be used to reconstruct the requested data segment, is assembled, and sorted in accordance with a preference rating assigned to each of the slice servers. Sufficient data slices to reconstruct the data segment are then read in accordance with the preference ranking of the slice servers.
199 Citations
12 Claims
-
1. A method of reading data, said method operating on at least one computer and comprising the steps of:
-
receiving a read request for a data segment stored on a dispersed data storage network; determining a virtual digital data storage vault to store the data segment based on the read request; determining a vault data structure corresponding to the virtual digital data storage vault; authenticating the read request in accordance with the vault data structure; when the read request is authenticated, assembling a list of slice servers based on the virtual digital data storage vault, wherein each slice server on said list stores at least one data slice associated with said data segment, wherein the data segment was encoded into a plurality of data slices based on an information dispersal algorithm; assigning a preference rating to each of said slice servers contained on said list based on at least one of a slice server'"'"'s most recent response time, historical response time, and present load; and retrieving, based on said preference rating, a number of data slices required by the information dispersal algorithm to assemble said data segment, wherein the number of data slices is less than the plurality of data slices. - View Dependent Claims (2, 3, 4)
-
-
5. A method of writing data, said method operating on at least one computer and comprising the steps of:
-
receiving a write request to write a data segment to said dispersed data storage network; determining a virtual digital data storage vault that is storing the data segment based on the write request; determining a vault data structure corresponding to the virtual digital data storage vault; authenticating the write request in accordance with the vault data structure; when the write request is authenticated, accessing dispersal parameters of an information dispersal algorithm including a slice count indicative of a number of data slices said data segment will be divided into, and a redundancy count indicative of the number of data slices that can be lost without compromising the ability to reconstruct said data segment from said dispersed data storage network; performing the information dispersal algorithm on said data segment to produce a plurality of data slices equal to said slice count; transmitting said plurality of data slices to a plurality of slice servers that provide the virtual digital data storage vault so that each data slice is transmitted to a separate slice server; and monitoring that at least a number of data slices are successfully stored, wherein the number corresponds to the slice count less the redundancy count. - View Dependent Claims (6)
-
-
7. A computer comprising:
-
a network port coupled to a data network; a central processing unit operable to process a read request by;
receiving the read request regarding a data segment stored on a dispersed data storage network;determining a virtual digital data storage vault to store the data segment based on the read request; determining a vault data structure corresponding to the virtual digital data storage vault; authenticating the read request in accordance with the vault data structure; when the read request is authenticated, assembling a list of slice servers based on the virtual digital data storage vault, wherein each slice server on said list stores at least one data slice associated with a data segment, wherein the data segment was encoded into a plurality of data slices based on an information dispersal algorithm; assigning a preference rating to each of said slice servers on said list based on at least one of a slice server'"'"'s most recent response time, historical response time, and present load; and retrieving, based on said preference rating and via the network port, a number of data slices required by the information dispersal algorithm to assemble said data segment, wherein the number of data slices is less than the plurality of data slices. - View Dependent Claims (8, 9, 10)
-
-
11. A computer comprising:
-
a network port coupled to a data network; a central processing unit for processing a write request of a data segment by; receiving the write request to write a data segment to a dispersed data storage network; determining a virtual digital data storage vault that is storing the data segment based on the write request; determining a vault data structure corresponding to the virtual digital data storage vault; authenticating the write request in accordance with the vault data structure; when the write request is authenticated, performing an information dispersal algorithm on said data segment to produce a plurality of data slices equal to a slice count, wherein dispersal parameters of the information dispersal algorithm include the slice count and a redundancy count indicative of a number of data slices that can be lost without compromising the ability to reconstruct said data segment from said dispersed data storage network; transmitting, via the network port, said plurality of data slices to a plurality of slice servers that provide the virtual digital storage vault so that each data slice is transmitted to a separate slice server, and monitoring said plurality of slice servers so that at least a number of data slices are successfully stored, wherein the number corresponds to the slice count less the redundancy count. - View Dependent Claims (12)
-
Specification