Mechanism for automated generic application damage detection and repair in strongly encapsulated application
First Claim
1. A method of detecting and repairing damaged portions of a computer system, the method comprising:
- detecting a change to the computer system;
comparing the change to working definitions for each application installed on the computer system;
wherein the working definitions comprise a set of constraints placed upon the computer system by each application installed on the computer system; and
responsive to a determination that the change is in conflict with the set of constraints, modifying a persistent storage so as to resolve the conflict.
1 Assignment
0 Petitions
Accused Products
Abstract
A method, system, and apparatus for detecting and repairing damaged portions of a computer system is provided. In a preferred embodiment of the present invention, a damage detection and repair facility monitors and detects changes to the computer system. The damage detection and repair facility compares these changes to the set of constraints defined by the working definitions for each application installed on the computer system. The working definitions define the invariant portions of each application and define the constraints placed upon the computer system by each application. Responsive to changes that are in conflict with this set of constraints, the damage detection and repair facility makes such changes in the persistent storage so as to resolve these conflicts. This may be done, for example, by repairing a damaged file, installing a missing driver, or adjusting an environment variable.
-
Citations
33 Claims
-
1. A method of detecting and repairing damaged portions of a computer system, the method comprising:
-
detecting a change to the computer system;
comparing the change to working definitions for each application installed on the computer system;
wherein the working definitions comprise a set of constraints placed upon the computer system by each application installed on the computer system; and
responsive to a determination that the change is in conflict with the set of constraints, modifying a persistent storage so as to resolve the conflict. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
responsive to a determination that the change does not create a conflict with the set of constraints, updating settings in the working definitions of effected applications.
-
-
3. The method as recited in claim 1, wherein the working definition of each application is provided by an extensible markup language representation.
-
4. The method as recited in claim 1, wherein the step of modifying the persistent storage comprises repairing the runtime image of an application based on an encapsulated representation of the application.
-
5. The method as recited in claim 1, wherein the step of modifying the persistent storage comprises repairing a damaged file using a correct version of the file from the working definition.
-
6. The method as recited in claim 5, wherein the correct version of the file is retrieved from a server.
-
7. The method as recited in claim 6, wherein the server is accessed via a network.
-
8. The method as recited in claim 7, wherein the network is an Internet.
-
9. The method as recited in claim 1, further comprising:
-
responsive to a determination that the change does not create a conflict with the set of constraints, determining whether the change effects any working definition defined software component; and
responsive to a determination that the change does not effect any working definition defined software component, reversing the change.
-
-
10. The method as recited in claim 1, further comprising:
-
responsive to a determination that the change does not create a conflict with the set of constraints, determining whether the change effects any working definition defined software component; and
responsive to a determination that the change does not effect any working definition defined software component, logging the change.
-
-
11. The method as recited in claim 1, further comprising:
-
responsive to a determination that the change does not create a conflict with the set of constraints, determining whether the change effects any working definition defined software component; and
responsive to a determination that the change does not effect any working definition defined software component, reporting the change to a monitoring facility.
-
-
12. A computer program product in computer readable media for use in a data processing system for detecting and repairing damaged portions of a computer system, the computer program product comprising:
-
first instructions for detecting a change to the computer system;
second instructions for comparing the change to working definitions for each application installed on the computer system;
wherein the working definitions comprise a set of constraints placed upon the computer system by each application installed on the computer system; and
third instructions, responsive to a determination that the change is in conflict with the set of constraints, for modifying a persistent storage so as to resolve the conflict. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21, 22)
fourth instructions, responsive to a determination that the change does not create a conflict with the set of constraints, for updating settings in the working definitions of effected applications.
-
-
14. The computer program product as recited in claim 12, wherein the working definition of each application is provided by an extensible markup language representation.
-
15. The computer program product as recited in claim 12, wherein the step of modifying the persistent storage comprises repairing the runtime image of an application based on an encapsulated representation of the application.
-
16. The computer program product as recited in claim 12, wherein the step of modifying the persistent storage comprises repairing a damaged file using a correct version of the file from the working definition.
-
17. The computer program product as recited in claim 16, wherein the correct version of the file is retrieved from a server.
-
18. The computer program product as recited in claim 17, wherein the server is accessed via a network.
-
19. The computer program product as recited in claim 18, wherein the network is an Internet.
-
20. The computer program product as recited in claim 12, further comprising:
-
fourth instructions, responsive to a determination that the change does not create a conflict with the set of constraints, for determining whether the change effects any working definition defined software component; and
fifth instructions, responsive to a determination that the change does not effect any working definition defined software component, for reversing the change.
-
-
21. The computer program product as recited in claim 12, further comprising:
-
fourth instructions, responsive to a determination that the change does not create a conflict with the set of constraints, for determining whether the change effects any working definition defined software component; and
fifth instructions, responsive to a determination that the change does not effect any working definition defined software component, for logging the change.
-
-
22. The computer program product as recited in claim 12, further comprising:
-
fourth instructions, responsive to a determination that the change does not create a conflict with the set of constraints, for determining whether the change effects any working definition defined software component; and
fifth instructions, responsive to a determination that the change does not effect any working definition defined software component, for reporting the change to a monitoring facility.
-
-
23. A system for detecting and repairing damaged portions of a computer system, the system comprising:
-
means for detecting a change to the computer system;
means for comparing the change to working definitions for each application installed on the computer system;
wherein the working definitions comprise a set of constraints placed upon the computer system by each application installed on the computer system; and
means, responsive to a determination that the change is in conflict with the set of constraints, for modifying a persistent storage so as to resolve the conflict. - View Dependent Claims (24, 25, 26, 27, 28, 29, 30, 31, 32, 33)
means, responsive to a determination that the change does not create a conflict with the set of constraints, for updating settings in the working definitions of effected applications.
-
-
25. The system as recited in claim 23, wherein the working definition of each application is provided by an extensible markup language representation.
-
26. The system as recited in claim 23, wherein the step of modifying the persistent storage comprises repairing the runtime image of an application based on an encapsulated representation of the application.
-
27. The system as recited in claim 23, wherein the step of modifying the persistent storage comprises repairing a damaged file using a correct version of the file from the working definition.
-
28. The system as recited in claim 27, wherein the correct version of the file is retrieved from a server.
-
29. The system as recited in claim 28, wherein the server is accessed via a network.
-
30. The system as recited in claim 29, wherein the network is an Internet.
-
31. The system as recited in claim 23, further comprising:
-
means, responsive to a determination that the change does not create a conflict with the set of constraints, for determining whether the change effects any working definition defined software component; and
means, responsive to a determination that the change does not effect any working definition defined software component, for reversing the change.
-
-
32. The system as recited in claim 23, further comprising:
-
means, responsive to a determination that the change does not create a conflict with the set of constraints, for determining whether the change effects any working definition defined software component; and
means, responsive to a determination that the change does not effect any working definition defined software component, for logging the change.
-
-
33. The system as recited in claim 23, further comprising:
-
means, responsive to a determination that the change does not create a conflict with the set of constraints, determining whether the change effects any working definition defined software component; and
means, responsive to a determination that the change does not effect any working definition defined software component, for reporting the change to a monitoring facility.
-
Specification