IP Library Granted Patent US 10,613,935
Granted Patent B2
US 10,613,935 · App. 15/883,214 · Granted Apr 7, 2020

System and method for supporting integrity of data storage with erasure coding

Inventors: Alexander G. Tormasov (Moscow, RU); Stanislav S. Protasov (Moscow, RU); Serguei M. Beloussov (Costa Del Sol, SG); Mark Shmulevich (Moscow, RU)
Assignee: Acronis International GmbH
G06F11/1076G06F3/064G06F3/065G06F3/067G06F3/0619G06Q20/10G06Q20/387G06Q20/42G06Q30/0207G06Q30/08H03M13/13H03M13/373H03M13/3761H04L67/1097H03M13/1515
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 10,613,935
App. No.
15/883,214
Granted
Apr 7, 2020
Kind
B2
Abstract

A system and method is provided for supporting integrity of distributed data storage with erasure coding. An exemplary method includes receiving a request to create a backup or archive of electronic data using erasure coding, contacting storage nodes and providing an incentive mechanism to incentivize each of the storage nodes to support the distributed data storage, receiving confirmation from at least some of the storage nodes indicating an agreement to store data, generating K data blocks and M parity blocks from the electronic data using erasure coding, and allocating the K data blocks and the M parity blocks to the storage nodes that have agreed to store data.

Claims (53)

1. A method for supporting integrity of distributed data storage with erasure coding, the method comprising:

receiving, by at least one server, a request to create a backup or archive of electronic data using erasure coding;

contacting, by the at least one server, a plurality of storage nodes and providing a proposed electronic agreement comprising an incentive for each of the storage nodes to participate in distributed data storage, wherein participation in the distributed data storage comprises storing the electronic data;

receiving, by the at least one server, confirmation from at least a portion of the plurality of storage nodes indicating an agreement to store the electronic data;

generating, by the at least one server, a plurality of K data blocks and M parity blocks from the electronic data using erasure coding;

allocating, by the at least one server, the plurality of K data blocks and the M parity blocks to the portion of the plurality of storage nodes that have agreed to store data;

determining whether the allocation to the portion of the plurality of storage nodes is verified;

issuing the incentive to any storage node of the plurality of storage nodes whose allocation is verified; and

performing a corrective action when the allocation is not verified.

2. The method according to claim 1 , wherein the confirmation from the portion of the plurality of storage nodes includes an electronic execution of the electronic agreement.

3. The method according to claim 2 , wherein the electronic agreement specifies conditions for storing the plurality of K data blocks and M parity blocks on each of the plurality of storage nodes.

4. The method according to claim 1 , wherein verifying allocation comprises verifying storage and integrity of the plurality of K data blocks and the M parity blocks stored on the portion of the plurality of storage nodes, respectively.

5. The method according to claim 4 , wherein the incentive is an electronic payment.

6. The method of claim 5 , further comprising:

issuing the electronic payment to an account associated with the portion of the plurality of storage nodes.

7. The method of claim 1 , wherein the request comprises a desired degree of redundancy for storage of the electronic data.

8. The method of claim 7 , wherein the corrective action comprises:

sending a particular block of the K data blocks and the M parity blocks to a next storage node in the plurality of storage nodes in order to increase the desired degree of redundancy.

9. The method of claim 1 , further comprising:

generating an auction to another plurality of storage nodes to identify new storage nodes for future storage of the electronic data by:

receiving bids from the another plurality of storage nodes; and

identifying a first amount of the new storage nodes from the another plurality of storage nodes with a lowest bid value.

10. The method of claim 9 , wherein identifying the first amount of the new storage nodes is performed based on a desired degree of redundancy for storage of the electronic data.

11. The method of claim 1 , wherein the electronic data is encrypted prior to storage at a particular storage node.

12. A system for supporting integrity of distributed data storage with erasure coding, the system comprising:

at least one server having one or more processors configured to:

receive a request to create a backup or archive of electronic data using erasure coding,

contact a plurality of storage nodes and provide a proposed electronic agreement comprising an incentive for each of the storage nodes to participate in distributed data storage, wherein participating in the distributed data storage comprises storing the electronic data,

receive confirmation from at least a portion of the plurality of storage nodes indicating an agreement to store the electronic data,

generate a plurality of K data blocks and M parity blocks from the electronic data using erasure coding,

