Handling a quality of experience model

The method addresses the limitations of existing QoE management techniques by enabling dynamic and portable QoE model handling across distributed networks, enhancing user satisfaction and application performance through efficient information processing.

WO2025087523A1PCT designated stage expired Publication Date: 2025-05-01TELEFONAKTIEBOLAGET LM ERICSSON (PUBL) +1
View PDF 3 Cites 0 Cited by

Patent Information

Application Number
PCT/EP2023/079856
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-10-25
Publication Date
2025-05-01

AI Technical Summary

Technical Problem

Existing techniques for managing quality of experience (QoE) in distributed applications lack dynamicity, portability, and broad applicability, particularly in handling network congestion, user device mobility, data availability, and caching across heterogeneous execution environments.

Method used

A method for handling a QoE model in a network involves initiating the transmission of a message from a network node to a cloud node, requesting storage of the QoE model in a repository accessible by multiple network nodes, allowing for dynamic and portable QoE management across the network.

Benefits of technology

This approach enables efficient and adaptive QoE management by allowing crucial information to be easily obtained and processed across distributed network nodes, improving user satisfaction and application performance.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2023079856_01052025_PF_FP_ABST
    Figure EP2023079856_01052025_PF_FP_ABST
Patent Text Reader

Abstract

There is provided a method for handling a first quality of experience (QoE) model in a network. The method is performed by a first network node. The method comprises initiating (102) transmission of a first message towards a cloud node of the network. The first message comprises the first QoE model and a request for the cloud node to store the first QoE model in a repository of the network. The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application. The repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and a second network node at which a second component of the first application is located.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] HANDLING A QUALITY OF EXPERIENCE MODEL

[0002] Technical Field

[0003] The disclosure relates to methods for handling a quality of experience model and nodes configured to operate in accordance with those methods.

[0004] Background

[0005] There are many potential sources of degraded quality of experience (QoE), especially in the case of a distributed application where components of the application are located in different parts of the network, e.g. in the (core) cloud, edge, and (cellular network connected) user devices. The potential sources of degraded QoE can include network congestion, user device mobility, data availability, and / or caching. Contemporary distributed applications, due to their deployment across an increasingly volatile and heterogeneous execution environment, are required to constantly adapt and relocate their functional components in response to changing network conditions and resource availability.

[0006] For an individual user, the QoE is of principal relevance as it determines user satisfaction with the application in question. For example, a video streaming application that regularly skips frames or encounters stalls will subjectively provide a poor experience for the user. QoE models can be used to estimate the subjective QoE. In general, QoE models are specifically designed to satisfy the requirements of an individual application. Depending on the application, device and infrastructure characteristics, a tailored QoE solution and associated monitoring structure is generally developed, resulting in a variety of ad-hoc solutions that have been widely adopted in the industry. However, this casespecific, static approach lacks the dynamicity, portability, and broad applicability that is needed to be able to supervise a distributed application, particularly when considering that QoE is perceived on the device side, and thus crucial information contributing to QoE optimization is not easily obtained in a portable manner.

[0007] Additionally, the lack of a standardized, programmable metric-gathering and QoE processing solution at the device side results in an incomplete picture or excessive complexity when attempting to optimize a service-driven application across the cloud, distributed edge, and a plethora of different devices.

[0008] Summary

[0009] It is an object of the disclosure to obviate or eliminate at least some of the abovedescribed disadvantages associated with existing techniques.

[0010] Therefore, according to an aspect of the disclosure, there is provided a first method for handling a first quality of experience (QoE) model in a network. The first method is performed by a first network node of the network. The first method comprises initiating transmission of a first message towards a cloud node of the network. The first message comprises the first QoE model and a request for the cloud node to store the first QoE model in a repository of the network. The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application. The repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and a second network node at which a second component of the first application is located.

[0011] According to another aspect of the disclosure, there is provided a second method for handling a first QoE model in a network. The second method is performed by a cloud node of the network. The second method comprises initiating storage of the first QoE model in a repository of the network in response to receiving, from a first network node of the network, a first message comprising the first QoE model and a request for the cloud node to store the first QoE model in the repository. The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application. The repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and a second network node at which a second component of the first application is located.

[0012] According to another aspect of the disclosure, there is provided a third method for handling a first QoE model in a network. The third method is performed by a cloud node of the network. The third method comprises initiating transmission, towards a second network node of the network, of a second message comprising a first QoE model stored in a repository of the network. The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application. The repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and the second network node at which a second component of the first application is located.

[0013] According to another aspect of the disclosure, there is provided a fourth method for handling a first QoE model in a network. The fourth method is performed by a repository of the network. The fourth method comprises storing the first QoE model in the repository in response to a cloud node of the network initiating storage of the first QoE in the repository. The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application. The repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and a second network node at which a second component of the first application is located.

[0014] According to another aspect of the disclosure, there is provided a fifth method for handling a first QoE model in a network. The fifth method is performed by a second network node of the network. The fifth method comprises receiving, from a cloud node of the network, a second message comprising a first QoE model stored in a repository of the network. The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application. The repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and the second network node at which a second component of the first application is located.

[0015] According to another aspect of the disclosure, there is provided a method performed by a system. The method performed by the system comprises any two or more of the first method, the second method, the third method, the fourth method, and the fifth method.

[0016] According to another aspect of the disclosure, there is provided a first network node comprising processing circuitry configured to cause the first network node to perform the first method. In some embodiments, the first network node may comprise at least one memory for storing instructions which, when executed by the processing circuitry, cause the first network node to perform the first method.

[0017] According to another aspect of the disclosure, there is provided a cloud node comprising processing circuitry configured to cause the cloud node to perform the second method and / or the third method. In some embodiments, the cloud node may comprise at least one memory for storing instructions which, when executed by the processing circuitry, cause the cloud node to perform the second method and / or the third method.

[0018] According to another aspect of the disclosure, there is provided a repository configured to perform the fourth method.

[0019] According to another aspect of the disclosure, there is provided a second network node comprising processing circuitry configured to cause the second network node to perform the fifth method. In some embodiments, the second network node may comprise at least one memory for storing instructions which, when executed by the processing circuitry, cause the second network node to perform the fifth method.

[0020] According to another aspect of the disclosure, there is provided a system. The system comprises any two or more of the first network node, the cloud node, the repository, and the second network node.

[0021] According to another aspect of the disclosure, there is provided a computer program comprising instructions which, when executed by processing circuitry, cause the processing circuitry to perform any one or more of the first method, the second method, the third method, the fourth method, and the fifth method.

[0022] According to another aspect of the disclosure, there is provided a computer program product, embodied on a non-transitory machine-readable medium, comprising instructions which are executable by processing circuitry to cause the processing circuitry to perform the first method, the second method, the third method, the fourth method, and the fifth method.

[0023] Thus, in the manner described above, improved techniques for handling a QoE model are provided. In particular, the manner in which the repository is implemented and accessed means that the repository is portable for it to have broad applicability and that the repository is dynamic since application owners can easily contribute to it. This can be particularly beneficial when a distributed application needs to be supervised as it allows crucial information contributing to QoE optimisation to be easily obtained in a portable manner.

[0024] Brief of the

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

[0026] Figure 1 is a block diagram illustrating a first network node according to an embodiment;

[0027] Figure 2 is a block diagram illustrating a method performed by a first network node according to an embodiment;

[0028] Figure 3 is a block diagram illustrating a cloud node according to an embodiment;

[0029] Figures 4 and 5 are block diagrams illustrating methods performed by a cloud node according to an embodiment;

[0030] Figure 6 is a block diagram illustrating a repository according to an embodiment;

[0031] Figure 7 is a block diagram illustrating a method performed by a repository according to an embodiment;

[0032] Figure 8 is a block diagram illustrating a second network node according to an embodiment;

[0033] Figure 9 is a block diagram illustrating a method performed by a second network node according to an embodiment;

[0034] Figure 10 is a block diagram illustrating a system according to an embodiment;

[0035] Figures 11 and 12 are block diagrams illustrating methods performed by a system according to an embodiment;

[0036] Figure 13 is a block diagram illustrating a first network node according to an embodiment; and

[0037] Figure 14 is a block diagram illustrating a method performed by a system according to an embodiment.

[0038] Detailed Description

[0039] 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.

[0040] Some of the embodiments contemplated herein will now be described more fully with reference to the accompanying drawings. Other embodiments, however, are contained within the scope of the subject-matter disclosed herein, the disclosed subject-matter should not be construed as limited to only the embodiments set forth herein; rather, these embodiments are provided by way of example to convey the scope of the subject-matter to those skilled in the art.

[0041] As mentioned earlier, there are described herein improved techniques for handling a quality of experience (QoE) model in a network. The QoE model referred to herein can be any model that can be used (e.g. applied to data) to determine a QoE metric indicative of a quality experienced by a network node using an application. The model referred to herein may, for example, be a function, a calculation, or an equation. It will therefore be understood that the terms QoE model, QoE function, QoE calculation, and QoE equation can be used interchangeably herein.

[0042] The network referred to herein can be any type of network. For example, the network referred to herein may be a communications or telecommunications network, e.g. a cellular network. In some embodiments, the network referred to herein can be a mobile network, such as a fifth generation (5G) mobile network, a sixth generation (6G) mobile network, or any other generation mobile network. In some embodiments, the network referred to herein can be a core network (e.g. a 5G core (5GC) network) or a radio access network (RAN). In some embodiments, the network referred to herein can be a local network, such as a local area network (LAN). In some embodiments, the network referred to herein may be a content delivery network (CDN). In some embodiments, the network referred to herein may be a software defined network (SDN). In some embodiments, the network referred to herein can be a fog computing environment or an edge computing environment. Thus, the network may also be referred to generally as an environment. In some embodiments, the network referred to herein can be a virtual network or an at least partially virtual network. Although some examples have been provided for the type of network referred to herein, it will be understood that the network referred to herein can be any other type of network.

[0043] Herein, the term “initiate” can mean cause or establish. Thus, any reference to a node “initiating transmission” will be understood to mean that the node (e.g. processing circuitry of the node) can be configured to itself transmit (e.g. via a communications interface of the node) or can be configured to cause another node to transmit.

