CN116941278A - Interface between radio access network and application - Google Patents

Interface between radio access network and application Download PDF

Info

Publication number
CN116941278A
CN116941278A CN202280017788.XA CN202280017788A CN116941278A CN 116941278 A CN116941278 A CN 116941278A CN 202280017788 A CN202280017788 A CN 202280017788A CN 116941278 A CN116941278 A CN 116941278A
Authority
CN
China
Prior art keywords
application
wireless device
ran
processor
events
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202280017788.XA
Other languages
Chinese (zh)
Inventor
L·马
N·K·梁
A·里克阿尔瓦里尼奥
M·王
T·斯托克汉姆
L·扎卡赖亚斯
Y·何
I·布瓦兹兹
M·Z·科班
U·普亚尔
L·J·科洛夫斯基
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US17/653,023 external-priority patent/US20220286899A1/en
Application filed by Qualcomm Inc filed Critical Qualcomm Inc
Priority claimed from PCT/US2022/018476 external-priority patent/WO2022187331A1/en
Publication of CN116941278A publication Critical patent/CN116941278A/en
Pending legal-status Critical Current

Links

Landscapes

  • Mobile Radio Communication Systems (AREA)

Abstract

Various embodiments may provide methods, systems, and devices for supporting application level discovery of Radio Access Network (RAN) statistics and/or events. Various embodiments may provide methods, systems, and devices for application level signaling to support quality of service (QoS) requirements.

Description

