IP Library Granted Patent US 11,513,997
Granted Patent B2
US 11,513,997 · App. 16/822,848 · Granted Nov 29, 2022

Assignment of longevity ranking values of storage volume snapshots based on snapshot policies

Inventors: Itay Keller (Tel Aviv, IL); Erez Webman (Petach Tikva, IL); Nir Milstein (Tel Aviv, IL); Yonatan Shtarkman (Tel Aviv, IL)
Assignee: EMC IP Holding Company LLC
G06F16/128G06F11/1451G06F11/1461G06F11/1464G06F11/1469G06F16/1734G06F16/1824G06F16/2246
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,513,997
App. No.
16/822,848
Granted
Nov 29, 2022
Kind
B2
Abstract

Techniques are provided for utilizing snapshot longevity information to manage snapshots in a snapshot-enabled storage system. A snapshot management system generates a snapshot volume tree which comprises snapshots associated with a given storage volume. The snapshot management system obtains a snapshot policy associated with the given storage volume, which comprises a snapshot creation and retention schedule that specifies retention lifespans of the snapshots. The snapshot policy is evaluated to automatically determine and assign respective longevity ranking values for the snapshots within the snapshot volume tree, wherein the longevity ranking value of a given snapshot represents a retention lifespan of the given snapshot as compared to retention lifespans of other snapshots as represented by their respective longevity ranking values. When a snapshot is deleted, the assigned longevity ranking values of the snapshots are utilized to select a snapshot to assume ownership of uniquely-written data that is owned by the deleted snapshot.

Claims (51)

1. A method, comprising:

generating, by a snapshot management system, a snapshot volume tree for a given storage volume of a storage system, wherein the snapshot volume tree comprises a data structure which comprises a plurality of snapshot volume nodes corresponding to respective ones of (i) a root volume of the given storage volume and (ii) multiple snapshots related directly or indirectly to the root volume;

obtaining, by the snapshot management system, a snapshot policy associated with the given storage volume, wherein the snapshot policy comprises (i) a snapshot creation schedule which specifies a creation frequency and timing for automatically creating snapshot volume nodes for the given storage volume and (ii) a snapshot retention schedule which specifies retention life spans for the snapshot volume nodes, and rules for automatically deleting snapshot volume nodes with expired lifespans;

evaluating, by the snapshot management system, the snapshot policy to automatically determine and assign respective longevity ranking values for the snapshot volume nodes within the snapshot volume tree for the given storage volume, wherein the longevity ranking value of a given snapshot volume node comprises a numeric value which represents a likelihood of the given snapshot volume node remaining undeleted from the snapshot volume tree as compared to other snapshot volume nodes in the snapshot volume tree, as represented by their respective longevity ranking values;

deleting, by the snapshot management system, a snapshot volume node from the snapshot volume tree in response to a snapshot delete command; and

utilizing, by the snapshot management system, the assigned longevity ranking values of the snapshot volume nodes within the snapshot volume tree to select a snapshot volume node to assume ownership of uniquely-written data of the deleted snapshot volume node.

2. The method of claim 1 , wherein obtaining the snapshot policy associated with the given storage volume comprises determining, by the snapshot management system, one of a default snapshot policy and a custom user-defined snapshot policy that is explicitly selected and associated with the given storage volume by a user.

3. The method of claim 1 , wherein obtaining the snapshot policy associated with the given storage volume comprises automatically generating, by the snapshot management system, a derived snapshot policy for the given storage volume which is derived from a data backup creation policy associated with the given storage volume, wherein the data backup creation policy comprises (i) a data backup creation schedule which specifies a creation frequency and timing for automatically creating data backups using the snapshot volume nodes for the given storage volume and (ii) a backup retention schedule which specifies retention lifespans for backups that are generated using the snapshot volume nodes, and rules for automatically deleting data backups with expired lifespans.

4. The method of claim 1 , wherein evaluating the snapshot policy to automatically determine and assign respective longevity ranking values for the snapshot volume nodes comprises assigning, by the snapshot management system, sequentially increasing longevity ranking values to snapshot volume nodes in a chain of incremental snapshot volume nodes that are created according to an incremental snapshot policy that is assigned to the given storage volume.

