Systems and methods for sharing compression histories between multiple devices
First Claim
1. A method for sharing compression histories among a plurality of devices to improve compression of data transmitted via a plurality of connections, the method comprising:
- (a) transmitting, by a first device to a second device, a first data stream, the first data stream compressed according to a first compression history shared between the first device and the second device;
(b) receiving, by the first device, a second data stream intended for a third device;
(c) identifying, by the first device, that a portion of the second data stream matches a portion of the first compression history; and
(d) transmitting, by the first device to the second device, information identifying the portion of the first compression history.
9 Assignments
0 Petitions
Accused Products
Abstract
Systems and methods of storing previously transmitted data and using it to reduce bandwidth usage and accelerate future communications are described. By using algorithms to identify long compression history matches, a network device may improve compression efficiently and speed. A network device may also use application specific parsing to improve the length and number of compression history matches. Further, by sharing compression histories and compression history indexes across multiple devices, devices can utilize data previously transmitted to other devices to compress network traffic. Any combination of the systems and methods may be used to efficiently find long matches to stored data, synchronize the storage of previously sent data, and share previously sent data among one or more other devices.
-
Citations
60 Claims
-
1. A method for sharing compression histories among a plurality of devices to improve compression of data transmitted via a plurality of connections, the method comprising:
-
(a) transmitting, by a first device to a second device, a first data stream, the first data stream compressed according to a first compression history shared between the first device and the second device; (b) receiving, by the first device, a second data stream intended for a third device; (c) identifying, by the first device, that a portion of the second data stream matches a portion of the first compression history; and (d) transmitting, by the first device to the second device, information identifying the portion of the first compression history. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A first device for sharing compression histories among a plurality of devices to improve compression of data transmitted via a plurality of connections, the first device comprising:
-
a packet processor which transmits, to a second device, a first data stream, the first data stream compressed according to a first compression history shared between the first device and the second device; and
receives a second data stream intended for a third device; anda compression engine which identifies that a portion of the second data stream matches a portion of the first compression history; and
transmits, to the second device, information identifying the portion of the first compression history. - View Dependent Claims (22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36)
-
-
37. A system for sharing compression histories among a plurality of devices to improve compression of data transmitted via a plurality of connections, the system comprising:
-
means for transmitting, by a first device to a second device, a first data stream, the first data stream compressed according to a first compression history shared between the first device and the second device; means for receiving, by the first device, a second data stream intended for a third device; means for identifying, by the first device, that a portion of the second data stream matches a portion of the first compression history; and means for transmitting, by the first device to the second device, information identifying the portion of the first compression history.
-
-
38. A method for sharing compression histories among a plurality of devices to improve compression of data transmitted via a plurality of connections, the method comprising:
-
(a) transmitting, between a first device and a second device, a first data stream, the first data stream compressed according to a first compression history shared between the first device and the second device; (b) receiving, by the first device from a third device, information identifying a portion of the first compression history; and (c) transmitting, by the first device to the third device, the identified portion of the first compression history. - View Dependent Claims (39, 40, 41)
-
-
42. A first device for sharing compression histories among a plurality of devices to improve compression of data transmitted via a plurality of connections, the first device comprising:
-
a packet processor which transmits, to a second device, a first data stream, the first data stream compressed according to a first compression history shared between the first device and the second device; and
which receives, from the second device, information identifying a third device and a portion of the first compression history; anda compression engine in communication with the packet processor which transmits, by the first device to the third device, the identified portion of the first compression history. - View Dependent Claims (43)
-
-
44. A method for sharing compression histories among a plurality of devices to improve compression of data transmitted via a plurality of connections, the method comprising:
-
(a) receiving, by a first device from a second device, a data stream, the data stream compressed according to a compression history shared between the first device and a third device; (b) identifying, by the first device, the third device; (c) transmitting, by the first device to the third device, a request for a portion of the compression history; (d) receiving, by the first device from the third device, the requested portion of the compression history; and (e) decompressing, by the first device, the data stream. - View Dependent Claims (45, 46, 47, 48, 49, 50, 51)
-
-
52. A first device for sharing compression histories among a plurality of devices to improve compression of data transmitted via a plurality of connections, the first device comprising:
-
a packet processor which receives from a second device, a data stream, the data stream compressed according to a compression history shared between the first device and a third device; and a compression engine, in communication with the packet processor, which identifies the third device;
transmits, to the third device, a request for a portion of the compression history;
receives, from the third device, the requested portion of the compression history; and
decompresses the data stream. - View Dependent Claims (53, 54, 55, 56, 57, 58, 59)
-
-
60. A system for sharing compression histories among a plurality of devices to improve compression of data transmitted via a plurality of connections, the system comprising:
-
means for receiving, by a first device from a second device, a data stream, the data stream compressed according to a compression history shared between the first device and a third device; means for identifying, by the first device, the third device; means for transmitting, by the first device to the third device, a request for a portion of the compression history; means for receiving, by the first device from the third device, the requested portion of the second history; and means for decompressing, by the first device, the data stream.
-
Specification