Patent ID: 7216289

Claim:
A method for synchronizing multiple versions of an object, comprising: receiving a multimedia object having an associated unique identifier and a history comprising a plurality of nodes and a plurality of vectors defining relationships between the plurality of nodes; assigning a new unique identifier to the multimedia object responsive to the multimedia object being modified; updating the history of the multimedia object to include a node corresponding to the new unique identifier and a vector corresponding to the relationship between the received multimedia object and the modified multimedia object; updating metadata associated with the vector, the metadata describing the modification performed to arrive at the multimedia object corresponding to the new unique identifier; and storing portions of the history with the modified multimedia object, said storing comprising: determining a threshold time based on a current time measurement; identifying a first node and a second node in the history, the first node associated with a time before the threshold time and the second node associated with a time after the threshold time; comparing the time associated with the first node to the threshold time; comparing the time associated with the second node to the threshold time; and based on said comparisons, storing the second node with the modified multimedia object, and storing the first node at a location separate from the modified multimedia object.