# US 2016/0366198 A1 · Http live streaming (hls) video client synchronization

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

- Number: US 2016/0366198 A1
- Document ID: US20160366198A1
- Status: Published application
- Kind: A1
- Application number: 15/176,827
- Filed: 2016-06-08
- Published: 2016-12-15
- Earliest claimed: 2015-06-09
- Assignees: ARRIS Enterprises LLC
- Applicants: ARRIS Enterprises LLC
- Inventors: William W. Jennings; Paul A. Clancy
- Web page: https://patentgrep.com/patent/US20160366198A1

## CPC

- H04L 65/611: for multicast or broadcast (systems for broadcast or conference H04L12/18; arrangements for broadcast or distribution combined with broadcast H04H20/00; arrangements for broadcast applications with a direct linkage to broadcast information or to broadcast space-time H04H60/00; selective distribution of broadcast services, e.g. multimedia broadcast multicast service [MBMS], H04W4/06)
- H04L 12/2854: {Wide area networks, e.g. public data networks}
- H04L 65/1026: {at the edge}
- H04L 65/1069: Session establishment or de-establishment
- H04L 67/02: based on web technology, e.g. hypertext transfer protocol [HTTP]
- H04N 21/234: Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
- H04N 21/242: Synchronisation processes, e.g. processing of PCR [Programme Clock References] {(arrangements for synchronising broadcast or distribution via plural systems in broadcast distribution systems H04H20/18)}
- 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/4302: {Content synchronisation processes, e.g. decoder synchronisation}
- H04N 21/436: Interfacing a local distribution network, e.g. communicating with another STB {or one or more peripheral devices} inside the home
- H04N 21/44: Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
- H04N 21/8456: {by decomposing the content in the time domain, e.g. in time segments}
- H04L: TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION (arrangements common to telegraphic and telephonic communication H04M)
- H04N: PICTORIAL COMMUNICATION, e.g. TELEVISION

## Abstract

A streaming media server is provided that receives a request over a network from a customer premises gateway to receive a streaming media content item that is to be presented on two or more client devices in a synchronized manner. Responsive to the request, the streaming media server sends a manifest associated with the requested streaming media content item to the customer premises gateway only when it has been incrementally updated to remove an oldest media segment URL from the manifest and add a most recent media segment URL to the manifest.

## Claims

### Claim 1

A method for delivering streaming media content from a streaming media server to at least two client devices through a common gateway so that the streaming media content is presented simultaneously by the client devices, comprising:
determining that a request received by a gateway from a first client device is a request to receive from a streaming media server media content that is to be synchronized with a presentation of the media content by a second client device that receives the media content through the gateway, the first and second client devices being of a common type that process streaming media in a common manner;
(ii) sending the request from the gateway to the streaming media server;
(iii) responsive to the request from the gateway, receiving at the gateway an initial manifest associated with the streaming media content, the initial manifest including a sequence of media segment URLs indicating an ordering of the media segments that create a representation of a portion of the streaming media content;
(iv) sending one or more additional requests from the gateway to the streaming media server to receive an updated version of the initial manifest, the one or more additional requests being sent at time intervals that are less than a duration of the media segments in the initial manifest;
(v) forwarding the updated version of the initial manifest and not the initial manifest itself to the first client device immediately upon receiving the updated manifest version at the gateway;
(vi) receiving a request from the first client device to receive a selected media segment specified in the updated manifest version;
(vii) forwarding the request for the selected media segment to the server and receiving the selected media segment in response;
(viii) forwarding the selected media content to the first client device at a transmission rate greater than a rate at which the media segment plays out in real-time and less than a transmission rate available over a slower of a first or second transmission link, the first transmission link being between the gateway and the first client device and the second transmission link being between the gateway and the second client device; and
(ix) repeating steps (i)-(viii) for the second client device.

### Claim 2 (depends on 1)

The method of claim 1, wherein the request to receive the media content is received by the gateway at a time subsequent to a time at which the request to receive the media content is received by the gateway from the first client device.

### Claim 3 (depends on 1)

The method of claim 1, wherein the selected media segment is a media segment sequentially located between a more recent and an oldest media segment included in the updated manifest version, the first and second client devices both selecting a media segment that has a common sequential location in the updated manifest version.

