IP Library › Granted Patent US 10,496,672
Granted Patent B2
US 10,496,672 · App. 14/984,334 · Granted Dec 3, 2019

Creating replicas at user-defined points in time

Inventors: David Meiri (Cambridge, MA); Xiangping Chen (Sherborn, MA)
Assignee: EMC IP Holding Company LLC
G06F16/273G06F11/1458G06F11/1461G06F16/125G06F2201/84
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,496,672
App. No.
14/984,334
Filed
Dec 30, 2015
Granted
Dec 3, 2019
Kind
B2
Art Unit
2159
USPC
707/613
Abstract

Example embodiments of the present invention relate to methods, systems, and computer program products for determining replicas for removal from a plurality of replicas as defined in a data retention policy. The method includes performing asynchronous replication from a source to a target according to time-based replication cycles. A retention policy then may be identified defining a number of asynchronous replication replicas to retain and a plurality of associated periods which then may be retained according to the policy.

Claims (64)

1. A computer-implemented method comprising:

performing asynchronous replication from a source to a target according to time-based replication cycles to generate asynchronous replication replicas;

identifying a retention policy defining a number of the asynchronous replication replicas to retain and a plurality of associated periods, each successive period in the plurality of periods being defined as a multiple of an immediately preceding period in the plurality of periods;

generating, by a replica manager, a score for each of the asynchronous replication replicas according to one or more values associated with one or more of the other asynchronous replication replicas;

identifying a given asynchronous replication replica of the asynchronous replication replicas as having a score lower than at least one other score among the generated scores; and

retaining one or more of the asynchronous replication replicas according to the policy, wherein the retaining includes removing the given asynchronous replication replica identified as having a score lower than at least one other score among the generated scores.

2. The method of claim 1 wherein retaining one or more of the asynchronous replication replicas according to the policy comprises retaining, for each successive period, a number of the asynchronous replication replicas from the immediately preceding period in the plurality of periods.

3. The method of claim 2 wherein a first period among the plurality of periods defines a minimal lag establishing a lower threshold of time between asynchronous replication cycles derived from a Recovery Point Objective defining a maximum amount of permitted data loss associated with recovery from the target.

4. A computer-implemented method comprising:

performing asynchronous replication from a source to a target according to time-based replication cycles to generate asynchronous replication replicas;

identifying a retention policy defining a number of the asynchronous replication replicas to retain and a plurality of associated periods;

generating, by a replica manager, a score for each of the asynchronous replication replicas according to one or more values associated with one or more of the other asynchronous replication replicas;

identifying a given asynchronous replication replica of the asynchronous replication replicas as having a score lower than at least one other score among the generated scores; and

retaining one or more of the asynchronous replication replicas according to the policy, wherein the retaining includes removing the given asynchronous replication replica identified as having a score lower than at least one other score among the generated scores,

wherein performing the asynchronous replication from the source to the target according to the time-based replication cycles comprises, at a source side:

for each asynchronous replication cycle of a first level having a position in a series of replication cycles equal to a first multiple of a ratio of a first period and a second period, marking the asynchronous replication cycle of the first level as an asynchronous replication cycle of a second level; and

for each asynchronous replication cycle of the of the second level having a position in the series of replication cycles equal to a second multiple of a ratio of the second period and a third period, marking the asynchronous replication cycle of the second level as an asynchronous replication cycle of a third level.

5. The method of claim 4 further comprising, at a target side:

preserving each asynchronous replication cycle marked as the second level for the second period; and

preserving each asynchronous replication cycle marked as the third level for the third period.

6. The method of claim 4 further comprising, for asynchronous replication cycles having a transmission time exceeding the first period, determining a time of a next asynchronous replication cycle switch.

7. The method of claim 6 wherein determining a time of a next asynchronous cycle switch comprises, if the asynchronous replication cycle transmission time is less than or equal to the difference between the second period and the first period, starting the next asynchronous replication cycle.

8. The method of claim 6 wherein determining a time of a next asynchronous cycle switch comprises, if the asynchronous replication cycle transmission time is greater than the difference between the second period and the first period less than the second period:

waiting until completion of the second period; and

starting the next asynchronous replication cycle.

9. The method of claim 6 wherein determining a time of a next asynchronous cycle switch comprises, if the asynchronous replication cycle transmission time is greater than the second period:

starting the next asynchronous replication cycle; and

continuing transmission of the asynchronous replication cycle.

10. A system comprising:

a processor; and

memory storing computer program code that when executed on the processor causes the processor to execute an asynchronous replication process operable to perform the operations of:

performing asynchronous replication from a source to a target according to time-based replication cycles to generate asynchronous replication replicas;

identifying a retention policy defining a number of the asynchronous replication replicas to retain and a plurality of associated periods, each successive period in the plurality of periods being defined as a multiple of an immediately preceding period in the plurality of periods;

generating, by a replica manager, a score for each of the asynchronous replication replicas according to one or more values associated with one or more of the other asynchronous replication replicas;

identifying a given asynchronous replication replica of the asynchronous replication replicas as having a score lower than at least one other score among the generated scores; and

retaining one or more of the asynchronous replication replicas according to the policy, wherein the retaining includes removing the given asynchronous replication replica identified as having a score lower than at least one other score among the generated scores.

11. The system of claim 10 wherein computer program code operable to perform the operation of retaining one or more of the asynchronous replication replicas according to the policy comprises computer program code operable to perform the operation of retaining, for each successive period, a number of the asynchronous replication replicas from the immediately preceding period in the plurality of periods.

