US 12,169,652 B2
Optimizing access performance in a distributed storage network
Greg R. Dhuse, Chicago, IL (US); and Jason K. Resch, Warwick, RI (US)
Assigned to Pure Storage, Inc., Santa Clara, CA (US)
Filed by Pure Storage, Inc., Mountain View, CA (US)
Filed on Aug. 16, 2022, as Appl. No. 17/819,985.
Application 17/819,985 is a continuation of application No. 17/148,781, filed on Jan. 14, 2021, granted, now 11,449,280.
Application 17/148,781 is a continuation of application No. 16/724,446, filed on Dec. 23, 2019, abandoned.
Application 16/724,446 is a continuation of application No. 16/284,248, filed on Feb. 25, 2019, abandoned.
Application 16/284,248 is a continuation of application No. 15/902,083, filed on Feb. 22, 2018, granted, now 10,296,263, issued on May 21, 2019.
Application 15/902,083 is a continuation in part of application No. 14/638,575, filed on Mar. 4, 2015, granted, now 9,965,336, issued on May 8, 2018.
Claims priority of provisional application 61/986,361, filed on Apr. 30, 2014.
Prior Publication US 2022/0391098 A1, Dec. 8, 2022
This patent is subject to a terminal disclaimer.
Int. Cl. G06F 9/52 (2006.01); G06F 3/06 (2006.01); G06F 11/10 (2006.01); G06F 21/62 (2013.01); H04L 41/082 (2022.01); H04L 41/50 (2022.01); H04L 67/1097 (2022.01)
CPC G06F 3/067 (2013.01) [G06F 3/0607 (2013.01); G06F 3/0611 (2013.01); G06F 3/0619 (2013.01); G06F 3/0637 (2013.01); G06F 3/064 (2013.01); G06F 11/1004 (2013.01); G06F 11/1076 (2013.01); G06F 11/1088 (2013.01); G06F 11/1092 (2013.01); G06F 21/6218 (2013.01); H04L 41/082 (2013.01); H04L 41/5096 (2013.01); G06F 2221/2107 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A method for execution by one or more processing modules of one or more computing devices of a storage network, the method comprises:
receiving a storage network access request pertaining to a data object, wherein the data object is segmented into a plurality of data segments, wherein a data segment of the plurality of data segments is dispersed error encoded in accordance with dispersed storage error encoding parameters to produce a set of encoded data slices, wherein the set of encoded data slices are distributedly stored among a plurality of storage units, and wherein a decode threshold number of encoded data slices are needed to recover the data segment;
determining whether the storage network access request requires multiple access steps to at least some storage units of the plurality of storage units;
in response to a determination that multiple access steps are required, delegating at least a portion of the multiple access steps to a delegation agent, wherein the delegation agent is associated with a storage unit of the plurality of storage units;
and
receiving a multistep object access result.