Custodian routing with network address translation in content-centric networks
First Claim
1. A computer-executable method for facilitating establishment of a session initiation protocol (SIP) connection between a local endpoint and a plurality of remote endpoints of a remote device, the method comprising:
- sending one or more packets, by the local endpoint, to at least one server according to session traversal utilities for network address translation (NAT) protocol;
determining, by the local endpoint, a type of firewall that the local endpoint is situated behind based on replies from the at least one server indicating an address observed by the at least one server from which the one or more packets were sent;
sending, by the local endpoint, a single connection-request message identifying the remote device to a proxy server, wherein the proxy server forks the single connection-request message to the plurality of remote endpoints of the remote device based on a registered mapping which correlates an address for each of the plurality of remote endpoints with the remote device, each of the plurality of remote endpoints comprising a communication interface for the remote device;
receiving, from the proxy server, a 200/OK message being relayed by the proxy server from each of the plurality of remote endpoints of the remote device;
determining, by the local endpoint, whether to connect sequentially or in parallel to each of the plurality of remote endpoints of the remote device based on the determined type of firewall that the local endpoint is situated behind; and
establishing, at an application layer, a SIP connection between the local endpoint and each of the plurality of remote endpoints of the remote device by the local endpoint sequentially sending an acknowledgement corresponding to each of the received 200/OK messages to the corresponding remote endpoint of the plurality of remote endpoints via the proxy server, wherein the acknowledgements are paced between transmissions.
4 Assignments
0 Petitions
Accused Products
Abstract
One embodiment of the present invention provides a system for facilitating establishment of connections between a local endpoint and a remote endpoint. During operation, the system sends, from the local endpoint, a single connection-request message to a proxy server, which forks the single connection-request message to a number of remote endpoints. The system receives one or more response messages from the remote endpoints. A respective response message carries address information associated with the remote endpoint. Upon receiving the response message, the system sends an acknowledgment corresponding to the received response message to the corresponding remote endpoint via the proxy server, and establishes a connection between the local endpoint and at least one remote endpoint.
29 Citations
23 Claims
-
1. A computer-executable method for facilitating establishment of a session initiation protocol (SIP) connection between a local endpoint and a plurality of remote endpoints of a remote device, the method comprising:
-
sending one or more packets, by the local endpoint, to at least one server according to session traversal utilities for network address translation (NAT) protocol; determining, by the local endpoint, a type of firewall that the local endpoint is situated behind based on replies from the at least one server indicating an address observed by the at least one server from which the one or more packets were sent; sending, by the local endpoint, a single connection-request message identifying the remote device to a proxy server, wherein the proxy server forks the single connection-request message to the plurality of remote endpoints of the remote device based on a registered mapping which correlates an address for each of the plurality of remote endpoints with the remote device, each of the plurality of remote endpoints comprising a communication interface for the remote device; receiving, from the proxy server, a 200/OK message being relayed by the proxy server from each of the plurality of remote endpoints of the remote device; determining, by the local endpoint, whether to connect sequentially or in parallel to each of the plurality of remote endpoints of the remote device based on the determined type of firewall that the local endpoint is situated behind; and establishing, at an application layer, a SIP connection between the local endpoint and each of the plurality of remote endpoints of the remote device by the local endpoint sequentially sending an acknowledgement corresponding to each of the received 200/OK messages to the corresponding remote endpoint of the plurality of remote endpoints via the proxy server, wherein the acknowledgements are paced between transmissions. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer device capable of establishing a session initiation protocol (SIP) connection between a local endpoint belonging to the computer device and a plurality of remote endpoints of a remote device, the computer device comprising:
-
a processor; a memory; a connection analyzer, implemented with instructions stored in the memory and executed by the processor, to send one or more packets, by the local endpoint, to at least one server according to session traversal utilities for network address translation (NAT) protocol, and determine a type of firewall that the local endpoint is situated behind based on replies from the at least one server indicating an address observed by the at least one server from which the one or more packets were sent, wherein the connection analyzer determines whether to connect sequentially or in parallel to each of the plurality of remote endpoints of the remote device based on the determined type of firewall that the local endpoint is situated behind; a connection-request sender, implemented with instructions stored in the memory and executed by the processor, to send, by the local endpoint, a single connection-request message identifying the remote device to a proxy server, wherein the proxy server forks the single connection-request message to the plurality of remote endpoints of the remote device based on a registered mapping which correlates an address for each of the plurality of remote endpoints with the remote device, each of the plurality of remote endpoints comprising a communication interface for the remote device; a receiver, implemented with instructions stored in the memory and executed by the processor, to receive, from the proxy server, a 200/OK message being relayed by the proxy server from each of the plurality of remote endpoints of the remote device; and a connector, implemented with instructions stored in the memory and executed by the processor, to establish, at an application layer, a SIP connection between the local endpoint and each of the plurality of remote endpoints of the remote device by the local endpoint sequentially sending an acknowledgement corresponding to each of the received 200/OK messages to the corresponding remote endpoint of the plurality of remote endpoints via the proxy server, wherein the acknowledgements are paced between transmissions. - View Dependent Claims (12, 13, 14, 15, 16, 17, 18, 19, 20, 21)
-
-
22. A non-transitory computer-readable storage medium storing instructions which when executed by a computer cause the computer to perform a method for facilitating establishment of a session initiation protocol (SIP) connection between a local endpoint and a plurality of remote endpoints of a remote device, the method comprising:
-
sending one or more packets, by the local endpoint, to at least one server according to session traversal utilities for network address translation (NAT) protocol; determining, by the local endpoint, a type of firewall that the local endpoint is situated behind based on replies from the at least one server indicating an address observed by the at least one server from which the one or more packets were sent; sending, by the local endpoint, a single connection-request message identifying the remote device to a proxy server, wherein the proxy server forks the single connection-request message to the plurality of remote endpoints of the remote device based on a registered mapping which correlates an address for each of the plurality of remote endpoints with the remote device, each of the plurality of remote endpoints comprising a communication interface for the remote device; receiving, from the proxy server, a 200/OK message being relayed by the proxy server from each of the plurality of remote endpoints of the remote device; determining, by the local endpoint, whether to connect sequentially or in parallel to each of the plurality of remote endpoints of the remote device based on the determined type of firewall that the local endpoint is situated behind; and establishing, at an application layer, a SIP connection between the local endpoint and each of the plurality of remote endpoints of the remote device by the local endpoint sequentially sending an acknowledgement corresponding to each of the received 200/OK messages to the corresponding remote endpoint of the plurality of remote endpoints via the proxy server, wherein the acknowledgements are paced between transmissions. - View Dependent Claims (23)
-
Specification