Application Prioritization Engine for Enhancing Real-Time Performance in Smartphones
Madhan Raj Kanagarathinam, Krishna Moorthy Sivalingam, Gunjan Kumar Choudhary · IEEE Transactions on Network and Service Management · 2023
Smartphone consumers use various applications (apps), including online gaming, chat, streaming, video calling, and social networking. The smartphone relies on the network backhaul, such as a Wi-Fi access point, to provide the required Quality of Service (QoS). In its send-and-receive queues, the smartphone processes the packets in a first-in-first-out (FIFO) fashion. Many people worldwide started using video calling apps daily during the pandemic and post-pandemic periods. On the other hand, online gaming apps skyrocketed and continue to engage people. When real-time (RT) video calling and gaming apps race with non-real-time (NRT) traffic, we found a severe degradation in the Quality of Experience (QoE). In this work, we propose an Application Prioritization Engine (APE) framework that will improve user experience by dynamically allocating bandwidth to the different apps in the smartphone. APE helps improve the end-user experience by detecting and prioritizing real-time traffic over concurrent best-effort traffic. We introduced an eBPF (extended Berkeley Packet filter) that can control the NRT traffic to the extent that it does not affect the RT traffic. We evaluate the performance of APE with the top-chart video calling and gaming apps in a live-air scenario. APE enhances video calling performance in poor network conditions by improving the bit rate to 110%. Furthermore, it provides a four-fold gaming latency reduction despite NRT traffic. APE is a tech-transferred, app-agnostic, server-independent solution enabled in the latest Samsung flagship Smartphones with Android 13 OS.