IP Library Granted Patent US 9,749,288
Granted Patent B2
US 9,749,288 · App. 14/627,467 · Granted Aug 29, 2017

Management of network address pools

Inventors: Michael Kolesnik (Raanana, IL); Mordechay Asayag (Raanana, IL)
Assignee: Red Hat Israel, Ltd.
H04L61/2061H04L61/2007H04L69/324H04L61/2038H04L61/6022H04L61/6095
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 9,749,288
App. No.
14/627,467
Granted
Aug 29, 2017
Kind
B2
Abstract

Systems and methods for storing and managing pools of network addresses. An example method may comprise: identifying, in a data structure representing a pool of network addresses, an index value of an element having a defined state; determining, by a processing device, a network address in view of the index value and a base network address associated with the pool; and modifying the state of the element of the data structure.

Claims (45)

1. A method comprising:

determining a ratio of unavailable network addresses within a pool of network addresses;

selecting a search method from a plurality of search methods based on the ratio of unavailable network addresses;

identifying, in a data structure representing the pool of network addresses, an index value of an element in view of the selected search method;

determining, by a processing device, a network address in view of the index value and a base network address associated with the pool; and

modifying a state of the element in the data structure representing the pool of network addresses.

2. The method of claim 1 , wherein the network address is a data link layer address representing a unique identifier to be associated with a virtual network interface.

3. The method of claim 1 , further comprising:

receiving a request over a network for an available network address; and

transmitting a response over the network with the determined network address.

4. The method of claim 1 , wherein the data structure comprises a bit array comprising a plurality of elements, each element of the plurality of elements corresponding to a respective network address within the pool of network addresses.

5. The method of claim 1 , wherein the state indicates whether the corresponding network address is available for use by a network interface.

6. The method of claim 1 , wherein determining the ratio of unavailable network addresses comprises:

identifying a number of unavailable network addresses within the pool of network addresses; and

identifying a total number of network addresses within the pool of network addresses.

7. The method of claim 6 , wherein selecting the search method comprises selecting a first search method in response to the ratio being below a threshold value, the first search method comprising iterating through randomly selected elements until an element corresponding to an available network address is identified.

8. The method of claim 7 , wherein selecting the search method comprises selecting a second search method in response to the ratio being above the threshold value, the second search method comprising a linear search that begins at a first element of the data structure and ends in response to identifying an element corresponding to an available network address.

9. The method of claim 1 , wherein determining the network address comprises:

adding a value of the base network address and the index value to produce a combined value; and

converting the combined value to a MAC address format.

10. The method of claim 1 further comprising, merging a plurality of network address ranges into the pool of network addresses, wherein the merging comprises removing elements associated with duplicate network addresses.

11. The method of claim 1 , wherein the determining a network address in view of the index value is performed by a machine that creates virtual machine images.

12. The method of claim 1 , wherein the network addresses are Internet Protocol (IP) addresses and wherein the determining a network address in view of the index value is performed by a dynamic host configuration protocol (DHCP) server.

13. A system comprising:

a memory; and

a processing device communicably coupled to the memory, the processing device to:

determine a ratio of unavailable network addresses within a pool of network addresses;

select a search method from a plurality of search methods based on the ratio of unavailable network addresses;

identify, in a data structure representing the pool of network addresses, an index value of an element in view of the selected search method;

determine a network address in view of the index value and a base network address associated with the pool; and

modify a state of the element in the data structure representing the pool of network addresses.

14. The system of claim 13 , wherein the network address is a data link layer address representing a unique identifier to be associated with a virtual network interface.

15. The system of claim 13 , wherein the processing device is further to:

receive a request over a network for an available network address; and

transmit a response over the network with the determined network address.

16. The system of claim 13 , wherein the data structure comprises a bit array comprising a plurality of elements, each element of the plurality of elements corresponding to a respective network address within the pool of network addresses.

17. A non-transitory machine-readable storage medium storing instructions that cause a processing device to:

determine a ratio of unavailable network addresses within a pool of network addresses;

select a search method from a plurality of search methods based on the ratio of unavailable network addresses;

identify, in a data structure representing the pool of network addresses, an index value of an element in view of the selected search method;

determine, by a processing device, a network address in view of the index value and a base network address associated with the pool; and

modify a state of the element in the data structure representing the pool of network addresses.

18. The non-transitory machine-readable storage medium of claim 17 , wherein the network address is a data link layer address representing a unique identifier to be associated with a virtual network interface.

19. The non-transitory machine-readable storage medium of claim 17 , wherein the data structure comprises a bit array comprising a plurality of elements, each element of the plurality of elements corresponding to a respective network address within the pool of network addresses.

20. The non-transitory machine-readable storage medium of claim 17 , wherein the state indicates whether the corresponding network address is available for use by a network interface.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Feb 20, 2015
From: KOLESNIK, MICHAEL; ASAYAG, MORDECHAY
To: RED HAT ISRAEL, LTD.
Reel/Frame 034996/0467 →
Continuity (1)
Related Publication 20160248732A1 · Aug 25, 2016