US 11,748,009 B2
Erasure coding with overlapped local reconstruction codes
Jianfeng Zhu, Shanghai (CN); Yiheng Tao, Shanghai (CN); Cheng Huang, Bellevue, WA (US); Aaron William Ogus, Woodinville, WA (US); Yilong Zhao, Shanghai (CN); Terry Chen, Shanghai (CN); Zhenshan Yu, Shanghai (CN); Tejas Shah, Redmond, WA (US); and Sridhar Srinivasan, Shanghai (CN)
Assigned to Microsoft Technology Licensing, LLC, Redmond, WA (US)
Appl. No. 17/59,873
Filed by MICROSOFT TECHNOLOGY LICENSING, LLC, Redmond, WA (US)
PCT Filed Jun. 1, 2018, PCT No. PCT/CN2018/089534
§ 371(c)(1), (2) Date Nov. 30, 2020,
PCT Pub. No. WO2019/227465, PCT Pub. Date Dec. 5, 2019.
Prior Publication US 2021/0208782 A1, Jul. 8, 2021
Int. Cl. G06F 11/10 (2006.01); G06F 3/06 (2006.01)
CPC G06F 3/064 (2013.01) [G06F 3/067 (2013.01); G06F 11/1004 (2013.01)] 20 Claims
OG exemplary drawing
 
1. A system for erasure coding with overlapped local reconstruction codes, the system comprising:
an encoding component configured to:
divide a data chunk into data fragments comprising a first set of data fragments corresponding to a first zone, a second set of data fragments corresponding to a second zone, and a third set of data fragments corresponding to a third zone;
compute a plurality of parity fragments based on a subset of the data fragments, wherein a parity fragment is computed using the first set of data fragments for the first zone and the second set of data fragments for the second zone;
assign the plurality of parity fragments to the first zone to define a first local group of a plurality of local groups for overlapped local reconstruction codes, wherein an unavailable data fragment is recoverable from at least two local groups of the plurality of local groups, and the first local group comprises:
the first set of data fragments;
the second set of data fragments; and
the plurality of parity fragments; and
define a second local group of the plurality of local groups, the second local group comprising:
the second set of data fragments;
the third set of data fragments; and
a plurality of parity fragments corresponding to the second set of data fragments and the third set of data fragments; and
a reconstruction component configured to:
access at least one parity fragment of the overlapped local construction codes; and
recover at least one unavailable data fragment based on the at least one parity fragment from the first local group or a second local group from the at least two local groups.