Method and device for allocating resources in a wireless network based on quality of experience (QOE)
A centralized QoE traffic manager optimizes radio resource allocation in wireless networks by adjusting encoding parameters based on aggregate and individual stream QoE scores, addressing QoE fairness and resource efficiency issues in media streaming.
Patent Information
- Application Number
- PCT/IB2024/055404
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-03-29
- Filing Date
- 2024-06-03
- Publication Date
- 2025-10-02
AI Technical Summary
Existing wireless network traffic management systems fail to achieve Quality of Experience (QoE) fairness among media streams, particularly in Remote-Rendered Gaming and live streaming applications, due to varying visual and sound complexity, leading to overconsumption of radio resources and unacceptable QoE for some streams.
Implement a centralized Quality of Experience (QoE) traffic manager that monitors aggregate radio resource usage and provides QoE guidance to streaming servers, adjusting encoding parameters to achieve optimal QoE scores for individual media streams, using a QoE feedback loop to optimize resource allocation.
This approach efficiently utilizes radio resources and improves overall QoE for end users by aligning encoding parameters with target QoE scores, avoiding overconsumption and ensuring fairness across multiple media streams.
Smart Images

Figure IB2024055404_02102025_PF_FP_ABST
Abstract
Description
SPECIFICATIONMETHOD AND DEVICE FOR ALLOCATING RESOURCES IN A WIRELESS NETWORK BASED ON QUALITY OF EXPERIENCE (QOE)CROSS-REFERENCE TO RELATED APPLICATIONS
[0001] This application claims the benefit of U.S. Provisional Application No. 63 / 571,911, filed March 29, 2024, which is hereby incorporated by reference.TECHNICAL FIELD
[0002] Embodiments of the present disclosure relate to the field of networking and more specifically, to allocating radio resources based on Quality of Experience (QoE) in a wireless network.BACKGROUND ART
[0003] In Remote-Rendered Gaming (RRG) based on a Cloud infrastructure (also referred to as Remote-Rendered Cloud Gaming), a media stream including video and / or audio content is often sent via a wireless network using communication technology (e.g., cellular, Wi-Fi, or Ethernet). The streaming server (also referred to as streamer-server) sends a media stream with encoded media in the downlink direction to a client (also referred to as a streamer-client or streaming client), e.g., the client application on a user equipment (UE). The uplink direction serves the control stream from the client.
[0004] The streaming server receives raw media frames from a gaming application. The frames are processed by an encoder to compress the data before sending through the wireless network. The streaming server configures encoding parameters (e.g., the target video bitrate for the encoding) and also dynamically adjusts parameters in response to available network capacity.
[0005] Quality of experience (QoE) as a metric measures an end user’s experience with a service. To measure an end user’s QoE of a media stream, QoE parameters include ones determining the consistency of picture / audio quality. The QoE measure for media traffic can be reference-based, where the quality of test media content sample after compression is assessed by comparing the test media content sample with corresponding reference media content that is assumed to have perfect quality, e.g. compressed / delivered video vs. the original uncompressed video. Another type of QoE measure can be reference-less,where statistical features of the compressed content are used as QoE metric and the QoE measure does not need the reference media content.
[0006] Traffic management has been implemented in a wireless network. For example, Transmission Control Protocol (TCP) congestion control can be used to achieve fair bitrate distribution among the video streams distributed through the wireless network. Yet there is no known efficient traffic management mechanism that achieves QoE fairness among media streams, particularly ones deployed in a wireless network.SUMMARY OF THE INVENTION
[0007] Embodiments include methods, apparatus, storage medium, and computer program for allocating radio resources based on Quality of Experience (QoE) in a wireless network. In one embodiment, a method comprises determining radio resource usage at a network node of the wireless network, wherein the network node processes a plurality of media streams, and wherein the plurality of media streams are encoded at one or more servers prior to arriving at the network node; assigning a corresponding plurality of target quality of experience (QoE) scores to the plurality of media streams based on the radio resource usage at the network node for processing the plurality of media streams; and providing each of the corresponding plurality of target QoE scores to the one or more servers for encoding one media stream of the plurality of media streams, wherein for a media stream of the plurality of media streams, one or more media encoding parameters of an encoder of a corresponding server are adjusted based on a variation between: a target QoE score of the media stream provided based on the radio resource usage at the network node for processing the plurality of media streams; and an estimated QoE score of the media stream based on the media stream prior to arriving at the network node.
[0008] In one embodiment, an electronic device is disclosed, and the electronic device includes a processor and machine-readable storage medium that provides instructions that, when executed by the processor, are capable of causing the processor to perform operations, including: determining radio resource usage at a network node of the wireless network, wherein the network node processes a plurality of media streams, and wherein the plurality of media streams are encoded at one or more servers prior to arriving at the network node; assigning a corresponding plurality of target quality of experience (QoE) scores to the plurality of media streams based on the radio resource usage at the network node for processing the plurality of media streams; and providing each of the corresponding plurality of target QoE scores to the one or more servers for encoding onemedia stream of the plurality of media streams, wherein for a media stream of the plurality of media streams, one or more media encoding parameters of an encoder of a corresponding server are adjusted based on a variation between: a target QoE score of the media stream provided based on the radio resource usage at the network node for processing the plurality of media streams; and an estimated QoE score of the media stream based on the media stream prior to arriving at the network node.
[0009] In one embodiment, a machine-readable storage medium is disclosed, and the machine-readable storage medium provides instructions that, when executed by a processor, are capable of causing the processor to perform operations, including: determining radio resource usage at a network node of the wireless network, wherein the network node processes a plurality of media streams, and wherein the plurality of media streams are encoded at one or more servers prior to arriving at the network node; assigning a corresponding plurality of target quality of experience (QoE) scores to the plurality of media streams based on the radio resource usage at the network node for processing the plurality of media streams; and providing each of the corresponding plurality of target QoE scores to the one or more servers for encoding one media stream of the plurality of media streams, wherein for a media stream of the plurality of media streams, one or more media encoding parameters of an encoder of a corresponding server are adjusted based on a variation between: a target QoE score of the media stream provided based on the radio resource usage at the network node for processing the plurality of media streams; and an estimated QoE score of the media stream based on the media stream prior to arriving at the network node.
[0010] One benefit of the disclosed embodiments is that radio resources at a network node are used more efficiently compared to prior solutions. In particular, instead of each server attempting to dynamically measure / guess its own fair share of contested radio resources, a server only needs to do its best to hit a target QoE score for a media stream. By attempting to achieve target QoE score(s) for various media streams, a server can converge more quickly on an optimal radio resource allocation relative to approaches that allocate resources based on bitrate.BRIEF DESCRIPTION OF THE DRAWINGS
[0011] The invention may best be understood by referring to the following description and accompanying drawings that are used to illustrate embodiments of the invention. In the drawings:
[0012] Figure 1 illustrates a centralized Quality of Experience (QoE) based traffic management system per some embodiments.
[0013] Figure 2 illustrates determination of target Quality of Experience (QoE) scores per some embodiments.
[0014] Figure 3 illustrates determination of estimated Quality of Experience (QoE) scores per some embodiments.
[0015] Figure 4A illustrates an exemplary signal transmission hierarchy in a wireless network.
[0016] Figure 4B illustrates resource elements used for data and signaling transmission.
[0017] Figure 5 is a flow diagram illustrating the operations to allocate radio resources based on Quality of Experience (QoE) per some embodiments.
[0018] Figure 6 illustrates an electronic device to allocate radio resources based on Quality of Experience (QoE) per some embodiments.
[0019] Figure 7 shows an example of a communication system in accordance with some embodiments.
[0020] Figure 8 shows a User Equipment (UE) in accordance with some embodiments.
[0021] Figure 9 shows a network node in accordance with some embodiments.
[0022] Figure 10 is a block diagram illustrating a virtualization environment in which functions implemented by some embodiments may be virtualized.DETAILED DESCRIPTION
[0023] Generally, all terms used herein are to be interpreted according to their ordinary meaning in the relevant technical field, unless a different meaning is clearly given and / or is implied from the context in which it is used. All references to a / an / the element, apparatus, component, means, step, etc. are to be interpreted openly as referring to at least one instance of the element, apparatus, component, means, step, etc., unless explicitly stated otherwise. The steps of any methods disclosed herein do not have to be performed in the exact order disclosed, unless a step is explicitly described as following or preceding another step and / or where it is implicit that a step must follow or precede another step. Any feature of any of the embodiments disclosed herein may be applied to any other embodiment, wherever appropriate. Likewise, any advantage of any of the embodiments may apply to any other embodiments, and vice versa. Other objectives, features, and advantages of the enclosed embodiments will be apparent from the following description.
[0024] Bracketed text and blocks with dashed borders (such as large dashes, small dashes, dot-dash, and dots) may be used to illustrate optional operations that add additional features to the embodiments of the disclosure. Such notation, however, should not be taken to mean that these are the only options or optional operations, and / or that blocks with solid borders are not optional in some embodiments of the disclosure.
[0025] References in the specification to “one embodiment,” “an embodiment,” “an example embodiment,” etc. indicate that the embodiment described may include a particular feature, structure, or characteristic, but every embodiment may not necessarily include the particular feature, structure, or characteristic. Moreover, such phrases are not necessarily referring to the same embodiment. Further, when a particular feature, structure, or characteristic is described in connection with an embodiment, it is submitted that it is within the knowledge of one skilled in the art to affect such feature, structure, or characteristic in connection with other embodiments whether or not explicitly described.
[0026] The term “connected” means a direct electrical or magnetic connection between the things that are connected, without any intermediary devices, while the term of “coupled” means either a direct electrical or magnetic connection between the things that are connected or an indirect connection through one or more passive or active intermediary devices. The term “circuit” means one or more passive and / or active components that are arranged to cooperate with one another to provide a desired function in an electronic device. The term “set” means any positive whole number of items including one item.Traffic Management Based on Quality of Experience (OoE)
[0027] To provide satisfactory Quality of Experience (QoE) to video applications (or any other multi-media applications) through a wireless network, the wireless network may reserve radio resources for each media stream based on the maximum bitrate required for a given content (e.g., during hard-to-compress) scenes. Yet such allocation often results in overconsumption of radio resources and causes otherwise avoidable congestion on a shared bottleneck in the wireless network.
[0028] To avoid the drawback of over-allocation, bitrate-based or resource-based traffic management may be implemented. However, these approaches often do not achieve QoE fairness, as different media content have different visual / sound complexity or motion, which result in different compression ratios. This in turn means that the same bitrate can result in different picture / audio quality in the media stream, and thus different QoE for the different media streams.
[0029] Additionally, traffic management may implement congestion control algorithms on each media stream on the shared bottleneck to lower their video / audio bitrates.Without dynamic central management of QoE, different media streams will have their QoE negatively impacted to different degrees, possibly resulting in an unacceptable QoE on some of the media streams.
[0030] A few attempts have been made to perform Quality of Experience (QoE)-based traffic management. For example, a distributed congestion control (CC) solution has been introduced for streaming video services to reach QoE fairness among multiple concurrent video traffic flows sharing a bottleneck link. Yet the solution is suitable only when the relationship between bitrate and QoE relationship is known in advance. For Remote- Rendered Gaming (RRG) or live streaming applications, the players’ style / preference and / or context of the live event affect the relationship between bitrate and QoE relationship and yet they are hard to anticipate in advance.
[0031] Embodiments disclosed herein overcome the deficiency of existing approaches through (1) a central management of QoE and (2) a QoE feedback loop to allocate radio resources in a wireless network to achieve the optimal QoE of the media streams in aggregation.
[0032] (1) Central management of QoE: A central controller (also referred to as QoE traffic manager, QoE-TM) may continually monitor the aggregate radio resource usage at a bottleneck (e.g., a network node) shared by multiple media traffic flows and give QoE guidance to each managed stream application that produces corresponding one or more media traffic flows. The QoE-TM aims at maximizing utility measured in terms of QoE (e.g., the aggregated QoE across all media traffic flows) while not exceeding a total budget of radio resources at the bottleneck.
[0033] (2) QoE feedback loop: The QoE feedback loop may run QoE estimation directly on the input / output of a streaming server that encodes an incoming media traffic flow by estimating the QoE of the media traffic flow after the encoding (and / or prior to the encoding in some embodiments). The QoE guidance of a media traffic flow from the QoE-TM and the corresponding QoE estimation result of the same media traffic flow may then be used to adjust the encoder parameters to encode the media traffic flow by the streaming server. With the adjustment of the encoding, the characteristics of the media traffic flow change accordingly, resulting in the usage change of the monitored radio resources by the traffic flow at the bottleneck as well.
[0034] The centralized management caused encoding adjustment may apply to multiple traffic flows sharing the same bottleneck, resulting in the change of radio resource allocation at the bottleneck. The radio resource allocation change may thus cause a better radio resource usage at the bottleneck to achieve the optimal QoE experienced by the end users of the multiple traffic flows. A system in these embodiments thus may allocate radio resources based on QoE, through managing and optimizing the QoE for multiple media traffic flows sharing a bottleneck (e.g., a network node in a wireless network) without overconsuming radio resources and with managed QoE for each traffic flow. Therefore, by using the disclosed techniques in these embodiments, radio resources at one or more network nodes in a wireless network may be utilized more efficiently and / or providing overall better QoE for end users compared to prior approaches.
[0035] Note that a media stream or a media traffic flow (both terms are used interchangeably with a flow / stream herein) represents a video / audio stream (also referred to as a video / audio flow), which may be defined as a set of packets whose headers match a given pattern of bits. A media traffic flow may be identified by a set of attributes embedded to one or more packets of the traffic flow. A media traffic flow may include multiple media frames, e.g., a sequence of images that comprises a video segment and that may be encoded differently such as intra-coded I-frames, predictive P-frames, and bidirectional B-frames but sharing the same destination for an application. A media traffic flow may be transmitted through a wireless network in packets. The term packet, as used herein, is intended to be broadly construed to include a frame, a datagram, a packet, or a cell; a fragment of a frame, a fragment of a datagram, a fragment of a packet, or a fragment of a cell; or another type, arrangement, or packaging of data.
[0036] While some embodiments herein are explained using video streams and their corresponding video frames, embodiments are also applicable to audio streams, image / animation streams, interactive stream content such as virtual reality (VR) and augmented reality (AR) streams, and similar media streams.Centralized Quality of Experience (QoE) based Traffic Management
[0037] Figure 1 illustrates a centralized Quality of Experience (QoE) based traffic management system per some embodiments. System 100 includes a set of streaming servers 114 that provides media content. The set of streaming servers 114 may be implemented in host 716 in some embodiments. The media content is provided through a wireless network 190 to a set of user equipment (UE), including UE 112.
[0038] Wireless network 190 may be a part of telecommunication network 702, and UE 112 may be one of UE 712A, 712B, or UE 800 discussed herein. While only one UE 112 is shown, system 100 may include multiple UEs that may receive media content concurrently through network node 110. Additionally, wireless network 190 includes network node 110, which may be implemented similarly or same as network node 710A, 710B, or network node 900 herein. In some embodiments, the set of streaming servers 114 may be implemented within telecommunication network 702 as well, e.g., within core network node 708 discussed herein.
[0039] Using one streaming server as an example, a streaming server 114 may include an application 124, which produces media content. For example, application 124 may be a video game application that produces media content to be consumed by or interacted with a user through UE 112, which implements a client application of application 124, such as a streaming client 111.
[0040] In streaming server 114, application 124 provides media content including media frames 126, which are then encoded by a codec 128. Media frames 126 are designated as raw to indicate its content has not been converted, compressed, or otherwise altered after provided by application 124 in a process that may reduce its QoE, once the encoded content is experienced by the user of UE 112. Codec 128 includes a set of encoders (and optionally corresponding decoders) to format the media content. For example, an encoder of codec 128 may compress the media frames from the Moving Picture Experts Group-2 (MPEG-2) format to the ITU-T Video Coding Experts Group (VCEG) - Advanced Video Coding / Advanced Video Coding (H.264 / AVC) format, High Efficiency Video Coding (H.265 / HEVC) format, Versatile Video Coding (H2.66 / VV) format, Video Codec 9 (VP9) format, or the Alliance for Open Media (AOMedia Video 1 (AVI) format. The compression, while losing some information of the raw media frames (lossy compression), allows the media content to be transmitted using a lesser bitrate and results in a reasonable video quality so that the QoE experienced through streaming client 111 won’t suffer. The output of the encoding is shown as encoded media frames 132.
[0041] The encoded media frames are transmitted through a media transport logic / circuit / node 118 to wireless network 190. The media transport logic / circuit / node 118 may further process the encoded media frames, e.g., the encoded media frames to be packetized for transmission through wireless network 190. The resulting encoded media packets 120 are then transmitted in wireless network 190 to reach UE 112, and they may be forwarded through multiple network nodes, including network node 110. Whennetwork node 110 is the last node in wireless network 190 to reach UE 112, network node 110 is a radio base station (RBS) in some embodiments.
[0042] QoE traffic manager 102 monitors radio resource usages to provide QoE guidance to the set of streaming servers 114. QoE traffic manager 102 may monitor the usage of radio resources at different network nodes of wireless network 190, one of them being network node 110 as shown at reference 104. The usage of radio resources at a network node may be measured based on different resources as discussed in further details relating to Figure 4B, and radio resources 106 are shown as the one or more radio resources to be monitored at network node 110. In this example, Physical Resource Blocks (PRBs) of a network node are the monitored radio resources, as PRBs are used for resource allocation and scheduling in both uplink and downlink transmissions, but QoE traffic manager 102 may monitor the usage of other radio resources (e.g., the ones discussed relating to Figure 4B). QoE traffic manager 102 may be implemented within a communication system but outside the wireless network 190, such as at host 716, or within wireless network 190 (e.g., at a network node such as network node 708), or within streaming servers 114.
[0043] In some embodiments, QoE traffic manager 102 monitors the usage of the radio resources of a network node by all media streams processed through a network node in aggregation, without determining which media stream occupies what radio resources and by how many. The monitoring in aggregation takes less computing / network / storage resources than the one that determines the radio usage at individual media stream level, thus is more efficient.
[0044] Additionally, QoE traffic manager 102 may use the monitored radio resource usage to provide QoE guidance to the set of streaming servers 114 only when the radio resource usage at a network node is over a threshold in some embodiments. In that way, when the network node is not a bottleneck in terms of radio resource usage due to media stream processing, QoE traffic manager 102 allows the existing radio resource allocation to remain the same. For example, QoE traffic manager 102 may provide the feedback of QoE guidance 108 to the streaming servers 114 only responsive to that the usage of the monitored radio resource at network node 110 is over a certain threshold (e.g., usage of PRBs > 80%).
[0045] In some embodiments, QoE traffic manager 102 additionally monitors the usage of the radio resources of a network node by individual media streams when the usage of the radio resources by one or more media streams meets a certain criterion. For example,a media stream may be forwarded to a UE that is remote to network node 110, and due to the weaker cellular signal reception, the media stream takes a disproportional share of the radio resource of network node 110. QoE traffic manager 102, while monitoring the radio resource usage by all the media streams on network node 110 in aggregation, also monitors for outlier media streams that take radio resources above an over-consumption threshold or below an under-consumption threshold. One or more media streams in the former category may be removed or downgraded to provide a worse QoE, while one or more media streams in the latter category may be updated to provide a better QoE. The targeted sampling of individual media streams allows QoE traffic manager 102 to be more flexible in identifying / mediating radio resource anomalies that may go unnoticed by the monitoring of radio resource usage in aggregation only.
[0046] Additionally / altematively, the radio usage of the outlier media streams as a subset of the media streams in aggregation may be monitored and cause QoE traffic manager 102 to set QoE guidance (e.g., individual target QoE scores) to the subset of media streams in some embodiments. In these embodiments, QoE traffic manager 102 leaves media streams that operate normally (non-outliers) unchanged and provides QoE guidance to only the subset of media streams that potentially cause end users to experience insufficient QoE. Accordingly, QoE traffic manager 102 may manage radio resources more efficiently with the narrower management scope.
[0047] Based on the monitored radio resource usage, QoE traffic manager 102 provides QoE guidance 108 to encoders of streaming servers 114 for the media streams whose packets are processed by network node 110. The QoE guidance 108 includes individual target QoE scores assigned to the media streams and optionally other information that assists the encoders to adjust their encoding parameters., e.g., target bitrates and burstiness of the media streams. The target QoE scores are specified to a media stream, not to an application in some embodiments. For example, Application 124 may include a video stream and an audio stream to the same UE, and the target QoE scores may be 4 for the video stream and 5 for the audio stream (e.g., when the end user is more sensitive to audio quality degradation than visual quality degradation). Alternatively, the same target QoE scores may be applied to multiple media streams belonging to the same application so that the end user gets the same QoE from these streams.
[0048] A QoE score of a media stream quantifies the quality of experience based on end user viewing, hearing, interacting experience. For example, the International Telecommunication Union (ITU) Series P.1204.3, entitled “Video quality assessment ofstreaming services over reliable transport for resolutions up to 4K with access to full bitstream information “and dated January 2020 (referred herein as P.1204.3), defines a Mean Opinion Score (MOS) as a numerical representation of the average subjective quality rating provided by human participants in a subjective assessment of multimedia quality. A QoE score may be measured in MOS or another metric within different value ranges to be used as the target QoE score provided by QoE traffic manager 102, including the following:
[0049] (1) Likert scale. The Likert scale may be used in video quality assessment to gather subjective opinions from viewers regarding their perception of video quality and it spans five levels, e.g., 1 to 5, where 1 is poor, 2 is fair, 3 is average, 4 is good, and 5 is excellent (or reverse).
[0050] (2) Video Multimethod Assessment Fusion (VMAF) score. The VMAF score is used to evaluate the perceived quality of videos. It may be employed in the field of video compression and delivery. VMAF aims to provide a comprehensive assessment of video quality by combining multiple assessment methods into a single score within the range of 0 to 100, where higher scores indicate better perceived video quality. A VMAF score of 0 signifies extremely poor video quality, indicating that the video is severely degraded and almost unwatchable, while a VMAF score of 100 represents perfect video quality, meaning that the video is virtually indistinguishable from the original source with no perceptible degradation.
[0051] (3) Constant Rate Factor (CRF). The CRF value is used in video encoding to control the quality of the encoded video while maintaining a relatively constant bitrate. It may be used in video compression algorithms such as AVC (H.264) and High Efficiency Video Coding (HEVC) (H.265). CRF allows for more flexible control over the trade-off between video quality and grade of compression (which results in different file sizes). With CRF, the encoder adjusts the compression level dynamically based on the complexity of the video content, aiming to achieve a consistent perceptual quality across different scenes and frames. The CRF value ranges between 0 and 51, where 0 represents the highest possible quality encoding and 51 represents the lowest possible quality. A video stream encoded at CRF 51 is very compressed and has significant quality loss, but with the smallest bitstream size possible.
[0052] (4) Mean Opinion Score (MOS). The MOS is typically obtained through subjective testing, where human participants watch video clips and rate their perceivedquality using a numerical scale (e.g., 1 to 5 or 1 to 7, where 1 being very poor and 5 / 7 being excellent).
[0053] While these QoE scores are used as examples, embodiments disclosed herein may use any applicable QoE score to indicate the assessment of a media stream. QoE traffic manager 102 may be configured to provide a type of QoE score as preferred by a network operator of wireless network 190, service provider of application 124, or another party.
[0054] QoE guidance 108 may include other information that assists encoders to adjust their encoding parameters in some embodiments. For example, the other information may include the characteristics of network node 110 and / or wireless network 190, and / or the effect of earlier encoding parameter adjustment (e.g., the target QoE scores provide in the past and the corresponding radio resource usages). The optional information may allow the encoders to adjust their encoding parameters better.
[0055] QoE guidance 108 is provided to an encoder manager 116, which manages the encoding parameters 130 of codec 128 and may be integrated with codec 128. In some embodiments, encoder manager 116 may be apart from a computing system that implements streaming servers 114. In some embodiments, encoder manager 116 may be implemented on cloud infrastructure.
[0056] Encoder manager 116 adjusts encoder parameters based on QoE guidance 108 transmitted from QoE traffic manager 102 and estimated QoE score provided by a QoE estimator 136 that assesses media frames, raw and / or encoded, at reference 134. QoE estimator 136 includes a media quality assessment module 138 that estimates the media quality at streaming servers 114, prior to (or concurrently with) the media frames 134 being processed by media transport logic / circuit / node 118 for transmission to wireless network 190.
[0057] Encoder manager 116 may adjust a variety of encoding parameters 130 for a media stream to align the estimated QoE score of the media to the target QoE score. The one or more encoding parameters to be adjusted for a media stream include one or more of the following: (1) the encoded bitrate of the media stream, (2) the Quantization Parameter (QP) used in video compression (e.g., AVC (H.264) or HEVC (H.265)) to control the level of compression applied to a video frame, (3) quantization parameters to quantize raw media frame data, (4) resolution. While these encoding parameters are used as examples, embodiments disclosed herein may use any applicable encoding parameters to adjust codec 128 to align the estimated QoE score of the media to the target QoE score.
[0058] Encoder manager 116 may adjust the encoding parameters 130 of an encoder in several ways. It may change the encoder in small steps, iterating until the resulting QoE score (e.g., as measured by QoE estimator 136) matches the target one. Encoder manager 116 may apply a change of parameters proportional to the difference between the estimated QoE and the target one.
[0059] Additionally or alternatively, encoder manager 116 may adjust an encoding parameter based on the relationship between the parameter and QoE score. For example, a bitrate-QoE relationship curve may be built. This can be done by encoding the same video frame (or short sequence of frames) at several different target bitrates and measuring the resulting QoE for each video frame under each bitrate target. For each such frame, the QoE result forms a point along a bitrate-QoE curve. The bitrate required to achieve a given QoE target score can be estimated via interpolating along the curve.
[0060] The relationship curve may be built for other encoding parameters as well. The curve may change over time, and should be (1) refreshed periodically, and / or (2) rebuilt when large media experience change is detected (e.g., the peak signal -to-noise (PSNR) of the media stream changed significantly). In some embodiments, the relationship curve may be built using the Rate-Distortion Optimization (RDO) procedure found in many modem codecs, the difference is that these embodiments operate on the basis of one (or more) entire frame(s), where RDO typically applies per macroblock and uses simpler mathematical QoE metrics such as PSNR or Structural Similarity Index (SSIM).
[0061] Figure 2 illustrates determination of target Quality of Experience (QoE) scores per some embodiments. QoE traffic manager 102 takes the input at reference 212, which includes radio resource usage from one or more network nodes (e.g., network node 101) and provides QoE scores to individual media streams. As discussed herein above, the monitored radio resource usages may be measured in aggregation and optionally individually on one or more media streams whose radio resource usage meets a certain criterion. While in some embodiments QoE traffic manager 102 determines the QoE target score of a media stream based on the radio resource usage at a single network node, it may make the determination of the QoE target score based on the radio resource usage at multiple network nodes as well. The determination based on multiple network nodes may manage multiple bottleneck nodes in a wireless network more efficiently in some embodiments.
[0062] QoE traffic manager 102 may also take the input of QoE policy 214. QoE policy 214 dedicates how the target QoE scores are to be assigned to the multiple media streamsthat are processed at a network node in some embodiments. QoE policy 214 may be that all the target QoE scores of the media streams to be the same, for example, all the target QoE scores for the media streams processed at network node 110 to be 3 -average of the Likert scale. Alternatively, the QoE policy 214 may be that the target QoE scores are tiered, e.g., target QoE scores of 5-excellent, 4-good, 3-fair of the Likert scale are assigned to media streams in the gold, silver, and bronze tiers, respectively. The tiered or equal QoE policy may be adjusted, e.g., based on preference and network condition of the wireless network.
[0063] The QoE target scores 232, one for a media stream, are assigned by QoE traffic manager 102 (optionally along with other information as explained relating to Figure 1). In some embodiments, the assignment may be based on heuristics and / or applicable algorithms. For example, a greedy algorithm where QoE targets are assigned based on radio resources availability maximizing the utility gain in terms of a QoE policy. Additionally / altematively, the assignment may be based on machine learning in some embodiments. A machine learning module 252 may be implemented in QoE traffic manager 102, where one or more machine learning models are used to determine the QoE target scores 232 based on radio resource usages 212 and QoE policy 214.
[0064] The machine learning models may use supervised learning, unsupervised learning, semi-supervised learning, or other types of learning. It can use artificial neural networks, decision trees, support-vector machines, regression analysis, Bayesian networks, genetic algorithms, or any other framework. The machine learning models may be trained with the one or more goals of identifying the optimal QoE target scores 232 for a given QoE policy 214 and the training may use data stored in datastore 254. The stored data may include characteristics of network node 110 and / or wireless network 190, the earlier implemented pairs of monitored radio resource usage and corresponding QoE target scores, the resulting encoding parameter adjustments and corresponding changes of radio resource usage at the monitored node. The stored data, including the historical results from the QoE traffic manager 102 and encoder manager 116, allows the machine learn mode to be trained and assign better target QoE scores.
[0065] Figure 3 illustrates determination of estimated Quality of Experience (QoE) scores per some embodiments. QoE estimator 136 receives input of media frames from multiple media streams 1 to N at references 302 to 304 to analyze the media quality and provides estimated QoE scores 332. The media quality assessment may be done for everyframe or once in a given number of frames or for a certain subset of frames in case of performance limitations.
[0066] Media quality assessment module 138 of QoE estimator 136 may aggregate the results for a given window. Depending on the metrics, different kinds of aggregation can be used, e.g. arithmetic or harmonic means, percentile. The window size, in time units or number of frames, is a configurable parameter of QoE estimator 136 in some embodiments. The aggregated result of a media stream is periodically (the period is another configurable parameter of QoE estimator 136) passed to the encoder manager 116, which compares the result with the corresponding target QoE score of the media stream and adjusts one or more encoder parameters accordingly.
[0067] QoE estimator 136 may determine the estimated QoE score using a referenceless method by measuring the encoded media frames unchanged without comparing the media frames to corresponding reference media frames. For example, a reference-less method may use one or more of the following: Video Quality Metric (VQM) that analyzes spatial and temporal distortions in the video to estimate perceived quality, Blind / No- Reference Image Quality Assessment (NR-IQA) that analyzes statistical features, structural information, and artifacts present in an image to predict perceived quality, Perceptual Quality Assessment of Videos (PQA-V) that considers spatial and temporal distortions, motion artifacts, and other factors to estimate perceived video quality, and Naturalness Image Quality Evaluator (NIQE) that assesses image quality based on natural scene statistics.
[0068] QoE estimator 136 may also determine the estimated QoE score using reference media frames, shown as (raw / encoded) reference frame of stream at reference 314 as an example. The reference-based method assesses the quality of frames within a media stream by comparing it with that of frames within a reference media stream that is assumed to have perfect quality, and the reference media stream may be a raw media stream without being encoded or an encoded media stream. The reference-based method may use metric such as VMAF scores and PSNRs (comparing the VMAF scores and / or PSNRs of the reference frames and the frames to be estimated).
[0069] In some embodiments, the encoded frames of a stream 312 and / or the reference frames 314 may be scaled through media scaler module 352. For example, the streaming client 111 displays a video stream at high definition (HD) 1920 x 1080 while frames of the video frames are encoded at Ultra High Definition (UHD) 2560 x 1440 by codec 128, the encoded frames at UHD resolution (and the corresponding reference frames) may bescaled down to HD prior to being provided to media quality assessment module 138. Reversely, if the streaming client 111 displays a video stream at super ultra-high definition (SUHD) 3840 x 2160 instead, media scaler module 352 may scale up the encoded UHD frame to SUHD to estimate the experience by the end user. The scaling allows QoE estimator 136 to provide a better estimation of QoE experienced by an enduser. Note that media scaler module 352 and media quality assessment module 138 may be integrated into the same circuitry, and QoE estimator 136 itself may be integrated into codec 128 or another entity of streaming servers 114.
[0070] The centralized QoE based traffic management system (e.g., through QoE traffic manager 102) disclosed herein allows the radio resources at network nodes to be used at the maximum level of efficiency by virtue of managing the radio resources of the network nodes based on QoE target scores. Instead of each streaming server attempting to dynamically measure / guess its own fair share of contested radio resources (e.g., at a bottleneck network node), a streaming server only needs to fulfill the task of hitting the target QoE score for a media stream given to it by a QoE traffic manager. The localized QoE targeting generally converges faster than an approach to directly achieve networkbased QoE targeting to achieve fairness, as the former does not require multiple iterations of network round-trip adjustment based on the interactions of different media streams. Additionally, flexible QoE management with different QoE policies may be applied to different media streams so that the system may offer a variety of QoE tiers to end users.
[0071] Note that the QoE feedback loop does not involve the end user, and the estimated QoE may be obtained directly at the streaming servers. A malicious end user thus can’t tempt the feedback loop to gain any advantage in using excessive radio resources of network nodes.Radio Resources Used in a Radio Network
[0072] Figure 4A illustrates an exemplary signal transmission hierarchy in a wireless network. The exemplary signal transmission hierarchy includes the transmission unit of frame such as radio frame 402. A radio frame 402 takes ten milliseconds to transmit in one embodiment. The frame may contain a number of subframes such as subframe 404. In this example, radio frame 402 contains ten subframes, each taking one millisecond. Each subframe may contain a number of slots. For example, a subframe may contain two slots. Each slot such as the slot at reference 406 may contain a number of symbols. In one example, a slot contains either 7 or 14 symbols. The symbol is an orthogonal frequencydivision multiplexing (OFDM) symbol in one embodiment.
[0073] The frame - subframe - slot - symbol hierarchy is an example of time domain hierarchy. In the frequency domain (as illustrated at reference 432), each symbol may be transmitted over a number of subcarriers. A symbol may be transmitted using a number of resource blocks (RBs), each of which may contain 12 subcarriers in one embodiment. In one embodiment, each subcarrier utilizes a frequency band of a bandwidth (e.g., 7.5 kHz, 15 kHz, 30 kHz, 60 kHz, 120 kHz, or 240 kHz) for transmission. One subcarrier X one symbol may be referred to as a resource element (RE), which is the smallest unit of resource to be allocated for signal transmission in one embodiment.
[0074] The illustrated frame structure offers an example for signal transmission. In this frame structure or other frame structures, data and signaling transmission is performed at the lowest level of time unit (symbol level in this case), which is included in a time unit (slot level in this example) that is one level over the lowest level of time unit in one embodiment. Data and signaling for one transmission from a source network device to a destination network device often use the same position within the signal transmission hierarchy, e.g., the same symbol position in consecutive slots (e.g., symbol #2 of each slot) or subframes, or in alternating slots (e.g., symbol #2 in every other slot) or subframes.
[0075] Figure 4B illustrates resource elements used for data and signaling transmission. The physical resources for transmission may be viewed as time and frequency grids as illustrated, where each resource element occupies a time period in the time domain and a frequency range in the frequency domain. Each OFDM symbol includes a cyclic prefix as illustrated at reference 452. Each OFDM symbol utilizes a number of resource elements (REs). Physical Resource Blocks (PRBs) are groups of contiguous REs allocated together for data transmission. PRBs are used for resource allocation and scheduling in both uplink and downlink transmissions.
[0076] In this example, the sub-carrier spacing (SCS) may be 15k Hz, and the resource element (RE) 454 occupies orthogonal frequency-division multiplexing (OFDM) subcarriers within an OFDM symbol. Note that while the SCS in long-term evolution (LTE) is fixed at 15k Hz, the SCS in New Radio (NR) can have other alternatives such as 30 kHz, 60 kHz, 120 kHz, or 240 kHz. A network device may allocate some resource elements for a particular type of signaling. Such allocation may be specified through identifying the time period in the time domain and the frequency range in the frequency domain in a signal transmission hierarchy; or it may be specified through identifying specific resource elements within the signal transmission hierarchy.
[0077] For downlink control, a wireless network may use PDCCHs (physical downlink control channels) to transmit downlink control information (DCI), which provides downlink scheduling assignments and uplink scheduling grants. The PDCCHs are transmitted at the beginning of a slot and relate to data in the same or a later slot (for mini-slots PDCCH can also be transmitted within a regular slot) in some embodiments. Different formats (sizes) of the PDCCHs are possible to handle different DCI payload sizes and different aggregation levels (i.e., different code rate for a given payload size). A UE may be configured (implicitly and / or explicitly) to blindly monitor (or search) for a number of PDCCH candidates of different aggregation levels and DCI payload sizes. Upon detecting a valid DCI message (e.g., the decoding of a candidate being successful, and the DCI contains an ID that the UE is told to monitor) the UE follows the DCI (e.g., receives the corresponding downlink data or transmits in the uplink). The blind decoding process comes at a cost in complexity in the UE but is required to provide flexible scheduling and handling of different DCI payload sizes.
[0078] Different NR use-cases (e.g., MBB (mobile broadband), URLLC (ultra-reliable low latency communication)) require different control regions (e.g., time, frequency, numerologies etc.) & PDCCH configurations (e.g., operating points etc.) PDCCHs in NR are transmitted in configurable / dynamic control regions called control resource sets (CORESET) enabling variable use-cases. A CORESET is a subset of the downlink physical resource configured to carry control signaling. It is analogous to the control region in LTE but generalized in the sense that the set of physical resource blocks (PRBs) and the set of OFDM symbols in which it is located is configurable.
[0079] In one embodiment, CORESET configuration in frequency allocation is done in units of 6 RBs using NR DL resource allocation Type 0: bitmap of RB groups (RBGs). CORESET configuration in time spans of 1-3 consecutive OFDM symbols. For slotbased scheduling, the CORESET span at the beginning of a slot is at most 2 if demodulation reference signal (DMRS) is located in OFDM Symbol (OS) #2 and is at most 3 if DMRS is located in OS #3. AUE monitors one or more CORESETs. Multiple CORESETs can be overlapped in frequency and time for a UE.
[0080] Embodiments disclosed herein may monitor radio resources such as REs, PRBs, OFDMs, RBGs, CORESET, and other time, frequency, modulation resources in a radio network, and a QoE traffic manager such as QoE-TM 102 may provide a QoE guidance for optimizing QoE of media traffic flows based on the monitored radio resource usage as discussed herein. The monitoring includes gathering values of the parameters associatedwith the radio resources of a network node, e.g., Modulation and Coding Scheme (MCS) of OFDM, and Channel Quality Indicator (CQI) as reported by a UE based on its perception of quality of signal from the network node.Operations per Some Embodiments
[0081] Figure 5 is a flow diagram illustrating the operations to allocate radio resources based on Quality of Experience (QoE) per some embodiments. Method 500 may be implemented in a QoE traffic manager such as QoE traffic manager 102 in some embodiments. Note that the QoE traffic manager may be integrated with other entities such as streaming servers 114 or a network node, or a host as discussed herein above.
[0082] At reference 502, radio resource usage at a node of the wireless network is determined, where the network node processes a plurality of media streams, and where the plurality of media streams are encoded at one or more servers prior to arriving at the network node.
[0083] At reference 504, a corresponding plurality of target quality of experience (QoE) scores is assigned to the plurality of media streams based on the radio resource usage at the network node for processing the plurality of media streams.
[0084] At reference 506, each of the corresponding plurality of target QoE scores is provided to the one or more servers for encoding one media stream of the plurality of media streams. For a media stream of the plurality of media streams, one or more media encoding parameters of an encoder of a corresponding server are adjusted based on a variation between (1) a target QoE score of the media stream provided based on the radio resource usage at the network node for processing the plurality of media streams and (2) an estimated QoE score of the media stream based on the media stream prior to arriving at the network node.
[0085] In some embodiments, determining the radio resource usage at the network node comprises using a utilization measure of physical resource blocks (PRBs) within the network node.
[0086] In some embodiments, determining the radio resource usage at the network node comprises determining an aggregated radio resource usage by the plurality of media streams. In some embodiments, determining the radio resource usage at the network node further comprises identifying a subset of media streams within the plurality of media streams whose individual radio resource usage meets a certain criterion, and wherein the radio resource usage is further based on the individual radio resource usage or an aggregated radio resource usage by the subset of media streams.
[0087] In some embodiments, determining the radio resource usage at the network node further comprises: causing at least one of the subset of media streams to be removed from the network node, or assigning at least one of the subset of media streams with a lower target QoE score.
[0088] In some embodiments, assigning the corresponding plurality of target QoE scores to the plurality of media streams is further based on a QoE policy. In some embodiments, the QoE policy comprises one of: maximizing a sum of target QoE scores of the plurality of media streams, providing a same target QoE score to the plurality of media streams, or providing a plurality of tiers of target QoE scores each corresponding to a priority tier of corresponding media streams.
[0089] In some embodiments, the estimated QoE score of the media stream is obtained based on comparing a number of media frames within the media stream prior to being encoded by a corresponding server and after being encoded by the corresponding server. In some embodiments, comparing the number of media frames within the media stream is performed after the number of media frames have been scaled to a particular resolution.
[0090] In some embodiments, the estimated QoE score of the media stream is obtained based on determining one or more statistic metrics of a number of media frames within the media stream prior to or after being encoded by a corresponding server.
[0091] In some embodiments, adjusting the one or more media encoding parameters is performed based on a media frame bitrate and QoE relationship.
[0092] In some embodiments, each of the target QoE score and estimated QoE score of the media stream is a value within a same range of values indicating relative end-user viewing experience of the media stream. In some embodiments, wherein the same range of values is in one of Likert scales, a Constant Rate Factor (CRF) range, a Mean Opinion Score (MOS) range, or a Video Multimethod Assessment Fusion (VMAF) range.Devices and Environments for Embodiments of the Invention
[0093] Figure 6 illustrates an electronic device to allocate radio resources based on Quality of Experience (QoE) per some embodiments. The electronic device may be a host in a cloud system (e.g., host 716), or a network node in a wireless network (e.g. wireless network 190) in some embodiments, and the operating environment and further embodiments the host and the network node are discussed in more details herein below relating to Figures 7 to 10. The electronic device 602 may be implemented using custom application specific integrated circuits (ASICs) as processors and a special-purpose operating system (OS), or common off-the-shelf (COTS) processors and a standard OS.In some embodiments, the electronic device 602 implements QoE traffic manager 102 discussed herein.
[0094] The electronic device 602 includes hardware 640 comprising a set of one or more processors 642 (which are typically COTS processors or processor cores or ASICs) and physical NIs 646, as well as non-transitory machine-readable storage media 649 having stored therein software 650. During operation, the one or more processors 642 may execute the software 650 to instantiate one or more sets of one or more applications 664A-R. While one embodiment does not implement virtualization, alternative embodiments may use different forms of virtualization. For example, in one such alternative embodiment, the virtualization layer 654 represents the kernel of an operating system (or a shim executing on a base operating system) that allows for the creation of multiple instances 662A-R called software containers that may each be used to execute one (or more) of the sets of applications 664A-R. The multiple software containers (also called virtualization engines, virtual private servers, or jails) are user spaces (typically a virtual memory space) that are separate from each other and separate from the kernel space in which the operating system is run. The set of applications running in a given user space, unless explicitly allowed, cannot access the memory of the other processes. In another such alternative embodiment, the virtualization layer 654 represents a hypervisor (sometimes referred to as a virtual machine monitor (VMM)) or a hypervisor executing on top of a host operating system, and each of the sets of applications 664A-R run on top of a guest operating system within an instance 662A-R called a virtual machine (which may in some cases be considered a tightly isolated form of software container) that run on top of the hypervisor - the guest operating system and application may not know that they are running on a virtual machine as opposed to running on a “bare metal” host electronic device, or through para-virtualization the operating system and / or application may be aware of the presence of virtualization for optimization purposes. In yet other alternative embodiments, one, some, or all of the applications are implemented as unikernel(s), which can be generated by compiling directly with an application only a limited set of libraries (e.g., from a library / operating system (LibOS) including drivers / libraries of OS services) that provide the particular OS sendees needed by the application. As a unikernel can be implemented to run directly on hardware 640, directly on a hypervisor (in which case the unikemel is sometimes described as running within a LibOS virtual machine), or in a software container, embodiments can be implemented fully with unikernels running directly on a hypervisor represented by virtualization layer 654, unikernels running withinsoftware containers represented by instances 662A-R, or as a combination of unikernels and the above-described techniques (e.g., unikemels and virtual machines both run directly on a hypervisor, unikemels, and sets of applications that are run in different software containers).
[0095] The software 650 contains QoE traffic manager 102 that performs operations described with reference to operations as discussed relating to Figures 1 to 3. QoE traffic manager 102 may be instantiated within the applications 664 A-R. The instantiation of the one or more sets of one or more applications 664A-R, as well as virtualization if implemented, are collectively referred to as software instance(s) 652. Each set of applications 664A-R, corresponding virtualization construct (e.g., instance 662A-R) if implemented, and that part of the hardware 640 that executes them (be it hardware dedicated to that execution and / or time slices of hardware temporally shared), forms a separate virtual electronic device 660 A-R.
[0096] A network interface (NI) may be physical or virtual. In the context of Internet Protocol (IP), an interface address is an IP address assigned to an NI, be it a physical NI or virtual NI. A virtual NI may be associated with a physical NI, with another virtual interface, or stand on its own (e.g., a loopback interface, a point-to-point protocol interface). ANI (physical or virtual) may be numbered (a NI with an IP address) or unnumbered (a NI without an IP address). The NI is shown as network interface card (NIC) 644. The physical network interface 646 may include one or more antenna of the electronic device 602. An antenna port may or may not correspond to a physical antenna. The antenna comprises one or more radio interfaces.A Wireless Network per Some Embodiments
[0097] Figure 7 shows an example of a communication system in accordance with some embodiments. In the example, the communication system 700 includes a telecommunication network 702 that includes an access network 704, such as a radio access network (RAN), and a core network 706, which includes one or more core network nodes 708. The access network 704 includes one or more access network nodes, such as network nodes 710A and 710B (one or more of which may be generally referred to as network nodes 710), or any other similar 3rdGeneration Partnership Project (3GPP) access nodes or non-3GPP access points. Moreover, as will be appreciated by those of skill in the art, a network node is not necessarily limited to an implementation in which a radio portion and a baseband portion are supplied and integrated by a single vendor. Thus, it will be understood that network nodes include disaggregated implementations orportions thereof. For example, in some embodiments, the telecommunication network 702 includes one or more Open-RAN (ORAN) network nodes. An ORAN network node is a node in the telecommunication network 702 that supports an ORAN specification (e.g., a specification published by the O-RAN Alliance, or any similar organization) and may operate alone or together with other nodes to implement one or more functionalities of any node in the telecommunication network 702, including one or more network nodes 710 and / or core network nodes 708.
[0098] Examples of an ORAN network node include an open radio unit (O-RU), an open distributed unit (O-DU), an open central unit (O-CU), including an O-CU control plane (O-CU-CP) or an O-CU user plane (O-CU-UP), a RAN intelligent controller (near- real time or non-real time) hosting software or software plug-ins, such as a near-real time control application (e.g., xApp) or a non-real time control application (e.g., rApp), or any combination thereof (the adjective “open” designating support of an ORAN specification). The network node may support a specification by, for example, supporting an interface defined by the ORAN specification, such as an Al, Fl, Wl, El, E2, X2, Xn interface, an open fronthaul user plane interface, or an open fronthaul management plane interface. Moreover, an ORAN access node may be a logical node in a physical node. Furthermore, an ORAN network node may be implemented in a virtualization environment (described further below) in which one or more network functions are virtualized. For example, the virtualization environment may include an O-Cloud computing platform orchestrated by a Service Management and Orchestration Framework via an O-2 interface defined by the O-RAN Alliance or comparable technologies. The network nodes 710 facilitate direct or indirect connection of user equipment (UE), such as by connecting UEs 712A, 712B, 712C, and 712D (one or more of which may be generally referred to as UEs 712) to the core network 706 over one or more wireless connections.
[0099] 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 700 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 700 may include and / orinterface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.
[0100] The UEs 712 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 710 and other communication devices. Similarly, the network nodes 710 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs 712 and / or with other network nodes or equipment in the telecommunication network 702 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 702.
[0101] In the depicted example, the core network 706 connects the network nodes 710 to one or more host computing systems, such as host 716. 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 706 includes one more core network nodes (e.g., core network node 708) 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 708. 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 Deconcealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and / or a User Plane Function (UPF).
[0102] The host 716 may be under the ownership or control of a service provider other than an operator or provider of the access network 704 and / or the telecommunication network 702. The host 716 may host a variety of applications to provide one or more services. Examples of such applications include live and pre-recorded audio / video content, data collection services such as 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.
[0103] As a whole, the communication system 700 of Figure 7 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system maybe 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.
[0104] In some examples, the telecommunication network 702 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunication network 702 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network 702. For example, the telecommunication network 702 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)ZMassive loT services to yet further UEs.
[0105] In some examples, the UEs 712 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 704 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network 704. 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).
[0106] In the example, the hub 714 communicates with the access network 704 to facilitate indirect communication between one or more UEs (e.g., UE 712C and / or 712D) and network nodes (e.g., network node 710B). In some examples, the hub 714 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub 714 may be a broadband router enabling access to the core network 706 for the UEs. As another example, the hub 714 may be a controller that sends commands or instructions to one or more actuators in theUEs. Commands or instructions may be received from the UEs, network nodes 710, or by executable code, script, process, or other instructions in the hub 714. As another example, the hub 714 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 714 may be a content source. For example, for a UE that is a VR device, display, loudspeaker, or other media delivery device, the hub 714 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub 714 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub 714 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy loT devices.
[0107] The hub 714 may have a constant / persistent or intermittent connection to the network node 710B. The hub 714 may also allow for a different communication scheme and / or schedule between the hub 714 and UEs (e.g., UE 712C and / or 712D), and between the hub 714 and the core network 706. In other examples, the hub 714 is connected to the core network 706 and / or one or more UEs via a wired connection. Moreover, the hub 714 may be configured to connect to an M2M service provider over the access network 704 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes 710 while still connected via the hub 714 via a wired or wireless connection. In some embodiments, the hub 714 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 710B. In other embodiments, the hub 714 may be a nondedicated hub - that is, a device which is capable of operating to route communications between the UEs and network node 710B, but which is additionally capable of operating as a communication start and / or end point for certain data channels.UE per Some Embodiments
[0108] Figure 8 shows a User Equipment (UE) 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 cameras, gaming console or device, music storage / playback device, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop- embedded equipment (LEE), laptop-mounted equipment (LME), an Augmented Reality(AR) or Virtual Reality (VR) device, wireless customer-premise equipment (CPE), vehicle, 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.
[0109] A UE may support device-to-device (D2D) communication, for example by implementing a 3 GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), vehi cl e-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).
[0110] The UE 800 includes processing circuitry 802 that is operatively coupled via a bus 804 to an input / output interface 806, a power source 808, a memory 810, a communication interface 812, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in Figure 8. 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.
[0111] The processing circuitry 802 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 810. The processing circuitry 802 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 802 may include multiple central processing units (CPUs).
[0112] In the example, the input / output interface 806 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / oroutput 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 800. 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.
[0113] In some embodiments, the power source 808 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 808 may further include power circuitry for delivering power from the power source 808 itself, and / or an external power source, to the various parts of the UE 800 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source 808. Power circuitry may perform any formatting, converting, or other modification to the power from the power source 808 to make the power suitable for the respective components of the UE 800 to which power is supplied.
[0114] The memory 810 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 810 includes one or more application programs 814, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data 816. The memory 810 may store, for use by the UE 800, any of a variety of various operating systems or combinations of operating systems.
[0115] The memory 810 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flashdrive, 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 inline 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 810 may allow the UE 800 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 810, which may be or comprise a device-readable storage medium.
[0116] The processing circuitry 802 may be configured to communicate with an access network or other network using the communication interface 812. The communication interface 812 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna 822. The communication interface 812 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 818 and / or a receiver 820 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter 818 and receiver 820 may be coupled to one or more antennas (e.g., antenna 822) and may share circuit components, software or firmware, or alternatively be implemented separately.
[0117] In the illustrated embodiment, communication functions of the communication interface 812 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.
[0118] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface 812, 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).
[0119] 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 to a robotic arm performing a medical procedure according to the received input.
[0120] AUE, when in the form of an Internet of Things (loT) 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 loT device are a device which is or which is 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 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 loT device comprises circuitry and / or software in dependence of the intended application of the loTdevice in addition to other components as described in relation to the UE 800 shown in Figure 8.
[0121] As yet another specific example, in an loT 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 3 GPP 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.
[0122] 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.Network Node per Some Embodiments
[0123] Figure 9 shows a network node 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)), 0-RAN nodes or components of an 0-RAN node (e.g., 0-RU, 0-DU, O-CU).
[0124] 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. Abase 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, distributedunits (e.g., in an O-RAN access node) 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).
[0125] 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).
[0126] The network node 900 includes a processing circuitry 902, a memory 904, a communication interface 906, and a power source 908. The network node 900 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 900 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 900 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory 904 for different RATs) and some components may be reused (e.g., a same antenna 910 may be shared by different RATs). The network node 900 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node 900, 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 900.
[0127] The processing circuitry 902 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 / orencoded logic operable to provide, either alone or in conjunction with other network node 900 components, such as the memory 904, to provide network node 900 functionality.
[0128] In some embodiments, the processing circuitry 902 includes a system on a chip (SOC). In some embodiments, the processing circuitry 902 includes one or more of radio frequency (RF) transceiver circuitry 912 and baseband processing circuitry 914. In some embodiments, the radio frequency (RF) transceiver circuitry 912 and the baseband processing circuitry 914 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 912 and baseband processing circuitry 914 may be on the same chip or set of chips, boards, or units.
[0129] The memory 904 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 902. The memory 904 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 902 and utilized by the network node 900. The memory 904 may be used to store any calculations made by the processing circuitry 902 and / or any data received via the communication interface 906. In some embodiments, the processing circuitry 902 and memory 904 is integrated.
[0130] The communication interface 906 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 906 comprises port(s) / terminal(s) 916 to send and receive data, for example to and from a network over a wired connection. The communication interface 906 also includes radio front-end circuitry 918 that may be coupled to, or in certain embodiments a part of, the antenna 910. Radio front-end circuitry 918 comprises filters 920 and amplifiers 922. The radio front-end circuitry 918 may be connected to an antenna 910 and processing circuitry 902. The radio front-end circuitry may be configured to condition signals communicated between antenna 910 and processing circuitry 902. The radio front-end circuitry 918 may receive digital data that isto be sent out to other network nodes or UEs via a wireless connection. The radio frontend circuitry 918 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters 920 and / or amplifiers 922. The radio signal may then be transmitted via the antenna 910. Similarly, when receiving data, the antenna 910 may collect radio signals which are then converted into digital data by the radio front-end circuitry 918. The digital data may be passed to the processing circuitry 902. In other embodiments, the communication interface may comprise different components and / or different combinations of components.
[0131] In certain alternative embodiments, the network node 900 does not include separate radio front-end circuitry 918, instead, the processing circuitry 902 includes radio front-end circuitry and is connected to the antenna 910. Similarly, in some embodiments, all or some of the RF transceiver circuitry 912 is part of the communication interface 906. In still other embodiments, the communication interface 906 includes one or more ports or terminals 916, the radio front-end circuitry 918, and the RF transceiver circuitry 912, as part of a radio unit (not shown), and the communication interface 906 communicates with the baseband processing circuitry 914, which is part of a digital unit (not shown).
[0132] The antenna 910 may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna 910 may be coupled to the radio front-end circuitry 918 and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna 910 is separate from the network node 900 and connectable to the network node 900 through an interface or port.
[0133] The antenna 910, communication interface 906, and / or the processing circuitry 902 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 910, the communication interface 906, and / or the processing circuitry 902 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.
[0134] The power source 908 provides power to the various components of network node 900 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source 908 may furthercomprise, or be coupled to, power management circuitry to supply the components of the network node 900 with power for performing the functionality described herein. For example, the network node 900 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 908. As a further example, the power source 908 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.
[0135] Embodiments of the network node 900 may include additional components beyond those shown in Figure 9 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 900 may include user interface equipment to allow input of information into the network node 900 and to allow output of information from the network node 900. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node 900. In some embodiments providing a core network node, such as core network node 708 of FIG. 7, some components, such as the radio front-end circuitry 918 and the RF transceiver circuitry 912 may be omitted.Virtualization Environment per Some Embodiments
[0136] Figure 10 is a block diagram illustrating a virtualization environment 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 1000 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. In some embodiments, the virtualization environment 1000 includes components defined by the O-RAN Alliance, such as an O-Cloud environment orchestrated by a Service Management and Orchestration Framework via an O-2interface. Virtualization may facilitate distributed implementations of a network node, UE, core network node, or host.
[0137] Applications 1002 (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.
[0138] Hardware 1004 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 1006 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs 1008 A and 1008B (one or more of which may be generally referred to as VMs 1008), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer 1006 may present a virtual operating platform that appears like networking hardware to the VMs 1008.
[0139] The VMs 1008 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer 1006. Different embodiments of the instance of a virtual appliance 1002 may be implemented on one or more of VMs 1008, 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.
[0140] In the context of NFV, a VM 1008 may be a software implementation of a physical machine that runs programs as if they were being executed on a physical, nonvirtualized machine. Each of the VMs 1008, and that part of hardware 1004 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 1008 on top of the hardware 1004 and corresponds to the application 1002.
[0141] Hardware 1004 may be implemented in a standalone network node with generic or specific components. Hardware 1004 may implement some functions viavirtualization. Alternatively, hardware 1004 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 1010, which, among others, oversees lifecycle management of applications 1002. In some embodiments, hardware 1004 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 1012 which may alternatively be used for communication between hardware nodes and radio units.
[0142] Although the computing devices described herein (e.g., UEs, network nodes) 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.
[0143] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which incertain 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 functionalities 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.Terms
[0144] An electronic device stores and transmits (internally and / or with other electronic devices over a network) code (which is composed of software instructions and which is sometimes referred to as a computer program code or a computer program) and / or data using machine-readable media (also called computer-readable media), such as machine-readable storage media (e.g., magnetic disks, optical disks, solid state drives, read only memory (ROM), flash memory devices, phase change memory) and machine- readable transmission media (also called a carrier) (e.g., electrical, optical, radio, acoustical, or other form of propagated signals - such as carrier waves, infrared signals). Thus, an electronic device (e.g., a computer) includes hardware and software, such as a set of one or more processors (e.g., of which a processor is a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application specific integrated circuit (ASIC), field programmable gate array (FPGA), other electronic circuitry, or a combination of one or more of the preceding) coupled to one or more machine-readable storage media to store code for execution on the set of processors and / or to store data. For instance, an electronic device may include non-volatile memory containing the code since the non-volatile memory can persist code / data even when the electronic device is turned off (when power is removed). When the electronic device is turned on, that part of the code that is to be executed by the processor(s) of the electronic device is typically copied from the slower non-volatile memory into volatile memory (e.g., dynamic random-access memory (DRAM), static random-access memory (SRAM)) of the electronic device. Typical electronic devices also include a set of one or more physical network interface(s) (NI(s)) to establish network connections (to transmit and / or receive code and / or data using propagating signals) with other electronic devices. Forexample, the set of physical NIs (or the set of physical NI(s) in combination with the set of processors executing code) may perform any formatting, coding, or translating to allow the electronic device to send and receive data whether over a wired and / or a wireless connection. In some embodiments, a physical NI may comprise radio circuitry capable of (1) receiving data from other electronic devices over a wireless connection and / or (2) sending data out to other devices through a wireless connection. This radio circuitry may include transmitter(s), receiver(s), and / or transceiver s) suitable for radio frequency communication. The radio circuitry may convert digital data into a radio signal having the proper parameters (e.g., frequency, timing, channel, bandwidth, and so forth). The radio signal may then be transmitted through antennas to the appropriate recipient(s). In some embodiments, the set of physical NI(s) may comprise network interface controller(s) (NICs), also known as a network interface card, network adapter, or local area network (LAN) adapter. The NIC(s) may facilitate in connecting the electronic device to other electronic devices allowing them to communicate with wire through plugging in a cable to a physical port connected to an NIC. One or more parts of an embodiment of the invention may be implemented using different combinations of software, firmware, and / or hardware.
[0145] A network node is an electronic device that communicatively interconnects other electronic devices on the network (e.g., other network devices, end-user devices). Some network devices are “multiple services network devices” that provide support for multiple networking functions (e.g., routing, bridging, switching, Layer 2 aggregation, session border control, Quality of Service, and / or subscriber management), and / or provide support for multiple application services (e.g., data, voice, and video). Similarly, a control plane device (e.g., a COTS control plane device) is also an electronic device.
[0146] The terms “module,” “logic,” and “unit” used in the present application, may refer to a circuit for performing the function specified. In some embodiments, the function specified may be performed by a circuit in combination with software such as by software executed by a general-purpose processor.
[0147] Any appropriate steps, methods, features, functions, or benefits disclosed herein may be performed through one or more functional units or modules of one or more virtual apparatuses. Each virtual apparatus may comprise a number of these functional units. These functional units may be implemented via processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and thelike. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory (RAM), cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and / or data communications protocols as well as instructions for carrying out one or more of the techniques described herein. In some implementations, the processing circuitry may be used to cause the respective functional unit to perform corresponding functions according to one or more embodiments of the present disclosure.
[0148] The term unit may have conventional meaning in the field of electronics, electrical devices, and / or electronic devices and may include, for example, electrical and / or electronic circuitry, devices, modules, processors, memories, logic solid state and / or discrete devices, computer programs or instructions for carrying out respective tasks, procedures, computations, outputs, and / or displaying functions, and so on, as such as those that are described herein.EMBODIMENTS1. A method to allocate resources of a wireless network, comprising: determining radio resource usage at a network node of the wireless network, wherein the network node processes a plurality of media streams, and wherein the plurality of media streams are encoded at one or more servers prior to arriving at the network node; assigning a corresponding plurality of target quality of experience (QoE) scores to the plurality of media streams based on the radio resource usage at the network node for processing the plurality of media streams; and providing each of the corresponding plurality of target QoE scores to the one or more servers for encoding one media stream of the plurality of media streams, wherein for a media stream of the plurality of media streams, one or more media encoding parameters of an encoder of a corresponding server are adjusted based on a variation between: a target QoE score of the media stream provided based on the radio resource usage at the network node for processing the plurality of media streams, andan estimated QoE score of the media stream based on the media stream prior to arriving at the network node.2. The method of embodiment 1, wherein determining the radio resource usage at the network node comprises using a utilization measure of physical resource blocks (PRBs).3. The method of embodiment 1, wherein determining the radio resource usage at the network node comprises determining an aggregated radio resource usage by the plurality of media streams.4. The method of embodiment 3, wherein determining the radio resource usage at the network node further comprises: identifying a subset of media streams within the plurality of media streams whose individual radio resource usage meets a certain criterion, wherein the radio resource usage is based on an aggregated radio resource usage by the subset of media streams.5. The method of embodiment 4, wherein determining the radio resource usage at the network node further comprises: causing at least one of the subset of media streams to be removed from the network node, or providing at least one of the subset of media streams with a lower target QoE score.6. The method of embodiment 1, wherein assigning the corresponding plurality of target QoE scores to the plurality of media streams is further based on a QoE policy.7. The method of embodiment 6, wherein the QoE policy comprises one of: maximizing a sum of target QoE scores of the plurality of media streams, providing a same target QoE score to the plurality of media streams, or providing a plurality of tiers of target QoE scores each corresponding to a priority tier of corresponding media streams.8. The method of embodiment 1, wherein the estimated QoE score of the media stream is obtained based on comparing a number of media frames within the media stream prior to being encoded by a corresponding server and after being encoded by the corresponding server.9. The method of embodiment 8, wherein comparing the number of media frames within the media stream is performed after the number of media frames have been scaled to a particular resolution.10. The method of embodiment 1, wherein the estimated QoE score of the media stream is obtained based on determining one or more statistic metrics of a number of media frames within the media stream prior to or after being encoded by a corresponding server.11. The method of embodiment 1, wherein adjusting the one or more media encoding parameters is performed based on a media frame bitrate and QoE relationship curve.12. The method of embodiment 1, wherein each of the target QoE score and estimated QoE score of the media stream is a value within a same range of values indicating relative end-user viewing experience of the media stream.13. The method of embodiment 12, wherein the same range of values is in one of Likert scales, a Constant Rate Factor (CRF) range, a Mean Opinion Score (MOS) range, or a Video Multimethod Assessment Fusion (VMAF) range.14. An electronic device, comprising: a processor and machine-readable storage medium that provides instructions that, when executed by the processor, are capable of causing the processor to perform methods 1 to 13.15. A machine-readable storage medium that provides instructions that, when executed by a processor, are capable of causing the processor to perform any of methods 1 to 13.
Claims
CLAIMSWhat is claimed is:
1. A method to allocate resources in a wireless network, comprising: determining (502) radio resource usage at a network node of the wireless network, wherein the network node processes a plurality of media streams, and wherein the plurality of media streams are encoded at one or more servers prior to arriving at the network node; assigning (504) a corresponding plurality of target quality of experience (QoE) scores to the plurality of media streams based on the radio resource usage at the network node for processing the plurality of media streams; and providing (506) each of the corresponding plurality of target QoE scores to the one or more servers for encoding one media stream of the plurality of media streams, wherein for a media stream of the plurality of media streams, one or more media encoding parameters of an encoder of a corresponding server are adjusted based on a variation between: a target QoE score of the media stream provided based on the radio resource usage at the network node for processing the plurality of media streams, and an estimated QoE score of the media stream based on the media stream prior to arriving at the network node.
2. The method of claim 1, wherein determining the radio resource usage at the network node comprises using a utilization measure of physical resource blocks (PRBs) within the network node.
3. The method of claim 1 or 2, wherein determining the radio resource usage at the network node comprises determining an aggregated radio resource usage by the plurality of media streams.
4. The method of claim 3, wherein determining the radio resource usage at the network node further comprises: identifying a subset of media streams within the plurality of media streams whose individual radio resource usage meets a certain criterion, whereinthe radio resource usage is based on an aggregated radio resource usage by the subset of media streams.
5. The method of claim 4, wherein determining the radio resource usage at the network node further comprises: causing at least one of the subset of media streams to be removed from the network node, or assigning at least one of the subset of media streams with a lower target QoE score.
6. The method of any of claims 1 to 5, wherein assigning the corresponding plurality of target QoE scores to the plurality of media streams is further based on a QoE policy.
7. The method of claim 6, wherein the QoE policy comprises one of: maximizing a sum of target QoE scores of the plurality of media streams, providing a same target QoE score to the plurality of media streams, or providing a plurality of tiers of target QoE scores each corresponding to a priority tier of corresponding media streams.
8. The method of any of claims 1 to 7, wherein the estimated QoE score of the media stream is obtained based on comparing a number of media frames within the media stream prior to being encoded by a corresponding server and after being encoded by the corresponding server.
9. The method of claim 8, wherein comparing the number of media frames within the media stream is performed after the number of media frames have been scaled to a particular resolution.
10. The method of any of claims 1 to 9, wherein the estimated QoE score of the media stream is obtained based on determining one or more statistic metrics of a number of media frames within the media stream prior to or after being encoded by a corresponding server.
11. The method of any of claims 1 to 10, wherein adjusting the one or more media encoding parameters is performed based on a media frame bitrate and QoE relationship.
12. The method of any of claims 1 to 11, wherein each of the target QoE score and the estimated QoE score of the media stream is a value within a same range of values indicating relative end-user viewing experience of the media stream.
13. The method of claim 12, wherein the same range of values is in one of Likert scales, a Constant Rate Factor (CRF) range, a Mean Opinion Score (MOS) range, or a Video Multimethod Assessment Fusion (VMAF) range.
14. An electronic device (602) comprising: a processor (642) and machine-readable storage medium (649) that provides instructions that, when executed by the processor, are capable of causing the processor to perform: determining (502) radio resource usage at a network node of a wireless network, wherein the network node processes a plurality of media streams, and wherein the plurality of media streams are encoded at one or more servers prior to arriving at the network node; assigning (504) a corresponding plurality of target quality of experience (QoE) scores to the plurality of media streams based on the radio resource usage at the network node for processing the plurality of media streams; and providing (506) each of the corresponding plurality of target QoE scores to the one or more servers for encoding one media stream of the plurality of media streams, wherein for a media stream of the plurality of media streams, one or more media encoding parameters of an encoder of a corresponding server are adjusted based on a variation between: a target QoE score of the media stream provided based on the radio resource usage at the network node for processing the plurality of media streams, and an estimated QoE score of the media stream based on the media stream prior to arriving at the network node.
15. The electronic device of claim 14, wherein determining the radio resource usage at the network node comprises using a utilization measure of physical resource blocks (PRBs) within the network node.
16. The electronic device of claim 14 or 15, wherein determining the radio resource usage at the network node comprises determining an aggregated radio resource usage by the plurality of media streams.
17. The electronic device of claim 16, wherein determining the radio resource usage at the network node further comprises: identifying a subset of media streams within the plurality of media streams whose individual radio resource usage meets a certain criterion, wherein the radio resource usage is based on an aggregated radio resource usage by the subset of media streams.
18. The electronic device of claim 17, wherein determining the radio resource usage at the network node further comprises: causing at least one of the subset of media streams to be removed from the network node, or assigning at least one of the subset of media streams with a lower target QoE score.
19. The electronic device of any of claims 14 to 18, wherein assigning the corresponding plurality of target QoE scores to the plurality of media streams is further based on a QoE policy.
20. The electronic device of claim 19, wherein the QoE policy comprises one of: maximizing a sum of target QoE scores of the plurality of media streams, providing a same target QoE score to the plurality of media streams, or providing a plurality of tiers of target QoE scores each corresponding to a priority tier of corresponding media streams.
21. The electronic device of any of claims 14 to 20, wherein the estimated QoE score of the media stream is obtained based on comparing a number of media frames within the media stream prior to being encoded by a corresponding server and after being encoded by the corresponding server.
22. The electronic device of claim 21, wherein comparing the number of media frames within the media stream is performed after the number of media frames have been scaled to a particular resolution.
23. The electronic device of any of claims 14 to 22, wherein the estimated QoE score of the media stream is obtained based on determining one or more statistic metrics of a number of media frames within the media stream prior to or after being encoded by a corresponding server.
24. The electronic device of any of claims 14 to 23, wherein adjusting the one or more media encoding parameters is performed based on a media frame bitrate and QoE relationship.
25. The electronic device of any of claims 14 and 24, wherein each of the target QoE score and the estimated QoE score of the media stream is a value within a same range of values indicating relative end-user viewing experience of the media stream.
26. The electronic device of claim 25, wherein the same range of values is in one of Likert scales, a Constant Rate Factor (CRF) range, a Mean Opinion Score (MOS) range, or a Video Multimethod Assessment Fusion (VMAF) range.
27. A machine-readable storage medium that provides instructions that, when executed by a processor, are capable of causing the processor to perform any of methods 1 to 13.
Citation Information
Patent Citations
Methods and systems for controlling quality of a media session
US20130304934A1
Cited By
Video encoding techniques for low latency applications
US12671731B2
Video encoding techniques for low latency applications
US20260172463A1