Method and computer system for handling software upgrade of multiple network nodes in a communication network

An automated method for handling software upgrades in communication networks addresses inefficiencies and compliance issues by using KPIs for node grouping, machine learning for traffic prediction, and ranking for optimal upgrade timing, resulting in improved efficiency and reliability.

WO2025129500A1PCT designated stage expired Publication Date: 2025-06-26TELEFONAKTIEBOLAGET LM ERICSSON (PUBL) +1
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
PCT/CN2023/140270
Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2023-12-20
Publication Date
2025-06-26

AI Technical Summary

Technical Problem

Current methods for software upgrades in communication networks are manual, inefficient, and lack optimization, leading to potential service disruptions, compliance issues, and increased operational costs due to the complexity of managing network traffic and regulatory constraints.

Method used

An automated method that uses Key Performance Indicators (KPIs) to group network nodes, predicts network traffic using machine learning models, and ranks nodes for optimal software upgrade timing, ensuring minimal service impact and compliance with regulations.

Benefits of technology

The solution enables intelligent scheduling, maximizes network service availability, reduces manual labor, ensures compliance, and adapts to varying network sizes, thereby improving the efficiency and reliability of software upgrades in communication networks.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN2023140270_26062025_PF_FP_ABST
    Figure CN2023140270_26062025_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure relates to a computer implemented method for handling software upgrade of multiple network nodes (101) in a communication network (100). Data associated with software comprised in a respective network node (101) is obtained. One or more KPIs for each network node (101) of the multiple network nodes (101) is determined based on at least part of the obtained data. The network nodes (101) are grouped into a plurality of groups based on the one or more KPIs. Network traffic in each group of the plurality of groups are predicted based on historical network traffic data. The network nodes (101) within each group are ranked with respect to the respective predicted network traffic. A group upgrade time for a software upgrade for each of the groups is determined taking the ranking into account.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND COMPUTER SYSTEM FOR HANDLING SOFTWARE UPGRADE OF MULTIPLE NETWORK NODES IN A COMMUNICATION NETWORKTECHNICAL FIELD

[0001] The present disclosure relates generally to a computer system, a computer implemented method performed by the computer system, a computer program product and a non-transitory computer-readable storage medium. More particularly, the present disclosure relates to handling software upgrade of multiple network nodes in a communication network.BACKGROUND

[0002] The network upgrade process currently involves sequential sites grouping schemes, which are fully manual and incorporate very basic optimization. The upgrade may comprise upgrading of software. As network traffic increases and network services become more critical, finding common maintenance windows for upgrades has become difficult. Next generation Fifth Generation (5G) networks are becoming denser to meet the highly anticipated increase in capacity. Additionally, the recent trend shows that more networks cannot afford to lose all service during upgrades, making batching optimization increasingly important. The manual approach is time-consuming and with very limited consideration of network service impact, which often does not fulfill complex specifications and government regulations.

[0003] There have been several efforts to tackle the problems. Traditional methods that use rules for scheduling upgrades are inefficient because they do not consider the unique characteristics of each cluster of sites, resulting in suboptimal use of network resources. Current methods for scheduling upgrades may not consider the impact on the network end-user experience, i.e. the experience of the user using the UE, which can lead to poor customer satisfaction and potentially revenue loss for the network operator.

[0004] A telecom network comprises interconnected sites / cells with configured neighbor relations or combined deployments for specific features. In certain configurations, this dependency can make it challenging to roll out new software upgrades without disturbance of other sites, but for other cases it could be beneficial. It is important that when doing software upgrade, it should not be assumed that each site or cell is independent, but rather it is a complex net of connected sites.

[0005] One current method involves performing software upgrade for each site during a personalized maintenance window. However, in some countries, there are regulations from the government which prevent performing the upgrade or introducing disturbance in the network during certain hours of the day.

[0006] Considering the challenges described above and given the lack of a comprehensive and automated approach for scheduling network upgrades, there is a need for an improved method.

[0007] The existing node grouping schema for batch creation encounters several issues:

[0008] 1) Manual process: The current approach is labor-intensive and inefficient. It can also lead to potential negative impacts on network service quality due to human made mistakes.

[0009] 2) Lack of optimization: The absence of optimization in the manual approach prevents the possibility of evolving into maintenance-window-free network upgrades.

[0010] 3) Very fixed methodology: It is difficult to find time to upgrade the network, as network traffic increases. Identifying suitable time periods for upgrades becomes challenging, causing potential delays or complications. It is important to reduce network footprint due to upgrade restarts time.

[0011] 4) Network service availability: The growing importance of network services demands at least one layer of service availability during upgrades to avoid critical service interruption and large coverage holes.

[0012] Therefore, there is a need to at least mitigate or solve this issue.SUMMARY

[0013] An objective is to obviate at least one of the above disadvantages and to improve handling of software upgrade of network nodes in a communication network.

[0014] According to a first aspect, the object is achieved by a computer implemented method for handling software upgrade of multiple network nodes in a communication network. The data associated with software comprised in a respective network node is obtained. One or more Key Performance Index (KPI) for each network node of the multiple network nodes are determined based on at least part of the obtained data. The network nodes are grouped into a plurality of groups based on the one or more KPIs. Network traffic in each group of the plurality of groups  are predicted based on historical network traffic data. The network nodes within each group are ranked with respect to the respective predicted network traffic. A group upgrade time for a software upgrade for each of the groups is determined taking the ranking into account.

[0015] According to a second aspect, the object is achieved by a computer system for handling software upgrade of multiple network nodes in a communication network. The computer system comprises processing circuitry configured to obtain data associated with software comprised in the respective network node. The processing circuitry is configured to determine one or more KPIs for each network node of the multiple network nodes based on at least part of the obtained data. The processing circuitry is configured to group the network nodes into a plurality of groups based on the one or more KPIs, and to predict a network traffic in each group of the plurality of groups based on historical network traffic data. The processing circuitry is configured to rank the network nodes within each group with respect to the respective predicted network traffic. The processing circuitry is configured to determine a group upgrade time for a software upgrade for each of the groups taking the ranking into account.

