Login| Sign Up| Help| Contact|

Patent Searching and Data


Title:
FAILURE AND PERFORMANCE TRACKING SYSTEM
Document Type and Number:
WIPO Patent Application WO/1992/022872
Kind Code:
A1
Abstract:
The machine initiated maintenance system (10) makes use of a memory (90) on each field replaceable unit (70) within the customer system (40) to provide history data on a filed replaceable unit basis. In particular, data is written into the field replaceable unit (70) to identify the content and repair status of the field replaceable unit (70) as well as prior maintenance activity in which the field replaceable unit (70) was identified as a suspected failed unit. The memory (90) can contain varying quantities of data indicative of the performance and life history of the field replaceable unit (70) as well as the various environments in which it was operational, including identified failures.

Inventors:
KLEINSCHNITZ DONALD (US)
Application Number:
PCT/US1992/004729
Publication Date:
December 23, 1992
Filing Date:
June 05, 1992
Export Citation:
Click for automatic bibliography generation   Help
Assignee:
STORAGE TECHNOLOGY CORP (US)
International Classes:
G05B19/042; G07C3/00; (IPC1-7): G06F15/20
Foreign References:
US4035621A1977-07-12
US4041470A1977-08-09
US4872165A1989-10-03
US4943919A1990-07-24
US4991174A1991-02-05
US5023817A1991-06-11
US5134574A1992-07-28
Download PDF:
Claims:
I CLAIM:
1. In an electronic system (40) which includes a plurality of field replaceable units (7075) , each of which includes at least one memory element (90) , apparatus (10) for providing each one (70) of said field replaceable units (7075) with data indicative of the usage of said one field replaceable unit (70) comprising: means (900) for generating data indicative of the unique identity of said electronic system (40) ; means (911) for storing said generated data in said memory element (90) ; means (20) for detecting the presence of a failure in said electronic system (40) ; means (901) for generating a failure report which contains data relevant to said detected failure, including an identification of the failure mode and all operational elements (A*E*) on all field replaceable units (70) that were cooperatively operative during said detected failure; and means (911) for storing said failure report in said memory element (90) .
2. The apparatus of claim 1 wherein said generating means (901) includes: means (306) for maintaining a failure analysis history containing data identifying each of said field replaceable units (7075) and associated composite failure data representative of known field replaceable unit failures; means (201) for comparing said stored failure report with said failure analysis history; and means (202) for identifying at least one failed field replaceable unit (70) based on said comparison.
3. The apparatus of claim 2 wherein said storing means (911) includes: means (302) for storing data indicative of said identified one field replaceable unit (70) in said memory element (90) .
4. The apparatus of claim 2 further comprising: means (921) for writing data into said memory element (90) indicative of the identity of all field replaceable units (7075) connected to said identified one field replaceable unit (70) .
5. The apparatus of claim 2 further comprising: means for storing a node/path map indicative of the interconnection of said operational elements (A*E*) ; and means (921) for writing data into said memory element (90) indicative of a portion of said node/path map occupied by said identified field replaceable unit (70) and all nodes external to said identified field replaceable unit (70) to which said identified field replaceable unit (70) connects.
6. The apparatus of claim 1 further comprising: means (941) , responsive to said field replaceable unit (70) being repaired, for writing data into said memory element (90) indicative of said repair.
7. The apparatus of claim 1 further comprising: means (911) for writing data into said memory element (90) indicative of the length of time said field replaceable unit (70) is powered on.
8. The apparatus of claim 1 further comprising: means (911) for writing data in said memory element (90) indicative of each usage of said field replaceable unit (70) .
9. The apparatus of claim 8 wherein said memory element (90) contains data indicative of a known statistical failure rate of said field replaceable unit (70) , said apparatus further comprising: means (903) for comparing said usage data with said statistical failure rate data for deriving a prediction of the next occurrence of a failure within said field replaceable unit (70) .
10. The apparatus of claim 1 further comprising: means (921) , responsive to said electronic system (40) performing diagnostic tests on said field replaceable unit (70) , for writing data into said memory element (90) indicative of diagnostic tests performed on said field replaceable unit (70) .
11. In an electronic system (40) which includes a plurality of field replaceable units (7075) , each of which includes at least one memory element (90) , a method for providing each one (70) of said field replaceable units (7075) with data indicative of the usage of said one field replaceable unit (70) comprising the steps of: generating data indicative of the unique identity of said electronic system (40) ; storing said generated data in said memory element (90) ; detecting the presence of a failure in said electronic system (40) ; generating a failure report which contains data relevant to said detected failure, including an identification of the failure mode and all operational elements (A*E*) on all field replaceable units (70 that were cooperatively operative during said detected failure; and storing said failure report in said memory element (90) .
12. The method of claim 11 wherein said step of generating includes: maintaining a failure analysis history containing data identifying each of said field replaceable units (7075) and associated composite failure data representative of known field replaceable unit failures; comparing said stored failure report with said failure analysis history; and identifying at least one failed field replaceable unit (70) based on said comparison.
13. The method of claim 12 wherein said step of storing includes: storing data indicative of said identified one field replaceable unit (70) in said memory element (90).
14. The method of claim 12 further comprising: writing data into said memory element (90) indicative of the identity of all field replaceable units (7075) connected to said identified one field replaceable unit (70) .
15. The method of claim 11 further comprising: storing a node/path map indicative of the interconnection of said operational elements (A*E*) ; and writing data into said memory element (90) indicative of a portion of said node/path map occupied by said identified field replaceable unit (70) and all nodes external to said identified field replaceable unit (70) to which said identified field replaceable unit (70) connects.
16. The method of claim 11 further comprising: writing, in response to said field replaceable unit (70) being repaired, data into said memory element (90) indicative of said repair.
17. The method of claim 11 further comprising: writing data into said memory element (90) indicative of the length of time said field replaceable unit (70) is powered on.
18. The method of claim 11 further comprising: writing data in said memory element (90) indicative of each usage of said field replaceable unit (70) .
19. The method of claim 18 wherein said memory element (90) contains data indicative of a known statistical failure rate of said field replaceable unit (70) , said method further comprising: comparing said usage data with said statistical failure rate data to derive a prediction of the next occurrence of a failure within said field replaceable unit (70) .
20. The method of claim 11 further comprising: writing data, in response to said electronic system (40) performing diagnostic tests on said field replaceable unit (70) , in said memory element (90) indicative of diagnostic tests performed on said field replaceable unit (70) .
Description:
FAILURE AND PERFORMANCE TRACKING SYSTEM

FIELD OF THE INVENTION

This invention relates to machine initiated maintenance systems and, in particular, to a knowledge based system that is used to implement a sophisticated failure and performance tracking system for field replaceable units, each containing a number of operational elements.

PROBLEM It is a problem in the field of processor controlled customer systems to provide inexpensive and timewise efficient repair services. Sophisticated processor controlled systems typically require sophisticated failure evaluation systems to identify failed operational elements contained therein. In addition, highly skilled craftspersons are required to operate these failure evaluation systems and these craftspersons must typically be dispatched on a rush basis whenever a particular customer equipment has failed. The timely dispatch of a craftsperson is necessitated by the fact that the customer system represents a significant financial investment and the operation of the customer's business may be dependent on its continued operation. Therefore, numerous maintenance systems have been devised in order to

detect, identify and even predict failures in sophisticated processor controlled customer systems. Existing failure evaluation apparatus typically perform a predetermined set of tests to identify the operational integrity of various subunits or components within the customer system. These failure evaluation tests are written by the manufacturer's engineers and are contained within the customer system when it is shipped to the customer by the manufacturer or are transported by the craftsperson to the customer site. These failure evaluation tests are either activated when a failure occurs in the customer system or are run in a background process on a routinely scheduled basis by the customer system. These failure evaluation tests typically identify that a failure has occurred and attempt to isolate the source of the failure so that the field engineer task is simplified since the failed unit is identified to a particular field replaceable unit (FRU) or a subsystem of field replaceable units. Existing failure evaluation systems also produce an alert to identify the occurrence of a failure so that the customer can request the dispatch of the field engineer. Some failure evaluation systems also contain the capability of directly communicating the failure condition to the field engineer office maintained by the manufacturer in order to bypass necessity of the customer performing this function.

In all existing failure evaluation systems, the effectiveness of the system is a function of the test routine that is preprogrammed into the customer system. These tests rely on the present operational state of the equipment tested and do not have the capability to view the customer system and its

components from a historical, failure history perspective. Prior failure events are typically not recorded or used to diagnose present failures. Therefore, the effectiveness of existing test systems is limited by the availability of timewise limited data.

SOLUTION

The above described problems are solvid and a technical advance achieved in the field by the failure tracking system of the present invention which functions in a machine initiated maintenance environment to provide efficient and timely maintenance of customer systems. The knowledge based system provides the failure evaluation function through the use of an expert or knowledge based system that is installed in the customer system. The knowledge based system makes use of a set of rules and hypotheses to operate on performance and failure data collected from various points within the customer system to monitor the operational integrity of the customer system. This knowledge based system identifies the occurrence of a failure within the customer system and functions using its rules, hypotheses and collected performance and failure data to isolate the source of the error in the customer system and, whenever possible, "fence" or isolate the failed field replaceable unit that has caused the error. > This failure identification process is enhanced by the provision of memory on each field replaceable unit within the customer system. The memory is used to provide installation, performance and failure history data on a field replaceable unit basis. In particular, data is written into the field replaceable unit to identify the content and repair status of the field replaceable unit. Data written into the FRU is also provided to indicate failed operational elements contained on the field replaceable unit as well as prior maintenance activity in which the field replaceable unit was identified as a suspected failed unit. The memory can contain

varying quantities of data indicative of the life history of the field replaceable unit as well as the various environments in which it was operational, including identified failures. The failure evaluation process generates a set of data indicative of the domain node-path of functional elements for each failure that occurs in the customer equipment. A series of retry attempts are executed to attempt to successfully complete the requested operation, and each failed retry itself produces a similar set of data indicative of its associated domain node-path of functional elements. These sets of node-path data are used with the original fault symptom code, which indicates the type of problem observed, to compare the detected failure with the list of open composite failure events, indicative of all known failures in the customer equipment, to identify suspect field replaceable units. The suspect field replaceable units are likely failed units which would cause the detected failure. This process thereby correlates node-path data with associated fault symptom codes and historical failure data to isolate a single most likely failed unit in the customer system, independent of craftsperson intervention. This failure analysis process also accesses data on the field replaceable units to supplement the real time data that is collected to resolve ambiguities in the present operational state of the customer system. This process can also be run in the field replaceable units on a subsystem basis.

BRIEF DESCRIPTION OF THE DRAWING

Figure 1 illustrates the distributed hierarchical machine initiated maintenance system in block diagram form; Figures 2 and 3 illustrate this apparatus in further detail;

Figure 4 illustrates additional details of the isolate field replaceable unit function;

Figure 5 illustrates the topology of the customer equipment;

Figure 6 illustrates a typical format of a failure report;

Figure 7 illustrates the process of generating composite failure events and failure report matching; Figure 8 illustrates the details of a typical composite failure event;

Figure 9 illustrates in block diagram form the processes that read/write data in the failure memory on each field replaceable unit; and Figures 10 and 11 illustrate a neurally based implementation of the maintenance system.

DETAILED DESCRIPTION

Figure 1 illustrates in block diagram form the hierarchical distributed knowledge based machine initiated maintenance system. A plurality of customer equipment 40-42 are illustrated connected to a central maintenance system 1 via corresponding communication links 50-53. Included in each customer equipment 40 or adjunct thereto is a machine initiated maintenance system 10 which functions to communicate with central maintenance system 1 in order to provide instantaneous and efficient error identification reporting and collection as well as collection of operational performance statistics. Each customer equipment 40 can be directly connected to the central maintenance system 1 or, alternatively, a plurality of customer equipment 41, 42 can be connected to a regional maintenance system 30 and a plurality of the regional maintenance systems 30 can be connected to the central maintenance system 1. The maintenance system is hierarchically arranged with local customer equipment 40-42 being serviced by its associated internal maintenance system 10 and a pool of customer equipments 41, 42 and their associated maintenance systems 10 being serviced by a corresponding regional maintenance system 30. A pool of regional maintenance systems 30 are then connected to the central maintenance system 1. The sophistication and complexity of each level of the maintenance system can be selected to correspond to economic factors, such as the installed worth of the equipment that is so maintained. Therefore, the local maintenance system 10 may be of lesser complexity than the regional maintenance system 30 since it must be replicated in each customer equipment 40. The regional maintenance

syste 30 can be of increased complexity since it serves a plurality of customer equipments 41-42 and views the data collected from all of these systems to thereby obtain a broader perspective on error conditions. Similarly, the central maintenance system 1 can be a sophisticated and expensive system since it serves all installed customer equipment 40-42 and supports all the regional maintenance systems 30. The central maintenance system 1 maintains records of all failures that have occurred in all customer equipment 40-42 and can therefore detect failure patterns using this data that are beyond the scope of the ability of the regional 30 or local maintenance systems 10 due to the limited pool of data available to these systems.

Customer Equipment Architecture

Customer equipment 40 is typically constructed of a plurality of field replaceable units (FRU) 70-75, each of which performs a designated, well defined function. Additional elements may be provided in customer equipment 40 that are not field replaceable units, in that a craftsperson can not simply repair or replace these elements. However, for the purpose of simplicity of description, all functional elements contained within customer equipment 40 are designated as field replaceable units whether indeed they can be physically replaced by a craftsperson in the traditional field replaceable unit sense. The physical configuration of the customer equipment 40 is not particularly pertinent to the concept of this invention and the term field replaceable unit should not be construed as any limitation on the operational abilities of the subject system.

Within each customer equipment 40 is a number of

functional detection circuits 20 that monitor the operational status of the field replaceable units (70- 75) contained in customer equipment 40. The functional detection circuits 20 can be part of field replaceable units 70-75 or separate elements and consist of the performance monitoring, error detection, diagnostic and maintenance apparatus that is well known in the art. This apparatus is not disclosed in any further detail for the purpose of simplicity. The hardware and software that comprise functional detection circuits 20 transmit a failure report to local maintenance system 10 whenever the functional detection circuits 20 determine that one or more of the hardware or software components contained within customer equipment 40 has failed.

In order to enhance the effectiveness of the failure report process, the report is formulated to reflect the customer equipment architecture which typically is a plurality of processes which operate over paths that connect nodes. Each path interconnects at least two nodes and may incorporate elements of data transmission, process > control signals, or both. The nodes typically incorporate functions which exist as subsets of physical field replacement units 70-75. It is possible for a node to be contained wholly within a field replaceable unit 70-75, or on a boundary of a field replaceable unit 70-75 interfacing with a path, or as a function which spans elements of more than one field replaceable unit 70-75.

In a manner analogous to the "normalization" of relational data, a composite generalized path may be described as containing all nodes necessary to describe a complete path. Figure 5 illustrates this

concept. A signal travelling from left to right through the circuit in NET 1 passes over a generalized path through the node network consisting of one node A, one node B, one node C, one node D and one node E. A generalized domain, then, is a map which shows a subset of the generalized path. Nodes B, C and D, for example, illustrate a generalized domain subset of the generalized path A, B, C, D, E.

A process, however, uses a very specific path under very specific rules. For instance, if node Cl is a controlling processor which is to obtain a complete generalized path through the equipment, it must arbitrate for or otherwise obtain a node A, then a node B which is physically linked to a node A by a path, then a path to itself, and so on. One specific domain acquired by node Cl, might be Node Al, Node Bl, Node Cl, Node D2, Node E2.

If an operation does not require an entire generalized path, the generalized domain describes the subset of the generalized path that is used. A generalized domain consisting of Nodes A, B, C and D, then, has a specific domain which describes* exactly which node A, B, C and D are in use. One such specific domain might be Node Al, Node Bl, Node Cl and Node Dl.

The specific domain is used to describe any set of resources in use during an operation. If Node Cl detects an error during the operation described above, valuable information is obtained when Node Cl identifies the specific domain consisting of all resources which were in use at the time of the failure, in addition to indicating any symptoms of the failure.

Local Maintenance System Architecture

Local maintenance system 10 includes an internal expert system 11 and an associated database 12 that contains a table of all errors detected by functional detection circuits 20. Also included in maintenance system database 12 is a field replaceable unit dictionary 13. This element defines the field replaceable units 70-75 contained within customer equipment 40 and their interconnection such that this data and the operational diagnostic rules can be used by expert system 11 to diagnose and isolate the system failures to a single failed field replaceable unit 70- 75 in customer equipment 40. Machine initiated maintenance transceiver 15 functions to establish and maintain a data communication connection with the central maintenance system 1 via the associated communication lines 50. Machine initiated maintenance transceiver 15 also provides a link with any other local error reporting systems such as Service Information Message (SIM) system 16 connected to host computer 60.

In operation, the functional detection circuits 20 identify failures that occur within customer equipment 40. The amount of data provided by functional detection circuits 20 is a function of the complexity of this apparatus. Local maintenance system 10 receives the failure report from functional detection circuits 20, and stores this data in database 12 to create a history log of all failures in customer equipment 40. Expert system 11 analyses the failure report received from functional detection circuits 20 using the rules and hypotheses 14 programmed into internal expert system 11. Internal expert system 11 can retrieve additional data from

sensor and data collection points within customer equipment 40 or can activate failure evaluation capabilities contained within customer equipment 40 in order to collect additional data concerning the operational status of customer equipment 40 as well as perform dynamic reconfiguration (fencing) in order to prove or disprove a hypothesis, or remove a field replaceable unit from operation. The rule set 14 contained within internal expert system 11 as well as the field replaceable unit dictionary 13 enable the internal expert system 11 to isolate the source of the detected error to a single or at least a small number of field replaceable units 70-75 contained within customer equipment 40. Additionally, internal expert system 11 assigns a severity level to the detected failure as an indication of the appropriate level of maintenance response for this detected error.

The processing of errors is a function of the severity level assigned to the detected errors. Errors can be simply recorded and the identified failed field replaceable unit monitored or a low level alert generated to indicate to maintenance personnel that a noncritical unit within customer equipment 40 has failed. A communication connection can be established via machine initiated maintenance transceiver 15 to the regional 30 or central maintenance facility 1 to request the immediate dispatch of repair personnel when a critical error has been detected and significantly effects the functioning of customer equipment 40.

A second function performed by internal expert system 11 is the isolation function where the failed field replaceable unit 70 is disabled, or reconfigured, or isolated within customer equipment

40. The exact manner in which this is accomplished is a function of the architecture of customer equipment 40 and the nature of the field replaceable unit 70 that failed. The isolation function can be as simple as preventing the failed field replaceable unit 70 from being accessed by the control elements of customer equipment 40.

Internal Expert System Architecture

Figures 2 and 3 illustrate on a block diagram level the architecture of internal expert system 11. Internal expart system 11 is a special purpose expert system engine, operating in real time, which is tied to a relational/object database 12. Internal expert system 11 includes a facts database which represents the accumulated failure reports, a set of hypotheses (the suspect field replaceable unit list) and an inference engine which includes the rule and procedure execution process. This expert system can learn via recursion and rules modification. This rules database can also be modified from a remote location by either the regional expert system 30 or the central expert system 1. The architecture of the internal expert system 11 illustrated in Figures 2 and 3 consists of two major subportions. Prethreshold processing 201 represents the processes that are operational in internal expert system 11 prior to a fault in the associated customer equipment 40 reaching a level of criticality or a sufficient number of instances to require activation of post threshold processing 202 which represents the isolation, maintenance and recovery portion of internal expert system 11.

In this description the term failure domain is used and this term denotes the boundaries within which

a given failure operates. The failure domain includes a number of aspects: physical, temporal, severity, persistence, threshold, etc. A number of repetitions of a failure may be required before the failure domain can be established with any precision. This threshold can be varied for each different failure symptom or class. It is obtained and modified empirically and shows up in the system as a new or revised object. The failure management process accrues failure information until a clear picture of the failure domain emerges. At that point a transition occurs to permit the embedded expert system process to perform isolation based on information relating to the failure domain. A composite failure event (CFE) is associated with each emerging failure domain and identifies the states that the failure domain has passed through and summarizes what is currently known about the failure domain. The prethreshold processing block 201 performs the composite failure event creation and the data accumulation.

Failure Report structure

A multi-path architecture such as that illustrated in Figure 5 permits a detecting processor to coordinate failure recovery within the same domain, within a partially overlapping domain, or on a totally different domain. The object of failure recovery is to complete the customer process. While doing so it is possible to gain considerable insight into a detected failure. The failure report provides concise summary failure data from the original occurrence as well as information indicative of each recovery step taken during an attempt for customer equipment 40 to recover

from the failure. Included in the failure report is a definition of the failing path and each path attempted or the successful path that was used to overcome the failure. In addition, fault symptom codes are provided for the initial event and subsequent recovery actions. Corresponding information is provided about the operation that was in progress in customer equipment 40 at the time that the failure occurred.

Within the failure domain noted above, the following components are included:

1. Physical Locale: An operation attempting to use a component bounded by the locale will result in the failure.

2. Persistence: Measure of the repeatability of the failure. Low persistence i n d i c a t e s transience.

3. Functional/ A set of functions Operational and/or operations Boundary which result in this failure.

4. Severity: The level of degradation of s y s t e m performance which results from this failure.

5. Detectability: The symptoms by which the failure is identified.

The detecting processor initializes a failure report 600, in which it places initial symptom data 601 and describes the specific domain 602 in operation

at the time of the failure, as illustrated in Figure 6. It then attempts to recover the operation on the same specific domain. Each recovery action increments a count corresponding to that specific domain. This activity establishes the persistence of a failure within the specific domain. If the processor completes the customer operation successfully on the original specific domain, the failure activity is complete and the failure report 600 is sent to the failure management system. If it did not successfully recover within a retry threshold, it allocates a path which is different in some respect from the original failing path and attempts recovery there. The new specific domain 603 is appended to the original failure report 601, 602. A count of the number of attempts is maintained within each specific domain field. The processor continues to vary the specific domain in use until either the operation is successful or the processor determines that recovery options are exhausted and the system cannot recover from the failure. Each specific domain variant is appended to the failure report 600 along with a count of the number of attempts on that specific domain. When either the operation succeeds or the processors give up, the failure activity is complete, and the failure report 600 is sent to the failure management system. It is possible, but not necessary, to indicate observed failure symptom variants with the domain in which they were observed. In this way, the failure report 600 is able to condense many discrete failure detections into a single informative record.

In operation, the functional detection circuits 20 detect a failure within one of field replaceable units 70-75 and produce a failure report 600

indicative of the failure that has been detected. The failure report 600 is input to the detect new failure report process 211 which compares the domain 602 and symptom 601 information of the received failure report 600 with those previously received and those for which a composite failure event has been created.

Composite Failure Event

A composite failure event 701 is formed from a failure report 705 when that failure report 705 describes a failure occurring in a specific domain which has not been observed before. The composite failure event 701 accumulates failure information to form a composite image of events which are occurring within a failure domain, and tracks the failure domain throughout its life cycle. Each composite failure event 701 is given a unique identity which is used to associate all events which may be logged, as illustrated in Figure 7.

When a failure report 705 is received by the failure management system, the initial failure symptom 601 is converted to a generalized domain from domain database system 216 which indicates the paths and nodes on which that failure is typically observed. These observations are the result of collecting and analyzing empirical results within a central expert system environment. Additionally, the failure symptom is associated with a severity threshold,a persistence threshold and a characteristic impact to normal operation, also empirically obtained. It is important to note that the generalized domain 610 for the failure may be different in some particulars from the generalized domain observed during operation. Some correlation will always exist. The threshold 804 and

domain 802, 803 information from the initial detection are retained in the composite failure event 701.

The failure's generalized domain 610 is converted to a "failure specific domain" 802, 703 by using information embedded in the first operational specific domain 601 in the failure report. The failure specific domain 703 is then matched 704 against all failure specific domains 802 located within existing composite failure events 702. If no match is found, a failure has occurred which does not fit into the profiles of other failures which are currently being tracked. A new composite failure event 701 is created to track the new failure specific domain.

Isolation Expert system Figure 8 illustrates the insertion of a failure report into a composite failure event 701. Once the failure specific domain has been matched to a composite failure event specific domain, the persistence count is compared to the persistence threshold 804. If exceeded, the composite failure event 701 is sent to the isolation expert system 301 for isolation. If the persistence threshold is not exceeded, the count of events 805 is incremented to indicate the receipt of a failure report. This count is compared to the severity threshold 804. If exceeded, the composite failure event 701 is sent to the isolation expert system 301 for isolation.

Once the composite failure event 701 has been sent to the isolation expert system 301 for isolation, it is flagged so that the arrival of a subsequent failure event does not cause additional isolation.

Pre Threshold Processing

If a composite failure event has previously been created 702, the detect new failure process 211 transmits data to increment counter 212 to increment the count of failures for this designated composite failure event. The increment counter process 212 retrieves the presently stored accumulated count 805 from CFE database 217 and increments this count by one and updates this information in the CFE database 217. This updated data is then compared by threshold detector process 213 which determines whether the accumulated count of events 805 for this composite failure event has exceeded the accumulation threshold 804 that was assigned to this failure domain when the composite failure event was first created and the failure domain was inserted into the composite failure event. If the threshold is not exceeded, processing terminates. If however the threshold assigned to this particular composite failure event is exceeded, threshold detect process 213 activates threshold controller 215. Threshold controller 215 passes control to post threshold processing 303.

If the received failure report 705 can not be associated with an existing failure 702, process 211 creates a new composite failure event 701. It is accomplished by process 211 activating threshold controller 215 which creates a new composite failure event. This is accomplished by activating process 214 which is the create composite failure event process which retrieves data from the failure domain database 216 in order to create a new composite failure event. The domain data received with the failure report 705 is used to access the domain table in the domain database which supplies threshold and severity data

for the composite failure event.

Post Threshold Processing

Figure 3 illustrates the post threshold process 303 and its interaction with various databases and with the isolate field replaceable unit process 301. The post threshold processing element 303 operates in conjunction with the isolate field replaceable unit element 301 to perform the isolation processing step, including updating the suspect field replacement unit list contained in database 310 and the rule database 309. If the failure presently analyzed is a recursion event, then the detect recursion element 302 determines that this failure is a replication of priorly detected failures and adjusts the suspect FRU list 310 for the composite failure event to eliminate the FRU from consideration whose fencing or replacement caused the recursion flag to be set. This apparatus also executes the rules contained within rule database system 309 to remove as many suspect field replaceable units as possible from the suspect field replaceable unit list contained in the' suspect field replaceable unit list database 310. The rules may invoke diagnostics, examine data, isolate potential failed units, in order to eliminate field replaceable units from the suspect field replaceable unit list. The goal of the process is to focus on a single likely field replaceable unit that is causing the detected failure. A guided field replaceable unit process 307 is included to interface with a craftsperson to manually replace a failed field replaceable unit and test the replacement field replaceable unit installed by the craftsperson in place of the failed unit. The isolation process

executed in element 301 terminates either when there are rules left but no more field replaceable units in the suspect field replaceable unit list or when the rule action is complete.

Isolation Process

Figure 4 illustrates further details of the isolate field replaceable unit process 301. This process sets up the suspect field replaceable unit list using the domain identification from the composite failure event as a key and translates from the generic domain to the specific domain. The suspect field replaceable unit list is reduced by three mechanisms. First, if the composite failure event recursion trigger is set, then a member of the suspect field replaceable unit list that triggers the recursion is removed. Second, the suspect field replaceable unit list is modified by path coincidence, overlaying all paths from a number of failure reports related to this composite failure event identification. Finally, the rule set pertaining to the domain is invoked and allowed to run to completion. Rules continue to execute in process 407 even after exhaustion of the suspect field replaceable unit list since some rules are command oriented and require execution regardless of the suspect field replaceable unit list. After the rule execution is complete in process 407, the results are used to update the suspect field replaceable unit database 310, the composite failure event database 217, the failure report log 308 and the isolation database system 406.

The failure specific domain 802 contained within the composite failure event (fig. 8) indicates all

nodes which can be suspected as a cause of the failure mode represented by the composite failure event. The specific nodes can be placed within the physical field replaceable unit architecture, a process which yields a suspect FRU list 809 (SFL) .

The isolation process seeks to eliminate as many suspect FRUs as possible from the suspect FRU list and rank the remaining members in order of likelihood that they caused the problem. The coincident domain 807 (figure 8) within the composite failure event figures strongly in this analysis, predisposing the results toward those nodes which were involved in the majority (if not all) of failure events. This may be implemented as a logical AND across all operational specific domains, or as a more sophisticated counting system in which each element of the domain is counted for each appearance.

If at any time a member of a SFL is replaced, a recursion flag 810 is set within the composite failure event (figure 8) . If a subsequent failure occurs that falls within the failure specific domain (and hence the composite failure event) , it is immediately apparent that replacement of the field replaceable unit did not resolve the failing condition. The recursion flag forces a new round of isolation to occur on the composite failure event (as described above) after first eliminating the replaced member of the SFL from consideration. The result is a new SFL with a new ranking. When a member of the SFL is replaced the composite failure event is placed in an interim closure state, in addition to setting the recursion flag. This state is maintained for a predetermined length of time which is sufficient to ensure that the

failure has been resolved. At the expiration of the interim closure interval the composite failure event is placed in a closure state, at which time it is logged and eliminated from active comparison with new failure reports.

Human Input

Human input to the expert systems is allowed at any level, since it will be propagated to all levels through system interaction. It occurs in response to Machine Initiated Maintenance events 410.

The MIM event may reveal one or more Suspect FRUs, or no Suspect FRUs at all. The former case requires FRU change interaction; the latter case is known as an Engineering Alert MIM because it typically involves central expert system and engineering resources to assist in problem resolution.

The unique identity of the composite failure event is also contained in the MIM event, and provides a problem reference which is used by the craftsperson when replacing FRUs to resolve the MIM.

Where one or more Suspect FRUs are indicated in the MIM, the craftsperson invokes an interactive dialogue called Guided FRU Replacement 307, or GFR. The craftsperson uses GFR 307 to select the composite failure event identity for which the MIM was sent, and selects the FRU to be replaced from the SFL that is continued in the composite failure event. GFR 307 in turn initiates fencing at the required level so that the FRU can be replaced without removing subsystem power, and encourages the craftsperson to proceed with the replacement. GFR confirms the replacement and invokes a series of validation diagnostics which test the FRU in isolation. On successful completion, GFR

places the FRU in a closely-monitored functional operation with the craftsperson present. Following this, GFR sets the recursion flag (810) in the composite failure event, and alters the state (806) of the composite failure event to reflect an initial closure of the event.

All diagnostic and FRU change information is captured in the failure report log 308, which also contains the underlying failure reports. As with the failure reports, diagnostic and FRU change information are keyed with the composite failure event's unique identity. This permits internal or external reconstruction of the problem.

In some cases, however, the local expert system 11 is unable to identify the cause of the problem with any certainty: that occurs, for instance, when there are no suspect FRU list members. This can result from an incorrect diagnosis, faulty FRU replacement technique on the part of the craftsperson, a class of customer replaceable unit defect which permeates a population of a given FRU, or from certain software defects. In all of these cases, the isolation engine 301 is unable to arrive at an SFL and dispatches an Engineering Alert MIM. The Engineering Alert MIM is directed to the MIM Receiver (61) , which reviews the information received from the local expert system 11 and validates its rule set based on current universal knowledge. If the technical expert system 63 is aware of a recent solution (such as a software release which fixed a defect) , it propagates that information downwards. Otherwise it alerts central engineering expertise that human assistance is required. In this way engineering resources may be concentrated on the class of problems

that are new or out of the scope of accumulated expertise. Technical expert system (63) also suggests courses of action based on problem sources which are known to be excluded or non-contributing to a problem. When the problem resolution is discovered it is conveyed in the form of new rules and hypotheses to the technical expert system 63 by the engineer. All subordinate systems which are afflicted with the failure are scheduled by the central system to receive the resolution.

An additional level of analysis is provided by the corporate expert system (62) . It evaluates failure trends and FRU reliability. It applies the same method of composite failure event creation and isolation to evaluate failure within FRUs, at the component level. It evaluates across the broad spectrum of available failure information, using more explicit domain information to trace paths within FRUs. It matches its predictions against results obtained by post-mortem examination of returned FRUs, and issues an alert when a component exceeds reliability standards. The system may discriminate among those component failures which are universal to the component and those component failures which appear only in certain applications.

Human interaction with this system is provided at a level analogous to GFR, in which the system guides the reliability engineer in his evaluation of a failed FRU, and the reliability engineer responds with his observations.

Field Replaceable Unit Internal Log

In addition to the expert system based machine initiated maintenance system described above, each

field replaceable unit 70-75 in the customer system 40 includes an internal log 900 illustrated in Figure 9. This internal log 900 contains a collection of data that is relevant to the specific field replaceable unit 70, the operating environment of the customer system 40 as well as field replaceable unit historical, diagnostic, performance and repair data. The following tables illustrate examples of some of the data that would typically be stored in internal log 900 for a customer equipment 40 that is a printer system. In addition. Figure 9 illustrates the operational steps taken by customer system 40 as well as other systems which populate internal log 900 with the data that is illustrated in the tables. In particular, the lefthand side of Figure 9 illustrates various events that take place in the life of field replaceable unit 70. Each of these events is connected with various processes or actions illustrated to the right thereof on Figure 9, which processes generate new data or read data from internal log 900.

Configuration Data

The first table illustrated below, Table A, consists of configuration data that update internal database process 911 loads into internal log 900 upon the initial installation of the field replaceable unit

70 in customer system 40.

TABLE A

Machine serial # Print Engine serial #

Printer model number

Printer Family Code

Power type AC]

