Adil Khan 10 months ago
AdiKhanOfficial #FYP Ideas

Cellular Congestion Control

Existing Congestion Control protocols continuously probe network bandwidth to adjust their sending window and after observing these protocols in the context of cellular networks, we discovered that no single protocol can serve all the diverse demands of modern day applicatio

Project Title

Cellular Congestion Control

Project Area of Specialization

Computer Science

Project Summary

Existing Congestion Control protocols continuously probe network bandwidth to adjust their sending window and after observing these protocols in the context of cellular networks, we discovered that no single protocol can serve all the diverse demands of modern day applications, especially when it comes to the balance of sending rate and delay. Hence, application developers should have the liberty to choose a throughput-delay tradeoff depending upon the needs of the application they are developing. But, that is only one part of the picture.

Interestingly, a bulk portion of network latency does not stem from wireless data transfer, but comes from the signaling operations used by LTE to facilitate the wireless data delivery. For example, in dense radio deployments, a mobile device goes through several mobility management procedures that ultimately affect the data access latency of a mobile application. The knowledge of the mobility state for a user device can provide valuable insight when adjusting the sending window of an application. We plan to leverage the control plane information that is provided by the LTE chip-set to predict the state of a mobile device and incorporate this information while adopting a sending rate.

So, we started off with bench-marking the state-of-the-art congestion control protocols designed for cellular networks. Sprout and Verus are the two popular protocols designed for cellular congestion control. We have simulated several mobility scenarios (stationary, pedestrian, and vehicular) in NS3 and generated transport-level traces. After that, these traces were analyzed on Verus, Sprout, BBR, TCP-cubic, and TCP-vegas with the help of Mahimahi. We, then, went on to conduct different drive tests to collect real-world traces on 3G/4G in order to acquire traces that resemble real world situations more closely and examined these traces as well. These days, we are working on the design of our congestion control protocol.

Project Objectives

The core aim of this project is to design a new Transport layer protocol for cellular networks with a new scheme for congestion control that leverages control plane information, and to implement this protocol in an android application. To fully grasp the importance of this project, we must shed light on the shortcomings of current implementations starting with TCP and it’s variants which perform poorly over cellular networks due to high capacity variability, self-inflicted queuing delays, stochastic packet losses that are not linked to congestion, and large bandwidth-delay product. Given these problems, a new type of transport protocols began being produced which would tackle some of these problems in different ways. Verus revolved around capacity variability and came in the variants of R2, R4 and R6 where each variant represents the factor of the delay variability the protocol will tolerate before altering the sending window. Sprout identified self-inflicted queuing delays as the main source of delays in cellular networks and models packet losses as a stochastic Poisson process and uses probabilistic inferences to figure out the ideal sending rate to minimize delays. Both of these protocols took a predictive approach towards handling congestion in the network as opposed to TCP which had a reactive approach on the basis of packet losses. However, through our studies we saw that during signaling operations such as handovers from one base station to another, there were still significant delays in these protocols due to the drastic shift in the sending capacity. These are the key instances in which our protocol is meant to perform in. During signaling operations we plan to use the data from the control plane that is provided by the LTE chip to understand the state the mobile device is in, so that we can make better decisions for our sending window. With this, we should expect better performance of cellular networks during signaling operations.

Project Implementation Method

We started out this project by evaluating different protocols under different conditions. Primarily we were interested in Sprout and Verus, two of the most popular protocols designed for cellular congestion control and we wanted to see where these protocols differed and fell short and how these protocols behaved when the mobile device goes through mobility management procedures. We generated traces using NS3 (a network simulator) with a variety of control conditions ranging from a stationary user agent to a mobile user agent, one cell station to multiple cell stations, one user device to several users on the network etc. After generating these traces, they were run on mahimahi, a framework that replays traffic over emulated network conditions, which would generate graphs for throughput and delay.

We then compared the performance of Sprout and different variants of Verus (r2, r4 and r6) and noticed a sharp dip in the utilization of the allowed sending capacity when a handover event was taking place. This motivated us to zoom in on these handover periods and create traces that would force a device to go through handovers very frequently. This is also where we encountered the limitations of NS3 where we attempted to increase number of handovers by increasing the speed with which the user agent was travelling past the cell stations, however NS3 would crash if a device was undergoing too many handovers too frequently. Thus, we decided to move on to creating our own method for creating and collecting traces using real world simulations.

We programmed our own server with a static IP address and a client application that would be tethered to a mobile device running 3G/4G. This application would continuously send packets, of a fixed size determined upon startup, at a sending rate, that is also chosen upon startup, to our server which would record the delay the packet experienced before reaching the server. In our experiments we chose to send approximately 1500 byte sized packets every 20ms using UDP with the aim of saturating the link capacity in order to invoke congestion control schemes by the protocols with which they are replayed with on mahimahi. Alongside the collection of real world traces, we are currently working on the design of our own congestion control scheme and protocol.

Benefits of the Project

If successfully implemented, our protocol would function better during signaling operations as opposed to other protocols. This means, instead of clogging the drastically low network capacity, our protocol would figure out the, close to ideal, sending rate for the current state of the mobile device. This can mean lower delay during signaling operations and less congested links. This in turn can lead to smoother communication over the network, especially in mobile situations where there are more frequent signaling operations taking place in a short amount of time.

Technical Details of Final Deliverable

The final deliverable of this project is intended to be a working protocol, implemented on an android application, alongside a research paper highlighting our protocols working, methodology, findings and experiments coducted throughout the process. The android application will be built on top of either Java, or a mobile development framework that will allow us to meddle with the the lower level configuration to override the default protocol of network communications in order to use our protocol instead. We are currently considering using reinforcement learning for our final protocol and adopting an approach similar to Sprout making probabalistic inferences. This model would be used on the control plane data we retrieve from the LTE chipset and use that information for controlling the sending window of the protocol.

Final Deliverable of the Project

Software System

Core Industry

Telecommunication

Other Industries

IT

Core Technology

Others

Other Technologies

Sustainable Development Goals

Industry, Innovation and Infrastructure

Required Resources

Item Name Type No. of Units Per Unit Cost (in Rs) Total (in Rs)
LTE Sim Equipment25001000
Android Mobile Set (Nexus 5) Equipment13200032000
LTE Data Bundle for Trace Collection Miscellaneous 150005000
Transport Cost for Trace Collection Miscellaneous 150005000
Total in (Rs) 43000
If you need this project, please contact me on contact@adikhanofficial.com
IRIS CONTROLLED WHEEL CHAIR

Iris controlled wheelchair for the Partially/Fully paralyzed patient in ord...

1675638330.png
Adil Khan
10 months ago
Spot diagnosis through medical imaging

As the name suggests, this is the most common application of diagnostic medical imaging. A...

1675638330.png
Adil Khan
10 months ago
Sensor Based Smart Traffic Controller With Real Time Monitoring

Our system uses sensors to monitor real time traffic and sets a dynamic timer for the cont...

1675638330.png
Adil Khan
10 months ago
Identifying Depression Rate Among Undergraduate and Master Students us...

Depression is a serious mental health issue for people world-wide irrelevant of their ages...

1675638330.png
Adil Khan
10 months ago
Virtual Mouse

Since the computer technology continues to grow up, the importance of human computer inter...

1675638330.png
Adil Khan
10 months ago