IP Library › Granted Patent US 12,335,117
Granted Patent B2
US 12,335,117 · App. 17/112,751 · Granted Jun 17, 2025

Visualization of network health information

Inventors: Kenneth Grey Richards (Newcastle, WA); Schuyler David Thompson (Seattle, WA); Adam Siefker (Lynnwood, WA); Kevin Christopher Miller (Fairfax, VA); Meenakshi Rameshkumar (Kenmore, WA)
Assignee: Amazon Technologies, Inc.
H04L43/045H04L12/4633H04L43/08H04L12/4641H04L43/14H04L61/5007H04L61/5038H04L2101/668
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,335,117
App. No.
17/112,751
Granted
Jun 17, 2025
Kind
B2
Abstract

A determination is made that a graphical representation of network health state information pertaining to a client account of a provider network is to be provided. Using respective network metrics groups corresponding to several data sources, a network health state descriptor corresponding to a resource associated with the client account is generated. A data set usable to generate a graphical display of network health state information of the resource of the client account is transmitted.

Claims (50)

1. A computer-implemented method, comprising:

providing one or more programmatic interfaces for receiving, at a network monitoring service of a service provider network that provides network-based services to a plurality of clients, user-specified network connection performance thresholds for generating network health events indicating packet loss or latency over connections between networks;

receiving, from a client via the one or more programmatic interfaces, a user-specified network connection performance threshold for generating a network health event indicating packet loss or latency over a connection between a first network and a second network, wherein the first network comprises a plurality of resources including a virtual machine configured at a cloud computing environment, and wherein the second network comprises a plurality of resources;

monitoring, by the network monitoring service, one or more private resources of the service provider, the one or more private resources configured to convey network traffic over the connection between the first network, including the virtual machine, and the second network;

determining, based on at least said monitoring of the one or more private resources of the provider network, one or more metrics indicating packet loss or latency over the connection between the first and second networks;

comparing a metric, of the one or more metrics determined based on at least said monitoring of the one or more private resources of the provider network, with the user-specified network connection performance threshold obtained from the client via the one or more programmatic interfaces; and

providing, by the network monitoring service and based at least in part on said comparing, an indication of the network health event indicating packet loss or latency over the connection between the first network and the second network.

2. The computer-implemented method as recited in claim 1 , wherein said monitoring the one or more metrics comprises:

causing a first set of network packets to be sent from a first agent of the network monitoring service to a second agent of the network monitoring service, wherein the first set of network packets do not include application data;

causing a second set of network packets to be sent from the second agent to the first agent, in response to packets of the first set, wherein a particular metric of the one or more metrics is based at least in part on an analysis of the second set of network packets.

3. The computer-implemented method as recited in claim 1 , further comprising:

automatically determining, at the network monitoring service, another threshold to be used to generate another health event, without obtaining the other threshold from a client of the network monitoring service.

4. The computer-implemented method as recited in claim 1 , wherein said providing the indication of the health event is based at least in part on a result obtained from a machine learning algorithm.

5. The computer-implemented method as recited in claim 1 , wherein a metric of the one or more metrics comprises one or more of: (a) a latency metric, (b) a packet drop metric, (c) a request-response success rate, or (d) a metric indicating a variation in latency.

6. The computer-implemented method as recited in claim 1 , wherein the one or more metrics of network traffic include a metric pertaining to packets transmitted using one or more of: (a) HTTP (HyperText Transfer Protocol) or (b) ICMP (Internet Control Message Protocol).

7. The computer-implemented method as recited in claim 1 , wherein the second network comprises one or more resources at a premise of the client.

8. A system, comprising:

one or more computing devices;

wherein the one or more computing devices include instructions that upon execution on or across the one or more computing devices cause the one or more computing devices to:

provide one or more programmatic interfaces for receiving, at a network monitoring service of a service provider network that provides network-based services to a plurality of clients, user-specified network connection performance thresholds for generating network health events indicating impaired connectivity over connections between networks;

