Methods, apparatus, and computer-readable media related to quality-of-experience in communication networks

EP4666642A1Pending Publication Date: 2025-12-24TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
EP2024702663
Authority / Receiving Office
EP · EP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-02-14
Filing Date
2024-01-19
Publication Date
2025-12-24

AI Technical Summary

Technical Problem

Current Quality of Experience (QoE) measurement frameworks in communication networks, particularly for 5G New Radio (NR), lack sufficient insights into video-streaming application sessions, limiting real-time optimizations and resource allocation due to inadequate reporting of metrics such as encoding rates and buffer thresholds.

Method used

Proposed new Radio-Access Network (RAN)-visible Quality of Experience (RV-QoE) metrics that include encoding rate parameters, buffer thresholds, and dynamic application-state metrics are transmitted from User Equipment (UE) to network nodes, enabling granular insights into ongoing video-streaming sessions for improved resource management and optimization.

Benefits of technology

Enhances the RAN's ability to perform real-time optimizations and resource allocation by providing detailed insights into video-streaming sessions, leading to improved Quality of Experience (QoE) and network resource utilization.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure SE2024050047_22082024_PF_FP
    Figure SE2024050047_22082024_PF_FP
Patent Text Reader

Abstract

A method is performed by a user equipment. The method comprises: receiving a radio-access network, RAN,-visible quality-of-experience, RV-QoE, configuration to obtain values for one or more parameters associated with an a video-streaming application session, wherein the one or more parameters comprise one or more first parameters relating to encoding rate of the video-streaming application session; obtaining values for the one or more parameters in accordance with the configuration; and transmitting, to a network node, a report comprising RAN-visible indications of the values for the one or more parameters.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] METHODS, APPARATUS, AND COMPUTER-READABLE MEDIA RELATED TO QUALITY-OF-EXPERIENCE IN COMMUNICATION NETWORKS Technical field [0] Embodiments of the disclosure relate to communication networks, and particularly to methods, apparatus and computer-readable media for reporting Quality of Experience. Background Legacy QoE measurements [1] Quality of Experience (QoE) measurements, also referred to as “application layer measurements”, have been specified for Long Term Evolution (LTE), Universal Mobile Telecommunications Service (UMTS) and were recently specified for 5G New Radio (NR) in the 3GPP Rel-17. The purpose of the QoE measurements is to measure the experience of the end user using certain applications. Currently the QoE measurements are specified and supported for Dynamic Adaptive Streaming over HTTP (DASH) streaming, Mobility Telephony Service for IP Multimedia Subsystem (MTSI) services, and Virtual Reality (VR). [2] The solutions in LTE and UMTS are similar with the overall principles as follow. QoE Measurement Collection (QMC) enables configuration of application layer measurements in the User Equipment (UE) and transmission of QoE measurement result files, commonly referred to as “QoE reports”, to the network by means of Radio Resource Control (RRC) signaling. An application layer measurement configuration (also called QoE measurement configuration or QoE configuration) that the Radio Access Network (RAN) receives from the Operations and Maintenance (OAM) system, or the Core Network (CN), is encapsulated in a transparent container, which is forwarded to a UE in a downlink RRCReconfiguration message. An application layer measurement report (also called QoE report) that the UE Access Stratum (UE AS) or UE RRC layer receives from the UE's higher layer (application layer) is encapsulated in a transparent container and sent to the network in an uplink RRC message, MeasurementAppLayerReport. The RAN then forwards the QoE report to a Measurement Collector Entity (MCE). [3] In 3GPP Rel-17, a work item entitled “Study on NR QoE management and optimizations for diverse services” was finalized and concluded with the purpose of studying solutions for QoE measurements in NR. According to this item, QoE management in NR will not just collect the QoE parameters of streaming services but also consider the typical performance requirements of diverse services (e.g. Augmented Reality (AR) / VR and Ultra-Reliable, Low- Latency Communication (URLLC), of which at least VR was covered in 3GPP Rel-17). Based on the requirements of these services, the NR study also included more adaptive QoE management schemes that enable network optimization to satisfy user experience for diverse services. [4] The configuration data related to QoE measurements (in standard specifications typically referred to as application layer measurements) consists of a service type indication, an indication of an area in which the measurements are to be performed (denoted area scope), an IP address of the entity the collected measurement results (i.e. the QoE reports) should be sent to (often referred to as a Measurement Collector Entity or Measurement Collection Entity) and a set of instructions as to which type of measurements should be performed and details of how these measurements are to be performed. These instructions are intended for the application layer in the UE and are placed in a “container” which cannot be read and interpreted by the network entities handling it, e.g., forwarding it to the UE, as well as the UE Access Stratum. The currently specified service types are MTSI and streaming service (DASH), and in 3GPP Rel-17, VR was added. An area scope is defined in terms of cells or network related areas. In UMTS, an area scope is defined as either a list of cells, a list of routing areas, or a list of tracking areas. In LTE, an area scope is defined as either a list of cells or a list of tracking areas. In NR, an area scope is defined as either a list of cells (a list of NCGIs) or a list of tracking areas (a list of Tracking Area Codes, TACs). [5] QoE, and in particular the QoE configuration, comes in two flavors: management-based (m-based) QoE configuration and signaling-based (s-based) QoE configuration. In both cases the QoE configuration originates in the OAM system or some other administrative entity, e.g., dealing with customer satisfaction. All of these entities are in this document referred to as the OAM system (where the OAM system also contains further entities). [6] With m-based QoE, the OAM system is typically interested in general QoE statistics from a certain area, configured as an area scope. The m-based QoE configuration is sent directly from the OAM system to the RAN nodes controlling cells that are within the area scope. Each RAN node then selects UEs that are within the area scope (and also fulfills any other relevant condition, such as supporting the concerned application / service type) and sends the m-based QoE configuration to these UEs. [7] With s-based QoE, the OAM system is interested in collecting QoE measurement results from a specific UE, e.g., because the user of the UE has filed a complaint. The OAM system sends the s-based QoE configuration to the Home Subscriber Server (HSS), in Evolved Packet System (EPS) / LTE, or the Unified Data Management (UDM) in 5GS / NR, which forwards the QoE configuration to the UE’s current CN node, e.g. a Mobility Management Entity (MME) in EPS / LTE or an Access and Mobility management Function (AMF) in 5G / NR. The CN then forwards the s-based QoE configuration to the RAN node that serves the concerned UE and the RAN forwards it to the UE. [8] The service type indication and the container with the measurement instructions are forwarded to the UE. The UE is not aware of whether a received QoE configuration is m-based or s-based. In legacy systems, the QoE framework is integrated with the Trace functionality and a Trace ID is associated with each QoE configuration. In NR, the QoE functionality is logically separated from the Trace functionality, but it will still partly reuse the Trace signaling mechanisms. In NR, and possibly in LTE, a globally unique QoE reference (e.g., formed of Mobile Country Code (MCC)+Mobile Network Code (MNC)+QMC ID, where the QMC ID is a string of 24 bits) will be associated with each QoE configuration. The QoE reference is included in the container with measurement instructions and also sent to the RAN (i.e., the gNB in NR). For the communication between the gNB and the UE, the QoE reference is replaced by a shorter identifier denoted as measConfigAppLayerId, which is locally unique within a UE (i.e., there is a one-to-one mapping between a measConfigAppLayerId and a QoE reference for each QoE configuration provided to a UE). The measConfigAppLayerId is stored in the UE Access Stratum and also forwarded in an AT Command (which is the type of instructions used in the communication between the UE’s modem part and the UE’s application layer) together with the service type indication and the container with the measurement instructions. [9] Reports with collected QoE reports are sent from the UE application layer to the UE Access Stratum, which forwards them to the RAN, which in turn forwards them to the MCE. These QoE reports are placed in a “container”, which is uninterpretable for both the UE Access Stratum and the RAN. QoE reporting can be configured to be periodic or only to be sent at the end of an application session. Furthermore, the RAN can instruct the UE to pause QoE reporting, e.g. in case the cell / gNB is in a state of overload.

[0010] The RAN is not automatically aware of when an application session with an associated QoE measurement session is ongoing, and the UE Access Stratum is also not automatically aware of this. To alleviate this, session “start” / ”stop” indications which are sent from the application layer in the UE to the UE AS and from the UE AS to the RAN were introduced. A session “stop” indication may be explicit or may be implicit in the form of a QoE report sent when the application session and the associated QoE measurement session are concluded.

[0011] The RAN may decide to release a QoE configuration in a UE at any time, as an implementation-based decision. Typically, it is done when the UE has moved outside a configured area scope.

[0012] One opportunity provided by legacy solutions is also to be able to keep the QoE measurement for the whole session, even during a handover situation. It is also discussed to let the UE continue with the QoE measurements on an ongoing application session until the application session ends, even if the UE in the meantime moves out of the configured area scope. RAN Visible QoE (RVQoE) measurements

[0013] QoE measurements, and their reported results, are intended for analysis in the OAM system (or in other entities that belong neither to the core network nor the RAN) and subsequent possible non-real-time optimizations. The QoE reports are forwarded transparently by the RAN to a configured receiver, e.g. an MCE. However, the RAN could also benefit from receiving measurement results of metrics measured or collected at the application layer, e.g. as a complement to radio-related measurements such as Radio Resource Management (RRM) measurements (e.g. Reference Signal Received Power (RSRP), Reference Signal Received Quality (RSRQ), Signal to Interference and Noise Ratio (SINR)…). For instance, the RAN could use such measurement results for real-time or semi-real-time adaptations or optimizations of the treatment of an ongoing application session, e.g. in terms of scheduling priorities.

[0014] For this reason, in 3GPP release 17, 3GPP introduced so-called RAN Visible QoE (RVQoE), which comprises periodic reporting of measured application layer metrics in a format that the RAN can understand. These RVQoE metrics are in release 17 limited to QoE metrics, in particular the Buffer Level QoE metric for DASH (specified in 3GPP TS 26.247 version 17.1.0, which in turn references annex D.4.5 in ISO / IEC 23009-1, and represented in 3GPP TS 38.331 version 17.2.0 (i.e. the RRC specification) as the AppLayerBufferLevel-r17 field) and the Playout Delay for Media Start-up QoE metric for DASH (specified in 3GPP TS 26.247 version 17.1.0 and represented in 3GPP TS 38.331 version 17.2.0 (i.e. the RRC specification) as the playoutDelayForMediaStartup-r17 field). In addition to these two RVQoE metrics, a MeasurementReportAppLayer message may contain a Protocol Data Unit (PDU) session ID list (in the form of the pdu-SessionIdList-r17 field) as part of the reported RVQoE information (i.e. in the RAN-VisibleMeasurements-r17 IE).

[0015] The configuration for QoE and RVQoE are performed via an RRC reconfiguration message containing the AppLayerMeasConfig information element (IE) shown below. The configuration of legacy QoE metrics is done via the measConfigAppLayerContainer IE, which specifies the configuration to the application-layer in the UE as an octet string (following XML). RVQoE parameters are specified as part of the RAN-VisibleParameters IE.

[0016] AppLayerMeasConfig message: -- ASN1START -- TAG-APPLAYERMEASCONFIG-START AppLayerMeasConfig-r17 ::= SEQUENCE { measConfigAppLayerToAddModList-r17 SEQUENCE (SIZE (1..maxNrofAppLayerMeas-r17)) OF MeasConfigAppLayer-r17 OPTIONAL, -- Need N measConfigAppLayerToReleaseList-r17 SEQUENCE (SIZE (1..maxNrofAppLayerMeas-r17)) OF MeasConfigAppLayerId-r17 OPTIONAL, -- Need N rrc-SegAllowed-r17 ENUMERATED {enabled} OPTIONAL, -- Need R ... } MeasConfigAppLayer-r17 ::= SEQUENCE { measConfigAppLayerId-r17 MeasConfigAppLayerId-r17, measConfigAppLayerContainer-r17 OCTET STRING (SIZE (1..8000)) OPTIONAL, -- Need N serviceType-r17 ENUMERATED {streaming, mtsi, vr, spare5, spare4, spare3, spare2, spare1} OPTIONAL, -- Need M pauseReporting-r17 BOOLEAN OPTIONAL, -- Need M transmissionOfSessionStartStop-r17 BOOLEAN OPTIONAL, -- Need M ran-VisibleParameters-r17 SetupRelease {RAN- VisibleParameters-r17} OPTIONAL, -- Cond ServiceType ... } RAN-VisibleParameters-r17 ::= SEQUENCE { ran-VisiblePeriodicity-r17 ENUMERATED {ms120, ms240, ms480, ms640, ms1024} OPTIONAL, -- Need S numberOfBufferLevelEntries-r17 INTEGER (1..8) OPTIONAL, -- Need R reportPlayoutDelayForMediaStartup-r17 BOOLEAN OPTIONAL, -- Need M ... } -- TAG-APPLAYERMEASCONFIG-STOP [0]-- ASN1STOP The MeasurementReportAppLayer message