Interface between radio access network and application
RELATED APPLICATIONS
The present application claims the benefit of priority from U.S. provisional patent application No.63/157,510, entitled "INTERFACE BETWEEN ARADIO ACCESS NETWORK AND AN APPLICATION (interface between radio access network and application)" filed 3/5 of 2021, the entire contents of which are incorporated herein by reference for all purposes.
Background
Long Term Evolution (LTE), 5G New Radio (NR), and other newly developed communication technologies allow wireless devices to communicate information at data rates (e.g., in gigabits per second, etc.) that are orders of magnitude greater than data rates available just a few years ago.
Today's communication networks are also safer, resistant to multipath fading, allow lower network traffic latency, provide better communication efficiency (e.g., in bits used per second per unit bandwidth, etc.). These and other recent improvements have contributed to the advent of internet of things (IOT), large-scale machine-to-machine (M2M) communication systems, autonomous vehicles, and other technologies that rely on continuous and secure communications.
SUMMARY
Aspects of the present disclosure include methods, systems, and devices that support application level discovery of Radio Access Network (RAN) statistics and/or events. Aspects of the present disclosure include methods, systems, and devices for application level signaling supporting quality of service (QoS) requirements between an application processor and a modem processor.
Various aspects include a method performed by a wireless device, the method may include: transmitting a query from an application processor of the wireless device to a modem processor of the wireless device for one or more RAN statistics or events of interest; receiving, at the modem processor, a query from the application processor of the wireless device for one or more RAN statistics or events of interest; generating, by the modem processor, RAN statistics or event messages that may include one or more RAN statistics or events of interest based at least in part on the received query; transmitting from the modem processor to the application processor a RAN statistics or event message including the one or more RAN statistics or events of interest; receiving, at the application processor, the RAN statistics or event message from the modem processor; and controlling output of application data from the application processor to the modem processor based at least in part on the received RAN statistics or events.
In some aspects, the one or more RAN statistics and/or events of interest may include: delay indication, delay jitter indication, packet loss rate, handoff event, data rate, available data rate, recommended bit rate, radio link failure, discontinuous reception event, service interruption, or loss or delay of a particular type of application layer packet.
Some aspects may further include: a packet loss report, a packet delay jitter report, a packet delay variation report, a bit rate report, or a network event message is received from a network device in the modem processor.
Some aspects may further include: a recommended bit rate message is received in the modem processor from the network device including a time interval during which the recommended bit rate is valid.
Some aspects may further include: an Uplink (UL) per-packet loss report is received in the modem processor from the network device indicating the type of lost packet and a sequence number of each lost packet.
Some aspects may further include: determining, by the application processor, a quality of service (QoS) requirement for an application running on the application processor based at least in part on a model that maps a set of QoS metrics to a quality of experience (QoE) associated with the target QoE; transmitting a QoS requirement message from the application processor to the modem processor indicating the determined QoS requirement; converting, by the modem processor, the QoS requirements indicated in the QoS requirements message into performance metrics; and controlling, by the modem processor, a wireless protocol stack running on the modem processor to implement the performance metrics. Some aspects may further include: determining, by the modem processor, whether any of the performance metrics are associated with a network device; and in response to determining that any of the performance metrics are associated with the network device, sending an indication of the performance metrics from the modem processor to the network device. Some aspects may further include: determining, by the modem processor, the achieved QoS metrics in response to controlling the wireless protocol stack running on the modem processor to implement the performance metrics; and sending a response from the modem processor to the application processor of the wireless device indicating the achieved QoS metrics. In some aspects, the QoS requirements indicated in the QoS requirements message may include: data amount, maximum bit rate, average bit rate, maximum delay, average delay, maximum delay jitter, average of absolute values of delay jitter, maximum packet loss rate, or average packet loss rate.
Some aspects include a method performed by a first wireless device for managing communications with a remote second wireless device, the method comprising: establishing an application level interface with an application of the second wireless device; obtaining, in an application processor of the first wireless device, information about one or more RAN statistics or events of interest from a modem processor of the first wireless device; and taking, by the application processor, an action to adapt communication with the second wireless device based on information about one or more RAN statistics or events of interest.
In some aspects, obtaining, in the application processor of the first wireless device, information about one or more RAN statistics or events of interest from a modem processor of the first wireless device may include: transmitting, by the application processor, a RAN information request indicating one or more RAN statistics or events of interest to the second wireless device via the modem processor; and receiving, at the application processor, RAN statistics or event messages including one or more RAN statistics or events of interest from the second wireless device via the modem, and taking, by the application processor, actions based on information regarding the one or more RAN statistics or events of interest to adapt communications with the second wireless device includes controlling, by the application processor, output of application data from the application processor based at least in part on the received RAN statistics or events.
In some aspects, the one or more RAN statistics and/or events of interest may include: delay indication, delay jitter indication, packet loss rate, handoff event, data rate, available data rate, recommended bit rate, radio link failure, discontinuous reception event, service interruption, or loss or delay of a particular type of application layer packet.
In some aspects, the one or more RAN statistics or events of interest may include QoS requirements for an application running on an application processor of the second wireless device, the QoS requirements including: data amount, maximum bit rate, average bit rate, maximum delay, average delay, maximum delay jitter, average of absolute values of delay jitter, maximum packet loss rate, or average packet loss rate.
In some aspects, obtaining, in the application processor of the first wireless device, information about one or more RAN statistics or events of interest from a modem processor of the first wireless device may include: receiving, in the application processor, a RAN information request from the second wireless device via the modem processor, the RAN information request indicating one or more RAN statistics or events of interest; transmitting a query from the application processor to the modem processor for the one or more RAN statistics or events of interest; and receiving, by the application processor, a RAN statistics or event message from the modem processor including one or more RAN statistics or events of interest; and taking, by the application processor, an action to adapt communication with the second wireless device based on the information about the one or more RAN statistics or events of interest includes sending, from the application processor to the second wireless device via the modem processor, a RAN statistics or event message including the one or more RAN statistics or events of interest.
In some aspects, the one or more RAN statistics and/or events of interest may include: delay indication, delay jitter indication, packet loss rate, handoff event, data rate, available data rate, recommended bit rate, radio link failure, discontinuous reception event, service interruption, or loss or delay of a particular type of application layer packet.
In some aspects, the one or more RAN statistics or events of interest may include QoS requirements for an application running on an application processor of the second wireless device, the QoS requirements including: data amount, maximum bit rate, average bit rate, maximum delay, average delay, maximum delay jitter, average of absolute values of delay jitter, maximum packet loss rate, or average packet loss rate.
Further aspects may include a wireless device having a processor configured to perform one or more operations of any of the methods outlined above. Further aspects may include a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a wireless device to perform operations of any of the methods outlined above. A further aspect includes a wireless device having means for performing the functions of any of the methods outlined above. A further aspect includes a system-on-chip for use in a wireless device, the system-on-chip comprising a processor configured to perform one or more operations of any of the methods outlined above. A further aspect includes a system-in-package comprising two systems-on-a-chip for use in a wireless device, the systems-on-a-chip comprising a processor configured to perform one or more operations of any of the methods outlined above. Further aspects may include a network device having a processor configured to perform one or more operations of any of the methods outlined above. Further aspects may include a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a network device to perform operations of any of the methods outlined above. A further aspect includes a network device having means for performing the functions of any of the methods outlined above. A further aspect includes a system-on-chip for use in a network device, the system-on-chip comprising a processor configured to perform one or more operations of any of the methods outlined above. A further aspect includes a system-in-package comprising two systems-on-a-chip for use in a network device, the system-on-a-chip comprising a processor configured to perform one or more operations of any of the methods outlined above.
Brief Description of Drawings
The accompanying drawings, which are incorporated herein and constitute a 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 the features of the claims.
Fig. 1 is a system block diagram illustrating an example communication system suitable for implementing any of the various embodiments.
Fig. 2 is a component block diagram illustrating an example computing and wireless modem system suitable for implementing any of the various embodiments.
Fig. 3 is a component block diagram illustrating a software architecture including a radio protocol stack for a user plane and a control plane in wireless communication, suitable for implementing any of the various embodiments.
Fig. 4 is a block diagram illustrating an example of interactions between a sender communication device and a stack architecture layer in a receiver communication device, in accordance with various embodiments.
Fig. 5A is a block diagram illustrating an example of interactions between a wireless computing device and a network device, according to some embodiments.
Fig. 5B is a block diagram illustrating an example of interactions between a first wireless computing device and a remote wireless computing device, according to some embodiments.
Fig. 6 is a process flow diagram illustrating a method performed by an application processor of a wireless device for supporting application level discovery of Radio Access Network (RAN) statistics and/or events, in accordance with some embodiments.
Fig. 7 is a process flow diagram illustrating a method performed by a modem processor of a wireless device for supporting application level discovery of RAN statistics and/or events, in accordance with some embodiments.
Fig. 8 is a process flow diagram illustrating a method performed by a processor of a network device for supporting application level discovery of RAN statistics and/or events, in accordance with some embodiments.
Fig. 9 is a process flow diagram illustrating a method for application level signaling to support quality of service (QoS) requirements performed by an application processor of a wireless device, in accordance with some embodiments.
Fig. 10 is a process flow diagram illustrating a method for application level signaling to support QoS requirements performed by a modem processor of a wireless device, in accordance with some embodiments.
Fig. 11 is a process flow diagram illustrating a method for application level signaling to support QoS requirements performed by a processor of a network device in accordance with some embodiments.
Fig. 12 is a call flow diagram illustrating example interactions between a native application, a wireless protocol stack, and a first network device for supporting application level discovery of RAN statistics and/or events, and for supporting application level signaling of QoS requirements, in accordance with some embodiments.
Fig. 13A and 13B are process flow diagrams illustrating methods performed by an application processor of a wireless device for supporting application level discovery of RAN statistics and/or events between first and second wireless devices, according to some embodiments.
Fig. 14 is a process flow diagram illustrating a method performed by an application processor of a wireless device for supporting application level discovery of RAN statistics and/or events between first and second wireless devices, in accordance with some embodiments.
Fig. 15 is a call flow diagram illustrating example interactions between a local application and a remote application for supporting RAN statistics and/or event discovery between first and second wireless devices, in accordance with some embodiments.
Fig. 16 is a process flow diagram illustrating a method performed by an application processor of a wireless device for application level signaling supporting QoS requirements between a first and second wireless device, in accordance with some embodiments.
Fig. 17 is a process flow diagram illustrating a method performed by an application processor of a wireless device for application level signaling supporting QoS requirements between a first and second wireless device, in accordance with some embodiments.
Fig. 18 is a call flow diagram illustrating example interactions between a local application and a remote application for application-level signaling to support QoS requirements between first and second wireless devices, in accordance with some embodiments.
Fig. 19 is a component block diagram of a network device suitable for implementing any of the various embodiments.
Fig. 20 is a component block diagram of a wireless communication device suitable for implementing any of the various embodiments.
Detailed Description
Various embodiments will be described in detail with reference to the accompanying 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.
Various embodiments provide methods for supporting application level discovery of Radio Access Network (RAN) statistics and/or events that may be implemented in a wireless device and/or a network device or network node (e.g., a base station). Some embodiments provide methods for application level signaling to support quality of service (QoS) requirements that may be implemented in a wireless device and/or a network device. Some embodiments may enable applications running on an application processor of a wireless device to be aware of RAN statistics and/or events. Some embodiments may enable an application running on an application processor of a wireless device to set QoS requirements for a wireless protocol stack running on a modem processor of the wireless device, a network device, and/or a remote wireless device. Some embodiments may enable an application running on an application processor of a wireless device to account for handovers in a RAN. As an example, some embodiments may enable an application running on an application processor of a wireless device to avoid packet loss when RAN capacity drops to zero during a handover event. As another example, some embodiments may enable an application running on an application processor of a wireless device to increase a transmission rate after a handoff event is completed without waiting to determine whether a capacity increase has occurred.
The terms "wireless device" and "wireless computing device" are used interchangeably herein to refer to any or all of the following: cellular telephones, smart phones, portable computing devices, personal or mobile multimedia players, laptop computers, tablet computers, smartbooks, ultrabooks, palmtop computers, wireless email receivers, internet-enabled multimedia cellular telephones, wireless router devices, radios, medical devices and equipment, entertainment devices (e.g., wireless game controllers, music and video players, satellite radios, etc.), wireless communication elements within autonomous and semi-autonomous vehicles, wireless devices attached or incorporated into various mobile platforms, and similar electronic devices including memory, multiple SIMs, wireless communication components, and programmable processors.
The term "system on a chip" (SOC) is used herein to refer 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.), memory blocks (e.g., ROM, RAM, flash memory, etc.), and resources (e.g., timers, voltage regulators, oscillators, etc.). Each SOC may also include software for controlling integrated resources and processors, and for controlling peripheral devices.
The term "system in package" (SIP) may be used herein to refer to a single module or package containing multiple resources, computing units, cores and/or processors on two or more IC chips, substrates, or SOCs. For example, SIP may include a single substrate on which multiple IC chips or semiconductor dies are stacked in a vertical configuration. Similarly, SIP may include one or more multi-chip modules (MCMs) on which multiple ICs or semiconductor die are packaged into a unified substrate. SIP may also include multiple independent SOCs coupled together via high-speed communication circuitry and packaged together in close proximity, such as on a single motherboard or in a single wireless device. The proximity of the SOC facilitates high-speed communication and sharing of memory and resources.
As used herein, the terms Subscriber Identity Module (SIM) and "SIM card" may interchangeably refer to memory that may be an integrated circuit or embedded within a removable card, and that stores an International Mobile Subscriber Identity (IMSI), associated keys, and/or other information used to identify and/or authenticate a wireless device on a network and enable communication services with the network. Examples of SIMs include Universal Subscriber Identity Modules (USIMs) provided in the Long Term Evolution (LTE) 3GPP standard and removable user identity modules (R-UIMs) provided in the 3GPP standard. Universal Integrated Circuit Card (UICC) is another term used for SIM. In addition, the SIM may also refer to a Virtual SIM (VSIM) that may be implemented as a remote SIM profile loaded in an application on the wireless device and that implements normal SIM functionality on the wireless device.
Since the information stored in the SIM enables the wireless device to establish a communication link with a particular network for one or more particular communication services, the term "SIM" is also used herein as a shorthand for communication services associated with and implemented by the information stored in the particular SIM, as the SIM and the communication network, as well as services and subscriptions supported by the network, are related to one another. Similarly, the term SIM may also be used as a shorthand introduction to the protocol stack and/or modem stack and to the communication procedures used in establishing and conducting communication services with subscriptions and networks implemented by the information stored in a particular SIM.
As used herein, the terms "multi-SIM wireless device," "MS wireless device," "dual-SIM wireless device," and "DS wireless device" may interchangeably describe a wireless device configured with more than one SIM. Examples of multi-SIM wireless devices include multi-SIM multi-standby (MSMS) wireless devices, such as dual-SIM (DS) dual-standby (DSDS) wireless devices, and the like, and multi-SIM multi-active (MSMA) wireless devices, such as dual-SIM dual-active (DSDA) wireless devices, and the like. The MSMS wireless device may be the following wireless device: the wireless device is configured with more than one SIM and allows idle mode operation to be performed on both subscriptions simultaneously and on at least one other subscription while performing selective communication on one subscription. The MSMA wireless device may be the following wireless device: the wireless device is configured with more than one SIM and allows idle mode and/or active mode operation to be performed simultaneously on two subscriptions using at least two different Radio Frequency (RF) resources (e.g., two different wireless transceivers).
The various embodiments are described herein using the term "server" to refer to any computing device that is capable of functioning as a server, such as a main exchange server, web server, mail server, document server, content server, or any other type of server. The server may be a dedicated computing device or a computing device that includes a server module (e.g., running an application that may cause the computing device to operate as a server). The server module (e.g., server application) may be a full-function server module, or a light server module or a secondary server module (e.g., light server application or secondary server application) configured to provide synchronization services between dynamic databases on the receiver device. The light server or secondary server may be a thin version of server-type functionality that may be implemented on the receiver device thereby enabling the receiver device to function as an internet server (e.g., an enterprise email server) only to the extent necessary for providing the functionality described herein.
As used herein, the terms "network," "system," "wireless network," "cellular network," and "wireless communication network" may interchangeably refer to a portion or all of a wireless network of an operator associated with a wireless device and/or subscription on a wireless device. The techniques described herein may be used for various wireless communication networks such as Code Division Multiple Access (CDMA), time Division Multiple Access (TDMA), FDMA, orthogonal FDMA (OFDMA), single-carrier FDMA (SC-FDMA), and others. In general, any number of wireless networks may be deployed in a given geographic area.
Each wireless network may support at least one radio access technology that may operate over one or more frequencies or frequency ranges. For example, a CDMA network may implement Universal Terrestrial Radio Access (UTRA) (including Wideband Code Division Multiple Access (WCDMA) standards), CDMA2000 (including IS-2000, IS-95, and/or IS-856 standards), and the like. In another example, the TDMA network may implement GSM enhanced data rates for GSM evolution (EDGE). In another example, the OFDMA network may implement evolved UTRA (E-UTRA) (including LTE standards), IEEE 802.11 (WiFi), IEEE 802.16 (WiMAX), IEEE 802.20, flash-OFDM, and so on. Reference may be made to wireless networks using the LTE standard, and thus the terms "evolved universal terrestrial radio access", "E-UTRAN" and "eNodeB" may also be used interchangeably herein to refer to wireless networks. However, such references are provided by way of example only and are not intended to exclude wireless networks using other communication standards. For example, while various third generation (3G), fourth generation (4G), and fifth generation (5G) systems are discussed herein, those systems are cited merely as examples, and future generations of systems (e.g., sixth generation (6G) or higher generation systems) may be substituted in various examples.
The terms "network operator," "mobile network operator," "communications operator," and "service provider" are used interchangeably herein to describe a wireless communication service provider that owns or controls elements to sell and deliver communication services to end users and provides necessary provisioning and credentials as policies implemented in user device subscriptions.
As used herein, the term "RF resource" refers to a component in a communication device that transmits, receives, and decodes radio frequency signals. The RF resource typically includes several components called "transmit chains" coupled together to transmit RF signals, and several components called "receive chains" coupled together to receive and process RF signals.
LTE is a mobile network standard for 4G wireless communication of high-speed data developed by 3GPP (third generation partnership project) and specified in its release 8 document series. The 5G system is an advanced technology developed from 4G LTE and provides a new Radio Access Technology (RAT) through evolution of an existing mobile communication network structure. An implementation of a 5G system or network is currently being employed that provides New Radio (NR) (also referred to as 5G) support via network devices or network nodes, such as NR base stations, next generation node bs (gndeb or gNB), etc. The 5G system and NR network devices provide flexibility in terms of bandwidth scheduling and utilization. Future generations of systems (e.g., sixth generation (6G) or higher systems) may provide the same or similar flexibility in bandwidth scheduling and utilization.
In LTE and/or 5G (or offspring) systems, a network device or network node (such as a base station) may broadcast packets to wireless devices in a cell. For ease of reference, the term "network device" or "network node" is used to refer to any of a variety of network elements that may perform the operations of the various embodiments, non-limiting examples of which include base stations, eNodeB, gNodeB, and the like. The network device may provide services to wireless devices in the cell using Data Radio Bearers (DRBs).
In some wireless networks, such as 5G networks, quality of service (QoS) settings may be customized on a per wireless device basis. For example, in a 5G network, a network open function (NEF) interface of a 5G core network may support wireless devices signaling QoS requirements to an Application Function (AF) server of the 5G core network and an AF server signaling network statistics and/or events to the wireless devices. In such a network, qoS settings for a wireless device may be signaled from a core network, such as a 5G core network, to a Radio Access Network (RAN) supporting the wireless device. QoS settings may be implemented by the RAN network. While signaling of QoS settings from the core network to the RAN network supporting the wireless device may enable the RAN network to achieve wireless device-specific QoS settings, the delay created by the wireless device-to-core network signaling and subsequently by the core network-to-RAN network signaling may be too large to meet the wireless device's desired QoS requirements. Furthermore, such networks may not provide any signaling of QoS requirements between different wireless devices. Thus, two wireless devices in communication with each other (such as over a set of RAN networks and a core network that communicate via the internet) may not communicate QoS requirements with each other along an end-to-end (e 2 e) path.
Wireless devices communicating in a wireless network may experience packet loss and delay for reasons other than those experienced in a wired network. Although both wireless and wired networks may experience packet loss due to network congestion, wireless networks may also experience packet loss due to RAN problems such as beam failure, radio link failure, unacceptable block error rate (BLER), unacceptable Code Block Group (CBG) error rate, modulation and Coding Scheme (MCS) table differences between enhanced mobile broadband (eMBB) and ultra-reliable low latency communications (URLLC), hybrid automatic repeat request (HARQ) retransmission failure, radio Link Control (RLC) retransmission failure, and Packet Data Convergence Protocol (PDCP) retransmission failure. Similarly, while both wireless and wireline networks may experience delays due to transmission delays, propagation delays, and/or queuing delays, wireless networks may also experience delays due to Medium Access Control (MAC) scheduling, logical channel prioritization, HARQ retransmissions, RLC retransmissions, and PDCP retransmissions.
Because wireless networks and wired networks may experience packet loss and delay for different reasons, congestion control algorithms created for use in wired networks may not work well in wireless network scenarios. For example, an application transmitting packets over a wireless network created using the WebRTC's congestion control algorithm according to the Web real-time communication (WebRTC) project may erroneously interpret packet loss as signal congestion, may erroneously interpret delay as signal congestion, may react slowly to wireless network events, may transmit rate-reduction requests too slowly during wireless network handover operations, and may transmit rate-increase requests too slowly after wireless network handover operations.
Various embodiments may provide an interface for RAN characteristic reporting between a modem processor of a wireless device and an application running on an application processor of the wireless device. Some embodiments may enable visibility of application level QoS requirements to be provided by a wireless device to a network device or network node (such as a gNB) of a RAN. Some embodiments may enable RAN statistics and/or events to be provided to an application running on an application processor of a wireless device. Some embodiments may provide QoS requirements and RAN statistics and/or event report visibility between a network device or network node of a RAN (such as a gNB) and an application running on an application processor of a wireless device. In some embodiments, a modem processor of a wireless device may interface with an application running an application processor of the wireless device to exchange RAN and/or QoS related indications, such as via an Application Programming Interface (API) or other communication path between the application and one or more modules of the modem processor.
In some embodiments, a modem processor of a wireless device may report RAN statistics and/or events to an application running on an application processor of the wireless device. For example, a RAN reporting module of a modem processor of a wireless device may send a message including an indication of RAN statistics and/or events to a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, or other type of application) running on an application processor of the wireless device. As examples, RAN statistics and/or events may include delay indications, delay jitter indications, experiencing packet loss rates, handover states (e.g., handover start, handover completion, etc.), and/or RAN data rates.
In some embodiments, an application running on an application processor of a wireless device may send QoS requirements to a modem processor of the wireless device. For example, a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, or other type of application) running on an application processor of the wireless device may send an indication of QoS requirements for the communication application. As an example, qoS requirements may include traffic prioritization requirements, desired delay indications, and/or desired delay jitter indications. In some embodiments, qoS requirements may be determined at least in part using a model that maps a set of QoS metrics to quality of experience (QoE) associated with a target QoE. As an example, qoE may be measured by Mean Opinion Score (MOS).
In various embodiments, information obtained by the application processor from the modem processor may enable the application processor to take actions to adjust, adapt, or manage processes in response to RAN statistics and/or event information. For example, the application processor may slow down or suspend the output of data for transmission by the modem in response to RAN statistics and/or event information regarding the slow, stalled or disruption of the communication link. As another example, the application processor may adjust the output of data for transmission by the processor in response to the QoS information. As another example, the application processor may adjust the processing of the data or rendered image in view of the achievable data transfer rate based on the QoS information to maintain a target QoE.
As a specific example, during a handover event when a wireless device is attempting to handover from one network device or network node to another network device or network node (e.g., from one gNB to another gNB), the capacity of the RAN may drop to zero. When the RAN capacity is zero during a handover, any data packets sent by the application to the modem processor for transmission via the RAN may be lost and/or delayed. Applications that are not visible to the occurrence of a handover event may take a long time to determine that RAN capacity has dropped to zero and may experience undesirable delays and/or packet loss before a loss of RAN capacity during a handover is detected.
Some embodiments may enable a modem processor of a wireless device to signal that a handoff event is occurring to an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on an application processor of the wireless device. In some embodiments, the application processor may take action in response to information about the handover event being occurred, such as the application processor of the wireless device may control an application running on the application processor to cease sending data packets to the modem processor during the handover.
As another specific example, after the wireless device completes the handover, an application that has no visibility of the completion of the handover event may take a long time to determine that RAN capacity has increased. Since it may take a long time to complete an invisible application to a handover event to determine that RAN capacity has increased, it may take a long time to ramp up its data transmission to the modem processor of the wireless device. Thus, applications where handover event completion is not visible may not be able to use the increased RAN capacity immediately after handover completion.
Some embodiments may enable a modem processor of a wireless device to signal to an application running on an application processor of the wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) that a handoff event has been completed and/or that a data transfer rate may be increased. In some embodiments, the application processor of the wireless device may take action, such as increasing the data transmission rate of the modem processor, in response to information about the handover event having completed and/or about the data transmission rate that may be increased.
Some embodiments may provide an interface for RAN characteristic reporting between two wireless devices communicating over a wireless communication path. In some embodiments, a wireless communication path may be established such that each of two wireless devices connects to its own respective RAN. Some embodiments may enable the provision of visibility of application level QoS requirements from one wireless device to another. Some embodiments may enable RAN statistics and/or events to be provided from a local application running on a local application processor of a first wireless device to a remote application running on a remote application processor of a remote wireless device. Some embodiments may provide QoS requirements and RAN statistics and/or event report visibility between applications running on application processors of two separate wireless devices communicating via a wireless communication path, such as a wireless communication path including a respective RAN of each of the two separate wireless devices. Some embodiments may enable a local application processor of a first wireless device to pull RAN statistics and/or events from a remote application running on a remote application processor of a remote second wireless device. Some embodiments may enable a local application processor of a first wireless device to push QoS requirements to a remote application running on a remote application processor of a remote second wireless device.
As a specific example, the first wireless device may transmit data packets to the remote second wireless device via a wireless communication path. In a wireless communication path between a first wireless device and a second wireless device, the first wireless device may be connected to a first RAN, the first RAN may be connected to a first 5G core network, the first 5G core network may be connected to the internet, the second 5G core network may be connected to a second RAN, and the second RAN is connected to the second wireless device. During a handover event when a second wireless device is attempting to handover from one network device or network node to another network device or network node (e.g., from one base station or gNB to another base station or gNB), the capacity of the RAN at the second wireless device may drop to zero. Any data packets sent by the first wireless device to the second wireless device may be lost or delayed. Applications on the first wireless device that are not visible to the occurrence of a handoff event at the second wireless device may take a long time to determine that the RAN capacity of the second wireless device has dropped to zero and may experience undesirable delays and/or packet loss before detecting a RAN capacity loss during handoff at the second wireless device.
Some embodiments may enable an application running on an application processor of the second wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) to signal to the first wireless device that a handoff event is occurring at the second wireless device. In some embodiments, an application running on an application processor of the first wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) may stop sending data packets to the second wireless device in response to receiving an indication that a handoff is occurring.
Continuing with the previous specific example, after the second wireless device completes the handover, it may take a long time for the handover event on the first wireless device to complete an application that is not visible by the second wireless device to determine that RAN capacity at the second wireless device has increased. Since it may take a long time for the application on the first wireless device to complete the invisible handover event to determine that the RAN capacity at the second wireless device has increased, it may take a long time for the application on the first wireless device to complete the invisible handover event to ramp up its data transmission to the second wireless device. Thus, applications on the first wireless device that are not visible to the completion of the handover event may not be able to use the increased RAN capacity of the second wireless device immediately after the handover is completed.
Some embodiments may enable an application running on an application processor of the second wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) to signal to the first wireless device that a handover event has been completed and/or that the data transfer rate may be increased. In some embodiments, an application running on an application processor of a first wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) may increase the data transmission rate to a second wireless device in response to receiving an indication that a handoff event has been completed and/or that the data transmission rate may be increased.
In some embodiments, a wireless protocol stack of a modem processor of a wireless device may send information regarding RAN statistics and/or events to an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on an application processor of the wireless device. In some embodiments, the wireless protocol stack of the modem processor of the wireless device may periodically send information regarding RAN statistics and/or events to an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on the application processor of the wireless device. For example, an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on an application processor of the wireless device may register one or more types of RAN statistics and/or events and may indicate the periodicity at which those RAN statistics and/or events are typically to be reported.
The wireless protocol stack of the modem processor of the wireless device may send information regarding registered RAN statistics and/or events at the indicated periodicity. In some embodiments, the wireless protocol stack of the modem processor of the wireless device may send information regarding RAN statistics and/or events to an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on the application processor of the wireless device as needed. For example, an application running on an application processor of the wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) may send a query for one or more types of RAN statistics and/or events, and a wireless protocol stack of a modem processor of the wireless device may respond to the query with information about the queried RAN statistics and/or events.
In some embodiments, the RAN statistics may be attributes associated with wireless connection(s) between a modem processor of the wireless device and a network device or network node of the RAN, such as gNB, eNB, AP or the like. As an example, the RAN statistics may be packet loss rate. As an example, the RAN statistics may be packet delays. As an example, the RAN statistics may be packet delay jitter and/or variation. As an example, the RAN statistics may be data rates. As a specific example, the data rate may be a measured data rate of an Uplink (UL) and/or Downlink (DL) connection with a network device or network node (e.g., gNB, eNB, AP, etc.) of the RAN. The data rate may be a raw data rate and/or a smoothed data rate (e.g., a data rate calculated with a smoothing factor). The data rate may include a time interval over which the data rate is calculated. As an example, the RAN statistics may be the available data rates. The available data rate may be used for UL or DL. The available data rates may be based on observed past data rates and resource allocations for future periods. The available data rate may be calculated locally by a modem processor of the wireless device. The available data rates may be calculated by a network device or network node of the RAN (such as gNB, eNB, AP, etc.) and signaled to a modem processor of the wireless device.
The available data rates may include an indication of a period of time (e.g., a time-to-live (TTL) value, etc.) for which the available data rates may be assumed to be valid. As an example, the RAN statistics may be recommended bit rates. In some embodiments, the RAN statistics may be associated with one or more different Protocol Data Units (PDUs) (or transport blocks) of the wireless protocol stack. For example, RAN statistics may be associated with one or more of Service Data Adaptation (SDAP) PDUs, packet Data Convergence Protocol (PDCP) PDUs, radio Link Control (RLC) PDUs, medium Access Control (MAC) PDUs, and the like. As a specific example, RAN statistics may be associated with SDAP PDUs, PDCP PDUs, RLC PDUs, and/or MAC PDUs for the 5G NR RAN, PDCP PDUs, RLC PDUs, and/or MAC PDUs for the LTE RAN, and MAC PDUs for the WiFi RAN.
One or more RAN statistics may be communicated from a wireless protocol stack of a modem processor of a wireless device to an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on an application processor of the wireless device. As an example, each RAN statistic may be sent in its own respective message from the wireless protocol stack of the modem processor of the wireless device to an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on the application processor of the wireless device. As another example, the plurality of different RAN statistics may be sent in a message from a wireless protocol stack of a modem processor of the wireless device to an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on an application processor of the wireless device.
In some embodiments, the RAN event may be an event associated with a wireless connection(s) between a modem processor of the wireless device and a network device or network node (such as gNB, eNB, AP, etc.) of the RAN. In some embodiments, the indication of the RAN event may be sent from a wireless protocol stack of a modem processor of the wireless device to an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on an application processor of the wireless device. As an example, the RAN event may be a handover event. As a specific example, the indication about the RAN event may be an indication that a handover has started, that a handover has completed, etc. As an example, the RAN event may be a radio link failure. As a specific example, the indication about the RAN event may be an indication that a radio link has failed, that a radio link has been established, etc. As an example, the RAN event may be Discontinuous Reception (DRX). As a specific example, the indication about the RAN event may be an indication about a DRX sleep time, a DRX wake time, etc. As an example, the RAN event may be a service interruption. As a specific example, the indication about the RAN event may be an indication about a start time of a service outage, an expected time to resume service, etc.
As an example, the RAN event may be a loss or delay of a particular type of application layer packet. In some embodiments, a wireless protocol stack of a modem processor of a wireless device may store an indication of a mapping of application layer packets (e.g., real-time transport (RTP) packets) to PDUs (such as IP, SDAP, PDCP, MAC, PHY, etc.) of various layers with which the application layer packets are associated when the application layer packets are prepared for transmission by the wireless device. The wireless protocol stack of the modem processor of the wireless device may compare the indication of the lost and/or delayed Protocol Data Units (PDUs) with a stored mapping of application layer packets to determine application layer packets mapped to the lost and/or delayed PDUs. In some embodiments, a wireless protocol stack of a modem processor of a wireless device may report the loss of an application layer packet based on the loss of a PDU to which the application layer packet may be mapped. In some embodiments, a wireless protocol stack of a modem processor of a wireless device may report a delay of an application layer packet based on a delay of a PDU to which the application layer packet may be mapped.
One or more RAN events may be communicated from a wireless protocol stack of a modem processor of a wireless device to an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on an application processor of the wireless device. As an example, each RAN event may be sent in its own respective message from the wireless protocol stack of the modem processor of the wireless device to an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on the application processor of the wireless device. As another example, a plurality of different RAN events may be sent in a message from a wireless protocol stack of a modem processor of the wireless device to an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on an application processor of the wireless device. As a further example, one or more different RAN events and/or one or more different RAN statistics may be sent in a message from a wireless protocol stack of a modem processor of the wireless device to an application running on an application processor of the wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application).
In some embodiments, a modem processor of the wireless device may receive messages, such as reports, MAC Control Elements (CEs) (MAC CEs), other types of messages, etc., from network devices or network nodes of the RAN, such as gNB, eNB, AP, etc. The received message may include an indication associated with one or more RAN statistics and/or events. In some embodiments, a modem processor of a wireless device may process received messages, such as reports, MAC Control Elements (CEs) (MAC CEs), other types of messages, etc., and/or the modem processor may observe one or more RAN statistics and/or events locally. In some embodiments, the modem processor of the wireless device may generate one or more reports of indication information from received messages and/or locally observed RAN statistics and/or events, and may send the one or more reports to an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on the application processor of the wireless device.
In some embodiments, a network device or network node of the RAN (such as gNB, eNB, AP, etc.) may send a message (such as a report, a MAC Control Element (CE) (MAC CE), other type of message, etc.) including a packet loss report to a modem processor of the wireless device. As an example, the message may be a packet loss report MAC CE. The message including the packet loss report may include a logical channel Identifier (ID) (LCID) field identifying a logical channel to which the packet loss report applies.
The message including the packet loss report may include a field indicating a format of the packet loss rate. The format may indicate a format of a loss rate of the MAC PDU. The format may be raw or smooth. As an example, when the format of the loss rate is original, an additional field indicating the period of time over which the packet loss rate is calculated may be included. As an example, when the format of the loss rate is smoothed, a first additional field indicating a period of time over which the packet loss rate is calculated may be included, and a second additional field indicating how smoothing is applied to the packet loss rate may be included. As a specific example, a smoothing factor in an exponentially weighted moving average may be indicated.
The message including the packet loss report may include a field indicating a packet loss rate index indicating a range of packet loss rates in the table (e.g., 000 may indicate greater than 1x10 -1 Packet loss rate) of (c) is provided. The number of bits assigned to the packet loss rate index may control the granularity of the table, with a larger number of available bits achieving finer granularity. The message including the packet loss report may include a field indicating UL or DL, thereby indicating whether packet loss is for UL or DL.
In some embodiments, a network device or network node (such as gNB, eNB, AP, etc.) of the RAN may send a message (such as a report, MAC CE, other type of message, etc.) including a packet delay report to a modem processor of the wireless device. As an example, the message may be a packet delay report MAC CE. The message including the packet delay report may include a Logical Channel Identifier (LCID) field identifying a logical channel to which the packet delay report applies.
The message including the packet delay report may include a field indicating a format of the packet delay. The format may indicate a format of a packet delay of the MAC PDU. The format may be raw or smooth. As an example, when the format of the packet delay is original, an additional field may be included that indicates the period of time over which the packet delay is averaged. As an example, when the format of the packet delay is smoothed, a first additional field may be included indicating the period of time over which the packet delay is calculated, and a second additional field may be included indicating how to apply smoothing to the packet delay. As a specific example, a smoothing factor in an exponentially weighted moving average may be indicated.
The message including the packet delay report may include a field indicating a packet delay index that indicates a range of packet delays in the table (e.g., 000 may indicate a packet delay greater than 200 milliseconds). The message including the packet delay report may include a field indicating UL or DL, thereby indicating whether the packet delay is for UL or DL.
In some embodiments, a network device or network node of the RAN (such as gNB, eNB, AP, etc.) may send a message (such as a report, MAC CE, other type of message, etc.) including packet delay jitter and/or change reports to a modem processor of the wireless device. As an example, the message may be a packet delay jitter/variation report MAC CE. The message including the packet delay jitter and/or change report may include an LCID field identifying the logical channel to which the packet loss report applies. The message including the packet delay jitter and/or variation report may include a field indicating the type of the jitter and/or variation, such as jitter or standard deviation. For example, jitter may be defined as the absolute value of the time difference between two adjacent packets.
The message including the packet delay jitter and/or variation report may include a field indicating the format of the packet delay jitter and/or variation. The format may indicate packet delay jitter and/or a varying format of the MAC PDU. The format may be raw or smooth. As an example, when the format of the packet delay jitter and/or variation is original, an additional field may be included that indicates the period of time over which the packet delay jitter and/or variation is averaged. As an example, when the format of the packet delay jitter and/or variation is smoothed, a first additional field may be included that indicates the period of time over which the packet delay jitter and/or variation is calculated, and a second additional field may be included that indicates how to apply smoothing to the packet delay jitter and/or variation. As a specific example, a smoothing factor in an exponentially weighted moving average may be indicated.
The message including the packet delay jitter and/or variation report may include a field indicating a packet delay jitter and/or variation index that indicates the packet delay jitter and/or variation in the table. The message including the packet delay jitter and/or variation report may include a field indicating UL or DL, thereby indicating whether the packet delay jitter and/or variation is for UL or DL.
In some embodiments, a network device or network node of the RAN (such as gNB, eNB, AP, etc.) may send a message (such as a report, MACCE, other type of message, etc.) including a bit rate report to a modem processor of the wireless device. As an example, the message may be a bit rate report MAC CE.
The message including the bit rate report may include an LCID field identifying the logical channel to which the bit rate report applies. The message including the bit rate report may include a field indicating the type of bit rate. The type may indicate a type of bit rate of the MAC PDU. The type may be original or smooth. As an example, when the type of bit rate is original, an additional field indicating the period of time over which the bit rate is averaged may be included. As an example, when the type of bit rate is smoothed, a first additional field indicating a period of time over which the bit rate is calculated may be included, and a second additional field indicating how smoothing is applied to the bit rate may be included. As a specific example, a smoothing factor in an exponentially weighted moving average may be indicated.
The message including the bit rate report may include a field indicating a bit rate index that indicates a bit rate range or bit rate in the table (e.g., index 2 may indicate a bit rate greater than 9 kilobits per second). The number of bits assigned to the bit rate index may control the granularity of the table, with a larger number of available bits achieving finer granularity. The message including the bit rate report may include a field indicating UL or DL, thereby indicating whether the bit rate is for UL or DL.
In some embodiments, a network device or network node of the RAN (such as gNB, eNB, AP, etc.) may send a message (such as a report, MACCE, other type of message, etc.) to a modem processor of the wireless device that includes the recommended bit rate. As an example, the message may be a recommended bit rate MAC CE. The message including the recommended bit rate may include an LCID field identifying the logical channel to which the recommended bit rate applies. The message including the recommended bit rate may include a field indicating UL or DL, thereby indicating whether the recommended bit rate is for UL or DL. The message including the recommended bit rate may include a field pointing to an index in a table that maps the index to the recommended bit rate. The message including the recommended bit rate may include a bit rate multiplier field indicating a scaling factor applied to the recommended bit rate. The message including the recommended bit rate may include a time interval field indicating a time interval during which the wireless device may assume that the recommended bit rate is valid.
In some embodiments, a network device or network node (such as gNB, eNB, AP) of the RAN may send a message (such as a report, MAC CE, other type of message, etc.) including an indication of the network event to a modem processor of the wireless device. As an example, the message may be a network event MAC CE. The message including the network event indication may include an LCID field identifying the logical channel to which the network event indication applies. The message including the network event indication may include an event type field. As an example, the event type field may be an indication of: the handover begins and optionally the expected time for the handover procedure to complete. As another example, the event type field may be an indication of: a radio link failure begins and optionally an expected time before the radio link failure can be recovered. As another example, the event type field may be an indication that the radio link is restored.
In some embodiments, a network device or network node of the RAN (such as gNB, eNB, AP, etc.) may send a message (such as a report, MAC CE, RLC message, PDCP message, other type of message, etc.) including the UL per-packet loss report to a modem processor of the wireless device. The UL per packet loss report may provide information about packet loss in the UL. The message including the UL per packet loss report may include a field indicating the length of the UL per packet loss report, which may carry information of a variable number of lost packets. The message including the UL per packet loss report may identify the sequence of lost packets. For each lost packet, the UL per packet loss report may indicate an RLC sequence number and/or a PDCP sequence number. For each lost packet, the UL per-packet loss report may indicate an RLC bearer, which may identify the associated logical channel of the lost packet. For each lost packet, the UL per-packet loss report may indicate a PDCP entity that may identify an associated radio bearer for the lost packet.
In some embodiments, an application running on an application processor of a wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) may send a network statistics query to a modem processor of the wireless device. For example, an application running on an application processor of a wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) may send a statistics query to a wireless protocol stack of a modem processor of the wireless device. In some embodiments, the statistical query may indicate the type of report that an application running on an application processor of the wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) may be requesting.
In some embodiments, the statistics query may indicate that the wireless protocol stack of the modem processor of the wireless device will include one or more statistics in a report sent to an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on the application processor of the wireless device. As an example, the queried statistics may include: packet loss rate; packet delay; packet delay jitter and/or variation; data rate (e.g., measured data rate for UL and/or DL, optionally including a format of the data rate (such as raw, smoothed, etc.), as well as the time interval over which the data rate is calculated and/or any smoothing factor); an available data rate; and/or recommended bit rates. In some embodiments, the statistics query may indicate a request frequency for reporting from the modem processor to an application running on an application processor of the wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application), such as requesting the modem processor to report queried statistics once every 100 milliseconds.
In some embodiments, an application running on an application processor of a wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) may send QoS requirements to a modem processor of the wireless device. For example, an application running on an application processor of a wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) may send an indication of QoS requirements for the application to a wireless protocol stack of a modem processor of the wireless device. As an example, the QoS requirements may include one or more of the following: data amount; a maximum bit rate; average bit rate; maximum delay; average delay; maximum delay jitter; an average value of absolute values of delay jitter; maximum packet loss rate; and/or average packet loss rate. In some embodiments, the QoS requirements may be determined at least in part using a model that maps a set of QoS metrics to QoE associated with the target QoE. As an example, qoE may be measured by mean opinion score MOS.
In some embodiments, a modem processor of the wireless device may translate QoS requirements received from an application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on an application processor of the wireless device into performance metrics (e.g., performance metrics of an SDAP layer, PDCP layer, RLC layer, MAC layer, PHY layer, etc.) of the various layers of the wireless protocol stack. In some embodiments, the modem processor of the wireless device may send one or more of these performance metrics to a network device or network node of the RAN (such as gNB, eNB, AP, etc.).
In some embodiments, a network device or network node (such as gNB, eNB, AP, etc.) of the RAN may accept or reject one or more of any performance metrics sent by a modem processor of the wireless device, e.g., based on network device or network node capabilities and/or resource availability. In some embodiments, a network device or network node (such as gNB, eNB, AP, etc.) of the RAN may allocate resources based at least in part on the performance metrics.
In some embodiments, a modem processor of the wireless device may perform logical channel prioritization based on the performance metrics. In some embodiments, the modem processor of the wireless device may indicate to an application running on the application processor of the wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) whether the network device or network node (such as gNB, eNB, AP, etc.) of the modem processor and/or RAN can meet one or more of the QoS requirements.
In some embodiments, a modem processor of the wireless device may indicate to an application running on an application processor of the wireless device (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) an achieved QoS metric, such as an implemented bit rate, delay jitter, packet loss, etc., of the network device or network node (such as gNB, eNB, AP, etc.) of the modem processor and/or RAN.
Some embodiments may enable a first application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on a first application processor of a first wireless device to receive RAN statistics and/or events from a second application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on a second application processor of a second wireless device. The RAN statistics and/or events from the second application may be RAN statistics and/or events associated with a wireless connection between the second wireless device and a different RAN than the RAN to which the first wireless device is connected.
In some embodiments, a first application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on a first application processor of a first wireless device may send a request (such as a RAN information request) to a second application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on a second application processor of a second wireless device. The RAN information request may be a query asking whether the second wireless device is on the RAN, and if so, a request to provide a type of RAN (e.g., LTE, 5G NR, wiFi, etc.), and a request for a report of statistics and/or events of the RAN for the second wireless device.
In some embodiments, the second application may report RAN statistics and/or events back to the first application on demand, periodically and/or in response to a query. Example RAN statistics and/or events that may be reported by the second application to the first application may include packet loss rate, packet delay jitter and/or variation, data rate, available data rate, recommended data rate, handover event, radio link failure event, and/or DRX event (e.g., sleep, wake-up, etc.).
As a specific example, the second wireless device may initiate the handover procedure once the first application and the second application have docked to each other and the first application has requested the second application to report the RAN event to the first application. The second application may send an event report to the first application indicating the start of the handoff for a period of time (such as 200 milliseconds) before the handoff occurs on the second wireless device. In response to receiving the event report, the first application may overwrite the congestion control algorithm being used and cease transmitting application data to the second application.
After the second wireless device completes the handoff, the second application may send an event report to the first application indicating that the handoff is complete. In response to receiving the event report, the first application may increase a transmission rate of application data of the second application (e.g., based on a transmission rate prior to the handoff) to match network capacity immediately upon completion of the handoff.
Some embodiments may enable a first application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on a first application processor of a first wireless device to send QoS requirements to a second application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on a second application processor of a second wireless device. The QoS requirements sent to the second application may be QoS requirements that the first application is requesting and/or that the second application and/or the second wireless device is requesting to reach to support application data exchanged between the first application and the second application.
In some embodiments, a first application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on a first application processor of a first wireless device may send a query (such as a RAN information request) to a second application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on a second application processor of a second wireless device. The RAN information request may be a query asking whether the second wireless device is on the RAN, and if so, a request to provide the type of RAN (e.g., LTE, 5G NR, wiFi, etc.).
In some embodiments, a first application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on a first application processor of a first wireless device may send QoS requirement messages to a second application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on a second application processor of a second wireless device in response to the second application indicating that the second wireless device is on the RAN. In some embodiments, the QoS requirement message may indicate that the second application should attempt to meet the QoS requirement. QoS requirements may include one or more of the following: data amount; a maximum bit rate; average bit rate; maximum delay; average delay; maximum delay jitter; an average value of absolute values of delay jitter; maximum packet loss rate; and/or average packet loss rate. In some embodiments, the QoS requirements may be determined at least in part using a model that maps a set of QoS metrics to QoE associated with the target QoE. As an example, qoE may be measured by MOS.
In some embodiments, the second application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) may send QoS requirements received from the first application to the modem processor of the second wireless device. The modem processor of the second wireless device may translate QoS requirements received from a first application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) into performance metrics (e.g., performance metrics of the SDAP layer, PDCP layer, RLC layer, MAC layer, PHY layer, etc.) of the various layers of the wireless protocol stack of the second wireless device.
In some embodiments, the modem processor of the second wireless device may send one or more of these performance metrics to a network device or network node (such as gNB, eNB, AP, etc.) of the RAN being used by the second wireless device. In some embodiments, a network device or network node (such as gNB, eNB, AP, etc.) of the RAN may accept or reject one or more of any performance metrics sent by the modem processor of the second wireless device, e.g., based on network device or network node capabilities and/or resource availability. In some embodiments, a network device or network node (such as gNB, eNB, AP) of the RAN used by the second wireless device may allocate resources based at least in part on the performance metrics.
In some embodiments, the modem processor of the second wireless device may perform logical channel prioritization based on the performance metrics. In some embodiments, the modem processor of the second wireless device may indicate to a second application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on the second application processor of the second wireless device whether the network device or network node (such as gNB, eNB, AP, etc.) of the modem processor and/or RAN can meet one or more of the QoS requirements.
In some embodiments, a first application (e.g., a communication application (such as WebRTC application, media streaming application, messaging application, video telephony application, etc.) or other type of application) running on a first application processor of a first wireless device may send an indication of QoS metrics it achieves with its own respective network device or network node (such as gNB, eNB, AP, etc.) of the RAN to a second application. For example, the achieved QoS metrics may include achieved bit rate, delay jitter, packet loss, and the like.
The second application may determine its own resource change allocation based on the QoS metric achieved by the first application. As an example, if a first application is experiencing a high queuing delay, a second application may prioritize the same traffic flow to reduce the queuing delay of the second application to keep the total delay (including the queuing delay of the first application, the queuing delay of the second application, and the delay on the network between wireless devices) low enough to be accepted. In some embodiments, the second application may indicate to the first application an acknowledgement that the requested QoS metric has been achieved.
Fig. 1 illustrates an example of a communication system 100 suitable for implementing various embodiments. The communication system 100 may be a 5G NR network, or any other suitable network (such as an LTE network, a WiFi network, etc.). Although fig. 1 illustrates a 5G network, the offspring networks may include the same or similar elements. Accordingly, references to 5G networks and 5G network elements in the following description are for illustrative purposes and are not intended to be limiting.
Communication system 100 may include a heterogeneous network architecture including a core network 140 and various mobile devices (also referred to as User Equipment (UE) computing devices) (illustrated in fig. 1 as wireless devices 120a-120 e). The communication system 100 may also include several network devices 110a, 110b, 110c, 110d and other network entities, such as network nodes, NR base stations, etc. A network node, such as a base station, is an entity that communicates with wireless devices (mobile devices or UE computing devices) and may also be referred to as a NodeB, B node, LTE evolved node B (eNB), access Point (AP), radio head, transmission and Reception Point (TRP), new radio base station (NR BS), 5G NodeB (NB), next generation NodeB (gNB), etc.
In various communication network implementations or architectures, network nodes may be implemented as aggregated base stations, decomposed base stations, integrated Access and Backhaul (IAB) nodes, relay nodes, sidelink nodes, and the like. Also, in various communication network implementations or architectures, the network devices (or network entities) may be implemented in an aggregated or monolithic base station architecture, or alternatively, in an exploded base station architecture, and may include one or more of a Central Unit (CU), a Distributed Unit (DU), a Radio Unit (RU), a Near real-time (Near-RT) RAN Intelligent Controller (RIC), or a Non-real-time (Non-RT) RIC.
Each network node, RU, or base station may provide communication coverage for a particular geographic area. In 3GPP, the term "cell" can refer to a base station, RU, coverage area of a network node, a base station subsystem serving the coverage area, or a combination thereof, depending on the context in which the term is used.
Network devices 110a-110d (such as network nodes or base stations) may provide communication coverage for a macrocell, picocell, femtocell, another type of cell, or a combination thereof. A macro cell may cover a relatively large geographic area (e.g., several kilometers in radius) and may allow unrestricted access by mobile devices with service subscription. Picocells may cover a relatively small geographic area and may allow unrestricted access by mobile devices with service subscription. A femtocell may cover a relatively small geographic area (e.g., a residence) and may allow restricted access by mobile devices associated with the femtocell (e.g., mobile devices in a Closed Subscriber Group (CSG)).
A network device for a macro cell, such as a network node or a base station, may be referred to as a macro network device. A network device for a picocell may be referred to as a piconetwork device. The network device for the femto cell may be referred to as a femto network device or a home network device. In the example illustrated in fig. 1, network device 110a may be a macro network device for macro cell 102a, network device 110b may be a pico network device for pico cell 102b, and network device 110c may be a femto network device for femto cell 102 c. Network devices 110a-110d may support one or more (e.g., three) cells. The terms "network node", "RU", "eNB", "base station", "NR BS", "gNB", "TRP", "AP", "node B", "5G NB", and "cell" may be used interchangeably herein.
In some examples, a cell may not be stationary and the geographic area of the cell may move according to the location of the mobile network device. In some examples, network devices 110a-110d may be interconnected with each other and to one or more other network devices or network nodes (not illustrated) in communication system 100 through various types of backhaul interfaces, such as direct physical connections, virtual networks, or combinations thereof, using any suitable transport network.
Network devices 110a-110d may communicate with core network 140 over wired or wireless communication link 126. Wireless devices 120a-120e (UE computing devices) may communicate with network devices 110a-110d over wireless communication link 122.
The wired communication link 126 may use various wired networks (e.g., ethernet, TV cable, telephone, fiber optic, and other forms of physical network connections) that may 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).
Communication system 100 may also include a relay station (e.g., relay network device 110 d). A relay station is an entity that is capable of receiving a data transmission from an upstream station (e.g., a base station or mobile device) and sending the data transmission to a downstream station (e.g., a wireless device or network device). The relay station may also be a mobile device that can relay transmissions for other wireless devices. In the example illustrated in fig. 1, relay 110d may communicate with macro network device 110a and wireless device 120d to facilitate communication between network device 110a and wireless device 120 d. The relay station may also be referred to as a relay network device, relay RU, relay network node, relay base station, etc.
The communication system 100 may be a heterogeneous network including different types of network devices (e.g., macro network devices, pico network devices, femto network devices, relay network devices, etc.). These different types of network devices and network nodes (e.g., RUs, base stations, etc.) may have different transmit power levels, different coverage areas, and different effects on interference in communication system 100. For example, macro network devices may have a high transmit power level (e.g., 5 to 40 watts), while pico network devices, femto network devices, and relay network devices may have a lower transmit power level (e.g., 0.1 to 2 watts).
The network controller 130 may be coupled to a set of network devices and may provide coordination and control of these network devices. The network controller 130 may communicate with the network devices via a backhaul. The network devices may also communicate with each other directly or indirectly, e.g., via a wireless or wired backhaul.
The wireless devices (UE computing devices) 120a, 120b, 120c may be dispersed throughout the communication system 100, and each wireless device may be stationary or mobile. A wireless device can also be called an access terminal, UE, terminal, mobile station, subscriber unit, station, or the like.
Macro network device 110a may communicate with communication network 140 over wired or wireless communication link 126. Wireless devices 120a, 120b, 120c may communicate with network devices 110a-110d over wireless communication link 122.
The wireless communication links 122, 124 may include multiple carrier signals, frequencies, or frequency bands, each of which may include multiple logical channels. The wireless communication links 122 and 124 may utilize one or more Radio Access Technologies (RATs). Examples of RATs that may be used in the wireless communication link include: 3GPP LTE, 3G, 4G, 5G (e.g., NR), GSM, code Division Multiple Access (CDMA), wideband Code Division Multiple Access (WCDMA), worldwide Interoperability for Microwave Access (WiMAX), time Division Multiple Access (TDMA), and other mobile telephone communication technologies cellular RATs. Further examples of RATs that may be used in one or more of the various wireless communication links 122, 124 within the communication system 100 include medium range protocols such as Wi-Fi, LTE-U, LTE-direct, LAA, muLTEfire, and relatively short range RATs such as ZigBee, bluetooth, and bluetooth Low Energy (LE).
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 a plurality of (K) orthogonal subcarriers, which are also commonly referred to as tones, bins, etc. Each subcarrier may be modulated with data. In general, the modulation symbols are transmitted in the frequency domain for OFDM and in the time domain for SC-FDM. The spacing between adjacent subcarriers may be fixed and the total number of subcarriers (K) may depend on the system bandwidth. For example, the spacing of the subcarriers may be 15kHz, while the minimum resource allocation (referred to as a "resource block") may be 12 subcarriers (or 180 kHz). Thus, the nominal Fast Fourier Transform (FFT) size may be equal to 128, 256, 512, 1024 or 2048 for a system bandwidth of 1.25, 2.5, 5, 10 or 20 megahertz (MHz), respectively. The system bandwidth may also be divided into sub-bands. For example, a subband may cover 1.08MHz (i.e., 6 resource blocks), and there may be 1, 2, 4, 8, or 16 subbands for a system bandwidth of 1.25, 2.5, 5, 10, or 20MHz, respectively.
Although the description of some embodiments may use terminology and examples associated with LTE technology, the various embodiments may be applicable to other wireless communication systems, such as New Radio (NR) or 5G networks. NR may utilize OFDM with Cyclic Prefix (CP) on Uplink (UL) and Downlink (DL) and include support for half-duplex operation using Time Division Duplex (TDD). A single component carrier bandwidth of 100MHz may be supported. The NR resource block can span 12 subcarriers with a subcarrier bandwidth of 75kHz over a 0.1ms duration. Each radio frame may include 50 subframes having a length of 10 ms. Thus, each subframe may have a length of 0.2 ms. Each subframe may indicate a link direction (i.e., DL or UL) for data transmission, and the link direction of each subframe may be dynamically switched. Each subframe may include DL/UL data and DL/UL control data.
Beamforming may be supported and beam directions may be dynamically configured. Multiple-input multiple-output (MIMO) transmission with precoding may also be supported. MIMO configurations in DL can support up to 8 transmit antennas (multi-layer DL transmission with up to 8 streams) and up to 2 streams per wireless device. Multi-layer transmissions of up to 2 streams per wireless device may be supported. Up to 8 serving cells may be used to support aggregation of multiple cells. Alternatively, the NR may support a different air interface than the OFDM-based air interface.
Some mobile devices may 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 may communicate with a network device, another device (e.g., a remote device), or some other entity. The wireless node may provide connectivity to or to a network (e.g., a wide area network such as the internet or a cellular network), for example, via a wired or wireless communication link. Some mobile devices may be considered internet of things (IoT) devices, or may be implemented as NB-IoT (narrowband internet of things) devices. The wireless devices 120a-e may be included within a housing that houses various components of the wireless device, such as a processor component, a memory component, similar components, or a combination thereof.
In general, any number of communication systems and any number of wireless networks may be deployed in a given geographic area. Each communication system and wireless network may support a particular Radio Access Technology (RAT) and may operate on one or more frequencies. RATs may also be referred to as radio technologies, air interfaces, etc. The frequency may also be referred to as a carrier wave, frequency channel, etc. Each frequency may support a single RAT in a given geographical area in order to avoid interference between communication systems of different RATs. In some cases, NR or 5G RAT networks may be deployed.
In some implementations, two or more wireless devices 120a-e (e.g., illustrated as wireless device 120a and wireless device 120 e) may communicate directly (e.g., without network devices 110a-110d intermediating to each other) using one or more side link channels 124. For example, the wireless devices 120a-e may communicate using peer-to-peer (P2P) communication, device-to-device (D2D) communication, a vehicle-to-vehicle (V2X) protocol, which may include a vehicle-to-vehicle (V2V) protocol, a vehicle-to-infrastructure (V2I) protocol, or the like, a mesh network, or the like, or a combination thereof. In this case, wireless devices 120a-e may perform scheduling operations, resource selection operations, and other operations described elsewhere herein as being performed by network device 110 a.
Various embodiments may be implemented on several single processor and multiprocessor computer systems, including a system on a chip (SOC) or a System In Package (SIP). Fig. 2 illustrates an example computing system or SIP 200 architecture that may be used in a wireless device (UE computing device) implementing the various embodiments.
Referring to fig. 1 and 2, the illustrated example SIP 200 includes two SOCs 202, 204, a clock 206, and a voltage regulator 208. In some embodiments, the first SOC 202 operates as a Central Processing Unit (CPU) of the wireless device that executes instructions of the software application by performing arithmetic, logic, control, and input/output (I/O) operations specified by the instructions. In some embodiments, the second SOC 204 may operate as a dedicated processing unit. For example, the second SOC 204 may operate as a dedicated 5G processing unit responsible for managing high capacity, high speed (e.g., 5Gbps, etc.), and/or ultra-high frequency short wavelength length (e.g., 28GHz millimeter wave (mmWave) spectrum, etc.) communications.
The first SOC 202 may include a Digital Signal Processor (DSP) 210, a modem processor 212, a graphics processor 214, an application processor 216, one or more coprocessors 218 (e.g., vector coprocessors) connected to one or more of these 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, a plurality of mmWave transceivers 256, a memory 258, and various additional processors 260 (such as application processors, packet processors, etc.).
Each processor 210, 212, 214, 216, 218, 252, 260 may include one or more cores, and each processor/core may perform operations independent of the other processors/cores. For example, the first SOC 202 may include a processor executing a first type of operating system (e.g., freeBSD, LINUX, OS X, etc.) and a processor executing a second type of operating system (e.g., MICROSOFT WINDOWS 10). Additionally, any or all of the processors 210, 212, 214, 216, 218, 252, 260 may be included as part of a processor cluster architecture (e.g., a synchronous processor cluster architecture, an asynchronous or heterogeneous processor cluster architecture, etc.).
The first and second SOCs 202, 204 may include various system components, resources, and custom circuitry for managing sensor data, analog-to-digital conversion, wireless data transmission, and for performing other specialized operations, such as decoding data packets and processing encoded audio and video signals for presentation 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 used to support processors and software clients running on wireless devices. The 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, etc.
The first and second SOCs 202, 204 may communicate via an interconnect/bus module 250. The various processors 210, 212, 214, 216, 218 may be interconnected to one or more memory elements 220, system components and resources 224, and custom circuitry 222, as well as a thermal management unit 232 via an interconnect/bus module 226. Similarly, processor 252 may be interconnected to power management unit 254, millimeter wave transceiver 256, memory 258, and various additional processors 260 via an interconnect/bus module 264. The interconnect/bus modules 226, 250, 264 may include an array of reconfigurable logic gates and/or implement a bus architecture (e.g., coreConnect, AMBA, etc.). Communication may be provided by advanced interconnects, such as high performance network on chip (NoC).
The first and/or second SOCs 202, 204 may further include input/output modules (not illustrated) for communicating with resources external to the SOCs, such as the clock 206 and the voltage regulator 208. Resources external to the SOC (e.g., clock 206, voltage regulator 208) may be shared by two or more internal SOC processors/cores.
In addition to the example SIP 200 discussed above, the various embodiments may be implemented in a wide variety of computing systems, which may include a single processor, multiple processors, multi-core processors, or any combination thereof.
Fig. 3 is a component block diagram illustrating a software architecture 300 including a radio protocol stack (also referred to as a wireless protocol stack) for a user plane and a control plane in wireless communications, suitable for implementing any of the various embodiments. Referring to fig. 1-3, a wireless device 320 may implement a software architecture 300 to facilitate communication between the wireless device 320 (e.g., wireless devices 120a-120e, 200) and network devices 350 (e.g., network devices 110 a-d) of a communication system (e.g., 100). In some embodiments, layers in the software architecture 300 may form logical connections with corresponding layers in the software of the network device 350. The software architecture 300 may be distributed among one or more processors (e.g., processors 212, 214, 216, 218, 252, 260).
Although illustrated with respect to one radio protocol stack (or one wireless protocol stack), in a multi-SIM (subscriber identity module) wireless device, the software architecture 300 may include multiple protocol stacks, each of which may be associated with a different SIM (e.g., in a dual-SIM wireless communication device, two protocol stacks are associated with two SIMs, respectively). Although described below with reference to the LTE communication layer, the software architecture 300 may support any of a variety of standards and protocols for wireless communications and/or may include additional protocol stacks supporting any of a variety of standards and protocols for wireless communications.
The software architecture 300 may include a non-access stratum (NAS) 302 and an Access Stratum (AS) 304.NAS 302 may include functionality and protocols that support packet filtering, security management, mobility control, session management, and traffic and signaling between the SIM(s) of the wireless device and its core network 140. AS 304 may include functionality and protocols that support communication between SIM(s) and network devices (e.g., network nodes, RUs, base stations, etc.) of a supported access network. Specifically, AS 304 may include at least three layers (layer 1, layer 2, and layer 3), each of which may include various sublayers.
In the user plane and the control plane, layer 1 (L1) of the AS 304 may be a physical layer (PHY) 306 that may oversee the functionality of implementing transmission and/or reception over the air interface. Examples of such physical layer 306 functions may include Cyclic Redundancy Check (CRC) attachment, decoding blocks, scrambling and descrambling, modulation and demodulation, signal measurement, MIMO, and the like. The PHY layer 306 may include various logical channels including a Physical Downlink Control Channel (PDCCH) and a Physical Downlink Shared Channel (PDSCH). As an example, PHY layer 306 may support Channel State Information (CSI) measurements and reporting (e.g., channel Quality Indicator (CQI) measurements and reporting).
In the user plane and the control plane, layer 2 (L2) of AS 304 may be responsible for the link between wireless device 320 and network device 350 on physical layer 306. In various embodiments, layer 2 may include a Medium Access Control (MAC) sublayer 308, a Radio Link Control (RLC) sublayer 310, a Packet Data Convergence Protocol (PDCP) 312 sublayer, and a Service Data Adaptation Protocol (SDAP) 317 sublayer, each of which forms a logical connection terminating at the network device 350.
In the control plane, layer 3 (L3) of AS 304 may include a Radio Resource Control (RRC) sublayer 3. Although not shown, the software architecture 300 may include additional layer 3 sublayers, as well as various upper layers above layer 3. In various embodiments, the RRC sublayer 313 may provide functions including broadcasting system information, paging, and establishing and releasing RRC signaling connections between the wireless device 320 and the network device 350.
In various embodiments, the SDAP sublayer 317 may provide a mapping between quality of service (QoS) flows and Data Radio Bearers (DRBs). In various embodiments, the PDCP sublayer 312 may provide uplink functions including multiplexing between different radio bearers and logical channels, sequence number addition, handover data handling, integrity protection, ciphering and header compression. In the downlink, the PDCP sublayer 312 may provide functions including sequential delivery of data packets, duplicate data packet detection, integrity verification, ciphering and header decompression.
In the uplink, the RLC sublayer 310 may provide segmentation and concatenation of upper layer data packets, retransmission of lost data packets, and automatic repeat request (ARQ). While 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.
In the uplink, the MAC sublayer 308 may provide functions including multiplexing between logical and transport channels, random access procedures, logical channel priorities, and Hybrid ARQ (HARQ) operations. In the downlink, MAC layer functions may include channel mapping, demultiplexing, discontinuous Reception (DRX), and HARQ operations within a cell.
While the software architecture 300 may provide functionality for transferring data over a physical medium, the software architecture 300 may further include at least one host layer 314 to provide data transfer services to various applications in the wireless device 320. In some embodiments, the application-specific functionality provided by the at least one host layer 314 may provide an interface between a software architecture and a general-purpose processor.
In other embodiments, the software architecture 300 may include one or more higher logical layers (e.g., transport, session, presentation, application, etc.) that provide host layer functionality. In some embodiments, the software architecture 300 may include an application layer in which a logical connection is terminated to another device (e.g., an end user device, a server, etc.). In some embodiments, the software architecture 300 may further include a hardware interface 316 in the AS 304 between the physical layer 306 and communication hardware (e.g., one or more Radio Frequency (RF) transceivers).
In various network implementations or architectures, the different logic layers 308-317 may be implemented in an aggregated or monolithic base station architecture, or alternatively, in a split network device architecture, and the various logic layers may be implemented in one or more of a CU, DU, RU, near RT RAN Intelligent Controller (RIC) or non-real time (non-RT) RIC. Further, the network device 350 may be implemented as an aggregated base station, a disaggregated base station, an Integrated Access and Backhaul (IAB) node, a relay node, a sidelink node, and so forth.
Fig. 4 illustrates interactions between various stacked architecture layers in a transmitting communication device 401 and a receiving communication device 415 in accordance with various embodiments. Referring to fig. 1-4, the communication devices 401, 415 may each be any type of communication device (e.g., wireless devices 120a-120e, 200, 320, network devices 110a-d, 350) that implements the various embodiments. As a specific example, communication device 401 may be a network device (e.g., a gNB) of a 5G NR RAN, and communication device 415 may be a wireless device (also referred to as a UE).
Each communication device 401, 415 may include one or more higher data layers 402 configured to exchange data with a modem stack (or radio protocol stack or wireless protocol stack) 406. By way of example, the higher data layer 402 may be one or more application layers, one or more service layers, one or more messaging layers, an application layer, and the like. By way of example, the functionality performed in the higher data layer 402 may include an application 403 (e.g., a multicast application, a messaging application, etc.), a security service 404, an Internet Protocol (IP) service 405 (e.g., a Transmission Control Protocol (TCP) service, a Universal Datagram Protocol (UDP) service, etc.), other higher data layer functionality, or any combination thereof. In some embodiments, the higher data layer 402 and modem stack 406 on the communication device 401, 415 may run on the same processor of the communication device 401, 415. In some embodiments, the higher data layer 402 and modem stack 406 on the communication device 401, 415 may run on different processors of the communication device 401, 415. As an example, the higher data layer 402 may run on an application processor (e.g., application processor 216) and the modem stack 406 may run on a modem processor (e.g., modem processor 212, modem processor 252). Although illustrated in fig. 4 as being on the same communication device 401, 415, in some embodiments the higher data layer 402 may run on a processor of a separate communication device.
In some embodiments, the modem stack 406 may include a Service Data Adaptation Protocol (SDAP) layer 417, a Packet Data Convergence Protocol (PDCP) layer 407, a Radio Link Control (RLC) layer 408, a Medium Access Control (MAC) layer 409, and a Physical (PHY) layer 410.PHY 410 may be the lowest layer of modem stack 406 and PDCP layer 407 may be the highest layer of modem stack 406.
The SDAP layer 417 handles SDAP packets and can provide a mapping between quality of service (QoS) flows and Data Radio Bearers (DRBs). The SDAP entity of SDAP layer 417 can receive SDAP. The SDAP layer 417 may receive packets from the higher data layer 402 and may output packets to the PDCP layer 407. The SDAP layer 417 may receive packets from the PDCP layer 407 and may output packets to the higher layer 402.
The PDCP layer 407 may handle PDCP packets and may provide maintenance of PDCP SNs, header compression, ciphering and/or integrity protection, duplicate detection and discard, reordering, in-order delivery, out-of-order delivery, and the like for PDCP packets. The PDCP layer 407 may receive packets from the higher data layer 402 and/or the SDAP layer 417 and may output the packets to the RLC layer 408. The PDCP layer 407 may receive a packet from the RLC layer 408 and may output the packet to the higher layer 402 and/or the SDAP layer 417.
The RLC layer 408 may handle RLC packets and may provide error correction, segmentation, reassembly, reordering, duplicate detection, error detection, and/or error recovery for RLC packets. In addition, the RLC layer 408 may buffer RLC packets in a receive buffer, such as to support reordering, waiting for missing RLC packets, and the like. The RLC layer 408 may operate in different modes, such as an Acknowledged Mode (AM), a Unacknowledged Mode (UM), and a Transparent Mode (TM). The RLC layer 408 may receive packets from the PDCP layer 407 and may output the packets to the PDCP layer 407. The RLC layer 408 may receive packets from the MAC layer 409 and may output packets to the MAC layer 409.
The MAC layer 409 may handle various functions including mapping between logical channels and transport channels, multiplexing/demultiplexing MAC SDUs belonging to one logical channel or different logical channels onto Transport Blocks (TBs) delivered to the physical layer on the transport channels, scheduling information reporting, error correction by HARQ, priority handling between wireless devices by using dynamic scheduling, priority handling between logical channels of one wireless device by logical channel prioritization, and the like. The MAC layer 409 may receive a packet from the RLC layer 408 and may output the packet to the RLC layer 408. The MAC layer 409 may receive the packet from the PHY layer 410 and may output the packet to the PHY layer 410.
PHY layer 410 may handle PHY packets and may provide a communication interface between hardware (e.g., transceiver, antenna, etc.) supporting the physical transmission medium and higher layers of modem stack 406. PHY layer 410 may convert PHY packets into a bit stream for transmission and/or convert received bit streams into PHY packets. PHY layer 410 provides encoding, transmission, reception, and/or decoding for PHY packets. The PHY layer 410 may receive packets from the MAC layer 409 and may output packets to the MAC layer 409.
Packets passing to/from a higher data layer of the modem stack 406 may be referred to as Service Data Units (SDUs) in a given layer, and packets passing to/from a lower layer of the modem stack 406 may be referred to as Protocol Data Units (PDUs). For example, the packets received from the PDCP layer 407 into the RLC layer 408 and the packets transferred from the RLC layer 408 into the PDCP layer 407 may be referred to as RLC SDUs. Similarly, packets received from the MAC layer 409 into the RLC layer 408 and packets delivered from the RLC layer 408 into the MAC layer 409 may be referred to as RLC PDUs.
An SDU of one layer may be a PDU of the next higher layer as if the PDU of the layer were a SDU of the next lower layer. For example, an SDAP PDU transmitted from the SDAP layer 417 to the PDCP layer 407 may be referred to as a PDCP SDU upon being received by the PDCP layer 407. As another example, PDCP PDUs transmitted from the PDCP layer 407 to the RLC layer 408 may be referred to as RLC SDUs when received by the RLC layer 408. Similarly, a MAC SDU sent from the MAC layer 409 to the RLC layer 408 may be referred to as an RLC PDU upon receipt by the RLC layer 408.
Layers within the protocol stack may convert each PDU to each SDU and each SDU to each PDU by performing the respective operations assigned to the layer on each packet. For example, the RLC SDU may be segmented by the RLC layer 408 to convert the RLC SDU into one or more RLC PDUs. Similarly, a plurality of received RLC PDUs may be reordered and reassembled to convert the plurality of received RLC PDUs into RLC SDUs. In addition, a layer may add data to the packet to convert an SDU into a PDU, or a layer may remove data from the packet to convert a PDU into an SDU. For example, the RLC layer 408 may add packet headers/underfeeds to the RLC SDU to convert the RLC SDU into RLC PDUs. Similarly, the RLC layer 408 may remove packet headers/footers from the RLC PDU to convert the RLC PDU to an RLC SDU.
Referring to fig. 4, the following is an example of packet handling when one communication device 401 transmits a communication received by another communication device 415.
The application of the higher data layer 402 of the transmitting communication device 401 may generate packets of the message 420 for transmission to the application 403 of the receiving communication device. Packets of message 420 may be sent from the higher data layer 401 to the SDAP layer 417, which 417 may send the message as PDCP SDUs 419 to the PDCP layer 407 of the modem stack 406 on the transmitting communication device 401.
The PDCP layer 407 may receive the packets of the message as PDCP SDUs 419 and convert the PDCP SDUs into PDCP PDUs 421. The PDCP layer 407 may deliver the PDCP PDU 421 to the lower RLC layer 408.
The RLC layer 408 may receive the PDCP PDU 421 as an RLC SDU and may convert the RLC SDU (i.e., PDCP PDU 421) into one or more RLC PDUs 422 by, for example, adding RLC packet headers/underrun and/or application segmentation. As an example, when the RLC SDU (i.e., PDCP PDU 421) is greater than the maximum RLC PDU size, segmentation to split the RLC SDU into multiple RLC PDUs 422 may be required. When segmentation is applied to convert an RLC SDU into multiple RLC PDUs 422, each created RLC PDU 422 may be associated with a single RLC SDU (i.e., a single PDCP PDU 421). In addition, the RLC layer 408 may add sequence numbers to one or more RLC PDUs 422. The sequence number may indicate an ordering of one or more RLC PDUs 422. The RLC layer 408 may pass 424 one or more RLC PDUs 422 to a lower MAC layer 409, which lower MAC layer 409 may pass one or more MAC SDUs 424 to the physical layer 410. The Physical (PHY) layer may transfer SDU 426 to physical layer 410 on recipient UE 415. Similar processes occur in the protocol stack 406 on the receiving UE in SDU exchanges 428, 430, 432, 433, 434 between the physical layer 410, MAC layer 409, RLC layer 408, PDCP layer 407, and SDAP layer 417.
Fig. 5A illustrates an example of interactions in a communication link 500 between a wireless device 502 and a network device 504, in accordance with various embodiments. Referring to fig. 1-5A, wireless device 502 may be any type of wireless device (e.g., wireless devices 120a-120e, 200, 320, 401, 415) and the network devices may be any type of network devices 110a-110d, 350, 401, 415. The modem processor 505 of the wireless device 502 may control one or more RF resources of the wireless device 502 to establish one or more communication connections 530 (e.g., UL connections, DL connections, overhead signaling connections, etc.) with the network device 504.
The wireless device 502 may include an application processor 503 (e.g., application processor 216) and a modem processor 505 (e.g., modem processor 212, modem processor 252). A communication application 507 (e.g., webRTC application, media streaming application, messaging application, video telephony application, etc.) may run on the application processor 503. The communication application 507 is an example of an application 403 that may run on the application processor 503, and in various embodiments, other types of applications may be substituted for the communication application 507. The communication application 507 may be part of a higher data layer (e.g., higher data layer 402) that sends and/or receives data 524 (e.g., data 420 for transmission, received packets 434, etc.) to a wireless protocol stack 521 (e.g., modem stack 406) running on the modem processor 505.
The radio protocol stack 521 of the modem processor 505 may include various modules and layers such as a RAN reporting module 510, a QoS control module 511, a UDP layer 512, an IP layer 513, an RRC layer 515 (e.g., RRC layer 313), an SDAP layer 514 (e.g., SDAP layers 317, 417), a PDCP layer 516 (e.g., PDCP layers 312, 407), an RLC layer 518 (e.g., RLC layers 310, 408), a MAC layer 519 (e.g., MAC layers 308, 409), a PHY layer 520 (e.g., PHY layers 306, 410), and the like. Although illustrated as separate modules and/or layers, each illustrated module and/or layer may be combined together into one or more common modules and/or layers. For example, although illustrated as separate modules, RAN reporting module 510 and QoS control module 511 may be combined into a single module that performs both the operations of RAN reporting module 510 and the operations of QoS control module 511. In various embodiments, RAN reporting module 510 and/or QoS control module 511 may interface with various layers of wireless protocol stack 512, such as layers 512-520. In various embodiments, RAN reporting module 510 may and/or QoS control module 511 may interface with communication application 507. For example, RAN reporting module 510 and/or QoS control module 511 may interface with communication applications via an API or other communication path.
In various embodiments, qoS control module 511 may receive QoS requirements message 526 from communication application 507. For example, communication application 507 may send an indication to QoS control module 511 of QoS requirements message 526 for communication application 507. As an example, qoS requirement message 526 may include one or more of various QoS requirement indications. The QoS requirement indication may include an expected delay indication, an expected delay jitter indication, etc. as traffic prioritization requirements. As a specific example, qoS requirements message 526 may include traffic prioritization requirements, desired delay indications, and/or desired delay jitter indications. In various embodiments, qoS requirements may be determined at least in part using a model that maps a set of QoS metrics to quality of experience (QoE) associated with a target QoE. As an example, qoE may be measured by Mean Opinion Score (MOS). In various embodiments, qoS control module 511 may translate QoS requirement messages 526 received from communication application 507 into performance metrics for the various layers 512-520 of wireless protocol stack 521. In various embodiments, qoS control module 511 may perform logical channel prioritization based on performance metrics.
In various embodiments, qoS control module 511 may send performance metrics generated from QoS requirements message 526 to network device 504 via one or more communication connections 530. In various embodiments, network device 504 may accept or reject one or more of any performance metrics sent by QoS control module 511, e.g., based on network device 504 capabilities and/or resource availability. In various embodiments, network device 504 may allocate resources based at least in part on the performance metrics.
In various embodiments, qoS control module 511 and/or RAN reporting module 510 may indicate to application 507 whether modem processor 505 and/or network device 504 may satisfy one or more of QoS requirement messages 526. In various embodiments, qoS control module 511 and/or RAN reporting module 510 may indicate to application 507 the achieved QoS metrics of modem processor 505 and/or network device 504, such as achieved bit rate, delay jitter, packet loss, and the like.
In various embodiments, the RAN reporting module 510 may send information about the RAN statistics and/or event message 528 to the application 507. In some embodiments, information regarding RAN statistics and/or event messages 528 may be sent to the application 507 periodically. For example, the application 507 may register one or more types of RAN statistics and/or event messages 528 and may indicate the periodicity at which those RAN statistics and/or event messages 528 are typically to be reported. The RAN reporting module 510 may send information regarding registered RAN statistics and/or event messages 528 on an indicated periodicity. In some embodiments, information about RAN statistics and/or event messages 528 may be sent to the application 507 as needed. For example, the application 507 may send a query for one or more types of RAN statistics and/or event messages 528 and the RAN reporting module 510 may respond to the query with information about the queried RAN statistics and/or event messages 528.
In various embodiments, the RAN statistics may be attributes associated with the wireless connection(s) 530 between the modem processor 505 and the network device 504. As an example, the RAN statistics may be packet loss rate. As an example, the RAN statistics may be packet delays. As an example, the RAN statistics may be packet delay jitter and/or variation. As an example, the RAN statistics may be data rates. As a specific example, the data rate may be a measured data rate of UL and/or DL connections with network device 504. The data rate may be a raw data rate and/or a smoothed data rate (e.g., a data rate calculated with a smoothing factor). The data rate may include a time interval over which the data rate is calculated. As an example, the RAN statistics may be the available data rates. The available data rate may be used for UL or DL. The available data rates may be based on observed past data rates and resource allocations for future periods. The available data rates may be calculated locally by RAN reporting module 510. The available data rate may be calculated by the network device 504 and signaled to the modem processor 505. The available data rates may include an indication (e.g., a TTL value, etc.) of the time period during which the available data rates may be assumed to be valid. As an example, the RAN statistics may be recommended bit rates. In various embodiments, the RAN statistics may be associated with one or more different PDUs (or transport blocks) of the radio protocol stack 521. For example, RAN statistics may be associated with one or more of SDAP PDUs, PDCP PDUs, RLC PDUs, MAC PDUs, and the like. As a specific example, RAN statistics may be associated with SDAP PDUs, PDCP PDUs, RLC PDUs, and/or MAC PDUs for the 5G NR RAN, PDCP PDUs, RLC PDUs, and/or MAC PDUs for the LTE RAN, and MAC PDUs for the WiFi RAN.
In various embodiments, the RAN event may be an event associated with wireless connection(s) 530 between modem processor 505 and network device 504. In various embodiments, an indication of the RAN event may be sent from the RAN reporting module 510 to the application 505. As an example, the RAN event may be a handover event. As a specific example, the indication about the RAN event may be an indication that a handover has started, that a handover has completed, etc. As an example, the RAN event may be a radio link failure. As a specific example, the indication about the RAN event may be an indication about the radio link failure, the radio link being established, etc. As an example, the RAN event may be DRX. As a specific example, the indication about the RAN event may be an indication about a DRX sleep time, a DRX wake time, etc. As an example, the RAN event may be a service interruption. As a specific example, the indication about the RAN event may be an indication about a start time of a service outage, an expected time to resume service, etc. As an example, the RAN event may be a loss or delay of a particular type of application layer packet. In various embodiments, RAN reporting module 510 may store an indication of the mapping of application layer packets (e.g., RTP packets) to PDUs of various layers 512-520 with which the application layer packets are associated when the application layer packets are prepared for transmission by wireless device 502. RAN reporting module 510 may compare the indication of the lost and/or delayed PDU with a stored mapping of application layer packets to determine an application layer packet mapped to the lost and/or delayed PDU. In various embodiments, RAN reporting module 510 may report the loss of an application layer packet based on the loss of a PDU to which the application layer packet may be mapped. In various embodiments, RAN reporting module 510 may report the delay of an application layer packet based on the delay of a PDU to which the application layer packet may be mapped.
In various embodiments, modem processor 505 may receive messages, such as reports, MAC CEs, other types of messages, etc., from network device 504. The received message may include an indication associated with one or more RAN statistics and/or events. In various embodiments, RAN reporting module 510 may process received messages (such as reports, MAC CEs, other types of messages, etc.), and/or RAN reporting module 510 may observe one or more RAN statistics and/or events locally. In various embodiments, RAN reporting module 510 may generate one or more reports of indication information from received messages and/or locally observed RAN statistics and/or events and may send the one or more reports as RAN statistics and/or event messages 528 to application 507.
Fig. 5B is a block diagram 550 illustrating an example of interactions between a first wireless device 502A and a second wireless device 502B, in accordance with various embodiments. Referring to fig. 1-5B, both the first wireless device 502A and the second wireless device 502B may be examples of the wireless device 502 discussed with reference to fig. 5A. Each of the first wireless device 502A and the second wireless device 502B may establish its own wireless connection 530A and 530B with its own respective network device 504A and 504B. Both wireless connections 530A and 530B and network devices 504A and 504B may be examples of wireless connections 530 and network devices 504 discussed with reference to fig. 5A. Network devices 504A and 504B may be part of respective RANs connected to one or more core networks 560 (e.g., core network 140), which may support communication connections between network devices 504A and 504B via their respective RANs, core networks 560, and any intermediary networks, such as the internet. In this manner, network devices 504A and 504B may enable wireless devices 502A and 502B to establish a communication path with each other. Via these communication paths, wireless devices 502A and 502B may exchange one or more messages 561 with each other via core network 560.
In various embodiments, the one or more messages 561 exchanged between the wireless devices 502A and 502B may include a message 562 (such as QoS requirements and/or RAN statistics and/or events) sent from the communication application 507 of the first wireless device 502A to the communication application 507 of the second wireless device 502B. The QoS requirements of the communication applications 507 sent to the second wireless device 502B may be QoS requirements that the communication applications 507 of the first wireless device 502A are requesting and/or that the communication applications 507 of the second wireless device 502B and/or the second wireless device 502B achieve to support application data exchanged between the applications 507. The RAN statistics and/or events from the communication application 507 of the first wireless device 502A may be RAN statistics and/or events associated with the wireless connection 530A between the first wireless device 502A and the network device 504A.
In various embodiments, the one or more messages 561 exchanged between the wireless devices 502A and 502B may include a message 563 (such as QoS requirements and/or RAN statistics and/or events) sent from the communication application 507 of the second wireless device 502B to the communication application 507 of the first wireless device 502A. The QoS requirements of the communication applications 507 sent to the first wireless device 502A may be QoS requirements that the communication applications 507 of the second wireless device 502B are requesting and/or that the communication applications 507 of the first wireless device 502A and/or the first wireless device 502A achieve to support application data exchanged between the applications 507. The RAN statistics and/or events from the communication application 507 of the second wireless device 502B may be RAN statistics and/or events associated with the wireless connection 530B between the second wireless device 502B and the network device 504B.
As an example of message 562, the communication application 507 of the first wireless device 502A may send a request, such as a RAN information request, to the communication application 507 of the second wireless device 502B. The RAN information request may be a query asking whether the second wireless device 502B is on the RAN, and if so, a request to provide a type of RAN (e.g., LTE, 5G NR, wiFi, etc.), and a request for a report of statistics and/or events for the RAN of the second wireless device 502B. In various embodiments, the communication application 507 of the second wireless device 502B may report RAN statistics and/or events back to the communication application 507 of the first wireless device 502A via message 563 periodically and/or in response to a query, as needed. Example RAN statistics and/or events that may be reported by the communication application 507 of the second wireless device 502B to the communication application 507 of the first wireless device 502A may include packet loss rate, packet delay jitter and/or variation, data rate, available data rate, recommended data rate, handover event, radio link failure event, and/or DRX event (e.g., sleep, awake, etc.).
As another example of message 562, the communication application 507 of the first wireless device 502A may send a QoS requirement message to the communication application 507 of the second wireless device 502B in response to the communication application 507 of the second wireless device 502B indicating that the second wireless device 502B is on the RAN. In various embodiments, the QoS requirement message may indicate that the communication application 507 of the second wireless device 502B should attempt to meet the QoS requirements. QoS requirements may include one or more of the following: data amount; a maximum bit rate; average bit rate; maximum delay; average delay; maximum delay jitter; an average value of absolute values of delay jitter; maximum packet loss rate; and/or average packet loss rate. In various embodiments, qoS requirements may be determined at least in part using a model that maps a set of QoS metrics to QoE associated with a target QoE. As an example, qoE may be measured by MOS.
The communication application 507 of the second wireless device 502B may send QoS requirements received from the communication application 507 of the first wireless device 502A to the modem processor 505 of the second wireless device 502B in message 562. The QoS control module 511 of the second wireless device 505 may translate QoS requirements received from the communication application 507 of the first wireless device 502A into performance metrics for various layers (such as layers 512-520) in the wireless protocol stack 521 of the second wireless device 502B. In various embodiments, qoS control module 511 of second wireless device 502B may send one or more of these performance metrics to network device 504B. Network device 504B may accept or reject one or more of any performance metrics sent by QoS control module 511 of second wireless device 502B, e.g., based on network device 504 capabilities and/or resource availability. Network device 504B may allocate resources based at least in part on the performance metrics. The modem processor 505 of the second wireless device 507 may perform logical channel prioritization based on the performance metrics. The RAN reporting module 510 of the second wireless device 502B may indicate to the communication application 507 of the second wireless device 502B whether the modem processor 505 and/or the network device 504B of the second wireless device 502B may meet one or more of the QoS requirements. The communication application 507 of the second wireless device 502B may send an indication as to the communication application 507 of the first wireless device 502A as a message 563 as to whether the modem processor 505 of the second wireless device 502B and/or the network device 504B may meet one or more of the QoS requirements.
As another example of message 562, the communication application 507 of the first wireless computing device 502A may send an indication of the QoS metrics it achieved with its own respective network device 504A to the communication application 507 of the second wireless device 502B. For example, the achieved QoS metrics may include achieved bit rate, delay jitter, packet loss, and the like. The communication application 507 of the second wireless device 502B may determine its own resource change allocation based on the QoS metric achieved by the communication application 507 of the first wireless device 502A. As an example, if the communication application 507 of the first wireless device 502A is experiencing a high queuing delay, the communication application 507 of the second wireless device 502B may prioritize the same traffic flow to reduce the queuing delay at the communication application 507 of the second wireless device 502B to keep the total delay low enough to be acceptable. As an example of message 563, the communication application 507 of the second wireless device 502B may indicate to the communication application 507 of the first wireless device 502A an acknowledgement that the requested QoS metric has been achieved.
Fig. 6 illustrates a process flow diagram that understands an example method 600 for supporting application level discovery of RAN statistics and/or events in accordance with various embodiments. Referring to fig. 1-6, the method 600 may be implemented by an application processor (e.g., application processor 216, 503, etc.) and a modem processor (e.g., 212, 252) of a wireless device (e.g., wireless device 120a-120e, 200, 320, 401, 415, 502A, 502B, etc.).
At block 602, an application processor may perform operations to determine one or more RAN statistics and/or events of interest. As examples, RAN statistics and/or events of interest may include delay indications, delay jitter indications, packet loss rates, handover events, data rates, available data rates, recommended bit rates, radio link failures, discontinuous reception events, service interruptions, loss or delay of a particular type of application layer packet, and so forth.
At block 604, the application processor may perform operations to send a query to a modem processor (e.g., modem processor 212, 252, 272, 505, etc.) of a wireless device (e.g., wireless device 120a-120e, 200, 320, 401, 415, 502A, 502B, etc.) for one or more RAN statistics and/or events of interest.
At block 606, the application processor may perform operations to receive RAN statistics and/or event messages from the modem processor that include one or more RAN statistics and/or events of interest.
At block 608, the application processor may perform operations to control the output of the application data based at least in part on the received RAN statistics and/or event messages. As a specific example, the RAN statistics and/or events of interest indicated in the RAN statistics and/or event message may be an indication that a handover event is occurring. The application processor may perform operations such that an application running on the application processor (e.g., communication application 507, etc.) may cease sending data packets to the modem processor during the handoff. As another specific example, the RAN statistics and/or events of interest indicated in the RAN statistics and/or event message may be an indication that the handover event has been completed and/or that the data transfer rate may be increased. The application processor may perform operations such that an application running on the application processor (e.g., communication application 507, etc.) may increase the data transmission rate to the modem processor in response to receiving an indication that the handoff event has been completed and/or that the data transmission rate may be increased.
Fig. 7 illustrates a process flow diagram that understands an example method 700 for supporting application level discovery of RAN statistics and/or events in accordance with various embodiments. Referring to fig. 1-7, method 700 may be implemented by a modem processor (e.g., 212, 252, 272, 505, etc.) of a wireless device (e.g., wireless device 120a-120e, 200, 320, 401, 415, 502A, 502B, etc.). In various embodiments, the operations of method 700 may be performed in conjunction with the operations of method 600 (fig. 6).
At block 702, the modem processor may perform operations to observe RAN statistics and/or events locally. In various embodiments, the RAN statistics and/or events that may be observed locally may be any RAN statistics and/or events that may be observed by a radio protocol stack (e.g., radio protocol stacks 406, 521, etc.) running on the modem processor. Examples of RAN statistics and/or events may include delay indications, delay jitter indications, packet loss rates, handover events, data rates, available data rates, recommended bit rates, radio link failures, discontinuous reception events, service interruptions, loss or delay of a particular type of application layer packet, etc.
At block 704, the modem processor may perform operations to receive RAN statistics and/or event messages from network devices (e.g., 110a-110d, 350, 401, 415, etc.). Examples of RAN statistics and/or event messages received from network devices may include packet loss reports, packet delay jitter reports, packet delay variation reports, bit rate reports, network event messages, recommended bit rate messages including time intervals during which recommended bit rates are valid, UL per packet loss reports, and so forth. The various reports received from the network device may be different types of messages, such as MAC CEs or any other type of message or report.
At block 706, the modem processor may perform operations to receive a query from an application processor (e.g., application processor 216, 503, etc.) for one or more RAN statistics and/or events of interest. For example, the query may be the query discussed with reference to block 604 of method 600 (FIG. 6).
At block 708, the modem processor may perform operations to generate a RAN statistics and/or event message including one or more RAN statistics and/or events of interest based at least in part on the received query. As examples, RAN statistics and/or events of interest may include delay indications, delay jitter indications, packet loss rates, handover events, data rates, available data rates, recommended bit rates, radio link failures, discontinuous reception events, service interruptions, loss or delay of a particular type of application layer packet, and so forth.
At block 710, the modem processor may perform operations to send RAN statistics and/or event messages including one or more RAN statistics and/or events of interest to the application processor.
Fig. 8 illustrates a process flow diagram that understands an example method 800 for supporting application level discovery of RAN statistics and/or events in accordance with various embodiments. Referring to fig. 1-8, method 800 may be implemented by a processor of a network device (e.g., 110a-110d, 350, 401, 415). In various embodiments, the operations of method 800 may be performed in conjunction with the operations of methods 600 (fig. 6) and/or 700 (fig. 7).
At block 802, a processor of a network device may determine RAN statistics and/or event occurrence. Examples of RAN statistics and/or event occurrences may include detecting packet loss, detecting packet delay, calculating packet delay jitter, calculating packet delay variation, changing bit rate, reaching a set periodicity, changing recommended bit rate, detecting UL per packet loss, receiving a request for RAN statistics and/or event reports from a wireless device, and so forth.
At block 804, the processor of the network device may generate RAN statistics and/or event messages. Examples of RAN statistics and/or event messages may include packet loss reports, packet delay jitter reports, packet delay variation reports, bit rate reports, network event messages, recommended bit rate messages including time intervals during which recommended bit rates are valid, UL per packet loss reports, and so forth. The various reports may be different types of messages, such as MAC CEs or any other type of message or report.
At block 806, the processor of the network device may send RAN statistics and/or event messages. For example, the network device may send RAN statistics and/or event messages to the wireless device.
Fig. 9 illustrates a process flow diagram that understands an example method 900 for application-level signaling to support QoS requirements in accordance with some embodiments. Referring to fig. 1-9, the method 900 may be implemented by an application processor (e.g., application processor 216, 503, etc.) and a modem processor (e.g., 212, 252) of a wireless device (e.g., wireless device 120a-120e, 200, 320, 401, 415, 502A, 502B, etc.). In some embodiments, the operations of method 900 may be performed in conjunction with the operations of methods 600 (fig. 6), 700 (fig. 7), and/or 800 (fig. 8).
At block 902, the application processor may perform operations to determine QoS requirements for an application (e.g., communication application 507, etc.). QoS requirements for an application may include an amount of data, a maximum bit rate, an average bit rate, a maximum delay, an average delay, a maximum delay jitter, an average of absolute values of delay jitter, a maximum packet loss rate, or an average packet loss rate. QoS requirements may be associated with various attributes such as settings of applications, user preferences, device capabilities, and the like. In some embodiments, the QoS requirements may be determined at least in part using a model that maps a set of QoS metrics to QoE associated with the target QoE. As an example, qoE may be measured by MOS.
At block 904, the application processor may perform operations to generate a QoS requirement message indicating the determined QoS requirement.
At block 906, the application processor may perform operations to send a QoS requirement message to a modem processor (e.g., modem processor 212, 252, 272, 505, etc.).
At block 908, the application processor may perform operations to receive a response from the modem processor. The response may indicate whether the QoS requirements are met and/or an actual QoS metric implemented by the modem processor.
Fig. 10 illustrates a process flow diagram that understands an example method 1000 for application-level signaling to support QoS requirements in accordance with some embodiments. Referring to fig. 1-10, method 1000 may be implemented by a modem processor (e.g., modem processor 212, 252, 272, 505, etc.) of a wireless device (e.g., wireless device 120a-120e, 200, 320, 401, 415, 502A, 502B, etc.). In some embodiments, the operations of method 1000 may be performed in conjunction with the operations of methods 600 (fig. 6), 700 (fig. 7), 800 (fig. 8), and/or 900 (fig. 9).
At block 1002, an application processor may perform operations to receive a QoS requirement message from an application processor (e.g., application processor 216, 503, etc.). The QoS requirements message may indicate QoS requirements such as data amount, maximum bit rate, average bit rate, maximum delay, average delay, maximum delay jitter, average of absolute values of delay jitter, maximum packet loss rate, or average packet loss rate. In some embodiments, the QoS requirements may be determined at least in part using a model that maps a set of QoS metrics to QoE associated with the target QoE. As an example, qoE may be measured by MOS. As an example, the QoS requirement message may be the QoS requirement message sent in block 904 of method 900 (fig. 9).
At block 1002, a modem processor may perform operations to convert QoS requirements in a QoS requirements message to performance metrics. For example, the modem processor may translate QoS requirements indicated from the application level into performance metrics of one or more layers of the wireless protocol stack (e.g., wireless protocol stacks 406, 521, etc.), such as performance metrics of the SDAP layer, PDCP layer, RLC layer, MAC layer, PHY layer, etc. Additionally or alternatively, the modem processor may translate the QoS requirements into performance metrics associated with the network device, such as performance metrics controlled by operation of the network device.
At decision block 1004, the modem processor may perform operations to determine whether the performance metrics are associated with network devices (e.g., 110a-110d, 350, 401, 415).
In response to determining that the performance metric is associated with the network device (i.e., determination block 1006 = "yes"), the modem processor may perform operations at block 1008 to send an indication of the performance metric to the network device (e.g., 110a-110d, 350, 401, 415, etc.).
At block 1010, the modem processor may perform operations to receive an indication of performance metric implementation by the network device. The indication of performance metric implementation may indicate whether the network device accepted or rejected the performance metric.
In response to determining that no performance metrics are associated with the network device (i.e., determination block 1006 = "no") or in response to receiving an indication of performance metric implementation by the network device in block 1010, the modem processor may perform operations to control the wireless protocol stacks (e.g., wireless protocol stacks 406, 521, etc.) to implement the performance metrics in block 1012. As an example, the modem processor may perform logical channel prioritization based on the performance metrics.
At block 1014, the modem processor may perform operations to determine the achieved QoS metric. For example, the modem processor may determine the actual QoS metric resulting from attempting to achieve the QoS requirement.
At block 1016, the modem processor may perform operations to send a response to the application processor indicating the achieved QoS metric.
Fig. 11 illustrates a process flow diagram that understands an example method 1100 for application-level signaling to support QoS requirements in accordance with some embodiments. Referring to fig. 1-11, method 1100 may be implemented by a processor of a network device (e.g., 110a-110d, 350, 401, 415). In some embodiments, the operations of method 1000 may be performed in conjunction with the operations of methods 600 (fig. 6), 700 (fig. 7), 800 (fig. 8), 900 (fig. 9), and/or 1000 (fig. 10).
At block 1102, a processor of a network device may receive an indication of a performance metric from a wireless device (e.g., wireless devices 120a-120e, 200, 320, 401, 415, 502A, 502B, etc.).
At decision block 1104, the processor of the network device may determine whether the performance metric is acceptable. In some embodiments, a network device of the RAN (such as network node, RU, gNB, eNB, AP, etc.) may accept or reject one or more of any performance metrics sent by a modem processor of the wireless device, e.g., based on network device capabilities and/or resource availability.
In response to determining that the performance metric is acceptable (i.e., determination block 1104 = "yes"), the processor of the network device may implement the performance metric in block 1106. In some embodiments, network devices of the RAN (such as network nodes, RU, gNB, eNB, AP, etc.) may allocate resources based at least in part on the performance metrics.
Responsive to determining that the performance metric is not acceptable (i.e., determination block 1104 = "no") or responsive to implementing the performance metric in block 1106, the processor of the network device may send an indication of performance metric implementation in block 1108. As an example, the indication of performance metric implementation may indicate that the performance metric is rejected by the network device, that the performance metric is accepted by the network device, that QoS metrics are achieved by the network device (e.g., such as achieved bit rate, delay jitter, packet loss, etc.).
Fig. 12 is a call flow diagram illustrating example interactions between a local application 1202 (e.g., communication application 507, etc.), a wireless protocol stack 1204 (e.g., wireless protocol stacks 406, 521, etc.), and a first network device (e.g., 110a-110d, 350, 401, 415) for supporting RAN statistics and/or event application-level discovery and for supporting QoS requirements, in accordance with some embodiments. Referring to fig. 1-12, a local application 1202 and a wireless protocol stack 1204 may run on one or more processors (e.g., application processors 216, 503, modem processors 212, 252, 272, 505, etc.) of a first wireless device 1201 (e.g., wireless devices 120a-120e, 200, 320, 401, 415, 502A, 502B, etc.). In some embodiments, the interactions illustrated in fig. 12 may be interactions according to one or more operations of methods 600 (fig. 6), 700 (fig. 7), 800 (fig. 8), 900 (fig. 9), 1000 (fig. 10), and/or 1100 (fig. 11). As a specific example, network device 1206 may be a gNB of a 5G NR RAN. However, the network device 1206 may be any type of network device, such as RU, eNB, AP, etc.
In operation 1210, the network device 1206 may send one or more RAN statistics and/or event messages to the wireless protocol stack 1204 of the first wireless device 1201. As an example, network device 1206 may send a MAC CE and/or other type of report to wireless device 1201 indicating RAN statistics and/or RAN events.
In operation 1211, the local application 1202 may send a query to the wireless protocol stack 1204 of the first wireless device 1201 for one or more RAN statistics and/or events of interest.
In operation 1212, the wireless protocol stack 1204 may send a RAN statistics and/or event message including one or more RAN statistics and/or events of interest to the local application of the first wireless device 1201.
In operation 1213, the local application may send a QoS requirement message to the wireless protocol stack 1204 of the first wireless device 1201 indicating the determined QoS requirement for the local application 1202.
In operation 1214, the wireless protocol stack 1204 may convert the QoS requirements indicated in the QoS requirements message into performance metrics and send the performance metrics to the first network device 1206. In addition, the wireless protocol stack 1204 may implement the converted performance metrics themselves, such as performance metrics of an SDAP layer, a PDCP layer, an RLC layer, a MAC layer, a PHY layer, and the like.
In operation 1215, the first network device 1206 may send an indication of the performance metric implementation to the wireless protocol stack 1204 of the first wireless device 1201.
In operation 1216, the wireless protocol stack 1204 may send a response to the local application 1202 indicating the achieved QoS metric. The achieved QoS metric may be the achieved QoS metric of wireless protocol stack 1204 and/or network device 1206.
Fig. 13A illustrates a process flow diagram that understands an example method 1300 for supporting application level discovery of RAN statistics and/or events, according to some embodiments. Referring to fig. 1-13A, method 1300 may be implemented by an application processor (e.g., application processor 216, 503, etc.) and a modem processor (e.g., 212, 252) of a wireless device (e.g., wireless device 120a-120e, 200, 320, 401, 415, 502A, 502B, 1201, etc.). The operations of method 1300 may be performed in conjunction with the operations of methods 600 (fig. 6), 700 (fig. 7), 800 (fig. 8), 900 (fig. 9), 1000 (fig. 10), and/or 1100 (fig. 11).
At block 1302, the application processor may perform operations to establish an application-level interface with an application (e.g., communication application 507, etc.) of a second wireless device (e.g., wireless devices 120a-120e, 200, 320, 401, 415, 502A, 502B, 1201, etc.).
At block 1304, the application processor may obtain information about one or more RAN statistics or events of interest from the modem processor. In some embodiments, the modem processor may determine this information based on monitoring the current communication and provide the information to the application processor. In some embodiments, the modem processor may obtain this information from another remote (i.e., second) wireless device via exchange of messages as described herein. In some embodiments, the modem processor may obtain this information from the network device of the connected RAN.
At block 1305, the application processor may take action to adapt communication with the remote wireless device based on information about one or more RAN statistics or events of interest. In some embodiments, the application processor may take action to adapt the data output or data processing in view of RAN statistics or events of interest of the second wireless device as received by the modem processor, as described in more detail herein. In some embodiments, the application processor may communicate RAN statistics or events of interest obtained from the modem processor to the second wireless device, as described in more detail herein.
Fig. 13B illustrates a process flow diagram that understands an example method 1320 for supporting application level discovery of RAN statistics and/or events in accordance with some embodiments. Referring to fig. 1-13B, the method 1320 may be implemented by an application processor (e.g., application processor 216, 503, etc.) and a modem processor (e.g., 212, 252) of a wireless device (e.g., wireless device 120a-120e, 200, 320, 401, 415, 502A, 502B, 1201, etc.). The operations of method 1300 may be performed in conjunction with the operations of methods 600 (fig. 6), 700 (fig. 7), 800 (fig. 8), 900 (fig. 9), 1000 (fig. 10), and/or 1100 (fig. 11).
At block 1302, the application processor may perform operations to establish an application-level interface with an application (e.g., communication application 507, etc.) of a second wireless device (e.g., wireless devices 120a-120e, 200, 320, 401, 415, 502A, 502B, 1201, etc.).
At block 1306, the application processor may perform operations to determine one or more RAN statistics and/or events of interest associated with the application on the second wireless device. As examples, RAN statistics and/or events of interest may include delay indications, delay jitter indications, packet loss rates, handover events, data rates, available data rates, recommended bit rates, radio link failures, discontinuous reception events, service interruptions, loss or delay of a particular type of application layer packet, and so forth.
At block 1308, the application processor may perform operations to send a RAN information request to an application of the second wireless device indicating one or more RAN statistics and/or events of interest.
At block 1310, the application processor may perform operations to receive RAN statistics and/or event messages including one or more RAN statistics and/or events of interest from an application of the second wireless device.
At block 1312, the application processor may perform operations to control the output of application data based at least in part on the received RAN statistics and/or event messages. As a specific example, RAN statistics and/or events of interest indicated in the RAN statistics and/or event message from the application of the second wireless device may be an indication that a handover event is occurring at the second wireless device. The application processor may perform operations such that an application running on the application processor (e.g., communication application 507, etc.) may cease sending data packets to the application of the second wireless device. As another specific example, the RAN statistics and/or events of interest indicated in the RAN statistics and/or event message from the application of the second wireless device may be an indication that the handover event has been completed at the second wireless device. The application processor may perform operations such that an application running on the application processor (e.g., communication application 507, etc.) may increase the data transfer rate of the application of the second wireless device in response to receiving an indication that the handoff event has been completed.
Fig. 14 illustrates a process flow diagram that understands an example method 1400 for supporting application level discovery of RAN statistics and/or events, according to some embodiments. Referring to fig. 1-14, the method 1400 may be implemented by an application processor (e.g., application processor 216, 503, etc.) and a modem processor (e.g., 212, 252) of a wireless device (e.g., wireless device 120a-120e, 200, 320, 401, 415, 502A, 502B, 1201, etc.). The operations of method 1400 may be performed in conjunction with the operations of methods 600 (fig. 6), 700 (fig. 7), 800 (fig. 8), 900 (fig. 9), 1000 (fig. 10), 1100 (fig. 11), and/or 1300 (fig. 13).
At block 1302, the application processor may perform operations to establish an application-level interface with an application (e.g., communication application 507, etc.) of a second wireless device (e.g., wireless devices 120a-120e, 200, 320, 401, 415, 502A, 502B, 1201, etc.), as discussed with reference to method 1300 (fig. 13).
At block 1402, the application processor may perform operations to receive a RAN information request from an application of a second wireless device indicating one or more RAN statistics and/or events of interest. As examples, RAN statistics and/or events of interest may include delay indications, delay jitter indications, packet loss rates, handover events, data rates, available data rates, recommended bit rates, radio link failures, discontinuous reception events, service interruptions, loss or delay of a particular type of application layer packet, and so forth.
At blocks 602-606, the application processor may perform the operations of the same numbered blocks of method 600 (fig. 6) to determine one or more RAN statistics and/or events, send queries for one or more RAN statistics and/or events of interest to a modem processor (e.g., modem processor 212, 252, 272, 505, etc.), and receive RAN statistics and/or event messages from the modem processor that include the one or more RAN statistics and/or events of interest.
At block 1404, the application processor may perform operations to send RAN statistics and/or event messages including one or more RAN statistics and/or events of interest to an application of the second wireless device.
Fig. 15 is a call flow diagram illustrating example interactions between a local application 1202 running on a first wireless device application processor and a remote application (e.g., communication application 507, etc.) running on a second wireless device application processor for supporting application level discovery of RAN statistics, in accordance with some embodiments. Referring to fig. 1-15, the remote application 1502 may be an application running on one or more processors (e.g., application processors 216, 503, modem processors 212, 252, 272, 505, etc.) of a second wireless device 1501 (e.g., wireless devices 120a-120e, 200, 320, 401, 415, 502A, 502B, etc.) separate from the first wireless device 1201 or remote from the first wireless device 1201. The second wireless device 1501 and the first wireless device 1201 may be in wireless communication with each other such that an application level interface between the wireless devices 1201 and 1501 may be established. The wireless protocol stack 1504 (e.g., wireless protocol stacks 406, 521, etc.) may run on one or more processors (e.g., application processors 216, 503, modem processors 212, 252, 272, 505, etc.) of a second wireless device 1501 (e.g., wireless devices 120a-120e, 200, 320, 401, 415, 502A, 502B, etc.). The second wireless device 1501 may be connected to a second network device 1506. The second network device 1506 may be part of a RAN separate from the first network device 1206. The interactions illustrated in fig. 15 may be interactions according to one or more operations of methods 600 (fig. 6), 700 (fig. 7), 800 (fig. 8), 900 (fig. 9), 1000 (fig. 10), 1100 (fig. 11), 1300 (fig. 13), and/or 1400 (fig. 14). As a specific example, network device 1206 may be a gNB of a 5G NR RAN. However, the network device 1206 may be any type of network device, such as RU, eNB, AP, etc.
In operation 1511, the local application 1202 of the first wireless device 1201 may send a RAN information request to the remote application 1502 of the second wireless device 1501. The RAN information request may indicate RAN statistics and/or events of interest such as delay indications, delay jitter indications, packet loss rates, handover events, data rates, available data rates, recommended bit rates, radio link failure, discontinuous reception events, service interruption, loss or delay of a particular type of application layer packet, etc.
In operation 1512, the remote application 1502 may send a query to the wireless protocol stack 1504 for one or more RAN statistics of interest indicated in the RAN information request.
In operation 1513, the wireless protocol stack 1504 may send a RAN statistics and/or event message including one or more RAN statistics and/or events of interest to the remote application 1502.
In operation 1514, the remote application 1502 may send a RAN information response message to the local application 1202 including one or more RAN statistics and/or events of interest.
Fig. 16 illustrates a process flow diagram that understands an example method 1600 for application-level signaling to support QoS requirements in accordance with some embodiments. Referring to fig. 1-16, the method 1600 may be implemented by an application processor (e.g., the application processor 216, 503, etc.) of a wireless device (e.g., the wireless devices 120a-120e, 200, 320, 401, 415, 502A, 502B, 1201, 1501, etc.). The operations of method 1600 may be performed in conjunction with the operations of methods 600 (fig. 6), 700 (fig. 7), 800 (fig. 8), 900 (fig. 9), 1000 (fig. 10), 1100 (fig. 11), 1300 (fig. 13), and/or 1400 (fig. 14).
At block 1302, the application processor may perform operations to establish an application-level interface with an application (e.g., communication application 507, etc.) of a second wireless device (e.g., wireless devices 120a-120e, 200, 320, 401, 415, 502A, 502B, 1201, etc.), as discussed with reference to method 1300 (fig. 13).
At block 1602, the application processor may perform operations to determine QoS requirements for an application of a second wireless device. QoS requirements for an application of the second wireless device may include an amount of data, a maximum bit rate, an average bit rate, a maximum delay, an average delay, a maximum delay jitter, an average of absolute values of delay jitter, a maximum packet loss rate, or an average packet loss rate. The QoS requirements for the application of the second wireless device may be selected to attempt to ensure that the application operation at the first wireless device and/or the second wireless device meets or exceeds a minimum quality threshold, such as a quality threshold associated with various attributes (such as application settings, user preferences, service requirements, etc.). In some embodiments, qoS requirements may be determined at least in part using a model that maps a set of QoS metrics to quality of experience (QoE) associated with a target QoE. As an example, qoE may be measured by MOS.
At block 904, the application processor may perform operations to generate a QoS requirement message indicating the determined QoS requirement, as discussed with reference to method 900 (fig. 9).
At block 1604, the application processor may perform operations to send a QoS requirement message to an application of the second wireless device.
At block 1606, the application processor may perform operations to receive a response from the application of the second wireless device indicating the QoS metric achieved by the second wireless device.
Fig. 17 illustrates a process flow diagram that understands an example method 1700 for application-level signaling to support QoS requirements in accordance with some embodiments. Referring to fig. 1-17, the method 1700 may be implemented by an application processor (e.g., application processor 216, 503, etc.) and a modem processor (e.g., 212, 252) of a wireless device (e.g., wireless device 120a-120e, 200, 320, 401, 415, 502A, 502B, 1201, 1501, etc.). The operations of method 1700 may be performed in conjunction with the operations of methods 600 (fig. 6), 700 (fig. 7), 800 (fig. 8), 900 (fig. 9), 1000 (fig. 10), 1100 (fig. 11), 1300 (fig. 13), 1400 (fig. 14), and/or 1600 (fig. 16).
At block 1302, the application processor may perform operations to establish an application-level interface with an application (e.g., communication application 507, etc.) and a modem processor (e.g., 212, 252) of a second wireless device (e.g., wireless devices 120a-120e, 200, 320, 401, 415, 502A, 502B, 1201, etc.), as discussed with reference to method 1300 (fig. 13).
At block 1702, the application processor may perform operations to receive a QoS requirement message from an application of a second wireless device. QoS requirements for an application from a second wireless device may include an amount of data, a maximum bit rate, an average bit rate, a maximum delay, an average delay, a maximum delay jitter, an average of absolute values of delay jitter, a maximum packet loss rate, or an average packet loss rate. The QoS requirements of the application from the second wireless device may be selected to attempt to ensure that the application operation meets or exceeds a minimum quality threshold, such as quality thresholds associated with various attributes (such as application settings, user preferences, service requirements, etc.). In some embodiments, qoS requirements may be determined at least in part using a model that maps a set of QoS metrics to quality of experience (QoE) associated with a target QoE. As an example, qoE may be measured by MOS.
At block 1704, the application processor may determine QoS requirements based on the received QoS requirements message. For example, the determined QoS requirements may be the amount of data indicated in the QoS requirements message, the maximum bit rate, the average bit rate, the maximum delay, the average delay, the maximum delay jitter, the average of the absolute values of the delay jitter, the maximum packet loss rate, or the average packet loss rate.
At blocks 904-908, the application processor may perform the operations of the same numbered blocks of method 900 (fig. 9) to generate a QoS requirement message indicating the determined QoS requirement, send the QoS requirement message to a modem processor (e.g., modem processor 212, 252, 272, 505, etc.), and receive a response from the modem processor indicating the achieved QoS metric.
At block 1706, the application processor may send a response to the application of the second wireless device indicating the achieved QoS metric.
Fig. 18 is a call flow diagram illustrating example interactions between a local application 1202 and a remote application 1502 for application-level signaling to support QoS requirements according to some embodiments. Referring to fig. 1-18, in various embodiments, the interactions illustrated in fig. 18 may be interactions according to one or more operations of methods 600 (fig. 6), 700 (fig. 7), 800 (fig. 8), 900 (fig. 9), 1000 (fig. 10), 1100 (fig. 11), 1300 (fig. 13), 1400 (fig. 14), 1600 (fig. 16), and/or 1700 (fig. 17).
In operation 1811, the local application 1202 of the first wireless device 1201 may send a RAN type query to the remote application 1502 of the second wireless device 1501. The RAN type query may be a query asking whether the second wireless device 1501 is on the RAN, and if so, a request to provide the type of RAN (e.g., LTE, 5G NR, wiFi, etc.).
In operation 1812, the remote application 1502 may send a RAN type response to the local application 1202 of the first wireless device 1201.
In operation 1813, the local application 1202 of the first wireless device 1201 may send QoS requirements for the remote application 1502 to the remote application 1502 of the second wireless device 1501. For example, the QoS requirements may be QoS requirements selected based on the type of RAN indicated by the remote application 1502. QoS requirements may include data amount, maximum bit rate, average bit rate, maximum delay, average delay, maximum delay jitter, average of absolute values of delay jitter, maximum packet loss rate, average packet loss rate, etc.
In operation 1814, the remote application 1502 may send a QoS requirement message to the wireless protocol stack 1504 of the second wireless device 1501 indicating the QoS requirements for the remote application 1502.
In operation 1815, the wireless protocol stack 1504 may convert the QoS requirements indicated in the QoS requirements message into performance metrics and send the performance metrics to the second network device 1506.
In operation 1816, the second network device 1506 may send an indication 1510 of the performance metric implementation to the wireless protocol stack 1504 of the second wireless device 1501.
In operation 1817, the wireless protocol stack 1504 may send a response to the remote application 1502 indicating the achieved QoS metric.
In operation 1818, the remote application 1502 may send a response to the local application 1202 indicating the achieved QoS metric.
Various embodiments may be implemented on various wireless network devices, an example of which is illustrated in fig. 19 in the form of a wireless network device 1900, the wireless network device 1900 serving as a network element of a communication network, such as network devices (e.g., 110a-110d, 350, 401, 415, 504A, 1206, 1506). Such network devices may include at least the components illustrated in fig. 19. With reference to fig. 1-19, network device 1900 may generally include a processor 1901 coupled to volatile memory 1902 and to mass nonvolatile memory, such as disk drive 1903. Network device 1900 may also include a peripheral memory access device such as a floppy disk drive, compact Disk (CD), or Digital Video Disk (DVD) drive 1906 coupled to processor 1901. Network device 1900 may also include a network access port 1904 (or interface) coupled to processor 1901 for establishing a data connection with a network, such as the internet and/or a local area network coupled to other system computers and servers. Network device 1900 may include one or more antennas 1907 for transmitting and receiving electromagnetic radiation, where the one or more antennas 1907 may be connected to a wireless communication link. Network device 1900 may include additional access ports for coupling to peripheral devices, external memory, or other devices, such as USB, firewire (FireWire), thunderbolt (Thunderbolt), and the like.
Various embodiments may be implemented on various wireless devices (e.g., wireless devices 120a-120e, 200, 320, 401, 415, 502A, 502B, 1201, 1501), an example of which is illustrated in fig. 20 in the form of a smartphone 2000. Referring to fig. 1-20, a smartphone 2000 may include a first SOC 202 (e.g., SOC-CPU) coupled to a second SOC 204 (e.g., 5G-capable SOC). The first and second SOCs 202, 204 may be coupled to internal memories 2006, 2016, a display 2012, and a speaker 2014. Additionally, the smartphone 2000 may include an antenna 2004 for transmitting and receiving electromagnetic radiation, which may be connected to a wireless data link, and/or a cellular telephone transceiver 2008 coupled to one or more processors in the first and/or second SOCs 202, 204. The smart phone 2000 also typically includes menu selection buttons or rocker switches 2020 for receiving user inputs.
The exemplary smart phone 2000 also includes a voice encoding/decoding (CODEC) circuit 2010 that digitizes sound received from the microphone into data packets suitable for wireless transmission and decodes the received sound data packets to generate analog signals that are provided to a speaker to produce sound. Further, one or more of the processors in the first and second SOCs 202, 204, the wireless transceiver 2008, and the CODEC circuit 2010 may include a Digital Signal Processor (DSP) circuit (not separately shown).
The processors of wireless network device 1900 and smart phone 2000 may be any programmable microprocessor, microcomputer or multiple processor chips or chips that can be configured by software instructions (applications) to perform a variety of functions, including the functions 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). Typically, software applications may be stored in the memories 2006, 2016, which are then accessed and loaded into the processor. The processor may include internal memory sufficient to store the application software instructions.
As used in this disclosure, the terms "component," "module," "system," and the like are intended to include a computer-related entity, such as but not limited to hardware, firmware, a combination of hardware and software, or software in execution, configured to perform a particular operation or function. For example, a component may be, but is not limited to being, a process running on a processor, an object, an executable, a thread of execution, a program, and/or a computer. By way of illustration, both an application running on a wireless device and the wireless device can be referred to as a component. One or more components may reside within a process and/or thread of execution and a component may be localized on one processor or core and/or distributed between two or more processors or cores. Additionally, these components can execute from various non-transitory computer readable media having various instructions and/or data structures stored thereon. The components may communicate by way of local and/or remote processes, function or procedure calls, electronic signals, data packets, memory read/write, and other known networks, computers, processors, and/or process-related communication methodologies.
Several different cellular and mobile communication services and standards are available and contemplated in the future, all of which may be implemented and benefit from the various embodiments. Such services and standards include, for example, third generation partnership project (3 GPP), long Term Evolution (LTE) systems, third generation wireless mobile communication technology (3G), fourth generation wireless mobile communication technology (4G), fifth generation wireless mobile communication technology (5G), global system for mobile communications (GSM), universal Mobile Telecommunications System (UMTS), 3GSM, general Packet Radio Service (GPRS), code Division Multiple Access (CDMA) systems (e.g., cdmaOne, CDMA1020 TM), enhanced data rates for GSM evolution (EDGE), advanced Mobile Phone Systems (AMPS), digital AMPS (IS-136/TDMA), evolution data optimization (EV-DO), digital Enhanced Cordless Telecommunications (DECT), worldwide Interoperability for Microwave Access (WiMAX), wireless Local Area Networks (WLAN), wi-Fi protected access I and II (WPA, WPA 2), and Integrated Digital Enhanced Networks (iDEN). Each of these techniques involves the transmission and reception of, for example, voice, data, signaling, and/or content messages. It should be understood that any reference to terminology and/or technical details related to individual telecommunication standards or technologies is for illustrative purposes only and is not intended to limit the scope of the claims to a particular communication system or technology unless specifically stated in the claim language.
The various embodiments illustrated and described are provided merely as examples illustrating the various features of the claims. However, the features illustrated and described for any given embodiment are not necessarily limited to the associated embodiment and may be used or combined with other embodiments illustrated and described. Furthermore, the claims are not intended to be limited to any example embodiment. For example, one or more operations of methods 600, 700, 800, 900, 1000, 1100, 1300, 1400, 1600, and/or 1700 may replace or be combined with one or more operations of methods 600, 700, 800, 900, 1000, 1100, 1300, 1400, 1600, and/or 1700.
Examples of implementations are described in the following paragraphs. While some of the following implementation examples are described in terms of example methods, further example implementations may include: the example methods discussed in the following paragraphs are implemented by a wireless device or network device comprising an apparatus having a processing system configured with processor-executable instructions to perform operations of the following implementing example methods; the example methods discussed in the following paragraphs implemented by a wireless device or network device include means for performing the functions of the following implementation example methods; and the example methods discussed in the following paragraphs may be implemented as a non-transitory processor-readable storage medium having stored thereon processor-executable instructions configured to cause a processor of a wireless device or network device to perform operations of the following implementation example methods.
Example 1. A method for supporting application level discovery of Radio Access Network (RAN) statistics or events, comprising: transmitting a query from an application processor of a wireless device to a modem processor of the wireless device for one or more RAN statistics or events of interest; receiving, at the application processor, a RAN statistics or event message including one or more RAN statistics or events of interest from the modem processor; and controlling, by the application processor, output of application data from the application processor to the modem processor based at least in part on the received RAN statistics or events.
Example 2. A method for supporting application level discovery of Radio Access Network (RAN) statistics or events, comprising: receiving, at a modem processor of a wireless device, a query from an application processor of the wireless device for one or more RAN statistics or events of interest; generating, by the modem processor, a RAN statistics or event message including one or more RAN statistics or events of interest based at least in part on the received query; and sending from the modem processor to the application processor a RAN statistics or event message including one or more RAN statistics or events of interest.
Example 3 the method of any one of examples 1 or 2, wherein the one or more RAN statistics or events of interest include a delay indication, a delay jitter indication, a packet loss rate, a handover event, a data rate, an available data rate, a recommended bit rate, a radio link failure, a discontinuous reception event, or a service outage.
Example 4 the method of any of examples 1 or 2, wherein the one or more RAN statistics or events of interest comprise loss or delay of a particular type of application layer packet.
Example 5 the method of any one of examples 2 to 4, further comprising: RAN statistics or event messages are received at the modem processor from the network device.
Example 6 the method of example 5, wherein the RAN statistics or event message received from the network device is a packet loss report, a packet delay jitter report, a packet delay variation report, a bit rate report, or a network event message.
Example 7 the method of example 5, wherein the RAN statistics or event message received from the network device is a recommended bit rate message comprising a time interval during which the recommended bit rate is valid.
Example 8 the method of example 5, wherein the RAN statistics or event message received from the network device is an Uplink (UL) per packet loss report.
Example 9 the method of example 8, wherein the UL per packet loss report indicates a type of lost packet and a sequence number of each lost packet.
Example 10. A method for application level signaling to support quality of service (QoS) requirements, comprising: transmitting, from an application processor of a wireless device to a modem processor of the wireless device, a QoS requirement message indicating a determined QoS requirement for an application running on the application processor; and receiving, at the application processor, a response from the modem processor indicating the achieved QoS metric.
Example 11 the method of example 10, wherein the QoS requirements are determined based at least in part on a model that maps a set of QoS metrics to quality of experience (QoE) associated with the target QoE.
Example 12. A method for application level signaling to support quality of service (QoS) requirements, comprising: receiving, at a modem processor of a wireless device, qoS requirement messages from an application processor of the wireless device, the QoS requirement messages indicating determined QoS requirements for an application running on the application processor; converting, by the modem processor, the QoS requirements indicated in the QoS requirements message into performance metrics; and controlling, by the modem processor, a wireless protocol stack running on the modem processor to implement the performance metrics.
Example 13 the method of example 12, further comprising: determining, by the modem processor, whether any of the performance metrics are associated with a network device; and in response to determining that any of the performance metrics are associated with the network device, sending an indication of the performance metrics from the modem processor to the network device.
Example 14 the method of example 12 or 13, further comprising: determining, by the modem processor, the achieved QoS metrics in response to controlling the wireless protocol stack running on the modem processor to implement the performance metrics; and sending a response from the modem processor to the application processor of the wireless device indicating the achieved QoS metrics.
Example 15 the method of any one of examples 10 to 14, wherein the QoS requirements indicated in the QoS requirements message comprise: data amount, maximum bit rate, average bit rate, maximum delay, average delay, maximum delay jitter, average of absolute values of delay jitter, maximum packet loss rate, or average packet loss rate.
Example 16 a method performed by a processor of a network device of a Radio Access Network (RAN) for supporting application level discovery of RAN statistics or events, comprising: generating RAN statistics or event messages; and transmitting the RAN statistics or event message to a wireless device in communication with the network device.
Example 17 the method of example 16, wherein the RAN statistics or event message is a packet loss report, a packet delay jitter report, a packet delay variation report, a bit rate report, or a network event message.
Example 18 the method of example 16, wherein the RAN statistics or event message is a recommended bit rate message comprising a time interval during which the recommended bit rate is valid.
Example 19 the method of example 16, wherein the RAN statistics or event message is an Uplink (UL) per packet loss report.
Example 20 the method of example 19, wherein the UL per packet loss report indicates a type of lost packet and a sequence number of each lost packet.
Example 21 the method of any one of examples 16 to 20, wherein the RAN statistics or event message is a Medium Access Control (MAC) Control Element (CE) (MAC CE)
Example 22 the method of any one of examples 15 to 21, further comprising: receiving an indication of a performance metric from a wireless device; determining whether the performance metrics are acceptable; implementing the performance metrics in response to determining that the performance metrics are acceptable; and in response to implementing the performance metrics, sending an indication to the wireless device regarding performance metric implementation.
Example 23, a method for supporting application level discovery of Radio Access Network (RAN) statistics or events, comprising: transmitting, from an application processor of a first wireless device, a RAN information request indicating one or more RAN statistics or events of interest to a second wireless device remote from the first wireless device; receiving, at the application processor, RAN statistics or event messages from the remote second wireless device including one or more RAN statistics or events of interest; and controlling, by the application processor, output of application data from the application processor based at least in part on the received RAN statistics or events.
Example 24. A method for supporting application level discovery of Radio Access Network (RAN) statistics or events, comprising: receiving, at an application processor of a first wireless device, a RAN information request indicating one or more RAN statistics or events of interest to a remote second wireless device; transmitting, from the application processor of the first wireless device to a modem processor of the first wireless device, a query for the one or more RAN statistics or events of interest; receiving, at the application processor of the first wireless device, a RAN statistics or event message including one or more RAN statistics or events of interest from the modem processor of the first wireless device; and transmitting, from the application processor of the first wireless device, a RAN statistics or event message including the one or more RAN statistics or events of interest to the remote second wireless device.
Example 25 the method of any one of examples 23 or 22, wherein the one or more RAN statistics or events of interest include a delay indication, a delay jitter indication, a packet loss rate, a handover event, a data rate, an available data rate, a recommended bit rate, a radio link failure, a discontinuous reception event, or a service outage.
Example 26 the method of any of examples 23 or 22, wherein the one or more RAN statistics or events of interest comprise loss or delay of a particular type of application layer packet.
Example 27. A method for application level signaling to support quality of service (QoS) requirements, comprising: transmitting, from an application processor of a first wireless device, a QoS requirement message to a second wireless device located remotely from the first wireless device, the QoS requirement message indicating a determined QoS requirement for an application running on the processor of the second wireless device; and receiving, at the application processor of the first wireless device, a response from the second wireless device indicating QoS metrics achieved by the second wireless device.
Example 28. A method for application level signaling to support quality of service (QoS) requirements, comprising: receiving, at an application processor of a first wireless device, a QoS requirement message from a second wireless device, the QoS requirement message indicating a determined QoS requirement for an application running on the application processor; transmitting, from the application processor of the first wireless device to a modem processor of the first wireless device, qoS requirement messages indicating the determined QoS requirements; receiving, at the application processor of the first wireless device, a response from the modem processor of the first wireless device indicating the achieved QoS metric; and sending, from the application processor of the first wireless device to the second wireless device, a response indicating the achieved QoS metrics.
Example 29 the method of any one of examples 27 or 28, wherein the determined QoS requirements comprise: data amount, maximum bit rate, average bit rate, maximum delay, average delay, maximum delay jitter, average of absolute values of delay jitter, maximum packet loss rate, or average packet loss rate.
Example 1. A method performed by a wireless device, comprising: transmitting a query from an application processor of the wireless device to a modem processor of the wireless device for one or more RAN statistics or events of interest; receiving, at the modem processor, a query from the application processor of the wireless device for one or more RAN statistics or events of interest; generating, by the modem processor, a RAN statistics or event message including one or more RAN statistics or events of interest based at least in part on the received query; transmitting from the modem processor to the application processor a RAN statistics or event message including the one or more RAN statistics or events of interest; receiving, at the application processor, the RAN statistics or event message from the modem processor; and controlling output of application data from the application processor to the modem processor based at least in part on the received RAN statistics or events.
Example 2 the method of example 1, wherein the one or more RAN statistics or events of interest comprise: delay indication, delay jitter indication, packet loss rate, handoff event, data rate, available data rate, recommended bit rate, radio link failure, discontinuous reception event, service interruption, or loss or delay of a particular type of application layer packet.
Example 3 the method of any one of examples 1 or 2, further comprising: a packet loss report, a packet delay jitter report, a packet delay variation report, a bit rate report, or a network event message is received from a network device in the modem processor.
Example 4 the method of any one of examples 1 to 3, further comprising: a recommended bit rate message is received in the modem processor from the network device including a time interval during which the recommended bit rate is valid.
Example 5 the method of any one of examples 1 to 3, further comprising: an Uplink (UL) per-packet loss report is received in the modem processor from the network device indicating the type of lost packet and a sequence number of each lost packet.
Example 6 the method of any one of examples 1 to 3, further comprising: determining, by the application processor, qoS requirements for an application running on the application processor based at least in part on a model that maps a set of QoS metrics to QoE associated with a target QoE; transmitting a QoS requirement message from the application processor to the modem processor indicating the determined QoS requirement; converting, by the modem processor, the QoS requirements indicated in the QoS requirements message into performance metrics; and controlling, by the modem processor, a wireless protocol stack running on the modem processor to implement the performance metrics.
Example 7. The method of example 6, further comprising: determining, by the modem processor, whether any of the performance metrics are associated with a network device; and in response to determining that any of the performance metrics are associated with the network device, sending an indication of the performance metrics from the modem processor to the network device.
Example 8 the method of example 6, further comprising: determining, by the modem processor, the achieved QoS metrics in response to controlling the wireless protocol stack running on the modem processor to implement the performance metrics; and sending a response from the modem processor to the application processor of the wireless device indicating the achieved QoS metrics.
Example 9 the method of example 6, wherein the QoS requirements indicated in the QoS requirements message comprise: data amount, maximum bit rate, average bit rate, maximum delay, average delay, maximum delay jitter, average of absolute values of delay jitter, maximum packet loss rate, or average packet loss rate.
Example 10. A method performed by a first wireless device for managing communications with a second wireless device, the method comprising: establishing an application level interface with an application of the second wireless device; obtaining, in an application processor of the first wireless device, information about one or more RAN statistics or events of interest from a modem processor of the first wireless device; and taking, by the application processor, an action to adapt communication with the second wireless device based on information about one or more RAN statistics or events of interest.
Example 11. The method of example 10, wherein: obtaining, in an application processor of the first wireless device, information about one or more RAN statistics or events of interest from a modem processor of the first wireless device includes: transmitting, by the application processor, a RAN information request indicating one or more RAN statistics or events of interest to the second wireless device via the modem processor; and receiving, at the application processor, RAN statistics or event messages including one or more RAN statistics or events of interest from the second wireless device via the modem; and taking, by the application processor, an action to adapt communication with the second wireless device based on information about one or more RAN statistics or events of interest includes controlling, by the application processor, output of application data from the application processor based at least in part on the received RAN statistics or events.
Example 12 the method of any one of examples 10 or 11, wherein the one or more RAN statistics or events of interest comprise: delay indication, delay jitter indication, packet loss rate, handoff event, data rate, available data rate, recommended bit rate, radio link failure, discontinuous reception event, service interruption, or loss or delay of a particular type of application layer packet.
Example 13 the method of example 10, wherein the one or more RAN statistics or events of interest include QoS requirements for an application running on an application processor of the second wireless device, the QoS requirements comprising: data amount, maximum bit rate, average bit rate, maximum delay, average delay, maximum delay jitter, average of absolute values of delay jitter, maximum packet loss rate, or average packet loss rate.
Example 14. The method of example 10, wherein: obtaining, in an application processor of the first wireless device, information about one or more RAN statistics or events of interest from a modem processor of the first wireless device includes: receiving, in the application processor, a RAN information request from the second wireless device via the modem processor, the RAN information request indicating one or more RAN statistics or events of interest; transmitting a query from the application processor to the modem processor for the one or more RAN statistics or events of interest; and receiving, by the application processor, a RAN statistics or event message from the modem processor including one or more RAN statistics or events of interest; and taking, by the application processor, an action to adapt communication with the second wireless device based on the information about the one or more RAN statistics or events of interest includes sending, from the application processor to the second wireless device via the modem processor, a RAN statistics or event message including the one or more RAN statistics or events of interest.
Example 15 the method of example 14, wherein the one or more RAN statistics or events of interest comprise: delay indication, delay jitter indication, packet loss rate, handoff event, data rate, available data rate, recommended bit rate, radio link failure, discontinuous reception event, service interruption, or loss or delay of a particular type of application layer packet.
Example 16 the method of example 15, wherein the one or more RAN statistics or events of interest include QoS requirements for an application running on an application processor of the second wireless device, the QoS requirements comprising: data amount, maximum bit rate, average bit rate, maximum delay, average delay, maximum delay jitter, average of absolute values of delay jitter, maximum packet loss rate, or average packet loss rate.
The foregoing method descriptions and the process flow diagrams are provided merely as illustrative examples and are not intended to require or imply that the operations of the various embodiments must be performed in the order presented. As will be appreciated by those skilled in the art, the order of operations in the foregoing embodiments may be performed in any order. Words such as "thereafter," "then," "next," and the like are not intended to limit the order of operations; these terms are used to guide the reader through the description of the method. Further, any reference to claim elements in the singular (e.g., using the articles "a," "an," or "the") is not to be construed as limiting the element to the singular.
The various illustrative logical blocks, modules, components, circuits, and algorithm operations described in connection with the embodiments disclosed herein may be implemented as electronic hardware, computer software, or combinations of both. To clearly illustrate this interchangeability of hardware and software, various illustrative components, blocks, modules, circuits, and operations have been described above generally in terms of their functionality. Whether such functionality is implemented as hardware or software depends upon the particular application and design constraints imposed on the overall system. Skilled artisans may implement the described functionality in varying ways for each particular application, but such implementation decisions should not be interpreted as causing a departure from the scope of the claims.
The hardware used to implement the various illustrative logic, logic blocks, modules, and circuits described in connection with the embodiments disclosed herein may be implemented or performed with a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), a 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. A general purpose processor may be a microprocessor, but in the alternative, the processor may be any conventional processor, controller, microcontroller, or state machine. A processor may also be implemented as a combination of receiver intelligence objects, e.g., a combination of a DSP and a microprocessor, a plurality of microprocessors, one or more microprocessors in conjunction with a DSP core, or any other such configuration. Alternatively, some operations or methods may be performed by circuitry dedicated to a given function.
In one or more embodiments, the functions described may be implemented in hardware, software, firmware, or any combination thereof. If implemented in software, these functions may 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 operations of the methods or algorithms disclosed herein may be implemented in a processor-executable software module or processor-executable instructions that may reside on a non-transitory computer-readable or processor-readable storage medium. The non-transitory computer-readable or processor-readable storage medium may be any storage medium that can be accessed by a computer or processor. By way of example, and not limitation, such non-transitory computer-readable or processor-readable storage media can comprise RAM, ROM, EEPROM, flash memory, CD-ROM or other optical disk storage, magnetic disk storage or other magnetic storage smart 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. Disk (disk) and disc (disk) as used herein include Compact Disc (CD), laser disc, optical disc, digital Versatile Disc (DVD), floppy disk and blu-ray disc where disks (disk) often reproduce data magnetically, while discs (disk) reproduce data optically with lasers. Combinations of the above are also included within the scope of non-transitory computer-readable and processor-readable media. Additionally, the operations of a method or algorithm may reside as one or any combination or set of codes and/or instructions on a non-transitory processor-readable storage medium and/or computer-readable storage medium, which may be incorporated into a computer program product.
The previous description of the disclosed embodiments is provided to enable any person skilled in the art to make or use the present claims. Various modifications to these embodiments will be readily apparent to those skilled in the art, and the generic principles defined herein may be applied to other embodiments without departing from the scope of the claims. Thus, the present disclosure is not intended to be limited to the embodiments shown herein but is to be accorded the widest scope consistent with the following claims and the principles and novel features disclosed herein.

