Method and system for network function (NF) application switchover between plurality of servers

The system addresses CPU usage spikes in 5G networks by proactively initiating NF application switchover to standby or spare servers based on predefined thresholds, enhancing network reliability and availability through dynamic load balancing.

WO2026062680A1PCT designated stage Publication Date: 2026-03-26JIO PLATFORMS LTD
View PDF 2 Cites 0 Cited by

Patent Information

Authority / Receiving Office
WO · WO
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-07-16
Publication Date
2026-03-26

AI Technical Summary

Technical Problem

Conventional High Availability State Managers (HSMs) in 5G networks fail to initiate a switchover of Network Function (NF) applications to standby or spare servers when Central Processing Unit (CPU) usage spikes, leading to performance degradation and potential service disruptions due to high CPU utilization without immediate failure.

Method used

A system and method that periodically calculates CPU usage values, compares them with predefined thresholds, and initiates a switchover to standby or spare servers based on exceeding instance thresholds, ensuring proactive management of CPU load.

Benefits of technology

Enables dynamic workload distribution and adaptive load balancing, preventing network performance degradation and ensuring high availability by addressing CPU usage spikes before they cause service disruptions.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure IN2025051067_26032026_PF_FP_ABST
    Figure IN2025051067_26032026_PF_FP_ABST
Patent Text Reader

Abstract

The present disclosure introduces a method (500) for Network Function (NF) application (302) switchover between two or more servers. A Central Processing Unit (CPU) usage value of server on which NF application (302) is running is periodically calculated. Further, the CPU usage value is compared with predefined CPU usage threshold value. Further, the CPU usage value exceeds the predefined CPU usage threshold value is determined. A number of instances corresponding to the CPU usage value exceeding the predefined CPU usage threshold value exceeds within predefined time period is computed. The number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses an instance threshold value is determined. A request is sent to a resource manager (304) to initiate the switchover of the NF application (302) between two or more servers based on the current state of server on which NF application (302) is running.
Need to check novelty before this filing date? Find Prior Art

Description

METHOD AND SYSTEM FOR NETWORK FUNCTION (NF) APPLICATION SWITCHOVER BETWEEN PLURALITY OF SERVERSRESERVATION OF RIGHTS

[0001] A portion of the disclosure of this patent document contains material, which is subject to intellectual property rights such as, but are not limited to, copyright, design, trademark, Integrated Circuit (IC) layout design, and / or trade dress protection, belonging to Jio Platforms Limited (JPL) or its affiliates (hereinafter referred as owner). The owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office patent files or records but otherwise reserves all rights whatsoever. All rights to such intellectual property are fully reserved by the owner.TECHNICAL FIELD

[0002] The present disclosure relates generally to the field of wireless communication network. More particularly, the present disclosure relates to a system and a method for network function (NF) application switchover between a plurality of servers such as an Active server, a Standby server, and a Spare server.DEFINITIONS

[0003] As used in the present disclosure, the following terms are generally intended to have the meaning as set forth below, except to the extent that the context in which they are used to indicate otherwise.

[0004] The term ‘Network Functions (NFs) application’ used herein in the specification refers to modular and virtualized entities that perform specific roles within a network architecture, typically as microservices. The NFs applications are essential components of the Fifth Generation (5G) network and are defined in Service-Based Architecture (SBA). The NF applications communicate through standardized Application Programming Interfaces (APIs).

[0005] The term ‘Service-Based Architecture (SBA)’ used herein in the specification refers to a programmable framework that connects the NF applications. The SBA fundamentally shifts how network functions (NF) application interacts, moving from traditional point-to-point communication models to a more flexible and scalable service-oriented approach.

[0006] The term ‘Central Processing Unit (CPU)’, as used herein in the specification refers to the hardware component that executes software instructions within various NF applications in the 5G network architecture.

[0007] The term ‘Server’, as used herein in the specification, refers to a computing entity that provides resources, services, or functionalities required by NF application or devices within the 5G network architecture. The server is crucial in hosting and running virtualized network functions (VNFs), enabling cloud-native 5G network architecture.

[0008] The term ‘High Availability State Manager (HSM)’, as used herein in the specification, refers to a functional entity responsible for ensuring the continuity and reliability of the NF applications by managing state synchronization, monitoring health, and coordinating failover and recovery mechanisms. The HSM ensures that the state of critical NF application is maintained across active and standby instances, enabling seamless service delivery in case of failures.

[0009] The term ‘Switchover’, as used herein in the specification, refers to a process of shifting operations from one server instance (or state) to another server instance (or state) to ensure continuous service during a fault or planned maintenance.

[0010] The term ‘User Plane Function (UPF)’, as used herein in the specification, refers to a core network component of the 5G network architecture. The UPF isresponsible for handling user traffic in 5G networks. It plays a key role in routing and forwarding data between the user equipment (UE) and external networks. The UPF also handles data path selection, Quality of service (QoS) enforcement, and traffic steering based on policies set by the NF applications.

[0011] The term ‘CPU usage value’ as used herein in the specification, refers to a proportion of the total processing power or capacity of the CPU that is currently being utilized by processes and applications running on the server.

[0012] The term ‘Predefined CPU threshold value’ used herein in the specification refers to a specific CPU usage value set in advance as a benchmark or limit beyond which certain actions are initiated. The predefined CPU threshold value may be defined by a network operator.

[0013] The term ‘Predefined instance threshold’ used herein in the specification refers to a specific count of instances of the CPU usage value exceeding a predefined CPU threshold value beyond which certain actions are initiated. The predefined instance threshold may be defined by a network operator.

[0014] The term ‘Active server’ used herein in the specification refers to a primary instance within a server cluster responsible for handling live traffic and processing data for the NF application. The active server is tasked with managing all incoming requests, maintaining connections, and executing the primary functions required by the NF application.

[0015] The term ‘Standby server’ used herein in the specification refers to a backup instance that remains in an idle or alert state, ready to take over the role of the active server in the event of a failure or unresponsiveness of the active server. The standby server continuously synchronizes with the active server, receiving updates on the current state and session data, thereby ensuring minimal data loss or interruption in service. If the active server goes down or fails, the HSM or an equivalent controllerinitiates a switchover process, transitioning the active server to the role of the standby server.

[0016] The term ‘Spare server’ used herein in the specification refers to an additional backup instance that provides an extra layer of protection in case both the active and standby servers fail. The spare server may also be utilized for load balancing purposes or to provide temporary extra capacity.

[0017] These definitions are in addition to those expressed in the art.BACKGROUND

[0018] The following description of related art is intended to provide background information pertaining to the field of the disclosure. This section may include certain aspects of the art that may be related to various features of the present disclosure. However, it should be appreciated that this section be used only to enhance the understanding of the reader with respect to the present disclosure, and not as admissions of prior art.

