IP Library Granted Patent US 11,219,034
Granted Patent B1
US 11,219,034 · App. 17/001,178 · Granted Jan 4, 2022

Distributed network connectivity monitoring of provider network edge location resources from cellular networks

Inventors: Devlin Roarke Dunsmore (Bothell, WA); Diwakar Gupta (Seattle, WA); Dougal Stuart Ballantyne (Seattle, WA); Sairam Sasank Chundi (Seattle, WA); Pragya Agarwal (Seattle, WA); Mark Walters (Seattle, WA); Aditya Chayapathy (Seattle, WA)
Assignee: Amazon Technologies, Inc.
H04W72/085H04W24/10H04W72/048
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 11,219,034
App. No.
17/001,178
Granted
Jan 4, 2022
Kind
B1
Abstract

Techniques for distributed network connectivity monitoring of provider network edge location resources from cellular networks are described. A central service transmits test suites of commands to agents executed by test devices, which can execute the commands to test network characteristics between the test devices and target locations via one or multiple cellular communications networks. Results of the testing are sent back to the central service for processing, and the resultant metrics can be used for intelligent latency-based routing of clients, latency-based placement of resources, and/or performance monitoring of deployed resources.

Claims (78)

1. A computer-implemented method comprising:

identifying, among a plurality of candidate electronic devices, an electronic device for use in measuring networking metrics involving resources hosted across different locations within physical infrastructure of a cellular communications network;

transmitting a test configuration to the electronic device, the test configuration identifying a command to be performed by the electronic device, using the cellular communications network, to test characteristics of network connectivity to the resources;

obtaining network metrics generated by the electronic device via performing the command;

receiving, within a service provider network, a request to launch a compute instance;

selecting, based at least in part on the network metrics, one of the different locations for the compute instance; and

causing the compute instance to be launched at the selected location.

2. The computer-implemented method of claim 1 , wherein the selected location comprises an edge location of the service provider network.

3. The computer-implemented method of claim 1 , wherein the network metrics include:

a first network metric generated by a first electronic device via use of the cellular communications network to interact with a first resource; and

a second network metric generated by the first electronic device via use of a second cellular communications network to interact with the first resource.

4. A computer-implemented method comprising:

identifying, among a plurality of candidate electronic devices, a first electronic device for use in measuring networking metrics involving resources hosted at one or more locations;

transmitting a test configuration to the first electronic device, the test configuration identifying a command to be performed by the first electronic device using a cellular communications network;

obtaining a network metric generated by the first electronic device via performing the command;

selecting, based at least in part on the network metric, at least a first resource of the resources or a first location of the one or more locations; and

transmitting at least an identifier of the first resource or the first location.

5. The computer-implemented method of claim 4 , further comprising:

receiving a request for a network address associated with a host name, wherein the resources comprise a plurality of resources that are all associated with the host name,

wherein the selecting includes identifying the first resource as having a lowest predicted or actual latency of the plurality of resources to a target location associated with the request, and

wherein the transmitting comprises transmitting a network address corresponding to the first resource.

6. The computer-implemented method of claim 4 , further comprising:

receiving a request to deploy a computing resource, wherein the request is associated with a deployment preference indicating a latency characteristic required for placement of the computing resource,

wherein the computing resource comprises at least one of a code segment, an application, a compute instance, or a container,

wherein the selecting includes identifying the first location as satisfying the latency characteristic for placement of the computing resource, and

wherein the transmitting comprises transmitting the identifier of the first location to a service of a service provider network to cause the computing resource to be deployed at the first location.

7. The computer-implemented method of claim 4 , wherein the first location comprises an edge location of a service provider network that is deployed within physical infrastructure of the cellular communications network.

8. The computer-implemented method of claim 4 , wherein the command indicates that the first electronic device is to:

perform a Transmission Control Protocol (TCP) ping;

perform an Internet Control Message Protocol (ICMP) ping;

perform a trace route;

transmit a HyperText Transfer Protocol (HTTP) request;

perform a Domain Name Service (DNS) lookup; or

receive a User Datagram Protocol (UDP) multimedia stream.

9. The computer-implemented method of claim 4 , wherein the network metric comprises a first measured latency between the first electronic device and the first resource.

