A method comprising selecting a data object from a first storage location;
assigning an identifier (ID) to the data object; storing the ID in a
transactional type lock object; determining whether the ID is stored
successfully in the transactional type lock object, and upon a successful
storage, storing the ID in a permanent type lock object; determining
whether the ID is stored successfully in the permanent type lock object,
and upon a successful storage, deleting the ID from the transactional
type lock object; storing the data object at the second storage location;
assigning the second storage location to the ID in the permanent type
lock object; deleting the data object from the first storage location;
and deleting the ID from the permanent type lock object after the
respective data object assigned to that ID has been deleted from the
first storage location.