System and method for managing application performance

US2016119443A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2016119443-A1
Application numberUS-201414521602-A
CountryUS
Kind codeA1
Filing dateOct 23, 2014
Priority dateOct 23, 2014
Publication dateApr 28, 2016
Grant date

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.

A system and method for managing application performance includes a storage controller including a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of managing application performance and a processor coupled to the memory. The processor is configured to execute the machine executable code to receive storage requests from a plurality of first applications via a network interface, manage QoS settings for the storage controller and the first applications, and in response to receiving an accelerate command associated with a second application from the first applications, increase a first share of a storage resource allocated to the second application, decrease unlocked second shares of the storage resource of the first applications, and lock the first share. The storage resource is a request queue or a first cache. In some embodiments, the second application is a throughput application or a latency application.

First claim

Opening claim text (preview).

What is claimed is: 1 . A storage controller comprising: a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of managing application performance; a processor coupled to the memory, the processor configured to execute the machine executable code to: receive storage requests from a plurality of first applications via a network interface; manage QoS settings for the storage controller and the first applications; and in response to receiving an accelerate command associated with a second application from the first applications, increase a first share of a storage resource allocated to the second application, decrease unlocked second shares of the storage resource of the first applications, and lock the first share, wherein the storage resource includes a request queue or a first cache. 2 . The storage controller of claim 1 , wherein in response to determining that values for the first share and the second shares are not previously set, the processor further determines, prior to increasing the first share or decreasing the unlocked second shares, initial values for the first and second shares of the storage resource based on current usage of the storage resource by the first applications. 3 . The storage controller of claim 1 , wherein in response to determining that the second application is classified as a throughput application, the storage resource is the request queue. 4 . The storage controller of claim 3 , wherein the processor further informs an I/O scheduler of the increased first share and the decreased unlocked second shares, the I/O scheduler managing the request queue. 5 . The storage controller of claim 1 , wherein in response to determining that the second application is classified as a latency application, the storage resource is the first cache and the first and second shares are shares of the first cache assigned to the second application. 6 . The storage controller of claim 5 , wherein the processor further informs a cache allocator of the increased first share and the decreased unlocked second shares, the cache allocator managing the first cache. 7 . The storage controller of claim 5 , wherein the processor further decreases a latency target for the second application. 8 . The storage controller of claim 7 , wherein in response to determining that the decreased latency target is below a threshold, the processor further: releases the first share of the first cache assigned to the second application; allocates a share of a second cache as the first share, the second cache being faster than the first cache; and decreases the unlocked second shares of the second cache associated with the first applications. 9 . The storage controller of claim 1 , wherein the amount the first share is increased is based on a percentage associated with the performance command. 10 . The storage controller of claim 1 , wherein a sum of the decreases in the second shares is equal to an amount the first share is increased. 11 . The storage controller of claim 1 , wherein each of the unlocked second shares is decreased an equal amount. 12 . The storage controller of claim 1 , wherein each of the unlocked second shares is decreased a prorated amount based on respective amounts of the unlocked second shares. 13 . The storage controller of claim 1 wherein in response to receiving a maintain command associated with a third application from the first applications, the processor locks a third share of the storage resource allocated to the third application. 14 . The storage controller of claim 1 , wherein in response to receiving a release command associated with a third application from the first applications, the processor unlocks a third share of the storage resource allocated to the third application. 15 . The storage controller of claim 14 , wherein in response to determining that the third share is a last share to be unlocked, the processor further releases the first, second, and third shares of the storage resource. 16 . A method comprising: receiving, by a quality of service (QoS) controller in a storage server, performance commands, each of the performance commands being associated with a respective application from a plurality of first applications using a storage system; in response to receiving a first one of the performance commands that is an accelerate command associated with a second application from the first applications: increasing a first share of a storage resource allocated to the second application, the storage resource comprising a request queue or a first cache; decreasing unlocked second shares of the storage resource of the first applications; and locking the first share. 17 . The method of claim 16 , further comprising: determining whether values for the first share and the second shares are previously set; and in response to determining that the values for the first share and the second shares are not previously set, determining, prior to increasing the first share or decreasing the unlocked second shares, initial values for the first and second shares of the storage resource based on current usage of the storage resource by the second applications. 18 . The method of claim 16 , further comprising in response to determining that the second application is classified as a throughput application: determining the request queue as the storage resource; and informing an I/O scheduler of the increased first share and the decreased unlocked second shares, the I/O scheduler managing the request queue. 19 . The method of claim 16 , further comprising in response to determining that the second application is classified as a latency application: determining the first cache as the storage resource; determining, as the first and second shares, respective shares of the first cache, the first cache being assigned to the second application; informing a cache allocator of the increased first share and the decreased unlocked second shares, the cache allocator managing the first cache; decreasing a latency target for the second application; and in response to determining that the decreased latency target is below a threshold: releasing the first share of the first cache assigned to the second application; allocating a share of a second cache as the first share, the second cache being faster than the first cache; and decreasing the unlocked second shares of the second cache associated with the second applications. 20 . A non-transitory machine-readable medium having stored thereon instructions for performing a method of managing application performance, comprising machine executable code which when executed by at least one machine, causes the machine to: receive performance commands, each of the performance commands being associated with a respective application from a plurality of first applications using a storage system; in response to receiving a first one of the performance commands that is an accelerate command associated with a second application from the first applications: increase a first amount of a request queue or a cache allocated to the second application; decrease unlocked second amounts of the request queue or cache of the first applications; and lock the first amount.

Assignees

Inventors

Classifications

  • Architectures of resource allocation · CPC title

  • Threshold monitoring · CPC title

  • Electricity · mapped topic

  • Traffic characterised by specific attributes, e.g. priority or QoS · CPC title

  • for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS] · 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 US2016119443A1 cover?
A system and method for managing application performance includes a storage controller including a memory containing machine readable medium comprising machine executable code having stored thereon instructions for performing a method of managing application performance and a processor coupled to the memory. The processor is configured to execute the machine executable code to receive storage r…
Who is the assignee on this patent?
Netapp Inc
What technology area does this patent fall under?
Primary CPC classification H04L67/2842. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Apr 28 2016 00:00:00 GMT+0000 (Coordinated Universal Time) (A1). 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).