Memory-efficient feature vector generation for fast loop use case in ran

The use of probabilistic data structures optimizes memory and computational resources in RAN nodes, addressing resource constraints and enabling efficient deployment of AI/ML models for fast-loop applications.

WO2026149655A1PCT designated stage Publication Date: 2026-07-16TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
TELEFONAKTIEBOLAGET LM ERICSSON (PUBL)
Filing Date
2025-01-10
Publication Date
2026-07-16

AI Technical Summary

Technical Problem

Existing RAN nodes face challenges in optimizing memory usage and computational resources due to increasing mobile network traffic, particularly in edge locations handling IoT data, necessitating improved resource management and deployment of AI/ML models despite limited resources.

Method used

A method and system utilizing probabilistic space-efficient data structures like Bloom filters to extract and store RAN entity identifiers and feature values, enabling efficient resource optimization and deployment of machine-learning models in resource-constrained environments, reducing memory requirements and latency.

Benefits of technology

The solution achieves significant memory savings, supports low latency requirements, and enables deployment of machine-learning models in RAN nodes, handling high-speed data streams without compromising performance, and enhances data security by obfuscating sensitive identifiers.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure EP2025050575_16072026_PF_FP_ABST
    Figure EP2025050575_16072026_PF_FP_ABST
Patent Text Reader

Abstract

A computer-implemented method for resource requirement forecasting in a RAN is disclosed The method comprises extracting a RAN static entity identifier value from RAN raw data, and extracting at least one feature value from the RAN raw data depending on a selected type of a machine-learning system. Upon determining that the extracted RAN static entity identifier value is not yet represented in a first data structure associated with a current time slot, the method comprise adding a representation of the extracted RAN static entity identifier value to the first probabilistic data structure associated with a current time slot. Additionally, the method comprises storing a representation of the extracted RAN static entity identifier value to a second data structure for the current time slot and feeding the at least one extracted feature value as input value to a machine-learning system for predicting the selected type of resource optimization.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] MEMORY-EFFICIENT FEATURE VECTOR GENERATION

[0002] FOR FAST LOOP USE CASE IN RAN

[0003] BACKGROUND

[0004] Field of the Invention

[0005] Invention aspects relate generally to a method for resource requirement forecasting, and more specifically, to a computer-implemented method for resource requirement forecasting in a radio access network. The invention aspects relate further to a related system for resource requirement forecasting in a node of a radio access network, and a related computer program product.

[0006] Related Art

[0007] In recent times, AI / ML techniques have been increasingly integrated into RAN infrastructure components to optimize performance, enhance efficiency, and improve the user experience.

[0008] Leading service providers are currently developing and upgrading standalone 5G networks to enable service differentiation and explore new performance-based business models. Current studies show that significant more mobile network traffic growth can be expected, albeit at a slower rate. Despite the slowdown, data traffic on a network is expected to almost triple by 2030 compared to current levels. A shift to high-performance and programmable networks, enabled by openness (e.g., open source) and cloud computing environments, will allow service providers to create and charge for offerings based on the value delivered, not just for the volume of data. However, this development runs in parallel to a higher level of distributed RAN (Radio Access Network) nodes. Especially, RAN nodes at edge locations - eventually only for collecting some loT (Internet of Things) data - will have to deal with more limited resources, like processing power, available memory and potentially also limited bandwidth.

[0009] Hence, there is a need to optimize the usage of the available infrastructure, in particular available memory as well as computing power. The above-mentioned AI / ML (Artificial Intelligence / Machine-Learning) techniques have been used to better manage infrastructure applications in the RAN, like predictive maintenance, inference management, load balancing, energy efficiency, network slicing, hand-over optimization and so on.

[0010] P110568 WO01 1 of page 37SUMMARY OF THE INVENTION

[0011] Despite initial successes in these areas there is still a need to further optimize the use of available infrastructure components in the RAN nodes, e.g., optimizing the use of available memory.

[0012] According to one aspect of the present invention, a computer-implemented method for resource requirement forecasting in a radio access network may be provided. The method may comprise extracting a RAN static entity identifier value from RAN raw data and extracting at least one feature value from the RAN raw data depending on a selected type of a machinelearning system, wherein the type of the machine-learning system defines a type of resource optimization.

[0013] The method may further comprise upon determining that the extracted RAN static entity identifier value is not yet represented in a first probabilistic space efficient data structure associated with a current time slot, adding a representation of the extracted RAN static entity identifier value to the first probabilistic space efficient data structure associated with a current time slot.

[0014] Additionally, the method may comprise storing a representation of the extracted RAN static entity identifier value to a second probabilistic space efficient data structure for the current time slot, and feeding the at least one extracted feature value, as input value to a machine-learning system of the selected type comprising a trained ML model for predicting the selected type of resource optimization.

[0015] According to another aspect of the present invention, a system for resource requirement forecasting in a node of a radio access network may be provided. The system may comprise a processor and a memory, communicatively coupled to the processor, wherein the memory stores program code portions that when executed, enable the processor, to extract a RAN static entity identifier value from RAN raw data, and extract at least one feature value from the RAN raw data depending on a selected type of a ML system, wherein the type of the ML system defines a type of resource

[0016] Furthermore, the system may comprise upon determining, by the processor, that the extracted RAN static entity identifier value is not yet represented in a first probabilistic space efficient data structure associated with a current time slot the processor is also enabled to add a

[0017] P110568 WO01 2 of page 37representation of the extracted RAN static entity identifier value to the first probabilistic space efficient data structure associated with a current time slot.

[0018] Additionally, the system may comprise storing a representation of the extracted RAN static entity identifier value to a second probabilistic space efficient data structure for the current time slot and feeding the at least one extracted feature value as input value to a machine-learning system of the selected type comprising a trained ML model for predicting the selected type of resource optimization.

[0019] Furthermore, embodiments may take the form of a related computer program product, accessible from a computer-usable or computer-readable medium that provides program code for use by or in connection with a computer or any instruction execution system by or in connection with a computer or any instruction execution system. For the purposes of this description, a computer-usable or computer-readable medium may be any apparatus that may contain means for storing, communicating, propagating or transporting the program for use by or in connection, with the instruction execution system, apparatus, or device.

[0020] The proposed computer-implemented method for resource requirement forecasting in a radio access network may offer multiple advantages, technical effects, contributions and / or improvements:

[0021] The proposed concept can make an efficient use of data received from event driven APIs, e.g., RAN observability frameworks. So-called RAN-observability may be implemented through APIs that are designed to trigger specific RAN events. These events might include the initiation or termination of Data Radio Bearer (DRB) sessions, the arrival of the first packet in a DRB session, handover events, or other significant occurrences within the RAN.

[0022] As these APIs provide mechanisms to access detailed information about these events, the associated data may be used to optimize the usage of resources available in nodes of the RAN. The data thereby used may include identifiers (e.g., User Equipment (UE) identifiers (ID), DRB IDs), packet-level data (e.g., protocol type, source / desti nation IP addresses, packet sizes), and other metadata relevant to the event.

[0023] Based on this integration into the RAN observability framework, optimization procedures for available resources in RAN nodes may be triggered. This may include the use of memory resources. The usage of memory-efficient probabilistic data structures like Bloom filters may P110568 WO01 3 of page 37be used to build relationships between RAN entities (e.g., UEs, DRBs, ...) and RAN feature data to be used in a machine-learning system trained for optimizing resource usage in a single RAN node.

[0024] In particular, the memory-efficient probabilistic data structures allow significant memory savings compared to traditional data storage methods that may store explicit mappings or large tables of historic data. This can be achieved with a minimal performance trade-off. While, e.g., Bloom filters may introduce false positive confirmations, the concept proposed here may exploit the property that they never produce false negative confirmations, which is acceptable for a number of use cases and may result in minimal impact on the predictive power of ML models for optimizing infrastructure components.

[0025] In doing so, the proposed method may enable a quick retrieval of historic feature data needed as input for the machine learning system by checking memberships using the probabilistic data structures like Bloom filters, which are computationally efficient and suitable for low latency requirements. By reducing memory and computational overhead of feature value generation and retrieval, the proposed solution may make it feasible to deploy machine-learning models directly on resource-constrained RAN nodes, such as those found in DRAN (distributed RAN) deployments.

