IP Library Granted Patent US 7,114,104
Granted Patent B1
US 7,114,104 · App. 10/364,728 · Granted Sep 26, 2006

System and method of fault detection in a Unix environment

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 7,114,104
App. No.
10/364,728
Granted
Sep 26, 2006
Kind
B1
Abstract

Systems and methods of fault detection in a Unix environment. A fault monitor uses process identifiers to access the process control file and status file maintained by the operating system. The fault monitor evaluates process interruptions indicated by the process control signals and selectively communicates information regarding detected interruptions through an event router. The fault monitor uses a fault detection driver that redirects fork requests in order to collect new process identifiers. The fault detection driver modifies the process table associated with the call dispatcher to insert itself between the call dispatcher and the fork routine.

Claims (73)

1. A fault management system for operation in a Unix environment, comprising:

a fault detection driver that determines an identifier for locating operating system resources associated with a process in the Unix environment; and

a fault monitor in communication with the fault detection driver, the fault monitor selectively signaling an interruption of the process based upon interaction with the operating system resources located with the identifier, and wherein the fault monitor receives the identifier from the fault detection driver and generates a monitoring thread associated with the process.

2. The fault management system of claim 1 , wherein the operating system resources associated with the process include a process control file that is accessed when the process is interrupted.

3. The fault management system of claim 2 , wherein the fault monitor writes a control message to the process control file that directs a return message to the fault monitor when the process is interrupted.

4. The fault management system of claim 2 , wherein the fault monitor includes monitoring preferences related to a plurality of process control signals associated with the process control file.

5. The fault management system of claim 1 , wherein the operating system resources associated with the process include a status file and the fault monitor reads the status file to determine the process status.

6. The fault management system of claim 5 , wherein the fault monitor includes interruption handling logic for evaluating the process status to selectively signal an interruption.

7. The fault management system of claim 5 , wherein the fault monitor selectively stores information from the status file for use in signaling the interruption.

8. The fault management system of claim 1 , wherein the fault monitor determines further handling of the process after the interruption.

9. The fault management system of claim 1 , further comprising an event router in communication with the fault monitor, the event router receiving an event message signaling the interruption and routing information describing the interruption to a fault handling resource.

10. The fault management system of claim 9 , wherein the fault handling resource includes a fault notification system, a fault archive, or a fault analysis application.

11. The fault management system of claim 1 , wherein the fault detection driver receives a new process identifier when any new process is initiated in the Unix environment.

12. The fault management system of claim 11 , wherein the fault detection driver modifies a call dispatcher to provide the identifier to the fault detection driver when the process is initiated by a fork routine.

13. A method of managing faults in a Unix environment, comprising:

determining an identifier for a process in the Unix environment;

monitoring a process control file associated with the process based upon the identifier;

identifying an interruption in the process from the process control file;

generating an event message signaling the interruption; and

writing a control message to the process control file to establish monitoring for the interruption in the process.

14. The method of claim 13 , wherein monitoring the process control file includes selectively monitoring a plurality of control signals associated with the process.

15. The method of claim 13 , further comprising reading a status file associated with the process for process status information.

16. The method of claim 15 , wherein generating the event message includes communicating process status information for the status file.

17. The method of claim 13 , further comprising determining further handling of the process after the interruption.

18. The method of claim 13 , further comprising routing information describing the interruption to a fault handling resource.

19. The method of claim 13 , further comprising automatically detecting a new process in the Unix environment.

20. The method of claim 13 , wherein determining the identifier comprises modifying a process table of a call dispatcher in the Unix environment so that the identifier generated by a fork routine is returned.

21. A method of identifying a new process in a Unix environment, comprising:

storing a driver address;

reading a fork routine address from a process table;

storing the fork routine address;

overwriting the fork routine address in the process table with the driver address;

receiving a fork request through the process table at the driver address;

redirecting the fork request to a fork routine using the fork routine address;

receiving a new process identifier from the fork routine;

storing the new process identifier; and

returning the new process identifier through the process table.

22. The method of claim 21 , further comprising communicating the new process identifier to a process monitor.

23. A fault management system for operation in a Unix environment, comprising:

process detection means for determining an identifier for locating operating system resources associated with a process in the Unix environment; and

process monitoring means in communication with the process detection means, the process monitoring means for selectively signaling an interruption of the process based upon interaction with the operating system resources located with the identifier, for receiving the identifier from the fault detection driver and for generating a monitoring thread associated with the process.

24. The fault management system of claim 23 , wherein the process monitoring means uses a process control means associated with the identifier to monitor process control signals indicative of the interruption.

25. The fault management system of claim 23 , wherein the process monitoring means uses a process status means associated with the identifier to evaluate the interruption.

26. The fault management system of claim 23 , further comprising an event routing means in communication with the process monitoring means, the event routing means for receiving an event message signaling the interruption and routing information describing the interruption to a fault handling resource.

27. A fault management system for operation in a computing environment, comprising:

a fault detection driver that determines an identifier for locating operating system resources associated with a process in the computing environment; and

a fault monitor in communication with the fault detection driver, the fault monitor selectively signaling an interruption of the process based upon interaction with the operating system resources located with the identifier,

