Multi-threshold smoothing
First Claim
Patent Images
1. A method, comprising:
- receiving streaming media data from a server, the server transmitting the data at a first server transmission rate;
storing at least some of the streaming media data in a buffer;
determining a first buffer level of the buffer;
subsequently determining a second buffer level of the buffer;
comparing the first buffer level and the second buffer level to a plurality of buffer thresholds, the plurality of buffer thresholds including an underflow threshold, an overflow threshold, and a plurality of intermediate thresholds;
determining whether at least one of the plurality of buffer thresholds is in a range from the first buffer level to the second buffer level; and
if at least one of the plurality of buffer thresholds is in the range from the first buffer level to the second buffer level, determining a second server transmission rate based on the at least one buffer threshold.
2 Assignments
0 Petitions
Accused Products
Abstract
Systems and techniques are provided for using a multi-threshold buffer model to smooth data transmission to a client. A client to receive data such as streaming media data may include a buffer. A server to transmit data to the client may transmit the data to the client at a first server transmission rate. The client buffer level may be determined at different times; for example, a first buffer level may be determined at a first time and a second buffer level may be determined at a second time. If the buffer level is at a threshold level or has passed a threshold level between the first and second times, server transmission rate information may be determined and may be sent to the server.
-
Citations
20 Claims
-
1. A method, comprising:
-
receiving streaming media data from a server, the server transmitting the data at a first server transmission rate;
storing at least some of the streaming media data in a buffer;
determining a first buffer level of the buffer;
subsequently determining a second buffer level of the buffer;
comparing the first buffer level and the second buffer level to a plurality of buffer thresholds, the plurality of buffer thresholds including an underflow threshold, an overflow threshold, and a plurality of intermediate thresholds;
determining whether at least one of the plurality of buffer thresholds is in a range from the first buffer level to the second buffer level; and
if at least one of the plurality of buffer thresholds is in the range from the first buffer level to the second buffer level, determining a second server transmission rate based on the at least one buffer threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14)
-
-
15. A method, comprising:
-
transmitting continuous media data to a client machine at a first transmission rate;
receiving a communication from the client machine, the communication including rate change information determined by the client; and
transmitting additional continuous media data to the client machine at a second transmission rate based on the rate change information, wherein the rate change information determined by the client is determined according to a method comprising;
determining a first buffer level of a client buffer;
subsequently determining a second buffer level of the client buffer;
comparing the first buffer level and the second buffer level to a plurality of buffer thresholds, the plurality of buffer thresholds including an underflow threshold, an overflow threshold, and a plurality of intermediate thresholds; and
determining whether at least one of the plurality of buffer thresholds is in a range from the first buffer level to the second buffer level, and if at least one of the plurality of buffer thresholds is in the range from the first buffer level to the second buffer level, determining a second server transmission rate based on the buffer threshold.
-
-
16. An article comprising a machine-readable medium storing instructions operable to cause one or more machines to perform operations comprising:
-
receiving streaming media data from a server, the server transmitting the data at a first server transmission rate;
storing at least some of the streaming media data in a buffer;
determining a first buffer level of the buffer;
subsequently determining a second buffer level of the buffer;
comparing the first buffer level and the second buffer level to a plurality of buffer thresholds, the plurality of buffer thresholds including an underflow threshold, an overflow threshold, and a plurality of intermediate thresholds;
determining whether at least one of the plurality of buffer thresholds is in a range from the first buffer level to the second buffer level; and
if at least one of the plurality of buffer thresholds is in the range from the first buffer level to the second buffer level, determining a second server transmission rate based on the buffer threshold.
-
-
17. A system, comprising:
-
means for receiving streaming media data from a server, the server transmitting the data at a first server transmission rate;
means for storing at least some of the streaming media data in a buffer;
means for determining a first buffer level of the buffer;
means for subsequently determining a second buffer level of the buffer;
means for comparing the first buffer level and the second buffer level to a plurality of buffer thresholds, the plurality of buffer thresholds including an underflow threshold, an overflow threshold, and a plurality of intermediate thresholds;
means for determining whether at least one of the plurality of buffer thresholds is in a range from the first buffer level to the second buffer level; and
means for determining a second server transmission rate based on a buffer threshold in the range from the first buffer level to the second buffer level. - View Dependent Claims (18, 19, 20)
-
Specification