IP Library Granted Patent US 7,373,438
Granted Patent B1
US 7,373,438 · App. 10/829,854 · Granted May 13, 2008

System and method for reprioritizing high-latency input/output operations

Assignee: Network Appliance, Inc.
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,373,438
App. No.
10/829,854
Granted
May 13, 2008
Kind
B1
Abstract

A mechanism for reprioritizing high-latency input/output operations in a file system is provided. The mechanism expands a file access protocol, such as the direct access file system protocol, by including a hurry up command that adjusts the latency of a given input/output operation. The hurry up command can be employed in the Direct Access File System.

Claims (44)

1. A file server, comprising:

a maximum protocol latency time for a high latency input/output function, the maximum protocol latency time set through an operating system;

a high latency input/output request received by a file system layer, a maximum latency time for the request controlled by the maximum protocol latency time;

a hurry-up command received by the file system layer, the hurry-up command modifying the maximum latency time for the request; and

a high-latency input/output function adapted to enable, in response to the modifying the maximum latency time for the request, reprioritizing the high-latency input/output request to a lower latency.

2. The server of claim 1 , further comprising:

a client of the file server utilizing a direct access file system to execute the request.

3. The server of claim 1 , further comprising:

the file system layer to process the input/output request at the lower latency.

4. The server of claim 1 , further comprising:

a client to transmit a data structure to the high-latency input/output function identifying the input/output request to be modified.

5. The server of claim 4 , further comprising:

the data structure has a request ID field and an alternative latency field.

6. A method for controlling latency of execution of input/output requests in a server, the method comprising the steps of:

setting a maximum protocol latency time for a high latency input/output function;

receiving a high latency input/output request by a file system layer, a maximum latency time for the request controlled by the maximum protocol latency time;

receiving a hurry-up command by the file system layer, the hurry-up command modifying the maximum latency time for the request; and

executing, in response to the modifying the maximum latency time for the request, the input/output operation with a latency associated with the maximum latency time for the request.

7. The method of claim 6 , further comprising:

associating a latency indicator with an execution priority relative to other pending input/output operations and the executing step executes the input/output operation responsive to the associated execution priority.

8. The method of claim 6 , further comprising:

changing a latency indicator to a selected value associated with a relative lower latency execution from a value associated with a relatively higher latency execution.

9. The method of claim 6 , further comprising:

changing a latency indicator to a value under a preselected threshold associated with input/output operations requiring relatively low-latency execution.

10. The method of claim 9 , further comprising:

dynamically setting the threshold depending on queued input/output requests.

11. The method of claim 9 , further comprising:

setting the threshold is set dependent on the identity of the client.

12. The method of claim 9 , further comprising:

placing the latency indicator in a field in the request.

13. The method of claim 6 , further comprising:

specifying-a time within which execution of the input/output request is requested.

14. The method of claim 6 , further comprising:

receiving the latency control command from a client subsequent to receipt of the input/output request.

15. A method for a client to modify an input/output operation's latency, the method comprising the steps of:

sending the input/output operation request to a computer, the request including a data structure, the data structure including a maximum latency value;

sending a latency control command identify the input/output operation and a new latency value to the computer;

changing, in response to the latency control command, a latency indicator associated with an input/output operation specified by the new latency value; and

executing, in response to the changing the latency indicator, the input/output operation with a latency associated with the latency indicator.

16. The method of claim 15 wherein the latency control command includes a request ID field to identify the input/output operation.

17. The method of claim 16 wherein the latency control command includes an alternative latency field to identify the new latency value.

18. The method of claim 16 wherein the latency indicator is associated with an execution priority relative to other pending input/output operations and the executing step executes the input/output operation responsive to the associated execution priority.

19. The method of claim 16 wherein the step of changing a latency indicator further comprises the step of changing the latency indicator to a selected value associated with a relative lower latency execution from a value associated with a relatively higher latency execution.

20. The method of claim 16 wherein the latency control command is received from the client subsequent to receipt of the input/output request.

Assignments (2)
CHANGE OF NAME Recorded May 8, 2024
From: NETWORK APPLIANCE, INC.
To: NETAPP, INC.
Reel/Frame 067345/0549 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 22, 2004
From: DEBERGALIS, MATTHEW S.; LENT, ARTHUR F.; KIMMEL, JEFFREY S.
To: NETWORK APPLIANCE, INC.
Reel/Frame 015256/0501 →
Continuity (1)
Division 1017114000 · Jun 13, 2002