IP Library Granted Patent US 12,212,494
Granted Patent B2
US 12,212,494 · App. 18/137,542 · Granted Jan 28, 2025

Dynamic grouping of network segments for forwarding data message flows from machines of network segment groups to an external network through different edge forwarding elements

Inventors: Chandan Ghosh (Bangalore, IN); Anantha Mohan Raj (Bangalore, IN); Gaurav Jindal (Pune, IN); Siddhant Verma (Bangalore, IN); Saurabh Garg (Bangalore, IN)
Assignee: VMware LLC
H04L47/11H04L41/0816H04L47/125
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 12,212,494
App. No.
18/137,542
Granted
Jan 28, 2025
Kind
B2
Abstract

Some embodiments provide a novel method for dynamically deploying gateways for a first network connecting machines. The first network includes segments, routers, and a first gateway that connects to an external network. The method identifies a set of two or more segments that consumes more than a threshold amount of bandwidth of the first gateway. The identified set includes at least first and second segments. The method identifies one or more segment groups by aggregating two or more segments in the identified set. A first segment group includes the first and second segments and a third segment that is not in the identified set of two or more segments. The method configures a second gateway to process flows associated with each identified group including the first group. The method configures a set of routers to forward flows from machines of each segment of each identified group to the second gateway.

Claims (38)

1. A method for dynamically deploying gateways for a first network connecting a plurality of machines, the first network comprising a plurality of segments, a plurality of routers, and a first gateway that connects to an external network, the method comprising:

identifying a set of two or more segments that consumes more than a threshold amount of bandwidth of the first gateway, the identified set comprising at least first and second segments;

identifying one or more segment groups by aggregating two or more segments in the identified set, wherein a first segment group comprises the first and second segments and a third segment that is not in the identified set of two or more segments;

configuring a second gateway to process flows associated with each identified group including the first identified group; and

configuring a set of routers to forward flows from machines of each segment of each identified group to the second gateway.

2. The method of claim 1 , wherein the third segment is included in the first segment group in order to reduce match criteria for forwarding rules.

3. The method of claim 2 , wherein identifying the first segment group comprises:

identifying a common prefix network address shared by the first and second segments; and

using the common prefix network address as the match criteria for a particular forwarding rule that directs, to the second gateway, data message flows associated with the first and second segments' network addresses, wherein the common prefix network address is also shared by network addresses in the third segment.

4. The method of claim 1 , wherein identifying the set of segments that consumes more than the threshold amount of bandwidth of the first gateway comprises identifying the set of segments consuming more than a threshold amount of current bandwidth of the first gateway.

5. The method of claim 1 , wherein identifying the set of segments that consumes more than the threshold amount of bandwidth of the first gateway comprises identifying the set of segments consuming more than a threshold amount of future predicted bandwidth of the first gateway.

6. The method of claim 1 , wherein identifying the set of segments that consumes more than the threshold amount of bandwidth of the first gateway comprises identifying the set of segments consuming more than the threshold amount of bandwidth of a particular uplink interface of the first gateway.

7. The method of claim 1 , wherein the set of segments is identified from the plurality of segments each consuming different amounts of bandwidth of the first gateway.

8. The method of claim 1 further comprising, before identifying the one or more segment groups, identifying one or more subsets of segments from the set of segments, each subset of segments comprising segments consuming a similar amount of bandwidth of the first gateway.

9. The method of claim 8 , wherein identifying the one or more segment groups comprises identifying a segment group for each identified subset of segments.

10. The method of claim 1 , wherein each segment is a segment of a logical overlay network.

11. The method of claim 1 , wherein each segment is a segment of a physical network.

12. The method of claim 1 , wherein:

configuring the second gateway to process flows comprises:

configuring the second gateway to process flows associated with a first subset of one or more segment groups including the first identified group; and

configuring a third gateway to process flows associated with a second subset of one or more segment groups, and

wherein configuring the set of routers comprises:

configuring the set of routers to forward flows from machines of each segment of the first subset of segment groups to the second gateway; and

configuring the set of routers to forward flows from machines of each segment of the second subset of segment groups to the third gateway.

