Accelerating data communication using tunnels
First Claim
1. 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.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods and systems are provided for increasing application performance and accelerating data communications in a WAN environment. According to one embodiment, packets are received at a flow classification module operating at the Internet Protocol (IP) layer of a first wide area network (WAN) acceleration device via a shared connection-oriented tunnel, which is operable to convey application layer data for connection-oriented applications between WAN acceleration devices. Packets that are classified as being associated with an existing connection-oriented flow are passed to a WAN socket operating at the transport layer. Based on the application protocol, the packets are passed to an application handler of multiple application handlers operating at the application layer each of which implements one or more application acceleration techniques for a particular poorly behaved WAN protocol. The existing connection-oriented flow is securely accelerated by performing one or more application acceleration techniques and applying one or more security functions.
49 Citations
14 Claims
-
1. 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. - View Dependent Claims (2, 3, 4, 5)
-
-
6. A non-transitory program storage device readable by one or more processors of a network device, tangibly embodying a program of instructions executable by the one or more processors to perform method steps for securely accelerating wide area network (WAN) traffic, said method steps comprising:
-
receiving, by a flow classification module of the network device operable at an Internet Protocol (IP) layer of a protocol stack of the network device, packets from a peer WAN acceleration device via a shared connection-oriented tunnel established between the network device and the peer WAN acceleration device, the shared connection-oriented tunnel operable to convey application layer data for connection-oriented applications between the network device and the peer 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 of the network device operable 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; accelerating the existing connection-oriented flow, by the application handler, by performing the one or more application acceleration techniques; 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. - View Dependent Claims (7, 8, 9)
-
-
10. A wide area network (WAN) traffic acceleration system comprising:
one or more computer processors operable to collectively execute at least; a protocol stack; a plurality of application handlers, each of the application handlers operable to securely accelerate a connection-oriented flow between the WAN traffic acceleration system and a peer WAN traffic acceleration system by implementing (i) one or more security functions and (ii) one or more application acceleration techniques for a particular application layer protocol of a plurality of application layer protocols that are operable at an application layer of the protocol stack and known to behave poorly within a WAN environment; a WAN socket operable at a transport layer of the protocol stack to pass packets to an appropriate application handler of the plurality of application handlers based on the application layer protocol of the plurality of application layer protocols with which the packets are associated; and a flow classification module operable to; receive, at an Internet Protocol (IP) layer of the protocol stack, packets from the peer WAN traffic acceleration system via a shared connection-oriented tunnel established between the WAN traffic acceleration system and the peer WAN traffic acceleration system, wherein the shared connection-oriented tunnel is operable to convey application layer data for connection-oriented applications between the WAN traffic acceleration system and the peer WAN traffic acceleration system; and pass to the WAN socket those of the packets classified as being associated with a connection-oriented flow capable of being accelerated by one of the plurality of application handlers; 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 classifying and tagging a data stream as being at a stage in which associated data is unlikely repeatable, repeatable but not stable or stable. - View Dependent Claims (11, 12, 13, 14)
Specification