# US 10,313,415 B2 · Using segment routing to access chunks of content

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

- Number: US 10,313,415 B2
- Document ID: US10313415B2
- Status: Granted
- Kind: B2
- Application number: 14/640,634
- Filed: 2015-03-06
- Published: 2016-01-21
- Granted: 2019-06-04
- Earliest claimed: 2014-07-18
- Assignees: Cisco Technology, Inc.
- Applicants: Andre Surcouf; William Mark Townsley; Thierry Gruszka
- Inventors: Andre Surcouf; William Mark Townsley; Thierry Gruszka
- Web page: https://patentgrep.com/patent/US10313415B2

## CPC

- H04L 65/612: for unicast
- G06F 16/00: Information retrieval; Database structures therefor; File system structures therefor
- G06F 16/955: using information identifiers, e.g. uniform resource locators [URL]
- H04L 45/74: Address processing for routing
- H04L 65/756: adapting media to device capabilities
- H04L 65/762: {at the source (reformatting of additional data in video distribution servers H04N21/2355)}
- H04N 21/238: Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams {(hybrid fiber coaxial [HFC] networks for downstream channel allocation for video distribution H04L12/2801; flow control in packet networks H04L47/10; real-time communication protocols in data switching networks H04L65/00; scheduling or organising the servicing of application requests H04L67/60)}
- H04N 21/2381: Adapting the multiplex stream to a specific network, e.g. an Internet Protocol [IP] network {(transmission of MPEG streams over ATM H04L12/5601)}
- H04N 21/2393: {involving handling client requests (scheduling or organising the servicing of application requests H04L67/60)}
- H04N 21/26258: {for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list (retrieval of multimedia data based on playlists G06F16/40)}
- H04N 21/2662: Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
- H04N 21/6125: {involving transmission via Internet (transmission by internet of broadcast information H04H60/82)}
- H04N 21/6581: {Reference data, e.g. a movie identifier for ordering a movie or a product identifier in a home shopping application}
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04L 45/306: {Route determination based on the nature of the carried application}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- G06F: ELECTRIC DIGITAL DATA PROCESSING (computer systems based on specific computational models G06N)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

According to one aspect, a method includes obtaining a packet at a network endpoint from a client via a first segment. The packet has a segment routing header that includes a list of addresses attached to a chunk entry, and is configured to identify at least a first chunk requested by the client. The method also includes identifying, at the network endpoint, the at least first chunk using the packet, and determining at the network endpoint if the network endpoint has the first chunk. If it is determined that the network endpoint has the first chunk, the first chunk is provided from the network endpoint to the client. Alternatively, if it is determined that the network endpoint does not have the first chunk, the packet is provided to a second segment.

## Claims

### Claim 1

A method comprising:
obtaining a packet at a network endpoint, the packet being obtained from a client via a first segment, the packet having a segment routing header, the segment routing header including a list of addresses attached to a chunk entry, wherein the packet is configured to identify at least a first chunk requested by the client, wherein the list of addresses includes a plurality of addresses, and wherein a first chunk address corresponding to the at least first chunk is a last address included in the list of addresses, the last address being a V6 content descriptor (v6CD) that identifies the first chunk, and wherein other addresses in the list of addresses identify endpoints that may be asked for the first chunk;
identifying, at the network endpoint, the at least first chunk using the packet;
determining at the network endpoint if the network endpoint has the first chunk;
providing the first chunk from the network endpoint to the client if it is determined that the network endpoint has the first chunk; and
providing the packet to at least a second segment if it is determined that the network endpoint does not have the first chunk.

### Claim 2 (depends on 1)

The method of claim 1 wherein the first chunk is a chunk of video, and wherein the segment routing header is configured to identify at least the first chunk requested by the client.

### Claim 3 (depends on 1)

The method of claim 1 wherein the first chunk is a chunk of audio.

### Claim 4 (depends on 1)

The method of claim 1 wherein the packet is included in traffic, and wherein the method further includes:
terminating the traffic if it is determined that the network endpoint has the first chunk.

### Claim 5

A tangible, non-transitory computer-readable medium comprising computer program code, the computer program code, when executed, configured to:
obtain a packet at a network endpoint, the packet being obtained from a client via a first segment, the packet having a segment routing header, the segment routing header including a list of addresses attached to a chunk entry, the list of addresses including a plurality of addresses, wherein the packet is configured to identify at least a first chunk requested by the client, wherein a first chunk address corresponding to the at least first chunk is a last address included in the list of addresses, the computer program code configured to identify the at least first chunk using the packet being further configured to obtain the first chunk address from the list of addresses, wherein the last address is a V6 content descriptor (v6CD) that identifies the first chunk, and wherein other addresses in the list of addresses identify endpoints that may be asked for the first chunk;
identify, at the network endpoint, the at least first chunk using the packet;
determine at the network endpoint if the network endpoint has the first chunk;
provide the first chunk from the network endpoint to the client if it is determined that the network endpoint has the first chunk; and
provide the packet to at least a second segment if it is determined that the network endpoint does not have the first chunk.

### Claim 6 (depends on 5)

The tangible, non-transitory computer-readable medium of claim 5 wherein the first chunk is a chunk of video, and wherein the segment routing header is configured to identify at least the first chunk requested by the client.

### Claim 7 (depends on 5)

The tangible, non-transitory computer-readable medium of claim 5 wherein the first chunk is a chunk of audio.

### Claim 8 (depends on 5)

The tangible, non-transitory computer-readable medium of claim 5 wherein the packet is included in traffic, and wherein the computer program code is further configured to:
terminate the traffic if it is determined that the network endpoint has the first chunk.

### Claim 9

An apparatus comprising:
a processor;
a data storage arrangement, the data storage arrangement configured to store a set of chunks;
an input/output (I/O) interface, the I/O interface arranged to obtain a packet from a client via a first network segment, the packet including a segment routing header having a list of addresses including a first chunk address arranged to identify a first chunk requested by the client; and
logic arranged to be executed by the processor, the logic being configured to identify the first chunk using the packet and to determine if the first chunk is included in the set of chunks, wherein the logic is further configured to provide the first chunk to the client if it is determined that the first chunk is included in the set of chunks and to cause the I/O interface to provide the packet to at least a second segment if it is determined that the first chunk is not included in the set of chunks, wherein the first chunk address is a last address included in the list of addresses, the list of addresses including a plurality of addresses, the last address being a V6 content descriptor (v6CD) that identifies the first chunk, and wherein other addresses in the list of addresses identify endpoints that may be asked for the first chunk.

### Claim 10

A method comprising:
obtaining a packet at a network endpoint, the packet being obtained from a client via a first segment, the packet having a segment routing header, the segment routing header including a list of addresses attached to a chunk entry, wherein the packet is configured to identify at least a first chunk requested by the client, wherein the first chunk is a chunk of video, and wherein the segment routing header is configured to identify at least the first chunk requested by the client;
identifying, at the network endpoint, the at least first chunk using the packet;
determining at the network endpoint if the network endpoint has the first chunk;
providing the first chunk from the network endpoint to the client if it is determined that the network endpoint has the first chunk; and
providing the packet to at least a second segment if it is determined that the network endpoint does not have the first chunk, wherein the list of addresses includes a plurality of addresses, and wherein a last address in the list of addresses is a content identifier corresponding to the at least first chunk, the CID being an address in which content information is included, the content information including at least one selected from a group including a format, a resolution, a quality, and a time code.