[0026] Furthermore, the proposed method may also avoid the direct storage of sensitive static identifiers such as UE IDs directly, which may also reduce the risk of privacy breaches in the event of compromised data. This is also because the nature of the probabilistic data structures, such as Bloom filters may add an additional layer of obfuscation that may further enhance data security.

[0027] Consequently, the technical advantages can be summarized as follows. Firstly, the proposed method may reduce significantly the memory requirements for storing historical feature data, making it practical to deploy machine-learning inference pipelines in resource-constraint environments. Secondly, the achieved efficient data retrieval mechanics may support the stringent and low latency requirements (as low as 10 ms) of fast-loop machine-learning applications in RAN nodes.

[0028] Thirdly, the solution may handle high-speed data streams typical in RAN environments (e.g., thousands of DRB sessions per second) without compromising performance. And last but not least, the invention is illustrated here using Bloom filters, but retains the flexibility to use other

[0029] P110568 WO01 4 of page 37memory-efficient data structures (e.g., Cuckoo filters) depending on specific needs or constraints.

[0030] In the following, additional embodiments of the inventive concept - applicable for the method as well as for the system - will be described.

[0031] According to an advantageous embodiment, the method may also comprise maintaining a mapping table between selected values of a feature and a representation of the RAN static entity identifier value in a specific second probabilistic space efficient data structure for each of the time slots. The mapping table can be part of a configuration file. Such a table may be used as a lookup table to identify feature value, if, e.g., a UE identifier is known. Hence, if a confirmation for a presentation of the UE identifier in one of the Bloom filters can be found, the mapping table is instrumental to identify a related feature value.

[0032] According to an advantageous embodiment, the method may also comprise extracting a RAN temporal entity identifier value from RAN raw data. The type of temporal entity identifier value may eventually depend on the selected type of the ML system. Typically, more than one RAN temporal entity identifier values may be extracted from the RAN raw data.

[0033] According to a useful embodiment of the method, the RAN temporal entity identifier value may be one selected from the group consisting of a data radio bearer session identifier, i.e., DRB session ID, a second cell ID or a cell ID that a user equipment camps on. With this, different solution scenarios can be addressed, like, DRB size forecasting, UE and cell level traffic forecasting and / or UE mobility prediction.

[0034] According to a another useful embodiment of the method, the RAN static entity identifier value comprises a static entity value which comprises a user equipment identifier value - in particular for a mobile device - or a cell identifier value, in particular of a RAN. Such a configuration is also helpful for the different RAN AI / ML fast loop use cases, like, DRB size forecasting, UE and cell level traffic forecasting and / or UE mobility prediction.

[0035] According to a further developed embodiment of the method, the feeding the at least one extracted feature value - which may typically be a vector of features - as input value or values to a machine-learning system may also comprise feeding transient - i.e., not stored in between - derived additional feature values of the RAN raw data - in particular from a RAN data observability infrastructure - as additional input value to the machine-learning system. The derived additional feature values may be used in a 1:1 form (i.e., non-transformed) or in a P110568 WO01 5 of page 37transformed form, like a maximum value, a mean value or in any other transformed form by using one or more transformation formulas. The specific implementation may be subject to applied feature engineering techniques. All feature values may be treated as vector elements which may be fed to the ML system as input signals to related input nodes of the ML system. Furthermore, other and additional feature vector elements may also be values relating to earlier determined representations in Bloom filters.

[0036] According to a permissive embodiment of the method, the at least one feature value is selected out of the group consisting of a first packet protocol identifier value, a first packet IP address value, a first packet data radio bearer (DRB) data volume value, a data radio bearer session total volume value, and previous a - i.e. , “historic” - data radio bearer value. Such historic data may also be statistical values, like maximum values, minimum values, median values, and so on, in particular for the use case of DRB size forecasting.

[0037] According to another permissive embodiment of the method, the at least one feature value is selected out of the group consisting of a cell traffic volume in a previous time slot, and a radio environment value. This such a feature vector may be instrumental for the use case of cell traffic forecasting. Thereby, the radio environment the value may, e.g., be selected out of the group comprising the characterizations “rural”, “urban”, and “dense urban”. Thereby, the RAN ML system target variable may be a future value of traffic counter for specific cell in a base station, e.g., a number of active users.

[0038] According to a further permissive embodiment of the method, the at least one feature value is selected out of the group consisting of a previous cell identifier a UE, a geographical coordinate of a UE, a previous user equipment transmission speed of the UE, a previous UE transmission direction, and a cell identifier that the UE camps on. Such a feature vector may be instrumental for the use case of UE mobility prediction. Thereby, the RAN ML system target variable may be a future geographical position of a UE of future cell ID that the UE may camp on

[0039] According to an interesting embodiment, the method may also comprise defining a sliding time window which starts at a current time T. This may build the basis for subdividing the sliding time window into smaller timeslots of predefined length.

[0040] According to an enhanced embodiment, the method may also comprise dividing the sliding time window into time slots, such that the current time slot is one of the time slots. The time

[0041] P110568 WO01 6 of page 37slots may have an equal time length and a Bloom filter may be associated with each of the time slots. Hence, there may be at least as many Bloom filters as time slots.

[0042] Here it may also be mentioned that the Bloom filter addresses a first layer of the method. Additional Bloom filters may be possible in a second layer (to be explained later in this document) of the proposed method.

[0043] According to an optional embodiment, the method may also comprise deleting data older than a length of the sliding time window. Thereby, the determining the older data may make use of the known current time T. This may help to release no longer required resources and thereby reduce the amount of resources required for the method.

[0044] According to an advanced embodiment the method may also comprise: upon determining that the extracted RAN static entity identifier value is not already represented in the first probabilistic space efficient data structure - e.g., as a hash value in a Bloom filter - associated with the current time slot, (i) creating a representation of the extracted RAN static entity identifier value in the first probabilistic space efficient data structure, and (ii) creating a representation - i.e. , define a membership in the bloom filter using a hash value - in the second probabilistic space efficient data structure corresponding to the value of the extracted feature associated with a current time slot.

[0045] Thereby, the extracted RAN static entity identifier value may be the UE ID value for the preferred use case of the DRB size forecasting or prediction. In other words, if the extracted RAN static entity identifier value is not already represented in the first probabilistic space efficient data structure associated with the current time slot, the UE ID value not represented in the associated time slot.

[0046] According to a preferred embodiment of the method, the first and second probabilistic space efficient data structures - e.g., the Bloom filters - associated with the respective current time slot may be stored in a shared data buffer. This may allow an easy access to the respective data values.

[0047] According to an additional preferred embodiment, the method may also comprise a second probabilistic space efficient data structure - e.g., a Bloom filter - in the shared data buffer for each selected time slot. Hence, there may be as many Bloom filters or second probabilistic space efficient data structures as possible values for the extracted feature value per time slot in the shared data buffer.

[0048] P110568 WO01 7 of page 37According to an allowable embodiment of the method, the at least one feature value is selected out of the group consisting of a transmission control protocol, TCP identifier, a user datagram protocol, UDP identifier, and an Internet control message protocol, ICMP identifier. Such identifiers may represent typical protocol options used in the context of mobile devices connected to a radio access network. However, also other feature values are possible.

[0049] According to another interesting embodiment the method may also comprise creating as many second probabilistic space efficient data structures per time slot as there are extracted feature values to be observed. This may be useful for an easy, quick and resource efficient data representations future values in the respective time slot.

[0050] According to an enhanced embodiment, the method may also comprise: upon determining a representation of the RAN static entity identifier value in one of the second probabilistic space efficient data structures of each time slot extracting a corresponding specific feature value from the mapping table. The mapping table may be part of a configuration file. This way, the determining the corresponding feature values may be executed in parallel.

[0051] According to an allowable embodiment of the method, each of the first and second probabilistic space efficient data structure may be a Bloom filter or a Cuckoo filter. However, also other types of filters are possible which may allow a quick and efficient identification of representative data.

[0052] According to an advantageous embodiment of the method, the type of prediction may be selected out of the group consisting of DRB size forecasting, cell traffic forecasting and user equipment mobility forecasting. Such use cases may be instrumental in optimizing the usage of resources especially for remote nodes of the RAN which may only be equipped with limited computing resources.

