Storage system providing hierarchical levels of storage functions using virtual machines

US9430342B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9430342-B1
Application numberUS-62887709-A
CountryUS
Kind codeB1
Filing dateDec 1, 2009
Priority dateDec 1, 2009
Publication dateAug 30, 2016
Grant dateAug 30, 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.

Described herein is a storage system having hierarchical levels of storage functions. The storage system may comprise one or more hierarchical levels, each hierarchical level comprising a server pool of one or more physical servers. Each hierarchical level may be assigned to perform a particular set of storage functions. Each physical server may implement one or more VMs, each VM executing a storage operating system that provides an overall set of storage functions. Each VM is configured to perform only the set of storage functions assigned to the hierarchical level on which the VM executes. The set of storage functions assigned to a VM may comprise a sub-set of the overall storage functions of the storage operating system. In some embodiments, VMs of a first hierarchical level provide storage transaction functions and VMs of a second hierarchical level provide storage access functions.

First claim

Opening claim text (preview).

I claim: 1. A method comprising: obtaining, by one server of a plurality of servers, hierarchy configuration parameters comprising a total number of the plurality of servers and a number of storage transaction servers, storage virtual machines (VMs), storage access servers, and storage access VMs to be produced; dividing, by the one server of the plurality of servers, the plurality of servers into a first pool of the plurality of servers and a second pool of the plurality of servers based on the total number of the plurality of servers; assigning, by the one server of the plurality of servers, the first pool of the plurality of servers to a first hierarchical level and the second pool of the plurality of servers to a second hierarchical level based on the number of storage transaction servers and the number of storage access servers to be produced, wherein the first hierarchical level is assigned to provide storage transaction functions comprising receiving storage access requests from client devices, generating storage operations based on the storage access requests, and sending the storage operations to the second hierarchical level and the second hierarchical level is assigned to provide storage access functions comprising receiving the storage operations from the first hierarchical level and interfacing with one or more storage devices in order to execute the storage operations; and requesting, by the one server of the plurality of servers, a hypervisor executing on each of the first pool of the plurality of servers to produce and deploy one or more of the number of storage transaction VMs that execute on the first pool of the plurality of servers and implement a storage operating system to perform one or more storage functions based on the storage transaction functions assigned to the first hierarchy level and another hypervisor executing on each of the second pool of the plurality of servers to produce one or more of the number of storage access VMs that execute on the second pool of the plurality of servers and implement the storage operating system to perform another one or more storage functions based on the storage access functions assigned to the second hierarchy level. 2. The method of claim 1 , further comprising receiving a set of hierarchy configuration parameters comprising a number of the storage transaction VMs or a number of the storage access VMs to be produced, wherein the deployment of the sets of storage transaction VMs and storage access VMs is based on the hierarchical configuration parameters. 3. The method of claim 1 , wherein each of the storage transaction VMs is further configured for: receiving access requests from client systems; servicing each access request as a transaction comprising a set of two or more sub-actions; and routing sub-requests for the sub-actions to one or more of the second pool of the plurality of servers for execution. 4. A non-transitory machine readable medium having stored thereon instructions for performing a method comprising machine executable code which when executed by at least one machine causes the machine to: obtain hierarchy configuration parameters comprising a total number of the plurality of servers and a number of storage transaction servers, storage virtual machines (VMs), storage access servers, and storage access VMs to be produced; divide the plurality of servers into a first pool of the plurality of servers and a second pool of the plurality of servers based on the total number of the plurality of servers; assign the first pool of the plurality of servers to a first hierarchical level and the second pool of the plurality of servers to a second hierarchical level based on the number of storage transaction servers and the number of storage access servers to be produced, wherein the first hierarchical level is assigned to provide storage transaction functions comprising receiving storage access requests from client devices, generating storage operations based on the storage access requests, and sending the storage operations to the second hierarchical level and the second hierarchical level is assigned to provide storage access functions comprising receiving the storage operations from the first hierarchical level and interfacing with one or more storage devices in order to execute the storage operations; and request a hypervisor executing on each of the first pool of the plurality of servers to produce and deploy one or more of the number of storage transaction VMs that execute on the first pool of the plurality of servers and implement a storage operating system to perform one or more storage functions based on the storage transaction functions assigned to the first hierarchy level and another hypervisor executing on each of the second pool of the plurality of servers to produce one or more of the number of storage access VMs that execute on the second pool of the plurality of servers and implement the storage operating system to perform another one or more storage functions based on the storage access functions assigned to the second hierarchy level. 5. The non-transitory machine readable medium of claim 4 , wherein the machine executable code when executed by the machine further causes the machine to receive a set of hierarchy configuration parameters comprising a number of the storage transaction VMs or a number of the storage access VMs to be produced, wherein the deployment of the sets of storage transaction VMs and storage access VMs is based on the hierarchical configuration parameters. 6. The non-transitory machine readable medium of claim 4 , wherein each of the storage transaction VMs is configured to: receive access requests from client systems; service each access request as a transaction comprising a set of two or more sub-actions; and route sub-requests for the sub-actions to one or more of the second pool of the plurality of servers for execution. 7. The method of claim 1 , wherein each of the one or more storage devices comprises a flash storage device. 8. The method of claim 1 , wherein each of the storage transaction and storage access VMs executing on one of the plurality of servers comprises a separate instance of the storage operating system. 9. The method of claim 1 , wherein each of the plurality of servers executes a VM monitor engine for producing and managing one or more of the storage transaction or storage access VMs and the method further comprises sending, by the one server of the plurality of servers, a request to the VM monitor engine of one or more of the plurality of servers for producing one or more of the storage transaction or storage access VMs for performing the storage transaction or storage access storage functions, respectively. 10. The non-transitory machine readable medium of claim 4 , wherein each of the one or more storage devices comprises a flash storage device. 11. The non-transitory machine readable medium of claim 4 , wherein each of the storage transaction and storage access VMs executing on one of the plurality of servers comprises a separate instance of the storage operating system. 12. The non-transitory machine readable medium of claim 4 , wherein each of the plurality of servers executes a VM monitor engine for producing and managing one or more of the storage transaction or storage access VMs and the machine executable code when executed by the machine further causes the machine to send a request to the VM monitor engine of one or more of the plurality of servers for producing one or more of the storage transaction or storage access VMs for performing the storage transaction or storage access storage functions, respectively. 13.

Assignees

Inventors

Classifications

  • Specific access rights for resources, e.g. using capability register · CPC title

  • in transactions (updating of structured data in databases G06F16/23) · CPC title

  • where the computing system component is a storage system, e.g. DASD based or network based (digital input from or digital output to record carriers G06F3/06; digital recording or reproducing G11B20/18; 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], H04L67/1097) · CPC title

  • with more than one idle spare processing component · CPC title

  • where the redundant components share persistent storage (G06F11/2043 takes precedence) · 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 US9430342B1 cover?
Described herein is a storage system having hierarchical levels of storage functions. The storage system may comprise one or more hierarchical levels, each hierarchical level comprising a server pool of one or more physical servers. Each hierarchical level may be assigned to perform a particular set of storage functions. Each physical server may implement one or more VMs, each VM executing a st…
Who is the assignee on this patent?
Byan Stephen M, Netapp Inc
What technology area does this patent fall under?
Primary CPC classification G06F11/2046. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Aug 30 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).