IP Library › Granted Patent US 11,456,987
Granted Patent B1
US 11,456,987 · App. 17/315,113 · Granted Sep 27, 2022

Systems and methods for automatic internet protocol address management

Inventor: Grant McKim (Mesa, AZ)
Assignee: STATE FARM MUTUAL AUTOMOBILE INSURANCE COMPANY
H04L61/2007H04L61/2061H04L61/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 11,456,987
App. No.
17/315,113
Granted
Sep 27, 2022
Kind
B1
Abstract

A system and method for automatic IP address range allocation is provided. The system and method include a) storing an availability map of IP addresses including a pointer to a next available IP address range of a first size, b) receiving, from a requestor computer device, a request for an IP address range of the first size, c) selecting the next available IP address range of the first size based on the pointer, d) moving the pointer to another available IP address range of the first size, e) placing the selected IP address range of the first size in a quarantine pool, and f) transmitting, to the requestor computer device, the selected IP address range of the first size.

Claims (104)

1. A system for automatic IP address range allocation comprising:

one or more processors, one or more computer readable storage devices, and a plurality of program instructions stored on at least one of the one or more storage devices for execution by at least one of the one or more processors, when executed by the one or more processors, the plurality of program instructions cause the one or more processors to:

store an availability map of IP addresses including a pointer to a next available IP address range of a first size;

receive, from a requestor computer device, a request for an IP address range of the first size;

select the next available IP address range of the first size based on the pointer;

move the pointer to another available IP address range of the first size;

transmit, to the requestor computer device, the selected IP address range of the first size;

receive, from the requestor computer device, a second request for an IP address range of a second size, wherein the second size includes a plurality of IP address ranges of the first size;

scan the availability map of IP addresses to detect the IP address range of the second size, wherein the IP address range of the second size is a continuous set of a plurality of IP address ranges of the first size;

select the detected IP address range of the second size; and

transmit, to the requestor computer device, the selected IP address range of the second size.

2. The system of claim 1 , wherein the first size is a continuous set of 256 IP addresses.

3. The system of claim 1 , wherein the plurality of program instructions cause the one or more processors to:

place the selected IP address range of the first size in a quarantine pool which includes a listing of IP addresses that are currently unavailable; and

place the plurality of IP address ranges of the first size in the selected IP address range of the second size in the quarantine pool.

4. The system of claim 1 , wherein the plurality of program instructions cause the one or more processors to move the pointer to another available IP address range of the first size if the plurality of IP address ranges of the first size includes the next available IP address range of the first size.

5. The system of claim 1 , wherein the availability map of IP addresses further includes one or more unused sections of at least one IP address range of the first size, wherein the plurality of program instructions cause the one or more processors to:

store a reserve pool including at least one IP address range of the first size;

receive, from the requestor computer device, a third request for an IP address range of a third size, wherein the first size includes a plurality of IP address ranges of the third size;

scan the availability map of IP addresses to detect whether one of the one or more unused sections matches the IP address range of the third size;

select the detected unused section that matches the IP address range of the third size;

place the selected IP address range of the first size in a quarantine pool which includes a listing of IP addresses that are currently unavailable;

place the selected section of the third size in the quarantine pool; and

transmit, to the requestor computer device, the selected section of the third size.

6. The system of claim 5 , wherein the plurality of program instructions cause the one or more processors to:

determine that the availability map of IP addresses does not include an unused section of the third size; and

determine whether the availability map of IP addresses includes an unused section of a fourth size, wherein the IP address range of the fourth size includes a plurality of IP address ranges of the third size.

7. The system of claim 6 , wherein the plurality of program instructions cause the one or more processors to:

determine that the availability map of IP addresses includes an unused section of the fourth size;

divide the unused section of the fourth size into a plurality of sections including a selected section of the third size;

store the remaining sections of the plurality of sections in the availability map of IP addresses;

place the selected section of the third size into the quarantine pool; and

transmit, to the requestor computer device, the selected section of the third size.

8. The system of claim 6 , wherein the plurality of program instructions cause the one or more processors to:

determine that the availability map of IP addresses does not include an unused section of the fourth size;

select the next available IP address range of the first size based on the pointer;

move the pointer to another available IP address range of the first size;

divide the selected IP address range of the first size into a plurality of sections including a selected section of the third size;

store the remaining sections of the plurality of sections in the availability map of IP addresses;

store the selected IP address range of the first size in the reserve pool;

place the selected section of the third size in the quarantine pool; and

transmit, to the requestor computer device, the selected section of the third size.

9. The system of claim 1 , wherein the plurality of program instructions cause the one or more processors to:

determine a listing of IP address ranges that are currently in use; and

