SIP-based custodian routing in content-centric networks
First Claim
1. A computer-executable method for facilitating establishment of a connection between a local endpoint and a plurality of remote endpoints of a device, the method comprising:
- determining, by the local endpoint, routing information for the device by exchanging a content-prefix-to-custodian mapping, a custodian-to-endpoint mapping, and an endpoint-to-physical address mapping with a neighboring device, wherein the content-prefix is a prefix of content being requested by the local endpoint, the custodian is the device storing the content, the physical address is an endpoint'"'"'s physical address, and the endpoint is a communication interface of the device;
based on the exchanged mappings, sending, from the local endpoint behind a predictable symmetric network address translation (PS NAT) firewall, a single payload-less session initiation protocol (SIP) INVITE message as a connection-request message to a proxy server, which forks the connection-request message to the plurality of remote endpoints of the device, where the device is behind a port-restricted cone network address translation (PC NAT) firewall or PS NAT firewall;
receiving, from each of two or more of the plurality of remote endpoints, a response message that carries a network address and port number;
in response to the receiving of the response message from one of the two or more of the plurality of remote endpoints, sending a corresponding acknowledgment with a list of possible connection addresses for the local endpoint to the one of the two or more of the plurality of remote endpoints via the proxy server; and
establishing a connection between the local endpoint and the two or more of the plurality of remote endpoints of the device, using the network addresses received in the response messages from the two or more of the plurality of remote endpoints.
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.
43 Citations
21 Claims
-
1. A computer-executable method for facilitating establishment of a connection between a local endpoint and a plurality of remote endpoints of a device, the method comprising:
-
determining, by the local endpoint, routing information for the device by exchanging a content-prefix-to-custodian mapping, a custodian-to-endpoint mapping, and an endpoint-to-physical address mapping with a neighboring device, wherein the content-prefix is a prefix of content being requested by the local endpoint, the custodian is the device storing the content, the physical address is an endpoint'"'"'s physical address, and the endpoint is a communication interface of the device; based on the exchanged mappings, sending, from the local endpoint behind a predictable symmetric network address translation (PS NAT) firewall, a single payload-less session initiation protocol (SIP) INVITE message as a connection-request message to a proxy server, which forks the connection-request message to the plurality of remote endpoints of the device, where the device is behind a port-restricted cone network address translation (PC NAT) firewall or PS NAT firewall; receiving, from each of two or more of the plurality of remote endpoints, a response message that carries a network address and port number; in response to the receiving of the response message from one of the two or more of the plurality of remote endpoints, sending a corresponding acknowledgment with a list of possible connection addresses for the local endpoint to the one of the two or more of the plurality of remote endpoints via the proxy server; and establishing a connection between the local endpoint and the two or more of the plurality of remote endpoints of the device, using the network addresses received in the response messages from the two or more of the plurality of remote endpoints. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9)
-
-
10. A computer device capable of establishing a connection between a local endpoint belonging to the computer device and a plurality of remote endpoints of a device, the computer device comprising:
-
a processor; a memory; a routing information exchanger executed by the processor to determine routing information for the device by exchanging a content-prefix-to-custodian mapping, a custodian-to-endpoint mapping, and an endpoint-to-physical address mapping with a neighboring device, wherein the content-prefix is a prefix of content being requested by the local endpoint, the custodian is the device storing the content, the physical address is an endpoint'"'"'s physical address, and the endpoint is a communication interface of the device; a connection-request sender executed by the processor to send, based on the exchanged mappings and from behind a predictable symmetric network address translation (PS NAT) firewall, a single payload-less session initiation protocol (SIP) INVITE message as a connection-request message to a proxy server, which forks the connection-request message to the plurality of remote endpoints of the device, wherein the device is behind a port-restricted cone network address translation (PC NAT) firewall or PS NAT firewall; a receiver executed by the processor to receive and store in the memory a response message that carries a network address and port number from each of two or more of the plurality of remote endpoints; an acknowledgment sender executed by the processor to, in response to the receiving of the response message from one of the two or more of the plurality of remote endpoints, send a corresponding acknowledgment with a list of possible connection addresses for the local endpoint to the one of the two or more of the plurality of remote endpoints associated with the received response message via the proxy server; and a connector executed by the processor to establish a connection between the local endpoint and the two or more of the plurality of remote endpoints of the device, using the network addresses received in the response messages from the two or more of the plurality of remote endpoints. - View Dependent Claims (11, 12, 13, 14, 15)
-
-
16. 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 connection between a local endpoint and a plurality of remote endpoints of a device, the method comprising:
-
determining, by the local endpoint, routing information for the device by exchanging a content-prefix-to-custodian mapping, a custodian-to-endpoint mapping, and an endpoint-to-physical address mapping with a neighboring device, wherein the content-prefix is a prefix of content being requested by the local endpoint, the custodian is the device storing the content, the physical address is an endpoint'"'"'s physical address, and the endpoint is a communication interface of the device; based on the exchanged mappings, sending, from the local endpoint behind a predictable symmetric network address translation (PS NAT) firewall, a single payload-less session initiation protocol (SIP) INVITE message as a connection-request message to a proxy server, which forks the single connection-request message to the plurality of remote endpoints of the device, wherein the device is behind a port-restricted cone network address translation (PC NAT) firewall or PS NAT firewall; receiving, from each of two or more of the plurality of remote endpoints, a response message that carries a network address and port number; in response to the receiving of the response message from one of the two or more of the plurality of remote endpoints, sending a corresponding acknowledgment with a list of possible connection addresses for the local endpoint to the one of the two or more of the plurality of remote endpoints via the proxy server; and establishing a connection between the local endpoint and the two or more of the plurality of remote endpoints of the device, using the network addresses received in the response messages from the two or more of the plurality of remote endpoints. - View Dependent Claims (17, 18, 19, 20, 21)
-
Specification