[0019] In Fifth Generation (5G) networks, the network is comprised of various Network Functions (NFs) applications, such as Policy Control Function (PCF), Binding Support Function (BSF), Charging Function (CHF), Network Repository Function (NRF), etc. The NF applications enable seamless end-to-end communication to manage and control a User Plane Functions (UPFs) and efficiently utilize network resources of a Control Plane Function (CPF). The NFs applications are typically deployed in clusters for high reliability and continuous availability. Each cluster consists of three instances such as active, standby, and spare. The NF application initially serves on the active server. Further, if the performance of the NF application degrades while serving on the active server, the standby and spare servers function may act as backup application servers. A separate application, the High Availability State Manager (HSM), oversees the availability of the NF applications on their respectivedeployed cluster. The HSM ensures that services of the NF applications are operational by monitoring the status of each instance and triggering a switchover if an active instance becomes unresponsive or goes down.

[0020] However, a significant challenge arises when a Central Processing Unit (CPU) usage of the server where the NF application is currently serving increases due to various factors. The NF application may not perform as expected or become unresponsive in such situations. The HSM initiates a switchover only when an NF application goes down or fails. Therefore, when CPU usage spikes, the HSM may not trigger or initiate an immediate switchover as the NF application will not go down suddenly.

[0021] The conventional HSM architecture is limited in handling cases where the CPU usage of the active instance spikes. Under such circumstances, the NF application may experience performance degradation, leading to delays, unresponsiveness, or failures in critical functions. However, since the NF application does not go down suddenly, the HSM may not trigger a switchover of the NF application to the standby or spare instance, resulting in suboptimal network performance and potential service disruptions for users. Further, the limitation is particularly critical in 5G networks, where low latency, high availability, and consistent service quality are paramount. The inability to address high CPU usage on the active instance compromises the network’s overall efficiency and reliability.

[0022] There is, therefore, a need in the art to provide a system and a method that can mitigate the disadvantages of the prior art.SUMMARY OF THE DISCLOSURE

[0023] In an exemplary embodiment, a method for network function (NF) application switchover between two or more servers is described. The method includes periodically calculating a Central Processing Unit (CPU) usage value of a server onwhich the NF application is running. The calculation is based on a type of the server. Further, the method includes comparing the CPU usage value with a predefined CPU usage threshold value. The method further includes determining that the CPU usage value exceeds the predefined CPU usage threshold value. Further, the method includes computing a number of instances corresponding to the CPU usage value exceeding the predefined CPU usage threshold value exceeds within a predefined time period. The method further includes determining whether the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses an instance threshold value. The method further includes sending a request to a resource manager to initiate a switchover of the NF application between two or more servers based on a current state of the server on which the NF application is running, if the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses the instance threshold value.

[0024] In an embodiment, the method further includes continuing to periodically calculate the CPU usage value if the CPU usage value does not exceed the predefined CPU usage threshold value.

[0025] In another embodiment, the method further includes continuing computing the number of instances corresponding to the CPU usage value exceeding the predefined CPU usage threshold value exceeds within a predefined time period, upon determining that the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value does not surpass the instance threshold value.

[0026] In another embodiment, the current state of the server on which the NF application is running is one of an active state, a standby state, and a spare state.

[0027] In another embodiment, to send the request to the resource manager to initiate the switchover of the NF application between the two or more servers, the method comprising one of sending the request to initiate the switchover of the NF application to the standby server, if the current state of the server on which the NFapplication is running is in the active state. Further, the method may comprise sending the request to initiate the switchover of the NF application to a spare server, if the current state of the server on which the NF application is running is in the standby state.

[0028] In another exemplary embodiment, a system for network function (NF) application switchover between two or more servers is described. The system includes a calculation unit configured to periodically calculate a Central processing Unit (CPU) usage value of a server on which the NF application is running. The calculation is based on a type of the server. Further, the calculation unit is configured to compare the CPU usage value with a predefined CPU usage threshold value. The system further includes a determination unit configured to determine that the CPU usage value exceeds the predefined CPU usage threshold value. The determination unit is further configured to compute a number of instances corresponding to the CPU usage value exceeding the predefined CPU usage threshold value exceeds within a predefined time period. Further, the determination unit is configured to determine whether the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses an instance threshold value. The system further includes a transmission unit configured to send a request to a resource manager to initiate a switchover of the NF application between two or more servers based on a current state of the server on which the NF application is running, if the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses the instance threshold value.

[0029] In yet another embodiment, a computer program product comprising a non- transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to execute a method for Network Function (NF) application switchover between two or more servers is described. The method includes periodically calculating a Central Processing Unit (CPU) usage value of a server on which the NF application is running. The calculation is based on a type of the server. Further, the method includes comparing the CPU usagevalue with a predefined CPU usage threshold value. The method further includes determining that the CPU usage value exceeds the predefined CPU usage threshold value. Further, the method includes computing a number of instances corresponding to the CPU usage value exceeding the predefined CPU usage threshold value exceeds within a predefined time period. The method further includes determining whether the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses an instance threshold value. The method further includes sending a request to a resource manager to initiate a switchover of the NF application between two or more servers based on a current state of the server on which the NF application is running, if the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses the instance threshold value.OBJECTIVES OF THE PRESENT DISCLOSURE

[0030] Some of the objectives of the present disclosure, which at least one embodiment herein satisfies, are as follows:

[0031] An objective of the present disclosure is to provide a system and a method to monitor Central Processing Unit (CPU) usage of Network Functions (NFs) application in a Fifth Generation (5G) network to ensure high availability of NF applications.

[0032] Another objective of the present disclosure is to provide a system and a method to enable dynamic switchover of NF applications based on real-time CPU usage, enabling adaptive load balancing in NF application deployments and preventing network performance degradation.

[0033] Another objective of the present disclosure is to provide a system and a method for initiating proactive switchover of the NF applications by a HighAvailability State Manager (HSM) when usage of CPU on which the NF application is running exceeds a predefined threshold.

[0034] Another objective of the present disclosure is to provide a system and a method to dynamically distribute workload across different server instances based on CPU utilization levels, ensuring that computing resources are evenly utilized and preventing bottlenecks or hotspots.

[0035] Other objects and advantages of the present disclosure will be more apparent from the following description, which is not intended to limit the scope of the present disclosure.BRIEF DESCRIPTION OF THE ACCOMPANYING DRAWING

[0036] The accompanying drawings, which are incorporated herein, and constitute a part of this disclosure, illustrate exemplary embodiments of the disclosed methods and systems in which like reference numerals refer to the same parts throughout the different drawings. Components in the drawings are not necessarily to scale, emphasis instead being placed upon clearly illustrating the principles of the present disclosure. Some drawings may indicate the components using block diagrams and may not represent the internal circuitry of each component. It will be appreciated by those skilled in the art that disclosure of such drawings includes disclosure of electrical components, electronic components or circuitry commonly used to implement such components.

[0037] FIG. 1 illustrates an exemplary network architecture for network function (NF) application switchover between two or more servers, in accordance with embodiments of the present disclosure.