5. The method of claim 1 , wherein evaluating the snapshot policy to automatically determine and assign respective longevity ranking values for the snapshot volume nodes comprises assigning, by the snapshot management system, sequentially decreasing longevity ranking values to snapshot volume nodes in a chain of incremental snapshot volume nodes that are incrementally created from a master snapshot volume node.

6. The method of claim 1 , further comprising determining, by the snapshot management system, a respective longevity ranking value for a given snapshot volume node based on a function of a number seconds that have passed from an Epoch time of creation of the given snapshot volume node to an Epoch time of deletion of the given snapshot volume node.

7. The method of claim 1 , wherein the snapshot delete command comprises one of (i) an explicit delete command provided by a user interacting with the snapshot management system and (ii) a command that is automatically generated by the snapshot management system by applying the snapshot retention schedule to automatically delete an expired snapshot volume node.

8. The method of claim 1 , wherein utilizing the assigned longevity ranking values of the snapshot volume nodes within the snapshot volume tree to select a snapshot volume node to assume ownership of the uniquely-written data of the deleted snapshot volume node comprises:

determining, by the snapshot management system, a set of candidate snapshot volume nodes within the snapshot volume tree which can assume ownership of the uniquely-written data of the deleted snapshot volume node;

evaluating, by the snapshot management system, the longevity ranking values of the candidate snapshot volume nodes;

selecting, by the snapshot management system, a snapshot volume node from the set of candidate snapshot volume nodes to assume ownership of the uniquely-written data of the deleted snapshot volume node, based on the evaluation of the longevity ranking values; and

modifying metadata of the selected snapshot volume node to transfer the ownership of the uniquely-written data of the deleted snapshot volume node to the selected snapshot volume node.

9. The method of claim 8 , wherein determining the set of candidate snapshot volume nodes within the snapshot volume tree which can assume ownership of the uniquely-written data of the deleted snapshot volume node comprises identifying, by the snapshot management system, each snapshot volume node within the snapshot volume tree which is a reader of the uniquely-written data of the deleted snapshot volume node.

10. The method of claim 8 , wherein evaluating the longevity ranking values of the candidate snapshot volumes nodes comprises determining, by the snapshot management system, which of the candidate snapshot volume nodes has a highest longevity ranking value, and wherein the candidate snapshot volume determined to have the highest longevity ranking value is selected to assume ownership of the uniquely-written data of the deleted snapshot volume node.

11. An article of manufacture comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code is executable by one or more processors to implement a method comprising:

generating, by a snapshot management system, a snapshot volume tree for a given storage volume of a storage system, wherein the snapshot volume tree comprises a data structure which comprises a plurality of snapshot volume nodes corresponding to respective ones of (i) a root volume of the given storage volume and (ii) multiple snapshots related directly or indirectly to the root volume;

obtaining, by the snapshot management system, a snapshot policy associated with the given storage volume, wherein the snapshot policy comprises (i) a snapshot creation schedule which specifies a creation frequency and timing for automatically creating snapshot volume nodes for the given storage volume and (ii) a snapshot retention schedule which specifies retention life spans for the snapshot volume nodes, and rules for automatically deleting snapshot volume nodes with expired lifespans;

evaluating, by the snapshot management system, the snapshot policy to automatically determine and assign respective longevity ranking values for the snapshot volume nodes within the snapshot volume tree for the given storage volume, wherein the longevity ranking value of a given snapshot volume node comprises a numeric value which represents a likelihood of the given snapshot volume node remaining undeleted from the snapshot volume tree as compared to other snapshot volume nodes in the snapshot volume tree, as represented by their respective longevity ranking values;

deleting, by the snapshot management system, a snapshot volume node from the snapshot volume tree in response to a snapshot delete command; and

utilizing, by the snapshot management system, the assigned longevity ranking values of the snapshot volume nodes within the snapshot volume tree to select a snapshot volume node to assume ownership of uniquely-written data of the deleted snapshot volume node.

