IP Library Granted Patent US 11,068,328
Granted Patent B1
US 11,068,328 · App. 17/067,958 · Granted Jul 20, 2021

Controlling operation of microservices utilizing association rules determined from microservices runtime call pattern data

Inventor: Mohammad Rafey (Bangalore, IN)
Assignee: Dell Products L.P.
G06F9/547G06F9/4843G06F9/5077G06F9/541
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,068,328
App. No.
17/067,958
Granted
Jul 20, 2021
Kind
B1
Abstract

An apparatus comprises a processing device configured to obtain runtime call pattern data for microservices in an information technology infrastructure, to generate a model of the runtime call pattern data characterizing transitions between states of the microservices, and to capture point of interest events from the runtime call pattern data utilizing the generated model. The processing device is also configured to determine, for a given sliding window time slot, association rules between the captured point of interest events, a given association rule characterizing a relationship between first and second point of interest events corresponding to first and second state transitions occurring during the given sliding window time slot for first and second ones of the microservices. The processing device is further configured to control operation of the microservices in the information technology infrastructure based at least in part on the determined association rules.

Claims (59)

1. An apparatus comprising:

at least one processing device comprising a processor coupled to a memory;

the at least one processing device being configured to perform steps of:

obtaining runtime call pattern data for a plurality of microservices in an information technology infrastructure;

generating a model of the runtime call pattern data characterizing transitions between a plurality of states of the plurality of microservices;

capturing point of interest events from the runtime call pattern data utilizing the generated model;

determining, for a given sliding window time slot of the runtime call pattern data, association rules between the captured point of interest events, a given one of the association rules characterizing a relationship between a first point of interest event corresponding to a first state transition for a first one of the plurality of microservices occurring during the given sliding window time slot and at least a second point of interest event corresponding to a second state transition for a second one of the plurality of microservices occurring during the given sliding window time slot; and

controlling operation of the plurality of microservices in the information technology infrastructure based at least in part on the determined association rules;

wherein determining, for the given sliding window time slot of the runtime call pattern data, the association rules between the captured point of interest events comprises determining the given one of the association rules based at least in part on identifying at least a threshold difference between (i) actual frequencies of occurrence of the first and second point of interest events and (ii) expected frequencies of occurrence of the first and second point of interest events; and

wherein determining the association rules comprises:

computing a first support of the first point of interest event, the first support denoting the actual frequency of occurrence of the first point of interest event in the given sliding window time slot of the runtime call pattern data; and

computing a second support of the second point of interest event, the second support denoting the actual frequency of occurrence of the second point of interest event in the given sliding window timeslot of the runtime call pattern data.

2. The apparatus of claim 1 wherein generating the model of the runtime call pattern data comprises modeling runtime execution of the plurality of microservices as a finite state machine with functional code segments of the plurality of microservices comprising states of the finite state machine and calls between the functional code segments comprising transitions between the states of the finite state machine.

3. The apparatus of claim 1 wherein generating the model of the runtime call pattern data comprises generating a network graph, wherein nodes of the network graph represent functional code segments of the plurality of microservices and calls between the functional code segments represent edges between the nodes of the network graph.

4. The apparatus of claim 1 wherein the captured point of interest events comprise at least one of:

errors encountered during execution of the plurality of microservices;

warnings encountered during execution of the plurality of microservices; and

informational events produced during execution of the plurality of microservices.

5. The apparatus of claim 1 wherein each of the captured point of interest events is associated with one of a set of configurable sliding window time slots including the given sliding window time slot.

6. The apparatus of claim 1 wherein determining the association rules further comprises:

computing a confidence of an association between the first point of interest event and the second point of interest event, the confidence denoting an extent to which the association is verified to be true over the runtime call pattern data; and

computing a lift of the association between the first point of interest event and the second point of interest event, the lift denoting a ratio of the computed first support and the second support to expected support of the first point of interest event and the second point of interest event if the first point of interest event and the second point of interest event were independent.

7. The apparatus of claim 6 wherein the given association rule is created responsive to (i) determining that the computed confidence of the association between the first point of interest event and the second point of interest event exceeds a designated confidence threshold and (ii) determining that the computed lift of the association between the first point of interest event and the second point of interest event exceeds a designated lift threshold.

8. The apparatus of claim 1 wherein controlling operation of the plurality of microservices in the information technology infrastructure based at least in part on the determined association rules comprises identifying dependency patterns among the plurality of microservices utilizing a subset of the determined association rules.

9. The apparatus of claim 8 wherein identifying the dependency patterns among the plurality of microservices utilizing the subset of the determined association rules comprises utilizing a top-K association rules discovery algorithm, the top-K association rules discovery algorithm selecting K number of the determined association rules for inclusion in the subset having an associated confidence exceeding a designated confidence threshold.

10. The apparatus of claim 1 wherein controlling operation of the plurality of microservices in the information technology infrastructure based at least in part on the determined association rules comprises adjusting a configuration of one or more of the plurality of microservices of the information technology infrastructure.

11. The apparatus of claim 1 wherein controlling operation of the plurality of microservices in the information technology infrastructure based at least in part on the determined association rules comprises performing dynamic dependency analysis for the plurality of microservices.

12. The apparatus of claim 1 wherein controlling operation of the plurality of microservices in the information technology infrastructure based at least in part on the determined association rules comprises performing issue remediation for one or more issues associated with one or more of the plurality of microservices.

13. The apparatus of claim 1 wherein controlling operation of the plurality of microservices in the information technology infrastructure based at least in part on the determined association rules comprises performing proactive change management for one or more of the plurality of microservices.

