SYSTEMS AND METHODS OF COMPRESSION HISTORY EXPIRATION AND SYNCHRONIZATION
First Claim
1. A method for synchronizing compression histories shared between two devices, the method comprising:
- (a) storing, by a first device, a first compression history, the compression history comprising a plurality of portions of data previously transmitted to a second device, each portion of data having a location identifier;
(b) creating, by the first device, an ordered list of location identifiers ordered by a time the first device last accessed a portion of data in a location corresponding to each identifier;
(c) receiving, by the first device from the second device, information identifying a quantity of location identifiers of a corresponding second compression history on the second device;
(d) determining, by the first device, the received quantity is less than a quantity of location identifiers of the first compression history by a first amount; and
(e) selecting for obsolescence, from the list of location identifiers, the first amount of location identifiers at an end of the ordered list corresponding to least recently accessed portions of data.
8 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, compression history indexes and caches 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
25 Claims
-
1. A method for synchronizing compression histories shared between two devices, the method comprising:
-
(a) storing, by a first device, a first compression history, the compression history comprising a plurality of portions of data previously transmitted to a second device, each portion of data having a location identifier; (b) creating, by the first device, an ordered list of location identifiers ordered by a time the first device last accessed a portion of data in a location corresponding to each identifier; (c) receiving, by the first device from the second device, information identifying a quantity of location identifiers of a corresponding second compression history on the second device; (d) determining, by the first device, the received quantity is less than a quantity of location identifiers of the first compression history by a first amount; and (e) selecting for obsolescence, from the list of location identifiers, the first amount of location identifiers at an end of the ordered list corresponding to least recently accessed portions of data. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)
-
-
13. A device which synchronizes compression histories shared between the device and a second device, the device comprising:
-
a storage element which stores a first compression history, the compression history comprising a plurality of chunks comprising data previously transmitted to a second device, each chunk having a unique identifier; and a compression engine in communication with the storage element which maintains a list of chunks wherein the chunks are ordered according to the time last accessed;
receives, from the second device, an indication of the number of chunks in a corresponding second compression history on the second computing device;
determines that the received number is less than the number of chunks in the first compression history by an amount; and
deactivates by the first device from the first compression history, the amount of chunks, wherein the selected chunks comprise the least recently used chunks. - View Dependent Claims (14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25)
-
Specification