IP Library › Granted Patent US 10,372,466
Granted Patent B2
US 10,372,466 · App. 15/621,901 · Granted Aug 6, 2019

Rule-based monitoring engine with tracing capabilities for multi-threaded logging

Inventors: Timothy Demulder (Zwijnaarde, BE); Ruben De Zaeytijd (Kluisbergen, BE)
Assignee: Western Digital Technologies, Inc.
G06F9/44526G06F9/3859G06F9/541G06F11/302G06F11/3006G06F11/3089G06F11/3476G06F21/51G06F2201/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,372,466
App. No.
15/621,901
Granted
Aug 6, 2019
Kind
B2
Abstract

A system and method embodied in a monitoring engine configured to create plug-ins to define functionality including rule-based configuration syntax adapted to intuitively and automatically launch the plug-ins as necessary in a software-based infrastructure or environment. The monitoring engine also includes a capability for tracing multi-threaded asynchronous logging onto a single file, by assigning a unique identification to each thread or rule initiated and facilitating each log according to a specific format and to formulate a combination of all the different thread identifications into a master unique identification that is easily traceable through an entire log file.

Claims (85)

1. A system comprising:

a processor; and

memory storing instructions that, when executed, cause the processor to:

execute an application program interface to operate a monitoring engine configured to monitor a particular functionality within a software-based infrastructure based on a rule-based configuration;

define, by the monitoring engine, three separate categories of plug-ins, the three separate categories of plug-ins including:

a checker plug-in configured to return a value output after a checking operation;

a validator plug-in configured to:

receive the value output;

compare the value output to a threshold standard; and

return a status of a validation operation performed by the validator plug-in; and

an action plug-in configured to perform an action responsive to the status of the validation operation indicating action is required;

selectively launch a selected checker plug-in, a selected validator plug-in, and a selected action plug-in into the software-based infrastructure to monitor the particular functionality, wherein the selected checker plug-in, the selected validator plug-in, and the selected action plug-in comprise a rule for selectively executing a selected action in the selected action plug-in; and

determine whether to execute the selected action in the selected action plug-in based on the status of the validation operation of the selected validator plug-in.

2. The system of claim 1 , wherein the monitoring engine comprises a plug-ins module configured to use the selected checker plug-in for defining multiple rules.

3. The system of claim 1 , wherein a plug-ins module comprises:

a checker module for adding the selected checker plug-in;

a validator module for adding the selected validation plug-in; and

an action module for adding the selected action plug-in.

4. The system of claim 1 , further comprising:

a first module configured to:

identify a plurality of logging threads in the rule; and

assign an identification to each of the plurality of logging threads.

5. The system of claim 4 , further comprising:

a second module configured to generate a unique-combined identification for the plurality of logging threads.

6. The system of claim 1 , wherein the monitoring engine is further configured to:

responsive to executing the selected action for the particular functionality identified in the software-based infrastructure:

determine whether the selected action was not successful; and

responsive to determining the selected action was not successful, queue the rule to run on a next iteration in the monitoring engine.

7. A method comprising:

executing an application program interface to operate a monitoring engine configured to monitor a particular functionality within a software-based infrastructure based on a rule-based configuration;

defining three separate categories of plug-ins, including:

a checker plug-in configured to return a value output from a particular situation;

a validator plug-in configured to:

receive the value output;

compare the value output to a threshold standard; and

return a status of a validation operation performed by the validator plug-in; and

an action plug-in configured to perform an action responsive to the status of the validation operation;

generating a selected checker plug-in, a selected validator plug-in, and a selected action plug-in to formulate a rule;

launching the selected checker plug-in, the selected validator plug-in, and the selected action plug-in in sequence into the software-based infrastructure to monitor the particular functionality; and

determining whether to execute the selected action in the selected action plug-in based on the status of the validation operation of the selected validator plug-in.

8. The method of claim 7 , wherein the monitoring engine comprises a plug-ins module configured to launch the selected checker plug-in, the selected validator plug-in, and the selected action plug-in in sequence responsive to determining a need for each of the selected checker plug-in, the selected validator plug-in, and the selected action plug-in.

