US9021142B2ActiveUtilityA1

Reflecting bandwidth and priority in network attached storage I/O

49
Assignee: TRIPATHI SUNAYPriority: Jul 20, 2006Filed: Aug 2, 2010Granted: Apr 28, 2015
Est. expiryJul 20, 2026(~0 yrs left)· nominal 20-yr term from priority
G06F 3/0613H04L 49/70H04L 49/30G06F 3/067H04L 49/102G06F 3/0659
49
PatentIndex Score
0
Cited by
23
References
17
Claims

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-modified
What 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.