IP Library › Granted Patent US 11,012,520
Granted Patent B2
US 11,012,520 · App. 16/298,363 · Granted May 18, 2021

Manage a network of microservices

Inventors: Akash V. Gunjal (Belgaum, IN); Neeraj Kumar Kashyap (Bangalore, IN); Pushpendra Singh Dahiya (New Delhi, IN); Himanshi (New Delhi, IN); Albee Jhoney (Bangalore, IN); Akanksha Singh (Bangalore, IN)
Assignee: International Business Machines Corporation
H04L67/16G06N3/08H04L41/16H04L43/16H04L47/20H04L67/10
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,012,520
App. No.
16/298,363
Filed
Mar 11, 2019
Granted
May 18, 2021
Kind
B2
Art Unit
2417
USPC
709/224
Abstract

An approach is provided in which an information handling system captures a set of performance metrics corresponding to a traffic flow through a set of microservices included in the service mesh. Next, the information handling system identifies one or more modifications to the traffic flow based on analyzing the set of performance metrics against a set of application requirements corresponding to the set of microservices. In turn, the information handling system adjusts a traffic routing policy of the service mesh based on the identified one or more modifications.

Claims (95)

1. A method implemented by an information handling system that includes a memory and a processor, the method comprising:

capturing a set of performance metrics corresponding to a set of microservices deployed into a service mesh on a cloud environment, wherein the set of performance metrics corresponds to a traffic flow through the service mesh;

training a recurrent neural network using the set of performance metrics;

computing a predicted traffic condition tuple at a first one of the set of microservices based on the trained recurrent neural network, wherein the predicted traffic condition tuple comprises a set of predicted elements;

identifying one or more enhancements to the traffic flow based on analyzing the set of performance metrics against a set of application requirements corresponding to the set of microservices, wherein the identifying further comprises:

determining an actual traffic condition tuple of the first microservice based on subset of the set of performance metrics corresponding to the first microservice, wherein the actual traffic condition tuple comprises a set of actual elements;

computing a node stress value at the first microservice based on comparing a first one of the set of predicted elements against a first one of the set of actual elements; and

computing a path stress value corresponding to a path that comprises the first microservice based on a deviation between a second one of the set of predicted elements and a second one of the set of actual elements; and

adjusting a traffic routing policy of the service mesh based on the identified one or more enhancements.

2. The method of claim 1 wherein the traffic flow routes through the first microservice, the method further comprising:

identifying a second microservice in the set of microservices;

determining that the second microservice is a newer version of the first microservice; and

adding one of the one more enhancements to the traffic routing policy that reroutes the traffic flow to the second microservice.

3. The method of claim 1 further comprising:

wherein the set of predicted elements comprises a predicted request rate, a predicted response time, and a predicted error rate; and

wherein the set of actual elements comprises an actual request rate, an actual response time, and an actual error rate.

4. The method of claim 1 further comprising:

determining that the first microservice is a high stress node based on comparing the node stress value against a node stress threshold;

determining that the first microservice belongs to a high stress path based on comparing the path stress value against a path stress threshold; and

adding one of the one more enhancements to a traffic flow adjustment that recommends horizontally scaling the first microservice in response to determining that the first microservice is the high stress node and belongs to the high stress path.

5. The method of claim 1 further comprising:

determining that the first microservice is a high stress node based on comparing the node stress value against a node stress threshold;

determining that the first microservice belongs to a low stress path based on comparing the path stress value against a path stress threshold; and

adding one of the one more enhancements to the traffic routing policy that adds one or more resources to the first microservice in response to determining that the first microservice is the high stress node and belongs to the low stress path.

6. The method of claim 1 further comprising:

determining that the first microservice is a low stress node based on comparing the node stress value against a node stress threshold;

determining that the first microservice belongs to a high stress path based on comparing the path stress value against a path stress threshold; and

adding one of the one more enhancements to the traffic routing policy that inserts one or more traffic delays to an entry point of the traffic flow in response to determining that the first microservice is the low stress node and belongs to the high stress path.

7. The method of claim 1 further comprising:

training a set of multi-level sequence learners using the set of performance metrics;

determining one or more neighborhood patterns of one or more adjacent microservices of the first microservice based on the trained set of multi-level sequence learners; and

using the one or more neighborhood patterns during the computing of the predicted traffic condition tuple.

8. An information handling system comprising:

one or more processors;

a memory coupled to at least one of the processors;

a set of computer program instructions stored in the memory and executed by at least one of the processors in order to perform actions of:

capturing a set of performance metrics corresponding to a set of microservices deployed into a service mesh on a cloud environment, wherein the set of performance metrics corresponds to a traffic flow through the service mesh;

training a recurrent neural network using the set of performance metrics;

computing a predicted traffic condition tuple at a first one of the set of microservices based on the trained recurrent neural network, wherein the predicted traffic condition tuple comprises a set of predicted elements;

identifying one or more enhancements to the traffic flow based on analyzing the set of performance metrics against a set of application requirements corresponding to the set of microservices, wherein the identifying further comprises:

determining an actual traffic condition tuple of the first microservice based on subset of the set of performance metrics corresponding to the first microservice, wherein the actual traffic condition tuple comprises a set of actual elements;

computing a node stress value at the first microservice based on comparing a first one of the set of predicted elements against a first one of the set of actual elements; and

computing a path stress value corresponding to a path that comprises the first microservice based on a deviation between a second one of the set of predicted elements and a second one of the set of actual elements; and

adjusting a traffic routing policy of the service mesh based on the identified one or more enhancements.

