Patent ID: 7627728
Filing Date: 2009-12-01
Classification: G06F

Abstract:
1. A method comprising: stopping execution of an application, wherein a plurality of memory pages are accessible to the application; preserving a state of the plurality of memory pages while the execution of the application is stopped by altering page permissions of the plurality of memory pages; restarting the execution of the application after preserving the state of the plurality of memory pages; capturing the state of the plurality of memory pages after restarting the execution of the application; logging one or more events affecting the state of the plurality of memory pages and occurring after restarting the execution of the application, wherein the one or more logged events include one or more network events and one or more attempts to acquire a semaphore, wherein the one or more attempts to acquire the semaphore include at least one unsuccessful attempt and wherein logging the one or more events comprises storing a respective result of each of the one or more events, wherein the stored results include the result of the at least one unsuccessful attempt; and resuming the execution of the application after a point of failure in the execution of the application by restoring the captured state of the plurality of memory pages and replaying the one or more logged events, wherein replaying the one or more logged events comprises regenerating the respective result of each of the one or more logged events, wherein the regenerated results include the result of the at least one unsuccessful attempt.