IP Library Granted Patent US 11,360,855
Granted Patent B2
US 11,360,855 · App. 16/685,614 · Granted Jun 14, 2022

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 11,360,855
App. No.
16/685,614
Granted
Jun 14, 2022
Kind
B2
Abstract

One example method includes 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 source storages and the 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 target storages, and the comparison is performed in ascending order of the respective available stream counts of the source storages, and creating parallel cloning sessions based on the negotiated maximum stream count.

Claims (34)

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;

creating, with a backup application, parallel cloning sessions based on the negotiated maximum stream count, wherein the parallel cloning sessions are created without the use of a default, or a manual, specification of a session count, and the parallel cloning sessions are created in such a way as to make optimal use, by the parallel cloning sessions, of the source storages and target storages without overutilizing the source storages and target storages; and

copying one or more savesets from the one or more source storages to the one or more target storages, wherein the copying is performed using the parallel cloning sessions.

2. 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.

3. 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.

4. The method as recited in claim 1 , further comprising performing the following after the one or more source storages and the one or more target storages have been identified:

sorting, for each source storage, the respective available streams of that source storage; and

sorting for each target storage, the respective available streams of that target storage.

5. The method as recited in claim 1 , wherein multiple target storages are identified, and only a single source storage is identified, and 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.

6. 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.

7. The method as recited in claim 1 , wherein the number of source storages is the same as the number of target storages.

8. The method as recited in claim 1 , wherein the number of identified source storages is different from the number of identified target storages.

9. The method as recited in claim 1 , wherein the number of identified source storages is less than the number of identified target storages.

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

11. 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;

creating, with a backup application, parallel cloning sessions based on the negotiated maximum stream count, wherein the parallel cloning sessions are created without the use of a default, or a manual, specification of a session count, and the parallel cloning sessions are created in such a way as to make optimal use, by the parallel cloning sessions, of the source storages and target storages without overutilizing the source storages and target storages; and

copying one or more savesets from the one or more source storages to the one or more target storages, wherein the copying is performed using the parallel cloning sessions.

12. The non-transitory storage medium as recited in claim 11 , 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.

13. The non-transitory storage medium as recited in claim 11 , 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.

14. The non-transitory storage medium as recited in claim 11 , wherein the operations further comprise performing the following after the one or more source storages and the one or more target storages have been identified:

sorting, for each source storage, the respective available streams of that source storage; and

sorting for each target storage, the respective available streams of that target storage.

15. The non-transitory storage medium as recited in claim 11 , wherein multiple target storages are identified, and only a single source storage is identified, and 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.

16. The non-transitory storage medium as recited in claim 11 , 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.

17. The non-transitory storage medium as recited in claim 11 , wherein the number of source storages is the same as the number of target storages.

18. The non-transitory storage medium as recited in claim 11 , wherein the number of identified source storages is different from the number of identified target storages.

19. The non-transitory storage medium as recited in claim 11 , wherein the number of identified source storages is less than the number of identified target storages.

20. The non-transitory storage medium as recited in claim 11 , 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.

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 (052216/0758) 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 IP HOLDING COMPANY LLC
Reel/Frame 060438/0680 →
RELEASE OF SECURITY INTEREST AF REEL 052243 FRAME 0773 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0152 →
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 →
SECURITY AGREEMENT Recorded Mar 26, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 052243/0773 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Mar 24, 2020
From: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052216/0758 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 15, 2019
From: SHARMA, ANUPAM
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 051023/0912 →
Continuity (2)
Continuation 15719269 · Sep 28, 2017
Related Publication 20200081795A1 · Mar 12, 2020