Patent ID: 8204989

Claim:
A method for detecting and avoiding collisions on an entry in a directory upon update operations from more than one client front-end, said method comprising the steps of: receiving at the directory a request from a client front-end to read data on an entry in the directory; assigning at the directory at least one given collision detection value corresponding to at least one subset of the data on the entry in the directory, wherein the at least one given collision detection value is a given collision detection counter attribute (CDC), having a value (x) on the entry in the directory; submitting towards the client front-end the requested data along with the at least one given collision detection value; receiving at the directory a request from the client front-end to modify the at least one subset of the data on the entry in the directory, the request having at least one updated collision detection value for each at least one given collision detection value, wherein the request having the at least one updated collision detection value includes: (i) one or more ADD operations as follows ADD: CDC=(x)+1, ADD: CDC=(x)+2. . . ADD: CDC=(x) +Number of Collisions to Detect (NCD), where NCD has a value equal to or greater than a number of concurrent clients which could possibly read and modify the data from the entry in the directory; (ii) modified data; and (iii) a REPLACE operation as follows: REPLACE CDC=(x)+1; determining at the directory whether the at least one updated collision detection value is in accordance with a corresponding current collision detection value or not; submitting towards the client front-end either acceptance of the request to modify the at least one subset of the data on the entry in the directory, where the at least one updated collision detection value is in accordance with the corresponding current collision detection value, or refusal of the request if the request has an ADD operation that tries to operate on a current CDC attribute having a different value within the entry than the given CDC attribute value (x); and where the request is found acceptable, setting the current collision detection value to a next value.