[0044] The techniques described herein can be implemented by a first network node, a cloud node, a repository, and a second network node.

[0045] Figure 1 illustrates a first network node 10 of a network in accordance with an embodiment. The first network node 10 is for handling a first QoE model in the network. In some embodiments, the first network node 10 referred to herein can referto equipment capable, configured, arranged and / or operable to communicate directly or indirectly with the cloud node referred to herein, the repository referred to herein, the second network node referred to herein, and / or with other nodes or equipment to enable and / or to perform the functionality described herein. In some embodiments, the first network node 10 referred to herein can, for example, be a physical node (e.g. a physical machine) or a virtual node (e.g. a virtual machine, VM).

[0046] In some embodiments, the first network node 10 referred to herein can be a client node, such as a wireless device. As used herein, the term wireless device can refer to a device capable, configured, arranged and / or operable to communicate wirelessly with one or more network nodes and / or one or more other wireless devices. Communicating wirelessly may involve transmitting and / or receiving wireless signals, such as by using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information through air. In some embodiments, a wireless device may be configured to transmit and / or receive information without direct human interaction. For instance, a wireless device may be designed to transmit information on a predetermined schedule, when triggered by an internal or external event, or in response to requests. In some embodiments, the first network node 10 referred to herein may be registered to and / or operated by a user or an end user (Ell). Thus, unless otherwise noted, the term wireless device can be used interchangeably herein with user device, end user device, or user equipment (UE).

[0047] Examples of a wireless device as referred to herein include, but are not limited to, a smart phone, a mobile phone, a cell phone, a voice over IP (VoIP) phone, a wireless local loop phone, a desktop computer, a personal digital assistant (PDA), a wireless camera, a gaming console or device, a music storage device, a playback appliance, a wearable terminal device, a wireless endpoint, a mobile station, a tablet, a laptop, a laptop-embedded equipment (LEE), a laptop-mounted equipment (LME), a smart device, a wireless customer-premise equipment (CPE), a vehicle-mounted wireless terminal device, etc. A wireless device as referred to herein may support device-to-device (D2D) communication, for example, by implementing a third generation partnership project (3GPP) standard for sidelink communication, vehicle-to-vehicle (V2V), vehicle-to- infrastructure (V2I), vehicle-to-everything (V2X) and may in this case be referred to as a D2D communication device.

[0048] As yet another specific example, in an Internet of Things (loT) scenario, a wireless device as referred to herein 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 wireless device and / or a network node. A wireless device as referred to herein may in this case be a machine-to-machine (M2M) device, which may in a 3GPP context be referred to as a machine type communication (MTC) device. As one particular example, a wireless device as referred to herein may be implementing the 3GPP narrow band internet of things (NB-loT) standard. Particular examples of such wireless devices are sensors, metering devices such as power meters, industrial machinery, or home or personal appliances (e.g. refrigerators, televisions, etc), personal wearables (e.g. watches, fitness trackers, etc). In other scenarios, a wireless device as referred to herein may represent a vehicle or other equipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation. A wireless device as referred to herein may represent the endpoint of a wireless connection, in which case the wireless device may be referred to as a wireless terminal. Furthermore, a wireless device as referred to herein may be mobile, in which case it may be referred to as a mobile device or a mobile terminal.

[0049] As illustrated in Figure 1 , the first network node 10 comprises processing circuitry (or logic) 12. The processing circuitry 12 controls the operation of the first network node 10 and can implement the method described herein in respect of the first network node 10. The processing circuitry 12 can be configured or programmed to control the first network node 10 in the manner described herein. The processing circuitry 12 can comprise one or more hardware components, such as one or more processors, one or more processing units, one or more multi-core processors and / or one or more modules. In particular implementations, each of the one or more hardware components can be configured to perform, or is for performing, individual or multiple steps of the method described herein in respect of the first network node 10. In some embodiments, the processing circuitry 12 can be configured to run software to perform the method described herein in respect of the first network node 10. The software may be containerised according to some embodiments. Thus, in some embodiments, the processing circuitry 12 may be configured to run a container to perform the method described herein in respect of the first network node 10.

[0050] Briefly, the processing circuitry 12 of the first network node 10 is configured to initiate transmission of a first message towards a cloud node of the network. The first message comprises the first QoE model and a request for the cloud node to store the first QoE model in a repository of the network. The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application. The repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and a second network node at which a second component of the first application is located.

[0051] As illustrated in Figure 1 , in some embodiments, the first network node 10 may optionally comprise a memory 14. The memory 14 of the first network node 10 can comprise a volatile memory or a non-volatile memory. In some embodiments, the memory 14 of the first network node 10 may comprise a non-transitory media. Examples of the memory 14 of the first network node 10 include, but are not limited to, a random access memory (RAM), a read only memory (ROM), a mass storage media such as a hard disk, a removable storage media such as a compact disk (CD) or a digital versatile disk (DVD), and / or any other memory.

[0052] The processing circuitry 12 of the first network node 10 can be communicatively coupled (e.g. connected) to the memory 14 of the first network node 10. In some embodiments, the memory 14 of the first network node 10 may be for storing program code or instructions which, when executed by the processing circuitry 12 of the first network node 10, cause the first network node 10 to operate in the manner described herein in respect of the first network node 10. For example, in some embodiments, the memory 14 of the first network node 10 may be configured to store program code or instructions that can be executed by the processing circuitry 12 of the first network node 10 to cause the first network node 10 to operate in accordance with the method described herein in respect of the first network node 10. Alternatively or in addition, the memory 14 of the first network node 10 can be configured to store any information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein. The processing circuitry 12 of the first network node 10 may be configured to control the memory 14 of the first network node 10 to store any of the information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.

[0053] In some embodiments, as illustrated in Figure 1 , the first network node 10 may optionally comprise a communications interface 16. The communications interface 16 of the first network node 10 can be communicatively coupled (e.g. connected) to the processing circuitry 12 of the first network node 10 and / or the memory 14 of the first network node 10. The communications interface 16 of the first network node 10 may be operable to allow the processing circuitry 12 of the first network node 10 to communicate with the memory 14 of the first network node 10 and / or vice versa. Similarly, the communications interface 16 of the first network node 10 may be operable to allow the processing circuitry 12 of the first network node 10 to communicate with any one or more nodes (e.g. the cloud node referred to herein, the repository referred to herein, and / or the second network node referred to herein) and / or any other node. The communications interface 16 of the first network node 10 can be configured to transmit and / or receive any of the information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein. In some embodiments, the processing circuitry 12 of the first network node 10 may be configured to control the communications interface 16 of the first network node 10 to transmit and / or receive any of the information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.

[0054] Although the first network node 10 is illustrated in Figure 1 as comprising a single memory 14, it will be appreciated that the first network node 10 may comprise at least one memory (i.e. a single memory or a plurality of memories) 14 that operate in the manner described herein. Similarly, although the first network node 10 is illustrated in Figure 1 as comprising a single communications interface 16, it will be appreciated that the first network node 10 may comprise at least one communications interface (i.e. a single communications interface or a plurality of communications interfaces) 16 that operate in the manner described herein. It will also be appreciated that Figure 1 only shows the components required to illustrate an embodiment of the first network node 10 and, in practical implementations, the first network node 10 may comprise additional or alternative components to those shown.

[0055] Figure 2 illustrates a first method performed by a first network node 10 of a network in accordance with an embodiment. The first method is for handling a QoE model in the network. The first network node 10 described earlier with reference to Figure 1 can be configured to operate in accordance with the first method of Figure 2. The first method can be performed by or under the control of the processing circuitry 12 of the first network node 10 according to some embodiments. With reference to Figure 2, as illustrated at block 102, transmission of a first message is initiated towards a cloud node of the network. More specifically, the first network node 10 (e.g. the processing circuitry 12 of the first network node 10) initiates transmission of the first message (e.g. causes another node to transmit the first message or itself transmits the first message, such as via its communications interface 16). The first message comprises the first QoE model and a request for the cloud node to store the first QoE model in a repository of the network. The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application. The repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and a second network node at which a second component of the first application is located.

[0056] The first component referred to herein can, for example, be a rendering component that renders an output (e.g. a display that displays an output). The second component referred to herein can, for example, be a processing component (such as a processing component that performs computation and / or accesses data).

[0057] In some embodiments, transmission of the first message may be initiated if the first QoE model is not already stored in the repository. Although not illustrated in Figure 2, in some of these embodiments, the first method may comprise initiating transmission, towards the cloud node, of a query as to whether the first QoE model is already stored in the repository and receiving, from the cloud node, a response indicative of whether the first QoE model is already stored in the repository. More specifically, the first network node 10 (e.g. the processing circuitry 12 of the first network node 10) may initiate transmission of the query (e.g. cause another node to transmit the query or itself transmit the query, such as via its communications interface 16) and receive the response (such as via its communications interface 16).

[0058] In some embodiments, the first message may comprise information associated with the first QoE model. For example, the information may comprise one or both of information indicative that the first QoE model is the only QoE model to be applied to determine the first QoE metric and information indicative of data to which the first QoE model is to be applied to determine the first QoE metric. In some embodiments, the data may comprise at least one measurement acquired by a measurement device of the second network node. In some embodiments, the first message may comprise a name given to the model by the first network node (e.g. ‘my QoE model’).

[0059] Figure 3 illustrates a cloud node 20 of a network in accordance with an embodiment. The cloud node 20 is for handling a first QoE model in the network. In some embodiments, the cloud node 20 referred to herein can refer to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with the first network node referred to herein, the repository referred to herein, the second network node referred to herein, and / or with other nodes or equipment to enable and / or to perform the functionality described herein. In some embodiments, the cloud node 20 referred to herein can, for example, be a physical node (e.g. a physical machine) or a virtual node (e.g. a virtual machine, VM). In some embodiments, the cloud node 20 referred to herein can be a server or a datacentre.

