# US 10,313,762 B2 · Method and system for managing time machine function of video 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,762 B2
- Document ID: US10313762B2
- Status: Granted
- Kind: B2
- Application number: 15/341,510
- Filed: 2016-11-02
- Published: 2017-06-08
- Granted: 2019-06-04
- Earliest claimed: 2015-12-08
- Assignees: Naver Corporation
- Applicants: NAVER Corporation
- Inventors: Jaewon Oh; SeungKwan Yang; ByungJo Yoon; Kiyoung Park
- Web page: https://patentgrep.com/patent/US10313762B2

## CPC

- H04N 21/6587: Control parameters, e.g. trick play commands, viewpoint selection
- H04L 65/61: for supporting one-way streaming services, e.g. Internet radio
- H04L 65/613: for the control of the source by the destination (control signals issued by the client directed to the server or network components specially adapted for selective content distribution H04N21/637)
- H04N 21/2187: Live feed
- H04N 21/23106: {involving caching operations (prefetching while addressing of a memory level in which the access to the desired data or data block requires associative addressing means within memory systems or architectures G06F12/0862; caching at an intermediate stage in a data network H04L67/568)}
- H04N 21/2387: Stream processing in response to a playback request from an end-user, e.g. for trick-play
- H04N 21/632: {using a connection between clients on a wide area network, e.g. setting up a peer-to-peer communication via Internet for retrieving video segments from the hard-disk of other client devices (broadcast-related systems characterised by transmission among terminal devices H04H60/80; distributed application using peer-to-peer [P2P] networks H04L67/104)}
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)

## Abstract

Provided is a method and system for managing a sliding window for a time machine function, the method including creating a virtual sliding piece array that includes information for specifying pieces from the latest point in time of live stream data to a previous point in time of a time machine available time preset to provide the time machine function; creating a streaming sliding window for specifying a preset number of continuous pieces among pieces specified in the virtual sliding piece array; shifting the streaming sliding window to a piece index of a play location requested for the live stream data, and downloading the pieces specified in the virtual sliding piece array through the streaming sliding window; and streaming stream data from a streaming client installed on an electronic device to a player installed on the electronic device using the downloaded pieces in order to provide a live streaming service.

## Claims

### Claim 1

A method of managing a time machine function of video content, the method comprising:
creating a virtual sliding piece array that includes information for specifying pieces from a latest point in time of live stream data to a previous point in time of a time machine available time preset to provide the time machine function;
creating a streaming sliding window for specifying a preset number of continuous pieces among pieces specified in the virtual sliding piece array;
shifting the streaming sliding window to a piece index of a play location requested for the live stream data, and downloading the pieces specified in the virtual sliding piece array through the streaming sliding window;
streaming stream data from a streaming client installed on an electronic device to a player installed on the electronic device using the downloaded pieces in order to provide a live streaming service;
creating a live sliding window for specifying a preset number of most up-to-date continuous pieces among the pieces specified in the virtual sliding piece array; and
downloading the pieces specified in the virtual sliding piece array through the live sliding window simultaneously with the downloading of the pieces specified in the virtual sliding piece array through the streaming sliding window,
wherein the play location requested for the live stream data is transmitted from the player to the streaming client through a time machine control session set between the streaming client and the player, and
the stream data being streamed is transmitted from the streaming client to the player through a streaming session set between the streaming client and the player;
wherein a data transmission between the streaming client and the player through the streaming session proceed according to a first protocol and a data transmission between the streaming client and the player through the time machine control session proceed according to a second protocol, wherein the first and second protocols are independent from each other.

### Claim 2 (depends on 1)

The method of claim 1, wherein the pieces specified and downloaded through the live sliding window are stored in a cache storage included in the electronic device or transmitted to another electronic device over a network in order to share latest data of the live stream data, regardless of the pieces specified and downloaded through the live sliding window being used for streaming the stream data to the player.

### Claim 3 (depends on 2)

The method of claim 2, wherein the downloading of the pieces specified in the virtual sliding piece array through the streaming sliding window comprises reusing the pieces specified through the live sliding window and stored in the cache storage of the electronic device in response to overlapping between the streaming sliding window and the live sliding window.

### Claim 4 (depends on 1)

The method of claim 1, wherein the downloading of the pieces specified in the virtual sliding piece array through the streaming sliding window comprises:
downloading the specified pieces from at least one of a cache storage included in the electronic device, another electronic device connected using a peer-to-peer (P2P) scheme, and a delivery server that provides pieces of the live stream data; and
attempting to download the pieces based on priority order among the cache storage, the other electronic device, and the delivery server.

### Claim 5

