Patent ID: 7788345

Claim:
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.