Patent ID: 7836034

Claim:
A method performed in software comprising: updating a first data value upon which a second data value is dependent such that the first data value and the second data value are required to be updated in that order such that the first data value is updated before the second data value is updated, when the first data value and the second data value are both to be updated, where updating the first data value comprises changing or modifying contents of the first data value; setting a flag associated with the first data value, such that the flag effectively prevents further updating of the first data value until the flag has been cleared; waiting for a length of time, such that any reading of the first data value and the second data value is guaranteed to not see the second data value as updated unless the first data value is also seen as updated, where the length of time is waited for without employing locking; clearing the flag after the length of time has elapsed, to permit further updating of the first data value; and, updating the second data value dependent upon the first data value, where updating the second data value comprises changing or modifying contents of the second data value, wherein the method is performed without employing locking.