NAT traversal for media conferencing
First Claim
Patent Images
1. A method of initiating a peer-to-peer network, comprising:
- sending an address-determination message from a first computer to an address-determination server located over a public network, wherein the first computer is located in a private network behind a network address translator (NAT) device, wherein the NAT device is a different device from the address-determination server;
receiving at the first computer a reply to the address-determination message from the address determination server;
determining, by the first computer based on the reply received from the address determination server, one or more first addresses that the first computer can be reached over the public network and the NAT device;
composing and sending from the first computer to a Relay server a message comprising a request to initiate a peer-to-peer connection with a second computer that is not a member of the private network and the one or more first addresses corresponding to the first computer, wherein the Relay server is to forward the one or more first addresses to the second computer to enable the second computer to initiate the peer-to-peer connection with the first computer using the one or more first addresses, wherein the Relay server is different from the address-determination server and the NAT device;
receiving from the Relay server a message, at the first computer, originating from the second computer, the message comprising one or more second addresses corresponding to the second computer at which the first computer can possibly reach the second computer through the NAT device; and
sending a request, from the first computer, to initiate the peer-to-peer connection to the second computer using one or more of the second addresses corresponding to the second computer.
0 Assignments
0 Petitions
Accused Products
Abstract
Methods for establishing a direct peer-to-peer (“P2P”) connection between two computers are disclosed. In particular, the methods are designed to work in cases where one or both of the computers are connected to a private network, such private networks being interconnected via a public network, such as the Internet. The connections between the private network and the public network are facilitated by network address translation (“NAT”).
-
Citations
20 Claims
-
1. A method of initiating a peer-to-peer network, comprising:
-
sending an address-determination message from a first computer to an address-determination server located over a public network, wherein the first computer is located in a private network behind a network address translator (NAT) device, wherein the NAT device is a different device from the address-determination server; receiving at the first computer a reply to the address-determination message from the address determination server; determining, by the first computer based on the reply received from the address determination server, one or more first addresses that the first computer can be reached over the public network and the NAT device; composing and sending from the first computer to a Relay server a message comprising a request to initiate a peer-to-peer connection with a second computer that is not a member of the private network and the one or more first addresses corresponding to the first computer, wherein the Relay server is to forward the one or more first addresses to the second computer to enable the second computer to initiate the peer-to-peer connection with the first computer using the one or more first addresses, wherein the Relay server is different from the address-determination server and the NAT device; receiving from the Relay server a message, at the first computer, originating from the second computer, the message comprising one or more second addresses corresponding to the second computer at which the first computer can possibly reach the second computer through the NAT device; and sending a request, from the first computer, to initiate the peer-to-peer connection to the second computer using one or more of the second addresses corresponding to the second computer. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory program storage device having instructions stored therein for causing a processor to perform a method, the method comprising:
-
sending an address-determination message from a first computer to an address-determination server located over a public network, wherein the first computer is located in a private network behind a network address translator (NAT) device, wherein the NAT device is a different device from the address-determination server; receiving at the first computer a reply to the address-determination message from the address determination server; determining, by the first computer based on the reply received from the address determination server, one or more first addresses that the first computer can be reached over the public network and the NAT device; composing and sending from the first computer to a Relay server a message comprising a request to initiate a peer-to-peer connection with a second computer that is not a member of the private network and the one or more first addresses corresponding to the first computer, wherein the Relay server is to forward the one or more first addresses to the second computer to enable the second computer to initiate the peer-to-peer connection with the first computer using the one or more first addresses, wherein the Relay server is different from the address-determination server and the NAT device; receiving from the Relay server a message, at the first computer, originating from the second computer, the message comprising one or more second addresses corresponding to the second computer at which the first computer can possibly reach the second computer through the NAT device; and sending a request, from the first computer, to initiate the peer-to-peer connection to the second computer using one or more of the second addresses corresponding to the second computer. - View Dependent Claims (9, 10, 11, 12, 13, 14)
-
-
15. A device, comprising:
-
a network interface adapted to couple to a network; memory for storing instructions; and a processor for executing the instructions to perform a method, the method including sending an address-determination message to an address-determination server located over a public network, wherein the device is located in a private network behind a network address translator (NAT) device, wherein the NAT device is a different device from the address-determination server; receiving a reply to the address-determination message from the address determination server; determining based on the reply received from the address determination server, one or more first addresses that the device can be reached over the public network and the NAT device; composing and sending to a Relay server a message comprising a request to initiate a peer-to-peer connection with a remote device that is not a member of the private network and the one or more first addresses corresponding to the device, wherein the Relay server is to forward the one or more first addresses to the remote device to enable the remote device to initiate the peer-to-peer connection with the device using the one or more first addresses, wherein the Relay server is different from the address-determination server and the NAT device; receiving from the Relay server a message originating from the remote device, the message comprising one or more second addresses corresponding to the remote device at which the device can possibly reach the remote device through the NAT device; and sending a request to initiate the peer-to-peer connection to the remote device using one or more of the second addresses corresponding to the remote device. - View Dependent Claims (16, 17, 18, 19, 20)
-
Specification