12. The article of manufacture of claim 11 , wherein obtaining the snapshot policy associated with the given storage volume comprises determining, by the snapshot management system, one of a default snapshot policy and a custom user-defined snapshot policy that is explicitly selected and associated with the given storage volume by a user.

13. The article of manufacture of claim 11 , wherein obtaining the snapshot policy associated with the given storage volume comprises automatically generating, by the snapshot management system, a derived snapshot policy for the given storage volume which is derived from a data backup creation policy associated with the given storage volume, wherein the data backup creation policy comprises (i) a data backup creation schedule which specifies a creation frequency and timing for automatically creating data backups using the snapshot volume nodes for the given storage volume and (ii) a backup retention schedule which specifies retention lifespans for backups that are generated using the snapshot volume nodes, and rules for automatically deleting data backups with expired lifespans.

14. The article of manufacture of claim 11 , wherein evaluating the snapshot policy to automatically determine and assign respective longevity ranking values for the snapshot volume nodes comprises assigning, by the snapshot management system, sequentially increasing longevity ranking values to snapshot volume nodes in a chain of incremental snapshot volume nodes that are created according to an incremental snapshot policy that is assigned to the given storage volume.

15. The article of manufacture of claim 11 , wherein evaluating the snapshot policy to automatically determine and assign respective longevity ranking values for the snapshot volume nodes comprises assigning, by the snapshot management system, sequentially decreasing longevity ranking values to snapshot volume nodes in a chain of incremental snapshot volume nodes that are incrementally created from a master snapshot volume node.

16. The article of manufacture of claim 11 , further comprising determining, by the snapshot management system, a respective longevity ranking value for a given snapshot volume node based on a function of a number seconds that have passed from an Epoch time of creation of the given snapshot volume node to an Epoch time of deletion of the given snapshot volume node.

17. The article of manufacture of claim 11 , wherein utilizing the assigned longevity ranking values of the snapshot volume nodes within the snapshot volume tree to select a snapshot volume node to assume ownership of the uniquely-written data of the deleted snapshot volume node comprises:

determining, by the snapshot management system, a set of candidate snapshot volume nodes within the snapshot volume tree which can assume ownership of the uniquely-written data of the deleted snapshot volume node, wherein determining the set of candidate snapshot volume nodes within the snapshot volume tree which can assume ownership of the uniquely-written data of the deleted snapshot volume node comprises identifying, by the snapshot management system, each snapshot volume node within the snapshot volume tree which is a reader of the uniquely-written data of the deleted snapshot volume node;

evaluating, by the snapshot management system, the longevity ranking values of the candidate snapshot volume nodes, wherein evaluating the longevity ranking values of the candidate snapshot volumes nodes comprises determining, by the snapshot management system, which of the candidate snapshot volume nodes has a highest longevity ranking value;

selecting, by the snapshot management system, a snapshot volume node from the set of candidate snapshot volume nodes to assume ownership of the uniquely-written data of the deleted snapshot volume node, based on the evaluation of the longevity ranking values, wherein the candidate snapshot volume determined to have the highest longevity ranking value is selected to assume ownership of the uniquely-written data of the deleted snapshot volume node; and

modifying metadata of the selected snapshot volume node to transfer the ownership of the uniquely-written data of the deleted snapshot volume node to the selected snapshot volume node.

18. A server node, comprising:

at least one processor; and

system memory configured to store program code, wherein the program code is executable by the at least one processor to implement a snapshot management system which is configured to:

generate a snapshot volume tree for a given storage volume of a storage system, wherein the snapshot volume tree comprises a data structure which comprises a plurality of snapshot volume nodes corresponding to respective ones of (i) a root volume of the given storage volume and (ii) multiple snapshots related directly or indirectly to the root volume;

obtain a snapshot policy associated with the given storage volume, wherein the snapshot policy comprises (i) a snapshot creation schedule which specifies a creation frequency and timing for automatically creating snapshot volume nodes for the given storage volume and (ii) a snapshot retention schedule which specifies retention life spans for the snapshot volume nodes, and rules for automatically deleting snapshot volume nodes with expired lifespans;

