IP Library › Granted Patent US 12,541,393
Granted Patent B2
US 12,541,393 · App. 17/935,592 · Granted Feb 3, 2026

Dynamic pod priority inference utilizing service mesh telemetry data

Inventors: Martin A. Ross (Gosport, GB); Jack William Donato Evans (Rochester, GB); Luke James Powlett (Romsey, GB); Jack Richard William Stevenson (Winchester, GB)
Assignee: International Business Machines Corporation
G06F9/4818G06N5/04
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,541,393
App. No.
17/935,592
Granted
Feb 3, 2026
Kind
B2
Abstract

Dynamically calculating and re-calculating priority values for a set of microservices that are deployed and run in a containerized environment. Before new priority values are assigned to the microservices, an initial default priority value is assigned to a microservice of interest. When the microservice of interest is deployed and run in the containerized environment, the generated telemetry data is used, in part, as a basis to determine a frequency in which any given microservice is being utilized, and more particularly, the microservice of interest. Based upon the determined frequency, a role for the microservice of interest can be inferred. As a result, this inferred role for the microservice of interest is used to dynamically assign a current priority value for the microservice of interest.

Claims (50)

1 . A computer-implemented method (CIM) comprising:

identifying a plurality of microservices of a web application;

assigning a default priority value to a first microservice to be deployed in the web application, with the default priority value causing the first microservice to have a first priority when the first microservice is deployed;

collecting, by a service mesh module, telemetry data of at least the first microservice;

tracing routes of transaction identifications (IDs) between at least the first microservice and the plurality of microservices, with the routes of transaction IDs providing information indicative of a set of requests, and with the set of requests each having an associated identifying label;

inferring a role of the first microservice based, at least in part, upon the telemetry data and the traced routes of the transaction IDs;

responsive to inferring the role of the first microservice, determining a current priority value for the first microservice based, at least in part, upon the inferred role of the first microservice;

assigning the current priority to the first microservice; and

scheduling the first microservice based on the current priority.

2 . The CIM of claim 1 wherein the traced routes of the transaction IDs between the first microservice and the plurality of microservices indicates a usage frequency of the first microservice relative to the plurality of microservices.

3 . The CIM of claim 1 wherein inferring the role of the first microservice is further based upon a number of microservices calling upon the first microservice.

4 . The CIM of claim 1 wherein inferring the role of the first microservice is further based upon a dynamically determined priority value.

5 . The CIM of claim 1 further including:

responsive to the determination of the current priority value for the first microservice, re-calculating respectively corresponding priority values for each microservice in the plurality of microservices based upon change in priority value of the first microservice.

6 . The CIM of claim 1 wherein determining the current priority value for the first microservice is further based upon information included in a priority field of a set of messages being sent between at least the first microservice and the plurality of microservices.

7 . A computer program product (CPP) comprising:

one or more computer readable storage media; and

computer code stored on the one or more computer readable storage media, with the computer code including instructions and data for causing a processor set to perform operations comprising:

identifying a plurality of microservices of a web application;

assigning a default priority value to a first microservice to be deployed in the web application, with the default priority value causing the first microservice to have a first priority when the first microservice is deployed,

collecting, by a service mesh module, telemetry data of at least the first microservice,

tracing routes of transaction identifications (IDs) between at least the first microservice and the plurality of microservices, with the routes of transaction IDs providing information indicative of a set of requests, and with the set of requests each having an associated identifying label,

inferring a role of the first microservice based, at least in part, upon the telemetry data and the traced routes of the transaction IDs,

responsive to inferring the role of the first microservice, determining a current priority value for the first microservice based, at least in part, upon the inferred role of the first microservice,

assigning the current priority to the first microservice, and

scheduling the first microservice based on the current priority.

8 . The CPP of claim 7 wherein the traced routes of the transaction IDs between the first microservice and the plurality of microservices indicates a usage frequency of the first microservice relative to the plurality of microservices.

9 . The CPP of claim 7 wherein inferring the role of the first microservice is further based upon a number of microservices calling upon the first microservice.

10 . The CPP of claim 7 wherein inferring the role of the first microservice is further based upon a dynamically determined priority value.

