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&#39;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&#39;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 solved 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, &#34;fence&#34; 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 
     FIG. 1 illustrates the distributed hierarchical machine initiated maintenance system in block diagram form; 
     FIGS. 2 and 3 illustrate this apparatus in further detail; 
     FIG. 4 illustrates additional details of the isolate field replaceable unit function; 
     FIG. 5 illustrates the topology of the customer equipment; 
     FIG. 6 illustrates a typical format of a failure report; 
     FIG. 7 illustrates the process of generating composite failure events and failure report matching; 
     FIG. 8 illustrates the details of a typical composite failure event; 
     FIG. 9 illustrates in block diagram form the processes that read/write data in the failure memory on each field replaceable unit; and 
     FIGS. 10 and 11 illustrate a neurally based implementation of the maintenance system. 
    
    
     DETAILED DESCRIPTION 
     FIG. 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 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 equipment 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 system 30 can be of increased complexity since it serves a plurality of customer equipment 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 &#34;normalization&#34; of relational data, a composite generalized path may be described as containing all nodes necessary to describe a complete path. FIG. 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 C1, might be Node Al, Node B1, Node C1, 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 A1, Node B1, Node C1 and Node D1. 
     The specific domain is used to describe any set of resources in use during an operation. If Node C1 detects an error during the operation described above, valuable information is obtained when Node C1 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 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 
     FIGS. 2 and 3 illustrate on a block diagram level the architecture of internal expert system 11. Internal expert 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 FIGS. 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 FIG. 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                                       
                        indicates                                         
                        transience.                                       
3.      Functional/     A set of functions                                
        Operational     and/or operations                                 
        Boundary        which result in                                   
                        this failure.                                     
4.      Severity:       The level of                                      
                        degradation of                                    
                        system                                            
                        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 FIG. 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 812 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 FIG. 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&#39;s generalized domain 610 is converted to a &#34;failure specific domain&#34; 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 
     FIG. 8 illustrates the insertion of a failure report into a composite failure event 801. Once the failure specific domain has been matched to a composite failure event specific domain, the persistence count 812 is compared to the persistence threshold 804. If exceeded, the composite failure event 801 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 801 is sent to the isolation expert system 301 for isolation. 
     Once the composite failure event 801 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 
     FIG. 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 405 also executes the rules 407 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 408, 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 304 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 
     FIG. 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 405 and allowed to run 407 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 (FIG. 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 813 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 814, a recursion flag 810 is set within the composite failure event (FIG. 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 304 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 409 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 814 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&#39;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 90 illustrated in FIG. 9. This internal log 90 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 90 for a customer equipment 40 that is a printer system. In addition, FIG. 9 illustrates the operational steps taken by customer system 40 as well as other systems which populate internal log 90 with the data that is illustrated in the tables. In particular, the lefthand side of FIG. 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 FIG. 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 90 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 90. 
     
                       TABLE B                                                     
______________________________________                                    
PCA name:           [**********]                                          
PCA part #:         [**********]                                          
PCA art level:      [**********]                                          
PCA serial #:       [***************]                                     
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:                                                   
[********************************]                                        
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 90. 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 FIG. 9 as process 921, which process produces the diagnostic message which is transmitted to internal log 90 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 FIG. 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 FRU list 306 in 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 950 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 90 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 951, 952 noted for the depot repair are repeated at the factory repair as 961, 962 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 90 of the field replaceable unit 70 as well as a factory repair database 960 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 90 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 90 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. FIGS. 10 and 11 illustrate one such embodiment that is applicable to the present invention. In FIG. 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. 
     FIG. 11 illustrates in schematic form the architecture of a neural based expert system such as that embodied in element 1001 on FIG. 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 FIG. 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 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 FIG. 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.