A non-transitory computer-readable recording medium storing a computer program to implement a method of managing a time machine function of video content, the program when executed by a computer performing the steps comprising:
creating a virtual sliding piece array that includes information for specifying pieces from a latest point in time of live stream data to a previous point in time of a time machine available time preset to provide the time machine function;
creating a streaming sliding window for specifying a preset number of continuous pieces among pieces specified in the virtual sliding piece array;
shifting the streaming sliding window to a piece index of a play location requested for the live stream data, and downloading the pieces specified in the virtual sliding piece array through the streaming sliding window;
streaming stream data from a streaming client installed on an electronic device to a player installed on the electronic device using the downloaded pieces in order to provide a live streaming service;
creating a live sliding window for specifying a preset number of most up-to-date continuous pieces among the pieces specified in the virtual sliding piece array; and
downloading the pieces specified in the virtual sliding piece array through the live sliding window simultaneously with the downloading of the pieces specified in the virtual sliding piece array through the streaming sliding window;
wherein the play location requested for the live stream data is transmitted from the player to the streaming client through a time machine control session set between the streaming client and the player, and
the stream data being streamed is transmitted from the streaming client to the player through a streaming session set between the streaming client and the player;
wherein a data transmission between the streaming client and the player through the streaming session proceed according to a first protocol and a data transmission between the streaming client and the player through the time machine control session proceed according to a second protocol, wherein the first and second protocols are independent from each other.

### Claim 6 (depends on 5)

The non-transitory computer-readable recording medium of claim 5, wherein the pieces specified and downloaded through the live sliding window are stored in a cache storage included in the electronic device or transmitted to another electronic device over a network in order to share latest data of the live stream data, regardless of the pieces specified and downloaded through the live sliding window being used for streaming the stream data to the player.

### Claim 7 (depends on 6)

The non-transitory computer-readable recording medium of claim 6, wherein the downloading of the pieces specified in the virtual sliding piece array through the streaming sliding window comprises reusing the pieces specified through the live sliding window and stored in the cache storage of the electronic device in response to overlapping between the streaming sliding window and the live sliding window.

### Claim 8 (depends on 5)

The non-transitory computer-readable recording medium of claim 5, wherein the downloading of the pieces specified in the virtual sliding piece array through the streaming sliding window comprises:
downloading the specified pieces from at least one of a cache storage included in the electronic device, another electronic device connected using a peer-to-peer (P2P) scheme, and a delivery server that provides pieces of the live stream data; and
attempting to download the pieces based on priority order among the cache storage, the other electronic device, and the delivery server.

### Claim 9

A system for managing a time machine function of video content in an electronic device configured as a computer, the system comprising:
one or more processors configured to execute non-transitory computer-readable instructions, wherein the one or more processors comprise:
a virtual sliding piece array creator configured to create a virtual sliding piece array that includes information for specifying pieces from a latest point in time of live stream data to a previous point in time of a time machine available time preset to provide the time machine function;
a streaming sliding window creator configured to create a streaming sliding window for specifying a preset number of continuous pieces among pieces specified in the virtual sliding piece array;
a piece download controller configured to control the electronic device to shift the streaming sliding window to a piece index of a play location requested for the live stream data, and to download the pieces specified in the virtual sliding piece array through the streaming sliding window; and
a streaming processor configured to stream stream data from a streaming client installed on an electronic device to a player installed on the electronic device using the downloaded pieces in order to provide a live streaming service; and
a live sliding window creator configured to create a live sliding window for specifying a preset number of most-up-date continuous pieces among the pieces specified in the virtual sliding piece array; and
wherein the piece download controller is further configured to download the pieces specified in the virtual sliding piece array through the live sliding window simultaneously with the downloading of the pieces specified in the virtual sliding piece array through the streaming sliding window,
wherein the play location requested for the live stream data is transmitted from the player to the streaming client through a time machine control session set between the streaming client and the player, and
the stream data being streamed is transmitted from the streaming client to the player through a streaming session set between the streaming client and the player;
wherein a data transmission between the streaming client and the player through the streaming session proceed according to a first protocol and a data transmission between the streaming client and the player through the time machine control session proceed according to a second protocol, wherein the first and second protocols are independent from each other.

### Claim 10 (depends on 9)

The system of claim 9, wherein the pieces specified and downloaded through the live sliding window are stored in a cache storage included in the electronic device or transmitted to another electronic device over a network in order to share latest data of the live stream data, regardless of the pieces specified and downloaded through the live sliding window being used for streaming the stream data to the player.

### Claim 11 (depends on 9)

The system of claim 9, wherein the piece download controller is further configured to
download the specified pieces from at least one of a cache storage included in the electronic device, another electronic device connected using a peer-to-peer (P2P) scheme, and a delivery server that provides pieces of the live stream data, and
attempt to download the pieces based on priority order among the cache storage, the other electronic device, and the delivery server.
