METHODS AND DEVICES FOR DETERMINING QUALITY OF SERVICES OF STORAGE SYSTEMS
First Claim
Patent Images
1. A method for providing access to a storage system, the method comprising:
- (a) receiving a plurality of requests from a plurality of applications for access to the storage system;
(b) assigning each application to one of a plurality of queues;
(c) calculating an initial quanta for each queue;
(d) selecting a first queue to access the storage system so that a request from the first queue can be serviced by the storage system;
(e) calculating a subsequent quanta for the first queue after the request from the first queue has been serviced by the storage system;
(f) determining if the subsequent quanta for the first queue is greater than or less than a predetermined value;
(g) selecting the first queue to access the storage system if the subsequent quanta for the first queue is greater than the predetermined value, so that a subsequent request from the first queue can be serviced by the storage system; and
(h) selecting a second queue to access the storage system if the subsequent quanta for the first queue is less than the predetermined value, so that a request from the second queue can be serviced by the storage system.
2 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems for allowing access to computer storage systems. Multiple requests from multiple applications can be received and processed efficiently to allow traffic from multiple customers to access the storage system concurrently.
79 Citations
22 Claims
-
1. A method for providing access to a storage system, the method comprising:
-
(a) receiving a plurality of requests from a plurality of applications for access to the storage system; (b) assigning each application to one of a plurality of queues; (c) calculating an initial quanta for each queue; (d) selecting a first queue to access the storage system so that a request from the first queue can be serviced by the storage system; (e) calculating a subsequent quanta for the first queue after the request from the first queue has been serviced by the storage system; (f) determining if the subsequent quanta for the first queue is greater than or less than a predetermined value; (g) selecting the first queue to access the storage system if the subsequent quanta for the first queue is greater than the predetermined value, so that a subsequent request from the first queue can be serviced by the storage system; and (h) selecting a second queue to access the storage system if the subsequent quanta for the first queue is less than the predetermined value, so that a request from the second queue can be serviced by the storage system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method comprising:
-
receiving a plurality of requests for access to the storage system; receiving a plurality of priorities for each of the requesting applications; calculating a quanta for each of a plurality of queues; selecting a queue to access the storage system; calculating the quanta left after the selected queue accesses the storage system; selecting a next queue for access to storage; and utilizing a virtual input/output scheduler and a plurality of application-dependent schedulers to allocate a first portion of the available service time to the first request and to allocate a second portion of the available service time to the second request. - View Dependent Claims (13, 14, 15, 16)
-
-
17. A method comprising:
-
receiving a plurality of requests from a plurality of applications for access to the storage system; receiving a plurality of weights for each of the requesting applications; assigning each application to one of a plurality of queues; receiving from a first application a first request for storage access to a storage system; receiving from a second application a second request for storage access to the storage system; determining a bandwidth of the storage system; determining a size for the first request; determining a size for the second request; determining a service time to satisfy the first request; determining a service time to satisfy second request; allocating a first portion of bandwidth to the first request; and allocating a second portion of the bandwidth to the second request; where the allocating of the first and second portions of bandwidth are based on the determined sizes and service times. - View Dependent Claims (18, 19, 20, 21, 22)
-
Specification