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.