10. The computer-implemented method of claim 9 , wherein:

the first measured latency indicates the latency between the first electronic device and the first resource via the cellular communications network; and

the network metric further comprises a second measured latency between the first electronic device and the first resource via a second cellular communications network.

11. The computer-implemented method of claim 4 , wherein:

the selecting, based at least in part on the network metric, at least the first resource or the first location comprises determining, based on the network metric, that the first resource or the first location was not reachable by the first electronic device; and

the transmitting at least the identifier of the first resource or the first location indicates that the first resource or the first location was not reachable.

12. The computer-implemented method of claim 4 , further comprising:

obtaining a geographic coordinate corresponding to a location of a corresponding electronic device when it generated at least one of the metrics,

wherein the selecting, based at least in part on the network metric, at least the first resource or the first location is further based at least in part on the geographic coordinate.

13. The computer-implemented method of claim 4 , wherein transmitting at least the identifier of the first resource or the first location comprises transmitting at least the identifier of the first resource or the first location to a client electronic device of a user, causing at least the identifier of the first resource or the first location to be presented to the user via a user interface, and wherein the method further comprises receiving a message originated by the client electronic device providing a user input made by the user via the user interface.

14. The computer-implemented method of claim 4 , further comprising:

receiving a heartbeat message from the first electronic device, the heartbeat message identifying a first version of the test configuration that the first electronic device is utilizing;

determining that the first electronic device is to utilize a second version of the test configuration; and

transmitting, to the first electronic device, the second version of the test configuration.

15. A system comprising:

a first one or more electronic devices to implement a first service in a multi-tenant provider network, the first service including instructions that upon execution cause the first service to:

select, from a plurality of candidate electronic devices, a first electronic device for use in measuring networking metrics involving resources hosted at one or more locations;

transmit a test configuration to the first electronic devices, the test configuration identifying a command to be performed by the first electronic device using a cellular communications network;

obtain network metrics generated by the first electronic device via performing the command; and

transmit data based on or including the network metrics to a second service; and

a second one or more electronic devices to implement the second service in the multi-tenant provider network, the second service to:

receive the data from the first service;

select, based at least in part on the data, a first resource of the resources or a first location of the one or more locations; and

transmit a message identifying the first resource or the first location.

16. The system of claim 15 , wherein the second service is further to:

receive a request for a network address associated with a host name, wherein the resources comprise a plurality of resources that are all associated with the host name,

wherein the selection includes an identification of the first resource as having a lowest predicted or actual latency of the resources to a target location associated with the request, and

wherein the transmitted message includes a network address corresponding to the first resource.

17. The system of claim 15 , wherein the second service is further to:

receive a request to deploy a computing resource, wherein the request is associated with a deployment preference indicating a latency characteristic required for placement of the computing resource,

wherein the computing resource comprises at least one of a code segment, an application, a compute instance, or a container,

wherein the selection includes an identification of the first location as satisfying the latency characteristic for placement of the computing resource, and

wherein the transmitted message is to cause at the computing resource to be deployed at the first location.

18. The system of claim 15 , wherein the first location comprises an edge location of the multi-tenant provider network that is deployed within physical infrastructure of the cellular communications network.

19. The system of claim 15 , wherein the command indicates that the first electronic device is to:

perform a Transmission Control Protocol (TCP) ping;

perform an Internet Control Message Protocol (ICMP) ping;

perform a trace route; or

transmit an HyperText Transfer Protocol (HTTP) GET method request message.

20. The system of claim 15 , further comprising instructions that when executed by the second service cause the second service to:

receive a heartbeat message from the first electronic device, the heartbeat message identifying a first version of the test configuration that the first electronic device is utilizing;

determine that the first electronic device is to utilize a second version of the test configuration; and

transmit, to the first electronic device, the second version of the test configuration.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 26, 2020
From: DUNSMORE, DEVLIN ROARKE; GUPTA, DIWAKAR; BALLANTYNE, DOUGAL STUART; CHUNDI, SAIRAM SASANK; AGARWAL, PRAGYA; WALTERS, MARK; CHAYAPATHY, ADITYA
To: AMAZON TECHNOLOGIES, INC.
Reel/Frame 053606/0884 →
Cited By (2)
US 12,294,563 US 12,738,166