# US 2017/0286540 A1 · Local and remote execution of standing queries

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

- Number: US 2017/0286540 A1
- Document ID: US20170286540A1
- Status: Published application
- Kind: A1
- Application number: 15/274,089
- Filed: 2016-09-23
- Published: 2017-10-05
- Earliest claimed: 2016-04-01
- Assignees: Arista Networks, Inc.
- Applicants: Arista Networks, Inc.
- Inventors: Michael Greenwald; Stephen Schleimer
- Web page: https://patentgrep.com/patent/US20170286540A1

## CPC

- G06F 16/24568: {Data stream processing; Continuous queries}
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)

## Abstract

A network device includes a standing query (SQ) service manager. The SQ service manager may obtain a standing query (SQ) request; determine a location of a table specified in the SQ request; identify a target location based on, at least in part, the location of the table; and generate a SQ instance based on the target location and SQ request. The target location is the network device.

## Claims

### Claim 1

A network device, comprising:
a standing query service manager configured to:
obtain a standing query (SQ) request;
determine a location of a table specified in the SQ request;
identify a target location based on, at least in part, the location of the table; and
generate a SQ instance based on the target location and SQ request,
wherein the target location is the network device.

### Claim 2 (depends on 1)

The network device of claim 1, wherein the standing query service manager is further configured to:
obtain a second standing query (SQ) request;
determine a second location of a second table specified in the second SQ request;
identify a second target location based on, at least in part, the second location; and
generate a second SQ instance based on the second target location and the second SQ request,
wherein the second target location is not the network device.

### Claim 3 (depends on 2)

The network device of claim 2, wherein generating the second SQ instance comprises:
sending a remote SQ instance execution request to a second network device,
wherein the remote SQ instance execution request comprises the second SQ request and the second target location.

### Claim 4 (depends on 2)

The network device of claim 2, wherein generating the second SQ instance comprises:
generating a compiled query based on a query type specified in the second SQ request;
sending a remote execution request to a second network device,
wherein the remote execution request comprises the compiled query, the second SQ request, and the second target location.

### Claim 5 (depends on 2)

The network device of claim 2, wherein the second target location specifies a second network device and an address space of the second network device.

### Claim 6 (depends on 2)

The network device of claim 2, wherein the standing query service manager is further configured to:
generate an observer, in response to generating the second SQ instance, based on, at least in part, the second location of the second table,
wherein the observer notifies the second SQ instance of changes to the second table.

### Claim 7 (depends on 2)

The network device of claim 2, generating the observer comprises sending an observer generation request, to a second network device.

### Claim 8 (depends on 2)

The network device of claim 2, wherein the standing query service manager is further configured to:
generate a modifier, in response to generating the second SQ instance, based on, at least in part, the second location of the second table,
wherein the modifier stores an output generated a compiled query of the second SQ instance in the second table.

### Claim 9 (depends on 1)

The network device of claim 1, wherein the target location specifies the network device and an address space of the network device.

### Claim 10 (depends on 6)

The network device of claim 6, wherein the network device is a switch.

### Claim 11 (depends on 6)

The network device of claim 6, wherein the network device is a router.

### Claim 12 (depends on 1)

The network device of claim 1, wherein the standing query service manager is further configured to:
generate an observer, in response to generating the SQ instance, based on, at least in part, the location of the table,
wherein the observer notifies the SQ instance of changes to the table.

### Claim 13 (depends on 1)

The network device of claim 1, wherein the standing query service manager is further configured to:
generate a modifier, in response to generating the SQ instance, based on, at least in part, the location of the table,
wherein the modifier stores an output generated a compiled query of the SQ instance in the table.

### Claim 14

A method for executing standing query instances (SQI), comprising:
obtaining, by a standing query service manager (SQSM) of the network device, a first standing query (SQ) request specifying an input table, an output table, a requesting agent;
identifying, based on the SQ request, a first plurality of input table targets associated with the network device and a second plurality of input table targets associated with a second network device;
determining, based on the SQ request, a target location based on a computation cost of executing a SQ instance at the target location; and
generating, by the SQS manager, the SQ instance at the target location,
wherein the target location is the second network device,
wherein a number of the second plurality of input table targets is greater than a number of the first plurality of input table targets.

### Claim 15 (depends on 14)

The method of claim 14, wherein the computation cost is based on at least one selected from a group consisting of the first plurality of input targets, the second plurality of input targets, and the SQ request.

### Claim 16 (depends on 15)

The method of claim 15, further comprising:
generating, by the SQSM of the network device, a first observer, associated with the first network device, that notifies the SQ instance of changes to a table of the first network device; and
generating, by the SQSM of the network device, a second observer, associated with the second network device, that notifies the SQ instance of changes to a table of the second network device.

### Claim 17 (depends on 15)

The method of claim 15, further comprising:
generating, by the SQSM of the network device, a first modifier, associated with the second network device, that stores an output generated by the SQ instance in a table of the first network device.

### Claim 18 (depends on 15)

The method of claim 15, further comprising:
obtaining, by the SQSM of the network device, a second SQ request comprising a second input table;
identifying, based on the second input table, a third plurality of input table targets associated with the network device and a fourth plurality of input table targets associated with the second network device;
determining, based on the SQ request, a target location based on the first plurality of input targets, second plurality of input targets, and the SQ request; and
generating, by the SQS manager, a second SQ instance at the first location,
wherein the first location is the network device.

### Claim 19 (depends on 18)

The method of claim 18, further comprising:
generating, by the SQSM of the network device, a first observer, associated with the first network device, that notifies the second SQ instance of changes to a table of the first network device; and
generating, by the SQSM of the network device, a second observer, associated with the second network device, that notifies the second SQ instance of changes to a table of the second network device.

### Claim 20 (depends on 18)

The method of claim 18, further comprising:
generating, by the SQSM of the network device, a first modifier, associated with the first network device, that stores an output generated by the SQ instance in a table of the first network device.

### Claim 21 (depends on 20)

The method of claim 20, further comprising:
generating, by the SQSM of the network device, a first observer, associated with the first network device, that notifies the requesting agent of a change to the output stored in the table of the first network device.
