System and method for traversing a NAT device for peer-to peer hybrid communications
AssigneeDamaka, Inc.
InventorsSivakumar Ravikumar, Satish Gundabathula
Life of this patent
Estimating the term…
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.
Claims20
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 server, the method comprising:
- determining 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;
- if the determining indicates that the second endpoint must first send a message, sending a first message to a stateless reflector for reflection to the second endpoint, wherein the first message includes a message header identifying the stateless reflector as the message destination and the first endpoint as the message source;
- modifying the message header by the stateless reflector, wherein the modifying inserts the second endpoint as the message destination and the server as the message source;
- and
- sending the modified first message to the second endpoint via the pinhole in the NAT device.
A stateless reflector for a communications system, the stateless reflector comprising:
- a processor;
- a memory accessible to the processor;
- and
- a plurality of instructions stored on the memory for execution by the processor, the instructions including:
- instructions for receiving a message from a first endpoint, wherein the message has a first header portion identifying a first endpoint as the message source and the stateless reflector as the message destination, a second header portion identifying a server as the message source and a second endpoint as the message destination, and a payload portion;
- instructions for modifying the message source and destination of the first header portion to equal the message source and destination of the second header portion;
- and
- instructions for sending the modified message to the second endpoint.
A system for peer-to-peer communications, the system comprising:
- a first endpoint coupled to a packet-based communications network and separated from the network by a network address translation (NAT) device having an internal address for communication with the first endpoint and an external address for communication with the network, wherein the NAT device includes a pinhole maintained with a server on the network;
- a second endpoint coupled to the network, the second endpoint configured to execute a plurality of instructions stored therein for establishing a communication session with the second endpoint, the instructions including:
- instructions for determining whether the NAT device is of a restricted type, port restricted type, or symmetric type,
- instructions for, if the NAT device is of a restricted type, port restricted type, or symmetric type, sending a first message to a stateless reflector for reflection to the first endpoint, wherein the first message includes a first header identifying the stateless reflector as the destination and the second endpoint as the source, and a second header identifying the first endpoint as the destination and the server as the source;
- instructions for receiving a second message directly from the first endpoint in response to the first message;
- and
- instructions for sending additional messages directly to the first endpoint after receiving the second message.
Dependencies are inferred from the claim text.