IP Library Granted Patent US 10,908,828
Granted Patent B1
US 10,908,828 · App. 16/521,730 · Granted Feb 2, 2021

Enhanced quality of service (QoS) for multiple simultaneous replication sessions in a replication setup

Inventors: David Meiri (Somerville, MA); Anton Kucherov (Dudley, MA)
Assignee: EMC IP Holding Company LLC
G06F3/0631G06F3/0604G06F3/065G06F3/0673
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,908,828
App. No.
16/521,730
Granted
Feb 2, 2021
Kind
B1
Abstract

In one aspect, implementing enhanced QoS for multiple replication sessions in a replication setup includes, for each of a number of replication sessions simultaneously implemented via the storage system, determining an assigned priority level and calculating a corresponding resource profile. The resource profile specifies a minimum required amount of bandwidth and a minimum amount of input/output (IO) operations for the replication session. An aspect also includes determining available system resources for an aggregate of the replication sessions. The available system resources indicate a maximum available amount of bandwidth and a maximum available IO rate across the storage system. An aspect further includes apportioning resources among the replication sessions as a function of collective priority levels, resource profiles, and the available system resources.

Claims (35)

1. A method for enhanced quality of service (QoS) for multiple replication sessions in a replication setup of a storage system, the method comprising:

for each of a number of replication sessions simultaneously implemented via the storage system:

determining, by a processor-based system, an assigned priority level; and

calculating, by the processor-based system, a corresponding resource profile, the resource profile specifying a minimum required amount of bandwidth and a minimum amount of input/output (IO) operations for the replication session;

determining, by the processor-based system, available system resources for an aggregate of the replication sessions, the available system resources indicating a maximum available amount of bandwidth and a maximum available IO rate across the storage system; and

apportioning, by the processor-based system, resources among the replication sessions as a function of collective priority levels, resource profiles and the available system resources such that each of the replication sessions operate at their optimal requirements while remaining within the constraints of the overall system available resources.

2. The method of claim 1 , wherein the resource profile is calculated for varying levels of deduplication among the replication sessions.

3. The method of claim 1 , wherein the calculating the resource profile includes collecting statistical information on previous replication sessions, the statistical information including a number of IO operations performed, a size of the IO operations, and an amount of user data corresponding to the IO operations.

4. The method of claim 1 , wherein the required bandwidth corresponds to user data.

5. The method of claim 1 , wherein the assigned priority level differs among the replication sessions.

6. The method of claim 1 , wherein the replication sessions are hash-based replication sessions.

7. A system for implementing enhanced quality of service (QoS) for multiple replication sessions in a replication setup of a storage system, the system comprising:

a memory comprising computer-executable instructions; and

a processor operable by a storage system, the processor executing the computer-executable instructions, the computer-executable instructions when executed by the processor cause the processor to perform operations comprising:

for each of a number of replication sessions simultaneously implemented via the storage system:

determining an assigned priority level; and

calculating a corresponding resource profile, the resource profile specifying a minimum required amount of bandwidth and a minimum amount of input/output (IO) operations for the replication session;

determining available system resources for an aggregate of the replication sessions, the available system resources indicating a maximum available amount of bandwidth and a maximum available IO rate across the storage system; and

apportioning resources among the replication sessions as a function of collective priority levels, resource profiles and the available system resources such that each of the replication sessions operate at their optimal requirements while remaining within the constraints of the overall system available resources.

8. The system of claim 7 , wherein the resource profile is calculated for varying levels of deduplication among the replication sessions.

9. The system of claim 7 , wherein the calculating the resource profile includes collecting statistical information on previous replication sessions, the statistical information including a number of IO operations performed, a size of the IO operations, and an amount of user data corresponding to the IO operations.

10. The system of claim 7 , wherein the required bandwidth corresponds to user data.

11. The system of claim 7 , wherein the assigned priority level differs among the replication sessions.

12. The system of claim 7 , wherein the replication sessions are hash-based replication sessions.

13. A computer program product for implementing enhanced quality of service (QoS) for multiple replication sessions in a replication setup of a storage system, the computer program product embodied on a non-transitory computer readable medium, the computer program product including instructions that, when executed by a computer, causes the computer to perform operations comprising:

for each of a number of replication sessions simultaneously implemented via the storage system:

determining an assigned priority level; and

calculating a corresponding resource profile, the resource profile specifying a minimum required amount of bandwidth and a minimum amount of input/output (IO) operations for the replication session;

determining available system resources for an aggregate of the replication sessions, the available system resources indicating a maximum available amount of bandwidth and a maximum available IO rate across the storage system; and

apportioning resources among the replication sessions as a function of collective priority levels, resource profiles and the available system resources such that each of the replication sessions operate at their optimal requirements while remaining within the constraints of the overall system available resources.

14. The computer program product of claim 13 , wherein the resource profile is calculated for varying levels of deduplication among the replication sessions.

15. The computer program product of claim 13 , wherein the calculating the resource profile includes collecting statistical information on previous replication sessions, the statistical information including a number of IO operations performed, a size of the IO operations, and an amount of user data corresponding to the IO operations.

16. The computer program product of claim 13 , wherein the required bandwidth corresponds to user data.

17. The computer program product of claim 13 , wherein the assigned priority level differs among the replication sessions.

18. The computer program product of claim 13 , wherein the replication sessions are hash-based replication sessions.

Assignments (9)
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 (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 (050724/0571) 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 060436/0088 →
RELEASE OF SECURITY INTEREST AT REEL 050406 FRAME 421 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058213/0825 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 15, 2019
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 050724/0571 →
SECURITY AGREEMENT Recorded Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050406/0421 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 29, 2019
From: MEIRI, DAVID; KUCHEROV, ANTON
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 049886/0259 →
Cited By (14)
US 12,306,801 US 12,306,802 US 12,306,804 US 12,309,271 US 12,341,887 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