IP Library Granted Patent US 11,740,977
Granted Patent B2
US 11,740,977 · App. 16/773,906 · Granted Aug 29, 2023

Efficient deduplication based file movement for load balancing in a scaled-out backup system

Inventors: Alok Katiyar (Santa Clara, CA); Srisailendra Yallapragada (Cupertino, CA); Chetan Risbud (Milpitas, CA); Sanjay Vedanthan (Santa Clara, CA)
Assignee: EMC IP Holding Company LLC
G06F11/1453G06F11/1451G06F11/1464G06F11/1469G06F11/3034G06F16/128G06F16/1748G06F16/219G06F16/2246G06F16/24573
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,740,977
App. No.
16/773,906
Granted
Aug 29, 2023
Kind
B2
Abstract

Embodiments for balancing cloud resource capacity for cross-node movement of files in a scaled out backup system, and for dynamically allocating cloud storage resources in a multi-node network having a file system. A process determines a destination node with dedicated cloud storage capable of storing a file selected for long term retention. It transfers the file to the cloud storage of the destination node while maintaining metadata of the file in the cloud tier local storage of the destination node, such as by using remote procedure calls between the destination and source nodes. It then updates a global namespace of the file system with a handle indicating a current location of the file as the cloud storage of the destination file, thus allowing access to the file through the metadata stored in the local storage of the source node.

Claims (29)

1. A computer-implemented method of dynamically balancing cloud resource capacity in a multi-node network having a file system, comprising:

providing a deduplication backup system comprising a backup server;

determining, through a cluster-wide file migration to cloud (FMIG) process that is internal to the deduplication backup system, a destination node of the multi-node network with dedicated cloud storage capable of storing a file selected for long term retention, in a local storage of a source node of the multi-node network;

negotiating an initial state of the source node and the destination node through a state sharing process of initial preparatory work including opening a new file on the destination node and storing file metadata on the local storage for a cloud tier of the destination node, wherein the metadata points to actual file data to be moved to the dedicated cloud storage;

associating a current cloud capacity to each respective node of the multi-node network;

transferring the file directly to the dedicated cloud storage without storing the actual file data on the local storage of the destination node, when a current cloud capacity of the destination node is adequate, otherwise transferring the file to cloud storage of a different node having sufficient cloud capacity to balance utilization of cloud storage among nodes of the multi-node network;

building and persisting, during the transferring step, a metadata segment tree on the destination node through metadata references for file data marked for long-term storage;

storing the metadata tree on the source node without storing the metadata in the cloud storage, wherein the transferring step uses deduplication processes of the backup server to prevent unnecessary copying of files already moved to the cloud storage by comparing data references from the metadata segment tree on the destination node to metadata stored in a tree for files that have been moved to the cloud storage;

sending, from the destination node to the source node, a list of references for data that is not moved to cloud storage for a metadata tree stored on the source node, wherein the source node responds to the destination node with any data that has not been previously moved to the cloud storage; and

updating a global namespace of the file system with a handle indicating a current location of the file as the dedicated cloud storage of the destination file through the metadata segment tree, the handle allowing access to the file through the metadata stored in the local storage of the source node.

2. The method of claim 1 further comprising, prior to the transferring, opening a temporary file in the local storage of the destination node.

3. The method of claim 1 wherein the metadata stores attributes of the file selected from the group consisting of: file name, file type, file ownership, file permissions, creation/access/modification times, and file size.

4. The method of claim 3 wherein the metadata is maintained in a tree format having individual (Lp) segments organized hierarchically down to data segments comprising the file.

5. The method of claim 4 wherein the handle comprises a content handle of the metadata tree that points to a version corresponding to the current location of the file.

6. The method of claim 1 wherein the backup server executes a deduplication backup process executed running a Data Domain file system (DDFS).

7. The method of claim 6 wherein at least part of the multi-node network comprises a virtualized network, and the dedicated cloud storage comprises virtual storage implemented on one or more virtual machines in the network.

8. The method of claim 6 wherein each node comprises a data domain within the DDFS, and wherein the transferring is performed using a plurality of remote procedure calls between the source node and the destination node.

9. The method of claim 8 wherein the remote procedure calls comprise calls for: file open, file associate, file transfer, and close connection.

10. The method of claim 9 wherein the file transfer calls comprise sub-remote procedure calls comprising: “send references” causing transmission of metadata of file chunks instead of actual data, “receive references” causing a return of a list of file chunks that are not already present in the destination node dedicated cloud storage, and “send segments” which causes transmission of actual file segments returned by the “receive references” remote procedure call.

11. A computer program product, comprising a non-transitory computer-readable medium having a computer-readable program code embodied therein, the computer-readable program code adapted to be executed by one or more processors to implement a method of dynamically balancing cloud resource capacity in a multi-node network having a file system, by:

providing a deduplication backup system comprising a backup server;

determining, through a cluster-wide file migration to cloud (FMIG) process that is internal to the deduplication backup system, a destination node of the multi-node network with dedicated cloud storage capable of storing a file selected for long term retention, in a local storage of a source node of the multi-node network;

negotiating an initial state of the source node and the destination node through a state sharing process of initial preparatory work including opening a new file on the destination node and storing file metadata on the local storage for a cloud tier of the destination node, wherein the metadata points to actual file data to be moved to the dedicated cloud storage;

associating a current cloud capacity to each respective node of the multi-node network;

transferring the file directly to the dedicated cloud storage without storing the actual file data on the local storage of the destination node, when a current cloud capacity of the destination node is adequate, otherwise transferring the file to cloud storage of a different node having sufficient cloud capacity to balance utilization of cloud storage among nodes of the multi-node network;

building and persisting, during the transferring step, a metadata segment tree on the destination node through metadata references for file data marked for long-term storage;

storing the metadata tree on the source node without storing the metadata in the cloud storage, wherein the transferring step uses deduplication processes of the backup server to prevent unnecessary copying of files already moved to the cloud storage by comparing data references from the metadata segment tree on the destination node to metadata stored in a tree for files that have been moved to the cloud storage;

sending, from the destination node to the source node, a list of references for data that is not moved to cloud storage for a metadata tree stored on the source node, wherein the source node responds to the destination node with any data that has not been previously moved to the cloud storage; and

updating a global namespace of the file system with a handle indicating a current location of the file as the dedicated cloud storage of the destination file through the metadata segment tree, the handle allowing access to the file through the metadata stored in the local storage of the source node.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053311/0169) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0742 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052216/0758) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2021
From: KATIYAR, ALOK; YALLAPRAGADA, SRISAILENDRA; RISBUD, CHETAN; VEDANTHAN, SANJAY
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 057083/0359 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 053311/0169 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →