← Back to Patent Explorer
US5193178A Expired / Lapsed US ⏱️ 0.0 years remaining

Self-testing probe system to reveal software errors

Assignee: International Business Machines Corp
•
Filing: 1990-10-31
•
Granted: 1993-03-09
•
Expires: 2010-10-31
📄 Original PDF 🌐 Google Patents 🔄 Sync Now

Abstract

Abstract A probe mechanism detects failed software components in a running software system. The probe mechanism is based on requesting service, or a certain level of service, from a set of functions, modules and/or subsystems and checking the response to the request. The probe is directed towards a service rendered by a collection of software modules and functions which is termed a target. The probe will then label a target as either healthy or failed. The objective is to localize the failure only up to the level of a target, however, and achieve a high degree of efficiency and confidence in the process. Targets are chosen such that they represent a collection of functions that can be defined by a service level input/output (I/O) specification. Targets can be identified at different levels or layers in the software. The choice of a level is based on the granularity of fault detection that is desired, taken in consideration with the level at which recovery can be implemented. To further enhance the operation of the probe, it is made self testing against any single failure in its operational components. The technique to make the probe self testing uses the probe paradigm to define a null probe which tests the probe dispatcher and creates a null failure which in turn tests the probe analyzer. The probe mechanism may be implemented on either a signle or multiple computer system.

Inventors

  • 👤 Ram Chillarege
  • 👤 Philip L. Rosenfeld

Bibliographic Details

Application Number —
Jurisdiction US
Data Source google_patents
Last Synchronized 2026-11-02 05:37
CPC Classifications
G; G06; G06F; G06F11/00; G06F11/36; G06F11/362; G06F11/366

Claims Analysis

