IP Library Granted Patent US 9,450,617
Granted Patent B2
US 9,450,617 · App. 14/455,529 · Granted Sep 20, 2016

Distribution and replication of erasure codes

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 9,450,617
App. No.
14/455,529
Granted
Sep 20, 2016
Kind
B2
Abstract

Example apparatus and methods selectively replicate some erasure codes associated with a message and selectively distribute, without replicating, other erasure codes associated with the message. The message may have k symbols and n erasure codes may have been generated for the message, n>=k. In one embodiment, erasure codes that store plaintext information from the message (e.g., un-encoded symbols) may be replicated (e.g., sent to all devices using erasure codes associated with the message) while erasure codes that do not store plaintext information may be distributed (e.g., selectively moved to less than all devices) without being replicated. Some (e.g., less than k) erasure codes that do not store plaintext information may be stored unencrypted in the cloud. The generator matrix will not be stored in the cloud.

Claims (44)

1. A method, comprising:

receiving x out of y erasure codes produced for a message, where the message has k symbols, y being greater than or equal to k, x being less than or equal to y, x being sufficient to reconstruct the message;

upon detecting a condition that makes one or more of the x erasure codes unavailable and that prevents the message from being reconstructed using the x erasure codes, providing an outgoing request for an additional erasure code, where the outgoing request identifies a subset of the x erasure codes that were not affected by the condition and that are still available for reconstructing the message, and

upon detecting that an additional erasure code has been received in response to providing the outgoing request, reconstructing the message based, at least in part, on the additional erasure code and the x erasure codes that were not affected by the condition and that are still available.

2. The method of claim 1 , comprising:

upon receiving an incoming request for an additional erasure code from a requestor that experienced a condition that made an erasure code stored at the requestor unavailable to the requestor, where the incoming request includes information identifying members of the y erasure codes that are present at the requestor, providing, to the requestor, a member of the x erasure codes that is not identified in the incoming request.

3. The method of claim 1 , comprising:

receiving location information identifying one or more locations from which members of the y erasure codes can be requested.

4. The method of claim 3 , where the location information identifies first data stores to which members of the y erasure codes were replicated and second data stores to which members of the y erasure codes were distributed.

5. The method of claim 4 , where the outgoing request is provided to one or more members of the first data stores or to one or more members of the second data stores.

6. The method of claim 5 , where the additional erasure code is received from a member of the first data stores or from a member of the second data stores.

7. The method of claim 1 , where the x out of y erasure codes are received from a provider that generates the set of y erasure codes based, at least in part, on a generator matrix.

8. The method of claim 7 , comprising receiving information concerning the generator matrix, where reconstructing the message depends, at least in part, on the generator matrix.

9. The method of claim 7 , where the provider identifies a set of sites that are using members of the set of y erasure codes and provides information about the generator matrix to the set of sites.

10. The method of claim 9 , where the provider selects first members of the y erasure codes to be replicated, selects replication members of the set of sites to receive the first members, and replicates the selected first members to the replication members.

11. The method of claim 10 , where the provider provides information about the first members and the replication members to selected members of the set of sites.

12. The method of claim 10 , where the provider selects an erasure code to be replicated based, at least in part, on a probability that the erasure code will be read exceeds a first threshold.

13. The method of claim 10 , where the provider selects second members of the y erasure codes to be distributed, selects distribution members of the set of sites to receive the second members, and distributes the second members to the distribution members.

14. The method of claim 13 , where the provider provides information about the second members and the distribution members to the selected members of set of sites.

15. The method of claim 13 , where the provider selects an erasure code to be duplicated based, at least in part, on a probability that the erasure code will be read is less than a second threshold.

16. The method of claim 7 , where the provider causes one or more of the y erasure codes to be stored, unencrypted, in a publicly accessible storage.

17. An apparatus, comprising:

a processor;

a data store that stores a set of erasure codes associated with a message, where the set is sufficient to reconstruct the message;

a memory that stores electronic data that identifies a provider from which an additional erasure code associated with the message can be requested;

a set of logics; and

an interface that connects the processor, the memory, and the set of logics;

the set of logics comprising:

a first logic that, upon detecting that the set of erasure codes is insufficient to reconstruct the message, sends a request for an additional erasure code associated with the message to the provider, where the request identifies members of the set of erasure codes that are currently available for reconstructing the message; and

a second logic that, upon detecting that an additional erasure code has been received in response to the request, selectively stores the additional erasure code in the data store upon determining that the additional erasure code is not already stored in the data store.

