UPDATING SOFTWARE COMPONENTS
First Claim
1. A method for software renewal, comprising:
- loading a software component into at least one loadable region of a program by a base component in the program to update the program, the software component being dynamically swapped at run-time of the program in accordance with an update schedule;
writing state data associating the state of the update in a storage, upon execution of the software component;
testing the state data to verify the condition of the updated program, the state data comprising hash chain values; and
entangling the state data for verifying the correctness of the updated program with application data used for the program functionality.
3 Assignments
0 Petitions
Accused Products
Abstract
A method and system for renewing software at the component-level is provided. A client program includes a base component for loading a software component into at least one loadable region of the program to update the program. Code in the software component is for writing state data associating the state of the update in storage, upon execution of the software component, and testing the state data to verify condition of the updated program and disallowing rollback and roll-forward attacks, the state data comprising hash chain values. The state data for verifying the correctness of the updated program is entangled with application data used for the program functionality. A server includes: an update pool having a plurality of software updates deployed in each client, and a policy control for monitoring and controlling at least one of: the length of time the client runs until the software update is invoked, a chain of the updates; and the granularity of the update.
19 Citations
40 Claims
-
1. A method for software renewal, comprising:
-
loading a software component into at least one loadable region of a program by a base component in the program to update the program, the software component being dynamically swapped at run-time of the program in accordance with an update schedule; writing state data associating the state of the update in a storage, upon execution of the software component; testing the state data to verify the condition of the updated program, the state data comprising hash chain values; and entangling the state data for verifying the correctness of the updated program with application data used for the program functionality.
-
-
2. (canceled)
-
3. (canceled)
-
4. (canceled)
-
5. (canceled)
-
6. (canceled)
-
7. (canceled)
-
8. (canceled)
-
9. (canceled)
-
10. (canceled)
-
11. (canceled)
-
12. (canceled)
-
13. (canceled)
-
14. (canceled)
-
15. (canceled)
-
16. (canceled)
-
17. (canceled)
-
18. (canceled)
-
19. A system for renewing software, comprising:
a client including; a processor, and a memory for storing a program including a base loading component for loading a program component into at least one loadable region of the program to update the program, the program component being dynamically swapped at run-time of the program in accordance with an update schedule, the software component having code for writing state data associating the state of the update in a storage, upon execution of the software component, and testing the state data to verify the condition of the updated program, the state data comprising hash chain values, the state data for verifying the correctness of the updated program being entangled with application data used for the program functionality.
-
20. (canceled)
-
21. (canceled)
-
22. (canceled)
-
23. (canceled)
-
24. (canceled)
-
25. (canceled)
-
26. (canceled)
-
27. (canceled)
-
28. (canceled)
-
29. (canceled)
-
30. (canceled)
-
31. (canceled)
-
32. (canceled)
-
33. (canceled)
-
34. (canceled)
-
35. (canceled)
-
36. (canceled)
-
37. (canceled)
-
38. A system for renewing software in a client, comprising
a server comprising: -
an update pool having a plurality of software updates deployed in each client; a policy control for monitoring and controlling at least one of;
the length of time the client runs until the software update is invoked, a chain of the updates; and
the granularity of the update; andan update module for updating the client'"'"'s program a first software component in a part of the program of the client being replaced with a second software component based on one of the software update under the policy control.
-
-
39. (canceled)
-
40. (canceled)
Specification