Methods and systems for establishing communications through firewalls and network address translators
First Claim
1. A method for a first computing device to establish communications with a second computing device, the method comprising:
- sending a first communications request addressed to a rendezvous service, the first communications request specifying the second computing device; and
waiting to receive communications from the second computing device.
2 Assignments
0 Petitions
Accused Products
Abstract
Disclosed are methods that enable communications to be established regardless of the presence of communications blockers, e.g., firewalls and NATs, in the path between two computing devices. Two devices each establish communications with a rendezvous service. Through the service, the devices signal each other to set up direct, peer-to-peer communications between themselves. If the devices fail to establish direct communications, then they invoke a relay service that provides the illusion of direct communications. In another aspect, an originating device attempts to establish communications with a recipient, using an address and port number associated with the recipient. If that attempts fails, possibly because a firewall is blocking communications, then the originating device retries using a port normally held open by firewalls. If this attempt also fails, then the originating device invokes the services of a proxy to negotiate a port acceptable for use by the recipient and by any intervening firewalls.
253 Citations
43 Claims
-
1. A method for a first computing device to establish communications with a second computing device, the method comprising:
-
sending a first communications request addressed to a rendezvous service, the first communications request specifying the second computing device; and
waiting to receive communications from the second computing device. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method for a second computing device to establish communications with a first computing device, the method comprising:
-
receiving a first communications request from a rendezvous service, the first communications request specifying the first computing device;
sending communications addressed to the first computing device; and
waiting to receive communications from the first computing device. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A method for a first computing device to establish communications with a second computing device, the method comprising:
-
sending first communications addressed to the second computing device, using an address and a first port number associated with the second computing device;
waiting to receive communications from the second computing device;
waiting for a first failure indication, indicating that the first communications failed to establish communications with the second computing device; and
if the first failure indication occurs before communications from the second computing device are received, then sending second communications addressed to the second computing device, using the address associated with the second computing device and a second port number. - View Dependent Claims (23, 24, 25, 26, 27, 28, 29, 30, 31, 32)
-
-
33. A method for a first computing device to establish communications with a second computing device, the method comprising:
-
sending first communications addressed to the second computing device, using an address and a first port number associated with the second computing device;
waiting to receive communications from the second computing device;
waiting for a first failure indication, indicating that the first communications failed to establish communications with the second computing device; and
if the first failure indication occurs before communications from the second computing device are received, then sending a first communications request to a proxy, requesting a proxy connection to the second computing device using the address and first port number associated with the second computing device. - View Dependent Claims (34, 35, 36, 37, 38, 39, 40, 41, 42, 43)
-
Specification