IP Library › Granted Patent US 9,954,788
Granted Patent B2
US 9,954,788 · App. 13/153,372 · Granted Apr 24, 2018

Bandwidth estimation based on statistical measures

Inventors: Roger Pantos (Cupertino, CA); Thai W. Then (Santa Clara, CA)
Assignee: Apple Inc.
H04L47/30H04L47/283
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 9,954,788
App. No.
13/153,372
Granted
Apr 24, 2018
Kind
B2
Abstract

Some embodiments provide a method for estimating bandwidth estimate based on a set of statistical measurements that quantifies bandwidth variation. The method receives a piece of media content at a receiving device and computes several instantaneous bandwidth measurements based on sample data blocks or media content received at the receiving device. The method computes the set of statistical measures that quantifies variation between the computed instantaneous bandwidth measurements. Based on the set of statistical measures, the method computes a revised bandwidth estimate for receiving media content at the receiving device. In some embodiments, the method uses the revised bandwidth estimate to determine an amount of media content data to buffer in order to provide an uninterrupted playback.

Claims (26)

1. A non-transitory computer readable medium storing a computer program executed by at least one processor, the computer program for receiving sample data blocks containing media content, the computer program comprising sets of instructions for:

computing an initial bandwidth estimate based on a plurality of bandwidth measurements of a network connection obtained at a plurality of instances of time at a receiving device;

computing at least one statistical measure that quantifies variation in the bandwidth measurements of the network connection;

computing a revised bandwidth estimate by reducing the initial bandwidth estimate by a value proportional to the statistical measure;

determining an amount of media content data to buffer based on the revised bandwidth estimate in order to provide an uninterrupted playback of the media content at the receiving device; and

starting a playback of the media content when the determined amount of media content data has been buffered.

2. The non-transitory computer readable medium of claim 1 , wherein the statistical measure comprises a standard deviation in the bandwidth measurements.

3. The non-transitory computer readable medium of claim 2 , wherein the set of instructions for computing the revised bandwidth estimate comprises a set of instructions for reducing the initial bandwidth estimate by a multiple of the computed standard deviation.

4. The non-transitory computer readable medium of claim 1 , the computer program further comprising a set of instructions for sending a notification to a client that requested the media content to be played back at the receiving device when the determined amount of media content data has been buffered.

5. A method of estimating bandwidth for receiving media content at a receiving device, the method comprising:

computing an initial bandwidth estimate based on a plurality of bandwidth measurements of a network connection obtained at a plurality of instances of time at the receiving device;

computing a standard deviation of the plurality of bandwidth measurements of the network connection;

computing a revised bandwidth estimate by reducing the initial bandwidth estimate by a multiple of the standard deviation;

determining an amount of media content to buffer based on the revised bandwidth estimate in order to provide an uninterrupted playback of the media content at the receiving device; and

starting a playback of the media content when the determined amount of media content has been buffered.

6. The method of claim 5 further comprising sending a notification to a client that requested the media content to be played back at the receiving device when the determined amount of media content data has been buffered.

7. A device for receiving data, the device comprising:

one or more processors;

a memory storing software instructions executable by the one or more processors, wherein the software instructions, when executed by the one or more processors, cause the device to:

compute an initial bandwidth estimate based on a plurality of bandwidth measurements of a network connection obtained at a plurality of instances of time;

compute at least one statistical measure that quantifies variation in the bandwidth measurements of the network connection;

compute a revised bandwidth estimate by reducing the initial bandwidth estimate by a value proportional to the statistical measure;

determine an amount of media content data to buffer based on the revised bandwidth estimate in order to provide an uninterrupted playback of the media content at the device; and

start a playback of the media content when the determined amount of media content data has been buffered.

8. The device of claim 7 , wherein the statistical measure comprises a standard deviation of the bandwidth measurements.

9. The device of claim 8 , wherein computing the revised bandwidth estimate comprises reducing the initial bandwidth estimate by a multiple of the computed standard deviation.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Jun 3, 2011
From: PANTOS, ROGER; THEN, THAI W.
To: APPLE INC.
Reel/Frame 026389/0938 →
Continuity (1)
Related Publication 20120307654A1 · Dec 6, 2012