12. The system of claim 11 wherein a first period among the plurality of periods defines a minimal lag establishing a lower threshold of time between asynchronous replication cycles derived from a Recovery Point Objective defining a maximum amount of permitted data loss associated with recovery from the target.

13. The system of claim 10 wherein computer program code operable to perform the operation of performing asynchronous replication from a source to a target according to time-based replication cycles comprises computer program code operable to perform the operation of, at a source side:

for each asynchronous replication cycle of a first level having a position in a series of replication cycles equal to a first multiple of a ratio of a first period and a second period, marking the asynchronous replication cycle of the first level as an asynchronous replication cycle of a second level; and

for each asynchronous replication cycle of the of the second level having a position in the series of replication cycles equal to a second multiple of a ratio of the second period and a third period, marking the asynchronous replication cycle of the second level as an asynchronous replication cycle of a third level.

14. The system of claim 13 further comprising computer program code operable to perform the operation of, at a target side:

preserving each asynchronous replication cycle marked as the second level for the second period; and

preserving each asynchronous replication cycle marked as the third level for the third period.

15. The system of claim 13 further comprising computer program code operable to perform the operation of, for asynchronous replication cycles having a transmission time exceeding the first period, determining a time of a next asynchronous replication cycle switch.

16. The system of claim 15 wherein computer program code operable to perform the operation of determining a time of a next asynchronous cycle switch comprises computer program code operable to perform the operation of, if the asynchronous replication cycle transmission time is less than or equal to the difference between the second period and the first period, starting the next asynchronous replication cycle.

17. The system of claim 15 wherein computer program code operable to perform the operation of determining a time of a next asynchronous cycle switch comprises computer program code operable to perform the operation of, if the asynchronous replication cycle transmission time is greater than the difference between the second period and the first period less than the second period:

waiting until completion of the second period; and

starting the next asynchronous replication cycle.

18. The system of claim 15 wherein computer program code operable to perform the operation of determining a time of a next asynchronous cycle switch comprises computer program code operable to perform the operation of, if the asynchronous replication cycle transmission time is greater than the second period:

starting the next asynchronous replication cycle; and

continuing transmission of the asynchronous replication cycle.

19. A computer program product including a non-transitory computer readable storage medium having computer program code encoded thereon that when executed on a processor of a computer causes the computer to execute an asynchronous data replication process comprising:

computer program code for performing asynchronous replication from a source to a target according to time-based replication cycles to generate asynchronous replication replicas;

computer program code for identifying a retention policy defining a number of the asynchronous replication replicas to retain and a plurality of associated periods, each successive period in the plurality of periods being defined as a multiple of an immediately preceding period in the plurality of periods;

computer program code for generating a score for each of the asynchronous replication replicas according to one or more values associated with one or more of the other asynchronous replication replicas;

identifying a given asynchronous replication replica of the asynchronous replication replicas as having a score lower than at least one other score among the generated scores; and

computer program code for retaining one or more of the asynchronous replication replicas according to the policy, wherein the retaining includes removing the given asynchronous replication replica identified as having a score lower than at least one other score among the generated scores.

20. The computer program product of claim 19 wherein performing asynchronous replication from the source to the target according to the time-based replication cycles comprises, at a source side:

for each asynchronous replication cycle of a first level having a position in a series of replication cycles equal to a first multiple of a ratio of a first period and a second period, marking the asynchronous replication cycle of the first level as an asynchronous replication cycle of a second level; and

for each asynchronous replication cycle of the of the second level having a position in the series of replication cycles equal to a second multiple of a ratio of the second period and a third period, marking the asynchronous replication cycle of the second level as an asynchronous replication cycle of a third level.

21. The method of claim 1 wherein performing asynchronous replication from the source to the target according to the time-based replication cycles comprises, at a source side:

for each asynchronous replication cycle of a first level having a position in a series of replication cycles equal to a first multiple of a ratio of a first period and a second period, marking the asynchronous replication cycle of the first level as an asynchronous replication cycle of a second level; and

for each asynchronous replication cycle of the of the second level having a position in the series of replication cycles equal to a second multiple of a ratio of the second period and a third period, marking the asynchronous replication cycle of the second level as an asynchronous replication cycle of a third level.

Assignments (10)
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 (045455/0001) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061753/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (040136/0001) Recorded Apr 26, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO ASAP SOFTWARE EXPRESS, INC.); DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC CORPORATION (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MAGINATICS LLC); EMC IP HOLDING COMPANY LLC (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO MOZY, INC.); SCALEIO LLC
Reel/Frame 061324/0001 →
RELEASE OF SECURITY INTEREST Recorded Nov 3, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL, L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058216/0001 →
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 21, 2019
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 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 29, 2016
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 040203/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 040136/0001 →
SECURITY AGREEMENT Recorded Sep 21, 2016
From: ASAP SOFTWARE EXPRESS, INC.; AVENTAIL LLC; CREDANT TECHNOLOGIES, INC.; DELL USA L.P.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL SOFTWARE INC.; DELL SYSTEMS CORPORATION; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; FORCE10 NETWORKS, INC.; MAGINATICS LLC; MOZY, INC.; SCALEIO LLC; SPANNING CLOUD APPS LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 040134/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 3, 2016
From: MEIRI, DAVID; CHEN, XIANGPING
To: EMC CORPORATION
Reel/Frame 037658/0308 →
Continuity (1)
Related Publication 20170192857A1 · Jul 6, 2017
Cited By (3)
US 12,277,031 US 12,373,306 US 12,461,892