Systems and methods for communicating a lossy protocol via a lossless protocol
First Claim
1. A method for transmitting packets from an application using an unreliable transport protocol over a TCP connection, comprising:
- receiving, at a first device, a first packet to be transmitted using an unreliable transport protocol;
creating a first TCP packet including a first payload of the received first packet and a first TCP header of information associated with a TCP connection established between the first device and a second device;
transmitting, by the first device, the first TCP packet to the second device;
receiving, at the first device, a second packet to be transmitted using an unreliable transport protocol;
creating a second TCP packet including a second payload of the received second packet and the first TCP header information; and
transmitting, by the first device, before receipt of an acknowledgement of the receipt of the first payload from the second device, the second TCP packet to the second device, the first and second TCP packets intercepted by a filter process of the second device, the filter process stripping the TCP header from the received packets and forwarding the stripped packets, circumventing a TCP stack on the second device, to an intended destination.
8 Assignments
0 Petitions
Accused Products
Abstract
The present invention is generally directed towards a remote access architecture for providing peer-to-peer communications and remote access connectivity. In one embodiment, the remote access architecture of the present provides a method for establishing a direct connection between peer computing devices via a third computing device, such as a gateway. Additionally, the present invention provides the following techniques to optimize peer-to-peer communications: 1) false acknowledgement of receipt of network packets allowing communications via a lossless protocol of packets constructed for transmission via a lossy protocol, 2) payload shifting of network packets allowing communications via a lossless protocol of packets constructed for transmission via a lossy protocol, 3) reduction of packet fragmentation by adjusting the maximum transmission unit (MTU) parameter, accounting for overhead due to encryption, 4) application-aware prioritization of client-side network communications, and 5) network disruption shielding for reliable and persistent network connectivity and access.
344 Citations
15 Claims
-
1. A method for transmitting packets from an application using an unreliable transport protocol over a TCP connection, comprising:
- receiving, at a first device, a first packet to be transmitted using an unreliable transport protocol;
creating a first TCP packet including a first payload of the received first packet and a first TCP header of information associated with a TCP connection established between the first device and a second device;
transmitting, by the first device, the first TCP packet to the second device;
receiving, at the first device, a second packet to be transmitted using an unreliable transport protocol;
creating a second TCP packet including a second payload of the received second packet and the first TCP header information; and
transmitting, by the first device, before receipt of an acknowledgement of the receipt of the first payload from the second device, the second TCP packet to the second device, the first and second TCP packets intercepted by a filter process of the second device, the filter process stripping the TCP header from the received packets and forwarding the stripped packets, circumventing a TCP stack on the second device, to an intended destination. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
- receiving, at a first device, a first packet to be transmitted using an unreliable transport protocol;
-
9. A system for transmitting packets from an application using an unreliable transport protocol over a TCP connection, the system comprising:
- a first device, the first device comprising;
an application generating a first and second packet, the first and second packet intended to be transmitted using an unreliable transport protocol;
a filter process, the filter process intercepting the first and second packets from the application and forwarding the intercepted packets to a tunnel process; and
a tunnel process, the tunnel process requesting the opening of a TCP connection between the first device and a second device, the request to open the TCP connection indicating to the first and second device that the TCP connection will transport packets intended to be transmitted with an unreliable transport protocol, the tunnel process forwarding the first and second packets as payloads in a first and second TCP packet to the second device, the tunnel process sending the second TCP packet after sending the first TCP packet and prior to receiving an acknowledgement for the first TCP packet; and
a second device in communication with the first device, the second device comprising;
a second tunnel process opening the TCP connection requested by the first device, the second tunnel process identifying and forwarding the source address of the TCP connection to a second filter process; and
the second filter process, the second filter process intercepting packets from the application received at the second device with the TCP connection source address in a header, the second filter process stripping the TCP header from the received packets and forwarding the stripped packets, circumventing a TCP/IP stack on the second device, to an intended destination. - View Dependent Claims (10, 11, 12, 13, 14, 15)
- a first device, the first device comprising;
Specification