Cloud storage platform providing performance-based service level agreements

US2017324813A1 · US · A1

Patent metadata
FieldValue
Publication numberUS-2017324813-A1
Application numberUS-201615148923-A
CountryUS
Kind codeA1
Filing dateMay 6, 2016
Priority dateMay 6, 2016
Publication dateNov 9, 2017
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 performance-based storage service level agreement (SLA) can be established that specifies one or more storage performance parameters. A storage allocation process can include receiving a request for a storage SLA that specifies one or more storage performance parameters, determining, for a virtual machine (VM) and based at least in part on the one or more storage performance parameters in the storage SLA: (i) a storage location among a set of candidate storage locations, and (ii) an amount of storage to allocate. The amount of storage can then be allocated at the storage location for the VM to use in making storage requests. Runtime enforcement of the storage SLA can utilize a scheduling mechanism that buffers individual storage requests into different queues that are used for meeting one or more storage performance requirements specified in storage SLA.

First claim

Opening claim text (preview).

What is claimed is: 1 . A computer-implemented method comprising: receiving a request for a storage service level agreement (SLA) that specifies one or more storage performance parameters; determining, for a virtual machine (VM) and based at least in part on the one or more storage performance parameters in the storage SLA: a storage location among a set of candidate storage locations; and an amount of storage to allocate; and allocating the amount of storage at the storage location for the VM to use in making storage requests. 2 . The computer-implemented method of claim 1 , wherein determining the storage location based at least in part on the one or more storage performance parameters in the storage SLA comprises determining the storage location by referencing a mapping between storage locations and SLA storage performance parameters. 3 . The computer-implemented method of claim 1 , further comprising: receiving a first storage request from the VM and a second storage request from another VM; and scheduling the first storage request and the second storage request in terms of an order of sending or receiving the first and the second storage requests and respective times when the first and the second storage requests are to be sent or received, the scheduling being based at least in part on the storage SLA associated with the first storage request and another storage SLA associated with the second storage request. 4 . The computer-implemented method of claim 1 , wherein the one or more performance parameters in the storage SLA comprise a latency parameter that defines a maximum latency for an individual storage request to complete. 5 . The computer-implemented method of claim 1 , wherein the one or more performance parameters in the storage SLA comprise an object size parameter that defines a maximum size of an object for an individual storage request. 6 . The computer-implemented method of claim 1 , wherein the one or more performance parameters in the storage SLA comprise an input/output (I/O) operations parameter that defines a minimum number of I/O operations per second. 7 . The computer-implemented method of claim 1 , wherein the one or more performance parameters in the storage SLA comprise a throughput parameter that defines a minimum bitrate for an individual storage request. 8 . The computer-implemented method of claim 1 , wherein the storage SLA further specifies one or more temporal components including a first peak time associated with a first storage performance parameter and a second peak time associated with a second storage performance parameter. 9 . The computer-implemented method of claim 1 , wherein: the storage requests comprise read requests and write requests; and the storage SLA specifies: a first latency parameter that defines a first maximum latency for an individual read request to complete; and a second latency parameter that defines a second maximum latency for an individual write request to complete, wherein the second maximum latency is different than the first maximum latency. 10 . A system comprising: one or more processors; and memory storing computer-executable instructions that, when executed by the one or more processers, cause the one or more processors to perform operations comprising: receiving a request for a storage service level agreement (SLA) that specifies one or more storage performance parameters; determining, for a virtual machine (VM) and based at least in part on the one or more storage performance parameters in the storage SLA: a storage location among a set of candidate storage locations; and an amount of storage to allocate; and allocating the amount of storage at the storage location for the VM to use in making read requests and write requests. 11 . The system of claim 10 , the operations further comprising, prior to receiving the request for the storage SLA, outputting an interface providing storage SLA choices for selection, the storage SLA choices including the storage SLA that specifies the one or more storage performance parameters. 12 . The system of claim 10 , the operations further comprising: receiving a storage request from the VM; and scheduling the storage request based at least in part on the storage SLA. 13 . The system of claim 12 , wherein scheduling the storage request based at least in part on the storage SLA comprises: associating the storage request with the storage SLA; and placing the storage request in a queue in order to meet an input/output (I/O) operations parameter specified in the storage SLA. 14 . The system of claim 12 , wherein scheduling the storage request based at least in part on the storage SLA comprises: associating the storage request with the storage SLA; and placing the storage request in an inbound queue among multiple inbound queues associated with respective storage performance parameter value ranges. 15 . The system of claim 14 , wherein the respective storage performance parameter value ranges comprise respective ranges of latency values. 16 . One or more computer-readable storage media storing instructions that, when executed by one or more processors, perform operations comprising: receiving a request for a storage service level agreement (SLA) that specifies one or more storage performance parameters; determining, for a virtual machine (VM) and based at least in part on the one or more storage performance parameters in the storage SLA: a storage location among a set of candidate storage locations; and an amount of storage to allocate; and allocating the amount of storage at the storage location for the VM to use in making read requests and write requests. 17 . The computer-readable storage media of claim 16 , the operations further comprising: evaluating the amount of storage allocated at the storage location for the VM based on a total SLA penalty for a plurality of tenants of a distributed multi-tenancy system; determining, in order to reduce the total SLA penalty: a new storage location among a current set of candidate storage locations; and a new amount of storage to allocate; and allocating the new amount of storage at the new storage location for the VM to use in making the read requests and the write requests. 18 . The computer-readable storage media of claim 16 , the operations further comprising: evaluating the amount of storage allocated at the storage location for the VM based on a total SLA penalty for a plurality of tenants of a distributed multi-tenancy system; performing a cost-benefit analysis to determine an extent to which resources of the distributed multi-tenancy system are to be reduced; determining, based on the cost-benefit analysis, that the resources are to be reduced by a first amount that does not increase the total SLA penalty or a second amount that increases the total SLA penalty; and reducing the resources by the first amount or the second amount. 19 . The computer-readable storage media of claim 16 , wherein the one or more performance parameters in the storage SLA comprise a latency parameter that defines a maximum latency for an individual read request to complete or an individual write request to complete. 20 . The computer-readable storage media of claim 16 , wherein the storage SLA specifies: a first latency parameter that defines a first maximum latency for an individual read request to complete; and a second latency parameter that defines a second maximum latency for an ind

Assignees

Inventors

Classifications

  • the resource being the memory · CPC title

  • Determining service level performance parameters or violations of service level contracts, e.g. violations of agreed response time or mean time between failures [MTBF] · CPC title

  • Logical partitioning of resources; Management or configuration of virtualized resources (specific details on emulation or internal functioning of virtual machines G06F9/455) · 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

  • G06F9/455Primary

    Emulation; Interpretation; Software simulation, e.g. virtualisation or emulation of application or operating system execution engines · 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 US2017324813A1 cover?
A performance-based storage service level agreement (SLA) can be established that specifies one or more storage performance parameters. A storage allocation process can include receiving a request for a storage SLA that specifies one or more storage performance parameters, determining, for a virtual machine (VM) and based at least in part on the one or more storage performance parameters in the…
Who is the assignee on this patent?
Microsoft Technology Licensing Llc
What technology area does this patent fall under?
Primary CPC classification H04L67/1097. Mapped technology areas include Electricity.
When was this patent published?
Publication date Thu Nov 09 2017 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 4 related publications on this page (citations in our corpus or others sharing the same primary CPC).