### Claim 4 (depends on 1)

The method of claim 1, wherein the transmission rate at which the selected media content is forwarded to the first client device over the first link is a transmission rate at which the selected media content is able to be transmitted to the second client device over the second link.

### Claim 5 (depends on 1)

The method of claim 1, further comprising forwarding subsequent media segments from the gateway to the first client device at a maximum transmission rate available over the first link.

### Claim 6 (depends on 1)

The method of claim 1, wherein the gateway is a router.

### Claim 7 (depends on 1)

The method of claim 1, wherein the gateway is a combined modem/router.

### Claim 8 (depends on 1)

The method of claim 1, wherein determining that the request to receive synchronized streaming media content includes examining a destination network address of the request and intercepting requests having a network address associated with the streaming media server.

### Claim 9 (depends on 1)

The method of claim 1, wherein the media content is live content streamed in accordance with HTTP Live Streaming (HLS).

### Claim 10

A customer premises gateway, comprising:
a network-side interface for communicating over a wide-area network (WAN);
a client-side interface establishing communication between the WAN and a plurality of client devices that process streaming media in a common manner;
one or more processors:
one or more computer-readable storage media containing instructions which, when executed by the one or more processors perform a method for delivering streaming media content received over the WAN to the plurality of client devices, the method including:
receiving first and second requests from first and second client devices, respectively, to receive a common live streaming media content item that is to be synchronized on first and second client devices;
responding to the each of the first and second requests by ensuring that manifests associated with the common live streaming media content item are forwarded to the first and second client devices immediately after the manifests have been incrementally updated to include a URL for a new media segment;
responsive to requests from the first and second client devices to receive selected media segments specified in the updated versions of the manifests, sending the selected media segments to the first and second client devices at a transmission rate greater than a rate at which the media segments play out in real-time and less than a transmission rate available over a slower of a first or second transmission link, the first transmission link being between the client-side interface and the first client device and the second transmission link being between the client-side interface and the second client device.

### Claim 11 (depends on 10)

The customer premises gateway of claim 10, wherein ensuring that the manifests are forwarded to the first and second client devices immediately after the manifests have been incrementally updated includes periodically polling a streaming media server over the WAN for updated versions of the manifests at time intervals that are shorter than a duration of the media segments.

### Claim 12 (depends on 11)

The customer premises gateway of claim 11, wherein ensuring that the manifests are forwarded to the first and second client devices immediately after the manifest have been incrementally updated includes causing a script residing on a streaming media server that provides the manifests to send the manifests to the gateway as soon as they are updated.

### Claim 13 (depends on 10)

The customer premises gateway of claim 10, wherein the second request from the second client device is received subsequent to a time at which the first request is received from the first client device.

### Claim 14 (depends on 13)

The customer premises gateway of claim 13, wherein responding to the first and second requests includes forwarding different updated versions of the manifest to the first and second client device.

### Claim 15 (depends on 10)

The customer premises gateway of claim 10, further comprising forwarding subsequent media segments from the gateway to the first client device at a maximum transmission rate available over the first link.

### Claim 16 (depends on 10)

The customer premises gateway of claim 10, further comprising determining that the first and second requests to receive the common streaming media content item by examining destination network addresses of the first and second requests and intercepting requests having a network address associated with streaming media server.

### Claim 17 (depends on 10)

The customer premises gateway of claim 10, wherein the media content item is live content streamed in accordance with HLS.

### Claim 18 (depends on 10)

The customer premises gateway of claim 10, further comprising receiving the manifests and the selected media segments from a streaming media server over the wide-area network.

### Claim 19

One or more computer-readable storage media containing instructions which, when executed by the one or more processors perform a method for delivering streaming media content received over the WAN to a customer premises gateway, the method including:
receiving a request over a network from a customer premises gateway to receive a streaming media content item that is to be presented on two or more client devices in a synchronized manner;
responsive to the request, sending a manifest associated with the requested streaming media content item to the customer premises gateway only when it has been incrementally updated to remove an oldest media segment URL from the manifest and add a most recent media segment URL to the manifest.

### Claim 20 (depends on 19)

The one or more computer-readable storage media of claim 19, wherein sending the manifest further comprises delaying sending the manifest until an incremental update to the manifest has occurred.
