Method and systems for efficient delivery of previously stored content
First Claim
Patent Images
1. A method comprising:
- (a) receiving, by a device having a first file comprising a first plurality of sequences of data, a second file comprising a second plurality of sequences of data, the device creating a hash table comprising entries corresponding to successive, overlapping byte sequences within the first file;
(b) comparing, by the device, hashes for each of the first plurality of sequences of data with hashes for each of the second plurality of sequences of data to identify a first sequence of data and a second sequence of data present in both the first plurality of sequences of data of the first file and the second plurality of sequences of data of the second file; and
(c) establishing, by the device, a third file comprising one or more sequences of data from the second file, a representation of a location identifying a number of bytes in the third file between a predetermined byte of representation of the first sequence of data represented in the third file and a predetermined byte of representation of a second sequence of data represented in the third file, and a representation of a length identifying a number of bytes of the first sequence of data bytes matching the second sequence of data bytes.
8 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods for reducing file sizes for files delivered over a network are disclosed. A method comprises receiving a first file comprising sequences of data; creating a hash table having entries corresponding to overlapping sequences of data; receiving a second file comprising sequences of data; comparing each of the sequences of data in the second file to the sequences of data in the hash table to determine sequences of data present in both the first and second files; and creating a third file comprising sequences of data from the second file and representations of locations and lengths of said sequences of data present in both the first and second files.
-
Citations
16 Claims
-
1. A method comprising:
-
(a) receiving, by a device having a first file comprising a first plurality of sequences of data, a second file comprising a second plurality of sequences of data, the device creating a hash table comprising entries corresponding to successive, overlapping byte sequences within the first file; (b) comparing, by the device, hashes for each of the first plurality of sequences of data with hashes for each of the second plurality of sequences of data to identify a first sequence of data and a second sequence of data present in both the first plurality of sequences of data of the first file and the second plurality of sequences of data of the second file; and (c) establishing, by the device, a third file comprising one or more sequences of data from the second file, a representation of a location identifying a number of bytes in the third file between a predetermined byte of representation of the first sequence of data represented in the third file and a predetermined byte of representation of a second sequence of data represented in the third file, and a representation of a length identifying a number of bytes of the first sequence of data bytes matching the second sequence of data bytes. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A system comprising:
-
a device storing a first file comprising a first plurality of sequences of data, the device creating a hash table comprising entries corresponding to successive, overlapping byte sequences within the first file; a transceiver of the device receiving a second file comprising a second plurality of sequences of data; an engine of the device comparing hashes for each of the first plurality of sequences of data with hashes for each of the second plurality of sequences of data to identify a first sequence of data and a second sequence of data present in both the first plurality of sequences of data of the first file and the second plurality of sequences of data of the second file; and wherein the device establishes a third file comprising one or more sequences of data from the second file, a representation of a location identifying a number of bytes in the third file between a predetermined byte of representation of the first sequence of data represented in the third file and a predetermined byte of representation of a second sequence of data represented in the third file, and a representation of a length identifying a number of bytes of the first sequence of data bytes matching the second sequence of data bytes. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. A system comprising:
-
a device intermediary to a client and a server, the device storing a first file communicated between the server and the client, the first file comprising a first plurality of sequences of data, the device creating a hash table comprising entries corresponding to successive, overlapping byte sequences within the first file; a transceiver of the device receiving a second file communicated between the server and the client, the second file comprising a second plurality of sequences of data; an engine of the device comparing hashes for each of the first plurality of sequences of data with hashes for each of the second plurality of sequences of data to identify a first sequence of data and a second sequence of data present in both the first plurality of sequences of data of the first file and the second plurality of sequences of data of the second file; and wherein the device establishes a third file comprising one or more sequences of data from the second file, a representation of a location identifying a number of bytes in the third file between a predetermined byte of representation of the first sequence of data represented in the third file and a predetermined byte of representation of a second sequence of data represented in the third file, and a representation of a length identifying a number of bytes of the first sequence of data bytes matching the second sequence of data bytes. - View Dependent Claims (16)
-
Specification