Intelligent local management of data stream throttling in secondary-copy operations
First Claim
1. A method for managing data streams that originate from a client computing device in a storage management system, the method comprising:
- managing, by a throttling manager that executes on the client computing device, a bandwidth available for data streams that are registered at and originate from the client computing device, wherein the managing comprises;
receiving, by the throttling manager, one or more respective registrations for one or more first data streams for a first secondary-copy job for first primary data accessible to the client computing device,wherein a first data agent that also executes on the client computing device (I) submits the one or more respective registrations for the first data streams, and (II) uses the first data streams to transfer the first primary data to a first media agent that executes on a secondary storage computing device that is distinct from the client computing device;
receiving, by the throttling manager, one or more respective registrations for one or more second data streams for a second secondary-copy job for second primary data accessible to the client computing device, wherein a second data agent that also executes on the client computing device (A) submits the one or more respective registrations for the second data streams, and (B) uses the second data streams to transfer the second primary data to the first media agent;
allocating, by the throttling manager, based on the bandwidth available for data streams that are registered at and originate from the client computing device (i) first respective bandwidth values for the first data streams to be used by the first data agent in the first secondary-copy job and (ii) second respective bandwidth values for the second data streams to be used by the second data agent in the second secondary-copy job; and
after the second secondary-copy job completes, (a) receiving, by the throttling manager from the second data agent, one or more respective de-registrations for the second data streams used in the second secondary-copy job and (b) updating, by the throttling manager, based on the de-registrations, the first respective bandwidth values to third respective bandwidth values for the first data streams in use by the first data agent for the first secondary-copy job,wherein the one or more first data streams continue operating at the updated third respective bandwidth values which differ from the first respective bandwidth values.
2 Assignments
0 Petitions
Accused Products
Abstract
Intelligent local management of data stream throttling in data movement operations, such as secondary-copy operations in a storage management system, is disclosed. A local throttling manager may intelligently interoperate with co-resident data agents and/or a media agent executing on any given local computing device, whether a client computing device or a secondary storage computing device. The local throttling manager may allocate and manage the available bandwidth for various jobs and their constituent data streams—across the data agents and/or media agent. Bandwidth is dynamically allocated and re-allocated to data streams used by ongoing jobs, in response to new jobs starting and old jobs completing, without having to pause and restart ongoing jobs to accommodate bandwidth adjustments. The illustrative embodiment also provides local users with a measure of control over data streams—to suspend, pause, and/or resume them—independently from the centralized storage manager that manages the storage management system as a whole.
-
Citations
10 Claims
-
1. A method for managing data streams that originate from a client computing device in a storage management system, the method comprising:
managing, by a throttling manager that executes on the client computing device, a bandwidth available for data streams that are registered at and originate from the client computing device, wherein the managing comprises; receiving, by the throttling manager, one or more respective registrations for one or more first data streams for a first secondary-copy job for first primary data accessible to the client computing device, wherein a first data agent that also executes on the client computing device (I) submits the one or more respective registrations for the first data streams, and (II) uses the first data streams to transfer the first primary data to a first media agent that executes on a secondary storage computing device that is distinct from the client computing device; receiving, by the throttling manager, one or more respective registrations for one or more second data streams for a second secondary-copy job for second primary data accessible to the client computing device, wherein a second data agent that also executes on the client computing device (A) submits the one or more respective registrations for the second data streams, and (B) uses the second data streams to transfer the second primary data to the first media agent; allocating, by the throttling manager, based on the bandwidth available for data streams that are registered at and originate from the client computing device (i) first respective bandwidth values for the first data streams to be used by the first data agent in the first secondary-copy job and (ii) second respective bandwidth values for the second data streams to be used by the second data agent in the second secondary-copy job; and after the second secondary-copy job completes, (a) receiving, by the throttling manager from the second data agent, one or more respective de-registrations for the second data streams used in the second secondary-copy job and (b) updating, by the throttling manager, based on the de-registrations, the first respective bandwidth values to third respective bandwidth values for the first data streams in use by the first data agent for the first secondary-copy job, wherein the one or more first data streams continue operating at the updated third respective bandwidth values which differ from the first respective bandwidth values. - View Dependent Claims (2, 3, 4, 5)
-
6. At least one computer-readable medium, excluding transitory propagating signals, storing instructions that, when executed by a computing device comprising one or more processors and computer memory, perform a method for management of data stream throttling in a storage management system, the method comprising:
-
receiving, by a first data agent that executes on the computing device, instructions for a first copy job for first primary data associated with the first data agent, wherein the instructions comprise one or more parameters for one or more first data streams that are to be used by the first data agent for transferring the first primary data to a first media agent during the first copy job; transmitting, by the first data agent, to a throttling manager, one or more respective registrations for the one or more first data streams, wherein the throttling manager also executes on the computing device; receiving, by the first data agent, from the throttling manager, respective first bandwidth values for the one or more first data streams; executing the first copy job, at least in part by the first data agent, wherein the first copy job comprises transferring at least part of the first primary data to the first media agent via the one or more first data streams at the respective first bandwidth values received from the throttling manager, and wherein the one or more first data streams originate from the first client computing device; receiving, by the first data agent, from the throttling manager, respective second bandwidth values for the one or more first data streams used by the first copy job; continuing the one or more first data streams at the respective second bandwidth values received from the throttling manager, wherein the respective second bandwidth values differ from the respective first bandwidth values; after the first copy job is completed, transmitting, by the first data agent, to the throttling manager, respective de-registrations for the one or more first data streams; and wherein the first bandwidth values are changed to the second bandwidth values, based on a second copy job executed at least in part by a second data agent that also executes on the computing device, wherein the second copy job utilizes one or more second data streams that are registered with the throttling manager, and wherein the one or more second data streams used by the second copy job also originate at the first client computing device and are to be used for transferring second primary data to the first media agent during the second copy job. - View Dependent Claims (7, 8, 9, 10)
-
Specification