Method and Systems for Efficient Delivery of Previously Stored Content
First Claim
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;
(b) identifying, by the device, 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 between a predetermined byte of the first sequence of data and a predetermined byte of a second sequence of data, and a representation of a length identifying a number of bytes of the first sequence of data matching the second sequence of data.
7 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.
89 Citations
20 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; (b) identifying, by the device, 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 between a predetermined byte of the first sequence of data and a predetermined byte of a second sequence of data, and a representation of a length identifying a number of bytes of the first sequence of data matching the second sequence of data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system comprising:
-
a device storing a first file comprising a first plurality of sequences of data, a transceiver of the device receiving a second file comprising a second plurality of sequences of data; an engine of the device identifying 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 between a predetermined byte of the first sequence of data and a predetermined byte of a second sequence of data, and a representation of a length identifying a number of bytes of the first sequence of data matching the second sequence of data. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18)
-
-
19. 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, 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 identifying 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 between a predetermined byte of the first sequence of data and a predetermined byte of a second sequence of data, and a representation of a length identifying a number of bytes of the first sequence of data matching the second sequence of data. - View Dependent Claims (20)
-
Specification