[0060] As illustrated in Figure 3, the cloud node 20 comprises processing circuitry (or logic) 22. The processing circuitry 22 controls the operation of the cloud node 20 and can implement the method described herein in respect of the cloud node 20. The processing circuitry 22 can be configured or programmed to control the cloud node 20 in the manner described herein. The processing circuitry 22 can comprise one or more hardware components, such as one or more processors, one or more processing units, one or more multi-core processors and / or one or more modules. In particular implementations, each of the one or more hardware components can be configured to perform, or is for performing, individual or multiple steps of the method described herein in respect of the cloud node 20. In some embodiments, the processing circuitry 22 can be configured to run software to perform the method described herein in respect of the cloud node 20. The software may be containerised according to some embodiments. Thus, in some embodiments, the processing circuitry 22 may be configured to run a container to perform the method described herein in respect of the cloud node 20.

[0061] Briefly, the processing circuitry 22 of the cloud node 20 is configured to initiate storage of the first QoE model in a repository of the network in response to receiving, from a first network node of the network, a first message comprising the first QoE model and a request for the cloud node to store the first QoE model in the repository. Alternatively or in addition, the processing circuitry 22 of the cloud node 20 is configured to initiate transmission, towards a second network node of the network, of a second message comprising a first QoE model stored in a repository of the network. The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application. The repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and a second network node at which a second component of the first application is located.

[0062] As illustrated in Figure 3, in some embodiments, the cloud node 20 may optionally comprise a memory 24. The memory 24 of the cloud node 20 can comprise a volatile memory or a non-volatile memory. In some embodiments, the memory 24 of the cloud node 20 may comprise a non-transitory media. Examples of the memory 24 of the cloud node 20 include, but are not limited to, a random access memory (RAM), a read only memory (ROM), a mass storage media such as a hard disk, a removable storage media such as a compact disk (CD) or a digital versatile disk (DVD), and / or any other memory.

[0063] The processing circuitry 22 of the cloud node 20 can be communicatively coupled (e.g. connected) to the memory 24 of the cloud node 20. In some embodiments, the memory 24 of the cloud node 20 may be for storing program code or instructions which, when executed by the processing circuitry 22 of the cloud node 20, cause the cloud node 20 to operate in the manner described herein in respect of the cloud node 20. For example, in some embodiments, the memory 24 of the cloud node 20 may be configured to store program code or instructions that can be executed by the processing circuitry 22 of the cloud node 20 to cause the cloud node 20 to operate in accordance with the method described herein in respect of the cloud node 20. Alternatively or in addition, the memory 24 of the cloud node 20 can be configured to store any information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein. The processing circuitry 22 of the cloud node 20 may be configured to control the memory 24 of the cloud node 20 to store any of the information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.

[0064] In some embodiments, as illustrated in Figure 3, the cloud node 20 may optionally comprise a communications interface 26. The communications interface 26 of the cloud node 20 can be communicatively coupled (e.g. connected) to the processing circuitry 22 of the cloud node 20 and / or the memory 24 of the cloud node 20. The communications interface 26 of the cloud node 20 may be operable to allow the processing circuitry 22 of the cloud node 20 to communicate with the memory 24 of the cloud node 20 and / or vice versa. Similarly, the communications interface 26 of the cloud node 20 may be operable to allow the processing circuitry 22 of the cloud node 20 to communicate with any one or more nodes (e.g. the first network node referred to herein, the repository referred to herein, and / or the second network node referred to herein) and / or any other node. The communications interface 26 of the cloud node 20 can be configured to transmit and / or receive any of the information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein. In some embodiments, the processing circuitry 22 of the cloud node 20 may be configured to control the communications interface 26 of the cloud node 20 to transmit and / or receive any of the information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.

[0065] Although the cloud node 20 is illustrated in Figure 3 as comprising a single memory 24, it will be appreciated that the cloud node 20 may comprise at least one memory (i.e. a single memory or a plurality of memories) 24 that operate in the manner described herein. Similarly, although the cloud node 20 is illustrated in Figure 3 as comprising a single communications interface 26, it will be appreciated that the cloud node 20 may comprise at least one communications interface (i.e. a single communications interface or a plurality of communications interfaces) 26 that operate in the manner described herein. It will also be appreciated that Figure 3 only shows the components required to illustrate an embodiment of the cloud node 20 and, in practical implementations, the cloud node 20 may comprise additional or alternative components to those shown.

[0066] Figure 4 illustrates a second method performed by a cloud node 20 of a network in accordance with an embodiment. The second method is for handling a QoE model in the network. The cloud node 20 described earlier with reference to Figure 3 can be configured to operate in accordance with the second method of Figure 4. The second method can be performed by or under the control of the processing circuitry 22 of the cloud node 20 according to some embodiments.

[0067] With reference to Figure 4, as illustrated at block 202, storage of the first QoE model is initiated in a repository of the network in response to receiving, from a first network node of the network, a first message comprising the first QoE model and a request for the cloud node to store the first QoE model in the repository. More specifically, the cloud node 20 (e.g. the processing circuitry 22 of the cloud node 20) initiates the storage of the first QoE model in the repository (e.g. causes another node to store the first QoE model in the repository or itself stores the first QoE model in the repository). The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application. The repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and the second network node at which a second component of the first application is located.

[0068] Although not illustrated in Figure 4, in some embodiments, the second method may comprise receiving the first message. More specifically, the cloud node 20 (e.g. the processing circuitry 22 of the cloud node 20) may receive the first message (such as via its communications interface 26). In some embodiments, the first message may be received (e.g. only) if the first QoE model is not already stored in the repository.

[0069] Although not illustrated in Figure 4, in some embodiments, the second method may comprise receiving, from the first network node, a query as to whether the first QoE model is already stored in the repository and initiating transmission, towards the first network node, of a response indicative of whether the first QoE model is already stored in the repository. More specifically, the cloud node 20 (e.g. the processing circuitry 22 of the cloud node 20) may receive the query (such as via its communications interface 26) and initiate transmission of the response (e.g. cause another node to transmit the response or itself transmit the response, such as via its communications interface 26).

[0070] In some embodiments, the first message may comprise information associated with the first QoE model and the second method may comprise initiating storage of the information in the repository with the first QoE model. More specifically, the cloud node 20 (e.g. the processing circuitry 22 of the cloud node 20) may initiate the storage of the information in the repository (e.g. cause another node to store the information in the repository or itself store the information in the repository). The information can, for example, comprise one or both of information indicative that the first QoE model is the only QoE model to be applied to determine the first QoE metric and information indicative of data to which the first QoE model is to be applied to determine the first QoE metric. In some embodiments, the data may comprise at least one measurement acquired by a measurement device of the second network node. In some embodiments, the first message may comprise a name given to the model by the first network node (e.g. ‘my QoE model’).

[0071] Although not illustrated in Figure 4, in some embodiments, the second method may comprise acquiring, from the repository, an (e.g. unique) identifier assigned to the first QoE model by the repository and initiating transmission of the identifier towards the first network node. More specifically, the cloud node 20 (e.g. the processing circuitry 22 of the cloud node 20) may acquire the identifier and initiate transmission of the identifier (e.g. cause another node to transmit the identifier or itself transmit the identifier, such as via its communications interface 16).

[0072] Figure 5 illustrates a third method performed by a cloud node 20 of a network in accordance with an embodiment. The third method is for handling a QoE model in the network. The cloud node 20 described earlier with reference to Figure 3 can be configured to operate in accordance with the third method of Figure 5. The third method can be performed by or under the control of the processing circuitry 22 of the cloud node 20 according to some embodiments.

[0073] With reference to Figure 5, as illustrated at block 204, transmission of a second message is initiated towards a second network node of the network. More specifically, the cloud node 20 (e.g. the processing circuitry 22 of the cloud node 20) initiates transmission of the second message (e.g. causes another node to transmit the second message or itself transmits the second message, such as via its communications interface 26). The second message comprises a first QoE model stored in a repository of the network. The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application. The repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and the second network node at which a second component of the first application is located.

[0074] In some embodiments, the third method may comprise initiating transmission of the second message in response to receiving a third message from the second network node. In some of these embodiments, the third message may comprise a request for the cloud node to provide a QoE model for determining the first QoE metric. In some embodiments, the third method may comprise receiving the third message. More specifically, the cloud node 20 (e.g. the processing circuitry 22 of the cloud node 20) may receive the third message (such as via its communications interface 26).

[0075] Although not illustrated in Figure 5, in some embodiments, the third method may comprise checking whether the second network node has access to data to which the first QoE model is to be applied to determine the first QoE metric. More specifically, the cloud node 20 (e.g. the processing circuitry 22 of the cloud node 20) may check whether the second network node has access to the data. In some of these embodiments, transmission of the second message may be initiated (e.g. only) if the second network node has access to the data.

[0076] Although also not illustrated in Figure 5, in some embodiments, the third method may comprise selecting the first QoE model from a plurality of QoE models stored in the repository. More specifically, the cloud node 20 (e.g. the processing circuitry 22 of the cloud node 20) may perform this selection. In some embodiments, selecting the first QoE model may be based on one or more requirements of the first application and / or data that is available at the second network node.

[0077] Although also not illustrated in Figure 5, in some embodiments, the third method may comprise receiving, from the second network node, a fourth message comprising the determined first QoE metric. More specifically, the cloud node 20 (e.g. the processing circuitry 22 of the cloud node 20) may receive the fourth message (such as via its communications interface 26). In some of these embodiments, the third method may also comprise initiating a relocation of the second component from the second network node to another second network node if, based on the determined first QoS metric, it is determined that the relocation is to be initiated. More specifically, the cloud node 20 (e.g. the processing circuitry 22 of the cloud node 20) may initiate the relocation of the second component (e.g. cause another node to relocate the second component or itself relocate the second component).

[0078] Although also not illustrated in Figure 5, in some embodiments, the third method may comprise acquiring, from the repository, an identifier assigned to the first QoE model by the repository. In some of these embodiments, the second message may comprise the identifier. More specifically, the cloud node 20 (e.g. the processing circuitry 22 of the cloud node 20) may acquire the identifier (such as via its communications interface 26).

[0079] The cloud node 20 (e.g. the processing circuitry 22 of the cloud node 20) can be configured to perform one or both of the second method and the third method.

