Apparatus and method to repair an error condition in a device comprising a computer readable medium comprising computer readable code

An apparatus and method are disclosed to detect and repair an error condition in a device comprising a computer readable medium comprising computer readable code. The method supplies an engineering server comprising a configuration control database in communication with a product failure alert assembly. The method then interconnects the product failure alert assembly with a product comprising a computer readable medium comprising computer readable code. The method provides product failure information to the engineering server, identifies one or more error conditions, identifies one or more fault symptom codes, determines if the configuration control database comprises one or more code updates associated with those one or more fault symptom codes, and installs those one or more code updates on the product.

FIELD OF THE INVENTION

This invention relates to an apparatus and method to repair an error condition in a device comprising a computer readable medium comprising computer readable code.

BACKGROUND OF THE INVENTION

As a general matter, computing devices comprise a computer readable medium comprising computer readable code disposed therein. Such computing device can from time to time exhibit an error condition. Mitigation of that error condition oftentimes requires a code update and/or code repair.

SUMMARY OF THE INVENTION

What is needed is an apparatus and method to provide automated repair and billing for the repair of such a computing device. What is also needed is an apparatus and method that reduces the amount of time a product application engineer allocates to solving known error conditions by installing known code updates and/or code repairs.

Applicants' invention comprises an apparatus and method to repair an error condition in a device comprising a computer readable medium comprising computer readable code. Applicants' method may be used to test, qualify and repair, a computing device during manufacture. In addition, Applicants' method may be used by a manufacturer to offer extended warranty services to purchasers. Moreover, Applicants' method may be used by a maintenance and repair facility to offer repair services to customers.

Applicants' method supplies an engineering server in communication with a configuration control database, and a product failure alert assembly, where that product failure alert assembly is in communication with the engineering server. The method then interconnects the product failure alert assembly with a product comprising a computer readable medium comprising computer readable code.

In the event Applicants' product failure alert assembly detects an error condition in the product, the method provides product failure information to the engineering server, identifies one or more error conditions using that product failure information, identifies one or more fault symptom codes associated with those one or more error conditions, determines if the configuration control database comprises one or more code updates associated with those one or more fault symptom codes. If Applicants' method determines that the configuration control database comprises one or more code updates associated with the one or more fault symptom codes, then the method provides the one or more code updates to Applicants' product failure alert assembly, and installs those one or more code updates on the product.

DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

Applicants' invention comprises a method to identify and repair one or more error conditions in a device comprising a computer readable medium comprising computer readable code.FIG. 1shows the elements of Applicants' product failure alert system100. In the illustrated embodiment ofFIG. 1, product110comprises a computing device product comprising a computer readable medium112comprising computer readable code114. In certain embodiments, product110is disposed in a manufacturing facility and is being tested as part of the manufacturing Quality Assurance/Quality Control (“QA/QC”) protocol. In certain embodiments, product110has been sold, and is being used by a purchaser.

Product110is interconnected via I/O interface115with product failure alert assembly120. In the illustrated embodiment ofFIG. 1, product failure alert assembly120comprises memory122, microcode124written to memory122, and a processor126. Processor126utilizes microcode124to operate product failure alert assembly120.

Product failure alert assembly120is in communication with engineering server130via I/O interface125. I/O interfaces115and125may comprise any data input/output (“I/O”) hardware, software, firmware, and/or protocol, such as and without limitation Small Computer Systems Interface (“SCSI”) protocol running over a Fibre Channel (“FC”) physical layer, Infiniband, Ethernet, Internet SCSI (“iSCSI”), a Bluetooth wireless communication protocol, a radio frequency identification (“RFID”) wireless communication protocol, and the like.

Engineering server130comprises database/lookup table132. As a general matter, engineering server130comprises a computing device such as a mainframe computer, personal computer, workstation, and combinations thereof, including an operating system such as Windows, AIX, Unix, MVS, LINUX, etc. (Windows is a registered trademark of Microsoft Corporation; AIX is a registered trademark and MVS is a trademark of IBM Corporation; UNIX is a registered trademark in the United States and other countries licensed exclusively through The Open Group; and LINUX is a registered trademark of Linus Torvald).

In the illustrated embodiment ofFIG. 1, engineering server130is in communication with configuration control database140via I/O interface145. I/O interfaces115and125may comprise any data input/output (“I/O”) hardware, software, firmware, and/or protocol, such as and without limitation Small Computer Systems Interface (“SCSI”) protocol running over a Fibre Channel (“FC”) physical layer, Infiniband, Ethernet, Internet SCSI (“iSCSI”), and the like.

In certain embodiments, configuration control database140is integral with engineering server130. In certain of these embodiments, database/lookup table132comprises a portion of configuration control database140. In other embodiments, configuration control database140is external to engineering server130. In these external embodiments, configuration control database140is disposed in second computing device, wherein that second computing device communicates with engineering server130via I/O interface145. I/O interface145may comprise any data input/output (“I/O”) hardware, software, firmware, and/or protocol, such as and without limitation Small Computer Systems Interface (“SCSI”) protocol running over a Fibre Channel (“FC”) physical layer, Infiniband, Ethernet, Internet SCSI (“iSCSI”), and the like.

Engineering server130is in communication with a product application engineer150via I/O interface155. In certain embodiments, product application engineer150communicates with engineering server130via a third computing device, wherein that third computing device is interconnected with engineering server130via I/O interface155. I/O interface155may comprise any data input/output (“I/O”) hardware, software, firmware, and/or protocol, such as and without limitation Small Computer Systems Interface (“SCSI”) protocol running over a Fibre Channel (“FC”) physical layer, Infiniband, Ethernet, Internet SCSI (“iSCSI”), and the like.