[0038] FIG. 2 illustrates an exemplary block diagram of a system configured for the NF application switchover between the two or more servers, in accordance with embodiments of the present disclosure.

[0039] FIG. 3 illustrates an exemplary system architecture of the system configured for the NF application switchover between the two or more servers, in accordance with embodiments of the present disclosure.

[0040] FIG. 4 illustrates an exemplary flow diagram of a method for the NF application switchover between the two or more servers, in accordance with embodiments of the present disclosure.

[0041] FIG. 5 illustrates another exemplary flow diagram of the method for the NF application switchover between the two or more servers, in accordance with embodiments of the present disclosure.

[0042] FIG. 6 illustrates an exemplary computer system in which or with which embodiments of the present disclosure may be implemented.

[0043] The foregoing shall be more apparent from the following more detailed description of the disclosure.LIST OF REFERENCE NUMERALS100 - Network Architecture102 - User104 - User Equipment (UE)106 - Network108 - System200 - Block Diagram202 - Processor(s)204 - Memory206 - Interface(s)208 - Processing Engine210 - Database212 - Calculation Unit 214 - Determination Unit216 - Transmission Unit300 - System Architecture302 - Network Function (NF) application304 - High availability State Manager (HSM) 400 - Flow Diagram500 - Flow Diagram600 - A computer system610 - External storage device620 - Bus 630 - Main memory640 - Read only memory650 - Mass storage device660 - Communication port(s)670 - ProcessorDETAILED DESCRIPTION

[0044] In the following description, for the purposes of explanation, various specific details are set forth to provide a thorough understanding of embodiments of the present disclosure. It will be apparent, however, that embodiments of the present disclosure may be practiced without these specific details. Several features described hereafter can each be used independently of one another or with any combination of other features. An individual feature may not address any of the problems discussed above or might address only some of the problems discussed above. Some of the problems discussed above might not be fully addressed by any of the features described herein. Example embodiments of the present disclosure are described below, as illustrated in various drawings in which like reference numerals refer to the same parts throughout the different drawings.

[0045] The ensuing description provides exemplary embodiments only, and is not intended to limit the scope, applicability, or configuration of the disclosure. Rather, the ensuing description of the exemplary embodiments will provide those skilled in the art with an enabling description for implementing an exemplary embodiment. It should be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the disclosure as set forth.

[0046] Specific details are given in the following description to provide a thorough understanding of the embodiments. However, it will be understood by one of the ordinary skill in the art that the embodiments may be practiced without these specific details. For example, circuits, systems, networks, processes, and other components may be shown as components in block diagram form in order not to obscure the embodiments in unnecessary detail. In other instances, well-known circuits, processes, algorithms, structures, and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.

[0047] Also, it is noted that individual embodiments may be described as a process that is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed but could have additional steps not included in a figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination can correspond to a return of the function to the calling function or the main function.

[0048] The word “exemplary” and / or “demonstrative” is used herein to mean serving as an example, instance, or illustration. For the avoidance of doubt, the subject matter disclosed herein is not limited by such examples. In addition, any aspect or design described herein as “exemplary” and / or “demonstrative” is not necessarily to be construed as preferred or advantageous over other aspects or designs, nor is it meant to preclude equivalent exemplary structures and techniques known to those of ordinary skill in the art. Furthermore, to the extent that the terms “includes,” “has,” “contains,” and other similar words are used in either the detailed description or the claims, such terms are intended to be inclusive like the term “comprising” as an open transition word without precluding any additional or other elements.

[0049] Reference throughout this specification to “one embodiment” or “an embodiment” or “an instance” or “one instance” means that a particular feature, structure, or characteristic described in connection with the embodiment is included in at least one embodiment of the present disclosure. Thus, the appearances of the phrases “in one embodiment” or “in an embodiment” in various places throughout this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.

[0050] The terminology used herein is to describe particular embodiments only and is not intended to be limiting the disclosure. As used herein, the singular forms “a”, “an”, and “the” are intended to include the plural forms as well, unless the context indicates otherwise. It will be further understood that the terms “comprises” and / or “comprising,” when used in this specification, 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. As used herein, the term “and / or” includes any combinations of one or more of the associated listed items. It should be noted that the terms “mobile device”, “user equipment”, “user device”, “communication device”, “device” and similar terms are used interchangeably for the purpose of describing the invention. These terms are not intended to limit the scope of the invention or imply any specific functionality or limitations on the described embodiments. The use of these terms is solely for convenience and clarity of description. The invention is not limited to any particular type of device or equipment, and it should be understood that other equivalent terms or variations thereof may be used interchangeably without departing from the scope of the invention as defined herein.

[0051] As used herein, an “electronic device”, or “portable electronic device”, or “user device” or “communication device” or “user equipment” or “device” refers to any electrical, electronic, electromechanical, and computing device. The user device is capable of receiving and / or transmitting one or parameters, performing function / s, communicating with other user devices, and transmitting data to the other user devices. The user equipment may have a processor, a display, a memory, a battery, and an input-means such as a hard keypad and / or a soft keypad. The user equipment may be capable of operating on any radio access technology including but not limited to IP-enabled communication, Zig Bee, Bluetooth, Bluetooth Low Energy, Near Field Communication, Z-Wave, Wi-Fi, Wi-Fi direct, etc. For instance, the user equipment may include, but not limited to, a mobile phone, smartphone, virtual reality (VR)devices, augmented reality (AR) devices, laptop, a general-purpose computer, desktop, personal digital assistant, tablet computer, mainframe computer, or any other device as may be obvious to a person skilled in the art for implementation of the features of the present disclosure.

[0052] Further, the user device may also comprise a “processor” or “processing unit” includes processing unit, wherein processor refers to any logic circuitry for processing instructions. The processor may be a general-purpose processor, a special purpose processor, a conventional processor, a digital signal processor, a plurality of microprocessors, one or more microprocessors in association with a DSP core, a controller, a microcontroller, Application Specific Integrated Circuits, Field Programmable Gate Array circuits, any other type of integrated circuits, etc. The processor may perform signal coding data processing, input / output processing, and / or any other functionality that enables the working of the system according to the present disclosure. More specifically, the processor is a hardware processor.

[0053] As portable electronic devices and wireless technologies continue to improve and grow in popularity, the advancing wireless technologies for data transfer are also expected to evolve and replace the older generations of technologies. In the field of wireless data communications, the dynamic advancement of various generations of cellular technology is also seen. The development, in this respect, has been incremental in the order of second generation (2G), third generation (3G), fourth generation (4G), fifth generation (5G), and now Sixth Generation (6G), and more such generations are expected to continue in the forthcoming time.

[0054] While considerable emphasis has been placed herein on the components and component parts of the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiment as well as other embodiments of the disclosurewill be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be interpreted merely as illustrative of the disclosure and not as a limitation.