[0017] A UE uses the MeasurementReportAppLayer message to report measured QoE metrics and measured RVQoE metrics. It is specified as follows in 3GPP TS 38.331 version 17.2.0: -- ASN1START -- TAG-MEASUREMENTREPORTAPPLAYER-START MeasurementReportAppLayer-r17 ::= SEQUENCE { criticalExtensions CHOICE { measurementReportAppLayer-r17 MeasurementReportAppLayer-r17-IEs, criticalExtensionsFuture SEQUENCE {} } } MeasurementReportAppLayer-r17-IEs ::= SEQUENCE { measurementReportAppLayerList-r17 MeasurementReportAppLayerList-r17, lateNonCriticalExtension OCTET STRING OPTIONAL, nonCriticalExtension SEQUENCE{} OPTIONAL } MeasurementReportAppLayerList-r17 ::= SEQUENCE (SIZE (1..maxNrofAppLayerMeas-r17)) OF MeasReportAppLayer-r17 MeasReportAppLayer-r17 ::= SEQUENCE { measConfigAppLayerId-r17 MeasConfigAppLayerId-r17, measReportAppLayerContainer-r17 OCTET STRING OPTIONAL, appLayerSessionStatus-r17 ENUMERATED {started, stopped} OPTIONAL, ran-VisibleMeasurements-r17 RAN-VisibleMeasurements-r17 OPTIONAL } RAN-VisibleMeasurements-r17 ::= SEQUENCE { appLayerBufferLevelList-r17 SEQUENCE (SIZE (1..8)) OF AppLayerBufferLevel-r17 OPTIONAL, playoutDelayForMediaStartup-r17 INTEGER (0..30000) OPTIONAL, pdu-SessionIdList-r17 SEQUENCE (SIZE (1..maxNrofPDU-Sessions- r17)) OF PDU-SessionID OPTIONAL, ... } AppLayerBufferLevel-r17 ::= INTEGER (0..30000) -- TAG-MEASUREMENTREPORTAPPLAYER-STOP -- ASN1STOP MeasurementReportAppLayer field descriptions appLayerBufferLevelList The field indicates a list of application layer buffer levels, and each AppLayerBufferLevel indicates the application layer buffer level in ms. Value 0 corresponds to 0ms, value 1 corresponds to 10ms, value 2 corresponds to 20 ms and so on. If the buffer level is larger than the maximum value of 30000 (5 minutes), the UE reports 30000. appLayerSessionStatus Indicates that an application layer measurement session in the application layer starts or ends. playoutDelayForMediaStartup Indicates the application layer playout delay for media start-up in ms. Value 0 corresponds to 0ms, value 1 corresponds to 1ms, value 2 corresponds to 2 ms and so on. If the playout delay for media start-up is larger than the maximum value of 30000ms, the UE reports 30000. measReportAppLayerContainer The field contains application layer measurement report, see Annex L (normative) in TS 26.247

[0068] , clause 16.5 in TS 26.114

[0069] and TS 26.118

[0070] . pdu-SessionIdList Contains the identity of the PDU session, or the identities of the PDU sessions, used for application data flows subject to the RAN visible application layer measurements. AT commands and QoE

[0018] AT commands are used for communication between the AS (radio) layer and the application layer in the UE. The AT commands are defined in 3GPP TS 27.007 version 17.6.0. The AT commands are used in QoE for transferring of the configuration from the RRC layer to the application and for transferring of reports from the application layer to the RRC layer.

[0019] The AT command used for sending a QoE configuration (and / or a RVQoE configuration) from the UE AS to the UE application layer in NR is denoted as +CAPPLEVMCNR and is specified as follows in 3GPP TS 27.007 version 17.6.0: Table 8.84-1: +CAPPLEVMCNR parameter command syntax Command Possible response(s) +CAPPLEVMCNR=[<n>] +CME ERROR: <err> +CAPPLEVMCNR? +CAPPLEVMCNR: <n> +CAPPLEVMCNR=? +CAPPLEVMCNR: (list of supported <n>s) Description This command allows control of the application level measurement configuration according to 3GPP TS 38.331

[0160] . The set command controls the presentation of the unsolicited result code +CAPPLEVMCNR: (list of [<CR><LF>,<meas_config_app_layer_id>,[<start- stop_measurement>,[<ran_visible_release_only>]],[<app-meas_config_file_length>,<app- meas_config-file>],[<transmission_of_session_start- end>],[<ran_visible_periodicity>],[<number_of_buffer_level_entries>],[<report_initial_play out_delay>],[<app-meas_service_type>]]s) providing data for the configuration. Refer clause 9.2 for possible <err> values. Read command returns the current value of <n>. Test command returns values supported as a compound value. Defined values [See section 8.84 in 3GPP TS 27.007 version 17.6.0.]

[0020] The AT command used for sending QoE reports (and / or RVQoE reports) from the UE application layer to the UE AS in NR is denoted as +CAPPLEVMRNR and is specified as follows in 3GPP TS 27.007 version 17.6.0: Table 8.85-1: +CAPPLEVMR action command syntax Command Possible response(s) +CAPPLEVMR=(list of [<CR><LF><app- +CME ERROR: <err> meas_report_length>,<app- meas_report>,<meas_config_app_layer_id>],[<nu mber-of-pdu-session_id-entries>,(list of <pdu- session_id>s)],[<number_of_buffer_level_entries >,(list of <application_layer_buffer- level>s)],[<qoe_measurement_status>],[<playout _delay_for_media_startup>]s) +CAPPLEVMR=? Description This command allows the MT to provide a list of application level measurement reports according to 3GPP TS 38.331

[0160] . Refer clause 9.2 for possible <err> values. Defined values [Defined values are omitted for brevity of the description – see section 8.84 in 3GPP TS 27.007 version 17.6.0.]

[0021] In LTE, the corresponding AT commands are denoted respectively as +CAPPLEVMC and +CAPPLEVMR. Video streaming over DASH

[0022] DASH is presently the industry standard in delivering streaming video to end-user devices. The specification and requirements of DASH are in ISO / IEC 23009 series. While the DASH standard specifies good practices around video quality adaptation and ground requirements to be fulfilled, it does not exactly specify the buffer strategy or the representation switch behavior. In ISO / IEC 23009-1, it is mentioned that the problem that a client would need to solve is formulated as choosing the representation of the next video segment such that constraints in terms of the current buffer level, estimated download rate, and the minimum volume of data required in the buffer to prevent stalling are satisfied.

[0023] However, in practice having only the minimum amount of data left over in the buffer when the next segment has completed downloading should be avoided by all means as other factors such as delay, jitter, throughput variations, etc., may result in the client stalling.

[0024] Most on-demand DASH clients strive to maintain a buffer that is in the order of 10s of seconds so that the streaming session can be shielded from any temporary fluctuation in the network. In academic literature, there are several disclosed ways to choose a representation for the next segment of the video, and how the sizing of the buffer should be handled so that the overall QoE is optimized. The most common among these is by applying two thresholds on the buffer, one to determine when to suspend content download and the other to determine when to resume a suspended content download, where the suspend threshold is always larger than the resume threshold.

[0025] The suspend content download threshold is chosen such that the client does not download too much content beforehand (in case it abandons the viewing session, or it might download too much data at a poor representation index) and the resume content download threshold is chosen such that it is not too small such that upon encountering network issues, the video does not stall. The difference between these two thresholds should also not be so large that long- term network changes affect the QoE.

[0026] There currently exist certain challenge(s).

[0027] RVQoE is being defined as a set of information concerning an application session that is exchanged between an application in a UE and the RAN. Based on the exchanged information, the RAN can plan / perform short term actions and interventions that strive to improve and / or maximize QoE and overall network / resource utilization under operational network constraints such as capacity, availability, network policies, etc.

[0028] As of now, RVQoE only standardizes buffer level and playout delay for media startup as RVQoE metrics for DASH.

[0029] The playout delay for media startup is a once-per-playback session metric whose applicability to optimize the current playback session that generated the report is limited.

[0030] Buffer level is an important metric in the context of DASH use-cases. However, having access only to the buffer level does not provide a complete picture at the RAN. Summary

[0031] There are additional metrics whose relation to the buffer level is important in communicating the current playback session’s QoE to the RAN. This disclosure describes the rationale and the benefits of these new proposed metrics that would result in an improved buffer status reporting over RVQoE.

[0032] Certain aspects of the disclosure and their embodiments may provide solutions to these or other challenges.

[0033] A first aspect of the disclosure provides a method performed by a user equipment. The method comprises: receiving a radio-access network, RAN,-visible quality-of-experience, RV- QoE, configuration to obtain values for one or more parameters associated with an a video- streaming application session. The one or more parameters comprise one or more first parameters relating to encoding rate of the video-streaming application session. The method further comprises obtaining values for the one or more parameters in accordance with the configuration; and transmitting, to a network node, a report comprising RAN-visible indications of the values for the one or more parameters.

[0034] A second aspect of the disclosure provides a method performed by a network node. The method comprises: transmitting, to a UE, a radio-access network, RAN,-visible quality-of- experience, RV-QoE, configuration for the UE to obtain values for one or more parameters associated with a video-streaming application session. The one or more parameters comprise one or more first parameters relating to encoding rate of the video-streaming application session.

[0035] A third aspect of the disclosure provides a method performed by a network node. The method comprises: receiving, from a UE, a report comprising RAN-visible indications of values for one or more parameters associated with a video-streaming application session. The one or more parameters comprise one or more first parameters relating to encoding rate of the video-streaming application session. The method further comprises performing one or more actions in dependence on the values for the one or more parameters.

[0036] Apparatus and computer-readable media for performing the methods of the first, second and third aspects are also provided. For example, a UE comprises processing circuitry and power supply circuitry configured to supply power to the processing circuitry. The processing circuitry is configured to cause the UE to: receive a radio-access network, RAN,-visible quality-of-experience, RV-QoE, configuration to obtain values for one or more parameters associated with an a video-streaming application session, wherein the one or more parameters comprise one or more first parameters relating to encoding rate of the video-streaming application session; obtain values for the one or more parameters in accordance with the configuration; and transmit, to a network node, a report comprising RAN-visible indications of the values for the one or more parameters. In another example, a network node comprises processing circuitry and power supply circuitry configured to supply power to the processing circuitry. The processing circuitry is configured to cause the network node to: transmit, to a UE, a radio-access network, RAN,-visible quality-of-experience, RV-QoE, configuration for the UE to obtain values for one or more parameters associated with an a video-streaming application session, wherein the one or more parameters comprise one or more first parameters relating to encoding rate of the video-streaming application session. In a further example, a network node comprises processing circuitry and power supply circuitry configured to supply power to the processing circuitry. The processing circuitry is configured to cause the network node to: receive, from a UE, a report comprising RAN-visible indications of values for one or more parameters associated with a video-streaming application session, wherein the one or more parameters comprise one or more first parameters relating to encoding rate of the video- streaming application session; and perform one or more actions in dependence on the values for the one or more parameters.

[0037] This disclosure proposes new RVQoE metrics that are useful in sharing important insights and an in-depth picture of the current playback session in the context of RVQoE reporting to the RAN nodes interested in receiving RVQoE measurements, for e.g., the RAN node that configured the RVQoE measurements and / or the RAN node serving the UE (in particular a RAN node serving the application data flow(s)) and in the potential follow-up actions that might be possible by the RAN nodes. The metrics proposed are set out below.

[0038] Some application-related attributes and QoE metrics that are constant throughout a playback session are: ^ Suspend content download threshold ^ Resume content download threshold ^ Video length ^ Session’s maximum encoding rate / representation ^ Media Presentation Description (MPD) and Device information, such as: videoWidth, videoHeight, screenWidth, screenHeight, pixelWidth, pixelHeight, fieldofView

[0039] Some application-related attributes and QoE metrics that are dynamic for a streaming application session are: ^ Current play point ^ Time / duration to next HTTP request ^ Current played representation / encoding rate ^ Current downloaded representation / encoding rate ^ Present application-level status / state ^ Segment download for the current playback session completed ^ Quantifiers of the buffer state: o Buffer level / suspend content download threshold o Buffer level / resume content download threshold o Downloaded content relative to the video length o Remaining content relative to the file size and / or video length o Volume of data (e.g., in bytes) in buffer o Volume of data (e.g., in bytes) to be downloaded to reach suspend content download threshold o Volume of data (e.g., in bytes) left to reach resume content download threshold o Expected encoding rate of next content request ^ Playlist parameters such as: representationId, playbackspeed, stopreason ^ Application information parameters

[0040] Certain embodiments may provide one or more of the following technical advantage(s). The proposed additions to RVQoE metrics facilitate the RAN to be more aware of a playback session underway at a UE by providing it with granular information, and enables the RAN to perform actions based on the values in the received reports. Some of the actions may include resource optimization across a UE sub-group, and resource optimization based on UE / application state.

[0041] The benefits and the rationale of the different metrics are set out in the detailed description below. Brief Description of the Drawings

[0042] For a better understanding of the embodiments of the present disclosure, and to show how it may be put into effect, reference will now be made, by way of example only, to the accompanying drawings, in which:

[0043] Fig.1 is a flow chart illustrating a method in accordance with some embodiments;

[0044] Fig.2 is a flow chart illustrating a method in accordance with some embodiments;

[0045] Fig.3 is a flow chart illustrating a method in accordance with some embodiments;

[0046] Fig. 4 shows an example of a communication system in accordance with some embodiments;

[0047] Fig.5 shows a UE in accordance with some embodiments;

