Patent ID: 6993761

Claim:
A method for verifying type safety of an application snapshot, the application snapshot including a state of an executing program that is moved from a first computing device to a second computing device across a network in order to continue execution on the second computing device, the method comprising: receiving the application snapshot of the executing program from the first computing device on the second computing device, wherein the application snapshot includes a subprogram, an operand stack, and a point of execution; wherein the operand stack contains operands currently being operated on by the executing subprogram; examining the application snapshot on the second computing device to identify the subprogram being executed and the point of execution within the subprogram; examining the subprogram on the second computing device to determine an expected structure of the operand stack at the point of execution; validating that the state of the application snapshot on the second computing device is consistent with the expected structure of the operand stack; verifying on the second computing device that variables and arguments within the application snapshot are of the proper type; and if the state of the application snapshot is validated as consistent with the expected structure of the operand stack, resuming execution of the application snapshot on the second computing device at the point of execution on the first computing device; wherein the expected structure of the operand stack includes a collective size of entries and the types of entries expected on the operand stack at the point of execution within the subprogram; and wherein validating that the state of the application snapshot on the second computing device is consistent with the expected structure of the operand stack involves ensuring that the collective size of entries and the types of entries on the operand stack agree with the collective size of entries and the types of entries expected on the operand stack.