Patent ID: 9588756
Date: 2017-03-07
CPC Classifications: G06F,Y04S

Claim:
1. A method executed by one or more computing devices for software renewal, comprising: loading, by at least one of the one or more computing devices, a software component into at least one loadable region of a program by a base component in the program to update the program, wherein the software component is dynamically swapped at run-time of the program in accordance with an update schedule; writing, by at least one of the one or more computing devices, state data encoding the state of the updated program in a storage upon execution of the software component, wherein the state data comprises a sequence of values corresponding to a sequence of updates applied to the program; entangling, by at least one of the one or more computing devices, the state data with application data corresponding to a functionality of the program; testing, by at least one of the one or more computing devices, the state data to verify a condition of the updated program by comparing one or more values in the sequence of values with one or more values in a predetermined sequence of values corresponding to a correct sequence of updates for the program; and detecting, by at least one of the one or more computing devices, one or more of: a roll-back condition or a roll-forward condition based on the testing.