Patent ID: 8812601

Claim:
A method, performed by a first client device or system having one or more processors and memory storing one or more programs for execution by the one or more processors, the method comprising: executing a plurality of actively running applications, each of the plurality of actively running applications having one or more checkpoints, each checkpoint identifying an execution breakpoint at which the respective application can be suspended and subsequently resumed; detecting a transfer triggering condition; in response to detecting the transfer triggering condition: storing an application state for each respective application of the plurality of actively running applications after the respective application reaches its respective checkpoint, the stored application state for each respective application of the plurality of actively running applications corresponding to the checkpoint of the respective application, and suspending the plurality of actively running applications in response to the plurality of actively running applications reaching their respective checkpoints; transmitting the stored application state for each of the plurality of actively running applications to a second client device or system; and while the transfer triggering condition is still detected: receiving a modified application state for each of the plurality of actively running applications from the second client device or system, wherein at least one of the modified application states is different than its respective stored application state, and launching the plurality of actively executing applications using their respective modified application states.