IP Library Granted Patent US 10,250,655
Granted Patent B2
US 10,250,655 · App. 13/840,503 · Granted Apr 2, 2019

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

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,250,655
App. No.
13/840,503
Granted
Apr 2, 2019
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 (17)

1. A method executable by a media player device to proactively obtain a media stream that comprises of a series of segments via a network, the method comprising:

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

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 thereby identify undelivered segment data that is urgent and that was previously requested on a particular one of the plurality of simultaneous parallel connections, but that has not yet been delivered; and

if the monitoring indicates that the undelivered segment data has not yet been received, the media player suspending the requests for additional segment data on the simultaneous parallel connections other than the particular one of the simultaneous parallel connections that is delivering the previously-requested but undelivered urgent segment to reduce an amount of bandwidth consumed by the other simultaneous parallel connections and thereby give priority to the previously-requested but undelivered urgent segment data on the particular simultaneous parallel connection.

2. The method of claim 1 further comprising the media player adapting subsequent requests for segment data based upon the monitored delivery of the requested segment data on each of the plurality of simultaneous parallel connections by matching the amount of data requested on each of the simultaneous connections to the delivery rate for that simultaneous connection.

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

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

5. The method of claim 1 further comprising the media player adapting subsequent requests for segment data based upon the monitored delivery of the requested segment data on each of the plurality of simultaneous parallel connections by cancelling an active segment data request on at least one of the other simultaneous parallel connections to thereby give priority to the simultaneous parallel connection that is delivering the undelivered urgent segment data.

6. The method of claim 1 further comprising the media player adapting subsequent requests for segment data based upon the monitored delivery of the requested segment data on each of the plurality of simultaneous parallel connections 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.

7. 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 data 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 previously requested segment data on each of the plurality of simultaneous parallel connections to thereby identify undelivered segment data previously requested on a particular one of the plurality of simultaneous parallel connections that is urgent, but that has not yet been delivered, and, if the undelivered segment data is identified, to suspend the requests for segment data on the simultaneous parallel connections other than the particular one of the simultaneous parallel connections to reduce an amount of bandwidth consumed by the other simultaneous parallel connections and thereby give priority to the previously-requested but undelivered segment data on the particular simultaneous parallel connection.

8. The data processing system of claim 7 wherein the processor adapts subsequent requests for previously-requested segment data based upon the monitored delivery by matching the amount of data requested on each of the simultaneous connections to the delivery rate for that simultaneous parallel connection.

9. The data processing system of claim 8 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.

10. The data processing system of claim 7 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.

11. The data processing system of claim 7 wherein the processor adapts subsequent requests for previously-requested segment data based upon the monitored delivery 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.

12. The data processing system of claim 7 wherein the processor adapts subsequent requests for previously-requested segment data based upon the monitored delivery 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 (4)
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 →
CHANGE OF NAME Recorded May 3, 2018
From: ECHOSTAR TECHNOLOGIES L.L.C.
To: DISH TECHNOLOGIES L.L.C.
Reel/Frame 046678/0224 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Aug 4, 2014
From: DISH DIGITAL L.L.C.
To: ECHOSTAR TECHNOLOGIES L.L.C.
Reel/Frame 033470/0726 →
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jul 26, 2013
From: HURST, MARK B.; MUHLESTEIN, HERRICK
To: DISH DIGITAL L.L.C.
Reel/Frame 030885/0671 →