×

Adaptive erasure codes

  • US 10,044,374 B2
  • Filed: 07/30/2015
  • Issued: 08/07/2018
  • Est. Priority Date: 07/30/2015
  • Status: Active Grant
First Claim
Patent Images

1. A non-transitory computer-readable storage medium storing computer executable instructions that when executed by a computer control the computer to perform a method for encoding a message to be stored in a distributed data storage system, the method comprising:

  • accessing a plurality of messages, where a member of the plurality of messages has a message size;

    upon determining that the message size of the member of the plurality of messages is greater than or equal to a threshold size;

    selecting a Fountain coding approach as a selected coding approach;

    upon determining that the message size of the member of the plurality of messages is less than the threshold size;

    computing an interleaving overhead;

    computing a coding overhead;

    upon determining that the interleaving overhead is greater than one and the coding overhead is less than a threshold coding overhead amount;

    selecting a Fountain coding approach as the selected coding approach;

    upon detecting that the interleaving overhead is not greater than one and the coding overhead is not less than the threshold coding overhead amount;

    selecting a Reed Solomon coding approach as the selected coding approach;

    upon detecting that a number of parities is less than a threshold number of parities, where the threshold number of parities is four when a STAR coding approach is employed, and where the threshold number of parities is three when a non-STAR coding approach is employed;

    using an exclusive or (XOR) based block-maximum distance separable (MDS) coding approach as the selected coding approach;

    upon detecting that the number of parities is greater than or equal to the threshold number of parities;

    using a classical construction coding approach as the selected coding approach;

    upon determining that the data storage system is within a threshold reliability level;

    automatically and dynamically generating an adapted coding approach by adjusting a set of coding parameters, where the set of coding parameters is based, at least in part, on the selected coding approach;

    upon determining that the data storage system is not within the threshold reliability level, encoding the message using the adapted coding approach, andstoring the encoded message in the distributed data storage system.

View all claims
  • 8 Assignments
Timeline View
Assignment View
    ×
    ×