IP Library Granted Patent US 9,990,252
Granted Patent B1
US 9,990,252 · App. 14/959,474 · Granted Jun 5, 2018

Data storage system performance management

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,990,252
App. No.
14/959,474
Granted
Jun 5, 2018
Kind
B1
Abstract

In part, the disclosure relates to a computer-implemented system for managing a data storage system comprising a plurality of data storage nodes. The system includes at least one processor and an operatively associated storage device. The at least one processor is programmed to: monitor utilization of at least one data object stored at the data storage system as a coded data object comprising a first total number of data blocks, wherein each of the first number of data blocks is stored at a separate data storage node, and wherein an original data object is re-creatable from a first base number of data blocks selected from the first total number of data blocks; determine that the utilization of the at least one data object has changed; and modify a number of the plurality of data storage nodes that store data blocks of the coded data object.

Claims (45)

1. A computer-implemented system for managing performance of a data storage system comprising a plurality of data storage nodes, the system comprising:

at least one processor and

an operatively associated storage device, wherein the at least one processor is programmed to:

monitor utilization of at least one data object stored at the data storage system as a coded data object comprising a first total number of data blocks,

wherein each of the first total number of data blocks is stored at a separate one or more data storage nodes selected from the plurality of data storage nodes, and

wherein an original data object is recreatable from a first base number of data blocks selected from the first total number of data blocks;

determine that the utilization of the at least one data object has changed; and

modify a number of the plurality of data storage nodes that store data blocks of the coded data object.

2. The system of claim 1 , wherein modifying the number of the plurality of data storage nodes that store data blocks of the coded object comprises:

reading at least the first base number of data blocks selected from the first total number of data blocks;

recreating the original data object from the read data blocks;

dividing the original data object into a second base number of data blocks;

encoding the second base number of data objects to generate a second coded data object comprising a second total number of data blocks; and

storing each of the second total number of data blocks at one or more data storage nodes selected from the plurality of data storage nodes.

3. The system of claim 2 , wherein a ratio of the first base number of data blocks to the first total number of data blocks is equal to a ratio of the second base number of data blocks to the second total number of data objects.

4. The system of claim 2 , wherein a ratio of the first base number of data blocks to the first total number of data blocks is less than a ratio of the second base number of data blocks to the second total number of data objects.

5. The system of claim 1 , wherein modifying the number of the plurality of data storage nodes that store data blocks of the coded object comprises:

reading at least a portion of the first base number of data blocks; and

writing each of the at least a portion of the first base number of data blocks to an additional data storage node.

6. The system of claim 1 , wherein determining that the utilization of the at least one data object has changed comprises determining that the utilization of the at least one data object has increased, and wherein modifying the number of the plurality of storage nodes that store data blocks of the coded data object comprises increasing the number of the plurality of storage nodes that store data blocks of the coded data object.

7. The system of claim 1 , wherein determining that the utilization of the at least one data object has changed comprises determining that the utilization of the at least one data object has decreased, and wherein modifying the number of the plurality of storage nodes that store data blocks of the coded data object comprises decreasing the number of the plurality of storage nodes that store data blocks of the coded data object.

8. A computer-implemented system for managing performance of a data storage system comprising a plurality of data storage nodes, the system comprising:

at least one processor and

an operatively associated storage device, wherein the at least one processor is programmed to:

monitor utilization of a first data object stored at the data storage system as a coded data object comprising a first total number of data blocks,

wherein each of the first total number of data blocks is stored at one or more data storage nodes selected from the plurality of data storage nodes, and

wherein an original data object is recreatable from a first base number of data blocks selected from the first total number of data blocks;

monitor availability of the first data object stored at the data storage system;

identify a mismatch between the utilization of a data object and the availability of the data object; and

modify a number of the plurality of data storage nodes that store data blocks of the coded data object.

9. The system of claim 8 , wherein modifying the number of the plurality of data storage nodes that store data blocks of the coded object comprises:

reading at least the first base number of data blocks selected from the first total number of data blocks;

recreating the original data object from the read data blocks;

dividing the original data object into a second base number of data blocks;

encoding the second base number of data objects to generate a second coded data object comprising a second total number of data blocks; and

storing each of the second total number of data blocks at one or more data storage nodes selected from the plurality of data storage nodes.

10. The system of claim 9 , wherein a ratio of the first base number of data blocks to the first total number of data blocks is equal to a ratio of the second base number of data blocks to the second total number of data objects.

11. The system of claim 9 , wherein a ratio of the first base number of data blocks to the first total number of data blocks is less than a ratio of the second base number of data blocks to the second total number of data objects.

12. The system of claim 8 , wherein modifying the number of the plurality of data storage nodes that store data blocks of the coded object comprises:

reading at least a portion of the first base number of data blocks; and

writing each of the at least a portion of the first base number of data blocks to an additional data storage node.

13. The system of claim 8 , wherein modifying the number of the plurality of data storage nodes that store data blocks of the coded object comprises:

decreasing the number of the plurality of storage nodes that store data blocks of the coded data object.

14. The system of claim 8 , wherein modifying the number of the plurality of data storage nodes that store data blocks of the coded object comprises:

increasing the number of the plurality of storage nodes that store data blocks of the coded data object.

Assignments (5)
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 →
SECURITY INTEREST Recorded Dec 19, 2019
From: ACRONIS INTERNATIONAL GMBH
To: MIDCAP FINANCIAL TRUST
Reel/Frame 051418/0119 →
RELEASE OF SECURITY INTEREST Recorded Oct 21, 2019
From: OBSIDIAN AGENCY SERVICES, INC.
To: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
Reel/Frame 050783/0893 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 6, 2018
From: MORLANG, ALEXEY; ANDREEV, ALEXEY; NEPORADA, ANDREY; BELOUSSOV, SERGUEI
To: ACRONIS INTERNATIONAL GMBH
Reel/Frame 044843/0054 →
SECURITY INTEREST Recorded Jul 26, 2017
From: ACRONIS INTERNATIONAL GMBH; GROUPLOGIC, INC.
To: OBSIDIAN AGENCY SERVICES, INC., AS COLLATERAL AGENT
Reel/Frame 043350/0186 →