Network node and method performed therein
The network node dynamically selects storage placement based on UE and network parameters to ensure QoS and cost-efficiency, addressing the disconnect in existing networks by transparently switching storage services through a Storage Decision Module and API.
Patent Information
- Application Number
- PCT/IN2024/050174
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Filing Date
- 2024-02-19
- Publication Date
- 2025-08-28
AI Technical Summary
Existing communication networks lack the ability for user equipment (UE) or applications to dynamically select optimal storage placement based on UE and network conditions, leading to a disconnect between application needs and storage service selection, which affects Quality of Service (QoS) and cost-efficiency.
A network node determines storage placement dynamically based on input parameters such as UE, network, and application parameters, using a Storage Decision Module to transparently switch storage services to ensure QoS and cost-efficiency, leveraging programmable access to storage services through an Application Programming Interface (API).
This approach provides automatic QoS-efficient and cost-optimized storage solutions, enabling better resource utilization and transparency to end-applications, while utilizing UE and network parameters to enhance storage access decisions.
Smart Images

Figure IN2024050174_28082025_PF_FP_ABST
Abstract
Description
[0001] NETWORK NODE AND METHOD PERFORMED THEREIN
[0002] TECHNICAL FIELD
[0003] Embodiments herein relate to a network node and a method performed therein. Furthermore, a computer program and a computer readable storage medium are also provided herein. In particular, embodiments herein relate to handling storage of data in a communication network.
[0004] BACKGROUND
[0005] In a typical communication network, user equipment (UE) also known as wireless communication devices, mobile stations, stations (STA) and / or wireless devices, communicate via a Radio Access Network (RAN) to one or more core networks (CNs). The RAN covers a geographical area which is divided into service areas or cell areas, with each service area or cell area being served by a radio network node such as a radio access node e.g., a Wi-Fi access point or a radio base station (RBS), which in some networks may also be denoted, for example, a NodeB, an eNodeB”, or a gNodeB. A service area or cell area is a geographical area where radio coverage is provided by the radio network node. The radio network node communicates over an air interface operating on radio frequencies with the wireless device within range of the radio network node. The radio network node communicates over a downlink (DL) to the UE and the UE communicates over an uplink (UL) to the radio network node.
[0006] A Universal Mobile Telecommunications System (UMTS) is a third generation (3G) telecommunication network, which evolved from the second generation (2G) Global System for Mobile Communications (GSM). The UMTS terrestrial radio access network (UTRAN) is essentially a RAN using wideband code division multiple access (WCDMA) and / or High-Speed Packet Access (HSPA) for user equipment. In a forum known as the Third Generation Partnership Project (3GPP), telecommunications suppliers propose and agree upon standards for third generation networks and investigate enhanced data rate and radio capacity. In some RANs, e.g. as in UMTS, several radio network nodes may be connected, e.g., by landlines or microwave, to a controller node, such as a radio network controller (RNC) or a base station controller (BSC), which supervises and coordinates various activities of the plural radio network nodes connected thereto. This type of connection is sometimes referred to as a backhaul connection. The RNCs and BSCs are typically connected to one or more CNs.
[0007] Specifications for the Evolved Packet System (EPS) have been completed within the 3GPP and this work continues in the coming 3GPP releases. The EPS comprises the Evolved Universal Terrestrial Radio Access Network (E-UTRAN), also known as the Long-Term Evolution (LTE) radio access network, and the Evolved Packet Core (EPC), also known as System Architecture Evolution (SAE) CN. E-UTRAN / LTE is a variant of a 3GPP radio access technology wherein the radio network nodes are directly connected to the EPC CN rather than to RNCs. In general, in E-UTRAN / LTE the functions of an RNC are distributed between the radio network nodes, e.g. eNodeBs in LTE, and the core network. As such, the RAN of an EPS has an essentially “flat” architecture comprising radio network nodes which can be connected directly to one or more CNs, i.e. they do not need to be connected to the core via RNCs.
[0008] With the emerging 5G technologies such as New Radio (NR), the use of a large number of transmit- and receive-antenna elements is of great interest as it makes it possible to utilize beamforming, such as transmit-side and receive-side beamforming. Transmit-side beamforming means that the transmitter can amplify the transmitted signals in a selected direction or directions, while suppressing the transmitted signals in other directions. Similarly, on the receive-side, a receiver can amplify received signals coming from a selected direction or directions, while suppressing received unwanted signals coming from other directions.
[0009] With reference to the 5G architecture the 3GPP Network Functions (NF) in 5G are described as:
[0010] The Application Function (AF) or Application Server (AS) interacts with the 3GPP Core Network and allows external parties to use the Exposure Application Programming Interfaces (API) offered by the network operator. The AF provides session related information to other nodes in the 5G core network (5GC).
[0011] The Network Exposure Function (NEF) supports different functionalities and NEF supports different Exposure APIs.
[0012] The Network Repository Function (NRF) works as a registration center of NF.
[0013] The Unified Data Repository (UDR) stores data grouped into distinct collections of subscription-related information: Subscription Data; Policy Data; Structured Data for Exposure; Application Data. The Session Management Function (SMF) supports different functionalities, e.g. SMF receives Policy and Charging Control (PCC) rules from the Policy Control Function (PCF) and configures the User Plane Function (UPF) accordingly.
[0014] The User Plane Function (UPF) supports handling of user plane traffic based on the rules received from the SMF, e.g. packet inspection and different enforcement actions such as Quality of Service (QoS) handling.
[0015] The PCF supports a unified policy framework to govern the network behaviour. Specifically, the PCF provides PCC rules to the Policy and Charging Enforcement Function (PCEF), i.e., the SMF / UPF that enforces policy and charging decisions according to provisioned PCC rules.
[0016] The Access and Mobility Management Function (AMF) manages UE access, e.g., when a UE is connected through different access networks, and UE mobility aspects.
[0017] The Charging Function (CHF) manages charging of services and / or functions.
[0018] The Network Slice Selection Function (NSSF) selects the Network Slicing Instance (NSI), determines the allowed Network Slice Selection Assistance Information (NSSAI) and sets the AMF to serve the UE.
[0019] Storage is used today by every application. A lot of work has gone into optimizing storage for speed and reliability. Different types of hardware have evolved to support faster storage and redundancy and software has equally evolved to support this hardware and have also evolved to contribute from their end by developing better caching and optimal access / buffering mechanisms. Applications have been developed to take advantage of the faster data retrieval mechanisms.
[0020] Storage and compute services deployed closer to the 3GPP core or at the edge of the network can provide low-latency access to application data, thereby improving the application’s Quality of Experience (QoE). These edges are used for offloading compute of UEs as e.g. with Fluid Computing. They are also used for caching application data to facilitate faster compute and serve the UE.
[0021] Compute capacities can vary from low-powered processors to high-powered desktop grade processors, and also extend to server grade machines. Similarly, storage hardware can range from industry grade MicroSD cards, to hard disk drives (HDDs), solid state drives (SSDs), persistent memory and volatile memories (RAMs). Traditionally, storage services are decoupled from any application / UE specific parameters in their design. The aspect of storage hierarchy among different storage services further exacerbates the problem of choosing a cost-efficient storage service while ensuring the application’s QoS. With some of the time varying parameters such as UE parameters, user intent, operator constraints, application parameters, network parameters etc., influencing UE’s throughput, makes it more challenging to design a storage access module that ensures QoS requirements during data retrieval.
[0022] A brief description of non-limiting set of parameters discussed above are presented in Table 1 below.
[0023] SUMMARY
[0024] As part of developing embodiments herein a problem was first identified and will be discussed below:
[0025] In existing solutions, a UE or application has no way of choosing data placement beyond its local storage or cloud storage. Further, the end-to-end performance of remote storage options is on a best effort basis. This creates a disconnect between the application need and the storage service selected.
[0026] For an application to benefit from storage that is optimized for speed when it is hosted in an Edge site, the four main issues that needs to be solved are:
[0027] 1. Identifying how an optimal storage can be selected based on the UE and network’s condition to ensure user experience is not hampered.
[0028] 2. Given a read / write request, which storage type needs to be selected to ensure latency tolerances are met? 3. Identifying how and when applications data can be switched across different storage types to ensure application QoS is maintained and providing a cost-efficient data storage service.
[0029] 4. Hide all the complexity and expose storage to the application in a simple manner by requesting only data (to be stored / retrieved) and optionally requirements (to understand where to store the data).
[0030] Assessing the impact of UE and Network parameters on performance (throughput, latency, etc.) or dynamic selection (storage exposure, which storage to use in the backend to meet performance requirement) is currently not explored.
[0031] In the existing literature related to application workload execution at the edge, the focus is on optimizing network and computational latency to serve the UEs with best application QoS, which mostly comprises of ‘x’ and ‘v’ parameters, respectively as shown in Fig. 1. Fig. 1 thus illustrates application workload execution at the Edge - latency breakdown. However, an overlooked parameter that has significant impact on application’s performance is “storage access latency”, which is ‘y’ parameter as illustrated in Fig. 1. The telecommunication companies have an advantage of getting easy access to above mentioned parameters like UE and network parameters which impacts the QoS and cost-efficient storage selection decisions over Hyperscale Cloud Providers (HCPs) and Content Delivery Networks (CDNs), e.g. edge caching.
[0032] An object of embodiments herein is to handle storage of data in a communication network in an efficient and reliable manner.
[0033] According to an aspect of embodiments herein the object is achieved by a method performed by a network node for handling storage of data, wherein the network node operates in a communication network. The network node determines a storage placement based on one or more input parameters.
[0034] According to another aspect of embodiments herein, the object is achieved by providing a network node for handling storage of data, wherein the network node operates in a communication network. The network node is configured to determine a storage placement based on one or more input parameters.
[0035] It is furthermore provided herein a computer program comprising instructions, which, when executed on at least one processor, cause the at least one processor to carry out the method above, as performed by the network node. It is additionally provided herein a computer-readable storage medium, having stored thereon a computer program comprising instructions which, when executed on at least one processor, cause the at least one processor to carry out the method above, as performed by the network node.
[0036] Embodiments herein are based on the realisation that the network node correlates the input parameters, such as UE, Network and Application parameters, QoS metrics and available storage options, by providing a programmable access to appropriate storage services. The programmable access enables a dynamic switch / selection of a storage backend opportunistically for cost-efficiency based on these parameters while ensuring QoS metrics are met. Thereby storage of data in a communication network is handled in an efficient and reliable manner.
[0037] BRIEF DESCRIPTION OF THE DRAWINGS
[0038] Embodiments will now be described in more detail in relation to the enclosed drawings, in which:
[0039] Fig. 1 is a schematic overview depicting an application workload execution at the edge of a network;
[0040] Fig. 2 is a schematic overview depicting a communication network;
[0041] Fig. 3 is a flowchart depicting a method performed by a network node according to embodiments herein;
[0042] Fig. 4 is an example of a high-level overview according to some embodiments herein;
[0043] Fig. 5 is a schematic overview of an example of a workflow for storage selection;
[0044] Fig. 6 is a schematic block diagram illustrating embodiments of a network node;
[0045] Fig. 7 shows an example of a communication system QQ100 in accordance with some embodiments;
[0046] Fig. 8 shows a UE QQ200 in accordance with some embodiments;
[0047] Fig. 9 shows a network node QQ300 in accordance with some embodiments;
[0048] Fig. 10 is a block diagram of a host QQ400, in accordance with various aspects described herein;
[0049] Fig. 11 is a block diagram illustrating a virtualization environment QQ500 in which functions implemented by some embodiments may be virtualized; and
[0050] Fig. 12 shows a communication diagram of a host QQ602 communicating via a network node QQ604 with a UE QQ606 over a partially wireless connection in accordance with some embodiments. DETAILED DESCRIPTION
[0051] Embodiments herein relate to communication networks in general. Fig. 2 is a schematic overview depicting a communication network 1. The communication network 1 comprises one or more RANs connected to one or more CNs. The communication network 1 may use a number of different technologies, such as Wi-Fi, Long Term Evolution (LTE), LTE-Advanced, 5G, Wideband Code Division Multiple Access (WCDMA), Global System for Mobile communications / Enhanced Data rate for GSM Evolution (GSM / EDGE), Worldwide Interoperability for Microwave Access (WiMAX), or Ultra Mobile Broadband (UMB), just to mention a few possible implementations. Embodiments herein relate to recent technology trends that are of particular interest in a 5G context, however, embodiments are applicable also in further development of the existing communication systems such as e.g. a WCDMA and or LTE system.
[0052] In the communication network 1 , wireless devices e.g. a UE 10 such as a mobile station, a non-access point (non-AP) station (STA), a STA, a user equipment and / or a wireless terminal, communicate via one or more Access Networks (AN), e.g. RAN, to one or more CNs. It should be understood by the skilled in the art that “UE” is a non-limiting term which means any terminal, wireless communication terminal, user equipment, Machine Type Communication (MTC) device, Device to Device (D2D) terminal, internet of things (loT) operable device, or node e.g. smart phone, laptop, mobile phone, sensor, relay, mobile tablets or even a small base station capable of communicating using radio communication with a network node within an area served by the network node.
[0053] The communication network 1 comprises a network node 12. The network node 12 may be a RAN node, a Core Network node, a Service management and orchestration (SMO), a Network Management System (NMS), a Non-Real Time RAN Intelligent Controller (Non-RT RIC), a Real-Time RAN Intelligent Controller (RT-RIC), a gNB, eNB, en-gNB, ng-eNB, gNB-CU, gNB-CU-CP, gNB-CU-UP, eNB-CU, eNB-CU-CP, eNB-CU- UP, lAB-node, lAB-donor DU, lAB-donor-CU, IAB-DU, IAB-MT, O-CU, O-CU-CP, O-CU- UP, O-DU, O-RU, O-eNB, a Cloud-based network function, a Cloud-based centralized training node or a Storage Decision Module. The network node 12 may be present anywhere in the communication network 1.
[0054] The network node 12 may be a radio network node, providing e.g. radio coverage over a geographical area, a first service area 20 i.e. a first cell, of a radio access technology (RAT), such as NR, LTE, Wi-Fi, WiMAX or similar. The network node 12 may be a transmission and reception point, a computational server, a base station e.g. a network node such as a satellite, a Wireless Local Area Network (WLAN) access point or an Access Point Station (AP STA), an access node, an access controller, a radio base station such as a NodeB, an evolved Node B (eNB, eNodeB), a gNodeB (gNB), a base transceiver station, a baseband unit, an Access Point Base Station, a base station router, a transmission arrangement of a radio base station, a stand-alone access point or any other network unit or node depending e.g. on the radio access technology and terminology used. The network node 12 may alternatively or additionally be a controller node or a packet processing node or similar. The network node 12 may be referred to as source node, source access node or a serving network node wherein the first service area 20 may be referred to as a serving cell, source cell or primary cell, and the network node communicates with the UE 10 in form of DL transmissions to the UE 10 and UL transmissions from the UE 10. The network node 12 may be a target node. The network node 12 may be a distributed node comprising a baseband unit and one or more remote radio units. It should be noted that a service area may be denoted as cell, beam, beam group or similar to define an area of radio coverage.
[0055] According to embodiments herein the network node 12 determines a storage placement based on one or more input parameters. The storage placement may be determined dynamically and may be based on a type of application. The input parameters may comprise one or more of: network parameters, UE parameters and storage parameters and may have a predefined priority indicating the importance of the parameter. The storage placement may be determined based on the priority of the one or more input parameters.
[0056] The method actions performed by the network node 12 for handling storage of data in the communication network 1, according to embodiments herein, will now be described with reference to a flowchart depicted in Fig. 3.
[0057] Action 301.
[0058] The network node 12 determines the storage placement based on the one or more input parameters. When used herein, storage may refer to data storage. When used herein, placement may refer to location or position. According to some embodiments the storage placement may be determined dynamically. The storage placement may be determined dynamically and / or transparently. This means that the data may be placed at initial and / or also migrated / shuffled across different storage services and mediums at runtime based on the situation. The idea is that data keeps moving across the storage at runtime to satisfy various criteria. Thus, the placement of the storage of the data may be performed dynamically on the fly and / or transparently using an Application Programming Interface (API).
[0059] Furthermore, according to some embodiments, the storage placement may be determined based on a type of application. The storage placement may thus not only be determined based on the input parameters. E.g. a mobile network operator or communication provider operator may guess what application is used and this affects where the data will be placed.
[0060] According to some embodiments, the one or more input parameters may comprise one or more of: network parameters, UE parameters and storage parameters. The UE parameters may comprise one or more of: battery level, current signal strength, experienced network bandwidth, latency, required application Quality of Service (QoS), etc. The network parameters may comprise one or more of: congestion in the cell, available network bandwidth and latency, a network operator's intents and / or constraints, and a user's subscription policy, etc. The storage parameters may comprise one or more of: available remote storage in the network, which may include type of the storage such as cloud storage, local HDD / SSD and amount of storage. Accordingly, the input parameters may comprise one or more of the following:
[0061] • Read / write latency of different storage services, with storage hierarchies, for different data items;
[0062] • Subscription policy of the user;
[0063] • Type of operation, e.g. read / write / seek;
[0064] • Operator Constraints;
[0065] • User Intent
[0066] • Application QoS requirements
[0067] • UE throughput and latency estimation, e.g. using parameters such as RSSI, RSRP, RSRQ, etc.
[0068] • Other parameters such as battery level, available storage, bandwidth, throughput, data traffic, etc.
[0069] According to some embodiments, the one or more input parameters may have a predefined priority indicating the importance of the parameter, and wherein the storage placement may be determined based on the priority of the one or more input parameters.
[0070] The network node 12 may comprise a Storage Decision Module and a Throughput Module. The Storage Decision Module may comprise the network parameters, UE parameters and storage parameters. The Storage Decision Module may be used in combination with other tools to provide a for the selection of storage service, e.g. dynamically, at the edge of the network by correlating the input parameters, such as: UE / Network parameters, application QoS requirements and UE subscription policies. This may be performed dynamically on the fly and transparently using the API.
[0071] The network node 12, e.g. the Storage Decision Module, may make an appropriate selection of the storage choice based on the input parameters to store and / or fetch the data during application execution at the edge. The storage choices may range from in-memory storage (offering fast performance, but expensive) to HDD (offering low performance, but cheap).
[0072] Given the fact that there may be a diverse set of storage options either at the edge, core or cloud, the network node 12 can select which storage option to use for the compute based on the need. For example, in case of an XR rendering application where latency requirements are presented to be as minimal as possible, the network node 12 may select an in-memory storage close to the edge. However, for a video streaming application where the latency requirement is comparatively relaxed the network node 12 may select a slower storage at edge or cloud storage which is more cost-efficient.
[0073] All this may be performed dynamically, factoring in not just application requirements but also UE parameters. For example, as the user watching a streaming video is moving through different access technologies, thus leading to different throughputs, the network node 12 may prepare the appropriate storage for the application to ensure seamless experience for the user, while maintaining a cost-optimized solution for the storage.
[0074] This entire functionality may be offered to the application transparently through the API. The application may only need to provide its requirements and the proposed solution will take care of which storage service is to be utilized dynamically.
[0075] Advantages of embodiments herein may be that the network node offers automatic QoS-efficient and cost-optimized storage solution for users. Other advantage of embodiments herein may be enabling better utilization of storage resources and transparency to end-applications. Furthermore, embodiments herein may utilize UE and network parameters for taking storage access decisions, which inherently provide advantage to telecommunication Communication Service Providers (CSPs) over Hyperscale Cloud Providers (HCPs), which typically do not have access to this information.
[0076] Embodiments herein such as mentioned above will now be further described and exemplified. The text below is applicable to and may be combined with any suitable embodiment described above. Storage selection and dynamic switch may be enabled to maintain QoS and cost efficiency e.g. during computation at edge. UE and Network Parameters, application QoS and Subscription information may be considered to make the storage selection decision dynamically and / or transparently.
[0077] In existing solutions, a UE or application has no way of choosing data placement beyond its local storage or cloud storage. Further, the end-to-end performance of remote storage options is on a best effort basis. This creates a disconnection between the application need and the storage service selected. It is therefore useful to correlate, e.g. UE parameters and application QoS requirements, to storage services selection. An Application Server (AS) which may be an agent of the UE’s application near the 5G Core, a Throughput Estimation module and a Storage Decision module may be comprised in the network node 12. The AS can express the UE’s requirements as a storage service policy. The AS can set different storage policy based on different criteria derived from UE’s parameters. An example of a high-level overview according to some embodiments herein is shown in Fig. 4. The storage decision module is the central module. It is presented with read / write latency of storage services (with storage hierarchies) for different data items, the subscription policy of the user, the type of operation (read / write / find), the Operator Constraints, User Intent, QoS requirements etc. It makes an appropriate selection of the storage choice based on these inputs.
[0078] Fig. 5 Illustrates a schematic overview of an example of a workflow for storage selection. Fig. 5 shows the workflow of our proposed solution and highlights various modules, which are explained below:
[0079] • UE application: This service is an end-point to provide REST API based access for the UE application.
[0080] • AS: AS is the backend server for the UE App. The AS has the information regarding the type of the operation (upload / download), size of the data, number of items requested, Subscription Information (user policy), and Application’s QoS requirements. The read / write requests directed at AS are translated to access to a specific storage service based on certain criteria and policy. According to some embodiments three criteria may be used for performing storage switching namely a User Policy based switch, a UE throughput switch and UE App buffer size switch.
[0081] • Throughput Estimation: This is a sub-module present in the Application Function (AF). It maintains UE specific state such as UE temperature, battery related statistics, location, networking parameters such as RSSI, RSRP, RSRQ. The collected parameters are used to predict a UE’s throughput ahead of time. The above-mentioned parameters can be retrieved through an AF module.
[0082] • Storage Decision Module: It maintains a metadata index of all the data-items that are present in the storage service. It also consists of a storage stats module that provides estimates of data access latency for upload / download operations for various data sizes for different storage services. It also consists of logic to perform QoS based storage selection. Latency may be a QoS metric and the storage selection for multi-object read is performed in a cost-efficient manner.
[0083] • Data Service: This module provides abstraction to different storage services in a data center. It maintains a consistent data-format to upload and download data items from the storage services. The Data Service also has a replication module to replicate data- items onto different storage options based on the UE’s subscription policy. It supports four operations as listed below:
[0084] - read ([key]): Read one or more objects
[0085] - write ([key, value]): Write one or more objects, with key name being specified by the Client
[0086] - seek (key): Returns the location of all the Storage services where the key is present. According to one implementation, all the storage services are present in the same node.
[0087] - Prefetch ([key, source, destination]): Transfer a copy of the specified keys from the source storage service type to destination storage service type. E.g. <1, cloudl , in-memory> will transfer the data of key 1 from cloudl to in-memory while still maintaining a copy in CouchDB.
[0088] The key contributions according to some embodiments may provide features for dynamic storage switch based on UE parameters and QoS based storage service selection, which delivers data in a cost-efficient manner. These features are discussed in the following sub-sections.
[0089] Dynamic Storage Switch
[0090] The dynamic storage switch enables switch in a storage service on the fly for upload and download operations. The policy for performing storage switch can be either statically configured by a network operator or criteria may define a switch in storage service. An example for the case of static configuration is specifying storage services for UEs based on a subscription plan. An example of user policy is provided below:
[0091] The example above shows a storage service eligibility list based on Subscription- Type.
[0092] If the subscription type is 1 , then the user is eligible for 3 types of storage including “in memory service, blob storage, and couchdb”. If the user has a subscription policy of type 3, then it is eligible for only slower services such as ‘blob storage, and couchdb”. These policies can be more complex to include aspects of privacy and be updated on the fly through requests to the AS.
[0093] For the case of dynamic storage Switch - Throughput criteria, the application server performs a storage switch to read from Fast in-memory storage when the UE’s predicted throughput falls below the average in a region and switches to blob-store (slow storage) when the throughput improves above the average value.
[0094] Serving all the data from a fast service may meet the QoS requirement but can be expensive. On the other hand, serving the data from a slower storage service maybe costefficient, but can violate application’s QoS.
[0095] According to some embodiments, a QoS based storage selection technique may be used, in which, the storage decision module selects a combination of low and high-cost storage services to meet QoS requirements specified by an AS. This greedy selection technique tries to minimize the access to high-cost fast storage services and thereby reducing the overall costs of accessing the data.
[0096] In the case of a strict QoS requirement (latency or a deadline), this technique dissolves to choosing the fastest option, and the slowest or a combination of different storage service options for a relaxed deadline. With this technique, the storage services are programmable based on the UE app’s requirements. Different applications are envisioned to specify their varying QoS requirement while performing read requests, and the proposed technique tries to deliver the data items in a cost-efficient manner while still meeting the QoS requirements. Below are some experiment examples of how Dynamic Storage Selection can be implemented. These examples focus on one aspect of input, however when implemented these can be combined and further parameters added as required to achieve the storage decision.
[0097] Policy Based switching
[0098] The Storage Decision Module can perform policy switches when a user’s subscription plan ends / changes. According to an example, storage switch and its impact of storage service bandwidth for the UE may be described by switching storage service for a user at points 20, 51 , 70, 82, and 86 seconds. A switch from O — B (On premises inmemory service (O) to Blobstore (B)) increases the latency, decreases the storage bandwidth, demonstrating the switch.
[0099] Throughput triggered switching
[0100] According to an example, a simple storage switch policy where a fast storage is chosen when the predicted throughput falls below average throughput 4 (which is 464 Mbps). It switches to a slow storage when throughput predicted is above the average throughput in the region. The Storage Decision Module may automatically switch to faststorage when throughput falls at time 41s.
[0101] Application buffer-based switching
[0102] In an example of application buffer-based switching, the UE sends the app buffer size and number of items in it. The Storage Decision Module takes the decision of switching the storage based on how full / empty the app buffer is. If the application buffer is 80% full, the Storage Decision Module selects CouchDB service which is a slow storage service. If it is between 50% and 80%, then it switches to blobstore. Finally, if the buffer size is < 50%, then AS switches it to a fast storage option (in-memory service). In an experiment, it starts with reading items from in-memory service for 7 seconds (every 0.5s). Initially, since the buffer size is low, the data is served from in-memory service. When the buffer size reaches 11 (> 50%), at requestID 11 , the Storage Decision Module switches to the Blobstore. Similarly, when the buffer-size reaches 16 (80 %), the Storage Decision Module switches to the CouchDB service. When the consumption of the data- item starts at 7s (or 16th request) the application buffer size is reducing, at request 21 , when the buffer size is 8 (40%), the AS changes to in memory storage service. In summary, based on the application buffer size at the UE, a criterion can be enforced at the Storage Decision Module to switch from fast-to-slow or vice-versa as in the case of Adaptive Bit Rate Streaming.
[0103] Storage scenarios
[0104] Though storage service appears to be an abstract service for the UE and the AS, the storage services deployed in the data center can bring out various storage access scenarios which in turn widely varies access times of data. End-to-end storage access times can be split into 4 major components x, v, y and z, which are discussed below:
[0105] - Component ‘x’: This part represents the latency required to reach the 5G core from the UE. The 5G standards expect this latency to be < 1ms; It may be assumed that this is to be a non-avoidable part of end-to-end latency which does not vary. However, this delay can significantly vary.
[0106] - Component ‘v’: This part represents the latency incurred at the AS, it may be due to the processing of application logic in a Fluid Computing Scenario, or latency incurred to predict throughput and perform policy switches. It also includes the time taken to locate the data item. This part of latency can vary and presents a variable QoS requirement for storage access to the Storage Service Module. While specifying QoS metric deadlines for storage decision module, these overheads may be considered.
[0107] - Component ‘y’: This part indicates the time required to perform the storage operation. The contribution of latency from storage services can highly vary, sometimes in an order of magnitude, depending on the type of storage service being accessed (in-memory or disk based).
[0108] - Component ‘z’: The access times also change based on whether data is being retrieved from a on-premises local node, remote node or a Hyper Scale Provider (Public Cloud Provider). The variability may be factored in storage access times to perform data- retrieval or download operations.
[0109] The various scenarios that arise over the datacenter are discussed below: Scenario 1: Represents the case of data being present on the same node as of the AS. This scenario is the simplest scenario where only hierarchy of storage service is present. Embodiments herein are based on this scenario. Scenario 1 is also illustrated in Fig. 1 , where the AS is shown as Served . Scenario 1 thus relates to a data item being accessed from a local node in a data center (DC1).
[0110] Scenario 2: Represents the case where the data item is present in a different node (server 2) than that of AS (server 1). Here the component z is introduced, as the data-item is retrieved from a remote node in the same DC, the interconnection bandwidth between Served and Server2 determines the z latency. Scenario 2 thus describes a data item present in another node in the same data center (DC1).
[0111] Scenario 3: This scenario is similar to that of Scenario 2, except that the node that contains the data item is present in a different data center. Such scenarios can occur due to the reasons of privacy, where a policy can enforce data not to be stored in specific data centers. Scenario 3 thus describes a data item present in a remote node in a different data center (DC2).
[0112] Scenario 4: The final scenario is the logical extension of data retrieval from a remote node. Here the remote node is a storage service provided by a Hyperscale Cloud Provider (HCP). In this case, the z component of end-to-end latency involves accessing a storage service through the internet. Scenario 4 thus describes a data item present in a storage service in one of the HSPs.
[0113] Impact on Fluid Computing
[0114] The type of storage service chosen can dictate the latency budget available for an application’s compute. Or in another way, if Fluid Computing has a time estimation based on a specific compute resource, the remaining time in the end-to-end latency will be given as a storage budget, as a QoS requirement.
[0115] Compliance to 3GPP standards
[0116] Embodiments herein may comply with the 3GPP standards. The Throughput Estimation Module may be a part of the AF module in the standards for 5G Media Streaming use-case. The network parameters related to the UE may be fetched directly from appropriate 5G core functions for trusted applications or through the NEF for untrusted applications. The UE and Application parameters such as buffer-size, bit-rate, battery related statistics, location etc., may be communicated to the AF through a M5d interface. The RAN modem module at the UE may retrieve UE’s network related parameters, the application and UE’s hardware related parameters may be fetched by the application’s API and Host OS APIs. The actual data may be served by the 5GMSd AS, this may be envisioned as the data center which comprises of multiple storage services that are managed via storage decision module.
[0117] Fig. 6 is a block diagram depicting the network node 12 configured to handle a storage of data, wherein the network node 12 operates in a communication network 1 , according to embodiments herein. The network node 12 may comprise processing circuitry 601 , e.g., one or more processors, configured to perform the methods herein.
[0118] The network node 12 may comprise a memory 605. The memory 1105 comprises one or more units to be used to store data on, such as data packets, data storage, data, indications, messages, network information, configurations, information, input parameters, network parameters, UE parameters, storage parameters, events and applications to perform the method disclosed herein when being executed, and similar. Furthermore, the network node 12 comprises a network interface 606 such as comprising a transmitter, a receiver, a transceiver and / or one or more antennas, configured to communicate with other network nodes.
[0119] The network node 12 and / or the processing circuitry 601 is configured to determine the storage placement based on one or more input parameters. The storage placement may be determined dynamically. The one or more input parameters may comprise one or more of: network parameters, UE parameters and storage parameters. The one or more input parameters may have a predefined priority indicating the importance of the parameter, and wherein the storage placement may be determined based on the priority of the one or more input parameters. The storage placement may be determined based on the type of application.
[0120] The methods according to the embodiments described herein for the network node 12 are respectively implemented by means of, e.g., a computer program product 607 or a computer program, comprising instructions, i.e. , software code portions, which, when executed on at least one processor, cause the at least one processor to carry out the actions described herein, as performed by the network node 12. The computer program product 607 may be stored on a computer-readable storage medium 608, e.g., a disc, a universal serial bus (USB) stick or similar. The computer-readable storage medium 608, having stored thereon the computer program product, may comprise the instructions which, when executed on at least one processor, cause the at least one processor to carry out the actions described herein, as performed by the network node 12. In some embodiments, the computer-readable storage medium may be a transitory or a non-transitory computer-readable storage medium. Thus, embodiments herein may disclose the network node 12 for handling communication in a communication network, wherein the network node 12 comprises processing circuitry and a memory, said memory comprising instructions executable by said processing circuitry whereby said network node 12 is operative to perform the method herein. In some embodiments a more general term “network node” or “radio network node” is used and it can correspond to any type of radio-network node or any network node, which communicates with a UE and / or with another network node.
[0121] In some embodiments the non-limiting term wireless device or UE is used and it refers to any type of wireless device communicating with a network node and / or with another wireless device in a cellular or mobile communication system. Examples of UE are target device, device to device (D2D) UE, proximity capable UE (aka ProSe UE), loT capable device, machine type UE or UE capable of machine to machine (M2M) communication, Tablet, mobile terminals, smart phone, laptop embedded equipped (LEE), laptop mounted equipment (LME), USB dongles etc.
[0122] Embodiments are applicable to any RAT or multi-RAT systems, where the wireless device receives and / or transmit signals (e.g. data) e.g. 6G, NR, Wi-Fi, LTE, LTE-Advanced, WCDMA, Global System for Mobile communications / enhanced Data rate for GSM Evolution (GSM / EDGE), Worldwide Interoperability for Microwave Access (WiMax), or Ultra Mobile Broadband (UMB), just to mention a few possible implementations.
[0123] As will be readily understood by those familiar with communications design, that functions means or circuits may be implemented using digital logic and / or one or more microcontrollers, microprocessors, or other digital hardware. In some embodiments, several or all of the various functions may be implemented together, such as in a single application-specific integrated circuit (ASIC), or in two or more separate devices with appropriate hardware and / or software interfaces between them. Several of the functions may be implemented on a processor shared with other functional components of a wireless device or network node, for example.
[0124] Alternatively, several of the functional elements of the processing means discussed may be provided through the use of dedicated hardware, while others are provided with hardware for executing software, in association with the appropriate software or firmware. Thus, the term “processor” or “controller” as used herein does not exclusively refer to hardware capable of executing software and may implicitly include, without limitation, digital signal processor (DSP) hardware and / or program or application data. Other hardware, conventional and / or custom, may also be included. Designers of communications devices will appreciate the cost, performance, and maintenance trade-offs inherent in these design choices.
[0125] Any appropriate steps, methods, features, functions, or benefits disclosed herein may be performed through one or more functional units or modules of one or more virtual apparatuses. Each virtual apparatus may comprise a number of these functional units. These functional units may be implemented via processing circuitry, which may include one or more microprocessor or microcontrollers, as well as other digital hardware, which may include digital signal processors (DSPs), special-purpose digital logic, and the like. The processing circuitry may be configured to execute program code stored in memory, which may include one or several types of memory such as read-only memory (ROM), random-access memory (RAM), cache memory, flash memory devices, optical storage devices, etc. Program code stored in memory includes program instructions for executing one or more telecommunications and / or data communications protocols as well as instructions for carrying out one or more of the techniques described herein. In some implementations, the processing circuitry may be used to cause the respective functional unit to perform corresponding functions according one or more embodiments of the present disclosure.
[0126] Fig. 7 shows an example of a communication system QQ100 in accordance with some embodiments.
[0127] In the example, the communication system QQ100 includes a telecommunication network QQ102 that includes an access network QQ104, such as a radio access network (RAN), and a core network QQ106, which includes one or more core network nodes QQ108. The access network QQ104 includes one or more access network nodes, such as network nodes QQ110a and QQ110b (one or more of which may be generally referred to as network nodes QQ110) being examples of the network node 12, or any other similar 3rd Generation Partnership Project (3GPP) access nodes or non-3GPP access points. Moreover, as will be appreciated by those of skill in the art, a network node, being examples of the entities herein, is not necessarily limited to an implementation in which a radio portion and a baseband portion are supplied and integrated by a single vendor. Thus, it will be understood that network nodes include disaggregated implementations or portions thereof. For example, in some embodiments, the telecommunication network QQ102 includes one or more Open-RAN (ORAN) network nodes. An ORAN network node is a node in the telecommunication network QQ102 that supports an ORAN specification (e.g., a specification published by the O-RAN Alliance, or any similar organization) and may operate alone or together with other nodes to implement one or more functionalities of any node in the telecommunication network QQ102, including one or more network nodes QQ110 and / or core network nodes QQ108. Examples of an ORAN network node include an open radio unit (0-Rll), an open distributed unit (0-Dll), an open central unit (O-CU), including an O-CU control plane (O- CLI-CP) or an O-CU user plane (O-CU-UP), a RAN intelligent controller (near-real time or non-real time) hosting software or software plug-ins, such as a near-real time control application (e.g., xApp) or a non-real time control application (e.g., rApp), or any combination thereof (the adjective “open” designating support of an ORAN specification). The network node may support a specification by, for example, supporting an interface defined by the ORAN specification, such as an A1 , F1, W1 , E1, E2, X2, Xn interface, an open fronthaul user plane interface, or an open fronthaul management plane interface. Moreover, an ORAN access node may be a logical node in a physical node. Furthermore, an ORAN network node may be implemented in a virtualization environment (described further below) in which one or more network functions are virtualized. For example, the virtualization environment may include an O-Cloud computing platform orchestrated by a Service Management and Orchestration Framework via an 0-2 interface defined by the O-RAN Alliance or comparable technologies. The network nodes QQ110 facilitate direct or indirect connection of the UE 10, such as by connecting UEs QQ112a, QQ112b, QQ112c, and QQ112d (one or more of which may be generally referred to as UEs QQ112) to the core network QQ106 over one or more wireless connections.
[0128] Example wireless communications over a wireless connection include transmitting and / or receiving wireless signals using electromagnetic waves, radio waves, infrared waves, and / or other types of signals suitable for conveying information without the use of wires, cables, or other material conductors. Moreover, in different embodiments, the communication system QQ100 may include any number of wired or wireless networks, network nodes, UEs, and / or any other components or systems that may facilitate or participate in the communication of data and / or signals whether via wired or wireless connections. The communication system QQ100 may include and / or interface with any type of communication, telecommunication, data, cellular, radio network, and / or other similar type of system.
[0129] The UEs QQ112 may be any of a wide variety of communication devices, including wireless devices arranged, configured, and / or operable to communicate wirelessly with the network nodes QQ110 and other communication devices. Similarly, the network nodes QQ110 are arranged, capable, configured, and / or operable to communicate directly or indirectly with the UEs QQ112 and / or with other network nodes or equipment in the telecommunication network QQ102 to enable and / or provide network access, such as wireless network access, and / or to perform other functions, such as administration in the telecommunication network QQ102.
[0130] In the depicted example, the core network QQ106 connects the network nodes QQ110 to one or more hosts, such as host QQ116. These connections may be direct or indirect via one or more intermediary networks or devices. In other examples, network nodes may be directly coupled to hosts. The core network QQ106 includes one more core network nodes (e.g., core network node QQ108) such as network node 12 that are structured with hardware and software components. Features of these components may be substantially similar to those described with respect to the UEs, network nodes, and / or hosts, such that the descriptions thereof are generally applicable to the corresponding components of the core network node QQ108. Example core network nodes include functions of one or more of a Mobile Switching Center (MSC), Mobility Management Entity (MME), Home Subscriber Server (HSS), Access and Mobility Management Function (AMF), Session Management Function (SMF), Authentication Server Function (ALISF), Subscription Identifier De-concealing function (SIDF), Unified Data Management (UDM), Security Edge Protection Proxy (SEPP), Network Exposure Function (NEF), and / or a User Plane Function (UPF).
[0131] The host QQ116 may be under the ownership or control of a service provider other than an operator or provider of the access network QQ104 and / or the telecommunication network QQ102, and may be operated by the service provider or on behalf of the service provider. The host QQ116 may host a variety of applications to provide one or more service. Examples of such applications include live and pre-recorded audio / video content, data collection services such as retrieving and compiling data on various ambient conditions detected by a plurality of UEs, analytics functionality, social media, functions for controlling or otherwise interacting with remote devices, functions for an alarm and surveillance center, or any other such function performed by a server.
[0132] As a whole, the communication system QQ100 of Fig. 7 enables connectivity between the UEs, network nodes, and hosts. In that sense, the communication system may be configured to operate according to predefined rules or procedures, such as specific standards that include, but are not limited to: Global System for Mobile Communications (GSM); Universal Mobile Telecommunications System (UMTS); Long Term Evolution (LTE), and / or other suitable 2G, 3G, 4G, 5G standards, or any applicable future generation standard (e.g., 6G); wireless local area network (WLAN) standards, such as the Institute of Electrical and Electronics Engineers (IEEE) 802.11 standards (WiFi); and / or any other appropriate wireless communication standard, such as the Worldwide Interoperability for Microwave Access (WiMax), Bluetooth, Z-Wave, Near Field Communication (NFC) ZigBee, LiFi, and / or any low-power wide-area network (LPWAN) standards such as LoRa and Sigfox.
[0133] In some examples, the telecommunication network QQ102 is a cellular network that implements 3GPP standardized features. Accordingly, the telecommunications network QQ102 may support network slicing to provide different logical networks to different devices that are connected to the telecommunication network QQ102. For example, the telecommunications network QQ102 may provide Ultra Reliable Low Latency Communication (URLLC) services to some UEs, while providing Enhanced Mobile Broadband (eMBB) services to other UEs, and / or Massive Machine Type Communication (mMTC) / Massive loT services to yet further UEs.
[0134] In some examples, the UEs QQ112 are configured to transmit and / or receive information without direct human interaction. For instance, a UE may be designed to transmit information to the access network QQ104 on a predetermined schedule, when triggered by an internal or external event, or in response to requests from the access network QQ104. Additionally, a UE may be configured for operating in single- or multi- RAT or multi-standard mode. For example, a UE may operate with any one or combination of Wi-Fi, NR (New Radio) and LTE, i.e. being configured for multi-radio dual connectivity (MR-DC), such as E-UTRAN (Evolved-UMTS Terrestrial Radio Access Network) New Radio - Dual Connectivity (EN-DC).
[0135] In the example, the hub QQ114 communicates with the access network QQ104 to facilitate indirect communication between one or more UEs (e.g., UE QQ112c and / or QQ112d) and network nodes (e.g., network node QQ110b). In some examples, the hub QQ114 may be a controller, router, content source and analytics, or any of the other communication devices described herein regarding UEs. For example, the hub QQ114 may be a broadband router enabling access to the core network QQ106 for the UEs. As another example, the hub QQ114 may be a controller that sends commands or instructions to one or more actuators in the UEs. Commands or instructions may be received from the UEs, network nodes QQ110, or by executable code, script, process, or other instructions in the hub QQ114. As another example, the hub QQ114 may be a data collector that acts as temporary storage for UE data and, in some embodiments, may perform analysis or other processing of the data. As another example, the hub QQ114 may be a content source. For example, for a UE that is a VR headset, display, loudspeaker or other media delivery device, the hub QQ114 may retrieve VR assets, video, audio, or other media or data related to sensory information via a network node, which the hub QQ114 then provides to the UE either directly, after performing local processing, and / or after adding additional local content. In still another example, the hub QQ114 acts as a proxy server or orchestrator for the UEs, in particular if one or more of the UEs are low energy loT devices.
[0136] The hub QQ114 may have a constant / persistent or intermittent connection to the network node QQ110b. The hub QQ114 may also allow for a different communication scheme and / or schedule between the hub QQ114 and UEs (e.g., UE QQ112c and / or QQ112d), and between the hub QQ114 and the core network QQ106. In other examples, the hub QQ114 is connected to the core network QQ106 and / or one or more UEs via a wired connection. Moreover, the hub QQ114 may be configured to connect to an M2M service provider over the access network QQ104 and / or to another UE over a direct connection. In some scenarios, UEs may establish a wireless connection with the network nodes QQ110 while still connected via the hub QQ114 via a wired or wireless connection. In some embodiments, the hub QQ114 may be a dedicated hub - that is, a hub whose primary function is to route communications to / from the UEs from / to the network node QQ110b. In other embodiments, the hub QQ114 may be a non-dedicated hub - that is, a device which is capable of operating to route communications between the UEs and network node QQ110b, but which is additionally capable of operating as a communication start and / or end point for certain data channels.
[0137] Fig. 8 shows a UE QQ200 in accordance with some embodiments. As used herein, a UE refers to a device capable, configured, arranged and / or operable to communicate wirelessly with network nodes and / or other UEs. Examples of a UE include, but are not limited to, a smart phone, mobile phone, cell phone, voice over IP (VoIP) phone, wireless local loop phone, desktop computer, personal digital assistant (PDA), wireless cameras, gaming console or device, music storage device, playback appliance, wearable terminal device, wireless endpoint, mobile station, tablet, laptop, laptop-embedded equipment (LEE), laptop-mounted equipment (LME), smart device, wireless customer-premise equipment (CPE), vehicle, vehicle-mounted or vehicle embedded / integrated wireless device, etc. Other examples include any UE identified by the 3rd Generation Partnership Project (3GPP), including a narrow band internet of things (NB-loT) UE, a machine type communication (MTC) UE, and / or an enhanced MTC (eMTC) UE.
[0138] A UE may support device-to-device (D2D) communication, for example by implementing a 3GPP standard for sidelink communication, Dedicated Short-Range Communication (DSRC), vehicle-to-vehicle (V2V), vehicle-to-infrastructure (V2I), or vehicle-to-everything (V2X). In other examples, a UE may not necessarily have a user in the sense of a human user who owns and / or operates the relevant device. Instead, a UE may represent a device that is intended for sale to, or operation by, a human user but which may not, or which may not initially, be associated with a specific human user (e.g., a smart sprinkler controller). Alternatively, a UE may represent a device that is not intended for sale to, or operation by, an end user but which may be associated with or operated for the benefit of a user (e.g., a smart power meter).
[0139] The UE QQ200 includes processing circuitry QQ202 that is operatively coupled via a bus QQ204 to an input / output interface QQ206, a power source QQ208, a memory QQ210, a communication interface QQ212, and / or any other component, or any combination thereof. Certain UEs may utilize all or a subset of the components shown in Fig. 8. The level of integration between the components may vary from one UE to another UE. Further, certain UEs may contain multiple instances of a component, such as multiple processors, memories, transceivers, transmitters, receivers, etc.
[0140] The processing circuitry QQ202 is configured to process instructions and data and may be configured to implement any sequential state machine operative to execute instructions stored as machine-readable computer programs in the memory QQ210. The processing circuitry QQ202 may be implemented as one or more hardware-implemented state machines (e.g., in discrete logic, field-programmable gate arrays (FPGAs), application specific integrated circuits (ASICs), etc.); programmable logic together with appropriate firmware; one or more stored computer programs, general-purpose processors, such as a microprocessor or digital signal processor (DSP), together with appropriate software; or any combination of the above. For example, the processing circuitry QQ202 may include multiple central processing units (CPUs).
[0141] In the example, the input / output interface QQ206 may be configured to provide an interface or interfaces to an input device, output device, or one or more input and / or output devices. Examples of an output device include a speaker, a sound card, a video card, a display, a monitor, a printer, an actuator, an emitter, a smartcard, another output device, or any combination thereof. An input device may allow a user to capture information into the UE QQ200. Examples of an input device include a touch-sensitive or presence-sensitive display, a camera (e.g., a digital camera, a digital video camera, a web camera, etc.), a microphone, a sensor, a mouse, a trackball, a directional pad, a trackpad, a scroll wheel, a smartcard, and the like. The presence-sensitive display may include a capacitive or resistive touch sensor to sense input from a user. A sensor may be, for instance, an accelerometer, a gyroscope, a tilt sensor, a force sensor, a magnetometer, an optical sensor, a proximity sensor, a biometric sensor, etc., or any combination thereof. An output device may use the same type of interface port as an input device. For example, a Universal Serial Bus (USB) port may be used to provide an input device and an output device.
[0142] In some embodiments, the power source QQ208 is structured as a battery or battery pack. Other types of power sources, such as an external power source (e.g., an electricity outlet), photovoltaic device, or power cell, may be used. The power source QQ208 may further include power circuitry for delivering power from the power source QQ208 itself, and / or an external power source, to the various parts of the UE QQ200 via input circuitry or an interface such as an electrical power cable. Delivering power may be, for example, for charging of the power source QQ208. Power circuitry may perform any formatting, converting, or other modification to the power from the power source QQ208 to make the power suitable for the respective components of the UE QQ200 to which power is supplied.
[0143] The memory QQ210 may be or be configured to include memory such as random access memory (RAM), read-only memory (ROM), programmable read-only memory (PROM), erasable programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic disks, optical disks, hard disks, removable cartridges, flash drives, and so forth. In one example, the memory QQ210 includes one or more application programs QQ214, such as an operating system, web browser application, a widget, gadget engine, or other application, and corresponding data QQ216. The memory QQ210 may store, for use by the UE QQ200, any of a variety of various operating systems or combinations of operating systems.
[0144] The memory QQ210 may be configured to include a number of physical drive units, such as redundant array of independent disks (RAID), flash memory, USB flash drive, external hard disk drive, thumb drive, pen drive, key drive, high-density digital versatile disc (HD-DVD) optical disc drive, internal hard disk drive, Blu-Ray optical disc drive, holographic digital data storage (HDDS) optical disc drive, external mini-dual in-line memory module (DIMM), synchronous dynamic random access memory (SDRAM), external micro-DIMM SDRAM, smartcard memory such as tamper resistant module in the form of a universal integrated circuit card (UICC) including one or more subscriber identity modules (SIMs), such as a USIM and / or ISIM, other memory, or any combination thereof. The UICC may for example be an embedded UICC (eUlCC), integrated UICC (iUICC) or a removable UICC commonly known as ‘SIM card.’ The memory QQ210 may allow the UE QQ200 to access instructions, application programs and the like, stored on transitory or non-transitory memory media, to off-load data, or to upload data. An article of manufacture, such as one utilizing a communication system may be tangibly embodied as or in the memory QQ210, which may be or comprise a device-readable storage medium.
[0145] The processing circuitry QQ202 may be configured to communicate with an access network or other network using the communication interface QQ212. The communication interface QQ212 may comprise one or more communication subsystems and may include or be communicatively coupled to an antenna QQ222. The communication interface QQ212 may include one or more transceivers used to communicate, such as by communicating with one or more remote transceivers of another device capable of wireless communication (e.g., another UE or a network node in an access network). Each transceiver may include a transmitter QQ218 and / or a receiver QQ220 appropriate to provide network communications (e.g., optical, electrical, frequency allocations, and so forth). Moreover, the transmitter QQ218 and receiver QQ220 may be coupled to one or more antennas (e.g., antenna QQ222) and may share circuit components, software or firmware, or alternatively be implemented separately.
[0146] In the illustrated embodiment, communication functions of the communication interface QQ212 may include cellular communication, Wi-Fi communication, LPWAN communication, data communication, voice communication, multimedia communication, short-range communications such as Bluetooth, near-field communication, location-based communication such as the use of the global positioning system (GPS) to determine a location, another like communication function, or any combination thereof. Communications may be implemented in according to one or more communication protocols and / or standards, such as IEEE 802.11, Code Division Multiplexing Access (CDMA), WCDMA, GSM, LTE, NR, UMTS, WiMax, Ethernet, transmission control protocol / internet protocol (TCP / IP), synchronous optical networking (SONET), Asynchronous Transfer Mode (ATM), QUIC, Hypertext Transfer Protocol (HTTP), and so forth.
[0147] Regardless of the type of sensor, a UE may provide an output of data captured by its sensors, through its communication interface QQ212, via a wireless connection to a network node. Data captured by sensors of a UE can be communicated through a wireless connection to a network node via another UE. The output may be periodic (e.g., once every 15 minutes if it reports the sensed temperature), random (e.g., to even out the load from reporting from several sensors), in response to a triggering event (e.g., when moisture is detected an alert is sent), in response to a request (e.g., a user initiated request), or a continuous stream (e.g., a live video feed of a patient). As another example, a UE comprises an actuator, a motor, or a switch, related to a communication interface configured to receive wireless input from a network node via a wireless connection. In response to the received wireless input the states of the actuator, the motor, or the switch may change. For example, the UE may comprise a motor that adjusts the control surfaces or rotors of a drone in flight according to the received input or to a robotic arm performing a medical procedure according to the received input.
[0148] A UE, when in the form of an Internet of Things (loT) device, may be a device for use in one or more application domains, these domains comprising, but not limited to, city wearable technology, extended industrial application and healthcare. Non-limiting examples of such an loT device are a device which is or which is embedded in: a connected refrigerator or freezer, a TV, a connected lighting device, an electricity meter, a robot vacuum cleaner, a voice controlled smart speaker, a home security camera, a motion detector, a thermostat, a smoke detector, a door / window sensor, a flood / moisture sensor, an electrical door lock, a connected doorbell, an air conditioning system like a heat pump, an autonomous vehicle, a surveillance system, a weather monitoring device, a vehicle parking monitoring device, an electric vehicle charging station, a smart watch, a fitness tracker, a head-mounted display for Augmented Reality (AR) or Virtual Reality (VR), a wearable for tactile augmentation or sensory enhancement, a water sprinkler, an animal- or item-tracking device, a sensor for monitoring a plant or animal, an industrial robot, an Unmanned Aerial Vehicle (UAV), and any kind of medical device, like a heart rate monitor or a remote controlled surgical robot. A UE in the form of an loT device comprises circuitry and / or software in dependence of the intended application of the loT device in addition to other components as described in relation to the UE QQ200 shown in Fig. 8.
[0149] As yet another specific example, in an loT scenario, a UE may represent a machine or other device that performs monitoring and / or measurements, and transmits the results of such monitoring and / or measurements to another UE and / or a network node. The UE may in this case be an M2M device, which may in a 3GPP context be referred to as an MTC device. As one particular example, the UE may implement the 3GPP NB-loT standard. In other scenarios, a UE may represent a vehicle, such as a car, a bus, a truck, a ship and an airplane, or other equipment that is capable of monitoring and / or reporting on its operational status or other functions associated with its operation.
[0150] In practice, any number of UEs may be used together with respect to a single use case. For example, a first UE might be or be integrated in a drone and provide the drone’s speed information (obtained through a speed sensor) to a second UE that is a remote controller operating the drone. When the user makes changes from the remote controller, the first UE may adjust the throttle on the drone (e.g. by controlling an actuator) to increase or decrease the drone’s speed. The first and / or the second UE can also include more than one of the functionalities described above. For example, a UE might comprise the sensor and the actuator, and handle communication of data for both the speed sensor and the actuators.
[0151] Fig. 9 shows a network node QQ300 in accordance with some embodiments. As used herein, network node refers to equipment capable, configured, arranged and / or operable to communicate directly or indirectly with a UE and / or with other network nodes or equipment, in a telecommunication network. Examples of network nodes include, but are not limited to, access points (APs) (e.g., radio access points), base stations (BSs) (e.g., radio base stations, Node Bs, evolved Node Bs (eNBs) and NR NodeBs (gNBs)), O- RAN nodes or components of an O-RAN node (e.g., O-RU, O-DU, O-CU).
[0152] Base stations may be categorized based on the amount of coverage they provide (or, stated differently, their transmit power level) and so, depending on the provided amount of coverage, may be referred to as femto base stations, pico base stations, micro base stations, or macro base stations. A base station may be a relay node or a relay donor node controlling a relay. A network node may also include one or more (or all) parts of a distributed radio base station such as centralized digital units, distributed units (e.g., in an O-RAN access node) and / or remote radio units (RRUs), sometimes referred to as Remote Radio Heads (RRHs). Such remote radio units may or may not be integrated with an antenna as an antenna integrated radio. Parts of a distributed radio base station may also be referred to as nodes in a distributed antenna system (DAS).
[0153] Other examples of network nodes include multiple transmission point (multi-TRP) 5G access nodes, multi-standard radio (MSR) equipment such as MSR BSs, network controllers such as radio network controllers (RNCs) or base station controllers (BSCs), base transceiver stations (BTSs), transmission points, transmission nodes, multi- cell / multicast coordination entities (MCEs), Operation and Maintenance (O&M) nodes, Operations Support System (OSS) nodes, Self-Organizing Network (SON) nodes, positioning nodes (e.g., Evolved Serving Mobile Location Centers (E-SMLCs)), and / or Minimization of Drive Tests (MDTs).
[0154] The network node QQ300 includes a processing circuitry QQ302, a memory QQ304, a communication interface QQ306, and a power source QQ308. The network node QQ300 may be composed of multiple physically separate components (e.g., a NodeB component and a RNC component, or a BTS component and a BSC component, etc.), which may each have their own respective components. In certain scenarios in which the network node QQ300 comprises multiple separate components (e.g., BTS and BSC components), one or more of the separate components may be shared among several network nodes. For example, a single RNC may control multiple NodeBs. In such a scenario, each unique NodeB and RNC pair, may in some instances be considered a single separate network node. In some embodiments, the network node QQ300 may be configured to support multiple radio access technologies (RATs). In such embodiments, some components may be duplicated (e.g., separate memory QQ304 for different RATs) and some components may be reused (e.g., a same antenna QQ310 may be shared by different RATs). The network node QQ300 may also include multiple sets of the various illustrated components for different wireless technologies integrated into network node QQ300, for example GSM, WCDMA, LTE, NR, WiFi, Zigbee, Z-wave, LoRaWAN, Radio Frequency Identification (RFID) or Bluetooth wireless technologies. These wireless technologies may be integrated into the same or different chip or set of chips and other components within network node QQ300.
[0155] The processing circuitry QQ302 may comprise a combination of one or more of a microprocessor, controller, microcontroller, central processing unit, digital signal processor, application-specific integrated circuit, field programmable gate array, or any other suitable computing device, resource, or combination of hardware, software and / or encoded logic operable to provide, either alone or in conjunction with other network node QQ300 components, such as the memory QQ304, to provide network node QQ300 functionality.
[0156] In some embodiments, the processing circuitry QQ302 includes a system on a chip (SOC). In some embodiments, the processing circuitry QQ302 includes one or more of radio frequency (RF) transceiver circuitry QQ312 and baseband processing circuitry QQ314. In some embodiments, the radio frequency (RF) transceiver circuitry QQ312 and the baseband processing circuitry QQ314 may be on separate chips (or sets of chips), boards, or units, such as radio units and digital units. In alternative embodiments, part or all of RF transceiver circuitry QQ312 and baseband processing circuitry QQ314 may be on the same chip or set of chips, boards, or units.
[0157] The memory QQ304 may comprise any form of volatile or non-volatile computer- readable memory including, without limitation, persistent storage, solid-state memory, remotely mounted memory, magnetic media, optical media, random access memory (RAM), read-only memory (ROM), mass storage media (for example, a hard disk), removable storage media (for example, a flash drive, a Compact Disk (CD) or a Digital Video Disk (DVD)), and / or any other volatile or non-volatile, non-transitory device- readable and / or computer-executable memory devices that store information, data, and / or instructions that may be used by the processing circuitry QQ302. The memory QQ304 may store any suitable instructions, data, or information, including a computer program, software, an application including one or more of logic, rules, code, tables, and / or other instructions capable of being executed by the processing circuitry QQ302 and utilized by the network node QQ300. The memory QQ304 may be used to store any calculations made by the processing circuitry QQ302 and / or any data received via the communication interface QQ306. In some embodiments, the processing circuitry QQ302 and memory QQ304 is integrated.
[0158] The communication interface QQ306 is used in wired or wireless communication of signalling and / or data between a network node, access network, and / or UE. As illustrated, the communication interface QQ306 comprises port(s) / terminal(s) QQ316 to send and receive data, for example to and from a network over a wired connection. The communication interface QQ306 also includes radio front-end circuitry QQ318 that may be coupled to, or in certain embodiments a part of, the antenna QQ310. Radio front-end circuitry QQ318 comprises filters QQ320 and amplifiers QQ322. The radio front-end circuitry QQ318 may be connected to an antenna QQ310 and processing circuitry QQ302. The radio front-end circuitry may be configured to condition signals communicated between antenna QQ310 and processing circuitry QQ302. The radio front-end circuitry QQ318 may receive digital data that is to be sent out to other network nodes or UEs via a wireless connection. The radio front-end circuitry QQ318 may convert the digital data into a radio signal having the appropriate channel and bandwidth parameters using a combination of filters QQ320 and / or amplifiers QQ322. The radio signal may then be transmitted via the antenna QQ310. Similarly, when receiving data, the antenna QQ310 may collect radio signals which are then converted into digital data by the radio front-end circuitry QQ318. The digital data may be passed to the processing circuitry QQ302. In other embodiments, the communication interface may comprise different components and / or different combinations of components.
[0159] In certain alternative embodiments, the network node QQ300 does not include separate radio front-end circuitry QQ318, instead, the processing circuitry QQ302 includes radio front-end circuitry and is connected to the antenna QQ310. Similarly, in some embodiments, all or some of the RF transceiver circuitry QQ312 is part of the communication interface QQ306. In still other embodiments, the communication interface QQ306 includes one or more ports or terminals QQ316, the radio front-end circuitry QQ318, and the RF transceiver circuitry QQ312, as part of a radio unit (not shown), and the communication interface QQ306 communicates with the baseband processing circuitry QQ314, which is part of a digital unit (not shown).
[0160] The antenna QQ310 may include one or more antennas, or antenna arrays, configured to send and / or receive wireless signals. The antenna QQ310 may be coupled to the radio front-end circuitry QQ318 and may be any type of antenna capable of transmitting and receiving data and / or signals wirelessly. In certain embodiments, the antenna QQ310 is separate from the network node QQ300 and connectable to the network node QQ300 through an interface or port.
[0161] The antenna QQ310, communication interface QQ306, and / or the processing circuitry QQ302 may be configured to perform any receiving operations and / or certain obtaining operations described herein as being performed by the network node. Any information, data and / or signals may be received from a UE, another network node and / or any other network equipment. Similarly, the antenna QQ310, the communication interface QQ306, and / or the processing circuitry QQ302 may be configured to perform any transmitting operations described herein as being performed by the network node. Any information, data and / or signals may be transmitted to a UE, another network node and / or any other network equipment.
[0162] The power source QQ308 provides power to the various components of network node QQ300 in a form suitable for the respective components (e.g., at a voltage and current level needed for each respective component). The power source QQ308 may further comprise, or be coupled to, power management circuitry to supply the components of the network node QQ300 with power for performing the functionality described herein. For example, the network node QQ300 may be connectable to an external power source (e.g., the power grid, an electricity outlet) via an input circuitry or interface such as an electrical cable, whereby the external power source supplies power to power circuitry of the power source QQ308. As a further example, the power source QQ308 may comprise a source of power in the form of a battery or battery pack which is connected to, or integrated in, power circuitry. The battery may provide backup power should the external power source fail.
[0163] Embodiments of the network node QQ300 may include additional components beyond those shown in Fig. 9 for providing certain aspects of the network node’s functionality, including any of the functionality described herein and / or any functionality necessary to support the subject matter described herein. For example, the network node QQ300 may include user interface equipment to allow input of information into the network node QQ300 and to allow output of information from the network node QQ300. This may allow a user to perform diagnostic, maintenance, repair, and other administrative functions for the network node QQ300.
[0164] Fig. 10 is a block diagram of a host QQ400, which may be an embodiment of the host QQ116 of Fig. 7, in accordance with various aspects described herein. As used herein, the host QQ400 may be or comprise various combinations hardware and / or software, including a standalone server, a blade server, a cloud-implemented server, a distributed server, a virtual machine, container, or processing resources in a server farm. The host QQ400 may provide one or more services to one or more UEs.
[0165] The host QQ400 includes processing circuitry QQ402 that is operatively coupled via a bus QQ404 to an input / output interface QQ406, a network interface QQ408, a power source QQ410, and a memory QQ412. Other components may be included in other embodiments. Features of these components may be substantially similar to those described with respect to the devices of previous figures, such as Figs. 8 and 9, such that the descriptions thereof are generally applicable to the corresponding components of host QQ400.
[0166] The memory QQ412 may include one or more computer programs including one or more host application programs QQ414 and data QQ416, which may include user data, e.g., data generated by a UE for the host QQ400 or data generated by the host QQ400 for a UE. Embodiments of the host QQ400 may utilize only a subset or all of the components shown. The host application programs QQ414 may be implemented in a container-based architecture and may provide support for video codecs (e.g., Versatile Video Coding (VVC), High Efficiency Video Coding (HEVC), Advanced Video Coding (AVC), MPEG, VP9) and audio codecs (e.g., FLAG, Advanced Audio Coding (AAC), MPEG, G.711), including transcoding for multiple different classes, types, or implementations of UEs (e.g., handsets, desktop computers, wearable display systems, heads-up display systems). The host application programs QQ414 may also provide for user authentication and licensing checks and may periodically report health, routes, and content availability to a central node, such as a device in or on the edge of a core network. Accordingly, the host QQ400 may select and / or indicate a different host for over-the-top services for a UE. The host application programs QQ414 may support various protocols, such as the HTTP Live Streaming (HLS) protocol, Real-Time Messaging Protocol (RTMP), Real-Time Streaming Protocol (RTSP), Dynamic Adaptive Streaming over HTTP (MPEG-DASH), etc.
[0167] Fig. 11 is a block diagram illustrating a virtualization environment QQ500 in which functions implemented by some embodiments may be virtualized. In the present context, virtualizing means creating virtual versions of apparatuses or devices which may include virtualizing hardware platforms, storage devices and networking resources. As used herein, virtualization can be applied to any device described herein, or components thereof, and relates to an implementation in which at least a portion of the functionality is implemented as one or more virtual components. Some or all of the functions described herein may be implemented as virtual components executed by one or more virtual machines (VMs) implemented in one or more virtual environments QQ500 hosted by one or more of hardware nodes, such as a hardware computing device that operates as a network node, UE, core network node, or host. Further, in embodiments in which the virtual node does not require radio connectivity (e.g., a core network node or host), then the node may be entirely virtualized. In some embodiments, the virtualization environment QQ500 includes components defined by the O-RAN Alliance, such as an O- Cloud environment orchestrated by a Service Management and Orchestration Framework via an 0-2 interface.
[0168] Applications QQ502 (which may alternatively be called software instances, virtual appliances, network functions, virtual nodes, virtual network functions, etc.) are run in the virtualization environment Q400 to implement some of the features, functions, and / or benefits of some of the embodiments disclosed herein.
[0169] Hardware QQ504 includes processing circuitry, memory that stores software and / or instructions executable by hardware processing circuitry, and / or other hardware devices as described herein, such as a network interface, input / output interface, and so forth. Software may be executed by the processing circuitry to instantiate one or more virtualization layers QQ506 (also referred to as hypervisors or virtual machine monitors (VMMs)), provide VMs QQ508a and QQ508b (one or more of which may be generally referred to as VMs QQ508), and / or perform any of the functions, features and / or benefits described in relation with some embodiments described herein. The virtualization layer QQ506 may present a virtual operating platform that appears like networking hardware to the VMs QQ508.
[0170] The VMs QQ508 comprise virtual processing, virtual memory, virtual networking or interface and virtual storage, and may be run by a corresponding virtualization layer QQ506. Different embodiments of the instance of a virtual appliance QQ502 may be implemented on one or more of VMs QQ508, and the implementations may be made in different ways. Virtualization of the hardware is in some contexts referred to as network function virtualization (NFV). NFV may be used to consolidate many network equipment types onto industry standard high volume server hardware, physical switches, and physical storage, which can be located in data centers, and customer premise equipment.
[0171] In the context of NFV, a VM QQ508 may be a software implementation of a physical machine that runs programs as if they were executing on a physical, non-virtualized machine. Each of the VMs QQ508, and that part of hardware QQ504 that executes that VM, be it hardware dedicated to that VM and / or hardware shared by that VM with others of the VMs, forms separate virtual network elements. Still in the context of NFV, a virtual network function is responsible for handling specific network functions that run in one or more VMs QQ508 on top of the hardware QQ504 and corresponds to the application QQ502.
[0172] Hardware QQ504 may be implemented in a standalone network node with generic or specific components. Hardware QQ504 may implement some functions via virtualization. Alternatively, hardware QQ504 may be part of a larger cluster of hardware (e.g. such as in a data center or CPE) where many hardware nodes work together and are managed via management and orchestration QQ510, which, among others, oversees lifecycle management of applications QQ502. In some embodiments, hardware QQ504 is coupled to one or more radio units that each include one or more transmitters and one or more receivers that may be coupled to one or more antennas. Radio units may communicate directly with other hardware nodes via one or more appropriate network interfaces and may be used in combination with the virtual components to provide a virtual node with radio capabilities, such as a radio access node or a base station. In some embodiments, some signalling can be provided with the use of a control system QQ512 which may alternatively be used for communication between hardware nodes and radio units.
[0173] Fig. 12 shows a communication diagram of a host QQ602 communicating via a network node QQ604 with a UE QQ606 over a partially wireless connection in accordance with some embodiments. Example implementations, in accordance with various embodiments, of the UE (such as a UE QQ112a of Fig. 7 and / or UE QQ200 of Fig. 8), network node (such as network node QQ110a of Fig. 7 and / or network node QQ300 of Fig. 9), and host (such as host QQ116 of Fig. 7 and / or host QQ400 of Fig. 10) discussed in the preceding paragraphs will now be described with reference to Fig. 12.
[0174] Like host QQ400, embodiments of host QQ602 include hardware, such as a communication interface, processing circuitry, and memory. The host QQ602 also includes software, which is stored in or accessible by the host QQ602 and executable by the processing circuitry. The software includes a host application that may be operable to provide a service to a remote user, such as the UE QQ606 connecting via an over-the-top (OTT) connection QQ650 extending between the UE QQ606 and host QQ602. In providing the service to the remote user, a host application may provide user data which is transmitted using the OTT connection QQ650.
[0175] The network node QQ604 includes hardware enabling it to communicate with the host QQ602 and UE QQ606. The connection QQ660 may be direct or pass through a core network (like core network QQ106 of Figure 7) and / or one or more other intermediate networks, such as one or more public, private, or hosted networks. For example, an intermediate network may be a backbone network or the Internet.
[0176] The UE QQ606 includes hardware and software, which is stored in or accessible by UE QQ606 and executable by the UE’s processing circuitry. The software includes a client application, such as a web browser or operator-specific “app” that may be operable to provide a service to a human or non-human user via UE QQ606 with the support of the host QQ602. In the host QQ602, an executing host application may communicate with the executing client application via the OTT connection QQ650 terminating at the UE QQ606 and host QQ602. In providing the service to the user, the UE's client application may receive request data from the host's host application and provide user data in response to the request data. The OTT connection QQ650 may transfer both the request data and the user data. The UE's client application may interact with the user to generate the user data that it provides to the host application through the OTT connection QQ650.
[0177] The OTT connection QQ650 may extend via a connection QQ660 between the host QQ602 and the network node QQ604 and via a wireless connection QQ670 between the network node QQ604 and the UE QQ606 to provide the connection between the host QQ602 and the UE QQ606. The connection QQ660 and wireless connection QQ670, over which the OTT connection QQ650 may be provided, have been drawn abstractly to illustrate the communication between the host QQ602 and the UE QQ606 via the network node QQ604, without explicit reference to any intermediary devices and the precise routing of messages via these devices.
[0178] As an example of transmitting data via the OTT connection QQ650, in step QQ608, the host QQ602 provides user data, which may be performed by executing a host application. In some embodiments, the user data is associated with a particular human user interacting with the UE QQ606. In other embodiments, the user data is associated with a UE QQ606 that shares data with the host QQ602 without explicit human interaction. In step QQ610, the host QQ602 initiates a transmission carrying the user data towards the UE QQ606. The host QQ602 may initiate the transmission responsive to a request transmitted by the UE QQ606. The request may be caused by human interaction with the UE QQ606 or by operation of the client application executing on the UE QQ606. The transmission may pass via the network node QQ604, in accordance with the teachings of the embodiments described throughout this disclosure. Accordingly, in step QQ612, the network node QQ604 transmits to the UE QQ606 the user data that was carried in the transmission that the host QQ602 initiated, in accordance with the teachings of the embodiments described throughout this disclosure. In step QQ614, the UE QQ606 receives the user data carried in the transmission, which may be performed by a client application executed on the UE QQ606 associated with the host application executed by the host QQ602.
[0179] In some examples, the UE QQ606 executes a client application which provides user data to the host QQ602. The user data may be provided in reaction or response to the data received from the host QQ602. Accordingly, in step QQ616, the UE QQ606 may provide user data, which may be performed by executing the client application. In providing the user data, the client application may further consider user input received from the user via an input / output interface of the UE QQ606. Regardless of the specific manner in which the user data was provided, the UE QQ606 initiates, in step QQ618, transmission of the user data towards the host QQ602 via the network node QQ604. In step QQ620, in accordance with the teachings of the embodiments described throughout this disclosure, the network node QQ604 receives user data from the UE QQ606 and initiates transmission of the received user data towards the host QQ602. In step QQ622, the host QQ602 receives the user data carried in the transmission initiated by the UE QQ606.
[0180] One or more of the various embodiments improve the performance of OTT services provided to the UE QQ606 using the OTT connection QQ650, in which the wireless connection QQ670 forms the last segment. More precisely, the teachings of these embodiments may improve transfer of provision of network services and thereby provide benefits such as better communication, better responsiveness, and / or better battery life.
[0181] In an example scenario, factory status information may be collected and analyzed by the host QQ602. As another example, the host QQ602 may process audio and video data which may have been retrieved from a UE for use in creating maps. As another example, the host QQ602 may collect and analyze real-time data to assist in controlling vehicle congestion (e.g., controlling traffic lights). As another example, the host QQ602 may store surveillance video uploaded by a UE. As another example, the host QQ602 may store or control access to media content such as video, audio, VR or AR which it can broadcast, multicast or unicast to UEs. As other examples, the host QQ602 may be used for energy pricing, remote control of non-time critical electrical load to balance power generation needs, location services, presentation services (such as compiling diagrams etc. from data collected from remote devices), or any other function of collecting, retrieving, storing, analyzing and / or transmitting data.
[0182] In some examples, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection QQ650 between the host QQ602 and UE QQ606, in response to variations in the measurement results. The measurement procedure and / or the network functionality for reconfiguring the OTT connection may be implemented in software and hardware of the host QQ602 and / or UE QQ606. In some embodiments, sensors (not shown) may be deployed in or in association with other devices through which the OTT connection QQ650 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software may compute or estimate the monitored quantities. The reconfiguring of the OTT connection QQ650 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not directly alter the operation of the network node QQ604. Such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary UE signalling that facilitates measurements of throughput, propagation times, latency and the like, by the host QQ602. The measurements may be implemented in that software causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection QQ650 while monitoring propagation times, errors, etc.
[0183] Although the computing devices described herein (e.g., UEs, network nodes, hosts) may include the illustrated combination of hardware components, other embodiments may comprise computing devices with different combinations of components. It is to be understood that these computing devices may comprise any suitable combination of hardware and / or software needed to perform the tasks, features, functions and methods disclosed herein. Determining, calculating, obtaining or similar operations described herein may be performed by processing circuitry, which may process information by, for example, converting the obtained information into other information, comparing the obtained information or converted information to information stored in the network node, and / or performing one or more operations based on the obtained information or converted information, and as a result of said processing making a determination. Moreover, while components are depicted as single boxes located within a larger box, or nested within multiple boxes, in practice, computing devices may comprise multiple different physical components that make up a single illustrated component, and functionality may be partitioned between separate components. For example, a communication interface may be configured to include any of the components described herein, and / or the functionality of the components may be partitioned between the processing circuitry and the communication interface. In another example, non-computationally intensive functions of any of such components may be implemented in software or firmware and computationally intensive functions may be implemented in hardware.
[0184] In certain embodiments, some or all of the functionality described herein may be provided by processing circuitry executing instructions stored on in memory, which in certain embodiments may be a computer program product in the form of a non-transitory computer-readable storage medium. In alternative embodiments, some or all of the functionality may be provided by the processing circuitry without executing instructions stored on a separate or discrete device-readable storage medium, such as in a hard-wired manner. In any of those particular embodiments, whether executing instructions stored on a non-transitory computer-readable storage medium or not, the processing circuitry can be configured to perform the described functionality. The benefits provided by such functionality are not limited to the processing circuitry alone or to other components of the computing device, but are enjoyed by the computing device as a whole, and / or by end users and a wireless network generally.
[0185] It will be appreciated that the foregoing description and the accompanying drawings represent non-limiting examples of the methods and apparatus taught herein. As such, the apparatus and techniques taught herein are not limited by the foregoing description and accompanying drawings. Instead, the embodiments herein are limited only by the following claims and their legal equivalents.
[0186] Abbreviation Explanation
[0187] 3GPP Third Generation Partnership Project
[0188] QoS Quality of Service
[0189] CPU Central Processing Unit
[0190] UE User Equipment
[0191] RAM Random Access Memory
[0192] HDD Hard Disk Drive
[0193] SSD Solid State Drive RSSI Received Signal Strength Indicator
[0194] RSRQ Reference Signal Received Quality
[0195] RSRP Reference Signal Received Power
[0196] SNR Signal-to-Noise Ratio AF Application Function
[0197] AS Application Server
[0198] API Application Programming Interface
[0199] DC Data Center
[0200] RAN Radio Access Network
Claims
CLAIMS1 . A method performed by a network node (12) for handling storage of data, wherein the network node (12) operates in a communication network (1), the method comprising:- determining (301) a storage placement based on one or more input parameters.
2. The method according to claim 1 , wherein the storage placement is determined dynamically.
3. The method according to claim 1 or 2, wherein the one or more input parameters comprise one or more of: network parameters, UE parameters and storage parameters.
4. The method according to any one of claims 1-3, wherein the one or more input parameters have a predefined priority indicating the importance of the parameter, and wherein the storage placement is determined based on the priority of the one or more input parameters.
5. The method according to any one of claims 1-4, wherein the storage placement is determined based on a type of application.
6. A network node (12) configured to handle a storage of data, wherein the network node (12) operates in a communication network (1), the network node (12) being configured to: determine a storage placement based on one or more input parameters.
7. The network node (12) according to claim 6, wherein the storage placement is determined dynamically.
8. The network node (12) according to claim 6 or 7, wherein the one or more input parameters comprise one or more of: network parameters, UE parameters and storage parameters.
9. The network node (12) according to any one of claims 6-8, wherein the one or more input parameters have a predefined priority indicating the importance of the parameter, and wherein the storage placement is determined based on the priority of the one or more input parameters.
10. The network node (12) according to any one of claims 6-8, wherein the storage placement is determined based on a type of application.11 . A computer program product comprising instructions, which, when executed on at least one processor, cause the at least one processor to carry out the method according to any of the claims 1-5, as performed by the network node (12).
12. A computer-readable storage medium, having stored thereon a computer program product comprising instructions which, when executed on at least one processor, cause the at least one processor to carry out the method according to any of the claims 1-5, as performed by the network node (12).
Citation Information
Patent Citations
Apparatus, method, and computer program
US20230075022A1