[0080] Figure 6 illustrates a repository 30 of a network in accordance with an embodiment. The repository 30 is for handling a first QoE model in the network. The repository 30 may also be referred to herein as a QoE repository or QoE model repository. In some embodiments, the repository 30 referred to herein can refer to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with the first network node referred to herein, the cloud node referred to herein, the second network node referred to herein, and / or with other nodes or equipment to enable and / or to perform the functionality described herein. In some embodiments, the repository 30 referred to herein can, for example, be a physical repository or a virtual repository. The repository 30 referred to herein can also be referred to as a database.

[0081] The repository 30 referred to herein can comprise a volatile memory or a non-volatile memory. In some embodiments, the repository 30 referred to herein may comprise a non-transitory media. Examples of the repository 30 referred to herein include, but are not limited to, a random access memory (RAM), a read only memory (ROM), a mass storage media such as a hard disk, a removable storage media such as a compact disk (CD) or a digital versatile disk (DVD), and / or any other memory.

[0082] Briefly, the repository 30 is configured to store the first QoE model in the repository in response to a cloud node of the network initiating storage of the first QoE model in the repository. The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application. The repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and a second network node at which a second component of the first application is located.

[0083] In some embodiments, the repository 30 referred to herein may be located at the cloud node. In other embodiments, the repository 30 referred to herein may be located at the second network node. In some embodiments, the repository 30 referred to herein may be a structured query language (SQL) repository. Figure 7 illustrates a fourth method performed by a repository 30 of a network in accordance with an embodiment. The fourth method is for handling a QoE model in the network. The repository 30 described earlier with reference to Figure 6 can be configured to operate in accordance with the fourth method of Figure 7.

[0084] With reference to Figure 7, as illustrated at block 302, the first QoE model is stored in the repository 30 in response to a cloud node of the network initiating storage of the first QoE model in the repository 30. More specifically, the repository 30 stores the first QoE model. The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application. The repository 30 is accessible, via the cloud node, by the first network node at which a first component of the first application is located and a second network node at which a second component of the first application is located.

[0085] Although not illustrated in Figure 7, in some embodiments, the fourth method may comprise storing, in the repository 30 with the first QoE model, information associated with the first QoE model. More specifically, the repository 30 may store the information. In some embodiments, the information may be stored in response to the cloud node initiating storage of the information in the repository 30. In some embodiments, the information may comprise one or both of information indicative that the first QoE model is the only QoE model to be applied to determine the first QoE metric and information indicative of data to which the first QoE model is to be applied to determine the first QoE metric.

[0086] Although also not illustrated in Figure 7, in some embodiments, the fourth method may comprise assigning an identifier to the first QoE model and providing the identifier to the cloud node. More specifically, the repository 30 may assign the identifier and provide the identifier to the cloud node. For example, in some embodiments, the repository 30 may be a compute node comprising processing circuitry for assigning the identifier and providing the identifier to the cloud node, and also comprising a memory (e.g. database, such as an SQL database or similar) for storing the first QoE model and optionally also the information associated with the first QoE model. In some of these embodiments, the compute node may be configured to run a service that accepts an incoming connection from the first network node and, for example, this service may trigger the processing circuitry to assign the identifier. In other embodiments, the functionality of assigning the identifier and providing the identifier to the cloud node may be provided as a plugin to the repository 30. For example, processing circuitry that is separate to the repository 30 may provide this functionality.

[0087] The identifier referred to herein may, for example, be a unique identifier or a hash. The identifier referred to herein can be used to ensure that each network node is using the correct QoE model. For example, a network node can make sure that a QoE is valid by comparing the identifier obtained from the repository 30 with a known correct identifier. In this way, an additional security feature is provided.

[0088] Figure 8 illustrates a second network node 40 of a network in accordance with an embodiment. The second network node 40 is for handling a first QoE model in the network. In some embodiments, the second network node 40 referred to herein can refer to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with the first network node referred to herein, the cloud node referred to herein, the repository referred to herein, and / or with other nodes or equipment to enable and / or to perform the functionality described herein. In some embodiments, the second network node 40 referred to herein can, for example, be a physical node (e.g. a physical machine) or a virtual node (e.g. a virtual machine, VM).

[0089] In some embodiments, the second network node 40 referred to herein can be an edge node. An edge node is a node located at the edge of the network. The cloud node may communicate with edge devices via such an edge node and, similarly, edge devices may communicate with the cloud node via such an edge node. In some embodiments, the second network node 40 referred to herein can be an access point (AP, such as a radio AP), a gateway, a router, or a base station (BS). Examples of a BS include, but are not limited to, a Node B, an evolved Node B (eNB), or an NR NodeB (gNB). A base station may be categorised based on the amount of coverage it provides (or, stated differently, its transmit power level) and may then also be referred to as a femto base station, a pico base station, a micro base station, or a macro base station.

[0090] As illustrated in Figure 8, the second network node 40 comprises processing circuitry (or logic) 42. The processing circuitry 42 controls the operation of the second network node 40 and can implement the method described herein in respect of the second network node 40. The processing circuitry 42 can be configured or programmed to control the second network node 40 in the manner described herein. The processing circuitry 42 can comprise one or more hardware components, such as one or more processors, one or more processing units, one or more multi-core processors and / or one or more modules. In particular implementations, each of the one or more hardware components can be configured to perform, or is for performing, individual or multiple steps of the method described herein in respect of the second network node 40. In some embodiments, the processing circuitry 42 can be configured to run software to perform the method described herein in respect of the second network node 40. The software may be containerised according to some embodiments. Thus, in some embodiments, the processing circuitry 42 may be configured to run a container to perform the method described herein in respect of the second network node 40.

[0091] Briefly, the processing circuitry 42 of the second network node 40 is configured to receive, from a cloud node of the network, a second message comprising a first QoE model stored in a repository of the network. The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application, The repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and the second network node at which a second component of the first application is located.

[0092] As illustrated in Figure 8, in some embodiments, the second network node 40 may optionally comprise a memory 44. The memory 44 of the second network node 40 can comprise a volatile memory or a non-volatile memory. In some embodiments, the memory 44 of the second network node 40 may comprise a non-transitory media. Examples of the memory 44 of the second network node 40 include, but are not limited to, a random access memory (RAM), a read only memory (ROM), a mass storage media such as a hard disk, a removable storage media such as a compact disk (CD) or a digital versatile disk (DVD), and / or any other memory.

[0093] The processing circuitry 42 of the second network node 40 can be communicatively coupled (e.g. connected) to the memory 44 of the second network node 40. In some embodiments, the memory 44 of the second network node 40 may be for storing program code or instructions which, when executed by the processing circuitry 42 of the second network node 40, cause the second network node 40 to operate in the manner described herein in respect of the second network node 40. For example, in some embodiments, the memory 44 of the second network node 40 may be configured to store program code or instructions that can be executed by the processing circuitry 42 of the second network node 40 to cause the second network node 40 to operate in accordance with the method described herein in respect of the second network node 40. Alternatively or in addition, the memory 44 of the second network node 40 can be configured to store any information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein. The processing circuitry 42 of the second network node 40 may be configured to control the memory 44 of the second network node 40 to store any of the information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.

[0094] In some embodiments, as illustrated in Figure 8, the second network node 40 may optionally comprise a communications interface 46. The communications interface 46 of the second network node 40 can be communicatively coupled (e.g. connected) to the processing circuitry 42 of the second network node 40 and / or the memory 44 of the second network node 40. The communications interface 46 of the second network node 40 may be operable to allow the processing circuitry 42 of the second network node 40 to communicate with the memory 44 of the second network node 40 and / or vice versa. Similarly, the communications interface 46 of the second network node 40 may be operable to allow the processing circuitry 42 of the second network node 40 to communicate with any one or more nodes (e.g. the first network node referred to herein, the cloud node referred to herein, and / or the repository referred to herein) and / or any other node. The communications interface 46 of the second network node 40 can be configured to transmit and / or receive any of the information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein. In some embodiments, the processing circuitry 42 of the second network node 40 may be configured to control the communications interface 46 of the second network node 40 to transmit and / or receive any of the information, data, messages, requests, responses, indications, notifications, signals, or similar, that are described herein.

[0095] Although the second network node 40 is illustrated in Figure 8 as comprising a single memory 44, it will be appreciated that the second network node 40 may comprise at least one memory (i.e. a single memory or a plurality of memories) 44 that operate in the manner described herein. Similarly, although the second network node 40 is illustrated in Figure 8 as comprising a single communications interface 46, it will be appreciated that the second network node 40 may comprise at least one communications interface (i.e. a single communications interface or a plurality of communications interfaces) 46 that operate in the manner described herein. It will also be appreciated that Figure 8 only shows the components required to illustrate an embodiment of the second network node 40 and, in practical implementations, the second network node 40 may comprise additional or alternative components to those shown.

[0096] Figure 9 illustrates a fifth method performed by a second network node 40 of a network in accordance with an embodiment. The fifth method is for handling a QoE model in the network. The second network node 40 described earlier with reference to Figure 8 can be configured to operate in accordance with the fifth method of Figure 9. The fifth method can be performed by or under the control of the processing circuitry 42 of the second network node 40 according to some embodiments.

[0097] With reference to Figure 9, as illustrated at block 402, a second message is received from a cloud node of the network. More specifically, the second network node 40 (e.g. the processing circuitry 42 of the second network node 40) receives the second message (such as via its communications interface 46). The second message comprises a first QoE model stored in a repository of the network. The first QoE model is associated with a first application. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application, The repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and the second network node at which a second component of the first application is located.

[0098] In some embodiments, the fifth method may comprise receiving the second message in response to initiating transmission of a third message towards the cloud node. In some of these embodiments, the third message may comprise a request for the cloud node to provide a QoE model for determining the first QoE metric. Although not illustrated in Figure 9, in some embodiments, the fifth method may comprise initiating transmission of the third message towards the cloud node. More specifically, the second network node 40 (e.g. the processing circuitry 42 of the second network node 40) may initiate transmission of the third message (e.g. cause another node to transmit the third message or itself transmit the third message, such as via its communications interface 46). In some embodiments, the third message may comprise a request for the cloud node to provide a QoE model for determining the first QoE metric.

[0099] In some embodiments, the second message may be received (e.g. only) if the second network node has access to data to which the first QoE model is to be applied to determine the first QoE metric.

