Health checking in a distributed load balancer

US9871712B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9871712-B1
Application numberUS-201313864148-A
CountryUS
Kind codeB1
Filing dateApr 16, 2013
Priority dateApr 16, 2013
Publication dateJan 16, 2018
Grant dateJan 16, 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.

A health check method for a distributed load balancer in which a router receives packets from at least one client and routes packet flows to multiple load balancer (LB) nodes, which in turn distribute the packet flows among multiple server nodes. Each LB node may be responsible for health checking one or more other LB nodes. In addition, each LB node may health check one or more of the server nodes. Heartbeat information for the nodes may be disseminated among the LB nodes according to a gossip protocol. The LB nodes may send LB node membership information to the server nodes. Failure of a node may be detected by the LB nodes according to the heartbeat information, and appropriate actions taken.

First claim

Opening claim text (preview).

What is claimed is: 1. A distributed load balancer system, comprising: a plurality of load balancer nodes; a plurality of server nodes; and a router configured to distribute packet flows from one or more clients to the plurality of load balancer nodes according to a hashed multipath routing technique; wherein the plurality of load balancer nodes is configured to distribute the packet flows received from the router among the plurality of server nodes; wherein each load balancer node is further configured to: perform a health check of each of one or more other load balancer nodes of the plurality of balancer nodes to obtain health information for each of the one or more other load balancer nodes of the plurality of load balancer nodes; update locally stored health information for the plurality of load balancer nodes according to the obtained health information for each of the one or more other load balancer nodes of the plurality of load balancer nodes; and send the updated health information for the plurality of load balancer nodes to at least one other load balancer node but less than an entirety of the plurality of load balancer nodes; and wherein at least one of the plurality of load balancer nodes is further configured to send the updated health information for the plurality of load balancer nodes to at least one of the plurality of server nodes. 2. The distributed load balancer system as recited in claim 1 , wherein each of the plurality of load balancer nodes is further configured to send the updated health information for the plurality of load balancer nodes to at least one of the plurality of server nodes. 3. The distributed load balancer system as recited in claim 1 , wherein each of the plurality of load balancer nodes is further configured to: perform a health check of each of one or more of the plurality of server nodes to obtain health information for each of the one or more of the plurality of server nodes; update locally stored health information for the plurality of server nodes according to the obtained health information for each of the one or more of the plurality of server nodes; and send the updated health information for the plurality of server nodes to the at least one other load balancer node of the plurality of load balancer nodes along with the updated health information for the plurality of load balancer nodes. 4. The distributed load balancer system as recited in claim 1 , wherein each load balancer node includes a first network interface controller (NIC) facing a first network to which the router is coupled and a second NIC facing a second network to which the plurality of server nodes is coupled, wherein, to perform a health check of a particular other load balancer node of the plurality of load balancer nodes, each load balancer node is configured to: send at least one message via the first network to the first MC of the particular other load balancer node; send at least one message via the second network to the second NIC of the particular other load balancer node; receive at least one response via the first network from the first NIC of the particular other load balancer node; and receive at least one response via the second network from the second NIC of the particular other load balancer node. 5. The distributed load balancer system as recited in claim 4 , wherein each load balancer node further includes a third NIC coupled to a control plane of the distributed load balancer system, wherein, to perform a health check of a different load balancer node, each of the plurality of load balancer nodes is further configured to: send at least one message via the control plane to the third NIC of the different load balancer node; and receive at least one response via the control plane from the third NIC of the different load balancer node. 6. The distributed load balancer system as recited in claim 1 , wherein each load balancer node of the plural of load balancer nodes is further configured to: receive health information for each of the plurality of load balancer nodes from a particular one of the other load balancer nodes; update locally stored health information for the plurality of load balancer nodes according to the received health information; and send the updated health information for the plurality of load balancer nodes to at least one of the other load balancer nodes of the plurality of load balancer nodes. 7. The distributed load balancer system as recited in claim 1 , wherein the health information for the plurality of load balancer nodes includes a heartbeat counter for each of the plurality of load balancer nodes, and wherein, to update the locally stored health information for the plurality of load balancer nodes, each of the plurality of load balancer nodes is configured to, for each of the one or more other load balancer nodes of the plurality of load balancer nodes, increment the heartbeat counter for the respective other load balancer node if the health information for the respective other load balancer node indicates that the respective other load balancer node is healthy. 8. A method, comprising: distributing, by a router, packet flows from one or more clients to a plurality of load balancer nodes according to a hashed multipath routing technique; distributing, by the plurality of load balancer nodes, packet flows received from the router among a plurality of server nodes; performing, by each load balancer node of the plurality of load balancer nodes, a health check of each of one or more other load balancer nodes of the plurality of load balancer nodes to obtain health information for each of the one or more other load balancer nodes of the plurality of load balancer nodes; propagating the health information obtained by the health checks among the plurality of load balancer nodes according to a gossip protocol wherein each load balancer node propagates the health information obtained to less than an entirety of the plurality of load balancer nodes; updating, by each load balancer node of the plurality of load balancer nodes, locally stored health information for the plurality of load balancer nodes according to the propagated health information; and sending, by at least one load balancer node of the plurality of load balancer nodes, the updated health information for the plurality of load balancer nodes to at least one of the plurality of server nodes. 9. The method as recited in claim 8 , further comprising sending, by each load balancer node of the plurality of load balancer nodes, the updated health information for the plurality of load balancer nodes to at least one of the plurality of server nodes. 10. The method as recited in claim 8 , further comprising: performing, by each load balancer node of the plurality of load balancer nodes, a health check of each of one or more of the plurality of server nodes to obtain health information for each of the one or more server nodes of the plurality of server nodes; propagating the obtained server node health information among the plurality of load balancer nodes according to the gossip protocol; and updating, by each load balancer node, locally stored health information for the plurality of server nodes according to the propagated health information for the one or more server nodes of the plurality of server nodes. 11. The method as recited in claim 8 , wherein each of the plurality of load balancer nodes includes a first network interface controller (NIC) facing a first network to which the router is coupled and a second NIC facing a second network to which the plurality of server nodes is coupled, wherein performing a health check of another a load balancer node compr

Assignees

Inventors

Classifications

  • H04L43/10Primary

    Active monitoring, e.g. heartbeat, ping or trace-route · CPC title

  • by checking functioning · 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 US9871712B1 cover?
A health check method for a distributed load balancer in which a router receives packets from at least one client and routes packet flows to multiple load balancer (LB) nodes, which in turn distribute the packet flows among multiple server nodes. Each LB node may be responsible for health checking one or more other LB nodes. In addition, each LB node may health check one or more of the server n…
Who is the assignee on this patent?
Amazon Tech Inc
What technology area does this patent fall under?
Primary CPC classification H04L43/10. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Jan 16 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 8 related publications on this page (citations in our corpus or others sharing the same primary CPC).