Claims (30)

1. A method performed by a wireless device, comprising:
transmitting a query from an application processor of the wireless device to a modem processor of the wireless device for one or more RAN statistics or events of interest;
receiving, at the modem processor, the query from the application processor of the wireless device for one or more RAN statistics or events of interest;
generating, by the modem processor, a RAN statistics or event message including one or more RAN statistics or events of interest based at least in part on the received query;
transmitting, from the modem processor to the application processor, the RAN statistics or event messages including the one or more RAN statistics or events of interest;
Receiving, at the application processor, the RAN statistics or event messages from the modem processor; and
the output of application data from the application processor to the modem processor is controlled based at least in part on the received RAN statistics or events.
2. The method of claim 1, wherein the one or more RAN statistics or events of interest comprise: delay indication, delay jitter indication, packet loss rate, handoff event, data rate, available data rate, recommended bit rate, radio link failure, discontinuous reception event, service interruption, or loss or delay of a particular type of application layer packet.
3. The method of claim 1, further comprising: a packet loss report, a packet delay jitter report, a packet delay variation report, a bit rate report, or a network event message is received from a network device in the modem processor.
4. The method of claim 1, further comprising: a recommended bit rate message is received in the modem processor from the network device including a time interval during which the recommended bit rate is valid.
5. The method of claim 1, further comprising: an Uplink (UL) per-packet loss report is received in the modem processor from the network device indicating the type of lost packet and a sequence number of each lost packet.
6. The method of claim 1, further comprising:
determining, by the application processor, a quality of service (QoS) requirement for an application running on the application processor based at least in part on a model that maps a set of QoS metrics to quality of experience (QoE) associated with a target QoE;
transmitting a QoS requirement message from the application processor to the modem processor indicating the determined QoS requirement;
converting, by the modem processor, the QoS requirements indicated in the QoS requirements message into performance metrics; and
a wireless protocol stack running on the modem processor is controlled by the modem processor to implement the performance metric.
7. The method of claim 6, further comprising:
determining, by the modem processor, whether any of the performance metrics are associated with a network device; and
in response to determining that any of the performance metrics are associated with the network device, an indication of performance metrics is sent from the modem processor to the network device.
8. The method of claim 6, further comprising:
determining, by the modem processor, the achieved QoS metric in response to controlling the wireless protocol stack running on the modem processor to implement the performance metric; and
a response is sent from the modem processor to the application processor of the wireless device indicating the achieved QoS metric.
9. The method of claim 6, wherein the QoS requirements indicated in the QoS requirements message comprise: data amount, maximum bit rate, average bit rate, maximum delay, average delay, maximum delay jitter, average of absolute values of delay jitter, maximum packet loss rate, or average packet loss rate.
10. A wireless device, comprising:
a wireless transceiver;
an application processor; and
a modem processor coupled to the application processor and the wireless transceiver,
wherein the application processor and modem processor are configured to:
transmitting a query from the application processor to the modem processor for one or more RAN statistics or events of interest;
receiving, at the modem processor, the query for one or more RAN statistics or events of interest;
Generating, by the modem processor, a RAN statistics or event message including one or more RAN statistics or events of interest based at least in part on the received query;
transmitting, from the modem processor to the application processor, the RAN statistics or event messages including the one or more RAN statistics or events of interest;
receiving, at the application processor, the RAN statistics or event messages from the modem processor; and
the output of application data from the application processor to the modem processor is controlled based at least in part on the received RAN statistics or events.
11. The wireless device of claim 10, wherein the one or more RAN statistics or events of interest comprise: delay indication, delay jitter indication, packet loss rate, handoff event, data rate, available data rate, recommended bit rate, radio link failure, discontinuous reception event, service interruption, or loss or delay of a particular type of application layer packet.
12. The wireless device of claim 10, wherein the application processor and modem processor are further configured to: a packet loss report, a packet delay jitter report, a packet delay variation report, a bit rate report, or a network event message is received from a network device.
13. The wireless device of claim 10, wherein the application processor and modem processor are further configured to: a recommended bit rate message is received from the network device that includes a time interval during which the recommended bit rate is valid.
14. The wireless device of claim 10, wherein the application processor and modem processor are further configured to: an Uplink (UL) per-packet loss report is received from the network device indicating the type of lost packet and a sequence number of each lost packet.
15. The wireless device of claim 10, wherein:
the application processor is further configured to:
determining QoS requirements for an application running on the application processor based at least in part on a model that maps a set of quality of service (QoS) metrics to a quality of experience (QoE) associated with a target QoE;
transmitting a QoS requirement message from the application processor to the modem processor indicating the determined QoS requirement; and is also provided with
The modem processor is further configured to:
converting the QoS requirements indicated in the QoS requirements message into performance metrics; and
a wireless protocol stack running on the modem processor is controlled to implement the performance metrics.
16. The wireless device of claim 15, wherein the application processor and modem processor are further configured to:
determining whether any of the performance metrics are associated with a network device; and
in response to determining that any of the performance metrics are associated with the network device, an indication of the performance metrics is sent to the network device.
17. The wireless device of claim 15, wherein the application processor and modem processor are further configured to:
determining an achieved QoS metric in response to controlling the wireless protocol stack running on the modem processor to implement the performance metric; and
a response is sent to the application processor of the wireless device indicating the achieved QoS metric.
18. The wireless device of claim 15, wherein the QoS requirements indicated in the QoS requirements message comprise: data amount, maximum bit rate, average bit rate, maximum delay, average delay, maximum delay jitter, average of absolute values of delay jitter, maximum packet loss rate, or average packet loss rate.
19. A method performed by a first wireless device for managing communications with a second wireless device, the method comprising:
Establishing an application level interface with an application of the second wireless device;
obtaining, in an application processor of the first wireless device, information about one or more RAN statistics or events of interest from a modem processor of the first wireless device: and
action is taken by the application processor to adapt communication with the second wireless device based on the information about one or more RAN statistics or events of interest.
20. The method of claim 19, wherein:
obtaining, in an application processor of the first wireless device, information about one or more RAN statistics or events of interest from a modem processor of the first wireless device includes:
transmitting, by the application processor, a RAN information request indicating one or more RAN statistics or events of interest to the second wireless device via the modem processor; and
receiving, at the application processor, RAN statistics or event messages including one or more RAN statistics or events of interest from the second wireless device via the modem;
taking, by the application processor, an action to adapt communication with the second wireless device based on the information about one or more RAN statistics or events of interest includes: the output of application data from the application processor is controlled by the application processor based at least in part on the received RAN statistics or events.
21. The method of claim 20, wherein the one or more RAN statistics or events of interest comprise: delay indication, delay jitter indication, packet loss rate, handoff event, data rate, available data rate, recommended bit rate, radio link failure, discontinuous reception event, service interruption, or loss or delay of a particular type of application layer packet.
22. The method of claim 20, wherein the one or more RAN statistics or events of interest comprise quality of service (QoS) requirements for an application running on an application processor of the second wireless device, the QoS requirements comprising: data amount, maximum bit rate, average bit rate, maximum delay, average delay, maximum delay jitter, average of absolute values of delay jitter, maximum packet loss rate, or average packet loss rate.
23. The method of claim 19, wherein:
obtaining, in an application processor of the first wireless device, information about one or more RAN statistics or events of interest from a modem processor of the first wireless device includes:
receiving, in the application processor, a RAN information request from the second wireless device via the modem processor, the RAN information request indicating one or more RAN statistics or events of interest;
Transmitting a query from the application processor to the modem processor for the one or more RAN statistics or events of interest; and
receiving, by the application processor, a RAN statistics or event message including one or more RAN statistics or events of interest from the modem processor; and is also provided with
Taking, by the application processor, an action to adapt communication with the second wireless device based on the information about one or more RAN statistics or events of interest includes: a RAN statistics or event message including the one or more RAN statistics or events of interest is sent from the application processor to the second wireless device via the modem processor.
24. The method of claim 23, wherein the one or more RAN statistics or events of interest comprise: delay indication, delay jitter indication, packet loss rate, handoff event, data rate, available data rate, recommended bit rate, radio link failure, discontinuous reception event, service interruption, or loss or delay of a particular type of application layer packet.
25. The method of claim 23, wherein the one or more RAN statistics or events of interest comprise quality of service (QoS) requirements for an application running on an application processor of the second wireless device, the QoS requirements comprising: data amount, maximum bit rate, average bit rate, maximum delay, average delay, maximum delay jitter, average of absolute values of delay jitter, maximum packet loss rate, or average packet loss rate.
26. A wireless device, comprising:
a wireless transceiver;
an application processor; and
a modem processor coupled to the application processor and the wireless transceiver,
wherein the application processor and modem processor are configured to:
establishing an application level interface with an application of the remote wireless device;
obtaining, in the application processor, information from the modem processor regarding one or more RAN statistics or events of interest: and
action is taken by the application processor to adapt communication with the remote wireless device based on the information regarding one or more RAN statistics or events of interest.
27. The wireless device of claim 26, wherein the application processor and modem processor are further configured to:
obtaining information about one or more RAN statistics or events of interest from the modem processor in the application processor by:
transmitting, by the application processor, a RAN information request indicating one or more RAN statistics or events of interest to a remote wireless device via the modem processor; and
Receiving, at the application processor, RAN statistics or event messages including one or more RAN statistics or events of interest from the remote wireless device via the modem; and is also provided with
Taking action by the application processor to adapt communication with the remote wireless device based on the information about one or more RAN statistics or events of interest by: the output of application data from the application processor is controlled by the application processor based at least in part on the received RAN statistics or events.
28. The wireless device of claim 27, wherein the one or more RAN statistics or events of interest comprise: delay indication, delay jitter indication, packet loss rate, handoff event, data rate, available data rate, recommended bit rate, radio link failure, discontinuous reception event, service interruption, loss or delay of a particular type of application layer packet, or quality of service (QoS) requirements for an application running on an application processor of the remote wireless device.
29. The wireless device of claim 26, wherein the application processor and modem processor are further configured to:
Obtaining information about one or more RAN statistics or events of interest from the modem processor in the application processor by:
receiving, in the application processor, a RAN information request from the remote wireless device via the modem processor, the RAN information request indicating one or more RAN statistics or events of interest;
transmitting a query from the application processor to the modem processor for the one or more RAN statistics or events of interest; and
receiving, by the application processor, a RAN statistics or event message including one or more RAN statistics or events of interest from the modem processor; and is also provided with
Taking action by the application processor to adapt communication with the remote wireless device based on the information about one or more RAN statistics or events of interest by: a RAN statistics or event message including the one or more RAN statistics or events of interest is sent from the application processor of the wireless device to the remote wireless device.
30. The wireless device of claim 29, wherein the one or more RAN statistics or events of interest comprise: delay indication, delay jitter indication, packet loss rate, handoff event, data rate, available data rate, recommended bit rate, radio link failure, discontinuous reception event, service interruption, loss or delay of a particular type of application layer packet, or quality of service (QoS) requirements for an application running on the application processor.
CN202280017788.XA 2021-03-05 2022-03-02 Interface between radio access network and application Pending CN116941278A (en)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US63/157,510 2021-03-05
US17/653,023 2022-03-01
US17/653,023 US20220286899A1 (en) 2021-03-05 2022-03-01 Interface between a radio access network and an application
PCT/US2022/018476 WO2022187331A1 (en) 2021-03-05 2022-03-02 Interface between a radio access network and an application

