# US 12,182,005 B2 · Agentless distributed monitoring of microservices through a virtual switch

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

- Number: US 12,182,005 B2
- Document ID: US12182005B2
- Status: Granted
- Kind: B2
- Application number: 18/742,077
- Filed: 2024-06-13
- Published: 2024-10-10
- Granted: 2024-12-31
- Earliest claimed: 2016-10-20
- Assignees: Cisco Technology, Inc.
- Applicants: Cisco Technology, Inc.
- Inventors: Kiran Chunduri; Rajasekhar Manam
- Web page: https://patentgrep.com/patent/US12182005B2

## CPC

- G06F 11/3698: Environments for analysis, debugging or testing of software
- G06F 11/34: Recording or statistical evaluation of computer activity, e.g. of down time, of input/output operation {; Recording or statistical evaluation of user activity, e.g. usability assessment}
- G06F 11/3466: {Performance evaluation by tracing or monitoring}
- H04L 67/30: Profiles
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- G06F 2201/815: Virtual
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Disclosed are systems, computer-readable media and methods for monitoring performance data across microservices. One example method includes establishing a service policy configured on a centralized switch controller, applying the service profile to a virtual interface associated with a microservice, mapping a microservice name for the microservice to an IP address and a port number, tracking a protocol flow for the microservice, wherein the protocol flow is associated with a virtual switch, to yield data, aggregating the data to yield aggregated data and presenting the aggregated data on a user interface.

## Claims

### Claim 1

A method for monitoring a distributed application, the method comprising:
at a centralized controller, configuring a monitoring policy to apply to a first microservice on a first host and a second microservice on a second host, wherein the first and second microservices are associated with a distributed application;
gathering first information from the first microservice, by a first virtual switch, in accord with the monitoring policy;
gathering second information from the second microservice, by a second virtual switch, in accord with the monitoring policy;
sending the first information from the first virtual switch to the centralized controller through a first gateway;
sending the second information from the second virtual switch to the centralized controller through a second gateway;
aggregating the first information and the second information at the centralized controller; and
reporting the aggregated information via a user interface.

### Claim 2 (depends on 1)

The method of claim 1, wherein the monitoring policy is applied to a first virtual interface associated with the first microservice and applied to a second virtual interface associated with the second microservice.

### Claim 3 (depends on 1)

The method of claim 1, wherein the aggregated information is associated with a service comprising the first microservice and the second microservice.

### Claim 4 (depends on 1)

The method of claim 1, wherein the first information and the second information relate to protocol flows to or from the first microservice or the second microservice, respectively.

### Claim 5 (depends on 4)

The method of claim 4, wherein the protocol flows include HTTP-formatted requests and responses.

### Claim 6 (depends on 1)

The method of claim 1, wherein the centralized controller makes the aggregated information available via an API.

### Claim 7

A system comprising:
a centralized controller;
a first microservice and a second microservice, the first and second microservices associated with a distributed application;
a first virtual switch running on a first host associated with the first microservice and a second virtual switch running on a second host associated with the second microservice; and
a gateway interposed between the centralized controller and the first and second microservices,
wherein the centralized controller is operable to configure a monitoring policy to apply to the first microservice and the second microservice,
wherein the first virtual switch gathers first information from the first microservice in accord with the monitoring policy and send the first information to the gateway,
wherein the second virtual switch gathers second information from the second microservice in accord with the monitoring policy and send the first information to the gateway,
wherein the gateway sends the first information and second information to the centralized controller, and
wherein the centralized controller aggregates the first information and the second information and reports the aggregated information via a user interface.

### Claim 8 (depends on 7)

The system of claim 7, wherein the monitoring policy is applied to a first virtual interface associated with the first microservice and applied to a second virtual interface associated with the second microservice.

### Claim 9 (depends on 7)

The system of claim 7, wherein the aggregated information is associated with a service comprising the first microservice and the second microservice.

### Claim 10 (depends on 7)

The system of claim 7, wherein the first information and the second information relate to protocol flows to or from the first microservice or the second microservice, respectively.

### Claim 11 (depends on 10)

The system of claim 10, wherein the protocol flows include HTTP-formatted requests and responses.

### Claim 12 (depends on 7)

The system of claim 7, wherein the centralized controller makes the aggregated information available via an API.

### Claim 13

One or more non-transitory computer-readable storage media containing instructions that, when executed by one or more processors within a system for monitoring a distributed application, cause the system to perform operations comprising:
at a centralized controller, configuring a monitoring policy to apply to a first microservice on a first host and a second microservice on a second host, wherein the first and second microservices are associated with a distributed application;
gathering first information from the first microservice, by a first virtual switch, in accord with the monitoring policy;
gathering second information from the second microservice, by a second virtual switch, in accord with the monitoring policy;
sending the first information from the first virtual switch to the centralized controller through a first gateway;
sending the second information from the second virtual switch to the centralized controller through a second gateway;
aggregating the first information and the second information at the centralized controller; and
reporting the aggregated information via a user interface.

### Claim 14 (depends on 13)

The computer-readable media of claim 13, wherein the operations further comprise applying the monitoring policy to a first virtual interface associated with the first microservice and applying the monitoring policy to a second virtual interface associated with the second microservice.

### Claim 15 (depends on 13)

The computer-readable media of claim 13, wherein the aggregated information is associated with a service comprising the first microservice and the second microservice.

### Claim 16 (depends on 13)

The computer-readable media of claim 13, wherein the first information and the second information relate to protocol flows to or from the first microservice or the second microservice, respectively.

### Claim 17 (depends on 16)

The computer-readable media of claim 16, wherein the protocol flows include HTTP-formatted requests and responses.

### Claim 18 (depends on 13)

The computer-readable media of claim 13, wherein the operations further comprise making the aggregated information available via an API.