[0016] According to a third aspect, the object is achieved by a computer program product comprising program code for performing, when executed by a processing circuitry, the method of the first aspect.

[0017] According to a fourth aspect, the object is achieved by a non-transitory computer-readable storage medium comprising instructions, which when executed by a processing circuitry, cause the processing circuitry to perform the method of the first aspect.

[0018] Thanks to the one or more KPIs, the grouping of the network nodes, the prediction of the network traffic and the ranking of the groups, it is possible to determine a group upgrade time for the software upgrade for each of the groups and consequently improve handling of software upgrade of network nodes in the communication network.

[0019] The present disclosure herein affords many advantages, of which a non-exhaustive list of examples follows:

[0020] An advantage of the present disclosure is that it provides intelligent scheduling. By predicting network traffic patterns using at least one machine learning model, e.g., LSTM, the present disclosure enables better timing for upgrades and minimizing service disruptions.

[0021] An advantage of the present disclosure is that it provides an enhanced network service availability. Deployment-specific optimization rules applied during batch refinement ensure maximum service availability throughout the software upgrade process.

[0022] Another advantage of the present disclosure is that its automated approach reduces manual labor, saves time, and increases efficiency.

[0023] A further advantage of the present disclosure relates to compliance. The automated system of the present disclosure takes government regulations into account, ensuring adherence while simplifying the process.

[0024] Yet another advantage of the present disclosure relates to scalability. The present disclosure’s adjustable computation cost allows it to adapt to different network sizes and complexities without requiring additional hardware resources.

[0025] An advantage of the present disclosure is that it reduces service impact. By using time series models to predict traffic KPIs, software upgrades can be scheduled in a way that minimizes service impact for users. This is because the upgrades are scheduled based on traffic patterns, and site upgrades are done when there is low traffic, thus reducing the number of users affected by the upgrade.

[0026] A further advantage of the present disclosures relates to increased efficiency. By clustering sites and building a single time series model for each cluster, the number of models required to make predictions is reduced. Clustering may be referred to as grouping. This leads to a significant reduction in computation time and increases the efficiency of the upgrade process.

[0027] Another advantage of the present disclosure is that it provides improved accuracy. By using time series models to predict network traffic, e.g. traffic KPIs, more accurate predictions about the traffic patterns of each cluster are made. This ensures that upgrades are scheduled at the right time, reducing service impact and improving the overall performance of the network.

[0028] Yet another advantage of the present disclosure is that it is a more proactive attempt to upgrade the software comprised in the network. Upgrading the software may be part of the process of upgrading the network. Upgrading the network may be described as the process of evolving the network, which can involve changing Hardware (HW) , upgrading software, upgrading Radio Access Technology (RAT) , etc. By using historical data to make predictions based on the well-defined criteria and local environment, the issues can be anticipated before they occur. Thus, an action could be taken in advance to prevent them from happening. This leads to a more stable and reliable network, which ultimately benefits users.

[0029] A further advantage of the present disclosure is that it enables deployment flexibility. The present disclosure can be deployed with various considerations depending on the operator and deployment constraints.

[0030] The present disclosure is not limited to the features and advantages mentioned above. A person skilled in the art will recognize additional features and advantages upon reading the following detailed description.BRIEF DESCRIPTION OF THE DRAWINGS

[0031] The present disclosure will now be described in more detail by way of example only in the following detailed description by reference to the appended drawings in which:

[0032] Fig. 1     is a schematic drawing illustrating a communication system.

[0033] Fig. 2     is a flow chart illustrating a method.

[0034] Fig. 3     is a flow chart illustrating a method.

[0035] Fig. 4a    is a curve illustrating the number of groups.

[0036] Fig. 4b    is a bar diagram illustrating the number of groups.

[0037] Fig. 5a    is a graph illustrating an analysis and distribution of KPI performance metric by group.

[0038] Fig. 5b     is a graph illustrating an analysis and distribution of KPI performance metric by group.

[0039] Fig. 6      is a schematic drawing illustrating prediction results for model training and forecasting data.

[0040] Fig. 7      is a graph illustrating a time series prediction visualization on unseen data.

[0041] Fig. 8      is a schematic drawing illustrating a comparison between the machine learning predicted scheduling matrix and the ground-truth scheduling matrix.

[0042] Fig. 9      is a schematic drawing illustrating a scheduling matrix example for 1 day on November 1st, 2022.

[0043] Fig. 10     is a schematic drawing illustrating a pair of cells.

[0044] Fig. 11     is a flow chart illustrating a method.

[0045] Fig. 12     is a schematic drawing illustrating a node.

[0046] The drawings are not necessarily to scale, and the dimensions of certain features may have been exaggerated for the sake of clarity. Emphasis is instead placed upon illustrating the principle.DETAILED DESCRIPTION

[0047] The present disclosure relates to an automated and optimized node grouping process that employs intelligent batch planning and upgrade scheduling using machine learning and deployment-tailored rule-based optimization.

[0048] The nodes batch, in this context, refers to the period, i.e. a SW upgrade window, when a set of network nodes are upgraded at the same time. A nodes batch may be referred to as a batch for the sake of simplicity.

[0049] The node batches are created by training a model on historical network performance and network characteristics. Then, the network batches may be refined and assessed using expert rules and network constraints. Then, the activation schedule for each network batch is determined in order to perform SW upgrade rollout.

[0050] The present disclosure uses both the terms group and batch, and these terms and their differences will now be shortly described. Network nodes that statistically have similar distributions are grouped together as a single entity, i.e. a group, of which the combine / average KPI can be used for machine learning in step 205 described later. Then, network nodes that are scheduled to be activated at the same time belong to the same batch. So at the end the present disclosure proposes batches for software upgrade.

[0051] Key features of the present disclosure comprise one or more of: automated maintenance window identification, maximized service availability during upgrade switch-over, soft-activation to  minimize traffic impact, compliance with government regulations, site-level optimization, and adjustable computation cost without extra hardware resources.

[0052] By addressing existing problems, optimized and automated approach of the present disclosure is believed to be capable of better managing the complexities of various network disturbance and paving the way for maintenance window-free network node upgrades.

