METHOD AND SYSTEM FOR FLOW CONTROLLING
First Claim
1. A method employed by a server, for controlling the transfer of data to an end destination over a transmission channel, the method comprising the actions of:
- determining a constraint that is involved in downloading the data to the end destination;
commencing transmission of a portion of the data to the end destination;
monitoring the current condition of the constraint;
if the current condition of the constraint increases above a first threshold value, retarding the delivery of more data, and accelerating the delivery of data if the current condition of the constraint declines below a second threshold.
5 Assignments
0 Petitions
Accused Products
Abstract
Content delivery to end user devices (EUD) is controlled by transmitting content portions at a controlled flow. The time for the EUD to process the data is used to control the flow. The first portion is transmitted to the EUD and the amount of time to process the first portion is noted. Threshold values to stop and start transmissions are examined prior to the transmission of each content portion. If the amount of data remaining to be processed by the EUD is below the stop transmission threshold, transmission continues with the next portion. If the amount of data remaining to be processed by the EUD is above the stop threshold, transmission is either stopped or retarded. When it is determined that the amount of data remaining to be processed by the EUD is above the start transmission threshold, transmission is started or continued.
-
Citations
25 Claims
-
1. A method employed by a server, for controlling the transfer of data to an end destination over a transmission channel, the method comprising the actions of:
-
determining a constraint that is involved in downloading the data to the end destination; commencing transmission of a portion of the data to the end destination; monitoring the current condition of the constraint; if the current condition of the constraint increases above a first threshold value, retarding the delivery of more data, and accelerating the delivery of data if the current condition of the constraint declines below a second threshold. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10, 11)
-
-
12. A method employed by a server, for controlling the transfer of content to an end user device over a transmission channel, the method comprising the actions of:
-
detecting the transmission of a content file destined for the end user device; identifying segments within the content and a time required for the end user device to process each segment; setting a transmission state to a first value; commencing transmission of a first segment to the end user device at a rate based on the transmission state; monitoring the time from the commencement of the transmission; calculating a buffered amount of data existing at the end user device based on the monitored time and the time required to render the already transmitted first segment; if the buffered amount of data increases above a first threshold value, setting the transmission state to a second value; commencing transmission of a next segment to the end user device at a rate based on the transmission state. - View Dependent Claims (13, 14, 15, 16, 17, 18, 19, 20)
-
-
21. A device for controlling the transfer of content between a content source and an end user device over a transmission channel, the device comprising:
-
a memory element for storing data; a processing element configured to; detect the establishment of a session between the content source and the end user device; detect the transmission of a content file from the content source to the end user device; identify the time required for rendering portions of the content file by the end user device; commence transmission of a portion of the content file to the end user device; monitor the time from the commencement of the transmission; calculate a buffered amount of data existing at the end user device based on the monitored time and the time required to render the transmitted data; if the buffered amount of data is not below a first threshold value, retard the delivery of more data, and accelerate the delivery of data if the buffered amount of data is below the first threshold value and above a second threshold value. - View Dependent Claims (22, 23, 24, 25)
-
Specification