IPC분류정보
국가/구분 |
United States(US) Patent
등록
|
국제특허분류(IPC7판) |
|
출원번호 |
US-0685172
(2007-03-12)
|
등록번호 |
US-8255570
(2012-08-28)
|
발명자
/ 주소 |
- Samuels, Allen
- Jensen, Richard
- Dittia, Zubin
- Decasper, Dan
- Ovsiannikov, Michael
- Plamondon, Robert
|
출원인 / 주소 |
|
대리인 / 주소 |
|
인용정보 |
피인용 횟수 :
10 인용 특허 :
203 |
초록
▼
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
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.
대표청구항
▼
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 first compression history comprising a plurality of portions of data previously transmitted to a second device, each portion of data
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 first compression history comprising a plurality of portions of data previously transmitted to a second device, each portion of data having a location identifier, the first compression history maintaining a first quantity of location identifiers;(b) creating, by the first device, an ordered list of location identifiers ordered by a time the first device last used a portion of data in a location corresponding to each location identifier to compress data streams transmitted to the second device, the first device placing at a front of the ordered list location identifiers to newly used portions of the compression history as the newly used portions are used to compress data streams transmitted to the second device;(c) receiving, by the first device from the second device, information identifying a second quantity of location identifiers stored on the second device's compression history that correspond to the first compression history of the first device;(d) determining, by the first device, the second quantity is less than the first 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 used portions of data for compression between the first device and the second device. 2. The method of claim 1, further comprising deactivating, by the first device from the first compression history, the portions of data corresponding to the location identifiers selected for obsolescence. 3. The method of claim 1, wherein the device comprises a transparent proxy. 4. The method of claim 1, wherein the device comprises a transparent proxy performing wide area network (WAN) acceleration functions. 5. The method of claim 1, wherein the device comprises one of a client, a server, or a network appliance. 6. The method of claim 1, wherein step (a) comprises 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 globally unique location identifier. 7. The method of claim 1, wherein step (b) comprises inserting, by the first device in response to accessing a portion of data in the first compression history, a location identifier corresponding to the portion of data at an end of the ordered list of identifiers corresponding to most recently accessed portions of data. 8. The method of claim 1, wherein step (b) comprises inserting, by the first device in response to creating a portion of data in the first compression history, a location identifier corresponding to the portion of data to the head of the list of identifiers. 9. The method of claim 1, wherein step (c) comprises receiving, by the first device from the second device in response to establishing a connection with the second device, information identifying a quantity of location identifiers of a corresponding second compression history on the second device. 10. The method of claim 1, further comprising deleting, by the first device from the first compression history, the portions of data corresponding to the location identifiers selected for obsolescence. 11. The method of claim 1, further comprising removing, by the first device from the list of location identifiers, the location identifiers selected for obsolescence. 12. The method of claim 1, further comprising deactivating, by the first device from the first compression history, the portions of data corresponding to the location identifiers selected for obsolescence, and wherein at least one of the deactivated portions is maintained as active with respect to a third compression history on the first device. 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 first compression history comprising a plurality of portions of data previously transmitted to a second device, each portion of data having a location identifier, the first compression history maintaining a first number of location identifiers; and a compression engine in communication with the storage element which maintains a list of location identifiers wherein the location identifiers are ordered according to the time last used a portion of data in a location corresponding to each location identifier to compress data streams transmitted to the second device, the compressing engine placing at a front of the list location identifiers to newly used portions of data of the compression history as the newly used portions of data are used to compress data streams transmitted to the second device;receives, from the second device, information identifying a second number of location identifiers stored on the second device's compression history that correspond to the first compression history of the device;determines that the second number of location identifiers is less than the first number of location identifiers in the first compression history by an amount; and selecting for obsolescence from the list of location identifies of the first compression history the amount of location identifiers at the end of the ordered list corresponding to the least recently used portions of data for compression between the first device and the second device. 14. The system of claim 13, wherein the compression engine deactivates, from the first compression history, the portions of data corresponding to the obsolescent location identifiers. 15. The system of claim 13, wherein the device comprises a transparent proxy. 16. The system of claim 13, wherein the device comprises a transparent proxy performing wide area network (WAN) acceleration functions. 17. The system of claim 13, wherein the device comprises one of a client, a server, or a network appliance. 18. The system of claim 13, wherein the storage element stores 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 globally unique location identifier. 19. The system of claim 13, wherein the storage element stores a first compression history, the compression history comprising a plurality of portions of data comprising data previously transmitted to a second device, each chunk of data having a globally unique location identifier. 20. The system of claim 13, wherein the compression engine inserts, in response to accessing a portion of data in the first compression history, a location identifier corresponding to the portion of data at an end of an ordered list of identifiers corresponding to portions of data last accessed. 21. The system of claim 13, wherein the compression engine inserts, in response to creating a portion of data in the first compression history, a location identifier corresponding to the portion of data to the head of the list of identifiers. 22. The system of claim 13, wherein the compression engine receives, from the second device in response to establishing a connection with the second device, information identifying a quantity of location identifiers of a corresponding second compression history on the second device. 23. The system of claim 13, wherein the compression engine deletes, from the first compression history, the portions of data corresponding to the obsolescent location identifiers. 24. The system of claim 13, wherein the compression engine removes, from the list of location identifiers, the obsolescent portions of data. 25. The system of claim 13, wherein the compression engine deactivates, from the first compression history, the portions of data corresponding to the obsolescent location identifiers, and maintains at least one of the obsolescent portions as active with respect to a third compression history on the first device. 26. A method for synchronizing compression histories shared between two devices, each device deployed between one or more clients and one or more servers, the method comprising: (a) storing, by a first device deployed between one or more clients and one or more servers, a first compression history, the first compression history comprising a plurality of portions of data previously transmitted to a second device, each portion of data from the plurality of portions of data having a location identifier;(b) creating, by the first device, an ordered list of location identifiers ordered by a last time the first intermediary device used each portion of data for compressing one or more data streams;(c) receiving, by the first device from the second device deployed between one or more clients and one or more servers, information identifying a total number of portions of data stored on the second device's compression history that correspond to the first compression history of the first device;(d) determining, by the first device, an amount of difference between the received total number and a total number of portions of data of the first compression history; and(e) selecting for obsolescence, from an end of the ordered list of location identifiers, an amount of location identifiers equal to the determined amount of difference, the selected list of local identifiers corresponding to those portions of data least recently used for compressing one or more data streams.
※ AI-Helper는 부적절한 답변을 할 수 있습니다.