[0053] Fig. 1 depicts a non-limiting example of a communication network 100, which may be a wireless communication system, sometimes also referred to as a wireless communication network, cellular radio system, or cellular network, communication system, in which the present disclosure may be implemented. The communication network 100 may be a 5G system, 5G network, NR-U or Next Gen system or network. The communication network 100 may alternatively be a younger system or older system than a 5G system, such as e.g. a 2G system, a 3G system, a 4G system, a 6G system a 7G system etc. The communication network 100 may support other technologies such as, for example, Long-Term Evolution (LTE) , LTE-Advanced / LTE-Advanced Pro, e.g. LTE Frequency Division Duplex (FDD) , LTE Time Division Duplex (TDD) , LTE Half-Duplex Frequency Division Duplex (HD-FDD) , LTE operating in an unlicensed band, NB-IoT. Thus, although terminology from 5G / NR and LTE may be used in this disclosure to exemplify, this should not be seen as limiting to only the aforementioned systems.

[0054] The communication network 100 comprises one or a plurality of network nodes, whereof a first network node 101a and a second network node 101b are depicted in the non-limiting example of fig. 1. Any of the first network node 101a, and the second network node 101b may be a radio network node, such as a radio base station, or any other network node with similar features capable of serving a user equipment, such as a wireless device or a machine type communication device, in the communication network 100. The first network node 101a may be an eNB and the second network node 101b may be a gNB. The first network node 101a may be a first eNB, and the second network node 101b may be a second eNB. The first network node 101a may be a first gNB, and the second network node 101b may be a second gNB. The first network node 101a may be a MeNB and the second network node 101b may be a gNB. Any of the first network node 101a and the second network node 101b may be co-localized, or they may be part of the same network node. The first network node 101a may be referred to as a source node or source network node, whereas the second network node 101b may be referred to as a target node or target network node. When the reference number 101 is used herein without the letters a or b, it refers to  a network node in general, i.e. it refers to any of the first network node 101a or second network node 101b. The network node 101 may be referred to as a site, a radio node, a network radio node, just to mention some examples.

[0055] The communication network 100 covers a geographical area which may be divided into cell areas, wherein each cell area may be served by a network node, although, one network node may serve one or several cells. In fig. 1, the communication network 100 comprises a first cell 103a and a second cell 103b. Note that two cells are exemplified in fig. 1 only as an example, and that any n number of cells may be comprised in the communication network 100, where n is any positive integer. A cell is a geographical area where radio coverage is provided by the network node at a network node site. Each cell is identified by an identity within the local network node area, which is broadcast in the cell. In fig. 1, first network node 101a serves the first cell 103a, and the second network node 101b serves the second cell 103b. Any of the first network node 101a and the second network node 101b may be of different classes, such as, e.g., macro base station (BS) , home BS or pico BS, based on transmission power and thereby also cell size. Any of the first network node 101a and the second network node 101b may be directly connected to one or more core networks, which are not depicted in fig. 1 for the sake of simplicity. Any of the first network node 101a and the second network node 101b may be a distributed node, such as a virtual node in the cloud, and it may perform its functions entirely on the cloud, or partially, in collaboration with another network node. The first cell 103a may be referred to as a source cell, whereas the second cell 103b may be referred to as a target cell. When the reference number 103 is used herein without the letters a or b, it refers to a cell in general, i.e. it refers to any of the first cell 103a or second cell 103b.

[0056] One or a plurality of UEs 105 is comprised in the communication network 100. Only one UE 105 is exemplified in fig. 1 for the sake of simplicity. A UE 105 may also be referred to simply as a device. The UE 105, e.g. an LTE UE or a 5G / NR UE, may be a wireless communication device which may also be known as e.g., a wireless device, a mobile terminal, wireless terminal and / or mobile station, a mobile telephone, cellular telephone, or laptop with wireless capability, just to mention some examples. The UE 105 may be a device by which a subscriber may access services offered by an operator’s network and services outside operator’s network to which the operator’s radio access network and core network provide access, e.g. access to the Internet. The UE 105 may be any device, mobile or stationary, enabled to communicate over a radio channel in the communication network 100, for instance but not limited to e.g. UE, mobile phone, smart phone,  sensors, meters, vehicles, household appliances, medical appliances, media players, cameras, Machine to Machine (M2M) device, Internet of Things (IOT) device, terminal device, communication device or any type of consumer electronic, for instance but not limited to television, radio, lighting arrangements, tablet computer, laptop or Personal Computer (PC) . The UE 105 may be portable, pocket storable, hand held, computer comprised, or vehicle mounted devices, enabled to communicate voice and / or data, via the radio access network, with another entity, such as another UE, a server, a laptop, a Personal Digital Assistant (PDA) , or a tablet, Machine-to-Machine (M2M) device, device equipped with a wireless interface, such as a printer or a file storage device, modem, or any other radio network unit capable of communicating over a radio link in the communication network 100.

[0057] The UE 105 is enabled to communicate wirelessly within the communication network 100. The communication may be performed e.g. between two UEs 105, between a UE 105 and a regular telephone, between the UE 105 and a network node, between network nodes, and / or between the UE 105 and a server via the radio access network and possibly one or more core networks and possibly the internet.

[0058] The first network node 101a may be configured to communicate in the communication network 100 with the UE 105 over a first communication link 108a, e.g., a radio link. The second network node 101b may be configured to communicate in the communication network 100 with the UE 105 over a second communication link 108b, e.g., a radio link. The first network node 101a may be configured to communicate in the communication network 100 with the second network node 101b over a third communication link 108c, e.g., a radio link or a wired link, although communication over more links may be possible. When the reference number 108 is used herein without the letters a, b or c, it refers to a communication link in general, i.e. it refers to any of the first communication link 108a, the second communication link 108b and the third communication link 108c.

[0059] It should be noted that the communication links 108 in the communication network 100 may be of any suitable kind comprising either a wired or wireless link. The link may use any suitable protocol depending on type and level of layer, e.g. as indicated by the Open Systems Interconnection (OSI) model, as understood by the person skilled in the art.