[0048] Fig.6 shows a network node in accordance with some embodiments;

[0049] Fig.7 is a block diagram of a host;

[0050] Fig. 8 is a block diagram illustrating a virtualization environment in which functions implemented by some embodiments may be virtualized; and

[0051] Fig.9 shows a communication diagram of a host communicating via a network node with a UE over a partially wireless connection in accordance with some embodiments. Detailed description

[0052] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Embodiments are provided by way of example to convey the scope of the subject matter to those skilled in the art.

[0053] This disclosure provides methods in which a UE is configured to measure / obtain and report RAN-visible quality-of-experience (RV-QoE) metrics and parameters to the network. The disclosure focuses in particular on RVQoE and to the extensions thereof that facilitate an improved buffer status reporting from a video-streaming application session (such as a DASH application) in a UE to the RAN. The metrics included in the methods disclosed herein may provide a better insight into the ongoing video streaming session at the RAN which facilitates the RAN in taking better actions towards the current UE and also in overall resource optimization in the RAN.

[0054] Herein it is sometimes mentioned that resources are allocated to an application session. This should be understood in a general sense, which may consist of allocating resources (e.g. through scheduling) to the UE running the application session, wherein it may be possible that in some cases the allocated resources are used for other communication to / from the UE than the concerned application session.

[0055] The terms “UE”, “terminal equipment”, “wireless terminal” and “terminal” are used interchangeably.

[0056] The terms “node” and “network node” are used interchangeably.

[0057] The terms “application layer measurement configuration”, “application measurement configuration”, “RVQoE measurement configuration”, “RVQoE configuration”, “RVQoE measurement and reporting configuration” and “QMC configuration” are used interchangeably. Note that “QMC configuration file” is not an equivalent term, but instead refers to the part of the SN configuration consisting of an XML file containing instructions of SN metrics to be collected etc.

[0058] A network node can be a RAN node, a gNB, an eNB, an en-gNB, a ng-eNB, a gNB-CU, a gNB-CU-CP, a gNB-CU-UP, an eNB-CU, an eNB-CU-CP, an eNB-CU-UP, an IAB-node, an IAB-donor DU, an IAB-donor-CU, an IAB-DU, an IAB-MT, an O-CU, an O-CU-CP, an O-CU-UP, an O-DU, an O-RU, an O-eNB, a Non-Real Time RAN Intelligent Controller (Non- RT RIC), a Real-Time RAN Intelligent Controller (RT-RIC), an OAM node, a Core Network node / function, a Cloud-based network function, or a Cloud-based centralized training node

[0059] The terms “RVQoE report” and “RVQoE measurement report” are used interchangeably.

[0060] The terms “access stratum” and “radio layer” are used interchangeably when referring to a UE.

[0061] The term “session” refers to an application session for which RVQoE measurement is applied.

[0062] The solutions proposed in this disclosure apply to any communication system (especially wireless communication systems) in which quality of experience is or may be reported by a terminal device to the network, such as UMTS, LTE and NR as well as future Radio Access Technologies (RATs) such as 6G.

[0063] Herein, the application layer in the UE is also referred to as the “UE application layer” or simply the “application layer”.

[0064] While the proposed solutions and use cases in this disclosure relate to video streaming (e.g., DASH streaming), the concept of communicating the application-level status to the RAN is not only limited to this use-case. Some non-limiting examples include applications whose characteristics can benefit from assistance and coordination with the RAN, such as AR / VR / Extended Reality (XR), non-DASH services running over Multicast–Broadcast Services (MBS), video conferencing, bulk file downloads, etc.

[0065] All references to the application layer are with respect to the application layer of the UE (since RAN nodes do not have an application layer).

[0066] The term “service” is often used as a short notation for “service type”, therefore “service” and “service types” can be seen as interchangeable unless explicitly stated.

[0067] The solution proposed in this disclosure apply to both signaling- and management-based QoE / RVQoE measurements (but may also optionally be restricted to apply to only one of them).

[0068] The term “encoding rate” refers to the bit rate at which a video (or a version of the video) is available for download from a DASH server. In literature, the encoding rate is also referred to as the video representation and the set of encoding rates at which a DASH video may be available is called the representation set. These terms have been used interchangeably in this document.

[0069] The proposed solutions are presented in the non-limiting example of RVQoE measurements, enhanced assistance information communicated by the UE to be used by the RAN for different actions and / or optimization purposes. However, in some variants, the assistance information may further be communicated to a core network entity, e.g., a network function or the receiver of QoE reports to derive either short-term or long-term actions to be performed by the RAN, or by the core, or by the streaming provider.

[0070] In this disclosure, the steady-state behavior of a DASH client is described using the thresholds controlling the buffer level (e.g., suspend content download threshold and resume content download threshold) and the application estimating the download rate to determine the choice of encoding for the next request. However, note that there are other approaches such as using the rate of change of buffer size to determine the choice of encoding to download. The proposed additions in this disclosure are also applicable in this case as the rate of change in buffer is indirectly estimating the download rate.

[0071] In addition, certain DASH clients may not have a preset value that controls the suspend and resume content download thresholds. During operation, the client dynamically determines such values based on the observed conditions in addition to other metrics such as rate of change in buffer. In such a case, if the thresholds are dynamic throughout a playback session, these metrics can be communicated as part of the metrics that are dynamic during the playback session.

[0072] Figure 1 depicts a method in accordance with particular embodiments. The method may be performed by a UE or wireless device (e.g. the UE 412 or UE 500 as described later with reference to Figures 4 and 5 respectively). The method should also be read and understood in conjunction with methods described below with respect to Figures 2 and 3, which set out corresponding steps performed by one or more network nodes.

[0073] The method begins at step 102, in which the UE receives, from a network node, an RV- QoE configuration for the UE to obtain values for one or more parameters associated with an application session at the UE (such as a video streaming application session, e.g., DASH).

[0074] The configuration may be received in an RRC message, e.g., RRCReconfiguration, or in any other suitable message. The configuration may be received before the application session starts, or while the application session is ongoing.

[0075] The configuration may comprise instructions for how the UE is to report the values to the network. For example, the UE may be configured to transmit reports periodically (where the periodicity may be configurable), upon request, or triggered by some other event (such as a change in one or more of the parameters, a change in the status of the application session, etc). The UE may also be configured to transmit a report comprising values for all of the one or more parameters in a first report, and then values for only those parameters that have changed in subsequent reports.

[0076] The configuration may also comprise an indication of the one or more parameters for which the UE is to obtain values. Further detail of these parameters is set out below.

[0077] Although not shown in Figure 1, when connecting to the network or later, the UE may indicate to the network its capabilities with respect to which metrics it is capable of reporting, and / or its capability with respect to transmitting reports to the network, e.g., whether the UE is capable of transmitting static and / or dynamic metrics differently. The configuration received in step 102 may be formulated by the network taking such capabilities into account.

[0078] The following text sets out an ASN.1 realization of the configuration of RVQoE parameters at the UE according to embodiments of the disclosure (underlined passages represent additional instructions according to embodiments of the disclosure): -- ASN1START -- TAG-APPLAYERMEASCONFIG-START AppLayerMeasConfig-r17 ::= SEQUENCE { measConfigAppLayerToAddModList-r17 SEQUENCE (SIZE (1..maxNrofAppLayerMeas-r17)) OF MeasConfigAppLayer-r17 OPTIONAL, -- Need N measConfigAppLayerToReleaseList-r17 SEQUENCE (SIZE (1..maxNrofAppLayerMeas-r17)) OF MeasConfigAppLayerId-r17 OPTIONAL, -- Need N rrc-SegAllowed-r17 ENUMERATED {enabled} OPTIONAL, -- Need R ... } MeasConfigAppLayer-r17 ::= SEQUENCE { measConfigAppLayerId-r17 MeasConfigAppLayerId-r17, measConfigAppLayerContainer-r17 OCTET STRING (SIZE (1..8000)) OPTIONAL, -- Need N serviceType-r17 ENUMERATED {streaming, mtsi, vr, spare5, spare4, spare3, spare2, spare1} OPTIONAL, -- Need M pauseReporting-r17 BOOLEAN OPTIONAL, -- Need M transmissionOfSessionStartStop-r17 BOOLEAN OPTIONAL, -- Need M ran-VisibleParameters-r17 SetupRelease {RAN- VisibleParameters-r17} OPTIONAL, -- Cond ServiceType ... } RAN-VisibleParameters-r17 ::= SEQUENCE { ran-VisiblePeriodicity-r17 ENUMERATED {ms120, ms240, ms480, ms640, ms1024} OPTIONAL, -- Need S numberOfBufferLevelEntries-r17 INTEGER (1..8) OPTIONAL, -- Need R reportPlayoutDelayForMediaStartup-r17 BOOLEAN OPTIONAL, -- Need M suspendContentDownloadThreshold INTEGER (1..65535) OPTIONAL, resumeContentDownloadThreshold INTEGER OPTIONAL, videoPlaytime INTEGER OPTIONAL, sessionMaximumRepresentation INTEGER OPTIONAL, deviceInformation SEQUENCE { screenWidth INTEGER OPTIONAL, screenHeight INTEGER OPTIONAL, pixelWidth INTEGER OPTIONAL, videoWidth INTEGER OPTIONAL, videoHeight INTEGER OPTIONAL, … } currentPlayPoint INTEGER OPTIONAL, durationToNextHTTPRequest INTEGER OPTIONAL, currentPlayedRepresentation INTEGER OPTIONAL, currentApplicationStatus ENUMERATED {playing, stalled, paused, suspended, seeking} OPTIONAL, segmentDownloadForCurrentSessionComplete BOOLEAN OPTIONAL, bufferStateQuantifiers SEQUENECE { degreeOfBufferFulness INTEGER OPTIONAL, downloadedContentRelativeToVideoLengthINTEGER OPTIONAL, remainingContentRelativeToVideoSizeINTEGER OPTIONAL, volumeOfDataInBuffer INTEGER OPTIONAL, volumeOfDataToSuspendContentDownloadThreshold INTEGER OPTIONAL, volumeOfDataToResumeContentDownloadThreshold INTEGER OPTIONAL, … } expectedEncodingRateOfNextRequest INTEGER OPTIONAL playlistParameters SEQUENCE { playbackSpeed INTEGER OPTIONAL, stopReason ENUMERATED {user request, rebuffering} … } ... } -- TAG-APPLAYERMEASCONFIG-STOP -- ASN1STOP

[0079] Upon reception of the messages from the RAN by the UE AS, this message is sent to the application. This can be achieved by extending the +CAPPLEVMCNR message to include the indications received from the RAN to the application. Below we detail the solutions describing the different alternatives mentioned above and how this may be communicated to the application (underlined portions represent instructions added according to embodiments of the disclosure). +CAPPLEVMCNR: (list of [<CR><LF>,<meas_config_app_layer_id>,[<start- stop_measurement>,[<ran_visible_release_only>]],[<app-meas_config_file_length>,<app- meas_config-file>],[<transmission_of_session_start- end>],[<ran_visible_periodicity>],[<number_of_buffer_level_entries>],[<report_initial_play out_delay>],[<app- meas_service_type>],[<suspend_content_download_threshold>],[<resume_content_downloa d_threshold>],[<video_playtime>],[<session_maximum_representation>],[<screen_width>],[ <screen_height>],[<pixel_width>],[<pixel_height>],[<video_width>],[<video_height>], [<current_playpoint>],[<duration_to_next_http_request>],[<current_played_representation>] ,[<current_downloaded_representation>],[<current_application_status>],[<segment_downloa d_for_current_session_complete>],[<degree_of_buffer_fullness>],[<downloaded_content_rel ative_to_video_length>],[<remaining_content_relative_to_video_size>],[<volume_of_data_i n_buffer>],[<volume_of_data_to_syspend_content_download_threshold>],[<volume_of_dat a_to_resume_content_download_threshold>],[<playback_speed>],[<stop_reason>],]s)

[0080] In step 104, the UE obtains values for the one or more parameters in accordance with the configuration received in step 102. That is, the UE may perform measurements of the one or more parameters indicated in the configuration, perform measurements of other quantities from which the parameters indicated in the configuration can be calculated, and / or obtains values for set parameters (e.g., static parameters) from configuration files in the application.

[0081] In step 106, the UE transmits, to a network node, a report comprising RAN-visible indications of the values for the one or more parameters. Note that the report may be transmitted to the same network node from which the configuration was received in step 102, or to a different network node. For example, the UE may receive a configuration from its serving network node, but then execute a mobility procedure (e.g., handover, SN addition / modification, etc) prior to transmission of the report in step 106. In such a case, the report may be transmitted to a different serving network node in step 106.

[0082] The following paragraphs set out different parameters or metrics which the UE may be configured to obtain or measure, and report to the network. The parameters are divided into those parameters that are static throughout an application session, and those parameters that are expected to change over the course of an application session. In some embodiments, these two categories of parameters may be handled differently; for example, the UE may report values for static parameters only once during an application session (either in a dedicated report, or together with non-static parameters), while values for non-static parameters may be reported multiple times during the application session. The UE may be configured to report values of any one or more of the following parameters. Metrics that are static throughout a playback session

