IP Library › Granted Patent US 12,425,338
Granted Patent B2
US 12,425,338 · App. 18/414,520 · Granted Sep 23, 2025

Prioritizing data flows

Inventors: Feilu Liu (San Diego, CA); Suli Zhao (San Diego, CA); Siddharth Gupta (San Diego, CA); Alok Mitra (San Diego, CA)
Assignee: QUALCOMM Incorporated
H04L45/566H04L45/42H04W28/0278
View Patent ↗
Loading inventors, assignments & file history…
Monitor This Case
Get email alerts when status or documents change.
Order Certified Copies
Most orders are placed with the USPTO same day — all within 24 business hours.
Order via The Patent Place →
Pre-filled with this patent's details
Quick Facts
Patent No.
US 12,425,338
App. No.
18/414,520
Granted
Sep 23, 2025
Kind
B2
Abstract

Various embodiments include methods of managing mixed data flow types in communications in a network apparatus. The network apparatus may determine data flow priority levels of a plurality of data flows, identify high-priority data flows associated with a particular LAN interface, and assign a designated public IP address range or a designated public port range for the high-priority data. Upon receiving an uplink, the apparatus may select a source port number from the previously reserved range dedicated for high-priority data flows in response to the received packet matching one or more prioritized data flow packet filters, modify the received uplink packet, and forward the modified uplink packet to the next hop in the path towards the destination IP address in response to determining that the packet is enqueued successfully.

Claims (95)

1. A network apparatus, comprising:

a memory; and

at least one processor coupled to the memory and configured to:

determine data flow priority levels of a plurality of data flows;

identify high-priority data flows in the plurality of data flows associated with a local area network (LAN) interface; and

assign a designated public internet protocol (IP) address range or a designated public port range for the identified high-priority data flows associated with the LAN interface.

2. The network apparatus of claim 1 , wherein the at least one processor is further configured to:

receive an incoming uplink packet;

parse the received uplink packet to determine one or more uplink packet parameters, the one or more uplink packet parameters including at least one or more of an uplink packet source IP address, an uplink packet destination IP address, an uplink packet protocol number, an uplink packet source port number, an uplink packet destination port number, an uplink packet Ethernet source media access control (MAC) address, an uplink packet Ethernet destination MAC address, or other parameters in a packet header;

determine whether the received uplink packet matches one or more prioritized data flow packet filters; and

select a high-priority source port number from the designated public port range for the identified high-priority data flows associated with the LAN interface in response to determining that the received packet matches one or more of the prioritized data flow packet filters.

3. The network apparatus of claim 2 , wherein the at least one processor is further configured to:

generate a modified uplink packet that replaces a private source IP address of the received uplink packet with a public IP address of the network apparatus and replaces a private source port number of the received uplink packet with the selected high-priority source port number;

commence enqueuing the modified uplink packet into an uplink high-priority transmission queue; and

forward the modified uplink packet to a next hop in a path towards the uplink packet destination IP address in response to determining that the modified uplink packet is enqueued successfully.

4. The network apparatus of claim 3 , wherein the at least one processor is further configured to commence enqueuing the modified uplink packet into the uplink high-priority transmission queue by:

determining a priority level of the received uplink packet;

determining a projected data radio bearer (DRB) buffer occupancy value that indicates a size of an uplink DRB buffer occupied by packets after adding the received uplink packet;

determining whether the projected DRB buffer occupancy value exceeds a threshold value associated with the priority level of the received uplink packet;

discarding the received uplink packet in response to determining that the projected DRB buffer occupancy value exceeds the threshold value associated with the priority level of the received uplink packet; and

enqueuing the received uplink packet in response to determining that the projected DRB buffer occupancy value does not exceed the threshold value associated with the priority level of the received uplink packet.

5. The network apparatus of claim 2 , wherein the at least one processor is further configured to:

receive an incoming downlink packet that corresponds to the received uplink packet;

parse the received downlink packet to determine a downlink packet source IP address, a downlink packet destination IP address, a downlink packet source port number, or a downlink packet destination port number; and

determine whether the downlink packet destination port number or destination IP address falls within the designated public port range or IP address range, respectively, for the identified high-priority data flows associated with the LAN interface by:

matching the received downlink packet against a packet filter including a component “destination port range” set to the designated public port range for the identified high-priority data flows associated with the LAN interface; or

matching the received downlink packet against a packet filter including a component “destination IP address range” set to the designated IP address range for the identified high-priority data flows associated with the LAN interface.

