# US 10,771,345 B1 · Network monitoring service

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

- Number: US 10,771,345 B1
- Document ID: US10771345B1
- Status: Granted
- Kind: B1
- Application number: 15/393,131
- Filed: 2016-12-28
- Granted: 2020-09-08
- Earliest claimed: 2016-12-28
- Assignees: Amazon Technologies, Inc.
- Applicants: Amazon Technologies, Inc.
- Inventors: Andreas Louca; Yan Xu; Andrew Miehs; Jason Svein Ashworth; Zhiheng Gao
- Web page: https://patentgrep.com/patent/US10771345B1

## CPC

- H04L 41/12: Discovery or management of network topologies
- H04L 41/0813: characterised by the conditions triggering a change of settings
- H04L 41/082: the condition being updates or upgrades of network functionality
- H04L 43/0817: by checking functioning
- H04L 43/0882: Utilisation of link capacity
- H04L 43/16: Threshold monitoring
- H04L 43/50: Testing arrangements
- H04L 45/02: Topology update or discovery
- H04L 41/0893: Assignment of logical groups to network elements
- H04L 41/0895: Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
- H04L 41/147: for predicting network behaviour
- H04L 41/149: for prediction of maintenance
- H04L 41/40: using virtualisation of network functions or resources, e.g. SDN or NFV entities
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

The following description is directed to a network monitoring service. In one example, a method can include receiving a query including a reference to a logical device of a network and an action to perform on the logical device. The logical device can include a plurality of interconnected network devices. The method can include determining whether the action can be performed on the logical device based at least on combining scores of the network devices of the logical device. The score of an individual network device can be calculated by recursively calculating scores of neighboring network devices of the individual network device. The method can include transmitting a response indicating whether the action can be performed on the logical device.

## Claims

### Claim 1

One or more computer readable storage media including instructions thereon for executing a method of managing a communications network, the method comprising:
generating a network topology of the network, wherein the network comprises a plurality of network devices arranged in a plurality of interconnected tiers;
receiving a request to perform an action on a logical device of the network, the logical device comprising a group of network devices from the plurality of network devices of the network;
annotate respective operation statuses of the plurality of network devices to the generated network topology to generate an annotated network topology;
using the generated annotated network topology to calculate a score for the logical device based on a combination of scores of the network devices of the logical device, the score of an individual network device calculated using a measure of network capacity through neighboring tiers, the measure of network capacity calculated by recursively analyzing properties of network devices in the neighboring tiers of the individual network device, wherein calculating the score is based on a type of the logical device including whether the logical device is a partially-meshed logical device or a fully-meshed logical device; and
performing the action on the logical device based on whether the calculated score exceeds a threshold.

### Claim 2 (depends on 1)

The one or more computer readable storage media of claim 1, wherein calculating a score for the logical device based on a combination of scores of the network devices comprises calculating a minimum of the scores of the network devices within a tier of the logical device.

### Claim 3 (depends on 1)

The one or more computer readable storage media of claim 1, wherein the action to perform on the logical device is to deploy an updated configuration or software patch to each of the network devices of the logical device.

### Claim 4 (depends on 1)

The one or more computer readable storage media of claim 1, wherein the action to perform on the logical device is change a service status of the logical device.

### Claim 5 (depends on 1)

The one or more computer readable storage media of claim 1, wherein the threshold is selected based on a type of the logical device, the action to be performed, a utilization of the logical device, or a type of a neighboring logical device.

### Claim 6 (depends on 1)

The one or more computer readable storage media of claim 1, wherein recursively analyzing properties of network devices in neighboring tiers of the individual network device is performed to a depth of two hops.

### Claim 7

