IP Library Granted Patent US 10,402,103
Granted Patent B2
US 10,402,103 · App. 16/220,973 · Granted Sep 3, 2019

Dynamic parallelism

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,402,103
App. No.
16/220,973
Granted
Sep 3, 2019
Kind
B2
Abstract

Techniques to optimize use of the available capacity of a backup target storage device are disclosed. In various embodiments, a current capacity of a target system to which backup data is to be streamed to handle additional streams is determined dynamically, at or near a time at which a backup operation is to be performed. One or more backup parameters of the backup operation is/are set dynamically, based at least in part on the dynamically determined current capacity of the target system.

Claims (39)

1. A method of protecting data, comprising:

determining dynamically, at or near a time at which a backup operation is to be performed, a current capacity of a target system to which backup data is to be streamed to handle additional streams;

comparing a polled current capacity of the target system to one or more capabilities of a source system, wherein the one or more capabilities of the source system include a maximum number of concurrent backup write streams;

determining a number of concurrent backup streams for the backup operation based on the maximum number of concurrent backup write streams of the source system and a current number of additional backup write streams that the target system is capable of receiving;

dynamically setting one or more backup parameters of the backup operation, based at least in part on the determined number of concurrent backup streams for the backup operation; and

backing up to the target system the backup data based on the one or more backup parameters.

2. The method of claim 1 , further comprising receiving an indication to perform the backup operation; and initiating at least in part in response to the indication said step of determining dynamically the current capacity of the target system.

3. The method of claim 1 , wherein the current capacity of the target system comprises a current number of additional backup write streams that the target system is capable of receiving.

4. The method of claim 1 , wherein dynamically setting one or more backup parameters of the backup operation includes allocating among two or more data sets said current capacity of the target system.

5. The method of claim 1 , wherein dynamically setting one or more backup parameters of the backup operation includes allocating among two or more data movers said current capacity of the target system.

6. The method of claim 1 , wherein the current capacity of the target system is determined by a calibrator module, appliance, or system with which the backup operation is associated.

7. The method of claim 1 , wherein the current capacity of the target system is determined at least in part by invoking an application programming interface (API) of the target system.

8. The method of claim 1 , wherein the one or more backup parameters of the backup operation are set based at least in part on a capability of a source system on which a source data to be backed up in the backup operation is stored.

9. The method of claim 1 , wherein the one or more backup parameters of the backup operation are set based at least in part on an attribute of a source data to be backed up in the backup operation is stored.

10. The method of claim 1 , further comprising monitoring the target system while the backup operation is being performed to detect a change in said current capacity of the target system.

11. The method of claim 10 , further comprising adjusting said one or more backup parameters during the course of the backup operation based at least in part on a determination that the current capacity of the target system has been detected to have changed.

12. A system to protect data, comprising:

a communication interface; and

a processor coupled to the communication interface and configured to:

determine dynamically, at or near a time at which a backup operation is to be performed, a current capacity of a target system to which backup data is to be streamed to handle additional streams;

compare a polled current capacity of the target system to one or more capabilities of a source system, wherein the one or more capabilities of the source system include a maximum number of concurrent backup write streams;

determine a number of concurrent backup streams for the backup operation based on the maximum number of concurrent backup write streams of the source system and a current number of additional backup write streams that the target system is capable of receiving;

dynamically set one or more backup parameters of the backup operation, based at least in part on the determined number of concurrent backup streams for the backup operation; and

back up to the target system the backup data based on the one or more backup parameters.

13. The system of claim 12 , wherein the processor is further configured to:

receive an indication to perform the backup operation; and

determine dynamically the current capacity of the target system at least in part in response to the indication.

14. The system of claim 12 , wherein the current capacity of the target system comprises a current number of additional backup write streams that the target system is capable of receiving.

15. The system of claim 12 , wherein to dynamically set one or more backup parameters of the backup operation, the processor is further configured to allocate among two or more data sets said current capacity of the target system.

16. The system of claim 12 , wherein to dynamically set one or more backup parameters of the backup operation, the processor is further configured to allocate among two or more data movers said current capacity of the target system.

17. The system of claim 12 , wherein the current capacity of the target system is determined at least in part by invoking an application programming interface (API) of the target system.

18. The system of claim 12 , wherein the one or more backup parameters of the backup operation are set based at least in part on a capability of a source system on which a source data to be backed up in the backup operation is stored.

19. A computer program product to protect data, the computer program product being embodied in a non-transitory computer readable medium and comprising computer instructions for:

determining dynamically, at or near a time at which a backup operation is to be performed, a current capacity of a target system to which backup data is to be streamed to handle additional streams;

comparing a polled current capacity of the target system to one or more capabilities of a source system, wherein the one or more capabilities of the source system include a maximum number of concurrent backup write streams;

determining a number of concurrent backup streams for the backup operation based on the maximum number of concurrent backup write streams of the source system and a current number of additional backup write streams that the target system is capable of receiving;

dynamically setting one or more backup parameters of the backup operation, based at least in part on the determined number of concurrent backup streams for the backup operation; and

backing up to the target system the backup data based on the one or more backup parameters.

20. The computer program product of claim 19 , wherein the current capacity of the target system comprises a current number of additional backup write streams that the target system is capable of receiving.

Assignments (8)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 23, 2023
From: VAIA, RICHARD A.; PARK, KYOUNGWEON
To: GOVERNMENT OF THE UNITED STATES AS REPRESENTED BY THE SECRETARY OF THE UNITED STATES
Reel/Frame 063729/0038 →
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 AT REEL 050405 FRAME 0534 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 058001/0001 →
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 Sep 17, 2019
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC; WYSE TECHNOLOGY L.L.C.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 050405/0534 →
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 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2018
From: CHOPRA, SHELESH; PALKHADE, RAJKUMAR
To: EMC CORPORATION
Reel/Frame 047783/0543 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 14, 2018
From: EMC CORPORATION
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 047909/0001 →