Highly available network filer with automatic load balancing and performance adjustment

US9923958B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9923958-B1
Application numberUS-201715804203-A
CountryUS
Kind codeB1
Filing dateNov 6, 2017
Priority dateOct 20, 2011
Publication dateMar 20, 2018
Grant dateMar 20, 2018

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.

Techniques are provided for exporting one or more file systems through multiple nodes of a cluster. One or more of the exported file systems may be simultaneously exported through a single node of the cluster. A bundle, or mapping, between a node in the cluster and a file system, is created. The bundle represents an amount of work assigned to the node. A bundle is reassigned from one node to another node in the cluster in response to a failover, an addition of a new node to the cluster, or in response to a load balancing determination.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: receiving, from a client device that submits file system requests according to one or more file system protocols, over a network, at a routing node, a first file system request that uses a particular file system protocol, determining, by the routing node, which cluster node, of a plurality of cluster nodes that implement the one or more file system protocols, is to process the first file system request; wherein determining which cluster node is to process the first file system request comprises determining, from among the plurality of cluster nodes, a first cluster node; in response to determining the first cluster node: sending, by the routing node, the first file system request to the first cluster node, wherein the first cluster node processes the first file system request, and storing data that indicates that a file system request from the client device was sent to the first cluster node; after sending the first file system request to the first cluster node, receiving, from the client device, at the routing node, a second file system request that uses the particular file system protocol; determining, by the routing node, which cluster node, of the plurality of cluster nodes, is to process the second file system request; wherein determining which cluster node is to process the second file system request comprises determining, based at least in part upon the data that indicates that a file system request from the client device was sent to the first cluster node, a second cluster node that is different than the first cluster node; in response to determining the second cluster node, sending, by the routing node, the second file system request to the second cluster node, wherein the second cluster node processes the second file system request. 2. The method of claim 1 , wherein: the first file system request includes an address that is associated with the client device that sent the first file system request; the method further comprising, before sending the first file system request to the first cluster node, replacing, by the routing node, the address with an address associated with the first cluster node. 3. The method of claim 1 , further comprising: receiving, from the first cluster node, a response to the first file system request; sending, to the client device that sent the first file system request, a file system response that is based on the response from the first cluster node. 4. The method of claim 3 , wherein: the response includes an address that is associated with the first cluster node; the method further comprising, before sending the file system response to the client device that sent the first file system request, replacing, by the routing node, the address with an address that is associated with the routing node. 5. The method of claim 1 , further comprising: determining that the routing node is unable to process file system requests; and in response to determining that the routing node is unable to process file system requests, causing subsequent file system requests to be directed to a second routing node that is different than the routing node. 6. The method of claim 5 , wherein: causing subsequent file system requests to be directed to the second routing node comprises causing a mapping between a particular logical address and a first physical address to be updated; the first physical address is of the routing node; the mapping is updated by replacing the first physical address with a second physical address of the second routing node. 7. The method of claim 1 , wherein: determining which cluster node of the plurality of cluster nodes is to process the first file system request is based on one or more factors associated with each cluster node in the plurality of cluster nodes; the one or more factors associated with each cluster node of the plurality of cluster nodes indicates a number of bundles that are assigned to said each cluster node. 8. The method of claim 1 , wherein: determining which cluster node of the plurality of cluster nodes is to process the first file system request is based on one or more factors associated with each cluster node in the plurality of cluster nodes; the one or more factors associated with each cluster node of the plurality of cluster nodes indicates a current load of said each cluster node; the current load of said each cluster node comprises one or more of CPU usage of said each cluster node, memory usage of said each cluster node, a number of file systems requests queued at said each cluster node, or I/O usage of said each cluster node. 9. The method of claim 1 , wherein multiple cluster nodes of the plurality of cluster nodes export a particular file system of one or more file systems. 10. The method of claim 1 , wherein: the routing node and the plurality of cluster nodes are within the same network; at least one file system is exported through two of the plurality of cluster nodes. 11. The method of claim 1 , further comprising: storing bundle assignment data that indicates an assignment of each bundle of a plurality of bundles to a cluster node of the plurality of cluster nodes; wherein the bundle assignment data indicates a first assignment of a first bundle, of the plurality of bundles, to the first cluster node; wherein the bundle assignment data indicates a second assignment of a second bundle, of the plurality of bundles, to the second cluster node; updating the bundle assignment data to indicate a third assignment of the first bundle to a third cluster node that is different than the first cluster node. 12. One or more storage media storing instructions which, when executed by one or more computing devices, cause: receiving, from a client device that submits file system requests according to one or more file system protocols, over a network, at a routing node, a first file system request that uses a particular file system protocol, determining, by the routing node, which cluster node, of a plurality of cluster nodes that implement the one or more file system protocols, is to process the first file system request; wherein determining which cluster node is to process the first file system request comprises determining, from among the plurality of cluster nodes, a first cluster node; in response to determining the first cluster node: sending, by the routing node, the first file system request to the first cluster node, wherein the first cluster node processes the first file system request, storing data that indicates that a file system request from the client device was sent to the first cluster node; after sending the first file system request to the first cluster node, receiving, from the client device, at the routing node, a second file system request that uses the particular file system protocol; determining, by the routing node, which cluster node, of the plurality of cluster nodes, is to process the second file system request; wherein determining which cluster node is to process the second file system request comprises determining, based at least in part upon the data that indicates that a file system request from the client device was sent to the first cluster node, a second cluster node that is different than the first cluster node; in response to determining the second cluster node, sending, by the routing node, the second file system request to the second cluster node, wherein the second cluster node processes the second file system request. 13. The one or more storage media of claim 12 , wherein: the first file system request includes an address that is associated with the c

Assignees

Inventors

Classifications

  • Electricity · mapped topic

  • G06F9/5083Primary

    Techniques for rebalancing the load in a distributed system · CPC title

  • for accessing one among a plurality of replicated servers · 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 US9923958B1 cover?
Techniques are provided for exporting one or more file systems through multiple nodes of a cluster. One or more of the exported file systems may be simultaneously exported through a single node of the cluster. A bundle, or mapping, between a node in the cluster and a file system, is created. The bundle represents an amount of work assigned to the node. A bundle is reassigned from one node to an…
Who is the assignee on this patent?
Oracle Int Corp
What technology area does this patent fall under?
Primary CPC classification H04L67/1002. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Mar 20 2018 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 1 related publication on this page (citations in our corpus or others sharing the same primary CPC).