[0100] Although not illustrated in Figure 9, in some embodiments, the fifth method may comprise applying the first QoE model to determine the first QoE metric indicative of the quality experienced by the first network node using the first application. More specifically, the second network node 40 (e.g. the processing circuitry 42 of the second network node 40) may apply the first QoE model. In some embodiments, the first QoE model may be applied to data that is local to the second network node and / or that comprises at least one measurement acquired by a measurement device of the second network node.

[0101] Although not illustrated in Figure 9, in some embodiments, the fifth method may comprise initiating transmission of a fourth message towards the cloud node. More specifically, the second network node 40 (e.g. the processing circuitry 42 of the second network node 40) may initiate transmission of the fourth message (e.g. cause another node to transmit the fourth message or itself transmit the fourth message, such as via its communications interface 26). The fourth message comprises the determined first QoE metric.

[0102] The QoE metric referred to herein can be relevant to the user of the first network node 10, since it can capture their experience with the application. The QoE metric referred to herein can also be relevant to the owner of the application or the operator of the network, since they may have service level agreements (SLAs) that they need to uphold and / or may need to distribute (or redistribute) the components of the application in the most efficient and cost-effective way possible.

[0103] In some embodiments, deployment of the application referred to herein may be initiated by an owner of the first and / or second network nodes 10, 40 of the network, or their delegate or administrator, and then the first network node 10 can connect to that deployed application. In other embodiments, the first network node 10 may itself initiate the application referred to herein. The application referred to herein can be any application that has its components distributed across at least two network nodes. The application referred to herein can, for example, be a content delivery application or any other type of application.

[0104] There is also provided a system. The system comprise any two or more of the first network node 10 described herein, the cloud node 20 described herein, the repository 30 described herein, and the second network node 40 described herein. A method performed by the system comprises the method described herein in respect of any two or more of the first network node 10, the cloud node 20, the repository 30, and the second network node 40.

[0105] Figure 10 illustrates a system (or network) according to an embodiment. The system comprises a repository 500, a first network node (e.g. a client node) 502, a cloud node 504, and a plurality of second network nodes (e.g. edge nodes) 506, 508. Although there is one first network node 502 and two second network nodes 506, 508 illustrated in Figure 10, it will be understood that the system may comprise any other number of first network nodes 502 and any other number of second network nodes 506, 508.

[0106] A first QoE model is associated with a first application 516. The first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node 502 using the first application 516. The repository 500 is accessible through the cloud node 504. More specifically, the repository 500 is accessible, via the cloud node 504, by the first network node 502 at which a first component of the first application 516 is located and a second network node 506, 508 at which a second component of the first application 516 is located. The first network node 502, the second network nodes 506, 508, and the repository 500 can communicate with one another via the cloud node 504.

[0107] The repository 500 can store a plurality of QoE models. That is, the repository 500 may store the first QoE model and at least a second QoE model. The second QoE model can be for determining a second QoE metric indicative of a quality experienced by the first network node 502 using a second application. Thus, the repository 500 can also be referred to as a QoE repository or QoE model repository. The repository 500 may be located at the cloud node 504 or at an edge node 506, 508 (or, more generally, at the edge of the network), e.g. depending on the system deployment. The first network node 502 is as described earlier with reference to Figures 1 and 2, the cloud node 504 is as described earlier with reference to Figures 3, 4 and 5, the repository is as described earlier with reference to Figures 6 and 7, and the second network nodes 506, 508 are as described earlier with reference to Figures 8 and 9.

[0108] In more detail, as described earlier, the first network node 502 transmits a first message towards the cloud node 504 and the cloud node 504 receives the first message from the first network node 502 (via the communication link illustrated by arrow 538). The first message comprises the first QoE model and a request for the cloud node 504 to store the first QoE model in the repository 500. The cloud node 504 initiates storage of the first QoE model in the repository 500 in response to receiving the first message from the first network node 502 (via the communication link illustrated by arrow 536). The repository 500 stores the first QoE model in response to the cloud node 504 initiating the storage of the first QoE in the repository 500.

[0109] The cloud node 504 transmits a second message towards a second network node 506, 508 and the second network node 506, 508 receives the second message from the cloud node 504 (via the communication link illustrated by arrows 546, 548, 550). The second message comprises the first QoE model, which is stored in the repository 500. In some embodiments, the cloud node 504 may transmit the second message towards all second network node 506, 508 or towards each second network node 506, 508 at which a component of the first application 516 is located.

[0110] As illustrated in Figure 10, in some embodiments, the cloud node 504 can comprise a message bus 518. Thus, the message bus 518 is at cloud level. However, the message bus 518 may alternatively be at edge node level. Thus, more generally, the message bus 518 can be located at a level in the edge-cloud hierarchy. The repository 500 can be accessible through the message bus 518 of the cloud node 504. As illustrated in Figure 10, the message bus 518 may comprise a queue of messages, i.e. a message queue. The message queue may be accessible to other parties and / or external processes 510 (via the communications link illustrated by arrow 544). The components of the system may communicate with each other through the message queue.

[0111] There can be one or more services deployed at one or both of a first network node 502 and a second network node 506, 508. For example, as illustrated in Figure 10, the services deployed at the first network node 502 may comprise one or both of processing circuitry (e.g. one or more processors) 512 and one or more measurement devices (e.g. one or more probes) 514. Similarly, for example, as illustrated in Figure 10, the services deployed at each of the second network nodes 506, 508 may comprise any one or more of: processing circuitry (e.g. one or more processors) 524, 530, one or more measurement devices (e.g. one or more probes) 526, 532, and one or more cache service 528, 534.

[0112] A measurement device 514 of the first network node 502 may acquire metrics from the first network node 502 on which it is running (i.e. from its host). Similarly, a measurement device 526, 532 of a second network node 506, 508 may acquire metrics from the second network node 506, 508 on which it is running (i.e. from its host). The metrics referred to herein may comprise performance and / or capability metrics. The metrics referred to herein can be (e.g. a stream of) values or any other form of metrics.

[0113] The processing circuitry (e.g. one or more processors) 524, 530 of a second network node 506, 508 may process the metrics acquired by the one or more measurement devices 526, 532 to determine (e.g. compute) a local QoE metric for the second network node 506, 508. The processing circuitry (e.g. one or more processors) 524, 530 of a second network node 506, 508 may publish the QoE metric to the cloud node 504, such as to the message bus 518 of the cloud node. The QoE metric may, for example, be published as a topic. In this way, the cloud node 504 has a view of the performance and / or capability of the second network nodes 506, 508 it is monitoring without needing to access all the metrics associated with each second network node 506, 508. The first network node 502 may operate in the same manner.

[0114] In some embodiments, the cloud node 504 may comprise a coordinator (e.g. an end user service (EUS) coordinator) 520. The message bus 518 can communicate with the coordinator 520 (via the communications link illustrated by arrow 540). The coordinator can support the client-side services.

[0115] In some embodiments, the cloud node 504 may comprise an orchestrator 522. The message bus 518 can communicate with the orchestrator 522 (via the communications link illustrated by arrow 542). The orchestrator 522 can be an external entity. The orchestrator 522 can perform orchestration. In more detail, the orchestrator 522 may observe (or monitor) the performance of application components at the second network nodes 506, 508, such as through their associated QoE metrics (which may be available through the message bus 318). The orchestrator 522 can thus enable a mechanism through which application components may be placed or relocated, e.g. from congested nodes providing a low QoE to those with higher resource availability. The orchestrator 522 may redirect requests from the first network node 502 to a second network node 506, 508 that provides an optimal QoE. In this way, optimisation of QoE can be achieved across all first network nodes 502 (e.g. across all users).

[0116] In the embodiment illustrated in Figure 10, the message bus 518 is located at the cloud level. However, additional message buses can be located at the edge level, e.g. to gather processed data from connected first network nodes. In some of these embodiments, orchestration may be delegated to the edge level to provide additional granularity for the first network node 502 and / or a summary may be returned to the cloud level to balance usage across second network nodes 506, 508. This can provide additional scaling capability to the service and managed applications.

[0117] In some embodiments, one or more of the services illustrated in Figure 10 (e.g. any processing circuitry 512, 524, 530, measurement devices 514, 526, 532, and / or cache services 528, 534) may be containerized, e.g. using a containerisation tool such as Docker. For example, at one or more of the network nodes, the processing circuitry and measurement device may either share the same container or use one container per service, e.g. depending on the level of virtualization and / or number of central processing units (CPUs) at that network node. In some embodiments, deployment of one or more of the services may be achieved using an orchestrator, such as Kubernetes. In some embodiments, one or more of the services may communicate via hypertext transfer protocol (HTTP) requests. In the system illustrated in Figure 10, the deployment is hierarchical. However, other deployments are also possible.

[0118] The components of the system illustrated in Figure 10 enable dynamic device-side metric gathering and QoE processing. Thus, the system illustrated in Figure 10 can be referred to as a self-adaptive monitoring (SAM) system. The system can support composable QoE models in (e.g. hierarchical) distributed infrastructures, such as the edge-cloud continuum. The system can implement a publish-subscribe scheme to disseminate metrics (e.g. processed performance metrics) and partial QoE metrics to enable a distributed QoE service. This is possible both horizontally and vertically. A QoE service may be interacted with from the application 516. New QoE models may be added to the repository 500. The application 516 may specify which QoE model to use and / or which metrics (e.g. performance and / or resource metrics) are required for the QoE model to determine a QoE metric. A determined QoE metric can be used to inform redeployment decision making in order to improve performance.

[0119] The repository 30, 500 referred to herein will now be described in more detail.

[0120] The repository 30, 500 referred to herein can comprise a plurality (e.g. a pool of) QoE models according to some embodiments. For example, in addition to comprising the first QoE model, the repository 30, 500 referred to herein can also comprise at least a second QoE model. As mentioned earlier, the second QoE model can be for determining a second QoE metric indicative of a quality experienced by the first network node 10, 502 using a second application. The QoE models referred to herein can be for classifying the performance and / or capability of different types of application. The system described herein can be deployed to optimize applications whose performance and / or capability depends on different metrics and / or characteristics simply by selecting a suitable model from the repository 30, 500.