9. The information handling system of claim 8 wherein the traffic flow routes through the first microservice, and wherein the processors perform additional actions comprising:

identifying a second microservice in the set of microservices;

determining that the second microservice is a newer version of the first microservice; and

adding one of the one more enhancements to the traffic routing policy that reroutes the traffic flow to the second microservice.

10. The information handling system of claim 8 wherein the processors perform additional actions comprising:

wherein the set of predicted elements comprises a predicted request rate, a predicted response time, and a predicted error rate; and

wherein the set of actual elements comprises an actual request rate, an actual response time, and an actual error rate.

11. The information handling system of claim 8 wherein the processors perform additional actions comprising:

determining that the first microservice is a high stress node based on comparing the node stress value against a node stress threshold;

determining that the first microservice belongs to a high stress path based on comparing the path stress value against a path stress threshold; and

adding one of the one more enhancements to a traffic flow adjustment that recommends horizontally scaling the first microservice in response to determining that the first microservice is the high stress node and belongs to the high stress path.

12. The information handling system of claim 8 wherein the processors perform additional actions comprising:

determining that the first microservice is a high stress node based on comparing the node stress value against a node stress threshold;

determining that the first microservice belongs to a low stress path based on comparing the path stress value against a path stress threshold; and

adding one of the one more enhancements to the traffic routing policy that adds one or more resources to the first microservice in response to determining that the first microservice is the high stress node and belongs to the low stress path.

13. The information handling system of claim 8 wherein the processors perform additional actions comprising:

determining that the first microservice is a low stress node based on comparing the node stress value against a node stress threshold;

determining that the first microservice belongs to a high stress path based on comparing the path stress value against a path stress threshold; and

adding one of the one more enhancements to the traffic routing policy that inserts one or more traffic delays to an entry point of the traffic flow in response to determining that the first microservice is the low stress node and belongs to the high stress path.

14. The information handling system of claim 8 wherein the processors perform additional actions comprising:

training a set of multi-level sequence learners using the set of performance metrics;

determining one or more neighborhood patterns of one or more adjacent microservices of the first microservice based on the trained set of multi-level sequence learners; and

using the one or more neighborhood patterns during the computing of the predicted traffic condition tuple.

15. A computer program product stored in a computer readable storage medium, comprising computer program code that, when executed by an information handling system, causes the information handling system to perform actions comprising:

capturing a set of performance metrics corresponding to a set of microservices deployed into a service mesh on a cloud environment, wherein the set of performance metrics corresponds to a traffic flow through the service mesh;

training a recurrent neural network using the set of performance metrics;

computing a predicted traffic condition tuple at a first one of the set of microservices based on the trained recurrent neural network, wherein the predicted traffic condition tuple comprises a set of predicted elements;

identifying one or more enhancements to the traffic flow based on analyzing the set of performance metrics against a set of application requirements corresponding to the set of microservices, wherein the identifying further comprises:

determining an actual traffic condition tuple of the first microservice based on subset of the set of performance metrics corresponding to the first microservice, wherein the actual traffic condition tuple comprises a set of actual elements;

computing a node stress value at the first microservice based on comparing a first one of the set of predicted elements against a first one of the set of actual elements; and

computing a path stress value corresponding to a path that comprises the first microservice based on a deviation between a second one of the set of predicted elements and a second one of the set of actual elements; and

adjusting a traffic routing policy of the service mesh based on the identified one or more enhancements.

16. The computer program product of claim 15 wherein the traffic flow routes through the first microservice, and wherein the information handling system performs further actions comprising:

identifying a second microservice in the set of microservices;

determining that the second microservice is a newer version of the first microservice; and

adding one of the one more enhancements to the traffic routing policy that reroutes the traffic flow to the second microservice.

17. The computer program product of claim 15 wherein the information handling system performs further actions comprising:

wherein the set of predicted elements comprises a predicted request rate, a predicted response time, and a predicted error rate; and

wherein the set of actual elements comprises an actual request rate, an actual response time, and an actual error rate.

18. The computer program product of claim 15 wherein the information handling system performs further actions comprising:

determining that the first microservice is a high stress node based on comparing the node stress value against a node stress threshold;

determining that the first microservice belongs to a high stress path based on comparing the path stress value against a path stress threshold;

adding one of the one more enhancements to a traffic flow adjustment that recommends horizontally scaling the first microservice in response to determining that the first microservice is the high stress node and belongs to the high stress path.

19. The computer program product of claim 15 wherein the information handling system performs further actions comprising:

determining that the first microservice is a high stress node based on comparing the node stress value against a node stress threshold;

determining that the first microservice belongs to a low stress path based on comparing the path stress value against a path stress threshold;

adding one of the one more enhancements to the traffic routing policy that adds one or more resources to the first microservice in response to determining that the first microservice is the high stress node and belongs to the low stress path.

20. The computer program product of claim 15 wherein the information handling system performs further actions comprising:

determining that the first microservice is a low stress node based on comparing the node stress value against a node stress threshold;

determining that the first microservice belongs to a high stress path based on comparing the path stress value against a path stress threshold;

adding one of the one more enhancements to the traffic routing policy that inserts one or more traffic delays to an entry point of the traffic flow in response to determining that the first microservice is the low stress node and belongs to the high stress path.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 11, 2019
From: GUNJAL, AKASH V.; KASHYAP, NEERAJ KUMAR; DAHIYA, PUSHPENDRA SINGH; HIMANSHI, .; JHONEY, ALBEE; SINGH, AKANKSHA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 048562/0588 →
Continuity (1)
Related Publication 20200296172A1 · Sep 17, 2020
Cited By (2)
US 12,381,852 US 12,683,949