Patent ID: 8503332

Claim:
A computer-implemented method comprising: receiving, by a flow classification module executing on a first wide area network (WAN) acceleration device at an Internet Protocol (IP) layer of a protocol stack of the first WAN acceleration device, packets from a second WAN acceleration device via a shared connection-oriented tunnel established between the first WAN acceleration device and the second WAN acceleration device, the shared connection-oriented tunnel operable to convey application layer data for connection-oriented applications between the first WAN acceleration device and the second WAN acceleration device; after classifying, by the flow classification module, the packets as being associated with an existing connection-oriented flow, passing the packets to a WAN socket executing on the first WAN acceleration device at a transport layer of the protocol stack; based on an application layer protocol operable at an application layer of the protocol stack with which the packets are associated, passing, by the WAN socket, the packets to an application handler of a plurality of application handlers executing on the first WAN acceleration device at the application layer of the protocol stack, each of the plurality of application handlers implementing one or more application acceleration techniques for a particular application layer protocol of a plurality of application layer protocols that are operable at the application layer and known to behave poorly within a WAN environment; securely accelerating the existing connection-oriented flow, by the application handler, by performing the one or more application acceleration techniques and applying one or more security functions; wherein the one or more application acceleration techniques include one or more of (i) transaction prediction, (ii) pre-population and (iii) classification of data streams into different stages to facilitate one or more of data reduction, data compression and quality of service; and wherein the classification of data streams into different stages includes the application handler classifying and tagging a data stream as being at a stage in which associated data is unlikely repeatable, repeatable but not stable or stable.