# US 10,771,590 B2 · Systems and methods for intelligent routing and content placement in information centric networks

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

- Number: US 10,771,590 B2
- Document ID: US10771590B2
- Status: Granted
- Kind: B2
- Application number: 15/914,492
- Filed: 2018-03-07
- Published: 2019-09-12
- Granted: 2020-09-08
- Earliest claimed: 2018-03-07
- Assignees: Ciena Corporation
- Applicants: Ciena Corporation
- Inventors: Robert Kevin Tomkins
- Web page: https://patentgrep.com/patent/US10771590B2

## CPC

- H04L 67/1097: for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
- H04L 45/036: Updating the topology between route computation elements, e.g. between OpenFlow controllers
- H04L 45/74591: {using content-addressable memories [CAM]}
- H04L 67/63: Routing a service request depending on the request content or context
- H04L 67/5681: Pre-fetching or pre-delivering data based on network characteristics
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

A content caching system enables an NDN network to place content closer to each end user(s) and to provide an explicit path for the target end user(s) to that content for better performance just in advance of users' anticipated request(s). The apparatus includes NDN routers and SDN controller employing a content commander, at least a content placement agent and at least one content analysis agent.

## Claims

### Claim 1

A content distribution method implemented in a Software Defined Network, SDN, the content distribution method comprising at an SDN controller of a Content Distribution Network, CDN:
for each of a plurality of Named Data Networking, NDN, routers authenticated with the SDN controller
retrieving NDN face information for mapping the NDN face to at least one of an internal interface, a logical interface and a physical interface;
retrieving NDN content store metadata including at least one of Universal Resource Identifier, URI, names, pending content interest for at least one active user, content stale times and at least one then current content store policy; and
retrieving NDN Forwarding Information Base, FIB, and NDN Routing Information Base, RIB, including a plurality of name entries, next hop NDN faces for each entry and a cost per NDN face;
obtaining at least one NDN strategy from a content commander;
distributing at least one NDN strategy to each NDN router; and
prepopulating routes to at least one known naming domain in at least one of the plurality of NDN router FIBs.

### Claim 2 (depends on 1)

The content distribution method claimed in claim 1, wherein the method further comprises for each NDN router retrieving NDN application metadata including an application title and at least one of NDN application usage and NDN application version.

### Claim 3 (depends on 1)

The content distribution method claimed in claim 1, wherein retrieving the pending content interest the method further comprises retrieving a pending interest table for the active user.

### Claim 4 (depends on 1)

The content distribution method claimed in claim 1, wherein the method further comprises at a content commander:
obtaining content store information, routing information, configuration information and topology information from the SDN controller;
constructing a NDN topology including at least one content store, at least one NDN application and network costs;
obtaining the at least one NDN strategy from a content placement server;
making available a content distribution topology of a plurality of cache capable NDN routers, NDN router content configurations, and a hierarchy of content and content egress from the CDN; and
providing the at least one NDN strategy to the SDN controller.

### Claim 5 (depends on 4)

The content distribution method claimed in claim 4, wherein constructing the NDN topology the method comprises issuing a request to the SDN controller to resolve a gap in the NDN topology.

### Claim 6 (depends on 5)

The content distribution method claimed in claim 5, wherein issuing the request comprises
issuing an interest packet with a destination NDN router URI, a source NDN router URI, and a NDN face from which the interest packet is to be emitted; and
monitoring changes in downstream NDN routers pending interest tables that indicate a path the interest packet followed and a path ultimately chosen between the source NDN router and the destination NDN router.

### Claim 7 (depends on 4)

The content distribution method claimed in claim 4 further comprising at the content commander
receiving a user device name, user device nearest connectivity point, a name in an interest packet the user device sends to retrieve an ad, a response and metadata of ad content;
identifying a closest NDN router to the user device; and
instructing the SDN controller for the closest NDN router to populate the closest NDN router with ad content by providing an interest packet including a content name.

### Claim 8 (depends on 7)

