US2007195807A1PendingUtilityA1

Methods and Systems for Establishing Communications Through Firewalls and Network Address Translators

50
Assignee: MICROSOFT CORPPriority: Dec 17, 2001Filed: Apr 27, 2007Published: Aug 23, 2007
Est. expiryDec 17, 2021(expired)· nominal 20-yr term from priority
H04L 2101/663H04L 61/2567H04L 61/00H04L 61/2578H04L 69/329H04L 63/029H04L 67/104H04L 67/14
50
PatentIndex Score
0
Cited by
0
References
0
Claims

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.

Claims

exact text as granted — not AI-modified
1 . A method for a first computing device to establish communications with a second computing device, the method comprising: 
 sending a first invitation for the second computing device to a rendezvous service;    receiving a failure message from the rendezvous service indicating a failed attempt to establish communications by the second computing device with the first computing device, the failed attempt responsive to the first invitation; and    sending a second invitation for the second computing device to the second computing device.    
     
     
         2 . The method of  claim 1  further comprising accepting an attempt to establish communications by the second computing device.  
     
     
         3 . The method of  claim 1  wherein the second invitation is sent to the second computing device using an address, the address including a port number wherein the port number is  443  or  80 .  
     
     
         4 . The method of  claim 1  wherein the second computing device is behind a communications blocker.  
     
     
         5 . The method of  claim 1  further comprising: 
 sending a third invitation for the second computing device to a rendezvous service, the third invitation specifying a relay service; and    accepting an attempt to establish communications by the second computing device via the relay service.    
     
     
         6 . The method of  claim 5  wherein the first computing device is behind a communications blocker and the second computing device is behind a communications blocker.  
     
     
         7 . The method of  claim 5  wherein the communications passes through a port  80  or a port  443 .  
     
     
         8 . The method of  claim 5  wherein the communications passes through at least a portion of the public Internet.  
     
     
         9 . A computer-readable medium whereon is stored computer-executable instructions sufficient to perform a method for a first computing device to establish communications with a second computing device, the method comprising: 
 sending a first invitation for the second computing device to a rendezvous service;    receiving a failure message from the rendezvous service indicating a failed attempt to establish communications by the second computing device with the first computing device, the failed attempt responsive to the first invitation; and    sending a second invitation for the second computing device to the second computing device.    
     
     
         10 . The computer-readable medium of  claim 9 , the method further comprising accepting an attempt to establish communications by the second computing device.  
     
     
         11 . The computer-readable medium of  claim 9 , the method wherein the second invitation is sent to the second computing device using an address, the address including a port number wherein the port number is  443  or  80 .  
     
     
         12 . The computer-readable medium of  claim 9  wherein the second computing device is behind a communications blocker.  
     
     
         13 . The computer-readable medium of  claim 9 , the method further comprising: 
 sending a third invitation for the second computing device to a rendezvous service, the third invitation specifying a relay service; and    accepting an attempt to establish communications by the second computing device via the relay service.    
     
     
         14 . The computer-readable medium of  claim 13  wherein the first computing device is behind a communications blocker and the second computing device is behind a communications blocker.  
     
     
         15 . The computer-readable medium of  claim 13  wherein the communications passes through a port  80  or a port  443 .  
     
     
         16 . The computer-readable medium of  claim 13  wherein the communications passes through at least a portion of the public Internet.

Cited by (0)

No later patents cite this yet.

References (0)

No backward citations on record.