# US 11,310,133 B2 · Using service graphs to compare performance of a plurality of versions of a microservice

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

- Number: US 11,310,133 B2
- Document ID: US11310133B2
- Status: Granted
- Kind: B2
- Application number: 17/176,032
- Filed: 2021-02-15
- Published: 2021-06-24
- Granted: 2022-04-19
- Earliest claimed: 2019-05-17
- Assignees: Citrix Systems, Inc.
- Applicants: Citrix Systems, Inc.
- Inventors: Rajiv Sinha
- Web page: https://patentgrep.com/patent/US11310133B2

## CPC

- H04L 41/082: the condition being updates or upgrades of network functionality
- H04L 41/5025: by proactively reacting to service quality change, e.g. by reconfiguration after service quality degradation or upgrade
- H04L 43/045: for graphical visualisation of monitoring data
- H04L 43/062: related to network traffic
- H04L 43/08: Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L 43/0817: by checking functioning
- H04L 43/0823: Errors, e.g. transmission errors
- H04L 43/0852: Delays
- H04L 43/0876: Network utilisation, e.g. volume of load or congestion level
- H04L 67/1012: based on compliance of requirements or conditions with available server resources
- H04L 67/51: Discovery or management thereof, e.g. service location protocol [SLP] or web services
- H04L 67/63: Routing a service request depending on the request content or context
- H04L 41/0806: for initial configuration or provisioning, e.g. plug-and-play
- H04L 43/091: Measuring contribution of individual network components to actual service level
- H04L 43/55: Testing of service level quality, e.g. simulating service usage
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Described embodiments provide systems and methods for using service graphs to compare performance of a plurality of versions of a microservice. A device may establish metrics from execution of a plurality of versions of a microservice of a service. The plurality of versions of the microservice are deployed concurrently for a portion of execution of the service. The device generates service graphs for each version of the plurality of versions of the microservice. The service graphs include metrics from monitoring execution of a respective version of the microservice. The device identifies differences in metrics between the service graphs for different versions of the microservice. The device requests a change in network traffic of the service between respective versions of the microservice based at least on the one or more differences.

## Claims

### Claim 1

A method comprising:
establishing, by one or more processors, a plurality of service graphs for different versions of a service based at least on one or more metrics of network traffic for the different versions, and the different versions of the service being executable concurrently to provide one or more functions to respective portions of the network traffic routed to the different versions of the service;
identifying, by the one or more processors, a difference in one or more metrics between a plurality of versions of the service using at least one service graph of the plurality of service graphs for the different versions; and
causing, by the one or more processors, a change in the respective portion of the network traffic of at least one version of the service.

### Claim 2 (depends on 1)

The method of claim 1, wherein each version of the plurality of services comprises at least one microservice common between each version.

### Claim 3 (depends on 2)

The method of claim 2, wherein each version of the plurality of versions comprises a different version of the at least one microservice.

### Claim 4 (depends on 2)

The method of claim 2, further comprising establishing, by the one or more processors, the plurality of service graphs for different versions of the service based at least on one or more metrics of portions of network traffic received by the at least one microservice.

### Claim 5 (depends on 1)

The method of claim 1, further comprising establishing the plurality of service graphs for different versions of the service based at least on each version of the different versions being distributed a percentage of the network traffic for the service.

### Claim 6 (depends on 1)

The method of claim 1, further comprising, causing, by the one or more processors, a change in a percentage of network traffic distributed between the different versions.

### Claim 7 (depends on 1)

The method of claim 1, further comprising communicating, by the one or more processors, a request to a computing device to change the portion of network traffic distributed to the at least one service.

### Claim 8

A system comprising:
one or more processors, coupled to memory and configured to:
establish a plurality of service graphs for different versions of a service based at least on one or more metrics of network traffic for the different versions, and the different versions of the service being executable concurrently to provide one or more functions to respective portions of the network traffic routed to the different versions of the service;
identify a difference in one or more metrics between a plurality of versions of the service using at least one service graph for the different versions; and
cause a change in the respective portion of the network traffic of at least one version of the service.

### Claim 9 (depends on 8)

The system of claim 8, wherein each version of the plurality of services comprises at least one microservice common between each version.

### Claim 10 (depends on 9)

The system of claim 9, wherein each version of the plurality of versions comprises a different version of the at least one microservice.

### Claim 11 (depends on 9)

The system of claim 9, wherein the one or more processors are further configured to establish the service graph for different versions of the service based at least on one or more metrics of the portions of network traffic received by the at least one microservice.

### Claim 12 (depends on 8)

The system of claim 8, wherein the one or more processors are further configured to establish the plurality of service graphs for different versions of the service based at least on each version of the different versions being distributed a percentage of the network traffic for the service.

### Claim 13 (depends on 8)

The system of claim 8, wherein the one or more processors are further configured to cause a change in a percentage of network traffic distributed between the different versions.

### Claim 14 (depends on 8)

The system of claim 8, wherein the one or more processors are further configured to communicate a request to a computing device to change the portion of network traffic distributed to the at least one service.

### Claim 15

A system comprising:
one or more processors, coupled to memory and configured to:
identify one or more metrics of different versions of a service being executed concurrently to provide one or more functions to respective portions of network traffic routed to the different versions of the service, each of different versions comprising a different version of a microservice;
determine using the one or more metrics a difference between the microservice of different versions of the service; and
cause a change in the respective portion of the network traffic to be received by at least one version of the service.

### Claim 16 (depends on 15)

The system of claim 15, wherein the one or more processors are further configured to establish, using the one or more metrics, a plurality of service graphs for each of the different versions.

### Claim 17 (depends on 16)

The system of claim 16, wherein the one or more processors are further configured to determine the difference using the plurality of services graphs for each of the different versions.

### Claim 18 (depends on 15)

The system of claim 15, wherein the one or more processors are further configured to identify the difference using at least one service graph of the plurality of service graphs for the different versions.

### Claim 19 (depends on 15)

The system of claim 15, wherein the one or more processors are further configured to cause the change in the portion of network traffic received by the microservice of at least one version of the service.

### Claim 20 (depends on 15)

The system of claim 15, wherein the one or more processors are further configured to cause a change in a percentage of network traffic received by the different versions.
