# US 10,313,206 B1 · Verifying service status

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

- Number: US 10,313,206 B1
- Document ID: US10313206B1
- Status: Granted
- Kind: B1
- Application number: 14/998,167
- Filed: 2015-12-23
- Granted: 2019-06-04
- Earliest claimed: 2015-12-23
- Assignees: Apstra, Inc.
- Applicants: Apstra, Inc.
- Inventors: Mansour Jad Karam; Aleksandar Luka Ratkovic; Chi Fung Michael Chan
- Web page: https://patentgrep.com/patent/US10313206B1

## CPC

- H04L 43/55: Testing of service level quality, e.g. simulating service usage
- H04L 41/0866: Checking the configuration
- H04L 67/56: Provisioning of proxy services (store-and-forward switching systems in data switching networks H04L12/54)
- H04L 67/567: Integrating service provisioning from a plurality of service providers
- H04L 67/303: Terminal profiles
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A first device verification model is sent to a first proxy agent on a first device providing at least a portion of the service. The first proxy agent is able to monitor based on the first device verification model a parameter of the first device related to the service. A second device verification model is sent to a second proxy agent on a second device providing at least a portion of the service, wherein the second proxy agent is able to monitor based on the second device verification model a parameter of the second device related to the service. A report is received from the first proxy agent of at least the parameter of the first device. A report is received from the second proxy agent of at least the parameter of the second device. At least the parameter of the first device and at least the parameter of the second device are compared to determine whether the service is functioning as intended.

## Claims

### Claim 1

A system for verifying a service, comprising:
a communication interface configured to:
send a first set of device requirements and a first device verification model to a first proxy agent on a first device providing at least a portion of the service, wherein the first set of device requirements is different from the first device verification model, the first proxy agent translates the first set of device requirements for a specific type of vendor of the first device to generate native hardware instructions to configure the first device, and the first proxy agent is able to monitor based on the first device verification model a parameter of the first device related to the service;
send a second set of device requirements and a second device verification model to a second proxy agent on a second device providing at least a portion of the service, wherein the second set of device requirements is different from the second device verification model, the second proxy agent translates the second set of device requirements for a specific type of vendor of the second device to generate native hardware instructions to configure the second device, and the second proxy agent is able to monitor based on the second device verification model a parameter of the second device related to the service;
receive a report from the first proxy agent of at least the parameter of the first device; and
receive a report from the second proxy agent of at least the parameter of the second device; and
a processor coupled to the communication interface and configured to:
compare at least the parameter of the first device and at least the parameter of the second device to determine whether the service is functioning as intended, including by correlating at least a portion of the report from the first proxy agent that received the first device verification model with at least a portion of the report from the second proxy agent that received the second device verification model; and
automatically perform a computer action based on the determination on whether the service is functioning as intended.

### Claim 2 (depends on 1)

The system of claim 1, wherein the parameter of the first device includes a status of an IP address and a quality of service metric of the first device.

### Claim 3 (depends on 1)

The system of claim 1, wherein an application agent of a third device of the system performs the comparison between at least the parameter of the first device that received the first device verification model and at least the parameter of the second device that received the second device verification model, and the processor is further configured to identify using the reports, any parameter extraneous to providing the service.

### Claim 4 (depends on 1)

The system of claim 1, wherein the first device verification model has been specifically generated for the first device.

### Claim 5 (depends on 1)

The system of claim 1, wherein the first device verification model has been generated based on a received declarative requirement for the service.

### Claim 6 (depends on 5)

The system of claim 5, wherein the first set of device requirements has been generated based on the received declarative requirement.

### Claim 7 (depends on 1)

The system of claim 1, wherein the service includes a network service.

### Claim 8 (depends on 1)

The system of claim 1, wherein the service includes an L3 Clos mesh network service.

### Claim 9 (depends on 1)

The system of claim 1, wherein the first device and the second device are network switches.

### Claim 10 (depends on 1)

The system of claim 1, wherein the report of at least the first device identifies status of a plurality of parameters of the first device identified by the first device verification model.

