Replication link smoothing using historical data
View Patent ↗A computer program product, system, and method for determining a number of chunks written to a storage volume during a first replication cycle; determining a host write rate based on the number of chunks written to the storage volume during the first replication cycle; estimating a number of chunks written during a second replication cycle; determining a target rate based on the estimated number of chunks written during the second replication cycle; and transmitting chunks written during the second replication cycle at the target rate.
1. A method comprising:
determining a number of chunks written to a storage volume during a first replication cycle;
determining a host write rate based on the number of chunks written to the storage volume during the first replication cycle;
estimating a number of chunks written during a second replication cycle;
determining a target rate based on the estimated number of chunks written during the second replication cycle, the target rate determined by dividing the number of chunks written during the second replication cycle by a recovery point objective (RPO) period; and
transmitting chunks written during the second replication cycle at the target rate.
2. The method of claim 1 wherein the storage volume is storage volume with a content-based storage system.
3. The method of claim 1 wherein determining a number of chunks written to a storage volume during a first replication cycle includes comparing two address-to-hash (A2H) tables associated with consecutive snapshots of the storage volume.
4. The method of claim 1 wherein estimating a number of chunks written during a second replication cycle includes multiplying the host write rate based on the first replication cycle by a length of the second replication cycle.
5. The method of claim 1 wherein the RPO period is defined by a user.
6. The method of claim 1 wherein dividing the number of chunks written during the second replication cycle by a RPO period includes scaling the number of chunks written during the second replication cycle.
7. The method of claim 6 , wherein the scaling includes increasing the estimated number of chunks written prior to dividing the estimated number of chunks written by the RPO period, such that the transmitting the chunks written at the target rate occurs within the RPO period.
8. A system comprising:
a processor;
a volatile memory; and
a non-volatile memory storing computer program code that when executed on the processor causes the processor to execute a process operable to:
determine a number of chunks written to a storage volume during a first replication cycle;
determine a host write rate based on the number of chunks written to the storage volume during the first replication cycle;
estimate a number of chunks written during a second replication cycle;
determine a target rate based on the estimated number of chunks written during the second replication cycle, the target rate determined by dividing the number of chunks written during the second replication cycle by a recovery point objective (RPO) period; and
transmit chunks written during the second replication cycle at the target rate.
9. The system of claim 8 wherein the storage volume is storage volume with a content-based storage system.
10. The system of claim 8 wherein determining a number of chunks written to a storage volume during a first replication cycle includes comparing two address-to-hash (A2H) tables associated with consecutive snapshots of the storage volume.
11. The system of claim 8 wherein estimating a number of chunks written during a second replication cycle includes multiplying the host write rate based on the first replication cycle by a length of the second replication cycle.
12. The system of claim 8 wherein the RPO period is defined by a user.
13. The system of claim 8 wherein dividing the number of chunks written during the second replication cycle by a RPO period includes scaling the number of chunks written during the second replication cycle.
14. A computer program product tangibly embodied in a non-transitory computer-readable medium, the computer-readable medium storing program instructions that are executable to:
determine a number of chunks written to a storage volume during a first replication cycle;
determine a host write rate based on the number of chunks written to the storage volume during the first replication cycle;
estimate a number of chunks written during a second replication cycle;
determine a target rate based on the estimated number of chunks written during the second replication cycle, the target rate determined by dividing the number of chunks written during the second replication cycle by a recovery point objective (RPO) period; and
transmit chunks written during the second replication cycle at the target rate.
15. The computer program product of claim 14 wherein the storage volume is storage volume with a content-based storage system.
16. The computer program product of claim 14 wherein determining a number of chunks written to a storage volume during a first replication cycle includes comparing two address-to-hash (A2H) tables associated with consecutive snapshots of the storage volume.
17. The computer program product of claim 14 wherein estimating a number of chunks written during a second replication cycle includes multiplying the host write rate based on the first replication cycle by a length of the second replication cycle.
18. The computer program product of claim 14 wherein the RPO period is defined by a user.
19. The computer program product of claim 14 wherein dividing the number of chunks written during the second replication cycle by a RPO period includes scaling the number of chunks written during the second replication cycle.