11 . The CPP of claim 7 , wherein the operations further comprise:

responsive to the determination of the current priority value for the first microservice, re-calculating respectively corresponding priority values for each microservice in the plurality of microservices based upon change in priority value of the first microservice.

12 . The CPP of claim 7 wherein determining the current priority value for the first microservice is further based upon information included in priority field of a set of messages being sent between at least the first microservice and the plurality of microservices.

13 . A computer system (CS) comprising:

a processor set;

one or more computer readable storage media; and

computer code stored on the one or more computer readable storage media, with the computer code including instructions and data for causing the processor set to perform operations comprising:

identifying a plurality of microservices of a web application;

assigning a default priority value to a first microservice to be deployed in the web application, with the default priority value causing the first microservice to have a first priority when the first microservice is deployed,

collecting, by a service mesh module, telemetry data of at least the first microservice,

tracing routes of transaction identifications (IDs) between at least the first microservice and the plurality of microservices, with the routes of transaction IDs providing information indicative of a set of requests, and with the set of requests each having an associated identifying label,

inferring a role of the first microservice based, at least in part, upon the telemetry data and the traced routes of the transaction IDs,

responsive to inferring the role of the first microservice, determining a current priority value for the first microservice based, at least in part, upon the inferred role of the first microservice,

assigning the current priority to the first microservice, and

scheduling the first microservice based on the current priority.

14 . The CS of claim 13 wherein the traced routes of the transaction IDs between the first microservice and the plurality of microservices indicates a usage frequency of the first microservice relative to the plurality of microservices.

15 . The CS of claim 13 wherein inferring the role of the first microservice is further based upon a number of microservices calling upon the first microservice.

16 . The CS of claim 13 wherein inferring the role of the first microservice is further based upon a dynamically determined priority value.

17 . The CS of claim 13 , wherein the operations further comprise:

responsive to the determination of the current priority value for the first microservice, re-calculating an updated priority value for each remaining microservice(s) in the plurality of microservices.

18 . The CS of claim 13 wherein determining the current priority value for the first microservice is further based upon information included in priority field of a set of messages being sent between at least the first microservice and the plurality of microservices.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Sep 27, 2022
From: ROSS, MARTIN A.; EVANS, JACK WILLIAM DONATO; POWLETT, LUKE JAMES; STEVENSON, JACK RICHARD WILLIAM
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 061221/0344 →
Continuity (1)
Related Publication 20240103903A1 · Mar 28, 2024
References Cited (11)
US 11188561B2 · Natanzon · 2021 [cited by applicant]
US 20200412624A1 · Brown · 2020 [cited by applicant]
US 20210117249A1 · Doshi · 2021 [cited by applicant]
US 20210135983A1 · Farnham · 2021 [cited by examiner]
US 20210263779A1 · Haghighat · 2021 [cited by examiner]
US 20210326221A1 · Guim Bernat · 2021 [cited by examiner]
“Cluster-autoscaler”, Autoscaler, Kubernetes, GritHub.com, Downloaded from the Internet on Apr. 6, 2022, 10 pgs., <https://github.com/kubernetes/autoscaler/tree/master/cluster-autoscaler>. [cited by applicant]
“Kiali—The Console for Istio Service Mesh”, Kiali, Downloaded from the Internet on Apr. 6, 2022, 4 pgs., <https://kiali.io>. [cited by applicant]
“Pod Priority and Preemption”, Kubernetes Documentation Concepts, Scheduling, Preemption and Eviction, Last modified: Jan. 10, 2022, Downloaded from the Internet on Apr. 6, 2022, 6 pgs., <https://kubernetes.io/docs/conc… [cited by applicant]
Sysdig, Custom Metrics, Collect Custom Metrics Using Prometheus, StatsD, and JMX to increase Visibility, Downloaded from the Internet on Apr. 6, 2022, 12 pgs., <https://sysdig.com/use-cases/microservices-monitoring/>. [cited by applicant]
Mell et al., “The NIST Definition of Cloud Computing”, NIST National Institute of Standards and Technology U.S. Department of Commerce, Special Publication 800-145, Sep. 2011, 7 pages. [cited by applicant]