Reflecting bandwidth and priority in network attached storage I/O
Abstract
A method for processing a first input/output (I/O) request on a network attached storage (NAS) device that includes receiving the first I/O request from a source by the NAS device, placing the first I/O request in an I/O queue associated with the NAS device, wherein the first I/O request is placed in the I/O queue based on a priority of the first I/O request using a remote storage access protocol, and when the first I/O request is associated with the highest priority in the I/O queue, determining whether a bandwidth associated with the source of the first I/O request is exceeded, processing the first I/O request if the bandwidth associated with the source of the first I/O request is not exceeded, and placing the first I/O request in sleep mode if the bandwidth associated with the source of the first I/O request is exceeded.
Claims
exact text as granted — not AI-modifiedWhat is claimed is:
1. A method for processing a first input/output (I/O) request on a network attached storage (NAS) device, comprising:
receiving the first I/O request from a source by the NAS device;
placing the first I/O request in an I/O queue included in the NAS device, wherein the first I/O request is placed in the I/O queue based on a priority of the first I/O request using a remote storage access protocol; and
when the first I/O request is associated with the highest priority in the I/O queue:
determining whether a bandwidth associated with the source of the first I/O request is exceeded;
processing the first I/O request if the bandwidth associated with the source of the first I/O request is not exceeded;
placing the first I/O request in sleep mode if the bandwidth associated with the source of the first I/O request is exceeded;
removing the first I/O request from sleep mode after a specified time interval;
re-assessing whether the bandwidth associated with the source of the first I/O request is exceeded;
processing the first I/O request if the bandwidth associated with the source of the first I/O request is not exceeded; and
returning the first I/O request to sleep mode if the bandwidth associated with the source of the first I/O request is exceeded.
2. The method of claim 1 , wherein the source is a virtual machine.
3. The method of claim 1 , wherein the bandwidth associated with the source of the first I/O request is stored on the NAS device.
4. The method of claim 3 , wherein the bandwidth associated with the source is updated when a bandwidth update message is transmitted to the NAS device from the source.
5. The method of claim 1 , wherein the virtual machine is associated with a volume operatively connected to the NAS device.
6. The method of claim 1 , wherein after the first I/O request is placed in sleep mode processing a second I/O request at a bandwidth associated with a source of the second I/O request.
7. A system for processing an input/output (I/O) request on a network attached storage (NAS) device, comprising:
the NAS device, comprising:
an I/O queue;
functionality to execute a remote storage access protocol; and
a file system;
wherein the NAS device is configured to:
receive the I/O request from a source;
placing the I/O request in the I/O queue based on a priority of the I/O request using the remote storage access protocol; and
when the I/O request is associated with the highest priority in the I/O queue:
determine whether a bandwidth associated with the source of the I/O request is exceeded;
process the I/O request if the bandwidth associated with the source of the I/O request is not exceeded;
place the I/O request in sleep mode if the bandwidth associated with the source of the I/O request is exceeded;
remove the I/O request from sleep mode after a specified time interval;
re-assess whether the bandwidth associated with the source of the I/O request is exceeded;
process the I/O request if the bandwidth associated with the source of the I/O request is not exceeded; and
return the I/O request to sleep more if the bandwidth associated with the source of the I/O request is exceeded.
8. The system of claim 7 , further comprising:
a volume operatively connected to the NAS device, wherein the source is associated with the volume.
9. The system of claim 7 , wherein the bandwidth associated with the source of the I/O request is stored on the NAS device.
10. The system of claim 9 , wherein the bandwidth associated with the source is updated when a bandwidth update message is transmitted to the NAS device from the source.
11. The system of claim 7 , wherein the virtual machine is associated with a volume operatively connected to the NAS device.
12. A non-transitory computer usable medium having computer readable program code embodied therein for causing a computer system to execute a method for processing a first input/output (I/O) request on a network attached storage (NAS) device, the method comprising:
receiving the first I/O request from a source by the NAS device;
placing the first I/O request in an I/O queue included in the NAS device, wherein the first I/O request is placed in the I/O queue based on a priority of the first I/O request using a remote storage access protocol; and
when the first I/O request is associated with the highest priority in the I/O queue:
determining whether a bandwidth associated with the source of the first I/O request is exceeded;
processing the first I/O request if the bandwidth associated with the source of the first I/O request is not exceeded;
placing the first I/O request in sleep mode if the bandwidth associated with the source of the first I/O request is exceeded;
removing the first I/O request from sleep mode after a specified time interval;
re-assessing whether the bandwidth associated with the source of the first I/O request is exceeded;
processing the first I/O request if the bandwidth associated with the source of the first I/O request is not exceeded; and
returning the first I/O request to sleep mode if the bandwidth associated with the source of the first I/O request is exceeded.
13. The non-transitory computer usable medium of claim 12 , wherein the source is a virtual machine.
14. The non-transitory computer usable medium of claim 12 , wherein the bandwidth associated with the source of the first I/O request is stored on the NAS device.
15. The non-transitory computer usable medium of claim 14 , wherein the bandwidth associated with the source is updated when a bandwidth update message is transmitted to the NAS device from the source.
16. The non-transitory computer usable medium of claim 12 , wherein the virtual machine is associated with a volume operatively connected to the NAS device.
17. The non-transitory computer usable medium of claim 12 , wherein after the first I/O request is placed in sleep mode processing a second I/O request at a bandwidth associated with a source of the second I/O request.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.