[0053] According to an interesting embodiment, the method may also comprise building an input vector for the ML system from a plurality of concatenated elements, wherein the concatenated elements comprise at least out of the group consisting of (i) the at least one extracted feature values associated with the second probabilistic space efficient data structure for each time slot - e.g., identifiable using the mapping table - (ii) transient derived additional feature values of the RAN raw data - i.e., data not represented via a UE identifier the second Bloom filter - and (iii) transformations - in particular also including 1:1 non-transformations -of a plurality of transient derived additional feature values of the RAN raw data.

[0054] P110568 WO01 8 of page 37According to a useful embodiment of the method, the machine-learning system is selected out of the group consisting at least of a neural network, a convolutional neural network, a deep neural network, a decision tree based model. However, these types of models and machinelearning systems may only represent examples of most predominant types of artificial intelligence (Al) systems. Other types may also be selected.

[0055] BRIEF DESCRIPTION OF THE DRAWINGS

[0056] It should be noted that embodiments of the invention are described with reference to different subject-matters. In particular, some embodiments are described with reference to method-type claims, whereas other embodiments are described with reference to apparatus-type claims. However, a person skilled in the art will understand from the above and the following description that, unless otherwise indicated, in addition to any combination of features belonging to one type of subject-matter, also any combination between features relating to different subject-matters, in particular, between features of the method-type claims, and features of the apparatus-type claims, is also considered to be disclosed by this document.

[0057] The aspects defined above and further aspects of the present invention are apparent from the examples of embodiments to be described below and are explained with reference to the examples of embodiments to which the invention is not limited.

[0058] Preferred embodiments of the inventive concept are described, by way of example only, and with reference to the following drawings to which the inventive concept - for which variations and at least partial substitutions exist - is not limited:

[0059] Fig. 1 shows a block diagram of an embodiment of the inventive computer-implemented method for resource requirement forecasting in a radio access network.

[0060] Fig. 2 shows a block diagram the overall process for a resource requirement forecasting.

[0061] Fig. 3 shows a block diagram describing a typical technical environment for the proposed concept.

[0062] Fig. 4 presents an overview embodiment 400 of the ML models for DRB size forecasting.

[0063] P110568 WO01 9 of page 37Fig. 5 shows a flowchart of the proposed overall process and partial method for the case for storing and retrieving RAN ML features to be used in an ML inference pipeline.

[0064] Fig. 6 shows a flowchart of a first portion of step 3 of Fig. 5.

[0065] Fig. 7 shows a flowchart of a second portion of step 3 of Fig. 5.

[0066] Fig. 8 shows a flowchart of a first portion of step 4.

[0067] Fig. 9 shows a flowchart of a second portion of step 4.

[0068] Fig. 10 shows a block diagram of a generalized RAN ML model inference flow.

[0069] Fig. 11 illustrates an embodiment of the method for the DRB size forecasting running a high / ML fast-loop use case.

[0070] Fig. 12 shows a block diagram of the retrieval process of the historical data for a DRB session.

[0071] Fig. 13 shows a block diagram the 5G Global Unique Temporary Identifier.

[0072] Fig. 14 shows a block diagram of a naive approach to a memory management.

[0073] Fig. 15 shows a block diagram of a first layer of the proposed approach for the memory management.

[0074] Fig. 16 shows a block diagram of a second layer of the proposed approach for the memory management.

[0075] Fig. 17 shows a block diagram of O-RAN embodiment of the invention in Near-RT RIC Architecture.

[0076] Fig. 18 shows a block diagram of an embodiment of the inventive system 1800 for resource requirement forecasting in a node of a radio access network.

[0077] DETAILED DESCRIPTION

[0078] P110568 WO01 10 of page 37In the following, a detailed description of the figures will be given. All instructions in the figures are schematic. Firstly, a block diagram of an embodiment of the inventive computer-implemented method for resource requirement forecasting in a radio access network is given. Afterwards, further embodiments, as well as embodiments of the system for resource requirement forecasting in a node of a radio access network will be described.

[0079] In the context of this description, the following technical conventions, terms and / or expressions may be used:

[0080] The term 'resource requirement forecasting' may denote a technique for predicting requirements for computing resources in a node of a radio access network. Such forecasting may be performed using available parameter values during the operation of the radio access network and feeding them to a trained machine-learning system which is used to predict the required resources for a specific task in the near future.

[0081] The term 'radio access network' - in short RAN - may denote a network of nodes or base stations comprising antennas equipped with devices to establish a communication channel using RF (radio frequency) techniques for wireless communication purposes. The nodes or base stations may be connected using a wired (or wireless) backbone network.

[0082] The term 'RAN static entity identifier value' (or a RAN persistent entity) may denote a value which may be determined by observing the operation of the RAN. Examples of such RAN static entities are the concepts of the (mobile) user equipment or a communication represented by a node of the RAN. The manifestation as a value of the abstract concept may be, e.g., the UE identifier value or a cell identifier value. In other words, the RAN static entity identifier value may refer to a real-world object in RAN that is static in the sense that it does not come and go over time. It may also be unique, standalone, and may own or be associated with a set of RAN temporal entities over time.

[0083] The term 'RAN raw data' may denote the collection of data available as part of the functioning of the node of the RAN during operation. Typically, RAN raw data comprise in general IP packets and in particular incoming IP packets.

[0084] The term 'feature value' may denote a concrete value expressible as a number or a term (e.g., TCP) for the related feature which is meant as the abstract concept behind the feature value. As an example in the physics of motion: the speed of a body may be the abstract concept of a velocity of movement, whereas the speed value may be the measured corresponding value. P110568 WO01 11 of page 37The term 'selected type of a machine-learning system' may denote a machine-learning (ML) system comprising a machine learning model which has been trained for a specific task. In general, machine-learning systems to not work in a procedural of program manner, but generate output values of prediction based on a set of input values. One example of a machine-learning system is a neural network comprising an input layer of nodes, one or more hidden layers of nodes and an output layer of nodes. The nodes may comprise activation functions, which parameters have been adjusted during a training session for the machinelearning system during which a specific machine-learning model is built based on a set of input values and desired output values, i.e. , ground truth data. Besides the one or more prediction values the machine-learning system may generate as prediction or output values, machinelearning systems may also be able to generate at least one quality parameter value for a specific prediction. E.g., In the field of image recognition: “The set of input values represent a car. The probability that this prediction is correct is 95%. ”

[0085] The term ‘RAN machine-learning model’ (or RAN ML model) may denote here a trained ML model that uses a set of RAN ML features to predict a RAN ML target variable. In the context of this document, the RAN ML features and target variables may be from either RAN static entity or RAN temporal entity. In this context, the term ‘RAN ML target variable’ may denote a set of properties of a RAN temporal entity that is to be predicted by a RAN ML model. The properties within the target variable can be discrete (classification ML) or continuous (regression ML).

[0086] The term 'type of resource optimization' may denote in this context the way the available resources, e.g., available memory in a node of the RAN, may be used.

[0087] The following table provides embodiment of the RAN ML model consisting of its RAN ML features and ML target variable. Let F represents a set of RAN ML features of the RAN ML model, whereby f represents a single feature with the set, i.e., Embodiments of RAN ML model consisting of its RAN ML features and ML target variable

[0088] Table 1:

[0089]

[0090] P110568 WO01 12 of page 37

[0091]

[0092] The term 'probabilistic space efficient data structure' may denote an organization of data and able to quickly identify whether an input value is represented in the probabilistic space efficient data structure. E.g., in case of the probabilistic space efficient data structure is a Bloom filter, a representation of a specific value - e.g., a UE identifier value - may be stored as a hash value of the specific value in history of the Bloom filter. It may allow to quickly test whether an element is a member of a set. It may be noted that false positive matches are possible, but false negatives are not. In other words, a query returns either “possibly in set” or “definitely not in set”. Elements can be added to the set, but not removed because of a non-1 :1 transformation, like hash values. In this case, the hash value of a related existing value is a representation of the existing value in the Bloom filter.

[0093] The term 'current time slot' may denote a time slot just before the actual time.

