Patent ID: 8566638

Claim:
A method comprising: performing a first computation by a first computing platform, the first computing platform executing a first copy of a program in coordination with a second computing platform performing a second computation, the second computing platform executing a second copy of the same program; receiving, by the first computing platform, an observation of one or more variables taken at a first cut of the second computation performed on the second computing platform; detecting, by the first computing platform, one or more errors of the second computation based at least in part on the received observation and based at least in part on one or more variables taken at a corresponding cut of the first computation; determining one or more corrective actions to correct the one or more detected errors; and providing, to the second computing platform, instructions about the one or more corrective actions, wherein the providing comprises providing one or more instructions about a corrective action to correct a detected error by inserting one or more instructions into the second computation at a location before or after an instruction of the second copy of the program is executed at a faulty execution unit of the second computing platform, or at a location before or after a result of an instruction of the second copy of the program is stored into a faulty register of the second computing platform.