evaluate the snapshot policy to automatically determine and assign respective longevity ranking values for the snapshot volume nodes within the snapshot volume tree for the given storage volume, wherein the longevity ranking value of a given snapshot volume node comprises a numeric value which represents a likelihood of the given snapshot volume node remaining undeleted from the snapshot volume tree as compared to other snapshot volume nodes in the snapshot volume tree, as represented by their respective longevity ranking values;

delete a snapshot volume node from the snapshot volume tree in response to a snapshot delete command; and

utilize the assigned longevity ranking values of the snapshot volume nodes within the snapshot volume tree to select a snapshot volume node to assume ownership of uniquely-written data of the deleted snapshot volume node.

19. The server node of claim 18 , wherein in obtaining the snapshot policy associated with the given storage volume, the snapshot management system is configured to one of:

obtain one of a default snapshot policy and a custom user-defined snapshot policy that is explicitly selected and associated with the given storage volume by a user; and

generate a derived snapshot policy for the given storage volume which is derived from a data backup creation policy associated with the given storage volume, wherein the data backup creation policy comprises (i) a data backup creation schedule which specifies a creation frequency and timing for automatically creating data backups using the snapshot volume nodes for the given storage volume and (ii) a backup retention schedule which specifies retention lifespans for backups that are generated using the snapshot volume nodes, and rules for automatically deleting data backups with expired lifespans.

20. The server node of claim 18 , wherein in utilizing the assigned longevity ranking values of the snapshot volume nodes within the snapshot volume tree to select a snapshot volume node to assume ownership of the uniquely-written data of the deleted snapshot volume node, the snapshot management system is configured to:

determine a set of candidate snapshot volume nodes within the snapshot volume tree which can assume ownership of the uniquely-written data of the deleted snapshot volume node, wherein determining the set of candidate snapshot volume nodes within the snapshot volume tree which can assume ownership of the uniquely-written data of the deleted snapshot volume node comprises identifying, by the snapshot management system, each snapshot volume node within the snapshot volume tree which is a reader of the uniquely-written data of the deleted snapshot volume node;

evaluate the longevity ranking values of the candidate snapshot volume nodes, wherein evaluating the longevity ranking values of the candidate snapshot volumes nodes comprises determining, by the snapshot management system, which of the candidate snapshot volume nodes has a highest longevity ranking value;

select a snapshot volume node from the set of candidate snapshot volume nodes to assume ownership of the uniquely-written data of the deleted snapshot volume node, based on the evaluation of the longevity ranking values, wherein the candidate snapshot volume determined to have the highest longevity ranking value is selected to assume ownership of the uniquely-written data of the deleted snapshot volume node; and

modify metadata of the selected snapshot volume node transfer the ownership of the uniquely-written data of the deleted snapshot volume node to the selected snapshot volume node.

Assignments (13)
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 (052852/0022) 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 060436/0582 →
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 (052851/0081) 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 060436/0441 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052851/0917) 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 060436/0509 →
RELEASE OF SECURITY INTEREST AT REEL 052771 FRAME 0906 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0298 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 15, 2020
From: KELLER, ITAY; WEBMAN, EREZ; MILSTEIN, NIR; SHTARKMAN, YONATAN
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 052940/0059 →
SECURITY INTEREST Recorded Jun 5, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC; THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052851/0081 →
SECURITY INTEREST Recorded Jun 5, 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 052851/0917 →
SECURITY INTEREST Recorded Jun 5, 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 052852/0022 →
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 May 28, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052771/0906 →
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 →
Cited By (18)
US 12,299,303 US 12,306,801 US 12,306,802 US 12,306,804 US 12,309,271 US 12,332,912 US 12,339,805 US 12,341,887 US 12,367,216 US 12,368,588 US 12,445,283 US 12,455,861 US 12,487,972 US 12,530,262 US 12,572,513 US 12,579,109 US 12,608,401 US 12,693,993