[0121] The repository 30, 500 referred to herein may be implemented as either comprising stored QoE models that are executed by a repository application or, more efficiently, by simply storing source code or bytecode along with descriptive metadata that can be retrieved using a simple key before being integrated with the rest of the framework (e.g. at processor service level) and executed (e.g. using a set or adaptive schedule) in order to inform task placement or redeployment.

[0122] In some embodiments, one or more of the QoE models referred to herein may be a function, a calculation, or an equation.

[0123] An example of the formulation of a QoE model adapted for a video streaming use case will now be described. In this example, in order to monitor a video streaming application, the following QoE equation may be used: q(r;) = a±* log (a2* (^ / r^ )). where rtrepresents a specific bitrate level, L represents the number of levels, and c^and a2represent experimentally derived constants. This can be developed into a the following QoE model (or QoE function): where K represents the number of video segments, k represents the number of the particular video segment (from 1 to K) currently being considered, q represents the quality perceived by the user for a selected video bitrate, r, and ST denotes the startup delay in some unit of time (e.g. milliseconds) for a video segment.

[0124] The four components in this QoE model are the average perceptual quality of each video chunk, the number of oscillations in quality, the number of video stalls, and the duration of the stalls. This example illustrates how an application specific QoE model can easily be developed into a suitable programming language. The QoE model can have a defined set of input parameters, e.g. specified by accompanying metadata, and a single output parameter. The QoE model can be called by processing circuitry (e.g. a processor component) close to the (e.g. performance) metric gathering site, such as either on the first network node (e.g. device) 502 or at the edge (e.g. at an edge node 506, 508).

[0125] Although an example has been provided for the QoE model referred to herein, it will be understood that is an example for one particular use case and the techniques described herein are equally applicable to many other use cases.

[0126] An example QoE model repository and its access will now be described. In the example, the QoE model is a function. However, it will be understood that the same principles can apply to any other type of QoE model.

[0127] In the example, QoE functions are uploaded to the repository where they can be fetched by components of the system (such as the system illustrated in Figure 10) in order to provide a local QoE determination (e.g. calculation). The QoE functions can be fetched and the QoE determination can be made by the first network node 502 and / or by one or more second network nodes 506, 508. The repository itself can be an SQL or equivalent. The repository may allow the storage of QoE code and associated metadata. For example, the QoE code and associated metadata may be stored in a table. An example of such a table is as follows:

[0128] Table 1

[0129] The QoE code may be stored in bytecode format (such as WebAssembly). This can ensure portability across multiple architectures, e.g. without recompilation. The id hash may be generated on upload. The id can ensure the trustworthiness (and, for example, the uniqueness) of the QoE code. The QoE function in the example requires input gathered from a measurement device (e.g. probe). The metric field can comprise (e.g. a list of) required measurements (e.g. chosen from an available list). The metric field can be used as a check to make sure that the inputs are available on the runtime host. The output (or result) from the QoE function may be a single value according to some embodiments. However, the format may be encoded (e.g. a 16-bit floating point) for sanity checking.

[0130] It may be that access to the repository is mediated, such as via the message bus of the cloud node. This can allow an application or system component to fetch and store QoE functions in the repository.

[0131] A typical range of messaging events or remote procedure calls (RPC) may comprise any one or more of the following:

[0132] Table 2 An example way of interacting with the repository in order to obtain a (e.g. suitable) QoE model will now be described with reference to Figures 11 and 12. In the example, the QoE model is a function. However, it will be understood that the same principles can apply to any other type of QoE model. The way of interacting with the repository can follow the sequence of events described or a different sequence of events.

[0133] Figure 11 illustrates a method performed by a system, such as that illustrated in Figure 10, in accordance with an embodiment. More specifically, Figure 11 illustrates an interaction of the first network node 502 (or, more specifically, the application 516 of the first network node 502) with the QoE repository 500.

[0134] The method starts at step 600 of Figure 11. As illustrated by step 602 of Figure 11 , the first network node 502 (or, more specifically, the application 516) may query the existence of a named (e.g. desired) QoE function in the repository 500. Herein, the named QoE function is referred to as the first QoE model. The first network node 502 (or, more specifically, the application 516) may query the repository 500 via the cloud node (e.g. the message bus of the cloud node). The query is to see whether the named QoE function is available at the repository 500.

[0135] As illustrated by step 606 of Figure 11 , if the named QoE function is unavailable at the repository 500, then the process moves to step 608 of Figure 11. On the other hand, as illustrated by step 612 of Figure 11 , if the named QoE function is available at the repository 500, then the process moves to step 614 of Figure 11.

[0136] As illustrated by step 608 of Figure 11 , the first network node 502 (or, more specifically, the application 516) may create a copy of the named QoE function. As illustrated by step 610 of Figure 11 , the first network node 502 (or, more specifically, the application 516) may upload the copy of the named QoE function to the repository 500 via the cloud node 504. The QoE function may, for example, be uploaded in bytecode format and / or may be packaged with metadata (such as that described earlier).

[0137] As illustrated by step 614 of Figure 11 , the first network node 502 (or, more specifically, the application 516) may receive an identifier (ID) representing the QoE function. The ID may be received via the cloud node 504. As illustrated by steps 616 and 618 of Figure 11 , the first network node 502 (or, more specifically, the application 516) may publish the ID to the message bus 518 of the cloud node 504. The ID may be published to the message bus 518 as a QoE topic.

[0138] Figure 12 illustrates a method performed by a system, such as that illustrated in Figure 10, in accordance with an embodiment. More specifically, Figure 12 illustrates an interaction of a second network node 506 (or, more specifically, the processing circuitry 524 of the second network node 506) with the repository 500 and cloud node 504. In the example, the second network node 506 interacts with the cloud node 504 via the message bus 518. Although the method illustrated in Figure 12 is described with respect to one second network node 506, it will be understood that the method can be performed in respect of any one or more (e.g. each) of the second network nodes 506, 508.

[0139] As illustrated by step 702 of Figure 12, the second network node 506 (or, more specifically, the processing circuitry 524) may subscribe to the QoE topic mentioned earlier with reference to Figure 11 , which is on the message bus 518 of the cloud node 504. In some embodiments, all second network nodes 506, 508 (or, more specifically, all processing circuitry 524, 530) may subscribe to the QoE topic. This can ensure that all components use the same QoE function.

[0140] As illustrated by step 706 of Figure 12, the cloud node 504 (or, more specifically, the message bus 518 of the cloud node 504) may acquire the ID for the QoE function. The cloud node 504 (or, more specifically, the message bus 518) may return the ID for the QoE function to the second network node 506 (or, more specifically, the processing circuitry 524).

[0141] As illustrated by step 710 of Figure 12, the second network node 506 (or, more specifically, the processing circuitry 524) may acquire (e.g. fetch or download) the QoE function from the repository 500 and optionally also the associated metadata. The QoE function and optionally also the associated metadata can be acquired using the ID for the QoE function. The second network node 506 (or, more specifically, the processing circuitry 524) may apply (e.g. execute) the QoE function to determine a QoE metric (e.g. QoE data). The QoE function may, for example, be applied periodically. The second network node 506 (or, more specifically, the processing circuitry 524) may send the QoE metric back to the cloud node 504, e.g. over the message bus 518. The second network node 506 (or, more specifically, the processing circuitry 524) may check the suitability of the QoE function based on metric generation of the associated measurement device (e.g. probe) 526. For example, it may be checked that the QoE function meets one or more requirements. As illustrated by step 714 of Figure 12, if the one or more requirements are not met, then the check fails and the second network node 506 (or, more specifically, the processing circuitry 524) may enter a failure state. In this case, the second network node 506 (or, more specifically, the processing circuitry 524) may publish its failure state to the cloud node cloud node 504 (or, more specifically, the message bus 518).

[0142] As illustrated by step 716 of Figure 12, if the one or more requirements are met, then the check passes. In this case, the second network node 506 (or, more specifically, the processing circuitry 524) may publish its determined QoE metric to the cloud node 504 (or, more specifically, the message bus 518). The second network node 506 (or, more specifically, the processing circuitry 524) may periodically determine the QoE metric and publish the periodically determined QoE metrics to the cloud node 504 (or, more specifically, the message bus 518). The second network node 506 (or, more specifically, the processing circuitry 524) may decide, based on the QoE metrics that it receives, whether and / or how optimize the running application 516. This decision can be taken periodically. The QoE metrics can be values and / or any other type of metric.

[0143] The techniques described herein can thus be beneficial in supporting the adaptation of systems running on the edge-cloud continuum infrastructure, as they make QoE metrics available to entities that have the responsibility for adapting a monitored application 516. The techniques described herein can also be beneficial in supporting metric (e.g. performance metric) gathering and QoE calculation down to the edge level in a hierarchical cloud. The metric gathering provides a way to extend the techniques down to the client (e.g. UE) level. The behaviour of the metric gathering and processing at the client level can be adapted in a portable manner. This provides a view of the overall application performance to that of individual client nodes (e.g. individual users of client nodes) and allows remote modification of the metrics gathered from the client node without interaction from the user themselves. In this way, the techniques described herein enable a finer grade of performance evaluation than is available at the edge level. The techniques described herein can be useful in dealing with network events such as (e.g. cellular) network congestion and / or performance variation, and / or client nodes (e.g.

[0144] UEs) switching between edge nodes (e.g. access points, APs).

[0145] Figure 13 illustrates a first network node (e.g. client node, such as a user device) 502 according to an embodiment. That is, Figure 13 illustrates the client side of the system, such as that illustrated in Figure 10. In the embodiment illustrated in Figure 13, the first network node 502 can use any one or more of a first application 802, a second application 804, a third application 806, and a fourth application 808. Although four applications are illustrated in the embodiment illustrated in Figure 13, it will be understood that any other number of (e.g. one or more) applications are equally possible.

[0146] As described earlier with reference to Figure 10, the client node 502 can comprise one or both of processing circuitry (e.g. one or more processors) 512 and one or more measurement devices (e.g. one or more probes) 514. That is, the one or both of processing circuitry (e.g. one or more processors) 512 and one or more measurement devices (e.g. one or more probes) 514 can run on the first network node 502.