[0055] Wireless communication technology has rapidly evolved over the past few decades. The first generation of wireless communication technology was analog, offering only voice services. Further, text messaging and data services became possible when the second-generation (2G) technology was introduced. The third generation (3G) technology marked the introduction of high-speed internet access, mobile video calling, and location-based services. The fourth generation (4G) technology revolutionized wireless communication with faster data speeds, improved network coverage, and security. Currently, fifth generation (5G) technology is being deployed, offering significantly faster data speeds, lower latency, and the ability to connect many devices simultaneously. These advancements represent a significant leap forward from previous generations, enabling enhanced mobile broadband, improved Internet of Things (loT) connectivity, and more efficient use of network resources. The sixth generation (6G) technology promises to build upon these advancements, pushing the boundaries of wireless communication even further. While the 5G technology is still being rolled out globally, research and development into the 6G are rapidly progressing, with the aim of revolutionizing the way to connect and interact with technology

[0056] The 5G network includes a plurality of Network Functions (NFs) applications, such as Policy Control Function (PCF), Binding Support Function (BSF), Charging Function (CHF), Network Repository Function (NRF), etc. The NF applications enable seamless end-to-end communication to manage and control User Plane Functions (UPFs) and efficiently utilize network resources. The NF applications are typically deployed in clusters for high reliability and continuous availability. Each cluster consists of three instances such as active, standby, and spare. The NFapplication initially serves on the active server, while the standby and spare functions as backup application servers.

[0057] However, a critical challenge arises when the CPU usage of the server running the NF application spikes due to heavy workloads. High CPU usage may lead to performance degradation, causing the NF application to become unresponsive or work inefficiently. The HSM only initiates a switchover when the NF application goes down completely. In cases of high CPU utilization, the NF application might still be running but underperforms, and the HSM may not detect the issue promptly, leading to service disruptions or suboptimal performance of the NF application.

[0058] To address the above-mentioned issues, the present disclosure provides a system and a method for network function (NF) application switchover between two or more servers. The NF application periodically calculates a CPU usage value of a server on which the NF application is running, where the calculation is based on the type of server. In an embodiment, the calculation of the CPU usage value is based on the type of server as different servers may have different numbers of CPUs which may affect the CPU value usage of the server. Then, the NF application compares the CPU usage value with a predefined CPU threshold value. The NF application continues to calculate the CPU usage value if the CPU usage value is less than the predefined CPU threshold value. Further, the NF application determines a number of instances in which the CPU usage value exceeds the predefined CPU threshold value surpasses an instance threshold value. Thereafter, the NF application sends a request to a High Availability State Manager (HSM) to initiate a switchover of the NF application to one of an active server, a standby server, and a spare server based on the current state of the NF application.

[0059] Hereinafter, exemplary embodiments of the present disclosure will be described with reference to the accompanying drawings. The various embodimentsthroughout the disclosure will be explained in more detail with reference to FIG. 1 - FIG. 6.

[0060] FIG. 1 illustrates an exemplary network architecture 100 for NF application switchover between the two or more servers, in accordance with embodiments of the present disclosure. As illustrated in FIG. 1, the network architecture 100 may include one or more User Equipments (UEs) 104- 1 , 104-2... 104-N associated with one or more users 102- 1 , 102-2... 102 -N in an environment. A person of ordinary skill in the art will understand that one or more users 102-1, 102-2... 102-N may be collectively referred to as the users 102. Similarly, a person of ordinary skill in the art will understand that one or more UEs 104-1, 104-2... 104-N may be collectively referred to as the UE 104 or the UEs 104. Although only three UE 104 are depicted in FIG. 1, however, any number of the UE 104 may be included without departing from the scope of the ongoing description.

[0061] In an embodiment, the UE 104 may include smart devices operating in a smart environment, for example, loT system. In such an embodiment, the UE 104 may include, but are not limited to, smartphones, smart watches, smart sensors (e.g., a mechanical, a thermal, an electrical, a magnetic, etc.), networked appliances, networked peripheral devices, networked lighting system, communication devices, networked vehicle accessories, networked vehicular devices, smart accessories, tablets, a smart television (TV), computers, a smart security system, a smart home system, other devices for monitoring or interacting with or for the users 102 and / or entities, or any combination thereof. A person of ordinary skill in the art will appreciate that the UE 104 may include, but not limited to, intelligent, multi-sensing, network-connected devices, that may integrate seamlessly with each other and / or with a central server or a cloud-computing system or any other device that is network-connected.

[0062] Additionally, in some embodiments, the UE 104 may include, but not limited to, a handheld wireless communication device (e.g., a mobile phone, asmartphone, a phablet device, and so on), a wearable computer device (e.g., a headmounted display computer device, a head-mounted camera device, a wristwatch computer device, and so on), a Global Positioning System (GPS) device, a laptop computer, a tablet computer, or another type of portable computer, a media playing device, a portable gaming system, and / or any other type of computer device with wireless communication capabilities, and the like. In an embodiment, the UE 104 may include, but are not limited to, any electrical, electronic, electromechanical, or equipment, or a combination of one or more of the above devices, such as virtual reality (VR) devices, augmented reality (AR) devices, a laptop, a general-purpose computer, a desktop, a personal digital assistant, a tablet computer, a mainframe computer, or any other computing device. Further, the UE 104 may include one or more in-built or externally coupled accessories including, but not limited to, a visual aid device such as a camera, an audio aid, a microphone, a keyboard, and input devices for receiving input from the user 102 or an entity such as a touchpad, a touch-enabled screen, an electronic pen, and the like. A person of ordinary skill in the art will appreciate that the UE 104 may not be restricted to the mentioned devices and various other devices may be used.

[0063] In FIG. 1 , the UE 104 may communicate with a system 108 through the network 106 for sending or receiving various types of data. In an embodiment, the network 106 may include at least one of a 5th Generation (5G) network, a 6th Generation (6G) network, or the like. The network 106 may enable the UE 104 to communicate with other devices in the network architecture 100 and / or with the system 108. The network 106 may include a wireless card or some other transceiver connection to facilitate this communication. In another embodiment, the network 106 may be implemented as, or include any of a variety of different communication technologies such as a wide area network (WAN), a local area network (LAN), a wireless network, a mobile network, a Virtual Private Network (VPN), the Internet, the Public Switched Telephone Network (PSTN), or the like.

[0064] In an embodiment, the network 106 may include, by way of example but not limitation, at least a portion of one or more networks having one or more nodes that transmit, receive, forward, generate, buffer, store, route, switch, process, or a combination thereof, etc. one or more messages, packets, signals, waves, voltage or current levels, some combination thereof, or so forth. The network 106 may also include, by way of example but not limitation, one or more of, a wireless network, a wired network, an internet, an intranet, a public network, a private network, a packet- switched network, a circuit-switched network, an ad hoc network, an infrastructure network, the PSTN, a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof.