[0083] Below we describe the rationale behind metrics that are static, and thus may be communicated to the network only once per session. These metrics may be denoted as static metrics or static session information. This exchange could be performed as part of the first (e.g., initial) RVQoE report that is communicated to the RAN or using other means such as the session start indication from the UE application to the UE AS, which is forwarded to the RAN.

[0084] Suspend and resume content request thresholds: The DASH playback session is regulated by the buffer level value. Whenever the playback session’s buffer level (e.g., the number of seconds of playback data that has been downloaded to buffer) is larger than a certain specified value, the application suspends downloading of subsequent segments. This threshold corresponds to the suspend content request threshold. A playback session that has suspended downloading after exceeding the suspend content request threshold will continue to consume its playback buffer at the rate of 1 every second during playback without any user interaction or activation of special modes that changes the playback speed. Whenever the buffer level goes below another, lower threshold, the application is allowed to download future segments of the video. This threshold corresponds to the resume content request threshold.

[0085] Video length / playtime: The RAN can benefit significantly by knowing the expected playtime of a video (e.g., expressed in seconds). Potential policies based on this metric (either independently or together with other metrics) are provided in later sections.

[0086] Session’s maximum encoding rate / representation: A DASH video consists of several video representations, and the application during playback chooses the best representation that maximizes the use of the overall available bandwidth. However, client-side constraints such as screen size, max resolution, codec support, etc., may limit the maximal / best encoding rate that can be played back by the application. This metric can be interpreted as the highest encoding rate for the current playback session which will result in the best possible QoE, provided any client-side degradations are avoided. The value can also be used as an upper bound in resource allocation to the UE by the RAN.

[0087] Device and video information (e.g., MPD): This is information concerning the device such as, screenWidth, screenHeight, pixelWidth, pixelHeight, fieldofView and video information such as videoWidth and videoHeight. The information may optionally contain an indication of whether the device has a dual screen (i.e., dual display) and whether screen splitting is supported. In case of dual screen, the screen / video information described above may be provided per screen, or jointly, for both screens. Metrics that are dynamic during a playback session

[0088] Below we describe one or more metrics which may be communicated to the RAN dynamically as part of RVQoE reports.

[0089] Current play point: The current play point of the video stream in relation to the start and the end of the video stream (e.g., expressed in seconds) or as a fraction of the full session duration (video length) can be used by the RAN in resource planning and allocation. Other potential policies based on this metric (either independently or together with other metrics) are provided in later sections.

[0090] Time / duration to next HTTP request: A DASH client’s download behavior (as described above) consists of active periods where content is downloaded and inactive periods where no content is downloaded. When the current application is in the inactive state, information on when the application is expected to re-start downloading (i.e., buffer level – resume content download threshold) can be used by the RAN to perform resource optimization.

[0091] Current played representation bitrate and Current downloaded representation bitrate: Due to the quality adaptive and buffered nature of DASH, the encoding rate at which the stream is currently being played may be different from the representation at which the stream is currently being downloaded. The relation between these can be used to approximate the historical throughput and ongoing throughput degradations or in interpreting the effects of RAN interventions to the ongoing playback session.

[0092] The metric may be expressed in terms of two encoding rates (one for the currently played out content and one for the current – or latest – content download), or, alternatively, as a ratio between these two encoding rates.

[0093] Present application-level status / state: Information about the state of the DASH client in terms of it actively downloading video content, or it being in an idle state, or the expected download resumption, playing, paused, stalled, stopped, seeking, etc., can be used by the RAN to estimate the ongoing / upcoming load on the network.

[0094] Segment download for the current playback session completed: Owing to the buffered nature of DASH videos, the application session may be ongoing, but from the network’s perspective, the download may have been completed. An indication from the application to the RAN that the content download for the current session has been completed can be used by the RAN in short- and long-term resource planning. The gNB could in principle determine when the entire content has been downloaded to the UE, based on the video length (i.e., the static metric), the current play point and the buffer level.

[0095] However, an explicit indication from the UE (e.g., in an event-triggered RVQoE report) may be preferable, e.g. to simplify for the gNB. It would also be needed if any of the three metrics (i.e., video length, current play point, and buffer level) is absent, e.g. because it is optional to configure or not all metrics might be standardized.

[0096] Quantifiers of the buffer state: The degree of buffer fulness, i.e., as a ratio of the current Buffer value to the suspend content download threshold, or the Buffer value to the resume content download threshold, can be used by the RAN to estimate the relation of the buffer level to the suspend or resume content download threshold to be used in different optimizations.

[0097] The degree of buffer fullness can also be expressed as a percentage where the minimum value of the range (e.g., 0) is associated / corresponds to the resume content download threshold, the maximum value of the range (e.g., 100) is associated / corresponds to the suspend content download threshold, and any value in between the minimum and the maximum percentage is obtained as a linear function between the suspend and resume content download thresholds.

[0098] Downloaded content relative to the video length: This metric is formed by the relation between the current play point + the current buffer level and the video length. It may be expressed as a ratio between two time periods or durations. One of the time periods / durations would be the sum of the current play point (expressed as time since the start of the video) and the playout time represented by the current buffer level. The other time period / duration would be the video length (i.e., the full duration of the video).

[0099] Remaining content relative to the video file size: a fraction of the file that has not yet been downloaded (relative to data size of the file). In the context of DASH, this fraction can be computed for the different available average representation bitrates, i.e., the fraction represents the remaining volume of data that will have to be downloaded if the video would be played back at a certain representation. The values for the different representation can potentially be expressed as a list.

[0100] Volume of data in the buffer: This metric is related to the metric expressing the degree of buffer fullness but measures the buffer content in terms of data amount (e.g., expressed in bytes) instead of playout time.

[0101] Volume of data to suspend content download threshold: The amount of data (e.g., expressed in bytes) left to the suspend content download threshold, assuming the current encoding rate (and assuming that no data is played out from the buffer). Optionally, this metric could be combined with an indication of the current encoding rate (which may be the encoding rate of the currently played out content or the encoding rate of the currently (or latest) downloaded content) and / or the metric could be indicated for multiple encoding rates, e.g., maximum encoding rate, too.

[0102] Volume of data to resume content download threshold: The amount of data (e.g., expressed in bytes) representing the buffer content above the resume content download threshold.

[0103] Expected encoding rate of next content request: This metric corresponds the representation / encoding rate of the next HTTP request that would originate from the current playback session. This metric may be provided with the assumption of unchanged circumstances.

[0104] As an example, the gNB may use this metric to determine a suitable bitrate to allocate to the UE. As another example, together with metrics describing the playout time difference from the current buffer level to the suspend content download threshold, the gNB can use this metric to determine / estimate the amount of data that has to be downloaded until the buffer level reaches the suspend content download threshold.

[0105] As another similar example, together with the video length (i.e., the duration of the full video) and the current play point, the gNB can estimate the amount of data that remains to be downloaded until the full content is downloaded.

[0106] Playlist parameters: parameters included in the Playlist can be used to obtain information concerning interactions (or context) of an end user in a certain session and determine whether and to which extent actions are required to optimize the quality of the session.

[0107] For instance, the playbackspeed indicates the playback speed relative to normal playback speed (i.e., normal forward playback speed is 1.0). If the playbackspeed attribute is 1, it can be used as an indication that other RVQoE metrics that can be measured during a normal user experience are meaningful, while a playbackspeed attribute larger than 1 indicates a faster playback speed, indicating that the end-user’s media consumption behavior is different and other RVQoE metrics that can be measured in this context are of less (or no) importance.

