IP Library Granted Patent US 11,281,510
Granted Patent B2
US 11,281,510 · App. 16/986,805 · Granted Mar 22, 2022

Intelligent scaling in microservice-based distributed systems

Inventors: Xu Hui Bai (Beijing, CN); Yue Wang (Beijing, CN); Wen Rui Zhao (Beijing, CN); Min Xiang (Beijing, CN); Li Long Chen (Beijing, CN)
Assignee: Kyndryl, Inc.
G06F9/547G06F1/24
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,281,510
App. No.
16/986,805
Granted
Mar 22, 2022
Kind
B2
Abstract

In an approach to intelligent scaling in a cloud platform, an attribute template is stored for one or more target services based on one or more system data. One or more request metrics for each target service is stored, wherein the request metrics are based on an analysis of one or more incoming requests of one or more service call chains. Responsive to receiving a request for a target service in a service call chain, the target service is scaled based on the attribute template of the target service and the request metrics of the target service.

Claims (86)

1. A computer-implemented method for intelligent scaling of microservices, the computer-implemented method comprising:

storing, by one or more computer processors, an attribute template for one or more target services based on one or more system data;

storing, by the one or more computer processors, one or more request metrics for each target service of the one or more target services, wherein the request metrics are based on an analysis of one or more incoming requests of one or more service call chains;

responsive to receiving a request for a target service of the one or more target services in a service call chain of the one or more service call chains, scaling, by the one or more computer processors, the target service based on the attribute template and the request metrics; and

wherein storing the attribute template for the one or more target services based on the one or more system data comprises:

receiving, by the one or more computer processors, the one or more target services;

determining, by the one or more computer processors, if a ratio of one or more downstream service instances to a start service instances exceeds a threshold for any target service of the one or more target services;

responsive to determining that the ratio of the downstream service instances to the start service instances exceeds the threshold for any target service of the one or more target services, analyzing, by the one or more computer processors, the attributes for the any target service that exceeds the threshold, wherein the attributes for the any target service include a number of requests per container and a ready time for the container; and

storing, by the one or more computer processors, the attribute template for the one or more target services.

2. The computer-implemented method of claim 1 , wherein storing the attribute template for the one or more target services based on the one or more system data further comprises:

receiving, by the one or more computer processors, the one or more target services;

determining, by the one or more computer processors, if a downstream service trips a circuit breaker for any target service of the one or more target services;

responsive to determining that the downstream service trips a circuit breaker for the any target service of the one or more target services, analyzing, by the one or more computer processors, the attributes for the any target service of the one or more target services, wherein the attributes include a number of requests per container and a ready time for the container; and

storing, by the one or more computer processors, the attribute template for the any target service of the one or more target services.

3. The computer-implemented method of claim 1 , wherein storing the one or more request metrics for each target service of the one or more target services comprises:

retrieving, by the one or more computer processors, an API/URL call chain from a tracking system for each service call chain of one or more service call chains;

retrieving, by the one or more computer processors, a start request arrival time and a start request ratio for each start service in the one or more service call chains from the API/URL call chain;

retrieving, by the one or more computer processors, a target request arrival time and a target request ratio for the each target service in the one or more service call chains from the API/URL call chain;

predicting, by the one or more computer processors, a request number for the each target service in the one or more service call chains from the API/URL call chain; and

storing, by the one or more computer processors, the request number for the each target service.

4. The computer-implemented method of claim 1 , wherein scaling the target service based on the attribute template of the target service and the request metrics of the target service comprises:

retrieving, by the one or more computer processors, a read request arrival time for the target service from the attribute template;

calculating, by the one or more computer processors, a minimum arrival time for the target service based on the read request arrival time for the target service from the attribute template;

predicting, by the one or more computer processors, a request number for the target service based on the attribute template;

calculating, by the one or more computer processors, a required container number and a ready time for the target service based on a predicted request number for the target service; and

scaling, by the one or more computer processors, the target service to the required container number.

5. The computer-implemented method of claim 4 , wherein scaling the target service based on the attribute template and the request metrics further comprises automatically scaling the target service before an arrival time, wherein the arrival time is a minimum arrival time between the target service and the start service minus the ready time for the target service.

6. The computer-implemented method of claim 1 , wherein the one or more system data includes at least one of a tracing system data and a logging system data.

7. A computer program product for intelligent scaling of microservices, the computer program product comprising one or more computer readable storage media and program instructions stored on the one or more computer readable storage media, the program instructions including instructions to:

store an attribute template for one or more target services based on one or more system data;

store one or more request metrics for each target service of the one or more target services, wherein the request metrics are based on an analysis of one or more incoming requests of one or more service call chains;

responsive to receiving a request for a target service of the one or more target services in a service call chain of the one or more service call chains, scale the target service based on the attribute template and the request metrics; and

wherein storing the attribute template for the one or more target services based on the one or more system data comprises one or more of the following program instructions, stored on the one or more computer readable storage media, to:

receive the one or more target services;

determine if a ratio of one or more downstream service instances to a start service instances exceeds a threshold for any target service of the one or more target services;

responsive to determining that the ratio of the downstream service instances to the start service instances exceeds the threshold for any target service of the one or more target services, analyze the attributes for the any target service that exceeds the threshold, wherein the attributes for the any target service include a number of requests per container and a ready time for the container; and

