IP Library Granted Patent US 10,860,400
Granted Patent B2
US 10,860,400 · App. 16/050,364 · Granted Dec 8, 2020

Intelligent monitoring and diagnostics for application support

Inventors: Karun Thankachan (Cochin, IN); Prajnan Goswami (Guwahati, IN); Mohammad Rafey (Bangalore, IN)
Assignee: EMC IP Holding Company LLC
G06F11/006G06F9/4498G06F2201/805G06F2201/865
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 10,860,400
App. No.
16/050,364
Granted
Dec 8, 2020
Kind
B2
Abstract

A method is used in monitoring an application in a computing environment. The method represents execution of the application on a system as a finite state machine. The finite state machine depicts at least one state of the application, where the state indicates at least one of successful application execution and unsuccessful application execution. The method identifies an error state within the finite state machine, where the error state indicates the unsuccessful application execution. The method identifies, by analyzing the finite state machine, a non-error state as a cause of the unsuccessful application execution, where the unsuccessful application execution is represented as a path comprising a plurality of states, where the path comprises the non-error state. The method maps the non-error state to a location in the application to identify the cause of the unsuccessful application execution.

Claims (48)

1. A method of monitoring an application, the method comprising:

representing execution of the application on a system as a finite state machine, wherein the finite state machine depicts at least one state of the application, wherein the at least one state indicates at least one of successful application execution and unsuccessful application execution;

identifying an error state within the finite state machine, wherein the error state indicates the unsuccessful application execution;

identifying, by analyzing the finite state machine, a non-error state as a cause of the unsuccessful application execution, wherein the unsuccessful application execution is represented as a path comprising a plurality of states, wherein the path comprises the non-error state;

identifying the non-error state as a last location in the path where the successful application execution can avoid the unsuccessful application execution; and

mapping the non-error state to a location in the application to identify the cause of the unsuccessful application execution.

2. The method of claim 1 , further comprising:

predicting a failure rate of the execution of the application due to an issue identified at the location.

3. The method of claim 1 , wherein representing execution of the application as the finite state machine comprises:

translating log data from the execution of the application into the finite state machine.

4. The method of claim 3 , wherein translating log data from the execution of the application into the finite state machine comprises:

defining the log data to include at least one of a current state of the application, at least one timestamp associated with the current state, and at least one change occurring within the application within the current state.

5. The method of claim 1 , wherein identifying the error state within the finite state machine comprises:

identifying a failure of the execution of the application.

6. The method of claim 1 , wherein identifying, by analyzing the finite state machine, the non-error state as the cause of the unsuccessful application execution comprises:

identifying the non-error state as a state from which the successful application execution can avoid the unsuccessful application execution.

7. The method of claim 6 , further comprising:

identifying a second non-error state from which the successful application execution cannot avoid the unsuccessful application execution, wherein the path comprises the second non-error state, and wherein the second non-error state is subsequent to the non-error state.

8. The method of claim 1 , wherein each of the plurality of states comprises at least one of a total count attribute, a successful count attribute, and a success rate attribute.

9. The method of claim 8 , wherein the non-error state is identified based on the success rate attribute.

10. The method of claim 9 , wherein the success rate attribute is compared to a threshold to identify the non-error state.

11. The method of claim 8 , wherein the success rate attribute is updated in real time to monitor the health of the application.

12. A system for use in monitoring an application, the system comprising a processor configured to:

represent execution of the application on a system as a finite state machine, wherein the finite state machine depicts at least one state of the application, wherein the at least one state indicates at least one of successful application execution and unsuccessful application execution;

identify an error state within the finite state machine, wherein the error state indicates the unsuccessful application execution;

identify, by analyzing the finite state machine, a non-error state as a cause of the unsuccessful application execution, wherein the unsuccessful application execution is represented as a path comprising a plurality of states, wherein the path comprises the non-error state;

identifying the non-error state as a last location in the path where the successful application execution can avoid the unsuccessful application execution; and

map the non-error state to a location in the application to identify the cause of the unsuccessful application execution.

