IP Library › Granted Patent US 12,340,240
Granted Patent B1
US 12,340,240 · App. 17/491,287 · Granted Jun 24, 2025

Proactive reservations of network address blocks for client-specified operation categories at isolated virtual networks

Inventors: David James Goodell (Seattle, WA); Matthew Browne Barr (Arlington, VA); Yujing Xie (Vienna, VA); Shovan Kumar Das (Medina, WA)
Assignee: Amazon Technologies, Inc.
G06F9/45558H04L61/5007G06F2009/45595
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 12,340,240
App. No.
17/491,287
Granted
Jun 24, 2025
Kind
B1
Abstract

In response to receiving a reservation request at a provider network, metadata indicating that a group of network addresses of a subnet is reserved for operations of a particular category is stored. A first request for an operation, requiring assignment of an address of the reserved group is rejected if the operation does not belong to the particular category, even if the address is not in use. In response to a second request for an operation which does belong to the particular category, an address of the reserved group is assigned.

Claims (45)

1. A system, comprising:

one or more control plane servers of a virtualized computing service, wherein the one or more control plane servers include one or more hardware processors and one or more memory devices, and the one or more memory devices store program instructions that are executable by the one or more hardware processors to:

in response to receiving a first reservation request, store metadata indicating that a first sub-range of a range of network addresses of a subnet established within an isolated virtual network is reserved for fulfilling requests of at least a particular category of a set of request categories, wherein the set of request categories includes (a) bulk address assignment and (b) client-requested individual address assignment;

in response to receiving a first address assignment request, generate a response message indicating rejection of the first address assignment request, wherein the rejection is caused based at least in part on a determination that (a) assignment of a particular address of the first sub-range is requested in the first address assignment request and (b) the first address assignment request does not belong to the particular category, wherein the first address assignment request is received and rejected during a time interval in which the particular address is not in use within the isolated virtual network; and

in response to receiving a second address assignment request, wherein the second address assignment request belongs to the particular category, configure a particular device within the isolated virtual network with one or more addresses of the first sub-range.

2. The system as recited in claim 1 , wherein the second address assignment request is a bulk address assignment request, wherein the one or more addresses of the first sub-range assigned to the particular device comprise a contiguous group of addresses, wherein the bulk address assignment request does not specify the contiguous group of addresses, and wherein the program instructions are executable by the one or more hardware processors of the one or more control plane servers to:

select the contiguous group of addresses from the first sub-range.

3. The system as recited in claim 1 , wherein the first sub-range comprises one of: (a) Internet Protocol Version 4 (IPv4) addresses, or (b) Internet Protocol Version 6 (IPv6) addresses.

4. The system as recited in claim 1 , wherein the program instructions are executable by the one or more hardware processors of the one or more control plane servers to:

store, in response to a second reservation request, additional metadata indicating that a second sub-range of the range of network addresses of the subnet is reserved for fulfilling requests of at least the particular category.

5. The system as recited in claim 1 , wherein the program instructions are executable by the one or more hardware processors of the one or more control plane servers to:

store, in response to a second reservation request, additional metadata indicating that a second sub-range of the range of network addresses of the subnet is reserved for fulfilling requests of a category other than the particular category.

6. A computer-implemented method, comprising:

in response to receiving a reservation request, storing metadata indicating that a sub-range of a range of network addresses of a subnet configured on behalf of a client of a provider network is reserved for operations of a particular category;

in response to receiving, at the provider network, a first request for a first operation, generating a response message indicating rejection of the first request, wherein the rejection is caused based at least in part on determining that (a) the first operation comprises assignment of a particular address of the sub-range and (b) the first operation does not belong to the particular category, wherein the first request is received and rejected during a time interval in which the particular address is not in use; and

in response to receiving a second request for a second operation, wherein the second operation belongs to the particular category, configuring one or more devices with one or more addresses of the sub-range.

7. The computer-implemented method as recited in claim 6 , wherein the second request is a bulk address assignment request, and wherein the configuring of the one or more devices comprises configuring a virtual network interface with a contiguous group of addresses.

8. The computer-implemented method as recited in claim 7 , wherein the bulk address assignment request is directed to a virtualized computing service, wherein the bulk address assignment request does not specify the contiguous group of addresses, the computer-implemented method further comprising:

selecting, by the virtualized computing service, the contiguous group of addresses from the sub-range.

9. The computer-implemented method as recited in claim 6 , wherein the second request is a client-requested single address assignment request submitted by a client of the provider network, and wherein the configuring of the one or more devices comprises configuring a virtual network interface with a single address.

10. The computer-implemented method as recited in claim 6 , further comprising:

providing, via a programmatic interface, an indication of a number of in-use addresses of the sub-range.

