Quality of Service Management in a Distributed Storage System
US-2022075527-A1 · Mar 10, 2022 · US
US11747997B2 · US · B2
| Field | Value |
|---|---|
| Publication number | US-11747997-B2 |
| Application number | US-202117237120-A |
| Country | US |
| Kind code | B2 |
| Filing date | Apr 22, 2021 |
| Priority date | Apr 22, 2021 |
| Publication date | Sep 5, 2023 |
| Grant date | Sep 5, 2023 |
A practical reading order for non-experts. Skip the full description unless you need deep technical detail.
What the patent document calls the invention.
A short plain-language summary of the technical disclosure.
Who owns or filed the patent and who is credited as inventor.
Filing, priority, publication, and grant dates set the timeline.
The legal scope of protection — read this for what is actually claimed.
Technology tags used to group this patent with similar filings.
Prior art links and similar publications in this corpus.
Official abstract text for this publication.
A Software Defined Network Attached Storage (SDNAS) executes on a storage system to provide access to shared file systems, referred to as “shares”, on the storage system. Users access the shares using protocol clients. To enable the SDNAS to provide differentiated prioritization between the various shares, a share priority table is maintained by the SDNAS. As shares are created, or optionally after the shares have been created, each share is assigned a share priority which is stored in the share priority table. When an IO operation is received from a protocol client on a share, the SDNAS process determines a share priority value of the share from the share priority table. The share priority value is used to specify an IO priority which used by the operating system scheduling mechanism to schedule the IO operation and to establish a CPU priority for the IO operation.
Opening claim text (preview).
What is claimed is: 1. A non-transitory tangible computer readable storage medium having stored thereon a computer program for implementing a method of providing differentiated share prioritization in a storage system, the computer program including a set of instructions which, when executed by a computer, cause the computer to perform a method comprising the steps of: instantiating a Software Defined Network Attached Storage (SDNAS) process on a storage system, the storage system having an operating system configured to receive share access requests from the SDNAS process, retrieve data from physical storage resources in response to the share access requests from the SDNAS process, and return the data to the SDNAS process; exposing shares by the SDNAS process to protocol clients; maintaining a share priority table, by the SDNAS process, the share priority table correlating share priority values with the exposed shares, wherein the share priority values include a plurality of different share priority values; receiving share access requests, by the SDNAS process, from protocol clients on the shares exposed by the SDNAS process; determining a respective share priority value associated with each respective share access request, by the SDNAS process, from the share priority table; determining a respective operating system IO priority value from the determined respective share priority value; determining a respective CPU scheduling priority value from the determined respective share priority value; adding the determined respective operating system IO priority value and CPU scheduling priority value to each respective share access request, by the SDNAS process, prior to passing the respective share access request to the operating system of the storage system; and passing each respective share access request from the SDNAS process to the operating system of the storage system, each respective share access request including the respective operating system IO priority value and the respective CPU scheduling priority value to specify the priority to be used by the operating system to prioritize implementation of the respective share access request relative to other storage access operations in connection with retrieving data associated with the respective share access request from the physical storage resources and returning the data associated with the respective share access request to the SDNAS process; and responding to the share access requests, by the SDNAS process, by forwarding the returned data associated with the respective share access requests to the protocol clients. 2. The non-transitory tangible computer readable storage medium of claim 1 , further comprising implementing each respective share access request, by the operating system on the storage system. 3. The non-transitory tangible computer readable storage medium of claim 2 , wherein the step of implementing each respective share access request comprises using the respective operating system IO priority value and the respective CPU scheduling priority value, by a scheduling mechanism of the operating system, to set a priority of scheduling of the respective share access request relative to the other storage access operations and to determine a CPU assignment to a thread associated with the respective share access request. 4. The non-transitory tangible computer readable storage medium of claim 3 , wherein the respective operating system IO priority value is specific to the respective share access request and configured to be used by the operating system to prioritize IO operations for execution on the storage system. 5. The non-transitory tangible computer readable storage medium of claim 3 , wherein the respective CPU scheduling priority value is specific to the respective share access request and configured to adjust an amount of CPU cycles provided to a thread assigned to implement the respective share access request on the CPU. 6. The non-transitory tangible computer readable storage medium of claim 1 , further comprising receiving the share priority values, by the SDNAS process, from a share management system. 7. The non-transitory tangible computer readable storage medium of claim 6 , wherein receiving the share priority values comprises differentiating between share management system privileges by restricting share priority value ranges according to the share management system privileges. 8. The non-transitory tangible computer readable storage medium of claim 7 , wherein differentiating between share management system privileges comprises providing higher share priority value ranges to enable higher share management system privileges with access to higher share priority values. 9. The non-transitory tangible computer readable storage medium of claim 7 , wherein differentiating between share management system privileges comprises providing only lower share priority value ranges to restrict lower share management system privileges to accessing only the lower share priority values. 10. The non-transitory tangible computer readable storage medium of claim 6 , wherein receiving the share priority values comprises differentiating between share management system user privileges by allocating share priority value ranges according to share management user share access subscription levels. 11. A method of providing differentiated share prioritization in a storage system comprising the steps of: instantiating a Software Defined Network Attached Storage (SDNAS) process on a storage system, the storage system having an operating system configured to receive share access requests from the SDNAS process, retrieve data from physical storage resources in response to the share access requests from the SDNAS process, and return the data to the SDNAS process; exposing shares by the SDNAS process to protocol clients; maintaining a share priority table, by the SDNAS process, the share priority table correlating share priority values with the exposed shares, wherein the share priority values include a plurality of different share priority values; receiving share access requests, by the SDNAS process, from protocol clients on the shares exposed by the SDNAS process; determining a respective share priority value associated with each respective share access request, by the SDNAS process, from the share priority table; determining a respective operating system IO priority value from the determined respective share priority value; determining a respective CPU scheduling priority value from the determined respective share priority value; adding the determined respective operating system IO priority value and CPU scheduling priority value to each respective share access request, by the SDNAS process, prior to passing the respective share access request to the operating system of the storage system; and passing each respective share access request from the SDNAS process to the operating system of the storage system, each respective share access request including the respective operating system IO priority value and the respective CPU scheduling priority value to specify the priority to be used by the operating system to prioritize implementation of the respective share access request relative to other storage access operations in connection with retrieving data associated with the respective share access request from the physical storage resources and returning the data associated with the respective share access request to the SDNAS process; and responding to the share access requests, by the SDNAS process, by forwarding the returned data associated with the respective share access requests to the protocol clients. 12. The method
in relation to access · CPC title
Distributed or networked storage systems, e.g. storage area networks [SAN], network attached storage [NAS] · CPC title
Vertical data movement, i.e. input-output transfer; data movement between one or more hosts and one or more storage devices · CPC title
Improving I/O performance · CPC title
Command handling arrangements, e.g. command buffers, queues, command scheduling · CPC title
Related publications grouped by family.
Answers are generated from the same data shown on this page.