[0094] The term 'second probabilistic space efficient data structure' may denote a memory structure maintained for each selected possible value of an extracted feature from the RAN raw data per time slot. This is in contrast to the first probabilistic space efficient data structure. For these, only one of such memory structures may be available the time slot.

[0095] The term 'mapping table' may denote relating, e.g., a UE identifier value to a specific feature value in the form of a relation. A plurality of mapping tables may exist in a configuration file for the proposed method. If an UE identifier value may be identified as being present in one time slot, the mapping table may help to identify a related feature value.

[0096] P110568 WO01 13 of page 37The term 'RAN temporal entity identifier value' may denote exemplary a DRB session ID value (for the use case of DRB size forecasting), a second ID value (for the use case of cell traffic forecasting) or a cell ID that the UE camps on (for the use case of UE. mobility forecasting).

[0097] The term 'data buffer' may denote in area of main memory of a computing node of a network node of the RAN used to store at least the first and / or second probabilistic space efficient data structures.

[0098] The term 'Cuckoo filter' may also denote a space-efficient probabilistic data structure that is used to test whether element is a member of the set, like a Bloom filter dies. False positive matches are possible, but false negatives are not. Also here, a query returns either “possibly in set” are “definitely not in set”. In contrast to the simple Bloom filter, it is possible to delete an item in a Cuckoo filter. Furthermore, a Cuckoo filter can achieve lower space overhead and space-optimized Bloom filters.

[0099] Furthermore, the following additional definitions are also applicable to terms used within this document:

[0100] The term ‘RAN ML feature’ refers to a property of a RAN entity (either RAN static entity or RAN temporal entity). In contrast, the term ‘RAN ML feature value’ refers to the actual value of that RAN ML feature. The feature value can be categorical or numerical, depending on the types of features.

[0101] The term ‘RAN machine-learning prediction’ (or RAN ML prediction) may denote an instance output of a RAN ML model for a single inference call.

[0102] The term ‘RAN ML feature vector’ may denote a set of RAN ML features (and its values) that are prepared and ready to be fed to an RAN ML model for inference in order to obtain RAN ML prediction

[0103] The term ‘RAN observability’ may denote essentially an Application Programming Interface (API) to RAN. Such an API works in an event-driven fashion, which means that it provides a hook point (or a trap) into certain RAN event to access RAN data and achieve fast loop AI / ML in RAN.

[0104] P110568 WO01 14 of page 37For the context of this document, one may consider two key RAN observabilities including (i) RAN data observability and (ii) RAN inference observability. Table 2 below provides concrete embodiments of these two observabilities for RAN AI / ML fast loop use cases.

[0105] The term ‘RAN data observability’ may denote the option to observe or measure values for providing (or exposing) raw RAN data for storage to AI / ML inference pipeline upon a specific event relevant to the use case. The raw RAN data includes but not limited to (i) time-delay ground truth, (ii) other ML features, and (iii) other meta data that is relevant for storing, e.g., RAN temporal entity ID.

[0106] The term ‘RAN inference observability’ may denote an observability for triggering AI / ML inference of the RAN ML model. It includes relevant raw data to generate RAN ML features (by the inference pipeline) to eventually trigger the RAN ML model inference.

[0107] In this context, the following table 2 illustrates embodiments of RAN data observability and RAN inference observability for corresponding RAN AI / ML fast loop use cases.

[0108] Table 2:

[0109]

[0110] The term ‘feature vector generation’ is a computation from raw data (RAN observability) to RAN ML feature. In this case, it can be from either RAN data observability or RAN inference observability.

[0111] P110568 WO01 15 of page 37Fig. 1 shows a block diagram of a preferred embodiment of the computer-implemented method 100 for resource requirement forecasting in a radio access network. A specific example of the forecasting is that DRB session size forecasting.

[0112] The method 100 comprises extracting, 102, a RAN static entity identifier value (typically, more than one, e.g., UE ID value) from received RAN raw data which may be derived from a RAN observability infrastructure, and extracting, 104, at least one feature value -typically more than 1 - from the received) RAN raw data depending on a selected type of a machine-learning system. Thereby, the type of the machine-learning system defines a type of resource optimization. This may be performed under the aspect of optimized service quality (QoE -quality of experience), for the network node service and may comprise, e.g., DRB session size forecasting which is the main focus throughout this document. However also other types of predictions such as cell traffic forecasting and UE mobility prediction are possible. In most cases, the general concept of load balancing may be followed within the network nodes.

[0113] It may be noted that a pre-selection of the prediction type is required in order to implement the correct trained machine learning system.

[0114] Furthermore, upon determining, 106, that the extracted RAN static entity identifier value is not yet represented - e.g., as a hash value in a Bloom filter - in a first probabilistic space efficient data structure (representing layer 1) associated with a current time slot, the method 100 may comprises additionally adding, 108, a representation - again, e.g., as a hash value - of the extracted RAN static entity identifier value to the first probabilistic space efficient data structure associated with a current time slot. For the use case of the DRB size forecasting the adage representation to the first probabilistic space efficient data structure is preferably the UE ID value for the DRB.

[0115] Additionally, the method 100 comprises also storing, 110, a representation of the extracted RAN static entity identifier value to a second probabilistic space efficient data structure (representing layer 2) to, and feeding, 112, the at least one extracted feature value - typically, a vector of feature values - as input value to a machine-learning system of the selected type comprising a trained ML model for predicting the selected type of resource optimization.

[0116] In addition, another helpful step which may also be executed as part of the method 100 before the last-mentioned step above (step 112) can be maintaining a configuration file mapping of the feature unique value to a specific Bloom filter, e.g., feature value TCP to Bloom filter 1,

[0117] P110568 WO01 16 of page 37UDP to Bloom filter 2, ICMP to Bloom filter 3 per time slot. The advantage of this technique is the possibility to derive the feature value during ML prediction using just the UE ID value.

[0118] As already mentioned in the background section, first approaches have been made to improve RAN functionalities using AI / ML techniques. Fig. 2 shows one of the approaches which can be enhanced using the proposed concept here. During its operation, the RAN 202 provides via an API (application programming interface) data, here denoted as RAN observability data. Such data are typically extracted in an event-driven manner out of the RAN raw data. In a feature creation and transformation in combination unit 210, a feature management module 206 as well as a modest serving module 208 work together to provide ML generated data to a consumer. The term consumer - especially in this context - refers to a service for better and / or optimized operation of the RAN infrastructure components. The feature management 206 is thereby instrumental to prepare feature data, i.e., feature values, for a feature vector or a feature matrix 214 starting from raw RAN data.

[0119] However, in some RAN related ML use cases, the size of the input vector could be very large, hence, very resource-demanding. Also, a large number of predictions needs to be provided in some scenarios. On the other side, there are limited resources available for ML deployment in the RAN infrastructure components, which dictate different implementations. The limitation would be even more critical when deploying inference application on board with requirements for fast predictions. The feature creation to be used by the ML model basically includes fetching data from a RAN data source, shifting, transforming, and heading your elements into the available data set. For fast use cases with low latency, the process should be very quick which cannot be guaranteed by the currently available technologies with often scarce resources in the respective RAN components. This scenario represents the starting point for the here proposed concept which can be implemented as part of the feature management 206.

[0120] Such fast loop ML use cases can be found in the telecommunication domain, e.g., for making L2 / L3 layer RAN predictions under 50-100 ms latency. Conditions for such use cases with low prediction latency requirements can be found in DRB size forecasting which will be the dominant example used as part of this document. However, the proposed approach can also be applied to other fast loop ML applications in the RAN environment, e.g., UE mobility prediction, cell load forecasting and others.

[0121] Fig. 3 describes a typical technical environment 300 in which the here proposed optimization concept would be advantageous because shown individual components may be resourcelimited. A Radio Access Network (RAN) is composed of interconnected radio access sites P110568 WO01 17 of page 37(RAN access site), e.g., street sites or macro sites, and baseband units, e.g., Receive Baseband Units (RBU) 306 or gNBs 304. As shown in Fig. 3, each baseband unit is connected to one radio access site in a Distributed RAN (DRAN) environment 302, which represents the majority of RAN deployment options today.

