Patent Number: 
Section: claims

1. A method for diagnosing a failure in a computer system, comprising:testing the computer system using a sequence of tests, wherein a given test includes a given load associated with a pre-determined failure mechanism for a given failure condition;obtaining results during the given test, wherein the results include telemetry signals that are monitored within the computer system; andif the results indicate the given failure condition, ceasing the testing and indicating that the computer system has the given failure condition, and otherwise continuing the sequence of tests until the sequence is completed, at which point, if no fault has been detected, indicating that a no-trouble-found (NTF) condition exists;wherein the sequence of tests includes one or more stress tests, and wherein after the one or more stress tests, the method further comprises applying one or more sinusoidal perturbations in computer-load or physical variables to the computer system to obtain a dynamic input-output characterization of the computer system in the frequency domain. 2. The method of claim 1, wherein the given load includes an application. 3. The method of claim 2, wherein the application is configured to stress a portion of the computer system. 4. The method of claim 3, wherein the portion of the computer system includes one or more of the following: a processor, memory, an application-specific integrated circuit, an input/output interface, or a disk drive. 5. The method of claim 1, wherein different sequences of tests are used for different types of computer systems. 6. The method of claim 1, wherein the telemetry signals include information associated with thermal dynamics of the computer system. 7. The method of claim 1, wherein the telemetry signals include temperature samples measured at different locations in the computer system. 8. The method of claim 1, wherein an order of the sequence of tests is selected to increase a probability of inducing the given failure condition in a given time interval. 9. The method of claim 1, further comprising determining if the computer system successfully powers up prior to performing the sequence of tests. 10. The method of claim 9, wherein, after determining that the computer system powers up, the sequence of tests includes one or more stress tests. 11. The method of claim 10, wherein, after the one or more stress tests, the sequence of tests includes applying the one or more sinusoidal perturbations in computer-load or physical variables to the computer system. 12. The method of claim 11, wherein, after applying the one or more sinusoidal perturbations, the sequence of tests includes determining an effect of temperature variation in the computer system. 13. The method of claim 12, wherein the temperature variation is induced by varying a flow of a coolant through the computer system while the computer system is operating. 14. The method of claim 12, wherein, after applying the one or more sinusoidal perturbations, the sequence of tests includes comparing a characteristic of the computer system with a pre-determined value associated with a computer-system type to which the computer system belongs; andwherein the pre-determined value is associated with the absence of the given failure condition. 15. The method of claim 14, wherein, after applying the one or more sinusoidal perturbations and determining the effect of temperature variation in the computer system, the method further includes analyzing telemetry signals obtained during these tests to determine one or more frequencies in the frequency domain that are associated with one or more temperature signals. 16. The method of claim 15, wherein the presence of the given failure condition is determined based on the one or more frequencies. 17. The method of claim 15, wherein, after analyzing the telemetry signals, the sequence of tests includes characterizing vibrations of the computer system based on vibrations internal to the computer system. 18. The method of claim 17, wherein the vibrations are inferred from throughput to one or more disk drives in the computer system. 19. A computer-program product for use in conjunction with a computer system, the computer program product comprising a computer-readable storage medium and a computer-program mechanism embedded therein for diagnosing a failure in a computer system, the computer-program mechanism including:instructions for testing the computer system using a sequence of tests, wherein a given test includes a given load associated with a pre-determined failure mechanism for a given failure condition;instructions for obtaining results during the given test, wherein the results include telemetry signals that are monitored within the computer system; andif the results indicate the given failure condition, instructions for ceasing the testing and indicating that the computer system has the given failure condition, and otherwise instructions for continuing the sequence of tests until the sequence is completed, at which point, if no fault has been detected, instructions for indicating that a no-trouble-found (NTF) condition exists;wherein the sequence of tests includes one or more stress tests, and wherein the instructions for testing the computer system include instructions for applying, after the one or more stress tests, one or more sinusoidal perturbations in computer-load or physical variables to the computer system to obtain a dynamic input-output characterization of the computer system in the frequency domain. 20. An apparatus, comprising:a processor;memory; anda program module, wherein the program module is stored in the memory and configured to be executed by the processor, the program module for diagnosing a failure in a computer system, wherein the program module includes:instructions for testing the computer system using a sequence of tests, wherein a given test includes a given load that characterizes a pre-determined failure mechanism for a given failure condition;instructions for obtaining results during the given test, wherein the results include telemetry signals that are monitored within the computer system; andif the results indicate the given failure condition, instructions for ceasing the testing and indicating that the computer system has the given failure condition, and otherwise instructions for continuing the sequence of tests until the sequence is completed, at which point, if no fault has been detected instructions for indicating that a no-trouble-found (NTF) condition exists;wherein the sequence of tests includes one or more stress tests, and wherein the instructions for testing the computer system include instructions for applying, after the one or more stress tests, one or more sinusoidal perturbations in computer-load or physical variables to the computer system to obtain a dynamic input-output characterization of the computer system in the frequency domain.