NAT traversal for media conferencing
First Claim
1. A method of initiating a peer-to-peer network connection between a first computer and a second computer across a public network, wherein at least one of the first and second computers is on a private network and is connected to the public network by a network address translator, the first and second computers having each established a connection to a common Relay server, the method comprising:
- receiving at the second computer from the Relay server a message originating at the first computer comprising a request to initiate a connection and one or more addresses corresponding to the first computer;
transmitting an address-determination message from the second computer to an address-determination server;
receiving at the second computer a reply to the address-determination message;
sending a message from the second computer to at least one of the addresses corresponding to the first computer so as to prepare a network address translator corresponding to the second computer to receive an invitation message from the first computer;
composing and sending from the second computer to the Relay server for re-transmitting to the first computer a message comprising one or more addresses corresponding to the second computer; and
receiving directly from the first computer, at the second computer, an invitation message sent to one of the addresses corresponding to the second computer so as to establish a direct connection between the first and second computers.
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
15 Claims
-
1. A method of initiating a peer-to-peer network connection between a first computer and a second computer across a public network, wherein at least one of the first and second computers is on a private network and is connected to the public network by a network address translator, the first and second computers having each established a connection to a common Relay server, the method comprising:
-
receiving at the second computer from the Relay server a message originating at the first computer comprising a request to initiate a connection and one or more addresses corresponding to the first computer; transmitting an address-determination message from the second computer to an address-determination server; receiving at the second computer a reply to the address-determination message; sending a message from the second computer to at least one of the addresses corresponding to the first computer so as to prepare a network address translator corresponding to the second computer to receive an invitation message from the first computer; composing and sending from the second computer to the Relay server for re-transmitting to the first computer a message comprising one or more addresses corresponding to the second computer; and receiving directly from the first computer, at the second computer, an invitation message sent to one of the addresses corresponding to the second computer so as to establish a direct connection between the first and second computers. - View Dependent Claims (2, 3, 4, 5, 6, 7)
-
-
8. A non-transitory program storage device having instructions stored therein for causing a programmable control device to initiate a peer-to-peer network connection between a first computer and a second computer across a public network, wherein at least one of the first and second computers is on a private network and is connected to the public network by a network address translator, the first and second computers having each established a connection to a common Relay server, said instructions comprising:
-
instructions to receive at the second computer from the Relay server a message originating at the first computer comprising a request to initiate a connection and one or more addresses corresponding to the first computer; instructions to transmit an address-determination message from the second computer to an address-determination server; instructions to receive at the second computer a reply to the address-determination message; instructions to send a message from the second computer to each of the addresses corresponding to the first computer so as to prepare a network address translator corresponding to the second computer to receive an invitation message from the first computer; instructions to compose and send from the second computer to the Relay server for re-transmitting to the first computer a message comprising one or more addresses corresponding to the second computer; and instructions to receive directly from the first computer an invitation message sent to one of the addresses corresponding to the second computer so as to establish a direct connection between the first and second computers. - View Dependent Claims (9, 10, 11, 12, 13, 14, 15)
-
Specification