Method and apparatus for remotely controlling a computer with peer-to-peer command and data transfer
First Claim
1. An Internet-accessible gateway to facilitate communications between a client computer and a host computer, comprising:
- a processor;
code executed by the processor to perform the following method steps;
transferring commands and data through a communication path between the host computer and the client computer through the gateway to initiate a remote access operation with respect to the host computer;
attempting to establish a peer-to-peer connection associated with the client computer and the host computer so that further commands and data associated with the remote access operation can be sent between the client computer and host computer directly instead of over the communication path, where the peer-to-peer connection is attempted to be established by performing the following sub-steps at the gateway;
instructing the host computer and the client computer to each transmit a plurality of UDP data packets to different external network addresses;
based on the responses to the UDP data packets, predicting a port that the host will use to transmit a future data packet, and predicting a port that the client computer will use to transmit a future data packet;
based at least in part on the predicted ports, attempting to establish a UDP connection associated with the host computer and the client computer; and
after the UDP connection is established, attempting to establish a TCP-based connection layer over the UDP connection for transfer of further commands and data associated with the remote access operation.
13 Assignments
0 Petitions
Accused Products
Abstract
A remote access session is established between client and host computers with the assistance of a gateway. The gateway requests the host computer to send a plurality of data packets to different external addresses and monitors the network ports used for these outgoing packets. The gateway then uses the network port information to predict which port the host will use to transmit future outgoing data packets. A similar process is performed on the client computer. The gateway then directs the client computer to send further data packets to the network address and the predicted port of the host computer. Similarly, the host computer is directed to send further data packets to the network address and predicted port of the client computer. The computers are then directly connected together so that further data communications bypass the gateway.
42 Citations
7 Claims
-
1. An Internet-accessible gateway to facilitate communications between a client computer and a host computer, comprising:
-
a processor; code executed by the processor to perform the following method steps; transferring commands and data through a communication path between the host computer and the client computer through the gateway to initiate a remote access operation with respect to the host computer; attempting to establish a peer-to-peer connection associated with the client computer and the host computer so that further commands and data associated with the remote access operation can be sent between the client computer and host computer directly instead of over the communication path, where the peer-to-peer connection is attempted to be established by performing the following sub-steps at the gateway; instructing the host computer and the client computer to each transmit a plurality of UDP data packets to different external network addresses; based on the responses to the UDP data packets, predicting a port that the host will use to transmit a future data packet, and predicting a port that the client computer will use to transmit a future data packet; based at least in part on the predicted ports, attempting to establish a UDP connection associated with the host computer and the client computer; and after the UDP connection is established, attempting to establish a TCP-based connection layer over the UDP connection for transfer of further commands and data associated with the remote access operation. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
Specification