Method of transmitting streamlined data updates by selectively omitting unchanged data parts
First Claim
1. A method of transmitting data from a first computing site to second computing site, comprising the operations of:
- at the first computing site, receiving a new data object comprising a new version of an existing data object already stored at the first computing site, the new and existing data objects each containing multiple subparts;
the first computing site comparing the new data object with the existing data object to identify any changed subparts of the new data object with respect to corresponding subparts of the existing data object, the first computing site preparing a map indicating positions of the changed subparts within the new data object;
the first computing site preparing an abbreviated data object that includes the changed subparts and omits any unchanged subparts; and
the first computing site transmitting the map and the abbreviated data object to the second computing site.
1 Assignment
0 Petitions
Accused Products
Abstract
In an expeditious approach to transmitting updated data objects from one computing site to another, a transmitting site compares an updated data object with its previous version, and only includes the changed subparts in its transmission to the receiving site. The data object is therefore sent in a compacted state. The transmitting site also sends a map showing the changed subparts'"'"'s relative positions within the entire data object. The receiving site retrieves a locally stored previous version of the data object, and combines the data object'"'"'s unchanged subparts with the changed subparts recently sent by the transmitting site.
-
Citations
23 Claims
-
1. A method of transmitting data from a first computing site to second computing site, comprising the operations of:
-
at the first computing site, receiving a new data object comprising a new version of an existing data object already stored at the first computing site, the new and existing data objects each containing multiple subparts;
the first computing site comparing the new data object with the existing data object to identify any changed subparts of the new data object with respect to corresponding subparts of the existing data object, the first computing site preparing a map indicating positions of the changed subparts within the new data object;
the first computing site preparing an abbreviated data object that includes the changed subparts and omits any unchanged subparts; and
the first computing site transmitting the map and the abbreviated data object to the second computing site. - View Dependent Claims (2, 3, 4)
the second computing site receiving the map and the abbreviated data object, where the secondary computing site already contains a local copy of the existing data object;
the second computing site reconstructing the new data object by obtaining the changed subparts of the new data object from the abbreviated data object, obtaining unchanged subparts of the new data object from the local copy, and combining the obtained subparts.
-
-
3. The method of claim 1, where the map is a bit map including bits equal in number to the prescribed number.
-
4. The method of claim 1, the operations further comprising applying a compression process to the abbreviated data object prior to the transmitting operation.
-
5. A method of transmitting data from a first storage facility to a second storage facility, comprising the operations of:
-
at the first storage facility, receiving a new data object comprising a new version of an existing data object already stored at the first storage facility, each data object containing multiple subparts;
initializing a map to indicate all subparts within the new data object as being different than corresponding subparts of the existing data object;
analyzing the new data object, comprising operations of;
comparing a subpart of the new data object to a corresponding subpart of the existing data object to determine whether the subparts differ, and only if the subparts do not differ, updating the map to indicate the subpart as being unchanged from the corresponding subpart of the existing data object;
repeating the comparing step for each subpart of the new data object;
preparing an abbreviated data object that includes the different subparts of the new data object while omitting subparts that do not differ as between the new and existing data objects; and
transmitting the map and the abbreviated data object from the first storage facility to the second storage facility. - View Dependent Claims (6, 7)
the operations further include responsive to receiving the new data object, making a corresponding entry in a queue;
the transmission operation comprises sequentially processing entries in the queue by, for each entry, transmitting the corresponding abbreviated data object and map, and then advancing to a next entry.
-
-
8. A signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a method for transmitting data from a first computing site to second computing site, the method comprising the operations of:
-
at the first computing site, receiving a new data object comprising a new version of an existing data object already stored at the first computing site, the new and existing data objects each containing multiple subparts;
the first computing site comparing the new data object with the existing data object to identify any changed subparts of the new data object with respect to corresponding subparts of the existing data object;
the first computing site preparing a map indicating positions of the changed subparts within the new data object;
the first computing site preparing an abbreviated data object that includes the changed subparts and omits any unchanged subparts; and
the first computing site transmitting the map and the abbreviated data object to the second computing site. - View Dependent Claims (9, 10, 11)
the second computing site receiving the map and the abbreviated data object, where the secondary computing site already contains a local copy of the existing data object;
the second computing site reconstructing the new data object by obtaining the changed subparts of the new data object from the abbreviated data object, obtaining unchanged subparts of the new data object from the local copy, and combining the obtained subparts.
-
-
10. The medium of claim 8, where the map is a bit map including bits equal in number to the prescribed number.
-
11. The medium of claim 8, the operations further comprising applying a compression process to the abbreviated data object prior to the transmitting operation.
-
12. A signal-bearing medium tangibly embodying a program of machine-readable instructions executable by a digital processing apparatus to perform a method for transmitting data from a first storage facility to second storage facility, the method comprising the operations of:
-
at the first storage facility, receiving a new data object comprising a new version of an existing data object already stored at the first storage facility, each data object containing multiple subparts;
initializing a map to indicate all subparts within the new data object as being different than corresponding subparts of the existing data object;
analyzing the new data object, comprising operations of;
comparing a subpart of the new data object to a corresponding subpart of the existing data object to determine whether the subparts differ, and only if the subparts do not differ, updating the map to indicate the subpart as being unchanged from the corresponding subpart of the existing data object;
repeating the comparing step for each subpart of the new data object;
preparing an abbreviated data object that includes the different subparts of the new data object while omitting subparts that do not differ as between the new and existing data objects; and
transmitting the map and the abbreviated data object from the first storage facility to the second storage facility. - View Dependent Claims (13, 14)
the operations further include responsive to receiving the new data object, making a corresponding entry in a queue;
the transmission operation comprises sequentially processing entries in the queue by, for each entry, transmitting the corresponding abbreviated data object and map, and then advancing to a next entry.
-
-
15. A logic circuit of multiple interconnected electrically conductive elements configured to perform operations for transmitting data from a first computing site to second computing site, the operations comprising:
-
at the first computing site, receiving a new data object comprising a new version of an existing data object already stored at the first computing site, the new and existing data objects each containing multiple subparts;
the first computing site comparing the new data object with the existing data object to identify any changed subparts of the new data object with respect to corresponding subparts of the existing data object;
the first computing site preparing a map indicating positions of the changed subparts within the new data object;
the first computing site preparing an abbreviated data object that includes the changed subparts and omits any unchanged subparts; and
the first computing site transmitting the map and the abbreviated data object to the second computing site.
-
-
16. A logic circuit of multiple interconnected electrically conductive elements configured to perform operations for transmitting data from a first storage facility to a second storage facility, the operations comprising:
-
at the first storage facility, receiving a new data object comprising a new version of an existing data object already stored at the first storage facility, each data object containing multiple subparts;
initializing a map to indicate all subparts within the new data object as being different than corresponding subparts of the existing data object;
analyzing the new data object, comprising operations of;
comparing a subpart of the new data object to a corresponding subpart of the existing data object to determine whether the subparts differ, and only if the subparts do not differ, updating the map to indicate the subpart as being unchanged from the corresponding subpart of the existing data object;
repeating the comparing step for each subpart of the new data object;
preparing an abbreviated data object that includes the different subparts of the new data object while omitting subparts that do not differ as between the new and existing data objects; and
transmitting the map and the abbreviated data object from the first storage facility to the second storage facility. - View Dependent Claims (19)
-
-
17. A data storage and exchange system, comprising:
-
an input/output (I/O);
a storage; and
a controller, coupled to the I/O and storage, and configured to transmit data to a receiving computing site by performing operations comprising;
receiving a new data object comprising a new version of an existing data object already contained in the storage, the new and existing data objects each containing multiple subparts;
comparing the new data object with the existing data object to identify any changed subparts of the new data object with respect to corresponding subparts of the existing data object;
preparing a map indicating positions of the changed subparts within the new data object;
preparing an abbreviated data object that includes the changed subparts and omits any unchanged subparts; and
transmitting the map and the abbreviated data object to the receiving computing site. - View Dependent Claims (18, 20)
the I/O, storage, controller, and form a transmitting computing site; and
the data storage and exchange system further includes the receiving computing site, comprising;
a second input/output (I/O);
a second storage; and
a second controller, coupled to the second I/O and second storage, and configured to receive and process abbreviated data objects data from the transmitting computing site by performing operations comprising;
receiving the map and the abbreviated data object, where the receiving computing site already contains a local copy of the existing data object;
reconstructing the new data object by obtaining the changed subparts of the new data object from the abbreviated data object, obtaining unchanged subparts of the new data object from the local copy, and combining the obtained subparts.
-
-
20. The system of claim 17, the operations further comprising applying a compression process to the abbreviated data object prior to the transmitting operation.
-
21. A data storage facility, comprising:
-
an input/output (I/O);
a storage; and
a controller, coupled to the I/O and storage, and configured to transmit data to a second data storage facility by performing operations comprising;
receiving a new data object comprising a new version of an existing data object already contained in the storage, each data object containing multiple subparts;
initializing a map to indicate all subparts within the new data object as being different than corresponding subparts of the existing data object;
analyzing the new data object, comprising operations of;
comparing a subpart of the new data object to a corresponding subpart of the existing data object to determine whether the subparts differ, and only if the subparts do not differ, updating the map to indicate the subpart as being unchanged from the existing data object;
repeating the comparing step for each subpart of the new data object;
preparing an abbreviated data object that includes the different subparts of the new data object while omitting subparts that do not differ as between the new and existing data objects; and
transmitting the map and the abbreviated data object to the second storage facility. - View Dependent Claims (22, 23)
the operations further include responsive to receiving the new data object, making a corresponding entry in a queue;
the transmission operation comprises sequentially processing entries in the queue by, for each entry, transmitting the corresponding abbreviated data object and map, and then advancing to a next entry.
-
Specification