### Claim 11 (depends on 1)

The system of claim 1, wherein the report of at least the first device confirms an existence of an object of the parameter of the first device.

### Claim 12 (depends on 1)

The system of claim 1, wherein the first device verification model identifies a list of one or more network connection sessions to be reported.

### Claim 13 (depends on 1)

The system of claim 1, wherein the first device verification model identifies a list of one or more network interfaces to be reported.

### Claim 14 (depends on 1)

The system of claim 1, wherein the first device verification model identifies one or more performance metrics to be verified.

### Claim 15 (depends on 1)

The system of claim 1, wherein a new report of the parameter of the first device is periodically received from the first proxy agent.

### Claim 16 (depends on 1)

The system of claim 1, wherein a new report of the parameter of the first device is dynamically received from the first proxy agent when the proxy agent has detected a material change to the first device.

### Claim 17 (depends on 1)

The system of claim 1, wherein comparing the parameter of the first device and the parameter of the second device includes determining whether the parameter of the first device and the parameter of the second device are consistent to indicate that the service has been properly configured and is functioning as intended by a declarative set of requirements.

### Claim 18 (depends on 1)

The system of claim 1, wherein the first device verification model has been generated based on a result of a plurality of declarative requirement processing stages and for at least one of the plurality of declarative requirement processing stages, an input declarative requirement is processed with one or more constraints to determine an output declarative requirement that is at a lower level than a level of the input declarative requirement.

### Claim 19

A method for verifying a service, comprising:
sending a first set of device requirements and a first device verification model to a first proxy agent on a first device providing at least a portion of the service, wherein the first set of device requirements is different from the first device verification model, the first proxy agent translates the first set of device requirements for a specific type of vendor of the first device to generate native hardware instructions to configure the first device, and the first proxy agent is able to monitor based on the first device verification model a parameter of the first device related to the service;
sending a second set of device requirements and a second device verification model to a second proxy agent on a second device providing at least a portion of the service, wherein the second set of device requirements is different from the second device verification model, the second proxy agent translates the second set of device requirements for a specific type of vendor of the second device to generate native hardware instructions to configure the second device, and the second proxy agent is able to monitor based on the second device verification model a parameter of the second device related to the service;
receiving a report from the first proxy agent of at least the parameter of the first device;
receiving a report from the second proxy agent of at least the parameter of the second device;
using a processor to compare at least the parameter of the first device and at least the parameter of the second device to determine whether the service is functioning as intended, including by correlating at least a portion of the report from the first proxy agent that received the first device verification model with at least a portion of the report from the second proxy agent that received the second device verification model; and
automatically performing a computer action based on the determination on whether the service is functioning as intended.

### Claim 20

A computer program product for verifying a service, the computer program product being embodied in a non-transitory computer readable storage medium and comprising computer instructions for:
sending a first set of device requirements and a first device verification model to a first proxy agent on a first device providing at least a portion of the service, wherein the first set of device requirements is different from the first device verification model, the first proxy agent translates the first set of device requirements for a specific type of vendor of the first device to generate native hardware instructions to configure the first device, and the first proxy agent is able to monitor based on the first device verification model a parameter of the first device related to the service;
sending a second set of device requirements and a second device verification model to a second proxy agent on a second device providing at least a portion of the service, wherein the second set of device requirements is different from the second device verification model, the second proxy agent translates the second set of device requirements for a specific type of vendor of the second device to generate native hardware instructions to configure the second device, and the second proxy agent is able to monitor based on the second device verification model a parameter of the second device related to the service;
receiving a report from the first proxy agent of at least the parameter of the first device;
receiving a report from the second proxy agent of at least the parameter of the second device; and
comparing at least the parameter of the first device and at least the parameter of the second device to determine whether the service is functioning as intended, including by correlating at least a portion of the report from the first proxy agent that received the first device verification model with at least a portion of the report from the second proxy agent that received the second device verification model; and
automatically performing a computer action based on the determination on whether the service is functioning as intended.
