US2013227159A1PendingUtilityA1
Buffer management for streaming data
Individually held — no corporate assignee on recordPriority: Dec 18, 2002Filed: Mar 20, 2013Published: Aug 29, 2013
Est. expiryDec 18, 2022(expired)· nominal 20-yr term from priority
Inventors:William C. Hess
H04L 47/30H04L 65/65H04L 47/2416H04L 47/263G06F 5/16H04L 29/06517
38
PatentIndex Score
0
Cited by
0
References
0
Claims
Abstract
A client receives streaming data from a server at a first data rate and buffers the streaming data in a buffer having a finite size. The client consumes the streaming data from the buffer at a second data rate. The second data rate is variable. Based on a data depth of the buffer relative to a reference data depth, the client generates a sequence of signals and sends the sequence of signals to the server to dynamically adjust the first data rate. The sequence of signals influences the data depth of the buffer toward the reference data depth.
Claims
exact text as granted — not AI-modified1 - 17 . (canceled)
18 . An apparatus, comprising:
a processor configured to receive data streamed from a server and to temporarily store the received data in a buffer, wherein the processor is further configured to provide at least one control command to the server while the server is streaming the data to the processor, wherein the at least one control command is based at least in part on a reference data depth associated with the buffer, and wherein the at least one control command is to cause the server to affect a rate at which the data is received at the processor.
19 . The apparatus of claim 18 , wherein the at least one control command is further based at least in part on a current data depth of the buffer.
20 . The apparatus of claim 19 , wherein the at least one control command is further based at least in part on a difference between the current data depth and the reference data depth.
21 . The apparatus of claim 20 , wherein the at least one control command is to cause the server to affect the rate at which the data is received at the processor in proportion to the difference between the current data depth and the reference data depth.
22 . The apparatus of claim 18 , wherein the processor is further configured to preload the data in the buffer based on the reference data depth.
23 . The apparatus of claim 18 , wherein the data comprises video data.
24 . The apparatus of claim 18 , wherein the reference data depth comprises a data depth determined based on one or more of a size of the buffer, a speed of a network connection between the processor and the server, or a type of the data.
25 . An system, comprising:
memory; and a processor configured to receive data streamed from a server and to temporarily store the received data in a buffer in the memory, wherein the processor is further configured to provide at least one control command to the server while the server is streaming the data to the processor, wherein the at least one control command is based at least in part on a reference data depth associated with the buffer, and wherein the at least one control command is to cause the server to affect a rate at which the data is received at the processor.
26 . The system of claim 25 , wherein the at least one control command is further based at least in part on a current data depth of the buffer.
27 . The system of claim 26 , wherein the at least one control command is further based at least in part on a difference between the current data depth and the reference data depth.
28 . The system of claim 27 , wherein the at least one control command is to cause the server to affect the rate at which the data is received at the processor in proportion to the difference between the current data depth and the reference data depth.
29 . The system of claim 25 , wherein the processor is further configured to preload the data in the buffer based on the reference data depth.
30 . The system of claim 25 , wherein the data comprises video data.
31 . The system of claim 25 , further comprising a receiver configured to receive the data streamed from the server.
32 . The system of claim 25 , further comprising a display.
33 . The system of claim 25 , wherein the memory comprises memory located on-chip with the processor.
34 . A method, comprising:
receiving data streamed from a server; temporarily storing the received data in a buffer; and providing at least one control command to the server while the server is streaming the data, wherein the at least one control command is based at least in part on a reference data depth associated with the buffer, and wherein the at least one control command is to cause the server to affect a rate at which the data is received.
35 . The method of claim 34 , wherein the at least one control command is further based at least in part on a current data depth of the buffer.
36 . The method of claim 35 , wherein the at least one control command is further based at least in part on a difference between the current data depth and the reference data depth.
37 . The method of claim 36 , wherein the at least one control command is to cause the server to affect the rate at which the data is received in proportion to the difference between the current data depth and the reference data depth.
38 . The method of claim 34 , further comprising preloading the data in the buffer based on the reference data depth.
39 . The method of claim 34 , wherein the data comprises video data.
40 . The method of claim 34 , wherein the reference data depth comprises a data depth determined based on one or more of a size of the buffer, a speed of a network connection between the processor and the server, or a type of the data.
41 . An article comprising one or more non-transitory computer readable media having stored thereon instructions that, when executed by a computer, cause the computer to:
receiving data streamed from a server; temporarily storing the received data in a buffer; and providing at least one control command to the server while the server is streaming the data, wherein the at least one control command is based at least in part on a reference data depth associated with the buffer, and wherein the at least one control command is to cause the server to affect a rate at which the data is received.
42 . The article of claim 41 , wherein the at least one control command is further based at least in part on a current data depth of the buffer.
43 . The article of claim 42 , wherein the at least one control command is further based at least in part on a difference between the current data depth and the reference data depth.
44 . The article of claim 43 , wherein the at least one control command is to cause the server to affect the rate at which the data is received in proportion to the difference between the current data depth and the reference data depth.
45 . The article of claim 41 , further having stored thereon instructions that, when executed by a computer, cause the computer to preload the data in the buffer based on the reference data depth.
46 . The article of claim 41 , wherein the data comprises video data.
47 . The article of claim 41 , wherein the reference data depth comprises a data depth determined based on one or more of a size of the buffer, a speed of a network connection between the processor and the server, or a type of the data.Join the waitlist — get patent alerts
Track US2013227159A1 — get alerts on status changes and closely related new filings.
We store only your email — no account needed. See our privacy policy.