1460938207-1a9a059d-90c6-4473-a1c7-50116cf4b4b4

1. A method for using a multi-variate pattern-recognition technique to trigger software rejuvenation for a computer system, comprising:
periodically measuring values for a target set of performance parameters associated with the computer system while the computer system is operating;
predicting values for the target set of performance parameters based upon previously determined correlations between performance parameters in the target set of performance parameters, wherein predicting a value for a given performance parameter involves predicting the value from measured values of other performance parameters that are correlated with the given performance parameter;
computing residuals for the target set of performance parameters by computing differences between the predicted values and the measured values for the target set of performance parameters; and
if one or more of the computed residuals exceed a predetermined threshold, thereby indicating that software aging is likely to have occurred, scheduling a software rejuvenation operation for the computer system.
2. The method of claim 1, further comprising determining correlations between parameters in the target set of performance parameters based on measurements of the target set of performance parameters gathered during a training mode;
wherein the training mode takes place during normal error-free operation of the computer system.
3. The method of claim 1, further comprising pre-filtering a larger set of performance parameters to identify the target set of performance parameters;
wherein the pre-filtering operation eliminates redundant andor poorly correlated performance parameters from the larger set of performance parameters to produce the target set of performance parameters.
4. The method of claim 3, wherein the pre-filtering operation determines correlations between performance parameters based on measurements of the larger set of performance parameters gathered during a training mode.
5. The method of claim 1, wherein scheduling the software rejuvenation operation involves sequencing the software rejuvenation operation in a way that minimizes a specific cost function of the software rejuvenation operation.
6. The method of claim 1, wherein the software rejuvenation operation involves at least one of:
flushing stale locks;
reinitializing application components;
defragmenting memory;
purging database shared memory pool latches;
failing over between computing nodes;
shutting down individual applications;
preemptively rolling back; and
performing a therapeutic reboot.
7. The method of claim 1, wherein the target set of performance parameters includes at least one of:
system throughput parameters;
processor load;
system queue lengths;
transaction latency; and
an amount of available memory.
8. The method of claim 1, wherein the tasks of predicting values for the target set of performance parameters and scheduling the software rejuvenation operation are performed by a service processor that is co-located with other processors in the computer system.
9. The method of claim 1, wherein the tasks of predicting values for the target set of performance parameters and scheduling the software rejuvenation operation are performed by a remote service center that communicates with the computer system across a network.
10. A computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method for using a multi-variate pattern-recognition technique to trigger software rejuvenation for a computer system, the method comprising:
periodically measuring values for a target set of performance parameters associated with the computer system while the computer system is operating;
predicting values for the target set of performance parameters based upon previously determined correlations between performance parameters in the target set of performance parameters, wherein predicting a value for a given performance parameter involves predicting the value from measured values of other performance parameters that are correlated with the given performance parameter;
computing residuals for the target set of performance parameters by computing differences between the predicted values and the measured values for the target set of performance parameters; and
if one or more of the computed residuals exceed a predetermined threshold, thereby indicating that software aging is likely to have occurred, scheduling a software rejuvenation operation for the computer system.
11. The computer-readable storage medium of claim 10, wherein the method further comprises determining correlations between parameters in the target set of performance parameters based on measurements of the target set of performance parameters gathered during a training mode;
wherein the training mode takes place during normal error-free operation of the computer system.
12. The computer-readable storage medium of claim 10, wherein the method further comprises pre-filtering a larger set of performance parameters to identify the target set of performance parameters;
wherein the pre-filtering operation eliminates redundant andor poorly correlated performance parameters from the larger set of performance parameters to produce the target set of performance parameters.
13. The computer-readable storage medium of claim 12, wherein the pre-filtering operation determines correlations between performance parameters based on measurements of the larger set of performance parameters gathered during a training mode.
14. The computer-readable storage medium of claim 10, wherein scheduling the software rejuvenation operation involves sequencing the software rejuvenation operation in a way that minimizes a specific cost function of the software rejuvenation operation.
15. The computer-readable storage medium of claim 10, wherein the software rejuvenation operation involves at least one of:
flushing stale locks;
reinitializing application components;
defragmenting memory;
purging database shared memory pool latches;
failing over between computing nodes;
shutting down individual applications;
preemptively rolling back; and
performing a therapeutic reboot.
16. The computer-readable storage medium of claim 10, wherein the target set of performance parameters includes at least one of:
system throughput parameters;
processor load;
system queue lengths;
transaction latency; and
an amount of available memory.
17. The computer-readable storage medium of claim 10, wherein the tasks of predicting values for the target set of performance parameters and scheduling the software rejuvenation operation are performed by a service processor that is co-located with other processors in the computer system.
18. The computer-readable storage medium of claim 10, wherein the tasks of predicting values for the target set of performance parameters and scheduling the software rejuvenation operation are performed by a remote service center that communicates with the computer system across a network.
19. An system that uses a multi-variate pattern-recognition technique executed by processor to trigger software rejuvenation for a computer system, comprising:
a measurement mechanism configured to periodically measure values for a target set of performance parameters associated with the computer system while the computer system is operating;
a prediction mechanism configured to predict values for the target set of performance parameters based upon previously determined correlations between performance parameters in the target set of performance parameters, wherein predicting a value for a given performance parameter involves predicting the value from measured values of other performance parameters that are correlated with the given performance parameter;
computing residuals for the target set of performance parameters by computing differences between the predicted values and the measured values for the target set of performance parameters; and
a software rejuvenation mechanism, wherein if one or more of the computed residuals exceed a predetermined threshold, thereby indicating that software aging is likely to have occurred, the software rejuvenation mechanism is configured to schedule a software rejuvenation operation for the computer system.
20. The system of claim 19, further comprising a correlation mechanism configured to determine correlations between parameters in the target set of performance parameters based on measurements of the target set of performance parameters gathered during a training mode;
wherein the training mode takes place during normal error-free operation of the computer system.
21. The system of claim 19, further comprising a pre-filtering mechanism configured to pre-filter a larger set of performance parameters to identify the target set of performance parameters;
wherein the pre-filtering mechanism eliminates redundant andor poorly correlated performance parameters from the larger set of performance parameters to produce the target set of performance parameters.
22. The system of claim 21, wherein the pre-filtering mechanism determines correlations between performance parameters based on measurements of the larger set of performance parameters gathered during a training mode.
23. The system of claim 19, wherein the software rejuvenation mechanism is configured to sequence the software rejuvenation operation in a way that minimizes a specific cost function of the software rejuvenation operation.
24. The system of claim 19, wherein the software rejuvenation mechanism is configured to perform at least one of:
flush stale locks;
reinitialize application components;
defragment memory;
purge database shared memory pool latches;
fail over between computing nodes;
shut down individual applications;
preemptively roll back; and to
perform a therapeutic reboot.
25. The system of claim 19, wherein the target set of performance parameters includes at least one of:
system throughput parameters;
processor load;
system queue lengths;
transaction latency; and
an amount of available memory.
26. The system of claim 19, wherein the prediction mechanism and the software rejuvenation mechanism are located within a service processor that is co-located with other processors in the computer system.
27. The system of claim 19, wherein the prediction mechanism and the software rejuvenation mechanism are located within a remote service center that communicates with the computer system across a network.

