# US 9,374,410 B2 · System and method for seamless switchover between unicast and multicast sources of over-the-top streams

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

- Number: US 9,374,410 B2
- Document ID: US9374410B2
- Status: Granted
- Kind: B2
- Application number: 14/339,035
- Filed: 2014-07-23
- Published: 2015-01-29
- Granted: 2016-06-21
- Earliest claimed: 2013-07-24
- Assignees: imVision Software Technologies Ltd.
- Applicants: imVision Software Technologies Ltd.
- Inventors: Sharon Mantin
- Web page: https://patentgrep.com/patent/US9374410B2

## CPC

- H04L 65/80: Responding to QoS
- H04L 12/18: for broadcast or conference {, e.g. multicast}
- 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 65/612: for unicast
- 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)}
- 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 method and system for switching between a unicast streaming source and a multicast streaming source of over-the-top (OTT) streams are provided. The method includes retrieving an OTT unicast stream from the unicast streaming source and an OTT multicast stream from the multicast streaming source, wherein there is a time delay between the OTT unicast stream and the OTT multicast stream; synchronizing the OTT unicast stream and the OTT multicast stream to compensate for the time delay; selecting one of the OTT unicast stream and the OTT multicast stream; and switching to a streaming source of the selected OTT stream.

## Claims

### Claim 1

A method for switching between a unicast streaming source and a multicast streaming source of over-the-top (OTT) streams, comprising:
retrieving an OTT unicast stream from the unicast streaming source and an OTT multicast stream from the multicast streaming source, wherein there is a time delay between the OTT unicast stream and the OTT multicast stream;
synchronizing the OTT unicast stream and the OTT multicast stream to compensate for the time delay by comparing the OTT unicast stream and the OTT multicast stream, wherein comparing the OTT unicast stream and the OTT multicast stream includes comparing an index of a next requested TS segment designated in a playlist of the OTT unicast stream to an index of a current TS segment included in the OTT multicast stream; and
determining a time delay based on a difference between the TS segment indexes;
selecting one of the OTT unicast stream and the OTT multicast stream; and
switching to a streaming source of the selected OTT stream.

### Claim 2 (depends on 1)

The method of claim 1, further comprising:
feeding a media player from the streaming source of the selected OTT stream; and
disconnecting a session with a streaming source feeding the OTT stream which was not selected.

### Claim 3 (depends on 1)

The method of claim 1, wherein comparing the OTT unicast stream and the OTT multicast stream further comprises:
receiving an I/B/P frame sequence respective of each of the OTT unicast stream and the OTT multicast stream;
comparing the received I/B/P frame sequences of the OTT unicast stream and the OTT multicast stream; and
determining the time delay based on the comparison.

### Claim 4 (depends on 1)

The method of claim 1, wherein synchronization of the OTT unicast stream and the OTT multicast stream is based on one or more protocols utilized to stream the OTT unicast stream and the OTT multicast stream.

### Claim 5 (depends on 4)

The method of claim 4, wherein the protocol is any one of: a real time messaging protocol (RTMP), a HTTP live streaming (HLS) protocol, a real time streaming protocol (RTSP), HTTP dynamic streaming, and moving pictures experts group (MPEG)-dynamic adaptive streaming over HTTP (DASH).

### Claim 6

A communication terminal, comprising:
a processing unit; and
a memory, the memory containing instructions that, when executed by the processing unit, configure the terminal to:
retrieve an OTT unicast stream from the unicast streaming source and an OTT multicast stream from the multicast streaming source, wherein there is a time delay between the OTT unicast stream and the OTT multicast stream;
compare the OTT unicast stream and the OTT multicast stream to synchronize the OTT unicast stream and the OTT multicast stream to compensate for the time delay;
select one of the synchronized OTT unicast stream and the OTT multicast stream; and
switch to a streaming source of the selected OTT stream, wherein the terminal is configured to compare the OTT unicast stream and the OTT multicast stream to by comparing an index of a next requested TS segment designated in a playlist of the OTT unicast stream to an index of a current TS segment included the OTT multicast stream and determining a time delay based on a difference between TS segment indexes.

### Claim 7 (depends on 6)

The communication terminal of claim 6, further configured to:
feed a media player from the streaming source of the selected OTT stream; and
disconnect a session with a streaming source feeding the OTT stream which was not selected.

### Claim 8 (depends on 6)

The communication terminal of claim 6, wherein the terminal is further configured to:
receive an I/B/P frame sequence respective of each of the OTT unicast stream and the OTT multicast stream;
compare the received I/B/P frame sequences of the OTT unicast stream and the OTT multicast stream; and
determine a time delay based on the comparison.

### Claim 9 (depends on 6)

The communication terminal of claim 6, wherein synchronization of the OTT unicast stream and the OTT multicast stream is based on one or more protocols utilized to stream the OTT unicast stream and the OTT multicast stream.

### Claim 10 (depends on 9)

The communication terminal of claim 9, wherein the protocol is any one of: a real time messaging protocol (RTMP), a HTTP live streaming (HLS) protocol, a real time streaming protocol (RTSP), HTTP dynamic streaming, and moving pictures experts group (MPEG)-dynamic adaptive streaming over HTTP (DASH).

### Claim 11

A communication terminal, comprising:
a user interface;
a processing unit; and
a memory, the memory containing instructions that, when executed by the processing unit, configure the terminal to:
retrieve an OTT unicast stream from the unicast streaming source and an OTT multicast stream from the multicast streaming source, wherein there is a time delay between the OTT unicast stream and the OTT multicast stream;
compare the OTT unicast stream and the OTT multicast stream to synchronize the OTT unicast stream and the OTT multicast stream to compensate for the time delay;
select one of the OTT unicast stream and the OTT multicast stream;
switch to a streaming source of the selected OTT stream; and
feed the selected OTT stream to the user interface, wherein the terminal is configured to compare the OTT unicast stream and the OTT multicast stream to by comparing an index of a next requested TS segment designated in a playlist of the OTT unicast stream to an index of a current TS segment included the OTT multicast stream and determining a time delay based on a difference between TS segment indexes.

### Claim 12 (depends on 11)

The communication terminal of claim 11, wherein the terminal is further configured to:
disconnect a session with a streaming source feeding the OTT stream which was not selected.

### Claim 13 (depends on 11)

The communication terminal of claim 11, wherein the terminal is further configured to:
receive an I/B/P frame sequence respective of each of the OTT unicast stream and the OTT multicast stream;
compare the received I/B/P frame sequences of the OTT unicast stream and the OTT multicast stream; and
determine a time delay based on the comparison.

### Claim 14 (depends on 11)

The communication terminal of claim 11, wherein synchronization of the OTT unicast stream and the OTT multicast stream is based on one or more protocols utilized to stream the OTT unicast stream and the OTT multicast stream.

### Claim 15 (depends on 14)

The communication terminal of claim 14, wherein the protocol is any one of: a real time messaging protocol (RTMP), a HTTP live streaming (HLS) protocol, a real time streaming protocol (RTSP), HTTP dynamic streaming, and moving pictures experts group (MPEG)-dynamic adaptive streaming over HTTP (DASH).
