Adaptive Scheduling Of Storage Operations Based On Utilization Of Multiple Client And Server Resources In A Distributed Network Storage System
First Claim
1. A method comprising:
- operating a network storage system that includes a storage server and a plurality of storage clients; and
scheduling storage operations in the network storage system by applying a bid-price auction model, wherein bid values and price values are dynamically set by the storage clients and the storage server, respectively, based on utilization of computing resources of each of the storage clients and the storage server.
1 Assignment
0 Petitions
Accused Products
Abstract
Scheduling operations such as asynchronous file system operations in a network storage system is accomplished by applying a bid-price online auction methodology, in which bid (willingness-to-pay) values and price (cost) values are dynamically set by storage clients and a storage server, respectively, based on utilization of computing resources. The system provides a framework for adaptively scheduling asynchronous file system operations, managing multiple key resources of the distributed file system, including network bandwidth, server I/O, server CPU, and client and server memory utilization. The system can accelerate, defer, or cancel asynchronous requests to improve application-perceived performance. Congestion pricing via online auctions can be employed to coordinate the use of system resources by clients, so clients can detect shortages and adapt their resource usage.
77 Citations
30 Claims
-
1. A method comprising:
-
operating a network storage system that includes a storage server and a plurality of storage clients; and scheduling storage operations in the network storage system by applying a bid-price auction model, wherein bid values and price values are dynamically set by the storage clients and the storage server, respectively, based on utilization of computing resources of each of the storage clients and the storage server. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A method of operating a storage client in a network storage system that includes a storage server and the storage client, the method comprising:
-
determining in the storage client a current utilization of computing resources of the storage client; computing a bid value in the storage client based on the current utilization of the computing resource of the storage client; receiving a price value from the storage server, the price value having been computed by the storage server based on a current utilization of computing resources of the storage server; generating a request in the storage client for the storage server to perform a storage operation; and determining a disposition of the request based on a relationship between the bid value and the price value. - View Dependent Claims (7, 8, 9, 10, 11, 12)
-
-
13. A method of operating a network storage system that includes a storage server and a plurality of storage clients, the method comprising:
-
in the storage server, determining a current utilization of computing resources of the storage server, computing a price value based on the current utilization of computing resources of the storage server, and sending the price value to each of the storage clients; and in each of the storage clients, determining a current utilization of computing resources of the storage client, computing a bid value for an asynchronous file system operation, based on the current utilization of the computing resource of the storage client, generating a request for the storage server to perform the asynchronous filesystem operation, and determining a disposition of the request based on a relationship between the bid value and the price value, wherein when the asynchronous filesystem operation is an asynchronous write, the storage client defers sending the request to the storage server if the bid value is less than the price value and accelerates execution of the write if the bid value is greater than the price value, and when the storage operation is an asynchronous read, the storage client cancels the request if the bid value is less than the price value. - View Dependent Claims (14, 15)
-
-
16. A processing system configured to operate as a network endpoint in a network storage system, the processing system comprising:
-
a processor; a network interface through which to communicate with another network endpoint via a network; and a storage medium storing instructions which, when executed by the processor, cause the processing system to perform a process that includes; determining a current utilization of a computing resource of the processing system; computing a first value based on the current utilization of the computing resource of the processing system; and determining a disposition of a request for a storage operation in the network storage system, based on a relationship between the first value and a second value, the second value having been computed based on a current utilization of resources of the network storage system that are outside said processing system. - View Dependent Claims (17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A system comprising:
-
a network endpoint in a network storage system that includes a storage server and a storage client, the network endpoint being either the storage server or the storage client; and scheduling means for scheduling storage operations in the network storage system by applying a bid-price auction model, wherein bid values and price values are dynamically set by the storage client and the storage server, respectively, based on utilization of computing resources of the storage client and the storage server. - View Dependent Claims (27, 28, 29, 30)
-
Specification