A method for managing
Internet Protocol (IP) addresses on a data communications network includes allocating multiple local
IP address pools, requesting
IP address usage data from one or more of the network edge devices, receiving the requested
IP address usage data, determining whether the local IP address pools should be reallocated based upon the requested IP address
usage data, reallocating one or more of the local IP address pools based upon the determination and updating one or more of the local IP
address pool databases and a global IP
pool database based upon the reallocating. Each of the local IP address pools is associated with a different network
edge device that is capable of accepting connection requests requiring an IP address. The global IP
address pool database includes the information maintained in each local IP
address pool. A network
edge device capable of managing IP addresses on a data communications network includes an allocator capable of allocating multiple local IP address pools, a
receiver capable of receiving a communication, an allocator capable of allocating an available IP address from the local IP address
pool if the communication includes a connection request, a determiner capable of determining whether the local IP address
pool should be adjusted, a notifier capable of sending an
alarm message to an IP pool manager when the IP address pool should be adjusted and a memory capable of storing an IP address allocation when the communication includes an IP address allocation.