# US 10,772,036 B2 · Procedures for dynamically configured network coding based multi-source packet transmission utilizing ICN

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

- Number: US 10,772,036 B2
- Document ID: US10772036B2
- Status: Granted
- Kind: B2
- Application number: 16/313,433
- Filed: 2017-07-06
- Published: 2019-06-27
- Granted: 2020-09-08
- Earliest claimed: 2016-07-07
- Assignees: IDAC Holdings, Inc.
- Applicants: IDAC Holdings, Inc.
- Inventors: Onur Sahin; Dirk Trossen
- Web page: https://patentgrep.com/patent/US10772036B2

## CPC

- H04L 1/0057: {Block codes (H04L1/0061, H04L1/0064 take precedence)}
- H04L 41/0896: Bandwidth or capacity management, i.e. automatically increasing or decreasing capacities (flow or congestion control using dynamic resource allocation, e.g. in-call renegotiation, H04L47/76)
- H04L 43/0882: Utilisation of link capacity
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04L 67/55: Push-based network services
- H04L 67/63: Routing a service request depending on the request content or context
- H04W 48/17: {Selecting a data network PoA [Point of Attachment]}
- H04L 2001/0092: {Error control systems characterised by the topology of the transmission link}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04W: WIRELESS COMMUNICATION NETWORKS (broadcast communication H04H; communication systems using wireless links for non-selective communication, e.g. wireless extensions H04M1/72)

## Abstract

Systems and methods related to a multi-server pull-based HTTP request-response structure over ICN systems. In one embodiment, a method comprises: publishing an ICN content request from a cNAP with identification CIDURI; receiving at the cNAP a response from at least one sNAP indicating the availability of the requested content at the at least one sNAP; identifying at the cNAP an optimal segment number, k*, and a set I* of the server IDs, i*, to participate in a network coding based transmission; transmitting the optimal segment number k* from the cNAP to each sNAP identified in the set I*; receiving, at the cNAP, network coding based transmissions from the sNAPs identified in the set I*, and performing decoding of an overall message at the cNAP.

## Claims

### Claim 1

A method performed by a client network attachment point (cNAP) to an information-centric network (ICN), the method comprising:
receiving a request for content from a client;
publishing to the ICN a probe request identifying the content;
in response to the probe request, receiving responses from respective responding server network attachment points (sNAPs) at which the content is available, each response identifying a link capacity of the respective responding sNAP;
based at least in part on the respective link capacities, selecting a number of segments for network coding of the content; and
publishing to the ICN a request to receive the content as network-coded transmissions from at least a subset of the responding sNAPs using the number of segments.

### Claim 2 (depends on 1)

The method of claim 1, wherein at least one of the responses further identifies an original aggregated packet size of the content, and wherein the number of segments is determined based at least in part on the aggregated packet size of the content.

### Claim 3 (depends on 1)

The method of claim 1, wherein the number of segments is selected so as to satisfy a predetermined latency constraint.

### Claim 4 (depends on 1)

The method of claim 1, further comprising selecting, from among the responding sNAPs, a selected subset of sNAPs from which to receive the content, wherein the number of segments is determined based at least in part on the selected sub set.

### Claim 5 (depends on 4)

The method of claim 4, further comprising publishing to the ICN information identifying the selected subset of sNAPs.

### Claim 6 (depends on 4)

The method of claim 4, wherein the subset of sNAPs is selected so as to satisfy a predetermined latency constraint.

### Claim 7 (depends on 1)

The method of claim 1, wherein the request for content is an HTTP request.

### Claim 8 (depends on 1)

The method of claim 1, further comprising:
receiving the content as network-coded transmissions over the ICN;
decoding the network-coded transmissions to reconstruct the content; and
providing the reconstructed content to the client.

### Claim 9 (depends on 8)

The method of claim 8, wherein the reconstructed content is provided to the client in an HTTP response.

### Claim 10 (depends on 8)

The method of claim 8, further comprising, after reconstructing the content, publishing on the ICN a message indicating that the sNAPs can cease transmission of the content.

### Claim 11 (depends on 1)

The method of claim 1, further comprising, at an sNAP:
receiving over the ICN the probe request identifying the content;
retrieving the content from a server associated with the sNAP;
publishing on the ICN a response to the probe request, the response identifying an aggregated packet size of the content and a link capacity of the sNAP;
receiving over the ICN information indicating the selected number of segments;
encoding the content using network coding with the selected number of segments; and
publishing at least a portion of the encoded content to the ICN.

### Claim 12

A client network attachment point (cNAP) for an information-centric network (ICN), the cNAP comprising a processor and a non-transitory computer-readable storage medium storing instructions operative to perform a method comprising:
receiving a request for content from a client;
publishing to the ICN a probe request identifying the content;
in response to the probe request, receiving responses from respective responding server network attachment points (sNAPs) at which the content is available, each response identifying a link capacity of the respective responding sNAP;
based at least in part on the respective link capacities, selecting a number of segments for network coding of the content; and
publishing to the ICN a request to receive the content as network-coded transmissions from at least a subset of the responding sNAPs using the number of segments.

### Claim 13 (depends on 12)

The cNAP of claim 12, wherein at least one of the responses further identifies an original aggregated packet size of the content, and wherein the number of segments is determined based at least in part on the aggregated packet size of the content.

### Claim 14 (depends on 12)

The cNAP of claim 12, wherein the number of segments is selected so as to satisfy a predetermined latency constraint.

### Claim 15 (depends on 12)

The cNAP of claim 12, wherein the instructions are further operative to select, from among the responding sNAPs, a selected subset of sNAPs from which to receive the content, wherein the number of segments is determined based at least in part on the selected subset.

### Claim 16 (depends on 12)

The cNAP of claim 12, wherein the instructions are further operative to perform:
receiving the content as network-coded transmissions over the ICN;
decoding the network-coded transmissions to reconstruct the content; and
providing the reconstructed content to the client.

### Claim 17 (depends on 16)

The cNAP of claim 16, wherein the request for content is an HTTP request and the reconstructed content is provided to the client in an HTTP response.

### Claim 18 (depends on 16)

The cNAP of claim 16, wherein the instructions are further operative, after reconstructing the content, to publish on the ICN a message indicating that the sNAPs can cease transmission of the content.

### Claim 19

A server network attachment point (sNAP) for an information-centric network (ICN), the sNAP comprising a processor and a non-transitory computer-readable storage medium storing instructions operative to perform a method comprising:
receiving over the ICN a probe request identifying requested content;
retrieving the content from a server associated with the sNAP;
publishing on the ICN a response to the probe request, the response identifying a link capacity of the sNAP;
receiving over the ICN information indicating a selected number of segments;
encoding the content using network coding with the selected number of segments; and
publishing at least a portion of the encoded content to the ICN.

### Claim 20 (depends on 19)

The sNAP of claim 19, wherein the response to the probe request further identifies an aggregated packet size of the content.