[0108] In another example, the stopreason parameter can indicate that a representation was stopped due to user request (stopreason=”user request”, or that the content delivery is concluded (stopreason=”end of content”). This provides again an information concerning the context in which the content of the application session is delivered, e.g., indicating that a degradation of other RVQoE metrics (e.g., a low buffer) can be interpreted or treated differently compared, e.g., to the same RVQoE metrics collected when “stopreason = rebuffering”

[0109] Application information parameters: parameters related to description of the content of the buffer. This may be on a high level or on more detailed level.

[0110] In one example, the UE may transmit an indication if the buffer contains data for a certain service type in addition to a DASH service. The UE may e.g transmit an indication if the buffer contains data for the service type MTSI. The service type MTSI may be used for voice connections, which may be of particular interest.

[0111] In another example, the UE may transmit an indication if the buffer contains certain data in addition to a DASH service, e.g. data of a VoNR call or data of an emergency call.

[0112] In another example, the UE may transmit an indication if the buffer contains data related to a certain application. Certain applications may be flagged, so that if the UE has data related to a certain application, an indication may be transmitted. This indication could be grouped into application categories or individual application names.

[0113] The UE may transmit an indication if data for a certain communication service or a certain sub-service type is in the buffer.

[0114] Thus method 1 sets out a number of parameters usable by the RAN to improve and / or optimize the quality of experience provided by the UE (particularly for the application session, but potentially other services provided by the UE), and / or the quality of experience provided by other UEs served by the network.

[0115] According to a behavior described in a technical specification, and / or according to configuration parameters received by a RAN node (the parameters being sent within or together with RVQoE configuration) the UE determines to: ^ report one or more of the metrics / parameters described above (e.g. one or more of the metrics that are static throughout a session and which are the same for all sessions, such as the device information and possible the suspend and resume content download thresholds) when the RVQoE configuration is received by the UE, before the first session for an application associated to the RVQoE configuration is started o Alternatively, this can be done in a dedicated RVQoE report sent just after the session start, but before the first measurement results are reported. ^ report one or more of the metrics / parameters described above, together with the indication of session start (e.g., one or more of the metrics that are static throughout a session)report at least some of the metrics / parameters described in section Error! Reference source not found., together with or as part of the first RVQoE report (e.g., one or more of the metrics that are static throughout a session) ^ report one or more of the metrics / parameters described above, together with or as part of any or all RVQoE reports (e.g., one or more of the metrics that are dynamic throughout a session) ^ report one or more of the metrics / parameters described above, together with or as part of the an RVQoE report (e.g., an indication of that the last video segment has been downloaded (i.e. the full content of the session has been downloaded) and / or one or more of the metrics that are static throughout a session) ^ As a further option, if periodic RVQoE reporting is configured, the UE / application may send this information in an initial RVQoE report without waiting for the expiration of the first period which triggers the first periodic RVQoE report (and this initial RVQoE report may optionally be dedicated for the purpose of conveying these static metrics (or static session information)). ^ Similarly, if event-triggered RVQoE reporting is configured, the UE / application may optionally send the static metrics (or static session information) in an initial RVQoE report without waiting until a configured event occurs to trigger an event-triggered RVQoE report (and this initial RVQoE report may optionally be dedicated for the purpose of conveying these static metrics (or static session information)). ^ As a yet further option, whether the UE / application should send such an initial RVQoE report may be configured in the RVQoE configuration sent to the UE (e.g., in the RAN-VisibleParameters-r17 IE in the AppLayerMeasConfig-r17 IE). ^ For all metrics described in this disclosure, the UE may first be configured to transmit the metrics. The UE may e.g. be configured to transmit the current play point or the present application level status. The configuration may contain details around the transmission, e.g. when the UE shall transmit the information, how often the information shall be sent, if it should be sent periodically or based on an event taking place etc. The configuration may be done in an RRC message, e.g. RRCReconfiguration, or in another message.

[0116] Figure 2 depicts a method in accordance with particular embodiments. The method may be performed by a network node (e.g. the network node 410 or network node 600 as described later with reference to Figures 4 and 6 respectively). The method should also be read and understood in conjunction with the methods described above and below with respect to Figures 1 and 3, which set out corresponding steps performed by a UE and a network node (which may be the same network node as performed the method of Figure 2, or a different network node).

[0117] The method begins at step 202, in which the network node transmits, to a UE, an RV- QoE configuration for the UE to obtain values for one or more parameters associated with an application session at the UE (such as a video streaming application session, e.g., DASH).

[0118] The configuration may be transmitted in an RRC message, e.g., RRCReconfiguration, or in any other suitable message. The configuration may be transmitted before the application session starts, or while the application session is ongoing.

[0119] The configuration may comprise instructions for how the UE is to report the values to the network. For example, the UE may be configured to transmit reports periodically (where the periodicity may be configurable), upon request, or triggered by some other event (such as a change in one or more of the parameters, a change in the status of the application session, etc). The UE may also be configured to transmit a report comprising values for all of the one or more parameters in a first report, and then values for only those parameters that have changed in subsequent reports.

[0120] The configuration may also comprise an indication of the one or more parameters for which the UE is to obtain values. Further detail of these parameters is set out above with respect to Figure 1, and is not repeated here for brevity.

[0121] Although not shown in Figure 2, when connecting to the network or later, the UE may indicate to the network its capabilities with respect to which metrics it is capable of reporting, and / or its capability with respect to transmitting reports to the network, e.g., whether the UE is capable of transmitting static and / or dynamic metrics differently. The configuration transmitted in step 202 may be formulated by the network taking such capabilities into account.

[0122] Figure 3 depicts a method in accordance with particular embodiments. The method may be performed by a network node (e.g. the network node 410 or network node 600 as described later with reference to Figures 4 and 6 respectively). The method should also be read and understood in conjunction with the methods described above with respect to Figures 1 and 2, which set out corresponding steps performed by a UE and a network node (which may be the same network node as performed the method of Figure 3, or a different network node). Thus, in one embodiment, the methods of Figures 2 and 3 are performed sequentially by the same network node.

[0123] The method begins at step 302, in which the network node receives, from a UE, a report comprising RAN-visible indications of values for one or more parameters related to an application session, such as a video streaming application session (e.g., DASH). As the indications are visible to the RAN, the network node is able to decode and obtain the information included in the report.

[0124] The parameters that may be included in the report are described in more detail with respect to Figure 1, and are not repeated here for brevity.

[0125] In step 304, the network node performs one or more actions based on the values indicated in the report received in step 302.

[0126] In some embodiments, the RAN may aim to optimize the utilization of radio resources to achieve certain goals using one or more strategies. One goal / strategy may be to strive for the best possible QoE for a certain user (or group of users). Another goal / strategy may be to strive for fairness in terms of comparable QoE among a group of users. With regards to video streaming using DASH, a simplified definition of QoE aiming at the best possible experience, can be defined as playing a video at the best possible encoding rate or representation such that playback interruptions are not encountered. The presently standardized metrics for RVQoE do not provide sufficient tools to give the RAN sufficient insight into an ongoing session’s QoE; the presently standardized metrics are also lacking when considering longer-term resource planning.

[0127] With access to values for one or more of the metrics discussed above, as part of RVQoE reports, the RAN can perform the following estimations / computations that aid in ensuring QoE for on-going sessions and balance out the network performance for DASH clients co-existing with other applications.

[0128] Below we provide a non-limiting list of potential actions that can be executed. The collected RVQoE metrics can of course be used in other optimizations either in combination with the RVQoE metrics in this list, with other metrics available at the RAN, e.g., RRC measurements and measurements on the radio layer, and with other metrics that the RAN may receive from the core or any other measurement / indication / metric that may be collected / available at the RAN.

[0129] With access to the Present application-level status / state such as play, pause, stall, stop, seek, etc, together with one or more other metrics described in this disclosure, user-initiated events and events identifying the end impact on viewer QoE (such as stall) can be identified. Such events have a direct impact on the volume of data that will be downloaded in the immediate future, its relative priority, and in how the buffer level RVQoE metric shall be interpreted by the network. For example, when the user pauses a video, the application may continue to download and buffer data. However, when the buffer level is considerably filled (which may be observed via the buffer level RVQoE metric), the RAN may allocate a much lower priority to the DASH session, thereby facilitating other UEs in the area. Similarly, an indication of stop may be used by the RAN to cease any on-going transmission / retransmissions to the DASH session and a seek action that takes the play point beyond what has been buffered may be treated similarly to how a DASH session performing initial buffering would be treated in addition to special handling for packets in flight depending on if the content will be used by the application or not.

[0130] With access to the suspend and resume content download thresholds together with the current buffer level, as well as other information providing the context in which a streaming session is delivered, the RAN can perform the following estimations / computations which can be useful both in the context of the current playback session, but also in the context of resource utilization and optimization when considering other UEs that might be active during the same time. ^ If the application has suspended downloading of content because it reached the maximum buffer size, then, by observing the RVQoE reports, the RAN may estimate the amount of time that the application will not require download of any any new segments (Buffer level – resume content download threshold) ^ If downloading of content has been triggered, or is in progress, in the application, then, by observing the RVQoE reports, the RAN may estimate the amount of time the application will actively download content (Suspend content download threshold – Buffer level) / download rate ^ By observing the value suspend content download threshold, the RAN may estimate the amount of time for which a new DASH session will download content until its first suspension of the download.

[0131] With access to the video length, the RAN can perform the following estimations / computations: ^ Compute if the current playback session is a short playback session versus a medium or long playback session or continuous session (e.g., an open-ended live streaming) and therefore enable significant RAN-side network optimization and planning ^ Together with the available encoding rates, the RAN can use the video length to estimate the total amount of content data to be downloaded for the complete session

[0132] With access to the session’s maximum encoding rate (derived based on the video’s available representation levels and their correlation to device properties) ^ the RAN can estimate the average bitrate it will have to allocate to that application session when the session is actively downloading by correlating with the buffer level and the suspend and resume content download thresholds

[0133] With access to the DASH session’s current play point (in addition to the metrics described above) the RAN may ^ Compute the total remaining volume of data required for this playback session (in relation to the session’s maximum encoding rate / representation or the currently chosen representation rate). ^ Compute the volume of data that the application session will download if the download of the current video will end before entering the next / upcoming idle / suspended state.

[0134] With access to the time / duration to the next content download request the RAN may ^ estimate the rate at which the current content download is progressing. Using the previously discussed metrics (content download thresholds and buffer level) the RAN may compute the duration to the next request if the DASH session is in idle and the buffer has previously reached the suspend content request threshold. However, an indication of when the next content download request may arrive when the UE has not yet reached the suspend content request threshold is also valuable to the RAN. This direct indication from the UE can be used by the RAN to estimate the download performance for the currently downloaded content, where-by a significant change in the time / duration to the next content download request may imply a change in the network characteristics experienced by the UE. ^ This metric can also be used by the RAN to obtain an estimate on the next expected content request where the DASH application may have to download content at a different representation than it did previously. The above can be computed by looking at a time series of the time to next content download request when the client is actively downloading content. Whenever a content request has taken too long to download or the download happened much faster than expected, it is likely that a future content request will be made at a different representation rate than before.

[0135] With access to the currently played representation and currently downloaded representation (with respect to video time duration and / or file size) the RAN can ^ Obtain a short-term insight into the quality adaptation happening at the UE and react with interventions if the difference between the currently played and currently downloaded representation is too large and / or implies an undesired direction of the change of representation ^ By looking at the history of reported values, reconstruct a playback session for longer- term optimization of the RAN and the provided QoE / Quality of Service (QoS) to the UEs

[0136] With access to a flag indicating that all segments for the current video have been downloaded ^ Depending on other application activity from that UE, the RAN can determine to release the UE to RRC_INACTIVE or RRC_IDLE state ^ Depending on the load and resource situation in the network (e.g. in the cell of the UE sending the RVQoE report with the indication), the RAN can determine to use the resources allocated to the current application session to serve other UEs / applications

[0137] With access to the degree of buffer fullness represented as a ratio of either buffer thresholds to the current buffer level or as a ratio of the sum of the current play point and buffer level to the video playtime, the RAN can ^ Perform similar actions as described above with respect to the time / duration to the next content download request, and / or to the next suspension of content download requests, in the application

[0138] While the above example RAN use-cases of the metrics detail the possibilities on a single UE, the RAN node received the above described RVQoE metrics from a subset of UEs that have an ongoing application session and there are potentially several multi-dimensional optimizations that the RAN node can perform by trading-off network resources offered to UEs that are experiencing high QoE to other UEs which are experiencing low QoE or in imminent risk of experiencing playback issues.

[0139] Figure 4 shows an example of a communication system 400 in accordance with some embodiments.

[0140] In the example, the communication system 400 includes a telecommunication network 402 that includes an access network 404, such as a radio access network (RAN), and a core network 406, which includes one or more core network nodes 408. The access network 404 includes one or more access network nodes, such as network nodes 410a and 410b (one or more of which may be generally referred to as network nodes 410), or any other similar 3rd Generation Partnership Project (3GPP) access node or non-3GPP access point. The network nodes 410 facilitate direct or indirect connection of user equipment (UE), such as by connecting UEs 412a, 412b, 412c, and 412d (one or more of which may be generally referred to as UEs 412) to the core network 406 over one or more wireless connections.

[0141] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system 400 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system 400 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.

[0142] The UEs 412 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes 410 and other communication devices. Similarly, the network nodes 410 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 412 and / or with other network nodes or equipment in the telecommunication network 402 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network 402.

[0143] In the depicted example, the core network 406 connects the network nodes 410 to one or more hosts, such as host 416. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network 406 includes one more core network nodes (e.g., core network node 408) that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node 408. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (AUSF), Subscription Identifier De-concealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and / or a User Plane Function (UPF).

[0144] The host 416 may be under the ownership or control of a service provider other than an operator or provider of the access network 404 and / or the telecommunication network 402, and may be operated by the service provider or on behalf of the service provider. The host 416 may host a variety of applications to provide one or more services. Examples of such applications include the provision of live and / or pre-recorded audio / video content, data collection services, for example, retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.

[0145] As a whole, the communication system 400 of Figure 4 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.

[0146] In some examples, the telecommunication network 402 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network 402 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 402. For example, the telecommunications network 402 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and / or Massive Machine Type Communication (mMTC) / Massive IoT services to yet further UEs.

[0147] In some examples, the UEs 412 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network 404 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 404. Additionally, a UE may be configured for operating in single- or multi-RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR (New Radio) and LTE, i.e. being configured for multi-radio dual connectivity (MR-DC), such as E-UTRAN (Evolved-UMTS Terrestrial Radio Access Network) New Radio – Dual Connectivity (EN-DC).

[0148] In the example illustrated in Figure 4, the hub 414 communicates with the access network 404 to facilitate indirect communication between one or more UEs (e.g., UE 412c and / or 412d) and network nodes (e.g., network node 410b). In some examples, the hub 414 may be a controller, router, a content source and analytics node, or any of the other communication devices described herein regarding UEs. For example, the hub 414 may be a broadband router enabling access to the core network 406 for the UEs. As another example, the hub 414 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes 410, or by executable code, script, process, or other instructions in the hub 414. As another example, the hub 414 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub 414 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub 414 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 414 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 414 acts as a proxy server or orchestrator for the UEs, in particular in if one or more of the UEs are low energy IoT devices.

[0149] The hub 414 may have a constant / persistent or intermittent connection to the network node 410b. The hub 414 may also allow for a different communication scheme and / or schedule between the hub 414 and UEs (e.g., UE 412c and / or 412d), and between the hub 414 and the core network 406. In other examples, the hub 414 is connected to the core network 406 and / or one or more UEs via a wired connection. Moreover, the hub 414 may be configured to connect to an M2M service provider over the access network 404 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 410 while still connected via the hub 414 via a wired or wireless connection. In some embodiments, the hub 414 may be a dedicated hub – that is, a hub whose primary function is to route communications to / from the UEs from / to the network node 410b. In other embodiments, the hub 414 may be a non-dedicated hub – that is, a device which is capable of operating to route communications between the UEs and network node 410b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.

[0150] Figure 5 shows a UE 500 in accordance with some embodiments. As used herein, a UE refers to a device capable, configured, arranged and / or operable to communicate wirelessly with network nodes and / or other UEs. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA), wireless camera, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), smart device, wireless customer-premise equipment (CPE), vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identified by the 3rd Generation Partnership Project (3GPP), including a narrow band internet of things (NB-IoT) UE, a machine type communication (MTC) UE, and / or an enhanced MTC (eMTC) UE.

[0151] A UE may support device-to-device (D2D) communication, for example by implementing a 3GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), or vehicle- to-everything (V2X). In other examples, a UE may not necessarily have a user in the sense of a human user who owns and / or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e.g., a smart sprinkler controller). Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e.g., a smart power meter).

[0152] The UE 500 includes processing circuitry 502 that is operatively coupled via a bus 504 to an input / output interface 506, a power source 508, a memory 510, a communication interface 512, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in Figure 5. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.

[0153] The processing circuitry 502 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory 510. The processing circuitry 502 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry 502 may include multiple central processing units (CPUs). The processing circuitry 502 may be operable to provide, either alone or in conjunction with other UE 500 components, such as the memory 510, UE 500 functionality. For example, the processing circuitry 502 may be configured to cause the UE 502 to perform the methods as described with reference to Figure 1.

[0154] In the example, the input / output interface 506 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE 500. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.

[0155] In some embodiments, the power source 508 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source 508 may further include power circuitry for delivering power from the power source 508 itself, and / or an external power source, to the various parts of the UE 500 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source 508. Power circuitry may perform any formatting, converting, or other modification to the power from the power source 508 to make the power suitable for the respective components of the UE 500 to which power is supplied.

[0156] The memory 510 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory 510 includes one or more application programs 514, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data 516. The memory 510 may store, for use by the UE 500, any of a variety of various operating systems or combinations of operating systems.

[0157] The memory 510 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD-DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs), such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUICC), integrated UICC (iUICC) or a removable UICC commonly known as ‘SIM card.’ The memory 510 may allow the UE 500 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory 510, which may be or comprise a device-readable storage medium.

[0158] The processing circuitry 502 may be configured to communicate with an access network or other network using the communication interface 512. The communication interface 512 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna 522. The communication interface 512 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network). Each transceiver may include a transmitter 518 and / or a receiver 520 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter 518 and receiver 520 may be coupled to one or more antennas (e.g., antenna 522) and may share circuit components, software or firmware, or alternatively be implemented separately.

[0159] In some embodiments, communication functions of the communication interface 512 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), Wideband Code Division Multiple Access (WCDMA), GSM, LTE, New Radio (NR), UMTS, WiMax, Ethernet, transmission control protocol / internet protocol (TCP / IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth.

[0160] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface 512, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature), random (e.g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., when moisture is detected an alert is sent), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient).

[0161] As another example, a UE comprises an actuator, a motor, or a switch, related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or controls a robotic arm performing a medical procedure according to the received input.