Total Claims: 22
Claim 1
Independent Claim 114 words
A method of detecting failed software components in a running software system, said method being performed by a probe mechanism installed on a computer system on which said software system is running, said method comprising the steps of: requesting by said probe mechanism service, a certain level of service, or a change in the level of service from a target selected from a set of functions, modules and/or subsystems of said software system while said software is running on said computer system; and check by said probe mechanism for a response to the request from said running software system within a predetermined period of time to determine if said target is healthy or failed.
Claim 2
Independent Claim 114 words
A method of detecting failed software components in a running software system, said method being performed by a probe mechanism installed on a computer system on which said software system is running, said method comprising the steps of: requesting by said probe mechanism service, a certain level of service, or a change in the level of service from a target selected from a set of functions, modules and/or subsystems of said software system while said software is running on said computer system; and check by said probe mechanism for a response to the request from said running software system within a predetermined period of time to determine if said target is healthy or failed.
Claim 3
Dependent Claim 39 words
The method recited in claim 1 wherein if a response is received within said predetermined period of time, further comprising the step of labeling a target as either healthy or failed based on the result of said checking step.
Claim 4
Dependent Claim 29 words
The method recited in claim 2 wherein if a response is not received within said predetermined period of time, further comprising the step of labeling a target as lost.
Claim 5
Independent Claim 163 words
A method of detecting failed software components in a running software system, said method being performed by a probe mechanism installed on a computer system on which said software system is running, wherein said probe mechanism includes a probe dispatcher running under the control of a probe analyzer, said method comprising the steps of: requesting service, a certain level of service, or a change in the level of service from a target selected from a set of functions, modules and/or subsystems of said running system; checking for a response to the request within a predetermined period of time; if a response is received within said predetermined period of time, labeling a target as either healthy or failed based on the result of said checking step; if a response is not received within said predetermined period of time, labeling a target as lost; and defining a null probe which returns a lost status and thereby tests the probe dispatcher by creating a null failure.
Claim 6
Independent Claim 163 words
A method of detecting failed software components in a running software system, said method being performed by a probe mechanism installed on a computer system on which said software system is running, wherein said probe mechanism includes a probe dispatcher running under the control of a probe analyzer, said method comprising the steps of: requesting service, a certain level of service, or a change in the level of service from a target selected from a set of functions, modules and/or subsystems of said running system; checking for a response to the request within a predetermined period of time; if a response is received within said predetermined period of time, labeling a target as either healthy or failed based on the result of said checking step; if a response is not received within said predetermined period of time, labeling a target as lost; and defining a null probe which returns a lost status and thereby tests the probe dispatcher by creating a null failure.
Claim 7
Independent Claim 164 words
A method of detecting failed software components in a running software system, said method being performed by a probe mechanism installed on a computer system on which said software system is running comprising the steps of: requesting service, a certain level of service, or a change in the level of service from a target selected from a set of functions, modules and/or subsystems of said running system; checking for a response to the request within a predetermined period of time; if a response is received within said predetermined period of time, labeling a target as either healthy or failed based on the result of said checking step; if a response is not received within said predetermined period of time, labeling a target as lost; analyzing those targets labeled as failed to determine whether the failed targets have children in a hierarchical tree structure of software modules, and if so requesting service, or a certain level of service, from the children of the failed targets.
Claim 8
Independent Claim 164 words
A method of detecting failed software components in a running software system, said method being performed by a probe mechanism installed on a computer system on which said software system is running comprising the steps of: requesting service, a certain level of service, or a change in the level of service from a target selected from a set of functions, modules and/or subsystems of said running system; checking for a response to the request within a predetermined period of time; if a response is received within said predetermined period of time, labeling a target as either healthy or failed based on the result of said checking step; if a response is not received within said predetermined period of time, labeling a target as lost; analyzing those targets labeled as failed to determine whether the failed targets have children in a hierarchical tree structure of software modules, and if so requesting service, or a certain level of service, from the children of the failed targets.
Claim 9
Dependent Claim 36 words
The method recited in claim 5 further comprising the steps of: generating an alert output for those failed targets having no children; and generating an availability output indicating which children of a failed target are healthy.
Claim 10
Independent Claim 202 words
A method of detecting failed software components in a running software system, said method being performed by a probe mechanism installed on a computer system on which said software system is running, wherein said software system is running on a plurality of interconnected computer systems, said probe mechanism being installed on each of said computer systems and including for each installation a probe dispatcher running under the control of a probe analyzer, the method comprising the steps of: requesting service a certain level of service, or a change in the level or service by a probe dispatcher on one computer system from a target selected on another computer system; transmitting by a probe analyzer on said one computer system the service requested by said probe dispatcher; and analyzing by said probe analyzer on said one computer system a response to said requested service by checking for a response to the request within a predetermined period of time, and if a response is received within said predetermined period time, labeling a target as either healthy or failed based on the result of said checking step, but if a response is not received within said predetermined period of time, labeling a target is lost.
Claim 11
Independent Claim 202 words
A method of detecting failed software components in a running software system, said method being performed by a probe mechanism installed on a computer system on which said software system is running, wherein said software system is running on a plurality of interconnected computer systems, said probe mechanism being installed on each of said computer systems and including for each installation a probe dispatcher running under the control of a probe analyzer, the method comprising the steps of: requesting service a certain level of service, or a change in the level or service by a probe dispatcher on one computer system from a target selected on another computer system; transmitting by a probe analyzer on said one computer system the service requested by said probe dispatcher; and analyzing by said probe analyzer on said one computer system a response to said requested service by checking for a response to the request within a predetermined period of time, and if a response is received within said predetermined period time, labeling a target as either healthy or failed based on the result of said checking step, but if a response is not received within said predetermined period of time, labeling a target is lost.
Claim 12
Dependent Claim 41 words
The method recited in claim 7 wherein said method further comprises the step of defining a null probe which returns a lost status and thereby tests said probe dispatcher and communication links between said computer systems by creating a null failure.
Claim 13
Dependent Claim 92 words
A software probe mechanism for detecting failed software components in a software system running on a computer system comprising: means for requesting service, a certain level of service, or a change in the level of service from a target selected from a set of functions, modules and/or subsystems of said software system while said software system is running on said computer system; and means for checking for a response to the request from said running software system within a predetermined period of time to determine if said target is healthy or failed.
Claim 14
Dependent Claim 92 words
A software probe mechanism for detecting failed software components in a software system running on a computer system comprising: means for requesting service, a certain level of service, or a change in the level of service from a target selected from a set of functions, modules and/or subsystems of said software system while said software system is running on said computer system; and means for checking for a response to the request from said running software system within a predetermined period of time to determine if said target is healthy or failed.
Claim 15
Dependent Claim 50 words
The software probe mechanism recited in claim 9 further comprising means responsive to said checking means for labeling a target as either healthy or failed if a response is received within said predetermined period of time or as lost if no response is received within said predetermined period of time.
Claim 16
Dependent Claim 198 words
A software probe mechanism for detecting failed software components in a running software system, wherein said software system is running on a plurality of interconnected computer systems, said probe mechanism being installed on each of said computer systems and including for each installation a probe dispatcher running under the control of a probe analyzer, comprising for each said computer system: means for requesting service, a certain level of service, or a change in the level of service from a target selected from a set of functions, modules and/or subsystems of said working system; means for checking for a response to the request within a predetermined period of time; means responsive to said checking means for labeling a target as either healthy or failed if a response is received within said predetermined period of time or as lost if no response is received within said predetermined period of time; out-message means connected to said probe analyzer for receiving messages by said probe dispatcher on one computer system requesting service, or a certain level of service, from a target selected on another computer system; and in-message means connected to said probe analyzer for receiving a response to said requested service.
Claim 17
Dependent Claim 198 words
A software probe mechanism for detecting failed software components in a running software system, wherein said software system is running on a plurality of interconnected computer systems, said probe mechanism being installed on each of said computer systems and including for each installation a probe dispatcher running under the control of a probe analyzer, comprising for each said computer system: means for requesting service, a certain level of service, or a change in the level of service from a target selected from a set of functions, modules and/or subsystems of said working system; means for checking for a response to the request within a predetermined period of time; means responsive to said checking means for labeling a target as either healthy or failed if a response is received within said predetermined period of time or as lost if no response is received within said predetermined period of time; out-message means connected to said probe analyzer for receiving messages by said probe dispatcher on one computer system requesting service, or a certain level of service, from a target selected on another computer system; and in-message means connected to said probe analyzer for receiving a response to said requested service.
Claim 18
Dependent Claim 145 words
A software probe mechanism for detecting failed software components in a running software system comprising: means for requesting service, a certain level of service, or a change in the level of service from a target selected from a set of functions, modules and/or subsystems of said working system; means for checking for a response to the request within a predetermined period of time; means responsive to said checking means for labeling a target at either healthy or failed if a response is received within said predetermined period of time or as lost if no response is received within said predetermined period of time; means for analyzing those targets labeled as failed to determine whether the failed targets have children in a hierarchical tree structure of software modules; and means for requesting service, or a certain level of service, form the children of the failed targets.
Claim 19
Dependent Claim 145 words
A software probe mechanism for detecting failed software components in a running software system comprising: means for requesting service, a certain level of service, or a change in the level of service from a target selected from a set of functions, modules and/or subsystems of said working system; means for checking for a response to the request within a predetermined period of time; means responsive to said checking means for labeling a target at either healthy or failed if a response is received within said predetermined period of time or as lost if no response is received within said predetermined period of time; means for analyzing those targets labeled as failed to determine whether the failed targets have children in a hierarchical tree structure of software modules; and means for requesting service, or a certain level of service, form the children of the failed targets.
Claim 20
Dependent Claim 203 words
A probe mechanism for periodically testing software components in a software system running on a transaction processing system comprising: a probe dispatcher connected to access a probe request queue and, in response to a probe request, accessing a probe library, said probe dispatcher dispatching a probe accessed from said probe library to request service, or a certain level of service, from a target selected from a set of functions, modules and/or subsystems running on said transaction processing system; a probe result buffer written to by said probe dispatcher and containing a list or probes dispatched and a time stamp of when each probe was dispatched, said dispatcher checking for a response to a request made by each probe and entering a status in said probe result buffer indicating the target as being either healthy or failed if a response is received within a predetermined period of time from said time stamp or lost if a response is not received within said predetermined period of time; and a probe analyzer connected to said probe request queue for loading said queue with probe requests and to said probe result buffer for analyzing targets having a status of failed or lost and providing an analysis output.
Claim 21
Dependent Claim 203 words
A probe mechanism for periodically testing software components in a software system running on a transaction processing system comprising: a probe dispatcher connected to access a probe request queue and, in response to a probe request, accessing a probe library, said probe dispatcher dispatching a probe accessed from said probe library to request service, or a certain level of service, from a target selected from a set of functions, modules and/or subsystems running on said transaction processing system; a probe result buffer written to by said probe dispatcher and containing a list or probes dispatched and a time stamp of when each probe was dispatched, said dispatcher checking for a response to a request made by each probe and entering a status in said probe result buffer indicating the target as being either healthy or failed if a response is received within a predetermined period of time from said time stamp or lost if a response is not received within said predetermined period of time; and a probe analyzer connected to said probe request queue for loading said queue with probe requests and to said probe result buffer for analyzing targets having a status of failed or lost and providing an analysis output.
Claim 22
Dependent Claim 55 words
The probe mechanism recited in claim 13 further comprising: a periodic check list accessed by said probe analyzer, said check list containing probe requests in a sequence and frequency for testing said transaction processing system; and a model of services accessed by said probe analyzer, said model of services providing information for analyzing failed targets.

References Cited (Backward Citations)

US4617663A Cited

USPTO Annuity & Maintenance Windows

Annuity Stage Window Opens Payment Deadline Surcharge Period Until Estimated Fee Status
3.5 Years (Year 4) 1996-03-08 1996-09-07 1997-03-09 $2000.00 Window Closed / Lapsed
7.5 Years (Year 8) 2000-03-08 2000-09-07 2001-03-09 $3760.00 Window Closed / Lapsed
11.5 Years (Year 12) 2004-03-08 2004-09-07 2005-03-09 $7700.00 Window Closed / Lapsed

Assigned Categories & Tags

No categories assigned to this patent yet.

Assign Category Tag