Policy based input/output dispatcher

US9304951B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9304951-B1
Application numberUS-201213449491-A
CountryUS
Kind codeB1
Filing dateApr 18, 2012
Priority dateApr 18, 2011
Publication dateApr 5, 2016
Grant dateApr 5, 2016

How to read this patent

A practical reading order for non-experts. Skip the full description unless you need deep technical detail.

  1. Title

    What the patent document calls the invention.

  2. Abstract

    A short plain-language summary of the technical disclosure.

  3. Assignees and inventors

    Who owns or filed the patent and who is credited as inventor.

  4. Key dates

    Filing, priority, publication, and grant dates set the timeline.

  5. First independent claim

    The legal scope of protection — read this for what is actually claimed.

  6. CPC / IPC classifications

    Technology tags used to group this patent with similar filings.

  7. Citations and related patents

    Prior art links and similar publications in this corpus.

Abstract

Official abstract text for this publication.

Disclosed is a policy-based I/O dispatcher that intercepts I/O requests from several individual volumes made to a shared storage system (such as a RAID array) and manages these I/O requests so that no single volume monopolizes the I/O bandwidth and excludes the other volumes from timely completing their own I/O requests. Also disclosed are a plurality of attributes that may be assigned to each volume sharing a disk array to effectively manage the sharing of the disk array among the volumes. The I/O policy manager may handle I/O requests from several sources including volume-based iSCSI I/O requests as well as the file-share-based XFS I/O requests.

First claim

Opening claim text (preview).

What is claimed is: 1. A method for managing I/O operations in a shared storage system, the method comprising: by a logical volume manager module, managing plurality of individual volumes backed by a RAID array comprising a RAID controller and a plurality of physical disks, wherein the logical volume manager is configured to process I/O requests sent from the plurality of individual volumes; by a Policy-Based I/O module which resides in the stack between the plurality of individual volumes and the logical volume manager, intercepting, requests sent from the plurality of individual volumes to the logical volume manager for processing on the RAID array; and by the Policy-Based I/O module, assigning a maximum throughput perform attribute and a target latency performance attribute to each volume of the plurality of individual volumes; by the Policy-Based I/O module, regulating processing of the I/O requests between each of the plurality of individual volumes and the to logical volume manager in accordance with the I/O attributed assigned to each volume, wherein regulating processing of the I/O requests comprises: the Policy-Based I/O dispatcher determining for each volume of the plurality of volumes whether a throughput of the volume exceeds the assigned maximum throughput performance attribute of the volume, and if the assigned throughput performance attribute of the volume is not exceeded, the Policy-Based I/O dispatcher then forwards intercepted I/O requests of the volume to the logical volume manager for processing on the RAID array; and if the assigned maximum throughput performance attribute of the volume is exceeded, the Policy-Based I/O dispatcher then determines whether a latency of the volume exceeds the assigned target latency performance attribute of the volume, if the assigned target latency of the volume is not exceeded, then, instead of forwarding intercepted I/O requests to the logical volume manager, the Policy-Based I/O dispatcher module caches intercepted I/O requests of the volume until the throughput of the volume longer exceeds the assigned maximum throughput performance attribute of the volume; and if the assigned target latency of the volume is exceeded and the assigned maximum throughput performance attribute of the volume is exceeded, then, instead of caching intercepted I/O requests, the Policy-Based I/O dispatcher forwards intercepted I/O requests of the volume to the volume manager for processing of the I/O on the RAID array while temporarily allowing the throughput of the volume to exceed the assigned maximum throughput performance attribute of the volume until the latency of the volume no longer exceeds the target latency performance attribute set for the volume. 2. The method of claim 1 , wherein the assigned throughput performance attribute includes at least one from the group comprising a maximum read data rate, a maximum write data rate, a maximum number of read operations per second, and a maximum number of write operations per second, and wherein the assigned latency performance attributes includes at least one from the group comprising a target average read latency and a target average write latency. 3. A storage system computer for managing I/O operations in a shared storage system, comprising: a processor; a memory communicatively connected to the processor; a logical volume manager module that manages a plurality of individual volumes backed by a RAID array comprising a RAID controller and a plurality of physical disks, wherein the logical volume manager is configured to process I/O requests sent from the plurality of individual volumes; and a Policy-Based I/O dispatcher module which resides in the stack between the plurality of individual volumes and the logical volume manager to intercept I/O requests sent from the plurality of individual volumes to the logical volume manager for processing on the RAID array, wherein the Policy-Based I/O dispatcher module is configured to: assign, to each volume of the plurality of individual volumes, a maximum throughput perform attribute and a target latency performance attribute; and regulate processing of the I/O requests between each of the plurality of individual volumes and the logical volume manager in accordance with the I/O attributed assigned to each volume; wherein regulating processing of the I/O requests comprises: the Policy-Based I/O dispatcher determining for each volume of the plurality of volumes whether a throughput of the volume exceeds the assigned maximum throughput performance attribute of the volume, and if the assigned throughput performance attribute of the volume is not exceeded, the Policy-Based I/O dispatcher then forwards intercepted I/O requests of the volume to the logical volume manager for processing on the RAID array; and if the assigned maximum throughput performance attribute of the volume is exceeded, the Policy-Based I/O dispatcher then determines whether a latency of the volume exceeds the assigned target latency performance attribute of the volume, if the assigned target latency of the volume is not exceeded, then, instead of forwarding intercepted I/O requests to the logical volume manager, the Policy-Based I/O dispatcher module caches intercepted I/O requests of the volume until the throughput of the volume no toner exceeds the assigned maximum throughput performance attribute of the volume; and if the assigned target latency of the volume is exceeded and the assigned maximum throughput performance attribute of the volume is exceeded, then, instead of caching intercepted I/O requests, the Policy-Based I/O dispatcher forwards intercepted I/O requests of the volume to the volume manager module for processing of the I/O on the RAID array while temporarily allowing the throughput of the volume to exceed the assigned maximum throughput performance attribute set of the volume until the latency of the volume no longer exceeds the assigned target latency performance attribute of the volume. 4. The storage system computer of claim 3 , wherein the assigned throughput performance attribute includes at least one from the group comprising a maximum read data rate, a maximum write data rate, a maximum number of read operations per second, and a maximum number of write operations per second, and wherein the assigned latency performance attributes includes at least one from the group comprising a target average read latency and a target average write latency.

Assignees

Inventors

Classifications

  • for load management (allocation of a server based on load conditions G06F9/505; load rebalancing G06F9/5083; redistributing the load in a network by a load balancer H04L67/1029) · CPC title

  • Improving I/O performance · CPC title

  • for I/O devices · CPC title

  • by changing the path, e.g. traffic rerouting, path reconfiguration · CPC title

  • G06F13/161Primary

    with latency improvement · CPC title

Patent family

Related publications grouped by family.

External sources

Frequently asked questions

Answers are generated from the same data shown on this page.

What does patent US9304951B1 cover?
Disclosed is a policy-based I/O dispatcher that intercepts I/O requests from several individual volumes made to a shared storage system (such as a RAID array) and manages these I/O requests so that no single volume monopolizes the I/O bandwidth and excludes the other volumes from timely completing their own I/O requests. Also disclosed are a plurality of attributes that may be assigned to each …
Who is the assignee on this patent?
Subramanian Srikumar, Gopalakrishnan Sankarji, Ranganathan Loganathan, and 2 more
What technology area does this patent fall under?
Primary CPC classification G06F13/161. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Apr 05 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (B1). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).