IP Library › Granted Patent US 11,288,109
Granted Patent B2
US 11,288,109 · App. 16/898,910 · Granted Mar 29, 2022

Determination of timeout value of an application service in a microservice architecture

Inventors: Amar Shah (Pune, IN); Sowmya S. Grama (Bangalore, IN)
Assignee: International Business Machines Corporation
G06F9/546G06F9/466
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 11,288,109
App. No.
16/898,910
Granted
Mar 29, 2022
Kind
B2
Abstract

A processor may determine a microservice invocation hierarchy based on transaction data of a plurality of microservices of the microservice architecture. For execution of the application, a processor may configure the microservice architecture to call on common service having common service timeout values. A processor may plot transaction data of the microservice invocation hierarchy to identify an increase in average timeout value trend of each of the microservices of the at least one application over time. A processor may determine a value of the identified increase in a timeout ratio to be added to common service timeout value for each identified increase in the average timeout value trend in which an increase in timeout variation is present. A processor may implement a dynamic adjustment timeout value based on the identified increase in the timeout ratio to be added to common service timeout value of all called microservices of the application.

Claims (32)

1. A method of determining a timeout value of at least one application having a microservice architecture, the method comprising steps of:

determining a microservice invocation hierarchy based on transaction data of a plurality of microservices of the microservice architecture, for execution of the at least one application, the microservice architecture configured to call on a common service having a common service timeout value;

plotting the transaction data of the microservice invocation hierarchy to identify an increase in an average timeout value trend of each of the microservices of the at least one application over time, wherein the average timeout value trend of each microservice is determined by calculating a simple moving average of each transaction of the plurality microservices of the at least one application;

for each identified increase in the average timeout value trend in which an increase in timeout variation is present, determining a value of the identified increase in a timeout ratio to be added to the common service timeout value; and

implementing a dynamic adjustment timeout value based on the identified increase in the timeout ratio to be added to the common service timeout value of all called microservices of the at least one application.

2. The method of claim 1 , wherein the step of determining the microservice invocation hierarchy comprises tracking transaction identification and an associated timestamp for each transaction of the plurality of microservices of the at least one application.

3. The method of claim 1 , wherein determining the value of the identified increase in the timeout ratio to be added to the common service timeout value comprises determining a difference between an overall timeout value of the at least one application and the common service timeout value is greater than or equal to the common service timeout value, then determining a product of the difference between the overall timeout value of the at least one application and the common service timeout value by weighted factor.

4. The method of claim 3 , wherein the weighted factor is twenty-five percent or less.

5. The method of claim 1 , wherein the value of the identified increase in the timeout ratio is a range adjustment, and determining the range adjustment comprises the steps of: determining a difference between an overall timeout value of the at least one application and the common service timeout value, and a product of the difference and a weighted factor to equal the range adjustment and adding the range adjustment to the common service timeout value for the at least one application.

6. The method of claim 1 , wherein the transaction data of the microservices comprises an execution of the at least one application is transaction time between microservices of the at least one application.

7. The method of claim 1 , wherein the dynamic adjustment timeout value does not violate a service level agreement between the common service and the at least one application.

8. A computer program product for determining a timeout value of at least one application having a microservice architecture comprising at least one processor, one or more memories, one or more computer readable storage media, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions executable by the processor to perform a method comprising:

determining, by a common service of the microservice architecture, a microservice invocation hierarchy based on transaction data of the plurality of microservices of the microservice architecture for execution of the at least one application, the microservice architecture configured to call on the common service having a common service timeout value;

plotting, by the common service, the transaction data of the microservice invocation hierarchy to identify an increase in an average timeout value trend of each of the microservices of the at least one application over time, wherein the average timeout value trend of each microservice is determined by calculating a simple moving average of each transaction of the plurality microservices of the at least one application;

for each identified increase in the average timeout value trend in which an increase in timeout variation is present, determining, by the common service, a value of the identified increase in a timeout ratio to be added to the common service timeout value; and

implementing, by the common service, a dynamic adjustment timeout value based on the identified increase in the timeout ratio to be added to the common service timeout value of all called microservices of the at least one application.

9. The computer program product of claim 8 , wherein the step of determining the microservice invocation hierarchy comprises tracking transaction identification and an associated timestamp for each transaction of the plurality of microservices of the at least one application.

10. The computer program product of claim 9 , wherein determining the value of the identified increase in the timeout ratio to be added to the common service timeout value comprises determining a difference between an overall timeout value of the at least one application and the common service timeout value is greater than or equal to the common service timeout value, then determining a product of the difference between the overall timeout value of the at least one application and the common service timeout value by weighted factor.

11. The computer program product of claim 10 , wherein the weighted factor is twenty-five percent or less.

12. The computer program product of claim 8 , wherein the value of the identified increase in the timeout ratio is a range adjustment, and determining the range adjustment comprises the steps of: determining a difference between an overall timeout value of the at least one application and the common service timeout value, and a product of the difference and a weighted factor to equal the range adjustment and adding the range adjustment to the common service timeout value for the at least one application.

13. The computer program product of claim 8 , wherein the transaction data of the microservices comprises an execution of the at least one application is transaction time between microservices of the at least one application.

14. The computer program product of claim 8 , wherein the dynamic adjustment timeout value does not violate a service level agreement between the common service and the at least one application.

15. The computer program product of claim 8 , wherein the at least one application is executed in a cloud environment.

16. A computer system for determining a timeout value of at least one application having a microservice architecture, the computer system comprising:

at least one processor;

one or more memories; and

one or more computer readable storage media having program instructions executable by the computer system to perform the program instructions comprising:

determining, by a common service of the microservice architecture, a microservice invocation hierarchy based on transaction data of the plurality of microservices of the microservice architecture for execution of the at least one application, the microservice architecture configured to call on the common service having a common service timeout value;

plotting, by the common service, the transaction data of the microservice invocation hierarchy to identify an increase in an average timeout value trend of each of the microservices of the at least one application over time, wherein the average timeout value trend of each microservice is determined by calculating a simple moving average of each transaction of the plurality microservices of the at least one application;

for each identified increase in the average timeout value trend in which an increase in timeout variation is present, determining, by the common service, a value of the identified increase in a timeout ratio to be added to the common service timeout value; and

implementing, by the common service, a dynamic adjustment timeout value based on the identified increase in the timeout ratio to be added to the common service timeout value of all called microservices of the at least one application.

17. The computer system of claim 16 , wherein the program instructions of determining, by the common service, a microservice invocation hierarchy based on transaction data of the plurality of microservices for execution of the at least one application comprises tracking, by the common service, transaction identification and an associated timestamp for each transaction of the plurality of microservices of the at least one application.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 11, 2020
From: SHAH, AMAR; GRAMA, SOWMYA S.
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 052910/0526 →
Continuity (1)
Related Publication 20210390002A1 · Dec 16, 2021
Cited By (1)
US 12,407,644