Systems and methods for managing software deployment in a wireless communication network
A system using machine learning to analyze real-time data in 5G networks addresses the lack of robustness in CI/CD frameworks by ensuring software is deployed on healthy hosts and optimizing resources, enhancing deployment reliability and efficiency.
Patent Information
- Application Number
- PCT/KR2024/018419
- Authority / Receiving Office
- WO · WO
- Patent Type
- Applications
- Current Assignee / Owner
- Priority Date
- 2024-01-17
- Filing Date
- 2024-11-20
- Publication Date
- 2025-07-24
AI Technical Summary
Existing Continuous Integration and Continuous Deployment (CI/CD) frameworks in 5G communication networks lack the ability to examine the production environment for robustness before deploying software, leading to potential failures due to hardware and software-related service issues.
Implement a system utilizing a collector unit, analyser unit, and scheduler unit that employs machine learning models to analyze real-time hardware, traffic, and service data, determining patterns to inform software deployment decisions, ensuring deployment is made on healthy hosts and optimizing resource allocation based on traffic patterns.
This approach enhances software deployment reliability by identifying degrading hardware and predicting traffic demands, reducing deployment failures and optimizing resource usage, thereby ensuring stable and efficient software deployment in wireless communication networks.
Smart Images

Figure KR2024018419_24072025_PF_FP_ABST
Abstract
Description
SYSTEMS AND METHODS FOR MANAGING SOFTWARE DEPLOYMENT IN A WIRELESS COMMUNICATION NETWORK
[0001] The disclosure relates to the field of wireless communication networks, and more particularly to systems and methods for managing software deployment in wireless communication networks.
[0002] In a software deployment environment, a Continuous Integration (CI) part of a deployment pipeline is responsible for pulling the latest code commit from the repository, building and compiling the latest code, running test cases to check the code's validity, and then preparing the package to be deployed into a Production Environment.
[0003] A continuous deployment (CD) part of the deployment pipeline is responsible for deployment of the package into the production environment for software installation and upgrade without downtime. The software deployment is typically done without any insight of the production environment, wherein insight of the production environment refers to the status of hardware and software related services in the production environment. Deploying the software without any insight of the production environment can lead to failure, due to risk associated with failure of hardware and software related services.
[0004] With the 5thgeneration (5G) communication, the telecom network features Continuous Integration and Continuous Deployment (CI / CD) as a vital step for 5G core deployment journey. The existing CI / CD framework offers agility, but does not examine the production environment for robustness before deploying any new services. This can lead to failures in the environment, in the new services (being deployed) and / or the existing services.
[0005] Hence, there is a need in the art for solutions which will overcome the above-mentioned drawback(s), among others.
[0006] Aspects of the disclosure are to address at least the above-mentioned problems and / or disadvantages and to provide at least the advantages described below. The principal object of embodiments herein is to disclose systems and methods for managing the deployment of software in a wireless communication network.
[0007] Another embodiment herein is to disclose systems and methods for examining a production environment for issues in deploying software in the wireless communication network.
[0008] Another object of embodiments herein is to disclose systems and methods for collecting real time data comprising at least one of a hardware data, a traffic data and a service data related to one or more devices and applications in the wireless communication network, and determining patterns in the real time data by analysing the hardware data, the traffic data and the service data related to one or more devices and applications through a machine learning model.
[0009] Another object of embodiments herein is to disclose systems and methods for providing a hardware functioning information of the devices, a traffic data of the application, and a service functioning information of the devices, based on the determined pattern.
[0010] Another object of embodiments herein is to disclose systems and methods for performing software deployment on the devices by referring to one of the hardware functioning information of the devices, the traffic data of the application, and the service functioning information of the devices.
[0011] Another object of embodiments herein is to disclose systems and methods for generating the machine learning model based on one or more of a raw data from one of a master data centre and an orchestrator.
[0012] Another object of embodiments herein is to disclose systems and methods for pre-processing and segregating the raw data to obtain clean data, based on at least one attribute of the hardware data, the traffic data and the service data related to one or more devices and applications.
[0013] Another object of embodiments herein is to disclose systems and methods for training the machine learning model with the clean data.
[0014] Another object of embodiments herein is to disclose systems and methods for updating the master data centre and the orchestrator with the real time data.
[0015] Another object of embodiments herein is to disclose systems and methods for dynamically improving the prediction of the one of the hardware data, traffic data and service functioning information of the devices by learning continuously from the real time data.
[0016] Accordingly, the embodiments herein provide a method for managing software deployment in a wireless communication network, comprising receiving, by a collector unit through a network, a real time data comprising at least one of a hardware data, a traffic data and a service data related to one or more devices and applications. The method further comprises feeding, the real time data by the network through the collector unit to a machine learning model in an analyser unit. The method further comprises determining, by the analyser unit through the machine learning model, one or more patterns in the real time data using the datasets. The method further comprises providing, by the analyser unit, an output from the machine learning model to a scheduler unit. The output comprises one of a hardware functioning information of the devices, a traffic data of the application, and a service functioning information of the devices, and is based on the determined pattern. The method furthermore comprises performing, by the scheduler unit through the network, software deployment on the devices by referring to one of the hardware functioning information of the devices, the traffic data of the application, the service functioning information of the devices.
[0017] Accordingly, the embodiments herein provide a system comprising a processor executing a machine learning model, and a network. The system is configured to receive, by a collector unit, through a network, a real time data comprising at least one of a hardware data, a traffic data and a service data related to one or more devices and applications. The system is further configured to feed, the real time data by the network through the collector unit to the machine learning model in an analyser unit. The system further determines, by the analyser unit through the machine learning model, one or more patterns in the real time data using the datasets. The system further provides, by the analyser unit, an output from the machine learning model to a scheduler unit. The output comprises one of a hardware functioning information of the devices, a traffic data of the application and a service functioning information of the devices, and is based on the determined pattern. The system further performs, by the scheduler unit through the network, software deployment on the devices by referring to one the hardware functioning information of the devices, the traffic data of the application, the service functioning information of the devices.
[0018] These and other aspects of the embodiments herein will be better appreciated and understood when considered in conjunction with the following description and the accompanying drawings. It should be understood, however, that the following descriptions, while indicating at least one embodiment and numerous specific details thereof, are given by way of illustration and not of limitation. Many changes and modifications may be made within the scope of the embodiments herein without departing from the spirit thereof, and the embodiments herein include all such modifications.
[0019] Embodiments herein are illustrated in the accompanying drawings, throughout which like reference letters indicate corresponding parts in the various figures. The embodiments herein will be better understood from the following description with reference to the following illustrated drawings. Embodiments herein are illustrated by way of examples in the accompanying drawings, and in which:
[0020] FIG. 1 is an example block diagram of continuous integration continuous deployment (CI / CD) pipeline for software deployment;
[0021] FIG. 2 is a block diagram of a Continuous Integration and Continuous Deployment (CI / CD) pipeline with a system for managing software deployment in a wireless communication network, according to the disclosure;
[0022] FIG. 3A is a block diagram of the system for managing software deployment in a wireless communication network, according to the disclosure;
[0023] FIG. 3B is a block diagram of the collector unit, for managing software deployment in a wireless communication network, according to the disclosure;
[0024] FIG. 4A is a block diagram of the analyser unit, for managing software deployment in a wireless communication network, according to the disclosure;
[0025] FIG. 4B is a block diagram for the generation and training of the machine learning model in the analyser unit, for managing software deployment in a wireless communication network, according to the disclosure;
[0026] FIG. 5 is a block diagram of the scheduler unit with the working of the scheduler unit, for managing software deployment in a wireless communication network, according to the disclosure;
[0027] FIG. 6A is a block diagram of an example scenario of deploying the software on alternative healthy host after analysis of the hardware data, according to the disclosure;
[0028] FIG. 6B is an example scenario of a failure in the system hardware after analysis of the hardware data, according to the disclosure;
[0029] FIG. 7 is an example block diagram for the analysis of the traffic data for managing software deployment in a wireless communication environment, according to the disclosure; and
[0030] FIG. 8 is an example block diagram for the analysis of the traffic data for managing software deployment in a wireless communication environment, according to the disclosure.
[0031] FIG. 9 is a flowchart showing a method for managing software deployment in a wireless communication environment, according to the disclosure.
[0032] Throughout the drawings, it should be noted that like reference numbers are used to depict the same or similar elements, features, and structures.
[0033] The embodiments herein and the various features and advantageous details thereof are explained more fully with reference to the non-limiting embodiments that are illustrated in the accompanying drawings and detailed in the following description. Descriptions of well-known components and processing techniques are omitted so as to not unnecessarily obscure the embodiments herein. The examples used herein are intended merely to facilitate an understanding of ways in which the embodiments herein may be practiced and to further enable those of skill in the art to practice the embodiments herein. Accordingly, the examples should not be construed as limiting the scope of the embodiments herein.
[0034] For the purposes of interpreting this specification, the definitions (as defined herein) will apply and whenever appropriate the terms used in singular will also include the plural and vice versa. It is to be understood that the terminology used herein is for the purposes of describing particular embodiments only and is not intended to be limiting. The terms "comprising", "having" and "including" are to be construed as open-ended terms unless otherwise noted.
[0035] The words / phrases "exemplary", "example", "illustration", "in an instance", "and the like", "and so on", "etc.", "etcetera", "e.g.,", "i.e.," are merely used herein to mean "serving as an example, instance, or illustration." Any embodiment or implementation of the subject matter described herein using the words / phrases "exemplary", "example", "illustration", "in an instance", "and the like", "and so on", "etc.", "etcetera", "e.g.,", "i.e.," is not necessarily to be construed as preferred or advantageous over other embodiments.
[0036] Embodiments herein may be described and illustrated in terms of blocks which carry out a described function or functions. These blocks, which may be referred to herein as managers, units, modules, hardware components or the like, are physically implemented by analog and / or digital circuits such as logic gates, integrated circuits, microprocessors, microcontrollers, memory circuits, passive electronic components, active electronic components, optical components, hardwired circuits and the like, and may optionally be driven by a firmware. The circuits may, for example, be embodied in one or more semiconductor chips, or on substrate supports such as printed circuit boards and the like. The circuits constituting a block may be implemented by dedicated hardware, or by a processor (e.g., one or more programmed microprocessors and associated circuitry), or by a combination of dedicated hardware to perform some functions of the block and a processor to perform other functions of the block. Each block of the embodiments may be physically separated into two or more interacting and discrete blocks without departing from the scope of the disclosure. Likewise, the blocks of the embodiments may be physically combined into more complex blocks without departing from the scope of the disclosure.
[0037] It should be noted that elements in the drawings are illustrated for the purposes of this description and ease of understanding and may not have necessarily been drawn to scale. For example, the flowcharts / sequence diagrams illustrate the method in terms of the steps required for understanding of aspects of the embodiments as disclosed herein. Furthermore, in terms of the construction of the device, one or more components of the device may have been represented in the drawings by conventional symbols, and the drawings may show only those specific details that are pertinent to understanding the embodiments so as not to obscure the drawings with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein. Furthermore, in terms of the system, one or more components / modules which comprise the system may have been represented in the drawings by conventional symbols, and the drawings may show only those specific details that are pertinent to understanding the embodiments so as not to obscure the drawings with details that will be readily apparent to those of ordinary skill in the art having the benefit of the description herein.
[0038] The accompanying drawings are used to help easily understand various technical features and it should be understood that the embodiments presented herein are not limited by the accompanying drawings. As such, the disclosure should be construed to extend to any modifications, equivalents, and substitutes in addition to those which are particularly set out in the accompanying drawings and the corresponding description. Usage of words such as first, second, third etc., to describe components / elements / steps is for the purposes of this description and should not be construed as sequential ordering / placement / occurrence unless specified otherwise.
[0039] FIG. 1 is an example block diagram of continuous integration continuous deployment (CI / CD) pipeline (102) for software deployment.
[0040] In the continuous integration pipeline, a code is checked at block 104 and then the checked code is given to the build code block 106 for preparing a build of the code to be deployed in the production environment. At block 108, the test cases are automated using test automation framework like robot framework, selenium and alike. to test the software automatically. At block 110, a deployment package is generated for a software deployment. Typically, the application generates the deployment package of using docker build to create a docker image from the source code. At block 112, the deployment trigger may trigger the deployment package on the orchestrator for example, Kubernetes. The deployment package is managed by a package manager for example HELM (114). The HELM (114) is a package manager for Kubernetes applications. The HELM (114) manages Kubernetes resource packages through Charts. Charts are basically the packaging format for the HELM (114).
[0041] The HELM (114) is a package manager for Kubernetes applications. They form a powerful tool for working with Kubernetes resources. The HELM (114) manages Kubernetes resource packages through Charts. Charts are basically the packaging format for The HELM (114). A chart is a set of information necessary to create a Kubernetes application, given a Kubernetes cluster. Basically, the chart collects files organized in a specific directory structure. The configuration information related to the chart is managed in the configuration. Finally, a running instance of the chart with a specific configuration is called a release. Any network application is modelled as a (examples include Software Define Networking (SDN) Controller, 5G Network Function) pod or group of pods(e.g., 5G core pods, SDN pods) necessary to run an application, and Kubernetes automatically manages them. Kubernetes decides which nodes or servers within the cluster should host each pod, and it automatically restarts pods if they fail.
[0042] The embodiments herein achieve systems and methods for managing deployment of software in a wireless communication environment by analysing real time data of hardware and software related services. Referring now to the drawings, and more particularly to FIGS. 2 through 9, where similar reference characters denote corresponding features consistently throughout the figures, there are shown embodiments.
[0043] FIG. 2 is a block diagram of a Continuous Integration and Continuous Deployment (CI / CD) pipeline (102) with a system for managing software deployment in a wireless communication network, according to the disclosure. The system (200) is a part of a production environment analyser (220). The system (200) comprises a processor (230) (or at least one processor (230). The system (200) comprises a collector unit (222), an analyser unit (224), and a scheduler unit (226). For example, the collector unit (222) include processing circuitry. For example, the analyser unit (224) include processing circuitry. For example, the scheduler unit (226) include processing circuitry. In the continuous integration pipeline (e.g., CI part), a code is checked at block 204 and then the checked code is given to the build code block 206 for preparing a build of the code to be deployed in the production environment. At block 208, the test cases are automated using test automation framework like robot framework, selenium and alike, to test the software automatically. At block 210, a deployment package is generated for a software deployment. Typically, the application generates the deployment package of using docker build to create a docker image from the source code. At block 212, the deployment trigger may trigger the deployment package on the orchestrator for example, Kubernetes. The deployment package is managed by a package manager for example HELM (214). The HELM (214) is a package manager for Kubernetes applications. HELM (214) manages Kubernetes resource packages through Charts. Charts are basically the packaging format for HELM (214).
[0044] The performance environment analyser (220) analyses the hardware data, traffic data and the service data of the previous cycle of deployment. The collector unit (222) receives real time data (or data) from the production environment (i.e., the wireless communication network). For example, the collector unit (222) receives the real time data from the network (235). The real time data comprises at least one of but is not limited to a hardware data, a traffic data and a service data related to one or more devices and one or more applications. The analyser unit (224) receives the real time data from the collector unit (222). The analyser unit (224) analyses the real time data and determines patterns in the real time data through a machine learning model using the real time data. For example, the machine learning model may be referred as a trained model in the analyser unit (224). The machine learning model in the analyser unit (224) provides an output to the scheduler unit (226). The output includes, but is not limited to, one of a hardware functioning information of the one or more devices, a traffic data of the one or more applications, and a service functioning information of the one or more devices, and is based on the determined pattern. The scheduler unit (226) through the network (235), deploys the software on the wireless communication network by referring to one of the hardware functioning information of the one or more devices, the traffic data of the one or more applications, and the service functioning information of the one or more devices.
[0045] HELM (214) is a package manager for Kubernetes applications. They form a powerful tool for working with Kubernetes resources. HELM (214) manages Kubernetes resource packages through Charts. Charts are basically the packaging format for HELM (214). A chart is a set of information necessary to create a Kubernetes application, given a Kubernetes cluster. Basically, the chart collects files organized in a specific directory structure. The configuration information related to the chart is managed in the configuration. Finally, a running instance of the chart with a specific configuration is called a release. Any network application is modelled as a (examples include Software Define Networking (SDN) Controller, 5G Network Function) pod or group of pods (e.g., SDN pods (216), 5G CORE pods (218)) necessary to run an application, and Kubernetes automatically manages them. Kubernetes decides which nodes or servers within the cluster should host each pod, and it automatically restarts pods if they fail.
[0046] FIG. 3A is a block diagram of the system (300) for managing software deployment in a wireless communication network, according to the disclosure. The system (300) comprises the processor (230), the collector unit (222), the analyser unit (224), and the scheduler unit (226). The collector unit (222) receives real time data (or data) from the production environment (302) (i.e., the wireless communication network). The performance environment analyser (220) analyses the hardware data, traffic data and the service data of the previous cycle of deployment. At block 312, the deployment trigger may trigger the deployment package on the orchestrator for example, Kubernetes.
[0047] FIG. 3B is a block diagram of the collector unit (222), for managing software deployment in a wireless communication network, according to the disclosure. The collector unit (222) collects the real time data from a master data center (304) and an orchestrator (306). The collector unit (222) can collect the real time data from the production environment in order to get the status of the production environment for analysis. The collector unit (222) can collect hardware data related to a server, a router and a storage space for the working status of the related hardware from the master data center (304) and collects traffic and service information of the related services from the orchestrator (306) using Application programming interfaces (APIs) in the production environment applications.
[0048] The master data center (304) comprises the hardware data of hardware devices and systems used in the software deployment process. The hardware data comprises data related to server rooms, floors, central processing unit, hard disk drive. The hardware data may also include but may not be limited to data of a hard drive and a server. The data of the hard drive and the server comprises a model name, a rack number to which the server and the hard drive is mounted on, transfer rate, temperature, power consumption, disk usage, life span, rotational speed, server monitoring, key dataset fields, frequency of the Central Processing Unit (CPU), chip core used, chip temperature, I / O read time, I / O write time, fan speed, power consumption, transistors, and so on.
[0049] In an embodiment herein, the processor (230) (or the collector unit (222)) receives the traffic data and the service data from the orchestrator (306). The traffic data may include, but is not limited to, timestamp, PDU Session ID, and authorised QoS rules. The timestamp is the time at which a Protocol Description Unit (PDU) session is created. The PDU session ID is the unique identity number to uniquely identify a session. The authorised QoS rules comprise a 5G QoS Identifier (5QI) comprising an identifier for QoS characteristics that influence scheduling weights, admission thresholds, queue management thresholds, link layer protocol configuration, etc; an allocation and retention priority (ARP) to provide information about priority level, pre-emption capability (can pre-empt resources assigned to other QoS flows) and the pre-emption vulnerability (can be pre-empted by other QoS flows), a guaranteed flow bit rate (GFBR) that is measured over the averaging time window and which is recommended to be the lowest bitrate, at which the service will survive; a maximum flow bit rate (MFBR) that limits bitrate to the highest expected by this QoS flow; and an aggregate maximum bit rate (AMBR), wherein a Session-AMBR is per the AMBR per PDU session across all its QoS flows and a UE-AMBR is for each User Equipment (UE).
[0050] The hardware data, the traffic data and the service data collected from the master data center (304) and the orchestrator (306) is then given to the analyser unit (224) to analyse the real time data.
[0051] The embodiments disclosed herein can be implemented through at least one software program running on at least one hardware device and performing network management functions to control the network elements. The network elements shown in FIG. 3B include blocks which can be at least one of a hardware device, or a combination of hardware device and software module.
[0052] FIG. 4A is a block diagram of the analyser unit (224), for managing software deployment in a wireless communication network, according to the disclosure. The analyser unit (224) comprises a machine learning model (402) (or a trained model (402)). The machine learning model (402) is generated using the historical data of the hardware and the service information from the master data center (304) and the orchestrator (306). The real time data is sent to the analyser unit (224), wherein the analyser unit (224) can analyse the real time data using suitable Artificial intelligence and machine learning (AI / ML) algorithms for different layers. For example, hardware status data is analysed using classification technique and traffic / service information is analysed using time series algorithm.
[0053] FIG. 4B is a block diagram for the generation and training of the machine learning model (402) in the analyser unit (224), for managing software deployment in a wireless communication network, according to the disclosure. In order to generate the machine learning model (402), the collector unit (222) receives one or more of a raw data through the network (235), from one of the master data center (304) and the orchestrator (306). The raw data from the master data center (304) comprises historical data over a period of time comprising the hardware data. The hardware data comprises data related to at least one of a server, a router, and a storage of one or more devices. The raw data from the orchestrator (306) comprises the historical data over the period of time comprising the traffic data and the service data. The traffic data and the service data are collected from one or more software processes. The traffic data and service data are stored in pods in a host of the orchestrator (306). The traffic data and the service data are collected using application programming interfaces (APIs) in the production environment applications.
[0054] In an embodiment herein, the raw data is pre-processed by the processor (230), to obtain clean data, based on at least one attribute of the hardware data, the traffic data and the service data related to one or more devices and applications. The attributes of the hardware data may include, but is not limited to, data related to at least one of the server, the router, and the storage of one or more devices. The attributes of the hardware data comprises a model name, a rack number to which the server and the hard drive is mounted on, data transfer rate, temperature, power consumption, disk usage, life span, rotational speed, server monitoring, key dataset fields, frequency of CPU, chip core used, chip temperature, I / O read time, I / O write time, fan speed, power consumption, transistors, and so on.
[0055] In an embodiment herein, attributes of the traffic data and the service data includes, but is not limited to, timestamp, PDU Session ID, and authorised QoS rules. The timestamp comprises the time at which the PDU session has been created. The PDU session ID is a unique identity number, which can be used to uniquely identify a session. The authorised QoS rules comprises a 5G QoS Identifier (5QI). The 5QI further comprises an identifier for QoS characteristics that influence scheduling weights, admission thresholds, queue management thresholds, link layer protocol configuration, etc). The 5QI comprises an allocation and retention priority (ARP) to provide information about priority level. the authorised QoS rules further comprises a pre-emption capability to pre-empt resources assigned to other QoS flows and the pre-emption vulnerability that may be pre-empted by other QoS flows. The QoS rules further comprises a guaranteed flow bit rate (GFBR) that is measured over the averaging time window and which is recommended to be the lowest bit rate at which the service will survive. The authorised QoS rules also comprises a maximum flow bit rate (MFBR) that limits bitrate to the highest expected by this QoS flow), and an aggregate maximum bit rate (AMBR). The AMBR comprises a session-AMBR is per the AMBR per PDU session across all its QoS flows and a UE-AMBR is for each User Equipment (UE)).
[0056] In an embodiment herein, during the pre-processing of the raw data, the processor (230) identifies the attributes of the received raw data. Further, the processor (230) segregates the raw data based on the attributes to obtain clean data. Further, the processor (230) groups the clean data into a plurality of datasets based on the at least one attribute of at least one of a hardware company related data, the traffic data and the service data. For example, the processor (230) clusters the clean data using K-Means clustering into a plurality of datasets according to the attributes of the hardware data, the traffic data and the service data.
[0057] The processor (230) groups the clean data according to the attributes into one group by artificial intelligence and machine learning techniques, for example clustering algorithms. The processor (230) may assign scores to each of the cluster according to the similarity in the pattern of the data values.
[0058] In an embodiment herein, the machine learning model (402) in the analyser unit (224) is trained with the plurality of datasets to discover similar patterns in the real time data according to the behaviour of the historical data fed during the training of the machine learning model (402). For example, a classification algorithm is used by the machine learning model (402) in the analyser unit (224) to analyse the plurality of datasets to search patterns in the fed hardware data to predict a functioning hardware and a soon to fail hardware. For example, the classification algorithms can be one of a support vector machine (SVM) algorithm and a random forest (RF) classification algorithm.
[0059] In an embodiment herein, the classification algorithm is used for training the machine learning model (402) to identify pattern(s) in the hardware data, which can then be used to predict the functioning hardware and the soon to fail hardware. Classification algorithms can recognize, understand, and group the objects and ideas into pre-set categories (i.e., sub-populations). With the help of the pre-set categories of training datasets, the machine learning model (402) can leverage a wide range of algorithms to classify future datasets into their respective categories. Classification algorithms used herein can cluster utilize the input raw data into groups of clean data according to the attributes of the data. The clusters can then be used as training data for the purpose of predicting the likelihood or probability that the real time data that may fall into one of the predetermined categories. The classification algorithms can be applied to the training data to find the same pattern for example, similar number sequences, values, and the like and predict the behaviour of the real time data in the future data sets.
[0060] In an embodiment herein, a time series algorithm is used for training the machine learning model (402) to identify pattern(s) in the traffic data and the service data, which can then be used to predict the traffic of the data at a given point of time and to predict a behaviour of the service. Time series algorithm is a machine learning technique that forecasts target value based solely on a known history of target values. It predicts the trend in the data according to the values aggregated over a period of time.
[0061] In an embodiment herein, the trained machine learning model (402) is transferred to other data centers, by the processor (230). A pre-trained classifier of the machine learning model (402) is transferred to one or more data centers. The pre-trained classifier can be used to classify the hardware in the data centers. Transferring the pre-trained classifier to the one or more data centers eliminates the need of training different machine learning models in each data center, which can save time required for training the machine learning model. A centralized machine learning model (402) can analyse the real time data coming into the system. Pre-training of the machine learning model (402) saves the time required for training the machine learning model (402) significantly as only one model can be used across all data centers. The pre-trained machine learning model (402) decreases service failure rate as well as the polling frequency of data from the hardware.
[0062] In an embodiment herein, whenever new real time data becomes available, the processor (230) updates the master data center (304) and the orchestrator (306) with the real time data. The machine learning model (402) takes continuous feedback from the new real time data to learn continuously. The machine learning model (402) can then dynamically improve the prediction of the one of the hardware functioning, traffic data of the application and service functioning information of the devices, based on the continuous learning.
[0063] In an embodiment herein, the analyser unit (224) is responsible for analysing and determining the status of the production environment in order to ensure stable and optimum deployment. The analyser unit (224) analyses the real time data and determines one or more patterns in the data to predict a performance of a hardware functioning information of the devices, a traffic data of the application, and a service functioning information of the devices, and is based on the determined pattern.
[0064] In an embodiment herein, the analyser unit (224) determines the status of the hardware data, traffic data and the service data by discovering one or more patterns and / or trends in the traffic data and the service data over a period of time. The pre-trained machine learning model (402) discovers the pattern and the trend in the real time data by analysing the values of the real time data, keeping in consideration the trends in the historical data having similar values. Based on the analysis of the real time data, the analyser unit (224) predicts a hardware functioning information of the devices, a traffic data of the application, and a service functioning information of the devices, and is based on the determined pattern.
[0065] The analyser unit (224) uses the machine learning model (402) in order to determine the status of each of the layer (i.e., hardware, traffic and service layers) as the real time data is different from each layer and each layer may require a different kind of analysis. In an example, the hardware pattern is analysed using a classification algorithm (such as, but is not limited to, SVM or RF) in order to determine which host is undergoing hardware degradation. In another example, the traffic data and service data are analysed using a time series algorithm to predict the time when redundant pods are to be deployed for backup beforehand. In another example, the service information is analysed using a time series algorithm to predict the performance of the newly deployed service patch for a certain amount of time in order to determine whether its performance is similar to the predicted behaviour, which infers whether the service upgrade is proper or not.
[0066] Further, at least one of the pluralities of modules / controller / units may be implemented through an Artificial intelligence (AI) and a machine learning model using a data driven controller (not shown). The data driven controller (not shown) can be a machine learning (ML) model-based controller and Machine learning model (402) based controller. A function associated with the Machine learning model (402) may be performed through the non-volatile memory, the volatile memory, and the processor (230). The processor (230) may include one or a plurality of processors. At this time, one or a plurality of processors may be a general-purpose processor, such as a central processing unit (CPU), an application processor (AP), or the like, a graphics-only processing unit such as a graphics processing unit (GPU), a visual processing unit (VPU), and / or an AI-dedicated processor such as a neural processing unit (NPU).
[0067] The one or a plurality of processors control the processing of the input data in accordance with a predefined operating rule or machine learning model (402) stored in the non-volatile memory and the volatile memory. The predefined operating rule or artificial intelligence model is provided through training or learning.
[0068] Here, being provided through learning means that a predefined operating rule or Machine learning model (402) of a desired characteristic is made by applying a learning algorithm to a plurality of learning data. The learning may be performed in a device itself in which AI according to an embodiment is performed, and / o may be implemented through a separate server / system.
[0069] The Machine learning model (402) may comprise of a plurality of neural network layers. Each layer has a plurality of weight values, and performs a layer operation through calculation of a previous layer and an operation of a plurality of weights. Examples of neural networks include, but are not limited to, convolutional neural network (CNN), deep neural network (DNN), recurrent neural network (RNN), restricted Boltzmann Machine (RBM), deep belief network (DBN), bidirectional recurrent deep neural network (BRDNN), generative adversarial networks (GAN), and deep Q-networks.
[0070] The learning algorithm is a method for training a predetermined target device (for example, a wireless network component, and so on) using a plurality of learning data to cause, allow, or control the target device to make a determination or prediction. Examples of learning algorithms include, but are not limited to, supervised learning, unsupervised learning, semi-supervised learning, or reinforcement learning.
[0071] FIG. 5 is a block diagram of the scheduler unit (226), for managing software deployment in a wireless communication network, according to the disclosure. The scheduling unit (226) is responsible for the deployment scheduling of packages based on the analysis of the real time data in the analyser unit (224). For the hardware layer and the application layer, the scheduler unit (226) prepares a deployment plan based on the traffic data and the service data and communicates with the CI / CD pipeline through the system (300) to proceed with the deployment. For example, the deployment plan is generated using a Kubernetes deployment strategy. The Kubernetes deployment strategy is a declarative statement. The Kubernetes deployment strategy defines the application lifecycle and updates how an application should be applied based on the traffic data and the service data. The traffic data and service data are communicated to CI / CD pipeline by the generated deployment plan.
[0072] In an embodiment herein, the analyser unit (224) provides an output from the machine learning model (402) to the scheduler unit (226). The output can be one of a hardware functioning information of the devices, a traffic data of the application, and a service functioning information of the devices. Examples of the devices herein are 5G communication devices such as 5G core device, gNodes, and a User equipment (UE). The hardware devices may include but is not limited to core router, aggregation switches, leaf nodes, and servers. The output can be based on the determined pattern. The scheduler unit (226) performs software deployment on the devices through the CD pipeline though the network (235) by referring to one of the hardware functioning information of the devices, the traffic data of the application, and the service functioning information of the devices.
[0073] In an embodiment herein, the scheduler unit (226) informs the CD pipeline through the processor (230) about the status of the hardware and a host (i.e., whether the host is a healthy host or a degrading host). If a degrading host is predicted, then the scheduler unit (226) instructs the CD pipeline to deploy the package in another healthier host or migrate services to another healthier host.
[0074] In an embodiment herein, for analysed traffic data, the scheduler unit (226) prepares a deployment plan for deployment of redundant pods as per the pattern discovered in the traffic data based on the time series pattern.
[0075] In an embodiment herein, based on the analysed service data, the scheduler unit (226) compares the predicted performance and the actual performance based on the time series pattern, discovered by the machine learning model (402). Further, the scheduler unit (226) informs the CD pipeline about whether a service patch has been successfully deployed or was a failure.
[0076] FIG. 6A is a block diagram of an example scenario of deploying the software on alternative healthy host after analysis of the hardware data, according to the disclosure. In an example scenario, at a given period of time "t", a production environment has three hosts UPF on host 1, AMF on host 2, and SMF on host 3. The collector unit (222) collects the hardware data and from the production environment and sends the collected data to the analyser unit (224). The analyser unit (224) comprises of a machine learning model (402) (that has been pre-trained with a classification algorithm) and then the pre-trained classifier is sent to multiple data centers. The analyser unit (224) analyses the hardware data using the classification algorithm. The analyser unit (224) analyses the real time data by applying classification algorithm and differentiates between functioning healthy hardware from degrading (soon-to-fail) hardware. In this scenario, the host performance monitoring covers hardware, virtualization layer, and operating system level performance. The monitored performance indicators are monitoring server(s) (including but is not limited to, server CPU, HDD, Network Card, RAM, server temperature, fan speed, power consumed etc); router / switch monitoring (includes CPU, memory, fan speed, temperature, interface state etc); and storage monitoring (includes CPU, memory, system cache, logical unit number, system IO performance etc).
[0077] On analysing the data, it may be found that the host 2 is degrading based on the pattern found in the hardware data. The analyser unit (224) informs the scheduler unit (226) about the degrading hardware. Subsequently, the scheduler unit (226) halts any deployment in host 2 and excludes the host 2 from any future deployments. The services from the degraded host 2 is migrated to a healthier host (for example, AMF on host 3). The scheduler unit (226) then prepares the deployment, which can be performed in a different healthier host.
[0078] FIG. 6B is an example scenario of a failure in the system hardware after analysis of the hardware data, according to the disclosure. The hardware may include different layers at which a failure can occur. The system hardware includes, but is not limited to, a core router (602), at least one aggregation switch (604), at least one leaf access switch (606) and a server (608). The hardware of the layers may have values that point to the degrading hardware. The value of each layer can be analysed to determine the health of every layer of the hardware server. If one of the aggregation switches is degrading, the scheduler unit (226) shall make the deployment using an alternate aggregation switch that is determined to be healthy.
[0079] FIG. 7 is an example block diagram for the analysis of the traffic data for managing software deployment in a wireless communication environment, according to the disclosure. A 5G user plane function (UPF) may be configured to a mirror state and have one active UPF and one standby UPF for 1:1 redundancy in deployment of pods for managing the traffic data in a production environment. The other way to manage traffic data is through N:M redundancy (N<M), where a group of UPFs can use one or two standby UPFs to recover the sessions in the production environment. By using the system (300), the traffic data is analysed and the deployment of redundant pods is determined by the analysis of the traffic data. The 1:1 redundancy is considered for UPFs that are serving delay-sensitive applications, like voice, and Ultra-Reliable Low Latency Communications (URLLC). As the hardware requirement for 1:1 redundancy is high, network planning and deployment of a good balance of 1:1 and N:M redundancy deployment is required. A deployment technique is determined per traffic type (i.e., 1:1 deployment and M: N deployment), and optimize the redundant pods dynamically in accordance with traffic pattern for M: N deployment technique. The collector unit (222) collects the traffic data for the pods in a host from the orchestrator. The collected traffic data is then sent to the analyser unit (224) for performing traffic pattern analysis. The analyser unit (224) analyses the traffic data using the time series algorithm, and the analyser unit (224) is able to predict the traffic of the certain at a point in time, based on the analysed traffic data.
[0080] In an embodiment herein, the machine learning model (402) applies forecasting techniques in order to adjust the allocated application flow resources, so as to optimize the network utilization while meeting application flow Service level agreements (SLAs). The machine learning model (402) utilizes flow forecasting (702) for analysis of the traffic data and predicts the future traffic data based on the time series analysis of the real time data received by the system. The machine learning model (402) utilizes deployment forecasting (704) to analyse the traffic data pattern and determines the type of deployment for various traffic protection. Deployment forecasting (704) may refer to forecasting the type of deployment (either 1:1 deployment or M: N type of deployment) based on the trends in traffic data, and a redundant node scheduler (706). The redundant node scheduler (706) schedules the deployment as per the production environment flow requirement. When the traffic data is low and decreases, only a required lower number of redundant pods are deployed in the production environment. When the traffic data in the production environment increases, the number of redundant pods deployed are increased. The analysis of the traffic data ensures that the production deployment is deploying a number of redundant pods optimally, such that the system is effectively used as per traffic pattern.
[0081] In an embodiment herein, a required number of redundant pods to be deployed are determined. A container runtime metrics is monitored to calculate the required number of redundant pods. An IP metrics table is used to monitor the UPF sessions and determine the number of standby pods. The runtime metrics are determined based on volume of traffic at the time and pods are created in accordance with the traffic capability of each pod. For example, if pod can handle 500 sessions, and if the total number of sessions are around 950, then ideally 2 pods are created.
[0082] FIG. 8 is an example block diagram (800) for the analysis of the traffic data for managing software deployment in a wireless communication environment, according to the disclosure. The performance of the service application in the performance environment might degrade over a period of time due to problems in software and service has to be rolled back to a previous stable version. The collector unit (222) gets the service data from the orchestrator (306). The collector unit (222) sends the service data to the analyser unit (224). The analyser unit (224) uses the service data to predict the performance status of the new service patch over a certain period of time. The analyser unit (224) monitors the actual performance of the new patch over that period and compares the trend for the service data. If the actual performance status is in a downward trend compared to the predicted performance status by the analyser unit (224), the analyser notifies the scheduler unit (226). The scheduler unit (226) gets informed about service degradation and then initiates an action for the recent service which was upgraded. The action taken may be a rollback for the recent service which was upgraded.
[0083] In an embodiment herein, service pre-check and post-check performance status is performed, wherein every service in the production environment undergoes patch upgrade in a certain time interval. On completing the service upgrade, the system (300) performs a health check for every service in the production environment. The pre-check and post-check performance status herein relates to a check to be performed if the service upgrade is successful. The system (300) can determine the pre-check and post-check performance status using a plurality of parameters whose values should be similar pre and post upgrade.
[0084] In an embodiment herein, whenever a new service patch is released and deployed into the production environment (as per the schedule to proceed with the service upgrade), the system (300) can perform the health check. After the new service patch upgrade, the system (300) can perform the health check over a period of time. In the case, if the service is not showing similar performance to the analysed trends of the service data, then the system (300) can provide an alert / notification, so that the new service patch can be rolled back (which can be a manual rollback or an automated rollback).
[0085] In an embodiment herein, in order to determine if the service performance will remain similar after the upgrade or not, the real time data related to the service data is collected by the collector unit (222) and the collected service data is then given to the analyser unit (224). The machine learning model (402) uses a time-series algorithm to analyse the service data. The service data of a period of time is analysed to discover pattern(s) and trend(s) in the service data. The behaviour of the service data is compared by the analyser unit (224) to the trends of similar historical data implemented to predict the performance status of the service for a certain period of time based on the requirement.
[0086] In an embodiment herein, at step 802, after the upgrade of the service, the new service patch and the previous patch pre-upgrade and post-upgrade performance data is analysed. At step 804, the machine learning model (402) is trained based on previous performance data of the service and the performance of the new patch of the same service is predicted using the time series algorithm. Examples of the time series algorithm may include, but is not limited to, SARIMA or Holt-Winters algorithms. At step 806, the new service patch and the previous patch pre-upgrade and post-upgrade performance data is compared to the predicted value of the service patch performance. The performance can be compared to a set tolerance value over a set period of time. At step 808, a deviation for different metrics of the service patch is observed and the results of the comparison are taken into a vote aggregator. For example, the metrics of the service match may include, but is not limited to CPU monitoring, memory monitoring, disk utilization, PDU Session monitoring, and PDU traffic rate analysis. If a plurality of results of the comparison show a deviation greater than a set tolerance value over the set period of time, then the analyser unit (224) can determine that the upgrade is improper, and a corrective action is initiated by the system (300). In an embodiment herein, the corrective action may be a rollback of the service patch.
[0087] FIG. 9 is a flowchart showing a method for managing software deployment in a wireless communication environment, according to the disclosure. At step 902, the real time data is received by the collector unit (222). The real time data may include, but is not limited to, the hardware data, the traffic data and the service data related to one or more devices and applications. At step 904, the real time data is fed by the network (235) through the collector unit (222) to a machine learning model (402) in an analyser unit (224). At step 906, the analyser unit (224) analyses the real time data to determine patterns in the real time data using the machine learning model (402). The analyser unit (224) applies one or more classification algorithms and time series algorithms to analyse the data and determine trends and patterns in the real time data. The machine learning model (402) has already been trained using historical data of the hardware data, the traffic data and the service data to discover similar trends and patterns in the real time data. At step 908, the machine learning model (402) generates the output based on the determined patterns and provides the output to the scheduler unit. The output has the hardware information, the traffic information and the service information for the device for the software deployment. At step 910, the scheduler unit performs the software deployment on the devices by referring to one of the hardware functioning information of the devices, the traffic data of the application, and the service functioning information of the devices.
[0088] The various actions in method 900 may be performed in the order presented, in a different order or simultaneously. Further, in some embodiments, some actions listed in FIG. 9 may be omitted.
[0089] According to embodiments, a method for managing software deployment in a wireless communication network, may comprise receiving, by a collector unit (222) through a network (235), a real time data comprising at least one of a hardware data, a traffic data and a service data related to one or more devices and applications. The method may comprise feeding, the real time data by the network (235) through the collector unit (222) to a machine learning model (402) in an analyser unit (224). The method may comprise determining, by the analyser unit (224) through the machine learning model (402), one or more patterns in the real time data using datasets. The method may comprise providing, by the analyser unit (224), an output from the machine learning model (402) to a scheduler unit (226). The output may comprise one of a hardware functioning information of the devices, a traffic data of the application, and a service functioning information of the devices, and is based on the determined pattern. The method may comprise performing, by the scheduler unit (226) through the network (235), software deployment on the devices by referring to one of the hardware functioning information of the devices, the traffic data of the application, the service functioning information of the devices.
[0090] In an embodiment, the method may comprise receiving, by the collector unit (222) through the network (235), one or more of a raw data from one of a master data centre (304) and an orchestrator (306). The raw data from the master data centre (304) may comprise historical data over a period of time comprising the hardware data. The hardware data may comprise data related to at least one of a server, a router, and a storage of one or more devices. The raw data from the orchestrator (306) may comprise the historical data over the period of time comprising the traffic data and the service data. The traffic data and service data may be collected from one or more software processes comprising the pods in a host of the orchestrator using application programming interfaces (APIs) in the production environment applications. The method may comprise pre-processing, by the processor (230), the raw data to obtain clean data, based on at least one attribute of the hardware data, the traffic data and the service data related to one or more devices and applications. The method may comprise identifying, by the processor (230), attributes of the raw data received. The method may comprise segregating, by the processor (230), the raw data based on the attributes to obtain clean data. The method may comprise grouping, by the processor (230), the clean data into a plurality of datasets based on the at least one attribute of at least one of a hardware company related data, the traffic data and the service data. The method may comprise generating, the machine learning model (402). The machine learning model (402) may be trained with the plurality of datasets.
[0091] In an embodiment, the generating a machine learning model (402) may comprise transferring, by the processor (230), the pre-trained classifier to one or more data centres. The pre-trained classifier may be enabled to classify the hardware in the data centres.
[0092] In an embodiment, the hardware data may comprise one of a server data, routing data, and storage data.
[0093] In an embodiment, the server data may comprise data related to one of a first central processing unit (CPU) data, a hard disk drive (HDD) data, a network card data, a random-access memory (RAM) data, a first temperature data, a first fan speed data, and a power consumption data.
[0094] In an embodiment, the router data may comprise the data related to one of a second central processing unit (CPU), a first memory, a second fan speed data of the router, a second temperature data of the router, and an interface state of the router.
[0095] In an embodiment, the storage data may comprise the data related to one of a third central processing unit (CPU), a second memory, a system cache, a logical unit number, a system input-output (IO) performance data.
[0096] In an embodiment, the at least one output may comprise a prediction, by the machine learning model (402), one of a functioning hardware, a soon to fail hardware, an application traffic for deploying redundant pods, and a service state of an application, based on the determined pattern.
[0097] In an embodiment, the method may comprise updating, by the processor (230), the master data centre (304) and the orchestrator with the real time data. The machine learning model may take a continuous feedback from the real time data to learn continuously from the real time data to dynamically improve the prediction of the one of the hardware data, traffic data and service functioning information of the devices.
[0098] In an embodiment, the performing the software deployment on the devices may comprise one of deploying and aborting the software deployment on the devices.
[0099] In an embodiment, the grouping the clean data into a plurality of datasets may comprise assigning, scores, by the processor (230), to the clean data. The scores may be generated by at least one of clustering algorithms. The grouping the clean data into a plurality of datasets may comprise clustering, by the processor (230), the clean data having similar scores in one group by artificial intelligence and machine learning techniques, comprising one of clustering algorithms.
[0100] In an embodiment, the generating the machine learning model (402) may comprise training, a classifier, by the processor (230), using the dataset produced. The classifier may learn from a historical data of the hardware data. The classifier may be enabled to differentiate between the functioning hardware and the soon-to-fail hardware.
[0101] In an embodiment, the determining the at least one pattern may comprise determining, by the analyser unit (224), the pattern in the real time data, by applying one of a classification algorithm to the hardware data and a time series algorithm on the traffic data and the service data. The determining the at least one pattern may comprise classifying, by the analyser unit (224), the hardware data into a functioning hardware and a soon-to-fail hardware based on the discovered pattern. The determining the at least one pattern may comprise discovering, by analyser unit (224), one of a pattern and a trend in the traffic data and the service data over a period of time. The determining the at least one pattern may comprise predicting, by analyser unit (224), one of a time to deploy redundant pods. The number of redundant pods deployed may be directly proportional to the trend in the traffic data, and a performance of a newly deployed service patch for a certain amount of time in order to determine whether the performance of the service patch is similar to a predicted behaviour.
[0102] In an embodiment, the performing by the software deployment may comprise preparing, a deployment plan, by the processor (230) through the scheduler unit (226). The performing by the software deployment may comprise communicating, by the scheduler unit (226), with a continuous deployment (CD) pipeline to proceed with the deployment. The performing by the software deployment may comprise informing, by the scheduler unit (226), the CD pipeline about the hardware information of the hosts and instructs CD pipeline, to deploy a software package to one of a healthy host and to migrate services to another healthy host for the analysed hardware data. The performing by the software deployment may comprise informing, by the scheduler unit (226), the deployment plan of the redundant pods based the discovered pattern in the analysed traffic data. The performing by the software deployment may comprise receiving, by the scheduler unit (226), a comparison between a predicted performance and an actual performance, based on the pattern and the trend discovered in the service data from the analyser unit (224). The performing by the software deployment may comprise informing, by the scheduler unit (226), to the CD pipeline, a performance status of the service patch over a period of time for the analysed service data.
[0103] In an embodiment, the method may comprise checking, by the analyser unit (224), for degrading hardware in a cluster to overcome deployment failure. The method may comprise halting, by the scheduling unit, the deployment in the hosts having the degrading hardware and excluding the hosts with degrading hardware from any future deployment. The method may comprise migrating, by the network (235), the services in the host with degrading hardware to a healthy host.
[0104] In an embodiment, the method may comprise collecting, by the collector unit (222), the real time data for the traffic data for pods in the host from the orchestrator and sending the collected real time data to the analyser unit (224) for traffic pattern analysis. The method may comprise predicting, by the analyser unit (224), the traffic of the host at a point of time using time series data. The method may comprise determining, by the analyser unit (224), one of a deployment technique comprising a 1:1 deployment and a M: N deployment according to the pattern and trend in the traffic data. The method may comprise deploying, by the scheduler unit (226), the redundant pods dynamically in accordance with the pattern in the traffic for M: N deployment technique.
[0105] In an embodiment, the method may comprise determining, by the processor (230), a required number of redundant pods using container run time metrics. The method may comprise deploying, by the processor (230), the required number of redundant pods in a production of replica of the pods.
[0106] In an embodiment, the method may comprise adjusting, by the analyser unit (224), allocated application flow resources by applying one or more forecasting techniques of the artificial intelligence and machine learning techniques. The adjusting the allocated application flow resources may optimize the network (235) utilization and meeting application flow service level agreements (SLAs). The forecasting techniques may comprise a flow forecasting technique for analysis of the traffic data and predicting per application type, a deployment forecasting technique to determine the type of deployment for different traffic requirement and a redundant node scheduler to schedule redundant pods as per flow requirements.
[0107] In an embodiment, the method may comprise analysing and predicting, by the analyser unit (224), a performance status of a new service patch over a certain period of time, wherein predicting the performance status comprises applying a time series algorithm for a certain period of time based on the requirement. The method may comprise monitoring, by the processor (230) through the analyser unit (224), an actual performance of the new service patch over the certain period of time. The method may comprise performing, at least one action, by the scheduler unit (226), for the recent service which was upgraded, if actual performance status is in a downward trend compared to the predicted performance status.
[0108] According to embodiments, a system may comprise a processor (230) executing a machine learning model (402). The system may comprise a network (235). The system may be configured to receive, by a collector unit (222), through a network (235), a real time data comprising at least one of a hardware data, a traffic data and a service data related to one or more devices and applications. The system may be configured to feed, the real time data by the network (235) through the collector unit (222) to the machine learning model (402) in an analyser unit (224). The system may be configured to determine, by the analyser unit through the machine learning model (402), one or more patterns in the real time data using the datasets. The system may be configured to providing, by the analyser unit, an output from the machine learning model (402) to a scheduler unit (226). The output may comprise one of a hardware functioning information of the devices, a traffic data of the application and a service functioning information of the devices, and is based on the determined pattern. The system may be configured to perform, by the scheduler unit (226) through the network (235), software deployment on the devices by referring to one the hardware functioning information of the devices, the traffic data of the application, the service functioning information of the devices.
[0109] According to embodiments, a method performed by a system, including a collector unit, an analyser unit, and a scheduler unit, for managing software deployment in a wireless communication network, may comprise receiving, by the collector unit from a network, a data comprising at least one of a hardware data, a traffic data and a service data related to one or more devices and one or more applications, The method may comprise feeding, the data by the network through the collector unit to a trained model in the analyser unit. The method may comprise determining, by the analyser unit through the trained model, one or more patterns of the data. The method may comprise providing, by the analyser unit, an output from the trained model to the scheduler unit. The output comprise at least one of a hardware functioning information of the one or more devices, a traffic data of the one or more applications, or a service functioning information of the one or more devices based on the one or more patterns. The method may comprise performing, by the scheduler unit through the network, software deployment on the one or more devices based on the output.
[0110] In an embodiment, the method may comprise receiving, by the collector unit from the network, one or more of a raw data from one of a master data center and an orchestrator. The method may comprise pre-processing, by the analyser unit, the raw data to obtain clean data, based on at least one attribute of the hardware data, the traffic data and the service data related to one or more devices and the one or more applications. The method may comprise identifying, by the analyser unit, attributes of the raw data received. The method may comprise segregating, by the analyser unit, the raw data based on the attributes to obtain clean data. The method may comprise grouping, by the analyser unit, the clean data into a plurality of datasets based on the at least one attribute of at least one of the hardware data, the traffic data, or the service data. The method may comprise generating, the trained model, wherein the trained model is trained with the plurality of datasets.
[0111] In an embodiment, the raw data from the master data center may comprise historical data over a period of time comprising the hardware data comprising data related to at least one of a server, a router, or a storage of the one or more devices. The raw data from the orchestrator may comprise the historical data over the period of time comprising the traffic data and the service data. The traffic data and the service data may be collected from one or more software processes comprising pods in a host of the orchestrator using application programming interfaces (APIs)
[0112] In an embodiment, the generating the trained model may comprise transferring pre-trained classifier to one or more data centers, wherein the pre-trained classifier is enabled to classify the hardware data in the one or more data centers.
[0113] In an embodiment, the hardware data may comprise one of a server data, routing data, and storage data.
[0114] In an embodiment, the server data may comprise data related to one of a first central processing unit (CPU) data, a hard disk drive (HDD) data, a network card data, a random-access memory (RAM) data, a first temperature data, a first fan speed data, and a power consumption data. The routing data may comprise the data related to one of a second central processing unit (CPU), a first memory, a second fan speed data of the router, a second temperature data of the router, and an interface state of the router. The storage data may comprise the data related to one of a third central processing unit (CPU), a second memory, a system cache, a logical unit number, a system input-output (IO) performance data.
[0115] In an embodiment, the output may comprise a prediction, by the trained model, one of a functioning hardware, a soon to fail hardware, an application traffic for deploying redundant pods, and a service state of an application, based on the determined one or more patterns.
[0116] In an embodiment, the method further may comprise updating the master data center and the orchestrator with the data, wherein the trained model takes a continuous feedback from the data to learn continuously from the data to dynamically improve the prediction of the one of the hardware functioning information of the one or more devices, the traffic data of the one or more applications, and the service functioning information of the one or more devices.
[0117] In an embodiment, the performing the software deployment on the devices may comprise one of deploying and aborting the software deployment on the one or more devices.
[0118] In an embodiment, the grouping the clean data into the plurality of datasets may comprise assigning, scores to the clean data, wherein the scores are generated by at least one of clustering algorithms. The grouping the clean data into the plurality of datasets may comprise clustering the clean data having similar scores in one group by artificial intelligence and machine learning techniques, comprising one of clustering algorithms.
[0119] In an embodiment, the generating the trained model may comprise training, a classifier using the plurality of datasets, wherein the classifier learns from a historical data of the hardware data.
[0120] In an embodiment, the determining the one or more patterns may comprise determining, by the analyser unit, the one or more patterns of the data, by applying one of a classification algorithm to the hardware data and a time series algorithm on the traffic data and the service data. The determining the one or more patterns may comprise classifying, by the analyser unit, the hardware data into a functioning hardware and a soon-to-fail hardware based on the one or more patterns. The determining the one or more patterns may comprise discovering, by analyser unit, one of a pattern and a trend in the traffic data and the service data over a period of time. The determining the one or more patterns may comprise predicting, by analyser unit, one of a time to deploy redundant pods, wherein the number of redundant pods deployed are directly proportional to the trend in the traffic data, and a performance of a newly deployed service patch for a certain amount of time in order to determine whether the performance of the service patch is similar to a predicted behaviour.
[0121] In an embodiment, the performing the software deployment may comprise preparing, a deployment plan, by the scheduler unit. The performing the software deployment may comprise communicating, by the scheduler unit, with a continuous deployment (CD) pipeline to proceed with the deployment. The performing the software deployment may comprise informing, by the scheduler unit, the CD pipeline about hardware information of hosts and instructs the CD pipeline, to deploy a software package to one of a healthy host and to migrate services to another healthy host for the hardware data. The performing the software deployment may comprise informing, by the scheduler unit, the deployment plan of the redundant pods based a pattern of the traffic data. The performing the software deployment may comprise receiving, by the scheduler unit, a comparison between a predicted performance and an actual performance, based on a pattern and a trend of the service data. The performing the software deployment may comprise informing, by the scheduler unit, to the CD pipeline, a performance status of the service patch over a period of time for the service data.
[0122] In an embodiment, the method may comprise checking, by the analyser unit, for degrading hardware in a cluster to overcome deployment failure. The method may comprise halting, by the scheduling unit, the software deployment in host having the degrading hardware and excluding the host with the degrading hardware from any future deployment. The method may comprise migrating services in the host with the degrading hardware to a healthy host.
[0123] According to embodiments, a system may comprise memory storing instructions. The system may comprise at least one processor. The instructions, when executed by the at least one processor individually or collectively, may cause the system to receive, from a network, a real time data comprising at least one of a hardware data, a traffic data and a service data related to one or more devices and one or more applications. The instructions, when executed by the at least one processor individually or collectively, may cause the system to feed, the data to a trained model. The instructions, when executed by the at least one processor individually or collectively, may cause the system to determine, through the trained model, one or more patterns of the data. The instructions, when executed by the at least one processor individually or collectively, may cause the system to generate, an output from the trained model. The output may comprise at least one of a hardware functioning information of the one or more devices, a traffic data of the one or more applications, or a service functioning information of the one or more devices based on the one or more patterns. The instructions, when executed by the at least one processor individually or collectively, may cause the system to perform, through the network, software deployment on the one or more devices based on the output.
[0124] The embodiment disclosed herein describes systems and methods for managing software deployment in a wireless communication network. Therefore, it is understood that the scope of the protection is extended to such a program and in addition to a computer readable means having a message therein, such computer readable storage means contain program code means for implementation of one or more steps of the method, when the program runs on a server or mobile device or any suitable programmable device. The method is implemented in at least one embodiment through or together with a software program written in e.g., Very high-speed integrated circuit Hardware Description Language (VHDL) another programming language, or implemented by one or more VHDL or several software modules being executed on at least one hardware device. The hardware device can be any kind of portable device that can be programmed. The device may also include means which could be e.g., hardware means like e.g., an ASIC, or a combination of hardware and software means, e.g., an ASIC and an FPGA, or at least one microprocessor and at least one memory with software modules located therein. The method embodiments described herein could be implemented partly in hardware and partly in software. Alternatively, the invention may be implemented on different hardware devices, e.g., using a plurality of CPUs.
[0125] The foregoing description of the specific embodiments will so fully reveal the general nature of the embodiments herein that others can, by applying current knowledge, readily modify and / or adapt for various applications such specific embodiments without departing from the generic concept, and, therefore, such adaptations and modifications should and are intended to be comprehended within the meaning and range of equivalents of the disclosed embodiments. It is to be understood that the phraseology or terminology employed herein is for the purpose of description and not of limitation. Therefore, while the embodiments herein have been described in terms of embodiments and examples, those skilled in the art will recognize that the embodiments and examples disclosed herein can be practiced with modification within the scope of the embodiments as described herein.
Claims
1.A method performed by a system, including a collector unit, an analyser unit, and a scheduler unit, for managing software deployment in a wireless communication network, comprising:receiving, by the collector unit from a network, a data comprising at least one of a hardware data, a traffic data and a service data related to one or more devices and one or more applications;feeding, the data by the network through the collector unit to a trained model in the analyser unit;determining, by the analyser unit through the trained model, one or more patterns of the data;providing, by the analyser unit, an output from the trained model to the scheduler unit, wherein the output comprises at least one of a hardware functioning information of the one or more devices, a traffic data of the one or more applications, or a service functioning information of the one or more devices based on the one or more patterns; andperforming, by the scheduler unit through the network, software deployment on the one or more devices based on the output.2.The method of claim 1, wherein the method comprises:receiving, by the collector unit from the network, one or more of a raw data from one of a master data center and an orchestrator;pre-processing, by the analyser unit, the raw data to obtain clean data, based on at least one attribute of the hardware data, the traffic data and the service data related to one or more devices and the one or more applications;identifying, by the analyser unit, attributes of the raw data received;segregating, by the analyser unit, the raw data based on the attributes to obtain clean data;grouping, by the analyser unit, the clean data into a plurality of datasets based on the at least one attribute of at least one of the hardware data, the traffic data, or the service data;generating, the trained model, wherein the trained model is trained with the plurality of datasets.3.The method of claim 2,wherein the raw data from the master data center comprises historical data over a period of time comprising the hardware data comprising data related to at least one of a server, a router, or a storage of the one or more devices,wherein the raw data from the orchestrator comprises the historical data over the period of time comprising the traffic data and the service data, andwherein the traffic data and the service data are collected from one or more software processes comprising pods in a host of the orchestrator using application programming interfaces (APIs).4.The method of claim 2,wherein the generating the trained model comprises:transferring pre-trained classifier to one or more data centers, wherein the pre-trained classifier is enabled to classify the hardware data in the one or more data centers.5.The method of claim 1, wherein the hardware data comprises one of a server data, routing data, and storage data.6.The method of claim 5,wherein the server data comprises data related to one of a first central processing unit (CPU) data, a hard disk drive (HDD) data, a network card data, a random-access memory (RAM) data, a first temperature data, a first fan speed data, and a power consumption data,wherein the routing data comprises the data related to one of a second central processing unit (CPU), a first memory, a second fan speed data of the router, a second temperature data of the router, and an interface state of the router, andwherein the storage data comprises the data related to one of a third central processing unit (CPU), a second memory, a system cache, a logical unit number, a system input-output (IO) performance data.7.The method of claim 1, wherein the output comprises a prediction, by the trained model, one of a functioning hardware, a soon to fail hardware, an application traffic for deploying redundant pods, and a service state of an application, based on the determined one or more patterns.8.The method of claim 2, wherein the method further comprises:updating the master data center and the orchestrator with the data, wherein the trained model takes a continuous feedback from the data to learn continuously from the data to dynamically improve the prediction of the one of the hardware functioning information of the one or more devices, the traffic data of the one or more applications, and the service functioning information of the one or more devices.9.The method of claim 1, wherein performing the software deployment on the devices comprises one of deploying and aborting the software deployment on the one or more devices.10.The method of claim 2, wherein grouping the clean data into the plurality of datasets comprises:assigning, scores to the clean data, wherein the scores are generated by at least one of clustering algorithms; andclustering the clean data having similar scores in one group by artificial intelligence and machine learning techniques, comprising one of clustering algorithms.11.The method of claim 2, wherein generating the trained model comprises:training, a classifier using the plurality of datasets, wherein the classifier learns from a historical data of the hardware data.12.The method of claim 1, wherein determining the one or more patterns comprises:determining, by the analyser unit, the one or more patterns of the data, by applying one of a classification algorithm to the hardware data and a time series algorithm on the traffic data and the service data;classifying, by the analyser unit, the hardware data into a functioning hardware and a soon-to-fail hardware based on the one or more patterns;discovering, by analyser unit, one of a pattern and a trend in the traffic data and the service data over a period of time; andpredicting, by analyser unit, one of a time to deploy redundant pods, wherein the number of redundant pods deployed are directly proportional to the trend in the traffic data, and a performance of a newly deployed service patch for a certain amount of time in order to determine whether the performance of the service patch is similar to a predicted behaviour.13.The method of claim 1, wherein performing the software deployment comprises:preparing, a deployment plan, by the scheduler unit; andcommunicating, by the scheduler unit, with a continuous deployment (CD) pipeline to proceed with the deployment;informing, by the scheduler unit, the CD pipeline about hardware information of hosts and instructs the CD pipeline, to deploy a software package to one of a healthy host and to migrate services to another healthy host for the hardware data;informing, by the scheduler unit, the deployment plan of the redundant pods based a pattern of the traffic data; andreceiving, by the scheduler unit, a comparison between a predicted performance and an actual performance, based on a pattern and a trend of the service data; andinforming, by the scheduler unit, to the CD pipeline, a performance status of the service patch over a period of time for the service data.14.The method of claim 1, wherein the method comprises:checking, by the analyser unit, for degrading hardware in a cluster to overcome deployment failure; andhalting, by the scheduling unit, the software deployment in host having the degrading hardware and excluding the host with the degrading hardware from any future deployment; andmigrating services in the host with the degrading hardware to a healthy host.15.A system comprising:memory storing instructions; andat least one processor,wherein the instructions, when executed by the at least one processor individually or collectively, cause the system to:receive, from a network, a real time data comprising at least one of a hardware data, a traffic data and a service data related to one or more devices and one or more applications;feed, the data to a trained model;determine, through the trained model, one or more patterns of the data;generate, an output from the trained model, wherein the output comprises at least one of a hardware functioning information of the one or more devices, a traffic data of the one or more applications, or a service functioning information of the one or more devices based on the one or more patterns; andperform, through the network, software deployment on the one or more devices based on the output.
Citation Information
Patent Citations
A Server Operation and Maintenance Analysis Method and System
CN109460344B
Intelligent deployment method for heterogeneous hybrid environment
CN112416369A
Systems and methods for software deployment interval prediction
US11842212B2
Method and electronic device for scheduling software upgrade of network devices
US20230008692A1
Cited By
Predictive artificial intelligence for determining security events and mitigation strategies
US12547735B2