SYSTEMS AND METHODS FOR IDENTIFYING LONG MATCHES OF DATA IN A COMPRESSION HISTORY
First Claim
1. A method for matching fingerprints of data from network traffic to an index of fingerprints identifying locations of stored data in a compression history, the method comprising:
- (a) storing, by a device intermediary to a plurality of clients and a plurality of servers, data from network traffic communicated between the plurality of clients and the plurality of servers in a plurality of storage locations of a compression history, the device establishing a compression index comprising indexes of fingerprints of data stored in the plurality of storage locations of the compression history;
(b) identifying, by the device, that a fingerprint of data received via network traffic between a client and a server matches a plurality of indexes in the compression index, each index of the plurality of indexes identifying one or more storage location identifiers corresponding to a storage location of the plurality of storage locations of the compression history; and
(c) selecting, by the device from the plurality of matching entries, a matching entry having a number of storage location identifiers less than one or more other matching entries from the plurality of matching entries; and
(d) compressing, by the device, the received data using data stored at a storage location identified by the selected matching entry.
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
20 Claims
-
1. A method for matching fingerprints of data from network traffic to an index of fingerprints identifying locations of stored data in a compression history, the method comprising:
-
(a) storing, by a device intermediary to a plurality of clients and a plurality of servers, data from network traffic communicated between the plurality of clients and the plurality of servers in a plurality of storage locations of a compression history, the device establishing a compression index comprising indexes of fingerprints of data stored in the plurality of storage locations of the compression history; (b) identifying, by the device, that a fingerprint of data received via network traffic between a client and a server matches a plurality of indexes in the compression index, each index of the plurality of indexes identifying one or more storage location identifiers corresponding to a storage location of the plurality of storage locations of the compression history; and (c) selecting, by the device from the plurality of matching entries, a matching entry having a number of storage location identifiers less than one or more other matching entries from the plurality of matching entries; and (d) compressing, by the device, the received data using data stored at a storage location identified by the selected matching entry. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A system for matching fingerprints of data from network traffic to an index of fingerprints identifying locations of stored data in a compression history, the system comprising:
-
a compression history comprising a plurality of storage locations; a compression index comprising indexes of fingerprints of data stored in the plurality of storage locations of the compression history, each index of the plurality of indexes identifying one or more storage location identifiers corresponding to a storage location of the plurality of storage locations of the compression history; a device intermediary to a plurality of clients and a plurality of servers storing data received from network traffic between the plurality of clients and the plurality of servers to the compression history; a compression engine identifying that a fingerprint of data received via network traffic between a client and a server matches a plurality of indexes in the compression index and selecting from the plurality of matching entries, a matching entry having a number of storage location identifiers less than one or more other matching entries from the plurality of matching entries; and wherein the compression engine compresses the received data using data stored at a storage location identified by the selected matching entry. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20)
-
Specification