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 for the data segment;
d. generating one or more pointers 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; and
e. transferring a copy of the source file, if the one or more matching data segments are not identified in the data store.
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.
153 Citations
49 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 for the data segment; d. generating one or more pointers 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; and e. transferring a copy of the source file, if the one or more matching data segments are not identified in the data store. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A system for accelerating data transfer comprising:
-
a. a first computing system 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 coupled to the first computing system, wherein a data segment is compared to the data within the data store on the first computing system after being received from the second computing system, further wherein a pointer to the one or more files is added on the first computing system if the data segment is found within the data store, but a copy of a source file corresponding to the data segment is transferred from the second computing system to the first computing system if the data segment is not found in the data store. - View Dependent Claims (16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29)
-
-
30. A network of systems for accelerating data transfers comprising:
-
a. one or more source systems for transferring a data segment corresponding to a source file stored on the one or more source systems; and b. one or more target systems coupled to the one or more source systems for storing data in a data store corresponding to one or more files and for comparing the data segment received from the one or more source systems with the data in the data store where if the data segment is found, a pointer is generated to point to a corresponding file in the one or more files on the target system instead of transferring the source file over a network. - View Dependent Claims (31, 32, 33, 34, 35, 36, 37, 38, 39, 40)
-
-
41. A storage system configured to receive data from a plurality of computing systems 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 system is compared with the set of information stored within the data store and a pointer is generated 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 corresponding to the data segment is transferred. - View Dependent Claims (42, 43, 44, 45, 46, 47, 48, 49)
-
Specification