The claims below are in addition to those above.
All refrences to claim(s) which appear below refer to the numbering after this setence.

1. A micro-electromechanical-system (MEMS) device, comprising:
a substrate;
at least one semiconductor layer provided on the substrate;
a circuit region including at least one chip containing drivesense circuitry, the circuit region provided on the at least one semiconductor layer;
a support structure attached to the substrate;
at least one elastic device attached to the support structure;
a proof-mass suspended by the at least one elastic device and free to move in at least one of the x-, y-, and z-directions;
at least one top electrode provided on the at least one elastic device; and
at least one bottom electrode located beneath the at least one elastic device such that an initial capacitance is generated between the at least one top and bottom electrodes, wherein the drivesense circuitry, proof-mass, supporting structure, and the at least one top and bottom electrodes are fabricated on the at least one semiconductor layer.
2. The device according to claim 1, wherein the MEMS device is a single monolithic die.
3. The device according to claim 1, wherein the circuit region includes silicon, metal, and oxide layers.
4. The device according to claim 1, wherein a top surface of the proof-mass includes at least one metal layer and at least one oxide layer.
5. The device according to claim 1, further including at least one spring suspending the proof-mass and anchored to the substrate.
6. The device according to claim 5, the at least one spring and the at least one bottom electrode further defining an air gap separating the at least one spring from the at least one bottom electrode.
7. The device according to claim 5, wherein the at least one spring includes one of a serpentine loop, mesh pattern, crab-leg flexure, folded flexure, or simple beam.
8. The device according to claim 5, wherein the at least one spring includes at least one mechanical layer and at least one conductive layer.
9. The device according to claim 8, wherein the at least one conductive layer functions as the at least one top electrode.
10. The device according to claim 8, wherein the at least one mechanical layer connects the proof-mass to the substrate while suspending the at least one top electrode above the at least one bottom electrode.
11. The device according to claim 10, wherein the at least one mechanical layer further includes at least one insulating layer that electrically isolates the at least one conductive layer from the at least one top electrode.
12. The device according to claim 10, wherein the at least one mechanical layer further includes at least one insulating layer that electrically isolates the at least one top electrode from the at least one bottom electrode.
13. The device according to claim 1, further comprising at least one over-travel stop disposed at an edge of the proof-mass and anchored to the substrate.
14. The device according to claim 13, wherein the at least one over-travel stop is disposed over a portion of the proof-mass.
15. The device according to claim 1, wherein the initial capacitance between the at least one top electrode and the at least one bottom electrode changes in response to a force applied to the proof-mass.
16. The device according to claim 15, wherein the change in initial capacitance results from a change in the distance between the at least one top electrode and the at least one bottom electrode.
17. The device according to claim 16, wherein the at least one conductive layer functions as the at least one top electrode.
18. The device according to claim 15, wherein the change in initial capacitance results from a change in the area of overlap between the at least one top electrode and the at least one bottom electrode.
19. The device according to claim 18, wherein the at least one conductive layer functions as the at least one top electrode.
20. The device according to claim 15, wherein the change in initial capacitance is sensed by the drivesense circuitry.
21. The device according to claim 15, wherein the sensedrive circuitry senses movement of the suspended proof-mass along at least one of the x-, y-, and z-directions.
22. The device according to claim 15, wherein the sensedrive circuitry senses changes in inertia of the suspended proof-mass along at least one of the x-, y-, and z-directions.
23. The device according to claim 15, wherein the sensedrive circuitry senses tilting of the suspended proof-mass along at least one of the x-, y-, and z-directions.
24. The device according to claim 1, wherein a force is applied to the suspended proof-mass in at least one of the x-, y-, and z-directions by creation of an electrostatic potential between the at least one top electrode and the at least one bottom electrode.
25. The device according to claim 24, wherein the force applied to the proof-mass causes the proof-mass to move in at least one of the x-, y-, and z-directions.
26. The device according to claim 24, wherein the force applied to the proof-mass causes the proof-mass to tilt along at least one of the x-, y-, and z-directions.
27. The device according to claim 24, wherein the drivesense circuitry generates the electrostatic potential between the at least one top electrode and the at least one bottom electrode.
28. The device according to claim 24, wherein the drivesense circuitry generates the electrostatic potential between the at least one conductive layer and the at least one bottom electrode.
29. The device according to claim 24, further comprising:
at least one input port in optical communication with the proof-mass; and
at least one output port in optical communication with the proof-mass;
wherein the proof-mass directs light waves from at least one input port to at least one output port.
30. The device according to claim 29, wherein the device is an optical switch.
31. The device according to claim 30, wherein the drivesense circuitry generates the electrostatic potential between the at least one top and bottom electrodes.
32. The device according to claim 30, wherein the device is one of a plurality employed in an array.
33. The device according to claim 30, wherein the proof-mass foams at least one reflective mirror.
34. The device according to claim 30, wherein the proof-mass forms at least one partially reflective mirror.
35. The device according to claim 30, wherein the proof-mass forms at least one diffraction grating.
36. The device according to claim 30, wherein the proof-mass is transparent to at least one wavelength of light.
37. The device according to claim 30, further comprising at least one optical coating disposed on the proof-mass.
38. The device according to claim 37, wherein the at least one optical coating forms at least one reflective mirror.
39. The device according to claim 37, wherein the at least one optical coating forms at least one partially reflective mirror.
40. The device according to claim 37, wherein the at least one optical coating forms at least one diffraction grating.
41. The device according to claim 37, wherein the at least one optical coating is transparent to at least one wavelength of light.
42. The device according to claim 1, wherein a force is applied to the suspended proof-mass in at least one of the x-, y-, and z-directions by creation of an electrostatic potential between the at least one conductive layer and the at least one bottom electrode.
43. The device according to claim 42, wherein the force applied to the proof-mass causes the proof-mass to move in at least one of the x-, y-, and z-directions.
44. The device according to claim 42, wherein the force applied to the proof-mass causes the proof-mass to tilt along at least one of the x-, y-, and z-directions.