Load balancing among a cluster of firewall security devices

US9413718B1 · US · B1

Patent metadata
FieldValue
Publication numberUS-9413718-B1
Application numberUS-201615071005-A
CountryUS
Kind codeB1
Filing dateMar 15, 2016
Priority dateFeb 16, 2011
Publication dateAug 9, 2016
Grant dateAug 9, 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.

A method for balancing load among firewall security devices in a network is disclosed. According to one embodiment, a switch causes firewall security devices (FSDs) of a cluster to enter into a load balancing mode. Responsive to receiving a heartbeat signal from an FSD, information regarding the FSD and the port on which the heartbeat signal was received are added to a table maintained by the switch that maps outputs of a load balancing function to ports of the switch. A received packet is forwarded to an FSD of the cluster by: (i) extracting a configurable number of bit values from a configurable set of bit positions within the packet; (ii) determining the output of the load balancing function; (iii) identifying the port to which the FSD is coupled based on the output and the table; and (iv) transmitting the packet to the FSD via the identified port.

First claim

Opening claim text (preview).

What is claimed is: 1. A method comprising: providing a network switching device within a private Internet Protocol (IP) network that is configured to distribute traffic among a plurality of cluster units of a high availability cluster of firewall security devices within the private IP network; configuring a load balancing function in the network switching device based on information received from a network administrator of the network switching device indicative of (i) a number of bits to be used as an input to the load balancing function and (ii) corresponding contiguous or non-contiguous bit positions within a packet header of packets to be load balanced; directing, by the network switching device, the plurality of cluster units to enter into a load balancing mode by sending one or more control messages to the plurality of cluster units; responsive to receiving, by the network switching device, a heartbeat signal on a port of a plurality of ports of the network switching device from a cluster unit of the plurality of cluster units, including information indicative of a state of the cluster unit within a load balancing table maintained by the network switching device that forms an association between hash values or emulated hash values output by the load balancing function and corresponding ports of the plurality of ports; receiving, by the network switching device, a packet from a client device; and directing, by the network switching device, the packet to an appropriate cluster unit of the plurality of cluster units based on the packet and the load balancing function by: determining a hash value or an emulated hash value by applying the load balancing function to values associated with the bit positions of the number of bits within a header of the packet; identifying a port of the plurality of ports to which the appropriate cluster unit is coupled based on the hash value or the emulated hash value and the load balancing table; and transmitting the packet to the appropriate cluster unit via the identified port. 2. The method of claim 1 , wherein the load balancing function comprises a hash function or an emulated hash function. 3. The method of claim 1 , further comprising assigning a Virtual Local Area Network (VLAN) tag to the packet. 4. The method of claim 1 , wherein the load balancing function is based on a portion, but not an entirety, of an IP or media access control (MAC) destination address specified within the header of the packet. 5. The method of claim 4 , wherein the load balancing function is expressed in a form substantially as follows: ƒ( x )= D N *2 N +D N-1 *2 N-1 + . . . +D 2 *2 2 +D 1 *2 1 +D 0 *2 0 ; where D N represents a value of a particular bit position of the IP destination address; and where N represents the configurable number of bit values minus 1. 6. The method of claim 1 , wherein the load balancing function is based on a first portion of an IP or MAC source address specified by the packet and a second portion of an IP or MAC destination address specified by the packet. 7. The method of claim 1 , wherein the packet comprises an IP version 4 packet and wherein the corresponding contiguous or non-contiguous bit positions are within one or more of a type of service field, a protocol field, a source port field, a destination port field, a source address field and a destination address field of the packet header. 8. The method of claim 1 , wherein the load balancing table is implemented within a content addressable memory (CAM) and wherein said identifying a port of the plurality of ports to which the appropriate cluster unit is coupled comprises providing the hash value or the emulated hash value to the CAM as an input and receiving from the CAM responsive thereto a port number. 9. The method of claim 1 , wherein the load balancing table is implemented within a random access memory (RAM) and wherein said identifying a port of the plurality of ports to which the appropriate cluster unit is coupled comprises searching the load balancing table for a table entry matching the hash value or the emulated hash value and extracting therefrom a port number. 10. The method of claim 1 , further comprising dynamically adjusting the load balancing function, by the network switching device, responsive to observing deviation from an ideal traffic distribution by monitoring a traffic load on each cluster unit of the plurality of cluster units. 11. A non-transitory computer-readable storage medium readable by one or more processors of a network switching device, the computer-readable storage medium embodying a set of instructions executable by the one or more processors to perform a method comprising: configuring a load balancing function in the network switching device based on information received from a network administrator of the network switching device indicative of (i) a number of bits to be used as an input to the load balancing function and (ii) corresponding contiguous or non-contiguous bit positions within a packet header of packets to be load balanced; directing a plurality of cluster units of a high availability cluster of firewall security devices within a private Internet Protocol (IP) network to enter into a load balancing mode by sending one or more control messages to the plurality of cluster units; responsive to receiving a heartbeat signal on a port of a plurality of ports of the switching device from a cluster unit of the plurality of cluster units, including information indicative of a state of the cluster unit within a load balancing table maintained by the network switching device that forms an association between hash values or emulated hash values output by the load balancing function and corresponding ports of the plurality of ports; receiving a packet from a client device; and directing the packet to an appropriate cluster unit of the plurality of cluster units based on the packet and the load balancing function by: determining a hash value or an emulated hash value by applying the load balancing function to values associated with the bit positions of the number of bits within a header of the packet; identifying a port of the plurality of ports to which the appropriate cluster unit is coupled based on the hash value or the emulated hash value and the load balancing table; and transmitting the packet to the appropriate cluster unit via the identified port. 12. The non-transitory computer-readable storage medium of claim 11 , wherein the load balancing function comprises a hash function or an emulated hash function. 13. The non-transitory computer-readable storage medium of claim 11 , wherein the method further comprises assigning a Virtual Local Area Network (VLAN) tag to the packet. 14. The non-transitory computer-readable storage medium of claim 11 , wherein the load balancing function is based on a portion, but not an entirety, of an IP or media access control (MAC) destination address specified within the header of the packet. 15. The non-transitory computer-readable storage medium of claim 14 , wherein the load balancing function is expressed in a form substantially as follows: ƒ( x )= D N *2 N +D N-1 *2 N-1 + . . . +D 2 *2 2 +D 1 *2 1 +D 0 *2 0 ; where D N represents a value of a particular bit position of the IP destination address; and where N represents the configurable number of bit values minus 1. 16. The non-transitory computer-readable storage medium of claim 11 , wherein the load balancing function is based on a first portion of an IP or MAC source address specified by the packet

Assignees

Inventors

Classifications

  • Server selection for load balancing · CPC title

  • by balancing the load, e.g. traffic engineering · CPC title

  • Electricity · mapped topic

  • Address processing for routing · CPC title

  • Filtering policies (mail message filtering H04L51/212) · 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 US9413718B1 cover?
A method for balancing load among firewall security devices in a network is disclosed. According to one embodiment, a switch causes firewall security devices (FSDs) of a cluster to enter into a load balancing mode. Responsive to receiving a heartbeat signal from an FSD, information regarding the FSD and the port on which the heartbeat signal was received are added to a table maintained by the s…
Who is the assignee on this patent?
Fortinet Inc
What technology area does this patent fall under?
Primary CPC classification H04L63/0218. Mapped technology areas include Electricity.
When was this patent published?
Publication date Tue Aug 09 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).