[0147] The one or more measurement devices 514 can run as a service, exposing an application programming interface (API, e.g. the Embrace Metrics API). This allows data (e.g. measurement) gathering both from the first network node 502 itself and from applications 802, 804, 806, 808 that have been written to access the API. Thus, the processing circuitry 512 may gather data from the first network node 502 but may also gather additional application-level data from applications written to support it. The API may support data gathering from a variety of operating systems and development frameworks. In this way, it is possible to interact with OS-level APIs, for example, to inspect the performance of the first network node 502 itself.

[0148] As illustrated by arrow 812 of Figure 13, the processing circuitry 512 may communicate with the one or more measurement devices 514 via a functional query language, such as the Prometheus Query Language (PromQL). The same communication techniques and libraries may be used throughout the system, e.g. from the cloud level to the client level. The processing circuitry 512 may summarise gathered data, e.g. into a time-series chunks. The processing circuitry 512 may include, in the summarised gathered data, the local QoE metric determined using a selected QoE model from the repository 500. The processing circuitry 512 may post this information (e.g. periodically) to the cloud node 504 (or, more specifically, the message bus 518).

[0149] Figure 14 illustrates a coordinator (e.g. an EUS coordinator) 520 according to an embodiment, such as that described earlier with reference to Figure 10. More specifically, Figure 14 illustrates the way in which the coordinator 520 may communicate in the system according to a first situation 900 and a second situation 902.

[0150] As illustrated in Figure 14, the coordinator 520 and the processing circuitry (e.g. one or more processors) 512 of the first network node 502 may communicate with each other via the cloud node 504 or, more specifically, via the message bus 518 of the cloud node 504. As illustrated by arrows 906 and 910 of Figure 14, the coordinator 520 may allow the processing circuitry 512 to advertise the services available or being used at the first network node 502. Alternatively or in addition, as illustrated by arrows 916 and 920 of Figure 14, the processing circuitry 512 may receive configuration updates through the coordinator 520, e.g. in order to adjust operation. In this way, the processing circuitry 512 can provide QoE data in a way that is most beneficial to the overall operation of the system.

[0151] Examples of the proposed communication protocol between these services, i.e. the coordinator 520 and the processing circuitry 512, are shown in the following tables:

[0152] Table 3 - advertise. yaml example format

[0153] Table 4 - config. yaml example format In these examples, many of the keys are self-explanatory. The keys “contact” and “updates” are used to refer to the topic on the message bus 518 that the second network nodes 506, 508 may be subscribed to in order to receive updates. In these examples, the coordinator 520 may be ‘programming’ the processing circuitry 512 with the data and / or frequency it expects to receive. In circumstances where the first network node mobility is low or resources are underutilized, the coordinator 520 can inform the processing circuitry 512 to reduce the data submission frequency in order to further reduce network load and resource utilisation.

[0154] Thus, in the manner described herein, there is advantageously provided an improved technique for handling a QoE model in a network.

[0155] It is possible to extend self-adaptive monitoring described herein from the cloud or edge (where the main components including the repository 500 are located), down to the client (e.g. device) level. In this way, it is possible to provide a programmable and portable metric-gathering solution for client nodes that can broaden the awareness of the system to application performance at the client nodes and allow the system to dynamically adapt the behaviour of the client-side component (e.g. through the message bus 518), e.g. depending on QoE requirements.

[0156] In the manner described herein, a QoE service is provided that can form part of the self- adaptive monitoring system, delivering an adaptive performance measurement solution that can be used by a variety of distributed applications, each with different performance requirements, and across a range of architectures. The QoE service can use the repository 30, 500 in the advantageous manner described herein.

[0157] In some embodiments, a single reusable performance measurement framework may be deployed with an updatable repository 30, 500, allowing each application to be deployed together with its own QoE model. This application-tuned QoE mode can be uploaded to the repository 30, 500 prior to application execution, allowing the framework to adapt to each new application without reconfiguration or redevelopment.

[0158] In general, a self-adaptive QoE service that is completely separate from the underlying application that it is monitoring is provided as a re-usable solution that can be deployed as a container-based service across a heterogeneous network. The ability to program the service using human-readable configuration and supply requirements in the form of easily understandable SLAs that can be measured against the QoE means that the service can easily be decoupled from the application, updated dynamically and be redeployed easily.

[0159] In order to be portable across applications, an appropriate QoE model can be selected depending on the requirements of the application and / or the available data. The QoE model may be made available to all components of the distributed QoE service. For example, the repository 30, 500 at which the QoE model is stored may be accessible by all components. This can be through the message bus 518 referred to herein, which can allow all components that have access to the message bus 518 to also have access to the repository 30, 500.

[0160] The repository 30, 500 may be in the form of an SQL or may be SQL-like. The repository 30, 500 may store metadata associated with the QoE model, which can allow a user to specify which metrics are required to be gathered at the first network node 10 and / or second network nodes 40, 506, 508 in order to perform the QoE metric determination. This can enable additional sanity checking. An API may be used to allow a component to add and / or fetch QoE models from the repository 30, 500. A QoE model (e.g. function) format can be used to enable portability across a range of architectures.

[0161] The techniques and system described herein can be beneficial in a variety of use cases. Although two example use cases will now be described, it will be understood that the techniques and system described herein can be equally beneficial in a variety of other use cases.

[0162] In a first example use case, there may be a video streaming service with a content delivery network (CDN) at cloud level and cache services located at the edge that contain multiple chunks of the video stream at different resolutions and sizes. Thus, in this example use case, the cloud node is a node of the CDN. A mobile first network node (e.g. UE client) 502 can connect to either the cloud node 504 or the cache 528 of a second network (e.g. edge) node 506 to receive the video stream. The one or more measurement devices 526 at the second network node 506 may gather measurements such as server load and data delivery metrics, and the processing circuitry 524 at the second network node 506 may compute an overall QoE metric for the first network node 502 attached to the second network node 506. The processing circuitry 524 may deliver this information to the cloud node 504, such as to the orchestrator 522 of the cloud node 504. The orchestrator 522 may have the option of redirecting the first network node 502 to other second network node 508, e.g. potentially with lower load or greater resource availability, such as in order to improve the global application QoE.

[0163] In a second example use case, there may be an extended reality (XR) game comprising an application 516 at the first network node (e.g. client node or UE) 502 and components of the application 516 located remotely that perform operations, such as the game engine and multi-player server (which may not be possible at the first network node). Metric gathering and processing at the first network node allows performance optimization, e.g. latency compensation at the first network node (e.g. device) level, such as to adjust for variable connectivity or subscription level. This can provide an optimal shared experience for a (e.g. small) group of users.

[0164] There is also provided a computer program comprising instructions which, when executed by processing circuitry (such as the processing circuitry 12 of the first network node 10 described earlier, the processing circuitry 22 of the cloud node 20 described earlier, and / or the processing circuitry 42 of the second network node 40 described earlier), cause the processing circuitry to perform at least part of the method described herein. There is provided a computer program product, embodied on a non-transitory machine-readable medium, comprising instructions which are executable by processing circuitry (such as the processing circuitry 12 of the first network node 10 described earlier, the processing circuitry 22 of the cloud node 20 described earlier, and / or the processing circuitry 42 of the second network node 40 described earlier) to cause the processing circuitry to perform at least part of the method described herein. There is provided a computer program product comprising a carrier containing instructions for causing processing circuitry (such as the processing circuitry 12 of the first network node 10 described earlier, the processing circuitry 22 of the cloud node 20 described earlier, and / or the processing circuitry 42 of the second network node 40 described earlier) to perform at least part of the method described herein. In some embodiments, the carrier can be any one of an electronic signal, an optical signal, an electromagnetic signal, an electrical signal, a radio signal, a microwave signal, or a computer-readable storage medium. In some embodiments, the functionality described herein can be performed by hardware. Thus, in some embodiments, any one or more of the first network node 10 described herein, the cloud node 20 described herein, the repository 30 described herein, and / or the second network node 40 described herein can be a hardware node. However, it will also be understood that optionally at least part or all of the functionality described herein can be virtualized. For example, the functions performed by any one or more of the first network node 10 described herein, the cloud node 20 described herein, the repository 30 described herein, and / or the second network node 40 described herein can be implemented in software running on generic hardware that is configured to orchestrate the functionality. Thus, in some embodiments, any one or more of the first network node 10 described herein, the cloud node 20 described herein, the repository 30 described herein, and / or the second network node 40 described herein can be a virtual node. In some embodiments, at least part of the functionality described herein is performed in a network enabled cloud. At least some of the functionality is distributed.

[0165] It will be understood that at least some or all of the method steps described herein can be automated in some embodiments. That is, in some embodiments, at least some or all of the method steps described herein can be performed automatically. The method described herein can be a computer-implemented method.

[0166] It should be noted that the above-mentioned embodiments illustrate rather than limit the idea, and that those skilled in the art will be able to design many alternative embodiments without departing from the scope of the appended claims. The word “comprising” does not exclude the presence of elements or steps other than those listed in a claim, “a” or “an” does not exclude a plurality, and a single processor or other unit may fulfil the functions of several units recited in the claims. Any reference signs in the claims shall not be construed so as to limit their scope.

Claims

CLAIMS1. A method for handling a first quality of experience, QoE, model in a network, wherein the method is performed by a first network node (502) of the network, the method comprising: initiating transmission of a first message towards a cloud node (504) of the network, wherein the first message comprises the first QoE model and a request for the cloud node (504) to store the first QoE model in a repository (500) of the network, wherein the first QoE model is associated with a first application (516), wherein the first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node (502) using the first application (516), and wherein the repository (500) is accessible, via the cloud node (504), by the first network node (502) at which a first component of the first application (516) is located and a second network node (506, 508) at which a second component of the first application (516) is located.

2. A method as claimed in claim 1 , wherein: transmission of the first message is initiated if the first QoE model is not already stored in the repository (500).

3. A method as claimed in claim 2, the method comprising: initiating transmission, towards the cloud node (504), of a query as to whether the first QoE model is already stored in the repository (500); and receiving, from the cloud node (504), a response indicative of whether the first QoE model is already stored in the repository (500).

