IP Library Granted Patent US 12,407,646
Granted Patent B2
US 12,407,646 · App. 18/639,631 · Granted Sep 2, 2025

Managing internet protocol (IP) address allocation to tenants in a computing environment

Inventors: Dileep K Devireddy (San Jose, CA); Ankit Parmar (Santa Clara, CA); Hiteshkumar Rameshchandra Patel (Newark, CA)
Assignee: VMware LLC
H04L61/5061G06F9/45558H04L61/2557H04L61/5007G06F2009/45595
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,407,646
App. No.
18/639,631
Granted
Sep 2, 2025
Kind
B2
Abstract

Described herein are systems, methods, and software to manage internet protocol (IP) address allocation for tenants in a computing environment. In one implementation, a logical router associated with a tenant in the computing environment requests a public IP address for a new segment instance from a controller. In response to the request, the controller may select a public IP address from a pool of available IP addresses and update networking address translation (NAT) on the logical router to associate the public IP address with a private IP address allocated to the new segment instance.

Claims (63)

1. A method comprising:

maintaining a pool of a public internet protocol (IP) addresses;

receiving a first request for a first router associated with a first tenant to obtain a public IP address for a virtual node;

selecting a public IP address from a pool of public IP addresses, the pool comprising a plurality of public IP addresses associated with a second router;

updating network address translation (NAT) rules at the first router to associate a private IP address for the virtual node to the selected public IP address; and

updating a next hop configuration at the second router to send a packet associated with the selected public IP address to the first router, the first router being configured to direct traffic addressed to the selected public IP address to a private IP address of the virtual node.

2. The method of claim 1 , wherein the traffic addressed to any of the plurality of IP addresses is directed to the second router.

3. The method of claim 1 , wherein the second router connects the first router to one or more external networks.

4. The method of claim 1 , wherein the virtual node comprises a virtual machine in a segment for the tenant.

5. The method of claim 1 further comprising:

identifying a second request for a second router associated with a second tenant of a plurality of tenants to obtain a second public IP address for a new virtual node;

selecting a second public IP address from the pool of available public IP addresses; and

updating NAT rules at the second router to associate a second private IP address for the second virtual node to the second public IP address.

6. The method of claim 1 further comprising:

in response to selecting the public IP address, removing the selected public IP address from the pool of available public IP addresses.

7. The method of claim 1 further comprising:

identifying when the pool of available IP addresses satisfies one or more size criteria; and

obtaining one or more additional IP addresses for the pool.

8. The method of claim 7 , wherein the one or more size criteria comprises a quantity of IP addresses in the pool.

9. The method of claim 1 further comprising:

identifying a request to remove the public IP address from the virtual node;

updating NAT rules at the router to remove the association of the private IP address and the public IP address;

updating the next hope configuration at the second router to stop communicating packets associated with the public IP address to the router associated with the first tenant; and

adding the public IP address to the pool of available public IP addresses.

10. A computing apparatus comprising:

a storage system;

a processing system operatively coupled to the storage system; and

program instructions stored on the storage system that, when executed by the processing system, direct the computing apparatus to:

maintain a pool of a public internet protocol (IP) addresses;

receive a first request for a first router associated with a first tenant to obtain a public IP address for a virtual node;

select a public IP address from a pool of public IP addresses, the pool comprising a plurality of public IP addresses associated with a second router;

update network address translation (NAT) rules at the first router to associate a private IP address for the virtual node to the selected public IP address; and

update a next hop configuration at the second router to send a packet associated with the selected public IP address to the first router, the first router being configured to direct traffic addressed to the selected public IP address to a private IP address of the virtual node.

11. The computer apparatus of claim 10 , wherein the traffic addressed to any of the plurality of IP addresses is directed to the second router.

12. The computer apparatus of claim 10 , wherein the second router connects the first router to one or more external networks.

13. The computer apparatus of claim 10 , wherein the virtual node comprises a virtual machine in a segment for the tenant.

