Adaptive bandwidth throttling
First Claim
1. A method comprising:
- determining one or more of a network bandwidth and a historical bandwidth for a data transfer between a storage source adapted to store computer data and a storage target adapted to store computer data;
adjusting a target bandwidth for the data transfer using a weighting factor, the target bandwidth based on at least one of the network bandwidth and the historical bandwidth, the weighting factor based on a priority for the data transfer; and
transferring at least a block of data of the data transfer from the storage source to the storage target based on the target bandwidth for the data transfer, wherein a block size for the block is selected based on the target bandwidth.
6 Assignments
0 Petitions
Accused Products
Abstract
Apparatuses, systems, methods, and computer program products are disclosed for adaptive bandwidth throttling. A monitor module determines a network bandwidth and/or a historical bandwidth for a data transfer between a storage source and a storage target. A target module adjusts a target bandwidth for a data transfer using a weighting factor. A target bandwidth may be based on at least one of a network bandwidth and a historical bandwidth. A weighting factor for a target bandwidth may be based on a priority for a data transfer. A transfer module transfers at least a block of data of a data transfer from a storage source to a storage target in a manner configured to satisfy a target bandwidth. A delay before transferring a block and/or a block size for the block may be selected based on a target bandwidth.
-
Citations
25 Claims
-
1. A method comprising:
-
determining one or more of a network bandwidth and a historical bandwidth for a data transfer between a storage source adapted to store computer data and a storage target adapted to store computer data; adjusting a target bandwidth for the data transfer using a weighting factor, the target bandwidth based on at least one of the network bandwidth and the historical bandwidth, the weighting factor based on a priority for the data transfer; and transferring at least a block of data of the data transfer from the storage source to the storage target based on the target bandwidth for the data transfer, wherein a block size for the block is selected based on the target bandwidth. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15)
-
-
16. An apparatus comprising:
-
a monitor module configured to monitor network bandwidth, the network bandwidth derived from the monitoring of the operation of a computer network adapted to transfer data between at least two separate locations, associated with a plurality of data transfers between different storage volumes in a computer network, the storage volumes associated with different quality of service levels; a target module configured to determine target bandwidths for the data transfers based on the monitored network bandwidth and the different quality of service levels of the storage volumes; and a bandwidth module configured to determine a block size for each of the data transfers based on the target bandwidths. - View Dependent Claims (17, 18, 19, 20)
-
-
21. A method comprising:
-
transferring data from a first storage volume associated with a computer data storage device using a target bandwidth, the target bandwidth based on a quality-of-service level for the first storage volume and a block of data associated with the data transfer has a block size that is selected based on the target bandwidth; and transferring data from a second storage volume associated with a computer data storage device using a different target bandwidth, the different target bandwidth based on a different quality-of-service level for the second storage volume. - View Dependent Claims (22, 23, 24, 25)
-
Specification