IP Library Granted Patent US 7,305,489
Granted Patent B2
US 7,305,489 · App. 10/356,038 · Granted Dec 4, 2007

Method and apparatus for aggregate network address routes

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 7,305,489
App. No.
10/356,038
Granted
Dec 4, 2007
Kind
B2
Abstract

A method for allocating network addresses comprises providing an address pool comprising a plurality of network addresses and then dividing the address pool into a plurality of address sub-pool that comprise a unique subset of the network addresses of the address pool. Each of the sub-pools is available for use by any one of a plurality of routing devices of a network access server. The method then comprises receiving a request to assign a first network address to a first user, allocating a first address sub-pool of the plurality of address sub-pools to a first routing device of the plurality of routing devices and transmitting a first message to the other routing devices to indicate that the first address sub-pool has been allocated. The method additionally comprises assigning the first network address to the first user from the first address sub-pool and advertising an aggregate route for the first address sub-pool over a network.

Claims (26)

1. In a network access server, a method for allocating network addresses comprising: providing an address pool comprising a plurality of network addresses; dividing the address pool into a plurality of address sub-pools, each of the sub-pools comprising a unique subset of the network addresses of the address pool, wherein each of the sub-pools is available for use by any one of a plurality of routing devices of the network access server; receiving a request to assign a first network address to a first user; allocating a first address sub-pool of the plurality of address sub-pools to a first routing device of the plurality of routing devices; transmitting a first message to the other routing devices of the plurality of routing devices to indicate that the first address sub-pool has been allocated to the first routing device; assigning the first network address to the first user from the first address sub-pool; and advertising an aggregate route for the first address sub-pool over a network.

2. The method of claim 1 , wherein the plurality of routing devices comprises a plurality of hardware routers installed in respective slots in the network access server.

3. The method of claim 2 , wherein each of the hardware routers is assigned a respective priority for using the sub-pools of network addresses, the respective priorities being based on the respective slots in which each router is installed.

4. The method of claim 3 , wherein the plurality of the address sub-pools are allocated to the plurality of routing devices based on their respective priorities.

5. The method of claim 1 , wherein the network addresses of the address pool comprise sequential network addresses.

6. The method of claim 1 , wherein the unique network addresses comprise Internet Protocol (IP) addresses.

7. The method of claim 1 , wherein the unique network addresses comprise addresses of a local area network.

8. The method of claim 1 , wherein the unique network addresses comprise addresses of a virtual private network.

9. The method of claim 1 , wherein each subset of network addresses of the sub-pools comprises an equal number of network addresses.

10. The method of claim 1 , wherein the plurality of routing devices comprises a plurality of software processes, each software process implementing a routing device and having a respective priority for using the sub-pools of network addresses.

11. The method of claim 1 , wherein receiving a request to assign the first network address to the first user comprises receiving a dial-in request from the first user.

12. The method of claim 1 , wherein receiving a request to assign the first network address to the first user comprises receiving a network request from the first user.

13. The method of claim 1 , wherein transmitting a message to the plurality of routing devices comprises transmitting a broadcast message via a bus of the network access server.

14. The method of claim 1 , wherein transmitting the message to the plurality of routing devices comprises transmitting the first message from the first routing device to the other routing devices.

15. The method of claim 1 , wherein assigning the first network address to the first user from the first address sub-pool comprises assigning a sequentially lowest available network address of the sub-pool.

16. The method of claim 1 , wherein the aggregate route for the first address sub-pool comprises a base network address for the first address sub-pool and an aggregate route mask that defines a sequentially last address of the first address sub-pool and, in turn, defines a number of sequential network addresses in the first address sub-pool.

17. The method of claim 1 , wherein the aggregate route for the first address sub-pool comprises a base network address for the first address sub-pool and a sub-pool size that indicates a number of sequential network addresses in the first address sub-pool.

18. The method of claim 1 , wherein the network comprises the Internet.

19. The method of claim 1 , further comprising: receiving, substantially contemporaneously with the first request, a second request to assign a second network address to a second user; allocating the first address sub-pool of the plurality of address sub-pools to a second routing device of the plurality of routing devices; transmitting a second message to the plurality of routing devices to indicate that the first address sub-pool has been allocated to the second routing device; transmitting a third message to the second routing device to indicate that the first routing device has also been allocated the first sub-pool and that the first routing device has priority to use the first sub-pool over the second routing device; and unallocating the first sub-pool from the second routing device.

20. A platform for assigning network addresses to users comprising: a plurality of routing devices; and memory having a set of instructions, wherein the instructions provide for: receiving a first request to assign a first network address to a first user; allocating a first address sub-pool of a plurality of address sub-pools to a first routing device of the plurality of routing devices, wherein each address sub-pool of the plurality of address sub-pools comprises a unique set of network addresses; transmitting a first message to the plurality of routing devices to indicate that the first address sub-pool has been allocated to the first routing device; assigning the first network address to the first user from the first address sub-pool; and advertising an aggregate route for the first address sub-pool over a network.

21. The platform of claim 20 , wherein the routing devices comprise hardware routers.

22. The platform of claim 20 , wherein the routing devices comprise software routers.

23. The platform of claim 20 , wherein the instructions further provide for: receiving a second request to assign a second network address to a second user; allocating a second address sub-pool to a second routing device; transmitting a second message to the plurality of routing devices to indicate that the second address sub-pool has been allocated to the second routing device; assigning the second network address to the second user from the second address sub-pool; and advertising an aggregate route for the second address sub-pool over the network.

24. The platform of claim 20 , wherein the instructions further provide for: unassigning the first network address from the first user; unallocating the first address sub-poffol from the first routing device; and transmitting a second message to the plurality of routing devices to indicate that the first address sub-pool is no longer allocated to the first routing device.

25. A method for allocating network addresses comprising: providing an address pool comprising a plurality of network addresses; dividing the address pool into a plurality of address sub-pools, each of the sub-pools comprising a unique subset of the network addresses of the address pool, wherein each of the sub-pools is available for use by any one of a plurality of routing devices of the network access server; receiving a first request to assign a first network address to a first user; allocating a first address sub-pool of the plurality of address sub-pools to a first routing device of the plurality of routing devices; transmitting a first message to the plurality of routing devices to indicate that the first address sub-pool has been allocated to the first routing device; assigning the first network address to the first user from the first address sub-pool; advertising an aggregate route for the first address sub-pool over a network; receiving a second request to assign a second network address to a second user; allocating a second address sub-pool to a second routing device; transmitting a second message to the plurality of routing devices to indicate that the second address sub-pool has been allocated to the second routing device; assigning the second network address to the second user from the second address sub-pool; advertising an aggregate route for the second address sub-pool over the network; receiving a third request to assign a third network address to a third user; assigning the third network address to the third user from the second address sub-pool; unassigning the first network address from the first user; unallocating the first address sub-pool from the first routing device; and transmitting a third message to the plurality of routing devices to indicate that the first address sub-pool is no longer allocated to the first routing device.

26. The method of claim 25 , further comprising: receiving a third request to assign a third network address to a third user; determining that all network addresses of the second address sub-pool have been assigned; allocating a third address sub-pool to the second routing device; transmitting a fourth message to the plurality of routing devices to indicate that the third address sub-pool has been allocated to the second routing device; assigning the third network address to the third user from the third address sub-pool; advertising an aggregate route for the third address sub-pool over the network.