Machine CEI # MML ship level 01]

Site Location # [**********]

Machine page count # [00000000]

Unit address Ch A [01]

Unit address Ch B [02] ICU fc rls [t0201]

ICU prom rls [*****]

SIGS fc rls [*****]

SIGS prom rls [*****]

PCL prom rls [*****] Operators panel fc [*****]

Operators panel prom *****]

This configuration data includes the serial number of both the customer system 40, the print engine (not shown) as well as model number of the customer equipment 40 (printer) . This configuration data can include the site location at which the customer system 40 is installed, the address of the field replaceable unit 70 internal to the customer equipment 40 as well as release versions of various significant elements contained within the customer equipment 40 in order to track the various software systems and hardware systems that are running within the customer system 40 in conjunction with the field replaceable unit 70. Table B illustrates additional typical data that is stored in internal log 900.

TABLE B

PCA name: [ **********]

PCA part #: r**********]

PCA art level: [********** PCA serial .. : r***************]

Code release level [*****]

Prom release level [*****]

PCA power on hrs. [*****]

PCA failure message: [********************************]

Machine serial #: [**********] Print engine serial #: [********** Date/Time of error: [*************] hrs Machine page count: [**********] System failure message: r********************************]

System diag message:

[********************************]

CPU + 12 Volts [BAD]