receive, from a client via the one or more programmatic interfaces, a user-specified network connection performed threshold for generating a network health event indicating impaired connectivity over a connection between a first network and a second network, wherein the first network comprises a plurality of resources including a virtual machine configured at a cloud computing environment, and wherein the second network comprises a plurality of resources;

monitor, by the network monitoring service, one or more private resources of the service provider, the one or more private resources configured to convey network traffic comprising test messages, the test messages generated via one or more connectivity tests between at least one of the private resources of the first network and at least one private resource of the second network;

determine, based on at least said monitor one or more private resources of the provider network, one or more metrics indicating packet loss or latency over the connection conveying the network traffic comprising the test messages, between the resources of the first network, including the virtual machine, and the second network; and

provide, based at least in part on comparing a metric, of the one or more metrics of the network traffic indicating packet loss or latency between the resources of the first and second networks, with the user-specified network connection performance threshold obtained from the client via the one or more programmatic interfaces, an indication of the health event indicating impaired connectivity between the first network and the second network.

9. The system as recited in claim 8 , wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices further cause the one or more computing devices to:

send a first set of request packets from a first agent of the network monitoring service to a second agent of the network monitoring service;

send a second set of network packets from the second agent to the first agent, in response to packets of the first set, wherein a particular metric of the one or more metrics is based at least in part on an analysis of the second set of network packets.

10. The system as recited in claim 8 , wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices further cause the one or more computing devices to:

automatically determine, at the network monitoring service, another threshold to be used to generate another health event, without obtaining the other threshold from a client of the network monitoring service.

11. The system as recited in claim 8 , wherein the one or more computing devices include further instructions that upon execution on or across the one or more computing devices further cause the one or more computing devices to:

obtain a result from a machine learning algorithm, wherein the indication of the health event is provided based at least in part on the result.

12. The system as recited in claim 8 , wherein a metric of the one or more metrics comprises one or more of: (a) a latency metric, (b) a packet drop metric, (c) a request-response success rate, or (d) a metric indicating a variation in latency.

13. The system as recited in claim 8 , wherein the one or more metrics of network traffic include a metric pertaining to packets transmitted using one or more of: (a) HTTP (HyperText Transfer Protocol) or (b) ICMP (Internet Control Message Protocol).

14. The system as recited in claim 8 , wherein the second network comprises one or more resources at a premise external to the cloud computing environment.

15. One or more non-transitory computer-accessible storage media storing program instructions that when executed on or across one or more processors cause the one or more processors to:

provide one or more programmatic interfaces for receiving, at a network monitoring service of a service provider network that provides network-based services to a plurality of clients user-specified network connection performance thresholds for generating network health events indicating packet loss or latency over connections between networks;

receive, from a client via the one or more programmatic interfaces, a user-specified network connection performance threshold for generating a network health event indicating packet loss or latency over a connection between a first network and a second network, wherein the first network comprises a plurality of resources including a virtual machine configured at a cloud computing environment, and wherein the second network comprises a plurality of resources;

monitor, by the network monitoring service, one or more private resources of the service provider network, the one or more private resources configured to convey network traffic over the connection between the first network, including the virtual machine, and the second network;

determine, based on at least said monitor the one or more private resources of the provider network, one or more metrics indicating packet loss or latency over the connection between the first and second networks;

compare a metric, of the one or more metrics determined based on at least said monitor one or more private resources of the service provider network, with the user-specified network connection performance threshold obtained from the client via the one or more programmatic interfaces; and

provide, by the network monitoring service and based at least in part on said compare, an indication of the network health event indicating packet loss or latency over the connection between the first network and the second network.

16. The one or more non-transitory computer-accessible storage media as recited in claim 15 , storing further program instructions that when executed on or across one or more processors further cause the one or more processors to:

send a first set of request packets from a first agent of the network monitoring service to a second agent of the network monitoring service;

send a second set of network packets from the second agent to the first agent, in response to packets of the first set, wherein a particular metric of the one or more metrics is based at least in part on an analysis of the packets of the second set.

