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-modified
1 - 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.