IP Library Granted Patent US 12,277,049
Granted Patent B2
US 12,277,049 · App. 17/655,568 · Granted Apr 15, 2025

Fault localization in a distributed computing system

Inventors: Seema Nagar (Bangalore, IN); Pooja Aggarwal (Bengaluru, IN); Qing Wang (Sunnyvale, CA); Larisa Shwartz (Greenwich, CT)
Assignee: International Business Machines Corporation
G06F11/3612G06F11/366
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,277,049
App. No.
17/655,568
Granted
Apr 15, 2025
Kind
B2
Abstract

Localizing a faulty microservice in a microservice architecture is achieved by developing healthy execution sequence data for comparison to execution sequences during system failures. Oftentimes the faulty microservice does not emit a failure signal. Frequent sub-sequences arising from log template time series data during healthy execution facilitates localization of faulty services when there is no failure signal from the faulty service.

Claims (66)

1. A computer-implemented method for localizing faults, the method comprising:

monitoring, during runtime execution of an application, for an occurrence of a request failure by tracking requests of the application for a failure, the application communicating with a plurality of resources within a distributed computing system;

identifying a timeframe in which a request failure is observed while tracking requests of the application;

building a causal graph using erroneous logs generated during the timeframe when the request failure is observed;

identifying real-time execution sequences during the timeframe of the request failure based on paths from a gateway node to a set of leaf nodes according to the causal graph;

establishing a set of frequent execution sub-sequences arising during normal operation of the application including communications with the plurality of resources, the establishing based on a log template time series dataset from normal execution logs; and

identifying a missing resource of the plurality of resources by analyzing a candidate execution sequence occurring during the timeframe with respect to a corresponding partially matching frequent execution sub-sequence of the set of frequent execution sub-sequences, the missing resource being present in the corresponding partially matching frequent execution sub-sequence and absent from the candidate execution sequence.

2. The method of claim 1 , further comprising:

collecting the normal execution logs from the application associated with the plurality of resources; and

generating the log template time series dataset from the normal execution logs.

3. The method of claim 1 , wherein identifying the missing resource includes:

comparing the real-time execution sequences to the set of frequent sub-sequences arising during normal execution to identify the candidate execution sequence and the corresponding partially matching frequent execution sequence.

4. The method of claim 1 , wherein the set of frequent sub-sequences are labeled individually with a corresponding type of execution flow.

5. The method of claim 1 , wherein the missing resource is a faulty microservice.

6. The method of claim 1 , wherein:

there is no microservice topology available; and

the missing resource does not emit an error signal during the timeframe.

7. The method of claim 1 , further comprising:

evaluating the missing resource for being a faulty component of the distributed computing system.

8. The method of claim 1 , wherein the set of frequent execution sub-sequences are discovered by apriori-based subgraph frequent pattern mining algorithms, each frequent execution sub-sequence developed from frequently arising individual items and extended to larger item sets having a threshold minimum frequency, the larger item sets being designated frequent execution sub-sequences.

9. A computer program product comprising a computer-readable storage medium having a set of instructions stored therein which, when executed by a processor, causes the processor to localize faults by:

monitoring, during runtime execution of an application, for an occurrence of a request failure by tracking requests of the application for a failure, the application communicating with a plurality of resources within a distributed computing system;

identifying a timeframe in which a request failure is observed while tracking requests of the application;

building a causal graph using erroneous logs generated during the timeframe when the request failure is observed;

identifying real-time execution sequences during the timeframe of the request failure based on paths from a gateway node to a set of leaf nodes according to the causal graph;

establishing a set of frequent execution sub-sequences arising during normal operation of the application including communications with the plurality of resources, the establishing based on a log template time series dataset from normal execution logs; and

identifying a missing resource of the plurality of resources by analyzing a candidate execution sequence occurring during the timeframe with respect to a corresponding partially matching frequent execution sub-sequence of the set of frequent execution sub-sequences, the missing resource being present in the corresponding partially matching frequent execution sub-sequence and absent from the candidate execution sequence.

10. The computer program product of claim 9 , further causing the processor set to localize faults by:

collecting the normal execution logs from the application associated with the plurality of resources; and

generating the log template time series dataset from the normal execution logs.

11. The computer program product of claim 9 , wherein identifying the missing resource includes:

