Speculative Requests
A distributed storage (DS) unit, which is part of a distributed storage network (DSN), receives multiple speculative requests from another processing device also included in the DSN. Each of the speculative requests includes a request for the same action to be performed by the DS unit. The DS unit processes a first speculative request by acting on the request. Any redundant speculative requests from the second device that are received at the DS unit are ignored.
1 . A method for use in a first processing device configured to implement a distributed storage (DS) unit included in a distributed storage network (DSN), the method comprising:
receiving, at the DS unit, a plurality of speculative requests from a second processing device included in the DSN, wherein each of the plurality of speculative requests includes a request for a same action to be performed by the DS unit;
processing, by the DS unit, a first speculative request of the plurality of speculative requests from the second processing device, wherein the processing includes acting on the request for the same action; and
ignoring, by the DS unit, redundant speculative requests of the plurality of speculative requests from the second processing device.
2 . The method of claim 1 , further comprising:
receiving at least two of the speculative requests via different network paths coupling the second processing device to the DS unit.
3 . The method of claim 1 , further comprising:
identifying speculative requests by determining, at the DS unit, that each of the plurality of speculative requests includes a common identifier.
4 . The method of claim 1 , further comprising:
identifying speculative requests by determining, at the DS unit, that each of the plurality of speculative requests includes a speculative request indicator.
5 . The method of claim 1 , further comprising:
maintaining, by the DS unit, a record identifying speculative requests processed by the DS unit during an exclusion time frame.
6 . The method of claim 5 , further comprising:
activating the exclusion time frame; and
ignoring the redundant speculative requests only during the exclusion time frame.
7 . The method of claim 1 , wherein the processing includes:
transmitting, by the DS unit, an access response to the second processing device.
8 . A distributed storage (DS) unit for use in a distributed storage network (DSN), the DS unit comprising:
at least one communications interface configured to receive a plurality of speculative requests from requesting computing device included in the DSN, wherein each of the plurality of speculative requests includes a request for a same action to be performed by the DS unit;
a computing core including a processor and associated memory, the computing core configured to:
process a first speculative request of the plurality of speculative requests, wherein processing the first speculative request includes acting on the first speculative request; and
ignore redundant speculative requests of the plurality of speculative requests.
9 . The DS unit of claim 8 , further comprising a plurality of communications interfaces coupling the requesting computing device to the DS unit, wherein:
a first communications interface is configured to receive a first speculative request via a first network path; and
a second communications interface is configured to receive a redundant speculative request via a second network path.
10 . The DS unit of claim 8 , the computing core further configured to:
identify speculative requests by determining that each of the plurality of speculative requests includes a common identifier.
11 . The DS unit of claim 8 , the computing core further configured to:
identify speculative requests by determining that each of the plurality of speculative requests includes a speculative request indicator.
12 . The DS unit of claim 8 , the computing core further configured to:
maintain a record identifying speculative requests processed by the DS unit during an exclusion time frame.
13 . The DS unit of claim 12 , the computing core further configured to:
activate the exclusion time frame; and
ignore the redundant speculative requests only during the exclusion time frame.
14 . The DS unit of claim 8 , the computing core further configured to:
transmit an access response to the requesting computing device via the at least one communications interface.
15 . A distributed storage network (DSN) comprising:
at least one distributed storage (DS) unit;
a DS processing module coupled to the at least one DS unit via a plurality of network paths, the DS processing module configured to transmit a plurality of speculative data access requests to the at least one DS unit, wherein each of the plurality of speculative data access requests includes a request for a same action to be performed by the DS unit;
the DS unit including:
at least one communications interface configured to receive the plurality of speculative data access requests from the DS processing module;
a computing core including a processor and associated memory, the computing core configured to:
process a first speculative data access request, wherein processing the first speculative data access request includes attempting to perform the first speculative data access request; and
ignore redundant speculative data access requests.
16 . The distributed storage network (DSN) of claim 15 , the DS unit further comprising a plurality of communications interfaces coupling the DS processing module to the DS unit, wherein:
a first communications interface of the DS unit is configured to receive a first speculative data access request via a first network path; and
a second communications interface is configured to receive a redundant speculative data access request via a second network path.
17 . The distributed storage network (DSN) of claim 15 , the computing core further configured to:
identify speculative data access requests by determining that each of the plurality of speculative data access requests includes a common identifier.
18 . The distributed storage network (DSN) of claim 15 , the computing core of the DS unit further configured to:
identify speculative data access requests by determining that each of the plurality of speculative data access requests includes a speculative request indicator.
19 . The distributed storage network (DSN) of claim 15 , the computing core of the DS unit further configured to:
maintain a record identifying speculative data access requests processed by the DS unit during an exclusion time frame.
20 . The distributed storage network (DSN) of claim 19 , the computing core of the DS unit further configured to:
activate the exclusion time frame in response to processing the first speculative data access request; and
ignore the redundant speculative data access requests only during the exclusion time frame.