[0122] Other RAN deployments options are Distributed RAN & Virtualized RAN 308, centralized RAN 310, and centralized RAN & Virtualized RAN 312. In any case, the different setups are all connected to a core network 312 which serves all hub sites 314 comprising also an antenna. The antennas may be macro site antennas (triangle shaped antenna symbols) or street site antennas (pin antennas with a ‘side radiation’). Some of the deployment option work with additional central office site infrastructure components 316 like central units CU, distributed units DU as well as data storage. Additionally, user equipment components 318 are shown which are mobile and connected to various antennas.

[0123] Coming back to the already mentioned scenario of DRB size forecasting - as already mentioned in the context of Fig. 2 - Fig. 4 presents an overview embodiment 400 of the ML models for DRB size forecasting, whereby the prediction is made at the beginning of the DRB (data radio bearer) session, i.e. , at the event of receiving the first packet of the DRB session. The data is extracted from the DRB buffer 402 for storage 404. As an embodiment of the output, the ML system / model 406 may predict whether the DRB session is going to be heavy traffic (classified as an “elephant-class” instance), or light (labelled as “mice-class” instance), compare 408. This prediction may then be used by an infrastructure service consumer, for instance, to execute secondary carrier configuration only for the predicted elephant-class DRB sessions. The potential gain would here would come from resource savings of mice-class (i.e., traffic flow with low volume) DRB sessions such that resource-intensive RAN functionalities, e.g., 2ndcarrier aggregation, would not be wasted.

[0124] Using the subsequent figures, a feature memory-efficient generation method for deploying fast loop AI / ML systems in a RAN environment, which may be especially critical for onboarded deployment scenarios like G4 and G5 hardware.

[0125] Fig. 5 shows an embodiment of a flowchart of the proposed overall process and method 500 for the case for storing and retrieving RAN ML features to be used in an ML inference pipeline. Generally, the method is triggered by the arrival of RAN observability events, and it comprises the following steps:

[0126] P110568 WO01 18 of page 37Step 1 : After the start 502 of the method 500, the method extracts, 504:

[0127] (i) RAN static and temporal entity identifiers, and

[0128] (ii) RAN raw data for computing RAN ML features from RAN observability data.

[0129] Examples of RAN static and temporal entity identifiers depend on the actual RAN AI / ML use cases and include DRB session identifier, UE identifier, cell identifier, etc.

[0130] Similarly, examples of RAN raw data for computing RAN ML feature data depend on the use cases and include a 1stpacket protocol, a 1stpacket IP address, a1stpacket DRB volume, ... , etc. The extracted data in this step can be used in subsequent steps in order to store the data for later feature generation steps as part of the inference pipeline.

[0131] Step 2: The method 500 determines, 506 whether an execution 508 (to be detailed in figures 6 and 7) of a RAN entity storage method is required. This can be determined by looking whether the extracted RAN static entity identify (e.g., a UE ID), which was obtained from the previous step, already existed in the most recent time slot or not (detailed see below).

[0132] The determination can be done by looking up an efficient membership data structure for the current time slot (described later in Fig. 6 and Fig. 7) whether it contains the RAN static identifier or not. If it is included, it means that the RAN entity storage method is not required. One of the features of the proposed concept is that this step too requires only a fixed amount of time for the lookup, i.e., the “look-up” time complexity is constant.

[0133] Step 3: The method executes the RAN entity storage method, which essentially adds a record for the RAN static identify (e.g., UE ID) to a Bloom filter for the most recent time slot. Such RAN entity storage method is described in detail with concrete embodiments in Fig. 6 and 7.

[0134] Step 4: For each RAN ML feature f in F for a RAN ML model, the method 500 executes 510 a memory-efficient RAN ML feature storage method. Such RAN ML feature method is described in detail with concrete embodiments in Figs. Error! Reference source not found.. The process ends at 512.

[0135] Fig. 6 an embodiment of a flowchart of the proposed overall process and method 500 for the case for storing and retrieving RAN ML features to be used in an ML inference pipeline More precisely, Fig. 6 presents the RAN entity storage method of the inventive concept for all time slots, whereas Fig. 7 presents an embodiment of the method for the DRB size forecasting RAN ML fast loop use case. The method is used to store both, the RAN static entity value and the RAN temporal entity.

[0136] P110568 WO01 19 of page 37It should also be noted that the method described here is used later to determine whether a UE has a prior DRB session or not and when. In addition, it also helps to clear historical data from memory and maintain constant memory consumption of the inference pipeline.

[0137] Additionally, it should be noted in this section, the inventive concept uses a Bloom filter as a memory-efficient data structure for storing member relationships between entities. Other forms of memory-efficient data structures may also be used, e.g., Cuckoo filters or others.

[0138] Method 600 starts at 602 and then executes the following steps:

[0139] Step 1 : Firstly, a fixed sliding time window is identified from a current time and the fixed sliding time window is then divided into different time slots, 604. For example, the method 600 may decide to only store a RAN temporal entity (e.g., historical DRB sessions) data only the last 8 minutes (i.e. , an embodiment of a fixed sliding window) and divide the time slots per one minute (i.e., an embodiment of a time slot). A RAN temporal entity (e.g., historical DRB session data), as well as corresponding feature data store, described later in Fig. 5 that is older than the fixed sliding window will be deleted.

[0140] Step 2: A Bloom filter for each time slot in the shared data buffer is created, 606. A membership semantic for each of this Bloom filter is to store whether or not a RAN static entity (e.g., a UE) has a RAN temporal entity (e.g., DRB session) in the corresponding time slot or not.

[0141] Step 3: For each RAN static entity (e.g., UE) that has a RAN temporal entity (e.g., DRB session) in that time slot, a membership with the corresponding Bloom filter of the time slot is created, 608. For example, if UE ID 1 and UE ID 2, had a DRB session 8 minutes ago, it will be a member of the Bloom filter of [T-8m, T-7m). The process ends at 610.

[0142] Note that this design assumes that a RAN static entity can have at most one RAN temporal entity within a time slot. This means that the time slot should be of an appropriate size, and this can be adjusted by the operator according to a RAN AI / ML fast loop use case. For instance, it that the same UE has two DRB sessions within the exact same minute, e.g., due to the inactivity timer and the normal DRB session duration.

[0143] Fig. 7 shows a more detailed version 700 of Fig. 6, in particular, a version adapted for the more concrete case of the memory-efficient fast loop ML method case of storing data from

[0144] P110568 WO01 20 of page 37RAN feature observability data. The related method for inference processing, based on the RN inference observability data, will be described in the context of the Figs. 8 and 9.