[0162] A UE, when in the form of an Internet of Things (IoT) device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application and healthcare. Non-limiting examples of such an IoT device are devices which are or which are embedded in: a connected refrigerator or freezer, a TV, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door / window sensor, a flood / moisture sensor, an electrical door lock, a connected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a head-mounted display for Augmented Reality (AR) or Virtual Reality (VR), a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal- or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV), and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the form of an IoT device comprises circuitry and / or software in dependence on the intended application of the IoT device in addition to other components as described in relation to the UE 500 shown in Figure 5.

[0163] As yet another specific example, in an IoT scenario, a UE may represent a machine or other device that performs monitoring and / or measurements, and transmits the results of such monitoring and / or measurements to another UE and / or a network node. The UE may in this case be an M2M device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3GPP NB-IoT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship and an airplane, or other equipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation.

[0164] In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone’s speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g. by controlling an actuator) to increase or decrease the drone’s speed. The first and / or the second UE can also include more than one of the functionalities described above. For example, a UE might comprise the sensor and the actuator, and handle communication of data for both the speed sensor and the actuators.

[0165] Figure 6 shows a network node 600 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with a UE and / or with other network nodes or equipment, in a telecommunication network. Examples of network nodes include, but are not limited to, access points (APs) (e.g., radio access points), base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs) and NR NodeBs (gNBs)).

[0166] Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units and / or remote radio units (RRUs), sometimes referred to as Remote Radio Heads (RRHs). Such remote radio units may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a distributed antenna system (DAS).

[0167] Other examples of network nodes include multiple transmission point (multi-TRP) 5G access nodes, multi-standard radio (MSR) equipment such as MSR BSs, network controllers such as radio network controllers (RNCs) or base station controllers (BSCs), base transceiver stations (BTSs), transmission points, transmission nodes, multi-cell / multicast coordination entities (MCEs), Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and / or Minimization of Drive Tests (MDTs).

[0168] The network node 600 includes processing circuitry 602, a memory 604, a communication interface 606, and a power source 608, and / or any other component, or any combination thereof. The network node 600 may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. In certain scenarios in which the network node 600 comprises multiple separate components (e.g., BTS and BSC components), one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeBs. In such a scenario, each unique NodeB and RNC pair, may in some instances be considered a single separate network node. In some embodiments, the network node 600 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory 604 for different RATs) and some components may be reused (e.g., a same antenna 610 may be shared by different RATs). The network node 600 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node 600, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z- wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chip or set of chips and other components within network node 600.

[0169] The processing circuitry 602 may comprise a combination of one or more of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and / or encoded logic operable to provide, either alone or in conjunction with other network node 600 components, such as the memory 604, network node 600 functionality. For example, the processing circuitry 602 may be configured to cause the network node to perform the methods as described with reference to Figures 2 and / or 3.

[0170] In some embodiments, the processing circuitry 602 includes a system on a chip (SOC). In some embodiments, the processing circuitry 602 includes one or more of radio frequency (RF) transceiver circuitry 612 and baseband processing circuitry 614. In some embodiments, the radio frequency (RF) transceiver circuitry 612 and the baseband processing circuitry 614 may be on separate chips (or sets of chips), boards, or units, such as radio units and digital units. In alternative embodiments, part or all of RF transceiver circuitry 612 and baseband processing circuitry 614 may be on the same chip or set of chips, boards, or units.

[0171] The memory 604 may comprise any form of volatile or non-volatile computer-readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and / or any other volatile or non-volatile, non-transitory device-readable and / or computer-executable memory devices that store information, data, and / or instructions that may be used by the processing circuitry 602. The memory 604 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and / or other instructions capable of being executed by the processing circuitry 602 and utilized by the network node 600. The memory 604 may be used to store any calculations made by the processing circuitry 602 and / or any data received via the communication interface 606. In some embodiments, the processing circuitry 602 and memory 604 is integrated.

[0172] The communication interface 606 is used in wired or wireless communication of signaling and / or data between a network node, access network, and / or UE. As illustrated, the communication interface 606 comprises port(s) / terminal(s) 616 to send and receive data, for example to and from a network over a wired connection. The communication interface 606 also includes radio front-end circuitry 618 that may be coupled to, or in certain embodiments a part of, the antenna 610. Radio front-end circuitry 618 comprises filters 620 and amplifiers 622. The radio front-end circuitry 618 may be connected to an antenna 610 and processing circuitry 602. The radio front-end circuitry may be configured to condition signals communicated between antenna 610 and processing circuitry 602. The radio front-end circuitry 618 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry 618 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters 620 and / or amplifiers 622. The radio signal may then be transmitted via the antenna 610. Similarly, when receiving data, the antenna 610 may collect radio signals which are then converted into digital data by the radio front-end circuitry 618. The digital data may be passed to the processing circuitry 602. In other embodiments, the communication interface may comprise different components and / or different combinations of components.

[0173] In certain alternative embodiments, the network node 600 does not include separate radio front-end circuitry 618, instead, the processing circuitry 602 includes radio front-end circuitry and is connected to the antenna 610. Similarly, in some embodiments, all or some of the RF transceiver circuitry 612 is part of the communication interface 606. In still other embodiments, the communication interface 606 includes one or more ports or terminals 616, the radio front- end circuitry 618, and the RF transceiver circuitry 612, as part of a radio unit (not shown), and the communication interface 606 communicates with the baseband processing circuitry 614, which is part of a digital unit (not shown).

[0174] The antenna 610 may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna 610 may be coupled to the radio front-end circuitry 618 and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna 610 is separate from the network node 600 and connectable to the network node 600 through an interface or port.

[0175] The antenna 610, communication interface 606, and / or the processing circuitry 602 may be configured to perform any receiving operations and / or certain obtaining operations described herein as being performed by the network node. Any information, data and / or signals may be received from a UE, another network node and / or any other network equipment. Similarly, the antenna 610, the communication interface 606, and / or the processing circuitry 602 may be configured to perform any transmitting operations described herein as being performed by the network node. Any information, data and / or signals may be transmitted to a UE, another network node and / or any other network equipment.

[0176] The power source 608 provides power to the various components of network node 600 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source 608 may further comprise, or be coupled to, power management circuitry to supply the components of the network node 600 with power for performing the functionality described herein. For example, the network node 600 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source 608. As a further example, the power source 608 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.

[0177] Embodiments of the network node 600 may include additional components beyond those shown in Figure 6 for providing certain aspects of the network node’s functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, the network node 600 may include user interface equipment to allow input of information into the network node 600 and to allow output of information from the network node 600. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 600.

[0178] Figure 7 is a block diagram of a host 700, which may be an embodiment of the host 416 of Figure 4, in accordance with various aspects described herein. As used herein, the host 700 may be or comprise various combinations hardware and / or software, including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. The host 700 may provide one or more services to one or more UEs.

[0179] The host 700 includes processing circuitry 702 that is operatively coupled via a bus 704 to an input / output interface 706, a network interface 708, a power source 710, and a memory 712. Other components may be included in other embodiments. Features of these components may be substantially similar to those described with respect to the devices of previous figures, such as Figures 5 and 6, such that the descriptions thereof are generally applicable to the corresponding components of host 700.

[0180] The memory 712 may include one or more computer programs including one or more host application programs 714 and data 716, which may include user data, e.g., data generated by a UE for the host 700 or data generated by the host 700 for a UE. Embodiments of the host 700 may utilize only a subset or all of the components shown. The host application programs 714 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), MPEG, VP9) and audio codecs (e.g., FLAC, Advanced Audio Coding (AAC), MPEG, G.711), including transcoding for multiple different classes, types, or implementations of UEs (e.g., handsets, desktop computers, wearable display systems, heads-up display systems). The host application programs 714 may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in or on the edge of a core network. Accordingly, the host 700 may select and / or indicate a different host for over-the-top services for a UE. The host application programs 714 may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP), Dynamic Adaptive Streaming over HTTP (MPEG-DASH), etc.

[0181] Figure 8 is a block diagram illustrating a virtualization environment 800 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments 800 hosted by one or more of hardware nodes, such as a hardware computing device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized.

[0182] Applications 802 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment Q400 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.

[0183] Hardware 804 includes processing circuitry, memory that stores software and / or instructions executable by hardware processing circuitry, and / or other hardware devices as described herein, such as a network interface, input / output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers 806 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 808a and 808b (one or more of which may be generally referred to as VMs 808), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer 806 may present a virtual operating platform that appears like networking hardware to the VMs 808.

[0184] The VMs 808 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer 806. Different embodiments of the instance of a virtual appliance 802 may be implemented on one or more of VMs 808, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment.

[0185] In the context of NFV, a VM 808 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs 808, and that part of hardware 804 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs, forms separate virtual network elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions that run in one or more VMs 808 on top of the hardware 804 and corresponds to the application 802.

[0186] Hardware 804 may be implemented in a standalone network node with generic or specific components. Hardware 804 may implement some functions via virtualization. Alternatively, hardware 804 may be part of a larger cluster of hardware (e.g. such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration 810, which, among others, oversees lifecycle management of applications 802. In some embodiments, hardware 804 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node or a base station. In some embodiments, some signaling can be provided with the use of a control system 812 which may alternatively be used for communication between hardware nodes and radio units.

[0187] Figure 9 shows a communication diagram of a host 902 communicating via a network node 904 with a UE 906 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE 412a of Figure 4 and / or UE 500 of Figure 5), network node (such as network node 410a of Figure 4 and / or network node 600 of Figure 6), and host (such as host 416 of Figure 4 and / or host 700 of Figure 7) discussed in the preceding paragraphs will now be described with reference to Figure 9.

[0188] Like host 700, embodiments of host 902 include hardware, such as a communication interface, processing circuitry, and memory. The host 902 also includes software, which is stored in or accessible by the host 902 and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as the UE 906 connecting via an over-the-top (OTT) connection 950 extending between the UE 906 and host 902. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection 950.

[0189] The network node 904 includes hardware enabling it to communicate with the host 902 and UE 906. The connection 960 may be direct or pass through a core network (like core network 406 of Figure 4) and / or one or more other intermediate networks, such as one or more public, private, or hosted networks. For example, an intermediate network may be a backbone network or the Internet.

[0190] The UE 906 includes hardware and software, which is stored in or accessible by UE 906 and executable by the UE’s processing circuitry. The software includes a client application, such as a web browser or operator-specific “app” that may be operable to provide a service to a human or non-human user via UE 906 with the support of the host 902. In the host 902, an executing host application may communicate with the executing client application via the OTT connection 950 terminating at the UE 906 and host 902. In providing the service to the user, the UE's client application may receive request data from the host's host application and provide user data in response to the request data. The OTT connection 950 may transfer both the request data and the user data. The UE's client application may interact with the user to generate the user data that it provides to the host application through the OTT connection 950.

[0191] The OTT connection 950 may extend via a connection 960 between the host 902 and the network node 904 and via a wireless connection 970 between the network node 904 and the UE 906 to provide the connection between the host 902 and the UE 906. The connection 960 and wireless connection 970, over which the OTT connection 950 may be provided, have been drawn abstractly to illustrate the communication between the host 902 and the UE 906 via the network node 904, without explicit reference to any intermediary devices and the precise routing of messages via these devices.

[0192] As an example of transmitting data via the OTT connection 950, in step 908, the host 902 provides user data, which may be performed by executing a host application. In some embodiments, the user data is associated with a particular human user interacting with the UE 906. In other embodiments, the user data is associated with a UE 906 that shares data with the host 902 without explicit human interaction. In step 910, the host 902 initiates a transmission carrying the user data towards the UE 906. The host 902 may initiate the transmission responsive to a request transmitted by the UE 906. The request may be caused by human interaction with the UE 906 or by operation of the client application executing on the UE 906. The transmission may pass via the network node 904, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step 912, the network node 904 transmits to the UE 906 the user data that was carried in the transmission that the host 902 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step 914, the UE 906 receives the user data carried in the transmission, which may be performed by a client application executed on the UE 906 associated with the host application executed by the host 902.

[0193] In some examples, the UE 906 executes a client application which provides user data to the host 902. The user data may be provided in reaction or response to the data received from the host 902. Accordingly, in step 916, the UE 906 may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input / output interface of the UE 906. Regardless of the specific manner in which the user data was provided, the UE 906 initiates, in step 918, transmission of the user data towards the host 902 via the network node 904. In step 920, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 904 receives user data from the UE 906 and initiates transmission of the received user data towards the host 902. In step 922, the host 902 receives the user data carried in the transmission initiated by the UE 906.

[0194] One or more of the various embodiments improve the performance of OTT services provided to the UE 906 using the OTT connection 950, in which the wireless connection 970 forms the last segment. More precisely, the teachings of these embodiments may improve the data rate, latency and / or power consumption and thereby provide benefits such as improved quality of experience for the OTT connection 950 and / or the OTT connections of other UEs.

[0195] In an example scenario, factory status information may be collected and analyzed by the host 902. As another example, the host 902 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host 902 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights). As another example, the host 902 may store surveillance video uploaded by a UE. As another example, the host 902 may store or control access to media content such as video, audio, VR or AR which it can broadcast, multicast or unicast to UEs. As other examples, the host 902 may be used for energy pricing, remote control of non-time critical electrical load to balance power generation needs, location services, presentation services (such as compiling diagrams etc. from data collected from remote devices), or any other function of collecting, retrieving, storing, analyzing and / or transmitting data.

