Patent ID: 9590821
Date: 2017-03-07
CPC Classifications: H04L

Claim:
1. A communication system for transmitting data under a tunnel protocol between at least two computers via a wide area network, said system comprising: a first computer running a first user application and a virtual private network application which is designed to build up TCP (Transmission Control Protocol) and UDP (User Datagram Protocol) tunnels with according tunnel endpoints, a second computer running a second user application and a VPN (Virtual Private Network) application which again is designed to build up TCP and UDP tunnels with according tunnel endpoints, and a wide area network to which the first and second computers are connected by physical connections, wherein the first and second user applications are implemented to communicate for an IP (Internet Protocol) data packet exchange via at least one of the TCP tunnels and the UDP tunnel using at least one of a TCP and a UDP transport protocol based on according TCP, UDP and IP stacks on the first and second computers, the system further comprising: a splitter which is one of implemented in and associated to at least one of the first and second computers which splitter analyzes the IP data packets to be sent from one of the computers to the other computer as concerns a type of the IP data packets and directs IP data packets of the TCP type to be transmitted over a TCP tunnel and IP data packets of the UDP type to be transmitted over a UDP tunnel, wherein the first and second user applications are implemented to communicate for an IP data packet exchange via at least the TCP tunnel using the TCP transport protocol based on according TCP stacks and IP stacks on the first and second computers, wherein an intermediate TCP stack unit including a tunnel-sided TCP stack and a user application sided TCP stack, which are internally coupled by an internal communication connection, is implemented in at least one of the tunnel endpoints of the TCP tunnel between the TCP tunnel and the TCP stack of the according user application, the tunnel-sided TCP stack terminates the at least one TCP session, encapsulated by the TCP tunnel in the tunnel endpoint and provides for a data volume buffer, and a separate TCP data connection is present between the user application-sided TCP stack and the TCP stack of the user application which separate TCP data connection is controlled by the user application-sided TCP stack depending on a data volume buffer status reported by the tunnel-sided TCP stack.