[0065] In an embodiment, the UE 104 is communicatively coupled with the network 106. The network 106 may receive a connection request from the UE 104. The network 106 may send an acknowledgment of the connection request to the UE 104. The UE 104 may transmit a plurality of signals in response to the connection request.

[0066] Although FIG. 1 shows exemplary components of the network architecture 100, in other embodiments, the network architecture 100 may include fewer components, different components, differently arranged components, or additional functional components than depicted in FIG. 1. Additionally, or alternatively, one or more components of the network architecture 100 may perform functions described as being performed by one or more other components of the network architecture 100.

[0067] FIG. 2 illustrates an exemplary block diagram 200 of the system 108 configured for the NF application switchover between the two or more servers, in accordance with an embodiment of the disclosure.

[0068] In an embodiment, the system 108 may include one or more processor(s) 202. The one or more processor(s) 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, logic circuitries, and / or any devices that process data based onoperational instructions. Among other capabilities, the one or more processor(s) 202 may be configured to fetch and execute computer-readable instructions stored in a memory 204 of the system 108. The memory 204 may be configured to store one or more computer-readable instructions or routines in a non-transitory computer readable storage medium, which may be fetched and executed to create or share data packets over a network service. The memory 204 may include any non-transitory storage device including, for example, volatile memory such as a Random-Access Memory (RAM), or a non-volatile memory such as an Erasable Programmable Read Only Memory (EPROM), a flash memory, and the like.

[0069] In an embodiment, the system 108 may include an interface(s) 206. The interface(s) 206 may include a variety of interfaces, for example, interfaces for data input and output devices (I / O), storage devices, and the like. The interface(s) 206 may facilitate communication through the system 108. The interface(s) 206 may also provide a communication pathway for one or more components of the system 108. Examples of such components include, but are not limited to, a processing engine 208 and a database 210.

[0070] In an embodiment, the system 108 may include a processing engine 208 that may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processing engine 208. In examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processing engine 208 may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processing engine 208 may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the machine- readable storage medium may store instructions that, when executed by the processing resource, implement the processing engine 208. In such examples, the system 108 may comprise the machine-readable storage medium storing the instructions and theprocessing resource to execute the instructions, or the machine-readable storage medium may be separate but accessible to the system 108 and the processing resource. In other examples, the processing engine 208 may be implemented by electronic circuitry. In an embodiment, the processing engine 208 may include a calculation unit 212, a determination unit 214, and a transmission unit 216.

[0071] In an embodiment, the calculation unit 212 of the processing engine 208 is configured to periodically calculate a Central Processing Unit (CPU) usage value of a server on which the NF application is running. The calculation is based on the type of server. In examples, the type of servers may correspond to servers manufactured by different Original Equipment Manufacturer (OEM). Further, different OEM servers may include different numbers of CPUs, which affect the CPU usage value of the server. In an example, the server with high number of CPUs may help the NF application to achieve high throughput. In an example, the server may be one of an active server, a standby server, and a spare server. The CPU usage value refers to the proportion of the total processing power or capacity of the CPU that is currently being utilized by processes and applications running on the server. In some examples, the CPU usage value may be expressed in percentage. In other examples, the CPU usage value may be expressed in any other suitable parameter such as a numeric value on a scale of 0 to 10, etc. In an exemplary embodiment, the calculation unit 212 may run a mpstat command passing list of CPU processors to calculate the CPU usage value. In an example, the system 108 may include 256 CPU processors, and if the NF application is using 120 CPUs. The mpstat command may be “Mpstat - P 0-119”. The mpstat command may then return an average of the individual CPU (CPU usage value) by adding the usage of each CPU processor and diving by the total number of CPU processor (i.e., 120).

[0072] Further, the calculation unit 212 is configured to compare the CPU usage value with a predefined CPU threshold value. For example, the predefined CPU threshold value may refer to a specific CPU usage value set in advance as a benchmarkor limit beyond which certain actions, such as triggering a server switchover, are initiated. The predefined CPU threshold value may be defined by a network operator. In examples, the predefined CPU threshold value may be a configurable value. For example, the predefined CPU threshold value may be configured based on the system’s performance requirements, capacity, and operational goals, ensuring that the server operates efficiently and reliably without being overburdened. In some examples, the predefined CPU usage threshold value may be expressed in percentage such as 85%, or on a scale between 0 to 10 such as 8.5.

[0073] In an embodiment, the calculation unit 212 is configured to periodically calculate the CPU usage value to check if the CPU usage value does not exceed the predefined CPU usage threshold value. In an exemplary embodiment, if the calculated CPU usage value is 60 percent which is less than the predefined CPU threshold value (i.e., 85 percent), the calculation unit 212 may continue to calculate the CPU usage value. In examples, the calculation unit 212 may iteratively calculates the CPU usage value unless the CPU usage value exceeds the predefined CPU threshold value. When the CPU usage value is less than the predefined CPU threshold value, the NF application may serve on the server without the need for a switchover.

[0074] In an embodiment, the determination unit 214 of the processing engine 208 is configured to determine that the CPU usage value exceeds the predefined CPU usage threshold value. The determination unit 214 may count the number of instances in which the CPU usage value exceeds the predefined CPU threshold value within a predefined time period, to ensure that no false switchover of the NF application is performed based on a few unexceptional such instances. The few unexceptional such instances may include momentary downtime of the active server, momentary heavy load on the NF application, etc. The number of instances may correspond to a count of every instance where the CPU usage value exceeds the predefined CPU usage threshold value within a predefined time period. For example, if the CPU usage value calculated at three instances is 90 percent, 95 percent, and 87 percent within a 10-minute timeperiod which exceeds the predefined CPU usage threshold value (i.e., 85 percent) three times within the 10-minute time period. Thereby, the number of instances within the predefined time period is three. In some embodiments, the determination unit 214 may maintain a counter in a database 210 to record the number of instances within each predefined time period.

[0075] In an embodiment, the determination unit 214 may be further configured to determine whether the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses an instance threshold value. The instance threshold value may be a predefined instance threshold value set in advance beyond which the NF application switchover process is initiated or a configurable value which may be set based on the network resources and load on the NF applications. For example, if the instance threshold value is 2 but the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses an instance threshold value is 3 (i.e., 90 percent, 95 percent, and 87 percent), the determination unit 214 may initiate a switchover process.

