IP Library Granted Patent US 12,101,292
Granted Patent B2
US 12,101,292 · App. 17/820,351 · Granted Sep 24, 2024

Dynamic network address management

Inventors: Xiaopei Liu (Beijing, CN); Jianjun Shen (Redwood City, CA); Donghai Han (Beijing, CN); Wenfeng Liu (Beijing, CN); Danting Liu (Beijing, CN)
Assignee: VMware LLC
H04L61/5061
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,101,292
App. No.
17/820,351
Filed
Aug 17, 2022
Granted
Sep 24, 2024
Kind
B2
Art Unit
2444
USPC
709/245
Abstract

A method for network address management is provided. Embodiments include determining a creation of a namespace associated with a cluster of computing devices, wherein a subset of computing resources of the cluster of computing devices is allocated to the namespace. Embodiments include assigning, to the namespace, a network address pool comprising a plurality of network addresses in a subnet, wherein the assigning causes the plurality of network addresses to be reserved exclusively for the namespace. Embodiments include receiving an indication that a pod is added to the namespace. Embodiments include, in response to the receiving of the indication, assigning a network address from the network address pool to the pod.

Claims (50)

1. A method for network address management, comprising:

determining a creation of a namespace associated with a cluster of virtual computing instances (VCIs), each of the VCIs comprising a pod, each pod comprising one or more containers, the namespace having associated therewith a subset of computing resources of the cluster of VCIs;

determining, by a network container plugin (NCP), a size of a first network address pool to allocate to the namespace based on a first specified subset prefix length the network address pool comprising a plurality of network addresses in a subnet;

reserving, by the NCP, the plurality of network addresses in the subnet exclusively for the namespace by allocating the first network address pool to the first namespace;

receiving an indication that a pod is added to the namespace;

in response to the receiving of the indication, assigning a network address from the first network address pool to the pod;

determining that an addition of a new pod to the namespace causes a required number of network addresses for the namespace to exceed a number of available network addresses in the first network address pool; and

dynamically allocating a second network address pool to the namespace based on the addition of the new pod to the namespace, the second network address pool comprising a second plurality of network addresses in a second subnet, a size of the additional network address pool being determined based on a second specified subset prefix length, the second specified subset prefix length being different from the first specified subset prefix length.

2. The method of claim 1 , further comprising:

determining a creation of a new namespace associated with the cluster of computing devices, wherein a different subset of the computing resources of the cluster of computing devices is allocated to the new namespace; and

assigning a third network address pool to the new namespace, wherein the third network address pool comprises a third plurality of network addresses in a third subnet.

3. The method of claim 2 , further comprising releasing the third network address pool from the new namespace based on determining that the new namespace has been deleted.

4. The method of claim 1 , further comprising:

determining, based on a removal of a given pod from the namespace, that no network addresses in the second network address pool are in use by the namespace; and

releasing the second network address pool from the namespace.

5. The method of claim 1 , wherein the subnet is determined based on the first subnet prefix length.

6. The method of claim 1 , wherein the pod added to the namespace comprises one or more containers supported by a container engine.

7. A system for network address management, the system comprising:

at least one memory; and

at least one processor coupled to the at least one memory, the at least one processor and the at least one memory configured to:

determine a creation of a namespace associated with a cluster of virtual computing instances (VCIs), each of the VCIs comprising a pod, each pod comprising one or more containers, the namespace having associated therewith a subset of computing resources of the cluster of VCIs;

determine, by a network container plugin (NCP), a size of a first network address pool to allocate to the namespace based on a first specified subset prefix length the network address pool comprising a plurality of network addresses in a subnet;

reserve, by the NCP, the plurality of network addresses in the subnet exclusively for the namespace by allocating the first network address pool to the namespace;

receive an indication that a pod is added to the namespace;

in response to the receiving of the indication, assign a network address from first the network address pool to the pod;

determine that an addition of a new pod to the namespace causes a required number of network addresses for the namespace to exceed a number of available network addresses in the first network address pool; and

dynamically allocate a second network address pool to the namespace based on the addition of the new pod to the namespace, the second network address pool comprising a second plurality of network addresses in a second subnet, a size of the additional network address pool being determined based on a second specified subset prefix length, the second specified subset prefix length being different from the first specified subset prefix length.

8. The system of claim 7 , wherein the at least one processor and the at least one memory are further configured to:

determine a creation of a new namespace associated with the cluster of computing devices, wherein a different subset of the computing resources of the cluster of computing devices is allocated to the new namespace; and

assign a third network address pool to the new namespace, wherein the third network address pool comprises a third plurality of network addresses in a third subnet.

9. The system of claim 8 , wherein the at least one processor and the at least one memory are further configured to release the third network address pool from the new namespace based on determining that the new namespace has been deleted.

10. The system of claim 7 , wherein the at least one processor and the at least one memory are further configured to:

determine, based on a removal of a given pod from the namespace, that no network addresses in the second network address pool are in use by the namespace; and

release the second network address pool from the namespace.

11. The system of claim 7 , wherein the subnet is determined based the first subnet prefix length.

12. The system of claim 7 , wherein the pod added to the namespace comprises one or more containers supported by a container engine.

13. A non-transitory computer-readable medium storing instructions that, when executed by one or more processors, cause the one or more processors to:

determine a creation of a namespace associated with a cluster of virtual computing instances (VCIs), each of the VCIs comprising a pod, each pod comprising one or more containers, the namespace having associated therewith a subset of computing resources of the cluster of VCIs;

determine, by a network container plugin (NCP), a size of a first network address pool to allocate to the namespace based on a first specified subset prefix length the network address pool comprising a plurality of network addresses in a subnet;

reserve by the NCP, the plurality of network addresses in the subnet exclusively for the namespace by allocating the first network address pool to the namespace;

receive an indication that a pod is added to the namespace;

in response to the receiving of the indication, assign a network address from the first network address pool to the pod;

determine that an addition of a new pod to the namespace causes a required number of network addresses for the namespace to exceed a number of available network addresses in the first network address pool; and

dynamically allocate a second network address pool to the namespace based on the addition of the new pod to the namespace, the second network address pool comprising a second plurality of network addresses in a second subnet, a size of the additional network address pool being determined based on a second specified subset prefix length, the second specified subset prefix length being different from the first specified subset prefix length.

14. The non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to:

determine a creation of a new namespace associated with the cluster of computing devices, wherein a different subset of the computing resources of the cluster of computing devices is allocated to the new namespace; and

assign a third network address pool to the new namespace, wherein the third network address pool comprises a third plurality of network addresses in a third subnet.

15. The non-transitory computer-readable medium of claim 14 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to release the third network address pool from the new namespace based on determining that the new namespace has been deleted.

16. The non-transitory computer-readable medium of claim 13 , wherein the instructions, when executed by the one or more processors, further cause the one or more processors to: determine, based on a removal of a given pod from the namespace, that no network addresses in the second network address pool are in use by the namespace; and release the second network address pool from the namespace.

17. The non-transitory computer-readable medium of claim 13 , wherein the subnet is determined based on the first subnet prefix length.

Assignments (2)
CHANGE OF NAME Recorded May 8, 2024
From: VMWARE, INC.
To: VMWARE LLC
Reel/Frame 067355/0001 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 17, 2022
From: LIU, XIAOPEI; SHEN, JIANJUN; HAN, DONGHAI; LIU, WENFENG; LIU, DANTING
To: VMWARE, INC.
Reel/Frame 060832/0542 →