Patent ID: 7007139

Claim:
A method for redirecting and reconstructing writing operations directed to a portion of a memory from a process running in a computer, comprising: storing a pre-redirection copy of said portion of said memory in a pre-redirection buffer and a redirection copy of the contents of said portion of said memory in a redirection buffer; redirecting writing operations to write data to said redirection buffer; storing a post-redirection copy of the contents of said portion of said memory in a post-redirection buffer after said step of redirecting writing operations; and reconstructing said portion of said memory using said pre-redirection buffer, said redirection buffer, and said post-redirection buffer, where said reconstruction comprises, for each memory location in said portion of said memory: (a) determining if the contents of the corresponding memory location of said pre-redirection buffer are different from the contents of the corresponding memory location of said post-redirection buffer; (b) if said contents of said corresponding location of said pre-redirection buffer are different from said contents of said corresponding memory location of said post-redirection buffer, determining if the contents of the corresponding memory location of said redirection buffer are equal to said corresponding memory location of said pre-redirection buffer; and (c) if said contents of said corresponding location of said pre-redirection buffer are different from said contents of said corresponding memory location of said post-redirection buffer and said contents of said corresponding memory location of said redirection buffer are equal to said corresponding memory location of said pre-redirection buffer, storing the contents of said corresponding memory location of said post-redirection buffer in the corresponding memory location of said redirection buffer.