Method and apparatus for internet protocol (IP) packet processing

By distinguishing between prioritized and non-priority IP packets in the IP packet header and using prioritized traffic processing configuration, the problem of excessive latency on wireless devices is solved, improving data transmission efficiency and user experience for time-sensitive applications.

CN115997406BActive Publication Date: 2025-12-16QUALCOMM INC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202180044675.4
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2020-06-29
Filing Date
2021-05-14
Publication Date
2025-12-16
Estimated Expiration
2041-05-14

AI Technical Summary

Technical Problem

Current communication systems suffer from excessive latency when processing IP packets for time-sensitive applications, especially on wireless devices, resulting in a poor user experience.

Method used

Prioritized and non-prioritized IP packets are distinguished by using Differential Service Code Point (DSCP) or Type of Service (TOS) indications in the header of the IP packets, and are processed using a prioritized traffic processing configuration, including different hardware connections and processing queues, to reduce latency.

Benefits of technology

It effectively reduces edge-to-edge latency on wireless devices, improves data transmission quality for time-sensitive applications, and enhances the user experience.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN115997406B_ABST
    Figure CN115997406B_ABST
Patent Text Reader

Abstract

Various embodiments provide methods for Internet Protocol (IP) packet processing. Various embodiments can enable downlink (DL) data prioritization of IP packets for time-sensitive applications, for example, by using a differentiated services code point (DSCP) indication or a type of service (TOS) indication in a header of the IP packets to distinguish prioritized IP packets from non-prioritized IP packets. In various embodiments, IP packets that are prioritized IP packets can be sent to another processor of a wireless device using a prioritized traffic handling configuration that has a lower latency than a default traffic handling configuration used to send non-prioritized IP packets. Various embodiments can also enable uplink (UL) data prioritization of IP packets.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Related Applications

[0002] This application claims the benefit of priority of U.S. Patent Application No. 16 / 915,145, filed June 29, 2020, entitled “Downlink Data Prioritization for Time Sensitive Applications,” the entire contents of which are incorporated herein by reference for all purposes. BACKGROUND

[0003] Cellular and wireless communication technologies have exploded in the past few years and are being used to support communications between a variety of different types of communication devices, such as smartphones, vehicle-based communication devices, infrastructure communication devices, network communication devices, etc. Better communication hardware, larger networks, and more reliable protocols have driven this growth.

[0004] Long Term Evolution (LTE), Fifth Generation (5G) New Radio (NR), and other recently developed communication technologies allow wireless devices to communicate information at data rates that are orders of magnitude greater than what was available just a few years ago (e.g., in terms of gigabits per second, etc.).

[0005] Today’s communication networks are also more secure, resilient to multipath fading, allow for lower network traffic latency, provide better communication efficiency (e.g., in terms of bits per second per unit of bandwidth used, etc.). These and other recent improvements have facilitated the emergence of technologies that can benefit from low-latency data delivery, such as robotic head-mounted devices (HMDs), Internet of Things (IOT) devices, vehicles, etc. While many devices, such as devices running time-sensitive applications, can benefit from low-latency data delivery, constraints associated with some devices, such as power consumption constraints, data aggregation constraints, interrupt regulation, etc. have previously hindered the speed at which data traffic can be delivered to applications on devices so constrained. SUMMARY

[0006] Various aspects include systems and methods of Internet Protocol (IP) packet processing performed by a processor of a wireless device. Various aspects can enable downlink (DL) data prioritization of IP packets for time-sensitive applications using a Differentiated Services Code Point (DSCP) indication or a Type of Service (TOS) indication in a header of the IP packets. Various aspects can include receiving an IP packet of a downlink (DL) data stream, determining whether the IP packet is a prioritized packet; and in response to determining that the IP packet is a prioritized packet, sending the IP packet to another processor of the wireless device using a prioritized traffic handling configuration, wherein the prioritized traffic handling configuration is configured to have a lower latency than a default traffic handling configuration used to send non-prioritized IP packets. In some aspects, receiving the IP packet of the DL data stream can include receiving the IP packet of the DL data stream after layer 2 (L2) on the wireless device.

[0007] In some aspects, the prioritized traffic handling configuration can include using a first type of hardware connection, and the default traffic handling configuration can use a second type of hardware connection that is different from the first type of hardware connection. In some aspects, the first type of hardware connection can be a Peripheral Component Interconnect Express (PCIe) connection, and the second type of hardware connection is a Universal Serial Bus (USB).

[0008] In some aspects, determining whether the IP packet is a prioritized packet can include determining a parameter of the IP packet, determining whether the parameter is associated with a prioritized packet setting, determining that the IP packet is not a prioritized packet in response to determining that the parameter is not associated with the prioritized packet setting, and determining that the IP packet is a prioritized packet in response to determining that the parameter is associated with the prioritized packet setting. In some aspects, the parameter can include a Differentiated Services Code Point (DSCP) indication or a Type of Service (TOS) indication in a header of the IP packet. In some aspects, the parameter can include one of an Internet Protocol version 4 (IPv4) five-tuple of the IP packet, an Internet Protocol version 6 (IPv6) five-tuple of the IP packet, an Evolved Packet System (EPS) bearer identifier (ID) associated with the IP packet, a data radio bearer (DRB) ID associated with the IP packet, a packet data network (PDN) ID associated with the IP packet, a protocol data unit (PDU) session ID associated with the IP packet, an access point name (APN) associated with the IP packet, a data network name (DNN) associated with the IP packet, a service data adaptation protocol (SDAP) flow associated with the IP packet, a quality of service (QoS) class identifier (CQI) of a bearer associated with the IP packet, a fifth generation (5G) QoS identifier (5QI) associated with the IP packet, a QoS flow ID (QFI) associated with the IP packet, or a virtual local area network (VLAN) ID tag associated with the IP packet.

[0009] Some aspects can further include selecting a prioritized traffic handling configuration from a plurality of available prioritized traffic handling configurations in response to determining that the IP packet is a prioritized packet. In some aspects, the IP packet can be an IP packet of a separate device that is wired or wirelessly connected to the wireless device. In some aspects, the other processor can be a modem processor of the wireless device that provides a wireless connection between the wireless device and a head-worn device or a vehicle computing device.

[0010] Some aspects can further include receiving a second IP packet of an uplink (UL) data flow, determining whether the second IP packet is a prioritized packet; and responsive to determining that the second IP packet is a prioritized packet, transmitting the second IP packet to a radio access network (RAN) using a UL prioritized traffic handling configuration, wherein the UL prioritized traffic handling configuration is configured to have a lower latency than a default UL traffic handling configuration used to transmit non-prioritized IP packets.

[0011] Further aspects include a wireless device having a processor configured with processor-executable instructions to perform operations of any of the methods summarized above. Various aspects include a wireless device having means for performing the functionality of any of the methods summarized above. Various aspects include a non-transitory processor-readable medium having stored thereon processor-executable software instructions configured to cause a processor of a wireless device to perform operations of any of the methods summarized above. Further aspects include a vehicle including a vehicle computing device having a processor configured with processor-executable instructions to perform operations of any of the methods summarized above. Further aspects include a non-transitory processor-readable storage medium having stored thereon processor-executable software instructions configured to cause a processor to perform operations of any of the methods summarized above. Further aspects include a computing device for use in a vehicle and configured to perform operations of any of the methods summarized above. Further aspects include a vehicle having means for performing the functionality of any of the methods summarized above. BRIEF DESCRIPTION OF DRAWINGS

[0012] The accompanying drawings, which are incorporated herein and constitute part of this specification, illustrate exemplary embodiments of the claims, and together with the general description given above and the detailed description given below, serve to explain features of the claims.

[0013] FIG. 1A is a system block diagram illustrating an example communication system suitable for implementing various embodiments.

[0014] FIG. 1B is an illustration of a head-mounted device (e.g., an extended reality (XR) headset) suitable for implementing various embodiments.

[0015] FIG. 2A is a component block diagram illustrating an example computing and wireless modem system suitable for implementing various embodiments.

[0016] FIG. 2B and FIG. 2C is a component block diagram illustrating a vehicle suitable for implementing various embodiments.

[0017] FIG. 3is a component block diagram illustrating a software architecture including a radio protocol stack for a user and control plane in wireless communications suitable for implementing various embodiments.

[0018] FIG. 4 is a process flow diagram illustrating a method for Internet Protocol (IP) packet processing according to various embodiments.

[0019] FIG. 5A , FIG. 5B , FIG. 5C and FIG. 5D is a block diagram illustrating example interactions between processors of a wireless device using a prioritized traffic handling configuration for prioritized IP packets and a default traffic handling configuration for non-prioritized IP packets according to various embodiments.

[0020] FIG. 6 is a process flow diagram illustrating a method for IP packet processing according to various embodiments.

[0021] FIG. 7 is a process flow diagram illustrating a method for IP packet processing according to various embodiments.

[0022] FIG. 8 is a component block diagram of an IoT device suitable for implementing various embodiments.

[0023] FIG. 9 is a component diagram of an example server suitable for implementing various embodiments.

[0024] FIG. 10 is a component block diagram of a wireless device suitable for implementing various embodiments. DETAILED DESCRIPTION

[0025] Various aspects will be described in detail with reference to the drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References made to particular examples and implementations are for illustrative purposes, and are not intended to limit the scope of the claims.

[0026] Various embodiments provide a method for Internet Protocol (IP) packet processing that enables downlink (DL) data prioritization for IP packets for time sensitive applications. Various embodiments can use a Differentiated Services Code Point (DSCP) indication or a Type of Service (TOS) indication in a header of an IP packet to distinguish between prioritized IP packets and non-prioritized IP packets. IP packets that are prioritized IP packets can be transmitted to another processor of a wireless device using a prioritized traffic handling configuration that has a lower latency than a default traffic handling configuration used to transmit non-prioritized IP packets.