[0076] In an embodiment, the transmission unit 216 of the processing engine 208 is configured to send a request to a resource manager to initiate a switchover to one of the NF application between two or more servers based on the current state of the server on which the NF application is running, if the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses the instance threshold value. The current state of the server on which the NF application is running is one of an active state, a standby state, and a spare state. The resource manager may be a High Availability State Manager (HSM) which makes sure that each NF application is available all the time on the corresponding deployed cluster. In an embodiment, when the NF application is running on an active server, the processing engine 208 may bind port which is being used in a NF application call flow with a Virtual Internet Provider (IP). Further, whenever the switchover of the NF application is required, the HSM may shift the Virtual IP to the standby server, effectivelyswitching over the NF application to the standby server. In an implementation, the transmission unit 216 is configured to identify the current state of the NF application, which may be understood as the state of the server, as one of an active state (indicating an active server), a standby state (indicating a standby server), or a spare state (indicating a spare server). If the current state of the server on which the NF application is running is in the active state, the transmission unit 216 may send a request to the HSM to initiate a switchover of the NF application to the standby server. If the current state of the server on which the NF application is running is in the standby state, the transmission unit 216 may send a request to the HSM to initiate the switchover of the NF application to the spare server. Further, if the current state of the server on which the NF application is running is in the spare state, the transmission unit 216 may not send any switchover request to the HSM.

[0077] In an embodiment, the database 210 includes data (e.g., network data, session data, predefined instance threshold, number of instances, CPU usage value, predefined CPU threshold value, and the like) that may be either stored or generated as a result of functionalities implemented by any of the components of the processor 202 or the processing engine 208.

[0078] FIG. 3 illustrates an exemplary system architecture 300 of the system 108 configured for the NF application switchover between the two or more servers, in accordance with embodiments of the present disclosure.

[0079] In FIG. 3, a communication flow between a Network Function (NF) application 302 and a High Availability State Manager (HSM) 304 is depicted. The NF application 302 may interact with the HSM 304 and vice versa. The NF application 302 is a specialized component in the 5G network, responsible for specific tasks such as handling, signaling, data processing, or managing user sessions. The NF application 302 may be, but is not limited to, an Access and Mobility Management Function (AMF), Session Management Function (SMF), User Plane Function (UPF), ChargingFunction (CHF), and Policy Control Function (PCF). In the context of the present disclosure, the NF application 302 may be the processing engine 208.

[0080] In an embodiment, the NF application 302 may serve on a plurality of servers, such as an active server, a standby server, and a spare server. The NF application 302 initially serves on an active server. Further, the standby server and the spare server act as backup servers in case the active server is overloaded.

[0081] In an embodiment, the HSM 304 may continuously monitor and replicate the operational state (such as, session info, subscriber data, routing tables) between active and standby servers in real time. Further, the HSM 304 may automatically detect failures in the active server and triggers a switchover of the NF application 302 to a standby node without service disruption. The HSM 304 is responsible for monitoring the performance of the NF application 302. The HSM 304 may continuously synchronize the state of the NF application 302 across the plurality of servers. In case the current state of the server on which the NF application 302 is running is overloaded, the HSM 304 switches over the NF application 302 to a new state, ensuring the new state is initialized with the last known state to avoid service interruption. For example, if the current state of the server on which the NF application 302 is running is in the active state, the HSM 304 may switchover the NF application 302 from the active server to the standby server without loss of data or service.

[0082] FIG. 4 illustrates an exemplary flow diagram 400 of a method for NF application switchover between the one or more servers, in accordance with the embodiments of the present disclosure. FIG. 4 is explained in conjunction with the FIGs. 1, 2, and 3. Each step of the method 400 may be performed by various units (e.g., the calculation unit 212, the determination unit 214, and the transmission unit 216) present within the processing engine 208 of the system 108. The method 400 aims to switch the NF application 302 between one or more servers instances (such as active server, the standby server, and the spare server), ensuring that the NF application 302maintains stable connectivity with optimal resources and minimal interference, thereby enhancing overall network performance. The elements and steps described in the figure are part of a process implemented within the NF application 302, which acts as a central system for data aggregation, analysis, and decision-making.

[0083] The NF application 302 calculates the CPU usage of the server on which the NF application is running. The calculation is based on the type of server. At step 402, the NF application 302 calculates the CPU usage value of the first server. Further, at step 404, the NF application 302 calculates the CPU usage value of a second server.

[0084] At step 406, the NF application 302 checks if the CPU usage value exceeds a predefined CPU usage threshold value. If the CPU usage value does not exceed the predefined CPU usage threshold value, at step 408, the NF application 302 iteratively keeps checking the CPU usage value until it exceeds the threshold value.

[0085] Further, if the CPU usage value exceeds the predefined CPU usage threshold value, at step 410, the NF application 302 checks if the number of instances corresponding to the CPU usage value exceeding the predefined CPU usage threshold value exceeds within a predefined time period. In an exemplary embodiment, if the CPU usage value is greater than the predefined CPU usage threshold value, the NF application 302 keeps track of the number of such instances.

[0086] In an embodiment, if the number of instances do not surpasses the instance threshold value, at step 408, the NF application 302 iteratively keeps checking the number of instances until it surpasses the instance threshold value.

[0087] Further, if the number of instances surpasses the instance threshold value, at step 412, the NF application 302 requests the HSM to initiate a switchover of the NF application. At step 414, the HSM 304 processes the switchover request received from the NF application 302.

[0088] If the current state of the server on which the NF application 302 is running is in the spare state, then at step 416, the HSM 304 does not perform a switchover of the NF application 302. Further, if the current state of the server on which the NF application 302 is running is in the active state, then at step 418, the HSM 304 switches over the NF application 302 from the active server to the standby server. If the current state of the server on which the NF application 302 is running is in the standby state, then at step 420, the HSM 304 switches over the NF 302 from the standby server to the spare server.

[0089] FIG. 5 illustrates another exemplary flow diagram of a method 500 for NF application switchover between the two or more servers, in accordance with the embodiments of the present disclosure. FIG. 5 is explained in conjunction with the FIGs. 1, 2, 3, and 4.

[0090] At step 502, a Central Processing Unit (CPU) usage value of a server on which the NF application is running is periodically calculated. The calculation is based on a type of the server. The CPU usage value may be a proportion of the total processing power or capacity of the CPU that is currently being utilized by the NF application running on the server.

[0091] At step 504, the CPU usage value is compared with a predefined CPU usage threshold value. The predefined CPU usage threshold value may refer to a specific CPU usage value set in advance as a benchmark or limit beyond which the CPU may be overloaded. In some embodiments, the predefined CPU usage threshold value may be expressed in percentage such as 85%, or on a scale between 0 to 10 such as 8.5.

[0092] In an embodiment, if the CPU usage value does not exceed the predefined CPU usage threshold value, the method 500 may continue to periodically calculate the CPU usage value until the CPU usage value exceeds the predefined CPU usagethreshold value. Further, at step 506, the CPU usage value is determined to exceed the predefined CPU usage threshold value.

[0093] Upon determining the CPU usage value exceeds the predefined CPU usage threshold value, at step 508, a number of instances corresponding to the CPU usage value exceeding the predefined CPU usage threshold value is computed within a predefined time period. The instance may correspond to an event in which the CPU usage value exceeds the predefined CPU usage threshold value within a predefined time period.

