Patent ID: 8627292

Claim:
A method performed by a software transactional memory (STM) system in a computer system, the method comprising: storing a first read value of a global version counter prior to performing a read access of a first transaction; storing a second read value of the global version counter subsequent to performing the read access of the first transaction; detecting an overflow of the global version counter in response to a version number in the global version counter being incremented when the version number has reached a maximum value; rolling back and re-executing the first transaction that was executing when the overflow occurred in response to detecting the overflow; validating the read access using the first read value and the second read value including determining that the read access of the first transaction are consistent in response to the first read value and the second read value being equal; if the read access is consistent, write back shadow copies and when write version is equal to commit version, increment commit version and store write version as version number for written objects; and if the read access is inconsistent, rolling back and re-executing the first transaction.