[0060] The method for handling software upgrade of multiple network nodes 101 in a communication network 100 will now be described with reference to the flowchart depicted in fig. 2. The method is a computer implemented method. The method may be performed by and / or implemented in a processing circuitry comprised in a computer system, a computer system, a control unit, a computer implemented entity, a node or any suitable entity arranged to perform the method. The method may be a standalone application that is deployed on a Network Management system. The method comprises at least one of following steps, which steps may as well be carried out in another suitable order than described below:

[0061] Step 200

[0062] Data associated with software comprised in a respective network node 101 is obtained.

[0063] The data may be obtained from one or more network nodes 101.

[0064] The obtained data may comprise one or more of the following:

[0065] ● Performance Management (PM) data associated with network performance and / or UE behavior; and / or

[0066] ● Configuration Management (CM) data associated with network node configuration; and / or

[0067] ● upgrade constraint data associated with different software upgrade options; and / or

[0068] ● user input data.

[0069] The obtained data may be referred to as RAN data or the obtained data may comprise RAN data. The RAN data may be associated with or obtained from an operational network, e.g. a network node comprised in the operational network.

[0070] The obtained data may comprise Deployment &Relation dependency information. The Deployment &Relation dependency information may be obtained using a CM framework. The Deployment &Relation dependency information may be referred to as CM data, or the CM data may comprise the Deployment &Relation dependency information. After obtaining the RAN data, the relation dependency information indicating the relation between two network nodes 101 may be extracted using the CM attributes. Here each of the extracted relations may be any one or a combination of a (1) mobility relation, and / or a (2) transport relation between pair of network nodes 101. The mobility relation between two network nodes 101 indicates that a handover is  enabled. The transport relation between two network nodes 101 indicates a relation corresponding to a physical link between two network nodes 101 in the communication network 100. The CM data may be extracted with relations on network nodes 101 that are related and / or connected. There are two aspects:

[0071] ○ (1) RAN dependencies, e.g., Non-Standalone Access (NSA) , Standalone Access (SA) , Elastic RAN, LTE, etc. RAN dependencies may be referred to as dependencies between network nodes 101.

[0072] ○ (2) Hardware (HW) equipment dependencies, e.g., shared Radio, shared Baseband (BB) , etc. The HW equipment is comprised in a network node 101.

[0073] The upgrade constraints may be operator and government related.

[0074] The network nodes 101 may comprise the same software or they may comprise different software. The terms network node and site may be used interchangeably herein.

[0075] Step 201

[0076] At least part of the obtained data may be processed. In other words, CM data of the obtained data may be processed.

[0077] The result of the processing of the CM data comprises information indicating how the network nodes 101 are configured and this may be typically semi static information, it may change but is seldom changed. PM data more describes how the network node 101 behaves over time and how the traffic patterns look like.

[0078] Processing of CM data may be performed to obtain a result comprising information indicating one or more of:

[0079] ● The site to network node relations.

[0080] ● Is there more than one node covering and antenna site?

[0081] ● Is one network node 101 covering more than one antenna site?

[0082] ● Is equipment shared like shared radios?

[0083] ● How many cells does the network node 101 have?

[0084] ● Do the network nodes 101 on a site need to be merged into a super node from a PM and priority point of view or not?

[0085] ● Is a network node 101 a single standard or multi standard –one set of KPI / PM data to analyze or more?

[0086] Step 201 may comprise processing the PM data.

[0087] Step 202

[0088] One or more KPI are determined for each network node 101 of the multiple network nodes 101 based on at least part of the obtained data.

[0089] The one or more KPIs may be determined based on PM counters comprised in the PM data. The KPI may combine one or more PM counters.

[0090] The one or more KPIs may be related to PM data which may be statistics collected for example every 15 minutes.

[0091] The one or more KPIs may be determined based on a result of the processing of the CM data in step 201.

[0092] The one or more KPIs may be determined based on CM data.

[0093] The one or more KPIs may be determined based on PM data and CM data.

[0094] There may be different KPI categories, such accessibility KPI, mobility KPI, integrity KPI, utilization KPI and energy performance KPI. The accessibility KPI is related to measuring network-user access.

[0095] The KPIs may be 3GPP accessibility KPIs.

[0096] Step 203

[0097] The network nodes 101 are grouped into a plurality of groups based on the one or more KPIs. Using other words, determining a plurality of groups of network nodes 101 based on the one or more KPIs.

[0098] The network nodes 101 are grouped into a plurality of groups based on capacity and coverage constraints. The capacity and coverage constraints may be indicated by the processed CM data and / or the one or more KPIs.

[0099] The grouping may be based on at least part of the obtained data, i.e. the data obtained in step 200. The grouping may be based on a result of the processing of the CM data performed in step 201.

[0100] The grouping may be based on both one or more KPIs and at least part of the obtained data. The grouping may be based on one or more KPIs and a result of the processing performed in step 201.

[0101] The grouping may be based on CM data and the one or more KPIs. The grouping may be based on processed CM data and the one or more KPIs. The grouping may be based on PM data and the one or more KPIs. The grouping may be based on processed PM data and the one or more KPIs. The grouping may be based on both CM data and PM data and one or more KPIs. The grouping may be based on both processed CM data and processed PM data and one or more KPIs.

[0102] Network nodes 101 having similar KPI statistical distribution may be grouped together. For each network node 101, a vector that represents KPI distribution may be extracted. The network nodes 101 may be grouped by calculating a statistical distance between their associated vectors. Similar KPI statistical distribution may refer to the KPIs that share the similar statistical distributions. Two or more nodes or cells may or may not have identical behavior. The more similar the behavior the more likely it is that two network nodes 101 are put in the same group.

[0103] Step 203 may be described as categorization of the network nodes 101 to form initial site groups based on network performance characteristics, i.e. based on KPIs. Machine learning (k-means) algorithm may be applied to define groups, substantially reducing computational complexity of the optimization used in the proceeding upgrade process.

[0104] The KPI Prediction Model may be trained on the initial clusters and input data.

[0105] Step 204

[0106] Network traffic in each group of the plurality of groups are predicted based on historical network traffic data.

[0107] The predicted network traffic may be referred to as future network traffic.

[0108] The network traffic may be predicted using at least one Machine Learning (ML) model that takes the historical network traffic data as input data. The historic network traffic data may be comprised in PM data, as obtained in step 200.

