Patent ID: 9264459
Filing Date: 2016-02-16
CPC Classification: H04L

Claim Text:
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.