[0094] In an embodiment, if the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value do not surpass the instance threshold value, the method 500 may continue to compute the number of instances corresponding to the CPU usage value exceeding the predefined CPU usage threshold value exceeds within a predefined time period. The instance threshold value may be a predefined instance threshold value set in advance beyond which the NF application switchover process is initiated. Further, at step 510, the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses an instance threshold value is determined.

[0095] Upon determining the number of instances surpasses the instance threshold value, at step 512, a request is sent to a resource manager to initiate a switchover of the NF application between two or more servers based on a current state of the server on which the NF application is running, if the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses the instance threshold value. The resource manager is a High Availability State Manager (HSM). The current state of the server on which the NF application is running is one of an active state, a standby state, and a spare state. Further, the request sent to the resource manager may be one of the request to initiate the switchover of the NF application to the standby server, if the current state of the server on which the NF application isrunning is in the active state and the request to initiate the switchover of the NF application to a spare server, if the current state of the server on which the NF application is running is in the standby state.

[0096] In an exemplary embodiment, a plurality of Network Function (NF) applications is deployed to manage different aspects of data and control traffic in the 5G network. The NF applications, such as the Policy Control Function (PCF) or the Charging Function (CHF), are crucial for handling millions of user sessions simultaneously. Each NF application is deployed in a highly available cluster setup that includes an Active server (handling real-time operations), a Standby server (ready to take over), and a Spare server (as backup). Normally, the High Availability State Manager (HSM) oversees the clusters and only initiates a switchover when a server crashes or becomes unresponsive. However, consider a scenario during a festival or live sporting event where millions of users start streaming videos or making video calls simultaneously. The PCF on the Active server experiences a sudden spike in CPU usage due to the increased processing demand. Although the service hasn’t crashed, the high CPU load slows down operations and risks service degradation. In the conventional setup, the HSM may not intervene until a failure occurs, which could lead to dropped sessions or delayed responses. However, the present disclosure is equipped to monitor the CPU usage of its host server in real-time. The present disclosure checks what type of the servers are being used and applies architecture-specific thresholds for CPU usage. If the PCF observes that the CPU usage repeatedly exceeds a pre-set limit, it logs the occurrences and, after confirming consistent overload, the present disclosure requests a switchover from the Active to the Standby server. The switchover happens before the service quality deteriorates significantly, ensuring a seamless experience for end-users.

[0097] FIG. 6 illustrates an exemplary computer system 600 in which or with which embodiments of the present disclosure may be implemented. The computer system 600 may include an external storage device 610, a bus 620, a main memory630, a read-only memory 640, a mass storage device 650, a communication port(s) 660, and a processor 670. A person skilled in the art will appreciate that the computer system 600 may include more than one processor and communication ports. The processor 670 may include various modules associated with embodiments of the present disclosure. The communication port(s) 660 may be any of an RS-232 port for use with a modembased dialup connection, a 10 / 100 Ethernet port, a Gigabit or 10 Gigabit port using copper or fiber, a serial port, a parallel port, or other existing or future ports. The communication ports(s) 660 may be chosen depending on a network, such as a Local Area Network (LAN), Wide Area Network (WAN), or any network to which the computer system 600 connects.

[0098] In some embodiments, the main memory 630 may be Random Access Memory (RAM), or any other dynamic storage device commonly known in the art. The read-only memory 640 may be any static storage device(s) e.g., but not limited to, a Programmable Read Only Memory (PROM) chip for storing static information e.g., start-up or basic input / output system (BIOS) instructions for the processor 670. The mass storage device 650 may be any current or future mass storage solution, which can be used to store information and / or instructions. Exemplary mass storage solutions include, but are not limited to, Parallel Advanced Technology Attachment (PAT A) or Serial Advanced Technology Attachment (SATA) hard disk drives or solid-state drives (internal or external, e.g., having Universal Serial Bus (USB) and / or Lirewire interfaces).

[0099] In some embodiments, the bus 620 may communicatively couple the processor(s) 670 with the other memory, storage, and communication blocks. The bus 620 may be, e.g., a Peripheral Component Interconnect PCI) / PCI Extended (PCI-X) bus, Small Computer System Interface (SCSI), USB, or the like, for connecting expansion cards, drives, and other subsystems as well as other buses, such a front side bus (FSB), which connects the processor 670 to the computer system 600.

[0100] In another embodiment, operator, and administrative interfaces, e.g., a display, keyboard, and cursor control device may also be coupled to the bus 620 to support direct operator interaction with the computer system 600. Other operators and administrative interfaces can be provided through network connections connected through the communication port(s) 660. Components described above are meant only to exemplify various possibilities. In no way should the aforementioned exemplary computer system 600 limit the scope of the present disclosure.

[0101] Ina n exemplary embodiment, a computer program product including a non-transitory computer-readable medium including instructions that, when executed by one or more processors, cause the one or more processors to execute a method for Network Function (NF) application switchover between two or more servers is described. The method includes periodically calculating a Central Processing Unit (CPU) usage value of a server on which the NF application is running. The calculation is based on a type of the server. Further, the method includes comparing the CPU usage value with a predefined CPU usage threshold value. The method further includes determining that the CPU usage value exceeds the predefined CPU usage threshold value. Further, the method includes computing a number of instances corresponding to the CPU usage value exceeding the predefined CPU usage threshold value exceeds within a predefined time period. The method further includes determining whether the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses an instance threshold value. The method further includes sending a request to a resource manager to initiate a switchover of the NF application between two or more servers based on a current state of the server on which the NF application is running, if the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses the instance threshold value.

[0102] While the foregoing describes various embodiments of the invention, other and further embodiments of the invention may be devised without departing from thebasic scope thereof. The scope of the invention is determined by the claims that follow. The invention is not limited to the described embodiments, versions or examples, which are included to enable a person having ordinary skill in the art to make and use the invention when combined with information and knowledge available to the person having ordinary skill in the art.

[0103] The method and system of the present disclosure may be implemented in a number of ways. For example, the methods and systems of the present disclosure may be implemented by software, hardware, firmware, or any combination of software, hardware, and firmware. The above-described order for the steps of the method is for illustration only, and the steps of the method of the present disclosure are not limited to the order specifically described above unless specifically stated otherwise. Further, in some embodiments, the present disclosure may also be embodied as programs recorded in a recording medium, the programs including machine-readable instructions for implementing the methods according to the present disclosure. Thus, the present disclosure also covers a recording medium storing a program for executing the method according to the present disclosure.

[0104] While considerable emphasis has been placed herein on the preferred embodiments, it will be appreciated that many embodiments can be made and that many changes can be made in the preferred embodiments without departing from the principles of the disclosure. These and other changes in the preferred embodiments of the disclosure will be apparent to those skilled in the art from the disclosure herein, whereby it is to be distinctly understood that the foregoing descriptive matter is to be implemented merely as illustrative of the disclosure and not as a limitation.

