# US 2016/0261920 A1 · Methods and apparatus for supporting vod requests in a system with hierarchical content stores

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

- Number: US 2016/0261920 A1
- Document ID: US20160261920A1
- Status: Published application
- Kind: A1
- Application number: 15/155,977
- Filed: 2016-05-16
- Published: 2016-09-08
- Earliest claimed: 2009-11-30
- Assignees: Time Warner Cable Enterprises LLC
- Applicants: Time Warner Cable Enterprises LLC
- Inventors: Charles Hasek
- Web page: https://patentgrep.com/patent/US20160261920A1

## CPC

- H04N 21/47217: {for controlling playback functions for recorded or on-demand content, e.g. using progress bars, mode or play-point indicators or bookmarks (specific graphical features in visual interfaces H04N21/4312)}
- H04L 65/612: for unicast
- H04N 7/17336: {Handling of requests in head-ends}
- H04N 21/2183: Cache memory {(caches in web servers or browsers G06F16/9574; intermediate storage and caching in data networks H04L67/568)}
- H04N 21/2225: Local VOD servers
- H04N 21/26616: {for merging a unicast channel into a multicast channel, e.g. in a VOD application, when a client served by unicast channel catches up a multicast channel to save bandwidth (data multicast over packet-switching network H04L12/18)}
- H04N 21/47202: {for requesting content on demand, e.g. video on demand}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Methods and apparatus for supporting video on demand requests in a system supporting hierarchical content stores, e.g., program caches, is described. Requested content is requested by a local streaming device from a remote cache when it is not available in a local cache. Content, e.g., I, P and B frames, supplied by the remote cache is tracked and content delivery is initiated prior to receipt of the full program from the remote content store. Trick play content is requested as needed from the remote content store to respond to trick play commands. Frames which are received as part of the trick play content stream are tracked and not included in normal play data subsequently obtained from the remote cache. The storage of the trick play data along with subsequent normal play data results in a full set of the program content being received and stored in a local cache for streaming in response to a VOD request.

## Claims

### Claim 1

A method of operating an apparatus to provide video content representing a program, the method comprising:
receiving trick play data including frames corresponding to a second portion of the program;
receiving, during a time period in which said trick play data corresponding to the second portion of the program is received, a subset of normal play frames corresponding to a first portion of the program, said first portion preceding said second portion in said program; and
storing the frames corresponding to the second portion of the program in memory.

### Claim 2 (depends on 1)

The method of claim 1, wherein said time period is a time period in which at least some normal play data corresponding to the program is received in a stream to facilitate completion of the normal play data while said trick play data is also streamed to said apparatus.

### Claim 3 (depends on 2)

The method of claim 2, wherein said trick play data and normal play data is received from a remote cache; and
wherein the data rate between the remote cache and said apparatus is less than twice the data rate used to support normal playback of the program being streamed.

### Claim 4 (depends on 1)

The method of claim 1, further comprising:
combining said subset of frames corresponding to the first portion of the program received during said time period with a previously received subset of frames corresponding to the first portion of said program to generate a normal play set of data corresponding to the first portion of the program.

### Claim 5 (depends on 4)

The method of claim 4 further comprising, prior to receiving the trick play data corresponding to the second portion of the program:
receiving a first set of trick play data corresponding to the first portion of the program, said first set of trick play data being said previously received subset of frames corresponding to said first portion of said program, said previously received subset including fewer frames than the normal play set of data; and
storing said first set of trick play data in said memory.

### Claim 6 (depends on 5)

The method of claim 5, further comprising, prior to receiving the trick play data corresponding to the second portion of the program:
storing said generated normal play set of data in memory separately from said stored received first set of trick play data.

### Claim 7

The method of 4, further comprising,
sending a request to remote frame storage device for frames corresponding to said set of normal play data which were not included in the received first set of trick play data.

### Claim 8 (depends on 7)

The method of claim 7, wherein said request includes information identifying at least some frames corresponding to said first portion of said program.

### Claim 9 (depends on 1)

The method of claim 1, wherein receiving, during a time period in which said trick play data corresponding to the second portion of the program is received, a subset of normal play frames corresponding to a first portion of the program includes:
receiving missing I frames corresponding to said first portion of said program prior to receiving missing predictively coded frames.

### Claim 10 (depends on 9)

The method of claim 9, wherein receiving, during a time period in which said track play data corresponding to the second portion of the program is received, a subset of normal play frames corresponding to a first portion of the program further includes:
receiving missing P frames after receiving missing I frames.

### Claim 11 (depends on 11)

The method of claim 11, further comprising:
receiving said frames corresponding to said first portion of the program which were not included in said received first set of trick play data includes receiving missing B frames after receiving missing P frames.

### Claim 12

An apparatus for providing video content representing a program, comprising:
an interface configured to:
receive trick play data including frames corresponding to a second portion of the program; and
receive, during a time period in which said trick play data corresponding to the second portion of the program is received, a subset of normal play frames corresponding to a first portion of the program, said first portion preceding said second portion in said program; and
a memory for storing the frames corresponding to the second portion of the program in memory; and

### Claim 13 (depends on 12)

The apparatus of claim 12, wherein said time period is a time period in which at least some normal play data corresponding to the program is received in a stream to facilitate completion of the normal play data while said trick play data is also streamed to said apparatus.

### Claim 14 (depends on 13)

The apparatus of claim 13, wherein said trick play data and normal play data is received from a remote cache; and
wherein the data rate between the remote cache and said apparatus is less than twice the data rate used to support normal playback of the program being streamed.

### Claim 15 (depends on 12)

The apparatus of claim 12, further comprising:
a generation module configured to combine said subset of frames corresponding to the first portion of the program received during said time period with a previously received subset of frames corresponding to the first portion of said program to generate a normal play set of data corresponding to the first portion of the program.

### Claim 16 (depends on 15)

The apparatus of claim 15,
wherein said apparatus receives via said interface prior to receiving the trick play data corresponding to the second portion of the program, a first set of trick play data corresponding to the first portion of the program, said first set of trick play data being said previously received subset of frames corresponding to said first portion of said program, said previously received subset including fewer frames than the normal play set of data; and
wherein said apparatus further includes a processor configured to control said apparatus to store said received first set of trick play data in said memory.

### Claim 17 (depends on 16)

The apparatus of claim 16,
wherein said processor is further configured to control said apparatus to store said generated normal play set of data in memory separately from said stored received first set of trick play data.

### Claim 18

The apparatus of 15, further comprising,
a module configured to send a request to remote frame storage device for frames corresponding to said set of normal play data which were not included in the received first set of trick play data.

### Claim 19 (depends on 12)

The apparatus of claim 12, wherein as part of being configured to receive, during a time period in which said trick play data corresponding to the second portion of the program is received, a subset of normal play frames corresponding to a first portion of the program, said interface is further configured to receive missing I frames corresponding to said first portion of said program prior to receiving missing predictively coded frames.

### Claim 20 (depends on 19)

The apparatus of claim 19, wherein as part of being configured to receive, during a time period in which said trick play data corresponding to the second portion of the program is received, a subset of normal play frames corresponding to a first portion of the program, said interface is further configured to receive missing P frames after receiving missing I frames.