13. The method of claim 1 further comprising, before configuring the second gateway, deploying the second gateway in the first network.

14. The method of claim 13 , wherein the second gateway is deployed and configured in order to alleviate load on the first gateway.

15. The method of claim 13 further comprising, before deploying the second gateway, determining that the first gateway is the only gateway currently deployed in the first network to connect to the external network.

16. The method of claim 1 , wherein configuring the set of routers comprises distributing forwarding rules to the set of routers specifying each identified group to forward data message flows from the machines of each segment of each identified group to the external network through the second gateway.

17. A non-transitory machine readable medium storing a program for execution by at least one processing unit for dynamically deploying gateways for a first network connecting a plurality of machines, the first network comprising a plurality of segments, a plurality of routers, and a first gateway that connects to an external network, the program comprising sets of instructions for:

identifying a set of two or more segments that consumes more than a threshold amount of bandwidth of the first gateway, the identified set comprising at least first and second segments;

identifying one or more segment groups by aggregating two or more segments in the identified set, wherein a first segment group comprises the first and second segments and a third segment that is not in the identified set of two or more segments;

configuring a second gateway to process flows associated with each identified group including the first identified group; and

configuring a set of routers to forward flows from machines of each segment of each identified group to the second gateway.

18. The non-transitory machine readable medium of claim 17 , wherein the third segment is included in the first segment group in order to reduce match criteria for forwarding rules.

19. The non-transitory machine readable medium of claim 18 , wherein the set of instructions for identifying the first segment group comprises sets of instructions for:

identifying a common prefix network address shared by the first and second segments; and

using the common prefix network address as the match criteria for a particular forwarding rule that directs, to the second gateway, data message flows associated with the first and second segments' network addresses, wherein the common prefix network address is also shared by network addresses in the third segment.

20. The non-transitory machine readable medium of claim 17 , wherein the set of instructions for configuring the set of routers comprises sets of instructions for distributing forwarding rules to the set of routers specifying each identified group to forward data message flows from the machines of each segment of each identified group to the external network through the second gateway.