comparing the real-time execution sequences to the set of frequent sub-sequences arising during normal execution to identify the candidate execution sequence and the corresponding partially matching frequent execution sequence.

12. The computer program product of claim 9 , wherein the resources include microservices.

13. The computer program product of claim 9 , wherein the set of frequent sub-sequences are labeled individually with a corresponding type of execution flow.

14. A computer system for localizing faults, the computer system comprising:

a processor set; and

a computer readable storage medium having program instructions stored therein;

wherein:

the processor set executes the program instructions that cause the processor set to localize faults by:

monitoring, during runtime execution of an application, for an occurrence of a request failure by tracking requests of the application for a failure, the application communicating with a plurality of resources within a distributed computing system;

identifying a timeframe in which a request failure is observed while tracking requests of the application;

building a causal graph using erroneous logs generated during the timeframe when the request failure is observed;

identifying real-time execution sequences during the timeframe of the request failure based on paths from a gateway node to a set of leaf nodes according to the causal graph;

establishing a set of frequent execution sub-sequences arising during normal operation of the application including communications with the plurality of resources, the establishing based on a log template time series dataset from normal execution logs; and

identifying a missing resource of the plurality of resources by analyzing a candidate execution sequence occurring during the timeframe with respect to a corresponding partially matching frequent execution sub-sequence of the set of frequent execution sub-sequences, the missing resource being present in the corresponding partially matching frequent execution sub-sequence and absent from the candidate execution sequence.

15. The computer system of claim 14 , further causing the processor set to localize faults by:

collecting the normal execution logs from the application associated with the plurality of resources; and

generating the log template time series dataset from the normal execution logs.

16. The computer system of claim 14 , wherein identifying the missing resource includes:

comparing the real-time execution sequences to the set of frequent sub-sequences arising during normal execution to identify the candidate execution sequence and the corresponding partially matching frequent execution sequence.

17. The computer system of claim 14 , wherein the resources include microservices.

18. The computer system of claim 14 , wherein the set of frequent sub-sequences are labeled individually with a corresponding type of execution flow.

19. The computer system of claim 14 , wherein the missing resource is a faulty microservice.

20. A computer-implemented method comprising:

determining a request failure has occurred in a computing system by tracking requests of an application for a failure;

mining normal execution sequences collected during normal operation of the computing system;

generating a log-template timeseries dataset from the normal execution sequences;

identifying a set of frequently-arising sub-sequences based on the log-template timeseries dataset;

building a causal graph using erroneous logs generated in real time during the occurrence of the system fault;

selecting a candidate real-time sequence from the causal graph, the selected candidate real-time sequence partially matching a frequently-arising sub-sequence of the identified frequently-arising sub-sequences; and

identifying a missing resource in the candidate real-time sequence by comparing the partially matching frequently-arising sub-sequence to the candidate real-time sequence, the missing resource being present in the frequently-arising sub-sequence and absent from the candidate real-time sequence.

21. The method of claim 20 , further comprising:

individually labeling the set of frequently-arising sub-sequences based on corresponding types of execution flows represented by the each frequently-arising sub-sequence.

22. The method of claim 20 , wherein the step of mining normal execution sequences is performed automatically in response to determining a request failure.

23. The method of claim 20 , further comprising:

adding the missing resource to a localization set for system fault resolution.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 21, 2022
From: NAGAR, SEEMA; AGGARWAL, POOJA; WANG, QING; SHWARTZ, LARISA
To: INTERNATIONAL BUSINESS MACHINES CORPORATION
Reel/Frame 059320/0087 →
Continuity (1)
Related Publication 20230297490A1 · Sep 21, 2023
References Cited (33)
US 7376864B1 · Hu · 2008 [cited by examiner]
US 7546489B2 · Gittins · 2009 [cited by examiner]
US 7685574B2 · Brumme · 2010 [cited by examiner]
US 7872982B2 · Atkins · 2011 [cited by applicant]
US 7900201B1 · Qureshi · 2011 [cited by applicant]
US 8332825B2 · Mital · 2012 [cited by examiner]
US 9772898B2 · Deshpande · 2017 [cited by applicant]
US 10185645B2 · Mola · 2019 [cited by examiner]
US 10235273B2 · Mola · 2019 [cited by examiner]
US 11983094B2 · Downie · 2024 [cited by examiner]
US 20050015668A1 · Doyle · 2005 [cited by examiner]
US 20090328008A1 · Mital · 2009 [cited by examiner]
US 20130117848A1 · Golshan · 2013 [cited by examiner]
US 20160124823A1 · Ruan · 2016 [cited by applicant]
US 20160179600A1 · Joshi · 2016 [cited by applicant]
US 20170083390A1 · Talwadker · 2017 [cited by applicant]
US 20180349251A1 · Mietke · 2018 [cited by examiner]
US 20230057720A1 · Aradhya · 2023 [cited by examiner]
Soldani et al., “Anomaly Detection and Failure Root Cause Analysis in (Micro)Service-Based Cloud Applications: A Survey”, published by ACM Computing Surveys, vol. 55, Issue 3 Article No. 59, pp. 1-39, published on Feb. … [cited by examiner]
Jla et al., “LogSed: Anomaly Diagnosis through Mining Time-weighted Control Flow Graph in Logs”, published by IEEE, 2017 IEEE 10th International Conference on Cloud Computing, pp. 447-455 (Year: 2017). [cited by examiner]
Chen et al., “CauseInfer: Automated End-to-End Performance Diagnosis with Hierarchical Causality Graph in Cloud Environment”, published by IEEE, IEEE Transactions on Services Computing, vol. 12, No. 2, Mar./Apr. 2019, p… [cited by examiner]
Gan et al., “Seer: Leveraging Big Data to Navigate the Complexity of Performance Debugging in Cloud Microservices”, published by ACM, ASPLOS '19, Apr. 13-17, 2019, Providence, RI, USA, pp. 19-33 (Year: 2019). [cited by examiner]
Nandi et al., “Anomaly Detection Using Program Control Flow Graph Mining from Execution Logs”, pp. 215-224, published by ACM, KDD '16, Aug. 13-17, 2016, San Francisco, CA, USA (Year: 2016). [cited by examiner]
Aggarwal et al., “Localization of Operational Faults in Cloud Applications by Mining Causal Dependencies in Logs using Golden Signals”, ResearchGate, Conference Paper—Oct. 2020, 13 pages. [cited by applicant]
Disclosed Anonymously, “Failure Localization in a Distributed/Microservice Environment”, An IP.com Prior Art Database Technical Disclosure, IP.com No. IPCOM000248317D, IP.com Electronic Publication Date: Nov. 15, 2016, … [cited by applicant]
Jia et al., “An Approach for Anomaly Diagnosis Based on Hybrid Graph Model with Logs for Distributed Services”, 2017 IEEE 24th International Conference on Web Services, © 2017 IEEE, 8 pages, <https://ieeexplore.ieee.org… [cited by applicant]
Kim et al., “Root Cause Detection in a Service-Oriented Architecture”, Sigmetrics'13, Jun. 17-21, 2013, Pittsburgh, PA, USA, Copyright 2013 ACM 978-1-4503-1900-3/13/06, 11 pages. [cited by applicant]
Mariani et al., “Localizing Faults in Cloud Systems”, arXiv:1803.00356v1 [cs.SE] Mar. 1, 2018, 12 pages. [cited by applicant]
Meng et al., “Localizing Failure Root Causes in a Microservice through Causality Inference”, © 2020 IEEE, 10 pages. [cited by applicant]
Nandi et al., “Anomaly Detection Using Program Control Flow Graph Mining from Execution Logs”, KDD '16, Aug. 13-17, 2016, San Francisco, CA, USA, © 2016 ACM, ISBN 978-1-4503-4232-2/16/08, 11 pages. [cited by applicant]
Tak et al., “Priolog: Mining Important Logs via Temporal Analysis and Prioritization”, Sustainability 2019, 11, 6306; doi:10.3390/su11226306, 17 pages, <https://www.mdpi.com/2071-1050/11/22/6306>. [cited by applicant]
Wu et al., “MicroRCA: Root Cause Localization of Performance Issues in Microservices”, IEEE/IFIP Network Operations and Management Symposium (NOMS), Apr. 2020, Budapest, Hungary, hal-02441640, submitted on Jan. 16, 2020… [cited by applicant]
Zhou et al., “Latent Error Prediction and Fault Localization for Microservice Applications by Learning from System Trace Logs”, © 2019 Association for Computing Machinery, ACM ISBN 978-1-4503-5572-08/19/08, 12 pages. [cited by applicant]