update the availability map of IP addresses based on the listing of IP address ranges.

10. The system of claim 9 , wherein the plurality of program instructions cause the one or more processors to:

store a quarantine pool which includes a listing of IP addresses that are currently unavailable;

compare the listing of IP address ranges to the quarantine pool to detect any matches; and

remove any IP address ranges from the quarantine pool based on the matches.

11. The system of claim 10 , wherein each IP address range in the quarantine pool includes an expiration time, and wherein the plurality of program instructions cause the one or more processors to:

scan the quarantine pool to see if any IP address ranges have exceeded their expiration time; and

remove those IP address ranges from the quarantine pool that exceeded their expiration time.

12. A computer implemented method for automatic IP address range allocation implemented using at least one processor, the method comprising:

storing, in one or more storage devices, an availability map of IP addresses including a pointer to a next available IP address range of a first size;

receiving, from a requestor computer device, a request for an IP address range of the first size;

selecting the next available IP address range of the first size based on the pointer;

moving the pointer to another available IP address range of the first size;

transmitting, to the requestor computer device, the selected IP address range of the first size;

receiving, from the requestor computer device, a second request for an IP address range of a second size, wherein the second size includes a plurality of IP address ranges of the first size;

scanning the availability map of IP addresses to detect the IP address range of the second size, wherein the IP address range of the second size is a continuous set of a plurality of IP address ranges of the first size;

selecting the detected IP address range of the second size; and

transmitting, to the requestor computer device, the selected IP address range of the second size.

13. The method of claim 12 , wherein the first size is a continuous set of 256 IP addresses.

14. The method of claim 12 further comprising:

placing the selected IP address range of the first size in a quarantine pool which includes a listing of IP addresses that are currently unavailable; and

placing the plurality of IP address ranges of the first size in the selected IP address range of the second size in the quarantine pool.

15. The method of claim 12 further comprising moving the pointer to another available IP address range of the first size if the plurality of IP address ranges of the first size includes the next available IP address range of the first size.

16. The method of claim 12 further comprising:

storing one or more unused sections of at least one IP address range of the first size in the IP availability map;

storing a reserve pool including the at least one IP address range of the first size;

receiving, from the requestor computer device, a third request for an IP address range of a third size, wherein the first size includes a plurality of IP address ranges of the third size;

scanning the IP availability map to detect whether one of the one or more unused sections matches the IP address range of the third size;

selecting the detected unused section that matches the IP address range of the third size;

placing the selected IP address range of the first size in a quarantine pool which includes a listing of IP addresses that are currently unavailable;

placing the selected section of the third size in the quarantine pool; and

transmitting, to the requestor computer device, the selected section of the third size.

17. The method of claim 16 further comprising:

determining that the IP availability map does not include an unused section of the third size; and

determining whether the IP availability map includes an unused section of a fourth size, wherein the IP address range of the fourth size includes a plurality of IP address ranges of the third size.

18. The method of claim 17 further comprising:

determining that the IP availability map includes an unused section of the fourth size;

dividing the unused section of the fourth size into a plurality of sections including a selected section of the third size;

storing the remaining sections of the plurality of sections in the IP availability map;

placing the selected section of the third size into the quarantine pool; and

transmitting, to the requestor computer device, the selected section of the third size.

19. The method of claim 17 further comprising:

determining that the IP availability map does not include an unused section of the fourth size;

selecting the next available IP address range of the first size based on the pointer;

moving the pointer to another available IP address range of the first size;

dividing the selected IP address range of the first size into a plurality of sections including a selected section of the third size;

storing the remaining sections of the plurality of sections in the IP availability map;

storing the selected IP address range of the first size in the reserve pool;

placing the selected section of the third size in the quarantine pool; and

transmitting, to the requestor computer device, the selected section of the third size.

20. The method of claim 12 further comprising:

determining a listing of IP address ranges that are currently in use; and

updating the availability map of IP addresses based on the listing of IP address ranges.

21. The method of claim 20 further comprising:

storing a quarantine pool which includes a listing of IP addresses that are currently unavailable;

comparing the listing of IP address ranges to the quarantine pool to detect any matches; and

removing any IP address ranges from the quarantine pool based on the matches.

22. The method of claim 21 , wherein each IP address range in the quarantine pool includes an expiration time, and wherein method further comprises:

scanning the quarantine pool to see if any IP address ranges have exceeded their expiration time; and

removing those IP address ranges from the quarantine pool that exceeded their expiration time.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded May 7, 2021
From: MCKIM, GRANT
To: STATE FARM MUTUAL AUTOMOBILE INSURANCE COMPANY
Reel/Frame 056176/0603 →
Cited By (3)
US 12,224,979 US 12,493,673 US 12,574,350