Patent ID: 7908255
Filing Date: 2011-03-15
Classification: G06F

Abstract:
1. A computer storage medium having computer-executable instructions for causing a computer to perform steps comprising: provide a software transactional memory system operable to manage a plurality of transactions executed by one or more threads of execution in a multi-threaded processing environment, wherein the transactions are executed to perform operations on objects located in a shared memory accessible to the one or more threads of execution; provide a buffered write process that (a) performs writes to and reads from shadow copies of the objects instead of performing writes to and reads from the objects themselves and (b) that writes content from the shadow copies back to the objects responsive to determining that modifications made to the shadow copies by a respective transaction of the plurality of transactions will be made permanent during commit, wherein the buffered write process determines the location of a shadow copy of an object by accessing a pointer to the shadow copy stored in the object; and provide a transaction ordering process that ensures that an order in which the plurality of transactions are committed matches an abstract serialization order of the plurality of transactions.