The content distribution method claimed in claim 7 further comprising at the content commander instructing at least one primary SDN controller along a path from the user device to the closest NDN router to inject a FIB entry with a name expected in the interest packet to retrieve the ad and with a NDN face.

### Claim 9 (depends on 1)

The content distribution method claimed in claim 1 further comprising a prior step of detecting a user join request.

### Claim 10

A content distribution Software Defined Networking, SDN, controller of a Content Distribution Network, CDN, comprising a network interface, a processor, and memory including coded logic, wherein the processor is configured to execute the coded logic to:
for each of a plurality of Named Data Networking, NDN, routers authenticated with the SDN controller
retrieve, via the network interface, NDN face information for mapping the NDN face to at least one of an internal interface, a logical interface and a physical interface;
retrieve, via the network interface, NDN content store metadata including at least one of Universal Resource Identifier, URI, names, pending content interest for at least one active user, content stale times and at least one then current content store policy; and
retrieve, via the network interface, NDN Forwarding Information Base, FIB, and NDN Routing Information Base, RIB, including a plurality of name entries, next hop NDN faces for each entry and a cost per NDN face;
obtain at least one NDN strategy from a content commander;
distribute, via the network interface, at least one NDN strategy to each NDN router; and
prepopulate routes to at least one known naming domain in at least one of the plurality of NDN router FIBs.

### Claim 11 (depends on 10)

The content distribution SDN controller claimed in claim 10, wherein one of an NDN aware orchestrator and a network management system are connected to the SDN controller.

### Claim 12 (depends on 10)

The content distribution SDN controller claimed in claim 10, wherein the SDN controller is further configured for each NDN router to retrieve NDN application metadata including an application title and at least one of NDN application usage, and NDN application version.

### Claim 13 (depends on 10)

The content distribution SDN controller claimed in claim 10, wherein retrieving the pending content interest the SDN controller is further configured to retrieve a pending interest table for the active user.

### Claim 14 (depends on 10)

The content distribution SDN controller claimed in claim 10 further configured to detect a user join request.

### Claim 15

A content distribution content commander in a Content Distribution Network, CDN, comprising a network interface, a processor, and memory including coded logic, wherein the processor is configured to execute the coded logic to:
obtain content store information, routing information, configuration information and topology information from an Software Defined Network, SDN, controller;
construct a Named Data Networking, NDN, topology including at least one content store, at least one NDN application and network costs;
obtain at least one NDN strategy from a content placement server;
making available a content distribution topology of a plurality of cache capable NDN routers, NDN router content configurations, and a hierarchy of content and content egress from the CDN; and
providing the at least one NDN strategy to the SDN controller.

### Claim 16 (depends on 15)

The content commander claimed in claim 15, wherein constructing the NDN topology the content commander further comprises coded logic configured to issue a request to the SDN controller to resolve a gap in the NDN topology.

### Claim 17 (depends on 16)

The content commander claimed in claim 16, wherein issuing the request the content commander further comprises coded logic configured to
issue an interest packet with a destination NDN router Universal Resource Identifier, URI, a source NDN router URI, and a NDN face from which the interest packet is to be emitted; and monitor changes in downstream NDN routers pending interest tables that indicate a path the interest packet followed and a path ultimately chosen between the source NDN router and the destination NDN router.

### Claim 18 (depends on 15)

The content commander claimed in claim 15 further comprising coded logic configured to
receive a user device name, user device nearest connectivity point, a name in an interest packet the user device sends to retrieve an ad, a response and metadata of the ad content;
identify a closest NDN router to the user device; and
instruct the SDN controller for the closest NDN router to populate the closest NDN router with ad content by providing an interest packet including a content name.

### Claim 19 (depends on 18)

The content commander claimed in claim 18 further comprising coded logic configured to instruct at least one primary SDN controller along a path from the user device to the closest NDN router to inject a FIB entry with the name expected in the interest packet to retrieve the ad and with a NDN face.

### Claim 20 (depends on 15)

The content commander claimed in claim 15 further comprising coded logic configured to detect a user join request.
