# US 2026/0093547 A1 · Dynamic Throttling at Secondary Storage Devices

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2026/0093547 A1
- Document ID: US20260093547A1
- Status: Published application
- Kind: A1
- Application number: 18/900,768
- Filed: 2024-09-29
- Published: 2026-04-02
- Earliest claimed: 2024-09-29
- Assignees: Commvault Systems, Inc.
- Applicants: Commvault Systems, Inc.
- Inventors: Deepak Raghunath ATTARDE; Manoj Kumar VIJAYAN
- Web page: https://patentgrep.com/patent/US20260093547A1

## CPC

- G06F 9/5011: {the resources being hardware resources other than CPUs, Servers and Terminals}
- G06F 9/5038: {considering the execution order of a plurality of tasks, e.g. taking priority or time dependency constraints into consideration (scheduling strategies G06F9/4881 and subgroups)}
- G06F 9/5016: {the resource being the memory}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A computer-implemented system and associated methods are disclosed, including components such as a client cloud computing environment, client computing devices, media agents, and a secondary storage subsystem managed by a throttle manager. The client cloud computing environment includes multiple virtual machines (VMs), each with a specific data agent responsible for collecting and transmitting application data. The secondary storage subsystem includes multiple secondary storage units managed by media agents. The throttle manager oversees the distribution and regulation of data streams across these media agents, dynamically adjusting the allocation of data streams to balance utilization and efficiently handle data. The system implements a multi-priority level bandwidth allocation mechanism, where bandwidth is distributed based on job type and dynamically adjusted based on stream performance.

## Claims

### Claim 1

A method for dynamically regulating bandwidth at secondary storage devices, the method comprising:
categorizing a job into a priority group based on a type of operation the job is intended to perform;
assigning one or more data streams to the categorized job, wherein the assignment of multiple streams indicates a requirement for various data inputs to execute the job;
registering each of the assigned streams with a throttle manager;
allocating a portion of bandwidth to a first stream of the assigned streams;
obtaining a status of the stream;
calculating a moving average for the stream;
evaluating, based on the moving average, whether the stream is slowing down;
if the stream is slowing down, checking if higher priority operations are waiting to use the bandwidth;
reassigning a portion of the bandwidth to the higher priority operation if such an operation is waiting to use the bandwidth.

### Claim 2 (depends on 1)

The method of claim 1, wherein the categorizing of the job into a priority group determines precedence of the job within an overall system.

### Claim 3 (depends on 1)

The method of claim 1, wherein the allocation of bandwidth to the first stream is based on an initial quota required to maintain data flow for the job.

### Claim 4 (depends on 1)

The method of claim 1, further comprising monitoring the status of the stream in a loop until a determination is made that the stream is slowing down.

### Claim 5 (depends on 1)

The method of claim 1, wherein the reassigning of bandwidth involves dynamically adjusting the allocation of the bandwidth in response to the needs of higher priority operations.

### Claim 6 (depends on 1)

The method of claim 1, further comprising steps of:
returning to monitoring the status of the stream if no higher priority operations are waiting to use the bandwidth;
continuing to allocate bandwidth to the first stream based on the calculated moving average if the stream is not slowing down.

### Claim 7 (depends on 1)

The method of claim 1, wherein the throttle manager is configured to optimize flow of data streams across multiple jobs within a secondary storage system.

### Claim 8 (depends on 1)

The method of claim 1, wherein the moving average calculation for the stream is performed periodically to update the evaluation of the stream's performance in real-time.
