EP4689884A1 - Package fetching for radio software management - Google Patents
Package fetching for radio software managementInfo
- Publication number
- EP4689884A1 EP4689884A1 EP24717306.5A EP24717306A EP4689884A1 EP 4689884 A1 EP4689884 A1 EP 4689884A1 EP 24717306 A EP24717306 A EP 24717306A EP 4689884 A1 EP4689884 A1 EP 4689884A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- network node
- software
- list
- packages
- radio
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/65—Updates
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/70—Software maintenance or management
- G06F8/71—Version control; Configuration management
Definitions
- the present disclosure relates to wireless communications, and in particular, to radio software management.
- the Third Generation Partnership Project (3 GPP) has developed and is developing standards for Fourth Generation (4G) (also referred to as Long Term Evolution (LTE)) and Fifth Generation (5G) (also referred to as New Radio (NR)) wireless communication systems. Such systems provide, among other features, broadband communication between network nodes (NNs), such as base stations, and mobile wireless devices (WD), as well as communication between network nodes and between WDs.
- 4G Fourth Generation
- 5G also referred to as New Radio (NR)
- NNs network nodes
- WD mobile wireless devices
- 6G Sixth Generation
- a network node may comprise at least a radio unit (RU). Each RU may require a RU software (SW) package to operate.
- An RU may be capable of storing multiple radio SW versions, where each SW version is provided in a separate Radio SW Package identified with a software package number and package version.
- a vendor may offer a wide variety of RUs, each fulfilling specific operator needs.
- the RUs may be identified with different RU product numbers and classified in different hardware platforms or radio product families. Each radio platform or radio product may require a separate RU SW package product number.
- a NN may comprise a virtual distributed unit (vDU).
- a vDU values. y ami file may be used to indicate RU SW package product numbers.
- the vDU values. yaml file may include a list of RU SW package product numbers and versions that have been tested with the new vDU software version. The list may also be referred to as a “radioSoftware” definition and may include different RU SW package numbers and versions (e.g. 10 or more) supported globally for a vDU product. This information may be provided by the vendor and used for one or more purposes such as:
- a subset may be on-boarded by the operator into a central repository (e.g., file server in a management node) that is remotely accessible by each vDU before the user triggers a radio software upgrade job.
- a radio software controller automatically reads the full list of tested packages, includes such list in the REST API call to the vDU, and tries to fetch (download) the packages that are available in the file server and stores them in its local volume.
- vDUs are typically upgraded during a maintenance window.
- Each operator network may need a different set of RU SW packages, and each vDU may require an even smaller set of RU SW packages.
- a vDU site for the operator only needs a single RU SW package, and fetching the entire set of RU packages on-boarded by the operator is highly inefficient. This may be referred to as a conventional package fetching (e.g., basic package fetching), which has at least the following problems:
- Some embodiments advantageously provide methods, systems, and apparatuses for package fetching for radio software management in cloud networks.
- One or more embodiments provide advanced package fetching (APF) (e.g., of radio software).
- APF is performed in conjunction with automatic software selection features.
- APF is specifically implemented by the vDU (and/or radio software upgrade job engine).
- APF provides the following options: (A) automatic filtering and fetching of the minimum set of tested RU SW packages required by each existing vDU instance during network upgrade (e.g., vDU batch upgrade); and (B) automatic filtering and fetching of the minimum set of tested RU SW packages required by a new vDU instance during vDU installation. Both options may be performed independently and reuse the same building blocks. In some embodiments, both options are performed (e.g., full solution) where APF is implemented during vDU installations and vDU upgrades. In some other embodiments, only vDU upgrades are performed (e.g., partial solution).
- a first network node configured to communicate with a second network node.
- the first network node is configured to, and/or comprising a radio interface and/or comprising processing circuitry configured to receive a first set of software packages to from the second network node, where the first set of software packages comprises a maximum number of software packages, and when advanced package fetching (APF) is enabled, inspect the first set of software packages and produce a second set of software packages based on the inspection of the first set of software packages.
- the second set of software packages comprises a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
- a method in a first network node configured to communicate with a second network node comprising receiving a first set of software packages to from the second network node, where the first set of software packages comprises a maximum number of software packages, and when advanced package fetching (APF) is enabled, inspecting the first set of software packages and producing a second set of software packages based on the inspection of the first set of software packages.
- the second set of software packages comprises a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
- a second network node configured to communicate with a first network node.
- the first network node being configured for advanced package fetching (APF) of one or more software packages for a software upgrade of one or more radio units (RUs).
- the second network node is configured to, and/or comprising a radio interface and/or comprising processing circuitry configured to transmit a first set of software packages to the first network node.
- the first set of software packages comprises a maximum number of software packages.
- the first set of software packages is usable by the first network node to, when APF is enabled, inspect the first set of software packages and produce a second set of software packages based on the inspection of the first set of software packages.
- the second set of software packages comprises a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
- a method in a second network node configured to communicate with a first network node.
- the first network node being configured for advanced package fetching (APF) of one or more software packages for a software upgrade of one or more radio units (RUs).
- the method comprises transmitting a first set of software packages to the first network node.
- the first set of software packages comprises a maximum number of software packages.
- the first set of software packages is usable by the first network node to, when APF is enabled, inspect the first set of software packages and produce a second set of software packages based on the inspection of the first set of software packages.
- the second set of software packages comprises a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
- a method in a first network node configured to communicate with a second network node and a third network node is described.
- the first network node is configured for fetching one or more software packages.
- the method includes obtaining (e.g., receiving, determining, transmitting a request for and receiving, retrieving, etc.) a first list of software packages from the second network node.
- the first list of software packages includes first information (e.g., a list of file names corresponding to software packages, including package_l.zip, package_2.zip, package_3.zip) corresponding to a first set of software packages usable for a software upgrade of a plurality of radio units (RUs).
- first information e.g., a list of file names corresponding to software packages, including package_l.zip, package_2.zip, package_3.zip
- the method further includes determining a second list of software packages (e.g., a filtered list) comprising second information corresponding to a second set of software packages usable for the software upgrade of one or more RUs of the plurality of RUs that correspond to the first network node.
- the second list of software packages is determined based on the first list of software packages and third information associated with the one or more RUs of the plurality of RUs that correspond to the first network node.
- the method includes fetching the second set of software packages from the third network node using the second list of software packages and causing at least one RU of the one or more RUs that correspond to the first network node to be upgraded using the corresponding software package from the fetched second set of software packages.
- the method includes filtering the first list to determine the second list and include in the second list only the one or more RUs that correspond to the first network node.
- the second set of software packages includes fewer software packages than the first set of software packages.
- the method further includes determining that an RU that is currently connected to or that has previously connected to the first network node is running a first software package having a first software package version.
- the method further includes determining that the first information of the first list includes information associated with the first software package having a second software package version that is upgraded from the first software package version and adding to the second list the information associated with the first software package having the second software package version.
- the method further includes determining that the first information of the first list includes information associated with the first software package indicating that the first software package version is the latest version and removing from the second list the information associated with the first software package.
- one or both of the second set of software packages are fetched from the third network node before the at least one RU of the one or more RUs connect or reconnect to the first network node and the at least one RU of the one or more RUs that correspond to the first network node is upgraded after the at least one RU connects or reconnects to the first network node.
- each software package is uniquely identified with a software product number and software package version;
- the software product number uniquely identifies a radio software compatible with a radio product or a family of radio products that includes one or more radio unit hardware numbers and versions;
- each software package is compatible with one or more RU hardware product numbers and versions; and
- the method further includes determining whether the at least one RU needs to be upgraded with the software package that is compatible with the corresponding RU hardware product number and version based on a software package number that is currently installed or loaded on the at least one RU.
- the first network node comprises a memory configured as a local volume
- the method includes storing the fetched second set of software packages in the local volume, and causing the at least one RU to be upgraded includes: (A) selecting one software package that is stored in the local volume and compatible with the at least one RU; (B) loading the selected software package onto the at least one RU; and (C) restarting the at least one RU.
- the first network node includes radio software upgrade job engine (RSUJE);
- the first network node includes a distributed unit (DU);
- the DU comprises the RSUJE;
- the DU is a virtualized DU;
- the second network node includes a radio software upgrade job controller (RSUJC);
- the RSUJC is co-located with the first network node or comprised in a management node that is remote to the first network node;
- the third network node comprises a file server configured to store one or more software packages.
- the third information associated with the one or more RUs of the plurality of RUs that correspond to the first network node includes information about software packages required by each existing vDU instance during network upgrade, how many and what RUs the DU is serving, etc.
- example software packages may include files such as RADIO- 12.1.5-CXF2010010_l-R12A05.zip, RADIO-936.1.4- CXF2010002_l-R936A04.zip, RADIO-936.1.4-CXF2010002_2-R936A04.zip.
- Information about software packages may include just the file names of the software packages.
- a first network node configured to communicate with a second network node and a third network node.
- the first network node is configured for fetching one or more software packages, and the first network node is configured to obtain a first list of software packages from the second network node, the first list of software packages comprising first information corresponding to a first set of software packages usable for a software upgrade of a plurality of radio units (RUs).
- the first network node is also configured to determine a second list of software packages comprising second information corresponding to a second set of software packages usable for the software upgrade of one or more RUs of the plurality of RUs that correspond to the first network node.
- the second list of software packages is determined based on the first list of software packages and third information associated with the one or more RUs of the plurality of RUs that correspond to the first network node. Further, the first network node is configured to fetch the second set of software packages from the third network node using the second list of software packages and cause at least one RU of the one or more RUs that correspond to the first network node to be upgraded using the corresponding software package from the fetched second set of software packages.
- the first network node is further configured to filter the first list to determine the second list and include in the second list only the one or more RUs that correspond to the first network node.
- the second set of software packages comprises fewer software packages than the first set of software packages.
- the first network node is further configured to determine that an RU that is currently connected to or that has previously connected to the first network node is running a first software package having a first software package version.
- the first network node is further configured to determine that the first information of the first list includes information associated with the first software package having a second software package version that is upgraded from the first software package version and adding to the second list the information associated with the first software package having the second software package version.
- the first network node is further configured to determine that the first information of the first list includes information associated with the first software package indicating that the first software package version is the latest version and remove from the second list the information associated with the first software package.
- one or both of the second set of software packages are fetched from the third network node before the at least one RU of the one or more RUs connect or reconnect to the first network node and the at least one RU of the one or more RUs that correspond to the first network node is upgraded after the at least one RU connects or reconnects to the first network node.
- each software package is uniquely identified with a software product number and software package version;
- the software product number uniquely identifies a radio software compatible with a radio product or a family of radio products that includes one or more radio unit hardware numbers and versions;
- each software package is compatible with one or more RU hardware product numbers and versions;
- the first network node is further configured to determine whether the at least one RU needs to be upgraded with the software package that is compatible with the corresponding RU hardware product number and version based on a software package number that is currently installed or loaded on the at least one RU.
- the first network node comprises a memory configured as a local volume
- the method includes storing the fetched second set of software packages in the local volume, and causing the at least one RU to be upgraded includes: (A) selecting one software package that is stored in the local volume and compatible with the at least one RU; (B) loading the selected software package onto the at least one RU; and (C) restarting the at least one RU.
- the first network node includes radio software upgrade job engine (RSUJE);
- the first network node includes a distributed unit (DU);
- the DU comprises the RSUJE;
- the DU is a virtualized DU;
- the second network node includes a radio software upgrade job controller (RSUJC);
- the RSUJC is co-located with the first network node or comprised in a management node that is remote to the first network node;
- the third network node comprises a file server configured to store one or more software packages.
- a method in a second network node configured to communicate with a first network node is described.
- the first network node is configured for fetching one or more software packages.
- the method includes transmitting a first list of software packages to the first network node, where the first list of software packages includes first information corresponding to a first set of software packages usable for a software upgrade of a plurality of radio units (RUs), and the first list triggers the first network node to fetch a second set of software packages from the third network node using a second list of software packages.
- the second list includes second information corresponding to a second set of software packages usable by the first network node to cause the software upgrade of one or more RUs of the plurality of RUs that correspond to the first network node.
- the first list is filtered to determine the second list and include in the second list only the one or more RUs that correspond to the first network node.
- the second set of software packages comprises fewer software packages than the first set of software packages.
- each software package is uniquely identified with a software product number and software package version and the software product number uniquely identifies a radio software compatible with a radio product or a family of radio products that includes one or more radio unit hardware numbers and versions.
- the first network node includes radio software upgrade job engine (RSUJE);
- the first network node includes a distributed unit (DU);
- the DU comprises the RSUJE;
- the DU is a virtualized DU;
- the second network node includes a radio software upgrade job controller (RSUJC);
- RSUJC radio software upgrade job controller
- the RSUJC is co-located with the first network node or comprised in a management node that is remote to the first network node; and (G) the third network node comprises a file server configured to store one or more software packages.
- a second network node configured to communicate with a first network node.
- the first network node is configured for fetching one or more software packages.
- the second network node is configured to transmit a first list of software packages to the first network node.
- the first list of software packages includes first information corresponding to a first set of software packages usable for a software upgrade of a plurality of radio units (RUs).
- the first list triggers the first network node to fetch a second set of software packages from the third network node using a second list of software packages.
- the second list includes second information corresponding to a second set of software packages usable by the first network node to cause the software upgrade of one or more RUs of the plurality of RUs that correspond to the first network node.
- the first list is filtered to determine the second list and include in the second list only the one or more RUs that correspond to the first network node.
- the second set of software packages comprises fewer software packages than the first set of software packages.
- each software package is uniquely identified with a software product number and software package version and the software product number uniquely identifies a radio software compatible with a radio product or a family of radio products that includes one or more radio unit hardware numbers and versions.
- the first network node includes radio software upgrade job engine (RSUJE);
- the first network node includes a distributed unit (DU);
- the DU comprises the RSUJE;
- the DU is a virtualized DU;
- the second network node includes a radio software upgrade job controller (RSUJC);
- RSUJC radio software upgrade job controller
- the RSUJC is co-located with the first network node or comprised in a management node that is remote to the first network node; and (G) the third network node comprises a file server configured to store one or more software packages.
- FIG. 1 is a schematic diagram of an exemplary network architecture illustrating a communication system connected via an intermediate network to a host computer according to the principles in the present disclosure
- FIG. 2 is a block diagram of a host computer communicating via a network node with a wireless device over an at least partially wireless connection according to some embodiments of the present disclosure
- FIG. 3 is a flowchart illustrating exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for executing a client application at a wireless device according to some embodiments of the present disclosure
- FIG. 4 is a flowchart illustrating exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data at a wireless device according to some embodiments of the present disclosure
- FIG. 5 is a flowchart illustrating exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data from the wireless device at a host computer according to some embodiments of the present disclosure
- FIG. 6 is a flowchart illustrating exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data at a host computer according to some embodiments of the present disclosure
- FIG. 7 is a flowchart of an exemplary process in a first network node according to some embodiments of the present disclosure.
- FIG. 8 is a flowchart of an exemplary process in a second network node according to some embodiments of the present disclosure.
- FIG. 9 is a flowchart of an exemplary process in a first network node according to some embodiments of the present disclosure.
- FIG. 10 is a flowchart of an exemplary process in a second network node according to some embodiments of the present disclosure.
- FIG. 11 shows an example package fetching system according to some embodiments of the present disclosure
- FIG. 12 shows another example package fetching system according to some embodiments of the present disclosure
- FIG. 13 shows yet another example package fetching system according to some embodiments of the present disclosure
- FIG. 14 shows a table including case information according to some embodiments of the present disclosure
- FIG. 15 is a diagram of example sets of software packages according to some embodiments of the present disclosure
- FIG. 16 shows an example package fetching system (e.g., without operator filtering) according to some embodiments of the present disclosure
- FIG. 17 shows another table including case information according to some embodiments of the present disclosure.
- FIG. 18 is a diagram of another example sets of software packages according to some embodiments of the present disclosure.
- FIG. 19 shows another example package fetching system (e.g., with operator filtering) according to some embodiments of the present disclosure
- FIG. 20 shows a table including case information according to some embodiments of the present disclosure
- FIG. 21 is a diagram of example sets of software packages according to some embodiments of the present disclosure.
- FIG. 22 shows an example advance package fetching (APF) system according to some embodiments of the present disclosure
- FIG. 23 shows another example advance package fetching (APF) system according to some embodiments of the present disclosure
- the WD may also be a radio communication device, target device, device to device (D2D) WD, machine type WD or WD capable of machine to machine communication (M2M), low-cost and/or low-complexity WD, a sensor equipped with WD, Tablet, mobile terminals, smart phone, laptop embedded equipped (LEE), laptop mounted equipment (LME), USB dongles, Customer Premises Equipment (CPE), an Internet of Things (loT) device, or a Narrowband loT (NB-IOT) device, etc.
- D2D device to device
- M2M machine to machine communication
- M2M machine to machine communication
- Tablet mobile terminals
- smart phone laptop embedded equipped (LEE), laptop mounted equipment (LME), USB dongles
- CPE Customer Premises Equipment
- LME Customer Premises Equipment
- NB-IOT Narrowband loT
- radio network node can be any kind of a radio network node which may comprise any of base station, radio base station, base transceiver station, base station controller, network controller, RNC, evolved Node B (eNB), Node B, gNB, Multi-cell/multicast Coordination Entity (MCE), IAB node, relay node, access point, radio access point, Remote Radio Unit (RRU) Remote Radio Head (RRH).
- RNC evolved Node B
- MCE Multi-cell/multicast Coordination Entity
- IAB node IAB node
- relay node access point
- radio access point radio access point
- RRU Remote Radio Unit
- RRH Remote Radio Head
- WCDMA Wide Band Code Division Multiple Access
- WiMax Worldwide Interoperability for Microwave Access
- UMB Ultra Mobile Broadband
- GSM Global System for Mobile Communications
- functions described herein as being performed by a wireless device or a network node may be distributed over a plurality of wireless devices and/or network nodes.
- the functions of the network node and wireless device described herein are not limited to performance by a single physical device and, in fact, can be distributed among several physical devices.
- the term “set” is used and may refer to a collection of elements such as one or more software packages or information associated with software packages.
- a set may be a single- element set or a multiple-element set.
- a multiple-element set includes more than one element, e.g., more than one software package.
- a singleelement set includes one element, e.g., one software package. That is, a set described herein is not limited to having two or more elements and may include one or more elements, such as one or more software packages.
- FIG. 1 a schematic diagram of a communication system 10, according to an embodiment, such as a 3GPP-type cellular network that may support standards such as LTE and/or NR (5G), which comprises an access network 12, such as a radio access network, and a core network 14.
- the access network 12 comprises a plurality of network nodes 16a, 16b, 16c (referred to collectively as network nodes 16), such as NBs, eNBs, gNBs or other types of wireless access points, each defining a corresponding coverage area 18a, 18b, 18c (referred to collectively as coverage areas 18).
- Each network node 16a, 16b, 16c is connectable to the core network 14 (and/or other network nodes 16 comprised in core network node 14) over a wired or wireless connection 20.
- Any of the networks shown may be configured as a cloud network.
- a first wireless device (WD) 22a located in coverage area 18a is configured to wirelessly connect to, or be paged by, the corresponding network node 16a.
- a second WD 22b in coverage area 18b is wirelessly connectable to the corresponding network node 16b.
- wireless devices 22 While a plurality of WDs 22a, 22b (collectively referred to as wireless devices 22) are illustrated in this example, the disclosed embodiments are equally applicable to a situation where a sole WD is in the coverage area or where a sole WD is connecting to the corresponding network node 16. Note that although only two WDs 22 and three network nodes 16 are shown for convenience, the communication system may include many more WDs 22 and network nodes 16.
- a WD 22 can be in simultaneous communication and/or configured to separately communicate with more than one network node 16 and more than one type of network node 16.
- a WD 22 can have dual connectivity with a network node 16 that supports LTE and the same or a different network node 16 that supports NR.
- WD 22 can be in communication with an eNB for LTE/E-UTRAN and a gNB for NR/NG-RAN.
- the communication system 10 may itself be connected to a host computer 24, which may be embodied in the hardware and/or software of a standalone server, a cloud- implemented server, a distributed server or as processing resources in a server farm.
- the host computer 24 may be under the ownership or control of a service provider, or may be operated by the service provider or on behalf of the service provider.
- the connections 26, 28 between the communication system 10 and the host computer 24 may extend directly from the core network 14 to the host computer 24 or may extend via an optional intermediate network 30.
- the intermediate network 30 may be one of, or a combination of more than one of, a public, private or hosted network.
- the intermediate network 30, if any, may be a backbone network or the Internet. In some embodiments, the intermediate network 30 may comprise two or more sub-networks (not shown).
- the communication system of FIG. 1 as a whole enables connectivity between one of the connected WDs 22a, 22b and the host computer 24.
- the connectivity may be described as an over-the-top (OTT) connection.
- the host computer 24 and the connected WDs 22a, 22b are configured to communicate data and/or signaling via the OTT connection, using the access network 12, the core network 14, any intermediate network 30 and possible further infrastructure (not shown) as intermediaries.
- the OTT connection may be transparent in the sense that at least some of the participating communication devices through which the OTT connection passes are unaware of routing of uplink and downlink communications.
- a network node 16 may not or need not be informed about the past routing of an incoming downlink communication with data originating from a host computer 24 to be forwarded (e.g., handed over) to a connected WD 22a. Similarly, the network node 16 need not be aware of the future routing of an outgoing uplink communication originating from the WD 22a towards the host computer 24.
- a network node 16 is configured to include a NN management unit 32 which is configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., perform one or more actions associated with advanced package fetching (APF).
- a wireless device 22 is configured to include a WD management unit 34 which is configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., perform one or more actions associated with advanced package fetching (APF).
- a host computer 24 comprises hardware (HW) 38 including a communication interface 40 configured to set up and maintain a wired or wireless connection with an interface of a different communication device of the communication system 10.
- the host computer 24 further comprises processing circuitry 42, which may have storage and/or processing capabilities.
- the processing circuitry 42 may include a processor 44 and memory 46.
- the processing circuitry 42 may comprise integrated circuitry for processing and/or control, e.g., one or more processors and/or processor cores and/or FPGAs (Field Programmable Gate Array) and/or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions.
- processors and/or processor cores and/or FPGAs Field Programmable Gate Array
- ASICs Application Specific Integrated Circuitry
- the processor 44 may be configured to access (e.g., write to and/or read from) memory 46, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory).
- memory 46 may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory).
- Processing circuitry 42 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by host computer 24.
- Processor 44 corresponds to one or more processors 44 for performing host computer 24 functions described herein.
- the host computer 24 includes memory 46 that is configured to store data, programmatic software code and/or other information described herein.
- the software 48 and/or the host application 50 may include instructions that, when executed by the processor 44 and/or processing circuitry 42, causes the processor 44 and/or processing circuitry 42 to perform the processes described herein with respect to host computer 24.
- the instructions may be software associated with the host computer 24.
- the software 48 may be executable by the processing circuitry 42.
- the software 48 includes a host application 50.
- the host application 50 may be operable to provide a service to a remote user, such as a WD 22 connecting via an OTT connection 52 terminating at the WD 22 and the host computer 24.
- the host application 50 may provide user data which is transmitted using the OTT connection 52.
- the “user data” may be data and information described herein as implementing the described functionality.
- the host computer 24 may be configured for providing control and functionality to a service provider and may be operated by the service provider or on behalf of the service provider.
- the processing circuitry 42 of the host computer 24 may enable the host computer 24 to observe, monitor, control, transmit to and/or receive from the network node 16 and or the wireless device 22.
- the processing circuitry 42 of the host computer 24 may include a host management 54 configured to enable the service provider to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., perform one or more actions associated with advanced package fetching (APF), observe/monitor/ control/transmit to/receive from the network node 16 and or the wireless device 22, etc.
- APF advanced package fetching
- the communication system 10 further includes a network node 16 provided in a communication system 10 and including hardware 58 enabling it to communicate with the host computer 24 and with the WD 22.
- the hardware 58 may include a communication interface 60 for setting up and maintaining a wired or wireless connection with an interface of a different communication device of the communication system 10, as well as a radio interface 62 for setting up and maintaining at least a wireless connection 64 with a WD 22 located in a coverage area 18 served by the network node 16.
- the radio interface 62 may be formed as or may include, for example, one or more RF transmitters, one or more RF receivers, and/or one or more RF transceivers.
- the communication interface 60 may be configured to facilitate a connection 66 to the host computer 24.
- the connection 66 may be direct or it may pass through a core network 14 of the communication system 10 and/or through one or more intermediate networks 30 outside the communication system 10.
- the hardware 58 of the network node 16 further includes processing circuitry 68.
- the processing circuitry 68 may include a processor 70 and a memory 72.
- the processing circuitry 68 may comprise integrated circuitry for processing and/or control, e.g., one or more processors and/or processor cores and/or FPGAs (Field Programmable Gate Array) and/or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions.
- FPGAs Field Programmable Gate Array
- ASICs Application Specific Integrated Circuitry
- the processor 70 may be configured to access (e.g., write to and/or read from) the memory 72, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory).
- volatile and/or nonvolatile memory e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory).
- the network node 16 further has software 74 stored internally in, for example, memory 72, or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by the network node 16 via an external connection.
- the software 74 may be executable by the processing circuitry 68.
- the processing circuitry 68 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by network node 16.
- Processor 70 corresponds to one or more processors 70 for performing network node 16 functions described herein.
- the memory 72 is configured to store data, programmatic software code and/or other information described herein.
- the software 74 may include instructions that, when executed by the processor 70 and/or processing circuitry 68, causes the processor 70 and/or processing circuitry 68 to perform the processes described herein with respect to network node 16.
- processing circuitry 68 of the network node 16 may include NN management unit 32 which is configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., perform one or more actions associated with advanced package fetching (APF).
- API advanced package fetching
- the processing circuitry 68 may also include RSUJC 100 configured to perform any step and/or process and/or feature and/or function described herein, e.g., any step and/or process and/or feature and/or function of the RSUJC.
- the processing circuitry 68 may also include RSUJE 102 configured to perform any step and/or process and/or feature and/or function described herein, e.g., any step and/or process and/or feature and/or function of the RSUJE.
- the processing circuitry 68 may also include CU 104 configured to perform any step and/or process and/or feature and/or function described herein, e.g., corresponding to any CU described herein.
- the processing circuitry 68 may also include DU 106 configured to perform any step and/or process and/or feature and/or function described herein, e.g., corresponding to any DU described herein.
- DU 106 may comprise RSUJE 102 or any other component of network node 16.
- the processing circuitry 68 may also include CMS 108 configured to perform any step and/or process and/or feature and/or function described herein, e.g., corresponding to any configuration management service described herein.
- CMS 108 may refer to a virtual distributed unit CMS.
- the processing circuitry 68 may also include RU 110 configured to perform any step and/or process and/or feature and/or function described herein, e.g., corresponding to any RU described herein.
- RU may refer to any network node 16.
- processing circuitry 68 is shown as including RSUJC 100, RSUJE 102, CU 104, DU 106, CMS 108, RU 110, processing circuitry 68 is not limited as such and may include none of, or one or more of, each of RSUJC 100, RSUJE 102, CU 104, DU 106, CMS 108, RU 110.
- a first network node 16a may comprise (e.g., as part of processing circuitry 68) an RSUJC 100
- a second network node 16b may comprise (e.g., as part of processing circuitry 68) a RSUJE 102
- a third network node 16c may comprise (e.g., as part of processing circuitry 68) a CMS 108 such as a DU CMS.
- Each network node 16 may communicate with any other device such as other network node 16, e.g., the first, second, and third network nodes 16a, 16b, 16c may be in communication with each other, via communication interface 60 and/or radio interface 62. It is also understood that implementations may include more than or fewer than three network nodes, e.g., a fourth network node 16d (not shown in FIG. 1).
- the communication system 10 further includes the WD 22 already referred to.
- the WD 22 may have hardware 80 that may include a radio interface 82 configured to set up and maintain a wireless connection 64 with a network node 16 serving a coverage area 18 in which the WD 22 is currently located.
- the radio interface 82 may be formed as or may include, for example, one or more RF transmitters, one or more RF receivers, and/or one or more RF transceivers.
- Each software package may be associated with a software product name, e.g., 3268, ABCD, 6449, 3219, 1652, FGHI, etc.
- RSUJC 100 can also be deployed in network node 16 (e.g., a management node in a central location) and configured to communicate with one or more DUs 106 (e.g., vDU instances).
- network node 16 e.g., a management node in a central location
- DUs 106 e.g., vDU instances
- RSUJC 100 may be configured with a list of radio software packages since the radio access network may include many different radio products, each requiring a different radio software package. Having a single or the same RSUJC 100 configuration for all vDU instances can make the network upgrade process easier to automate.
- NN 16 is configured to comprise (e.g., in memory 72) and/or perform functions (e.g., via NN management unit 32) of a database (DB).
- DB may comprise a document DB, where information (data) about attached RUs 110 is stored persistently and updated in real-time by RSUJE 102.
- RU data includes radio unit product number, radio unity product version and serial number.
- RU data also includes the radio software package product numbers and versions that are loaded on each RU as well as running version when applicable (i.e., RU software inventory).
- a NN 16 may comprise and/or be configured as a file server.
- the file server may be a remote repository (e.g. secure file transfer protocol (SFTP), file transfer protocol (FTP)) for on-boarding and/or storing RU SW packages, e.g., in a management node.
- the file server may be referred to as a central file server as the file server may be deployed in the management node in a central location/site.
- the file server may be accessible (e.g., remotely accessible) by all the DUs 106 (i.e., vDUs).
- DU 106 (vDU) may use the SFTP/FTP GET command to download each radio software package to its local volume or local file server, e.g., during a network upgrade.
- automatic software selection is performed which may comprise automatic selection of tested (or recommended) radio SW packages based on the new running or upgraded DU (e.g., vDU) instance.
- Automatic selection of the tested (recommended) radio SW packages may be performed during a DU 106 (i.e., vDU) installation or DU 106 (i.e., vDU) software upgrade.
- Information may be provided by the DU 106 (i.e., vDU) vendor and stored in a default vDU values.
- yaml e.g., vDU helm chart
- RSUJC 100 can be configured to automatically read the full list of tested (recommended) radio software packages to pass along in the REST API call towards the RSUJE 102. An operator may also manually configure such a list of radio software packages as part of the RSUJC 100 deployment.
- an error when software is downloaded, an error may occur and an error code such as software download error code may be provided.
- An SFTP/FTP error code may indicate the reason for being unable to download an RU SW package.
- the SFTP/FTP error code may be set to 0 when file download has succeeded or set to 2 when the file does not exist in File Server.
- package fetching error detection and handling may be performed. More specifically, DU 106 (e.g., vDU) architecture may be built to detect any fetching error including cases when a package is not found in the File Server and immediately stop the job execution in EXCEPTION state. Information about fetching errors may be exposed via SW INVENTORY REST API at /jobs API endpoint. In normal cases (success), all requested files for the job may be fetched successfully, all requested files for the job may have download failure code set to 0 (OK), and the job may be set to READY state after completing fetching phase and proceeds to next step.
- DU 106 e.g., vDU
- vDU 106 e.g., vDU
- SW INVENTORY REST API at /jobs API endpoint.
- all requested files for the job may be fetched successfully, all requested files for the job may have download failure code set to 0 (OK), and the job may be set to READY state after completing fetching phase
- one or more actions may be a factor such as a requested file for the job was *not* fetched because the package does not exist in the File Server, the requested file for the job has download failure code set to 2 (no such file), the job tries to fetch the other package(s) if any (optional), or the job stops after completing fetching phase and is set to EXCEPTION state.
- Each DU 106 may include a corresponding RSUJE 102 (e.g., RSUJE 102a, 102b, 102c), a DB 120 (e.g., DB 120a, 120b, 120c) connected to the RSUJE 102 and a local volume 122 (e.g., local volume 122a, 122b, 122c) (which may also be referred to as a local file server) where copies of the radio SW packages are stored.
- RSUJE 102 e.g., RSUJE 102a, 102b, 102c
- DB 120 e.g., DB 120a, 120b, 120c
- a local volume 122 e.g., local volume 122a, 122b, 122c
- DU 106 does not perform any filtering to the full list 123 of tested radio SW packages included in the radio software upgrade job request and directly pass this information to its FTP client (included in RSUJE 102) that will setup an FTP connection to file server 126 and request to fetch (download) the complete list 125 of tested packages using the FTP GET command for each file.
- the actual radio SW package file is transferred from the file server 126 to the DU 106 (and/or RSUJE 102).
- DU 106 (and/or RSUJE 102) stores the fetched (downloaded) radio SW packages in its local volume 122 (or local File Server).
- the fetching process ends when the packages have been successfully fetched and stored in the respective local volume 122.
- DU 106 (and/or RSUJE 102) can begin the process of upgrading each RU 110.
- FIG. 12 shows another example package fetching system, e.g., using the custom vDU values.
- yaml file with a reduced list of tested packages in the “radioSoftware” definition This is applied to all DU 106 (i.e., vDU) deployments and DU 106 (i.e., vDU) upgrades.
- DU 106 i.e., vDU
- DU 106 i.e., vDU
- re-configuration may need to be done at each network upgrade.
- both packages are fetched for each site even though many sites only need a single package.
- fetching unnecessary packages may increase the probability of a DU 106 (i.e., vDU) upgrade job failure, increase the duration of the DU 106 (i.e., vDU) upgrade, and increase the usage of the DU 106 (i.e., vDU) local volume.
- FIG. 13 shows yet another example package fetching system, e.g., another custom vDU values.
- such re-configuration may require a different upgrade job configuration for each DU 106 (i.e., vDU).
- Automation could be done “offline” using a tool that would collect RU data for each DU 106 (i.e., vDU) instance and generate a specific radio software definition for each site.
- the package fetching process is performed “inline” within the DU 106 (i.e., vDU) instance.
- one or more sets of software packages may be used.
- the one or more sets may comprise:
- Set B This is the reduced list of newly tested RU SW packages (filenames) configured by the operator for the network upgrade, i.e., the list of network packages (this is set A minus the unwanted packages).
- This list may be provided by an operator by creating a custom vDU values. yaml file.
- Set D The newly RU SW Packages (zip files) that are on-boarded by the operator and stored in the file server, i.e., the on-boarded packages which may comprise the tested or network packages.
- Set E The newly fetched RU SW Packages (zip files) fetched by the DU 106 (i.e., vDU) instance and stored in its local volume. They are known as the fetched packages.
- radioSoftware configMapOverrideName: "" files:
- radioSoftware configMapOverrideName: "" files: # - RADIO-933.E15-CXF2010002_l-R933A15.zip #PROD Type 3 AIR6449 RU SW Package (comment line)
- FIG. 14 shows a table including case information according to some embodiments of the present disclosure.
- Set A Set B
- all tested RU SW packages are fetched, with success and no job errors.
- Set E includes fewer RU SW packages than Set A, one or more tested packages are not fetched, which may lead to a fetching failure and job errors.
- FIG. 15 is a diagram of example sets of software packages according to some embodiments of the present disclosure.
- Set E may include one or more RU SW packages
- Set D may include the RU SW packages of Set E and/or additional RU SW packages
- Set A may include the RU SW packages of Set E, Set D, and/or other RU SW packages. Any other combination of sets and RU SW package is possible.
- FIG. 16 shows an example package fetching system (e.g., without operator filtering).
- RSUJC 100 may obtain a list of tested RU SW packages (Set A) and communicate with DU 106, which can request tested RU SW packages (Set A) to file server 126, which may have a list of on-boarded RU SW packages (Set D).
- DU 106 may store the fetched RU SW packages (Set E) in local volume 122.
- FIG. 19 shows another example package fetching system (e.g., with operator filtering).
- RSUJC 100 may obtain a list of tested RU SW packages (Set B) and communicate with DU 106, which can request tested RU SW packages (Set B) to file server 126, which may have a list of on-boarded RU SW packages (Set D).
- DU 106 may store the fetched RU SW packages (Set E) in local volume 122.
- FIG. 22 shows an example advance package fetching (APF) system.
- RSUJC 100 may obtain a list of tested RU SW packages (Set A) and communicate with DU 106, which can request tested RU SW packages (Set C) to file server 126, which may have a list of on-boarded RU SW packages (Set D).
- DU 106 may store the fetched RU SW packages (Set C) in DB 120 and deploy to respective RUs 110. Further, the fetched RU SW packages (Set C and/or Set E) may be stored local volume 122.
- APF allows each DU 106 (i.e., vDU) instance to dynamically produce a reduced list of tested packages (e.g., set C) that is specific to the RUs 110 connected to the DU 106 (i.e., vDU) instance.
- a reduced list may be internal to the DU 106 (i.e., vDU) and used to fetch the minimal set of RU SW packages during job execution.
- the list includes the sitespecific packages (a subset of the tested package or set A) needed to upgrade the radio units that are connected to the DU 106 (i.e., vDU) instance.
- an APF is divided into two parts/steps.
- the second step of the solution includes support for Advanced Package Fetching during DU 106 (i.e., vDU) upgrades and DU 106 (i.e., vDU) installations.
- the DU 106 i.e., vDU
- the DU 106 does not have knowledge of the software loaded or running on the RUs 110 and must wait for them to connect for the first time.
- the DU 106 i.e., vDU
- the DU 106 generates “set C” (a single site package) for the connected RU 110 and fetch the software file (if needed) from the File Server during the RU connection phase.
- the DU 106 i.e., vDU
- FIG. 23 shows another example APF system and may be configured to perform an APF process that comprises:
- RSUJC 100 obtains a list 123 of tested RU SW packages (Set A).
- DU 106 e.g., DU 106a
- requests a list 125 of RU SW packages (Set C) such as based on the RUs 110 (RU 110a) connected to DU 106 (e.g., DU 106a) or other parameters such as a list of RUs 110 that may be connectable to DU 106 or associated with the site 124 (site 124a) of DU 106 and/or RU 110.
- Set C includes package_l.zip corresponding to RU 110a (AIR6449).
- package_2.zip is fetched.
- RU 110b package_2.zip is fetched.
- lOOd package_l.zip
- package_2.zip is fetched, respectively.
- the packages may be deployed (e.g., by RSUJE 102) to their corresponding RU 110 and/or stored in the corresponding local volume 122.
- the vDU services (running on k8s) are expected to be upgraded first followed by the upgrade of RUs 110 after they connect or reconnect to DU 106 (the vDU instances), e.g.,. for upgrading the complete vDU and RU system.
- DU 106 the vDU instances
- One or more embodiments provide an advanced package fetching process during vDU upgrades.
- DU 106 (vDU) Before and during DU 106 (vDU) upgrade, DU 106 (vDU) has already collected software data about each connected RU 110 and can use this software data in the early part of the upgrade process to generate “set C” for all the connected RUs (a list of site packages - it could be a single package) and fetch the software file(s) from the file server 126 before the RUs 110 are reconnected to DU 106 (vDU) instance.
- the DU 106 (vDU) proceeds with the individual RU upgrade.
- FIG. 24 shows an example APF process during DU 106 (i.e., vDU) upgrade.
- RSUJC 100 and RSUJE 102 are upgraded and initialized.
- RSUJC 100 reads the list of tested packages (Set A) and requests a user job.
- RSUJE 102 inspects RU software inventory, selects the site package for each RU 110, and populates the list of site packages (Set C) such as based on the RUs 110 associated with RSUJE 102 and/or DU 106 and/or site 124b, etc.
- RSUJE 102 fetches the site package(s) (Set C) for the user job and stores them in its local volume 122.
- RSUJE 102 ends the user job in a COMPLETED state.
- RU 110 reconnects to DU 106 (vDU), and RSUJE 102 creates a system job for the RU 110.
- RSUJE 102 discovers the RU 110 and may refresh RU SW inventory.
- DU 106 (vDU) matches RU 110 to a previous user job with site packages (Set C).
- RSUJE 102 selects the package stored in its local volume that is compatible with the RU product number and version, loads the software onto the RU 110, and restarts the RU 110.
- RSUJE 102 ends system job in COMPLETED state.
- performing APF during DU 106 (i.e., vDU) upgrade comprises one or more of the following:
- DU 106 i.e., vDU
- all the DU 106 i.e., vDU services are initialized including RSUJC 100 and RSUJE 102.
- the RSUJC 100 reads the list of tested packages (set A) from the default vDU values. yaml and send the full list in the upgrade job request towards the RSUJE 102 that is included in the DU 106 (i.e., vDU).
- This upgrade job may be referred to as a user job.
- the DU 106 i.e., vDU
- RSUJE 102 inspects the software inventory for all target RUs known in its database.
- the DU 106 For each target unit, the DU 106 (i.e., vDU) (RSUJE 102) selects a package number (a newer version) from the tested list (set A) that is already loaded or running on the RU 110 (an older version) and adds it to its list of site packages (set C). • When RU SW package selection is completed for all target units, the DU 106 (i.e., vDU) (RSUJE 102) tries to download the site package or packages (set C) that are available in File Server and store them in its local volume.
- the DU 106 (i.e., vDU) ends the first part of the upgrade (user job) in COMPLETED state and waits for the RUs 110 to reconnect.
- the DU 106 i.e., vDU
- RSUJE 102 tries to fetch all the tested packages (Set A) and store them in local volume.
- the DU 106 i.e., vDU
- the upgrade job execution with an error EXCEPTION state
- DU 106 i.e., vDU
- RSUJE 102 When each RU 110 connects to DU 106 (i.e., vDU), the DU 106 (i.e., vDU) (RSUJE 102) automatically triggers an upgrade job (system job) for the individual RU 110.
- the DU 106 (i.e., vDU) (RSUJE 102) discovers the target RU 110 and refreshes its database with the software data that is loaded or running on the RU 110.
- the DU 106 i.e., vDU
- RSUJE 102 matches the target unit to a previous user job which specify the site packages (Set C).
- the DU 106 i.e., vDU
- RSUJE 102 selects the package stored in its local volume that is compatible with radio unit (hardware) product number and version, loads the software and restarts the RU 110.
- the DU 106 i.e., vDU
- the DU 106 successfully ends the second part of the upgrade (system job) in COMPLETED state for each RU 110.
- the DU 106 i.e., vDU
- RSUJE 102 stops the upgrade job execution with an error (EXCEPTION state) and raises a SW DOWNLOAD FAILURE alarm indicating software selection is not possible for the target unit.
- the APF method includes one or more of the following.
- RSUJC 100 and RSUJE 102 are upgraded and initialized.
- RSUJC 100 reads the list of tested packages (set A) and requests a user job.
- RSUJE 102 inspects RU software inventory, selects the site package for each RU 110 and populates the list of site packages (Set C) for the user job.
- RSUJE 102 fetches the site package or packages for the user job (Set C) and stores them in its local volume.
- RSUJE 102 ends user job in COMPLETED state.
- RU 110 reconnects to DU 106 (i.e., vDU) and RSUJE 102 creates a system job for the RU 110.
- DU 106 i.e., vDU
- RSUJE 102 discovers the RU 110 and refreshes RU SW software inventory if needed.
- DU 106 i.e., vDU
- Set C site packages
- RSUJE 102 selects the package stored in its local volume that is compatible with the RU hardware product identifier (HW PID), loads the software, and restarts the RU 110.
- RSUJE 102 ends system job in COMPLETED state.
- steps 1-10 above may be modified, changed, removed, etc., i.e., where the APF is performed during DU 106 (i.e., vDU) installation.
- other steps may be performed.
- RSUJC 100 and RSUJE 102 are upgraded and initialized.
- RSUJC 100 reads the list of tested packages (set A) and requests a user job.
- RSUJE 102 inspects RU software inventory, but it is empty.
- RSUJE 102 ends user job in COMPLETED state.
- RU 110 reconnects to DU 106 (i.e., vDU) and RSUJE 102 creates a system job for the RU 110.
- RSUJE 102 discovers the RU 110 and adds it to its RU SW inventory.
- DU 106 matches the RU 110 to a previous user job with tested packages (set A).
- RSUJE 102 selects the site package for the RU 110 and populates the site package (set C) for the system job.
- RSUJE 102 fetches the site package (set C) and stores it in its local volume.
- RSUJE 102 selects the package stored in its local volume that is compatible with the RU HW PID, loads the software and restarts the RU 110.
- RSUJE 102 ends system job in COMPLETED state.
- DU 106 may determine that an RU 110 is not running any software package or does not have the software package installed, e.g., RU 110 is only running boot software, having a first software package version.
- DU 106 may then fetch additional software packages (e.g., additional to the filtered list, or all available software packages corresponding to the full list 123).
- additional software packages e.g., additional to the filtered list, or all available software packages corresponding to the full list 123.
- DU 106 and/or RSUJE 102 may parse through each software package and verify whether it is compatible with the RU 110. If it is not compatible with the RU 110, the software package may be stored in the local volume 122. If it is compatible, the RU 110 may be upgraded with the compatible software package.
- FIG. 25 shows an example APF process during vDU installation.
- RSUJC 100 and RSUJE 102 are upgraded and initialized.
- RSUJC 100 reads the list of tested packages (Set A) and requests a user job.
- RSUJE 102 inspects RU software inventory and finds that the RU software inventory is empty.
- RSUJE 102 ends user job in COMPLETED state.
- RU 110 reconnects to DU 106, and RSUJE 102 creates a system job for the RU.
- RSUJE 102 discovers the RU 110 and adds RU 110 to its RU software inventory.
- DU 106 matches the RU 110 to a previous user job with tested packages (Set A).
- RSUJE 102 selects the site package for the RU 110 and populates the site package (Set C) for the system job.
- RSUJE 102 fetches the site packages (Set C) and stores them in its local volume 122.
- RSUJE 102 selects the package stored in its local volume 122 that is compatible with the RU product number and version, loads the software on to the RU 110, and restarts the RU 110.
- RSUJE 102 ends the system job in COMPLETED state.
- performing APF during DU 106 (i.e., vDU) installation comprises:
- DU 106 i.e., vDU
- all the DU 106 i.e., vDU services are initialized including the RSUJC 100 and RSUJE 102.
- the RSUJC 100 reads the list of tested packages (set A) from the default vDU values. yaml and send the full list in the upgrade job request towards the RSUJE 102 that is included in the DU 106 (i.e., vDU).
- This upgrade job is also known as a user job.
- the DU 106 (i.e., vDU) (RSUJE 102) inspects the software inventory for all target units known in its database but the database does not have information about RUs 110 (they have not yet been discovered for the first time).
- the DU 106 i.e., vDU
- the DU 106 does not fetch any software packages (set C is empty) and ends the first part of the upgrade (user job) in COMPLETED state and waits for the RUs 110 to reconnect.
- DU 106 i.e., vDU
- RSUJE 102 When each RU 110 connects to DU 106 (i.e., vDU), the DU 106 (i.e., vDU) (RSUJE 102) automatically triggers an upgrade job (system job) for the individual RU 110.
- the DU 106 i.e., vDU (RSUJE 102) discovers the target RU 110, adds it to its database and populates it with the software data that is loaded or running on the RU 110.
- the DU 106 i.e., vDU (RSUJE 102) matches the target unit to a previous user job which specify the total list of tested packages (set A). • From this list, the DU 106 (i.e., vDU) (RSUJE 102) selects a package number (a newer version) from the tested list (set A) that is already loaded or running on the RU 110 (an older version) and adds it to its list of site packages (set C).
- the DU 106 (i.e., vDU) (system job) checks if there is an existing file transfer in-progress for the same filename. If not, the DU 106 (i.e., vDU) (RSUJE 102) downloads the site package (set C) that is available in File Server and store it in local volume.
- the DU 106 i.e., vDU
- RSUJE 102 selects the package stored in its local volume that is compatible with the unit hardware product identifier (PID), loads the software and restarts the unit.
- the DU 106 i.e., vDU
- the DU 106 successfully ends the second part of the upgrade (system job) in COMPLETED state for each RU 110.
- the DU 106 i.e., vDU
- RSUJE 102 stops the upgrade job execution with an error (EXCEPTION state) and raises a SW DOWNLOAD FAILURE alarm indicating software selection is not possible for the target unit.
- Embodiment AL A first network node configured to communicate with a second network node and being configured for advanced package fetching (APF) of one or more software packages for a software upgrade of one or more radio units (RUs), the first network node being configured to, and/or comprising a radio interface and/or comprising processing circuitry configured to: receive a first set of software packages from the second network node, the first set of software packages comprising a maximum number of software packages; and when APF is enabled, inspect the first set of software packages and produce a second set of software packages based on the inspection of the first set of software packages, the second set of software packages comprising a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
- APF advanced package fetching
- Embodiment A2 The first network node of Embodiment Al, wherein the filtered list is based on the RUs that are known to the first network node.
- Embodiment A3. The first network node of any one of Embodiments Al and A2, wherein the processing circuitry is further configured to: determine that an RU that is currently connected to or previously connected to the first network node is running a first software package having a first software package version; determine that the first software package having a second software package version is included in the first set of software packages; and add the first software package having the second software package version to the second set of packages.
- Embodiment A4 The first network node of any one of Embodiments A1-A3, wherein the processing circuitry is further configured to: if a second software package having a third software package version is included in the first set of software packages and the radio units connected to the first network node are not running using the second software package, remove the second software package from the second set of software packages.
- Embodiment A5 The first network node of any one of Embodiments A1-A4, wherein the processing circuitry is further configured to: fetch one or more software packages from the second set of software packages.
- Embodiment A6 The first network node of any one of Embodiments A1-A5, wherein each software package is uniquely identified with a software package number and a software package revision, the package revision being incremented and the software package number staying the same for each software package release.
- Embodiment A7 The first network node of any one of Embodiments A1-A6, wherein the processing circuitry is further configured to: compare content loaded on each RU with what is included in the first set of software packages.
- Embodiment A8 The network node of any one of Embodiments A1-A7, wherein the first network node comprises a radio software upgrade job engine (RSUJE) and the second network node comprises a radio software upgrade job controller (RSUJC).
- RSUJE radio software upgrade job engine
- RSUJC radio software upgrade job controller
- Embodiment Bl A method in a first network node configured to communicate with a second network node and being configured for advanced package fetching (APF) of one or more software packages for a software upgrade of one or more radio units (RUs), the method comprising: receiving a first set of software packages from the second network node, the first set of software packages comprising a maximum number of software packages; and when APF is enabled, inspecting the first set of software packages and producing a second set of software packages based on the inspection of the first set of software packages, the second set of software packages comprising a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
- APF advanced package fetching
- Embodiment B2 The method of Embodiment B l, wherein the filtered list is based on the RUs that are known to the first network node.
- Embodiment B3 The method of any one of Embodiments B 1 and B2, wherein the method further comprises: determining that an RU that is currently connected to or previously connected to the first network node is running a first software package having a first software package version; determining that the first software package having a second software package version is included in the first set of software packages; and adding the first software package having the second software package version to the second set of packages.
- Embodiment B4 The method of any one of Embodiments B 1-B3, wherein the method further comprises: if a second software package having a third software package version is included in the first set of software packages and the radio units connected to the first network node are not running using the second software package, removing the second software package from the second set of software packages.
- Embodiment B5. The method of any one of Embodiments B 1-B4, wherein the method further comprises: fetching one or more software packages from the second set of software packages.
- Embodiment B6 The method of any one of Embodiments B 1-B5, wherein each software package is uniquely identified with a software package number and a software package revision, the package revision being incremented and the software package number staying the same for each software package release.
- Embodiment B7 The method of any one of Embodiments A1-B6, wherein the method further comprises: comparing content loaded on each RU with what is included in the first set of software packages.
- Embodiment B8 The method of any one of Embodiments B 1-B7, wherein the first network node comprises a radio software upgrade job engine (RSUJE) and the second network node comprises a radio software upgrade job controller (RSUJC).
- RSUJE radio software upgrade job engine
- RSUJC radio software upgrade job controller
- a second network node configured to communicate with a first network node, the first network node being configured for advanced package fetching (APF) of one or more software packages for a software upgrade of one or more radio units (RUs), the second network node being configured to, and/or comprising a radio interface and/or comprising processing circuitry configured to: transmit a first set of software packages to the first network node, the first set of software packages comprising a maximum number of software packages, the first set of software packages being usable by the first network node to, when APF is enabled, inspect the first set of software packages and produce a second set of software packages based on the inspection of the first set of software packages, the second set of software packages comprising a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
- APF advanced package fetching
- Embodiment C2 The second network node of Embodiment C 1 , wherein the filtered list is based on the RUs that are known to the first network node.
- Embodiment C3 The second network node of any one of Embodiments Cl and C2, wherein each software package is uniquely identified with a software package number and a software package revision, the package revision being incremented and the software package number staying the same for each software package release.
- Embodiment C4 The second network node of any one of Embodiments C 1- C3, wherein the first network node comprises a radio software upgrade job engine (RSUJE) and the second network node comprises a radio software upgrade job controller (RSUJC).
- RSUJE radio software upgrade job engine
- RSUJC radio software upgrade job controller
- Embodiment DI A method in a second network node configured to communicate with a first network node, the first network node being configured for advanced package fetching (APF) of one or more software packages for a software upgrade of one or more radio units (RUs), the method comprising: transmitting a first set of software packages to the first network node, the first set of software packages comprising a maximum number of software packages, the first set of software packages being usable by the first network node to, when APF is enabled, inspect the first set of software packages and produce a second set of software packages based on the inspection of the first set of software packages, the second set of software packages comprising a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
- APF advanced package fetching
- Computer program code for carrying out operations of the concepts described herein may be written in an object oriented programming language such as Python, Java® or C++.
- the computer program code for carrying out operations of the disclosure may also be written in conventional procedural programming languages, such as the "C" programming language.
- the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer.
- the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
- LAN local area network
- WAN wide area network
- Internet Service Provider for example, AT&T, MCI, Sprint, EarthLink, MSN, GTE, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Mobile Radio Communication Systems (AREA)
Abstract
A method in a first network node that is configured for fetching one or more software packages is described. The method includes obtaining a first list of software packages, where the first list of software packages includes first information corresponding to a first set of software packages usable for a software upgrade of a plurality of radio units (RUs), and determining a second list of software packages including second information corresponding to a second set of software packages for the software upgrade of one or more RUs that correspond to the first network node. Further, the method includes fetching the second set of software packages using the second list of software packages and causing at least one RU that correspond to the first network node to be upgraded using the corresponding software package from the fetched second set of software packages.
Description
PACKAGE FETCHING FOR RADIO SOFTWARE MANAGEMENT
TECHNICAL FIELD
The present disclosure relates to wireless communications, and in particular, to radio software management.
BACKGROUND
The Third Generation Partnership Project (3 GPP) has developed and is developing standards for Fourth Generation (4G) (also referred to as Long Term Evolution (LTE)) and Fifth Generation (5G) (also referred to as New Radio (NR)) wireless communication systems. Such systems provide, among other features, broadband communication between network nodes (NNs), such as base stations, and mobile wireless devices (WD), as well as communication between network nodes and between WDs. The 3 GPP is also developing standards for Sixth Generation (6G) wireless communication networks.
A network node (NN) may comprise at least a radio unit (RU). Each RU may require a RU software (SW) package to operate. An RU may be capable of storing multiple radio SW versions, where each SW version is provided in a separate Radio SW Package identified with a software package number and package version.
A vendor may offer a wide variety of RUs, each fulfilling specific operator needs. The RUs may be identified with different RU product numbers and classified in different hardware platforms or radio product families. Each radio platform or radio product may require a separate RU SW package product number.
Further, a NN may comprise a virtual distributed unit (vDU). A vDU values. y ami file may be used to indicate RU SW package product numbers. For example, the vDU values. yaml file may include a list of RU SW package product numbers and versions that have been tested with the new vDU software version. The list may also be referred to as a “radioSoftware” definition and may include different RU SW package numbers and versions (e.g. 10 or more) supported globally for a vDU product. This information may be provided by the vendor and used for one or more purposes such as:
• To inform an operator about the RU SW packages that are needed for their network upgrade. A subset may be on-boarded by the operator into a central repository (e.g., file server in a management node) that is remotely accessible by each vDU before the user triggers a radio software upgrade job.
• During the execution of an upgrade job, a radio software controller automatically reads the full list of tested packages, includes such list in the REST API call to the vDU, and tries to fetch (download) the packages that are available in the file server and stores them in its local volume.
During a typical network software upgrade, ten thousand or more vDUs are typically upgraded during a maintenance window. Each operator network may need a different set of RU SW packages, and each vDU may require an even smaller set of RU SW packages. In many cases, a vDU site for the operator only needs a single RU SW package, and fetching the entire set of RU packages on-boarded by the operator is highly inefficient. This may be referred to as a conventional package fetching (e.g., basic package fetching), which has at least the following problems:
• Error-prone configuration that is difficult to automate in large vDU networks;
• Longer file download than required for sites with a single radio type; and
• Larger vDU local volume consumption for storing the RU SW packages.
SUMMARY
Some embodiments advantageously provide methods, systems, and apparatuses for package fetching for radio software management in cloud networks. One or more embodiments provide advanced package fetching (APF) (e.g., of radio software). In some embodiments, APF is performed in conjunction with automatic software selection features. In one or more embodiments, APF is specifically implemented by the vDU (and/or radio software upgrade job engine).
In some other embodiments, APF provides the following options: (A) automatic filtering and fetching of the minimum set of tested RU SW packages required by each existing vDU instance during network upgrade (e.g., vDU batch upgrade); and (B) automatic filtering and fetching of the minimum set of tested RU SW packages required by a new vDU instance during vDU installation. Both options may be performed independently and reuse the same building blocks. In some embodiments, both options are performed (e.g., full solution) where APF is implemented during vDU installations and vDU upgrades. In some other embodiments, only vDU upgrades are performed (e.g., partial solution).
According to one aspect, a first network node configured to communicate with a second network node is described. The first network node is configured to, and/or comprising a radio interface and/or comprising processing circuitry configured to receive a
first set of software packages to from the second network node, where the first set of software packages comprises a maximum number of software packages, and when advanced package fetching (APF) is enabled, inspect the first set of software packages and produce a second set of software packages based on the inspection of the first set of software packages. The second set of software packages comprises a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages..
According to another aspect, a method in a first network node configured to communicate with a second network node is described. The method comprising receiving a first set of software packages to from the second network node, where the first set of software packages comprises a maximum number of software packages, and when advanced package fetching (APF) is enabled, inspecting the first set of software packages and producing a second set of software packages based on the inspection of the first set of software packages. The second set of software packages comprises a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
According to an aspect, a second network node configured to communicate with a first network node is described. The first network node being configured for advanced package fetching (APF) of one or more software packages for a software upgrade of one or more radio units (RUs). The second network node is configured to, and/or comprising a radio interface and/or comprising processing circuitry configured to transmit a first set of software packages to the first network node. The first set of software packages comprises a maximum number of software packages. The first set of software packages is usable by the first network node to, when APF is enabled, inspect the first set of software packages and produce a second set of software packages based on the inspection of the first set of software packages. The second set of software packages comprises a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
According to another aspect, a method in a second network node configured to communicate with a first network node is described. The first network node being configured for advanced package fetching (APF) of one or more software packages for a software upgrade of one or more radio units (RUs). The method comprises transmitting a first set of software packages to the first network node. The first set of software packages comprises a maximum number of software packages. The first set of software packages is
usable by the first network node to, when APF is enabled, inspect the first set of software packages and produce a second set of software packages based on the inspection of the first set of software packages. The second set of software packages comprises a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
According to one aspect, a method in a first network node configured to communicate with a second network node and a third network node is described. The first network node is configured for fetching one or more software packages. The method includes obtaining (e.g., receiving, determining, transmitting a request for and receiving, retrieving, etc.) a first list of software packages from the second network node. The first list of software packages includes first information (e.g., a list of file names corresponding to software packages, including package_l.zip, package_2.zip, package_3.zip) corresponding to a first set of software packages usable for a software upgrade of a plurality of radio units (RUs). The method further includes determining a second list of software packages (e.g., a filtered list) comprising second information corresponding to a second set of software packages usable for the software upgrade of one or more RUs of the plurality of RUs that correspond to the first network node. The second list of software packages is determined based on the first list of software packages and third information associated with the one or more RUs of the plurality of RUs that correspond to the first network node. In addition, the method includes fetching the second set of software packages from the third network node using the second list of software packages and causing at least one RU of the one or more RUs that correspond to the first network node to be upgraded using the corresponding software package from the fetched second set of software packages.
In some embodiments, the method includes filtering the first list to determine the second list and include in the second list only the one or more RUs that correspond to the first network node.
In some other embodiments, the second set of software packages includes fewer software packages than the first set of software packages.
In some embodiments, the method further includes determining that an RU that is currently connected to or that has previously connected to the first network node is running a first software package having a first software package version.
In some other embodiments, wherein the method further includes determining that the first information of the first list includes information associated with the first software
package having a second software package version that is upgraded from the first software package version and adding to the second list the information associated with the first software package having the second software package version.
In some embodiments, the method further includes determining that the first information of the first list includes information associated with the first software package indicating that the first software package version is the latest version and removing from the second list the information associated with the first software package.
In some other embodiments, one or both of the second set of software packages are fetched from the third network node before the at least one RU of the one or more RUs connect or reconnect to the first network node and the at least one RU of the one or more RUs that correspond to the first network node is upgraded after the at least one RU connects or reconnects to the first network node.
In some embodiments, one or more of: (A) each software package is uniquely identified with a software product number and software package version; (B) the software product number uniquely identifies a radio software compatible with a radio product or a family of radio products that includes one or more radio unit hardware numbers and versions; (C) each software package is compatible with one or more RU hardware product numbers and versions; and (D) the method further includes determining whether the at least one RU needs to be upgraded with the software package that is compatible with the corresponding RU hardware product number and version based on a software package number that is currently installed or loaded on the at least one RU.
In some other embodiments, the first network node comprises a memory configured as a local volume, the method includes storing the fetched second set of software packages in the local volume, and causing the at least one RU to be upgraded includes: (A) selecting one software package that is stored in the local volume and compatible with the at least one RU; (B) loading the selected software package onto the at least one RU; and (C) restarting the at least one RU.
In some embodiments, one or more of: (A) the first network node includes radio software upgrade job engine (RSUJE); (B) the first network node includes a distributed unit (DU); (C) the DU comprises the RSUJE; (D) the DU is a virtualized DU; (E) the second network node includes a radio software upgrade job controller (RSUJC); (F) the RSUJC is co-located with the first network node or comprised in a management node that is remote to the first network node; and (G) the third network node comprises a file server configured to store one or more software packages.
In some other embodiments, the third information associated with the one or more RUs of the plurality of RUs that correspond to the first network node includes information about software packages required by each existing vDU instance during network upgrade, how many and what RUs the DU is serving, etc. Further, example software packages may include files such as RADIO- 12.1.5-CXF2010010_l-R12A05.zip, RADIO-936.1.4- CXF2010002_l-R936A04.zip, RADIO-936.1.4-CXF2010002_2-R936A04.zip. Information about software packages may include just the file names of the software packages.
According to another aspect, a first network node configured to communicate with a second network node and a third network node is described. The first network node is configured for fetching one or more software packages, and the first network node is configured to obtain a first list of software packages from the second network node, the first list of software packages comprising first information corresponding to a first set of software packages usable for a software upgrade of a plurality of radio units (RUs). The first network node is also configured to determine a second list of software packages comprising second information corresponding to a second set of software packages usable for the software upgrade of one or more RUs of the plurality of RUs that correspond to the first network node. The second list of software packages is determined based on the first list of software packages and third information associated with the one or more RUs of the plurality of RUs that correspond to the first network node. Further, the first network node is configured to fetch the second set of software packages from the third network node using the second list of software packages and cause at least one RU of the one or more RUs that correspond to the first network node to be upgraded using the corresponding software package from the fetched second set of software packages.
In some embodiments, the first network node is further configured to filter the first list to determine the second list and include in the second list only the one or more RUs that correspond to the first network node.
In some other embodiments, the second set of software packages comprises fewer software packages than the first set of software packages.
In some embodiments, the first network node is further configured to determine that an RU that is currently connected to or that has previously connected to the first network node is running a first software package having a first software package version.
In some other embodiments, the first network node is further configured to determine that the first information of the first list includes information associated with the
first software package having a second software package version that is upgraded from the first software package version and adding to the second list the information associated with the first software package having the second software package version.
In some embodiments, the first network node is further configured to determine that the first information of the first list includes information associated with the first software package indicating that the first software package version is the latest version and remove from the second list the information associated with the first software package.
In some other embodiments, one or both of the second set of software packages are fetched from the third network node before the at least one RU of the one or more RUs connect or reconnect to the first network node and the at least one RU of the one or more RUs that correspond to the first network node is upgraded after the at least one RU connects or reconnects to the first network node.
In some embodiments, one or more of: (A) each software package is uniquely identified with a software product number and software package version; (B) the software product number uniquely identifies a radio software compatible with a radio product or a family of radio products that includes one or more radio unit hardware numbers and versions; (C) each software package is compatible with one or more RU hardware product numbers and versions; and (D) the first network node is further configured to determine whether the at least one RU needs to be upgraded with the software package that is compatible with the corresponding RU hardware product number and version based on a software package number that is currently installed or loaded on the at least one RU.
In some other embodiments, the first network node comprises a memory configured as a local volume, the method includes storing the fetched second set of software packages in the local volume, and causing the at least one RU to be upgraded includes: (A) selecting one software package that is stored in the local volume and compatible with the at least one RU; (B) loading the selected software package onto the at least one RU; and (C) restarting the at least one RU.
In some embodiments, one or more of: (A) the first network node includes radio software upgrade job engine (RSUJE); (B) the first network node includes a distributed unit (DU); (C) the DU comprises the RSUJE; (D) the DU is a virtualized DU; (E) the second network node includes a radio software upgrade job controller (RSUJC); (F) the RSUJC is co-located with the first network node or comprised in a management node that
is remote to the first network node; and (G) the third network node comprises a file server configured to store one or more software packages.
According to one aspect, a method in a second network node configured to communicate with a first network node is described. The first network node is configured for fetching one or more software packages. The method includes transmitting a first list of software packages to the first network node, where the first list of software packages includes first information corresponding to a first set of software packages usable for a software upgrade of a plurality of radio units (RUs), and the first list triggers the first network node to fetch a second set of software packages from the third network node using a second list of software packages. The second list includes second information corresponding to a second set of software packages usable by the first network node to cause the software upgrade of one or more RUs of the plurality of RUs that correspond to the first network node.
In some embodiments, the first list is filtered to determine the second list and include in the second list only the one or more RUs that correspond to the first network node.
In some other embodiments, the second set of software packages comprises fewer software packages than the first set of software packages.
In some embodiments, one or both of each software package is uniquely identified with a software product number and software package version and the software product number uniquely identifies a radio software compatible with a radio product or a family of radio products that includes one or more radio unit hardware numbers and versions.
In some other embodiments, one or more of: (A) the first network node includes radio software upgrade job engine (RSUJE); (B) the first network node includes a distributed unit (DU); (C) the DU comprises the RSUJE; (D) the DU is a virtualized DU;
(E) the second network node includes a radio software upgrade job controller (RSUJC);
(F) the RSUJC is co-located with the first network node or comprised in a management node that is remote to the first network node; and (G) the third network node comprises a file server configured to store one or more software packages.
According to another aspect, a second network node configured to communicate with a first network node is described. The first network node is configured for fetching one or more software packages. The second network node is configured to transmit a first list of software packages to the first network node. The first list of software packages includes first information corresponding to a first set of software packages usable for a
software upgrade of a plurality of radio units (RUs). The first list triggers the first network node to fetch a second set of software packages from the third network node using a second list of software packages. The second list includes second information corresponding to a second set of software packages usable by the first network node to cause the software upgrade of one or more RUs of the plurality of RUs that correspond to the first network node.
In some embodiments, the first list is filtered to determine the second list and include in the second list only the one or more RUs that correspond to the first network node.
In some other embodiments, the second set of software packages comprises fewer software packages than the first set of software packages.
In some embodiments, one or both of each software package is uniquely identified with a software product number and software package version and the software product number uniquely identifies a radio software compatible with a radio product or a family of radio products that includes one or more radio unit hardware numbers and versions.
In some other embodiments, one or more of: (A) the first network node includes radio software upgrade job engine (RSUJE); (B) the first network node includes a distributed unit (DU); (C) the DU comprises the RSUJE; (D) the DU is a virtualized DU;
(E) the second network node includes a radio software upgrade job controller (RSUJC);
(F) the RSUJC is co-located with the first network node or comprised in a management node that is remote to the first network node; and (G) the third network node comprises a file server configured to store one or more software packages.
BRIEF DESCRIPTION OF THE DRAWINGS
A more complete understanding of the present embodiments, and the attendant advantages and features thereof, will be more readily understood by reference to the following detailed description when considered in conjunction with the accompanying drawings wherein:
FIG. 1 is a schematic diagram of an exemplary network architecture illustrating a communication system connected via an intermediate network to a host computer according to the principles in the present disclosure;
FIG. 2 is a block diagram of a host computer communicating via a network node with a wireless device over an at least partially wireless connection according to some embodiments of the present disclosure;
FIG. 3 is a flowchart illustrating exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for executing a client application at a wireless device according to some embodiments of the present disclosure;
FIG. 4 is a flowchart illustrating exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data at a wireless device according to some embodiments of the present disclosure;
FIG. 5 is a flowchart illustrating exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data from the wireless device at a host computer according to some embodiments of the present disclosure;
FIG. 6 is a flowchart illustrating exemplary methods implemented in a communication system including a host computer, a network node and a wireless device for receiving user data at a host computer according to some embodiments of the present disclosure;
FIG. 7 is a flowchart of an exemplary process in a first network node according to some embodiments of the present disclosure;
FIG. 8 is a flowchart of an exemplary process in a second network node according to some embodiments of the present disclosure;
FIG. 9 is a flowchart of an exemplary process in a first network node according to some embodiments of the present disclosure;
FIG. 10 is a flowchart of an exemplary process in a second network node according to some embodiments of the present disclosure;
FIG. 11 shows an example package fetching system according to some embodiments of the present disclosure;
FIG. 12 shows another example package fetching system according to some embodiments of the present disclosure;
FIG. 13 shows yet another example package fetching system according to some embodiments of the present disclosure;
FIG. 14 shows a table including case information according to some embodiments of the present disclosure;
FIG. 15 is a diagram of example sets of software packages according to some embodiments of the present disclosure;
FIG. 16 shows an example package fetching system (e.g., without operator filtering) according to some embodiments of the present disclosure;
FIG. 17 shows another table including case information according to some embodiments of the present disclosure;
FIG. 18 is a diagram of another example sets of software packages according to some embodiments of the present disclosure;
FIG. 19 shows another example package fetching system (e.g., with operator filtering) according to some embodiments of the present disclosure;
FIG. 20 shows a table including case information according to some embodiments of the present disclosure;
FIG. 21 is a diagram of example sets of software packages according to some embodiments of the present disclosure;
FIG. 22 shows an example advance package fetching (APF) system according to some embodiments of the present disclosure;
FIG. 23 shows another example advance package fetching (APF) system according to some embodiments of the present disclosure;
FIG. 24 shows an example advance package fetching (APF) process during vDU upgrade according to some embodiments of the present disclosure; and
FIG. 25 shows an example APF process during vDU install according to some embodiments of the present disclosure.
DETAILED DESCRIPTION
Before describing in detail exemplary embodiments, it is noted that the embodiments reside primarily in combinations of apparatus components and processing steps related to package fetching for radio software management in clouds. Accordingly, components have been represented where appropriate by conventional symbols in the drawings, showing only those specific details that are pertinent to understanding the embodiments so as not to obscure the disclosure with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein. Like numbers refer to like elements throughout the description.
As used herein, relational terms, such as “first” and “second,” “top” and “bottom,” and the like, may be used solely to distinguish one entity or element from another entity or element without necessarily requiring or implying any physical or logical relationship or order between such entities or elements. The terminology used herein is for the purpose of
describing particular embodiments only and is not intended to be limiting of the concepts described herein. As used herein, the singular forms “a”, “an” and “the” are intended to include the plural forms as well, unless the context clearly indicates otherwise. It will be further understood that the terms “comprises,” “comprising,” “includes” and/or “including” when used herein, specify the presence of stated features, integers, steps, operations, elements, and/or components, but do not preclude the presence or addition of one or more other features, integers, steps, operations, elements, components, and/or groups thereof.
In embodiments described herein, the joining term, “in communication with” and the like, may be used to indicate electrical or data communication, which may be accomplished by physical contact, induction, electromagnetic radiation, radio signaling, infrared signaling or optical signaling, for example. One having ordinary skill in the art will appreciate that multiple components may interoperate and modifications and variations are possible of achieving the electrical and data communication.
In some embodiments described herein, the term “coupled,” “connected,” and the like, may be used herein to indicate a connection, although not necessarily directly, and may include wired and/or wireless connections.
The term “network node” used herein can be any kind of network node comprised in a radio network which may further comprise any of base station (BS), radio base station, base transceiver station (BTS), base station controller (BSC), radio network controller (RNC), g Node B (gNB), evolved Node B (eNB or eNodeB), Node B, multistandard radio (MSR) radio node such as MSR BS, multi-cell/multicast coordination entity (MCE), integrated access and backhaul (IAB) node, relay node, donor node controlling relay, radio access point (AP), transmission points, transmission nodes, Remote Radio Unit (RRU) Remote Radio Head (RRH), a core network node (e.g., mobile management entity (MME), self-organizing network (SON) node, a coordinating node, positioning node, MDT node, etc.), an external node (e.g., 3rd party node, a node external to the current network), nodes in distributed antenna system (DAS), a spectrum access system (SAS) node, an element management system (EMS), a database (DB), management node, etc.
The network node may also comprise test equipment, a Radio Software Upgrade Job Controller (RSUJC), a Radio Software Upgrade Job Engine (RSUJE), a centralized unit (CU) (which may be a virtual CU (vCU) and/or open radio access network distributed unit (O-CU)), a distributed unit (DU)(which may be a virtual DU (vDU) and/or open radio
access network distributed unit (O-DU)), a configuration management service (CMS), a Radio Unit (RU) (which may be an eLLS RU (E-RU), and/or open radio access network RU (O-RU)), a server such as a file server, an API server an FTP server, an orchestrator, etc. The term “radio node” used herein may be used to also denote a wireless device (WD) such as a wireless device (WD) or a radio network node.
In some embodiments, the non-limiting terms wireless device (WD) or a user equipment (UE) are used interchangeably. The WD herein can be any type of wireless device capable of communicating with a network node or another WD over radio signals, such as wireless device (WD). The WD may also be a radio communication device, target device, device to device (D2D) WD, machine type WD or WD capable of machine to machine communication (M2M), low-cost and/or low-complexity WD, a sensor equipped with WD, Tablet, mobile terminals, smart phone, laptop embedded equipped (LEE), laptop mounted equipment (LME), USB dongles, Customer Premises Equipment (CPE), an Internet of Things (loT) device, or a Narrowband loT (NB-IOT) device, etc.
Also, in some embodiments the generic term “radio network node” is used. It can be any kind of a radio network node which may comprise any of base station, radio base station, base transceiver station, base station controller, network controller, RNC, evolved Node B (eNB), Node B, gNB, Multi-cell/multicast Coordination Entity (MCE), IAB node, relay node, access point, radio access point, Remote Radio Unit (RRU) Remote Radio Head (RRH).
Note that although terminology from one particular wireless system, such as, for example, 3GPP LTE and/or New Radio (NR), may be used in this disclosure, this should not be seen as limiting the scope of the disclosure to only the aforementioned system. Other wireless systems, including without limitation Wide Band Code Division Multiple Access (WCDMA), Worldwide Interoperability for Microwave Access (WiMax), Ultra Mobile Broadband (UMB) and Global System for Mobile Communications (GSM), may also benefit from exploiting the ideas covered within this disclosure.
Note further, that functions described herein as being performed by a wireless device or a network node may be distributed over a plurality of wireless devices and/or network nodes. In other words, it is contemplated that the functions of the network node and wireless device described herein are not limited to performance by a single physical device and, in fact, can be distributed among several physical devices.
In some embodiments, the term “set” is used and may refer to a collection of elements such as one or more software packages or information associated with software
packages. A set may be a single- element set or a multiple-element set. A multiple-element set includes more than one element, e.g., more than one software package. A singleelement set includes one element, e.g., one software package. That is, a set described herein is not limited to having two or more elements and may include one or more elements, such as one or more software packages.
Unless otherwise defined, all terms (including technical and scientific terms) used herein have the same meaning as commonly understood by one of ordinary skill in the art to which this disclosure belongs. It will be further understood that terms used herein should be interpreted as having a meaning that is consistent with their meaning in the context of this specification and the relevant art and will not be interpreted in an idealized or overly formal sense unless expressly so defined herein.
Referring now to the drawing figures, in which like elements are referred to by like reference numerals, there is shown in FIG. 1 a schematic diagram of a communication system 10, according to an embodiment, such as a 3GPP-type cellular network that may support standards such as LTE and/or NR (5G), which comprises an access network 12, such as a radio access network, and a core network 14. The access network 12 comprises a plurality of network nodes 16a, 16b, 16c (referred to collectively as network nodes 16), such as NBs, eNBs, gNBs or other types of wireless access points, each defining a corresponding coverage area 18a, 18b, 18c (referred to collectively as coverage areas 18). Each network node 16a, 16b, 16c is connectable to the core network 14 (and/or other network nodes 16 comprised in core network node 14) over a wired or wireless connection 20. Any of the networks shown may be configured as a cloud network. A first wireless device (WD) 22a located in coverage area 18a is configured to wirelessly connect to, or be paged by, the corresponding network node 16a. A second WD 22b in coverage area 18b is wirelessly connectable to the corresponding network node 16b. While a plurality of WDs 22a, 22b (collectively referred to as wireless devices 22) are illustrated in this example, the disclosed embodiments are equally applicable to a situation where a sole WD is in the coverage area or where a sole WD is connecting to the corresponding network node 16. Note that although only two WDs 22 and three network nodes 16 are shown for convenience, the communication system may include many more WDs 22 and network nodes 16.
Also, it is contemplated that a WD 22 can be in simultaneous communication and/or configured to separately communicate with more than one network node 16 and more than one type of network node 16. For example, a WD 22 can have dual
connectivity with a network node 16 that supports LTE and the same or a different network node 16 that supports NR. As an example, WD 22 can be in communication with an eNB for LTE/E-UTRAN and a gNB for NR/NG-RAN.
The communication system 10 may itself be connected to a host computer 24, which may be embodied in the hardware and/or software of a standalone server, a cloud- implemented server, a distributed server or as processing resources in a server farm. The host computer 24 may be under the ownership or control of a service provider, or may be operated by the service provider or on behalf of the service provider. The connections 26, 28 between the communication system 10 and the host computer 24 may extend directly from the core network 14 to the host computer 24 or may extend via an optional intermediate network 30. The intermediate network 30 may be one of, or a combination of more than one of, a public, private or hosted network. The intermediate network 30, if any, may be a backbone network or the Internet. In some embodiments, the intermediate network 30 may comprise two or more sub-networks (not shown).
The communication system of FIG. 1 as a whole enables connectivity between one of the connected WDs 22a, 22b and the host computer 24. The connectivity may be described as an over-the-top (OTT) connection. The host computer 24 and the connected WDs 22a, 22b are configured to communicate data and/or signaling via the OTT connection, using the access network 12, the core network 14, any intermediate network 30 and possible further infrastructure (not shown) as intermediaries. The OTT connection may be transparent in the sense that at least some of the participating communication devices through which the OTT connection passes are unaware of routing of uplink and downlink communications. For example, a network node 16 may not or need not be informed about the past routing of an incoming downlink communication with data originating from a host computer 24 to be forwarded (e.g., handed over) to a connected WD 22a. Similarly, the network node 16 need not be aware of the future routing of an outgoing uplink communication originating from the WD 22a towards the host computer 24.
A network node 16 is configured to include a NN management unit 32 which is configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., perform one or more actions associated with advanced package fetching (APF). A wireless device 22 is configured to include a WD management unit 34 which is configured to perform any step and/or task and/or process
and/or method and/or feature described in the present disclosure, e.g., perform one or more actions associated with advanced package fetching (APF).
Example implementations, in accordance with an embodiment, of the WD 22, network node 16 and host computer 24 discussed in the preceding paragraphs will now be described with reference to FIG. 2. In a communication system 10, a host computer 24 comprises hardware (HW) 38 including a communication interface 40 configured to set up and maintain a wired or wireless connection with an interface of a different communication device of the communication system 10. The host computer 24 further comprises processing circuitry 42, which may have storage and/or processing capabilities. The processing circuitry 42 may include a processor 44 and memory 46. In particular, in addition to or instead of a processor, such as a central processing unit, and memory, the processing circuitry 42 may comprise integrated circuitry for processing and/or control, e.g., one or more processors and/or processor cores and/or FPGAs (Field Programmable Gate Array) and/or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions. The processor 44 may be configured to access (e.g., write to and/or read from) memory 46, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory).
Processing circuitry 42 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by host computer 24. Processor 44 corresponds to one or more processors 44 for performing host computer 24 functions described herein. The host computer 24 includes memory 46 that is configured to store data, programmatic software code and/or other information described herein. In some embodiments, the software 48 and/or the host application 50 may include instructions that, when executed by the processor 44 and/or processing circuitry 42, causes the processor 44 and/or processing circuitry 42 to perform the processes described herein with respect to host computer 24. The instructions may be software associated with the host computer 24.
The software 48 may be executable by the processing circuitry 42. The software 48 includes a host application 50. The host application 50 may be operable to provide a service to a remote user, such as a WD 22 connecting via an OTT connection 52 terminating at the WD 22 and the host computer 24. In providing the service to the remote user, the host application 50 may provide user data which is transmitted using the OTT
connection 52. The “user data” may be data and information described herein as implementing the described functionality. In one embodiment, the host computer 24 may be configured for providing control and functionality to a service provider and may be operated by the service provider or on behalf of the service provider. The processing circuitry 42 of the host computer 24 may enable the host computer 24 to observe, monitor, control, transmit to and/or receive from the network node 16 and or the wireless device 22. The processing circuitry 42 of the host computer 24 may include a host management 54 configured to enable the service provider to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., perform one or more actions associated with advanced package fetching (APF), observe/monitor/ control/transmit to/receive from the network node 16 and or the wireless device 22, etc.
The communication system 10 further includes a network node 16 provided in a communication system 10 and including hardware 58 enabling it to communicate with the host computer 24 and with the WD 22. The hardware 58 may include a communication interface 60 for setting up and maintaining a wired or wireless connection with an interface of a different communication device of the communication system 10, as well as a radio interface 62 for setting up and maintaining at least a wireless connection 64 with a WD 22 located in a coverage area 18 served by the network node 16. The radio interface 62 may be formed as or may include, for example, one or more RF transmitters, one or more RF receivers, and/or one or more RF transceivers. The communication interface 60 may be configured to facilitate a connection 66 to the host computer 24. The connection 66 may be direct or it may pass through a core network 14 of the communication system 10 and/or through one or more intermediate networks 30 outside the communication system 10.
In the embodiment shown, the hardware 58 of the network node 16 further includes processing circuitry 68. The processing circuitry 68 may include a processor 70 and a memory 72. In particular, in addition to or instead of a processor, such as a central processing unit, and memory, the processing circuitry 68 may comprise integrated circuitry for processing and/or control, e.g., one or more processors and/or processor cores and/or FPGAs (Field Programmable Gate Array) and/or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions. The processor 70 may be configured to access (e.g., write to and/or read from) the memory 72, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM
(Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory).
Thus, the network node 16 further has software 74 stored internally in, for example, memory 72, or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by the network node 16 via an external connection. The software 74 may be executable by the processing circuitry 68. The processing circuitry 68 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by network node 16. Processor 70 corresponds to one or more processors 70 for performing network node 16 functions described herein. The memory 72 is configured to store data, programmatic software code and/or other information described herein. In some embodiments, the software 74 may include instructions that, when executed by the processor 70 and/or processing circuitry 68, causes the processor 70 and/or processing circuitry 68 to perform the processes described herein with respect to network node 16. For example, processing circuitry 68 of the network node 16 may include NN management unit 32 which is configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., perform one or more actions associated with advanced package fetching (APF).
The processing circuitry 68 may also include RSUJC 100 configured to perform any step and/or process and/or feature and/or function described herein, e.g., any step and/or process and/or feature and/or function of the RSUJC. The processing circuitry 68 may also include RSUJE 102 configured to perform any step and/or process and/or feature and/or function described herein, e.g., any step and/or process and/or feature and/or function of the RSUJE. The processing circuitry 68 may also include CU 104 configured to perform any step and/or process and/or feature and/or function described herein, e.g., corresponding to any CU described herein. The processing circuitry 68 may also include DU 106 configured to perform any step and/or process and/or feature and/or function described herein, e.g., corresponding to any DU described herein. In some embodiments, DU 106 may comprise RSUJE 102 or any other component of network node 16. The processing circuitry 68 may also include CMS 108 configured to perform any step and/or process and/or feature and/or function described herein, e.g., corresponding to any configuration management service described herein. CMS 108 may refer to a virtual distributed unit CMS. The processing circuitry 68 may also include RU 110 configured to
perform any step and/or process and/or feature and/or function described herein, e.g., corresponding to any RU described herein. RU may refer to any network node 16.
Although processing circuitry 68 is shown as including RSUJC 100, RSUJE 102, CU 104, DU 106, CMS 108, RU 110, processing circuitry 68 is not limited as such and may include none of, or one or more of, each of RSUJC 100, RSUJE 102, CU 104, DU 106, CMS 108, RU 110. In a nonlimiting example, a first network node 16a may comprise (e.g., as part of processing circuitry 68) an RSUJC 100, a second network node 16b may comprise (e.g., as part of processing circuitry 68) a RSUJE 102, and a third network node 16c may comprise (e.g., as part of processing circuitry 68) a CMS 108 such as a DU CMS. Each network node 16 may communicate with any other device such as other network node 16, e.g., the first, second, and third network nodes 16a, 16b, 16c may be in communication with each other, via communication interface 60 and/or radio interface 62. It is also understood that implementations may include more than or fewer than three network nodes, e.g., a fourth network node 16d (not shown in FIG. 1).
The communication system 10 further includes the WD 22 already referred to. The WD 22 may have hardware 80 that may include a radio interface 82 configured to set up and maintain a wireless connection 64 with a network node 16 serving a coverage area 18 in which the WD 22 is currently located. The radio interface 82 may be formed as or may include, for example, one or more RF transmitters, one or more RF receivers, and/or one or more RF transceivers.
The hardware 80 of the WD 22 further includes processing circuitry 84. The processing circuitry 84 may include a processor 86 and memory 88. In particular, in addition to or instead of a processor, such as a central processing unit, and memory, the processing circuitry 84 may comprise integrated circuitry for processing and/or control, e.g., one or more processors and/or processor cores and/or FPGAs (Field Programmable Gate Array) and/or ASICs (Application Specific Integrated Circuitry) adapted to execute instructions. The processor 86 may be configured to access (e.g., write to and/or read from) memory 88, which may comprise any kind of volatile and/or nonvolatile memory, e.g., cache and/or buffer memory and/or RAM (Random Access Memory) and/or ROM (Read-Only Memory) and/or optical memory and/or EPROM (Erasable Programmable Read-Only Memory).
Thus, the WD 22 may further comprise software 90, which is stored in, for example, memory 88 at the WD 22, or stored in external memory (e.g., database, storage array, network storage device, etc.) accessible by the WD 22. The software 90 may be
executable by the processing circuitry 84. The software 90 may include a client application 92. The client application 92 may be operable to provide a service to a human or non-human user via the WD 22, with the support of the host computer 24. In the host computer 24, an executing host application 50 may communicate with the executing client application 92 via the OTT connection 52 terminating at the WD 22 and the host computer 24. In providing the service to the user, the client application 92 may receive request data from the host application 50 and provide user data in response to the request data. The OTT connection 52 may transfer both the request data and the user data. The client application 92 may interact with the user to generate the user data that it provides.
The processing circuitry 84 may be configured to control any of the methods and/or processes described herein and/or to cause such methods, and/or processes to be performed, e.g., by WD 22. The processor 86 corresponds to one or more processors 86 for performing WD 22 functions described herein. The WD 22 includes memory 88 that is configured to store data, programmatic software code and/or other information described herein. In some embodiments, the software 90 and/or the client application 92 may include instructions that, when executed by the processor 86 and/or processing circuitry 84, causes the processor 86 and/or processing circuitry 84 to perform the processes described herein with respect to WD 22. For example, the processing circuitry 84 of the wireless device 22 may include A network node 16 is configured to include a WD management unit 34 which is configured to perform any step and/or task and/or process and/or method and/or feature described in the present disclosure, e.g., perform one or more actions associated with advanced package fetching (APF).
In some embodiments, the inner workings of the network node 16, WD 22, and host computer 24 may be as shown in FIG. 2 and independently, the surrounding network topology may be that of FIG. 1.
In FIG. 2, the OTT connection 52 has been drawn abstractly to illustrate the communication between the host computer 24 and the wireless device 22 via the network node 16, without explicit reference to any intermediary devices and the precise routing of messages via these devices. Network infrastructure may determine the routing, which it may be configured to hide from the WD 22 or from the service provider operating the host computer 24, or both. While the OTT connection 52 is active, the network infrastructure may further take decisions by which it dynamically changes the routing (e.g., on the basis of load balancing consideration or reconfiguration of the network).
The wireless connection 64 between the WD 22 and the network node 16 is in accordance with the teachings of the embodiments described throughout this disclosure. One or more of the various embodiments improve the performance of OTT services provided to the WD 22 using the OTT connection 52, in which the wireless connection 64 may form the last segment. More precisely, the teachings of some of these embodiments may improve the data rate, latency, and/or power consumption and thereby provide benefits such as reduced user waiting time, relaxed restriction on file size, better responsiveness, extended battery lifetime, etc.
In some embodiments, a measurement procedure may be provided for the purpose of monitoring data rate, latency and other factors on which the one or more embodiments improve. There may further be an optional network functionality for reconfiguring the OTT connection 52 between the host computer 24 and WD 22, in response to variations in the measurement results. The measurement procedure and/or the network functionality for reconfiguring the OTT connection 52 may be implemented in the software 48 of the host computer 24 or in the software 90 of the WD 22, or both. In embodiments, sensors (not shown) may be deployed in or in association with communication devices through which the OTT connection 52 passes; the sensors may participate in the measurement procedure by supplying values of the monitored quantities exemplified above, or supplying values of other physical quantities from which software 48, 90 may compute or estimate the monitored quantities. The reconfiguring of the OTT connection 52 may include message format, retransmission settings, preferred routing etc.; the reconfiguring need not affect the network node 16, and it may be unknown or imperceptible to the network node 16. Some such procedures and functionalities may be known and practiced in the art. In certain embodiments, measurements may involve proprietary WD signaling facilitating the host computer’s 24 measurements of throughput, propagation times, latency and the like. In some embodiments, the measurements may be implemented in that the software 48, 90 causes messages to be transmitted, in particular empty or ‘dummy’ messages, using the OTT connection 52 while it monitors propagation times, errors, etc.
Thus, in some embodiments, the host computer 24 includes processing circuitry 42 configured to provide user data and a communication interface 40 that is configured to forward the user data to a cellular network for transmission to the WD 22. In some embodiments, the cellular network also includes the network node 16 with a radio interface 62. In some embodiments, the network node 16 is configured to, and/or the network node’s 16 processing circuitry 68 is configured to perform the functions and/or
methods described herein for preparing/initiating/maintaining/supporting/ending a transmission to the WD 22, and/or preparing/terminating/maintaining/supporting/ending in receipt of a transmission from the WD 22.
In some embodiments, the host computer 24 includes processing circuitry 42 and a communication interface 40 that is configured to a communication interface 40 configured to receive user data originating from a transmission from a WD 22 to a network node 16. In some embodiments, the WD 22 is configured to, and/or comprises a radio interface 82 and/or processing circuitry 84 configured to perform the functions and/or methods described herein for preparing/initiating/maintaining/supporting/ending a transmission to the network node 16, and/or preparing/terminating/maintaining/supporting/ending in receipt of a transmission from the network node 16.
Although FIGS. 1 and 2 show various “units” such as NN management unit 32, and WD management unit 34 as being within a respective processor, it is contemplated that these units may be implemented such that a portion of the unit is stored in a corresponding memory within the processing circuitry. In other words, the units may be implemented in hardware or in a combination of hardware and software within the processing circuitry.
FIG. 3 is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of FIGS. 1 and 2, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIG. 2. In a first step of the method, the host computer 24 provides user data (Block S100). In an optional substep of the first step, the host computer 24 provides the user data by executing a host application, such as, for example, the host application 50 (Block S102). In a second step, the host computer 24 initiates a transmission carrying the user data to the WD 22 (Block S104). In an optional third step, the network node 16 transmits to the WD 22 the user data which was carried in the transmission that the host computer 24 initiated, in accordance with the teachings of the embodiments described throughout this disclosure (Block S106). In an optional fourth step, the WD 22 executes a client application, such as, for example, the client application 92, associated with the host application 50 executed by the host computer 24 (Block S108).
FIG. 4 is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of FIG. 1, in accordance with one embodiment. The communication system may include a host
computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS. 1 and 2. In a first step of the method, the host computer 24 provides user data (Block S 110). In an optional substep (not shown) the host computer 24 provides the user data by executing a host application, such as, for example, the host application 50. In a second step, the host computer 24 initiates a transmission carrying the user data to the WD 22 (Block SI 12). The transmission may pass via the network node 16, in accordance with the teachings of the embodiments described throughout this disclosure. In an optional third step, the WD 22 receives the user data carried in the transmission (Block S 114).
FIG. 5 is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of FIG. 1, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS. 1 and 2. In an optional first step of the method, the WD 22 receives input data provided by the host computer 24 (Block SI 16). In an optional substep of the first step, the WD 22 executes the client application 92, which provides the user data in reaction to the received input data provided by the host computer 24 (Block S 118). Additionally or alternatively, in an optional second step, the WD 22 provides user data (Block S120). In an optional substep of the second step, the WD provides the user data by executing a client application, such as, for example, client application 92 (Block S122). In providing the user data, the executed client application 92 may further consider user input received from the user. Regardless of the specific manner in which the user data was provided, the WD 22 may initiate, in an optional third substep, transmission of the user data to the host computer 24 (Block S124). In a fourth step of the method, the host computer 24 receives the user data transmitted from the WD 22, in accordance with the teachings of the embodiments described throughout this disclosure (Block S126).
FIG. 6 is a flowchart illustrating an exemplary method implemented in a communication system, such as, for example, the communication system of FIG. 1, in accordance with one embodiment. The communication system may include a host computer 24, a network node 16 and a WD 22, which may be those described with reference to FIGS. 1 and 2. In an optional first step of the method, in accordance with the teachings of the embodiments described throughout this disclosure, the network node 16 receives user data from the WD 22 (Block S128). In an optional second step, the network node 16 initiates transmission of the received user data to the host computer 24 (Block
S 130). In a third step, the host computer 24 receives the user data carried in the transmission initiated by the network node 16 (Block S132).
FIG. 7 is a flowchart of an exemplary process (i.e., method) in a first network node 16. One or more blocks described herein may be performed by one or more elements of network node 16 such as by one or more of processing circuitry 68 (including the NN management unit 32), processor 70, radio interface 62 and/or communication interface 60. Network node 16 such as via processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60 is configured to receive (Block S134) a first set of software packages to from the second network node, the first set of software packages comprising a maximum number of software packages, and, when APF is enabled, inspect (Block S136) the first set of software packages and produce a second set of software packages based on the inspection of the first set of software packages, the second set of software packages comprising a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
In some embodiments, the filtered list is based on the RUs that are known to the first network node 16a.
In some other embodiments, the method further comprises determining that an RU that is currently connected to or previously connected to the first network node 16a is running a first software package having a first software package version, determining that the first software package having a second software package version is included in the first set of software packages, and adding the first software package having the second software package version to the second set of packages.
In some embodiments, the method further comprises, if a second software package having a third software package version is included in the first set of software packages and the radio units connected to the first network node 16a are not running using the second software package, removing the second software package from the second set of software packages.
In some other embodiments, the method further comprises fetching one or more software packages from the second set of software packages.
In some embodiments, each software package is uniquely identified with a software package number and a software package revision, where the package revision is incremented and the software package number stays the same for each software package release.
In some other embodiments, the method further comprises comparing content loaded on each RU with what is included in the first set of software packages.
In some embodiments, the first network node 16a comprises a radio software upgrade job engine (RSUJE) 102 and the second network node 16b comprises a radio software upgrade job controller (RSUJC) 100.
FIG. 8 is a flowchart of an exemplary process (i.e., method) in a second network node 16. One or more blocks described herein may be performed by one or more elements of network node 16 such as by one or more of processing circuitry 68 (including the NN management unit 32), processor 70, radio interface 62 and/or communication interface 60. Network node 16 such as via processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60 is configured to transmit (Block S138) a first set of software packages to the first network node 16a. The first set of software packages comprises a maximum number of software packages. The first set of software packages is usable by the first network node 16a to, when APF is enabled, inspect the first set of software packages and produce a second set of software packages based on the inspection of the first set of software packages. The second set of software packages comprises a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
In some embodiments, the filtered list is based on the RUs that are known to the first network node 16a.
In some other embodiments, each software package is uniquely identified with a software package number and a software package revision. The package revision is incremented and the software package number stays the same for each software package release.
In some embodiments, the first network node 16a comprises a radio software upgrade job engine (RSUJE) 102 and the second network node 16b comprises a radio software upgrade job controller (RSUJC) 100.
In some embodiments, when a new software package number is introduced for an existing radio unit (e.g., because software package revisions exceed a predetermined software package revision), the first network node 16a may download the entire first set of software packages (e.g., if the first network node 16a does not find any match).
FIG. 9 is a flowchart of an exemplary process (i.e., method) in a first network node 16. One or more blocks described herein may be performed by one or more elements of the first network node 16 such as by one or more of processing circuitry 68 (including the
NN management unit 32), processor 70, radio interface 62 and/or communication interface 60. The first network node 16 such as via processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60 is configured to obtain (Block S140) (e.g., receiving, determining, transmitting a request for and receiving, retrieving, etc.) a first list of software packages (e.g., full list 123) from the second network node 16. The first list of software packages includes first information (e.g., a list of file names corresponding to software packages, including package_l.zip, package_2.zip, package_3.zip) corresponding to a first set of software packages usable for a software upgrade of a plurality of radio units (RUs). The first network node 16 is also configured to determine (Block S142) a second list of software packages (e.g., a filtered list, list 125, etc.) comprising second information corresponding to a second set of software packages usable for the software upgrade of one or more RUs of the plurality of RUs that correspond to the first network node. The second list of software packages is determined based on the first list of software packages and third information associated with the one or more RUs of the plurality of RUs that correspond to the first network node. In addition, the first network node 16 is configured to fetch (Block S144) the second set of software packages from the third network node 16 using the second list of software packages and cause (Block S 146) at least one RU 110 of the one or more RUs 110 that correspond to the first network node 16 to be upgraded using the corresponding software package from the fetched second set of software packages.
In some embodiments, the method includes filtering the first list to determine the second list and include in the second list only the one or more RUs 110 that correspond to the first network node 16.
In some other embodiments, the second set of software packages includes fewer software packages than the first set of software packages.
In some embodiments, the method further includes determining that an RU 110 that is currently connected to or that has previously connected to the first network node 16 is running a first software package having a first software package version.
In some other embodiments, wherein the method further includes determining that the first information of the first list includes information associated with the first software package having a second software package version that is upgraded from the first software package version and adding to the second list the information associated with the first software package having the second software package version.
In some embodiments, the method further includes determining that the first information of the first list includes information associated with the first software package indicating that the first software package version is the latest version and removing from the second list the information associated with the first software package.
In some other embodiments, one or both of the second set of software packages are fetched from the third network node before the at least one RU 110 of the one or more RUs 110 connect or reconnect to the first network node and the at least one RU 110 of the one or more RUs 110 that correspond to the first network node 16 is upgraded after the at least one RU 110 connects or reconnects to the first network node 16.
In some embodiments, one or more of: (A) each software package is uniquely identified with a software product number and software package version; (B) the software product number uniquely identifies a radio software compatible with a radio product or a family of radio products that includes one or more radio unit hardware numbers and versions; (C) each software package is compatible with one or more RU hardware product numbers and versions; and (D) the method further includes determining whether the at least one RU 110 needs to be upgraded with the software package that is compatible with the corresponding RU hardware product number and version based on a software package number that is currently installed or loaded on the at least one RU 110.
In some other embodiments, the first network node 16 comprises a memory 72 configured as a local volume 122, the method includes storing the fetched second set of software packages in the local volume 122, and causing the at least one RU 110 to be upgraded includes: (A) selecting one software package that is stored in the local volume and compatible with the at least one RU 110; (B) loading the selected software package onto the at least one RU 110; and (C) restarting the at least one RU 110.
In some embodiments, one or more of: (A) the first network node 16 includes radio software upgrade job engine (RSUJE) 102; (B) the first network node 16 includes a distributed unit (DU) 106; (C) the DU 106 comprises the RSUJE 102; (D) the DU 106 is a virtualized DU 106; (E) the second network node 16 includes a radio software upgrade job controller (RSUJC) 100; (F) the RSUJC 100 is co-located with the first network node 16 or comprised in a management node that is remote to the first network node 16; and (G) the third network node 16 comprises a file server 126 configured to store one or more software packages.
In some other embodiments, the third information associated with the one or more RUs 110 of the plurality of RUs 110 that correspond to the first network node 16 includes
information about software packages required by each existing vDU instance during network upgrade, how many and what RUs 110 the DU 106 is serving, etc. Further, example software packages may include files such as RADIO-12.1.5-CXF2010010_l- R12A05.zip, RADIO-936.1.4-CXF2010002_l-R936A04.zip, RADIO-936.1.4- CXF2010002_2-R936A04.zip. Information about software packages may include just the file names of the software packages.
FIG. 10 is a flowchart of an exemplary process (i.e., method) in a second network node 16. One or more blocks described herein may be performed by one or more elements of network node 16 such as by one or more of processing circuitry 68 (including the NN management unit 32), processor 70, radio interface 62 and/or communication interface 60. Network node 16 such as via processing circuitry 68 and/or processor 70 and/or radio interface 62 and/or communication interface 60 is configured to transmit (Block S148) a first list of software packages to the first network node 16, where the first list of software packages includes first information corresponding to a first set of software packages usable for a software upgrade of a plurality of radio units (RUs) 110, and the first list triggers the first network node 16 to fetch a second set of software packages from the third network node 16 using a second list of software packages. The second list includes second information corresponding to a second set of software packages usable by the first network node to cause the software upgrade of one or more RUs 110 of the plurality of RUs 110 that correspond to the first network node 16.
In some embodiments, the first list is filtered to determine the second list and include in the second list only the one or more RUs 110 that corresponds to the first network node.
In some other embodiments, the second set of software packages comprises fewer software packages than the first set of software packages.
In some embodiments, one or both of each software package is uniquely identified with a software product number and software package version and the software product number uniquely identifies a radio software compatible with a radio product or a family of radio products that includes one or more radio unit hardware numbers and versions.
In some other embodiments, one or more of: (A) the first network node 16 includes radio software upgrade job engine (RSUJE) 102; (B) the first network node 16 includes a distributed unit (DU) 106; (C) the DU 106 includes the RSUJE 102; (D) the DU 106 is a virtualized DU 106; (E) the second network node 16 includes a radio software upgrade job controller (RSUJC) 100; (F) the RSUJC 100 is co-located with the first network node 16
or comprised in a management node that is remote to the first network node 16; and (G) the third network node 16 comprises a file server 126 configured to store one or more software packages.
In some embodiments, the first list of software packages is network-wide information that contains radio software (information) for a radio access network (RAN) network and/or for radio products that are not even present in the RAN network.
The second list of software packages may be vDU/SWJE 102 (first network node 16) specific information which includes radio software (information) that are specifically needed for the vDU/ RSUJE 102.
In some embodiments, the compatibility information in each software package does not change during the filtering process. In some other embodiments, only the relevant package filenames are considered.
Using FTP or any file transfer, it may be difficult to extract the content of each archive remotely (e.g., try to read compatibility file remotely). An option is downloading all the software packages to the vDU/RSUJE 102.
In some embodiments, the software package filenames (provided by the second network node 16) is used to decide if the package is relevant or for the vDU/ RSUJE 102. The filename may include a software package number and software package version.
The vDU/ RSUJE 102 may have knowledge of the software package filenames (including a software package number and package version) that are loaded or running on each of the connected RUs (or previously connected RUs). This may be performed by updating a local database (for instance) each time the vDU/ RSUJE 102 downloads a new radio software file to an RU 110 or each time the vDU/ RSUJE 102 queries the content of the RU software inventory.
In some other embodiments, if vDU/ RSUJE 102 finds a match on the software package number, then it considers such package as compatible and relevant to the site and tries to download it from the file server 126.
After the package is downloaded to the vDU/ RSUJE 102, it extracts the software package and reads the compatibility file to ensure it is in fact compatible with the connected RU 110.
Having described the general process flow of arrangements of the disclosure and having provided examples of hardware and software arrangements for implementing the processes and functions of the disclosure, the sections below provide details and examples of arrangements for package fetching for radio software management in clouds (i.e., cloud
networks, systems, devices, etc.). In some embodiments, the term DU is used and may refer to a vDU.
In some embodiments, DU 106 is configured as a virtual distributed unit (vDU). DU 106 may be configured as a collection of baseband, control plane and management services. In some other embodiments, the DU 106 (i.e., vDU) comprises RSUJE 102. RSUJE 102 (and/or NN management unit 32) may be configured for managing RU software and execution of RU software upgrade jobs. DU 106 may also include a database (DB) with information about each RU 110 connected to the DU 106 (vDU) including information about the radio software packages currently used by each RU 110. In some embodiments, more than one RU 110 are connected to each DU 106 (vDU). Each RU 110 may belong to a radio product family uniquely identified with a radio unit (hardware) product name, radio unit (hardware) product number and radio unit (hardware) product version. Examples of radio unit product name are AIR6449 and AIR1652. In some embodiments, each radio product family requires a different radio SW package. Such radio SW package may include the radio unit product name in its metadata file. Each RU 110 may also be uniquely identified with a serial number.
In some embodiments, DU 106 (e.g., the vDU (including RSUJE 102)) may be configured to run in a cloud network and be responsible for managing the radio software for the connected radio units. Two different radio types or platforms (AIR6449 and AIR1652) may be supported by DU 106 (vDU (RDM), e.g., in 23Q1). Each DU 106 (i.e., vDU) may be connected to different radio types. Some sites 124 are connected to a single radio type. Other sites 124 have a few different radio types. Each radio type may require a different RU SW package. In one or more embodiments, all the RU SW packages are onboarded into a central repository (File Server) that is remotely accessible by each DU 106 (i.e., vDU) before the user triggers a radio software upgrade job (user job).
In some other embodiments, a software lifecycle of a DU 106 (i.e., vDU) and its RU 110 may comprise vDU install followed by a first network upgrade (e.g., vDU upgrade), followed by a second network upgrade (e.g., vDU upgrade), and followed by a third network upgrade (e.g., vDU upgrade).
In some embodiments, a new vDU instance (i.e., new DU instance) is added to the network using vDU helm install, which may be characterized by:
• 1 vDU installation;
• The RUs 110 are upgraded to the tested RU SW package version specified in the vDU helm chart;
• The event may not part of a “network upgrade”; and
• Having a custom user job configuration for the initial vDU instance may be acceptable.
In some other embodiments, existing vDU instances are batch-upgraded using vDU helm upgrade, which may be characterized by:
• Up to ten thousand vDU upgrades during the maintenance window;
• The RUs 110 may be upgraded to the tested RU SW package version specified in each vDU helm chart;
• This event is part of a “network upgrade”; and
• Having a custom user job configuration for each vDU upgrade may not be acceptable.
In some other embodiments, a network software upgrade comprises multiple upgrades, e.g., ten thousand vDU helm upgrades, which represent ten thousand user jobs. In some embodiments, each vDU helm upgrade comprises one user job to configure and trigger. In some other embodiments, a combined vDU + RU upgrade (one-step upgrade option) may be performed. In some embodiments, an upgrade job (user job) is automatically triggered with Integrated RSC during vDU helm upgrade. In some other embodiments, integrated RSC automatically reads all the tested RU SW packages supported by the vDU (Automatic SW Selection is enabled by default). In some embodiments, during a network software upgrade, each DU 106 (i.e., vDU) is considered a “cow.” The DU 106 (i.e., vDU) helm upgrades may not require different upgrade job configurations (per vDU). In addition, one-fit-all user job configuration per network upgrade applicable for all DUs 106 (i.e., vDUs) may be acceptable. In some embodiments, one-fit-all upgrade job configuration for all/any network upgrades applicable for all DUs 106 (i.e., vDUs) may be performed.
In some embodiments, NN 16 may comprise an RU 110, which may be a physical RU. The RU 110 may be configured to store multiple radio software versions (and/or files having versions), each version is provided in a separate Radio SW Package identified with a package number and package version.
In some other embodiments, NN 16 (e.g., via any of its components such as NN management unit 32) may be configured to comprise (and/or perform) an RU software upgrade job. The RU software upgrade job may comprise a set of tasks executed by RSUJE 102 for upgrading the RU software. An upgrade job can be triggered by the user (e.g., a user job) by deploying a RSUJC 100 instance, which may target the RUs 110
connected to the DU 106 (e.g., vDU). Further, an upgrade job can also be automatically triggered by the RSUJE 102 after a NN 16 ( and/or RU 110) restarts or when a NN 16 (and/or RU 110) re-connects to the DU 106 (i.e., vDU) (each system jobs targets a single RU). In some other embodiments, a system 10 (e.g., NN 16) supports multiple concurrent user and system jobs.
In some embodiments, the radio software is delivered in a file (e.g., an archive such as zip file). The file may comprise metadata files and the load module container (LMC) to load on the RUs 110 (e.g., of a NN 16). Each package may be identified with a package number and package version that is incremented each time there is a new version. The metadata file may include a list of unit hardware product identifiers that are compatible with the package.
In some other embodiments, a RU SW package filename may be associated with a software product name (e.g., for SW product name AIR6449) and may have one or more parameters such as:
• SW filename = RADIO-933.L15-CXF2010002_l-R933A15.zip (package_l.zip)
• SW package number = CXF2010002_l
• SW product name = air6449
• SW product (LMC) number = CXP2030038_l
• SW product version = R933A15
In some embodiments, an RU SW package filename for AIR6419, AIR 1652, AIR3219 and AIR3268 may have one or more parameters such as:
• SW filename = RADIO-933.L12-CXF2010002_2-R933A12.zip (package_2.zip)
• SW package number = CXF2010002_2
• SW product name = air6419
• SW product (LMC) number = CXP2030038_7 (LMC)
• SW product version = R933A12
In some other embodiments, multiple software packages may be used, such as:
• RADIO-933.1.15-CXF2010002_ 1 -R933 A 15.zip
• RADIO-933.1.15-CXF2010002.2-R933 A 15.zip
• RADIO-933.1.15-CXF2010002_3 -R933 A 15.zip
• RADIO-933.1.15-CXF2010002.4-R933 A 15.zip
• RADIO-933.1.15-CXF2010002_5-R933 A 15.zip
• RADIO-933.1.15-CXF2010002_6-R933 A 15.zip
• RADIO-933.1.15-CXF2010002_7-R933 A 15.zip
• RADIO-933.1.15-CXF2010002_8-R933 A 15.zip
• RADIO-933.1.15-CXF2010002_9-R933 A 15.zip
• RADIO-933.1.15-CXF2010002_10-R933A15.zip
Each software package may be associated with a software product name, e.g., 3268, ABCD, 6449, 3219, 1652, FGHI, etc.
RSUJC 100 may be (and/or be configured to perform) a small service (e.g., Kubemetes (k8s) job) responsible to trigger an upgrade job (user job) using a REST application programming interface (API) call towards RUSWJE 102. RSUJC 100 may be deployed inside (together with) the vDU instance (i.e., DU 106) . RSUJC 100 can also be deployed outside the vDU instance as a separate instance but co-located with the vDU instance, e.g., in the same k8s cluster or namespace. RSUJC 100 can also be deployed in network node 16 (e.g., a management node in a central location) and configured to communicate with one or more DUs 106 (e.g., vDU instances). During a network upgrade, RSUJC 100 may be configured with a list of radio software packages since the radio access network may include many different radio products, each requiring a different radio software package. Having a single or the same RSUJC 100 configuration for all vDU instances can make the network upgrade process easier to automate.
In some embodiments, NN 16 is configured to comprise (e.g., in memory 72) and/or perform functions (e.g., via NN management unit 32) of a database (DB). DB may comprise a document DB, where information (data) about attached RUs 110 is stored persistently and updated in real-time by RSUJE 102. RU data includes radio unit product number, radio unity product version and serial number. RU data also includes the radio software package product numbers and versions that are loaded on each RU as well as running version when applicable (i.e., RU software inventory).
In some other embodiments, a NN 16 may comprise and/or be configured as a file server. The file server may be a remote repository (e.g. secure file transfer protocol (SFTP), file transfer protocol (FTP)) for on-boarding and/or storing RU SW packages, e.g., in a management node. The file server may be referred to as a central file server as the file server may be deployed in the management node in a central location/site. In some other embodiments, the file server may be accessible (e.g., remotely accessible) by all the DUs 106 (i.e., vDUs). DU 106 (vDU) may use the SFTP/FTP GET command to download
each radio software package to its local volume or local file server, e.g., during a network upgrade.
In some embodiments, automatic software selection is performed which may comprise automatic selection of tested (or recommended) radio SW packages based on the new running or upgraded DU (e.g., vDU) instance. Automatic selection of the tested (recommended) radio SW packages may be performed during a DU 106 (i.e., vDU) installation or DU 106 (i.e., vDU) software upgrade. Information may be provided by the DU 106 (i.e., vDU) vendor and stored in a default vDU values. yaml (e.g., vDU helm chart) as well as within a k8s ConfigMap included in the running vDU instance. RSUJC 100 can be configured to automatically read the full list of tested (recommended) radio software packages to pass along in the REST API call towards the RSUJE 102. An operator may also manually configure such a list of radio software packages as part of the RSUJC 100 deployment.
In some other embodiments, when software is downloaded, an error may occur and an error code such as software download error code may be provided. An SFTP/FTP error code may indicate the reason for being unable to download an RU SW package. In some embodiments, the SFTP/FTP error code may be set to 0 when file download has succeeded or set to 2 when the file does not exist in File Server.
In some embodiments, package fetching error detection and handling may be performed. More specifically, DU 106 (e.g., vDU) architecture may be built to detect any fetching error including cases when a package is not found in the File Server and immediately stop the job execution in EXCEPTION state. Information about fetching errors may be exposed via SW INVENTORY REST API at /jobs API endpoint. In normal cases (success), all requested files for the job may be fetched successfully, all requested files for the job may have download failure code set to 0 (OK), and the job may be set to READY state after completing fetching phase and proceeds to next step. In the error case (failure because no such package is found in File Server) one or more actions may be a factor such as a requested file for the job was *not* fetched because the package does not exist in the File Server, the requested file for the job has download failure code set to 2 (no such file), the job tries to fetch the other package(s) if any (optional), or the job stops after completing fetching phase and is set to EXCEPTION state.
FIG. 11 shows an example package fetching system, e.g., system 10, using a default “radiosoftware” definition. Any one of the components shown may be comprised in one or more network nodes 16 and/or sites 124a, 124b. File server 126 may be located
in site 124b (a central site), e.g., a network node 16 such as a management node where an operator has on-boarded radio SW packages needed for the network prior to triggering a network upgrade. Three DUs 106 are shown, i.e., DUs 106a, 106b, 106c (vDU_l, vDU_2 and vDU_3) which may be separate from each other. Each DU 106 (e.g., vDU instance) may include a corresponding RSUJE 102 (e.g., RSUJE 102a, 102b, 102c), a DB 120 (e.g., DB 120a, 120b, 120c) connected to the RSUJE 102 and a local volume 122 (e.g., local volume 122a, 122b, 122c) (which may also be referred to as a local file server) where copies of the radio SW packages are stored.
An RU 110 may have a radio product name (AIR6449, AIR1652) (i.e., it may refer to software/hardware name) . RU 110 can have a hardware product number, and hardware product name. In one example, two AIR6449 may be different RUs 110 which share a radio product name. For example, DU 106a (vDU_l) is connected to RU 110a with product name AIR6449 (which may be referred to as 6449). In some embodiments, more than one RU is connected to a DU 106, e.g., three RUs 110 of the same product may be connected to a DU 106. DU 106b (vDU_2) is connected to RU 110b with product name AIR1652 (or 1652). DU 106c (vDU_3) is connected to two RUs 110c, HOd (AIR6449, and AIR 1652, respectively). In some embodiments, a mix of different radio unit products under may be connected to the same DU 106.
RSUJC 100 may be deployed outside DU 106 (vDU instance), co-located with DU 106, or standalone. A standalone RSUJC 100 may be deployed using a separate helm chart. After RSUJC 100 is deployed, RSUJC 100 requests a radio software upgrade job via the REST API interface (not shown) to DU 106 (which may include RSUJE 102). RSUJC 100 may automatically read the full list 123 of tested packages (e.g., package_l.zip, package_2.zip, and package_3.zip) and includes such full list 123 in the REST API call to DU 106 (and/or RSUJE 102). This list is depicted in dark grey in the top left comer. In embodiments where basic package fetching is performed, DU 106 (and/or RSUJE 102) does not perform any filtering to the full list 123 of tested radio SW packages included in the radio software upgrade job request and directly pass this information to its FTP client (included in RSUJE 102) that will setup an FTP connection to file server 126 and request to fetch (download) the complete list 125 of tested packages using the FTP GET command for each file. The actual radio SW package file is transferred from the file server 126 to the DU 106 (and/or RSUJE 102). DU 106 (and/or RSUJE 102) stores the fetched (downloaded) radio SW packages in its local volume 122 (or local File Server). The fetching process ends when the packages have been successfully fetched and stored in the
respective local volume 122. After the fetching process is completed, DU 106 (and/or RSUJE 102) can begin the process of upgrading each RU 110.
In some embodiments, DB 120 and/or local volume 122 may be comprised in memory 72. In some other embodiments, file server 126 (a network node 16) may be configured to store one or more software packages in its memory 72. The operator may need to re-configure a vDU helm chart and remove the packages that are not needed for the network upgrade. Without this re-configuration, an error may be detected during the RU SW package fetching phase, thereby indicating one or more packages were not found in the file server 126 (example, package_3.zip). This may immediately stop the upgrade job execution and raise an alarm for each DU 106 (i.e., vDU).
FIG. 12 shows another example package fetching system, e.g., using the custom vDU values. yaml file with a reduced list of tested packages in the “radioSoftware” definition. This is applied to all DU 106 (i.e., vDU) deployments and DU 106 (i.e., vDU) upgrades. In some embodiments, such re-configuration may need to be done at each network upgrade. In some other embodiments, both packages are fetched for each site even though many sites only need a single package. However, fetching unnecessary packages may increase the probability of a DU 106 (i.e., vDU) upgrade job failure, increase the duration of the DU 106 (i.e., vDU) upgrade, and increase the usage of the DU 106 (i.e., vDU) local volume.
FIG. 13 shows yet another example package fetching system, e.g., another custom vDU values. yaml file with a further reduced list of tested packages in the radioSoftware definition that is specific to vDU_l instance. In some embodiments, such re-configuration may require a different upgrade job configuration for each DU 106 (i.e., vDU). Automation could be done “offline” using a tool that would collect RU data for each DU 106 (i.e., vDU) instance and generate a specific radio software definition for each site.
In some embodiments, the package fetching process is performed “inline” within the DU 106 (i.e., vDU) instance. In some other embodiments, one or more sets of software packages may be used. For example, the one or more sets may comprise:
Set A: This is the total list of newly tested RU SW packages (filenames) with a DU 106 (I.E., vDU) associated with an operator, a manufacturer, or a service provider. This list may be part of the automatic software selection process, i.e., list of tested packages. This list is provided in the default vDU values. yaml file (e.g., vDU helm chart).
Set B: This is the reduced list of newly tested RU SW packages (filenames) configured by the operator for the network upgrade, i.e., the list of network packages (this
is set A minus the unwanted packages). This list may be provided by an operator by creating a custom vDU values. yaml file.
Set C: The list of newly RU SW packages (filenames) required by the specific DU 106 (i.e., vDU) instance during the network upgrade, i.e., the list of site packages. This list may be dynamically produced by the DU 106 (i.e., vDU) for each upgrade job using the APF process.
Set D: The newly RU SW Packages (zip files) that are on-boarded by the operator and stored in the file server, i.e., the on-boarded packages which may comprise the tested or network packages.
Set E: The newly fetched RU SW Packages (zip files) fetched by the DU 106 (i.e., vDU) instance and stored in its local volume. They are known as the fetched packages.
In some embodiments, example tested packages (Set A) may be characterized by:
• The “radioSoftware” definition in the default vDU values. yaml file being a full list (array) of tested and recommended RU SW packages specified by an operator, manufacturer, service provider, etc.
• The default “radioSoftware” definition being applied during DU 106 (i.e., vDU) install and DU 106 (i.e., vDU) upgrade. This is known as “automatic (radio) SW selection”.
An example of “radioSoftware” definition may be as follows: radioSoftware: configMapOverrideName: "" files:
- RADIO-933.1.15-CXF2010002_l-R933A15.zip #AIR6449 RU SW Package
- RADIO-933.1.15-CXF2010002_2-R933A15.zip #AIR6419 RU SW Package
In some embodiments, filtered packages (Set B) may be used. More specifically:
• The operator creates a custom vDU values. yaml file with a reduced list of tested packages in the radioSoftware definition.
• The custom radioSoftware definition is applied during DU 106 (i.e., vDU) install and DU 106 (i.e., vDU) upgrade.
• This is known as “manual SW selection” (or semi-automatic SW selection).
An example of “radioSoftware” definition may be as follows: radioSoftware: configMapOverrideName: "" files:
# - RADIO-933.E15-CXF2010002_l-R933A15.zip #PROD Type 3 AIR6449 RU SW Package (comment line)
- RADIO-933.1.15-CXF2010002_2-R933A15.zip #PROD Type 3 AIR6419 RU SW Package
FIG. 14 shows a table including case information according to some embodiments of the present disclosure. When Set A = Set B, all tested RU SW packages are fetched, with success and no job errors. When Set E includes fewer RU SW packages than Set A, one or more tested packages are not fetched, which may lead to a fetching failure and job errors. FIG. 15 is a diagram of example sets of software packages according to some embodiments of the present disclosure. For example, Set E may include one or more RU SW packages, Set D may include the RU SW packages of Set E and/or additional RU SW packages, and Set A may include the RU SW packages of Set E, Set D, and/or other RU SW packages. Any other combination of sets and RU SW package is possible.
FIG. 16 shows an example package fetching system (e.g., without operator filtering). RSUJC 100 may obtain a list of tested RU SW packages (Set A) and communicate with DU 106, which can request tested RU SW packages (Set A) to file server 126, which may have a list of on-boarded RU SW packages (Set D). DU 106 may store the fetched RU SW packages (Set E) in local volume 122.
FIG. 17 shows a table including case information according to some embodiments of the present disclosure. When Set E = Set B, all network RU SW packages are fetched, with success and no job errors. When Set E includes fewer RU SW packages than Set B, one or more network RU SW packages are not fetched, which may lead to a fetching failure and job errors. FIG. 18 is a diagram of example sets of software packages according to some embodiments of the present disclosure. For example, Set E may include one or more RU SW packages, Set D may include the RU SW packages of Set E and/or additional RU SW packages, and Set B may include the RU SW packages of Set E, Set D, and/or other RU SW packages. Any other combination of sets and RU SW package is possible.
FIG. 19 shows another example package fetching system (e.g., with operator filtering). RSUJC 100 may obtain a list of tested RU SW packages (Set B) and communicate with DU 106, which can request tested RU SW packages (Set B) to file server 126, which may have a list of on-boarded RU SW packages (Set D). DU 106 may store the fetched RU SW packages (Set E) in local volume 122.
FIG. 20 shows a table including case information according to some embodiments of the present disclosure. When Set E = Set C, all site RU SW packages are fetched, with success and no job errors. When Set E includes fewer RU SW packages than Set C, one or more site RU SW packages are not fetched, which may lead to a fetching failure and job errors. FIG. 21 is a diagram of example sets of software packages according to some embodiments of the present disclosure. For example, Set E may include one or more RU SW packages, and Set C may include the RU SW packages of Set E and/or additional RU SW package. Set D may include the RU SW packages of Set E and Set C and/or other additional RU SW packages, and Set A may include the RU SW packages of Set E, Set C, Set D, and/or other RU SW packages. Any other combination of sets and RU SW package is possible.
FIG. 22 shows an example advance package fetching (APF) system. RSUJC 100 may obtain a list of tested RU SW packages (Set A) and communicate with DU 106, which can request tested RU SW packages (Set C) to file server 126, which may have a list of on-boarded RU SW packages (Set D). DU 106 may store the fetched RU SW packages (Set C) in DB 120 and deploy to respective RUs 110. Further, the fetched RU SW packages (Set C and/or Set E) may be stored local volume 122.
APF allows each DU 106 (i.e., vDU) instance to dynamically produce a reduced list of tested packages (e.g., set C) that is specific to the RUs 110 connected to the DU 106 (i.e., vDU) instance. Such a list may be internal to the DU 106 (i.e., vDU) and used to fetch the minimal set of RU SW packages during job execution. The list includes the sitespecific packages (a subset of the tested package or set A) needed to upgrade the radio units that are connected to the DU 106 (i.e., vDU) instance.
In some embodiments, an APF is divided into two parts/steps.
Step 1 (partial solution)
The first step of the solution includes support for APF during DU 106 (i.e., vDU) upgrades. Before and during DU 106 (i.e., vDU) upgrade, the DU 106 (i.e., vDU) has already collected software data about each connected RU 110 and can use this software data in the early part of the upgrade process to generate “set C” for all the connected RUs 110 (a list of site packages which may include only a single package) and fetch the software file(s) from the File Server before the RUs 110 are reconnected to the DU 106 (i.e., vDU) instance. When each RU 110 reconnects to the upgraded DU 106 (i.e., vDU) instance (usually a few minutes later), the DU 106 (i.e., vDU) immediately proceeds with the individual RU upgrade.
Step 2 (full solution)
The second step of the solution includes support for Advanced Package Fetching during DU 106 (i.e., vDU) upgrades and DU 106 (i.e., vDU) installations. Before and during DU 106 (i.e., vDU) installation, the DU 106 (i.e., vDU) does not have knowledge of the software loaded or running on the RUs 110 and must wait for them to connect for the first time. When the RU 110 connects, the DU 106 (i.e., vDU) generates “set C” (a single site package) for the connected RU 110 and fetch the software file (if needed) from the File Server during the RU connection phase. When the software fetching phase is completed, the DU 106 (i.e., vDU) then proceeds with the individual RU upgrade.
FIG. 23 shows another example APF system and may be configured to perform an APF process that comprises:
• Zero job configuration during DU 106 (i.e., vDU) installations and upgrades enabling software upgrade automation (one-fit-all user job configuration for all network upgrades);
• Shorter file download for sites with a single radio type during DU 106 (i.e., vDU) installation and upgrades; and
• Smaller DU 106 (i.e., vDU) local volume consumption for sites with single radio type.
In some embodiments, RSUJC 100 (e.g., RSUJC 100a) obtains a list 123 of tested RU SW packages (Set A). DU 106 (e.g., DU 106a) requests a list 125 of RU SW packages (Set C) such as based on the RUs 110 (RU 110a) connected to DU 106 (e.g., DU 106a) or other parameters such as a list of RUs 110 that may be connectable to DU 106 or associated with the site 124 (site 124a) of DU 106 and/or RU 110. In this example, Set C includes package_l.zip corresponding to RU 110a (AIR6449). In other examples, such as RU 110b, package_2.zip is fetched. In the case of multiple RUs 110c, lOOd, package_l.zip, and package_2.zip are fetched, respectively. The packages may be deployed (e.g., by RSUJE 102) to their corresponding RU 110 and/or stored in the corresponding local volume 122.
In some embodiments, during a vDU installation or vDU upgrade, the vDU services (running on k8s) are expected to be upgraded first followed by the upgrade of RUs 110 after they connect or reconnect to DU 106 (the vDU instances), e.g.,. for upgrading the complete vDU and RU system. One or more embodiments provide an advanced package fetching process during vDU upgrades. Before and during DU 106 (vDU) upgrade, DU 106 (vDU) has already collected software data about each connected
RU 110 and can use this software data in the early part of the upgrade process to generate “set C” for all the connected RUs (a list of site packages - it could be a single package) and fetch the software file(s) from the file server 126 before the RUs 110 are reconnected to DU 106 (vDU) instance. When each RU 110 reconnects to the upgraded DU 106 (vDU) instance, the DU 106 (vDU) proceeds with the individual RU upgrade.
FIG. 24 shows an example APF process during DU 106 (i.e., vDU) upgrade. At step S200, RSUJC 100 and RSUJE 102 are upgraded and initialized. At step S202, RSUJC 100 reads the list of tested packages (Set A) and requests a user job. At step S204, RSUJE 102 inspects RU software inventory, selects the site package for each RU 110, and populates the list of site packages (Set C) such as based on the RUs 110 associated with RSUJE 102 and/or DU 106 and/or site 124b, etc. At step S206, RSUJE 102 fetches the site package(s) (Set C) for the user job and stores them in its local volume 122. At step S208, RSUJE 102 ends the user job in a COMPLETED state. At step S210, RU 110 reconnects to DU 106 (vDU), and RSUJE 102 creates a system job for the RU 110. At step S212, RSUJE 102 discovers the RU 110 and may refresh RU SW inventory. At step S214, DU 106 (vDU) matches RU 110 to a previous user job with site packages (Set C). At step S216, RSUJE 102 selects the package stored in its local volume that is compatible with the RU product number and version, loads the software onto the RU 110, and restarts the RU 110. At step S218, RSUJE 102 ends system job in COMPLETED state.
In some embodiments, performing APF during DU 106 (i.e., vDU) upgrade comprises one or more of the following:
• When the DU 106 (i.e., vDU) upgrade is triggered, all the DU 106 (i.e., vDU) services are initialized including RSUJC 100 and RSUJE 102.
• The RSUJC 100 reads the list of tested packages (set A) from the default vDU values. yaml and send the full list in the upgrade job request towards the RSUJE 102 that is included in the DU 106 (i.e., vDU). This upgrade job may be referred to as a user job.
• The DU 106 (i.e., vDU) (RSUJE 102) inspects the software inventory for all target RUs known in its database.
• For each target unit, the DU 106 (i.e., vDU) (RSUJE 102) selects a package number (a newer version) from the tested list (set A) that is already loaded or running on the RU 110 (an older version) and adds it to its list of site packages (set C).
• When RU SW package selection is completed for all target units, the DU 106 (i.e., vDU) (RSUJE 102) tries to download the site package or packages (set C) that are available in File Server and store them in its local volume.
• When the software fetching phase is completed, the DU 106 (i.e., vDU) ends the first part of the upgrade (user job) in COMPLETED state and waits for the RUs 110 to reconnect.
• If package selection is not possible for one of the target units included in the upgrade job, the DU 106 (i.e., vDU) (RSUJE 102) tries to fetch all the tested packages (Set A) and store them in local volume.
• If any of the new site packages are missing or failed to download, the DU 106 (i.e., vDU) stops the upgrade job execution with an error (EXCEPTION state).
• When each RU 110 connects to DU 106 (i.e., vDU), the DU 106 (i.e., vDU) (RSUJE 102) automatically triggers an upgrade job (system job) for the individual RU 110.
• The DU 106 (i.e., vDU) (RSUJE 102) discovers the target RU 110 and refreshes its database with the software data that is loaded or running on the RU 110.
• The DU 106 (i.e., vDU) (RSUJE 102) matches the target unit to a previous user job which specify the site packages (Set C).
• From this list, the DU 106 (i.e., vDU) (RSUJE 102) selects the package stored in its local volume that is compatible with radio unit (hardware) product number and version, loads the software and restarts the RU 110.
• When software loading and unit restart phase is completed, the DU 106 (i.e., vDU) successfully ends the second part of the upgrade (system job) in COMPLETED state for each RU 110.
• If it is not possible to find any new package in its local volume that is compatible with the unit hardware identifier, the DU 106 (i.e., vDU) (RSUJE 102) stops the upgrade job execution with an error (EXCEPTION state) and raises a SW DOWNLOAD FAILURE alarm indicating software selection is not possible for the target unit.
In some embodiments, the APF method includes one or more of the following. RSUJC 100 and RSUJE 102 are upgraded and initialized. RSUJC 100 reads the list of tested packages (set A) and requests a user job. RSUJE 102 inspects RU software inventory, selects the site package for each RU 110 and populates the list of site packages
(Set C) for the user job. RSUJE 102 fetches the site package or packages for the user job (Set C) and stores them in its local volume. RSUJE 102 ends user job in COMPLETED state. RU 110 reconnects to DU 106 (i.e., vDU) and RSUJE 102 creates a system job for the RU 110. RSUJE 102 discovers the RU 110 and refreshes RU SW software inventory if needed. DU 106 (i.e., vDU) matches the RU 110 to a previous user job with site packages (set C). RSUJE 102 selects the package stored in its local volume that is compatible with the RU hardware product identifier (HW PID), loads the software, and restarts the RU 110. RSUJE 102 ends system job in COMPLETED state.
One or more of steps 1-10 above may be modified, changed, removed, etc., i.e., where the APF is performed during DU 106 (i.e., vDU) installation. In addition, other steps may be performed. For example, RSUJC 100 and RSUJE 102 are upgraded and initialized. RSUJC 100 reads the list of tested packages (set A) and requests a user job. RSUJE 102 inspects RU software inventory, but it is empty. RSUJE 102 ends user job in COMPLETED state. RU 110 reconnects to DU 106 (i.e., vDU) and RSUJE 102 creates a system job for the RU 110. RSUJE 102 discovers the RU 110 and adds it to its RU SW inventory. DU 106 (i.e., vDU) matches the RU 110 to a previous user job with tested packages (set A). RSUJE 102 selects the site package for the RU 110 and populates the site package (set C) for the system job. RSUJE 102 fetches the site package (set C) and stores it in its local volume. RSUJE 102 selects the package stored in its local volume that is compatible with the RU HW PID, loads the software and restarts the RU 110. RSUJE 102 ends system job in COMPLETED state.
Although some embodiments describe upgrading an RU 110, the present disclosure is not limited as such. For example, DU 106 (and/or RSUJE 102) may determine that an RU 110 is not running any software package or does not have the software package installed, e.g., RU 110 is only running boot software, having a first software package version. DU 106 (and/or RSUJE 102) may then fetch additional software packages (e.g., additional to the filtered list, or all available software packages corresponding to the full list 123). Further, DU 106 (and/or RSUJE 102) may parse through each software package and verify whether it is compatible with the RU 110. If it is not compatible with the RU 110, the software package may be stored in the local volume 122. If it is compatible, the RU 110 may be upgraded with the compatible software package.
FIG. 25 shows an example APF process during vDU installation. At step S300, RSUJC 100 and RSUJE 102 are upgraded and initialized. At step S302, RSUJC 100 reads
the list of tested packages (Set A) and requests a user job. At step S304, RSUJE 102 inspects RU software inventory and finds that the RU software inventory is empty. At step S306, RSUJE 102 ends user job in COMPLETED state. At step S3O8, RU 110 reconnects to DU 106, and RSUJE 102 creates a system job for the RU. At step S310, RSUJE 102 discovers the RU 110 and adds RU 110 to its RU software inventory. At step S312, DU 106 matches the RU 110 to a previous user job with tested packages (Set A). At step S314, RSUJE 102 selects the site package for the RU 110 and populates the site package (Set C) for the system job. At step S316, RSUJE 102 fetches the site packages (Set C) and stores them in its local volume 122. At step S318, RSUJE 102 selects the package stored in its local volume 122 that is compatible with the RU product number and version, loads the software on to the RU 110, and restarts the RU 110. At step S320, RSUJE 102 ends the system job in COMPLETED state.
In some other embodiments, performing APF during DU 106 (i.e., vDU) installation comprises:
• When the DU 106 (i.e., vDU) install is triggered, all the DU 106 (i.e., vDU) services are initialized including the RSUJC 100 and RSUJE 102.
• The RSUJC 100 reads the list of tested packages (set A) from the default vDU values. yaml and send the full list in the upgrade job request towards the RSUJE 102 that is included in the DU 106 (i.e., vDU). This upgrade job is also known as a user job.
• The DU 106 (i.e., vDU) (RSUJE 102) inspects the software inventory for all target units known in its database but the database does not have information about RUs 110 (they have not yet been discovered for the first time).
• The DU 106 (i.e., vDU) does not fetch any software packages (set C is empty) and ends the first part of the upgrade (user job) in COMPLETED state and waits for the RUs 110 to reconnect.
• When each RU 110 connects to DU 106 (i.e., vDU), the DU 106 (i.e., vDU) (RSUJE 102) automatically triggers an upgrade job (system job) for the individual RU 110.
• The DU 106 (i.e., vDU) (RSUJE 102) discovers the target RU 110, adds it to its database and populates it with the software data that is loaded or running on the RU 110.
• The DU 106 (i.e., vDU) (RSUJE 102) matches the target unit to a previous user job which specify the total list of tested packages (set A).
• From this list, the DU 106 (i.e., vDU) (RSUJE 102) selects a package number (a newer version) from the tested list (set A) that is already loaded or running on the RU 110 (an older version) and adds it to its list of site packages (set C).
• When package selection is completed for the connected unit, the DU 106 (i.e., vDU) (system job) checks if there is an existing file transfer in-progress for the same filename. If not, the DU 106 (i.e., vDU) (RSUJE 102) downloads the site package (set C) that is available in File Server and store it in local volume.
• The DU 106 (i.e., vDU) (RSUJE 102) selects the package stored in its local volume that is compatible with the unit hardware product identifier (PID), loads the software and restarts the unit.
• When software loading and unit restart phase is completed, the DU 106 (i.e., vDU) successfully ends the second part of the upgrade (system job) in COMPLETED state for each RU 110.
• If it is not possible to find any new package in its local volume that is compatible with the unit hardware identifier, the DU 106 (i.e., vDU) (RSUJE 102) stops the upgrade job execution with an error (EXCEPTION state) and raises a SW DOWNLOAD FAILURE alarm indicating software selection is not possible for the target unit.
The following is a nonlimiting list of example embodiments.
Embodiment AL A first network node configured to communicate with a second network node and being configured for advanced package fetching (APF) of one or more software packages for a software upgrade of one or more radio units (RUs), the first network node being configured to, and/or comprising a radio interface and/or comprising processing circuitry configured to: receive a first set of software packages from the second network node, the first set of software packages comprising a maximum number of software packages; and when APF is enabled, inspect the first set of software packages and produce a second set of software packages based on the inspection of the first set of software packages, the second set of software packages comprising a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
Embodiment A2. The first network node of Embodiment Al, wherein the filtered list is based on the RUs that are known to the first network node.
Embodiment A3. The first network node of any one of Embodiments Al and A2, wherein the processing circuitry is further configured to: determine that an RU that is currently connected to or previously connected to the first network node is running a first software package having a first software package version; determine that the first software package having a second software package version is included in the first set of software packages; and add the first software package having the second software package version to the second set of packages.
Embodiment A4. The first network node of any one of Embodiments A1-A3, wherein the processing circuitry is further configured to: if a second software package having a third software package version is included in the first set of software packages and the radio units connected to the first network node are not running using the second software package, remove the second software package from the second set of software packages.
Embodiment A5. The first network node of any one of Embodiments A1-A4, wherein the processing circuitry is further configured to: fetch one or more software packages from the second set of software packages.
Embodiment A6. The first network node of any one of Embodiments A1-A5, wherein each software package is uniquely identified with a software package number and a software package revision, the package revision being incremented and the software package number staying the same for each software package release.
Embodiment A7. The first network node of any one of Embodiments A1-A6, wherein the processing circuitry is further configured to: compare content loaded on each RU with what is included in the first set of software packages.
Embodiment A8. The network node of any one of Embodiments A1-A7, wherein the first network node comprises a radio software upgrade job engine (RSUJE) and the second network node comprises a radio software upgrade job controller (RSUJC).
Embodiment Bl. A method in a first network node configured to communicate with a second network node and being configured for advanced package fetching (APF) of one or more software packages for a software upgrade of one or more radio units (RUs), the method comprising:
receiving a first set of software packages from the second network node, the first set of software packages comprising a maximum number of software packages; and when APF is enabled, inspecting the first set of software packages and producing a second set of software packages based on the inspection of the first set of software packages, the second set of software packages comprising a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
Embodiment B2. The method of Embodiment B l, wherein the filtered list is based on the RUs that are known to the first network node.
Embodiment B3. The method of any one of Embodiments B 1 and B2, wherein the method further comprises: determining that an RU that is currently connected to or previously connected to the first network node is running a first software package having a first software package version; determining that the first software package having a second software package version is included in the first set of software packages; and adding the first software package having the second software package version to the second set of packages.
Embodiment B4. The method of any one of Embodiments B 1-B3, wherein the method further comprises: if a second software package having a third software package version is included in the first set of software packages and the radio units connected to the first network node are not running using the second software package, removing the second software package from the second set of software packages.
Embodiment B5. The method of any one of Embodiments B 1-B4, wherein the method further comprises: fetching one or more software packages from the second set of software packages.
Embodiment B6. The method of any one of Embodiments B 1-B5, wherein each software package is uniquely identified with a software package number and a software package revision, the package revision being incremented and the software package number staying the same for each software package release.
Embodiment B7. The method of any one of Embodiments A1-B6, wherein the method further comprises:
comparing content loaded on each RU with what is included in the first set of software packages.
Embodiment B8. The method of any one of Embodiments B 1-B7, wherein the first network node comprises a radio software upgrade job engine (RSUJE) and the second network node comprises a radio software upgrade job controller (RSUJC).
Embodiment Cl. A second network node configured to communicate with a first network node, the first network node being configured for advanced package fetching (APF) of one or more software packages for a software upgrade of one or more radio units (RUs), the second network node being configured to, and/or comprising a radio interface and/or comprising processing circuitry configured to: transmit a first set of software packages to the first network node, the first set of software packages comprising a maximum number of software packages, the first set of software packages being usable by the first network node to, when APF is enabled, inspect the first set of software packages and produce a second set of software packages based on the inspection of the first set of software packages, the second set of software packages comprising a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
Embodiment C2. The second network node of Embodiment C 1 , wherein the filtered list is based on the RUs that are known to the first network node.
Embodiment C3. The second network node of any one of Embodiments Cl and C2, wherein each software package is uniquely identified with a software package number and a software package revision, the package revision being incremented and the software package number staying the same for each software package release.
Embodiment C4. The second network node of any one of Embodiments C 1- C3, wherein the first network node comprises a radio software upgrade job engine (RSUJE) and the second network node comprises a radio software upgrade job controller (RSUJC).
Embodiment DI. A method in a second network node configured to communicate with a first network node, the first network node being configured for advanced package fetching (APF) of one or more software packages for a software upgrade of one or more radio units (RUs), the method comprising: transmitting a first set of software packages to the first network node, the first set of software packages comprising a maximum number of software packages, the first set of software packages being usable by the first network node to, when APF is enabled, inspect
the first set of software packages and produce a second set of software packages based on the inspection of the first set of software packages, the second set of software packages comprising a filtered list of software packages comprising a number of software packages that is fewer than the maximum number of software packages.
Embodiment D2. The method of Embodiment DI, wherein the filtered list is based on the RUs that are known to the first network node.
Embodiment D3. The method of any one of Embodiments DI and D2, wherein each software package is uniquely identified with a software package number and a software package revision, the package revision being incremented and the software package number staying the same for each software package release.
Embodiment D4. The method of any one of Embodiments D1-D3, wherein the first network node comprises a radio software upgrade job engine (RSUJE) and the second network node comprises a radio software upgrade job controller (RSUJC).
As will be appreciated by one of skill in the art, the concepts described herein may be embodied as a method, data processing system, computer program product and/or computer storage media storing an executable computer program. Accordingly, the concepts described herein may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects all generally referred to herein as a “circuit” or “module.” Any process, step, action and/or functionality described herein may be performed by, and/or associated to, a corresponding module, which may be implemented in software and/or firmware and/or hardware. Furthermore, the disclosure may take the form of a computer program product on a tangible computer usable storage medium having computer program code embodied in the medium that can be executed by a computer. Any suitable tangible computer readable medium may be utilized including hard disks, CD-ROMs, electronic storage devices, optical storage devices, or magnetic storage devices.
Some embodiments are described herein with reference to flowchart illustrations and/or block diagrams of methods, systems and computer program products. It will be understood that each block of the flowchart illustrations and/or block diagrams, and combinations of blocks in the flowchart illustrations and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer (to thereby create a special purpose computer), special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor
of the computer or other programmable data processing apparatus, create means for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer readable memory or storage medium that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture including instruction means which implement the function/act specified in the flowchart and/or block diagram block or blocks.
The computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions/acts specified in the flowchart and/or block diagram block or blocks.
It is to be understood that the functions/acts noted in the blocks may occur out of the order noted in the operational illustrations. For example, two blocks shown in succession may in fact be executed substantially concurrently or the blocks may sometimes be executed in the reverse order, depending upon the functionality/acts involved. Although some of the diagrams include arrows on communication paths to show a primary direction of communication, it is to be understood that communication may occur in the opposite direction to the depicted arrows.
Computer program code for carrying out operations of the concepts described herein may be written in an object oriented programming language such as Python, Java® or C++. However, the computer program code for carrying out operations of the disclosure may also be written in conventional procedural programming languages, such as the "C" programming language. The program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer. In the latter scenario, the remote computer may be connected to the user's computer through a local area network (LAN) or a wide area network (WAN), or the connection may be made to an external computer (for example, through the Internet using an Internet Service Provider).
Many different embodiments have been disclosed herein, in connection with the above description and the drawings. It will be understood that it would be unduly repetitious and obfuscating to literally describe and illustrate every combination and subcombination of these embodiments. Accordingly, all embodiments can be combined in any way and/or combination, and the present specification, including the drawings, shall be construed to constitute a complete written description of all combinations and subcombinations of the embodiments described herein, and of the manner and process of making and using them, and shall support claims to any such combination or subcombination.
Abbreviations that may be used in the preceding description include:
APF Advanced Package Fetching
MB Midband k8s Kubemetes
DB Database
RU Radio Unit vRU eLLS Radio Unit or virtualized RU
O-RU O-LLS Radio Unit
SW Software
LMC Load Module Container
RAN Radio Access Network
RSC Radio SW Controller
SWJE Software Job Engine eLLS Ericsson Lower Layer Split
API Application Programming Interface
FTP File Transfer Protocol
SFTP Secure File Transfer Protocol
HW Hardware
PID Product Identifier
It will be appreciated by persons skilled in the art that the embodiments described herein are not limited to what has been particularly shown and described herein above. In addition, unless mention was made above to the contrary, it should be noted that all of the accompanying drawings are not to scale. A variety of modifications and variations are possible in light of the above teachings without departing from the scope of the following claims.
Claims
1. A method in a first network node (16) configured to communicate with a second network node (16) and a third network node (16), the first network node (16) being configured for fetching one or more software packages, the method comprising: obtaining (S140) a first list of software packages from the second network node (16), the first list of software packages comprising first information corresponding to a first set of software packages usable for a software upgrade of a plurality of radio units, RUs (110); determining (S142) a second list of software packages comprising second information corresponding to a second set of software packages usable for the software upgrade of one or more RUs (110) of the plurality of RUs (110) that correspond to the first network node (16), the second list of software packages being determined based on the first list of software packages and third information associated with the one or more RUs (110) of the plurality of RUs (110) that correspond to the first network node (16); and fetching (S144) the second set of software packages from the third network node (16) using the second list of software packages; and causing (S 146) at least one RU (110) of the one or more RUs (110) that correspond to the first network node (16) to be upgraded using the corresponding software package from the fetched second set of software packages.
2. The method of Claim 1, wherein the method includes: filtering the first list to determine the second list and include in the second list only the one or more RUs (110) that correspond to the first network node (16).
3. The method of any one of Claims 1 and 2, wherein the second set of software packages comprises fewer software packages than the first set of software packages.
4. The method of any one of Claims 1-3, wherein the method further includes: determining that an RU (110) that is currently connected to or that has previously connected to the first network node (16) is running a first software package having a first software package version.
5. The method of Claim 4, wherein the method further includes:
determining that the first information of the first list includes information associated with the first software package having a second software package version that is upgraded from the first software package version; and adding to the second list the information associated with the first software package having the second software package version.
6. The method of Claim 4, wherein the method further includes: determining that the first information of the first list includes information associated with the first software package indicating that the first software package version is the latest version; and removing from the second list the information associated with the first software package.
7. The method of any one of Claims 1-6, wherein one or both of: the second set of software packages are fetched from the third network node (16) before the at least one RU (110) of the one or more RUs (110) connect or reconnect to the first network node (16); and the at least one RU (110) of the one or more RUs (110) that correspond to the first network node (16) is upgraded after the at least one RU (110) connects or reconnects to the first network node (16).
8. The method of any one of Claims 1-7, wherein one or more of: each software package is uniquely identified with a software product number and software package version; the software product number uniquely identifies a radio software compatible with a radio product or a family of radio products that includes one or more radio unit hardware numbers and versions; each software package is compatible with one or more RU (110) hardware product numbers and versions; and the method further includes determining whether the at least one RU (110) needs to be upgraded with the software package that is compatible with the corresponding RU hardware product number and version based on a software package number that is currently installed or loaded on the at least one RU (110).
9. The method of any one of Claims 1-8, wherein the first network node (16) comprises a memory configured as a local volume, the method includes storing the fetched second set of software packages in the local volume, and causing the at least one RU (110) to be upgraded includes: selecting one software package that is stored in the local volume and compatible with the at least one RU (110); and loading the selected software package onto the at least one RU (110); and restarting the at least one RU (110).
10. The method of any one of Claims 1-9, wherein one or more of: the first network node (16) comprises radio software upgrade job engine, RSUJE (102); the first network node (16) comprises a distributed unit, DU (106); the DU (106) comprises the RSUJE (102); the DU (106) is a virtualized DU (106); the second network node (16) comprises a radio software upgrade job controller, RSUJC (100); the RSUJC (100) is co-located with the first network node (16) or comprised in a management node that is remote to the first network node (16); and the third network node (16) comprises a file server configured to store one or more software packages.
11. A first network node (16) configured to communicate with a second network node (16) and a third network node (16), the first network node (16) being configured for fetching one or more software packages, the first network node (16) being configured to: obtain a first list of software packages from the second network node (16), the first list of software packages comprising first information corresponding to a first set of software packages usable for a software upgrade of a plurality of radio units, RUs (110); determine a second list of software packages comprising second information corresponding to a second set of software packages usable for the software upgrade of one or more RUs (110) of the plurality of RUs (110) that correspond to the first network node (16), the second list of software packages being determined based on the first list of
software packages and third information associated with the one or more RUs (110) of the plurality of RUs (110) that correspond to the first network node (16); fetch the second set of software packages from the third network node (16) using the second list of software packages; and cause at least one RU (110) of the one or more RUs (110) that correspond to the first network node (16) to be upgraded using the corresponding software package from the fetched second set of software packages.
12. The first network node (16) of Claim 11, wherein the first network node (16) is further configured to: filter the first list to determine the second list and include in the second list only the one or more RUs (110) that correspond to the first network node (16).
13. The first network node (16) of any one of Claims 11 and 12, wherein the second set of software packages comprises fewer software packages than the first set of software packages.
14. The first network node (16) of any one of Claims 11-13, wherein the first network node (16) is further configured to: determine that an RU (110) that is currently connected to or that has previously connected to the first network node (16) is running a first software package having a first software package version.
15. The first network node (16) of Claim 14, wherein the first network node (16) is further configured to: determine that the first information of the first list includes information associated with the first software package having a second software package version that is upgraded from the first software package version; and add to the second list the information associated with the first software package having the second software package version.
16. The first network node (16) of Claim 14, wherein the first network node (16) is further configured to:
determine that the first information of the first list includes information associated with the first software package indicating that the first software package version is the latest version; and remove from the second list the information associated with the first software package.
17. The first network node (16) of any one of Claims 11-16, wherein one or both of: the second set of software packages are fetched from the third network node (16) before the at least one RU (110) of the one or more RUs (110) connect or reconnect to the first network node (16); and the at least one RU (110) of the one or more RUs (110) that correspond to the first network node (16) is upgraded after the at least one RU (110) connects or reconnects to the first network node (16).
18. The first network node (16) of any one of Claims 11-17, wherein one or more of: each software package is uniquely identified with a software product number and software package version; the software product number uniquely identifies a radio software compatible with a radio product or a family of radio products that includes one or more radio unit hardware numbers and versions; each software package is compatible with one or more RU hardware product numbers and versions; and the first network node (16) is further configured to determine whether the at least one RU (110) needs to be upgraded with the software package that is compatible with the corresponding RU hardware product number and version based on a software package number that is currently installed or loaded on the at least one RU (110).
19. The first network node (16) of any one of Claims 11-18, wherein the first network node (16) comprises a memory configured as a local volume, the first network node (16) is further configured to store the fetched second set of software packages in the local volume, and causing the at least one RU (110) to be upgraded includes:
selecting one software package that is stored in the local volume and compatible with the at least one RU (110); and loading the selected software package onto the at least one RU (110); and restarting the at least one RU (110).
20. The first network node (16) of any one of Claims 11-19, wherein one or more of: the first network node (16) comprises radio software upgrade job engine, RSUJE (102); the first network node (16) comprises a distributed unit, DU (106); the DU (106) comprises the RSUJE (102); the DU (106) is a virtualized DU (106); the second network node (16) comprises a radio software upgrade job controller, RSUJC (100); the RSUJC (100) is co-located with the first network node (16) or comprised in a management node that is remote to the first network node (16); and the third network node (16) comprises a file server configured to store one or more software packages.
21. A method in a second network node (16) configured to communicate with a first network node (16), the first network node (16) being configured for fetching one or more software packages, the method comprising: transmitting (S148) a first list of software packages to the first network node (16), the first list of software packages comprising first information corresponding to a first set of software packages usable for a software upgrade of a plurality of radio units, RUs (110), the first list triggering the first network node (16) to fetch a second set of software packages from the third network node (16) using a second list of software packages, the second list comprising second information corresponding to a second set of software packages usable by the first network node (16) to cause the software upgrade of one or more RUs (110) of the plurality of RUs (110) that correspond to the first network node
22. The method of Claim 21, wherein the first list is filtered to determine the second list and include in the second list only the one or more RUs (110) that correspond to the first network node (16).
23. The method of any one of Claims 21 and 22, wherein the second set of software packages comprises fewer software packages than the first set of software packages.
24. The method of any one of Claims 21-23, wherein one or both of: each software package is uniquely identified with a software product number and software package version; and the software product number uniquely identifies a radio software compatible with a radio product or a family of radio products that includes one or more radio unit hardware numbers and versions.
25 The method of any one of Claims 21-24, wherein one or more of: the first network node (16) comprises radio software upgrade job engine, RSUJE (102); the first network node (16) comprises a distributed unit, DU (106); the DU (106) comprises the RSUJE (102); the DU (106) is a virtualized DU (106); the second network node (16) comprises a radio software upgrade job controller, RSUJC (100); and the third network node (16) comprises a file server configured to store one or more software packages.
26. A second network node (16) configured to communicate with a first network node (16), the first network node (16) being configured for fetching one or more software packages, the second network node (16) being configured to: transmit a first list of software packages to the first network node (16), the first list of software packages comprising first information corresponding to a first set of software packages usable for a software upgrade of a plurality of radio units, RUs (110), the first list triggering the first network node (16) to fetch a second set of software packages from the third network node (16) using a second list of software packages, the second list
comprising second information corresponding to a second set of software packages usable by the first network node (16) to cause the software upgrade of one or more RUs (110) of the plurality of RUs (110) that correspond to the first network node (16).
27. The second network node (16) of Claim 26, wherein the first list is filtered to determine the second list and include in the second list only the one or more RUs (110) that correspond to the first network node (16).
28. The second network node (16) of any one of Claims 26 and 27, wherein the second set of software packages comprises fewer software packages than the first set of software packages.
29. The second network node (16) of any one of Claims 26-28, wherein one or both of: each software package is uniquely identified with a software product number and software package version; and the software product number uniquely identifies a radio software compatible with a radio product or a family of radio products that includes one or more radio unit hardware numbers and versions.
30. The second network node (16) of any one of Claims 26-29, wherein one or more of: the first network node (16) comprises radio software upgrade job engine, RSUJE (102); the first network node (16) comprises a distributed unit, DU (106); the DU (106) comprises the RSUJE (102); the DU (106) is a virtualized DU (106); the second network node (16) comprises a radio software upgrade job controller, RSUJC (100); and the third network node (16) comprises a file server configured to store one or more software packages.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US202363492906P | 2023-03-29 | 2023-03-29 | |
| PCT/IB2024/053047 WO2024201379A1 (en) | 2023-03-29 | 2024-03-28 | Package fetching for radio software management |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| EP4689884A1 true EP4689884A1 (en) | 2026-02-11 |
Family
ID=90719263
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| EP24717306.5A Pending EP4689884A1 (en) | 2023-03-29 | 2024-03-28 | Package fetching for radio software management |
Country Status (2)
| Country | Link |
|---|---|
| EP (1) | EP4689884A1 (en) |
| WO (1) | WO2024201379A1 (en) |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US6006034A (en) * | 1996-09-05 | 1999-12-21 | Open Software Associates, Ltd. | Systems and methods for automatic application version upgrading and maintenance |
| US9280338B1 (en) * | 2013-03-11 | 2016-03-08 | Amazon Technologies, Inc. | Dynamic application updates |
-
2024
- 2024-03-28 EP EP24717306.5A patent/EP4689884A1/en active Pending
- 2024-03-28 WO PCT/IB2024/053047 patent/WO2024201379A1/en not_active Ceased
Also Published As
| Publication number | Publication date |
|---|---|
| WO2024201379A1 (en) | 2024-10-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US8214470B2 (en) | Upgrading software in radio base station nodes | |
| KR101093460B1 (en) | Device manufacturing method using embedded wireless technology of device | |
| US20140342721A1 (en) | Managing a network element | |
| US20240241711A1 (en) | Physical radio software management in clouds | |
| EP3523923A1 (en) | Capability exposure for service instantiation | |
| US20220070741A1 (en) | Target Node, User Equipment, Source Node and Methods Performed Thereby for Handling Reconfigurations of the User Equipment During a Conditional Handover | |
| EP4387298A1 (en) | Ue capability updating method and apparatus, and device | |
| US12369049B2 (en) | Controlling network node, and method performed therein | |
| US10827404B2 (en) | Controlling client connectivity during access point upgrades | |
| US12302133B2 (en) | Automatic upgrade planning | |
| US20220027141A1 (en) | Network function upgrade method, system and apparatus | |
| US20160080198A1 (en) | Wireless mesh network firmware upgrade system and method | |
| US11510117B2 (en) | Method for handling of connections of wireless devices to base stations based on altitude indications | |
| EP4689884A1 (en) | Package fetching for radio software management | |
| JP5734449B2 (en) | Femto base station equipment, operation system | |
| WO2023187649A1 (en) | Automatic radio software management | |
| US20240419571A1 (en) | Resource limits specification for container orchestration system | |
| US10349363B2 (en) | Methods and apparatus for automatic configuration of a wireless access point | |
| EP3714636A1 (en) | Connection settings for wireless devices | |
| US20250150331A1 (en) | Methods and Apparatus for Detecting and Automatically Correcting Radio Parameter Settings in Cells of a Communications Network | |
| US20240397353A1 (en) | Router-based troubleshooting in a cloud-computing environment | |
| US20180365000A1 (en) | Reprogramming access points | |
| WO2025099236A1 (en) | Entity and method for orchestrating network functions of a communication network | |
| US20220417088A1 (en) | CONFIGURATION OF AN ACCESS POINT INCLUDING AN INTERNET-OF-THINGS (IoT) RADIO | |
| US11582620B2 (en) | Apparatuses and methods for configuration information retrieval |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: UNKNOWN |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE INTERNATIONAL PUBLICATION HAS BEEN MADE |
|
| PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
| STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: REQUEST FOR EXAMINATION WAS MADE |
|
| 17P | Request for examination filed |
Effective date: 20250925 |
|
| AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC ME MK MT NL NO PL PT RO RS SE SI SK SM TR |