CPU - 12 Volts [BAD]

HIC 5 Volts [BAD] EPO 24 Volts [BAD]

ICU Airflow [NO ]

Engine Airflow [NO ]

Some of this data is performance and diagnostic data that is continually updated by the customer system 40, such as the power on hours, the release levels of both the software on the field replaceable unit 70 and the hardware, such as the programmable read only memory that is part of the field replaceable unit 70.

Failure Analysis When a failure occurs in the customer system 40, the failure event 901 triggers the data collection process in the machine initiated maintenance system as described above. A portion of this data is used by the update internal database process 911 to store data in internal log 900. This initial data would constitute preliminary information such as the system failure report and the date and time of day of the failure event that triggered this action. As noted above, the expert system 11 proceeds with a failure determination at step 902 to diagnose the failure and identify a particular field replaceable unit 70 that is the likely candidate as the failed field replaceable unit that caused the failure event. The various diagnostic subroutines illustrated above are generically characterized in Figure 9 as process 921, which process produces the diagnostic message which is transmitted to internal log 900 for recordation therein as well as to event 903 which is the field replacement action determination described above. As

noted previously, if the failure detected by the expert system 11 does not significantly impact on the performance of the customer equipment 40, immediate repair is not requested and the failed element is simply fenced out of the system operation and the error logged for future repair.

