# US 11,451,477 B2 · Load balanced access to distributed endpoints

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

- Number: US 11,451,477 B2
- Document ID: US11451477B2
- Status: Granted
- Kind: B2
- Application number: 16/586,446
- Filed: 2019-09-27
- Published: 2021-04-01
- Granted: 2022-09-20
- Earliest claimed: 2019-09-27
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Nalin Goel; Harvo Reyzell Jones
- Web page: https://patentgrep.com/patent/US11451477B2

## CPC

- H04L 45/7453: using hashing
- H04L 45/02: Topology update or discovery
- H04L 45/72: {Routing based on the source address}
- H04L 47/125: by balancing the load, e.g. traffic engineering
- H04L 61/4511: using domain name system [DNS]
- H04L 61/5007: Internet protocol [IP] addresses
- H04L 61/5069: for group communication, multicast communication or broadcast communication
- H04L 67/10: in which an application is distributed across nodes in the network (software deployment G06F8/60; multiprogramming arrangements G06F9/46)
- H04L 67/1001: for accessing one among a plurality of replicated servers
- H04L 67/14: Session management (for real-time applications in data packet communications networks H04L65/1066)
- H04L 69/16: Implementation or adaptation of Internet protocol [IP], of transmission control protocol [TCP] or of user datagram protocol [UDP]
- H04L 69/40: for recovering from a failure of a protocol instance or entity, e.g. service redundancy protocols, protocol state redundancy or protocol service redirection (management of faults, events, alarms or notifications in data switching networks H04L41/06)
- H04L 61/2514: between local and global IP addresses
- H04L 61/2517: using port numbers
- H04L 61/5061: Pools of addresses
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A system and method for endpoint selection in a global accelerator system. The global accelerator system includes client devices communicating with a global access point to access various endpoints that can host services. Multiple endpoints are grouped geographically according to different data centers. Client service requests are received at a global access point, which in turns selects an endpoint to service the request. A selection mechanism utilized by the global access point implements a distribution algorithm that facilitates that distribution of endpoint requests according to a product of distribution criteria and geographic criteria. Additionally, the global access point can then identify individual endpoints within the group to process the request using a consistent hashing algorithm that ensures an endpoint can be continuously selected over the course of interaction with a client.

## Claims

### Claim 1

A system comprising:
a plurality of endpoints, each endpoint being situated in a different geographic location and containing at least one server computing device configured to provide a network-accessible service associated with a network address;
a plurality of global access points associated with the network-accessible service, wherein individual global access points of the plurality of global access points include a processor, are associated with different geographic locations, and configured to:
advertise a network prefix of the network address as reachable via the individual global access points;
receive from a client device a network packet addressed to the network address;
select a flow manager from a plurality of flow managers;
route the network packet to the selected flow manager;
select, using the selected flow manager, a data center including one or more of the plurality of endpoints, based on implementation of a distribution algorithm corresponding to a product of network and geographic criteria and distribution criteria, whereby the data center is selected without using anycast methodology;
select an endpoint, from the plurality of endpoints included in the selected data center, to which to route the network packet based on implementation of a selection algorithm corresponding to a consistent hashing algorithm that determines a score for the network packet, whereby the endpoint is selected without using anycast methodology and is not based on implementation of a distribution algorithm corresponding to a product of network and geographic criteria and distribution criteria; and
route the network packet to the selected endpoint.

### Claim 2 (depends on 1)

The system of claim 1, wherein the data center corresponds to a region and wherein the plurality of endpoints correspond to two or more sub-regions.

### Claim 3 (depends on 2)

The system of claim 2, wherein the distribution algorithm criteria corresponds to a specification of the two or more sub-regions.

### Claim 4 (depends on 1)

The system of claim 1, wherein the distribution criteria corresponds to a full allocation of a percentage of network traffic to a region.

### Claim 5 (depends on 1)

The system of claim 1, wherein the consistent hashing algorithm corresponds to one of a weighted rendezvous hashing algorithm or a weighted consistent hashing algorithm.