6. The network apparatus of claim 5 , wherein the at least one processor is further configured to:

determine an updated downlink packet destination IP address or an updated downlink packet destination port number for the received downlink packet based on a corresponding network address translation (NAT) mapping stored in the memory;

generating a modified downlink packet that include the updated downlink packet destination IP address or the updated downlink packet destination port number;

commence enqueuing the received downlink packet into a downlink high-priority transmission queue of a projected downlink interface of a next hop toward the downlink packet destination IP address; and

forwarding the modified downlink packet to the next hop in a path towards the updated downlink packet destination IP address in response to determining that the received downlink packet is enqueued successfully.

7. The network apparatus of claim 6 , wherein the projected downlink next-hop interface is:

a WiFi interface;

an Ethernet network interface controller (NIC) interface;

a Bluetooth interface; or

a universal serial bus (USB) interface.

8. The network apparatus of claim 6 , wherein the at least one processor is further configured to commence enqueuing the received downlink packet into the downlink high-priority transmission queue by:

determining a priority level of the received downlink packet;

determining a projected downlink next-hop interface buffer occupancy value that indicates a size of a downlink next-hop interface buffer occupied by packets after adding the received downlink packet; and

determining whether the projected downlink next-hop interface buffer occupancy value exceeds a threshold value associated with the priority level of the received downlink packet.

9. The network apparatus of claim 8 , wherein the at least one processor is further configured to commence enqueuing the received downlink packet into the downlink high-priority transmission queue by:

discarding the received downlink packet in response to determining that the projected downlink next-hop interface buffer occupancy value exceeds the threshold value associated with the priority level of the received downlink packet; and

enqueuing the received downlink packet in response to determining that the projected downlink next-hop interface buffer occupancy value does not exceed the threshold value associated with the priority level of the received downlink packet.

10. A method of managing mixed data flow types in communications in a network apparatus supporting customer premise equipment (CPE) deployments and evolving automotive systems, comprising:

determining data flow priority levels of a plurality of data flows;

identifying high-priority data flows in the plurality of data flows associated with a local area network (LAN) interface; and

assigning a designated public internet protocol (IP) address range or a designated public port range for the identified high-priority data flows associated with the LAN interface.

11. The method of claim 10 , further comprising:

receiving an incoming uplink packet;

parsing the received uplink packet to determine one or more uplink packet parameters, the one or more uplink packet parameters including at least one or more of an uplink packet source IP address, an uplink packet destination IP address, an uplink packet protocol number, an uplink packet source port number, an uplink packet destination port number, an uplink packet Ethernet source media access control (MAC) address, an uplink packet Ethernet destination MAC address, or other parameters in a packet header;

determining whether the received uplink packet matches one or more prioritized data flow packet filters; and

selecting a high-priority source port number from the designated public port range for the identified high-priority data flows associated with the LAN interface in response to determining that the received packet matches one or more of the prioritized data flow packet filters.

12. The method of claim 11 , further comprising:

generating a modified uplink packet that replaces a private source IP address of the received uplink packet with a public IP address of the network apparatus and replaces a private source port number of the received uplink packet with the selected high-priority source port number;

commencing enqueuing the modified uplink packet into an uplink high-priority transmission queue; and

forwarding the modified uplink packet to a next hop in a path towards the uplink packet destination IP address in response to determining that the modified uplink packet is enqueued successfully.

13. The method of claim 12 , wherein commencing enqueuing the modified uplink packet into the uplink high-priority transmission queue comprises:

determining a priority level of the received uplink packet;

determining a projected data radio bearer (DRB) buffer occupancy value that indicates a size of an uplink DRB buffer occupied by packets after adding the received uplink packet;

determining whether the projected DRB buffer occupancy value exceeds a threshold value associated with the priority level of the received uplink packet;

discarding the received uplink packet in response to determining that the projected DRB buffer occupancy value exceeds the threshold value associated with the priority level of the received uplink packet; and

enqueuing the received uplink packet in response to determining that the projected DRB buffer occupancy value does not exceed the threshold value associated with the priority level of the received uplink packet.

14. The method of claim 11 , further comprising:

receiving an incoming downlink packet that corresponds to the received uplink packet;

parsing the received downlink packet to determine a downlink packet source IP address, a downlink packet destination IP address, a downlink packet source port number, or a downlink packet destination port number; and

