Patent ID: 8473952

Claim:
A method, comprising: performing, by a computer: executing a plurality of mutually dependent transactions, wherein the executing implies a sequence order for the transactions dependent on an order of accesses to one or more communicator objects, and wherein a communicator object is a shared object of a designated communicator object type that defines the object as an object that is accessible by concurrent transactions and through which concurrent transactions can communicate; wherein the executing comprises: each of the plurality of transactions other than the first transaction in the sequence order: accessing a communicator object that was accessed by a previous transaction in the sequence order; and updating a dependency tracking data structure to indicate its dependence on the previous transaction in the sequence order; wherein, for at least one of the plurality of transactions other than the first transaction in the sequence order, said updating the dependency tracking data structure to indicate its dependence on the previous transaction comprises adding an indication that the previous transaction was the last writer of the communicator object to the dependency tracking data structure; and the first transaction in the sequence order: accessing a communicator object that was accessed by the last transaction in the sequence order; updating a dependency tracking data structure to indicate its dependence on the last transaction in the sequence order; and attempting to commit its results, wherein success of said attempting is dependent, at least in part, on whether the last transaction in the sequence order can also commit its results.