# US 2018/0324247 A1 · Coordinating inter-region operations in provider network environments

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 2018/0324247 A1
- Document ID: US20180324247A1
- Status: Published application
- Kind: A1
- Application number: 15/587,280
- Filed: 2017-05-04
- Published: 2018-11-08
- Earliest claimed: 2017-05-04
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Logan Michael Hood; Jonathan Galentine; Vincent Gerard Nicotra
- Web page: https://patentgrep.com/patent/US20180324247A1

## CPC

- H04L 41/5006: Creating or negotiating SLA contracts, guarantees or penalties
- H04L 12/46: Interconnection of networks
- H04L 12/4641: {Virtual LANs, VLANs, e.g. virtual private networks [VPN] (LAN interconnection over a bridge based backbone H04L12/462; encapsulation techniques H04L12/4633; routing of packets H04L45/00; packet switches H04L49/00; virtual private networks for security H04L63/0272)}
- H04L 67/1091: {Interfacing with client-server systems or between P2P systems}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods and apparatus for coordinating inter-region operations in provider networks. An inter-region coordinator (IRC) operates asynchronously to the control planes of regional networks to coordinate inter-region operations. The IRC in a region may include one or more IRC servers. To perform inter-region operations, the servers may implement a local-remote-local method in which a server invokes an API in the local region to get work, sends the work to a control plane of a remote region, receives a response from the remote region, and informs the control plane in the local region of the status of the work.

## Claims

### Claim 1

A provider network, comprising;
two or more regional networks each comprising:
one or more virtual private networks each including one or more virtual machines executing on host devices on its respective regional network;
a control plane implemented by one or more devices that performs network configuration and management for its respective regional network; and
an inter-region coordinator (IRC) service comprising one or more IRC servers;
wherein the control plane of a first regional network of the two or more regional networks further performs:
receive an inter-region peering request from a customer for a first virtual private network on the first regional network via a peering application programming interface (API) of the first regional network, wherein the inter-region peering request specifies a second virtual private network on a second regional network of the two or more regional networks; and
generate a create peering record in an inter-region work log on the first regional network for the inter-region peering request;
wherein one of the IRC servers on the first regional network performs:
obtain the create peering record for the inter-region peering request from the inter-region work log on the first regional network via an API to the inter-region work log;
send the create peering record to the control plane of the second regional network according to an API to the control plane of the second regional network;
receive a response to the inter-region peering request indicated by the create peering record from the second regional network, wherein the response indicates that the inter-region peering request is pending acceptance; and
send the response to the inter-region peering request to the control plane of the first regional network via an API to the control plane of the first regional network.

### Claim 2 (depends on 1)

The provider network as recited in claim 1, wherein the control plane of the second regional network of the two or more regional networks further performs:
receive acceptance of the inter-region peering request from a customer associated with the second virtual private network on the second regional network of the two or more regional networks via the peering API of the second regional network; and
generate an accept peering record in an inter-region work log on the second regional network for the inter-region peering request.

### Claim 3 (depends on 2)

The provider network as recited in claim 2, wherein one of the IRC servers on the second regional network performs:
obtain the accept peering record for the inter-region peering request from the inter-region work log on the second regional network via an API to the inter-region work log;
forward the accept peering record to the control plane of the first regional network according to the API to the control plane of the first regional network;
receive a response to the accept peering record from the first regional network, wherein the response indicates that the inter-region peering is active; and
forward the response to the accept peering record to the control plane of the second regional network via the API to the control plane of the second regional network.

### Claim 4 (depends on 3)

The provider network as recited in claim 3, wherein the control plane of the second regional network further performs:
create an inter-region peering record on the second regional network for the inter-region peering request upon receiving the inter-region peering request from the IRC server of the first regional network, wherein the peering record indicates that the inter-region peering request is pending acceptance; and
update the inter-region peering record on the second regional network to indicate that the inter-region peering is active in response to receiving the response to the accept peering record.

### Claim 5 (depends on 3)

The provider network as recited in claim 3, wherein, in response to receiving the accept peering record, the control plane of the first regional network of the two or more regional networks provisions the inter-region peering for the first virtual private network on the first regional network.

### Claim 6 (depends on 5)

The provider network as recited in claim 5, wherein the control plane of the first regional network further performs:
create an inter-region peering record on the first regional network for the inter-region peering request upon receiving the inter-region peering request from the customer;
update the inter-region peering record to indicate that the inter-region peering request is pending acceptance upon receiving the response to the inter-region peering request; and
update the inter-region peering record to indicate that the inter-region peering is active in response to receiving the accept peering record.

### Claim 7

A method, comprising:
receiving, at a control plane on a regional network of a provider network, a request to perform an inter-region operation with a virtual network on one of one or more other regional networks of the provider network;
generating, by the control plane on the regional network, an entry for the request in a data store, wherein the entry includes a specification of the inter-region operation and indicates the one of the one or more other regional networks of the provider network;
forwarding, by an inter-region coordinator (IRC) service implemented by one or more devices on the regional network, the specification of the inter-region operation included in the entry to a control plane of the regional network indicated by the entry;
receiving, by the IRC service, a response to the inter-region operation from the regional network indicated by the entry, wherein the response indicates status of the inter-region operation on the regional network indicated by the entry; and
completing the inter-region operation on the regional network.