13. The system of claim 12 , further configured to:

predict a failure rate of the execution of the application due to an issue identified at the location.

14. The system of claim 12 , wherein the processor configured to represent execution of the application as the finite state machine is further configured to:

translate log data from the execution of the application into the finite state machine.

15. The system of claim 14 , wherein the processor configured to translate log data from the execution of the application into the finite state machine is further configured to:

define the log data to include at least one of a current state of the application, at least one timestamp associated with the current state, and at least one change occurring within the application within the current state.

16. The system of claim 12 , wherein the processor configured to identify, by analyzing the finite state machine, the non-error state as the cause of the unsuccessful application execution is further configured to:

identify the non-error state as a state from which the successful application execution can avoid the unsuccessful application execution.

17. The system of claim 16 , further configured to:

identify a second non-error state from which the successful application execution cannot avoid the unsuccessful application execution, wherein the path comprises the second non-error state, and wherein the second non-error state is subsequent to the non-error state.

18. The system of claim 12 , wherein each of the plurality of states comprises at least one of a total count attribute, a successful count attribute, and a success rate attribute.

19. The system of claim 18 , wherein the non-error state is identified based on the success rate attribute.

20. A computer program product for monitoring an application, the computer program product comprising:

a computer readable storage medium having computer executable program code

embodied therewith, the program code executable by a computer processor to:

represent execution of the application on a system as a finite state machine, wherein the finite state machine depicts at least one state of the application, wherein the at least one state indicates at least one of successful application execution and unsuccessful application execution;

identify an error state within the finite state machine, wherein the error state indicates the unsuccessful application execution;

identify, by analyzing the finite state machine, a non-error state as a cause of the unsuccessful application execution, wherein the unsuccessful application execution is represented as a path comprising a plurality of states, wherein the path comprises the non-error state;

identifying the non-error state as a last location in the path where the successful application execution can avoid the unsuccessful application execution; and

map the non-error state to a location in the application to identify the cause of the unsuccessful application execution.

Assignments (8)
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (053546/0001) Recorded Jun 23, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL MARKETING L.P. (ON BEHALF OF ITSELF AND AS SUCCESSOR-IN-INTEREST TO CREDANT TECHNOLOGIES, INC.); DELL INTERNATIONAL L.L.C.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; DELL MARKETING CORPORATION (SUCCESSOR-IN-INTEREST TO FORCE10 NETWORKS, INC. AND WYSE TECHNOLOGY L.L.C.); EMC IP HOLDING COMPANY LLC
Reel/Frame 071642/0001 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (047648/0422) Recorded May 20, 2022
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS NOTES COLLATERAL AGENT
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 060160/0862 →
RELEASE OF SECURITY INTEREST AT REEL 047648 FRAME 0346 Recorded Nov 2, 2021
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH
To: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
Reel/Frame 058298/0510 →
SECURITY AGREEMENT Recorded Apr 22, 2020
From: CREDANT TECHNOLOGIES INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 053546/0001 →
SECURITY AGREEMENT Recorded Mar 21, 2019
From: CREDANT TECHNOLOGIES, INC.; DELL INTERNATIONAL L.L.C.; DELL MARKETING L.P.; DELL PRODUCTS L.P.; DELL USA L.P.; EMC CORPORATION; FORCE10 NETWORKS, INC.; WYSE TECHNOLOGY L.L.C.; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A.
Reel/Frame 049452/0223 →
PATENT SECURITY AGREEMENT (CREDIT) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 047648/0346 →
PATENT SECURITY AGREEMENT (NOTES) Recorded Oct 12, 2018
From: DELL PRODUCTS L.P.; EMC CORPORATION; EMC IP HOLDING COMPANY LLC
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 047648/0422 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 31, 2018
From: THANKACHAN, KARUN; GOSWAMI, PRAJNAN; RAFEY, MOHAMMAD
To: EMC IP HOLDING COMPANY LLC
Reel/Frame 046673/0679 →
Continuity (1)
Related Publication 20200042369A1 · Feb 6, 2020