18. The apparatus of claim 17 , comprising a third logic that, upon detecting an incoming request for an additional erasure code from a requester, selectively provides a member of the set of erasure codes to the requester.

19. The apparatus of claim 18 , where the third logic provides an erasure code that the requester did not identify in the incoming request.

20. The apparatus of claim 18 , where the third logic prioritizes providing an erasure code from which the message can be reconstructed without decoding over an erasure code from which the message can be reconstructed with decoding.

21. The apparatus of claim 17 , comprising a fourth logic that, upon detecting that an additional erasure code has been added to the data store, attempts to reconstruct the message from the erasure codes stored in the data store.

22. A non-transitory computer-readable medium storing computer-executable instructions that when executed by a computer cause the computer to perform a method, the method comprising:

generating a plurality of erasure codes for a message;

replicating selected members of the plurality of erasure codes to one or more replication receivers;

duplicating selected members of the plurality of erasure codes to one or more duplication receivers; and

upon determining that a user of the erasure codes does not have enough erasure codes to reconstruct the message, providing a selected member of the plurality of erasure codes to the user.

23. The non-transitory computer-readable medium of claim 22 , where generating the plurality of erasure codes depends, at least in part, on a generator matrix, and where the method includes providing the generator matrix to selected members of the replication receivers.

24. The non-transitory computer-readable medium of claim 22 , where providing a selected member of the plurality of erasure codes includes controlling a replication receiver to send an additional erasure code to the user.

25. The non-transitory computer-readable medium of claim 22 , where providing a selected member of the plurality of erasure codes includes controlling a duplication receiver to send an additional erasure code to the user.

26. The non-transitory computer-readable medium of claim 22 , the method comprising storing selected members of the plurality of erasure codes in a public data store.

27. The non-transitory computer-readable medium of claim 22 , the method comprising storing selected members of the plurality of erasure codes in a public data store without encrypting the selected members of the plurality of erasure codes.

Assignments (12)
INTELLECTUAL PROPERTY SECURITY AGREEMENT Recorded Dec 18, 2025
From: QUANTUM CORPORATION
To: U.S. BANK TRUST COMPANY, NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 074024/0084 →
TERMINATION AND RELEASE OF INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL/FRAME NO. 40473/0378 Recorded Oct 8, 2025
From: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 073061/0454 →
TERMINATION AND RELEASE OF AMENDED AND RESTATED INTELLECTUAL PROPERTY SECURITY AGREEMENT AT REEL/FRAME NO. 48029/0525 Recorded Aug 19, 2025
From: PNC BANK, NATIONAL ASSOCIATION, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 072542/0594 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 24, 2025
From: BLUE TORCH FINANCE LLC, AS AGENT FOR THE SECURED PARTIES
To: ALTER DOMUS (US) LLC, AS AGENT FOR THE SECURED PARTIES
Reel/Frame 071019/0850 →
RELEASE OF SECURITY INTEREST Recorded Aug 10, 2021
From: U.S. BANK NATIONAL ASSOCIATION
To: QUANTUM CORPORATION; QUANTUM LTO HOLDINGS, LLC
Reel/Frame 057142/0252 →
SECURITY INTEREST Recorded Aug 5, 2021
From: QUANTUM CORPORATION; QUANTUM LTO HOLDINGS, LLC
To: BLUE TORCH FINANCE LLC, AS AGENT
Reel/Frame 057107/0001 →
SECURITY INTEREST Recorded Jan 8, 2019
From: QUANTUM CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 048029/0525 →
RELEASE OF SECURITY INTEREST Recorded Dec 27, 2018
From: TCW ASSET MANAGEMENT COMPANY LLC, AS AGENT
To: QUANTUM CORPORATION
Reel/Frame 047988/0642 →
SECURITY INTEREST Recorded Dec 27, 2018
From: QUANTUM CORPORATION, AS GRANTOR; QUANTUM LTO HOLDINGS, LLC, AS GRANTOR
To: U.S. BANK NATIONAL ASSOCIATION, AS AGENT
Reel/Frame 049153/0518 →
SECURITY INTEREST Recorded Oct 25, 2016
From: QUANTUM CORPORATION
To: PNC BANK, NATIONAL ASSOCIATION
Reel/Frame 040473/0378 →
SECURITY INTEREST Recorded Oct 21, 2016
From: QUANTUM CORPORATION
To: TCW ASSET MANAGEMENT COMPANY LLC, AS AGENT
Reel/Frame 040451/0183 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 8, 2014
From: DOERNER, DON
To: QUANTUM CORPORTAION
Reel/Frame 033498/0234 →