optimal dynamic helper selection

\[tab:comparison\]

Recall that RCs are distributed storage codes that minimize the repair-bandwidth (given a storage constraint). In comparison, codes with local repair or (when with all-symbol locality) [*locally repairable codes (LRC)*]{}, recently introduced in [@gopalan2012locality], are codes that minimize the number of helpers participating in the repair of a failed node. LRCs were proposed to address the disk I/O overhead problem that the repair process may entail on a storage network since the number of helpers participating in the repair of a failed node is proportional to the amount of disk I/O needed during repair. Subsequent development has been done on LRCs in [@papailiopoulos2012locally; @kamath2014codes; @rawat2012optimal; @kamath2013explicit].

In Table \[tab:comparison\], we compare the setting of the original RCs, LRCs, and the DHS considered in this work. As first introduced in [@dimakis2010network], original RCs were proposed under the functional-repair scenario, i.e., nodes of the storage network are allowed to store any combination of the original packets as long as the reliability requirement is satisfied. In subsequent works [@wu2009reducing; @rashmi2009explicit; @shah2012interference; @rashmi2011optimal; @cadambe2013asymptotic; @shah2012distributed], RCs were considered under the exact-repair scenario in which nodes have to store the same original packets at any given time. In contrast, LRCs 