# US 8,751,664 B2 · Custodian-based routing in content-centric networks

> Agents: this data is available as JSON from the patentgrep API and MCP server — see https://patentgrep.com/llms.txt

- Number: US 8,751,664 B2
- Document ID: US8751664B2
- Status: Granted
- Kind: B2
- Application number: 12/970,740
- Filed: 2010-12-16
- Published: 2012-06-21
- Granted: 2014-06-10
- Earliest claimed: 2010-12-16
- Assignees: Palo Alto Research Center Incorporated
- Applicants: Van L. Jacobson; Marc E. Mosko
- Inventors: Van L. Jacobson; Marc E. Mosko
- Web page: https://patentgrep.com/patent/US8751664B2

## CPC

- H04L 45/64: using an overlay routing layer
- H04L 61/301: Name conversion
- H04L 65/1069: Session establishment or de-establishment
- H04L 67/63: Routing a service request depending on the request content or context
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

One embodiment of the present invention provides a system for facilitating custodian-based routing. During operation, the system receives, at a computing device, a request for a piece of content from a user, and determines whether the content is available locally. In response to the content not being available locally, the system identifies a remote custodian device that stores the content. The custodian device is not identified by its physical address. The system then identifies a communication endpoint associated with the identified custodian device, and maps a physical address corresponding to the identified communication endpoint. The system establishes a connection to the communication endpoint using the mapped physical address to obtain the requested content.

## Claims

### Claim 1

A computer-executable method, comprising:
receiving, by a computing device, a request for a piece of content that indicates the content by name;
determining whether the content is available locally;
in response to the content not being available locally, determining a custodian identifier of a remote custodian device that stores the content, wherein determining the custodian identifier involves determining a preference level of the remote custodian device, and performing a content-prefix-to-custodian lookup to obtain a mapping from a prefix of the content's name to the custodian identifier, and wherein the custodian identifier does not indicate a network address for the remote custodian device;
identifying a communication endpoint, which corresponds to the custodian identifier of the remote custodian device, through which the computing device is to obtain the content, wherein the communication endpoint indicates one of a plurality of communication interfaces associated with the remote custodian device;
verifying that the computing device satisfies one or more conditions for accessing a namespace specified by the content name's prefix, wherein the namespace is associated with the remote custodian device's communication endpoint;
determining a network address mapped to the identified communication endpoint of the remote custodian device; and
establishing a connection to the communication endpoint using the mapped network address to obtain the requested content.

### Claim 2 (depends on 1)

The method of claim 1, wherein the computing device and the remote custodian device are coupled via a content-centric network (CCN).

### Claim 3 (depends on 2)

The method of claim 2, wherein determining the custodian identifier of the remote custodian device that stores the content involves performing a lookup based on the content's name.

### Claim 4 (depends on 3)

The method of claim 3, further comprising constructing a CCN interest for mapping information associated with the content's name.

### Claim 5 (depends on 1)

The method of claim 1, wherein identifying the communication endpoint involves performing a lookup based on the remote custodian device's name.

### Claim 6 (depends on 1)

The method of claim 1, wherein identifying the communication endpoint involves determining a preference level of the communication endpoint.

### Claim 7 (depends on 1)

The method of claim 1, wherein the communication endpoint is a wireless interface, and wherein the network address includes at least one of:
a service set identifier (SSID);
a media access control (MAC) address of an access point associated with the wireless interface; and
an Internet protocol (IP) address.

### Claim 8 (depends on 1)

The method of claim 1, wherein the connection to the communication endpoint includes a session initiation protocol (SIP) connection.

### Claim 9