If the failure event is service affecting, the dispatch of a craftsperson is requested. At step 904, a field replacement action takes place such as. the craftsperson repairing or replacing a failed unit. The results of this craftsperson action causes the expert system 11 (as described above and as characterized on Figure 9 as process 941) to update the internal log 900 of the field replaceable unit 70 to note what steps were taken to correct the failure which triggered the initial failure event 901. In addition, this field replacement action is stored in the expert system database 12 as well as the corporate database 62 as described above. If an internal part has been replaced on the field replaceable unit 70, this specific activity is typically reflected by a craftsperson input such that process 941 reflects that a new part has been installed on the field replaceable unit 70 and such data is stored in the internal log 900 to reflect a change in the configuration of the field replaceable unit 70 from its initially manufactured configuration. In the event that the field replaceable unit 70 can not be repaired in place, then the field replaceable unit 70 is removed from the customer equipment 40 and transmitted by the craftsperson to repair depot where, at process step 905, a depot repair activity is initiated. At the repair depot, the test equipment contained therein can unload the data that is stored in internal log 900 on

the field replaceable unit 70 into repair process 951 which analyzes the data stored in the internal log 900 indicative of the failure event and the diagnostic activity that took place within the customer equipment 40 as well as the craftsperson action that caused the field replaceable unit 70 to be returned to the depot for repair. The depot repair processor, using process 951, and process 952 analyze the field replaceable unit 70 to determine whether this particular field replaceable unit 70 is too aged to be repaired, in that it has reached the end of its useful life, as noted by the power on hours stored in the internal log 900. Similarly, the failed part database 955 is accessed by the repair processor to determine whether the failed parts on the field replaceable unit 70 are available or whether repair of the field replaceable unit is at all warranted. If the repair is a minor one and can be implemented at the depot, the repair is initiated and the information regarding the repair is recorded in the internal log 900 of the field replaceable unit 70 in order to enable future customer equipments 41, 42 and repair processors to track the repair history of this particular field replaceable unit 70. If, at this juncture, the repair necessary to correct the failure on this field replaceable unit 70 is of sufficient complexity that the field replaceable unit 70 must be transmitted to the factory for repairs, the FRU is transshipped to the factory so that factory repair can be initiated at step 906. Many of the processes noted for the depot repair are repeated at the factory repair but typically with greater sophistication and in an environment that provides significantly increased resources. Any repairs initiated on the field replaceable unit 70 are

