Resource allocation and reclamation for on-demand address pools
First Claim
1. A method for on-demand management of Internet Protocol (IP) address pools, the method comprising:
- receiving a first dynamically assigned subnet from a global IP address pool, wherein the global IP address pool maintains a pool of IP addresses for one or more remote domains, the first dynamically assigned subnet specifying a contiguous set of IP addresses and corresponding to one of the one or more remote domains;
storing the first dynamically assigned subnet in a local IP address pool;
receiving a second dynamically assigned subnet, the second dynamically assigned subnet specifying a contiguous set of IP addresses and corresponding to the one of the one or more remote domains;
storing the second dynamically assigned subnet in the local IP address pool;
allocating an IP address from the local IP address pool, wherein the local IP address pool comprises the first and the second dynamically assigned subnets, when a request to connect to the one of the one or more remote domains is received, wherein the allocating is based on a first-assigned subnet policy, in which the IP address is allocated from a least recently assigned subnet in the local IP address pool corresponding to the one of the one or more remote domains and having at least one unallocated IP address, monitoring the local IP address pool utilization, and requesting one or more additional subnets specifying a contiguous set of IP addresses corresponding to the one of the one or more remote domains from the global IP address pool if utilization of the local IP address pool exceeds a first high threshold and releasing one or more subnets from the local IP address pool to the global IP address pool if utilization of the local IP address pool falls below a second low threshold, wherein the requesting one or more additional subnets comprises requesting a subnet having a first predetermined number of IP addresses, wherein the first high and second low thresholds are preconfigured before the one or more additional subnets are requested; and
deallocating the IP address if the IP address is released, wherein the one of the one or more remote domains comprises a virtual private network;
wherein the releasing one or more subnets is based on a last-assigned subnet first policy, in which the one or more subnet that was most recently assigned and stored in the local IP address pool is released first,wherein the last-assigned subnet first policy further comprises;
releasing the one or more subnets from the local IP address pool by selecting the one or more subnets to be released from subnets having no allocated IP addresses, releasing the one or more subnets based upon a subnet assignment time and releasing the one or more subnets in decreasing order of subnet assignment times;
wherein the releasing one or more subnets further comprises releasing a subnet having a second predetermined number of IP addresses.
2 Assignments
0 Petitions
Accused Products
Abstract
A method for on-demand management of Internet Protocol (IP) address pools includes allocating an unused IP address from a local IP address pool designated for a remote domain if a request to connect to the remote domain is received and deallocating an IP address if the IP address is released. The local IP address pool includes at least one subnet dynamically assigned from a global IP address pool. Each of the subnets specifies a contiguous set of one or more IP addresses. IP addresses are allocated using a first-assigned-subnet-first policy, wherein an IP address is allocated from a least recently assigned subnet having at least one unallocated IP address. According to one aspect, subnets are deassigned using a last-assigned-subnet-first policy, wherein the deassigned subnet is the most recently assigned subnet having no allocated IP addresses.
-
Citations
46 Claims
-
1. A method for on-demand management of Internet Protocol (IP) address pools, the method comprising:
-
receiving a first dynamically assigned subnet from a global IP address pool, wherein the global IP address pool maintains a pool of IP addresses for one or more remote domains, the first dynamically assigned subnet specifying a contiguous set of IP addresses and corresponding to one of the one or more remote domains; storing the first dynamically assigned subnet in a local IP address pool; receiving a second dynamically assigned subnet, the second dynamically assigned subnet specifying a contiguous set of IP addresses and corresponding to the one of the one or more remote domains; storing the second dynamically assigned subnet in the local IP address pool; allocating an IP address from the local IP address pool, wherein the local IP address pool comprises the first and the second dynamically assigned subnets, when a request to connect to the one of the one or more remote domains is received, wherein the allocating is based on a first-assigned subnet policy, in which the IP address is allocated from a least recently assigned subnet in the local IP address pool corresponding to the one of the one or more remote domains and having at least one unallocated IP address, monitoring the local IP address pool utilization, and requesting one or more additional subnets specifying a contiguous set of IP addresses corresponding to the one of the one or more remote domains from the global IP address pool if utilization of the local IP address pool exceeds a first high threshold and releasing one or more subnets from the local IP address pool to the global IP address pool if utilization of the local IP address pool falls below a second low threshold, wherein the requesting one or more additional subnets comprises requesting a subnet having a first predetermined number of IP addresses, wherein the first high and second low thresholds are preconfigured before the one or more additional subnets are requested; and deallocating the IP address if the IP address is released, wherein the one of the one or more remote domains comprises a virtual private network; wherein the releasing one or more subnets is based on a last-assigned subnet first policy, in which the one or more subnet that was most recently assigned and stored in the local IP address pool is released first, wherein the last-assigned subnet first policy further comprises; releasing the one or more subnets from the local IP address pool by selecting the one or more subnets to be released from subnets having no allocated IP addresses, releasing the one or more subnets based upon a subnet assignment time and releasing the one or more subnets in decreasing order of subnet assignment times; wherein the releasing one or more subnets further comprises releasing a subnet having a second predetermined number of IP addresses. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A non-transitory computer readable storage medium storing a program embodying instructions executable by a computer to perform a method for on-demand management of Internet Protocol (IP) address pools, the method comprising:
-
receiving a first dynamically assigned subnet from a global IP address pool, wherein the global IP address pool maintains a pool of IP addresses for one or more remote domains, the first dynamically assigned subnet specifying a contiguous set of IP addresses and corresponding to if one of the one or more remote domains; storing the first dynamically assigned subnet in a local IP address pool; receiving a second dynamically assigned subnet, the second dynamically assigned subnet specifying a contiguous set of IP addresses and corresponding to the one of the one or more remote domains; storing the second dynamically assigned subnet in the local IP address pool; allocating an IP address from the local IP address pool, wherein the local IP address pool comprises the first and the second dynamically assigned subnets, when a request to connect to the one of the one or more remote domains is received, wherein the allocating is based on a first-assigned subnet policy, in which the IP address is allocated from a least recently assigned subnet in the local IP address pool corresponding to the one of the one or more remote domains and having at least one unallocated IP address, monitoring the local IP address pool utilization, and requesting one or more additional subnets specifying a contiguous set of IP addresses corresponding to the one of the one or more remote domains from the global IP address pool if utilization of the local IP address pool exceeds a first high threshold and releasing one or more subnets from the local IP address pool to the global IP address pool if utilization of the local IP address pool falls below a second low threshold, wherein the requesting one or more additional subnets comprises requesting a subnet having a first predetermined number of IP addresses, the first high and second low thresholds are preconfigured before the one or more additional subnets are requested; and deallocating the IP address if the IP address is released, wherein the one of the one or more remote domains comprises a virtual private network; wherein the releasing one or more subnets is based on a last-assigned subnet first policy, in which the one or more subnets that was most recently assigned and stored in the local IP address pool is released first, wherein the last-assigned subnet first policy further comprises; releasing the one or more subnets from the local IP address pool by selecting the one or more subnets to be released from subnets having no allocated IP addresses, releasing the one or more subnets based upon a subnet assignment time and releasing the one or more subnets in decreasing order of subnet assignment times; wherein the releasing one or more subnets further comprises releasing a subnet having a second predetermined number of IP addresses. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
-
-
23. A system for on-demand management of Internet Protocol (IP) address pools, the system comprising:
-
a memory; and a computer processor operably coupled to the memory element for managing IP address pools, including; means for receiving a first dynamically assigned subnet from a global IP address pool, wherein the global IP address pool maintains a pool of IP addresses for one or more remote domains, the first dynamically assigned subnet specifying a contiguous set of IP addresses and corresponding to one of the one or more remote domains; means for storing the first dynamically assigned subnet in a local IP address pool; means for receiving a second dynamically assigned subnet, the second dynamically assigned subnet specifying a contiguous set of IP addresses and corresponding to the one of the one or more remote domains; means for storing the second dynamically assigned subnet in the local IP address pool; means for allocating an IP address from the local IP address pool, wherein the local IP address pool comprises the first and the second dynamically assigned subnets, when a request to connect to the one of the one or more remote domains is received, wherein the allocating is based on a first-assigned subnet policy, in which the IP address is allocated from a least recently assigned of any subnets in the local IP address pool having at least one unallocated IP address corresponding to the one of the one or more remote domains, monitoring the local IP address pool utilization, and requesting one or more additional subnets specifying a contiguous set of IP addresses corresponding to the one of the one or more remote domains from the global IP address pool if utilization of the local IP address pool exceeds a first high threshold and releasing one or more subnets from the local IP address pool to the global IP address pool if utilization of the local IP address pool falls below a second low threshold, wherein the requesting one or more additional subnets comprises requesting a subnet having a first predetermined number of IP addresses, wherein the first high and second low thresholds are preconfigured before the one or more additional subnets are requested; and means for deallocating the IP address if the IP address is released, wherein the one of the one or more remote domains comprises a virtual private network; wherein the releasing one or more subnets is based on a last-assigned subnet first policy, in which the one or more subnet that was most recently assigned and stored in the local IP address pool is released first, wherein the last-assigned subnet first policy further comprises; releasing the one or more subnets from the local IP address pool by selecting the one or more subnets to be released from subnets having no allocated IP addresses, releasing the one or more subnets based upon a subnet assignment time and releasing the one or more subnets in decreasing order of subnet assignment times; wherein the releasing one or more subnets further comprises releasing a subnet having a second predetermined number of IP addresses. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
-
-
34. An apparatus for on-demand management of Internet Protocol (IP) address pools, the apparatus comprising:
-
a memory; and a computer processor operably coupled to the memory element and operable to execute instructions associated with a local IP address pools manager, wherein the local IP address pools manager is configured to receive a first dynamically assigned subnet from a global IP address pool, wherein the global IP address pool maintains a pool of IP addresses for one or more remote domains, the first dynamically assigned subnet specifying a contiguous set of IP addresses and corresponding to a one of the one or more remote domains, to store the first dynamically assigned subnet in a local IP address pool, to receive a second dynamically assigned subnet, the second dynamically assigned subnet specifying a contiguous set of IP addresses and corresponding to the one of the one or more remote domains, and to store the second dynamically assigned subnet in the local IP address pool; wherein the local IP address pools manager contains an IP address allocator configured to allocate an IP address from the local IP address pool, wherein the local IP address pool comprises the first and the second dynamically assigned subnets, when a request to connect to the one of the one or more remote domains is received, wherein the allocating is based on a first-assigned subnet policy, in which the IP address is allocated from a least recently assigned subnet in the local IP address pool corresponding to the one of the one or more remote domains and having at least one unallocated IP address, monitoring the local IP address pool utilization, and requesting one or more additional subnets specifying a contiguous set of IP addresses corresponding to the one of the one or more remote domains from the global IP address pool if utilization of the local IP address pool exceeds a first high threshold and releasing one or more subnets to the global IP address pool if utilization of the local IP address pool falls below a second low threshold, wherein the requesting one or more additional subnets comprises requesting a subnet having a first predetermined number of IP addresses, wherein the first high and second low thresholds are preconfigured before the one or more additional subnets are requested; and wherein the local IP address pools manager further contains an IP address deallocator configured to deallocate the IP address if the IP address is unused, wherein the one of the one or more remote domains comprises a virtual private network; wherein the releasing one or more subnets is based on a last-assigned subnet first policy, in which the one or more subnets that was most recently assigned and stored in the local IP address pool is released first, wherein the last-assigned subnet first policy further comprises; releasing the one or more subnets from the local IP address pool by selecting the one or more subnets to be released from subnets having no allocated IP addresses, releasing the one or more subnets based upon a subnet assignment time and releasing the one or more subnets in decreasing order of subnet assignment times; wherein the releasing one or more subnets further comprises releasing a subnet having a second predetermined number of IP addresses. - View Dependent Claims (35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46)
-
Specification