IP Library Granted Patent US 11,379,118
Granted Patent B2
US 11,379,118 · App. 17/081,743 · Granted Jul 5, 2022

Method and system for storage load balancing based on virtual synthetics metadata

Inventors: Kedar Sadanand Godbole (Pune, IN); Nitin Madan (Cupertino, CA); Srikant Viswanathan (Pune, IN)
Assignee: EMC IP Holding Company LLC
G06F3/0604G06F3/067G06F3/0652
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 11,379,118
App. No.
17/081,743
Granted
Jul 5, 2022
Kind
B2
Abstract

A method and system for storage load balancing based on virtual synthetics metadata. When storing data onto a storage cluster, data submitted thereto may often be distributed unevenly across the constituent storage nodes thereof. To address the issue, some form of load balancing (or re-distribution of data) across the storage nodes may be implemented. Existing load balancing techniques, however, tend to migrate data between storage nodes without consideration for the efficient utilization of available storage space on the storage node where the data ends up (or destination storage node). Accordingly, the disclosed method and system propose a load balancing mechanism whereby the migrated data dedupes well, thereby securing the efficient consumption of storage space on the destination storage node.

Claims (67)

1. A method for storage load balancing between storage nodes, comprising:

monitoring a storage utilization on a source storage node;

making a first determination that the storage utilization at least meets a warning threshold;

generating, based on the first determination and from virtual synthetics metadata, a relationship graph for files maintained on the source storage node;

identifying a first subset of the files based on the relationship graph; and

migrating the first subset of the files to a destination storage node.

2. The method of claim 1 , wherein the virtual synthetics metadata for a file comprises at least one metadata record, wherein each metadata record of the at least one metadata record comprises information mapping a first file segment of the file to a second file segment of a base file, wherein the first and second file segments comprise identical content.

3. The method of claim 2 , wherein the information comprises a base file identifier associated with the base file, a base file segment offset for the second file segment, a base file segment length for the second file segment, and a file offset for the first file segment.

4. The method of claim 1 , wherein the relationship graph is a disconnected graph comprising at least two independent sub-graphs, wherein each sub-graph is a connected graph.

5. The method of claim 1 , wherein generating the relationship graph for files maintained on the source storage node from the virtual synthetics metadata, comprises:

for each file associated with the virtual synthetics metadata, of the files maintained on the source storage node:

adding, if not existing already, a first vertex representative of the file to the relationship graph;

examining the virtual synthetics metadata associated with the file to identify at least one base file;

adding, for each base file of the at least one base file and if not existing already, a second vertex representative of the base file to the relationship graph; and

adding, for each base file of the at least one base file, an edge connecting the first vertex to the second vertex.

6. The method of claim 1 , wherein identifying the first subset of the files based on the relationship graph, comprises:

selecting a relationship sub-graph of the relationship graph; and

identifying, for each vertex forming the relationship sub-graph, a file being represented by the vertex.

7. The method of claim 1 , further comprising:

obtaining an updated storage utilization for the source storage node;

making a second determination that the updated storage utilization exceeds a goal threshold;

identifying, based on the second determination, a second subset of the files based on the relationship graph; and

migrating the second subset of the files to the destination storage node.

8. A non-transitory computer readable medium (CRM) comprising computer readable program code, which when executed by a computer processor, enables the computer processor to:

monitor a storage utilization on a source storage node;

make a first determination that the storage utilization at least meets a warning threshold;

generate, based on the first determination and from virtual synthetics metadata, a relationship graph for files maintained on the source storage node;

identify a first subset of the files based on the relationship graph; and

migrate the first subset of the files to a destination storage node.

9. The non-transitory CRM of claim 8 , wherein the virtual synthetics metadata for a file comprises at least one metadata record, wherein each metadata record of the at least one metadata record comprises information mapping a first file segment of the file to a second file segment of a base file, wherein the first and second file segments comprise identical content.

10. The non-transitory CRM of claim 9 , wherein the information comprises a base file identifier associated with the base file, a base file segment offset for the second file segment, a base file segment length for the second file segment, and a file offset for the first file segment.

11. The non-transitory CRM of claim 8 , wherein the relationship graph is a disconnected graph comprising at least two independent sub-graphs, wherein each sub-graph is a connected graph.

12. The non-transitory CRM of claim 8 , further comprising computer readable program code to generate the relationship graph, which when executed by the computer processor, further enables the computer processor to:

for each file associated with the virtual synthetics metadata, of the files maintained on the source storage node:

add, if not existing already, a first vertex representative of the file to the relationship graph;

examine the virtual synthetics metadata associated with the file to identify at least one base file;

add, for each base file of the at least one base file and if not existing already, a second vertex representative of the base file to the relationship graph; and

add, for each base file of the at least one base file, an edge connecting the first vertex to the second vertex.

13. The non-transitory CRM of claim 8 , further comprising computer readable program code to identify the first subset of the files, which when executed by the computer processor, further enables the computer processor to:

select a relationship sub-graph of the relationship graph; and

identify, for each vertex forming the relationship sub-graph, a file being represented by the vertex.

14. The non-transitory CRM of claim 8 , further comprising computer readable program code, which when executed by the computer processor, further enables the computer processor to:

obtain an updated storage utilization for the source storage node;

make a second determination that the updated storage utilization exceeds a goal threshold;

identify, based on the second determination, a second subset of the files based on the relationship graph; and

migrate the second subset of the files to the destination storage node.

15. A system, comprising:

a plurality of storage nodes, comprising:

a destination storage node; and

a source storage node operatively connected to the destination storage node, and comprising a computer processor,

wherein a data migration agent executes on the computer processor and is programmed to:

monitor a storage utilization on the source storage node;

make a first determination that the storage utilization at least meets a warning threshold;

generate, based on the first determination and from virtual synthetics metadata, a relationship graph for files maintained on the source storage node;

identify a first subset of the files based on the relationship graph; and

migrate the first subset of the files to the destination storage node.

16. The system of claim 15 , wherein the virtual synthetics metadata for a file comprises at least one metadata record, wherein each metadata record of the at least one metadata record comprises information mapping a first file segment of the file to a second file segment of a base file, wherein the first and second file segments comprise identical content.

17. The system of claim 16 , wherein the information comprises a base file identifier associated with the base file, a base file segment offset for the second file segment, a base file segment length for the second file segment, and a file offset for the first file segment.

18. The system of claim 15 , wherein the relationship graph is a disconnected graph comprising at least two independent sub-graphs, wherein each sub-graph is a connected graph.

19. The system of claim 15 , wherein to identify the first subset of the files, the data migration agent is further programmed to:

select a relationship sub-graph of the relationship graph; and

identify, for each vertex forming the relationship sub-graph, a file being represented by the vertex.

20. The system of claim 15 , wherein the data migration agent is further programmed to:

obtain an updated storage utilization for the source storage node;

make a second determination that the updated storage utilization exceeds a goal threshold;

identify, based on the second determination, a second subset of the files based on the relationship graph; and

migrate the second subset of the files to the destination storage node.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 28, 2020
From: GODBOLE, KEDAR SADANAND; MADAN, NITIN; VISWANATHAN, SRIKANT
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 054201/0001 →
Continuity (1)
Related Publication 20220129157A1 · Apr 28, 2022