IP Library Granted Patent US 10,812,555
Granted Patent B2
US 10,812,555 · App. 16/351,341 · Granted Oct 20, 2020

Scheduling segment data delivery in an adaptive media stream to avoid stalling

Inventors: Mark B. Hurst (Cedar Hills, UT); Herrick Muhlestein (Lindon, UT)
Assignee: DISH Technologies L.L.C.
H04L65/601H04L65/4092H04L67/1002H04N21/437H04N21/44209H04N21/4622H04N21/6373H04N21/6581H04N21/8456H04L65/80
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 10,812,555
App. No.
16/351,341
Granted
Oct 20, 2020
Kind
B2
Abstract

Methods, systems and devices are described to improve the performance of adaptive media streaming sessions. A media player device proactively requests segment data representing a media stream over multiple simultaneous network connections. Delivery of the requested segment data on each of the plurality of simultaneous connections is monitored, and subsequent requests for segment data are adapted based upon the monitored delivery of the requested segments on each of the plurality of simultaneous connections.

Claims (21)

1. An automated process executable by a media player device to proactively obtain a media stream comprises of a series of segments, the automated process comprising:

placing requests from the media player device for segment data that is to be delivered to the media device via a network, wherein the requests are placed on each of a plurality of simultaneous parallel connections;

after placing the requests, the media player device monitoring delivery of the previously requested segment data on each of the plurality of simultaneous parallel connections to identify previously-requested segment data that has not yet been delivered on a delayed one of the parallel connections; and

adapting subsequent requests for segment data based upon the monitored delivery of the previously requested segment data on each of the plurality of simultaneous connections so that at least some of the subsequent requests on other parallel connections are temporarily suspended to reduce bandwidth consumption by the media player device until the previously-requested segment data is delivered on the delayed parallel connection.

2. The automated process of claim 1 wherein the adapting comprises matching the amount of data requested on each of the simultaneous connections to the delivery rate for that simultaneous connection.

3. The automated process of claim 2 wherein the relative amount of segment data requested on each of the simultaneous parallel connections substantially matches the monitored amount of data delivered on that simultaneous connection.

4. The automated process of claim 1 wherein the relative amount of segment data requested on each of the simultaneous parallel connections substantially matches the monitored amount of data delivered on that simultaneous parallel connection.

5. The automated process of claim 1 wherein the monitoring comprises identifying undelivered segment data previously requested on one of the plurality of simultaneous parallel connections that is urgent, but that has not yet been delivered.

6. The automated process of claim 5 wherein the adapting comprises reducing the requests for segment data on the other simultaneous parallel connections to thereby give priority to the simultaneous parallel connection that is delivering the undelivered segment data.

7. The automated process of claim 5 wherein the adapting comprises cancelling an active segment data request on at least one of the other simultaneous parallel connections to thereby give priority to the delayed parallel connection that is delivering the undelivered urgent segment data.

8. The automated process of claim 5 wherein the adapting comprises requesting replacement segment data that corresponds to the undelivered segment data but that has a lower quality than the undelivered segment data via one of the other simultaneous parallel connections.

9. A data processing system for playing media content received as an adaptive stream comprising a plurality of sequential segments from a content source via a network, the data processing system comprising:

an interface to the network; and

a processor configured to establish a plurality of simultaneous parallel connections to the content source via the interface, to place requests for data of the sequential segments of the media stream via each of the plurality of simultaneous parallel connections, to monitor delivery of the requested segment data on each of the plurality of simultaneous parallel connections to identify previously-requested segment data that has not yet been delivered on a delayed one of the parallel connections, and to adapt subsequent requests for segment data based upon the monitored delivery of the requested segments on each of the plurality of simultaneous parallel connections so that at least some of the subsequent requests on other parallel connections are temporarily suspended to reduce bandwidth consumption by the media player device until the previously-requested segment data is delivered on the delayed parallel connection.

10. The data processing system of claim 9 wherein the processor adapts the subsequent requests by matching the amount of data requested on each of the simultaneous connections to the delivery rate for that simultaneous parallel connection.

11. The data processing system of claim 10 wherein the relative amount of segment data requested on each of the simultaneous parallel connections substantially matches the monitored amount of data delivered on that simultaneous parallel connection.

12. The data processing system of claim 9 wherein the relative amount of segment data requested on each of the simultaneous parallel connections substantially matches the monitored amount of data delivered on that simultaneous parallel connection.

13. The data processing system of claim 9 wherein the processor monitors the delivery of the requested segment data by identifying segment data requested on one of the plurality of simultaneous parallel connections that is urgent, but that has not yet been delivered.

14. The data processing system of claim 13 wherein the processor adapts the subsequent requests by reducing requests for segment data on the other simultaneous parallel connections to thereby give priority to the simultaneous parallel connection that is delivering the identified urgent segment data.

15. The data processing system of claim 13 wherein the processor adapts the subsequent requests by cancelling an active segment request on at least one of the other simultaneous parallel connections to thereby give priority to the simultaneous parallel connection that is delivering the identified urgent segment data.

16. The data processing system of claim 13 wherein the processor adapts the subsequent requests by requesting replacement segment data that corresponds to the undelivered segment data but that has a lower quality than the undelivered segment data via one of the other simultaneous parallel connections.

Assignments (3)
SECURITY INTEREST Recorded Nov 30, 2021
From: DISH BROADCASTING CORPORATION; DISH NETWORK L.L.C.; DISH TECHNOLOGIES L.L.C.
To: U.S. BANK, NATIONAL ASSOCIATION, AS COLLATERAL AGENT
Reel/Frame 058295/0293 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 13, 2019
From: HURST, MARK B.; MUHLESTEIN, HERRICK
To: DISH TECHNOLOGIES LLC
Reel/Frame 048591/0230 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 12, 2019
From: HURST, MARK B.; MUHLESTEIN, HERRICK
To: DISH TECHNOLOGIES L.L.C.
Reel/Frame 048578/0994 →