Bandwidth control for input/output channels
AssigneeRed Hat, Inc.
InventorsDavid Butenhof, Lennart Poettering, Peter Portante, W Webb Scales
Life of this patent
Estimating the term…
Abstract
Bandwidth control can be provided for input/output channels according to some aspects described herein. In one example, a system can detect an input/output (I/O) request transmitted by a software application. In response to detecting the I/O request, the system can determine a bandwidth group that corresponds to an I/O channel associated with the I/O request. The system can then determine whether bandwidth consumption of the bandwidth group exceeds a predefined bandwidth limit. If so, the system can execute a predefined policy assigned to the I/O channel for handling the I/O request.
Claims20
A non-transitory computer-readable medium comprising program code that is executable by a processor for causing the processor to perform operations including:
- detecting an input/output (I/O) request from a software application;
- in response to detecting the I/O request, determining a bandwidth group that corresponds to an I/O channel associated with the I/O request;
- determining whether bandwidth consumption of the bandwidth group exceeds a predefined bandwidth limit;
- selecting a predefined policy from among a plurality of predefined policies based on the predefined policy being assigned to the I/O channel;
- and
- in response to determining that the bandwidth consumption of the bandwidth group exceeds the predefined bandwidth limit, executing the predefined policy assigned to the I/O channel for handling the I/O request.
A method comprising:
- detecting, by a processor, an input/output (I/O) request from a software application;
- in response to detecting the I/O request, determining, by the processor, a bandwidth group that corresponds to an I/O channel;
- in response to determining the bandwidth group, determining, by the processor, that bandwidth consumption of the bandwidth group exceeds a predefined bandwidth limit assigned to the bandwidth group;
- selecting, by the processor, a predefined policy from among a plurality of predefined policies based on the predefined policy being assigned to the I/O channel;
- and in response to determining that the bandwidth consumption of the bandwidth group exceeds the predefined bandwidth limit, executing, by the processor, the predefined policy assigned to the I/O channel for handling the I/O request.
A computing device comprising:
- a processor;
- and
- a non-transitory memory including:
- a software application;
- and
- a bandwidth management service that is separate from the software application, the bandwidth management service being executable by the processor to perform operations including:
- detecting an input/output (I/O) request from the software application;
- in response to detecting the I/O request, determining a bandwidth group that corresponds to an I/O channel associated with the I/O request;
- in response to determining the bandwidth group that corresponds to the I/O channel, determining whether bandwidth consumption of the bandwidth group exceeds a predefined bandwidth limit assigned to the bandwidth group;
- selecting a predefined policy from among a plurality of predefined policies based on the predefined policy being assigned to the I/O channel;
- and
- in response to determining that the bandwidth consumption of the bandwidth group exceeds the predefined bandwidth limit, executing the predefined policy assigned to the I/O channel for preventing the I/O request from being performed for at least a particular time period.
Dependencies are inferred from the claim text.