17. The one or more non-transitory computer-accessible storage media as recited in claim 15 , storing further program instructions that when executed on or across one or more processors further cause the one or more processors to:

automatically determine, at the network monitoring service, another threshold to be used to generate another health event, without obtaining the other threshold from a client of the network monitoring service.

18. The one or more non-transitory computer-accessible storage media as recited in claim 15 , storing further program instructions that when executed on or across one or more processors further cause the one or more processors to:

obtain a result from a machine learning algorithm, wherein the indication of the health event is provided based at least in part on the result.

19. The one or more non-transitory computer-accessible storage media as recited in claim 15 , wherein a metric of the one or more metrics comprises one or more of: (a) a latency metric, (b) a packet drop metric, (c) a request-response success rate, or (d) a metric indicating a variation in latency.

20. The one or more non-transitory computer-accessible storage media as recited in claim 15 , wherein the indication of the health event is provided at least in part via a graphical user interface.

Continuity (2)
Continuation 15279351 · Sep 28, 2016
Related Publication 20210119890A1 · Apr 22, 2021
References Cited (176)
US 5919248A · Kahkoska et al. · 1999 [cited by applicant]
US 6006016A · Faigon et al. · 1999 [cited by applicant]
US 6714971B2 · Motoyama et al. · 2004 [cited by applicant]
US 6958998B2 · Shorey · 2005 [cited by applicant]
US 7051098B2 · Masters et al. · 2006 [cited by applicant]
US 7177927B1 · Cahn · 2007 [cited by applicant]
US 7634590B2 · Addleman et al. · 2009 [cited by applicant]
US 7634682B2 · Black et al. · 2009 [cited by applicant]
US 7941859B2 · Camenisch et al. · 2011 [cited by applicant]
US 7975184B2 · Goff et al. · 2011 [cited by applicant]
US 8082581B2 · Wu · 2011 [cited by applicant]
US 8209749B2 · Babula et al. · 2012 [cited by applicant]
US 8261341B2 · Stirbu · 2012 [cited by applicant]
US 8443435B1 · Schroeder · 2013 [cited by applicant]
US 8539593B2 · Tan et al. · 2013 [cited by applicant]
US 8543734B2 · McDysan · 2013 [cited by applicant]
US 8559441B2 · Miyabe · 2013 [cited by applicant]
US 8559449B2 · Rao et al. · 2013 [cited by applicant]
US 8612576B1 · Brandwine · 2013 [cited by examiner]
US 8612599B2 · Tung et al. · 2013 [cited by applicant]
US 8639989B1 · Sorenson, III et al. · 2014 [cited by applicant]
US 8656420B2 · Foster et al. · 2014 [cited by applicant]
US 8705394B2 · Venkatachalapthy et al. · 2014 [cited by applicant]
US 8726392B1 · McCorkendale et al. · 2014 [cited by applicant]
US 8805971B1 · Roth et al. · 2014 [cited by applicant]
US 8856869B1 · Brinskelle · 2014 [cited by applicant]
US 8868766B1 · Theimer · 2014 [cited by examiner]
US 8869286B1 · Liu · 2014 [cited by applicant]
US 8949994B2 · Amit et al. · 2015 [cited by applicant]
US 8984642B2 · Pistoia et al. · 2015 [cited by applicant]
US 9009305B1 · Callau · 2015 [cited by applicant]
US 9032077B1 · Klein et al. · 2015 [cited by applicant]
US 9075997B2 · Artzi et al. · 2015 [cited by applicant]
US 9104572B1 · Thompson et al. · 2015 [cited by applicant]
US 9164864B1 · Novick et al. · 2015 [cited by applicant]
US 9626262B1 · Vogel et al. · 2017 [cited by applicant]
US 9813379B1 · Shevade et al. · 2017 [cited by applicant]
US 10862777B2 · Richards et al. · 2020 [cited by applicant]
US 11082338B1 · Saha · 2021 [cited by applicant]
US 11411845B1 · Faisal Padinjareveetil · 2022 [cited by applicant]
US 11514778B2 · Benhammou · 2022 [cited by applicant]
US 20020099818A1 · Russell et al. · 2002 [cited by applicant]
US 20030061340A1 · Sun et al. · 2003 [cited by applicant]
US 20040042470A1 · Cooper · 2004 [cited by applicant]
US 20050021546A1 · Garcea et al. · 2005 [cited by applicant]
US 20050228880A1 · Champlin · 2005 [cited by applicant]
US 20050262269A1 · Pike · 2005 [cited by applicant]
US 20060031461A1 · Mathur et al. · 2006 [cited by applicant]
US 20070211730A1 · Cuthbert et al. · 2007 [cited by applicant]
US 20070230361A1 · Choudhury · 2007 [cited by applicant]
US 20080134046A1 · Gray et al. · 2008 [cited by applicant]
US 20080181134A1 · Anerousis et al. · 2008 [cited by applicant]
US 20080304421A1 · Ramasubramanian et al. · 2008 [cited by applicant]
US 20080320123A1 · Houlihan et al. · 2008 [cited by applicant]
US 20090138592A1 · Overcash et al. · 2009 [cited by applicant]
US 20090276317A1 · Dixon et al. · 2009 [cited by applicant]
US 20090327821A1 · Bauerle et al. · 2009 [cited by applicant]
US 20100122175A1 · Gupta et al. · 2010 [cited by applicant]
US 20100162036A1 · Linden et al. · 2010 [cited by applicant]
US 20100275262A1 · Anand et al. · 2010 [cited by applicant]
US 20100332617A1 · Goodwin · 2010 [cited by examiner]
US 20110126059A1 · Klein · 2011 [cited by applicant]
US 20110145836A1 · Wheeler et al. · 2011 [cited by applicant]
US 20110238733A1 · Yoo et al. · 2011 [cited by applicant]
US 20120072588A1 · Kamath et al. · 2012 [cited by applicant]
US 20120176914A1 · Choudhury et al. · 2012 [cited by applicant]
US 20120182865A1 · Andersen et al. · 2012 [cited by applicant]
US 20120311475A1 · Wong · 2012 [cited by applicant]
US 20120317164A1 · Zhou · 2012 [cited by applicant]
US 20130007261A1 · Dutta et al. · 2013 [cited by applicant]
US 20130031238A1 · Grossklas et al. · 2013 [cited by applicant]
US 20130031424A1 · Srivastava et al. · 2013 [cited by applicant]
US 20130157644A1 · Berg et al. · 2013 [cited by applicant]
US 20130185436A1 · Carlin et al. · 2013 [cited by applicant]
US 20130204645A1 · Lehman et al. · 2013 [cited by applicant]
US 20130227355A1 · Dake et al. · 2013 [cited by applicant]
US 20130238805A1 · Catrein · 2013 [cited by examiner]
US 20130336104A1 · Talla et al. · 2013 [cited by applicant]
US 20130347072A1 · Dinha · 2013 [cited by examiner]
US 20140075048A1 · Yuksel et al. · 2014 [cited by applicant]
US 20140089493A1 · Bauer et al. · 2014 [cited by applicant]
US 20140180738A1 · Phillipps et al. · 2014 [cited by applicant]
US 20140237111A1 · McMurry · 2014 [cited by applicant]
US 20140280884A1 · Searle · 2014 [cited by examiner]
US 20140280892A1 · Reynolds et al. · 2014 [cited by applicant]
US 20140304398A1 · Carlen · 2014 [cited by applicant]
US 20140330955A1 · Bishop · 2014 [cited by examiner]
US 20150067171A1 · Yum · 2015 [cited by examiner]
US 20150127816A1 · Kruglick · 2015 [cited by applicant]
US 20150142970A1 · Callaghan · 2015 [cited by examiner]
US 20150149611A1 · Lissack · 2015 [cited by examiner]
US 20150188780A1 · Spieser · 2015 [cited by examiner]
US 20150215433A1 · Leung et al. · 2015 [cited by applicant]
US 20150268876A1 · Ahn et al. · 2015 [cited by applicant]
US 20150295909A1 · Jethanandani et al. · 2015 [cited by applicant]
US 20160042289A1 · Poola et al. · 2016 [cited by applicant]
US 20160080218A1 · Matthews et al. · 2016 [cited by applicant]
US 20160105408A1 · Cooper et al. · 2016 [cited by applicant]
US 20160211988A1 · Lucas · 2016 [cited by examiner]
US 20160254968A1 · Ebtekar · 2016 [cited by applicant]
US 20160266962A1 · Rajasekharan · 2016 [cited by applicant]
US 20160378615A1 · Cohen et al. · 2016 [cited by applicant]
US 20170019291A1 · Tapia · 2017 [cited by examiner]
US 20170039120A1 · Ganesan et al. · 2017 [cited by applicant]
US 20170099188A1 · Chang · 2017 [cited by examiner]
US 20170123885A1 · Margalit et al. · 2017 [cited by applicant]
US 20170163511A1 · Montoya et al. · 2017 [cited by applicant]
US 20170251515A1 · Altman · 2017 [cited by examiner]
US 20170288945A1 · Chandangoudar · 2017 [cited by examiner]
US 20170300708A1 · Gopshtein et al. · 2017 [cited by applicant]
US 20170359228A1 · O'Neill · 2017 [cited by applicant]
US 20170364973A1 · Van Biljon et al. · 2017 [cited by applicant]
US 20170366417A1 · Karacali-Akyamac et al. · 2017 [cited by applicant]
US 20180004539A1 · Liguori et al. · 2018 [cited by applicant]
US 20180004954A1 · Liguori et al. · 2018 [cited by applicant]
US 20180091392A1 · Richards et al. · 2018 [cited by applicant]
US 20180091394A1 · Richards et al. · 2018 [cited by applicant]
US 20180091401A1 · Richards et al. · 2018 [cited by applicant]
US 20180091413A1 · Richards et al. · 2018 [cited by applicant]
US 20180123939A1 · Raman et al. · 2018 [cited by applicant]
US 20180158329A1 · Benhammou et al. · 2018 [cited by applicant]
US 20180191597A1 · Nageshappa et al. · 2018 [cited by applicant]
US 20180367459A1 · Chandrasekaran · 2018 [cited by examiner]
US 20190182119A1 · Ratkovic · 2019 [cited by applicant]
US 20190234752A1 · Volos et al. · 2019 [cited by applicant]
US 20190342187A1 · Zavesky et al. · 2019 [cited by applicant]
US 20200236121A1 · Spurlock · 2020 [cited by applicant]
US 20200036484A1 · Mahajan · 2020 [cited by applicant]
US 20200364127A1 · White · 2020 [cited by applicant]
US 20200366573A1 · White · 2020 [cited by applicant]
US 20200366580A1 · Sinha · 2020 [cited by applicant]
US 20200366587A1 · White · 2020 [cited by applicant]
US 20200366756A1 · Vittal · 2020 [cited by applicant]
US 20200366758A1 · Chauhan · 2020 [cited by applicant]
US 20200366759A1 · Sinha · 2020 [cited by applicant]
US 20200374204A1 · Bader · 2020 [cited by applicant]
US 20210058989A1 · Simsek et al. · 2021 [cited by applicant]
US 20210092026A1 · Di Pietro · 2021 [cited by applicant]
US 20210234860A1 · Bansal · 2021 [cited by applicant]
US 20210258239A1 · Richards et al. · 2021 [cited by applicant]
US 20210409275A1 · Galchenko · 2021 [cited by applicant]
US 20220086072A1 · Chou et al. · 2022 [cited by applicant]
US 20220086698A1 · Yao et al. · 2022 [cited by applicant]
US 20220141751A1 · Yao et al. · 2022 [cited by applicant]
US 20220191733A1 · Ali et al. · 2022 [cited by applicant]
US 20220321469A1 · Qian · 2022 [cited by applicant]
US 20220321470A1 · Qian · 2022 [cited by applicant]
US 20230070701A1 · Wang · 2023 [cited by applicant]
US 20230112613A1 · Mehta · 2023 [cited by applicant]
US 20230231785A1 · Kumar · 2023 [cited by applicant]
CN 101204042A · 2008 [cited by applicant]
CN 101808353A · 2010 [cited by applicant]
CN 104243232A · 2014 [cited by applicant]
CN 104539464A · 2015 [cited by applicant]
CN 105847300A · 2016 [cited by applicant]
CN 102724078A · 2021 [cited by applicant]
Srikanth Kandula, et al., “The Nature of Datacenter Traffic: Measurements & Analysis”, IMC'09, ACM, Nov. 4-6, 2009, pp. 202-208. [cited by applicant]
Albert Greenberg, et al., “VL2: A Scalable and Flexible Data Center Network”, SIGCOMM'09, ACM, Aug. 17-21, 2009, pp. 1-12. [cited by applicant]
U.S. Appl. No. 14/869,905, filed Sep. 29, 2015, David Sean Russell. [cited by applicant]
U.S. Appl. No. 14/869,907, filed Sep. 29, 2015, David Sean Russell. [cited by applicant]
U.S. Appl. No. 14/855,139, filed Sep. 15, 2015, Muhammad Wasiq et al. [cited by applicant]
Amazon Web Services, “AWS Direct Connect” User Guide API Version, Oct. 22, 2013, pp. 1-42. [cited by applicant]
Amazon Web Services, “Amazon Virtual Private Cloud”, User Guide API Version, Oct. 1, 2013, pp. 1-143. [cited by applicant]
U.S. Appl. No. 15/279,346, filed Sep. 28, 2016, Kenneth Grey Richards. [cited by applicant]
U.S. Appl. No. 15/279,345, filed Sep. 28, 2016, Kenneth Grey Richards. [cited by applicant]
U.S. Appl. No. 15/279,347, filed Sep. 28, 2016, Kenneth Grey Richards. [cited by applicant]
Chard Ryan et al., “Network Health and e-Science in Commercial Clouds”, Future Generations Computer Systems, Elsevier Science Publishers, Amsterdam, NL, vol. 56, Jun. 23, 2015, pp. 595-604. [cited by applicant]
Amazon Web Services, “Best Practices for Deploying Amazon WorkSpaces—Network Access, Directory Services, and Security”, Jul. 1, 2016, Retrieved from URL: https://d1awsstatic.com/whitepapers/workspaces/Best_Practices_for… [cited by applicant]
International Search Report and Written Opinion from PCT/US2017/053614, Dated Jan. 5, 2018, Amazon Technologies, Inc., pp. 1-11. [cited by applicant]
Office Action mailed Nov. 18, 2021 in Chinese Patent Application No. 201780072724.9, Amazon Technologies, Inc., pp. 1-21 (including translation). [cited by applicant]
Office Action mailed Dec. 23, 2021 in Chinese Patent Application No. 201780073363.X, Amazon Technologies, Inc., pp. 1-21 (including translation). [cited by applicant]
Office Action mailed Dec. 24, 2021 in Chinese Patent Application No. 201780073368.2, Amazon Technologies, Inc., pp. 1-22 (including translation). [cited by applicant]
Zhao, Hong-Hua, et al., “Multiple Parameters Network Topology Inference Based on Tomography,” Journal of Beijing University of Posts and Telecommunications, Aug. 2008, pp. 24-28, vol. 31 No. 4. [cited by applicant]
Chen Xiaoshuai, “IP Network Runtime Performance Evaluation and System Implementation,” China Master's Theses Full-text Database (Master) Information Technology Series, Oct. 15, 2008, pp. 22-28. [cited by applicant]
Luo, Yun-Qian, et al., “Statistic IP Network Quality's Fuzzy Evaluation Method,” Computer Science, Aug. 2010, pp. 77-79, vol. 37 No. 8. [cited by applicant]
U.S. Appl. No. 18/309,597, filed Apr. 28, 2023, Kenneth Grey Richards et al. [cited by applicant]