11. The computer-implemented method as recited in claim 6 , further comprising:

storing metadata indicating that another sub-range of the range of network addresses of the subnet is reserved for operations of one or more categories; and

in response to another request of a category of the one or more categories, configuring a device with an address of the other sub-range.

12. The computer-implemented method as recited in claim 6 , further comprising:

in response to a reservation deletion request, delete the metadata indicating that the sub-range is reserved; and

in response to receiving, after deleting the metadata, another request for another operation of a category to which the first operation belongs, configuring a device with an address of the sub-range.

13. The computer-implemented method as recited in claim 6 , wherein the reservation request indicates a size of the sub-range, and does not specify the sub-range, the computer-implemented method further comprising:

selecting the sub-range at a computing service to which the reservation request is directed, wherein the selecting is based at least in part on the size of the sub-range and a configuration of the subnet.

14. The computer-implemented method as recited in claim 6 , wherein the sub-range comprises one of: (a) Internet Protocol Version 4 (IPv4) addresses, or (b) Internet Protocol Version 6 (IPv6) addresses.

15. The computer-implemented method as recited in claim 6 , further comprising:

determining, at a service of a provider network, that a network address selected by the service is to be assigned to fulfill a service request; and

selecting, by the service, the particular network address to fulfill the service request, wherein the first request is generated by the particular service.

16. A non-transitory computer-accessible storage medium storing program instructions that when executed on a processor cause the processor to:

in response to receiving a reservation request at a provider network, store metadata indicating that a group of network addresses is reserved for operations of a particular category, wherein the group comprises a subset of network addresses associated with a virtual network of a client of the provider network;

in response to receiving, at the provider network, a first request for a first operation, generate a response message indicating rejection of the first request, wherein the rejection is caused based at least in part on a determination that (a) the first operation comprises assignment of a particular address of the group and (b) the first operation does not belong to the particular category, wherein the first request is received and rejected during a time interval in which the particular address is not in use; and

in response to receiving a second request for a second operation, wherein the second operation belongs to the particular category, configure one or more devices within the virtual network with one or more addresses of the group.

17. The non-transitory computer-accessible storage medium as recited in claim 16 , wherein the second request is a bulk address assignment request, and wherein the configuration of the one or more devices comprises configuration of a virtual network interface with a contiguous plurality of addresses.

18. The non-transitory computer-accessible storage medium as recited in claim 16 , wherein the second request is a client-requested single address assignment request submitted by the client, and wherein the configuration of the one or more devices comprises configuration of a virtual network interface with a single address.

19. The non-transitory computer-accessible storage medium as recited in claim 16 , storing further program instructions that when executed on the processor cause the processor to:

provide, via a programmatic interface, one or more metrics pertaining to the group of network addresses reserved in response to the reservation request.

20. The non-transitory computer-accessible storage medium as recited in claim 16 , storing further program instructions that when executed on the processor cause the processor to:

store, in response to an operation category creation request from the client of the provider network, an indication of a custom category of operations; and

store additional metadata indicating that another group of network addresses is reserved for operations of the custom category.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Apr 11, 2024
From: GOODELL, DAVID JAMES; BARR, MATTHEW BROWNE; XIE, YUJING; DAS, SHOVAN KUMAR
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 067077/0229 →
References Cited (16)
US 8127003B2 · Glaeser et al. · 2012 [cited by applicant]
US 9143430B2 · Beshai et al. · 2015 [cited by applicant]
US 9143441B2 · Basso et al. · 2015 [cited by applicant]
US 9270592B1 · Sites · 2016 [cited by applicant]
US 9497113B2 · Dispensa et al. · 2016 [cited by applicant]
US 9537772B2 · Scott et al. · 2017 [cited by applicant]
US 9722922B2 · Kamath et al. · 2017 [cited by applicant]
US 9948557B2 · Fan et al. · 2018 [cited by applicant]
US 10326801B2 · Xu · 2019 [cited by applicant]
US 10848431B2 · Schultze et al. · 2020 [cited by applicant]
US 20060268681A1 · Raza · 2006 [cited by applicant]
US 20170134340A1 · Janakiraman · 2017 [cited by applicant]
US 20200014589A1 · Xu et al. · 2020 [cited by applicant]
US 20200092193A1 · Tillotson · 2020 [cited by examiner]
“Alias IP ranges overview,” VPC, Google Cloud, https://cloud.google.vpc/docs/alias-ip, last updated Aug. 19, 2021, pp. 1-17 downloaded on Aug. 23, 2021. [cited by applicant]
U.S. Appl. No. 17/491,263, filed Sep. 30, 2021, David James Goodell. [cited by applicant]
Cited By (1)
US 12,574,350