[0027] Compared to current systems that do not prioritize IP packets of DL flows (e.g., current systems that apply best effort processing to each IP packet of a DL flow), the use of lower latency prioritized traffic handling configurations in various embodiments can improve (e.g., reduce) edge-to-edge latency of prioritized IP packets on a wireless device (i.e., the time it takes from a modem processor's physical layer reception of an IP packet in a DL flow to the passing of the IP packet to be decoded to another processor of the wireless device). Various embodiments can also enable uplink (UL) data prioritization of IP packets. Prioritization of IP packets on UL flows can improve (e.g., reduce) overall latency of real-time UL data traffic compared to current systems that do not prioritize IP packets of UL flows.

[0028] The term "wireless device" as used herein refers to a cell phone, a smartphone, a portable computing device, a personal or mobile multimedia player, a laptop computer, a tablet computer, a smartbook, an ultrabook, a palmtop computer, a wireless electronic mail receiver, a multimedia Internet enabled cellular telephone, a wireless router device, a wireless appliance, medical devices and equipment, biometric sensors / devices, wearable devices (including smartwatches, smart clothing, smart glasses, smart wristbands, smart jewelry (e.g., smart rings, smart bracelets, etc.), head-mounted devices), entertainment devices (e.g., wireless gaming controllers, music and video players, satellite radios, etc.), Internet of Things (IoT) devices that are wireless network enabled (including smart meters / sensors, industrial manufacturing equipment, large and small machinery and appliances for home or enterprise use, wireless communication elements within autonomous and semi-autonomous vehicles, wireless devices fixed to or incorporated in various mobile platforms, global positioning system devices), and similar electronic devices that include a memory, wireless communication components, and a programmable processor.

[0029] The term "IoT device" as used herein refers to any of various devices that include a processor and a transceiver for communicating with other devices or networks. For ease of description, examples of IoT devices are described as communicating via radio frequency (RF) wireless communication links, but an IoT device can communicate with another device (or user) (e.g., as a participant in a communication network such as IoT) via a wired or wireless communication link. Such communication can include communication with another wireless device, a base station (including a cellular communication network base station and an IoT base station), an access point (including an IoT access point), or other wireless devices.

[0030] Various embodiments can operate in a wireless communication network that utilizes any of the Institute of Electrical and Electronics Engineers (IEEE) 16.11 standards, or the IEEE 802.11 standards, including 802.11g, 802.11n, 802.11ac, 802.11ad, 802.11ah, 802.11ax, 802.11be, or later standards, and / or the Bluetooth® wireless communication standards, including Bluetooth® Low Energy, or later versions. Standards (e.g., Bluetooth 4, Bluetooth 5, etc.), Code Division Multiple Access (CDMA), Frequency Division Multiple Access (FDMA), Time Division Multiple Access (TDMA), Global System for Mobile Communications (GSM), GSM / General Packet Radio Service (GPRS), Enhanced Data GSM Environment (EDGE), Terrestrial Trunking Radio (TETRA), Wideband CDMA (W-CDMA), Evolved Data Optimized (EV-DO), 1xEV-DO, EV-DO Version A, EV-DO Version B, High-Speed ​​Packet Access (HSPA), High-Speed ​​Downlink Packet Access (HSDPA), High-Speed ​​Uplink Packet Access (HSUPA), Evolved High-Speed ​​Packet Access (HSPA+), Long Term Evolution (LTE), AMPS, any of which transmit and receive RF signals (or are used in wireless, cellular, or Internet of Things (IoT) networks such as IEEE 802.15.4 protocols (e.g., Thread, ZigBee, and Z-Wave), 6LoWPAN, Bluetooth Low Energy (BLE), LTE Machine Type Communications (LTE MTC), Narrowband LTE (NB-LTE), Cellular IoT (CIoT), Narrowband IoT (NB-IoT), BT Smart devices, Wi-Fi (e.g., Wi-Fi NAN), LTE-U, LTE Direct, MuLTEfire, and other known signals that communicate within systems utilizing 3G, 4G, or 5G, cellular V2X, or further implementations thereof, are implemented in devices.

[0031] As used herein, the term "System-on-a-Chip" (SOC) refers to a single integrated circuit (IC) chip containing multiple resources and / or processors integrated on a single substrate. A single SOC may contain circuitry for digital, analog, mixed-signal, and radio frequency functions. A single SOC may also include any number of general-purpose and / or special-purpose processors (digital signal processors, modem processors, video processors, etc.), blocks of memory (e.g., ROM, RAM, flash memory, etc.), and resources (e.g., timers, voltage regulators, oscillators, etc.). A SOC may also include software for controlling the integrated resources and processors, as well as software for controlling peripheral devices.

[0032] The term "System-in-Package" (SIP) is used herein to refer to a single module or package containing two or more IC chips, substrates, or multiple resources, computing units, cores, and / or processors on a System-on-a-Chip (SoC). For example, a SIP may include a single substrate on which multiple IC chips or semiconductor dies are stacked in a vertical configuration. Similarly, a SIP may include one or more multi-chip modules (MCMs) on which multiple ICs or semiconductor dies are packaged into a single substrate. A SIP may also include multiple independent SoCs coupled together via high-speed communication circuitry and packaged very close together, such as on a single motherboard or in a single IoT device. The proximity of the SoCs facilitates high-speed communication and the sharing of memory and resources.

[0033] The various embodiments described herein use the term "server" to refer to any computing device capable of acting as a server, such as a primary switching server, network server, mail server, document server, content server, or any other type of server. A server can be a dedicated computing device or a computing device that includes a server module (e.g., running an application that enables the computing device to operate as a server). A server module (e.g., a server application) can be a full-featured server module or a lightweight or auxiliary server module configured to provide synchronization services within a dynamic database on the receiver device (e.g., a lightweight or auxiliary server application). A lightweight or auxiliary server can be a simplified version of server-type functionality that can be implemented on the receiving device, thereby enabling it to act as an internet server (e.g., an enterprise email server) only to the extent necessary to provide the functionality described herein.

[0034] The phrase "head-mounted device" and the acronym (HMD) are used herein to refer to any wearable electronic display system that presents at least some computer-generated imagery to a user. An HMD may present only computer-generated imagery, or a combination of computer-generated imagery and real-world images from the user's physical environment (i.e., what the user would see without glasses). An HMD allows the user to view the generated images in the context of a real-world scene. Non-limiting examples of head-mounted devices include, or may include, helmets, glasses, virtual reality (VR) glasses, augmented reality (AR) glasses, mixed reality (MR) glasses, extended reality (XR) headsets (e.g., headsets that provide VR, AR, MR, and / or other types of immersive or semi-immersive visual experiences), electronic goggles, and other similar technologies / devices. Head-mounted devices may include various hardware components such as a processor, memory, a display, one or more cameras (e.g., panoramic cameras, staring cameras, etc.), and a wireless interface for connecting to the Internet, a network, or another computing device. In some embodiments, the head-mounted device processor may be configured to execute or run XR software applications.

[0035] In some embodiments, the head-mounted device may be an accessory to a wireless device (e.g., a desktop computer, laptop computer, smartphone, tablet computer, etc.) and / or may receive information from the wireless device, wherein all or part of the processing is executed on the processor of the wireless device. Therefore, in various embodiments, the head-mounted device may be configured to perform all processing locally on the processor in the head-mounted device, offload all main processing to a processor in another computing device (e.g., a laptop computer in the same room as the head-mounted device), or divide the main processing operations between the processor in the head-mounted device and the processor in the other computing device. In some embodiments, the processor in the other computing device may be a server in the "cloud," wherein the processor in the head-mounted device or an associated wireless device communicates with the server via a network connection (e.g., a cellular network connection to the Internet).

[0036] Various types of data traffic transmitted to wireless devices (e.g., smartphones) such as XR live data, data used for vehicle systems (e.g., Auto data, Applications such as CarPlay data processing and gaming may have low latency requirements. However, in current systems, the need to reduce the power consumption of wireless devices and support high throughput has led to the application of various data accumulation methods, data aggregation methods, and interrupt conditioning to the data traffic processing configuration of incoming data (especially input IP packets) of wireless devices. These current systems also treat all IP packets equally. The various data traffic processing configurations applied in current systems result in higher latency than many applications (such as XR visual processing, audio data output, e.g., via...). Auto The longer latency is expected for applications such as CarPlay, gaming, and other low-latency applications.

[0037] As a concrete example, the XR vision processing pipeline is both computationally intensive and latency-sensitive. In some XR implementations, as an XR user wearing an HMD moves their head, on-device processing determines the head pose and transmits the head pose information to an edge cloud via a low-latency, high-quality-of-service 5G link through a connected wireless device (e.g., a smartphone). The edge cloud can use the head pose to partially render the next frame, encode the data, and send the next frame data back to the XR headset as one or more IP packets via a connected wireless device (e.g., a smartphone). The XR headset will decode the latest available data and, based on the latest head pose generated at a high frequency, perform any further rendering and adjustments to minimize motion-to-photon latency. In many implementations, motion-to-photon processing occurs entirely on the HMD device to meet the latency requirement of less than 20 milliseconds (ms) for XR vision processing, corresponding to a general threshold for avoiding user discomfort.

[0038] Various embodiments provide methods for IP packet processing, which can be executed by a processor of a wireless device, such as a wireless device connected (e.g., wired and / or wirelessly) to an HMD, a wireless device connected (e.g., wired and / or wirelessly) to an IoT device, a wireless device connected (e.g., wired and / or wirelessly) to a vehicle computing device, etc. Various embodiments enable DL and / or UL data prioritization of IP packets, such as for time-sensitive applications (e.g., XR applications, vehicle applications, etc.). Various embodiments enable the differentiation of non-prioritized IP packets and prioritized IP packets based on one or more parameters of the received IP packets.

[0039] In various embodiments, parameters of IP packets that can distinguish between prioritized and non-prioritized packets may include any of the following: IP version 4 (IPv4) 5-tuple of the IP packet; IP version 6 (IPv6) 5-tuple of the IP packet; Evolved Packet Switching System (EPS) bearer identifier (ID) associated with the IP packet; Data Radio Bearer (DRB) ID associated with the IP packet; Packet Data Network (PDN) ID associated with the IP packet; Protocol Data Unit (PDU) session ID associated with the IP packet; Access Point Name (APN) associated with the IP packet; Data Network Name (DNN) associated with the IP packet; Service Data Adaptation Protocol (SDAP) flow associated with the IP packet; Quality of Service (QoS) Class Identifier (CQI) of the bearer associated with the IP packet; 5G QoS Identifier (5QI) associated with the IP packet; QoS Flow ID (QFI) associated with the IP packet; Virtual Local Area Network (VLAN) ID label associated with the IP packet; DSCP indication in the header of the IP packet; and / or TOS indication in the header of the IP packet. The processor can consider any of these parameters to distinguish between prioritized and non-priority IP packets.

[0040] In various embodiments, prioritizing IP packets based on one or more parameters of the received IP packets enables the processing of prioritized packets using a different priority traffic processing configuration than the default traffic processing configuration used for non-priority packets. In various embodiments, the priority traffic processing configuration may be a traffic processing configuration configured to have lower latency than the default traffic processing configuration used to send non-priority IP packets. For example, the priority traffic processing configuration may avoid some accumulation, aggregation, and / or interruption conditioning methods applied to non-priority IP packets in the default traffic processing configuration. In some embodiments, the priority traffic processing configuration may have a separate packet processing queue from the default traffic processing configuration. In some embodiments, the priority traffic processing configuration may use different hardware connections than the default traffic processing configuration. In some embodiments, the priority traffic processing configuration may have separate watermarking and / or buffering from the default traffic processing configuration. In some embodiments, the priority traffic processing configuration may have a separate flow control trigger from the default traffic processing configuration. In some embodiments, using a priority traffic processing configuration for DL ​​and / or UL data streams can enable prioritized packets to have reduced (or no) artifacts compared to non-priority packets processed using the default traffic processing configuration. Specifically, prioritized traffic processing configurations for DL ​​and / or UL data streams can reduce or avoid packet accumulation in the DL or UL path, and / or reduce or avoid packet aggregation in the DL or UL path (such as accumulation or aggregation based on timers, packets, and / or bytes). The reduction (or avoidance) of artifacts can improve the user experience compared to non-prioritized packets processed using the default traffic processing configuration.

[0041] In some embodiments, the wireless device can be configured to have multiple different prioritized traffic processing configurations, allowing different prioritized packets to be processed using different prioritized traffic processing configurations. In some embodiments, a prioritized traffic processing configuration can be selected from multiple available prioritized traffic processing configurations. For example, some prioritized packets can be processed using one prioritized traffic processing configuration, while other prioritized packets can be processed using another prioritized traffic processing configuration. As another example, different traffic channels can be associated with different priorities, and these priorities can be used to throttle data using different accumulation and / or aggregation controls.

[0042] In some embodiments, different priority indicators, such as different DSCP indicators or different TOS indicators in the IP packet header, can be associated with different priority traffic processing configurations. For example, a first priority indicator may be associated with a first priority traffic processing configuration with a 5ms edge-to-edge delay on the wireless device, a second priority indicator may be associated with a second priority traffic processing configuration with a 10ms edge-to-edge delay on the wireless device, and a third priority indicator may be associated with a third priority traffic processing configuration with a 15ms edge-to-edge delay on the wireless device. In this way, the selection of the first, second, or third priority indicator or parameter for IP packets can control the selection of the priority traffic processing configuration at the wireless device and can be used to manage the expected latency budget of the service.

[0043] In some embodiments, determining whether an IP packet is a prioritized packet may include determining whether a DSCP indicator or TOS indicator in the IP packet header is associated with a prioritized packet setting. For example, when a device sends IP packets to a wireless device (such as an XR server, content server, etc.) via a radio access network (RAN) (e.g., 5G RAN), the header of the prioritized IP packet may be marked with a DSCP indicator or TOS indicator associated with a prioritized packet setting. In some embodiments, a processor of a wireless device, such as a modem processor (e.g., a 5G modem processor), that receives an IP packet having a DSCP indicator or TOS indicator in the header of the IP packet associated with a prioritized packet setting, may determine that the IP packet is a prioritized packet and, in response to determining that the IP packet is a prioritized packet, may send the IP packet to another processor of the wireless device, such as a Wi-Fi modem processor, application processor, etc., using a prioritized traffic processing configuration.

[0044] In some embodiments, a prioritized traffic processing configuration may include different types of hardware connections between the processor receiving the IP packets and the processor to which the IP packets are sent, instead of the hardware connections used in the default traffic processing configuration. The type of hardware connection can be agnostic to priority, as long as the hardware can be distinguished using separate connections, such as PCIe, USB, HSIC, etc. As a specific example, based on a prioritized traffic processing configuration, a 5G modem processor of a wireless device can use a PCIe connection between a Wi-Fi modem processor and the 5G modem processor to send IP packets determined to be prioritized packets to the Wi-Fi modem processor, while IP packets determined not to be prioritized packets can be sent from the 5G modem processor to the application processor using a USB connection, according to the default traffic processing configuration. As another concrete example, based on a prioritized traffic processing configuration, the 5G modem processor of a wireless device can use the PCIe connection between the Wi-Fi modem processor and the 5G modem processor to send IP packets that will be identified as prioritized packets to the Wi-Fi modem processor without any accumulation, queuing, or aggregation processing being applied to the prioritized packets. IP packets that are identified as not prioritized packets can be sent from the 5G modem processor to the Wi-Fi modem processor via a USB connection according to the default traffic processing configuration that can apply at least some accumulation, queuing, or aggregation processing.

[0045] Various embodiments can reduce edge-to-edge latency on wireless devices in a variety of technical implementations, such as IoT systems, interconnected systems, dual-chipset systems, vehicle systems, etc. As an example, some embodiments can be used in IoT Time-Sensitive Networking (TSN) to distinguish between prioritized and non-priority IP packets and process prioritized IP packets with a lower latency traffic processing configuration. As another example, some embodiments can be used with various types of physical interconnects to provide a lower latency traffic processing configuration for prioritized IP packets (such as WLAN, Ethernet, USB, PCIe, etc.). As yet another example, some embodiments can be used in LAN-to-LAN connections to distinguish between prioritized and non-priority IP packets and process prioritized IP packets with a lower latency traffic processing configuration. As yet another example, some embodiments can be used in dual-chipset wireless devices, where a modem processor can connect to a 5GHz Wi-Fi chipset and a 2.4GHz chipset to distinguish between prioritized and non-priority IP packets, processing prioritized IP packets with the 5GHz Wi-Fi chipset and non-priority IP packets with the 2.4GHz chipset. As another example, some embodiments can be used in connected vehicle implementations, such as where wireless devices are connected via... Auto type connection or The implementation of CarPlay-type connection to the vehicle computing device distinguishes between prioritized and non-priority IP packets (e.g., via EPS bearer ID, VLAN tag mapping, etc.) and uses a low-latency traffic processing configuration to process prioritized IP packets to provide them from the wireless device to the vehicle computing device.

[0046] FIG. 1A This is a system block diagram illustrating an example communication system 100 suitable for implementing any of the various embodiments. Communication system 100 may be a 5G New Radio (NR) network, or any other suitable network such as an LTE network, a 5G (or next-generation) network, etc. Although FIG. 1A A 5G network is shown, but next-generation networks may include the same or similar elements. Therefore, references to 5G networks and 5G network elements in the following description are for illustrative purposes and not intended to be limiting.

[0047] Communication system 100 may include a heterogeneous network architecture, which includes a core network 140 and various devices (e.g., in...). FIG. 1AThe components are shown as User Equipment (UE) 120a-120d, IoT device 120e, vehicle 120f, and HMD 120g. The communication system 100 may also include multiple base stations (shown as BS110a, BS110b, BS110c, and BS110d) and other network entities. A base station is an entity that communicates with wireless devices and may also be referred to as a Node B, an LTE Evolution Node B (eNodeB or eNB), an Access Point (AP), a Radio Headend, a Transmitter / Receiver Point (TRP), a New Radio Base Station (NR BS), a 5G Node B (NB), a Next Generation Node B (gNodeB or gNB), etc. Each base station can provide communication coverage for a specific geographic area. In 3GPP, the term "cell" can refer to the coverage area of ​​a base station, a base station subsystem serving that coverage area, or a combination thereof, depending on the context in which the term is used. The core network 140 can be any type of core network, such as an LTE core network (e.g., an Evolved Packet Core (EPC) network), a 5G core network, etc. While various examples of wireless devices 120a-120g, such as UE, IoT devices, HMD, vehicles, etc., have been discussed with reference to them, these are merely examples. Wireless devices 120a-120g can be any type of device, such as robots, vehicles, infrastructure equipment, etc.

[0048] Base stations 110a-110d can provide communication coverage for macrocells, picocells, femtocells, another type of cell, or a combination thereof. A macrocell can cover a relatively large geographic area (e.g., a radius of several kilometers) and can allow unrestricted access for mobile devices with service subscriptions. A picocell can cover a relatively small geographic area and can allow unrestricted access for mobile devices with service subscriptions. A femtocell can cover a relatively small geographic area (e.g., a home) and can allow restricted access for mobile devices associated with that femtocell (e.g., mobile devices in a Closed Subscriber Group (CSG)). A base station for a macrocell can be referred to as a macro BS. A base station for a picocell can be referred to as a pico BS. A base station for a femtocell can be referred to as a femtocell BS or a home BS. FIG. 1A In the example shown, base station 110a can be a macro BS of macro cell 102a, base station 110b can be a pico BS of pico cell 102b, and base station 110c can be a femto BS of femto cell 102c. Base stations 110a-110d can support one or more (e.g., three) cells. The terms “eNB”, “base station”, “NR BS”, “gNB”, “TRP”, “AP”, “Node B”, “5G NB”, and “cell” are used interchangeably in this document.

[0049] In some examples, the cell may not be stationary, and the geographical area of ​​the cell may move depending on the location of the mobile base station. In some examples, base stations 110a-110d may interconnect with each other via various types of backhaul interfaces (such as direct physical connections, virtual networks, or combinations thereof using any suitable transport network) and interconnect to one or more other base stations or network nodes (not shown) in the communication system 100.

[0050] Base stations 110a-110d can communicate with the core network 140 via wired or wireless communication link 126. Wireless devices (e.g., user equipment (UE)) 120a-120g can communicate with base stations 110a-110d via wireless communication link 122.

[0051] The wired communication link 126 can use various wired networks (e.g., Ethernet, TV cable, telephone, fiber optic and other forms of physical network connection), and the various wired networks can use one or more wired communication protocols, such as Ethernet, point-to-point protocol, high-level data link control (HDLC), advanced data communication control protocol (ADCCP) and transmission control protocol / Internet protocol (TCP / IP).

[0052] The communication system 100 may also include a relay station (e.g., relay BS110d). A relay station is an entity that can receive data transmissions from an upstream station (e.g., a base station or mobile device) and transmit the data to a downstream station (e.g., a wireless device (e.g., a UE) or a base station). A relay station can also be a mobile device capable of relaying transmissions for other wireless devices. FIG. 1A In the example shown, relay station 110d can communicate with macro base station 110a and wireless device 120d to facilitate communication between base station 110a and wireless device 120d. A relay station can also be referred to as a relay base station, relay base station, repeater, etc.

[0053] The communication system 100 can be a heterogeneous network, comprising different types of base stations, such as macro base stations, pico base stations, femto base stations, relay base stations, etc. These different types of base stations may have different transmission power levels, different coverage areas, and different effects on interference in the communication system 100. For example, macro base stations may have high transmission power levels (e.g., 5 to 40 watts), while pico base stations, femto base stations, and relay base stations may have lower transmission power levels (e.g., 0.1 to 2 watts).

[0054] Network controller 130 can be coupled to a set of base stations and can provide coordination and control for these base stations. Network controller 130 can communicate with the base stations via backhaul. Base stations can also communicate with each other directly or indirectly, for example, via wireless or wired backhaul.

[0055] Wireless devices (e.g., UEs, vehicles, HMDs, etc.) 120a, 120b, 120c, 120e, 120d, 120f, 120g can be distributed throughout the communication system 100, and each wireless device can be fixed or mobile. Wireless devices can also be referred to as access terminals, terminals, mobile stations, subscriber units, stations, user equipment (UE), broadcast wireless equipment (BWD), Internet of Things (IoT) devices, vehicle computing devices, head-mounted displays (HMDs), etc.

[0056] Macro base station 110a can communicate with communication network 140 via wired or wireless communication link 126. Wireless devices 120a, 120b, 120c, and 120f can communicate with base stations 110a-110d via wireless communication link 122.

[0057] Wireless communication links 122 and 124 may include multiple carrier signals, frequencies, or frequency bands, each of which may include multiple logical channels. Wireless communication links 122 and 124 may utilize one or more radio access technologies (RATs). Examples of RATs that can be used in wireless communication links include 3GPP LTE, 3G, 4G, 5G (e.g., NR), GSM, CDMA, WCDMA, WiMAX, Time Division Multiple Access (TDMA), and other cellular RATs for mobile phone communication technologies. Other examples of RATs that can be used in one or more of the various wireless communication links 122 and 124 within the communication system 100 include mid-range protocols such as Wi-Fi, LTE-U, LTE Direct, LAA, and MuLTEfire, and relatively short-range RATs such as ZigBee, Bluetooth, and Bluetooth Low Energy (LE). In addition, wired communication links 125 can be established between devices in the communication system 100 via physical wired connections between devices, such as Universal Serial Bus (USB) connections, Peripheral Component Interconnect Express (PCIe) connections, Universal Serial Bus (USB) connections, High Speed ​​Chip Interconnect (HSIC) connections, Ethernet connections, etc.

[0058] Some wireless networks (e.g., LTE) utilize Orthogonal Frequency Division Multiplexing (OFDM) on the downlink and Single-Carrier Frequency Division Multiplexing (SC-FDM) on the uplink. OFDM and SC-FDM divide the system bandwidth into multiple (K) orthogonal subcarriers, often referred to as tones, frequency bands, etc. Each subcarrier can be modulated with data. Typically, OFDM is used to transmit modulation symbols in the frequency domain, and SC-FDM is used to transmit modulation symbols in the time domain. The spacing between adjacent subcarriers can be fixed, and the total number of subcarriers (K) can depend on the system bandwidth. For example, the subcarrier spacing could be 15 kHz, and the minimum resource allocation (called a "resource block") could be 12 subcarriers (or 180 kHz). Therefore, for system bandwidths of 1.25, 2.5, 5, 10, or 20 MHz, the nominal Fast File Transfer (FFT) size could be 128, 256, 512, 1024, or 2048, respectively. The system bandwidth can also be divided into subbands. For example, a subband can cover 1.08MHz (i.e., 6 resource blocks), and for system bandwidths of 1.25, 2.5, 5, 10, or 20MHz, there can be 1, 2, 4, 8, or 16 subbands respectively.

[0059] While some embodiments are described using terminology and examples associated with LTE technology, various embodiments can be applied to other wireless communication systems, such as New Radio (NR) or 5G networks. NR can utilize OFDM with a cyclic prefix (CP) on both the uplink (UL) and downlink (DL) and includes support for half-duplex operation using Time Division Duplex (TDD). A single-component carrier bandwidth of 100 MHz can be supported. An NR resource block can span 12 subcarriers for a duration of 0.1 milliseconds (ms), where the subcarrier bandwidth is 75 kHz. Each radio frame can consist of 50 subframes of 10 ms in length. Therefore, each subframe can have a length of 0.2 ms. Each subframe can indicate the link direction for data transmission (i.e., DL or UL), and the link direction of each subframe can be dynamically switched. Each subframe can include DL / UL data and DL / UL control data. Beamforming can be supported, and the beam direction can be dynamically configured. Multiple-input multiple-output (MIMO) transmission with precoding can also be supported. MIMO configurations in DL can support up to eight transmit antennas, with up to eight streams in multi-layer DL transmission and up to two streams per radio device. Multi-layer transmission with up to two streams per radio device is also supported. Aggregation of multiple cells can be supported using up to eight serving cells. Alternatively, NR can support different air interfaces instead of OFDM-based air interfaces.

[0060] Some mobile devices can be considered machine-type communication (MTC) or evolved or enhanced machine-type communication (eMTC) mobile devices. MTC and eMTC mobile devices include, for example, robots, drones, remote devices, sensors, meters, monitors, location tags, etc., which can communicate with base stations, another device (e.g., a remote device), or some other entity. For example, a wireless node can provide connectivity to or from a network (e.g., a wide area network such as the Internet or cellular networks) via wired or wireless communication links. Some mobile devices can be considered Internet of Things (IoT) devices, or can be implemented as NB-IoT (Narrowband Internet of Things) devices. Wireless devices (e.g., UEs) 120a-g can be included within a housing that houses components of the wireless device, such as processor components, memory components, similar components, or combinations thereof.

[0061] Typically, any number of communication systems and wireless networks can be deployed within a given geographical area. Each communication system and wireless network can support a specific Radio Access Technology (RAT) and can operate on one or more frequencies. A RAT can also be referred to as a radio technology, air interface, etc. A frequency can also be referred to as a carrier, channel, etc. Each frequency can support a single RAT within a given geographical area to avoid interference between communication systems using different RATs. In some cases, 4G / LTE and / or 5G / NR RAT networks can be deployed. For example, a 5G Non-Standalone (NSA) network can utilize both the 4G / LTE RAT on the 4G / LTE Radio Access Network (RAN) side of a 5G NSA network and the 5G / NR RAT on the 5G / NR RAN side of a 5G NSA network. The 4G / LTE RAN and the 5G / NR RAN can be interconnected and connected to the 4G / LTE core network (e.g., the EPC network) within the 5G NSA network. The RAN can consist of base stations 110a-110d, and the RAN can be connected to the core network 140. The RAN can also be referred to as a Wireless Wide Area Network (WWAN).

[0062] In some embodiments, two or more wireless devices 120a-g (e.g., shown as wireless device 120a and IoT device 120e, or wireless device 120a and vehicle 120f, or wireless device 120a and HMD 120g) can communicate directly using one or more sidelink channels 124 (e.g., without using base stations 110a-110d as intermediaries for communication with each other). For example, wireless devices 120a-g can communicate using peer-to-peer (P2P) communication, device-to-device (D2D) communication, vehicle-to-everything (V2X) protocols (which may include vehicle-to-vehicle (V2V) protocols, vehicle-to-infrastructure (V2I) protocols, or similar protocols), C-V2X protocols, Bluetooth communication, Wi-Fi communication, mesh networks, or similar networks, or combinations thereof. In this case, wireless devices 120a-g can perform scheduling operations, resource selection operations, and other operations performed by base station 110a as described elsewhere herein. Communication between two or more wireless devices 120a-g (e.g., shown as wireless device 120a and IoT device 120e, or wireless device 120a and vehicle 120f, or wireless device 120a and HMD 120g) can establish a wireless local area network (WLAN) between the two or more wireless devices 120a-g. In some embodiments, two or more wireless devices 120a-g (e.g., shown as wireless device 120a and IoT device 120e, or wireless device 120a and vehicle 120f, or wireless device 120a and HMD 120g) can be connected together via one or more wired connections (e.g., via USB connection, PCIe connection, etc.), and when physically connected, they can communicate directly using wired communication link 125.

[0063] In some embodiments, one or more data servers 199 may provide data to and / or receive data from one or more wireless devices 120a-g via core network 140. Data servers 199 may send prioritized and / or non-priority IP packets to wireless devices 120a-g in downlink (DL) flows. As a specific example, in a DL flow, prioritized and / or non-priority IP packets from data servers 199 may be sent from an edge router to core network 140, which may then send the prioritized and / or non-priority IP packets to base station 110a for transmission to wireless device 120a (e.g., via 5G DL data transmission), and wireless device 120a may receive the prioritized and / or non-priority IP packets and transmit them on one of wireless devices 120e, 120f, 120g (e.g., via Wi-Fi transmission). Data servers 199 may receive prioritized and / or non-priority IP packets from wireless devices 120a-g in uplink (UL) flows. As a specific example, in a UL stream, prioritized and / or non-priority IP packets from one of wireless devices 120e, 120f, and 120g can be sent to wireless device 120a (e.g., via Wi-Fi transmission). Wireless device 120a can then send the prioritized and / or non-priority IP packets to base station 110a (e.g., via 5G UL data transmission), and base station 110a can send the prioritized and / or non-priority IP packets to core network 140 for forwarding to data server 199 via edge routers.

[0064] FIG. 1B A head-mounted device 172 is shown that can be configured according to various embodiments. See also FIG. 1A and 1B ,exist FIG. 1A In the example shown, the head-mounted device 172 may be a specific implementation of a wireless device (e.g., HMD 120g), such as an XR headset. The example head-mounted device 172 includes a frame 152, two optical lenses 154, and a processor 156 communicatively coupled to an outward-facing world-view image sensor / camera 158, an inward-facing gaze-view sensor / camera 160, a sensor array 162, a memory 164, and communication circuitry 166. In some embodiments, the communication circuitry 166 may support one or more RATs and / or wired connections to support, as referenced... FIG. 1ACommunication between various devices described in System 100. In some embodiments, head-mounted device 172 may include capacitive touch sensing circuitry along the arm 180 of the frame or in the bridge 182 of the nose of head-mounted device 172. In some embodiments, head-mounted device 172 may also include sensors for monitoring physical conditions (e.g., position, motion, acceleration, orientation, height, etc.). Sensors may include any one or all of a gyroscope, accelerometer, magnetometer, magnetic compass, altimeter, odometer, and pressure sensor. Sensors may also include various biosensors (e.g., heart rate monitor, body temperature sensor, carbon sensor, oxygen sensor, etc.) for collecting information about the environment and / or user condition. Sensors may also be external to head-mounted device 172 and connected via wired or wireless connections (e.g., (etc.) are paired or grouped with head-mounted devices 172.

[0065] In some embodiments, the processor 156 may also be communicatively coupled to an image rendering device 168 (e.g., an image projector), which may be embedded in the arm 180 of the frame 152 and configured to project an image onto the optical lens 154. In some embodiments, the image rendering device 168 may include a light-emitting diode (LED) module, a tunnel, a homogenizing lens, an optical display, a folding mirror, or other components of a known projector or head-mounted display. In some embodiments (e.g., embodiments that do not include or use the image rendering device 168), the optical lens 154 may be or may include a see-through or partially see-through electronic display. In some embodiments, the optical lens 154 includes an image generating element, such as a see-through organic light-emitting diode (OLED) display element or a liquid crystal on silicon (LCOS) display element. In some embodiments, the optical lens 154 may include separate left and right eye display elements. In some embodiments, the optical lens 154 may include or be used as a light guide for transmitting light from the display element to the wearer's eyes.

[0066] An outward-facing or world-view image sensor / camera 158 can be configured to capture images of the real world from the user's physical environment and send the corresponding image data to a processor 156. The processor 156 can combine the real-world images with computer-generated images or virtual objects (VOs) to generate an augmented scene and render the augmented scene on an electronic display or optical lens 154 of the head-mounted device 172.

[0067] The inward-facing or gaze-oriented sensor / camera 160 can be configured to acquire image data from the user's eyes or facial structures around the user's eyes.

[0068] FIG. 2AThis is a component block diagram illustrating an example computing and wireless modem system 200 suitable for implementing various embodiments. Various embodiments can be implemented on multiple single-processor and multi-processor computer systems, including system-on-a-chip (SOC) or system-in-package (SIP).

[0069] Reference FIG. 1A to FIG. 2A The example wireless device 200 shown (which may be a SIP in some embodiments) includes two SOCs 202 and 204 coupled to a clock 206, a voltage regulator 208, and one or more wireless transceivers 266 configured to transmit wireless communications to / receive wireless communications from network wireless devices (such as base station 110a) and / or other wireless devices (e.g., wireless devices 120a-g) via an antenna (not shown). In some embodiments, the first SOC 202 serves as the central processing unit (CPU) of the wireless device, executing instructions of a software application by performing arithmetic, logic, control, and input / output (I / O) operations specified by instructions. In some embodiments, the second SOC 204 may serve as a dedicated processing unit. For example, the second SOC 204 may serve as a dedicated 5G (or next-generation) processing unit responsible for managing high-capacity, high-speed (e.g., 5Gbps) and / or very high frequency short-wavelength (e.g., 28GHz millimeter wave spectrum) communications. In some embodiments, the wireless transceiver 266 may be a wireless transceiver configured to support peer-to-peer (P2P) communication, device-to-device (D2D) communication, vehicle-to-everything (V2X) protocols (which may include vehicle-to-vehicle (V2V) protocols, vehicle-to-infrastructure (V2I) protocols, or similar protocols), Bluetooth communication, Wi-Fi communication, etc. In some embodiments, the wireless transceiver 266 may each be connected to a first SOC 202 and / or a second SOC 204 via various physical connections 267 (also referred to as interconnects, buses, etc., such as Peripheral Component Interconnect Express (PCIe) connections, Universal Serial Bus (USB) connections, High Speed ​​Chip Interconnect (HSIC) connections, Ethernet connections, etc.). In various embodiments, the first SOC 202 and / or the second SOC 204 may be configured to selectively transmit data, such as IP packets, to the wireless transceiver 266 using different connections among the connections 267. For example, one connection 267 can be used for prioritized IP packets, while another connection 267 can be the default connection for non-prioritized IP packets.

[0070] The first SOC 202 may include a digital signal processor (DSP) 210, a modem processor 212, a graphics processor 214, an application processor (AP) 216, one or more coprocessors 218 (e.g., vector coprocessors) connected to one or more processors, memory 220, custom circuitry 222, system components and resources 224, an interconnect / bus module 226, one or more temperature sensors 230, a thermal management unit 232, and a thermal power envelope (TPE) component 234. The second SOC 204 may include a 5G modem processor 252, a power management unit 254, an interconnect / bus module 264, multiple millimeter-wave transceivers 256, memory 258, and various additional processors 260, such as application processors, packet processors, etc.

[0071] Each processor 210, 212, 214, 216, 218, 252, 260 may include one or more cores, and each processor / core may perform operations independently of other processors / cores. For example, the first SOC 202 may include a processor running a first type of operating system (e.g., FreeBSD, LINUX, OS X, etc.) and a processor running a second type of operating system (e.g., Microsoft Windows 10). Furthermore, any or all of processors 210, 212, 214, 216, 218, 252, 260 may be included as part of a processor cluster architecture (e.g., synchronous processor cluster architecture, asynchronous or heterogeneous processor cluster architecture, etc.).

[0072] The first and second SOCs 202 and 204 may include various system components, resources, and custom circuitry for managing sensor data, analog-to-digital conversion, wireless data transmission, and performing other specialized operations, such as decoding data packets and processing encoded audio and video signals for rendering in a web browser. For example, the system components and resources 224 of the first SOC 202 may include power amplifiers, voltage regulators, oscillators, phase-locked loops, peripheral bridges, data controllers, memory controllers, system controllers, access ports, timers, and other similar components for supporting processors and software clients running on wireless devices. System components and resources 224 and / or custom circuitry 222 may also include circuitry for interfacing with peripheral devices such as cameras, electronic displays, wireless communication devices, external memory chips, and other devices (e.g., devices connected via one or more wired connections, such as USB connections, PCIe connections, etc.).

[0073] The first and second SOCs 202 and 204 can communicate via interconnect / bus module 250. Various processors 210, 212, 214, 216, and 218 can be interconnected via interconnect / bus module 226 to one or more memory elements 220, system components and resources 224, custom circuitry 222, and thermal management unit 232. Similarly, processor 252 can be interconnected via interconnect / bus module 264 to power management unit 254, millimeter-wave transceiver 256, memory 258, and various additional processors 260. Interconnect / bus modules 226, 250, and 264 can include reconfigurable logic gate arrays and / or implement bus architectures (e.g., CoreConnect, AMBA, etc.). Interconnect / bus modules 226, 250, and 264 can be physical connections between various processors 210, 212, 214, 216, 218, 252, and 260, such as PCIe connections, USB connections, HSIC connections, Ethernet connections, etc. Communication can be provided by advanced interconnects such as high-performance network-on-chip (NOC). In various embodiments, various processors 210, 212, 214, 216, 218, 252, 260 can be configured to selectively send data, such as IP packets, to each other and to transceivers 256, 266 using different of connections 267 and / or interconnect / bus modules 226, 250, 264. For example, one or more of connections 267 and / or interconnect / bus modules 226, 250, 264 can be used for prioritized IP packets, while other connections 267 and / or interconnect / bus modules 226, 250, 264 can be default connections for non-prioritized IP packets.

[0074] The first and / or second SOCs 202, 204 may also include input / output modules (not shown) for communicating with external resources, such as clock 206 and voltage regulator 208. External resources (e.g., clock 206, voltage regulator 208) may be shared by two or more internal SOC processors / cores.

[0075] In addition to the example SIP 200 discussed above, various embodiments can be implemented in a variety of computing systems, which may include a single processor, multiple processors, multi-core processors, or any combination thereof.

[0076] Various embodiments can be implemented in various vehicles, with example vehicle 201 being... FIG. 2B and FIG. 2C It is shown in the image. (Reference) FIG. 1A to FIG. 2CVehicle 201 (e.g., vehicle 120f) may include vehicle computing device 203 (also known as in-vehicle communication device), one or more displays or infotainment units 231, and multiple sensors, including satellite geolocation system receiver 207, occupancy sensors 209, 211, 213, 215, 217, tire pressure sensors 219, 221, cameras 223, 225, microphones 227, 229, radar 233, and lidar 235.

[0077] Multiple sensors mounted in or on vehicle 201 can be used for various purposes, such as autonomous and semi-autonomous navigation and control, collision avoidance, location determination, and providing sensor data about objects and people in or on vehicle 201. The sensors may include one or more of a variety of sensors capable of detecting various information useful for navigation and collision avoidance. Each of the sensors may communicate with the vehicle computing device 203 via wired or wireless communication, and with each other. In particular, the sensors may include one or more cameras 223, 225, or other optical or photo-optical sensors. The sensors may also include other types of object detection and ranging sensors, such as radar 233, lidar 235, IR sensors, and ultrasonic sensors. Sensors may also include tire pressure sensors 219, 221, humidity sensors, temperature sensors, satellite geolocation sensors 207, accelerometers, vibration sensors, gyroscopes, gravimeters, impact sensors, force gauges, stress gauges, strain sensors, fluid sensors, chemical sensors, gas content analyzers, pH sensors, radiation sensors, Geiger counters, neutron detectors, biomaterial sensors, microphones 227, 229, occupancy sensors 209, 211, 213, 215, 217, proximity sensors, and other sensors.

[0078] The vehicle computing device 203, sometimes referred to as an on-board unit (OBU), may be configured with processor-executable instructions to perform various embodiments using information received from various sensors. In some embodiments, the vehicle computing device 203 may supplement the processing of camera images with distance and relative position (e.g., relative azimuth angle) obtained from radar 233 and / or lidar 235 sensors. The vehicle computing device 203 may also be configured to control the steering, braking, and speed of the vehicle 203 using information about other vehicles determined using various embodiments when operating in autonomous or semi-autonomous mode.

[0079] The vehicle computing device 203 can be configured to exchange wireless communications with other communication devices around the vehicle 120f where the vehicle computing device 203 is located. The vehicle 201 can be any type of vehicle, such as an autonomous vehicle (e.g., a driverless car), a semi-autonomous vehicle, a remotely operated vehicle, etc. The vehicle computing device 203 can be a computing device installed in the vehicle 201, or it can be a mobile communication device (e.g., a smartphone, a laptop computer, etc.) temporarily placed in the vehicle 201.

[0080] The vehicle computing device 203 can be configured to output a graphical user interface (GUI) to passengers of the vehicle 201 on one or more displays or infotainment units 231. The vehicle computing device 203 can establish connections to wireless devices (e.g., 120a-d and 120g) within the vehicle 201. As a specific example, the vehicle computing device can establish wired (e.g., via USB connection) and / or wireless (e.g., via Wi-Fi) Android Auto or Apple CarPlay connections with wireless device 120d to receive and transmit IP packets from wireless device 120d.

[0081] FIG. 3 An example of software architecture 300 is shown, which includes a radio protocol stack for the user plane and control plane in wireless communication between base station 350 (e.g., base station 110a) and wireless devices 320 (e.g., wireless devices 120a-120g, 172, 200, 270, 203). Reference FIG. 1A to FIG. 3 Wireless device 320 can implement software architecture 300 to communicate with base station 350 of a communication system (e.g., 100). In various embodiments, layers in software architecture 300 can be logically connected to corresponding layers in the software of base station 350. Software architecture 300 can be distributed across one or more processors (e.g., processors 212, 214, 216, 218, 252, 260). Although described with reference to a single radio protocol stack, in a multi-SIM (Subscriber Identity Module) wireless device, software architecture 300 can include multiple protocol stacks, each of which can be associated with a different SIM (e.g., two protocol stacks associated with two SIMs respectively in a dual-SIM wireless communication device). Although described below with reference to the LTE communication layer, software architecture 300 can support any of the various standards and protocols used for wireless communication, and / or can include additional protocol stacks supporting any of the various standard and protocol wireless communication methods.

[0082] Software architecture 300 may include a Non-Access Stratum (NAS) 302 and an Access Stratum (AS) 304. NAS 302 may include functions and protocols supporting packet filtering, security management, mobility control, session management, and traffic and signaling between a SIM (e.g., SIM 204) of a wireless device and its core network 140. AS 304 may include functions and protocols supporting communication between the SIM (e.g., SIM 204) and entities (e.g., base stations) of the supported access network. Specifically, AS 304 may include at least three layers (Layer 1, Layer 2, and Layer 3), each of which may contain various sublayers.

[0083] In the user plane and control plane, Layer 1 (L1) of AS 304 can be Physical Layer (PHY) 306, which can supervise functions enabling transmission and / or reception over the air interface. Examples of such Physical Layer 306 functions may include Cyclic Redundancy Check (CRC) attachment, coded blocks, scrambling and descrambling, modulation and demodulation, signal measurement, MIMO, etc. The Physical Layer may include various logical channels, including the Physical Downlink Control Channel (PDCCH) and the Physical Downlink Shared Channel (PDSCH).

[0084] In the user plane and control plane, Layer 2 (L2) of AS 304 can be responsible for the link between wireless device 320 and base station 350 on physical layer 306. In various embodiments, Layer 2 may include a Media Access Control (MAC) sublayer 308, a Radio Link Control (RLC) sublayer 310, and a Packet Data Convergence Protocol (PDCP) sublayer 312, each of which forms a logical connection that terminates at base station 350.

[0085] In the control plane, Layer 3 (L3) of AS 304 may include a Radio Resource Control (RRC) sublayer 3. Although not shown, software architecture 300 may include additional Layer 3 sublayers, as well as various upper layers above Layer 3. In various embodiments, RRC sublayer 313 may provide functions including broadcasting system information, paging, and establishing and releasing RRC signaling connections between radio device 320 and base station 350.

[0086] In various embodiments, PDCP sublayer 312 can provide uplink functions, including multiplexing between different radio bearers and logical channels, sequence number addition, handover data processing, integrity protection, encryption, and header compression. In the downlink, PDCP sublayer 312 can provide functions including ordered delivery of data packets, duplicate data packet detection, integrity verification, decryption, and header decompression.

[0087] In the uplink, RLC sublayer 310 can provide segmentation and concatenation of upper-layer data packets, retransmission of lost data packets, and Automatic Repeat Request (ARQ). In the downlink, RLC sublayer 310 functions may include reordering of data packets to compensate for out-of-order reception, reassembly of upper-layer data packets, and ARQ.

[0088] In the uplink, MAC sublayer 308 can provide functions including multiplexing between logical and transport channels, random access procedures, logical channel prioritization, and hybrid ARQ (HARQ) operations. In the downlink, MAC layer functions can include intra-cell channel mapping, demultiplexing, discontinuous reception (DRX), and HARQ operations.

[0089] While the software architecture 300 can provide the ability to transmit data over a physical medium, it may also include at least one host layer 314 to provide data transfer services to various applications within the wireless device 320. In some embodiments, dedicated functions provided by the at least one host layer 314 may provide an interface between the software architecture and the general-purpose processor 206.

[0090] In some embodiments, software architecture 300 may include one or more higher logical layers (e.g., transport, session, presentation, application, etc.) that provide host layer functionality. For example, in some embodiments, software architecture 300 may include a network layer (e.g., IP layer) whose logical connection terminates at a packet data network (PDN) gateway (PGW). In some embodiments, software architecture 300 may include an application layer whose logical connection terminates at another device (e.g., end-user equipment, server, etc.). In some embodiments, software architecture 300 may also include a hardware interface 316 in AS 304 between physical layer 306 and communication hardware (e.g., one or more radio frequency (RF) transceivers).

[0091] FIG. 4 This is a process flowchart illustrating a method 400 for IP packet processing according to various embodiments. (Refer to...) FIG. 1A to FIG. 4Method 400 can be performed by a processor (e.g., 156, 210, 212, 214, 216, 218, 252, 260) of a wireless device (e.g., wireless devices 120a-120g, 172, 200, 203, 320). As a specific example, the operation of method 400 can be performed by a 5G modem processor (e.g., 252) of a wireless device (e.g., wireless devices 120a-120g, 172, 200, 203, 320) to transmit IP packets received from the 5G RAN to another processor of the wireless device, such as a modem processor (e.g., 212) connected to a wireless transceiver (e.g., 266), an application processor (e.g., 216), etc.

[0092] In block 402, the processor may perform operations including receiving IP packets of a DL data stream. Receiving IP packets of a DL data stream may include decoding received IP packets from radio transmissions received from a RAN to which the radio device is connected. Receiving IP packets of a DL data stream may include receiving IP packets of a DL data stream after L1 and / or L2 processing on the radio device. As a specific example, IP packets may be received from a gNB (e.g., base station 110a) via 5G RAT transmission and decoded via L1 and L2 processing by a 5G modem processor (e.g., 252) of the radio device. In various embodiments, receiving IP packets of a DL data stream may include receiving IP packets from an L2 sublayer (e.g., PDCP sublayer 312) at a traffic management module.

[0093] In determination box 404, the processor may perform operations including determining whether an IP packet is a prioritized packet. In various embodiments, determining whether an IP packet is a prioritized packet may include performing operations to determine parameters of the IP packet to distinguish between prioritized and non-priority packets. In various embodiments, parameters of IP packets that can distinguish between prioritized and non-priority packets may include the IPv4 5-tuple of the IP packet, the IPv6 5-tuple of the IP packet, the EPS bearer identifier ID associated with the IP packet, the DRB ID associated with the IP packet, the PDN ID associated with the IP packet, the PDU session ID associated with the IP packet, the APN associated with the IP packet, the DNN associated with the IP packet, the SDAP flow associated with the IP packet, the CQI of the bearer associated with the IP packet, the 5QI associated with the IP packet, the QFI associated with the IP packet, the VLAN ID tag associated with the IP packet, the DSCP indication in the IP packet header, and / or the TOS indication in the IP packet header. For example, specific parameters and / or combinations of parameters may be associated with prioritized packets. The presence of these parameters indicates that an IP packet is prioritized, while their absence indicates that the IP packet is not prioritized. As a specific example, a DSCP decimal value of 46 (i.e., binary value 101 110) indicated in the IPv6 packet header indicates that the IP packet is a priority packet. The absence of the DSCP indicated in the IPv6 packet header, or a DSCP decimal value of 0 (i.e., binary value 000000), indicates that the IP packet is not a priority packet. As another specific example, a TOS decimal value of 5 (i.e., binary value 101) indicated in the IPv4 packet header indicates that the IP packet is a priority packet. The absence of the TOS indicated in the IPv4 packet header, or a TOS decimal value of 0 (i.e., binary value 000), indicates that the IP packet is not a priority packet.

[0094] In response to determining that the IP packet is not a prioritized packet (i.e., determining box 404 = "No"), in box 406, the processor may perform operations including sending the IP packet to another processor of the wireless device using a default traffic processing configuration. In various embodiments, the default traffic processing configuration may be a traffic processing configuration for unprioritized IP packets. The default traffic processing configuration may include accumulation, aggregation, and / or interrupt conditioning methods applied to unprioritized IP packets to prioritize throughput and power savings in IP packet processing.

[0095] In response to determining that an IP packet is a prioritized packet (i.e., determining box 404 = "Yes"), in box 408, the processor may perform operations including sending the IP packet to another processor of the wireless device using a prioritized traffic processing configuration. In some embodiments, the prioritized traffic processing configuration may be configured to have lower latency than the default traffic processing configuration used to send non-priority IP packets. In some embodiments, the prioritized traffic processing configuration may be a traffic processing configuration configured to have lower latency than the default traffic processing configuration used to send non-priority IP packets. For example, the prioritized traffic processing configuration may avoid some accumulation, aggregation, and / or interruption conditioning methods applied to non-priority IP packets in the default traffic processing configuration. In some embodiments, the prioritized traffic processing configuration may have a separate packet processing queue from the default traffic processing configuration. In some embodiments, the prioritized traffic processing configuration may use different hardware connections than the default traffic processing configuration. In some embodiments, the prioritized traffic processing configuration may have a separate watermark and / or buffer from the default traffic processing configuration. In some embodiments, the prioritized traffic processing configuration may have a separate traffic flow control trigger from the default traffic processing configuration. In such embodiments, the type of hardware connection can be agnostic to priority, as long as the hardware can distinguish between separate connections, such as PCIe, USB, HSIC, etc. As an example, a prioritized traffic processing configuration can use hardware connections of a different type than the default traffic processing configuration. Specifically, a prioritized traffic processing configuration might use a PCIe connection to send IP packets to another processor of the wireless device, while the default traffic processing configuration might use a USB connection to send IP packets to another processor of the wireless device. Other types of hardware connections can be used, as long as the hardware can distinguish between separate connections.

[0096] In various embodiments, the operation of method 400 can be repeated when an IP packet is received.

[0097] FIG. 5A , FIG. 5B , FIG. 5C and FIG. 5D This is a block diagram illustrating an example interaction between a processor and a wireless device 515 (e.g., wireless devices 120a-120g, 172, 200, 203, 320) according to various embodiments, using a prioritized traffic processing configuration for prioritized IP packets and a default traffic processing configuration for non-priority IP packets. Refer to Figures 1 to... FIG. 5D , FIG. 5A , FIG. 5B , FIG. 5C and FIG. 5D The interaction shown can be based on method 400 ( FIG. 4 The operation is performed by ).

[0098] FIG. 5A An example interaction is shown for processing a prioritized IP packet 510 generated by an XR server and destined for (e.g., addressed to) an XR headset 530 (e.g., HMD120g, 172). For example, the prioritized IP packet 510 may include data for the next frame of the XR scene to be rendered to the user by the HMD120g. The prioritized IP packet 510 may include an indication that the IP packet 510 is a prioritized packet, such as a DSCP indication (e.g., DSCP decimal value 46) or a TOS indication (e.g., TOS decimal value 5) in the header of the IP packet 510. FIG. 5A Example interactions are also shown for processing non-prioritized IP packets 511 generated by network server 502 and destined for (e.g., addressed to) an application running on application processor 518 (e.g., application processor 216) of wireless device 515. Non-prioritized IP packets 511 may include indications within IP packets 511 that IP packets 511 are regular packets for which best-effort processing is sufficient, such as a DSCP indication (e.g., DSCP decimal value 0) or a TOS indication (e.g., TOS decimal value 0) in the header of IP packets 511.

[0099] XR server 502 can send prioritized IP packets 510 to a 5G RAN via one or more edge routers 503. This 5G RAN includes a base station 506 providing DL data streams to wireless device 515 via a 5G connection 507. Similarly, web server 511 can send non-priority IP packets 511 to a 5G RAN via one or more edge routers 505. This 5G RAN includes a base station 506 providing DL data streams to wireless device 515 via a 5G connection 507. 5G modem processor 525 (e.g., 5G modem processor 252) can receive prioritized IP packets 510 and non-priority IP packets 511 through processing at L1 sublayer 520 and L2 sublayer 519, and can receive decoded IP packets 510 and 511 at the traffic management module 522 of the 5G modem processor 525.

[0100] The traffic management module 522 of the 5G modem processor 525 may include an IP filter module 523, which can determine whether received IP packets (such as IP packets 510, 511) are prioritized or non-priority packets. In response to determining that an IP packet is not a priority packet, the IP filter module 523 may use a default traffic processing configuration that sends IP packets to the application processor 518 via a hardware connection 532 (such as a USB-type connection) through a buffer module 546, a routing module 544, and an aggregation module 540. In response to determining that an IP packet is a priority packet, the IP filter module 523 may use a prioritized traffic processing configuration that sends IP packets directly to the Wi-Fi modem processor 517 (e.g., modem processor 212) via a dedicated hardware connection 533 (such as a PCIe-type connection).

[0101] FIG. 5A The IP filter module 523 is shown to determine that the IP packet 510 is a priority IP packet, for example, based on a DSCP indicator (e.g., DSCP decimal value 46) or a TOS indicator (e.g., TOS decimal value 5) in the header of the IP packet 510 indicating that the packet is of high priority or critical. The priority IP packet 510 is then directly transmitted to the Wi-Fi modem processor 517 via a dedicated hardware connection 533. Therefore, the priority IP packet 510 may not experience latency due to buffering, routing, or aggregation processing. The Wi-Fi modem processor 517 can then transmit the priority IP packet 510 to the XR headset 530. FIG. 5A It is also shown that IP filter module 523 determines that non-prioritized IP packet 511 is not a prioritized IP packet, for example, based on a DSCP indication (e.g., DSCP decimal value 0) or TOS indication (e.g., TOS decimal value 0) in the header of IP packet 511 indicating that the packet is regular or best-effort, and sends non-prioritized IP packet 511 to application processor 518 via buffer module 546, routing module 544, and aggregation module 540, and to application processor 518 via hardware connection 532. Non-prioritized IP packet 511 may undergo buffering, routing, and aggregation processing. As a result, the edge-to-edge delay experienced by non-prioritized IP packet 511 from arrival at wireless device 515 to arrival at application processor 518 may be greater than the edge-to-edge delay experienced by prioritized IP packet 510 from arrival at wireless device 515 to arrival at Wi-Fi modem processor 517.

[0102] refer to FIG. 5BThe diagram illustrates similar operations related to non-prioritized IP packets 511 and prioritized IP packets 552 destined for vehicle computing devices 560 (e.g., vehicle computing devices 203 and / or vehicle displays 231). The operation illustrating the processing of non-prioritized IP packets 511 can be compared with the referenced... FIG. 5A The descriptions are the same. In FIG. 5B In the middle, it's not XR services, but rather things like... Auto In-vehicle services such as CarPlay can be provided via 5G connectivity supported by wireless devices. For example, for Auto type application or Content server 550, the content server for Car Play type application output data, can generate prioritized IP packets destined for (or addressed to) vehicle computing device 560. Prioritized IP packets 552 may include parameters or indications that IP packet 552 is a prioritized packet, such as via a VLAN tag in IP packet 552. As another example, the EPS bearer ID and / or 5QI that can be used to send IP packet 552 to wireless device 515 can also indicate that IP packet 552 is a prioritized packet.

[0103] Content server 550 can send prioritized IP packets 552 to a 5G RAN via one or more edge routers 503. The 5G RAN includes base stations 506 of 5G connections 507 that provide DL data streams to radio devices 515. 5G modem processor 525 can receive prioritized IP packets 552 through processing at L1 sublayer 520 and L2 sublayer 519, and can receive decoded IP packets 552 at traffic management module 522 of 5G modem processor 525. FIG. 5BThe IP filter module 523 is shown to determine that a prioritized IP packet 552 is a prioritized IP packet, for example, based on factors that can be used to send the IP packet 552 to the wireless device 515, indicating that the packet is of high priority or critical, the VLAN tag and / or EPS bearer ID and / or 5QI in the IP packet 552, and to send the prioritized IP packet 552 directly to the Wi-Fi modem processor 517 via a dedicated hardware connection 533. Therefore, the prioritized IP packet 552 may not experience latency due to buffering, routing, or aggregation processing. The Wi-Fi modem processor 517 can send the prioritized IP packet 552 to the vehicle computing device 560. Because the non-priority IP packet 511 undergoes buffering, routing, and aggregation processing, the edge-to-edge latency experienced by the non-priority IP packet 511 from its arrival at the wireless device 515 to its arrival at the application processor 518 may be greater than the edge-to-edge latency experienced by the prioritized IP packet 552 from its arrival at the wireless device 515 to its arrival at the Wi-Fi modem processor 517.

[0104] FIG. 5C It shows something similar to the reference. FIG. 5A The operations discussed relate to the non-priority IP packets 511 and priority IP packets 510 destined for (e.g., addressed to) the XR headset 530, except... FIG. 5C The XR headset 530 is shown to be physically connected to the wireless device 515 via a wired connection 555 (e.g., a USB-type connection, a PCIe-type connection, etc.). FIG. 5C The operation of processing non-prioritized IP packets 511 shown in the figure can be compared with the reference. FIG. 5A The descriptions are the same.

[0105] exist FIG. 5C In the illustrated embodiment, the prioritized IP packet 510 can be sent directly to the XR headset 530 via a wired connection 555, instead of being sent directly to the Wi-Fi modem processor 517 via a dedicated hardware connection 533. FIG. 5CIn the illustrated use case, IP filter module 523 has determined that the prioritized IP packet 510 is a prioritized IP packet. Furthermore, this determination can be based on a DSCP indicator (e.g., DSCP decimal value 46) or TOS indicator (e.g., TOS decimal value 5) in the header of IP packet 510 indicating that the packet is of high priority or criticality. Based on this determination, IP filter module 523 has directly transmitted the prioritized IP packet 510 to XR headset 530 via wired connection 555. Therefore, the prioritized IP packet 510 may not experience latency due to buffering, routing, or aggregation processing. Because the non-priority IP packet 511 undergoes buffering, routing, and aggregation processing, the edge-to-edge latency experienced by the non-priority IP packet 511 from arrival at wireless device 515 to arrival at application processor 518 may be greater than the edge-to-edge latency experienced by the prioritized IP packet 552 from arrival at wireless device 515 to arrival at XR headset 530.

[0106] FIG. 5D It shows something similar to the reference. FIG. 5B The operations discussed relate to the non-priority IP packets 511 and priority IP packets 552 destined for (e.g., addressed to) the vehicle computing device 560, except... FIG. 5D The vehicle computing device 560 is shown to be physically connected to the wireless device 515 via a wired connection 557 (e.g., a USB-type connection, a PCIe-type connection, etc.). FIG. 5D The operation of processing non-prioritized IP packets 511 shown can be compared with the reference FIG. 5B The descriptions are the same.

[0107] exist FIG. 5D In the illustrated embodiment, the prioritized IP packet 510 can be sent directly to the vehicle computing device 560 via a wired connection 557, instead of being sent directly to the Wi-Fi modem processor 517 via a dedicated hardware connection 533. FIG. 5DIn the illustrated use case, IP filter module 523 has determined that the prioritized IP packet 552 is a prioritized IP packet. Similarly, this determination can be made based on VLAN tags and / or EPS bearer IDs and / or 5QIs in the IP packet 552 that indicate it is a high-priority or critical packet, which can be used to send the IP packet 552 to the wireless device 515. Based on this determination, IP filter module 523 has directly sent the prioritized IP packet 552 to the vehicle computing device 560 via wired connection 557. Therefore, the prioritized IP packet 552 may not experience latency due to buffering, routing, or aggregation processing. Because the non-prioritized IP packet 511 undergoes buffering, routing, and aggregation processing, the edge-to-edge latency experienced by the non-prioritized IP packet 511 from its arrival at the wireless device 515 to its arrival at the application processor 518 may be greater than the edge-to-edge latency experienced by the prioritized IP packet 552 from its arrival at the wireless device 515 to its arrival at the vehicle computing device 552.

[0108] FIG. 6 This is a process flowchart illustrating a method for IP packet processing according to various embodiments. (Refer to...) FIG. 1A to FIG. 6 Method 600 can be performed by a processor (e.g., 156, 210, 212, 214, 216, 218, 252, 260, 525) of a wireless device (e.g., wireless devices 120a-120g, 172, 200, 203, 320, 515). As a specific example, the operation of method 600 can be performed by a 5G modem processor (e.g., 252, 525) of the wireless device connected to another processor of the wireless device (e.g., wireless devices 120a-120g, 172, 200, 203, 320, 515), such as a modem processor (e.g., 212, 517) connected to a wireless transceiver (e.g., 266), an application processor (e.g., 216, 515), etc. In various embodiments, the operation of method 600 can be combined with method 400 (…). FIG. 4 The operation of method 600 can be performed as an operation of method 400. As a specific example, the operation of method 600 can be performed as an operation of method 400. FIG. 4 In box 404, the operation determines whether the IP packet is part of the priority packet operation.

[0109] In block 602, the processor may perform operations including determining parameters of an IP packet. In various embodiments, the parameters of the IP packet that can be determined may include: the IPv4 5-tuple of the IP packet; the IPv6 5-tuple of the IP packet; the EPS bearer identifier ID associated with the IP packet; the DRB ID associated with the IP packet; the PDN ID associated with the IP packet; the PDU session ID associated with the IP packet; the APN associated with the IP packet; the DNN associated with the IP packet; the SDAP flow associated with the IP packet; the bearer CQI associated with the IP packet; the 5QI associated with the IP packet; the QFI associated with the IP packet; the VLAN ID tag associated with the IP packet; the DSCP indication in the IP packet header; and / or the TOS indication in the IP packet header. The parameters of the IP packet can be determined in various ways, including by parsing the IP packet, determining the port on which the IP packet is received, etc.

[0110] In determination block 604, the processor may perform operations including determining whether parameters are associated with priority packet settings. In various embodiments, parameters of an IP packet may be associated with one or more priority packet settings. Priority packet settings may be dynamic and / or static settings on the wireless device that control specific parameters or combinations of parameters to indicate whether an IP packet should be treated as a priority packet.

[0111] As a specific example, the DSCP decimal value 46 (i.e., binary value 101110) indicated in the header of an IPv6 packet can be associated with a prioritized packet setting. As another specific example, the TOS decimal value 5 (i.e., binary value 101) indicated in the header of an IPv4 packet can be associated with a prioritized packet setting. In determination box 604 in these examples, the processor can compare the DSCP decimal value or the TOS decimal value with the prioritized packet setting to determine whether the parameter is associated with a prioritized packet setting. A match between the DSCP decimal value or the TOS decimal value and the prioritized packet setting can indicate that the IP packet is a prioritized packet. A lack of a match between the DSCP decimal value or the TOS decimal value and the prioritized packet setting may indicate that the IP packet is not a prioritized packet.

[0112] As another concrete example, VLAN tags, EPS bearer IDs, and / or 5QIs can be associated with priority packet settings. In determination box 604 of this example, the processor can compare the VLAN tag, EPS bearer ID, and / or 5QI with the priority packet settings to determine whether the parameter is associated with the priority packet settings. A match between the VLAN tag, EPS bearer ID, and / or 5QI and the priority packet settings can indicate that the IP packet is a priority packet. A lack of a match between the VLAN tag, EPS bearer ID, and / or 5QI and the priority packet settings can indicate that the IP packet is not a priority packet.

[0113] In response to the determination parameter not corresponding to the priority packet setting (i.e., determination box 604 = "No"), the processor may perform the operation in box 606 that determines the IP packet is not a priority packet in response to the determination parameter not corresponding to the priority packet setting.

[0114] In response to determining that an IP packet is not a priority packet, the processor may execute the following steps, including in box 406 ( FIG. 4 The operation in () uses the default traffic handling configuration to send IP packets to another processor of the wireless device.

[0115] In response to the determination that the parameter corresponds to the priority packet setting (i.e., determination box 604 = "Yes"), the processor can perform the operation including determining in box 608 that the IP packet is a priority packet.

[0116] In optional block 610, the processor may perform operations including selecting a preferred traffic processing configuration from a plurality of available preferred traffic processing configurations. The operation of block 610 may be optional, as only a single preferred traffic processing configuration may be available on the wireless device. In embodiments where multiple preferred traffic processing configurations are available for selection, such as different latency-prioritized traffic processing configurations using different hardware and / or software configurations, the processor may select the preferred traffic processing configuration for the prioritized IP packet based on one or more indicators or parameters of the IP packet. For example, different DSCP indicators, TOS indicators, and / or VLAN tags may be associated with different preferred traffic processing configurations, and the selected preferred traffic processing configuration may be the preferred traffic processing configuration associated with the DSCP indicator, TOS indicator, and / or VLAN tag in the prioritized IP packet.

[0117] In response to determining that an IP packet is a prioritized packet, or in response to selecting a preferred traffic processing configuration, the processor may execute actions included in box 408 ( FIG. 4 This refers to the operation of sending IP packets to another processor of a wireless device using a prioritized traffic processing configuration.

[0118] FIG. 7 This is a process flowchart illustrating a method for IP packet processing according to various embodiments. (Refer to...) FIG. 1A to FIG. 7 Method 700 can be performed by a processor (e.g., 156, 210, 212, 214, 216, 218, 252, 260, 525) of a wireless device (e.g., wireless devices 120a-120g, 172, 200, 203, 320, 515). As a specific example, the operation of method 700 can be performed by a 5G modem processor (e.g., 252, 525) of the wireless device connected to another processor of the wireless device (e.g., wireless devices 120a-120g, 172, 200, 203, 320, 515), such as a modem processor (e.g., 212, 517) connected to a wireless transceiver (e.g., 266), an application processor (e.g., 216, 515), etc. In various embodiments, the operation of method 700 can be combined with method 400 ( FIG. 4 ) and / or 600 ( FIG. 6 The operation is performed by ).

[0119] In block 702, the processor may perform operations including receiving IP packets of a UL data stream. Receiving IP packets of a UL data stream may include receiving IP packets addressed to (or destined for) devices reachable via wireless transmission to a RAN to which the wireless device is connected. Receiving IP packets of a UL data stream may include receiving IP packets of a UL data stream from a higher layer of a modem processor (such as a 5G modem of the wireless device) and / or other processors connected to the wireless device.

[0120] In determination block 704, the processor may perform operations including determining whether a second IP packet is a prioritized packet. In various embodiments, determining whether an IP packet is a prioritized packet may include performing operations to determine parameters that distinguish IP packets from non-priority packets. In various embodiments, parameters that can distinguish IP packets from non-priority packets may include: the IPv4 5-tuple of the IP packet, the IPv6 5-tuple of the IP packet, a DSCP indication in the header of the IP packet, and / or a TOS indication in the header of the IP packet. For example, specific parameters and / or combinations of parameters may be associated with prioritized packets. The presence of these parameters may indicate that the IP packet is prioritized, while the absence of these parameters may indicate that the IP packet is not prioritized. As a specific example, a DSCP decimal value of 46 (i.e., binary value 101 110) indicated in the header of an IPv6 packet may indicate that the IP packet is a priority packet. The absence of a DSCP indicated in the header of an IPv6 packet or a DSCP decimal value of 0 (i.e., binary value 000 000) may indicate that the IP packet is not a priority packet. As another concrete example, a TOS decimal value of 5 (i.e., binary value 101) indicated in the header of an IPv4 packet can indicate that the IP packet is a priority packet. The absence of a TOS indicated in the header of an IPv4 packet, or a TOS decimal value of 0 (i.e., binary value 000), can indicate that the IP packet is not a priority packet.

[0121] In response to determining that the IP packet is not a priority packet (i.e., determining box 704 = "No"), the processor may perform operations in box 706 including sending the IP packet to the RAN using the default traffic processing configuration. For example, the IP packet may be sent using the normal UL buffer in the UL path of the modem of the wireless device.

[0122] In response to determining that an IP packet is a prioritized packet (i.e., determining block 704 = "Yes"), the processor may perform operations in block 708 including sending the IP packet to the RAN using a prioritized traffic processing configuration. In various embodiments, the prioritized traffic processing configuration may be configured to have lower latency than the default traffic processing configuration used for sending non-priority IP packets. For example, by triggering an interrupt in the modem to send the prioritized IP packet before other packets already present in the transmission queue, IP packets can be sent without buffering in the UL path of the modem of the wireless device.

[0123] Various implementations can be carried out on a variety of IoT devices. FIG. 8 The image shows an example of a circuit board used in a device. (Reference) FIG. 1A to FIG. 8The IoT device 800 may include a first SOC 202 (e.g., an SOC-CPU) coupled to a second SOC 204 (e.g., a 5G-enabled SOC). The first and second SOCs 202 and 204 may be coupled to internal memory 806. Additionally, the IoT device 800 may include or be coupled to an antenna 804 for transmitting and receiving wireless signals from a cellular transceiver 808 or within the second SOC 204. The antenna 804, transceiver 808, and / or the second SOC 204 may support communication using various RATs, including NB-IoT, CIoT, GSM, Bluetooth, Wi-Fi, VoLTE, etc.

[0124] The IoT device 800 may also include a voice codec (CODEC) circuit 810 that digitizes sound received from a microphone into data packets suitable for wireless transmission and decodes the received voice data packets to generate an analog signal, which is provided to a speaker to generate sound supporting voice or VoLTE calls. Furthermore, one or more of the processors in the first and second SOCs 202, 204, the wireless transceiver 808, and the CODEC 810 may include digital signal processor (DSP) circuitry (not shown separately).

[0125] Some IoT devices may include an internal power source, such as a battery 812 configured to power the SOC and transceiver. Such IoT devices may include a power management component 816 to manage the charging of the battery 812.

[0126] Various embodiments (including but not limited to the above references) FIG. 1A to FIG. 7 The embodiments discussed can also be implemented on any of the various commercially available server devices, such as FIG. 9 The server shown is 900. (Reference) FIG. 1A to FIG. 9 Such a server 900 typically includes a processor 901 coupled to volatile memory 902 and mass non-volatile memory (such as a disk drive 903). The server 900 may also include a floppy disk drive, optical disc (CD), or digital versatile optical disc (DVD) drive 906 coupled to the processor 901. The server 900 may also include one or more network transceivers 904 (such as network access ports) coupled to the processor 901 for establishing a network interface connection to a communication network 907, such as a local area network, the Internet, the public switched telephone network, and / or a cellular network (e.g., CDMA, TDMA, GSM, PCS, 3G, 4G, 5G, LTE, or any other type of cellular network) coupled to other announcement system computers and servers.

[0127] FIG. 10This is a component block diagram suitable for use with a wireless device 1000 in various embodiments. See also FIG. 1A to FIG. 10 Various embodiments can be implemented on various wireless devices 1000 (e.g., wireless devices 120a-120g, 200, 203, 320, 402, 515), with examples of wireless devices 1000 in the form of smartphones. FIG. 10 The wireless device 1000 may include a first SOC 202 (e.g., an SOC-CPU) coupled to a second SOC 204 (e.g., a 5G-enabled SOC). The first and second SOCs 202, 204 may be coupled to internal memory 1016, a display 1012, and a speaker 1014. Furthermore, the wireless device 1000 may include an antenna 1004 for transmitting and receiving electromagnetic radiation, which may be connected to a wireless transceiver 266 coupled to one or more processors in the first and / or second SOCs 202, 204. The wireless device 1000 may also include a menu selection button or rocker switch 1020 for receiving user input.

[0128] The wireless device 1000 also includes a voice codec (CODEC) circuit 1010, which digitizes sound received from a microphone into data packets suitable for wireless transmission and decodes the received voice data packets to generate an analog signal, which is provided to a speaker to generate sound. Furthermore, one or more of the processors in the first and second SOCs 202, 204, the wireless transceiver 266, and the CODEC 1010 may include digital signal processor (DSP) circuitry (not shown separately).

[0129] The processors of IoT device 800, server 900, and wireless device 1000 can be any programmable microprocessor, microcomputer, or one or more multiprocessor chips, which can be configured by software instructions (applications) to perform various functions, including those of the various embodiments described below. In some mobile devices, multiple processors may be provided, such as one processor within SOC 204 dedicated to wireless communication functions, and one processor within SOC 202 dedicated to running other applications. Software applications may be stored in memory before being accessed and loaded into the processor. The processor may include internal memory sufficient to store application software instructions.

[0130] As used herein, the terms “component,” “module,” “system,” etc., are intended to include computer-related entities, such as, but not limited to, hardware, firmware, combinations of hardware and software, software, or running software, configured to perform specific operations or functions. For example, a component can be, but is not limited to, a process running on a processor, a processor, an object, an executable file, a running thread, a program, and / or a computer. For instance, both an application running on a processor of a communication device and the communication device itself can be referred to as a component. One or more components may reside within a running process and / or thread, and components may reside on a single processor or core and / or be distributed across two or more processors or cores. Furthermore, these components may run from various non-transitory computer-readable media on which various instructions and / or data structures are stored. Components can communicate via local and / or remote procedures, function or process calls, electronic signals, data packets, memory reads / writes, and other known network, computer, processor, and / or process-related communication methods.

[0131] Many different cellular and mobile communication services and standards are available or anticipated in the future, all of which can be realized and benefit from various aspects. Such services and standards can include, for example, the 3rd Generation Partnership Project (3GPP), Long Term Evolution (LTE) systems, 3rd generation wireless mobile communication technology (3G), 4th generation wireless mobile communication technology (4G), 5th generation wireless mobile communication technology (5G) and next-generation 3GPP technologies, Global System for Mobile Communications (GSM), Universal Mobile Telecommunications System (UMTS), 3GSM, Universal Packet Radio Service (GPRS), Code Division Multiple Access (CDMA) systems (e.g., cdmaOne, CDMA1020TM), EDGE, Advanced Mobile Telephone Systems (AMPS), Digital AMPS (IS-136 / TDMA), Evolution-Data Optimized (EV-DO), Digital Enhanced Cordless Telecommunications (DECT), Microwave Access Global Interoperability (WiMAX), Wireless Local Area Network (WLAN), Wi-Fi Protected Access I&II (WPA, WPA2), Integrated Digital Enhanced Network (iden), C-V2X, V2V, V2P, V2I and V2N, etc. Each of these technologies relates to the transmission and reception of, for example, voice, data, signaling, and / or content messages. It should be understood that any references to terms and / or technical details relating to individual telecommunications standards or technologies are for illustrative purposes only and are not intended to limit the scope of the claims to a particular communication system or technology, unless specifically stated in the language of the claims.

[0132] The aspects shown and described are provided by way of example only to illustrate the various features of the claims. However, the features shown and described with respect to any given aspect are not necessarily limited to the associated aspect and may be used or combined with other aspects shown and described. Furthermore, the claims are not intended to be limited to any one of the exemplary aspects. For example, one or more operations of the method may substitute for or combine with one or more operations of the method.

[0133] The foregoing method descriptions and process flowcharts are provided as illustrative examples only and are not intended to require or imply that the operations of the various aspects must be performed in the presented order. As those skilled in the art will understand, the order of operations in the foregoing aspects can be performed in any order. Words such as “afterward,” “then,” and “next” are not intended to limit the order of operations; these words are used to guide the reader through the description of the method. Furthermore, any reference to singular claim elements, such as the use of the articles “a,” “an,” or “described,” should not be construed as limiting that element to the singular.

[0134] The various illustrative logic blocks, modules, components, circuits, and algorithmic operations described in conjunction with the aspects disclosed herein can be implemented as electronic hardware, computer software, or a combination of both. To clearly illustrate this interchangeability between hardware and software, the various illustrative components, blocks, modules, circuits, and operations have been generally described above in terms of their functionality. Whether such functionality is implemented as hardware or software depends on the specific application and the design constraints imposed on the overall system. Those skilled in the art can implement the described functionality in different ways for each specific application, but such a decision should not be construed as causing a departure from the scope of the claims.

[0135] The hardware for implementing the various exemplary logic, logic blocks, modules, and circuits described in conjunction with the aspects disclosed herein can be implemented or performed using a general-purpose processor, digital signal processor (DSP), ASIC, field-programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic, discrete hardware components, or any combination thereof designed to perform the functions described herein. The general-purpose processor may be a microprocessor, but alternatively, it may be any conventional processor, controller, microcontroller, or state machine. The processor may also be implemented as a combination of receiver intelligent objects, such as a combination of a DSP and a microprocessor, multiple microprocessors, one or more microprocessors combined with a DSP core, or any other such configuration. Alternatively, some operations or methods may be performed by circuitry specific to a given function.

[0136] In one or more aspects, the described functions can be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, these functions can be stored as one or more instructions or code on a non-transitory computer-readable storage medium or a non-transitory processor-readable storage medium. The operation of the methods or algorithms disclosed herein can be implemented in a processor-executable software module or processor-executable instructions that can reside on a non-transitory computer-readable or processor-readable storage medium. A non-transitory computer-readable or processor-readable storage medium can be any storage medium accessible by a computer or processor. By way of example and not limitation, such a non-transitory computer-readable or processor-readable storage medium can include RAM, ROM, EEPROM, flash memory, CD-ROM or other optical disc storage, disk storage or other magnetic storage intelligent objects, or any other medium that can be used to store desired program code in the form of instructions or data structures and that can be accessed by a computer. Disks and optical discs as used herein include compact optical discs (CDs), laser discs, optical discs, digital versatile optical discs (DVDs), floppy disks, and Blu-ray discs, wherein disks typically reproduce data magnetically, while optical discs reproduce data optically using lasers. Combinations of the above should also be included within the scope of computer-readable media. Combinations of the above are also included within the scope of non-transitory computer-readable and processor-readable media. Furthermore, the operation of a method or algorithm may reside as one or any combination or set of code and / or instructions on a non-transitory processor-readable storage medium and / or computer-readable storage medium that may be incorporated into a computer program product.

[0137] The foregoing description of the disclosed aspects is provided to enable any person skilled in the art to make or use the claims. Various modifications to these aspects will be apparent to those skilled in the art, and the general principles defined herein may be applied to other aspects without departing from the scope of the claims. Therefore, this disclosure is not intended to be limited to the aspects shown herein, but is accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein.

Claims

1. A method for Internet Protocol (IP) packet processing executed by a first processor of a wireless device, comprising: IP packets of a downlink DL data stream are received after Layer 2 (L2) processing on the wireless device, wherein the DL data stream is provided to the wireless device via a connection to a radio access network (RAN), and the IP packets are at least partially decoded from radio transmissions of the RAN via the L2 processing on the wireless device. After the L2 processing on the wireless device, it is determined whether the IP packet is a prioritized packet; as well as In response to determining that the IP packet is a prioritized packet, the IP packet is sent to a second processor of the wireless device using a prioritized traffic processing configuration, wherein the prioritized traffic processing configuration is configured to have a lower latency than the default traffic processing configuration for sending non-priority IP packets from the first processor of the wireless device to a third processor, and wherein the default traffic processing configuration applies packet aggregation to the non-priority IP packets after L2 processing, and the prioritized traffic processing configuration sends the IP packet to the second processor without performing any aggregation; Receives a second IP packet of the uplink UL data stream from the second processor of the wireless device; Determine whether the second IP packet is a prioritized packet; and In response to determining that the second IP packet is a prioritized packet, the second IP packet is sent to the RAN using a UL-prioritized traffic processing configuration, wherein the UL-prioritized traffic processing configuration is configured to have a lower latency than the default UL traffic processing configuration used for sending non-prioritized IP packets.

2. The method according to claim 1, wherein: The prioritized traffic processing configuration includes using a first type of hardware connection; and The default traffic processing configuration uses a second type of hardware connection, which is different from the first type of hardware connection.

3. The method according to claim 2, wherein, The first type of hardware connection is the Peripheral Component Interconnect Express (PCIe) connection, and the second type of hardware connection is the Universal Serial Bus (USB).

4. The method according to claim 1, wherein, Determining whether the IP packet is a prioritized packet after the L2 processing on the wireless device includes: The parameters of the IP packet are determined after the L2 processing on the wireless device; Determine whether the parameter is associated with the priority grouping settings; In response to determining that the parameter is not associated with a priority packet setting, it is determined that the IP packet is not a priority packet; and In response to determining that the parameter is associated with a priority packet setting, the IP packet is determined to be a priority packet.

5. The method according to claim 4, wherein, The parameters include the Differential Service Code Point (DSCP) indication or the Type of Service (TOS) indication in the header of the IP packet.

6. The method according to claim 4, wherein, The parameters include one of the following: IP version 4 (IPv4) 5-tuple of the IP packet; IP version 6 (IPv6) 5-tuple of the IP packet; Evolved Packet Switching System (EPS) Bearer Identifier (ID) associated with the IP packet; Data Radio Bearer (DRB) ID associated with the IP packet; Packet Data Network (PDN) ID associated with the IP packet; Protocol Data Unit (PDU) Session ID associated with the IP packet; Access Point Name (APN) associated with the IP packet; Data Network Name (DNN) associated with the IP packet; Service Data Adaptation Protocol (SDAP) Flow associated with the IP packet; Quality of Service (QoS) Class Identifier (CQI) of the bearer associated with the IP packet; 5G QoS Identifier (5QI) associated with the IP packet; QoS Flow ID (QFI) associated with the IP packet; or Virtual Local Area Network (VLAN) ID tag associated with the IP packet.

7. The method according to claim 4, further comprising: In response to determining that the IP packet is a prioritized packet, a prioritized traffic processing configuration is selected from a plurality of available prioritized traffic processing configurations.

8. The method according to claim 1, wherein, The IP packets are IP packets from separate devices that are wired or wirelessly connected to the wireless device.

9. The method according to claim 1, wherein, The second processor is a modem processor for a wireless device, which provides wireless connectivity between the wireless device and a head-mounted device or a vehicle computing device.

10. A wireless device, comprising: The first processor is configured with processor-executable instructions to: Internet Protocol IP packets of a downlink DL data stream are received after the L2 processing on the wireless device, wherein the DL data stream is provided to the wireless device via a connection to a radio access network (RAN), and the IP packets are at least partially decoded from radio transmissions of the RAN via the L2 processing on the wireless device. After the L2 processing on the wireless device, it is determined whether the IP packet is a prioritized packet; as well as In response to determining that the IP packet is a prioritized packet, the IP packet is sent to a second processor of the wireless device using a prioritized traffic processing configuration, wherein the prioritized traffic processing configuration is configured to have a lower latency than the default traffic processing configuration for sending non-priority IP packets from the first processor of the wireless device to a third processor, and wherein the default traffic processing configuration applies packet aggregation to the non-priority IP packets after L2 processing, and the prioritized traffic processing configuration sends the IP packet to the second processor without performing any aggregation; Receives a second IP packet of the uplink UL data stream from the second processor of the wireless device; Determine whether the second IP packet is a prioritized packet; and In response to determining that the second IP packet is a prioritized packet, the second IP packet is sent to the RAN using a UL-prioritized traffic processing configuration, wherein the UL-prioritized traffic processing configuration is configured to have a lower latency than the default UL traffic processing configuration used for sending non-prioritized IP packets.

11. The wireless device according to claim 10, wherein, The first processor is also configured with processor-executable instructions such that: The prioritized traffic processing configuration includes using a first type of hardware connection; and The default traffic processing configuration uses a second type of hardware connection, which is different from the first type of hardware connection.

12. The wireless device according to claim 11, wherein, The first type of hardware connection is the Peripheral Component Interconnect Express (PCIe) connection, and the second type of hardware connection is the Universal Serial Bus (USB).

13. The wireless device according to claim 10, wherein, The first processor is further configured with processor-executable instructions to determine whether the IP packet is a prioritized packet after the L2 processing on the wireless device by: The parameters of the IP packet are determined after the L2 processing on the wireless device; Determine whether the parameter is associated with the priority grouping settings; In response to determining that the parameter is not associated with a priority packet setting, it is determined that the IP packet is not a priority packet; as well as In response to determining that the parameter is associated with a priority packet setting, the IP packet is determined to be a priority packet.

14. The wireless device according to claim 13, wherein, The parameters include the Differential Service Code Point (DSCP) indication or the Type of Service (TOS) indication in the header of the IP packet.

15. The wireless device according to claim 13, wherein, The parameters include one of the following: IP version 4 (IPv4) 5-tuple of the IP packet; IP version 6 (IPv6) 5-tuple of the IP packet; Evolved Packet Switching System (EPS) Bearer Identifier (ID) associated with the IP packet; Data Radio Bearer (DRB) ID associated with the IP packet; Packet Data Network (PDN) ID associated with the IP packet; Protocol Data Unit (PDU) Session ID associated with the IP packet; Access Point Name (APN) associated with the IP packet; Data Network Name (DNN) associated with the IP packet; Service Data Adaptation Protocol (SDAP) Flow associated with the IP packet; Quality of Service (QoS) Class Identifier (CQI) of the bearer associated with the IP packet; 5G QoS Identifier (5QI) associated with the IP packet; QoS Flow ID (QFI) associated with the IP packet; or Virtual Local Area Network (VLAN) ID tag associated with the IP packet.

16. The wireless device according to claim 13, wherein, The processor is also configured with processor-executable instructions to: In response to determining that the IP packet is a prioritized packet, a prioritized traffic processing configuration is selected from a plurality of available prioritized traffic processing configurations.

17. A non-transitory processor-readable medium having processor-executable instructions stored thereon, the processor-executable instructions being configured to cause a first processor of a wireless device to perform operations including: Internet Protocol IP packets of a downlink DL data stream are received after the L2 processing on the wireless device, wherein the DL data stream is provided to the wireless device via a connection to a radio access network (RAN), and the IP packets are at least partially decoded from radio transmissions of the RAN via the L2 processing on the wireless device. After the L2 processing on the wireless device, it is determined whether the IP packet is a prioritized packet; as well as In response to determining that the IP packet is a prioritized packet, the IP packet is sent to a second processor of the wireless device using a prioritized traffic processing configuration, wherein the prioritized traffic processing configuration is configured to have a lower latency than the default traffic processing configuration for sending non-priority IP packets from the first processor of the wireless device to a third processor, and wherein the default traffic processing configuration applies packet aggregation to the non-priority IP packets after L2 processing, and the prioritized traffic processing configuration sends the IP packet to the second processor without performing any aggregation; Receives a second IP packet of the uplink UL data stream from the second processor of the wireless device; Determine whether the second IP packet is a prioritized packet; and In response to determining that the second IP packet is a prioritized packet, the second IP packet is sent to the RAN using a UL-prioritized traffic processing configuration, wherein the UL-prioritized traffic processing configuration is configured to have a lower latency than the default UL traffic processing configuration used for sending non-prioritized IP packets.

18. The non-transitory processor-readable medium according to claim 17, wherein, The stored processor-executable instructions are configured to cause the first processor of the wireless device to perform operations such that: The prioritized traffic processing configuration includes using a first type of hardware connection; and The default traffic processing configuration uses a second type of hardware connection, which is different from the first type of hardware connection.

19. The non-transitory processor-readable medium according to claim 18, wherein, The stored processor-executable instructions are configured to cause a first processor of the wireless device to perform operations, such that a first type of hardware connection is a Peripheral Component Interconnect Express (PCIe) connection and a second type of hardware connection is a Universal Serial Bus (USB).

20. The non-transitory processor-readable medium according to claim 17, wherein, The stored processor-executable instructions are configured to cause a first processor of the wireless device to perform an operation, such that determining whether the IP packet is a prioritized packet after the L2 processing on the wireless device includes: The parameters of the IP packet are determined after the L2 processing on the wireless device; Determine whether the parameter is associated with the priority grouping settings; In response to determining that the parameter is not associated with a priority packet setting, it is determined that the IP packet is not a priority packet; and In response to determining that the parameter is associated with a priority packet setting, the IP packet is determined to be a priority packet.

21. The non-transitory processor-readable medium according to claim 20, wherein, The stored processor-executable instructions are configured to cause a first processor of the wireless device to perform an operation, such that the parameters include a Differential Service Code Point (DSCP) indication or a Type of Service (TOS) indication in the header of the IP packet.

22. The non-transitory processor-readable medium according to claim 20, wherein, The stored processor-executable instructions are configured to cause a first processor of the wireless device to perform an operation, the operation further comprising: In response to determining that the IP packet is a prioritized packet, a prioritized traffic processing configuration is selected from a plurality of available prioritized traffic processing configurations.

23. A wireless device, comprising: A means for receiving Internet Protocol IP packets of a downlink DL data stream after the L2 processing on the wireless device, wherein the DL data stream is provided to the wireless device via a connection to a radio access network (RAN), and the IP packets are at least partially decoded from radio transmissions of the RAN via the L2 processing on the wireless device. Means for determining whether an IP packet is a prioritized packet after the L2 processing on the wireless device; as well as A means for transmitting the IP packet to a second processor of a wireless device using a prioritized traffic processing configuration in response to determining that the IP packet is a prioritized packet, wherein the prioritized traffic processing configuration is configured to have a lower latency than a default traffic processing configuration for transmitting non-priority IP packets from a first processor of the wireless device to a third processor, and wherein the default traffic processing configuration applies packet aggregation to the non-priority IP packet after L2 processing, and the prioritized traffic processing configuration transmits the IP packet to the second processor without performing any aggregation; Means for receiving a second IP packet of an uplink UL data stream from the second processor of the wireless device; A means for determining whether the second IP packet is a prioritized packet; and A means for sending the second IP packet to the RAN using a UL-prioritized traffic processing configuration in response to determining that the second IP packet is a prioritized packet, wherein the UL-prioritized traffic processing configuration is configured to have a lower latency than the default UL traffic processing configuration for sending non-prioritized IP packets.

Citation Information

Patent Citations

  • Method, device and system for transmitting data messages in train control system

    CN102104547A