wherein the operating system resources associated with the process include a process control file that is accessed when the process is interrupted and the fault monitor writes a control message to the process control file that directs a return message to the fault monitor when the process is interrupted.

28. The fault management system of claim 27 , wherein the computing environment comprises a Unix environment.

29. A fault management system for operation in a computing environment, comprising:

a fault detection driver that determines an identifier for locating operating system resources associated with a process in the computing environment; and

a fault monitor in communication with the fault detection driver, the fault monitor selectively signaling an interruption of the process based upon interaction with the operating system resources located with the identifier,

wherein the operating system resources associated with the process include a process control file that is accessed when the process is interrupted and the fault monitor includes monitoring preferences related to a plurality of process control signals associated with the process control file.

30. The fault management system of claim 29 , wherein the computing environment comprises a Unix environment.

31. A fault management system for operation in a computing environment, comprising:

a fault detection driver that determines an identifier for locating operating system resources associated with a process in the computing environment; and

a fault monitor in communication with the fault detection driver, the fault monitor selectively signaling an interruption of the process based upon interaction with the operating system resources located with the identifier,

wherein the fault detection driver receives a new process identifier when any new process is initiated in the computing environment and modifies a call dispatcher to provide the identifier to the fault detection driver when the process is initiated by a fork routine.

32. The fault management system of claim 31 , wherein the computing environment comprises a Unix environment.

33. A method of managing faults in a computing environment, comprising:

determining an identifier for a process in the computing environment;

monitoring a process control file associated with the process based upon the identifier;

identifying an interruption in the process from the process control file; and

generating an event message signaling the interruption,

wherein monitoring the process control file includes selectively monitoring a plurality of control signals associated with the process.

34. The method of claim 33 , wherein the computing environment comprises a Unix environment.

35. A method of managing faults in a computing environment, comprising:

determining an identifier for a process in the computing environment;

monitoring a process control file associated with the process based upon the identifier;

identifying an interruption in the process from the process control file; and

generating an event message signaling the interruption,

wherein determining the identifier comprises modifying a process table of a call dispatcher in the computing environment so that the identifier generated by a fork routine is returned.

36. The method of claim 35 , wherein the computing environment comprises a Unix environment.

Assignments (13)
GRANT OF FIRST LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0628 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Nov 13, 2024
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: GOLDMAN SACHS BANK USA, AS COLLATERAL AGENT
Reel/Frame 069352/0568 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052842/0166) Recorded Aug 5, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC. (AS SUCCESSOR-BY-MERGER TO COMPUWARE CORPORATION)
Reel/Frame 068316/0566 →
RELEASE OF SECURITY INTEREST IN PATENTS PREVIOUSLY RECORDED AT REEL/FRAME (052842/0277) Recorded Aug 5, 2024
From: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
To: BMC SOFTWARE, INC. (AS SUCCESSOR-BY-MERGER TO COMPUWARE CORPORATION)
Reel/Frame 068316/0868 →
OMNIBUS ASSIGNMENT OF SECURITY INTERESTS IN PATENT COLLATERAL Recorded Mar 4, 2024
From: CREDIT SUISSE AG, CAYMAN ISLANDS BRANCH, AS RESIGNING COLLATERAL AGENT
To: GOLDMAN SACHS BANK USA, AS SUCCESSOR COLLATERAL AGENT
Reel/Frame 066729/0889 →
TERMINATION AND RELEASE OF SECURITY INTEREST IN PATENTS Recorded Feb 1, 2024
From: ALTER DOMUS (US) LLC
To: BMC SOFTWARE, INC.; BLADELOGIC, INC.
Reel/Frame 066567/0283 →
GRANT OF SECOND LIEN SECURITY INTEREST IN PATENT RIGHTS Recorded Sep 30, 2021
From: BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: ALTER DOMUS (US) LLC
Reel/Frame 057683/0582 →
MERGER Recorded Apr 13, 2021
From: COMPUWARE CORPORATION
To: BMC SOFTWARE, INC.
Reel/Frame 055906/0332 →
SECURITY INTEREST Recorded Jun 4, 2020
From: COMPUWARE CORPORATION
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052842/0166 →
SECURITY INTEREST Recorded Jun 4, 2020
From: COMPUWARE CORPORATION
To: THE BANK OF NEW YORK MELLON TRUST COMPANY, N.A., AS COLLATERAL AGENT
Reel/Frame 052842/0277 →
SECURITY INTEREST Recorded Jun 4, 2020
From: COMPUWARE CORPORATION; BMC SOFTWARE, INC.; BLADELOGIC, INC.
To: CREDIT SUISSE, AG, CAYMAN ISLANDS BRANCH, AS COLLATERAL AGENT
Reel/Frame 053467/0434 →
RELEASE OF FIRST LIEN PATENT SECURITY AGREEMENT RECORDED AT REEL\FRAME 035200\0973 AND 035200\0955 Recorded Aug 23, 2018
From: JEFFERIES FINANCE LLC
To: DYNATRACE LLC; COMPUWARE CORPORATION
Reel/Frame 046922/0886 →
TERMINATION OF SECURITY INTEREST IN PATENTS AT REEL/FRAME NO. 035201/0065 Recorded Feb 14, 2018
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: COMPUWARE CORPORATION
Reel/Frame 045325/0384 →