In certain embodiments, product110and Applicants' product failure alert assembly120are disposed at a first location. Applicants' engineering server is disposed at a second location, where that second location differs from the first location. Applicants' configuration control database140is disposed at a third location, where that third location differs from both the second location and the first location. Product application engineer150is disposed at a fourth location, where that fourth location differs from each of the third location, the second location, and the first location. By “location,” Applicants' mean a structure such as for example a manufacturing plant, a warehouse, an office, and the like.

FIGS. 2 and 3summarize the steps of Applicants' method. Applicants' method may be used to test, qualify, and/or repair, a computing device during manufacture. In addition, Applicants' method may be used by a manufacturer to offer extended warranty services to purchasers. Moreover, Applicants' method may be used by a maintenance and repair facility to offer repair services to customers.

Referring now toFIG. 2, in step210Applicants' method supplies a product failure alert assembly, such as Applicants' product failure alert assembly120(FIG. 1), wherein that product failure alert assembly is in communication with an engineering server, such as for example and without limitation Applicants' engineering server130(FIG. 1), wherein that engineering server is in communication with a configuration control database, such as Applicants' configuration control database140(FIG. 1).

In step220, Applicants' method provides a product comprising a computer readable medium comprising computer readable code, and interconnects and enables communication between the product failure alert assembly of step210and the product.

In certain embodiments, the product of step220is disposed in a manufacturing facility and is being tested as part of the manufacturing Quality Assurance/Quality Control (“QA/QC”) protocol. In other embodiments, the product of step210has been sold, and is being used by a purchaser.

In certain embodiments, the product manufacturer owns and/or operates the product failure alert assembly of step210, and/or the engineering server of step210, and/or the configuration control database of step210. In other embodiments, a product service and maintenance facility other than the product manufacturer owns and/or operates the product failure alert assembly of step210, and/or the engineering server of step210, and/or the configuration control database of step210. In certain embodiments, the product manufacturer and/or product service and maintenance facility charges the customer a first fee for performing step220.

In step230, the product failure alert assembly of step210continuously monitors the status of the interconnected product. If that product failure alert assembly detects an error condition, then Applicants' method transitions from step230to step240wherein the product failure alert assembly provides product failure information to the engineering server of step210. In certain embodiments, the product manufacturer and/or product service and maintenance facility charges the customer a second fee for performing step240.

In step250, Applicants' engineering server130, using database/lookup table132(FIG. 1), identifies one or more error conditions associated with the product failure information. In step260, Applicants' engineering server130(FIG. 1), using database/lookup table132(FIG. 1), identifies one or more fault symptom codes associated with the one or more error conditions of step250.

In step270, Applicants' engineering server130(FIG. 1) searches the configuration control database of step210for one or more code updates and/or code repairs (collectively “code updates”) associated with the one or more one or more fault symptom codes of step260. Applicants' method transitions from step270to step310(FIG. 3).

Referring now toFIG. 3, in step310Applicants' engineering server130(FIG. 1) determines if the configuration control database comprises one or more code updates associated with the one or more one or more fault symptom codes of step260. If Applicants' method determines in step310that the configuration control database comprises one or more code updates associated with the one or more one or more fault symptom codes, then the method transitions from step310to step340wherein Applicants' engineering server130(FIG. 1) provides those one or more code updates to the product failure alert assembly of step210. In certain embodiments, the product manufacturer and/or product service and maintenance facility charges the customer a third fee for performing step340.

Applicants' method transitions from step340to step350wherein Applicants' product failure alert assembly120installs the code update(s) on the interconnected product. In step360, Applicants' method determines if the product continues to generate one or more error conditions. In certain embodiments, step360comprises running by processor126(FIG. 1) one or more test algorithms128stored in memory124(FIG. 1) of product failure alert assembly120(FIG. 1). Based upon the results of executing those one or more test algorithms, Applicants' product failure alert assembly120(FIG. 1) determines if the product continues to generate one or more error conditions.

If Applicants' method determines in step360that the installed code updates eliminated the error conditions previously identified, then Applicants' method transitions from step360to step370and ends. Alternatively, if Applicants' method determines in step360that the installed code updates did not eliminate the error conditions previously identified, then Applicants' method transitions from step360to step240(FIG. 2) and continues as described herein.

If Applicants' method determines in step310that the configuration database does not comprise one or more code updates associated with the one or more one or more fault symptom codes, then the method transitions from step310to step320wherein Applicants' engineering server provides the one or more error conditions of step250(FIG. 2) and the one or more fault symptom codes of step260(FIG. 2), to a product application engineer for review. In certain embodiments, the product manufacturer and/or product service and maintenance facility charges the customer a fourth fee for performing step320.

Applicants' method transitions from step320to step330wherein the product application engineer generates one or more code updates and/or code repairs to mitigate the one or more error conditions of step250(FIG. 2) and the one or more fault symptom codes of step260(FIG. 2). In certain embodiments, the product manufacturer and/or product service and maintenance facility charges the customer a fifth fee for performing step330.

Applicants' method transitions from step330to step340wherein Applicants' method provides the one or more code updates and/or one or more code repairs of step330to Applicants' product failure alert assembly120(FIG. 1). Applicants' method transitions from step340to step350and continues as described herein.