noted in the internal log 900 of the field replaceable unit 70 as well as a factory repair database 964 which tracks the types of failures that are repaired in the factory in order to obtain data relevant to detecting failure modes that are prevalent within field replaceable units.

Therefore, it can be seen that the internal log 900 of the field replaceable unit 70 carries with it data relating to the manufacturer, configuration, installed life and environment in which the field replaceable unit 70 historically has operated. In addition, the internal log 900 records any repair and diagnostic activity that takes place on the field replaceable unit 70. All of this data in conjunction with failure events recorded in the internal log 900 provide the repair depot or the factory repair environments with a significant amount of information relating to this particular field replaceable unit 70 for repair purposes. Furthermore, by providing this level of detail for each field replaceable unit 70-75, trends or failure modes not previously known can be detected,and become part of the expert system 11 that is installed in the customer equipment 40 in order to spot future failures of similar field replaceable units 70-75.

Neural Network Based Maintenance System

As an alternative to the expert system 11 to implement the failure analysis portion of the machine initiated maintenance system disclosed above, a neural network decision making system can be used. Figures 10 and 11 illustrate one such embodiment that is applicable to the present invention. In Figure 10, a plurality of circuit boards 1001 - 1003 are

illustrated as being the circuit boards typically contained within customer system 40. A first of these circuit boards 1001 represents a neural based expert system which utilizes input data obtained from the remainder of the customer system 40 in order to identify failed field replaceable units in a manner analogous to that described above. The neural based expert system 1001 produces output data that is applied to signal leads 1006 which can be transmitted to the central database 1004. This data includes failure data indicative of the failure that has been detected within customer system 40, action data indicative of the steps taken by the machine initiated maintenance system to isolate the failure and the identity of the most likely failed field replaceable unit, as well as a correctness indicator which represents data from the neural based expert system 1001 regarding the level of confidence associated with the failure data and action data transmitted concurrently therewith. The database 1004 includes a learning algorithm 1005 which reviews the data received 'from the neural based expert system 1001 to determine whether the analysis performed therein is accurate. The central database 1004, as noted above, has the advantage of obtaining data from a plurality of sources, including input from design engineers, in order to improve the failure detection and analysis process that is resident thereon. The learning algorithm 1005 provides updates to the neural network definition via lead 1007 to the neural based expert system 1001. These network definition updates represent modifications or additions to the neural network that is programmed in the neural based expert system 1001.

