Network load balancing using multicast or packet replication
First Claim
1. A method of performing network load balancing in a cluster having switching nodes and hosts, comprising:
- defining a first multicast tree in the cluster for a service, wherein the first multicast tree extends from an initial one of the switching nodes to a first pool of the hosts;
defining a second multicast tree for the service in the cluster, wherein the second multicast tree extends from a selected one of the switching nodes to a second pool of the hosts;
multicasting over the first multicast tree so that packets reach hosts in the first pool of hosts hosting sessions associated with the respective packets, wherein the packets are incoming packets for the service to the initial one of the switching nodes;
multicasting the incoming packets for the service over the second multicast tree so that packets reach hosts in the second pool of hosts hosting sessions associated with the respective incoming packets;
filtering out at least one of the packets at one of the switching nodes such that each host in the first and second pools of the hosts only receives packets associated with sessions the respective hosts are hosting, wherein the switching nodes are arranged in multiple layers and the filtering occurs at an aggregation switching node within the multiple layers of switching nodes; and
processing the packets with the first pool of hosts and the second pool of hosts.
2 Assignments
0 Petitions
Accused Products
Abstract
Network load balancing may be performed in a cluster by deploying multicasting or replication. In particular, one or more multicast trees may be deployed within the cluster. Packets may be multicast towards the hosts over the multicast tree(s) to reach the hosts in a pool of hosts associated with a given Virtual Internet Protocol (“VIP”) address. Packets may be filtered before the packets reach the hosts to ensure that each host only receives packets for the session the host is handling. The filtering may be performed at various levels of the multicast tree. Replication may be deployed instead of multicasting to realize the same network load balancing.
20 Citations
16 Claims
-
1. A method of performing network load balancing in a cluster having switching nodes and hosts, comprising:
-
defining a first multicast tree in the cluster for a service, wherein the first multicast tree extends from an initial one of the switching nodes to a first pool of the hosts; defining a second multicast tree for the service in the cluster, wherein the second multicast tree extends from a selected one of the switching nodes to a second pool of the hosts; multicasting over the first multicast tree so that packets reach hosts in the first pool of hosts hosting sessions associated with the respective packets, wherein the packets are incoming packets for the service to the initial one of the switching nodes; multicasting the incoming packets for the service over the second multicast tree so that packets reach hosts in the second pool of hosts hosting sessions associated with the respective incoming packets; filtering out at least one of the packets at one of the switching nodes such that each host in the first and second pools of the hosts only receives packets associated with sessions the respective hosts are hosting, wherein the switching nodes are arranged in multiple layers and the filtering occurs at an aggregation switching node within the multiple layers of switching nodes; and processing the packets with the first pool of hosts and the second pool of hosts. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A method of performing network load balancing in a cluster having switching nodes and hosts, comprising:
-
defining a first multicast tree in the cluster for a service, wherein the first multicast tree extends from an initial one of the switching nodes to a pool of the hosts; receiving an incoming packet at the initial one of the switching nodes; replicating the incoming packet at the initial one of the switching nodes; forwarding the incoming packet from the initial one of the switching nodes to a first set of the switching nodes in the first multicast tree; forwarding the replicated packet from the initial one of the switching nodes to a second set of the switching nodes in the first multicast tree, the second set of the switching nodes disjoint from the first set of the switching nodes; filtering out at least one of the incoming packet and the replicated packet at one of the switching nodes such that each host in the pool of the hosts only receives packets associated with sessions the respective hosts are hosting, wherein the switching nodes are arranged in multiple layers and the filtering occurs at an aggregation switching node within the multiple layers of switching nodes; and processing, at hosts within the pool of hosts, at least one of the incoming packet and the replicated packet that arrives at the hosts. - View Dependent Claims (9, 10, 11)
-
-
12. A system comprising:
a network controller comprising at least one computer processor configured to execute computer executable instructions, the computer executable instructions configured such that when executed they carry out a method comprising; defining a first multicast tree in a cluster for a service, wherein the first multicast tree extends from an initial switching node in the cluster to a pool of hosts; receiving an incoming packet at the initial one of the switching nodes; replicating the incoming packet at the initial one of the switching nodes; forwarding the incoming packet from the initial one of the switching nodes to a first set of switching nodes in the first multicast tree; forwarding the replicated packet from the initial one of the switching nodes to a second set of the switching nodes in the first multicast tree, the second set of the switching nodes disjoint from the first set of the switching nodes; filtering out at least one of the incoming packet and the replicated packet at one of the switching nodes such that each host in the pool of the hosts only receives packets associated with sessions the respective hosts are hosting, wherein the switching nodes are arranged in multiple layers and the filtering occurs at an aggregation switching node within the multiple layers of switching nodes; and processing, at hosts within the pool of hosts, at least one of the incoming packet and the replicated packet that arrives at the hosts. - View Dependent Claims (13, 14, 15, 16)
Specification