allocate the plurality of K data blocks and the M parity blocks to the portion of the plurality of storage nodes that have agreed to store data,

determine whether the allocation to the portion of the plurality of storage nodes is verified;

issue the incentive to any storage node of the plurality of storage nodes whose allocation is verified; and

perform a corrective action when the allocation is not verified.

13. The system according to claim 12 , wherein the confirmation from the portion of the plurality of storage nodes includes an electronic execution of the electronic agreement.

14. The system according to claim 13 wherein the electronic agreement specifies conditions for storing the plurality of K data blocks and M parity blocks on each of the plurality of storage nodes.

15. The system according to claim 12 , wherein the one or more processors is further configured to verify storage and integrity of the plurality of K data blocks and the M parity blocks stored on the portion of the plurality of storage nodes, respectively.

16. The system according to claim 15 , wherein the one or more processors is further configured issue an electronic payment to each of the portion of the plurality of storage nodes upon verification of the storage and integrity of the plurality of K data blocks and the M parity blocks stored thereon, respectively.

17. The system of claim 12 , wherein the electronic data is encrypted prior to storage at a particular storage node.

18. A non-transitory computer readable medium storing thereon computer executable instructions, that when executed by a processor, perform a method comprising:

receiving, by at least one server, a request to create a backup or archive of electronic data using erasure coding;

contacting, by the at least one server, a plurality of storage nodes and providing a proposed electronic agreement comprising an incentive for each of the storage nodes to participate in distributed data storage, wherein participating in the distributed data storage comprises storing the electronic data;

receiving, by the at least one server, confirmation from at least a portion of the plurality of storage nodes indicating an agreement to store the electronic data;

generating, by the at least one server, a plurality of K data blocks and M parity blocks from the electronic data using erasure coding;

allocating, by the at least one server, the plurality of K data blocks and the M parity blocks to the portion of the plurality of storage nodes that have agreed to store data;

determining whether the allocation to the portion of the plurality of storage nodes is verified;

issuing the incentive to any storage node of the plurality of storage nodes whose allocation is verified; and

performing a corrective action when the allocation is not verified.

19. The computer-readable medium according to claim 18 , wherein the confirmation from the portion of the plurality of storage nodes includes an electronic execution of the electronic agreement.

20. The computer-readable medium according to claim 19 , wherein the electronic agreement specifies conditions for storing the plurality of K data blocks and M parity blocks on each of the plurality of storage nodes.

21. The computer-readable medium according to claim 18 , wherein verifying allocation comprises verifying storage and integrity of the plurality of K data blocks and the M parity blocks stored on the portion of the plurality of storage nodes, respectively.

22. The computer-readable medium according to claim 21 , wherein the incentive is an electronic payment.

23. The computer-readable medium of claim 18 , wherein the electronic data is encrypted prior to storage at a particular storage node.

Assignments (5)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 28, 2024
From: ACRONIS INTERNATIONAL GMBH
To: VIRTUOZZO INTERNATIONAL GMBH
Reel/Frame 066931/0580 →
REAFFIRMATION AGREEMENT Recorded Aug 28, 2022
From: ACRONIS AG; ACRONIS INTERNATIONAL GMBH; ACRONIS SCS, INC.; ACRONIS, INC.; GROUPLOGIC, INC.; NSCALED INC.; ACRONIS MANAGEMENT LLC; 5NINE SOFTWARE, INC.; ACRONIS GERMANY GMBH; ACRONIS NETHERLANDS B.V.; ACRONIS BULGARIA EOOD; DEVICELOCK, INC.; DEVLOCKCORP LTD; ACRONIS INC.
To: MIDCAP FINANCIAL TRUST
Reel/Frame 061330/0818 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 24, 2020
From: TORMASOV, ALEXANDER G; PROTASOV, STANISLAV S; BELOUSSOV, SERGUEI M; SHMULEVICH, MARK
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 051906/0317 →
SECURITY INTEREST Recorded Dec 19, 2019
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 051418/0119 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 14, 2018
From: TORMASOV, ALEXANDER G; PROTASOV, STANISLAV S; BELOUSSOV, SERGUEI M; SHMULEVICH, MARK
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 044922/0946 →
Continuity (2)
Provisional Application 62452528 · Jan 31, 2017
Related Publication 20180217898A1 · Aug 2, 2018
Cited By (1)
US 12,373,304