14. The computer apparatus of claim 10 , wherein the program instructions stored on the storage system that, when executed by the processing system, further direct the computing apparatus to:

identify a second request for a second router associated with a second tenant of a plurality of tenants to obtain a second public IP address for a new virtual node;

select a second public IP address from the pool of available public IP addresses; and

update NAT rules at the second router to associate a second private IP address for the second virtual node to the second public IP address.

15. The computer apparatus of claim 10 , wherein the program instructions stored on the storage system that, when executed by the processing system, further direct the computing apparatus to:

in response to selecting the public IP address, remove the selected public IP address from the pool of available public IP addresses.

16. The computer apparatus of claim 10 , wherein the program instructions stored on the storage system that, when executed by the processing system, further direct the computing apparatus to:

identify when the pool of available IP addresses satisfies one or more size criteria; and

obtain one or more additional IP addresses for the pool.

17. The computer apparatus of claim 10 , wherein the one or more size criteria comprises a quantity of IP addresses in the pool.

18. The computer apparatus of claim 10 , wherein the program instructions stored on the storage system that, when executed by the processing system, further direct the computing apparatus to:

identifying a request to remove the public IP address from the virtual node;

update NAT rules at the router to remove the association of the private IP address and the public IP address;

update the next hope configuration at the second router to stop communicating packets associated with the public IP address to the router associated with the first tenant; and

add the public IP address to the pool of available public IP addresses.

19. An apparatus comprising:

a storage system; and

program instructions program stored on the storage system that, when executed by a processing system, direct the processing system to:

maintain a pool of a public internet protocol (IP) addresses;

receive a first request for a first router associated with a first tenant to obtain a public IP address for a virtual node;

select a public IP address from a pool of public IP addresses, the pool comprising a plurality of public IP addresses associated with a second router;

update network address translation (NAT) rules at the first router to associate a private IP address for the virtual node to the selected public IP address; and

update a next hop configuration at the second router to send a packet associated with the selected public IP address to the first router, the first router being configured to direct traffic addressed to the selected public IP address to a private IP address of the virtual node.

20. The apparatus of claim 19 , wherein the program instructions further direct the processing system to:

identify a second request for a second router associated with a second tenant of a plurality of tenants to obtain a second public IP address for a new virtual node;

select a second public IP address from the pool of available public IP addresses; and

update NAT rules at the second router to associate a second private IP address for the second virtual node to the second public IP address.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 19, 2024
From: DEVIREDDY, DILEEP K; PARMAR, ANKIT; PATEL, HITESHKUMAR RAMESHCHANDRA
To: VMWARE, INC.
Reel/Frame 067162/0986 →
CHANGE OF NAME Recorded Apr 19, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067172/0851 →
Continuity (2)
Continuation 17155405 · Jan 22, 2021
Related Publication 20240267358A1 · Aug 8, 2024
References Cited (12)
US 10693715B1 · Strauss et al. · 2020 [cited by applicant]
US 11997067B2 · Devireddy · 2024 [cited by examiner]
US 20060067342A1 · Dispensa · 2006 [cited by applicant]
US 20130191257A1 · Koodli et al. · 2013 [cited by applicant]
US 20150281059A1 · Xiao · 2015 [cited by applicant]
US 20150281060A1 · Xiao · 2015 [cited by applicant]
US 20160234161A1 · Banerjee et al. · 2016 [cited by applicant]
US 20170048130A1 · Goliya et al. · 2017 [cited by applicant]
US 20170126497A1 · Dubey et al. · 2017 [cited by applicant]
WO 2017140867A1 · 2017 [cited by applicant]
Audet, F. et al., Network Address Translation (NAT) Behavioral Requirements for Unicast UDP, Jan. 2007, pp. 1-29. [cited by applicant]
Srisuresh, P. et al., IP Network Address Translator (NAT) Terminology and Considerations, Aug. 1999, pp. 1-30. [cited by applicant]