Figure 11 illustrates in schematic form the architecture of a neural based expert system such as that embodied in element 1001 on Figure 10. As is well known in the technology, a neural network consists of a plurality of nodes 1101 - 1112 each of which receives at least one input and produces at least one output in response thereto. The nodes and nodal interconnections are programmable in order to perform a predefined logical function. In the neural based expert system 1001 illustrated in Figure 11, a plurality of inputs 1120 carry signals received from various sensors or indicators within customer system 40. These inputs represent system status information, performance data, alarms or interrupts from other circuits contained within customer system 40. These inputs are provided to a first set of nodes 1101 - 1104, each of which uses a corresponding one or more of these input signals on leads 1120 to produce a plurality of outputs which are applied to a second set of nodes 1105 - 1109. The second set of nodes performs an analysis function using the signals output by the first set of nodes 1101 - 1104 in order to detect patterns in the input signals on leads 1120 that are indicative of a field replaceable unit failure. The patterns detected by the second set of nodes 1105 - 1109 are typically forwarded to a third set of nodes 1110 - 1112 to perform a further failure analysis to identify a specific failed field replaceable unit. The outputs from this third set of nodes 1110 - 1112 represent data indicative of a single failed field replaceable unit as determined by the neural network consisting of nodes 1101 - 1112. It is obvious that the number of nodes and the number of sets of nodes contained in a neural based expert