store the attribute template for the one or more target services.

8. The computer program product of claim 7 , wherein storing the attribute template for the one or more target services based on the one or more system data further comprises one or more of the following program instructions, stored on the one or more computer readable storage media, to:

receive the one or more target services;

determine if a downstream service trips a circuit breaker for any target service of the one or more target services;

responsive to determining that the downstream service trips a circuit breaker for the any target service of the one or more target services, analyze the attributes for the any target service of the one or more target services, wherein the attributes include a number of requests per container and a ready time for the container; and

store the attribute template for the any target service of the one or more target services.

9. The computer program product of claim 7 , wherein storing the one or more request metrics for each target service of the one or more target services comprises:

retrieve an API/URL call chain from a tracking system for each service call chain of one or more service call chains;

retrieve a start request arrival time and a start request ratio for each start service in the one or more service call chains from the API/URL call chain;

retrieve a target request arrival time and a target request ratio for the each target service in the one or more service call chains from the API/URL call chain;

predict a request number for the each target service in the one or more service call chains from the API/URL call chain; and

store the request number for the each target service.

10. The computer program product of claim 7 , wherein scaling the target service based on the attribute template and the request metrics comprises:

retrieve a read request arrival time for the target service from the attribute template;

calculate a minimum arrival time for the target service based on the read request arrival time for the target service from the attribute template;

predict a request number for the target service based on the attribute template;

calculate a required container number and a ready time for the target service based on a predicted request number for the target service; and

scale the target service to the required container number.

11. The computer program product of claim 10 , wherein scaling the target service based on the attribute template and the request metrics further comprises automatically scaling the target service before an arrival time, wherein the arrival time is a minimum arrival time between the target service and the start service minus the ready time for the target service.

12. The computer program product of claim 7 , wherein the one or more system data includes at least one of a tracing system data and a logging system data.

13. A computer system for intelligent scaling of microservices, the computer system comprising:

one or more computer processors;

one or more computer readable storage media; and

program instructions stored on the one or more computer readable storage media for execution by at least one of the one or more computer processors, the stored program instructions including instructions to:

store an attribute template for one or more target services based on one or more system data;

store one or more request metrics for each target service of the one or more target services, wherein the request metrics are based on an analysis of one or more incoming requests of one or more service call chains;

responsive to receiving a request for a target service of the one or more target services in a service call chain of the one or more service call chains, scale the target service based on the attribute template and the request metrics; and

wherein storing the attribute template for the one or more target services based on the one or more system data comprises one or more of the following program instructions, stored on the one or more computer readable storage media, to:

receive the one or more target services;

determine if a ratio of one or more downstream service instances to a start service instances exceeds a threshold for any target service of the one or more target services;

responsive to determining that the ratio of the downstream service instances to the start service instances exceeds the threshold for any target service of the one or more target services, analyze the attributes for the any target service that exceeds the threshold, wherein the attributes for the any target service include a number of requests per container and a ready time for the container; and

store the attribute template for the one or more target services.

14. The computer system of claim 13 , wherein storing the attribute template for the one or more target services based on the one or more system data further comprises one or more of the following program instructions, stored on the one or more computer readable storage media, to:

receive the one or more target services;

determine if a downstream service trips a circuit breaker for any target service of the one or more target services;

responsive to determining that the downstream service trips a circuit breaker for the any target service of the one or more target services, analyze the attributes for the any target service of the one or more target services, wherein the attributes include a number of requests per container and a ready time for the container; and

store the attribute template for the any target service of the one or more target services.

15. The computer system of claim 13 , wherein storing the one or more request metrics for each target service of the one or more target services comprises:

retrieve an API/URL call chain from a tracking system for each service call chain of one or more service call chains;

retrieve a start request arrival time and a start request ratio for each start service in the one or more service call chains from the API/URL call chain;

retrieve a target request arrival time and a target request ratio for the each target service in the one or more service call chains from the API/URL call chain;

predict a request number for the each target service in the one or more service call chains from the API/URL call chain; and

store the request number for the each target service.

16. The computer system of claim 13 , wherein scaling the target service based on the attribute template and the request metrics comprises:

retrieve a read request arrival time for the target service from the attribute template;

calculate a minimum arrival time for the target service based on the read request arrival time for the target service from the attribute template;

predict a request number for the target service based on the attribute template;

calculate a required container number and a ready time for the target service based on a predicted request number for the target service; and

scale the target service to the required container number.

17. The computer system of claim 16 , wherein scaling the target service based on the attribute template and the request metrics further comprises automatically scaling the target service before an arrival time, wherein the arrival time is a minimum arrival time between the target service and the start service minus the ready time for the target service.

Assignments (2)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 18, 2021
From: INTERNATIONAL BUSINESS MACHINES CORPORATION
To: KYNDRYL, INC.
Reel/Frame 058213/0912 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 6, 2020
From: BAI, XU HUI; WANG, YUE; ZHAO, WEN RUI; XIANG, MIN; CHEN, LI LONG
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 053421/0578 →
Continuity (1)
Related Publication 20220043699A1 · Feb 10, 2022