[0145] At the top of Fig. 7, several UEs 702 with ID 1, 2, 3, n are shown which may have established a connection to a base station (used here as general term for antenna supporting RAN node). For each of the UEs 702, UE specific DIB session arrivals are shown as arrows pointing to a timeline 704 extending from the current times 706 to the left. Starting with the current time 706, a time window 708 with a predefined fixed time length is defined. As mentioned already above, this fixed length time window 708 is divided into different time slots, in the example shown in minutes from current time T 706 to T-1min (as the most recent time slot 712, ... , from T-7min. to T-6min., from T-8min. to T-7min. As can also be seen, the DRB session for the time slot from T-9min. to T-8min. is deleted, 710, because time slots outside the fixed length time window 708 are deleted because they are old data, i.e. , old time slots.

[0146] To each of these DRB sessions for the defined time slots a Bloom filter 714 is created.

[0147] Referring back to step 604, 606, 608 of Fig. 6, i.e., step 1, step 2 and step 3 of Fig. 6, the details described above become now much more comprehensible. Thereby, it should be noted that the upper shared data buffer 716 refers to step 2 of Fig. 6, i.e., 606, while the lower share data buffer 716 of Fig. 6 referred to step 3, 608 of Fig. 6. In fact, the upper and the lower share data buffers 716 as well as the related Bloom filters 714 are identical. However, the lower line of Bloom filters is now shown as having relationships to different UEs, based on the 1stpacket of the related DRB session.

[0148] Fig. 8 shows a more detailed flowchart of method 600, step 4, with reference back to Fig. 5 (reference numeral 510), while Fig. 9 shows more concrete implementation detail of the overview block diagram 800 of Fig. 8.

[0149] Fig. 8 starts at 802 and presents the feature storage method 800 of the inventive concept for a single RAN ML feature f within a time slot, e.g. [T -8min., T-7min.). A more detailed embodiment of the method for the DRV size forecasting RAN ML fast loop use case is shown thereafter as Fig. 9.

[0150] Currently, the method is described for a single time slot. If there are N time slots, there would be N feature storages (for a single feature f). The number of time slots is a configurable parameter value for the operator, which provides a trade-off between memory consumption and feature storage granularity. Hence, for a specific RAN ML feature of a RAN temporal entity P110568 WO01 21 of page 37of a RAN static entity, possible values to store are selected, 804. Next, a Bloom filter for each selected feature value is created, 806, in the shared data buffer for a single time slot. Finally, for each RAN ML feature value a membership of the static identifier is assigned to one of the Bloom filters accordingly, 808. These three activities can also be envisioned as steps 1, 2 and 3, which will be detailed in Fig. 9.

[0151] The detailed version, shown in Fig. 9, is again described as a step-by-step process for the more concrete implementation details of the overview block diagram 800 of Fig. 8 for the memory-efficient method for inference processing on RAN raw data from an observability infrastructure. In particular, Fig. 9 shows details of the feature storage method for machinelearning based prediction from raw RAN data for a single feature f within a time slot.

[0152] Also here, the concept is best understandable using three steps:

[0153] Step 1 : For each historical feature f for RAN temporal entities (e.g., DRB sessions of a UE), select possible feature values to be stored (compare 804 of Fig. 8). The step can be executed using the following steps:

[0154] Categorical features: When the possible values are limited (e.g., IP packet protocol), the method can select all possible features. However, when the number of possible values is very large (e.g., 4-byte unique possible values only for the source / destination IP address), the method can define a popularity threshold by only select feature values that are popular, e.g., occurrence at least 10 samples.

[0155] Numerical features: Since the possible value for numerical feature is infinite (e.g., previous DRB volume), one needs to selectively identify a bin of feasible values. A simple solution can be a power-of-10 bins, e.g., creating bins of 1-10, 11-100, 101-1000, 1001-10000, ..., bytes of volumes.

[0156] Step 2: here, a Bloom filter 904 for each selected RAN ML feature value in the shared data buffer is created (compare 806 of Fig. 8).

[0157] For example (of a feature IP packet protocol of historical DRB session), if selected possible feature values are TCP, UDP, and ICMP (902), three Bloom 904 filters will be created in the shared data buffer 906 for a single time slot. Each Bloom filter 904 is used to store UE ID having the corresponding feature value.

[0158] P110568 WO01 22 of page 37Step 3: For each UE DRB historical feature, a membership of the RAN static entity identifier (e.g., UE ID) to the corresponding Bloom filter 904 is assigned (compare 808 of Fig. 8).

[0159] For example, if UE ID 1 and UE ID 2 have a feature value = TCP, it will be assigned to be the member of the first bloom filter (TCP).

[0160] It shall also be mentioned that the shared data buffer 906 for the time slot with the Bloom filters 904 is shown twice. Here, as in the combination of Figs 6 and 7, the lower share data buffer 906 simply refers to step 3 of Fig. 8. Consequently, the shared data buffer 906 in the middle of Fig. 9 refers to step 2 of Fig. 8. Hence, the two shown shared data buffers 906 are identical.

[0161] Fig. 10 and Fig. 11 focus on a data flow 1000 from the raw data from the RAN observability infrastructure to the RAN ML system prediction. Thereby, Fig. 10 is used to explain the generalized RAN ML model inference flow, while Fig. 11 illustrates an embodiment of the method for the DRB size forecasting running a high / ML fast-loop use case. This process flow starts at 1002 and ends at 1014.

[0162] The inference flow uses the retrieved RAN ML features from the efficient RAN ML feature storage method explained in the context of Fig. 5 to predict the RAN ML target variable (e.g., for example DRB volume) following the arrival of a RAN raw data from an observability framework of a RAN static entity (e.g., first packet in a DRB of a UE).

[0163] The following steps are executed at the event of getting a RAN inference observability:

[0164] Step 1 : Extract the RAN entity identifier from the RAN raw data from the observability framework, 1006:

[0165] A RAN entity identifier is extracted, 1006, used for efficient feature retrieval from the shared storage buffer (see above). As an example, in the case of DRB size forecasting, this would, for example, involve extracting the static entity identifier UE ID or UE trace ID.

[0166] Step 2: Extract RAN ML features from the RAN raw data from the observability framework, 1008:

[0167] The method extracts non-historical features (in a constant time). An embodiment in case of DRB-size forecasting could be to extract RAN ML features from the 1stpacket, for instance 1st

[0168] P110568 WO01 23 of page 37packet app address, 1stpacket volume... It could also be a combination of features from the RAN observability that do not require any storage.

[0169] Step 3: Memory efficient feature retrieval of RAN ML features:

[0170] In this step, extraction of ML features from the shared data buffer is performed. This is a multi-step approach, as explained below:

[0171] 1) Iterating through the Bloom filer for each time slot and checking the membership of the extracted RAN static entity identifier in the Bloom filter. This could be done in parallel.

[0172] 2) If there is a membership for the RAN static entity identifier in a time slot, next step (1008) is to iterate through each feature f in F. For each feature f, check for the membership of the RAN entity identifier in each of the N Bloom filters for the feature. The value of the feature (represented by v(f)) is retrieved and stored.

[0173] Note: It is assumed that the mapping of each Bloom filter to the unique value of the feature f it represents is stored in memory (for example, loaded from a config file / database). After the membership is confirmed, a lookup in the map yields v(f).

[0174] Step 4: Concatenate, 1010, the RAN ML feature values to form a RANML feature vector: The RAN ML feature values obtained in Step 2 and Step 3 are concatenated to obtain a RAN ML feature vector.

[0175] Step 5: Using the RAN ML feature vector for prediction, 1012:

[0176] The concatenated RAN ML feature vector is used as input to the RAN ML Model (classification or regression) for inference. The predicted value is sent to the consumer process or system function.

[0177] Fig. 11 focuses on a data flow 1100 from the raw data from the RAN observability infrastructure to the RAN ML system prediction.

[0178] The process or method steps 1002, 1004, 1006, 1008, 1010, 1012, 1014 of Fig. 10 correspond now to the more specific steps 1102, 1104, 1106, 1108, 1110, 1112, 1114 of Fig. 11. A different, stronger emphasis should be placed on the data involved. The RAN data 1120 is used by the steps 1104 and 1106. The remainder of step 1104 is the RAN entity IDs, 1122. The RAN ML feature data values 1126 are consequently the result of step 1106.

[0179] P110568 WO01 24 of page 37In step 1110, the concatenation of the extracted feature values is performed and the RAN feature vector 1128 is created. Using this vector in step 1112 as input vector for the trained machine learning system, the RAN ML prediction value 1130 is generated.

[0180] Given a RAN raw data from the observability framework, the inference processing flow is characterized by at least 2 main steps:

[0181] Step 1 : A first step with the building of the final input feature vector for s, by concatenating the RAN observability feature vector of s and the RAN efficient-memory storage retrieved feature vector (using RAN entity extracted from s). E.g., in one embodiment for DRB size forecasting, the RAN entity could be the UE ID, information that is present in the RAN inference observability (i.e., 1stpacket).

[0182] The retrieval procedure of the historical feature vector (illustrated in Fig. 8) can be formulated as the following pseudo-code:

[0183] returned_data = initialize ( ) ;

[0184] For each time slot w:

[0185] If membership request is true:

[0186] For all historical features :

[0187] For all possible values v for f:

[0188] If membership request is true:

[0189] Add(returned data, v); break;

[0190] Step 2: A second step with the prediction by the trained model, and using as input the final feature vector for s.

[0191] In the context of Fig. 12 this may also be read as a retrieval process of the historical data for a DRB session s.

[0192] The process / method 1200 starts at 1202. The data structure to be returned is initialized at 1204. In the determination step 1208 it is determined whether the UE ID 1205 is a member of one of the specific Bloom filters 1206 for the different time slots. If that is not the case, the process ends at 1218, case “no”.

[0193] P110568 WO01 25 of page 37In case of “yes” of layout 1 - i.e., in the second layer - it is determined, 1210, whether the value v of feature f is a member of the related Bloom filter. If that is not the case - i.e., case “no” - the process ends at 1218.