system 1001 is a function of the complexity of customer system 40, the number of field replaceable units 70 contained therein and the number of possible failure modes that each failed field replaceable unit is subject to. As noted above, as additional failure modes are identified or field replaceable unit interactions noted, the learning system 1005 transmits updates to the neural network definition to the neural based expert system 1001 in order to reprogram the nodal configuration as illustrated in Figure 11.

This neural network implementation of the failed field replaceable unit identification process represents only one component part of the expert system 1001. Additional components contained therein would identify, as noted above, the failure data that initiated the maintenance activity. This failure identification can be a transmission of the signals contained on input leads 1120, or a condensed version thereof, to the central expert system 1004. Furthermore, additional nodes can be included in the neural network to indicate a confidence level in the failed field replaceable unit indication produced on signal leads 1121. This confidence data can be a result of a number of factors, including the number of failed field replaceable units identified, known ambiguous combinations of input data and other factors programmed into the neural network. It is evident that the neural network implementation of expert system 11 can be used to provide the determinations noted above with respect to the neural based expert system, such as failure severity, failure persistence, etc. Furthermore, the power on and usage data collected in the memory element can be compared to statistical failure data stored therein to identify

the next likely time of occurrence of a failure on the field replaceable unit. The statistical failure data can be on a field replaceable unit basis or on an operational element basis to enable the field replaceable unit itself to predict its future failures.

While a specific embodiment of this invention has been disclosed, it is expected that those skilled in the art can and will design alternate embodiments of this invention that fall within the scope of the appended claims.