determining whether the downlink packet destination port number or destination IP address falls within the designated public port range or IP address range, respectively, for the identified high-priority data flows associated with the LAN interface by:

matching the received downlink packet against a packet filter including a component “destination port range” set to the designated public port range for the identified high-priority data flows associated with the LAN interface; or

matching the received downlink packet against a packet filter including a component “destination IP address range” set to the designated IP address range for the identified high-priority data flows associated with the LAN interface.

15. The method of claim 14 , further comprising:

determining an updated downlink packet destination IP address or an updated downlink packet destination port number for the received downlink packet based on a corresponding network address translation (NAT) mapping stored in memory;

generating a modified downlink packet that include the updated downlink packet destination IP address or the updated downlink packet destination port number;

commencing enqueuing the received downlink packet into a downlink high-priority transmission queue of a projected downlink interface of a next hop toward the downlink packet destination IP address; and

forwarding the modified downlink packet to the next hop in a path towards the updated downlink packet destination IP address in response to determining that the received downlink packet is enqueued successfully.

16. The method of claim 15 , wherein the projected downlink next-hop interface is:

a WiFi interface;

an Ethernet network interface controller (NIC) interface;

a Bluetooth interface; or

a universal serial bus (USB) interface.

17. The method of claim 15 , wherein commencing enqueuing the received downlink packet into the downlink high-priority transmission queue comprises:

determining a priority level of the received downlink packet;

determining a projected downlink next-hop interface buffer occupancy value that indicates a size of a downlink next-hop interface buffer occupied by packets after adding the received downlink packet; and

determining whether the projected downlink next-hop interface buffer occupancy value exceeds a threshold value associated with the priority level of the received downlink packet.

18. The method of claim 17 , wherein commencing enqueuing the received downlink packet into the downlink high-priority transmission queue comprises:

discarding the received downlink packet in response to determining that the projected downlink next-hop interface buffer occupancy value exceeds the threshold value associated with the priority level of the received downlink packet; and

enqueuing the received downlink packet in response to determining that the projected downlink next-hop interface buffer occupancy value does not exceed the threshold value associated with the priority level of the received downlink packet.

19. A network apparatus, comprising:

means for determining data flow priority levels of a plurality of data flows;

means for identifying high-priority data flows in the plurality of data flows associated with a local area network (LAN) interface; and

means for assigning a designated public internet protocol (IP) address range or a designated public port range for the identified high-priority data flows associated with the LAN interface.

20. The network apparatus of claim 19 , further comprising:

means for receiving an incoming uplink packet;

means for parsing the received uplink packet to determine one or more uplink packet parameters, the one or more uplink packet parameters including at least one or more of an uplink packet source IP address, an uplink packet destination IP address, an uplink packet protocol number, an uplink packet source port number, an uplink packet destination port number, an uplink packet Ethernet source media access control (MAC) address, an uplink packet Ethernet destination MAC address, or other parameters in a packet header;

means for determining whether the received uplink packet matches one or more prioritized data flow packet filters; and

means for selecting a high-priority source port number from the designated public port range for the identified high-priority data flows associated with the LAN interface in response to determining that the received packet matches one or more of the prioritized data flow packet filters.

Assignments (1)
ASSIGNMENT OF ASSIGNOR'S INTEREST Recorded Mar 3, 2024
From: LIU, FEILU; ZHAO, SULI; GUPTA, SIDDHARTH; MITRA, ALOK
To: QUALCOMM INCORPORATED
Reel/Frame 066628/0565 →
Continuity (1)
Related Publication 20250233826A1 · Jul 17, 2025
References Cited (13)
US 8233488B2 · Livescu · 2012 [cited by examiner]
US 20070104102A1 · Opsasnick · 2007 [cited by examiner]
US 20080056295A1 · Loda · 2008 [cited by examiner]
US 20110276699A1 · Pedersen · 2011 [cited by examiner]
US 20120269059A1 · Gupta · 2012 [cited by examiner]
US 20160234124A1 · Tomici · 2016 [cited by examiner]
US 20170155590A1 · Dillon · 2017 [cited by examiner]
US 20180198838A1 · Murgia · 2018 [cited by examiner]
US 20180198890A1 · Dhanabalan · 2018 [cited by examiner]
CN 110249596A · 2019 [cited by examiner]
WO WO2012054652A1 · 2012 [cited by examiner]
WO WO2015042389A1 · 2015 [cited by examiner]
WO WO2019182889A1 · 2019 [cited by examiner]