4. A method as claimed in any of the preceding claims, wherein: the first message comprises information associated with the first QoE model; and the information comprises one or both of: information indicative that the first QoE model is the only QoE model to be applied to determine the first QoE metric; and information indicative of data to which the first QoE model is to be applied to determine the first QoE metric.

5. A method as claimed in claim 4, wherein: the data comprises at least one measurement acquired by a measurementdevice (326, 332) of the second network node (506, 508).

6. A method for handling a first quality of experience, QoE, model in a network, wherein the method is performed by a cloud node (504) of the network, the method comprising: initiating storage of the first QoE model in a repository (500) of the network in response to receiving, from a first network node (502) of the network, a first message comprising the first QoE model and a request for the cloud node (504) to store the first QoE model in the repository (500), wherein the first QoE model is associated with a first application (516), wherein the first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node (502) using the first application (516), and wherein the repository (500) is accessible, via the cloud node (504), by the first network node (502) at which a first component of the first application (516) is located and a second network node (506, 508) at which a second component of the first application (516) is located.

7. A method as claimed in claim 6, wherein: the first message is received if the first QoE model is not already stored in the repository (500).

8. A method as claimed in claim 7, the method comprising: receiving, from the first network node (502), a query as to whether the first QoE model is already stored in the repository (500); and initiating transmission, towards the first network node (502), of a response indicative of whether the first QoE model is already stored in the repository (500).

9. A method as claimed in any of claims 6 to 8, wherein: the first message comprises information associated with the first QoE model; the method comprises initiating storage of the information in the repository (500) with the first QoE model; and the information comprises one or both of: information indicative that the first QoE model is the only QoE model to be applied to determine the first QoE metric; and information indicative of data to which the first QoE model is to be applied to determine the first QoE metric.

10. A method as claimed in claim 9, wherein: the data comprises at least one measurement acquired by a measurement device (326, 332) of the second network node (506, 508).

11. A method as claimed in any of claims 6 to 10, the method comprising: acquiring, from the repository (500), an identifier assigned to the first QoE model by the repository (500); and initiating transmission of the identifier towards the first network node (502).

12. A method for handling a first quality of experience, QoE, model in a network, wherein the method is performed by a repository (500) of the network, the method comprising: storing the first QoE model in the repository (500) in response to a cloud node (504) of the network initiating storage of the first QoE model in the repository (500), wherein the first QoE model is associated with a first application (516), wherein the first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node (502) using the first application (516), and wherein the repository (500) is accessible, via the cloud node (504), by the first network node (502) at which a first component of the first application (516) is located and a second network node (506, 508) at which a second component of the first application (516) is located.

13. A method as claimed in claim 12, the method comprising: storing, in the repository (500) with the first QoE model, information associated with the first QoE model, wherein the information is stored in response to the cloud node (504) initiating storage of the information in the repository (500), and wherein the information comprises one or both of: information indicative that the first QoE model is the only QoE model to be applied to determine the first QoE metric; and information indicative of data to which the first QoE model is to be applied to determine the first QoE metric.

14. A method as claimed in claim 12 or 13, the method comprising: assigning an identifier to the first QoE model; and providing the identifier to the cloud node (504).

15. A method for handling a first quality of experience, QoE, model in a network, wherein the method is performed by a cloud node (504) of the network, the method comprising: initiating transmission, towards a second network node (506, 508) of the network, of a second message comprising a first QoE model stored in a repository (500) of the network, wherein the first QoE model is associated with a first application (516), wherein the first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node (502) using the first application (516), and wherein the repository (500) is accessible, via the cloud node (504), by the first network node (502) at which a first component of the first application (516) is located and the second network node (506, 508) at which a second component of the first application (516) is located.

16. A method as claimed in claim 15, the method comprising: initiating transmission of the second message in response to receiving a third message from the second network node (506, 508), wherein the third message comprises a request for the cloud node to provide a QoE model for determining the first QoE metric.

17. A method as claimed in claim 15 or 16, the method comprising: checking whether the second network node (506, 508) has access to data to which the first QoE model is to be applied to determine the first QoE metric, wherein transmission of the second message is initiated if the second network node (506, 508) has access to the data.

18. A method as claimed in any of claims 15 to 17, the method comprising: selecting the first QoE model from a plurality of QoE models stored in the repository (500).

19. A method as claimed in claim 18, wherein: selecting the first QoE model is based on one or more requirements of the first application and / or data that is available at the second network node (506, 508).

20. A method as claimed in any of claims 15 to 19, the method comprising:receiving, from the second network node (506, 508), a fourth message comprising the determined first QoE metric.

21. A method as claimed in claim 20, the method comprising: initiating a relocation of the second component from the second network node (506, 508) to another second network node (506, 508) if, based on the determined first QoS metric, it is determined that the relocation is to be initiated.

22. A method as claimed in any of claims 15 to 21, the method comprising: acquiring, from the repository (500), an identifier assigned to the first QoE model by the repository (500), wherein the second message comprises the identifier.

23. A method for handling a first quality of experience, QoE, model in a network, wherein the method is performed by a second network node (506, 508) of the network, the method comprising: receiving, from a cloud node (504) of the network, a second message comprising a first QoE model stored in a repository (500) of the network, wherein the first QoE model is associated with a first application (516), wherein the first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node (502) using the first application (516), and wherein the repository (500) is accessible, via the cloud node (504), by the first network node (502) at which a first component of the first application (516) is located and the second network node (506, 508) at which a second component of the first application (516) is located.

24. A method as claimed in claim 23, the method comprising: receiving the second message in response to initiating transmission of a third message towards the cloud node (504), wherein the third message comprises a request for the cloud node to provide a QoE model for determining the first QoE metric.

25. A method as claimed in claim 23 or 24, wherein: the second message is received if the second network node (506, 508) has access to data to which the first QoE model is to be applied to determine the first QoE metric.

26. A method as claimed in any of claims 23 to 25, the method comprising:applying the first QoE model to determine the first QoE metric indicative of the quality experienced by the first network node (502) using the first application (516).

27. A method as claimed in claim 26, wherein: the first QoE model is applied to data that is local to the second network node (506, 508) and / or that comprises at least one measurement acquired by a measurement device (326, 332) of the second network node (506, 508).

28. A method as claimed in claim 26 or 27, the method comprising: initiating transmission, towards the cloud node (504), of a fourth message comprising the determined first QoE metric.

29. A method performed by a system, the method comprising any two or more of: the method as claimed in any of claims 1 to 5; the method as claimed in any of claims 6 to 11 ; the method as claimed in any of claims 12 to 14; the method as claimed in any of claims 15 to 22; and the method as claimed in any of claims 23 to 28.

30. A first network node (10) comprising processing circuitry (12) configured to cause the first network node (10) to: initiate transmission of a first message towards a cloud node of the network, wherein the first message comprises a first QoE model and a request for the cloud node to store the first QoE model in a repository of the network, wherein the first QoE model is associated with a first application, wherein the first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application, and wherein the repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and a second network node at which a second component of the first application is located.

31. A first network node (10) as claimed in claim 30, wherein: the processing circuitry (12) is configured to cause the first network node (10) to perform the method according to any of claims 2 to 5.

32. A cloud node (20) comprising processing circuitry (22) configured to cause the cloud node (20) to: initiate storage of a first QoE model in a repository of the network in response to receiving, from a first network node of the network, a first message comprising the first QoE model and a request for the cloud node to store the first QoE model in the repository, wherein the first QoE model is associated with a first application, wherein the first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application, and wherein the repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and a second network node at which a second component of the first application is located.

33. A cloud node (20) as claimed in claim 32, wherein: the processing circuitry (22) is configured to cause the cloud node (20) to perform the method according to any of claims 7 to 11.

34. A repository (30) configured to: store a first QoE model in response to a cloud node of the network initiating storage of the first QoE model in the repository, wherein the first QoE model is associated with a first application, wherein the first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application, and wherein the repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and a second network node at which a second component of the first application is located.

35. A repository (30) as claimed in claim 34, wherein: the repository is configured to perform the method according to claim 13 or 14.

36. A cloud node (20) comprising processing circuitry (22) configured to cause the cloud node (20) to: initiate transmission, towards a second network node of the network, of a second message comprising a first QoE model stored in a repository of the network, wherein the first QoE model is associated with a first application, wherein the first QoE model is for determining a first QoE metric indicative of aquality experienced by the first network node using the first application, and wherein the repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and the second network node at which a second component of the first application is located.

37. A cloud node (20) as claimed in claim 36, wherein: the processing circuitry (22) is configured to cause the cloud node (20) to perform the method according to any of claims 16 to 22.

38. A second network node (40) comprising processing circuitry (42) configured to cause the second network node (40) to: receive, from a cloud node of the network, a second message comprising a first QoE model stored in a repository of the network, wherein the first QoE model is associated with a first application, wherein the first QoE model is for determining a first QoE metric indicative of a quality experienced by the first network node using the first application, and wherein the repository is accessible, via the cloud node, by the first network node at which a first component of the first application is located and the second network node at which a second component of the first application is located.

39. A second network node (40) as claimed in claim 38, wherein: the processing circuitry (42) is configured to cause the second network node (40) to perform the method according to any of claims 24 to 28.

40. A system comprising any two or more of: the first network node (10) as claimed in claim 30 or 31; the cloud node (20) as claimed in claim 32 or 33; the repository (30) as claimed in claim 34 or 35; the cloud node (20) as claimed in claim 36 or 37; and the second network node (40) as claimed in claim 38 or 39.

41. A computer program comprising instructions which, when executed by processing circuitry, cause the processing circuitry to perform the method according to any of claims 1 to 5, any of claims 6 to 11, any of claims 12 to 14, any of claims 15 to 22, and / or any of claims 23 to 28.

42. A computer program product, embodied on a non-transitory machine-readable medium, comprising instructions which are executable by processing circuitry to cause the processing circuitry to perform the method according to any of claims 1 to 5, any of claims 6 to 11, any of claims 12 to 14, any of claims 15 to 22, and / or any of claims 23

Citation Information

Patent Citations

  • Video content complementing and cutting method and system based on user quality evaluation

    CN110708592A

  • Quality of user experience testing for video transmissions

    EP2767039B1

  • Reporting path measurements for application quality of experience prediction using an interest metric

    US11665261B1