IP Library › Granted Patent US 10,715,449
Granted Patent B2
US 10,715,449 · App. 16/112,352 · Granted Jul 14, 2020

Layer 2 load balancing system

Inventors: Narayanaswamy Perumal (Tamilnadu, IN); Dinesh Babu Kannan (Tamil Nadu, IN); Balaji Venkat Venkataswami (Tamilnadu, IN)
Assignee: Dell Products L.P.
H04L47/125H04L45/7453
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,715,449
App. No.
16/112,352
Granted
Jul 14, 2020
Kind
B2
Abstract

A layer 2 load balancing system includes server devices that provide virtual machines that each share a virtual Media Access Control (MAC) address. A switch device is coupled to each of the server devices via respective ports on the switch device. The switch device receives the virtual MAC address during a time period via each of the respective ports connected to the server devices and, in response, identifies a server device cluster that shares the virtual MAC address. When the switch device receive packets that are part of a packet flow and that are directed to the virtual MAC address, it then directs each of the packets that are part of the packet flow to one of the virtual machines that is provided on one of the server devices in the server device cluster.

Claims (63)

1. A layer 2 load balancing system, comprising:

a plurality of first server devices;

a plurality of first virtual machines that are provided on the plurality of first server devices and that each share a first virtual Media Access Control (MAC) address; and

a switch device that is coupled to each of the plurality of first server devices via respective first ports on the switch device, wherein the switch device is configured to:

receive, during a first time period via each of the respective first ports connected to the plurality of first server devices, the first virtual MAC address;

identify, in response to receiving the first virtual MAC address via each of the respective first ports, a first server device cluster that shares the first virtual MAC address;

receive packets that are part of a first packet flow and that are directed to the first virtual MAC address; and

direct each of the packets that are part of the first packet flow to one of the plurality of first virtual machines that is provided on one of the plurality of first server devices in the first server device cluster.

2. The system of claim 1 , further comprising:

a plurality of second server devices;

a plurality of second virtual machines that are provided on the plurality of second server devices and that each share a second virtual MAC address; and

a switch device that is coupled to each of the plurality of second server devices via respective second ports on the switch device, wherein the switch device is configured to:

receive, during a second time period via each the respective second ports connected to the plurality of second server devices, the second virtual MAC address;

identify, in response to receiving the second virtual MAC address via each of the respective second ports, a second server device cluster that shares the second virtual MAC address;

receive packets that are part of a second packet flow and that are directed to the second virtual MAC address; and

direct each of the packets that are part of the second packet flow to one of the plurality of second virtual machines that is provided on one of the plurality of second server devices in the second server device cluster.

3. The system of claim 1 , wherein the switch device is configured to:

suppress, in response to receiving the first virtual MAC address via each of the respective first ports, MAC-move operations.

4. The system of claim 1 , wherein directing each of the packets that are part of the first packet flow to the one of the plurality of first virtual machines includes:

performing a hashing operation on each of the packets that are part of the first packet flow, wherein the hashing operation provides for the directing of each of packets that are part of the first packet flow to the one of the plurality of first virtual machines.

5. The system of claim 1 , wherein the first virtual MAC address is received via each the respective first ports in a Gratuitous Address Resolution Protocol (GARP) communication from each of the plurality of virtual machines provided each of the plurality of first server devices.

6. The system of claim 1 , wherein the switch device is configured to:

determine that one of the plurality of first server devices is unavailable and, in response, remove that first server device from the first server device cluster.

7. An Information Handling System (IHS), comprising:

a processing system; and

a memory system that is coupled to the processing system and that includes instructions that, when executed by the processing system, cause the processing system to provide a layer 2 load balancing engine that is configured to:

receive, during a first time period via each of a plurality of first ports that are connected to respective first server devices that provide a plurality of first virtual machines, a first virtual MAC address;

identify, in response to receiving the first virtual MAC address via each of the plurality of first ports, a first server device cluster that shares the first virtual MAC address;

receive packets that are part of a first packet flow and that are directed to the first virtual MAC address; and

direct each of the packets that are part of the first packet flow to one of a plurality of first virtual machines that is provided on one of the plurality of first server devices in the first server device cluster.

8. The IHS of claim 7 , wherein the layer 2 load balancing engine is configured to:

receive, during a second time period via each of a plurality of second ports that are connected to respective second server devices that provide a plurality of second virtual machines, a second virtual MAC address;

