Patent ID: 8261024

Claim:
A computer-implemented method, comprising: two or more of a plurality of threads executing on one or more processors concurrently accessing a shared data object during a data access session, wherein a data access session comprises a set of access operations performed on the shared data object by a given one of the two or more threads that has acquired master status during the period of time in which the given one of the two or more threads acts as a master thread with respect to access operations targeting the shared data object, and wherein the given one of the two or more threads acts as the master thread for the duration of the data access session; wherein concurrently accessing the shared data object during the data access session comprises: the given one of the two or more threads performing one or more data modifications on a first version of the shared data object; the given one of the two or more threads performing one or more data modifications of a thread of the two or more threads other than the given one of the two or more threads that target the shared data object on the first version of the shared data object; and a thread of the two or more threads other than the given one of the two or more threads performing one or more read accesses that target the shared data object in a non-blocking manner on a second version of the shared data object; wherein the method further comprises: the given one of the two or more threads ending the data access session; and the given one of the two or more threads making the first version of the shared data object and the second version of the shared data object identical.