IP Library Granted Patent US 9,055,112
Granted Patent B2
US 9,055,112 · App. 13/621,891 · Granted Jun 9, 2015

Dynamically allocating network addresses

Inventors: Albert P. Niemoller (Seattle, WA); Andrew B. Dickinson (Seattle, WA); Bradley D. Roberts (Bellevue, WA); Eric P. Wei (Seattle, WA); Colin J. Whittaker (Dublin, IE)
Assignee: Amazon Technologies, Inc.
H04L61/2007H04L61/2038
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 9,055,112
App. No.
13/621,891
Granted
Jun 9, 2015
Kind
B2
Abstract

Network addresses are dynamically allocated to devices based on demand. A first network address allocation is initially assigned to a subdivision of a network including multiple computing devices. A router for the subdivision is configured to implement the first network address allocation. Data indicating a reconfiguration of the computing devices is obtained. A second network address allocation is subsequently assigned to the subdivision of the network based at least in part on the reconfiguration of the computing devices. The router for the subdivision is reconfigured to implement the second network address allocation.

Claims (48)

1. A non-transitory computer-readable medium embodying a program executable in at least one computing device, comprising:

code that initially assigns a first network address allocation to a subdivision of a network including a plurality of computing devices based at least in part on a respective computing device type for individual ones of the plurality of computing devices;

code that configures a router for the subdivision to implement the first network address allocation;

code that obtains data indicating a reconfiguration of the plurality of computing devices to host an increased quantity of virtualized machine instances;

code that dynamically assigns a second network address allocation to the subdivision of the network based at least in part on the reconfiguration of the plurality of computing devices;

code that reconfigures the router for the subdivision to implement the second network address allocation;

code that obtains data indicating a subsequent reconfiguration of the plurality of computing devices included in the subdivision to host a reduced quantity of virtualized machine instances;

code that releases a third network address allocation assigned to the subdivision based at least in part on the subsequent reconfiguration of the plurality of computing devices; and

code that reconfigures the router for the subdivision to exclude advertising of the third network address allocation.

2. The non-transitory computer-readable medium of claim 1 , further comprising code that reconfigures one of the plurality of computing devices to use a different network address in response to the third network address allocation being released.

3. The non-transitory computer-readable medium of claim 1 , wherein the third network address allocation is a subset of the first network address allocation or the second network address allocation.

4. A system, comprising:

at least one computing device; and

an address allocation service executable by the at least one computing device, the address allocation service being configured to:

initially assign a first network address allocation to a subdivision of a network, the subdivision including a plurality of computing devices;

configure a router for the subdivision to implement the first network address allocation;

obtain data indicating a reconfiguration of the plurality of computing devices, wherein the reconfiguration changes a quantity of virtualized machine instances hosted by the plurality of computing devices;

dynamically assign a second network address allocation to the subdivision of the network based at least in part on the reconfiguration of the plurality of computing devices; and

reconfigure the router for the subdivision to implement the second network address allocation.

5. The system of claim 4 , wherein the plurality of computing devices include a plurality of virtualized machine instances which employ a variable quantity of network addresses.

6. The system of claim 4 , wherein the second network address allocation is dynamically assigned based at least in part on an increased quantity of virtualized machine instances hosted by the plurality of computing devices pursuant to the reconfiguration of the plurality of computing devices.

7. The system of claim 4 , wherein the second network address allocation is dynamically assigned based at least in part on a network address assignment velocity associated with the plurality of computing devices.

8. The system of claim 4 , wherein the first network address allocation is based at least in part on a respective computing device type for individual ones of the plurality of computing devices.

9. The system of claim 8 , wherein the address allocation service is further configured to:

predict the quantity of virtualized machine instances for at least one of the plurality of computing devices based at least in part on the respective computing device type; and

wherein the first network address allocation is based at least in part on the quantity of virtualized machine instances that is predicted.

10. The system of claim 4 , wherein the subdivision corresponds to a rack, and the router corresponds to a rack-associated router.

11. The system of claim 4 , wherein the second network address allocation is selected based at least in part on contiguity of the second network address allocation with the first network address allocation.

12. The system of claim 4 , wherein the first network address allocation and the second network address allocation are assigned to the subdivision in response to the second network address allocation being implemented.

13. The system of claim 12 , wherein the first network address allocation and the second network address allocation are contiguous.

14. The system of claim 12 , wherein the first network address allocation and the second network address allocation are non-contiguous.

15. The system of claim 14 , wherein, in response to the second network address allocation being implemented, the router is configured to advertise a contiguous network address allocation that includes the first network address allocation, the second network address allocation, and a third network address allocation that is contiguous to the first network address allocation and the second network address allocation and is unassigned to the subdivision.

16. The system of claim 4 , wherein the first network address allocation is no longer assigned to the subdivision in response to the second network address allocation being implemented.

17. The system of claim 4 , wherein the second network address allocation includes the first network address allocation.

18. A method, comprising:

obtaining, by at least one computing device, data indicating a reconfiguration of at least one of a plurality of computing devices included in a subdivision of a network, the subdivision being assigned a network address allocation, wherein the reconfiguration changes a quantity of virtualized machine instances hosted by the at least one of the plurality of computing devices;

determining, by the at least one computing device, whether to release an assignment of a first subset of the network address allocation based at least in part on the reconfiguration of the at least one of the plurality of computing devices;

dynamically releasing, by the at least one computing device, the assignment of the first subset of the network address allocation in response to the determining; and

reconfiguring, by the at least one computing device, a router for the subdivision to advertise a second subset of the network address allocation instead of the network address allocation.

19. The method of claim 18 , wherein the reconfiguration corresponds to a reduction in the quantity of virtualized machine instances hosted by the at least one of the plurality of computing devices.

20. The method of claim 19 , further comprising determining, by the at least one computing device, whether the quantity of virtualized machine instances meets a threshold for releasing the first subset of the network address allocation.

21. The method of claim 18 , further comprising automatically reconfiguring, by the at least one computing device, one of the plurality of computing devices in the subdivision to use a first network address in the first subset of the network address allocation instead of a second network address in the second subset of the network address allocation before automatically reconfiguring the router.

22. The method of claim 18 , wherein the first subset of the network address allocation and the second subset of the network address allocation are contiguous.

23. The method of claim 18 , wherein the first subset of the network address allocation and the second subset of the network address allocation are not contiguous.

24. The method of claim 18 , further comprising:

obtaining, in the at least one computing device, data indicating a subsequent reconfiguration of at least one of the plurality of computing devices included in the subdivision;

assigning, in the at least one computing device, another network address allocation to the subdivision based at least in part on the subsequent reconfiguration of the at least one of the plurality of computing devices; and

automatically reconfiguring, in the at least one computing device, the router for the subdivision to advertise the other network address allocation in addition to the second subset of the network address allocation.

Assignments (2)
CORRECTIVE ASSIGNMENT TO CORRECTTHE LAST INVENTORS NAME PREVIOUSLY RECORDED ON REEL 029454 FRAME 0718. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT. Recorded Dec 18, 2012
From: NIEMOLLER, ALBERT P.; DICKINSON, ANDREW B.; ROBERTS, BRADLEY D.; WEI, ERIC P.; WHITTAKER, COLIN J.
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 029636/0058 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 12, 2012
From: NIEMOLLER, ALBERT P.; DICKINSON, ANDREW B.; ROBERTS, BRADLEY D.; WEI, ERIC P.; WHITTAKER, COIN J.
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 029454/0718 →
Continuity (1)
Related Publication 20140082164A1 · Mar 20, 2014