# US 12,009,985 B2 · Network reachability impact analysis

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

- Number: US 12,009,985 B2
- Document ID: US12009985B2
- Status: Granted
- Kind: B2
- Application number: 17/804,389
- Filed: 2022-05-27
- Published: 2022-09-15
- Granted: 2024-06-11
- Earliest claimed: 2020-12-10
- Assignees: Google Inc.
- Applicants: Google LLC
- Inventors: Hongkun Yang; Hui Liu; Gargi Adhav; Alan Tang
- Web page: https://patentgrep.com/patent/US12009985B2

## CPC

- H04L 41/12: Discovery or management of network topologies
- H04L 41/145: {involving simulating, designing, planning or modelling of a network}
- H04L 41/085: Retrieval of network configuration; Tracking network configuration history
- H04L 41/0853: by actively collecting configuration information or by backing up configuration information
- H04L 43/045: for graphical visualisation of monitoring data
- H04L 47/82: {Miscellaneous aspects}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A method includes obtaining a stream of consecutive network configuration snapshots each including network configuration information. The method also includes determining that first network configuration information is the same as second network configuration information. After determining that the first network configuration information is the same as the second network configuration information, the method includes determining that the second network configuration information is not the same as third network configuration information. The method also includes determining a net change in reachability for a network based on a difference in packet reachability. The method also includes determining a policy violation based on the net change in reachability for the network and generating a reachability differentiation report including the policy violation. The method also includes reverting a configuration of the network to a state corresponding to the first network configuration information and implementing the network using the reverted configuration.

## Claims

### Claim 1

A computer-implemented method executed by data processing hardware that causes the data processing hardware to perform operations comprising:
obtaining a stream of consecutive network configuration snapshots for a network, each network configuration snapshot of the stream of consecutive network configuration snapshots comprising network configuration information, the network establishing digital communication between a plurality of network endpoints;
determining that first network configuration information of a first network configuration snapshot of the network from the stream of consecutive network configuration snapshots for the network is the same as second network configuration information of a second network configuration snapshot of the network from the stream of consecutive network configuration snapshots for the network, the second network configuration snapshot of the network consecutive with the first network configuration snapshot in the stream of consecutive network configuration snapshots for the network;
after determining that the first network configuration information is the same as the second network configuration information, determining that the second network configuration information of the second network configuration snapshot of the network from the stream of consecutive network configuration snapshots for the network is not the same as third network configuration information of a third network configuration snapshot of the network from the stream of consecutive network configuration snapshots for the network, the third network configuration snapshot of the network consecutive with the second network configuration snapshot in the stream of consecutive network configuration snapshots for the network;
determining, based on a difference in packet reachability of the network during the second network configuration snapshot and packet reachability of the network during the third network configuration snapshot, a net change in reachability for the network;
determining, based on the net change in reachability for the network, a policy violation affecting reachability of the network present in the third network configuration snapshot;
generating a reachability differentiation report including the policy violation;
after generating the reachability differentiation report, reverting a configuration of the network to a state corresponding to the first network configuration information; and
implementing the network using the reverted configuration for digital communication between the plurality of network endpoints.

### Claim 2 (depends on 1)

The method of claim 1, wherein generating the reachability differentiation report comprises translating the policy violation from a computer-interpretable format to a human-interpretable output.

### Claim 3 (depends on 1)

The method of claim 1, wherein each network configuration snapshot of the stream of consecutive network configuration snapshots comprises a data plane model protocol taken at a respective time instance.

### Claim 4 (depends on 3)

The method of claim 3, wherein determining that first network configuration information of the first network configuration snapshot of the network is the same as second network configuration information of the second network configuration snapshot of the network comprises determining that the data plane model protocol of the first network configuration snapshot of the network is the same as the data plane model protocol of the second network configuration snapshot of the network.

### Claim 5 (depends on 1)

The method of claim 1, wherein the operations further comprise:
determining that the third network configuration information of the third network configuration snapshot of the network from the stream of consecutive network configuration snapshots for the network is the same as fourth network configuration information of a fourth network configuration snapshot of the network from the stream of consecutive network configuration snapshots for the network, the fourth network configuration snapshot of the network consecutive with the third network configuration snapshot in the stream of consecutive network configuration snapshots for the network; and
determining, based on determining that the third network configuration information of the third network configuration snapshot of the network is the same as the fourth network configuration information of the fourth network configuration snapshot of the network, that the network is unchanged between the third network configuration snapshot and the fourth network configuration snapshot.

### Claim 6 (depends on 1)

The method of claim 1, wherein the operations further comprise determining:
a first one or more packet equivalence classes for the first network configuration snapshot;
a second one or more packet equivalence classes for the second network configuration snapshot; and
a third one or more packet equivalence classes for the third network configuration snapshot,
wherein each packet equivalence class comprises a set of packets having the same forwarding behavior.

