IP Library Granted Patent US 9,712,617
Granted Patent B2
US 9,712,617 · App. 14/791,535 · Granted Jul 18, 2017

Flow control in remote replication

Inventor: Ayelet Shani (Moshav herev le'et, IL)
Assignee: INFINIDAT LTD.
H04L67/1095G06F3/065G06F3/067G06F3/0619H04L67/1097H04L67/2842
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 9,712,617
App. No.
14/791,535
Granted
Jul 18, 2017
Kind
B2
Abstract

A method for controlling multiple replication processes that includes allocating, by a local storage system and for each replication process, local resources for performing local operations that comprise transmitting remote replication content to a remote storage system; the allocating is responsive to a state of transmission of the replication content and a maximal local storage system allocation threshold; allocating, by the remote storage system and for each replication process, remote resources for performing remote operations that comprise handling the replication content transmitted from the local storage system; the allocating is responsive to a load associated with the handling of the replication content, and a maximal remote storage system allocation threshold; and executing each replication process by the replication process local and remote storage systems resources.

Claims (44)

1. A method for controlling multiple replication processes, the method comprises:

allocating, by a local storage system and for each replication process of the multiple replication processes, local resources for performing local operations related to the replication process, wherein the local operations comprise transmitting replication content to a remote storage system;

wherein the allocating of the local resources is responsive to (a) a state of transmission of the replication content, and (b) a maximal local storage system allocation threshold;

allocating, by the remote storage system and for each replication process of the multiple replication processes, remote resources for performing remote operations related to the replication process, wherein the remote operations comprise handling the replication content transmitted from the local storage system;

wherein the allocating of the remote resources is responsive to a load associated with the handling of the replication content, and (b) a maximal remote storage system allocation threshold;

wherein the allocating of the remote resources comprises allocating a remote queue per each replication process of the multiple replication processes and determining a dequeuing rate of the replication content from the remote queue;

executing, for each replication process of the multiple replication processes, the local operations in response to the allocation of the local resources; and

executing, for each replication process of the multiple replication processes, the remote operations in response to the allocation of the remote resources.

2. The method according to claim 1 comprising decreasing the dequeuing rate when a number of pending write requests related to the replication content is above a write request threshold, thereby causing the local storage system to decrease a rate of producing the replication content.

3. The method according to claim 1 comprising allocating of the local resources comprises allocating a local queue per each replication process of the multiple replication processes and gradually increasing a rate of producing the replication content when a transmission of the replication content is not stopped and a dequeuing rate of the local queue is below a maximal dequeuing rate threshold.

4. The method according to claim 1 wherein the allocating of the local resources comprises gradually decreasing a rate of producing of the replication content when the transmission of the replication content stopped.

5. The method according to claim 1 comprising allocating of the local resources comprises allocating a local queue per each replication process of the multiple replication processes and gradually increasing a rate of producing the replication content when a transmission of the replication content is not deteriorative.

6. The method according to claim 1 wherein the allocating of the local resources comprises gradually decreasing a rate of producing of the replication content when the transmission of the replication content is deteriorative.

7. The method according to claim 1 comprising gradually increasing the dequeuing rate from the remote queue when a number of pending write requests related to the replication content is below a write request threshold.

8. The method according to claim 1 comprising gradually increasing the dequeuing rate from the remote queue when a rate of data written per time unit is below a write rate threshold.

9. A group of at least one non-transitory computer readable medium that stores first instructions and second instructions;

wherein the first instructions, once executed by a local storage system causes the local storage system to execute the steps of:

allocating, by a local storage system and for each replication process of the multiple replication processes, local resources for performing local operations related to the replication process, wherein the local operations comprise transmitting remote replication content to a remote storage system;

wherein the allocating of the local resources is responsive to (a) a state of transmission of the replication content, and (b) a maximal local storage system allocation threshold; and

executing, for each replication process of the multiple replication processes, the local operations in response to the allocation of the local resources;

wherein the second instructions, once executed by a remote storage system causes the remote storage system to execute the steps of:

allocating, by the remote storage system and for each replication process of the multiple replication processes, remote resources for performing remote operations related to the replication process, wherein the remote operations comprise handling the replication content transmitted from the local storage system;

wherein the allocating of the remote resources is responsive to a load associated with the handling of the replication content, and (b) a maximal remote storage system allocation threshold;

wherein the allocating of the remote resources comprises allocating a remote queue per each replication process of the multiple replication processes and determining a dequeuing rate of the replication content from the remote queue;

and

executing, for each replication process of the multiple replication processes, the remote operations in response to the allocation of the remote resources.

10. The group of at least one non-transitory computer readable medium according to claim 9 wherein the first instructions, once executed by the local storage system causes the local storage system to allocate a local queue per each replication process of the multiple replication processes and gradually increasing a rate of producing the replication content when a transmission of the replication content is not stopped and a dequeuing rate of the local queue is below a maximal dequeuing rate threshold.

11. The group of at least one non-transitory computer readable medium according to claim 9 wherein the first instructions, once executed by the local storage system causes the local storage system to gradually decrease a rate of producing of the replication content when the transmission of the replication content stopped.

12. The group of at least one non-transitory computer readable medium according to claim 9 wherein the second instructions, once executed by the remote storage system causes the remote storage system to gradually increase a dequeuing rate from the remote queue when a number of pending write requests related to the replication content is below a write request threshold.

13. The group of at least one non-transitory computer readable medium according to claim 9 comprising a first non-transitory computer readable medium for storing the first instructions and a second non-transitory computer readable medium for storing the second instructions.

14. A system comprising a remote storage system and a local storage system;

wherein local storage system comprises a hardware local controller;

wherein the hardware local controller is configured to allocate, for each replication process of the multiple replication processes, local resources for performing local operations related to the replication process, wherein the local operations comprise transmitting remote replication content to a remote storage system;

wherein the allocating of the local resources is responsive to (a) a state of transmission of the replication content, and (b) a maximal local storage system allocation threshold;

wherein remote storage system comprises a hardware remote controller;

wherein the hardware remote controller is configured to allocate, for each replication process of the multiple replication processes, remote resources for performing remote operations related to the replication process, wherein the remote operations comprise handling the replication content transmitted from the local storage system;

wherein the allocating of the remote resources is responsive to a load associated with the handling of the replication content, and (b) a maximal remote storage system allocation threshold;

wherein the hardware remote controller is configured to allocate a remote queue for each replication process of the multiple replication processes and to determine a dequeuing rate of the replication content from the remote queue:

wherein the local storage system is configured to execute, for each replication process of the multiple replication processes, the local operations in response to the allocation of the local resources; and

wherein the remote storage system is configured to execute, for each replication process of the multiple replication processes, the remote operations in response to the allocation of the remote resources.

15. The system according to claim 14 wherein the local resources comprise local storage system memory resources, local storage system communication resources and local storage system processing resources; and wherein the remote resources comprise remote storage system memory resources, remote storage system communication resources and remote storage system processing resources.

16. The system according to claim 14 wherein the local controller is configured to allocate a local queue for each replication process of the multiple replication processes and to gradually increase a rate of producing the replication content when a transmission of the replication content is not stopped and a dequeuing rate of the local queue is below a maximal dequeuing rate threshold.

17. The system according to claim 14 wherein the local controller is configured to gradually decrease a rate of producing of the replication content when the transmission of the replication content stopped.

18. The system according to claim 14 wherein the remote controller is configured to gradually increase a dequeuing rate from the remote queue when a number of pending write requests related to the replication content is below a write request threshold.

Assignments (8)
SECURITY INTEREST Recorded Jan 30, 2025
From: INFINIDAT LTD
To: KREOS CAPITAL VII AGGREGATOR SCSP,
Reel/Frame 070056/0458 →
RELEASE OF SECURITY INTEREST IN IP RECORDED AT R/F 55653/0854 Recorded Jan 18, 2024
From: SILICON VALLEY BANK
To: INFINIDAT LTD.
Reel/Frame 066344/0064 →
SECURITY INTEREST Recorded Jan 11, 2024
From: INFINIDAT LTD
To: KREOS CAPITAL VI (EXPERT FUND) L.P.; KREOS CAPITAL 2020 OPPORTUNITY L.P.
Reel/Frame 066270/0359 →
SECURITY INTEREST Recorded Jan 10, 2024
From: INFINIDAT LTD
To: HSBC BANK PLC
Reel/Frame 066268/0584 →
RELEASE OF SECURITY INTEREST Recorded Mar 30, 2021
From: BANK LEUMI LE-ISRAEL B.M.
To: INFINIDAT LTD.
Reel/Frame 055776/0526 →
SECURITY INTEREST Recorded Mar 18, 2021
From: INFINIDAT LTD.
To: SILICON VALLEY BANK
Reel/Frame 055653/0854 →
SECURITY INTEREST Recorded Apr 12, 2018
From: INFINIDAT LTD.
To: BANK LEUMI LE-ISRAEL B.M.
Reel/Frame 045914/0276 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 13, 2015
From: SHANI, AYELET
To: INFINIDAT LTD.
Reel/Frame 036318/0217 →
Continuity (1)
Related Publication 20170013057A1 · Jan 12, 2017