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.
9 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.
-
Citations
21 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. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8)
-
-
9. A method for transmitting packets from an application using an unreliable transport protocol over a TCP connection, comprising:
-
intercepting, at a second device, a first TCP packet created on a first device and received on the second device, the first TCP packet including a first payload of a first packet generated by an application using an unreliable protocol and a first TCP header of information associated with a TCP connection established between the first device and the second device, the intercepting occurring before the first TCP packet is provides to a TCP stack on the second device;
identifying, responsive to the TCP header of information, that the first payload is a packet generated by an application using an unreliable transport protocol;
stripping the TCP header of information from the first TCP packet; and
forwarding the first payload to an application using the unreliable data protocol. - View Dependent Claims (10, 11, 12, 13, 14)
-
-
15. 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 the TCP/IP stack on the second device, to an intended destination. - View Dependent Claims (16, 17, 18, 19, 20, 21)
-
Specification