A non-transitory computer-readable storage medium storing instructions that when executed by a computer cause the computer to perform a method, the method comprising:
receiving, by a computing device, a request for a piece of content that indicates the content by name;
determining whether the content is available locally;
in response to the content not being available locally, determining a custodian identifier of a remote custodian device that stores the content, wherein determining the custodian identifier involves determining a preference level of the remote custodian device, and performing a content-prefix-to-custodian lookup to obtain a mapping from a prefix of the content's name to the custodian identifier, and wherein the custodian identifier does not indicate a network address for the remote custodian device;
identifying a communication endpoint, which corresponds to the custodian identifier of the remote custodian device, through which the computing device is to obtain the content, wherein the communication endpoint indicates one of a plurality of communication interfaces associated with the remote custodian device;
verifying that the computing device satisfies one or more conditions for accessing a namespace specified by the content name's prefix, wherein the namespace is associated with the remote custodian device's communication endpoint;
determining a network address mapped to the identified communication endpoint of the remote custodian device; and
establishing a connection to the communication endpoint using the mapped network address to obtain the requested content.

### Claim 10 (depends on 9)

The computer-readable storage medium of claim 9, wherein the computing device and the remote custodian device are coupled via a content-centric network (CCN).

### Claim 11 (depends on 10)

The computer-readable storage medium of claim 10, wherein determining the custodian identifier of the remote custodian device that stores the content involves performing a lookup based on the content's name.

### Claim 12 (depends on 11)

The computer-readable storage medium of claim 11, wherein the method further comprises constructing a CCN interest for mapping information associated with the content's name.

### Claim 13 (depends on 9)

The computer-readable storage medium of claim 9, wherein identifying the communication endpoint involves performing a lookup based on the remote custodian device's name.

### Claim 14 (depends on 9)

The computer-readable storage medium of claim 9, wherein identifying the communication endpoint involves determining a preference level of the communication endpoint.

### Claim 15 (depends on 9)

The computer-readable storage medium of claim 9, wherein the communication endpoint is a wireless interface, and wherein the network address includes at least one of:
a service set identifier (SSID);
a media access control (MAC) address of an access point associated with the wireless interface; and
an Internet protocol (IP) address.

### Claim 16 (depends on 9)

The computer-readable storage medium of claim 9, wherein the connection to the communication endpoint includes a session initiation protocol (SIP) connection.

### Claim 17

A computing device, comprising:
a receiving mechanism configured to receive a request for a piece of content that indicates the content by name;
a determining mechanism configured to determine whether the content is available locally;
a routing agent, in response to the content not being available locally, configured to:
determine a custodian identifier of a remote custodian device that stores the content, wherein determining the custodian identifier involves determining a preference level of the remote custodian device, and performing a content-prefix-to-custodian lookup to obtain a mapping from a prefix of the content's name to the custodian identifier, and wherein the custodian identifier does not indicate a network address for the remote custodian device;
identify a communication endpoint, which corresponds to the custodian identifier of the remote custodian device, through which the computing device is to obtain the content, wherein the communication endpoint indicates one of a plurality of communication interfaces associated with the remote custodian device;
verify that the computing device satisfies one or more conditions for accessing a namespace specified by the content name's prefix, wherein the namespace is associated with the remote custodian device's communication endpoint; and
determining a network address mapped to the identified communication endpoint of the remote custodian device; and
a connection mechanism configured to establish a connection to the communication endpoint using the mapped network address to obtain the requested content.

### Claim 18 (depends on 17)

The computing device of claim 17, wherein the computing device is coupled to the remote custodian device via a content-centric network (CCN).

### Claim 19 (depends on 18)

The computing device of claim 18, wherein determining the custodian identifier of the remote custodian device that stores the content involves performing a lookup based on the content's name.

### Claim 20 (depends on 19)

The computing device of claim 19, further comprising an interest construction mechanism configured to construct a CCN interest for mapping information associated with the content's name.

### Claim 21 (depends on 17)

The computing device of claim 17, wherein identifying the communication endpoint involves performing a lookup based on the remote custodian device's name.

### Claim 22 (depends on 17)

The computing device of claim 17, wherein the communication endpoint is a wireless interface, and wherein the network address includes at least one of:
a service set identifier (SSID);
a media access control (MAC) address of an access point associated with the wireless interface; and
an Internet protocol (IP) address.

### Claim 23 (depends on 17)

The computing device of claim 17, wherein the connection to the communication endpoint includes a session initiation protocol (SIP) connection.
