Video pacing based on radio conditions
Abstract
A method, an apparatus, a computer-program product, and a system for determining bandwidth for transmission of data packets are disclosed. A data packet in a plurality of data packets is received. An amount of bandwidth required for transmission of the received data packet is determined. The amount of bandwidth is a portion of a total available bandwidth for a radio link. At least one condition associated with the radio link for transmitting the received data packet to a user device is determined. Based on the determined amount of bandwidth and the determined condition, the received data packet is transmitted to the user device. Another data packet in the plurality of data packets is transmitted using another portion of the total available bandwidth.
Claims
exact text as granted — not AI-modified1 - 24 . (canceled)
25 . A computer-implemented method comprising:
receiving, at a base station, a data packet from a transmission control protocol (TCP) server for transmission from the base station to a user device, the data packet containing video data; after receiving the data packet, determining, at the base station, radio conditions on a radio link between the base station and the user device; determining, at the base station, based at least in part on the determined radio conditions, whether to transmit the data packet to the user device or to process the data packet; in response to determining to transmit the data packet to the user device, transmitting the data packet from the base station to the user device; and in response to determining to process the data packet, processing the data packet.
26 . The method of claim 25 , wherein processing the data packet includes buffering the data packet in a buffer of the base station; and
the method further comprises, after an amount of time passes following the buffering, transmitting the data packet from the base station to the user device.
27 . The method of claim 26 , further comprising, after transmitting the data packet from the base station to the user device, receiving an acknowledgment receipt at the base station from the user device indicating at least one of the transmission of the data packet and receipt of the data packet; and
updating, at the base station, a receive window based on the acknowledgment receipt.
28 . The method of claim 27 , wherein the receive window is a window available for transmission of data packets; and
the receive window is updated to determine an updated amount of bandwidth required for transmission of the data packets.
29 . The method of claim 28 , further comprising, transmitting, from the base station to the TCP server, an indication of the updated receive window.
30 . The method of claim 25 , wherein processing the data packet includes discarding the data packet without later transmitting the data packet to the user device.
31 . The method of claim 25 , further comprising, after transmitting the data packet from the base station to the user device, receiving an acknowledgment receipt at the base station from the user device indicating at least one of the transmission of the data packet and receipt of the data packet; and
updating, at the base station, a receive window based on the acknowledgment receipt.
32 . The method of claim 31 , wherein the receive window is a window available for transmission of data packets; and
the receive window is updated to determine an updated amount of bandwidth required for transmission of the data packets.
33 . The method of claim 32 , further comprising, transmitting, from the base station to the TCP server, an indication of the updated receive window.
34 . The method of claim 25 , wherein the data packet is included in a plurality of data packets received at the base station; and
the method further comprises, before determining the radio conditions, determining that the data packet contains video data.
35 . The method of claim 25 , wherein the base station is an evolved node (eNodeB) base station, the eNodeB base station comprising at least one processor and at least one memory.
36 . An apparatus comprising:
at least one programmable processor; and a machine-readable medium storing instructions that, when executed by the at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
receiving, at a base station in communication with a user device, a data packet from a transmission control protocol (TCP) server for transmission from the base station to the user device, the data packet containing video data;
after receiving the data packet, determining, at the base station, radio conditions on a radio link between the base station and the user device;
determining, at the base station, based at least in part on the determined radio conditions, whether to transmit the data packet to the user device or to process the data packet;
in response to determining to transmit the data packet to the user device, transmitting the data packet from the base station to the user device; and
in response to determining to process the data packet, processing the data packet.
37 . The apparatus of claim 36 , wherein processing the data packet includes buffering the data packet in a buffer of the base station; and
the method further comprises, after an amount of time passes following the buffering, transmitting the data packet from the base station to the user device.
38 . The apparatus of claim 37 , wherein the operations further comprise, after transmitting the data packet from the base station to the user device, receiving an acknowledgment receipt at the base station from the user device indicating at least one of the transmission of the data packet and receipt of the data packet; and
updating, at the base station, a receive window based on the acknowledgment receipt.
39 . The apparatus of claim 38 , wherein the receive window is a window available for transmission of data packets; and
the receive window is updated to determine an updated amount of bandwidth required for transmission of the data packets.
40 . The apparatus of claim 39 , wherein the operations further comprise transmitting, from the base station to the TCP server, an indication of the updated receive window.
41 . The apparatus of claim 36 , wherein processing the data packet includes discarding the data packet without later transmitting the data packet to the user device.
42 . The apparatus of claim 36 , wherein the operations further comprise, after transmitting the data packet from the base station to the user device, receiving an acknowledgment receipt at the base station from the user device indicating at least one of the transmission of the data packet and receipt of the data packet; and
updating, at the base station, a receive window based on the acknowledgment receipt.
43 . The apparatus of claim 42 , wherein the receive window is a window available for transmission of data packets; and
the receive window is updated to determine an updated amount of bandwidth required for transmission of the data packets.
44 . The apparatus of claim 43 , wherein the operations further comprise transmitting, from the base station to the TCP server, an indication of the updated receive window.
45 . The apparatus of claim 36 , wherein the data packet is included in a plurality of data packets received at the base station; and
the operations further comprise, before determining the radio conditions, determining that the data packet contains video data.
46 . The apparatus of claim 36 , wherein the base station is an evolved node (eNodeB) base station, the eNodeB base station comprising at least one processor and at least one memory.
47 . A computer program product comprising a non-transitory machine-readable medium storing instructions that, when executed by at least one programmable processor, cause the at least one programmable processor to perform operations comprising:
receiving, at a base station in communication with a user device, a data packet from a transmission control protocol (TCP) server for transmission from the base station to the user device, the data packet containing video data; after receiving the data packet, determining, at the base station, radio conditions on a radio link between the base station and the user device; determining, at the base station, based at least in part on the determined radio conditions, whether to transmit the data packet to the user device or to process the data packet; in response to determining to transmit the data packet to the user device, transmitting the data packet from the base station to the user device; and in response to determining to process the data packet, processing the data packet.
48 . The computer program product of claim 47 , wherein the operations further comprise, after transmitting the data packet from the base station to the user device, receiving an acknowledgment receipt at the base station from the user device indicating at least one of the transmission of the data packet and receipt of the data packet; and
updating, at the base station, a receive window based on the acknowledgment receipt.Cited by (0)
No later patents cite this yet.
References (0)
No backward citations on record.