System and method for traversing a NAT device for peer-to-peer hybrid communications
First Claim
Patent Images
1. A method for enabling a first endpoint to traverse a network address translation (NAT) device associated with a second endpoint in a peer-to-peer communications system, wherein the NAT device includes a pinhole maintained between the NAT device and a stateless reflector, the method comprising:
- receiving, by the first endpoint, a profile and a routing table corresponding to the first endpoint from an access server of the peer-to-peer communications system in response to performing a login process with the access server, wherein the profile and the routing table include contact information needed for the first endpoint to communicate with the second endpoint within the peer-to-peer communications system and wherein the contact information identifies the NAT device;
determining, based on the contact information, whether a message sent to the second endpoint from an external source will only pass through the NAT device if the second endpoint has first sent a message to the external source; and
if the determining indicates that the second endpoint must first send a message, sending a first message to the stateless reflector for reflection to the second endpoint via the pinhole in the NAT device.
1 Assignment
0 Petitions
Accused Products
Abstract
An improved system and method are disclosed for peer-to-peer communications. In one example, the method enables an endpoint to traverse a NAT device using a stateless reflector.
-
Citations
20 Claims
-
1. A method for enabling a first endpoint to traverse a network address translation (NAT) device associated with a second endpoint in a peer-to-peer communications system, wherein the NAT device includes a pinhole maintained between the NAT device and a stateless reflector, the method comprising:
-
receiving, by the first endpoint, a profile and a routing table corresponding to the first endpoint from an access server of the peer-to-peer communications system in response to performing a login process with the access server, wherein the profile and the routing table include contact information needed for the first endpoint to communicate with the second endpoint within the peer-to-peer communications system and wherein the contact information identifies the NAT device; determining, based on the contact information, whether a message sent to the second endpoint from an external source will only pass through the NAT device if the second endpoint has first sent a message to the external source; and if the determining indicates that the second endpoint must first send a message, sending a first message to the stateless reflector for reflection to the second endpoint via the pinhole in the NAT device.
-
-
2. A method for enabling a first endpoint to communicate with a second endpoint in a peer-to-peer network, the method comprising:
-
receiving, by the first endpoint, a profile and a routing table corresponding to the first endpoint from an access server of the peer-to-peer network in response to performing a login process with the access server, wherein the profile and the routing table include contact information needed for the first endpoint to communicate with the second endpoint within the peer-to-peer network; determining, by the first endpoint based on the contact information, whether a first message will be received by the second endpoint if the first message is sent directly to the second endpoint or whether the first message will only be received by the second endpoint if the first message is sent to the second endpoint via a reflector due to a network address translation (NAT) device associated with the second endpoint; and sending, by the first endpoint, the first message by one of a direct route that does not include the reflector and an indirect route that includes the reflector, wherein the first message is sent directly to the second endpoint using the direct route unless the determining indicates that the first message will only be received by the second endpoint if the first message is sent via the reflector using the indirect route. - View Dependent Claims (3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A first endpoint comprising:
-
a hardware platform; and an architecture having a graphical user interface (GUI) configured to provide user access to an endpoint engine; an operating system configured to provide access to the hardware platform; and the endpoint engine coupled to the GUI and the operating system, the endpoint engine having a plurality of functional components configured for; receiving a profile and a routing table corresponding to the first endpoint from an access server of a peer-to-peer network in response to performing a login process with the access server, wherein the profile and the routing table include contact information needed for the first endpoint to communicate with a second endpoint within the peer-to-peer network; determining, based on the contact information, whether a first message will be received by the second endpoint if the first message is sent directly to the second endpoint or whether the first message will only be received by the second endpoint if the first message is sent to the second endpoint via a reflector due to a network address translation (NAT) device associated with the second endpoint; and sending the first message by one of a direct route that does not include the reflector and an indirect route that includes the reflector, wherein the first message is sent directly to the second endpoint using the direct route unless the determining indicates that the first message will only be received by the second endpoint if the first message is sent via the reflector using the indirect route. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
Specification