14. A computer program product comprising a non-transitory processor-readable storage medium having stored therein program code of one or more software programs, wherein the program code when executed by at least one processing device causes the at least one processing device to perform steps of:

obtaining runtime call pattern data for a plurality of microservices in an information technology infrastructure;

generating a model of the runtime call pattern data characterizing transitions between a plurality of states of the plurality of microservices;

capturing point of interest events from the runtime call pattern data utilizing the generated model;

determining, for a given sliding window time slot of the runtime call pattern data, association rules between the captured point of interest events, a given one of the association rules characterizing a relationship between a first point of interest event corresponding to a first state transition for a first one of the plurality of microservices occurring during the given sliding window time slot and at least a second point of interest event corresponding to a second state transition for a second one of the plurality of microservices occurring during the given sliding window time slot; and

controlling operation of the plurality of microservices in the information technology infrastructure based at least in part on the determined association rules;

wherein determining, for the given sliding window time slot of the runtime call pattern data, the association rules between the captured point of interest events comprises determining the given one of the association rules based at least in part on identifying at least a threshold difference between (i) actual frequencies of occurrence of the first and second point of interest events and (ii) expected frequencies of occurrence of the first and second point of interest events; and

wherein determining the association rules comprises:

computing a first support of the first point of interest event, the first support denoting the actual frequency of occurrence of the first point of interest event in the given sliding window time slot of the runtime call pattern data; and

computing a second support of the second point of interest event, the second support denoting the actual frequency of occurrence of the second point of interest event in the given sliding window timeslot of the runtime call pattern data.

15. The computer program product of claim 14 wherein determining the association rules comprises:

computing a confidence of an association between the first point of interest event and the second point of interest event, the confidence denoting an extent to which the association is verified to be true over the runtime call pattern data; and

computing a lift of the association between the first point of interest event and the second point of interest event, the lift denoting a ratio of the computed first support and the second support to expected support of the first point of interest event and the second point of interest event if the first point of interest event and the second point of interest event were independent.

16. The computer program product of claim 15 wherein the given association rule is created responsive to (i) determining that the computed confidence of the association between the first point of interest event and the second point of interest event exceeds a designated confidence threshold and (ii) determining that the computed lift of the association between the first point of interest event and the second point of interest event exceeds a designated lift threshold.

17. A method comprising:

obtaining runtime call pattern data for a plurality of microservices in an information technology infrastructure;

generating a model of the runtime call pattern data characterizing transitions between a plurality of states of the plurality of microservices;

capturing point of interest events from the runtime call pattern data utilizing the generated model;

determining, for a given sliding window time slot of the runtime call pattern data, association rules between the captured point of interest events, a given one of the association rules characterizing a relationship between a first point of interest event corresponding to a first state transition for a first one of the plurality of microservices occurring during the given sliding window time slot and at least a second point of interest event corresponding to a second state transition for a second one of the plurality of microservices occurring during the given sliding window time slot; and

controlling operation of the plurality of microservices in the information technology infrastructure based at least in part on the determined association rules;

wherein determining, for the given sliding window time slot of the runtime call pattern data, the association rules between the captured point of interest events comprises determining the given one of the association rules based at least in part on identifying at least a threshold difference between (i) actual frequencies of occurrence of the first and second point of interest events and (ii) expected frequencies of occurrence of the first and second point of interest events;

wherein determining the association rules comprises:

computing a first support of the first point of interest event, the first support denoting the actual frequency of occurrence of the first point of interest event in the given sliding window time slot of the runtime call pattern data; and

computing a second support of the second point of interest event, the second support denoting the actual frequency of occurrence of the second point of interest event in the given sliding window timeslot of the runtime call pattern data; and

wherein the method is performed by at least one processing device comprising a processor coupled to a memory.

18. The method of claim 17 wherein determining the association rules comprises:

computing a confidence of an association between the first point of interest event and the second point of interest event, the confidence denoting an extent to which the association is verified to be true over the runtime call pattern data; and

computing a lift of the association between the first point of interest event and the second point of interest event, the lift denoting a ratio of the computed first support and the second support to expected support of the first point of interest event and the second point of interest event if the first point of interest event and the second point of interest event were independent.

19. The method of claim 18 wherein the given association rule is created responsive to (i) determining that the computed confidence of the association between the first point of interest event and the second point of interest event exceeds a designated confidence threshold and (ii) determining that the computed lift of the association between the first point of interest event and the second point of interest event exceeds a designated lift threshold.

20. The method of claim 17 wherein controlling operation of the plurality of microservices in the information technology infrastructure based at least in part on the determined association rules comprises identifying dependency patterns among the plurality of microservices utilizing a subset of the determined association rules.

Assignments (9)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0523) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0664 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0434) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 060332/0740 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (054475/0609) Recorded Jun 10, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
Reel/Frame 062021/0570 →
RELEASE OF SECURITY INTEREST AT REEL 054591 FRAME 0471 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC IP HOLDING COMPANY LLC
Reel/Frame 058001/0463 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 054475/0609 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0434 →
SECURITY INTEREST Recorded Nov 18, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
Reel/Frame 054475/0523 →
SECURITY AGREEMENT Recorded Nov 13, 2020
From: EMC IP HOLDING COMPANY LLC; DELL PRODUCTS L.P.
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
Reel/Frame 054591/0471 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Oct 12, 2020
From: RAFEY, MOHAMMAD
To: DELL PRODUCTS L.P.
Reel/Frame 054025/0455 →
Cited By (1)
US 12,321,729