### Claim 6

A method implemented at a plurality of global access points associated with a network-accessible service distributed across a geographic area, the method comprising:
Receiving, at a global access point of the plurality of global access points, a network packet from a client device, the network packet addressed to a network address associated with the network-accessible service;
selecting a flow manager from a plurality of flow managers;
routing the network packet to the selected flow manager;
selecting, by the global access point, using the selected flow manager, a data center including a plurality of endpoints, based on implementation of a distribution algorithm corresponding to a product of network and geographic criteria and distribution criteria, whereby the data center is selected without using anycast methodology;
selecting by the global access point, an endpoint, from the plurality of endpoints included in the selected data center, to which to route the network packet based on implementation of a selection algorithm corresponding to a consistent hashing algorithm that determines a score for the network packet, whereby the endpoint is selected without using anycast methodology and is not based on implementation of a distribution algorithm corresponding to a product of network and geographic criteria and distribution criteria; and
routing the network packet to the selected endpoint.

### Claim 7 (depends on 6)

The method of claim 6 further comprising advertising the network address associated with the network-accessible service as reachable via each global access point of the plurality of global access points.

### Claim 8 (depends on 6)

The method of claim 6, wherein the data center corresponds to a region and wherein the plurality of endpoints correspond to two or more sub-regions.

### Claim 9 (depends on 8)

The method of claim 8, wherein the distribution algorithm criteria corresponds to a specification of the two or more sub-regions.

### Claim 10 (depends on 8)

The method of claim 8, wherein the distribution criteria corresponds to a full allocation of a percentage of network traffic to a region.

### Claim 11 (depends on 8)

The method of claim 8, wherein the distribution criteria corresponds to a partial allocation of a percentage of network traffic to a region.

### Claim 12 (depends on 11)

The method of claim 11, wherein the distribution criteria includes a default allocation for remaining portions of sub-region.

### Claim 13 (depends on 12)

The method of claim 12, wherein the default allocation for remaining portions of sub-region includes geographic proximity.

### Claim 14 (depends on 6)

The method of claim 6, wherein the score the network packet corresponds to is based on at least a source IP address, a source port address, a destination IP address, a destination port address and a protocol.

### Claim 15 (depends on 14)

The method of claim 14, wherein selecting the endpoint, from the plurality of endpoints, corresponds to selecting the endpoint with the highest network packet score.

### Claim 16

Non-transitory computer-readable media comprising computer-executable instructions that, when executed by each access point of a plurality of access points associated with a network-accessible service distributed across a geographic area, cause each access point of the plurality of access points to:
receive from a client device a network packet addressed to a network address of the network-accessible service;
select a flow manager from a plurality of flow managers;
route the network packet to the selected flow manager;
select, using the selected flow manager, a data center from a plurality of available data centers and a related endpoint, from a plurality of endpoints associated with individual data centers, to which to route the network packet based on implementation of a combination of a distribution algorithm corresponding to a product of network and geographic criteria and distribution criteria, whereby the data center is selected without using anycast methodology, and a selection algorithm corresponding to a consistent hashing algorithm that determines a score for the network packet, whereby the endpoint is selected without using anycast methodology and is not based on implementation of a distribution algorithm corresponding to a product of network and geographic criteria and distribution criteria; and
route the network packet to the selected endpoint.

### Claim 17 (depends on 16)

The non-transitory computer-readable media of claim 16, wherein the data center corresponds to a region and wherein the plurality of endpoints correspond to two or more sub-regions.

### Claim 18 (depends on 16)

The non-transitory computer-readable media of claim 16, wherein the distribution criteria corresponds to a scalable allocation.

### Claim 19 (depends on 16)

The non-transitory computer-readable media of claim 16, wherein the score the network packet corresponds to is based on at least a source IP address, a source port address, a destination IP address, a destination port address and a protocol.

### Claim 20 (depends on 16)

The non-transitory computer-readable media of claim 16, wherein the distribution criteria corresponds to performance criteria.
