This paper describes techniques for dynamically calculating values of one or more Transmission Control Protocol (TCP) memory buffer size variables (e.g., “tcp_mem,” “tcp_rmem,” and/or “tcp_wmem” variables), based on consideration of real-time network conditions, to achieve improved data usage of a mobile computing device. By dynamically determining and/or adjusting the values of TCP memory buffer size variables, the described techniques enable a mobile computing device (e.g., a mobile phone, tablet computer, wearable and/or headset device) to avoid sending too many in-flight packets that exceed network capacity, thereby reducing packet loss and the need for data retransmission from the mobile computing device. In some cases, the described techniques introduce and utilize a machine-learning model to predict suitable values of the dynamically determined TCP memory buffer size variables. The machine-learning model accepts a number of different features as inputs in order to produce a predicted output value of a memory buffer size variable. These features may include, for example, a specified time frame, real-time network allocated bandwidth, a geographic region (e.g., cell tower identifier or Global Positioning Satellite (GPS) location), and/or a packet loss rate, to name only a few examples.

Creative Commons License

Creative Commons License
This work is licensed under a Creative Commons Attribution 4.0 License.