[0194] In case of “yes” in layer 2 - the value v is added to the data structure to be returned, 1216. Finally, the process ends at 1218.

[0195] Memory footprint comparison

[0196] In the following, a memory footprint estimation of the present method compared to the traditional method is proposed below and for DRB size forecasting use case. The estimation can be generalized to the other mentioned use cases.

[0197] There are significant advantages of using proposed memory storage solutions (for instance Bloom filter) to store features over the naive memory storage. The most important ones are UE privacy (there is no need to store UE Identifier) and a smaller memory footprint i.e., best required memory. To compare the memory storage between the two storage approaches, the following five assumptions are made:

[0198] (i) A time window of W(minutes) is assumed which can be partitioned into several time slots (an embodiment can be every minute, then Wtime slots).

[0199] (ii) There are N unique UE Identifiers that have at least one DRB session in any of W time slots.

[0200] (iii) A categorical feature is to be stored which has F unique values (vi , V2 ,...VF).

[0201] (iv) The UE memberships are uniformly distributed in the W window.

[0202] (v) In each window, the feature values for the associated unique UE Identifiers are also equally distributed for the F values.

[0203] For a valid comparison, a UE Identifier must be available that is persistent for a given user for at least W minutes. One such option, which is available in RAN, is 5G NR Global Unique Temporary Identifier (GUTI). The scope of GUTI is the mobility management entity (MME), which covers many base stations. It needs 80 bits to represent. This is shown in Fig. 13, i.e., the 5G Global Unique Identifier [GUTI] of 80 bits. It consists of the PLMN ID 1302 of 24 bits, the AM F ID 1304, and the 5G TMSI 1306 which consists of 48 bits.

[0204] P110568 WO01 26 of page 37A naive approach is to store data in a table-like representation in memory, with columns comprising 1.) UE identifiers and 2.) each feature value as a separate column. When the first packet 1402 of current DRB is received for predicting the traffic, the historical features need to be retrieved from memory to also be given as input to the prediction model. For storing a feature with F unique values in memory, Iog2 F bits are required. Also, since the naive approach requires storing UE identifier (GUTI), it requires 80 bits:

[0205] Memory requirement = N*10* Iog2 F bits.

[0206] This is shortly illustrated in Fig. 14. The memory block 1410 would comprise N data structures for the UE IDs 1, k, N of 80 bits, and also comprising the feature values v of log2(F) bits. For many implementation examples - e.g., edge node far out in the RAN - this may be a too high memory consumption.

[0207] The cutout of Fig. 7, shown as Fig. 15 again, shows again the layer 1 storage layout for the here proposed approach.

[0208] The number of bits required to store the memberships of n items in a Bloom filter with a false positive probability p using H hash functions is given by the following formula:

[0209] Number of bitsrequired = ceil (n * log (p) / log ( 1 / pow (2, log(2) ) ).

[0210] For W Bloom filters with (N / W) items, the number of required bits is

[0211] Number of bitsrequired = W* F * ceil (N / (W* F) * log (p) I log (1 1 pow (2, log(2) ) ).

[0212] Fig. 16 illustrated again the layer 2 Bloom filters 904 introduced with Fig. 9.

[0213] For the second layer of storage 716, there are F Bloom filters 714, one for each unique feature value in each time slot (where the UE membership for each of the feature value is stored). Each Bloom filter 714 needs to store N / (W*F) memberships, assuming uniform distribution among feature values and UEs within the time slot, resulting in

[0214] Number of bitsrequired = ceil (N / (W* F) * log (p) / log (1 / pow (2, log(2) ) )

[0215] Since there are W time slots and F unique feature values in each,

[0216] P110568 WO01 27 of page 37Number of bitsrequired = W* F * ceil (N / (W* F) * log (p) / log (1 / pow (2, log(2) ) )

[0217] + W * ceil (N / W * log (p) / log ( 1 / pow (2, log(2) ) )

[0218] Table 3: Comparison of memory storage required

[0219]

[0220] Thereby:

[0221] N = number of unique UEs,

[0222] F = number of unique feature values,

[0223] W = number of time slots,

[0224] p = false positive rate,

[0225] H1 = number of hash functions for layer 1 ,

[0226] H2 = number of hash functions for layer 2,

[0227] M1 = memory bits for layer 1,

[0228] M2 = memory bits for layer 2,

[0229] total = total memory bits.

[0230] As shown in the table 3, the memory savings increase as the number of unique UEs and number of unique features increase. This is very useful in RAN applications because the memory resources are limited.

[0231] Note that while the analysis in this section makes certain assumptions to make the analysis tractable and feasible, e.g., uniform distribution of UE history session overtime slots and feature values, it illustrates clearly potential values and technical effects of this invention.

[0232] P110568 WO01 28 of page 37Finally, it should be shown, that the proposed concept can also be implemented as an extension to the O-RAN 1700 according to Fig. 17.

[0233] An Open Radio Access Network (O-RAN) is the known open standard for next generation radio access networks driven mostly by telecom operators. This figure shows where in the O-RAN architecture the implementation of the device and / or method described above is conceivable. Shown is an embodiment of the solution that can be limited to a single software function. At least at the E2 interface, it is possible to provide the RAN raw data from an observability framework and implement the RAN ML feature vector implementation.

[0234] A second option for an elegant implementation would be in the context of the xApps, where the apparatus and method from the concept proposed here can be executed in an O-RAM embodiment. This could include the proposed RAN data storage method and the RAN inference processing flow.

[0235] Fig. 18 shows a block diagram of an embodiment of the system for resource requirement forecasting in a node of a radio access network. The system comprises a processor 1812 and a memory 1814, communicatively coupled to the processor 1812. Thereby, the memory 1814 stores program code portions that when executed, enable the processor 1812, to extract - in particular using a first extraction module 1820 - a RAN static entity identifier value from RAN raw data, and to extract - in particular, using a second extraction module 1822 - at least one feature value from the RAN raw data depending on a selected type of a ML system, wherein the type of the ML system defines a type of resource. The extraction units 1820 and 1822 may be implemented as a combined extraction unit.

[0236] The system 1800 may also comprise a determination unit 1824 enabled to: upon determining, by the processor 1812, that the extracted RAN static entity identifier value is not yet represented in a first probabilistic space efficient data structure associated with a current time slot the processor 1812 is also enabled to add - in particular, by and adder 1826 - a representation of the extracted RAN static entity identifier value to the first probabilistic space efficient data structure associated with a current time slot.

[0237] Furthermore, the processor 1812 is enabled to store - in particular by a storage unit 1828 - a representation of the extracted RAN static entity identifier value to a second probabilistic space efficient data structure for the current time slot, and to feed - in particular, by a feeding unit 1830 - the at least one extracted feature value as input value to a machine-learning system of P110568 WO01 29 of page 37the selected type comprising a trained ML model for predicting the selected type of resource optimization.

[0238] The of the mentioned that the system 1800 can be part of a base station of the RAN (not shown) communicating with one or more mobile units are user devices or user equipment units 1834 by means of radiofrequency signals using the antenna 1836. For this purpose, the system and / or base station may also be equipped with a transmitter / receiver unit 1816 and a network interface 1818 for communication purpose with a backbone network.

[0239] It is shall also be mentioned that all functional units, modules and functional blocks - in particular, the process or 1812, the memory 1814, the transmitter / receiver 1816, the network interface 1818, the first extraction unit 1820, the second extraction unit 1822, the determination unit 1824, the adder 1826, the storage unit 1828 and, the feeding unit 1830 - may be communicatively coupled to each other for signal or message exchange in a selected 1:1 manner. Alternatively, the functional units, modules and functional blocks can be linked to a system internal bus system 1832 for a selective signal or message exchange.

[0240] Various aspects of the present disclosure are described by narrative text, flowcharts, block diagrams of computer systems and / or block diagrams of the machine logic included in computer program product (CPP) embodiments. With respect to any flowcharts, depending upon the technology involved, the operations can be performed in a different order than what is shown in a given flowchart. For example, again depending upon the technology involved, two operations shown in successive flowchart blocks may be performed in reverse order, as a single integrated step, concurrently, or in a manner at least partially overlapping in time.

[0241] A computer program product embodiment (CPP embodiment or CPP) is a term used in the present disclosure to describe any set of one or more storage media (also called media) collectively included in a set of one or more storage devices that collectively contain machine-readable code corresponding to instructions and / or data for performing computer operations specified in a given CPP claim. A storage medium is any tangible device capable of holding and storing instructions for use by a computer processor. Without limitation, the computer-readable storage medium may be an electronic storage medium, a magnetic storage medium, an optical storage medium, an electromagnetic storage medium, a semiconductor storage medium, a mechanical storage medium, or any suitable combination of the foregoing. Some known types of storage devices that include these media are floppy disk, hard disk, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), static random-access memory (SRAM), compact disc read only P110568 WO01 30 of page 37memory (CD-ROM), digital versatile disc (DVD), memory stick, floppy disk, mechanically encoded device (such as punch cards or pits I lands formed in a major surface of a disc), or any suitable combination of the foregoing. A computer-readable storage medium, as that term is used in the present disclosure, is not to be construed as storage in the form of transient signals per se, such as radio waves or other freely propagating electromagnetic waves, electromagnetic waves propagated through a waveguide, light pulses passing through a fiber optic cable, electrical signals transmitted through a wire and / or other transmission media. As will be appreciated by those skilled in the art, data is typically moved at some occasional points during the normal operation of a storage device, such as during access, de-fragmentation or garbage collection, but this does not render the storage device transitory because the data is not transitory while it is stored.

[0242] P110568 WO01 31 of page 37

Claims

CLAIMSWhat is claimed is:

1. A computer-implemented method for resource requiremetmnt forecasting in a radio access network, RAN the method comprising- extracting a RAN static entity identifier value from RAN raw data,- extracting at least one feature value from the RAN raw data depending on a selected type of a machine-learning system, wherein the type of the machine-learning system defines a type of resource optimization,- upon determining that the extracted RAN static entity identifier value is not yet represented in a first probabilistic space efficient data structure associated with a current time slot,- adding a representation of the extracted RAN static entity identifier value to the first probabilistic space efficient data structure associated with a current time slot,- storing a representation of the extracted RAN static entity identifier value to a second probabilistic space efficient data structure for the current time slot, and- feeding the at least one extracted feature value, as input value to a machine-learning system of the selected type comprising a trained ML model for predicting the selected type of resource optimization.

2. The method according to claim 1, also comprising- maintaining a mapping table between selected values of a feature and a representation of the RAN static entity identifier value in the specific second probabilistic space efficient data structure for each of the time slots.

3. The method according to claim or 2, also comprising- extracting a RAN temporal entity identifier value from RAN raw data.

4. The method according to any of the claims 1 to 3, wherein the RAN temporal entity identifier value is one selected from the group consisting of a data radio bearer session identifier, DRB session ID, a second cell ID or a cell ID that a user equipment camps P110568 WO01 32 of page 375. The method according to any of the claims 1 to 3, wherein the RAN static entity identifier value comprises a static entity value which comprises a user equipment identifier value or a cell identifier value6. The method according to any of the preceding claims, where the feeding the at least one extracted feature value as input value to a machine-learning system also comprises- feeding transient, derived additional feature values of the RAN raw data as additional input value to the machine-learning system.

7. The method according to any of the preceding claims, whereinthe at least one feature value is selected out of the group consisting ofa first packet protocol identifier value,a first packet IP address value,a first packet data radio bearer data volume value,a data radio bearer session total volume value, andprevious a data radio bearer value.

8. The method according to any of the claims 1 to 6, whereinthe at least one feature value is selected out of the group consisting ofa cell traffic volume in a previous time slot, anda radio environment value.

9. The method according to any of the claims 1 to 6, whereinthe at least one feature value is selected out of the group consisting ofa previous cell identifier a user equipment, UE,a geographical coordinate of a UE,a previous user equipment transmission speed of the UE,a previous UE transmission direction, anda cell identifier that the UE camps on.

10. The method according to any of the preceding claims, also comprising- defining a sliding time window which starts at a current time T.P110568 WO01 33 of page 3711. The method according to claim 10, also comprising- dividing the sliding time window into time slots, such that the current time slot is one of the time slots.

12. The method according to claim 10 or 11, also comprising- deleting data older than a length of the sliding time window.

13. The method according to any of the preceding claims, also comprising- upon determining that the extracted RAN static entity identifier value is not already represented in the first probabilistic space efficient data structure associated with the current time slot,- creating a representation of the extracted RAN static entity identifier value in the first probabilistic space efficient data structure, and- creating a representation of the extracted RAN static entity identifier value in the second probabilistic space efficient data structure corresponding to the value of the extracted feature associated with a current time slot.

14. The method according to any of the preceding claims, wherein the first and second probabilistic space efficient data structures associated with the respective current time slot are stored in a shared data buffer.

15. The method according to any of the preceding claims, also comprising- creating, for each extracted at least one feature value a second probabilistic space efficient data structure in the shared data buffer for each selected time slot.

16. The method according to claim 15, wherein the at least one feature value is selected out of the group consisting of a transmission control protocol, TCP identifier, a user datagram protocol, UDP identifier, and a Internet control message protocol, ICMP identifier.

17. The method according to any of the preceding claims, also comprising- creating as many second probabilistic space efficient data structures per time slot as there are extracted feature values to be observed.

18. The method according to any of the claims 2 to 17, also comprising- upon determining a representation of the RAN static entity identifier value in one of the second probabilistic space efficient data structures of each time slotP110568 WO01 34 of page 37- extracting a corresponding specific feature value from the mapping table.

19. The method according to any of the preceding claims, wherein each of the first and second probabilistic space efficient data structure is a Bloom filter or a Cuckoo filter20. The method according to claim 15, wherein the type of prediction is selected out of the group consisting of DRB size forecasting, cell traffic forecasting and user equipment mobility forecasting.

21. The method according to claim any of the preceding claims, also comprising,- building an input vector for the ML system from a plurality of concatenated elements, wherein the concatenated elements comprise at least out of the group consisting of - the at least one extracted feature values associated with the second probabilistic space efficient data structure for each time slot, - transient derived additional feature values of the RAN raw data, - transformations of a plurality of transient derived additional feature values of the RAN raw data.

22. The method according to claim any of the preceding claims, wherein the machinelearning system s selected out of the group consisting at least of a neural network, a convolutional neural network, a deep neural network, a decision tree based model.

23. A system for resource requirement forecasting in a node of a radio access network, the system comprising- a processor and a memory, communicatively coupled to the processor, wherein the memory stores program code portions that when executed, enable the processor, to- extract a RAN static entity identifier value from RAN raw data,- extract at least one feature value from the RAN raw data depending on a selected type of a ML system, wherein the type of the ML system defines a type of resource,- upon determining, by the processor, that the extracted RAN static entity identifier value is not yet represented in a first probabilistic space efficient data structure associated with a current time slot the processor is also enabled to- add a representation of the extracted RAN static entity identifier value to the P110568 WO01 35 of page 37first probabilistic space efficient data structure associated with a current time slot,- store a representation of the extracted RAN static entity identifier value to a second probabilistic space efficient data structure for the current time slot, and- feed the at least one extracted feature value as input value to a machine-learning system of the selected type comprising a trained ML model for predicting the selected type of resource optimization.

24. A computer program product for resource requirement forecasting in a radio access network, the computer program product comprising a computer readable storage medium having program instructions embodied therewith, the program instructions being executable by one or more computing systems or controllers to cause the one or more computing systems to- extract a RAN static entity identifier value from RAN raw data,- extract at least one feature value from the RAN raw data depending on a selected type of a ML system, wherein the type of the ML system defines a type of resource,- upon determining, by the processor, that the extracted RAN static entity identifier value is not yet represented in a first probabilistic space efficient data structure associated with a current time slot the processor is also enabled to- add a representation of the extracted RAN static entity identifier value to the first probabilistic space efficient data structure associated with a current time slot,- store a representation of the extracted RAN static entity identifier value to a second probabilistic space efficient data structure for the current time slot, and- feed the at least one extracted feature value as input value to a machine-learning system of the selected type comprising a trained ML model for predicting the selected type of resource optimization.P110568 WO01 36 of page 37