9. The method of claim 7 , wherein a plug-ins module comprises:

a checker module configured to generate the selected checker plug-in;

a validator module configured to generate the selected validation plug-in; and

an action module configured to generate the selected action plug-in.

10. The method of claim 7 , further comprising:

identifying a plurality of logging threads in the rule; and

assigning an identification to each of the plurality of logging threads.

11. The method of claim 10 , further comprising:

generating a unique-combined identification for the plurality of logging threads; and

assigning the unique-combined identification to the plurality of logging threads.

12. The method of claim 7 , further comprising:

determining the status of the validation operation in the selected validation plug-in; and

executing, responsive to the status of the validation operation, the selected action of the selected action plug-in in the software-based infrastructure.

13. The method of claim 12 , further comprising:

determining whether the selected action was not successful; and

queuing, responsive to determining the selected action was not successful, the rule to run on a next iteration in the monitoring engine.

14. A system comprising:

means for executing an application program interface to operate a monitoring engine configured to monitor a particular functionality within a software-based infrastructure based on a rule-based configuration;

means for defining three separate categories of plug-ins, including:

a checker plug-in configured to return a value output;

a validator plug-in configured to:

receive the value output;

compare the value output to a threshold standard; and

return a status of a validation operation performed by the validator plug-in; and

an action plug-in configured to perform an action responsive to the status of the validation operation indicating action is required; and

means for adding a selected checker plug-in, a selected validator plug-in, and a selected action plug-in into the software-based infrastructure to monitor the particular functionality, wherein the selected checker plug-in, the selected validator plug-in, and the selected action plug-in comprise a rule for selectively executing a selected action in the selected action plug-in; and

means for determining whether to execute the selected action in the selected action plug-in based on the status of the validation operation of the selected validator plug-in.

15. The system of claim 14 , wherein the monitoring engine comprises a plug-ins module configured to deploy the selected checker plug-in, the selected validator plug-in, and the selected action plug-in in sequence.

16. The system of claim 15 , further comprising:

means for defining a first task for the selected checker plug-in;

means for defining a second task for the selected validator plug-in; and

means for defining a third task for the selected action plug-in.

17. The system of claim 15 , further comprising:

means for identifying a plurality of logging threads in the rule; and

means for assigning an identification to each of the plurality of logging threads.

18. The system of claim 17 , further comprising:

means for generating a unique-combined identification for the plurality of logging threads; and

means for assigning the unique-combined identification to the plurality of logging threads.

19. The system of claim 14 , further comprising:

means for determining the status of the validation operation in the selected validation plug-in; and

means for executing, responsive to the status of the validation operation, the selected action in the software-based infrastructure.

20. The system of claim 19 , further comprising:

means for determining if the selected action was not successful; and

means for queuing, responsive to determining the selected action was not successful, the rule on a next iteration to run in the monitoring engine.

Assignments (5)
PATENT COLLATERAL AGREEMENT - A&R LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 064715/0001 →
PATENT COLLATERAL AGREEMENT - DDTL LOAN AGREEMENT Recorded Aug 21, 2023
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A.
Reel/Frame 067045/0156 →
RELEASE OF SECURITY INTEREST AT REEL 052915 FRAME 0566 Recorded Feb 8, 2022
From: JPMORGAN CHASE BANK, N.A.
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 059127/0001 →
SECURITY INTEREST Recorded Feb 6, 2020
From: WESTERN DIGITAL TECHNOLOGIES, INC.
To: JPMORGAN CHASE BANK, N.A., AS AGENT
Reel/Frame 052915/0566 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 6, 2017
From: DEMULDER, TIMOTHY; DE ZAEYTIJD, RUBEN
To: WESTERN DIGITAL TECHNOLOGIES, INC.
Reel/Frame 042926/0899 →
Continuity (1)
Related Publication 20180357079A1 · Dec 13, 2018