[0196] In some examples, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection 950 between the host 902 and UE 906, in response to variations in the measurement results. The measurement procedure and / or the network functionality for reconfiguring the OTT connection may be implemented in software and hardware of the host 902 and / or UE 906. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection 950 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 950 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not directly alter the operation of the network node 904. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signaling that facilitates measurements of throughput, propagation times, latency and the like, by the host 902. The measurements may be implemented in that software causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 950 while monitoring propagation times, errors, etc.

[0197] Although the computing devices described herein (e.g., UEs, network nodes, hosts) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and / or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and / or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and / or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.

[0198] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer- readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer- readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and / or by end users and a wireless network generally.

[0002] The paragraphs below set out embodiments of the disclosure. Group A Embodiments 1. A method performed by a user equipment, the method comprising: receiving a radio-access network, RAN,-visible quality-of-experience, RV-QoE, configuration to obtain values for one or more parameters associated with an application session; obtaining values for the one or more parameters in accordance with the configuration; and transmitting, to a network node, a report comprising RAN-visible indications of the values for the one or more parameters. 2. The method of embodiment 1, wherein the application session is a video-streaming application session, and wherein the one or more parameters comprise one or more first parameters relating to playback of the video streaming application session. 3. The method of embodiment 2, wherein the one or more first parameters comprise one or more of: a current playback point of the video streaming application session; a playback speed of the video streaming application session; a current playback status of the video streaming application session (e.g., playing, paused, stopped); a reason that playback of the video streaming application session is stopped; and a duration or playtime of the video streaming application session. 4. The method of any one of the preceding embodiments, wherein the application session is a video-streaming application session, and wherein the one or more parameters comprise one or more second parameters relating to encoding rate of the application session. 5. The method of embodiment 4, wherein the one or more second parameters comprise one or more of: a maximum encoding rate or representation of the video streaming application session; a current played encoding rate or representation of the video streaming application session; a current downloaded encoding rate or representation of the video streaming application session; and an expected encoding rate or representation of a future or subsequent content request of the video streaming application session. The method of any one of the preceding embodiments, wherein the one or more parameters comprise one or more third parameters relating to content download for the application session. The method of embodiment 6, wherein the one or more third parameters comprise one or more of: a current amount of data in a buffer at the UE; a first threshold amount of data in the buffer at the UE at which downloading of content for the application session is suspended; a difference between a current amount of data in the buffer and the first threshold amount of data; a second threshold amount of data in the buffer at the UE at which downloading of content for the application session is resumed; a difference between a current amount of data in the buffer and the second threshold amount of data; a total amount of data that has been downloaded for the application session; an amount of data that remains to be downloaded for the application session; and an amount of time until the UE will next request downloading of content for the application session. The method of any one of the preceding embodiments, wherein the one or more parameters comprise one or more fourth parameters relating to device information of the UE. The method of embodiment 8, wherein the one or more fourth parameters comprise one or more of: screen dimensions of the UE; a number of screens of the UE; and whether split-screen is supported by the UE. The method of any one of the preceding embodiments, wherein the application session is a video-streaming application session, and wherein the one or more parameters comprise one or more fifth parameters relating to video information for the video streaming application session. The method of embodiment 10, wherein the one or more fifth parameters comprise dimensions of video for the video streaming application session. 12. The method of any one of the preceding embodiments, wherein the one or more parameters comprise one or more sixth parameters relating to content of a buffer at the UE for the application session. 13. The method of embodiment 12, wherein the one or more sixth parameters comprise one or more of: a service type of data stored in the buffer; an identifier for an application associated with data stored in the buffer; an identifier for a communication service associated with data stored in the buffer. 14. The method of any one of the preceding embodiments, wherein the RV-QoE configuration is received before or during the application session. 15. The method of any one of the preceding embodiments, wherein the report is transmitted to the network node during the application session or after the application session has concluded. 16. The method of any one of the preceding embodiments, wherein the RV-QoE configuration is received from the network node or a different network node. 17. The method of any one of the preceding embodiments, wherein the UE is configured to transmit the report periodically or in an event-triggered manner. 18. The method of any one of the preceding embodiments, wherein the UE is configured to transmit a plurality of reports comprising RAN-visible indications of the values for the one or more parameters, and wherein an initial report of the plurality of reports comprises RAN-visible indications of the values for one or more parameters which are static during the application session. 19. The method of any of the previous embodiments, further comprising: providing user data; and forwarding the user data to a host via the transmission to the network node. Group B Embodiments 20. A method performed by a network node, the method comprising: transmitting, to a UE, a radio-access network, RAN,-visible quality-of-experience, RV-QoE, configuration for the UE to obtain values for one or more parameters associated with an application session. The method of embodiment 20, wherein the application session is a video-streaming application session, and wherein the one or more parameters comprise one or more first parameters relating to playback of the video streaming application session. The method of embodiment 21, wherein the one or more first parameters comprise one or more of: a current playback point of the video streaming application session; a playback speed of the video streaming application session; a current playback status of the video streaming application session (e.g., playing, paused, stopped); a reason that playback of the video streaming application session is stopped; and a duration or playtime of the video streaming application session. The method of any one of embodiments 20 to 22, wherein the application session is a video-streaming application session, and wherein the one or more parameters comprise one or more second parameters relating to encoding rate of the video streaming application session. The method of embodiment 23, wherein the one or more second parameters comprise one or more of: a maximum encoding rate or representation of the video streaming application session; a current played encoding rate or representation of the video streaming application session; a current downloaded encoding rate or representation of the video streaming application session; and an expected encoding rate or representation of a future or subsequent content request of the video streaming application session. The method of any one of embodiments 20 to 24, wherein the one or more parameters comprise one or more third parameters relating to content download for the application session. The method of embodiment 25, wherein the one or more third parameters comprise one or more of: a current amount of data in a buffer at the UE; a first threshold amount of data in the buffer at the UE at which downloading of content for the application session is suspended; a difference between a current amount of data in the buffer and the first threshold amount of data; a second threshold amount of data in the buffer at the UE at which downloading of content for the application session is resumed; a difference between a current amount of data in the buffer and the second threshold amount of data; a total amount of data that has been downloaded for the application session; an amount of data that remains to be downloaded for the application session; and an amount of time until the UE will next request downloading of content for the application session. The method of any one of embodiments 20 to 26, wherein the one or more parameters comprise one or more fourth parameters relating to device information of the UE. The method of embodiment 27, wherein the one or more fourth parameters comprise one or more of: screen dimensions of the UE; a number of screens of the UE; and whether split-screen is supported by the UE. The method of any one of embodiments 20 to 28, wherein the application session is a video-streaming application session, and wherein the one or more parameters comprise one or more fifth parameters relating to video information for the video streaming application session. The method of embodiment 29, wherein the one or more fifth parameters comprise dimensions of video for the video streaming application session. The method of any one of embodiments 20 to 30, wherein the one or more parameters comprise one or more sixth parameters relating to content of a buffer at the UE for the application session. The method of embodiment 31, wherein the one or more sixth parameters comprise one or more of: a service type of data stored in the buffer; an identifier for an application associated with data stored in the buffer; an identifier for a communication service associated with data stored in the buffer. The method of any one of embodiments 20 to 32, wherein the RV-QoE configuration is transmitted before or during the application session. A method performed by a network node, the method comprising: receiving, from a UE, a report comprising RAN-visible indications of values for one or more parameters associated with an application session; and performing one or more actions in dependence on the values for the one or more parameters. The method of embodiment 34, wherein the application session is a video-streaming application session, and wherein the one or more parameters comprise one or more first parameters relating to playback of the video streaming application session. The method of embodiment 35, wherein the one or more first parameters comprise one or more of: a current playback point of the video streaming application session; a playback speed of the video streaming application session; a current playback status of the video streaming application session (e.g., playing, paused, stopped); a reason that playback of the video streaming application session is stopped; and a duration or playtime of the video streaming application session. The method of any one of embodiments 34 to 36, wherein the application session is a video-streaming application session, and wherein the one or more parameters comprise one or more second parameters relating to encoding rate of the video streaming application session. The method of embodiment 37, wherein the one or more second parameters comprise one or more of: a maximum encoding rate or representation of the video streaming application session; a current played encoding rate or representation of the video streaming application session; a current downloaded encoding rate or representation of the video streaming application session; and an expected encoding rate or representation of a future or subsequent content request of the video streaming application session. The method of any one of embodiments 34 to 38, wherein the one or more parameters comprise one or more third parameters relating to content download for the application session. The method of embodiment 39, wherein the one or more third parameters comprise one or more of: a current amount of data in a buffer at the UE; a first threshold amount of data in the buffer at the UE at which downloading of content for the application session is suspended; a difference between a current amount of data in the buffer and the first threshold amount of data; a second threshold amount of data in the buffer at the UE at which downloading of content for the application session is resumed; a difference between a current amount of data in the buffer and the second threshold amount of data; a total amount of data that has been downloaded for the application session; an amount of data that remains to be downloaded for the application session; and an amount of time until the UE will next request downloading of content for the application session. The method of any one of embodiments 34 to 40, wherein the one or more parameters comprise one or more fourth parameters relating to device information of the UE. The method of embodiment 41, wherein the one or more fourth parameters comprise one or more of: screen dimensions of the UE; a number of screens of the UE; and whether split-screen is supported by the UE. The method of any one of embodiments 34 to 42, wherein the application session is a video-streaming application session, and wherein the one or more parameters comprise one or more fifth parameters relating to video information for the video streaming application session. The method of embodiment 43, wherein the one or more fifth parameters comprise dimensions of video for the video streaming application session. The method of any one of embodiments 34 to 44, wherein the one or more parameters comprise one or more sixth parameters relating to content of a buffer at the UE for the application session. 46. The method of embodiment 45, wherein the one or more sixth parameters comprise one or more of: a service type of data stored in the buffer; an identifier for an application associated with data stored in the buffer; an identifier for a communication service associated with data stored in the buffer. 47. The method of any one of embodiments 34 to 46, wherein the report is received from the UE during the application session or after the application session has concluded. 48. The method of any one of embodiments 34 to 47, wherein the one or more actions comprise allocating radio resources to the UE in dependence on the values for the one or more parameters. 49. The method of embodiment 48, wherein the radio resources are allocated to the UE for the application session. 50. The method of any one of embodiments 34 to 49, wherein the one or more actions comprise allocating radio resources to one or more other UEs in dependence on the values for the one or more parameters. 51. The method of any of the previous embodiments, further comprising: obtaining user data; and forwarding the user data to a host or a user equipment. Group C Embodiments 52. A user equipment, comprising: processing circuitry configured to cause the user equipment to perform any of the steps of any of the Group A embodiments; and power supply circuitry configured to supply power to the processing circuitry. 53. A network node, the network node comprising: processing circuitry configured to cause the network node to perform any of the steps of any of the Group B embodiments; power supply circuitry configured to supply power to the processing circuitry. 54. A user equipment (UE), the UE comprising: an antenna configured to send and receive wireless signals; radio front-end circuitry connected to the antenna and to processing circuitry, and configured to condition signals communicated between the antenna and the processing circuitry; the processing circuitry being configured to perform any of the steps of any of the Group A embodiments; an input interface connected to the processing circuitry and configured to allow input of information into the UE to be processed by the processing circuitry; an output interface connected to the processing circuitry and configured to output information from the UE that has been processed by the processing circuitry; and a battery connected to the processing circuitry and configured to supply power to the UE. 55. A host configured to operate in a communication system to provide an over-the-top (OTT) service, the host comprising: processing circuitry configured to provide user data; and a network interface configured to initiate transmission of the user data to a cellular network for transmission to a user equipment (UE), wherein the UE comprises a communication interface and processing circuitry, the communication interface and processing circuitry of the UE being configured to perform any of the steps of any of the Group A embodiments to receive the user data from the host. 56. The host of the previous embodiment, wherein the cellular network further includes a network node configured to communicate with the UE to transmit the user data to the UE from the host. 57. The host of the previous 2 embodiments, wherein: the processing circuitry of the host is configured to execute a host application, thereby providing the user data; and the host application is configured to interact with a client application executing on the UE, the client application being associated with the host application. 58. A method implemented by a host operating in a communication system that further includes a network node and a user equipment (UE), the method comprising: providing user data for the UE; and initiating a transmission carrying the user data to the UE via a cellular network comprising the network node, wherein the UE performs any of the operations of any of the Group A embodiments to receive the user data from the host. 59. The method of the previous embodiment, further comprising: at the host, executing a host application associated with a client application executing on the UE to receive the user data from the UE. 60. The method of the previous embodiment, further comprising: at the host, transmitting input data to the client application executing on the UE, the input data being provided by executing the host application, wherein the user data is provided by the client application in response to the input data from the host application. 61. A host configured to operate in a communication system to provide an over-the-top (OTT) service, the host comprising: processing circuitry configured to provide user data; and a network interface configured to initiate transmission of the user data to a cellular network for transmission to a user equipment (UE), wherein the UE comprises a communication interface and processing circuitry, the communication interface and processing circuitry of the UE being configured to perform any of the steps of any of the Group A embodiments to transmit the user data to the host. 62. The host of the previous embodiment, wherein the cellular network further includes a network node configured to communicate with the UE to transmit the user data from the UE to the host. 63. The host of the previous 2 embodiments, wherein: the processing circuitry of the host is configured to execute a host application, thereby providing the user data; and the host application is configured to interact with a client application executing on the UE, the client application being associated with the host application. 64. A method implemented by a host configured to operate in a communication system that further includes a network node and a user equipment (UE), the method comprising: at the host, receiving user data transmitted to the host via the network node by the UE, wherein the UE performs any of the steps of any of the Group A embodiments to transmit the user data to the host. 65. The method of the previous embodiment, further comprising: at the host, executing a host application associated with a client application executing on the UE to receive the user data from the UE. 66. The method of the previous embodiment, further comprising: at the host, transmitting input data to the client application executing on the UE, the input data being provided by executing the host application, wherein the user data is provided by the client application in response to the input data from the host application. 67. A host configured to operate in a communication system to provide an over-the-top (OTT) service, the host comprising: processing circuitry configured to provide user data; and a network interface configured to initiate transmission of the user data to a network node in a cellular network for transmission to a user equipment (UE), the network node having a communication interface and processing circuitry, the processing circuitry of the network node configured to perform any of the operations of any of the Group B embodiments to transmit the user data from the host to the UE. 68. The host of the previous embodiment, wherein: the processing circuitry of the host is configured to execute a host application that provides the user data; and the UE comprises processing circuitry configured to execute a client application associated with the host application to receive the transmission of user data from the host. 69. A method implemented in a host configured to operate in a communication system that further includes a network node and a user equipment (UE), the method comprising: providing user data for the UE; and initiating a transmission carrying the user data to the UE via a cellular network comprising the network node, wherein the network node performs any of the operations of any of the Group B embodiments to transmit the user data from the host to the UE. 70. The method of the previous embodiment, further comprising, at the network node, transmitting the user data provided by the host for the UE. 71. The method of any of the previous 2 embodiments, wherein the user data is provided at the host by executing a host application that interacts with a client application executing on the UE, the client application being associated with the host application. 72. A communication system configured to provide an over-the-top service, the communication system comprising: a host comprising: processing circuitry configured to provide user data for a user equipment (UE), the user data being associated with the over-the-top service; and a network interface configured to initiate transmission of the user data toward a cellular network node for transmission to the UE, the network node having a communication interface and processing circuitry, the processing circuitry of the network node configured to perform any of the operations of any of the Group B embodiments to transmit the user data from the host to the UE. 73. The communication system of the previous embodiment, further comprising: the network node; and / or the user equipment. 74. A host configured to operate in a communication system to provide an over-the-top (OTT) service, the host comprising: processing circuitry configured to initiate receipt of user data; and a network interface configured to receive the user data from a network node in a cellular network, the network node having a communication interface and processing circuitry, the processing circuitry of the network node configured to perform any of the operations of any of the Group B embodiments to receive the user data from a user equipment (UE) for the host. 75. The host of the previous embodiment, wherein: the processing circuitry of the host is configured to execute a host application, thereby providing the user data; and the host application is configured to interact with a client application executing on the UE, the client application being associated with the host application. 76. The host of the any of the previous 2 embodiments, wherein the initiating receipt of the user data comprises requesting the user data. 77. A method implemented by a host configured to operate in a communication system that further includes a network node and a user equipment (UE), the method comprising: at the host, initiating receipt of user data from the UE, the user data originating from a transmission which the network node has received from the UE, wherein the network node performs any of the steps of any of the Group B embodiments to receive the user data from the UE for the host. 78. The method of the previous embodiment, further comprising at the network node, transmitting the received user data to the host.

