US-20260129000-A1 - METHODS AND SYSTEMS FOR MINIMIZING PACKET RETRANSMISSION AND BANDWIDTH PRIORITY MANAGEMENT AT A USER DEVICE
Abstract
A method for minimizing packet retransmission, performed by a user device, includes determining a foreground application event associated with a foreground application; determining a background bandwidth limit associated with at least one background application; determining whether the background bandwidth limit exceeds a threshold value; based on the background bandwidth limit exceeding the threshold value, identifying a transmission protocol associated with the at least one background application; and based on the identified transmission protocol, controlling packet transmission by delaying egress traffic or adjusting an advertise window size. The method applies different control mechanisms for UDP and TCP protocols, with UDP using egress traffic delay and TCP using advertise window size adjustment. The system monitors streaming parameters and performs prioritization operations based on streaming status to optimize network performance.
Inventors
- Gunjan Kumar CHOUDHARY
- Wonbo Lee
- Mritunjay Gupta
- Ramanathan Palaniappan
- Youngki Hong
- Aman Bilaiya
- Rachit BANSAL
- Amith Shreedhara Hande
Assignees
- SAMSUNG ELECTRONICS CO., LTD.
Dates
- Publication Date
- 20260507
- Application Date
- 20260105
- Priority Date
- 20230823
Claims (15)
- 1 . A method for minimizing packet retransmission, performed by a user device, the method comprising: determining a foreground application event associated with a foreground application at the user device; determining a background bandwidth limit associated with at least one background application at the user device; determining whether the background bandwidth limit exceeds a threshold value; based on the background bandwidth limit exceeding the threshold value, identifying a transmission protocol associated with the at least one background application; and based on the identified transmission protocol, controlling packet transmission by at least one of: delaying egress traffic; or adjusting an advertise window size.
- 2 . The method of claim 1 , wherein the background bandwidth limit is determined based on at least one of: an available bandwidth limit; or a bandwidth utilization trend at the user device.
- 3 . The method of claim 1 , wherein the foreground application event is associated with at least one real time application that has immediate data transmission at the user device.
- 4 . The method of claim 1 , wherein the transmission protocol comprises one of: a user datagram protocol (UDP); or a transmission control protocol (TCP).
- 5 . The method of claim 4 , wherein in a case that the identified transmission protocol corresponds to the UDP, delaying egress traffic, wherein the delaying egress traffic further comprises: determining an egress traffic delay value based on the background bandwidth limit, and delaying the egress traffic associated with the at least one background application at the user device based on the egress traffic delay value, wherein the egress traffic corresponds to transmission of outgoing packets from the user to an external device.
- 6 . The method of claim 4 , wherein in a case that the identified transmission protocol corresponding to the TCP, adjusting the advertise window size, wherein adjusting the advertise window size further comprises: determining an achieved background bandwidth associated with the at least one background application at the user device; determining a window scaling factor based on at least the achieved background bandwidth and the background bandwidth limit; determining a new background bandwidth limit associated with the at least one background application based on at least one of the background bandwidth limit, the achieved background bandwidth, or the window scaling factor; determining a new advertise window size associated with the at least one background application based on at least the new background bandwidth limit; and adjusting the advertise window size based on the determined new advertise window size to minimize the packet retransmission to the user device.
- 7 . The method of claim 1 , further comprising: monitoring at least one streaming parameter associated with the foreground application event; detecting a streaming status associated with the foreground application event based on the at least one streaming parameter, wherein the streaming status comprises at least one of a deteriorating streaming status, a stable streaming status, or an improved streaming status, and performing a streaming prioritizing operation based on detecting the deteriorating streaming status.
- 8 . The method of claim 7 , wherein the at least one streaming parameter comprise at least one quality of service (QoS) parameter and at least one network traffic statistics parameter, wherein the at least one QoS parameter comprise at least one of a bitrate parameter, a buffer length parameter, a size parameter, a dropped frame parameter, or a latency parameter, and wherein the at least one network traffic statistics parameter comprises at least one bandwidth consumption parameter.
- 9 . The method of claim 7 , further comprising: performing a streaming conservation operation associated with the foreground application event based on detecting at least one of: the stable streaming status or the improved streaming status.
- 10 . The method of claim 1 , wherein the threshold value is determined based on a first bandwidth requirement of the foreground application, a second bandwidth requirement for the at least one background application, and at least one window size value and at least one packet delay value.
- 11 . A system for minimizing packet retransmission at a user device, the system comprising: memory storing instructions; and at least one processor, wherein the instructions, when executed by the at least one processor individually or collectively, cause the system to: determine a foreground application event associated with a foreground application at the user device; determine a background bandwidth limit associated with at least one background application at the user device; determine whether the background bandwidth limit exceeds a threshold value; based on the background bandwidth limit exceeding the threshold value, identify a transmission protocol associated with the at least one background application; and based on the identified transmission protocol, control packet transmission by at least one of: delaying egress traffic; or adjusting an advertise window size.
- 12 . The system of claim 11 , wherein the instructions, when executed by the at least one processor individually or collectively, cause the system to: determine the background bandwidth limit based on at least one of an available bandwidth limit or a bandwidth utilization trend at the user device, wherein the foreground application event is associated with at least one real time application that has immediate data transmission at the user device; identify the transmission protocol as at least one of a user datagram protocol (UDP) or a transmission control protocol (TCP).
- 13 . The system of claim 12 , wherein in a case that the identified transmission protocol corresponds to the UDP, the instructions, when executed by the at least one processor individually or collectively, cause the system to delay the egress traffic by: determine an egress traffic delay value based on the background bandwidth limit, and delay the egress traffic associated with the at least one background application at the user device based on the egress traffic delay value, wherein the egress traffic corresponds to transmission of outgoing packets from the user to an external device.
- 14 . The system of claim 12 , wherein in a case that the identified transmission protocol corresponds to the TCP, the instructions, when executed by the at least one processor individually or collectively, cause the system to adjust the advertise window size by: determine an achieved background bandwidth associated with the at least one background application; determine a window scaling factor advertise window based on at least the achieved background bandwidth and the background bandwidth limit; determine a new background bandwidth limit associated with the at least one background application based on at least one of the background bandwidth limit, the achieved background bandwidth, or the window scaling factor, determine a new advertise window size associated with the at least one background application based on at least the new background bandwidth limit, and adjusting the advertise window size based on the determined new advertise window size to minimize the packet retransmission to the user device.
- 15 . At least one non-transitory computer readable storage media storing computer-executable instructions that, when executed by at least one processor of a user device, cause the user device to: determine a foreground application event associated with a foreground application at the user device; determine a background bandwidth limit associated with at least one background application at the user device; determining whether the background bandwidth limit exceeds a threshold value; based on the background bandwidth limit exceeding the threshold value, identify a transmission protocol associated with the at least one background application; and based on the identified transmission protocol, control packet transmission by at least one of: delaying egress traffic; or adjusting an advertise window size.
Description
CROSS-REFERENCE TO RELATED APPLICATION This application is a by-pass continuation application of International Application No. PCT/KR2024/012245, filed on Aug. 16, 2024, which is based on and claims priority to Indian Patent Application number 202341056586, filed on Aug. 23, 2023, and Indian Patent Application number 202341056586 filed on Jul. 31, 2024 in the Indian Patent Office, the disclosures of which are incorporated by reference herein in their entireties. 1. FIELD The disclosure relates to electronic communication systems, methods, and systems for minimizing packet retransmission and bandwidth priority management at a user device. 2. DESCRIPTION OF RELATED ART In computer networking systems, data flow management comprises ingress and egress traffic at a user device. The ingress traffic denotes the data entering the user device from external sources, such as a node or a server, while egress traffic represents the outward-bound data leaving the user device. Moreover, an extended berkeley packet filter (eBPF) also plays an important role in managing and analyzing these data flows. The eBPF provides network security, performance optimization, and troubleshooting functions. In a scenario where bandwidth is scarce and data usage directly impacts costs such as on a metered network, a user faces challenges on how to prioritize real-time applications over non-real-time applications. The user prioritizes real-time applications over delay-torrent traffic such as downloads corresponding to non-real-time applications that lead to dropped packets. Due to the absence of acknowledgments, a server is prompted to resend the lost packets, incurring additional charges on the metered network. The user grapples with bandwidth constraints and escalating data retransmission expenses, highlighting the struggle to manage bandwidth allocation in real-time. In the related art, when a user is using the real-time application, the non-priority traffic (e.g., background download, application download, background synchronization by social networking sites, uploading of photos, etc.) is controlled by the user device. However, directly controlling the background incoming traffic (i.e., ingress) results in retransmission of packets. The retransmission of packets will add the data consumption to the user's data plan. Moreover, such retransmission of packets is a result of the user device dropping the packet to decrease the flow rate from the non-real time server. FIG. 1 illustrates a graphical representation 100 of data transmission during controlled non-real time traffic, according to a conventional technique. As illustrated by the FIG. 1, the task of downloading was initially executed at a full speed of 15 Mbps over mobile data but when a video calling application was started, the download traffic was throttled by the user device. Due to throttling of the download traffic and the corresponding server being not aware of the speed limit at a client-side (i.e., the user device), the server will keep transmitting the data at the same rate resulting in the drooping of packets at the user device. Therefore, the server has to retransmit the packets and as shown by FIG. 1, a significant amount of data is consumed to complete the task of downloading, and the user may be charged accordingly. Some of the convention systems utilize quick user datagram protocol (UDP) internet connections (QUIC) protocol for most of the services. However, the QUIC protocol uses its congestion control mechanism to control the flow between the client and the server. In particular, the QUIC protocol corresponds to an application layer protocol i.e., from application to server, the data packets are encrypted, and the QUIC protocol cannot be modified by original equipment manufacturers (OEMs). As QUIC uses the UDP as the underlying transport protocol, no public headers are available through which the flow control between the client and server can be maintained. Further, the advent of smartphones has led to a decline in the usage of personal computers (PCs). Smartphones possess similar capabilities and device configurations to PCs, allowing for efficient multitasking. These devices may handle multiple applications simultaneously, making such devices a popular choice for internet access. Moreover, remote work and virtual education have contributed to an exponential increase in Internet data usage, with smartphones accounting for approximately 60% of Internet traffic. The network infrastructure, however, is struggling to cope with this peak data traffic demand. Despite various attempts to solve the problem, users still face poor user experiences when accessing real-time. The above information is presented as background information only to assist with an understanding of the disclosure. No determination has been made, and no assertion is made, as to whether any of the above might be applicable as prior art with regard to the disclosure. SUMMARY According to an aspect of the