A method of a network monitoring service, the method comprising:
receiving a query comprising a reference to a logical device of a network and an action to perform on the logical device, the logical device comprising a plurality of interconnected network devices;
determining whether the action will be performed on the logical device based on combining scores of the network devices of the logical device, wherein the score of an individual network device is calculated by recursively calculating scores of neighboring network devices of the individual network device, wherein the score of the individual network device is dependent on a number of available interfaces of the individual network device, and wherein a number of network hops traversed when calculating the score of the individual network device is a function of a type of a respective logical device that incorporates the individual network device or a respective logical device that incorporates the neighboring network devices; and
transmitting a response indicating whether the action is to be performed on the logical device.

### Claim 8 (depends on 7)

The method of claim 7, wherein combining scores of the network devices of the logical device comprises calculating a minimum of the scores of the network devices within a tier of the logical device.

### Claim 9 (depends on 7)

The method of claim 7, wherein the number of network hops traversed when calculating the score of the individual network device is one hop when the type of the respective logical device that incorporates the individual network device or the respective logical device that incorporates the neighboring network devices is a fully-meshed logical device.

### Claim 10 (depends on 7)

The method of claim 7, wherein a depth of recursion for recursively calculating scores of neighboring network devices is at least two hops when the type of logical device incorporating one or more of the neighboring network devices is a partially-meshed logical device.

### Claim 11 (depends on 7)

The method of claim 7, wherein the plurality of interconnected network devices of the logical device are arranged in multiple tiers, and each network device of a first tier is fully meshed with every network device of a second tier.

### Claim 12 (depends on 7)

The method of claim 7, further comprising:
performing the action on the logical device after it is determined that the action can be performed.

### Claim 13 (depends on 7)

The method of claim 7, wherein determining whether the action can be performed on the logical device comprises comparing the combined scores of the network devices of the logical device to a threshold.

### Claim 14 (depends on 13)

The method of claim 13, wherein the threshold is selected based on a type of the logical device, the action to be performed, or a type of a neighboring logical device.

### Claim 15

A system for routing network traffic, the system comprising:
a plurality of interconnected network devices; and
a network health service executing on one or more host server computers and configured to:
generate a topology corresponding to the plurality of interconnected network devices, wherein the topology comprises a plurality of logical devices and each logical device comprises a subset of the plurality of interconnected network devices;
receive a request to perform an action on a particular logical device;
calculate a score for the particular logical device based on a combination of scores of the individual network devices of the particular logical device, the scores of the individual network devices calculated by using the generated topology to recursively analyze properties of neighboring network devices of the individual network devices, wherein the scores are further based on a number of available interfaces on the individual network devices, and wherein, for each individual network device of the particular logical device, the score of the individual network device is calculated based on the properties of the neighboring network devices that are a respectively selected number of hops away from the individual network device, the number of hops being selected for each individual network device as a function of a type of the logical device incorporating the individual network device or a type of logical device incorporating one or more of the neighboring network devices of the individual network device; and
transmit a response indicating whether the action will be performed on the logical device, the response based on the calculated score for the particular logical device.

### Claim 16 (depends on 15)

The system of claim 15, wherein one of the scores of the individual network devices is a two-hop score.

### Claim 17 (depends on 15)

The system of claim 15, wherein the particular logical device is a multi-tier architecture selected from a Clos, folded-Clos, fat-tree, butterfly, flattened-butterfly, or dragonfly network.

### Claim 18 (depends on 15)

The system of claim 15, wherein, for each individual network device of the particular logical device, the number of hops selected for the individual network device is one hop when the type of the logical device incorporating the individual network device is a fully-meshed logical device, and at least two hops when the type of the logical device incorporating one or more of the neighboring network devices is a partially-meshed logical device.

### Claim 19 (depends on 15)

The system of claim 15, wherein the action to perform on the logical device is to deploy an updated configuration or software patch to each of the network devices of the logical device in a sequence where network devices in different tiers are deployed concurrently.

### Claim 20 (depends on 15)

The system of claim 15, wherein the logical device comprises a plurality of tiers, and wherein calculating the score for the particular logical device comprises calculating a minimum of the non-zero scores of the network devices within a tier of the logical device, and calculating a minimum of the scores of the tiers of the logical device.