[0105] The present disclosure provides technical advancement related to a system and method for network function (NF) application switchover between two or more servers such as an active server, a standby server, and a spare server. This advancement addresses the limitations of existing solutions by enabling a proactive switchover ofthe NF applications based on CPU usage trends. The NF applications monitor their own CPU utilization and trigger switchover requests to the HSM when CPU usage crosses a defined threshold. The disclosure involves enabling the NFs to proactively monitor CPU usage of their own servers and request switchover operations based on CPU utilization thresholds as opposed to conventional methods, which only trigger failover / switchover if the NF application crashes or becomes unresponsive, which offer significant improvements in performance, efficiency, cost-effectiveness, network congestion, resource allocation, etc. By implementing a CPU usage-based switchover mechanism, the disclosure enhances the resilience and efficiency of the NF application operations in 5G Core networks. This results in improved resource utilization, reduced risk of application unresponsiveness, and seamless service continuity even under high- load conditions.TECHNICAL ADVANTAGES

[0106] The present disclosure introduces a method and a system that continuously tracks Central Processing Unit (CPU) usage and triggers a switchover of a Network Function (NF) Application when predefined thresholds are exceeded, enhancing network reliability.

[0107] The present disclosure dynamically allocates resources based on real-time CPU utilization, ensuring efficient use of computing power and reducing the risk of service degradation.

[0108] The present disclosure provides a method and a system that supports different server instances for serving NF applications, allowing easy adaptability and scalability across diverse deployment environments.

[0109] The present disclosure offers precise control over switchover processes by identifying the current role of network functions (active, standby, or spare) and initiating appropriate transitions to optimize performance.

[0110] By redistributing workloads in response to CPU usage spikes, the present disclosure prevents bottlenecks and maintains smooth operation across multiple network function instances, leading to better service continuity.

[0111] The present disclosure provides a method and a system that integrates with a High State Availability Manager (HSM) to ensure network functions are always operational, even during high CPU usage events, minimizing downtime.

[0112] The present disclosure provides a method, and a system designed to be easily extensible, allowing for quick updates and optimizations as server architectures evolve or as new requirements emerge.

Claims

CLAIMSWe claim:

1. A method (500) for network function (NF) application (302) switchover between two or more servers, the method comprising: periodically calculating (502), by a calculation unit (212), a Central Processing Unit (CPU) usage value of a server on which the NF application (302) is running, wherein the calculation is based on a type of the server; comparing (504), by the calculation unit (212), the CPU usage value with a predefined CPU usage threshold value; determining (506), by a determination unit (214), that the CPU usage value exceeds the predefined CPU usage threshold value; computing (508), by the determination unit (214), a number of instances corresponding to the CPU usage value exceeding the predefined CPU usage threshold value exceeds within a predefined time period; determining (510), by the determination unit (214), whether the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses an instance threshold value; and sending (512), by a transmission unit (216), a request to a resource manager (304) to initiate a switchover of the NF application (302) between two or more servers based on a current state of the server on which the NF application (302) is running, if the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses the instance threshold value.

2. The method (500) as claimed in claim 1, further comprising:continuing to periodically calculate, by the calculation unit (212), the CPU usage value if the CPU usage value does not exceed the predefined CPU usage threshold value.

3. The method (500) as claimed in claim 1, further comprising: upon determining that the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value do not surpass the instance threshold value, continue computing, by the determination unit (214), the number of instances corresponding to the CPU usage value exceeding the predefined CPU usage threshold value exceeds within a predefined time period.

4. The method (500) as claimed in claim 1, wherein the current state of the server on which the NF application (302) is running is one of an active state, a standby state, and a spare state.

5. The method (500) as claimed in claim 1, wherein sending the request to the resource manager (304) to initiate the switchover of the NF application (302) between the two or more servers comprising one of: sending, by the transmission unit (216), the request to initiate the switchover of the NF application (302) to the standby server, if the current state of the server on which the NF application (302) is running is in the active state; and sending, by the transmission unit (216), the request to initiate the switchover of the NF application (302) to a spare server, if the current state of the server on which the NF application (302) is running is in the standby state.

6. A system (108) for network function (NF) application (302) switchover between two or more servers, the system (108) comprises: a calculation unit (212) configured to:periodically calculate a Central processing Unit (CPU) usage value of a server on which the NF application (302) is running, wherein the calculation is based on a type of the server; compare the CPU usage value with a predefined CPU usage threshold value; a determination unit (214) configured to: determine that the CPU usage value exceeds the predefined CPU usage threshold value; compute a number of instances corresponding to the CPU usage value exceeding the predefined CPU usage threshold value exceeds within a predefined time period; determine whether the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses an instance threshold value; and a transmission unit (216) configured to send a request to a resource manager (304) to initiate a switchover of the NF application (302) between two or more servers based on a current state of the server on which the NF application (302) is running, if the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses the instance threshold value.

7. The system (108) as claimed in claim 6, wherein the calculation unit (212) is further configured to periodically calculate the CPU usage value if the CPU usage value does not exceed the predefined CPU usage threshold value.

8. The system (108) as claimed in claim 6, wherein the determination unit (214) is further configured to compute the number of instances corresponding to the CPUusage value exceeding the predefined CPU usage threshold value exceeds within a predefined time period if the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value do not surpass the instance threshold value.

9. The system (108) as claimed in claim 6, wherein the current state of the server on which the NF application (302) is running is one of an active state, a standby state, and a spare state.

10. The system (108) as claimed in claim 6, wherein to send the request to the resource manager (304) to initiate the switchover of the NF application (302) between the two or more servers, the transmission unit (216) is further configured to one of: send the request to initiate the switchover of the NF application (302) to the standby server, if the current state of the server on which the NF application (302) is running is in the active state; and send the request to initiate the switchover of the NF application (302) to the spare server, if the current state of the server on which the NF application (302) is running is in the standby state.

11. A computer program product comprising a non-transitory computer-readable medium comprising instructions that, when executed by one or more processors, cause the one or more processors to execute a method for Network Function (NF) application (302) switchover between two or more servers, the method comprising: periodically calculating, by a calculation unit (212), a Central Processing Unit (CPU) usage value of a server on which the NF application (302) is running, wherein the calculation is based on a type of the server;comparing, by the calculation unit (212), the CPU usage value with a predefined CPU usage threshold value; determining, by a determination unit (214), that the CPU usage value exceeds the predefined CPU usage threshold value; computing, by the determination unit (214), a number of instances corresponding to the CPU usage value exceeding the predefined CPU usage threshold value exceeds within a predefined time period; determining, by the determination unit (214), whether the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses an instance threshold value; and sending, by a transmission unit (216), a request to a resource manager (304) to initiate a switchover of the NF application (302) between two or more servers based on a current state of the server on which the NF application (302) is running, if the number of instances in which the CPU usage value exceeds the predefined CPU usage threshold value surpasses the instance threshold value.

Citation Information

Patent Citations

  • Customizable high availability switchover control of application delivery controllers

    US20150381407A1

  • Failover processing in a storage system

    US7039827B2