Assignments (3)
CHANGE OF NAME Recorded Dec 18, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 069738/0626 →
CHANGE OF NAME Recorded Feb 27, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 066692/0103 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 12, 2023
From: GHOSH, CHANDAN; RAJ, ANANTHA MOHAN, M.D.; JINDAL, GAURAV; VERMA, SIDDHANT; GARG, SAURABH
To: VMWARE, INC.
Reel/Frame 064883/0692 →
Continuity (1)
Related Publication 20240356852A1 · Oct 24, 2024
References Cited (122)
US 6477143B1 · Ginossar · 2002 [cited by examiner]
US 6578077B1 · Rakoshitz · 2003 [cited by examiner]
US 6934257B2 · Liu · 2005 [cited by examiner]
US 7260635B2 · Pandya · 2007 [cited by examiner]
US 7359326B1 · Harper · 2008 [cited by examiner]
US 8463933B2 · Harrang · 2013 [cited by examiner]
US 8830835B2 · Casado et al. · 2014 [cited by applicant]
US 8886790B2 · Harrang · 2014 [cited by examiner]
US 8964767B2 · Koponen et al. · 2015 [cited by applicant]
US 9137052B2 · Koponen et al. · 2015 [cited by applicant]
US 9209998B2 · Casado et al. · 2015 [cited by applicant]
US 9288081B2 · Casado et al. · 2016 [cited by applicant]
US 9444651B2 · Koponen et al. · 2016 [cited by applicant]
US 9755960B2 · Moisand et al. · 2017 [cited by applicant]
US 9876672B2 · Casado et al. · 2018 [cited by applicant]
US 9935880B2 · Hammam et al. · 2018 [cited by applicant]
US 10091028B2 · Koponen et al. · 2018 [cited by applicant]
US 10193708B2 · Koponen et al. · 2019 [cited by applicant]
US 10230586B2 · Cordray · 2019 [cited by examiner]
US 10250443B2 · Chandrashekhar · 2019 [cited by examiner]
US 10541923B2 · Skalecki · 2020 [cited by examiner]
US 10735263B1 · McAlary et al. · 2020 [cited by applicant]
US 10754696B1 · Chinnam et al. · 2020 [cited by applicant]
US 10855584B2 · Han · 2020 [cited by examiner]
US 10911499B2 · Warrick · 2021 [cited by examiner]
US 10931481B2 · Casado et al. · 2021 [cited by applicant]
US 11005710B2 · Garg et al. · 2021 [cited by applicant]
US 11005963B2 · Maskalik et al. · 2021 [cited by applicant]
US 11171878B1 · Devireddy et al. · 2021 [cited by applicant]
US 11212238B2 · Cidon et al. · 2021 [cited by applicant]
US 11240203B1 · Eyada · 2022 [cited by applicant]
US 11252037B2 · Chandrashekhar · 2022 [cited by examiner]
US 11316764B1 · Zhou · 2022 [cited by examiner]
US 11362992B2 · Devireddy et al. · 2022 [cited by applicant]
US 11582147B2 · Raman et al. · 2023 [cited by applicant]
US 11606290B2 · Patel et al. · 2023 [cited by applicant]
US 11671338B2 · Zhou · 2023 [cited by examiner]
US 11706102B2 · Cordray · 2023 [cited by examiner]
US 11706263B2 · Warrick · 2023 [cited by examiner]
US 11729094B2 · Arumugam et al. · 2023 [cited by applicant]
US 11729095B2 · Sadasivan et al. · 2023 [cited by applicant]
US 11909642B2 · Cui · 2024 [cited by examiner]
US 20060002301A1 · Liu · 2006 [cited by examiner]
US 20070058604A1 · Lee et al. · 2007 [cited by applicant]
US 20080159150A1 · Ansari · 2008 [cited by applicant]
US 20090003235A1 · Jiang · 2009 [cited by applicant]
US 20090296713A1 · Kompella · 2009 [cited by applicant]
US 20090307713A1 · Anderson et al. · 2009 [cited by applicant]
US 20110126197A1 · Larsen et al. · 2011 [cited by applicant]
US 20110131338A1 · Hu · 2011 [cited by applicant]
US 20120054624A1 · Owens, Jr. et al. · 2012 [cited by applicant]
US 20120110651A1 · Biljon et al. · 2012 [cited by applicant]
US 20130044641A1 · Koponen et al. · 2013 [cited by applicant]
US 20130044751A1 · Casado et al. · 2013 [cited by applicant]
US 20130044752A1 · Koponen et al. · 2013 [cited by applicant]
US 20130044761A1 · Koponen et al. · 2013 [cited by applicant]
US 20130044762A1 · Casado et al. · 2013 [cited by applicant]
US 20130044763A1 · Koponen et al. · 2013 [cited by applicant]
US 20130044764A1 · Casado et al. · 2013 [cited by applicant]
US 20130142203A1 · Koponen et al. · 2013 [cited by applicant]
US 20130185413A1 · Beaty et al. · 2013 [cited by applicant]
US 20130283364A1 · Chang et al. · 2013 [cited by applicant]
US 20130311626A1 · Karthikeyan · 2013 [cited by examiner]
US 20140282525A1 · Sapuram et al. · 2014 [cited by applicant]
US 20140334495A1 · Stubberfield et al. · 2014 [cited by applicant]
US 20140376367A1 · Jain et al. · 2014 [cited by applicant]
US 20150113146A1 · Fu · 2015 [cited by applicant]
US 20150193246A1 · Luft · 2015 [cited by applicant]
US 20160105392A1 · Thakkar et al. · 2016 [cited by applicant]
US 20160127202A1 · Dalvi et al. · 2016 [cited by applicant]
US 20160170809A1 · Schmidt et al. · 2016 [cited by applicant]
US 20160182336A1 · Doctor et al. · 2016 [cited by applicant]
US 20160234161A1 · Banerjee et al. · 2016 [cited by applicant]
US 20170033924A1 · Jain et al. · 2017 [cited by applicant]
US 20170063673A1 · Maskalik et al. · 2017 [cited by applicant]
US 20170195517A1 · Seetharaman et al. · 2017 [cited by applicant]
US 20170353351A1 · Cheng et al. · 2017 [cited by applicant]
US 20180270308A1 · Shea et al. · 2018 [cited by applicant]
US 20180287902A1 · Chitalia et al. · 2018 [cited by applicant]
US 20180295036A1 · Krishnamurthy et al. · 2018 [cited by applicant]
US 20180332001A1 · Ferrero et al. · 2018 [cited by applicant]
US 20190068500A1 · Hira · 2019 [cited by applicant]
US 20190104051A1 · Cidon et al. · 2019 [cited by applicant]
US 20190104413A1 · Cidon et al. · 2019 [cited by applicant]
US 20190149360A1 · Casado et al. · 2019 [cited by applicant]
US 20190149463A1 · Bajaj et al. · 2019 [cited by applicant]
US 20190327112A1 · Nandoori et al. · 2019 [cited by applicant]
US 20190342179A1 · Barnard et al. · 2019 [cited by applicant]
US 20210067375A1 · Cidon et al. · 2021 [cited by applicant]
US 20210067439A1 · Kommula et al. · 2021 [cited by applicant]
US 20210067468A1 · Cidon et al. · 2021 [cited by applicant]
US 20210075727A1 · Chen et al. · 2021 [cited by applicant]
US 20210112034A1 · Sundararajan et al. · 2021 [cited by applicant]
US 20210126860A1 · Ramaswamy et al. · 2021 [cited by applicant]
US 20210136140A1 · Tidemann et al. · 2021 [cited by applicant]
US 20210184898A1 · Koponen et al. · 2021 [cited by applicant]
US 20210314388A1 · Zhou et al. · 2021 [cited by applicant]
US 20210336886A1 · Vijayasankar et al. · 2021 [cited by applicant]
US 20210359948A1 · Durrani et al. · 2021 [cited by applicant]
US 20220094666A1 · Devireddy et al. · 2022 [cited by applicant]
US 20220146016A1 · Paradiso · 2022 [cited by examiner]
US 20220311707A1 · Patel et al. · 2022 [cited by applicant]
US 20220311714A1 · Devireddy et al. · 2022 [cited by applicant]
US 20220337545A1 · Liu · 2022 [cited by examiner]
US 20220377009A1 · Raman et al. · 2022 [cited by applicant]
US 20220377020A1 · Sadasivan et al. · 2022 [cited by applicant]
US 20220377021A1 · Sadasivan et al. · 2022 [cited by applicant]
US 20230006920A1 · Arumugam et al. · 2023 [cited by applicant]
US 20230006941A1 · Natarajan et al. · 2023 [cited by applicant]
US 20230239238A1 · Patel et al. · 2023 [cited by applicant]
CN 101977156A · 2011 [cited by applicant]
CN 111478850A · 2020 [cited by applicant]
WO 2013026050A1 · 2013 [cited by applicant]
WO 2022060464A1 · 2022 [cited by applicant]
WO 2022250735A1 · 2022 [cited by applicant]
Non-Published Commonly Owned U.S. Appl. No. 18/235,869, filed Aug. 20, 2023, 50 pages, VMware, Inc. [cited by applicant]
Non-Published Commonly Owned U.S. Appl. No. 18/235,874, filed Aug. 20, 2023, 69 pages, VMware, Inc. [cited by applicant]
Non-Published Commonly Owned U.S. Appl. No. 18/119,208, filed Mar. 8, 2023, 46 pages, VMware, Inc. [cited by applicant]
Non-Published Commonly Owned U.S. Appl. No. 18/134,467, filed Apr. 13, 2023, 71 pages, VMware, Inc. [cited by applicant]
Non-Published Commonly Owned U.S. Appl. No. 18/134,470, filed Apr. 13, 2023, 70 pages, VMware, Inc. [cited by applicant]
Non-Published Commonly Owned Related U.S. Appl. No. 18/137,532 with similar specification, filed Apr. 21, 2023, 69 pages, VMware, Inc. [cited by applicant]
Non-Published Commonly Owned Related U.S. Appl. No. 18/137,536 with similar specification, filed Apr. 21, 2023, 70 pages, VMware, Inc. [cited by applicant]