[0109] The at least one ML model may comprise one or more of:

[0110] - a Deep Neural Network, DNN, and / or

[0111] - a recurrent neural network, RNN, and / or

[0112] - a Long-short-term-memory, LSTM, model, and / or

[0113] - a Time-Series Transformers network.

[0114] Step 204 may comprise using at least one ML model to predict network traffic patterns, enabling intelligent upgrade scheduling based on anticipated traffic trends.

[0115] There may be one ML model or a combination of two or more ML models. The one ML model may comprise two ML sub models.

[0116] For example, there may be one ML model for CM data and predicting network node relations important for coverage cells, and for sorting coverage vs capacity cells and cells which are PS cells which is a combination of both. There may be a second ML learning model used for the PM parts to determine when the cells statistically have the minimal amount of traffic. The ML model, one or more, may optimize both on capacity and coverage

[0117] Step 205

[0118] The network nodes 101 within each group are ranked with respect to the respective predicted network traffic.

[0119] The ranking may indicate a priority and / or a schedule of software upgrade for each network node 101 over a time period. The software upgrade may be forced even at non-optimal times. Both fleet management of all network nodes 101 and management of the individual network nodes 101 need to be traded off and balanced. From a fleet management perspective, the operator wants the  network nodes 101 to be upgraded within a certain time like certain number of days or a week. It cannot drag on forever.

[0120] It is a multi-dimensional grouping with need for several groups of each combination:

[0121] 1. Low priority network nodes 101 may be separated from high priority network nodes. High traffic load may be one factor.

[0122] 2. All low priority nodes may not be upgraded at the same time because this may cause large coverage holes.

[0123] 3. For ensuring coverage in a cluster of network nodes 101 typically 1+6=7 groups or more groups may be needed. Cell planning may be done with hexagon pattern having 6 neighboring cells or network nodes 101.

[0124] 4. Low priority network nodes 101 may be used to fill up a restart batch with few network nodes 101 in it as long as 2 is considered.

