IP Library Granted Patent US 10,565,061
Granted Patent B1
US 10,565,061 · App. 15/719,269 · Granted Feb 18, 2020

System and method for analyzing application maximum parallel clone sessions for storage devices

Inventor: Anupam Sharma (Karanatka, IN)
Assignee: EMC IP Holding Company LLC
G06F11/1451G06F3/065G06F3/067G06F3/0619G06F2201/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,565,061
App. No.
15/719,269
Granted
Feb 18, 2020
Kind
B1
Abstract

In one example method, one or more source storages and the number of available streams for each source storage are identified, and one or more target storages and the number of available streams for each target storage are also identified. The source storages and target storages are then sorted on the basis of their respective available streams. A comparison is performed of the available source storage streams with available target storage streams, and parallel cloning sessions are created based on the result of the comparison.

Claims (28)

1. A method, comprising:

identifying one or more source storages and a respective available stream count for each source storage;

identifying one or more target storages and a respective available stream count for each target storage;

negotiating a maximum stream count for a combination of storages that includes the one or more source storages and the one or more target storages, in which the negotiation of the maximum stream count is based on: (i) the respective available stream counts for each source storage; and (ii) the respective available stream counts for each target storage, and the negotiation of the maximum stream count comprises comparing each source storage available stream count to a respective available stream count of each of the one or more target storages, and the comparison is performed in ascending order of the respective available stream counts of the one or more source storages; and

creating parallel cloning sessions based on the negotiated maximum stream count, and one of the parallel cloning sessions comprises creating a copy of a backup dataset that resides at a first one of the source storages, and transmitting the copy to a first one of the target storages, such that after cloning is completed, the backup dataset remains at the first source storage and the copy of the backup dataset resides at the first target storage.

2. The method as recited in claim 1 , wherein the source storage available stream counts are compared to the available stream counts of the one or more target storages in ascending order of the respective available stream counts of the one or more target storages.

3. The method as recited in claim 1 , wherein one of the source storages and/or one of the target storages has a number of available streams that is less than a supportable maximum number of streams.

4. The method as recited in claim 1 , wherein negotiation of the maximum stream count is based on either: a combination of storages that includes one source storage and multiple target storages; or a combination of storages that includes multiple source storages, and multiple target storages.

5. The method as recited in claim 1 , wherein one of the cloning sessions is initiated by a backup application.

6. The method as recited in claim 1 , wherein when multiple target storages are identified, and only a single source storage is identified, the available source storage streams are divided between the target storages based on the availability of target storage streams at each of the target storages.

7. The method as recited in claim 1 , wherein the method is performed iteratively until one of the following is true: a number of available source storage streams is zero; or, a number of available target storage streams is zero.

8. The method as recited in claim 1 , wherein the operations further comprise subtracting the number of created parallel cloning sessions from the smaller of remaining available source storage streams or remaining available target storage streams.

9. A non-transitory storage medium having stored therein instructions which are executable by one or more hardware processors to perform operations comprising:

identifying one or more source storages and a respective available stream count for each source storage;

identifying one or more target storages and a respective available stream count for each target storage;

negotiating a maximum stream count for a combination of storages that includes the one or more source storages and the one or more target storages, in which the negotiation of the maximum stream count is based on: (i) the respective available stream counts for each source storage; and (ii) the respective available stream counts for each target storage, and the negotiation of the maximum stream count comprises comparing each source storage available stream count to a respective available stream count of each of the one or more target storages, and the comparison is performed in ascending order of the respective available stream counts of the one or more source storages; and

creating parallel cloning sessions based on the negotiated maximum stream count, and one of the parallel cloning sessions comprises creating a copy of a backup dataset that resides at a first one of the source storages, and transmitting the copy to a first one of the target storages, such that after cloning is completed, the backup dataset remains at the first source storage and the copy of the backup dataset resides at the first target storage.

10. The non-transitory storage medium as recited in claim 9 , wherein the source storage available stream counts are compared to the available stream counts of the one or more target storages in ascending order of the respective available stream counts of the one or more target storages.

11. The non-transitory storage medium as recited in claim 9 , wherein one of the source storages and/or one of the target storages has a number of available streams that is less than a supportable maximum number of streams.

12. The non-transitory storage medium as recited in claim 9 , wherein negotiation of the maximum stream count is based on either: a combination of storages that includes one source storage and multiple target storages; or a combination of storages that includes multiple source storages and multiple target storages.

13. The non-transitory storage medium as recited in claim 9 , one of the cloning sessions is initiated by a backup application.

14. The non-transitory storage medium as recited in claim 9 , wherein when multiple target storages are identified, and only a single source storage is identified, the available source storage streams are divided between the target storages based on the availability of target storage streams at each of the target storages.

15. The non-transitory storage medium as recited in claim 9 , wherein the operations are performed iteratively until one of the following is true: a number of available source storage streams is zero; or, a number of available target storage streams is zero.

16. The non-transitory storage medium as recited in claim 9 , wherein the operations further comprise subtracting the number of created parallel cloning sessions from the smaller of the remaining available source storage streams or remaining available target storage streams.

17. The non-transitory storage medium as recited in claim 9 , wherein the operations are performed by a backup application.

18. A server comprising:

one or more hardware processors; and

the non-transitory storage medium as recited in claim 9 .

Assignments (7)
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 (044535/0109) Recorded May 20, 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; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO WYSE TECHNOLOGY L.L.C.)
Reel/Frame 060753/0414 →
RELEASE OF SECURITY INTEREST AT REEL 044535 FRAME 0001 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
Reel/Frame 058298/0475 →
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 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 044535/0109 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Nov 29, 2017
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 044535/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 28, 2017
From: SHARMA, ANUPAM
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 043731/0031 →