Publications (1)

Publication Number Publication Date
CN116941278A true CN116941278A (en) 2023-10-24

Family

ID=88379332

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202280017788.XA Pending CN116941278A (en) 2021-03-05 2022-03-02 Interface between radio access network and application

Country Status (1)

Country Link
CN (1) CN116941278A (en)

Similar Documents

Publication Publication Date Title
CN114731546B (en) Enhancement of VoWi-Fi handover from ePDG to LTE when VoNR is not supported
TWI767242B (en) Measuring and verifying layer 2 sustained downlink maximum data rate decoding performance
US20230388367A1 (en) File delivery failure feedback and application feedback
CN115053478B (en) Managing reordering timers
CN114557027A (en) Uplink and downlink streaming bit rate assistance in 5G networks
CN116261874A (en) Metric collection and reporting in 5G media streaming
CN116746216A (en) UE beam reselection procedure with CSI reporting and beam switch indication
US11930494B2 (en) Managing transmit timing of data transmissions
US20220286899A1 (en) Interface between a radio access network and an application
US11716749B2 (en) Allocating resources to a plurality of mobile devices
CN117882385A (en) System and method for modem power aware augmented reality (XR) and gaming software applications
TW202207733A (en) Attention (at) interface for radio access network bitrate recommendations
WO2022056083A1 (en) Control signaling for multicast communications
CN116325882A (en) MRB architecture with PDCP retransmission
CN116941278A (en) Interface between radio access network and application
KR20230154013A (en) Interface between radio access network and application
US11523404B2 (en) Radio link prioritization
WO2023060968A1 (en) Attention (at) command for managing data measurement reporting
US20240056888A1 (en) Quality of Service Management for Protocol Data Unit Sets
US20240023087A1 (en) User Equipment (UE) Uplink Data Transmission Management
CN117941298A (en) Lossy compression feedback for Multiple Incremental Redundancy Scheme (MIRS)
CN116686233A (en) UE beam switching synchronization
CN116134802A (en) User equipment signaling for customizing ring signal capability
CN116097753A (en) Autonomous wireless device handoff

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination