×

Systems and methods of symmetric transport control protocol compression

  • US 8,694,684 B2
  • Filed: 08/21/2006
  • Issued: 04/08/2014
  • Est. Priority Date: 08/21/2006
  • Status: Active Grant
First Claim
Patent Images

1. A method for compressing a stream of application layer network traffic communicated over a transport layer connection of a virtual private network connection established between a client and a server via an appliance, the method comprising the steps of:

  • intercepting, by an appliance from a server, one or more transport layer packets comprising a stream of application network traffic communicated via a transport layer connection of a virtual private network connection between a client and the server, wherein application layer data from each payload of the intercepted one or more transport layer packets is accumulated by the appliance to form a quantum of data for compression;

    resetting, by the appliance upon interception of each of the one or more transport layer packets, a timer set to a predetermined amount of time to wait before compressing the accumulated data;

    intercepting, by the appliance prior to receiving enough application layer data to form the quantum of data for compression, an additional transport layer packet of the stream of application network traffic communicated via the transport layer connection, the additional transport layer packet including a transport layer command;

    resetting the timer, by the appliance, responsive to interception of the additional transport layer packet;

    determining, by the appliance, to compress the accumulated application layer data of the one or more intercepted transport layer packets and the intercepted additional transport layer packet prior to accumulating a complete quantum of data, responsive to the transport layer command of the intercepted additional transport layer packet triggering a compression trigger;

    compressing, by the appliance, the accumulated application layer data of less than a complete quantum of data into a self-contained compression block;

    transmitting, by the appliance, the self-contained compression block to the client for interception by a client agent executed by the client;

    intercepting, by the appliance, a second self-contained compression block transmitted from the client, the second self-contained compression block comprising accumulated application layer data transmitted by an application of the client, intercepted and compressed by the client agent;

    resetting, by the appliance upon receipt of the second self-contained compression block, a second timer set to a predetermined amount of time to wait before decompressing and transmitting received application layer data to the server;

    receiving, by the appliance from the client agent prior to expiration of the second timer, a third self-contained compression block;

    determining, by the appliance, that receipt of the third self-contained compression block exceeds a predetermined flush threshold of received compression blocks not yet sent to the server; and

    decompressing and transmitting, by the appliance to the server, the received second and third self-contained compression blocks, responsive to the determination that the receipt of the third self-contained compression block exceeds the predetermined threshold.

View all claims
  • 8 Assignments
Timeline View
Assignment View
    ×
    ×