IP Library Granted Patent US 7,649,909
Granted Patent B1
US 7,649,909 · App. 11/479,270 · Granted Jan 19, 2010

Adaptive tunnel transport protocol

View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 7,649,909
App. No.
11/479,270
Granted
Jan 19, 2010
Kind
B1
Abstract

An exemplary embodiment provides a method for use in a data compression device wherein optimal compression is maintained in response to network characteristics by switching between a first compression mode, including use of a stateful compression algorithm and a reliable transport protocol, to a second compression mode, including a second compression algorithm and an unreliable transport protocol, as needed in order to keep data flowing. In the second compression mode, rather than bypassing an established tunnel between two data compression devices altogether and losing the benefits of compression, this method allows data to be compressed using an algorithm that does not require reliable packet delivery. When a positive change in network conditions is detected, data transmission using the first compression mode resumes.

Claims (48)

1. In a data compression device operable to establish tunnels with remote tunnel partners and further operable to compress data flows, to the remote tunnel partners, utilizing stateless and stateful compression algorithms, a method for providing optimal compression in view of network conditions, the method comprising:

in a first compression and tunneling mode for transmitting data over a computer network:

compressing data flows using the stateless compression algorithm; and

tunneling the data flows compressed using the stateless compression algorithm to a remote tunnel partner over an unreliable datagram transport protocol;

in a second compression and tunneling mode for transmitting data over the computer network:

compressing data flows using the stateful compression algorithm; and

tunneling the data flows compressed using the stateful compression algorithm to a remote tunnel partner over a reliable transport protocol; and

switching between the first and second compression and tunneling modes based on one or more network conditions.

2. The method as recited in claim 1 wherein the one or more network conditions comprises an indication of network loss.

3. The method as recited in claim 2 wherein the indication of network loss is determined via a send window size that falls below a threshold.

4. The method as recited in claim 2 wherein the indication of network loss comprises a threshold number of data re-transmission requests received during a time period.

5. The method as recited in claim 2 wherein the indication of network loss comprises a threshold number of NACKs received during a time period.

6. The method as recited in claim 3 further comprising: when the data compression device is in the second mode, switching from the second mode to the first mode when the send window size falls below the threshold.

7. The method as recited in claim 6 further comprising switching back to the second mode when the send window size goes above the threshold.

8. The method as recited in claim 1 wherein the data flows are written to a TCP socket using a non-blocking mode after being compressed during the second mode.

9. The method as recited in claim 8 wherein the method further comprises:

when the data compression device is in the second mode:

detecting the one of the one or more network conditions;

writing the data flows to the TCP socket using a blocking mode;

switching to the first mode;

monitoring for completion of a transmission of the data flows written to the TCP socket using the non-blocking mode; and

switching to the second mode when the transmission of the data flows has completed.

10. A data compression device operable to establish tunnels with other remote tunnel partners, operable to compress data flows, to the remote tunnel partners, utilizing stateless and stateful compression algorithms and further operable to provide optimal compression in view of network conditions, the data compression device comprising:

one or more network interfaces;

a memory;

one or more processors; and

computer program code, physically stored in the memory, comprising instructions operable to cause the one or more processors and the data compression device to:

in a first compression and tunneling mode for transmitting data over a computer network:

compress data flows using the stateless compression algorithm; and

tunnel the data flows compressed using the stateless compression algorithm to a remote tunnel partner over an unreliable datagram transport protocol;

in a second compression and tunneling mode for transmitting data over the computer network:

compress data flows using the stateful compression algorithm; and

tunnel the data flows compressed using the stateful compression algorithm to a remote tunnel partner over a reliable transport protocol; and

switch between the first and second compression and tunneling modes based on one or more network conditions.

11. The data compression device as recited in claim 10 wherein the one or more network conditions comprises an indication of network loss.

12. The data compression device as recited in claim 11 wherein the indication of network loss is determined via a send window size that falls below a threshold.

13. The data compression device as recited in claim 11 wherein the one or more network conditions comprises a threshold number of data re-transmission requests received during a time period.

14. The data compression device as recited in claim 11 wherein the one or more network conditions comprises a threshold number of NACKs received during a time period.

15. The data compression device as recited in claim 12 wherein the computer program code further comprises instructions operable to cause the one or more processors and the data compression device to switch from the second mode to the first mode when the send window size falls below the threshold.

16. The data compression device as recited in claim 15 wherein the computer program code further comprises instructions operable to cause the one or more processors and the data compression device to switch to the second mode when the send window size goes above the threshold.

17. The data compression device as recited in claim 10 wherein the data flows are written to a TCP socket using a non-blocking mode after being compressed during the second mode.

18. The data compression device as recited in claim 17 wherein the application further comprises instructions operable to cause the one or more processors and the data compression device to:

when the data compression device is in the second mode:

detect the one of the one or more network conditions;

write the data flows to the TCP socket using a blocking mode;

switch to the first mode;

monitor for completion of a transmission of the data flows written to the TCP socket using the blocking mode; and

switch to the second mode when the transmission of the data flows has completed.

Assignments (12)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Nov 21, 2019
From: SYMANTEC CORPORATION
To: CA, INC.
Reel/Frame 051144/0918 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 27, 2016
From: BLUE COAT SYSTEMS, INC.
To: SYMANTEC CORPORATION
Reel/Frame 039851/0044 →
RELEASE OF SECURITY INTEREST Recorded Aug 1, 2016
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 039516/0929 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 30740/0181 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035797/0280 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL AT REEL/FRAME NO. 27727/0144 Recorded May 29, 2015
From: JEFFERIES FINANCE LLC
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 035798/0006 →
SECURITY INTEREST Recorded May 22, 2015
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS THE COLLATERAL AGENT
Reel/Frame 035751/0348 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Jul 3, 2013
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
Reel/Frame 030740/0181 →
RELEASE OF SECURITY INTEREST IN PATENT COLLATERAL RECORDED AT R/F 027727/0178 Recorded Oct 16, 2012
From: JEFFERIES FINANCE LLC, AS COLLATERAL AGENT
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 029140/0170 →
FIRST LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0144 →
SECOND LIEN PATENT SECURITY AGREEMENT Recorded Feb 16, 2012
From: BLUE COAT SYSTEMS, INC.
To: JEFFERIES FINANCE LLC
Reel/Frame 027727/0178 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Dec 1, 2011
From: PACKETEER, INC.
To: BLUE COAT SYSTEMS, INC.
Reel/Frame 027307/0603 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 30, 2006
From: ARCHARD, PAUL LESLIE; IHMELS, TROY S.; CHITTARO, RONALD D.
To: PACKETEER, INC.
Reel/Frame 018035/0271 →