Self-optimizing read-ahead
First Claim
1. A method comprises:
- receiving, by a dispersed storage (DS) processing unit of a dispersed storage network (DSN), a plurality of read requests from a plurality of user devices of the DSN, wherein a read request of the plurality of read requests is from a user device of the plurality of user devices and is regarding a first data segment of a plurality of data segments of a first data object of a plurality of data objects, wherein pluralities of data segments of the plurality of data objects are dispersed storage error encoded into pluralities of sets of encoded data slices, wherein the pluralities of sets of encoded data slices are stored in a set of storage units of the DSN;
for each read request of the plurality of read requests, determining a read ahead scheme based on one or more read ahead parameters to produce a plurality of read ahead schemes;
determining a data retrieval scheme based on the plurality of read ahead schemes;
for each read request of at least some read requests of the plurality of read requests, retrieving, by the DS processing unit from at least a decode threshold number of storage units of the set of storage units, one or more read ahead sets of encoded data slices in accordance with the data retrieval scheme and based on a corresponding read ahead scheme of the plurality of read ahead schemes to produce a plurality of one or more read ahead sets of encoded data slices;
receiving, by the DS processing unit from the user device, a second read request for a second data segment of the first data object; and
verifying, by the DS processing unit, that read ahead data includes the second data segment, wherein a corresponding one of the plurality of one or more read ahead sets of encoded data slices is decoded into the read ahead data; and
when the read ahead data includes the second data segment, sending, by the DS processing unit, a representation of the read ahead data to the user device.
3 Assignments
0 Petitions
Accused Products
Abstract
A method begins by receiving a first read request of a plurality of read requests, from a user device of a plurality of user devices of a dispersed storage network, for a first data segment. The method continues by determining, for each read request, a read ahead scheme based on one or more read ahead parameters to produce a plurality of read ahead schemes. The method continues by determining a data retrieval scheme based on the plurality of read ahead schemes and retrieving, for each read request, one or more read ahead sets of encoded data slices. The method continues by receiving a second read request for a second data segment and verifying that read ahead data includes the second data segment. When the read ahead data includes the second data segment, the method continues by sending a representation of the read ahead data to the user device.
91 Citations
18 Claims
-
1. A method comprises:
-
receiving, by a dispersed storage (DS) processing unit of a dispersed storage network (DSN), a plurality of read requests from a plurality of user devices of the DSN, wherein a read request of the plurality of read requests is from a user device of the plurality of user devices and is regarding a first data segment of a plurality of data segments of a first data object of a plurality of data objects, wherein pluralities of data segments of the plurality of data objects are dispersed storage error encoded into pluralities of sets of encoded data slices, wherein the pluralities of sets of encoded data slices are stored in a set of storage units of the DSN; for each read request of the plurality of read requests, determining a read ahead scheme based on one or more read ahead parameters to produce a plurality of read ahead schemes; determining a data retrieval scheme based on the plurality of read ahead schemes; for each read request of at least some read requests of the plurality of read requests, retrieving, by the DS processing unit from at least a decode threshold number of storage units of the set of storage units, one or more read ahead sets of encoded data slices in accordance with the data retrieval scheme and based on a corresponding read ahead scheme of the plurality of read ahead schemes to produce a plurality of one or more read ahead sets of encoded data slices; receiving, by the DS processing unit from the user device, a second read request for a second data segment of the first data object; and verifying, by the DS processing unit, that read ahead data includes the second data segment, wherein a corresponding one of the plurality of one or more read ahead sets of encoded data slices is decoded into the read ahead data; and when the read ahead data includes the second data segment, sending, by the DS processing unit, a representation of the read ahead data to the user device. - View Dependent Claims (2, 3, 4, 5, 6)
-
-
7. A dispersed storage (DS) processing unit of a dispersed storage network (DSN) comprises:
-
memory; an interface; and a processing module, wherein the memory and the interface are operably coupled to the processing module, and wherein the processing module is operable to; receive, via the interface, a plurality of read requests from a plurality of user devices of the DSN, wherein a read request of the plurality of read requests is from a user device of the plurality of user devices and is regarding a first data segment of a plurality of data segments of a first data object of a plurality of data objects, wherein pluralities of data segments of the plurality of data objects are dispersed storage error encoded into pluralities of sets of encoded data slices, wherein the pluralities of sets of encoded data slices are stored in a set of storage units of the DSN; for each read request of the plurality of read requests, determine a read ahead scheme based on one or more read ahead parameters to produce a plurality of read ahead schemes; determine a data retrieval scheme based on the plurality of read ahead schemes; for each read request of at least some read requests of the plurality of read requests, retrieve from at least a decode threshold number of storage units of the set of storage units, one or more read ahead sets of encoded data slices in accordance with the data retrieval scheme and based on a corresponding read ahead scheme of the plurality of read ahead schemes to produce a plurality of one or more read ahead sets of encoded data slices; receive, via the interface from the user device, a second read request for a second data segment of the first data object; and verify that read ahead data includes the second data segment, wherein a corresponding one of the plurality of one or more read ahead sets of encoded data slices is decoded into the read ahead data; and when the read ahead data includes the second data segment, send, via the interface, a representation of the read ahead data to the user device. - View Dependent Claims (8, 9, 10, 11, 12)
-
-
13. A computer readable memory device of a dispersed storage network (DSN) comprises:
-
a first memory element for storing operational instructions that, when executed by a dispersed storage (DS) processing unit of the DSN, causes the DS processing unit to; receive a plurality of read requests from a plurality of user devices of the DSN, wherein a read request of the plurality of read requests is from a user device of the plurality of user devices and is regarding a first data segment of a plurality of data segments of a first data object of a plurality of data objects, wherein pluralities of data segments of the plurality of data objects are dispersed storage error encoded into pluralities of sets of encoded data slices, wherein the pluralities of sets of encoded data slices are stored in a set of storage units of the DSN; and receive from the user device, a second read request for a second data segment of the first data object; a second memory element for storing operational instructions that, when executed by the DS processing unit, causes the DS processing unit to; for each read request of the plurality of read requests, determine a read ahead scheme based on one or more read ahead parameters to produce a plurality of read ahead schemes; and determine a data retrieval scheme based on the plurality of read ahead schemes; a third memory element for storing operational instructions that, when executed by the DS processing unit, causes the DS processing unit to; for each read request of at least some read requests of the plurality of read requests, retrieve from at least a decode threshold number of storage units of the set of storage units, one or more read ahead sets of encoded data slices in accordance with the data retrieval scheme and based on a corresponding read ahead scheme of the plurality of read ahead schemes to produce a plurality of one or more read ahead sets of encoded data slices; and a fourth memory element for storing operational instructions that, when executed by the DS processing unit, causes the DS processing unit to; verify that read ahead data includes the second data segment, wherein a corresponding one of the plurality of one or more read ahead sets of encoded data slices is decoded into the read ahead data; and when the read ahead data includes the second data segment, send a representation of the read ahead data to the user device. - View Dependent Claims (14, 15, 16, 17, 18)
-
Specification