### Claim 7 (depends on 6)

The method of claim 6, wherein the operations further comprise:
assigning the second one or more packet equivalence classes for the second network configuration snapshot to the second network configuration information; and
assigning the third one or more packet equivalence classes for the third network configuration snapshot to the third network configuration information.

### Claim 8 (depends on 7)

The method of claim 7, wherein determining the net change in reachability for the network includes identifying a net change to network equivalence classes between the second network configuration information and the third network configuration information.

### Claim 9 (depends on 1)

The method of claim 1, wherein the operations further comprise localizing a configuration stanza responsible for the policy violation.

### Claim 10 (depends on 9)

The method of claim 9, wherein the reachability differentiation report includes the localized configuration stanza responsible for the policy violation.

### Claim 11

A system comprising:
data processing hardware; and
memory hardware in communication with the data processing hardware, the memory hardware storing instructions that are executed on the data processing hardware and cause the data processing hardware to perform operations comprising:
obtaining a stream of consecutive network configuration snapshots for a network, each network configuration snapshot of the stream of consecutive network configuration snapshots comprising network configuration information, the network establishing digital communication between a plurality of network endpoints;
determining that first network configuration information of a first network configuration snapshot of the network from the stream of consecutive network configuration snapshots for the network is the same as second network configuration information of a second network configuration snapshot of the network from the stream of consecutive network configuration snapshots for the network, the second network configuration snapshot of the network consecutive with the first network configuration snapshot in the stream of consecutive network configuration snapshots for the network;
after determining that the first network configuration information is the same as the second network configuration information, determining that the second network configuration information of the second network configuration snapshot of the network from the stream of consecutive network configuration snapshots for the network is not the same as third network configuration information of a third network configuration snapshot of the network from the stream of consecutive network configuration snapshots for the network, the third network configuration snapshot of the network consecutive with the second network configuration snapshot in the stream of consecutive network configuration snapshots for the network;
determining, based on a difference in packet reachability of the network during the second network configuration snapshot and packet reachability of the network during the third network configuration snapshot, a net change in reachability for the network;
determining, based on the net change in reachability for the network, a policy violation affecting reachability of the network present in the third network configuration snapshot;
generating a reachability differentiation report including the policy violation;
after generating the reachability differentiation report, reverting a configuration of the network to a state corresponding to the first network configuration information; and
implementing the network using the reverted configuration for digital communication between the plurality of network endpoints.

### Claim 12 (depends on 11)

The system of claim 11, wherein generating the reachability differentiation report comprises translating the policy violation from a computer-interpretable format to a human-interpretable output.

### Claim 13 (depends on 11)

The system of claim 11, wherein each network configuration snapshot of the stream of consecutive network configuration snapshots comprises a data plane model protocol taken at a respective time instance.

### Claim 14 (depends on 13)

The system of claim 13, wherein determining that first network configuration information of the first network configuration snapshot of the network is the same as second network configuration information of the second network configuration snapshot of the network comprises determining that the data plane model protocol of the first network configuration snapshot of the network is the same as the data plane model protocol of the second network configuration snapshot of the network.

### Claim 15 (depends on 11)

The system of claim 11, wherein the operations further comprise:
determining that the third network configuration information of the third network configuration snapshot of the network from the stream of consecutive network configuration snapshots for the network is the same as fourth network configuration information of a fourth network configuration snapshot of the network from the stream of consecutive network configuration snapshots for the network, the fourth network configuration snapshot of the network consecutive with the third network configuration snapshot in the stream of consecutive network configuration snapshots for the network; and
determining, based on determining that the third network configuration information of the third network configuration snapshot of the network is the same as the fourth network configuration information of the fourth network configuration snapshot of the network, that the network is unchanged between the third network configuration snapshot and the fourth network configuration snapshot.

### Claim 16 (depends on 11)

The system of claim 11, wherein the operations further comprise determining:
a first one or more packet equivalence classes for the first network configuration snapshot;
a second one or more packet equivalence classes for the second network configuration snapshot; and
a third one or more packet equivalence classes for the third network configuration snapshot,
wherein each packet equivalence class comprises a set of packets having the same forwarding behavior.

### Claim 17 (depends on 16)

The system of claim 16, wherein the operations further comprise:
assigning the second one or more packet equivalence classes for the second network configuration snapshot to the second network configuration information; and
assigning the third one or more packet equivalence classes for the third network configuration snapshot to the third network configuration information.

### Claim 18 (depends on 17)

The system of claim 17, wherein determining the net change in reachability for the network includes identifying a net change to network equivalence classes between the second network configuration information and the third network configuration information.

### Claim 19 (depends on 11)

The system of claim 11, wherein the operations further comprise localizing a configuration stanza responsible for the policy violation.

### Claim 20 (depends on 19)

The system of claim 19, wherein the reachability differentiation report includes the localized configuration stanza responsible for the policy violation.