### Claim 8 (depends on 7)

The method as recited in claim 7, wherein the IRC service includes one or more IRC servers executing as virtual machines on one or more host devices on the regional network.

### Claim 9 (depends on 8)

The method as recited in claim 8, wherein each IRC server executes threads in one or more thread pools, each thread pool corresponding to a particular one of the one or more other regional networks of the provider network, wherein the threads in each thread pool coordinate inter-region operations with the particular regional network corresponding to the thread pool.

### Claim 10 (depends on 8)

The method as recited in claim 8, further comprising the IRC service forwarding specifications of inter-region operations from entries in the data store to the control planes of the other regional networks at a constant rate to maintain a specified number of inter-region transactions per second for the regional network.

### Claim 11 (depends on 7)

The method as recited in claim 7, further comprising encrypting the specification of the inter-region operation prior to the IRC service obtaining the entry from the data store.

### Claim 12 (depends on 7)

The method as recited in claim 7, further comprising receiving the request to perform the inter-region operation from a customer of the provider network according to an application programming interface (API) to a service of the regional network.

### Claim 13 (depends on 12)

The method as recited in claim 12, wherein the inter-region operation is one of:
a create peering operation to request an inter-region peering between a private network on the regional network and a private network on the other regional network;
an accept peering operation to accept a requested inter-region peering between a private network on the regional network and a private network on the other regional network;
a reject peering operation to reject a requested inter-region peering between a private network on the regional network and a private network on the other regional network; and
a delete peering operation to delete an existing inter-region peering between a private network on the regional network and a private network on the other regional network

### Claim 14 (depends on 12)

The method as recited in claim 12, further comprising:
creating an inter-region peering record on the regional network for a respective inter-region peering request in response to receiving a request to perform a create peering operation;
updating the inter-region peering record to indicate that the respective inter-region peering request is pending acceptance upon receiving a response to the create peering request from the other regional network; and
updating the inter-region peering record to indicate that the respective inter-region peering is active in response to receiving an accept peering operation for the inter-region peering request from the other regional network.

### Claim 15 (depends on 12)

The method as recited in claim 12, further comprising:
creating an inter-region peering record on the regional network for a respective inter-region peering request in response to receiving a create peering operation from another regional network;
updating the inter-region peering record to indicate that the respective inter-region peering is being provisioned in response to receiving a request to perform an accept peering operation for the inter-region peering request; and
updating the inter-region peering record to indicate that the respective inter-region peering is active in response to receiving a response to the accept peering operation from the other regional network.

### Claim 16 (depends on 12)

The method as recited in claim 12, wherein the create peering operation, the accept peering operation, the reject peering operation, and the delete peering operation are drive to completion operations, and wherein the method further comprises the IRC service:
performing expired peering operations to expire inter-region peering requests that have been waiting for acceptance for longer than a threshold amount of time; and
performing verify consistency operations to verify consistency of inter-region peering records on the regional networks.

### Claim 17 (depends on 16)

The method as recited in claim 16, further comprising the IRC service performing inter-region operations at a constant rate to maintain a specified number of inter-region transactions per second for the regional network, wherein the drive to completion operations, the expired peering operations, and the verify consistency operations are performed according to weighted proportions.

### Claim 18 (depends on 17)

The method as recited in claim 17, further comprising the IRC service performing verify consistency operations upon determining that drive to completion operations and expired peering operations are not available to maintain the specified number of inter-region transactions per second for the regional network.

### Claim 19

A non-transitory computer-readable storage medium storing program instructions that when executed on one or more computers on a regional network of a provider network cause the one or more computers to:
obtain work items from an inter-region work log on the regional network, wherein the work items are generated by a control plane of the regional network in response to requests to perform inter-region operations with one or more other regional networks of the provider network, wherein each work item specifies an inter-region operation and one of the one or more other regional networks of the provider network;
forward the work items to application programming interfaces (APIs) of the control planes of the one or more other regional networks as specified by the work items;
receive responses to the work items from the regional networks specified by the work items, wherein the responses indicate status of respective inter-region operations on the respective regional networks; and
forward the responses to the control plane of the regional network according to an API of the control plane.

### Claim 20 (depends on 19)

The non-transitory computer-accessible storage medium as recited in claim 19, wherein inter-region operations specified by the work items include one or more of:
create peering operations to request inter-region peerings between private networks on the regional network and private networks on the other regional networks;
accept peering operations to accept requested inter-region peerings between private networks on the regional network and private networks on the other regional networks;
reject peering operations to reject requested inter-region peerings between private networks on the regional network and private networks on the other regional networks; and
delete peering operations to delete existing inter-region peerings between private networks on the regional network and private networks on the other regional networks.

### Claim 21 (depends on 19)

The non-transitory computer-accessible storage medium as recited in claim 19, wherein the program instructions, when executed on the one or more computers on the regional network, further cause the one or more computers to obtain the work items from the inter-region work log and forward the work items to the control planes of the other regional networks at a constant rate to maintain a specified number of inter-region transactions per second for the regional network.
