STORAGE-SIDE STORAGE REQUEST MANAGEMENT
First Claim
1. A method comprising:
- receiving, at a storage system, input/output (I/O) requests to read data from or write data to one or more storage devices, the I/O requests including physical characteristics that indicate locations within the one or more storage devices of the data to be read or written;
queuing, within the storage system, a plurality of the I/O requests received by the storage system;
when the storage system is ready to process a pending I/O request that has been queued in the storage system, a storage server within the storage system selecting, from the queued plurality of the I/O requests, a particular I/O request to process based, at least in part, on one or more logical characteristics associated with particular I/O requests in the plurality of the I/O requests;
wherein the one or more logical characteristics are not the physical characteristics;
wherein the one or more logical characteristics include, for at least a first I/O request of the particular I/O requests, an indication of at least one of;
a database name associated with the first I/O request;
a workload type, the workload type categorizing work, performed by a first I/O requestor, for which the first I/O requestor issued the first I/O request;
a user name associated with a communication session responsive to which the first I/O requestor issued the first I/O request;
processing the particular I/O request in response to the storage server selecting the particular I/O request by reading data from or writing data to a location indicated by particular physical characteristics included in the particular I/O request;
wherein the method is performed by one or more computing devices.
0 Assignments
0 Petitions
Accused Products
Abstract
Techniques are provided for managing, within a storage system, the sequence in which I/O requests are processed by the storage system based, at least in part, on one or more logical characteristics of the I/O requests. The logical characteristics may include, for example, the identity of the user for whom the I/O request was submitted, the service that submitted the I/O request, the database targeted by the I/O request, an indication of a consumer group to which the I/O request maps, the reason why the I/O request was issued, a priority category of the I/O request, etc. Techniques are also provided for automatically establishing a scheduling policy within a storage system, and for dynamically changing the scheduling policy in response to changes in workload.
-
Citations
50 Claims
-
1. A method comprising:
-
receiving, at a storage system, input/output (I/O) requests to read data from or write data to one or more storage devices, the I/O requests including physical characteristics that indicate locations within the one or more storage devices of the data to be read or written; queuing, within the storage system, a plurality of the I/O requests received by the storage system; when the storage system is ready to process a pending I/O request that has been queued in the storage system, a storage server within the storage system selecting, from the queued plurality of the I/O requests, a particular I/O request to process based, at least in part, on one or more logical characteristics associated with particular I/O requests in the plurality of the I/O requests; wherein the one or more logical characteristics are not the physical characteristics; wherein the one or more logical characteristics include, for at least a first I/O request of the particular I/O requests, an indication of at least one of; a database name associated with the first I/O request; a workload type, the workload type categorizing work, performed by a first I/O requestor, for which the first I/O requestor issued the first I/O request; a user name associated with a communication session responsive to which the first I/O requestor issued the first I/O request; processing the particular I/O request in response to the storage server selecting the particular I/O request by reading data from or writing data to a location indicated by particular physical characteristics included in the particular I/O request; wherein the method is performed by one or more computing devices. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 15)
-
-
14. The method of claim 14, further comprising:
-
receiving a mapping of workload types to groups; grouping the plurality of I/O requests into a plurality of groups based on the mapping; selecting the particular I/O request to process based on the particular I/O request belonging to a first group of the plurality of groups. - View Dependent Claims (16)
-
-
17. A method comprising:
-
receiving, at a storage system, from one or more database servers, input/output (I/O) requests to read data from or write data to one or more storage devices; wherein the one or more storage devices store at least some data that logically resides in each of a plurality of databases; queuing, within the storage system, a plurality of the I/O requests; when the storage system is ready to process a queued I/O request, a storage server within the storage system selecting which queued I/O request to process based on at least a first policy; wherein the first policy distinguishes between I/O requests in part based on the databases to which the data involved in the I/O requests logically belong; processing the queued I/O request that is selected based on the policy; wherein the method is performed by one or more computing devices. - View Dependent Claims (18, 19, 20)
-
-
21. A method comprising:
-
receiving, at a storage system, from a database server, input/output (I/O) requests to read data from or write data to one or more storage devices; queuing, within the storage system, a plurality of the I/O requests; grouping the plurality of I/O requests into one or more groups based on one or more logical characteristics associated with particular I/O requests in the plurality of the I/O requests; receiving, at the storage system, one or more selection policies from the database server, the one or more selection policies specifying one or more ratios for the one or more groups; when the storage system is ready to process a pending I/O request that has been queued in the storage system, a storage server within the storage system selecting, from the queued plurality of the I/O requests, a particular I/O request to process based, at least in part, on the one or more ratios and the group to which the particular I/O request belongs; processing the particular I/O request in response to the storage server selecting the particular I/O request; wherein the method is performed by one or more computing devices. - View Dependent Claims (22, 23, 24, 25)
-
-
26. One or more non-transitory computer-readable media storing instructions which, when executed by one or more computing devices, cause:
-
receiving, at a storage system, input/output (I/O) requests to read data from or write data to one or more storage devices, the I/O requests including physical characteristics that indicate locations within the one or more storage devices of the data to be read or written; queuing, within the storage system, a plurality of the I/O requests received by the storage system; when the storage system is ready to process a pending I/O request that has been queued in the storage system, a storage server within the storage system selecting, from the queued plurality of the I/O requests, a particular I/O request to process based, at least in part, on one or more logical characteristics associated with particular I/O requests in the plurality of the I/O requests; wherein the one or more logical characteristics are not the physical characteristics; wherein the one or more logical characteristics include, for at least a first I/O request of the particular I/O requests, an indication of at least one of; a database name associated with the first I/O request; a workload type, the workload type categorizing work, performed by a first I/O requestor, for which the first I/O requestor issued the first I/O request; a user name associated with a communication session responsive to which the first I/O requestor issued the first I/O request; processing the particular I/O request in response to the storage server selecting the particular I/O request by reading data from or writing data to a location indicated by particular physical characteristics included in the particular I/O request; wherein the method is performed by one or more computing devices. - View Dependent Claims (27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 40)
-
-
39. The one or more non-transitory computer-readable media of claim 39, wherein the instructions, when executed by the one or more computing devices, further cause:
-
receiving a mapping of workload types to groups; grouping the plurality of I/O requests into a plurality of groups based on the mapping; selecting the particular I/O request to process based on the particular I/O request belonging to a first group of the plurality of groups. - View Dependent Claims (41)
-
-
42. One or more non-transitory computer-readable media storing instructions which, when executed by one or more computing devices, cause:
-
receiving, at a storage system, from one or more database servers, input/output (I/O) requests to read data from or write data to one or more storage devices; wherein the one or more storage devices store at least some data that logically resides in each of a plurality of databases; queuing, within the storage system, a plurality of the I/O requests; when the storage system is ready to process a queued I/O request, a storage server within the storage system selecting which queued I/O request to process based on at least a first policy; wherein the first policy distinguishes between I/O requests in part based on the databases to which the data involved in the I/O requests logically belong; processing the queued I/O request that is selected based on the policy; wherein the method is performed by one or more computing devices. - View Dependent Claims (43, 44, 45)
-
-
46. One or more non-transitory computer-readable media storing instructions which, when executed by one or more computing devices, cause:
-
receiving, at a storage system, from a database server, input/output (I/O) requests to read data from or write data to one or more storage devices; queuing, within the storage system, a plurality of the I/O requests; grouping the plurality of I/O requests into one or more groups based on one or more logical characteristics associated with particular I/O requests in the plurality of the I/O requests; receiving, at the storage system, one or more selection policies from the database server, the one or more selection policies specifying one or more ratios for the one or more groups; when the storage system is ready to process a pending I/O request that has been queued in the storage system, a storage server within the storage system selecting, from the queued plurality of the I/O requests, a particular I/O request to process based, at least in part, on the one or more ratios and the group to which the particular I/O request belongs; processing the particular I/O request in response to the storage server selecting the particular I/O request; wherein the method is performed by one or more computing devices. - View Dependent Claims (47, 48, 49, 50)
-
Specification