Efficient scaling of distributed storage systems

US10838620B2 · US · B2

Patent metadata
FieldValue
Publication numberUS-10838620-B2
Application numberUS-201715607202-A
CountryUS
Kind codeB2
Filing dateMay 26, 2017
Priority dateMay 26, 2016
Publication dateNov 17, 2020
Grant dateNov 17, 2020

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.

Systems and methods for managing access to storage devices in a distributed data storage environment. Embodiments operate to manage communications between a client computing device and storage target devices in a distributed storage system. The distributed storage system comprises one or more computing nodes and at least one storage target device. A client computing device interfaced with the distributed storage system uses an IP address to access a leader virtualized controller. Upon receipt of a storage access protocol message by the leader virtualized controller elected from a set of virtualized controllers, a redirect message comprising a second IP address that identifies a second virtualized controller is sent to the client computing device. The client computing device connects to the second virtualized controller. Messages are sent between the client computing device and the second virtualized controller, which in turn accesses the storage target device to carry out storage I/O protocol messaging.

First claim

Opening claim text (preview).

What is claimed is: 1. A method in a distributed computing environment that comprises multiple virtualized controllers, each of the multiple virtualized controllers instantiated on a respective computer of multiple computers in the distributed computing environment, the method comprising: receiving, at a leader virtualized controller in the distributed computing environment, an access request from a client for accessing a storage pool in the distributed computing environment, wherein the leader virtualized controller interfaces with a hypervisor on the first computer in the distributed computing environment, the distributed computing environment comprises the storage pool that is managed by the multiple virtualized controllers, and access requests in the distributed computing environment are received at a persistent virtual IP (Internet Protocol) address that is assigned to and hosted by the leader virtualized controller and is referenced in the access requests to route the access requests to respective destinations; and in response to receiving the access request, selecting a virtualized controller from the multiple virtualized controllers based at least in part upon a selection policy or metric; redirecting, by the leader virtualized controller, the client to the virtualized controller using at least a protocol redirect message comprising information pertaining to a protocol exchange between the client and the virtualized controller; and servicing, by the virtualized controller selected by the leader virtualized controller, the access request for the client at least by executing the protocol exchange between the client and the virtualized controller. 2. The method of claim 1 , wherein the access request comprises a discovery request or a login request for discovering an available storage target in the distributed computing environment, and the selection policy or metric based at least in part upon which the leader virtualized controller selects the virtualized controller from the multiple virtualized controllers comprises information pertaining to an excluded virtualized controller or node, a preferred virtualized controller or node, or a node loading metric. 3. The method of claim 1 , wherein the client comprises a computer external to the distributed computing environment or a user virtual machine within the distributed computing environment. 4. The method of claim 1 , wherein the client sends the access request the leader virtualized controller based at least in part on the persistent virtual IP address or a DNS-resolvable hostname, and the leader virtualization controller selects the virtualized controller to service the access request based at least in part upon an identifier of a storage target specified in the access request. 5. The method of claim 1 , wherein the virtualized controller selected by the leader virtualized controller is associated with a second IP address different from the persistent virtual IP address that is exposed to the client in the distributed computing environment for accessing the storage pool. 6. The method of claim 1 , wherein the distributed computing environment comprises the multiple storage devices that are virtualized by at least the hypervisor into the storage pool that includes the multiple storage devices as multiple storage targets for the client, wherein the leader virtualized controller identifies a storage target from the multiple storage targets in response to a protocol information received from the client. 7. The method of claim 1 , wherein the persistent virtual IP address comprises a virtual IP address that is exposed to the client in the distributed computing environment for connecting the client to the leader virtualized controller for discovering or logging in to a storage target in the storage pool. 8. The method of claim 1 , further comprising monitoring, by the virtualized controller selected by the leader virtualized controller, a different virtualized controller of the multiple virtualized controllers and determining whether to reattach the client to the different virtualized controller based at least in part upon a result of monitoring the different virtualized controller. 9. A non-transitory computer readable medium having stored thereon a sequence of instructions which, when stored in memory and executed by a processor, causes the processor to perform a set of acts in a distributed computing environment that comprises multiple virtualized controllers, each of the multiple virtualized controllers instantiated on a respective computer of multiple computers in the distributed computing environment, the set of acts comprising: receiving, at a leader virtualized controller, an access request from a client for accessing a storage pool in the distributed environment, wherein the leader virtualized controller interfaces with a hypervisor on the first computer in the distributed computing environment, the distributed computing environment comprises the storage pool that is managed by the multiple virtualized controllers, and access requests in the distributed computing environment are received at a persistent virtual IP (Internet protocol) address that is assigned to the leader virtualized controller and is referenced in the access requests to route the access requests to respective destinations; and in response to receiving the access request, selecting, at the leader virtualized controller, a virtualized controller from the multiple virtualized controllers based at least in part upon a selection policy; redirecting, by the leader virtualized controller, the client to the virtualized controller using at least a protocol redirect message comprising information pertaining to a protocol exchange between the client and the virtualized controller; and servicing, by the virtualized controller selected by the leader virtualized controller, the access request for the client at least by executing the protocol exchange between the client and the virtualized controller. 10. The non-transitory computer readable medium of claim 9 , wherein the access request comprises information that corresponds to a network communications protocol that comprises iSCSI (Internet Small Computer System Interface), SCSI (Small Computer System Interface), NFS (Network File System), NFSv4 (Network File System Version 4), SMB (Server Message Block), SMB CIFS (Server Message Block Common Internet File System), HTTP (HyperText Transfer Protocol), or HTTPS (HyperText Transfer Protocol Secure). 11. The non-transitory computer readable medium of claim 9 , wherein the client comprises a computer external to the distributed computing environment or a user virtual machine within the distributed computing environment. 12. The non-transitory computer readable medium of claim 9 , wherein the access request the leader virtualized controller based at least in part on the persistent virtual IP address or a DNS-resolvable hostname, and the leader virtualization controller selects the virtualized controller to service the access request based at least in part upon an identifier of a storage target specified in the access request. 13. The non-transitory computer readable medium of claim 9 , wherein the virtualized controller selected by the leader virtualized controller is associated with a second IP address different from the persistent virtual IP address that is exposed to the client in the distributed computing environment for accessing the storage pool. 14. The non-transitory computer readable medium of claim 9 , wherein the distributed environment comprises the multiple storage devices that are virtualized by at least the

Assignees

Inventors

Classifications

  • Hypervisors; Virtual machine monitors · CPC title

  • taking into account QoS or priority requirements · CPC title

  • for accessing one among a plurality of replicated servers · CPC title

  • Distribution of virtual machine instances; Migration and load balancing · CPC title

  • Migration mechanisms · 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 US10838620B2 cover?
Systems and methods for managing access to storage devices in a distributed data storage environment. Embodiments operate to manage communications between a client computing device and storage target devices in a distributed storage system. The distributed storage system comprises one or more computing nodes and at least one storage target device. A client computing device interfaced with the d…
Who is the assignee on this patent?
Nutanix Inc
What technology area does this patent fall under?
Primary CPC classification G06F9/45533. Mapped technology areas include Physics.
When was this patent published?
Publication date Tue Nov 17 2020 00:00:00 GMT+0000 (Coordinated Universal Time) (B2). Legal status and post-grant events are not shown on this page.
What related patents are in patentsdb?
We list 12 related publications on this page (citations in our corpus or others sharing the same primary CPC).