[0125] Ranks are generated for network nodes 101 in each group (and their associated sites that share the same rank.

[0126] For example, network nodes 101 with low traffic may be given a low ranking, e.g. rank 1, and may be considered to be a potential upgrade slot. Network nodes 101 with high traffic may be given a high ranking, e.g. rank 40 and may be considered to not be a potential upgrade slot. Low traffic may be traffic below a first traffic threshold and high traffic may be traffic above a second traffic threshold, where the second traffic threshold is higher than the first traffic threshold.

[0127] Step 206

[0128] A group upgrade time for a software upgrade for each of the groups is determined taking the ranking into account.

[0129] The group upgrade time may be determined based on the assessment of the groups.

[0130] Step 207

[0131] The software upgrade may be triggered to be performed during the group upgrade time. Consequently, the software upgrade may be performed during the group upgrade time. The  software that is upgraded may be the same software in all network nodes 101, or it may be different software.

[0132] It may be a portion of the network node 101 that is upgraded, it may be a portion of the communication network 100 that is upgraded, it may be the whole network node 101 that is upgraded, or it may be the whole communication network 100 that is upgraded.

[0133] When a portion of a network node 101 or the communication network 100 is upgraded and / or restarted, the available portion of the network node 101 or the communication network 100 may remain operational. The available portion is the portion that is not upgraded and / or restarted. When software comprised in the network node 101 is upgraded, it may lead to a restart of the network node 101. A restart may be seen as a part of the software upgrade, it may be seen as a separate procedure, or it may be seen as the same as the software upgrade. The software upgrade described herein may or may not comprise the restart of the network node 101.

[0134] The method for handling software upgrade of multiple network nodes 101 in a communication network 100 will now be described with reference to the flowchart depicted in fig. 3. The method comprises at least one of following steps, which steps may as well be carried out in another suitable order than described below:

[0135] Step 300

[0136] This step corresponds to step 200 in fig. 2. Data is obtained. The data may be RAN data or it may comprise RAN data. The data is collected continuously as part of SW monitoring capabilities of the network node 101.

[0137] The obtained data may comprise one or more of the following:

[0138] ● Network node list

[0139] ● PM data associated with network performance and / or UE behavior; and / or

[0140] ● CM data associated with network node configuration; and / or

[0141] ● upgrade constraint data associated with different software upgrade options; and / or

[0142] ● user input data, and / or

[0143] ● user option data, and / or

[0144] ● network node constraint data, e.g. user option data, user input data, constraints data related to constraints that the operator has on the network node 101 etc., configurations such as maximum number of affected customers and other specifics.

[0145] The network node constraint data may be the same as user input data and / or user option data, or it may comprise the user input data and / or user option data.

[0146] The PM data may comprise one or more counters which are time series data points that are used to monitor SW Framework performance. The CM data may comprise one or more configuration parameters and SW configuration files.

[0147] The upgrade constraints may be based on operator and government related.

[0148] Steps 301 and 302

[0149] This step corresponds to steps 202 and 203 in fig. 2.

[0150] Data pre-processing is performed. It is the data obtained in step 300 that is pre-processed. Step 301 may be described as executing an algorithm for grouping the network nodes 101. The pre-processing or the algorithm for grouping comprises determining one or more KPIs for each network node 101 and groping the network nodes into a plurality of groups based on the one or more KPIs.

[0151] The one or more KPIs are determined based on CM data or PM data or based on both CM data and PM data.

[0152] According to the upgrade constraints, one or more KPIs are determined for each network node 101, using for example one or more of the following measurements:

[0153] ● Number of maintenance windows required.

[0154] ● Number of UEs considered active in the downlink direction.

[0155] ● Number of UEs considered active in the uplink direction.

[0156] ● Data volume on Medium Access Control (MAC) level in the downlink direction, for example in the magnitude of kilobit.

[0157] ● Number of UEs considered active in the downlink direction.

[0158] ● Data volume on MAC level in the uplink direction, for example in the magnitude of kilobit.

[0159] ● Peak number of UEs considered active in the uplink direction.

[0160] ● Peak number of UEs considered active in the downlink direction.

[0161] The measurements listed above may be counters coming from the network node 101.

[0162] Some examples of the upgrade constraints mentioned above may be:

[0163] ● Number of affected users less than X users.

[0164] ● some network nodes 101 may need to be upgraded in the same batch in time, they cannot be upgraded asynchronously.

[0165] The KPI may be referred to as an accessibility KPI.

[0166] The downlink direction is the direction from the network node 101 to the UE 105. The uplink direction is the direction from the UE 105 to the network node 101.

[0167] The network nodes 101 in the communication network 100 are grouped based on the KPIs. The network nodes 101 are grouped based on statistical resemblance of aggregated KPIs. An advantage of grouping the network nodes 101 is that it reduces computational complexity. The grouping may be referred to as clustering.

[0168] There may be a node group 1, node group 2, node group n, where n is a positive integer. Thus, the network nodes 101 are grouped into a plurality of groups, e.g. n+1 number of groups.

[0169] From the data obtained in step 300, network nodes 101 that have similar KPI statistical distribution are grouped together or clustered. This is done by:

[0170] 1. Representing each network node 101 as a vector of its KPIs over the different days.

[0171] 2. Run an elbow curve method and plot diminishing return curve using kMeans clustering to find optimal number of groups.

[0172] 3. Cluster the network nodes 101 using K-Means to the optimal number of groups.

[0173] Fig. 4a is a graph illustrating diminishing return curve as a result of the elbow curve method, as described in item 2 of the list above. The x-axis of fig. 4a represents a number of groups and the  y-axis represents the inertia. As seen from the graph in fig. 4a, the inertia drops as the number of groups increases. 35 may be selected as the number of groups, as an example.

[0174] Fig. 4b is a bar diagram illustrating a count of network nodes 101 distribution per group. The x-axis represents the number of groups, and the y-axis represents a count of network nodes per group. A need for a smaller inertia indicates a high number of groups. Low computation cost indicates a low number of groups. It may be necessary to determine a compromise between the inertia and the computation cost.

[0175] Fig. 5a and fig. 5b are graphs illustrating an analysis and distribution of KPI performance metric by group. The x-axis represents the group, and the y-axis represents KPI performance metric. Group Intra-dependency KPI is meant to refer to how strong or large the signal is for a particular network node and the calculation of this metric comes from statistical calculations of different KPIs, where the higher the number means the higher KPI Value there is for the site. It is a hand-crafted metric based on the Euclidean distance of the normalized KPI values for each site / node.

[0176] Now returning to fig. 3.

[0177] Step 303

[0178] This step corresponds to step 204 in fig. 2. Information indicating the groups are sent as input to at least one ML model for ML KPI prediction. The purpose of the at least one ML model is to predict network traffic. The predicted network traffic may be in the form of a network traffic KPI or any other suitable parameter representing predicted network traffic in the communication network 100. An example of an ML model is LSTM. Additional examples are given earlier in this disclosure.

[0179] At least one ML model is utilized to forecast the network traffic KPI, in particular, the downlink volume, as follows:

[0180] ● In every group, the downlink volume for the sites is grouped together in an average way to represent the entire group distribution.

[0181] ● At least one ML model is trained for each individual group of network nodes 101.

[0182] Fig. 6 is an illustration of two example experiments that are conducted. The arrows represent time. The top part of fig. 6 represents experiment 1 which comprises training the one or more ML  model, e.g. LSTM, on data over all day (24 / 7 data) . The train period is from t to t+24. The test period is from t+24 to t+29. In other words, the history = 24 hours and the horizon = 5 hours. Experiment 1 illustrates the time series forecasting model used to predict future values. It utilizes 24 hours of historical data to predict 5 hours into the future.

[0183] The bottom part of fig. 6 represents experiment 2 which comprises training the one or more ML model, e.g. LSTM, on data focusing only on the time period 12-5am. Experiment 2 uses history =12am-12pm and horizon = 12am-5am. Experiment 2 illustrates a time series forecasting model utilizing only maintenance window time data.

[0184] Quantitative results show the Root Mean Squared Error Score to be:

[0185] ● Experiment 1 training with all data: validation loss = 0.0027

[0186] ● Experiment 2 training with maintenance data: validation loss = 0.0561

[0187] Fig. 7 is a graph illustrating time series prediction visualization on unseen data. The x-axis of fig. 7 represents a time step and the y-axis represents normalized traffic volume. The blue line represents real network traffic, and the red line represents predicted network traffic. Unseen data may be the same as the forecast in this context.

[0188] LSTM provided good results while the cost of training the ML model is relatively low. One can use Time-series Transformers (TST) to train the model.

[0189] Returning to fig. 3.

[0190] Step 304

[0191] This step corresponds to step 205 in fig. 2. The best Reporting Output Period (ROP) for network node software upgrade is identified.

[0192] Step 305

[0193] This step corresponds to step 205 in fig. 2. The network nodes 101 that have the same activation ROP are gathered in the same batch.

[0194] Step 305 may comprise ranking the groups from steps 301 and 302 based on predicted network traffic, e.g. based on predicted network traffic KPIs.

[0195] Fig. 8 is a schematic drawing illustrating the scheduling ranking matrix validation between the one predicted by the ML model, on the left side of fig. 8, and the actual matrix coming from real data, on the right side of fig. 8. Using other words, fig. 8 illustrates a comparison between the ML predicted scheduling matrix and the ground-truth scheduling matrix. The results show impressive correspondence between the 2 matrices. The green color corresponds to less network traffic and is thus a potential upgrade slot. The red color corresponds to higher traffic and this slot should be avoided or have low priority for SW upgrade. Rank 1 is the best time or the time having highest priority to perform the SW upgrade, going to rank 40 which is the worst in the time period from 12 to 5am. The x-axis of fig. 8 represents time and the y-axis represents node group ID.

[0196] Furthermore, data over the period from 10pm-8am over is analyzing completely to check the best timing for the upgrade. That is depicted by the plotted scheduling matrix in fig. 9. The x-axis in fig. 9 represents time and the y-axis represents node group ID. In this matrix in fig. 9, the operator of the network node 101 may be given freedom to perform the SW upgrade in a larger window than 15 minutes, by providing multiple ROPs for operation depicted in dark black boxes or boxes with bold black lines. These are determined by slope analysis and finding the variance of traffic between the 1st rank and adjacent neighboring slots in the matrix.

[0197] Step 306

[0198] This step corresponds to step 206 in fig. 2. The groups may be assessed using expert rules and / or network constraints. Additional considerations may be taken into account when gathering the network nodes 101 that have the same activation ROP. In other words, the gathering of the network nodes 101 may be refined or re-gathered taking additional considerations into account. Once the groups are determined, the node groups may be analyzed and assessed using expert rules and network constraints:

[0199] CM data may be used to determine the deployment scenario of all nodes. Based on the batch rule for each scenario, each node may be assigned to a single batch or multiple batches.

[0200] Links between network nodes 101, e.g. X2 / Xn links and cell relations may be analyzed to assign network nodes 101 with X2 / Xn or cell relation to different batches, ensuring that neighboring network nodes are operational when software in any network node is upgraded.

[0201] CM data may be used when analyzing relations between cells. CM data may be more facts and may be more stable over time, as compared to PM data, but may change when cells are added or deleted. However, capacity cells may be put to sleep during periods of time with no or little UE traffic.

[0202] Pure coverage cells are never put to sleep and assessment of such cells may be done using CM data and PM data. These cells are often called P-cells. Some control signalling to the UE is handled by these cells.

[0203] Assessing pure capacity cells may be based on PM data and put to sleep when there is no or low traffic. These cells are often called S-cells.

[0204] For sites and nodes with very high capacity there are cells that act both as coverage and capacity cells. These are called PS cells.

[0205] The additional considerations may be for example relations between two or more network nodes 101. A communication network 100 comprises of a network of interconnected nodes. A network node 101, also referred to as a base station, is arranged to provide connectivity to UEs 105 in a geographical region, often referred to as a sector. It encompasses digital and hardware components, each providing different functionality. Each site can contain multiple cells. Each cell comprises attributes, for example EUtranCellFDD / EUtranCellTDD for LTE Cell parameters and NRCell for NR cells. A site may comprise multiple cells or sectors. The terms cell and sector mean the same thing. Each cell points to an angle, so the sum of all angles is 360 degrees to cover the entire area.

[0206] One source cell, for example an LTE cell or NR cell, may be connected to a possible number of neighboring cells, i.e., cell that can interact with source cell. This may be used for mobility functionalities for cells, for example LTE cells or NR cells. The relations between cells may be for example NRCellRelation for NR and EUtranCellRelation for LTE. Pairs of network nodes 101 may be constructed to point to how each cell is connected to the other cell in the communication network 100. Data indicating network node pairs, as illustrated in fig. 10, are obtained and are stored in a Managed Object (MO) class. Fig. 10 is a schematic drawing illustrating two network nodes 101 which constitutes a pair.

[0207] A network graph may be represented as a graph with n nodes and d dimensional features The graph comprises nodes  (cell) that are connected with edges represented as a relation. Features for relations such as distance between cells, physical obstacles, etc. may be introduced. The features may be introduced into the ML framework in the “user options” or “user options” that is described in step 207 in fig. 2. The features may come from the network node operator itself.

[0208] The set of edges extracted from this network may be used later when assessing site groups using network constraints.

[0209] Returning to fig. 3.

[0210] Step 307

[0211] This step corresponds to step 207 in fig. 2. Activation batches and activation ROPs are determined. Consequently, the software upgrade may be triggered at activation ROPs. ROP is a term used on network node level. It is 15 minute aggregated PM / CM data. Upgrade time may be on 1 or more ROPs. It depends on the network node 101 how much time it needs to upgrade.

[0212] Fig. 11 is a schematic drawing illustrating a summary of fig. 3, or it illustrates some of the steps of fig. 3. The network nodes are grouped into N number of network node groups 1101. The network node groups are processed using one or more ML models 1103. Finally, N number of upgrade times 1105 are determined. These three steps 1101, 1103 and 1105 are performed N number of times. N is a positive integer.

[0213] Fig. 12 is a schematic drawing illustrating a node 1200 for handling software upgrade of multiple network nodes 101 in a communication network 100. The node 1200 may be a computer system, it may be comprised in a computer system, it may be a control unit, it may be a computer implemented entity, it may be the network node 101, it may be comprised in the network node 101, it may be arranged to be connected to the network node 101, it may be any suitable entity arranged to perform the method described herein.

[0214] The node 1200 may comprise processing circuitry 1201, e.g. one or more processors, configured to perform the methods herein.

[0215] The node 1200 and / or the processing circuitry 1201 are configured to obtain data associated with software comprised in the respective network node 101. The obtained data may comprise one or more of the following:

[0216] ● PM data associated with network performance and / or UE behavior; and / or

[0217] ● CM data associated with network node configuration; and / or

[0218] ● upgrade constraint data associated with different software upgrade options; and / or

[0219] ● network node constraint data.

[0220] The node 1200 and / or the processing circuitry 1201 is configured to determine one or more KPIs for each network node 101 of the multiple network nodes 101 based on at least part of the obtained data.

[0221] The node 1200 and / or the processing circuitry 1201 may be configured to process CM data of the obtained data.

[0222] The node 1200 and / or the processing circuitry 1201 are configured to group the network nodes 101 into a plurality of groups based on the one or more KPIs. The grouping may be based on at least part of the obtained data. The grouping may be based on both one or more KPIs and at least part of the obtained data. Network nodes 101 having similar KPI statistical distribution may be grouped together. The grouping may be based on a result of the processed CM data.

[0223] The node 1200 and / or the processing circuitry 1201 are configured to predict a network traffic in each group of the plurality of groups based on historical network traffic data. The network traffic may be predicted using at least one ML model that takes the historical network traffic data as input data. The at least one ML model may comprise one or more of: a DNN, a RNN, a LSTM, model and / or a Time-Series Transformers network

[0224] The node 1200 and / or the processing circuitry 1201 are configured to rank the network nodes 101 within each group with respect to the respective predicted network traffic. The ranking may indicate a priority and / or a schedule of software upgrade for each group over a time period.

[0225] The node 1200 and / or the processing circuitry 1201 are configured to determine a group upgrade time for a software upgrade for each of the groups taking the ranking into account. The group upgrade time may be determined based on the assessment of the groups.

[0226] The node 1200 and / or the processing circuitry 1201 may be configured to trigger the software upgrade to be performed during the group upgrade time

[0227] The node 1200 comprises a memory 1205. The memory 1205 comprises one or more units to be used to store data on, such as indications, data, KPIs, group information, group ID, network node ID, group upgrade time, software information, node upgrade time, ranking, predicted and historic network traffic, ML model (s) , measurements, thresholds, data related to nodes, and applications to perform the methods disclosed herein when being executed, and similar. Furthermore, the node 1200 may comprise a communication interface 1206 such as comprising a transmitter, a receiver, a transceiver and / or one or more antennas.

[0228] The methods according to the embodiments described herein for the node 1200 are respectively implemented using e.g., a computer program product 1207 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 node 1200. The computer program product 1207 may be stored on a computer-readable storage medium 1208, e.g. a disc, a universal serial bus (USB) stick or similar. The computer-readable storage medium 1208, 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 node 1200. 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 a node 1200 for handling software upgrade of multiple network nodes 101 in a communication network 100, wherein the node 1200 comprises processing circuitry and a memory, the memory comprising instructions executable by the processing circuitry whereby the node 1200 is operative to perform any of the methods herein.

[0229] A computer program product comprising program code for performing, when executed by the processing circuitry 1201, the methods herein.

[0230] A non-transitory computer-readable storage medium comprising instructions, which when executed by a processing circuitry 1201, cause the processing circuitry 1201 to perform the methods herein.

[0231] In general, the usage of “first” , “second” , “third” , “fourth” , and / or “fifth” herein may be understood to be an arbitrary way to denote different elements or entities, and may be understood to not confer a cumulative or chronological character to the nouns they modify, unless otherwise noted, based on context.

[0232] The present disclosure is not limited to the above. Various alternatives, modifications and equivalents may be used. Therefore, disclosure herein should not be taken as limiting the scope. A feature may be combined with one or more other features.

[0233] The term “at least one of A and B” should be understood to mean “only A, only B, or both A and B.”, where A and B are any parameter, number, indication used herein etc.

[0234] It should be emphasized that the term “comprises / comprising” when used in this specification is taken to specify the presence of stated features, integers, steps or components, but does not preclude the presence or addition of one or more other features, integers, steps, components or groups thereof. It should also be noted that the words “a” or “an” preceding an element do not exclude the presence of a plurality of such elements.

[0235] The term “configured to” used herein may also be referred to as “arranged to” , “adapted to” , “capable of” or “operative to” .

[0236] The steps of the methods may be performed in another order than the order in which they appear herein.

Claims

1.A computer implemented method for handling software upgrade of multiple network nodes (101) in a communication network (100) , the method comprising:obtaining (200, 300) data associated with software comprised in a respective network node (101) ;determining (202, 301) one or more Key Performance Index, KPI, for each network node (101) of the multiple network nodes (101) based on at least part of the obtained data;grouping (203, 302) the network nodes (101) into a plurality of groups based on the one or more KPIs;predicting (204, 303) a network traffic in each group of the plurality of groups based on historical network traffic data;ranking (205, 304, 305) the network nodes (101) within each group with respect to the respective predicted network traffic; anddetermining (206, 307) a group upgrade time for a software upgrade for each of the groups taking the ranking into account.2.The method according to claim 1, comprising:processing (201) Configuration Management, CM, data of the obtained data, and wherein the grouping is based on a result of the processing.3.The method according to any of the preceding claims, wherein the grouping is based on the one or more KPIs and at least part of the obtained data.4.The method according to any of the preceding claims, wherein the network traffic is predicted using at least one Machine Learning, ML, model that takes the historical network traffic data as input data.5.The method according to any of the preceding claims, wherein the at least one ML model comprises one or more of: a Deep Neural Network, DNN, a recurrent neural network, RNN, a Long-short-term-memory, LSTM, model and / or a Time-Series Transformers network.6.The method according to any of the preceding claims, wherein the ranking indicates a priority and / or a schedule of software upgrade for each group over a time period.7.The method according to any of the preceding claims, wherein the obtained data comprises one or more of the following:· Performance Management, PM, data associated with network performance and / or User Equipment, UE, behavior; and / or· Configuration Management, CM, data associated with network node configuration; and / or· upgrade constraint data associated with different software upgrade options; and / or· network node constraint data.8.The method according to any of the preceding claims, wherein network nodes (101) having similar KPI statistical distribution are grouped together.9.The method according to any of the preceding claims, comprising:triggering (207) the software upgrade to be performed during the group upgrade time.10.A computer system (1200) for handling software upgrade of multiple network nodes (101) in a communication network (100) , wherein the computer system (1200) comprises processing circuitry (1201) configured to:obtain data associated with software comprised in the respective network node (101) ;determine one or more Key Performance Index, KPI, for each network node (101) of the multiple network nodes (101) based on at least part of the obtained data;group the network nodes (101) into a plurality of groups based on the one or more KPIs;predict a network traffic in each group of the plurality of groups based on historical network traffic data;rank the network nodes (101) within the groups with respect to the respective predicted network traffic; and todetermine a group upgrade time for a software upgrade for each of the groups taking the ranking into account.11.The computer system (1200) according to claim 10, wherein the processing circuitry (1201) is configured to perform the method of any of claims 2-9.12.A computer program product comprising program code for performing, when executed by a processing circuitry (1201) , the method of any of claims 1-9.13.A non-transitory computer-readable storage medium comprising instructions, which when executed by a processing circuitry (1201) , cause the processing circuitry (1201) to perform the method of any of claims 1-9.

Citation Information

Patent Citations

  • Artificial intelligence-based network advisor

    US10708795B2

  • Method and system for performing effective orchestration of cognitive functions in distributed heterogeneous communication network

    US20200186411A1

  • Over-the-air (OTA) mobility services platform

    US20220300273A1

  • Method and recommendation system for providing an upgrade recommendation

    WO2020088734A1