Method and apparatus for synchronizing multiple versions of digital data
First Claim
Patent Images
1. 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.
2 Assignments
0 Petitions
Accused Products
Abstract
A method and system for synchronizing multiple versions of multimedia objects is provided. Each multimedia object may be identified by a unique identifier. In addition, a history graph may be generated and maintained for each object, where the history graph includes nodes that store unique identifiers and whose vectors describe the relationship between the multimedia objects. Metadata may be used to describe the transformations of objects.
160 Citations
30 Claims
-
1. 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. - View Dependent Claims (2, 3)
-
-
4. A computer-readable medium having computer-executable instructions for performing the steps of:
-
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. - View Dependent Claims (5, 6)
-
-
7. A method for synchronizing multiple versions of an object, comprising:
-
assigning a multimedia object a first unique identifier; providing the multimedia object a history comprising a plurality of nodes and a plurality of vectors defining relationships between the plurality of nodes, the history having a node representing the first unique identifier of the multimedia object; responsive to the multimedia object being modified, assigning the modified multimedia object a second unique identifier; updating the history to include a node representing the second unique identifier of the multimedia object and to associate the node representing the first unique identifier to the node representing the second unique identifier; and storing potions 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. - View Dependent Claims (8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
-
26. A method for synchronizing multiple versions of an object, comprising:
-
assigning a multimedia object a first unique identifier; providing the multimedia object a history comprising a plurality of nodes and a plurality of vectors defining relationships between the plurality of nodes, the history having a node representing the first unique identifier of the multimedia object; responsive to the multimedia object being modified, assigning the modified multimedia object a second unique identifier; updating the history to include a node representing the second unique identifier of the multimedia object and to associate the node representing the first unique identifier to the node representing the second unique identifier; and transferring the history with the modified multimedia object, wherein transferring the history with the modified multimedia object comprises; 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 transferring the history based on said comparisons, wherein the second node is transferred with the modified multimedia object, and wherein the first node is not transferred with the modified multimedia object.
-
-
27. 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 transferring the history with the modified multimedia object, said transferring 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 transferring the history based on said comparisons, wherein the second node is transferred with the modified multimedia object, and wherein the first node is not transferred with the modified multimedia object.
-
-
28. A computer-readable medium having computer-executable instructions for performing the steps of:
-
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 transferring the history with the modified multimedia object, said transferring 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 transferring the history based on said comparisons, wherein the second node is transferred with the modified multimedia object, and wherein the first node is not transferred with the modified multimedia object.
-
-
29. A computer-readable medium having computer-executable instructions for performing the steps of:
-
assigning a multimedia object a first unique identifier; providing the multimedia object a history comprising a plurality of nodes and a plurality of vectors defining relationships between the plurality of nodes, the history having a node representing the first unique identifier of the multimedia object; responsive to the multimedia object being modified, assigning the modified multimedia object a second unique identifier; updating the history to include a node representing the second unique identifier of the multimedia object and to associate the node representing the first unique identifier to the node representing the second 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.
-
-
30. A computer-readable medium having computer-executable instructions for performing the steps of:
-
assigning a multimedia object a first unique identifier; providing the multimedia object a history comprising a plurality of nodes and a plurality of vectors defining relationships between the plurality of nodes, the history having a node representing the first unique identifier of the multimedia object; responsive to the multimedia object being modified, assigning the modified multimedia object a second unique identifier; updating the history to include a node representing the second unique identifier of the multimedia object and to associate the node representing the first unique identifier to the node representing the second unique identifier, and transferring the history with the modified multimedia object, said transferring 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 transferring the history based on said comparisons, wherein the second node is transferred with the modified multimedia object, and wherein the first node is not transferred with the modified multimedia object.
-
Specification