WO2025052452A1 - Method and system for management of load distribution in a network - Google Patents
Method and system for management of load distribution in a network Download PDFInfo
- Publication number
- WO2025052452A1 WO2025052452A1 PCT/IN2024/051649 IN2024051649W WO2025052452A1 WO 2025052452 A1 WO2025052452 A1 WO 2025052452A1 IN 2024051649 W IN2024051649 W IN 2024051649W WO 2025052452 A1 WO2025052452 A1 WO 2025052452A1
- Authority
- WO
- WIPO (PCT)
- Prior art keywords
- group
- instances
- healthy
- sub
- service requests
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1004—Server selection for load balancing
- H04L67/1008—Server selection for load balancing based on parameters of servers, e.g. available memory or workload
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5005—Allocation of resources, e.g. of the central processing unit [CPU] to service a request
- G06F9/5027—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals
- G06F9/505—Allocation of resources, e.g. of the central processing unit [CPU] to service a request the resource being a machine, e.g. CPUs, Servers, Terminals considering the load
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/50—Allocation of resources, e.g. of the central processing unit [CPU]
- G06F9/5061—Partitioning or combining of resources
- G06F9/5077—Logical partitioning of resources; Management or configuration of virtualized resources
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L47/00—Traffic control in data switching networks
- H04L47/10—Flow control; Congestion control
- H04L47/12—Avoiding congestion; Recovering from congestion
- H04L47/125—Avoiding congestion; Recovering from congestion by balancing the load, e.g. traffic engineering
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1029—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers using data related to the state of servers by a load balancer
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/50—Indexing scheme relating to G06F9/50
- G06F2209/508—Monitor
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/10—Protocols in which an application is distributed across nodes in the network
- H04L67/1001—Protocols in which an application is distributed across nodes in the network for accessing one among a plurality of replicated servers
- H04L67/1031—Controlling of the operation of servers by a load balancer, e.g. adding or removing servers that serve requests
Definitions
- the present invention relates to communication network management, more particularly relates to a method and a system for management of load distribution in the communication network.
- a communication network comprises of many network elements which are configured to operate in specific manners to improve credibility of the communication network.
- the network incorporates inventories to safe -keep resources required to perform request processing.
- Inventory Management (IM) service maintains the virtual inventory and limited physical inventory. It maintains the relation between physical and virtual resources with respect to overlay to manage storage memory allocation. Also, it describes physical and virtual resources in view of different attributes using updates from external micro-service. Thus, data accuracy of the inventory management service is dependent upon the micro-services which create, update, delete these resources and at the same time update these events with IM.
- Other services can query IM relations, attributes etc.
- IM Query Application Programming Interface
- API Application Programming Interface
- IM Query Application Programming Interface
- changing configuration of IM using these micro-service causes disruption of service known as downtime.
- the inventory manager in a network is subjected to massive request processing at a particular instance.
- a request sent during a particular instance of high traffic, or an unhealthy instance request may yield unsuccessful or failed results and may cause failure of the system. Therefore, to avoid this type of scenario and to ensure that no server is overworked, a mechanism is required to be implemented that will balance out loads (requests from users) acquired by the inventory management module.
- loads requests from users
- One or more embodiments of the present disclosure provide a method and system for management of load distribution in a network.
- the system for management of load distribution in the network includes a transceiver configured to receive one or more service requests from a user via a User Equipment (UE).
- UE User Equipment
- the system further includes an initiating unit configured to initiate a health monitoring operation on a plurality of instances in the network.
- the system further includes an identification unit configured to identify a group of healthy instances from the plurality of instances in the network based on the initiated health monitoring operation.
- the system further includes a creating unit configured to dynamically create at least one of, a less crowded sub-group and an overcrowded sub-group from the group of healthy instances.
- the system further includes a routing agent configured to route the one or more service requests received from the user to the less crowded sub-group based on dynamic creation of less crowded sub-group and overcrowded subgroup.
- the one or more service requests received from the user corresponds to receiving one or more services from the one or more instances present in the network.
- the group of healthy instances include instances which are at least one of, in an idle and a working condition.
- the creating unit dynamically creates, at least one of, a less crowded sub-group and an overcrowded sub-group from the group of healthy instances, by dynamically identifying, a number of service requests currently being serviced by each of the group of healthy instances. Upon dynamically identifying, comparing, the number of service requests in each of the group of healthy instances with a first pre-defined threshold value.
- the creating unit adds the one or more healthy instances from the group of healthy instances to the less crowded subgroup when the number of service requests currently handled by the respective one or more healthy instances is less than the pre-defined threshold value based on the comparison and adds the one or more healthy instances from the group of healthy instances to the overcrowded sub-group when the number of service requests currently handled by the respective one or more healthy instances is greater than the first predefined threshold value based on the comparison.
- the creating unit periodically compares the number of service requests currently handled by each of the healthy instances present in the less crowded sub-group and the overcrowded subgroup with the first pre-defined threshold value.
- the creating unit dynamically removes the one or more healthy instances present in the less crowded sub-group and adding to the overcrowded sub-group when the number of service requests currently handled by the respective healthy instances is greater than the first pre-defined threshold value and dynamically removes the one or more healthy instances present in the overcrowded sub-group and adding to the less crowded sub-group when the number of service requests currently handled by the respective healthy instances is lesser than the first pre-defined threshold value.
- the creating unit removes the one or more healthy instances present in the group of healthy instances when the respective one or more healthy instances are currently not in the idle or the working condition. Further, the creating unit adds one or more new healthy instances to the less crowded sub-group when a number of one or more healthy instances present in the less crowded sub-group are below a second pre-defined threshold value.
- the identification unit identifies type of instances to which the one or more service requests are required to be routed based on information present in a header of the one or more service requests.
- the method for management of load distribution in the network includes the step of receiving one or more service requests from a user via a User Equipment (UE).
- the method further includes the step of initiating a health monitoring operation on a plurality of instances in the network.
- the method further includes the step of identifying a group of healthy instances from the plurality of instances in the network based on the initiated health monitoring operation.
- the method further includes the step of dynamically creating at least one of, a less crowded sub-group and an overcrowded sub-group from the group of healthy instances.
- the method further includes the step of routing the one or more service requests received from the user to the less crowded sub-group based on dynamic creation of less crowded sub-group and overcrowded subgroup.
- a non-transitory computer-readable medium having stored thereon computer-readable instructions is disclosed.
- the computer-readable instructions are executed by a processor.
- the processor is configured to receive one or more service requests from a user via a User Equipment (UE).
- UE User Equipment
- the processor is configured to initiate a health monitoring operation on a plurality of instances in the network.
- the processor is configured to identify a group of healthy instances from the plurality of instances in the network based on the initiated health monitoring operation.
- the processor is configured to dynamically create at least one of, a less crowded sub-group and an overcrowded sub-group from the group of healthy instances.
- the processor is configured to route the one or more service requests received from the user to the less crowded sub-group.
- UE User Equipment
- the UE includes one or more primary processors communicatively coupled to one or more processors, the one or more primary processors coupled with a memory.
- the processor causes the UE to transmit one or more service requests to the one or more processors.
- the one or more service requests pertain to receiving one or more services from the one or more instances present in the network.
- FIG. 1 is an exemplary block diagram of an environment for management of load distribution in a network, according to one or more embodiments of the present invention
- FIG. 2 is an exemplary block diagram of a system for management of load distribution in the network, according to one or more embodiments of the present invention
- FIG. 3 is a schematic representation of a workflow of the system of FIG. 1, according to the one or more embodiments of the present invention.
- FIG. 4 is an exemplary block diagram of an architecture implemented in the system of the FIG. 2, according to one or more embodiments of the present invention
- FIG. 5 is a signal flow diagram for management of load distribution in the network, according to one or more embodiments of the present invention.
- FIG. 6 is a schematic representation of a method of management of load distribution in the network, according to one or more embodiments of the present invention.
- the present invention comprises of a load balancer interface which is based on micro service architecture and is configured to view the load-scenario and distributes all incoming-outgoing requests to balance load equally in the inventory management service.
- the interface is completely event driven and is based on standard Application Programming Interface (API). In particular, it monitors the health of the instances, and routes traffic only to the healthy instances.
- API Application Programming Interface
- FIG. 1 illustrates an exemplary block diagram of an environment 100 for management of load distribution in a network 106, according to one or more embodiments of the present disclosure.
- the environment 100 includes a User Equipment (UE) 102, a server 104, a network 106 and a system 108 communicably coupled to each other for management of load distribution in the networkl06.
- the load distribution refers to the process of evenly distributing network traffic, or workloads across multiple computing resources such as network links or instances within the network 106.
- the goal of load distribution is to optimize resource usage, minimize response time, and avoid overloading any single resource, which could lead to performance degradation or service interruptions.
- the UE 102 includes, but not limited to, a first UE 102a, a second UE 102b, and a third UE 102c, and should nowhere be construed as limiting the scope of the present disclosure.
- the UE 102 may include a plurality of UEs as per the requirement.
- each of the first UE 102a, the second UE 102b, and the third UE 102c, will hereinafter be collectively and individually referred to as the “User Equipment (UE) 102”.
- UE User Equipment
- the UE 102 is one of, but not limited to, any electrical, electronic, electro-mechanical or an equipment and a combination of one or more of the above devices such as a 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 computing device.
- the environment 100 includes the server 104 accessible via the network 106.
- the server 104 may include, by way of example but not limitation, one or more of a standalone server, a server blade, a server rack, a bank of servers, a server farm, hardware supporting a part of a cloud service or system, a home server, hardware running a virtualized server, one or more processors executing code to function as a server, one or more machines performing server-side functionality as described herein, at least a portion of any of the above, some combination thereof.
- the entity may include, but is not limited to, a vendor, a network operator, a company, an organization, a university, a lab facility, a business enterprise side, a defense facility side, or any other facility that provides service.
- the network 106 includes, 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, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof.
- PSTN Public-Switched Telephone Network
- the network 106 may include, but is not limited to, a Third Generation (3G), a Fourth Generation (4G), a Fifth Generation (5G), a Sixth Generation (6G), a New Radio (NR), a Narrow Band Internet of Things (NB-IoT), an Open Radio Access Network (O-RAN), and the like.
- 3G Third Generation
- 4G Fourth Generation
- 5G Fifth Generation
- 6G Sixth Generation
- NR New Radio
- NB-IoT Narrow Band Internet of Things
- O-RAN Open Radio Access Network
- the network 106 may also 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, a Public- Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, a V OIP or some combination thereof.
- PSTN Public- Switched Telephone Network
- the environment 100 further includes the system 108 communicably coupled to the server 104 and the UE 102 via the network 106.
- the system 108 is configured to manage the load distribution in the network 106.
- the system 108 is adapted to be embedded within the server 104 or embedded as an individual entity.
- FIG. 2 is an exemplary block diagram of the system 108 for management of load distribution in the network 106, according to one or more embodiments of the present invention.
- the system 108 includes one or more processors 202, a memory 204, a user interface 206, and a database 208.
- processors 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, single board computers, and/or any devices that manipulate signals based on operational instructions.
- the processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 204.
- 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 RAM, or non-volatile memory such as disk memory, EPROMs, FLASH memory, unalterable memory, and the like.
- the user interface 206 includes a variety of interfaces, for example, interfaces for a graphical user interface, a web user interface, a Command Line Interface (CLI), and the like.
- the user interface 206 facilitates communication of the system 108.
- the user interface 206 provides a communication pathway for one or more components of the system 108. Examples of such components include, but are not limited to, the UE 102 and the database 208.
- the database 208 is one of, but not limited to, a centralized database, a cloudbased database, a commercial database, an open-source database, a distributed database, an end-user database, a graphical database, a No-Structured Query Language (NoSQL) database, an object-oriented database, a personal database, an in-memory database, a document-based database, a time series database, a wide column database, a key value database, a search database, a cache databases, and so forth.
- NoStructured Query Language NoSQL
- object-oriented database a personal database
- an in-memory database a document-based database
- a time series database a time series database
- a wide column database a key value database
- search database a cache databases
- the processor 202 includes one or more modules/units.
- the one or more modules/units includes, but not limited to, a transceiver 210, an initiating unit 212, an identification unit 214, a creating unit 216, and a routing agent 218 communicably coupled to each other for management of load distribution in the network 106.
- each of the transceiver 210, the initiating unit 212, the identification unit 214, the creating unit 216, and the routing agent 218 can be used in combination or interchangeably for the management of load distribution in the network 106.
- the transceiver 210, the initiating unit 212, the identification unit 214, the creating unit 216, and the routing agent 218 in an embodiment, may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processor 202. In the examples described herein, such combinations of hardware and programming may be implemented in several different ways.
- the programming for the processor 202 may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processor may comprise a processing resource (for example, one or more processors), to execute such instructions.
- the memory 204 may store instructions that, when executed by the processing resource, implement the processor.
- the system 108 may comprise the memory 204 storing the instructions and the processing resource to execute the instructions, or the memory 204 may be separate but accessible to the system 108 and the processing resource.
- the processor 202 may be implemented by electronic circuitry.
- the transceiver 210 is configured to receive one or more service requests from a user via the UE 102.
- the one or more service requests refers to demands or tasks that require processing by the network 106.
- the one or more service requests include, but are not limited to, data transmission requests, session management requests, authentication requests, resource allocation requests, content delivery requests, control and configuration requests, monitoring and analysis requests, service activation requests.
- the one or more service requests received from the user corresponds to receiving one or more services from a plurality of instances present in the network 106.
- the instances refer to individual units within the network 106 that can process or handle one or more service requests.
- the plurality of instances is at least one of, but not limited to, compute instances, storage instances, network function instances, service instances, database instance, edge instance, orchestration instances, cache instances.
- the initiating unit 212 Upon receiving the one or more service requests from the user, the initiating unit 212 is configured to initiate a health monitoring operation.
- the health monitoring operation is initiated on a plurality of instances present in the network 106.
- the health monitoring operation is a process designed to assess status, performance and availability of plurality of instances within the network 106.
- the health monitoring operation ensures that each instance is functioning correctly, is capable of handling service requests, and is not experiencing any issues that could impact its performance or reliability.
- the health monitoring includes, but not limited to, continuous or period checks on multiple parameters such as Central Processing Unit (CPU) usage, memory utilization, network latency, response time, error rates etc.
- CPU Central Processing Unit
- the health monitoring operation is initiated on the plurality of instances by triggering the health monitoring operation.
- the initiating unit 212 evaluates the current state of the plurality of instances before routing the service request to ensure that the request is directed to an instance that is capable of handling the service request effectively.
- the initiating unit 212 identifies the plurality of instances in the network 106 that are relevant to the service requests.
- the health monitoring operation involves running health checks on each selected instance.
- the health checks include automated scripts.
- the automated scripts are the collection of data on the key performance indicators (KPIs) such as CPU and memory usage, disk space and input/output (I/O) operations, network latency and bandwidth, service response time, error logs and status codes.
- KPIs key performance indicators
- I/O input/output
- the data collected from the health monitoring operations are aggregated and analyzed.
- the initiating unit 212 compares the current performance metrics against predefined thresholds to determine the health status of each instance.
- the performance metrics include, but are not limited to, CPU usage, memory utilization, network latency, response time, error rates.
- the predefined thresholds are a specific, predetermined value or set of values used as a benchmark to evaluate the performance, status, or health of instances.
- the predefined threshold includes, but not limited to, the CPU usage threshold, memory utilization threshold, network latency threshold, disk space threshold, error rate threshold, response time threshold. For example, a threshold might be set at 85%, meaning if an instance's CPU usage exceeds 85%, the CPU usage could be considered overloaded or at risk of becoming unresponsive. Based on the comparison if the current performance metrics of the instance of the plurality instances is within the predefined threshold value, then the instance of the plurality of instances is determined as healthy. Alternatively, if the current performance metrics of the instance of the plurality instances exceeds the predefined threshold value, then the instance of the plurality of instances is determined as unhealthy.
- the identification unit 214 identifies the group of healthy instances from the plurality of instances in the network 106.
- the group of healthy instances refers to the subset of instances within the network 106 that have been evaluated through the health monitoring operation and determined as healthy.
- the group of healthy instances include instances which are at least one of, in an idle and a working condition. The instances are considered to be in an idle condition when it is available, and ready to process service requests but is not currently handling any active tasks or service requests. The instances are considered to be in a working condition when it is actively processing service requests, performing tasks, or handling data.
- the creating unit 216 Upon identifying the group of healthy instances from the plurality of instances, the creating unit 216 is configured to dynamically create at least one of a less crowded sub-group and an overcrowded sub-group. The at least one of the less crowded sub-group and the overcrowded sub-group is created from the group of healthy instances.
- the less crowded sub-group consists of healthy instances that are currently underutilized or handle a relatively low number of service requests.
- the overcrowded sub-group consists of healthy instances that are currently highly utilized or handle a large number of service requests.
- the creating unit 216 dynamically creates, at least one of, the less crowded sub-group and the overcrowded sub-group by dynamically identifying a number of service request currently being serviced by each of the group of healthy instances.
- the number of service requests of each of the group of healthy instances is compared with a first pre-defined threshold value.
- the first pre-defined threshold value is a specific predetermined benchmark used to evaluate and categorize the current load on instances within the group of healthy instances based on the number of service requests that the instances are handling.
- the first predefined threshold value is set at 50 service requests. If Instance A is handling 40 service requests, which is below the threshold, it would be categorized into the less crowded sub-group. If Instance B is handling 60 service requests, which exceeds the threshold, it would be categorized into the overcrowded sub-group.
- the first predefined threshold value is set at 50 service requests. If instance A is handling 40 service requests, which is below the threshold, then the instance A would be categorized into the less crowded sub-group. If instance B is handling 60 service requests, which exceeds the threshold, then the instance B would be categorized into the overcrowded sub-group.
- the number of service requests currently handled by each of the healthy instances present in the less crowded sub-group and the overcrowded subgroup is periodically compared with the first pre-defined threshold value.
- the periodic comparison refers to the process of regularly and repeatedly checking or evaluating the number of service requests being handled by each instance in the less crowded and overcrowded sub-groups at regular intervals.
- the one or more healthy instances present in the less crowded sub-group is dynamically removed. Thereafter, the one or more healthy instances present in the less crowded sub-group is added to the overcrowded sub-group.
- the one or more healthy instances present in the overcrowded sub-group is dynamically removed. Thereafter, the one or more healthy instances present in the overcrowded sub-group is added to the less crowded sub-group.
- the system is set to compare the load every 30 seconds. Initially, the instance A is in the less crowded sub-group, handling 45 requests (below the threshold of 50). After 30 seconds, it is re-evaluated and found to be handling 55 requests (now above the threshold). As a result, the instance A is removed from the less crowded group and added to the overcrowded sub-group. Similarly, initially the instance B is in the overcrowded sub-group, handling 60 requests. After the next 30- second interval, its load drops to 48 requests (below the threshold). As a result, the instance B is removed from the overcrowded sub-group and added to the less crowded sub-group.
- the one or more healthy instances is removed from the group of healthy instances.
- the second predefined threshold value is a specific benchmark that indicates the minimum acceptable number of instances that should be present in the less crowded sub-group.
- the second predefined threshold value is set at 5 instances.
- the less crowded sub-group initially contains 6 healthy instances. Later, 2 of the instances from the less crowded sub-group are moved to the overcrowded sub-group. Thus, only 4 instances are left in the less crowded sub-group. Since the number of instances present in the less crowded sub-group is below the second predefined threshold value, the one or more healthy instances from the group of healthy instances is added to the less crowded sub-group.
- the identification unit 214 identifies type of instances based on, but not limited to, head parsing, matching criteria, instance typing, dynamic classification. More specifically, the identification unit 214 identifies type of instances by parsing the header of each incoming one or more service requests to extract relevant information.
- the header typically includes metadata about the request, including service type, priority, user information or specific requirements.
- the predefined criteria are used to determine the most suitable type of instance for handling the request.
- the predefined criteria can include service type, resource requirements, or specific attributes related to the service request.
- the identification unit 214 categorizes the service request into a specific instance type.
- the identification unit 214 also dynamically classifies instances based on current network conditions, such as load, availability, and performance metrics.
- the one or more service requests are routed based on information present in a header of the one or more service requests.
- the type of instances refers to the specific characteristics, roles, or functionalities of different instances within the network 106.
- the type of instances includes, but are not limited to, compute instances, storage instances, database instances, network
- the header of the one or more service requests contains metadata about the request, such as the type of service being requested, the priority level, and any specific requirements or parameters. For example, if the request is for data storage, it would be routed to a storage instance. Subsequently, the routing agent 218 is configured to route the one or more service requests received from the user to the less crowded sub-group based on dynamic creation of less crowded sub-group and overcrowded subgroup.
- the system 108 prevents overload and ensures the efficient utilization of network resources. Further the system 108 prevents service degradation due to overloaded instances. Further, the system 108 improves the flexibility of the network 106 and maximizes the resource utilization. Furthermore, the system 108 reduce the need for manual oversight, leading to lower operational costs and minimizes the human error in the network management.
- FIG. 3 describes a preferred embodiment of the system 108 of FIG. 2, according to various embodiments of the present invention. It is to be noted that the embodiment with respect to FIG. 3 will be explained with respect to the first UE 102a and the system 108 for the purpose of description and illustration and should nowhere be construed as limited to the scope of the present disclosure.
- each of the first UE 102a, the second UE 102b, and the third UE 102c may include an external storage device, a bus, a main memory, a read-only memory, a mass storage device, communication port(s), and a processor.
- the exemplary embodiment as illustrated in FIG. 3 will be explained with respect to the first UE 102a without deviating from the scope of the present disclosure and the limiting the scope of the present disclosure.
- the first UE 102a includes one or more primary processors 302 communicably coupled to the one or more processors 202 of the system 108.
- the one or more processors 202 of the system 108 is configured to manage the load distribution in the network 106.
- the system 108 includes the one or more processors 202, the memory 204, the user interface 206, and the database 208.
- the operations and functions of the one or more processors 202, the memory 204, the user interface 206, and the database 208 are already explained in FIG. 2.
- FIG. 2 For the sake of brevity, a similar description related to the working and operation of the system 108 as illustrated in FIG. 2 has been omitted to avoid repetition.
- the processor 202 includes the transceiver 210, the initiating unit 212, the identification unit 214, the creating unit 216, and the routing agent 218.
- the operations and functions of the transceiver 210, the initiating unit 212, the identification unit 214, the creating unit 216, and the routing agent 218 are already explained in FIG. 2.
- a similar description related to the working and operation of the system 108 as illustrated in FIG. 2 has been omitted to avoid repetition.
- the limited description provided for the system 108 in FIG. 3 should be read with the description as provided for the system 108 in the FIG. 2 above, and should not be construed as limiting the scope of the present disclosure.
- FIG. 4 is an exemplary block diagram of an architecture 400 of the system 108 for management of load distribution in the network 106, according to one or more embodiments of the present invention.
- the architecture 400 includes the user interface (UI) 206, an Identity and Access Management (IAM) 402, an Elastic Load Balancer (ELB) 404, an Event Routing Manager (ERM) 406, a Microservice (MS) 408, an Elastic search cluster 410, an Orchestration and Management (0AM) 412 and a Configuration and Log Management System (CLMS) 414.
- the ELB 404 includes, but not limited to, a ELB 404a, a ELB 404b, a ELB 404c and a ELB 404d.
- the MS 408 includes plurality of MS such as MSI, MS 2... MS N.
- the UI 206 receives the one or more service requests from the user via the UE 102.
- the one or more service requests pertain to receiving one or more services from the plurality of instances present in the network 106.
- the IAM 402 Upon receiving the one or more service requests, the IAM 402 authenticates and authorizes the one or more service requests. In particular IAM 402 ensures that only authorized users can access the services.
- the ELB 404 Upon ensuring the authorization of the user by the IAM 402, the ELB 404 distributes the incoming one or more service request among the various instances in the network 106. Subsequently, the 0AM 412 initiates the health monitoring operation on the plurality of instances in the network 106. Further, the ELB 404 identifies the group of healthy instances from the plurality of instances in the network 106 based on the initiated health monitoring operation with help of ERM 406. In an embodiment, the ERM 406 is responsible for managing the computational and network resources available to the instances. In particular, the ERM 406 allocates resources based on current demand, ensuring that instances are not overwhelmed, and managing the overall resource pool to optimize performance and availability.
- the ELB 404 creates at least one of the less crowded sub group and the overcrowded sub group from the group of healthy instances with the help of ERM 406.
- the ERM 406 manage resources and ensures that the plurality of instances is utilized efficiently. Further, ERM 406 interacts with the load balancers the plurality of instances and the 0AM 412 to monitor the health and status of the plurality of instances.
- the CLMS 414 handles the configuration of the instances and the management of logs that track system operations, service requests, and health monitoring activities.
- the ELB 404 Upon creating the less crowded sub group and the overcrowded sub group, the ELB 404 distributes the one or more service requests to the MS 408.
- MS 408 refers to an individual, independent service or instance within the network 106 that performs a specific, discrete function.
- the MS 408 include plurality of MS 408 such as MS 1 , MS 2... MS N.
- the ELB 404 distributes the one or more service requests to the MS 408 which are healthy and less-crowded. For example, the if the MS 1 is overcrowded, then the one or more service requests are transmitted to the MS 2 or MS N.
- the MS 408 is being served with a pair of ELB 404 i.e., ELB 404c and ELB 404d.
- the ELB 404c and ELB 404d distribute the load on the MS 408 in round robin manner.
- the 0AM 412 helps the ELB 404 in distributing the one or more healthy instances from the group of healthy instances to the less crowded subgroup when the number of service requests currently handled by the respective one or more healthy instances is less than the pre-defined threshold.
- the 0AM 412 helps the ELB 404 in distributing the one or more healthy instances from the group of healthy instances to the overcrowded sub-group when the number of service requests currently handled by the respective one or more healthy instances is greater than the pre-defined threshold.
- the 0AM 412 also helps in removing the one or more healthy instance from the less crowded sub-group and adding to the overcrowded subgroup when the number of service requests currently handled by the respective healthy instances is greater than the first pre-defined threshold value.
- the 0AM 412 helps in removing the one or more healthy instance from the overcrowded subgroup and adding to the less crowded subgroup when the number of service requests currently handled by the respective healthy instances is less than the first pre-defined threshold value.
- the OAM 412 identifies the health and load of the
- MS 408 and ELB 404 distributes the one or more service requests accordingly.
- the OAM 412 detects it and broadcasts the status to other running MS 408 instances and also the ELB 404 serving the MS 408.
- the ELB 404 as such distributes the ingress traffic on the remaining available instances.
- one of the available MS instances takes the ownership of the instance which has gone down.
- the available MS instance fetches the state information of the incomplete transaction being served by the instance gone down from elastic search cluster 410 and re-executes them. For example, if the MS 1 goes down, the MS 2 takes over the requests handled by the MS 1 and processes the incomplete requests of the MS 1.
- the MS 2 fetches the information of the incomplete requests from the elastic search cluster 410.
- the MS 408 interacts with elastic search cluster 410 to process the one or more service requests.
- the elastic search cluster 410 acts as the database 208 and stores the data.
- the elastic search cluster 410 used for indexing, searching, and analyzing log data or real-time monitoring data generated by the various instances in the network 106.
- the elastic search cluster 410 allows for efficient retrieval of information related to instance health, load levels, and other metrics, aiding in the health monitoring and dynamic subgroup creation processes.
- the MS 408 retrieves the data relevant for processing the one or more service requests.
- FIG. 5 is a signal flow diagram for management of load distribution in the network 106, according to one or more embodiments of the present invention.
- the UI 206 receives the one or more service requests from the user via the UE 102.
- the one or more service requests is at least one of Hypertext Transfer Protocol (HTTP) request.
- HTTP Hypertext Transfer Protocol
- the UI 206 transmits the one or more service request to the load balancer.
- the load balancer is at least one of ELB (404a, 404b, 404c, 404d).
- the UI 206 is at least one of, a Northbound Interface (NBI).
- NBI refers to the interface that allows higher-level systems or external applications to communicate with and control the network management system.
- the load balancer monitors the health of the instances by initiating the health monitoring operation on the plurality of instances in the network 106. Based on the health monitoring operation the load balancer identifies the group of healthy instances from the plurality of instances in the network 106. Further, the load balancer distributes the one or more service requests to the healthy instances from the plurality of instances.
- the less crowded sub-group and the overcrowded subgroup are created from the plurality of healthy instances.
- the load balancer dynamically manages the load by routing the requests to the less crowded sub-group when the number of service requests currently handled by the respective one or more healthy instances is less than the pre-defined threshold value based on the comparison.
- the load balancer dynamically manages the load by routing the requests to the overcrowded sub-group when the number of service requests currently handled by the respective one or more healthy instances is greater than the first pre-defined threshold value based on the comparison.
- the orchestrator manager monitors the plurality of instances and the load on the plurality of instances. Further, the orchestrator manager alerts the load balancer for any addition of new healthy instances or the removal of the healthy instances which are not in working condition.
- the load balancer distributes the one or more service requests to the healthy instances using the IN_LB interface.
- the IN_LB interface is an interface within the load balancer that is responsible for managing the routing and distribution of service requests to the appropriate instances within the network 106.
- the healthy instance is at least one of inventory instances.
- the load balancer identifies the type of instances to which the one or more service requests are required to route based on the information present in the header of the one or more service requests.
- FIG. 6 is a flow diagram of a method 600 for management of load distribution in the network 106, according to one or more embodiments of the present invention.
- the method 600 is described with the embodiments as illustrated in FIG. 2 and should nowhere be construed as limiting the scope of the present disclosure.
- the method 600 includes the step of receiving the one or more service requests from the user via the UE 102 by the transceiver 210.
- the one or more service requests received from the user corresponds to receiving one or more services from the one or more instances present in the network 106.
- the method 600 includes the step of identifying the group of healthy instances from the plurality of instances in the network 106 based on the initiated health monitoring operation by the identification unit 214.
- the group of healthy instances include instances which are at least one of, in the idle and the working condition.
- the creating unit 216 removes the one or more healthy instances present in the group of healthy instances when the respective one or more healthy instances are currently not in the idle or the working condition. In an embodiment, the creating unit 216 adds the one or more new healthy instances to the less crowded sub-group when a number of one or more healthy instances present in the less crowded sub-group are below a second pre-defined threshold value. [0087] At step 610, the method 600 includes the step of routing the one or more service requests received from the user to the less crowded sub-group by the routing agent 218 based on dynamic creation of less crowded sub-group and overcrowded subgroup. In an embodiment, identification unit 214 identifies type of instances to which the one or more service requests to be routed based on information present in a header of the one or more service requests.
- the present invention further discloses a non-transitory computer-readable medium having stored thereon computer-readable instructions.
- the computer- readable instructions are executed by the processor 202.
- the processor 202 is configured to receive the one or more service requests from the user via the UE 102.
- the processor 202 is further configured to initiate the health monitoring operation on the plurality of instances in the network 106.
- the processor 202 is further configured to identify the group of healthy instances from the plurality of instances in the network 106 based on the initiated health monitoring operation.
- the processor 202 is further configured to dynamically create at least one of the less crowded sub-group and an overcrowded sub-group from the group of healthy instances.
- the processor 202 is further configured to route the one or more service requests received from the user to the less crowded sub-group.
- FIG.1-6 A person of ordinary skill in the art will readily ascertain that the illustrated embodiments and steps in description and drawings (FIG.1-6) are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
- the present disclosure incorporates technical advancement of proper managing the loads/requests by the way of assignment/creation/ update/removal of instances through the load balancer for all the operation which can be performed on Management and Orchestration (MANO) for various network functions flows.
- the present invention minimizes the error and manual interventions.
- the present invention provides flexibility to support HTTP/HTTPS in parallel as per user requirement. Further, the present invention provides easy and efficient routing client requests across all the servers in a manner that the processor speed is maximized, and utilization capacity will be increased.
- the present invention includes fault tolerance for any event failure, and also works in a high availability mode to accommodate downtime of an inventory. Further, the present invention implements header-based routing which saves time and database hits.
- the present invention offers multiple advantages over the prior art and the above listed are a few examples to emphasize on some of the advantageous features.
- the listed advantages are to be read in a non-limiting manner.
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Computer Hardware Design (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
The present disclosure relates to a system (108) and a method (600) for management of load distribution in a network (106) The system (108) includes a transceiver (210) to receive one or more service requests from a user via a User Equipment (UE) (102). The system (108) includes an initiating unit (212) to initiate a health monitoring operation on a plurality of instances in the network. The system (108) includes an identification unit (214) to identify a group of healthy instances from the plurality of instances in the network based on the initiated health monitoring operation. The system (108) includes a creating unit (216) to dynamically create at least one of, a less crowded sub-group and an overcrowded sub-group from the group of healthy instances. The system (108) includes a routing agent (218) to route the one or more service requests received from the user to the less crowded sub-group.
Description
METHOD AND SYSTEM FOR MANAGEMENT OF LOAD DISTRIBUTION
IN A NETWORK
FIELD OF THE INVENTION
[0001] The present invention relates to communication network management, more particularly relates to a method and a system for management of load distribution in the communication network.
BACKGROUND OF THE INVENTION
[0002] With the increase in number of users, a communication network is rapidly evolving to accommodate the surge of request commands and improve user experience. A communication network comprises of many network elements which are configured to operate in specific manners to improve credibility of the communication network. The network incorporates inventories to safe -keep resources required to perform request processing. Inventory Management (IM) service maintains the virtual inventory and limited physical inventory. It maintains the relation between physical and virtual resources with respect to overlay to manage storage memory allocation. Also, it describes physical and virtual resources in view of different attributes using updates from external micro-service. Thus, data accuracy of the inventory management service is dependent upon the micro-services which create, update, delete these resources and at the same time update these events with IM. Other services can query IM relations, attributes etc. using Query Application Programming Interface (API) provided by IM. However, changing configuration of IM using these micro-service causes disruption of service known as downtime. The inventory manager in a network is subjected to massive request processing at a particular instance. In some cases, a request sent during a particular instance of high traffic, or an unhealthy instance request may yield unsuccessful or failed results and may cause failure of the system. Therefore, to avoid this type of scenario and to ensure that no
server is overworked, a mechanism is required to be implemented that will balance out loads (requests from users) acquired by the inventory management module. There is a need for a system having an interface to access available resources and via which incoming-outgoing requests may be easily distributed among all inventory instances, and a method to manage the load efficiently.
[0003] Presently, there is no mechanism available where the load can be swiftly distributed amongst the network elements like servers via an interface with access to inventory resources and with provision of user flexibility. There is a need for a mechanism to perform simultaneous load distribution by means of micro-service interfaces when an inventory is running and processing requests. The said mechanism should be capable of on demand FCAPS (fault, configuration, accounting, performance, and security) Management and on demand registration/deregistration with Orchestration and Management (0AM) service, which would increase network efficiency. Thus, there is requirement of a system and a method to manage load distribution in order to avoid overload of requests and related resources in the inventory and servers, via an interface without any possible service disruption and that can be performed with ease and without consuming too much time, so that operation efficacy of a network improves.
SUMMARY OF THE INVENTION
[0004] One or more embodiments of the present disclosure provide a method and system for management of load distribution in a network.
[0005] In one aspect of the present invention, the system for management of load distribution in the network is disclosed. The system includes a transceiver configured to receive one or more service requests from a user via a User Equipment (UE). The system further includes an initiating unit configured to initiate a health monitoring operation on a plurality of instances in the network. The system further includes an identification unit configured to identify a group of healthy instances from the plurality of instances in the network based on the initiated health monitoring operation. The
system further includes a creating unit configured to dynamically create at least one of, a less crowded sub-group and an overcrowded sub-group from the group of healthy instances. The system further includes a routing agent configured to route the one or more service requests received from the user to the less crowded sub-group based on dynamic creation of less crowded sub-group and overcrowded subgroup.
[0006] In an embodiment, the one or more service requests received from the user corresponds to receiving one or more services from the one or more instances present in the network.
[0007] In an embodiment, the group of healthy instances include instances which are at least one of, in an idle and a working condition.
[0008] In an embodiment, the creating unit, dynamically creates, at least one of, a less crowded sub-group and an overcrowded sub-group from the group of healthy instances, by dynamically identifying, a number of service requests currently being serviced by each of the group of healthy instances. Upon dynamically identifying, comparing, the number of service requests in each of the group of healthy instances with a first pre-defined threshold value. Thereafter, the creating unit adds the one or more healthy instances from the group of healthy instances to the less crowded subgroup when the number of service requests currently handled by the respective one or more healthy instances is less than the pre-defined threshold value based on the comparison and adds the one or more healthy instances from the group of healthy instances to the overcrowded sub-group when the number of service requests currently handled by the respective one or more healthy instances is greater than the first predefined threshold value based on the comparison. Subsequently, the creating unit periodically compares the number of service requests currently handled by each of the healthy instances present in the less crowded sub-group and the overcrowded subgroup with the first pre-defined threshold value.
[0009] In an embodiment, upon periodically comparing the number of service requests, the creating unit dynamically removes the one or more healthy instances present in the less crowded sub-group and adding to the overcrowded sub-group when the number of service requests currently handled by the respective healthy instances is greater than the first pre-defined threshold value and dynamically removes the one or more healthy instances present in the overcrowded sub-group and adding to the less crowded sub-group when the number of service requests currently handled by the respective healthy instances is lesser than the first pre-defined threshold value.
[0010] Further, the creating unit removes the one or more healthy instances present in the group of healthy instances when the respective one or more healthy instances are currently not in the idle or the working condition. Further, the creating unit adds one or more new healthy instances to the less crowded sub-group when a number of one or more healthy instances present in the less crowded sub-group are below a second pre-defined threshold value.
[0011] In an embodiment, the identification unit identifies type of instances to which the one or more service requests are required to be routed based on information present in a header of the one or more service requests.
[0012] In another aspect of the present invention, the method for management of load distribution in the network is disclosed. The method includes the step of receiving one or more service requests from a user via a User Equipment (UE). The method further includes the step of initiating a health monitoring operation on a plurality of instances in the network. The method further includes the step of identifying a group of healthy instances from the plurality of instances in the network based on the initiated health monitoring operation. The method further includes the step of dynamically creating at least one of, a less crowded sub-group and an overcrowded sub-group from the group of healthy instances. The method further includes the step of routing the one or more service requests received from the user to the less crowded sub-group based on dynamic creation of less crowded sub-group and overcrowded subgroup.
[0013] In another aspect of the invention, a non-transitory computer-readable medium having stored thereon computer-readable instructions is disclosed. The computer-readable instructions are executed by a processor. The processor is configured to receive one or more service requests from a user via a User Equipment (UE). The processor is configured to initiate a health monitoring operation on a plurality of instances in the network. The processor is configured to identify a group of healthy instances from the plurality of instances in the network based on the initiated health monitoring operation. The processor is configured to dynamically create at least one of, a less crowded sub-group and an overcrowded sub-group from the group of healthy instances. The processor is configured to route the one or more service requests received from the user to the less crowded sub-group.
[0014] In another aspect of invention, User Equipment (UE) is disclosed. The UE includes one or more primary processors communicatively coupled to one or more processors, the one or more primary processors coupled with a memory. The processor causes the UE to transmit one or more service requests to the one or more processors. The one or more service requests pertain to receiving one or more services from the one or more instances present in the network.
[0015] Other features and aspects of this invention will be apparent from the following description and the accompanying drawings. The features and advantages described in this summary and in the following detailed description are not all- inclusive, and particularly, many additional features and advantages will be apparent to one of ordinary skill in the relevant art, in view of the drawings, specification, and claims hereof. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes and may not have been selected to delineate or circumscribe the inventive subject matter, resort to the claims being necessary to determine such inventive subject matter.
BRIEF DESCRIPTION OF THE DRAWINGS
[0016] 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.
[0017] FIG. 1 is an exemplary block diagram of an environment for management of load distribution in a network, according to one or more embodiments of the present invention;
[0018] FIG. 2 is an exemplary block diagram of a system for management of load distribution in the network, according to one or more embodiments of the present invention;
[0019] FIG. 3 is a schematic representation of a workflow of the system of FIG. 1, according to the one or more embodiments of the present invention;
[0020] FIG. 4 is an exemplary block diagram of an architecture implemented in the system of the FIG. 2, according to one or more embodiments of the present invention;
[0021] FIG. 5 is a signal flow diagram for management of load distribution in the network, according to one or more embodiments of the present invention; and
[0022] FIG. 6 is a schematic representation of a method of management of load distribution in the network, according to one or more embodiments of the present invention.
[0023] The foregoing shall be more apparent from the following detailed description of the invention.
DETAILED DESCRIPTION OF THE INVENTION
[0024] Some embodiments of the present disclosure, illustrating all its features, will now be discussed in detail. It must also be noted that as used herein and in the appended claims, the singular forms "a", "an" and "the" include plural references unless the context clearly dictates otherwise.
[0025] Various modifications to the embodiment will be readily apparent to those skilled in the art and the generic principles herein may be applied to other embodiments. However, one of ordinary skill in the art will readily recognize that the present disclosure including the definitions listed here below are not intended to be limited to the embodiments illustrated but is to be accorded the widest scope consistent with the principles and features described herein.
[0026] A person of ordinary skill in the art will readily ascertain that the illustrated steps detailed in the figures and here below are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0027] The present invention comprises of a load balancer interface which is based on micro service architecture and is configured to view the load-scenario and
distributes all incoming-outgoing requests to balance load equally in the inventory management service. The interface is completely event driven and is based on standard Application Programming Interface (API). In particular, it monitors the health of the instances, and routes traffic only to the healthy instances.
[0028] FIG. 1 illustrates an exemplary block diagram of an environment 100 for management of load distribution in a network 106, according to one or more embodiments of the present disclosure. In this regard, the environment 100 includes a User Equipment (UE) 102, a server 104, a network 106 and a system 108 communicably coupled to each other for management of load distribution in the networkl06. The load distribution refers to the process of evenly distributing network traffic, or workloads across multiple computing resources such as network links or instances within the network 106. The goal of load distribution is to optimize resource usage, minimize response time, and avoid overloading any single resource, which could lead to performance degradation or service interruptions.
[0029] As per the illustrated embodiment and for the purpose of description and illustration, the UE 102 includes, but not limited to, a first UE 102a, a second UE 102b, and a third UE 102c, and should nowhere be construed as limiting the scope of the present disclosure. In alternate embodiments, the UE 102 may include a plurality of UEs as per the requirement. For ease of reference, each of the first UE 102a, the second UE 102b, and the third UE 102c, will hereinafter be collectively and individually referred to as the “User Equipment (UE) 102”.
[0030] In an embodiment, the UE 102 is one of, but not limited to, any electrical, electronic, electro-mechanical or an equipment and a combination of one or more of the above devices such as a 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 computing device.
[0031] The environment 100 includes the server 104 accessible via the network 106. The server 104 may include, by way of example but not limitation, one or more of a standalone server, a server blade, a server rack, a bank of servers, a server farm, hardware supporting a part of a cloud service or system, a home server, hardware running a virtualized server, one or more processors executing code to function as a server, one or more machines performing server-side functionality as described herein, at least a portion of any of the above, some combination thereof. In an embodiment, the entity may include, but is not limited to, a vendor, a network operator, a company, an organization, a university, a lab facility, a business enterprise side, a defense facility side, or any other facility that provides service.
[0032] The network 106 includes, 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, a Public-Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, or some combination thereof. The network 106 may include, but is not limited to, a Third Generation (3G), a Fourth Generation (4G), a Fifth Generation (5G), a Sixth Generation (6G), a New Radio (NR), a Narrow Band Internet of Things (NB-IoT), an Open Radio Access Network (O-RAN), and the like.
[0033] The network 106 may also 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, a Public- Switched Telephone Network (PSTN), a cable network, a cellular network, a satellite network, a fiber optic network, a V OIP or some combination thereof.
[0034] The environment 100 further includes the system 108 communicably coupled to the server 104 and the UE 102 via the network 106. The system 108 is configured to manage the load distribution in the network 106. As per one or more embodiments, the system 108 is adapted to be embedded within the server 104 or embedded as an individual entity.
[0035] Operational and construction features of the system 108 will be explained in detail with respect to the following figures.
[0036] FIG. 2 is an exemplary block diagram of the system 108 for management of load distribution in the network 106, according to one or more embodiments of the present invention.
[0037] As per the illustrated embodiment, the system 108 includes one or more processors 202, a memory 204, a user interface 206, and a database 208. For the purpose of description and explanation, the description will be explained with respect to one processor 202 and should nowhere be construed as limiting the scope of the present disclosure. In alternate embodiments, the system 108 may include more than one processor 202 as per the requirement of the network 106. The one or more processors 202, hereinafter referred to as the processor 202 may be implemented as one or more microprocessors, microcomputers, microcontrollers, digital signal processors, central processing units, state machines, logic circuitries, single board computers, and/or any devices that manipulate signals based on operational instructions.
[0038] As per the illustrated embodiment, the processor 202 is configured to fetch and execute computer-readable instructions stored in the memory 204. 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 RAM, or non-volatile memory such as disk memory, EPROMs, FLASH memory, unalterable memory, and the like.
[0039] In an embodiment, the user interface 206 includes a variety of interfaces, for example, interfaces for a graphical user interface, a web user interface, a Command Line Interface (CLI), and the like. The user interface 206 facilitates communication of the system 108. In one embodiment, the user interface 206 provides a communication pathway for one or more components of the system 108. Examples of such components include, but are not limited to, the UE 102 and the database 208.
[0040] The database 208 is one of, but not limited to, a centralized database, a cloudbased database, a commercial database, an open-source database, a distributed database, an end-user database, a graphical database, a No-Structured Query Language (NoSQL) database, an object-oriented database, a personal database, an in-memory database, a document-based database, a time series database, a wide column database, a key value database, a search database, a cache databases, and so forth. The foregoing examples of database 208 types are non-limiting and may not be mutually exclusive e.g., a database can be both commercial and cloud-based, or both relational and open- source, etc.
[0041] In order for the system 108 to manage load distribution in the network 106, the processor 202 includes one or more modules/units. In one embodiment, the one or more modules/units includes, but not limited to, a transceiver 210, an initiating unit 212, an identification unit 214, a creating unit 216, and a routing agent 218 communicably coupled to each other for management of load distribution in the network 106.
[0042] In one embodiment, each of the transceiver 210, the initiating unit 212, the identification unit 214, the creating unit 216, and the routing agent 218 can be used in combination or interchangeably for the management of load distribution in the network 106.
[0043] The transceiver 210, the initiating unit 212, the identification unit 214, the creating unit 216, and the routing agent 218 in an embodiment, may be implemented as a combination of hardware and programming (for example, programmable instructions) to implement one or more functionalities of the processor 202. In the examples described herein, such combinations of hardware and programming may be implemented in several different ways. For example, the programming for the processor 202 may be processor-executable instructions stored on a non-transitory machine-readable storage medium and the hardware for the processor may comprise a processing resource (for example, one or more processors), to execute such instructions. In the present examples, the memory 204 may store instructions that, when executed by the processing resource, implement the processor. In such examples, the system 108 may comprise the memory 204 storing the instructions and the processing resource to execute the instructions, or the memory 204 may be separate but accessible to the system 108 and the processing resource. In other examples, the processor 202 may be implemented by electronic circuitry.
[0044] In one embodiment, the transceiver 210 is configured to receive one or more service requests from a user via the UE 102. The one or more service requests refers to demands or tasks that require processing by the network 106. The one or more service requests include, but are not limited to, data transmission requests, session management requests, authentication requests, resource allocation requests, content delivery requests, control and configuration requests, monitoring and analysis requests, service activation requests. In an embodiment, the one or more service requests received from the user corresponds to receiving one or more services from a plurality of instances present in the network 106. The instances refer to individual units within the network 106 that can process or handle one or more service requests. The plurality of instances is at least one of, but not limited to, compute instances, storage instances, network function instances, service instances, database instance, edge instance, orchestration instances, cache instances.
[0045] Upon receiving the one or more service requests from the user, the initiating unit 212 is configured to initiate a health monitoring operation. The health monitoring operation is initiated on a plurality of instances present in the network 106. The health monitoring operation is a process designed to assess status, performance and availability of plurality of instances within the network 106. The health monitoring operation ensures that each instance is functioning correctly, is capable of handling service requests, and is not experiencing any issues that could impact its performance or reliability. The health monitoring includes, but not limited to, continuous or period checks on multiple parameters such as Central Processing Unit (CPU) usage, memory utilization, network latency, response time, error rates etc.
[0046] In an embodiment, the health monitoring operation is initiated on the plurality of instances by triggering the health monitoring operation. In particular, the initiating unit 212 evaluates the current state of the plurality of instances before routing the service request to ensure that the request is directed to an instance that is capable of handling the service request effectively. Upon evaluating, the initiating unit 212 identifies the plurality of instances in the network 106 that are relevant to the service requests. Thereafter, the health monitoring operation involves running health checks on each selected instance. The health checks include automated scripts. The automated scripts are the collection of data on the key performance indicators (KPIs) such as CPU and memory usage, disk space and input/output (I/O) operations, network latency and bandwidth, service response time, error logs and status codes. Subsequently, the data collected from the health monitoring operations are aggregated and analyzed. In particular, the initiating unit 212 compares the current performance metrics against predefined thresholds to determine the health status of each instance.
[0047] The performance metrics include, but are not limited to, CPU usage, memory utilization, network latency, response time, error rates. The predefined thresholds are a specific, predetermined value or set of values used as a benchmark to evaluate the performance, status, or health of instances. The predefined threshold includes, but not limited to, the CPU usage threshold, memory utilization threshold, network latency
threshold, disk space threshold, error rate threshold, response time threshold. For example, a threshold might be set at 85%, meaning if an instance's CPU usage exceeds 85%, the CPU usage could be considered overloaded or at risk of becoming unresponsive. Based on the comparison if the current performance metrics of the instance of the plurality instances is within the predefined threshold value, then the instance of the plurality of instances is determined as healthy. Alternatively, if the current performance metrics of the instance of the plurality instances exceeds the predefined threshold value, then the instance of the plurality of instances is determined as unhealthy.
[0048] Upon initiating the health monitoring operation, the identification unit 214 identifies the group of healthy instances from the plurality of instances in the network 106. The group of healthy instances refers to the subset of instances within the network 106 that have been evaluated through the health monitoring operation and determined as healthy. In an embodiment, the group of healthy instances include instances which are at least one of, in an idle and a working condition. The instances are considered to be in an idle condition when it is available, and ready to process service requests but is not currently handling any active tasks or service requests. The instances are considered to be in a working condition when it is actively processing service requests, performing tasks, or handling data.
[0049] Upon identifying the group of healthy instances from the plurality of instances, the creating unit 216 is configured to dynamically create at least one of a less crowded sub-group and an overcrowded sub-group. The at least one of the less crowded sub-group and the overcrowded sub-group is created from the group of healthy instances. The less crowded sub-group consists of healthy instances that are currently underutilized or handle a relatively low number of service requests. The overcrowded sub-group consists of healthy instances that are currently highly utilized or handle a large number of service requests.
[0050] In an embodiment, the creating unit 216 dynamically creates, at least one of, the less crowded sub-group and the overcrowded sub-group by dynamically identifying a number of service request currently being serviced by each of the group of healthy instances. Upon identifying the number of requests currently being serviced by each of the group of healthy instances, the number of service requests of each of the group of healthy instances is compared with a first pre-defined threshold value. The first pre-defined threshold value is a specific predetermined benchmark used to evaluate and categorize the current load on instances within the group of healthy instances based on the number of service requests that the instances are handling. For example, the first predefined threshold value is set at 50 service requests. If Instance A is handling 40 service requests, which is below the threshold, it would be categorized into the less crowded sub-group. If Instance B is handling 60 service requests, which exceeds the threshold, it would be categorized into the overcrowded sub-group.
[0051] Based on comparison, when the number of service requests currently handled by the respective one or more healthy instances is less than the pre-defined threshold value, then the one or more healthy instances from the group of instances are added to the less crowded sub-group. Alternatively, when the number of service requests currently handled by the respective one or more healthy instances is greater than the first pre-defined threshold value, then the one or more healthy instances from the group of instances are added to the overcrowded sub-group. For example, the first predefined threshold value is set at 50 service requests. If instance A is handling 40 service requests, which is below the threshold, then the instance A would be categorized into the less crowded sub-group. If instance B is handling 60 service requests, which exceeds the threshold, then the instance B would be categorized into the overcrowded sub-group.
[0052] Thereafter, the number of service requests currently handled by each of the healthy instances present in the less crowded sub-group and the overcrowded subgroup is periodically compared with the first pre-defined threshold value. The periodic
comparison refers to the process of regularly and repeatedly checking or evaluating the number of service requests being handled by each instance in the less crowded and overcrowded sub-groups at regular intervals.
[0053] Upon comparison, when the number of service requests currently handled by the respective healthy instances is greater than the first pre-defined threshold value, then the one or more healthy instances present in the less crowded sub-group is dynamically removed. Thereafter, the one or more healthy instances present in the less crowded sub-group is added to the overcrowded sub-group. Similarly, when the number of service requests currently handled by the respective healthy instances is less than the first pre-defined threshold value, the one or more healthy instances present in the overcrowded sub-group is dynamically removed. Thereafter, the one or more healthy instances present in the overcrowded sub-group is added to the less crowded sub-group.
[0054] For example, the system is set to compare the load every 30 seconds. Initially, the instance A is in the less crowded sub-group, handling 45 requests (below the threshold of 50). After 30 seconds, it is re-evaluated and found to be handling 55 requests (now above the threshold). As a result, the instance A is removed from the less crowded group and added to the overcrowded sub-group. Similarly, initially the instance B is in the overcrowded sub-group, handling 60 requests. After the next 30- second interval, its load drops to 48 requests (below the threshold). As a result, the instance B is removed from the overcrowded sub-group and added to the less crowded sub-group.
[0055] In an embodiment, when the respective one or more healthy instances are currently not in the idle or the working condition then, the one or more healthy instances is removed from the group of healthy instances.
[0056] In an embodiment, when a number of one or more healthy instances present in the less crowded sub-group are below a second pre-defined threshold value, then
the one or more new healthy instances are added to the less crowded sub-group. The second predefined threshold value is a specific benchmark that indicates the minimum acceptable number of instances that should be present in the less crowded sub-group. For example, the second predefined threshold value is set at 5 instances. The less crowded sub-group initially contains 6 healthy instances. Later, 2 of the instances from the less crowded sub-group are moved to the overcrowded sub-group. Thus, only 4 instances are left in the less crowded sub-group. Since the number of instances present in the less crowded sub-group is below the second predefined threshold value, the one or more healthy instances from the group of healthy instances is added to the less crowded sub-group.
[0057] In an embodiment, the identification unit 214 identifies type of instances based on, but not limited to, head parsing, matching criteria, instance typing, dynamic classification. More specifically, the identification unit 214 identifies type of instances by parsing the header of each incoming one or more service requests to extract relevant information. The header typically includes metadata about the request, including service type, priority, user information or specific requirements. Upon parsing the identification unit 214 matches the extracted header information against predefined criteria or rules stored in the database 208. The predefined criteria are used to determine the most suitable type of instance for handling the request. The predefined criteria can include service type, resource requirements, or specific attributes related to the service request. Based on the matching criteria, the identification unit 214 categorizes the service request into a specific instance type. The identification unit 214 also dynamically classifies instances based on current network conditions, such as load, availability, and performance metrics.
[0058] Upon identifying the type of instances, the one or more service requests are routed based on information present in a header of the one or more service requests. The type of instances refers to the specific characteristics, roles, or functionalities of different instances within the network 106. The type of instances includes, but are not limited to, compute instances, storage instances, database instances, network
Y1
instances, application instances, real-time processing instances. The header of the one or more service requests contains metadata about the request, such as the type of service being requested, the priority level, and any specific requirements or parameters. For example, if the request is for data storage, it would be routed to a storage instance. Subsequently, the routing agent 218 is configured to route the one or more service requests received from the user to the less crowded sub-group based on dynamic creation of less crowded sub-group and overcrowded subgroup.
[0059] Therefore, by managing the load distribution in the network 106, the system 108 prevents overload and ensures the efficient utilization of network resources. Further the system 108 prevents service degradation due to overloaded instances. Further, the system 108 improves the flexibility of the network 106 and maximizes the resource utilization. Furthermore, the system 108 reduce the need for manual oversight, leading to lower operational costs and minimizes the human error in the network management.
[0060] FIG. 3 describes a preferred embodiment of the system 108 of FIG. 2, according to various embodiments of the present invention. It is to be noted that the embodiment with respect to FIG. 3 will be explained with respect to the first UE 102a and the system 108 for the purpose of description and illustration and should nowhere be construed as limited to the scope of the present disclosure.
[0061] As mentioned earlier in FIG. 1, each of the first UE 102a, the second UE 102b, and the third UE 102c may include an external storage device, a bus, a main memory, a read-only memory, a mass storage device, communication port(s), and a processor. The exemplary embodiment as illustrated in FIG. 3 will be explained with respect to the first UE 102a without deviating from the scope of the present disclosure and the limiting the scope of the present disclosure. The first UE 102a includes one or more primary processors 302 communicably coupled to the one or more processors 202 of the system 108.
[0062] The one or more primary processors 302 are coupled with a memory 304 storing instructions which are executed by the one or more primary processors 302. Execution of the stored instructions by the one or more primary processors 302 enables the first UE 102a to transmit the one or more service requests to the one or more processors 202. The one or more service requests pertain to receiving one or more services from the one or more instances present in the network 106.
[0063] As mentioned earlier in FIG. 2, the one or more processors 202 of the system 108 is configured to manage the load distribution in the network 106. As per the illustrated embodiment, the system 108 includes the one or more processors 202, the memory 204, the user interface 206, and the database 208. The operations and functions of the one or more processors 202, the memory 204, the user interface 206, and the database 208 are already explained in FIG. 2. For the sake of brevity, a similar description related to the working and operation of the system 108 as illustrated in FIG. 2 has been omitted to avoid repetition.
[0064] Further, the processor 202 includes the transceiver 210, the initiating unit 212, the identification unit 214, the creating unit 216, and the routing agent 218. The operations and functions of the transceiver 210, the initiating unit 212, the identification unit 214, the creating unit 216, and the routing agent 218 are already explained in FIG. 2. Hence, for the sake of brevity, a similar description related to the working and operation of the system 108 as illustrated in FIG. 2 has been omitted to avoid repetition. The limited description provided for the system 108 in FIG. 3, should be read with the description as provided for the system 108 in the FIG. 2 above, and should not be construed as limiting the scope of the present disclosure.
[0065] FIG. 4 is an exemplary block diagram of an architecture 400 of the system 108 for management of load distribution in the network 106, according to one or more embodiments of the present invention.
[0066] The architecture 400 includes the user interface (UI) 206, an Identity and Access Management (IAM) 402, an Elastic Load Balancer (ELB) 404, an Event Routing Manager (ERM) 406, a Microservice (MS) 408, an Elastic search cluster 410, an Orchestration and Management (0AM) 412 and a Configuration and Log Management System (CLMS) 414. The ELB 404 includes, but not limited to, a ELB 404a, a ELB 404b, a ELB 404c and a ELB 404d. The MS 408 includes plurality of MS such as MSI, MS 2... MS N.
[0067] In an embodiment, the UI 206 receives the one or more service requests from the user via the UE 102. The one or more service requests pertain to receiving one or more services from the plurality of instances present in the network 106. Upon receiving the one or more service requests, the IAM 402 authenticates and authorizes the one or more service requests. In particular IAM 402 ensures that only authorized users can access the services.
[0068] Upon ensuring the authorization of the user by the IAM 402, the ELB 404 distributes the incoming one or more service request among the various instances in the network 106. Subsequently, the 0AM 412 initiates the health monitoring operation on the plurality of instances in the network 106. Further, the ELB 404 identifies the group of healthy instances from the plurality of instances in the network 106 based on the initiated health monitoring operation with help of ERM 406. In an embodiment, the ERM 406 is responsible for managing the computational and network resources available to the instances. In particular, the ERM 406 allocates resources based on current demand, ensuring that instances are not overwhelmed, and managing the overall resource pool to optimize performance and availability. Further, the ELB 404 creates at least one of the less crowded sub group and the overcrowded sub group from the group of healthy instances with the help of ERM 406. In an embodiment, the ERM 406 manage resources and ensures that the plurality of instances is utilized efficiently. Further, ERM 406 interacts with the load balancers the plurality of instances and the 0AM 412 to monitor the health and status of the plurality of instances. In an embodiment, the CLMS 414 handles the configuration of the
instances and the management of logs that track system operations, service requests, and health monitoring activities.
[0069] Upon creating the less crowded sub group and the overcrowded sub group, the ELB 404 distributes the one or more service requests to the MS 408. In an embodiment, MS 408 refers to an individual, independent service or instance within the network 106 that performs a specific, discrete function. In an embodiment, the MS 408 include plurality of MS 408 such as MS 1 , MS 2... MS N. The ELB 404 distributes the one or more service requests to the MS 408 which are healthy and less-crowded. For example, the if the MS 1 is overcrowded, then the one or more service requests are transmitted to the MS 2 or MS N. In an embodiment, the MS 408 is being served with a pair of ELB 404 i.e., ELB 404c and ELB 404d. The ELB 404c and ELB 404d distribute the load on the MS 408 in round robin manner.
[0070] More specifically, the 0AM 412 helps the ELB 404 in distributing the one or more healthy instances from the group of healthy instances to the less crowded subgroup when the number of service requests currently handled by the respective one or more healthy instances is less than the pre-defined threshold. Alternatively, the 0AM 412 helps the ELB 404 in distributing the one or more healthy instances from the group of healthy instances to the overcrowded sub-group when the number of service requests currently handled by the respective one or more healthy instances is greater than the pre-defined threshold.
[0071] Further, the 0AM 412 also helps in removing the one or more healthy instance from the less crowded sub-group and adding to the overcrowded subgroup when the number of service requests currently handled by the respective healthy instances is greater than the first pre-defined threshold value. Alternatively, the 0AM 412 helps in removing the one or more healthy instance from the overcrowded subgroup and adding to the less crowded subgroup when the number of service requests currently handled by the respective healthy instances is less than the first pre-defined
threshold value. In an embodiment, the OAM 412 identifies the health and load of the
MS 408 and ELB 404 distributes the one or more service requests accordingly.
[0072] In an embodiment, in case one of the MS 408 instance goes down, the OAM 412 detects it and broadcasts the status to other running MS 408 instances and also the ELB 404 serving the MS 408. The ELB 404 as such distributes the ingress traffic on the remaining available instances. In an embodiment, if one of the available MS instances takes the ownership of the instance which has gone down. The available MS instance fetches the state information of the incomplete transaction being served by the instance gone down from elastic search cluster 410 and re-executes them. For example, if the MS 1 goes down, the MS 2 takes over the requests handled by the MS 1 and processes the incomplete requests of the MS 1. The MS 2 fetches the information of the incomplete requests from the elastic search cluster 410.
[0073] In an embodiment, the MS 408 interacts with elastic search cluster 410 to process the one or more service requests. The elastic search cluster 410 acts as the database 208 and stores the data. In an embodiment, the elastic search cluster 410 used for indexing, searching, and analyzing log data or real-time monitoring data generated by the various instances in the network 106. the elastic search cluster 410 allows for efficient retrieval of information related to instance health, load levels, and other metrics, aiding in the health monitoring and dynamic subgroup creation processes. The MS 408 retrieves the data relevant for processing the one or more service requests.
[0074] FIG. 5 is a signal flow diagram for management of load distribution in the network 106, according to one or more embodiments of the present invention.
[0075] At step 502, the UI 206 receives the one or more service requests from the user via the UE 102. The one or more service requests is at least one of Hypertext Transfer Protocol (HTTP) request. Upon receiving the one or more service requests, the UI 206 transmits the one or more service request to the load balancer. The load balancer is at least one of ELB (404a, 404b, 404c, 404d). In an embodiment, the UI
206 is at least one of, a Northbound Interface (NBI). The NBI refers to the interface that allows higher-level systems or external applications to communicate with and control the network management system.
[0076] At step 504, upon receiving the one or more service requests from the UI 206, the load balancer monitors the health of the instances by initiating the health monitoring operation on the plurality of instances in the network 106. Based on the health monitoring operation the load balancer identifies the group of healthy instances from the plurality of instances in the network 106. Further, the load balancer distributes the one or more service requests to the healthy instances from the plurality of instances.
[0077] In an embodiment, the less crowded sub-group and the overcrowded subgroup are created from the plurality of healthy instances. The load balancer dynamically manages the load by routing the requests to the less crowded sub-group when the number of service requests currently handled by the respective one or more healthy instances is less than the pre-defined threshold value based on the comparison. Alternatively, the load balancer dynamically manages the load by routing the requests to the overcrowded sub-group when the number of service requests currently handled by the respective one or more healthy instances is greater than the first pre-defined threshold value based on the comparison.
[0078] At step 506, thereafter, the orchestrator manager monitors the plurality of instances and the load on the plurality of instances. Further, the orchestrator manager alerts the load balancer for any addition of new healthy instances or the removal of the healthy instances which are not in working condition.
[0079] At step 508, the load balancer distributes the one or more service requests to the healthy instances using the IN_LB interface. The IN_LB interface is an interface within the load balancer that is responsible for managing the routing and distribution of service requests to the appropriate instances within the network 106. The healthy
instance is at least one of inventory instances. In an embodiment, the load balancer identifies the type of instances to which the one or more service requests are required to route based on the information present in the header of the one or more service requests.
[0080] FIG. 6 is a flow diagram of a method 600 for management of load distribution in the network 106, according to one or more embodiments of the present invention. For the purpose of description, the method 600 is described with the embodiments as illustrated in FIG. 2 and should nowhere be construed as limiting the scope of the present disclosure.
[0081] At step 602, the method 600 includes the step of receiving the one or more service requests from the user via the UE 102 by the transceiver 210. The one or more service requests received from the user corresponds to receiving one or more services from the one or more instances present in the network 106.
[0082] At step 604, the method 600 includes the step of initiating the health monitoring operation on the plurality of instances in the network 106 by the initiating unit 212.
[0083] At step 606, the method 600 includes the step of identifying the group of healthy instances from the plurality of instances in the network 106 based on the initiated health monitoring operation by the identification unit 214. The group of healthy instances include instances which are at least one of, in the idle and the working condition.
[0084] At step 608, the method 600 includes the step of dynamically creating the at least one of, the less crowded sub-group and the overcrowded sub-group from the group of healthy instances by the creating unit 216. The less crowded sub-group and the overcrowded sub-group are created from the group of healthy instances by dynamically identifying the number of service requests currently being serviced by each of the group of healthy instances. Thereafter, the number of service requests of
each of the group of healthy instances are compared with the first pre-defined threshold value. Subsequently, the creating unit 216 adds the one or more healthy instances from the group of healthy instances to the less crowded sub-group when the number of service requests currently handled by the respective one or more healthy instances is less than the pre-defined threshold value based on the comparison. Alternatively, the creating unit 216 adds the one or more healthy instances from the group of healthy instances to the overcrowded sub-group when the number of service requests currently handled by the respective one or more healthy instances is greater than the first pre-defined threshold value based on the comparison. Subsequently, the creating unit 216 periodically compares the number of service requests currently handled by each of the healthy instances present in the less crowded sub-group and the overcrowded sub-group with the first pre-defined threshold value.
[0085] In an embodiment, the one or more healthy instances present in the less crowded sub-group are dynamically removed and added to the overcrowded subgroup, when the number of service requests currently handled by the respective healthy instances is greater than the first pre-defined threshold value. Further, when the number of service requests currently handled by the respective healthy instances is greater than the first pre-defined threshold value, the one or more healthy instances present in the less crowded sub-group is dynamically removed and the overcrowded sub-group is added. Alternatively, when the number of service requests currently handled by the respective healthy instances is less than the first pre-defined threshold value, the one or more healthy instances present in the overcrowded sub-group is dynamically removed and the less crowded sub-group is added.
[0086] In an embodiment, the creating unit 216 removes the one or more healthy instances present in the group of healthy instances when the respective one or more healthy instances are currently not in the idle or the working condition. In an embodiment, the creating unit 216 adds the one or more new healthy instances to the less crowded sub-group when a number of one or more healthy instances present in the less crowded sub-group are below a second pre-defined threshold value.
[0087] At step 610, the method 600 includes the step of routing the one or more service requests received from the user to the less crowded sub-group by the routing agent 218 based on dynamic creation of less crowded sub-group and overcrowded subgroup. In an embodiment, identification unit 214 identifies type of instances to which the one or more service requests to be routed based on information present in a header of the one or more service requests.
[0088] The present invention further discloses a non-transitory computer-readable medium having stored thereon computer-readable instructions. The computer- readable instructions are executed by the processor 202. The processor 202 is configured to receive the one or more service requests from the user via the UE 102. The processor 202 is further configured to initiate the health monitoring operation on the plurality of instances in the network 106. The processor 202 is further configured to identify the group of healthy instances from the plurality of instances in the network 106 based on the initiated health monitoring operation. The processor 202 is further configured to dynamically create at least one of the less crowded sub-group and an overcrowded sub-group from the group of healthy instances. The processor 202 is further configured to route the one or more service requests received from the user to the less crowded sub-group.
[0089] A person of ordinary skill in the art will readily ascertain that the illustrated embodiments and steps in description and drawings (FIG.1-6) are set out to explain the exemplary embodiments shown, and it should be anticipated that ongoing technological development will change the manner in which particular functions are performed. These examples are presented herein for purposes of illustration, and not limitation. Further, the boundaries of the functional building blocks have been arbitrarily defined herein for the convenience of the description. Alternative boundaries can be defined so long as the specified functions and relationships thereof are appropriately performed. Alternatives (including equivalents, extensions, variations, deviations, etc., of those described herein) will be apparent to persons
skilled in the relevant art(s) based on the teachings contained herein. Such alternatives fall within the scope and spirit of the disclosed embodiments.
[0090] The present disclosure incorporates technical advancement of proper managing the loads/requests by the way of assignment/creation/ update/removal of instances through the load balancer for all the operation which can be performed on Management and Orchestration (MANO) for various network functions flows. The present invention minimizes the error and manual interventions. The present invention provides flexibility to support HTTP/HTTPS in parallel as per user requirement. Further, the present invention provides easy and efficient routing client requests across all the servers in a manner that the processor speed is maximized, and utilization capacity will be increased. The present invention includes fault tolerance for any event failure, and also works in a high availability mode to accommodate downtime of an inventory. Further, the present invention implements header-based routing which saves time and database hits.
[0091] The present invention offers multiple advantages over the prior art and the above listed are a few examples to emphasize on some of the advantageous features. The listed advantages are to be read in a non-limiting manner.
REFERENCE NUMERALS
[0092] Environment- 100
[0093] User Equipment (UE)- 102
[0094] Server- 104
[0095] Network- 106
[0096] System -108
[0097] Processor- 202
[0098] Memory- 204
[0099] User Interface- 206
[00100] Database- 208
[00101] Transceiver -210
[00102] Initiating Unit- 212
[00103] Identification unit- 214
[00104] Creating Unit- 216
[00105] Routing Agent- 218
[00106] One or more primary processor- 302
[00107] Memory- 304
[00108] IAM- 402
[00109] ELB- (404a, 404b, 404c, 404d)
[00110] ERM- 406
[00111] MS- 408
[00112] Elastic search cluster- 410
[00113] 0AM- 412
[00114] CLMS- 414
Claims
1. A method (600) for management of load distribution in a network (106), the method (600) comprises the steps of: receiving, by one or more processors (202), one or more service requests from a user via a User Equipment (UE) (102); initiating, by the one or more processors (202), a health monitoring operation on a plurality of instances present in the network (106); identifying, by the one or more processors (202), a group of healthy instances from the plurality of instances in the network (106) based on the initiated health monitoring operation; dynamically creating, by the one or more processors (202), at least one of, a less crowded sub-group and an overcrowded sub-group from the group of healthy instances; and routing, by the one or more processors (202), the one or more service requests received from the user to the less crowded sub-group based on dynamic creation of less crowded sub-group and overcrowded subgroup.
2. The method (600) as claimed in claim 1, wherein the one or more service requests received from the user corresponds to receiving one or more services from the one or more instances present in the network (106).
3. The method (600) as claimed in claim 1, wherein the group of healthy instances include instances which are at least one of, in an idle and a working condition.
4. The method (600) as claimed in claim 1, wherein the step of, dynamically creating, at least one of, a less crowded sub-group and an overcrowded subgroup from the group of healthy instances, includes the steps of:
dynamically identifying, by the one or more processors (202), a number of service requests currently being serviced by each of the group of healthy instances; comparing, by the one or more processors (202), the number of service requests in each of the group of healthy instances with a first pre-defined threshold value; adding, by the one or more processors (202), the one or more healthy instances from the group of healthy instances to the less crowded sub-group when the number of service requests currently handled by the respective one or more healthy instances is less than the pre-defined threshold value based on the comparison; adding, by the one or more processors (202), the one or more healthy instances from the group of healthy instances to the overcrowded sub-group when the number of service requests currently handled by the respective one or more healthy instances is greater than the first pre-defined threshold value based on the comparison; and periodically comparing, by the one or more processors (202), the number of service requests currently handled by each of the healthy instances present in the less crowded sub-group and the overcrowded sub-group with the first pre-defined threshold value.
5. The method (600) as claimed in claim 4, wherein upon periodically comparing the number of service requests, the method (600) includes the step of: dynamically removing, by the one or more processors (202), the one or more healthy instances present in the less crowded sub-group and adding to the overcrowded sub-group when the number of service requests currently handled by the respective healthy instances is greater than the first pre-defined threshold value; dynamically removing, by the one or more processors (202), the one or more healthy instances present in the overcrowded sub-group and adding to
the less crowded sub-group when the number of service requests currently handled by the respective healthy instances is lesser than the first pre-defined threshold value; removing, by the one or more processors (202), the one or more healthy instances present in the group of healthy instances when the respective one or more healthy instances are currently not in the idle or the working condition; and adding, by the one or more processors (202), one or more new healthy instances to the less crowded sub-group when a number of one or more healthy instances present in the less crowded sub-group are below a second pre-defined threshold value.
6. The method (600) as claimed in claim 1 , wherein the one or more processors (202), identifies type of instances to which the one or more service requests to be routed based on information present in a header of the one or more service requests.
7. A system (108) for management of load distribution in a network (106), the system (108) comprises: a transceiver (210), configured to, receive, one or more service requests from a user via a User Equipment (UE) (102); an initiating unit (212), configured to, initiate, a health monitoring operation on a plurality of instances present in the network (106); an identification unit (214), configured to, identify, a group of healthy instances from the plurality of instances in the network (106) based on the initiated health monitoring operation; a creating unit (216), configured to, dynamically create, at least one of, a less crowded sub-group and an overcrowded sub-group from the group of healthy instances; and
a routing agent (218), configured to, route, the one or more service requests received from the user to the less crowded sub-group based on dynamic creation of less crowded sub-group and overcrowded subgroup.
8. The system (108) as claimed in claim 7, wherein the one or more service requests received from the user corresponds to receiving one or more services from the plurality of instances present in the network (106).
9. The system (108) as claimed in claim 7, wherein the group of healthy instances include instances which are at least one of, in an idle and a working condition.
10. The system (108) as claimed in claim 7, wherein the creating unit (216), dynamically creates, at least one of, a less crowded sub-group and an overcrowded sub-group from the group of healthy instances, by: dynamically identifying, a number of service requests currently being serviced by each of the group of healthy instances; comparing, the number of service requests in each of the group of healthy instances with a first pre-defined threshold value; adding, the one or more healthy instances from the group of healthy instances to the less crowded sub-group when the number of service requests currently handled by the respective one or more healthy instances is less than the pre-defined threshold value based on the comparison; adding, the one or more healthy instances from the group of healthy instances to the overcrowded sub-group when the number of service requests currently handled by the respective one or more healthy instances is greater than the first pre-defined threshold value based on the comparison; and periodically comparing, the number of service requests currently handled by each of the healthy instances present in the less crowded sub-group and the overcrowded sub-group with the first pre-defined threshold value.
11. The system (108) as claimed in claim 10, wherein upon periodically comparing the number of service requests, the system (108) comprises: dynamically removing, the one or more healthy instances present in the less crowded sub-group and adding to the overcrowded sub-group when the number of service requests currently handled by the respective healthy instances is greater than the first pre-defined threshold value; dynamically removing, the one or more healthy instances present in the overcrowded sub-group and adding to the less crowded sub-group when the number of service requests currently handled by the respective healthy instances is less than the first pre-defined threshold value; removing, the one or more healthy instances present in the group of healthy instances when the respective one or more healthy instances are currently not in the idle or the working condition; and adding, one or more new healthy instances to the less crowded subgroup when a number of one or more healthy instances present in the less crowded sub-group are below a second pre-defined threshold value.
12. The system (108) as claimed in claim 7, wherein the identification unit (214), identifies type of instances to which the one or more service requests are required to be routed based on information present in a header of the one or more service requests.
13. A non-transitory computer-readable medium having stored thereon computer- readable instructions that, when executed by a processor (202), causes the processor (202) to: receive, one or more service requests from a user via a User Equipment (UE) (102); initiate, a health monitoring operation on a plurality of instances present in the network (106);
identify, a group of healthy instances from the plurality of instances in the network (106) based on the initiated health monitoring operation; dynamically create, at least one of, a less crowded sub-group and an overcrowded sub-group from the group of healthy instances; and route, the one or more service requests received from the user to the less crowded sub-group based on dynamic creation of less crowded sub-group and overcrowded subgroup.
14. A User Equipment (UE) (102), comprising: one or more primary processors (302) communicatively coupled to one or more processors (202), the one or more primary processors (302) coupled with a memory (304), wherein said memory (304) stores instructions which when executed by the one or more primary processors causes the UE (102) to: transmit, one or more service requests to the one or more processors (202), wherein the one or more service requests pertain to receiving one or more services from the one or more instances present in the network (106); wherein the one or more processors (202) is configured to perform the steps as claimed in claim 1.
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| IN202321060016 | 2023-09-06 | ||
| IN202321060016 | 2023-09-06 |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| WO2025052452A1 true WO2025052452A1 (en) | 2025-03-13 |
Family
ID=94923252
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| PCT/IN2024/051649 Pending WO2025052452A1 (en) | 2023-09-06 | 2024-09-05 | Method and system for management of load distribution in a network |
Country Status (1)
| Country | Link |
|---|---|
| WO (1) | WO2025052452A1 (en) |
Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113824768A (en) * | 2021-08-23 | 2021-12-21 | 北京天融信网络安全技术有限公司 | Health check method and device in load balancing system and flow forwarding method |
| CN115550369A (en) * | 2022-08-29 | 2022-12-30 | 紫光云技术有限公司 | A Method for Realizing Intelligent Load Balancing |
-
2024
- 2024-09-05 WO PCT/IN2024/051649 patent/WO2025052452A1/en active Pending
Patent Citations (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN113824768A (en) * | 2021-08-23 | 2021-12-21 | 北京天融信网络安全技术有限公司 | Health check method and device in load balancing system and flow forwarding method |
| CN115550369A (en) * | 2022-08-29 | 2022-12-30 | 紫光云技术有限公司 | A Method for Realizing Intelligent Load Balancing |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US9930111B2 (en) | Techniques for web server management | |
| US11159450B2 (en) | Nonintrusive dynamically-scalable network load generation | |
| US7840517B2 (en) | Performance evaluating apparatus, method, and computer-readable medium | |
| US10048996B1 (en) | Predicting infrastructure failures in a data center for hosted service mitigation actions | |
| CN107592345B (en) | Transaction current limiting device, method and transaction system | |
| US9584617B2 (en) | Allocating cache request in distributed cache system based upon cache object and marker identifying mission critical data | |
| US10362100B2 (en) | Determining load state of remote systems using delay and packet loss rate | |
| CN101662495B (en) | Backup method, master server, backup servers and backup system | |
| US9501326B2 (en) | Processing control system, processing control method, and processing control program | |
| US10310883B2 (en) | Integrated configuration engine for interference mitigation in cloud computing | |
| US10445136B1 (en) | Randomized subrequest selection using request-specific nonce | |
| US20150281037A1 (en) | Monitoring omission specifying program, monitoring omission specifying method, and monitoring omission specifying device | |
| US10616081B2 (en) | Application aware cluster monitoring | |
| WO2025052452A1 (en) | Method and system for management of load distribution in a network | |
| KR20220055661A (en) | Edge service processing system and control method thereof | |
| CN119814792B (en) | A Website Traffic Management Method and System Based on Load Balancer | |
| WO2025052470A1 (en) | System and method for monitoring health of one or more databases in a network | |
| WO2025052457A1 (en) | Method and system for scheduling execution of plurality of tasks | |
| WO2025027660A1 (en) | Method and system for managing network traffic | |
| WO2025052447A1 (en) | Method and system for management of network protocol connections in a network | |
| WO2025017662A1 (en) | Method and system for failure management in a network | |
| WO2025079093A1 (en) | Method and system for detecting anomaly related to network quality | |
| WO2025074430A1 (en) | Method and system of management of network functions (nfs) in a network | |
| JP2017151825A (en) | Control device and control method |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| 121 | Ep: the epo has been informed by wipo that ep was designated in this application |
Ref document number: 24862298 Country of ref document: EP Kind code of ref document: A1 |