identify, in response to receiving the second virtual MAC address via each of the plurality of second ports, a second server device cluster that shares the second virtual MAC address;

receive packets that are part of a second packet flow and that are directed to the second virtual MAC address; and

direct each of the packets that are part of the second packet flow to one of a plurality of second virtual machines that is provided on one of the plurality of second server devices in the second server device cluster.

9. The IHS of claim 7 , wherein the layer 2 load balancing engine is configured to:

suppress, in response to receiving the first virtual MAC address via each of the plurality of first ports, MAC-move operations.

10. The IHS of claim 7 , wherein directing each of the packets that are part of the first packet flow to the one of the plurality of first virtual machines includes:

performing a hashing operation on each of the packets that are part of the first packet flow, wherein the hashing operation provides for the directing of each of packets that are part of the first packet flow to the one of the plurality of first virtual machines.

11. The IHS of claim 7 , wherein the first virtual MAC address is received via each the respective first ports in a Gratuitous Address Resolution Protocol (GARP) communication from each of the plurality of virtual machines provided each of the plurality of first server devices.

12. The IHS of claim 7 , wherein the layer 2 load balancing engine is configured to:

determine that one of the plurality of first server devices is unavailable and, in response, remove that first server device from the first server device cluster.

13. The IHS of claim 7 , wherein the layer 2 load balancing engine is configured to:

determine, during the first time period, that the first virtual MAC address has not been received via a second port that is connected to respective first server device that provides one of the plurality of first virtual machines and, in response, exclude the first server device that is connected to the second port from the first server device cluster.

14. A method for layer 2 load balancing, comprising:

receiving, by a switch device during a first time period via each of a plurality of first ports on the switch device that are connected to respective first server devices that provide a plurality of first virtual machines, a first virtual MAC address;

identifying, by the switch device in response to receiving the first virtual MAC address via each of the plurality of first ports, a first server device cluster that shares the first virtual MAC address;

receiving, by the switch device, packets that are part of a first packet flow and that are directed to the first virtual MAC address; and

directing, by the switch device, each of the packets that are part of the first packet flow to one of a plurality of first virtual machines that is provided on one of the plurality of first server devices in the first server device cluster.

15. The method of claim 14 , further comprising:

receiving, by the switch device during a second time period via each of a plurality of second ports on the switch device that are connected to respective second server devices that provide a plurality of second virtual machines, a second virtual MAC address;

identifying, by the switch device in response to receiving the second virtual MAC address via each of the plurality of second ports, a second server device cluster that shares the second virtual MAC address;

receiving, by the switch device, packets that are part of a second packet flow and that are directed to the second virtual MAC address; and

directing, by the switch device, each of the packets that are part of the second packet flow to one of a plurality of second virtual machines that is provided on one of the plurality of second server devices in the second server device cluster.

16. The method of claim 14 , further comprising:

suppressing, by the switch device in response to receiving the first virtual MAC address via each of the plurality of first ports, MAC-move operations.

17. The method of claim 14 , wherein directing each of the packets that are part of the first packet flow to the one of the plurality of first virtual machines includes:

performing, by the switch device, a hashing operation on each of the packets that are part of the first packet flow, wherein the hashing operation provides for the directing of each of packets that are part of the first packet flow to the one of the plurality of first virtual machines.

18. The method of claim 14 , wherein the first virtual MAC address is received via each the respective first ports in a Gratuitous Address Resolution Protocol (GARP) communication from each of the plurality of virtual machines provided each of the plurality of first server devices.

19. The method of claim 14 , further comprising:

determining, by the switch device, that one of the plurality of first server devices is unavailable and, in response, removing that first server device from the first server device cluster.

20. The method of claim 14 , further comprising:

determining, by the switch device during the first time period, that the first virtual MAC address has not been received via a second port on the switch device that is connected to respective first server device that provides one of the plurality of first virtual machines and, in response, exclude the first server device that is connected to the second port from the first server device cluster.

Assignments (4)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 24, 2018
From: PERUMAL, NARAYANASWAMY; KANNAN, DINESH BABU; VENKATASWAMI, BALAJI VENKAT
To: DELL PRODUCTS L.P.
Reel/Frame 046701/0217 →
Continuity (1)
Related Publication 20200067838A1 · Feb 27, 2020