Accelerated data transfer using common prior data segments
First Claim
1. A method of accelerating data transfer comprising:
- a. storing data in a data store on a first computing system wherein the data corresponds to one or more files stored on the first computing system;
b. transferring a data segment from a source file from a second computing system to the first computing system over a network;
c. scanning the data store on the first computing system for the data segment received from the second computing system;
d. generating one or more pointers on the first computing system to the one or more corresponding files of one or more matching data segments, if the one or more matching data segments are identified in the data store on the first computing system; and
e. transferring a copy of the source file from the second computing system to the first computing system, if the one or more matching data segments are not identified in the data store on the first computing system.
5 Assignments
0 Petitions
Accused Products
Abstract
Accelerating data transfers is described herein. When a second computing system is requested to transfer a file to a first computing system, a data segment is sent to the first computing system instead of the entire file. The data segment is then compared to data stored within a data store on the first computing system. If the data segment and data within the data store match, then the file does not need to be transferred, and a pointer points to the file already located on the first computing system. If the data segment does not match any data stored in the data store, then the file is transferred from the second computing system to the first computing system. By comparing only the data segment instead of sending an entire file, data transfer is able to be greatly expedited in situations where the data is common between systems.
-
Citations
52 Claims
-
1. A method of accelerating data transfer comprising:
-
a. storing data in a data store on a first computing system wherein the data corresponds to one or more files stored on the first computing system; b. transferring a data segment from a source file from a second computing system to the first computing system over a network; c. scanning the data store on the first computing system for the data segment received from the second computing system; d. generating one or more pointers on the first computing system to the one or more corresponding files of one or more matching data segments, if the one or more matching data segments are identified in the data store on the first computing system; and e. transferring a copy of the source file from the second computing system to the first computing system, if the one or more matching data segments are not identified in the data store on the first computing system. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16)
-
-
17. A system for accelerating data transfer comprising:
-
a. a first computing system having a first memory device for storing one or more files and a data store for storing data corresponding to the one or more files; and b. a second computing system having a second memory device, wherein the second computing system is coupled to the first computing system, wherein a data segment stored in the second memory device is transferred to the first computing system, and is compared to the data within the data store on the first memory device after being received from the second memory device, further wherein a pointer to the one or more files on the first memory device is added on the first memory device if the data segment is found within the data store on the first memory device, but a copy of a source file corresponding to the data segment is transferred from the second memory device to the first memory device if the data segment is not found in the data store. - View Dependent Claims (18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31)
-
-
32. A network of systems for accelerating data transfers comprising:
-
a. one or more source systems having one or more source memory devices for transferring a data segment corresponding to a source file stored on the one or more source memory devices; and b. one or more target systems having one or more target memory devices for storing data in a data store corresponding to one or more files on the one or more target memory devices and for comparing the data segment received from the one or more source memory devices with the data in the data store where if the data segment is found, a pointer is generated on the one or more target memory devices to point to a corresponding file in the one or more files on the target memory device instead of transferring the source file over a network, wherein the one or more target systems are coupled to the one or more source systems. - View Dependent Claims (33, 34, 35, 36, 37, 38, 39, 40, 41, 42)
-
-
43. A storage system configured to receive data from a plurality of source computing systems comprising:
-
a memory device comprising; a. one or more files; b. a set of information corresponding to the one or more files; and c. a data store for storing the set of information, wherein a data segment received from a source computing system in the plurality of source computing systems is compared with the set of information stored within the data store and a pointer is generated on the storage system to point to a corresponding file in the one or more files if the data segment is found but if the data segment is not found within the data store, a copy of a source file on the source computing system corresponding to the data segment is transferred to the storage system. - View Dependent Claims (44, 45, 46, 47, 48, 49, 50, 51)
-
-
52. A method of accelerating data transfer comprising:
-
a. storing data in a data store on a target computing system wherein the data corresponds to one or more files stored on the target computing system; b. transferring a data segment of a source file from a source computing system to the target computing system over a network in response to a request for the source file by the first computing system; c. scanning the data store on the target computing system for the data segment received from the source computing system; d. generating a pointer on the target computing system that points to at least one of the one or more files, if the data that corresponds to the at least one of the one or more files matches the data segment; and e. transferring a copy of the source file from the source computing system to the target computing system, if the data that corresponds to the one or more files does not match the data segment.
-
Specification