Claims

CLAIMS 1.A method performed by a user equipment (412, 500), the method comprising: receiving (102) a radio-access network, RAN,-visible quality-of-experience, RV- QoE, configuration to obtain values for one or more parameters associated with a video-streaming application session, wherein the one or more parameters comprise one or more first parameters relating to encoding rate of the video-streaming application session; obtaining (104) values for the one or more parameters in accordance with the configuration; and transmitting (106), to a network node (410, 600), a report comprising RAN-visible indications of the values for the one or more parameters.

2. The method of claim 1, wherein the one or more first parameters comprise one or more of: a maximum encoding rate or representation of the video streaming application session; a current played encoding rate or representation of the video streaming application session; an encoding rate of the currently downloaded representation of the video streaming application session; and an expected encoding rate or representation of a future or subsequent content request of the video streaming application session.

3. The method of claim 1 or 2, wherein the one or more parameters comprise one or more second parameters relating to playback of the video streaming application session.

4. The method of claim 3, wherein the one or more second parameters comprise one or more of: a current playback point of the video streaming application session; a playback speed of the video streaming application session; a current playback status of the video streaming application session (e.g., playing, paused, stopped); a reason that playback of the video streaming application session is stopped; and a duration or playtime of the video streaming application session.

5. The method of any one of the preceding claims, wherein the one or more parameters comprise one or more third parameters relating to content download for the video- streaming application session.

6. The method of claim 5, wherein the one or more third parameters comprise one or more of: a first threshold amount of data in the buffer at the UE at which downloading of content for the application session is suspended; a current amount of data in the buffer relative to the first threshold amount of data; a playback time difference between a current amount of data in the buffer and the first threshold amount of data; a second threshold amount of data in the buffer at the UE at which downloading of content for the application session is resumed; a current amount of data in the buffer relative to the second threshold amount of data; a total amount of data that has been downloaded for the application session; an amount of data that remains to be downloaded for the application session; an amount of time until the UE will next request downloading of content for the application session; and an indication that content download for the video-streaming application session has been completed.

7. The method of any one of the preceding claims, wherein the one or more parameters comprise one or more fourth parameters relating to content of a buffer at the UE for the application session.

8. The method of claim 7, wherein the one or more fourth parameters comprise one or more of: a service type to which data stored in the buffer pertains; an identifier for an application associated with data stored in the buffer; an identifier for a communication service associated with data stored in the buffer.

9. The method of any one of the preceding claims, wherein the UE (412, 500) is configured to transmit a plurality of reports comprising RAN-visible indications of the values for the one or more parameters, and wherein an initial report of the plurality of reports comprises RAN-visible indications of the values for one or more parameters which are static during the video-streaming application session.

10. A method performed by a network node (410, 600), the method comprising: transmitting (202), to a UE (412, 500), a radio-access network, RAN,-visible quality- of-experience, RV-QoE, configuration for the UE to obtain values for one or more parameters associated with a video-streaming application session, wherein the one or more parameters comprise one or more first parameters relating to encoding rate ofthe video-streaming application session.

11. The method of claim 10, wherein the one or more first parameters comprise one or more of: a maximum encoding rate or representation of the video streaming application session; a current played encoding rate or representation of the video streaming application session; an encoding rate of the currently downloaded representation of the video streaming application session; and an expected encoding rate or representation of a future or subsequent content request of the video streaming application session.

12. The method of claim 10 or 11, wherein the one or more parameters comprise one or more second parameters relating to playback of the video streaming application session.

13. The method of claim 12, wherein the one or more second parameters comprise one or more of: a current playback point of the video streaming application session; a playback speed of the video streaming application session; a current playback status of the video streaming application session (e.g., playing, paused, stopped); a reason that playback of the video streaming application session is stopped; and a duration or playtime of the video streaming application session.

14. The method of any one of claims 10 to 13, wherein the one or more parameters comprise one or more third parameters relating to content download for the video-streaming application session.

15. The method of claim 14, wherein the one or more third parameters comprise one or more of: a first threshold amount of data in the buffer at the UE at which downloading of content for the video-streaming application session is suspended; a current amount of data in the buffer relative to the first threshold amount of data; a playback time difference between a current amount of data in the buffer and the first threshold amount of data; a second threshold amount of data in the buffer at the UE at which downloading of content for the video-streaming application session is resumed; a current amount of data in the buffer relative to the second threshold amount of data; a total amount of data that has been downloaded for the video-streaming application session; an amount of data that remains to be downloaded for the video-streaming application session; an amount of time until the UE will next request downloading of content for the video-streaming applicationsession; and an indication that content download for the video-streaming application session has been completed.

16. The method of any one of claims 10 to 15, wherein the one or more parameters comprise one or more fourth parameters relating to content of a buffer at the UE for the application session.

17. The method of claim 16, wherein the one or more fourth parameters comprise one or more of: a service type to which data stored in the buffer pertains; an identifier for an application associated with data stored in the buffer; an identifier for a communication service associated with data stored in the buffer.

18. A method performed by a network node (410, 600), the method comprising: receiving (302), from a UE (412, 500), a report comprising RAN-visible indications of values for one or more parameters associated with a video-streaming application session, wherein the one or more parameters comprise one or more first parameters relating to encoding rate of the video-streaming application session; and performing (304) one or more actions in dependence on the values for the one or more parameters.

19. The method of claim 18, wherein the one or more first parameters comprise one or more of: a maximum encoding rate or representation of the video streaming application session; a current played encoding rate or representation of the video streaming application session; an encoding rate of the currently downloaded representation of the video streaming application session; and an expected encoding rate or representation of a future or subsequent content request of the video streaming application session.

20. The method of claim 18 or 19, wherein the one or more parameters comprise one or more second parameters relating to playback of the video streaming application session.

21. The method of claim 20, wherein the one or more second parameters comprise one or more of: a current playback point of the video streaming application session; a playback speed of the video streaming application session; a current playback status of the video streaming application session (e.g., playing, paused, stopped); a reason that playback ofthe video streaming application session is stopped; and a duration or playtime of the video streaming application session.

22. The method of any one of claims 18 to 21, wherein the one or more parameters comprise one or more third parameters relating to content download for the video-streaming application session.

23. The method of claim 22, wherein the one or more third parameters comprise one or more of: a first threshold amount of data in the buffer at the UE at which downloading of content for the video-streaming application session is suspended; a current amount of data in the buffer relative to the first threshold amount of data; a playback time difference between a current amount of data in the buffer and the first threshold amount of data; a second threshold amount of data in the buffer at the UE at which downloading of content for the video-streaming application session is resumed; a current amount of data in the buffer relative to the second threshold amount of data; a total amount of data that has been downloaded for the application session; an amount of data that remains to be downloaded for the application session; an amount of time until the UE will next request downloading of content for the application session; and an indication that content download for the video-streaming application session has been completed.

24. The method of any one of claims 18 to 23, wherein the one or more parameters comprise one or more fourth parameters relating to content of a buffer at the UE for the application session.

25. The method of claim 24, wherein the one or more fourth parameters comprise one or more of: a service type to which data stored in the buffer pertains; an identifier for an application associated with data stored in the buffer; an identifier for a communication service associated with data stored in the buffer.

26. The method of any one of claims 18 to 25, wherein the one or more actions comprise allocating radio resources to the UE in dependence on the values for the one or more parameters.

27. The method of claim 26, wherein the radio resources are allocated to the UE for the videostreaming application session.

28. The method of any one of claims 18 to 27, wherein the one or more actions comprise allocating radio resources to one or more other UEs in dependence on the values for the one or more parameters.

29. A user equipment, UE, (412, 500) comprising: processing circuitry (502) configured to cause the UE to: receive a radio-access network, RAN,-visible quality-of-experience, RV-QoE, configuration to obtain values for one or more parameters associated with an a video- streaming application session, wherein the one or more parameters comprise one or more first parameters relating to encoding rate of the video-streaming application session; obtain values for the one or more parameters in accordance with the configuration; and transmit, to a network node, a report comprising RAN-visible indications of the values for the one or more parameters; and power supply circuitry (508) configured to supply power to the processing circuitry.

30. The UE according to claim 29, wherein the processing circuitry is further configured to cause the UE to perform the method according to any one of claims 2 to 9.

31. A network node (410, 600), comprising: processing circuitry (602) configured to cause the network node to: transmit, to a UE, a radio-access network, RAN,-visible quality-of-experience, RV- QoE, configuration for the UE to obtain values for one or more parameters associated with an a video-streaming application session, wherein the one or more parameters comprise one or more first parameters relating to encoding rate of the video-streaming application session; and power supply circuitry (608) configured to supply power to the processing circuitry.

32. The network node according to claim 31, wherein the processing circuitry is further configured to cause the network node to perform the method according to any one of claims 11 to 17.

33. A network node (410, 600), comprising: processing circuitry (602) configured to cause the network node to: receive, from a UE, a report comprising RAN-visible indications of values for one or more parameters associated with a video-streaming application session, wherein the one or more parameters comprise one or more first parameters relating to encoding rate of the video-streaming application session; and perform one or more actions in dependence on the values for the one or more parameters; and power supply circuitry (608) configured to supply power to the processing circuitry.

34. The network node according to claim 33, wherein the processing circuitry is further configured to cause the network node to perform the method according to any one of claims 19 to 28.

35. A user equipment, UE, (412, 500) wherein the UE is adapted to perform the method according to any one of claims 1 to 9.

36. A network node (410, 600), wherein the network node is adapted to perform the method according to any one of claims 10 to 17.

37. A network node (410, 600), wherein the network node is adapted to perform the method according to any one of claims 18 to 28.