This proxy will act like a TCP connection splitter, but it will distinguish between interactive and non-interactive traffic. These two types of traffic will each be served via their own queue. For non-interactive traffic, this queue can become very long, without incurring any extra delay in the system if the scheduling between the two queues is done right.
We can distinguish between these two traffic classes with simple classification rules (e.g., HTTP is usually non-interactive, whereas RTP based traffic can be interactive). Tests will show that the performance is improved for all traffic.
For TCP, we have open source code of our own TCP splitter available that this work can build upon. Alternatively, depending on your preference, this thesis can focus on QUIC, but this will perhaps be more complicated.