Sign In to Follow Application
View All Documents & Correspondence

Hybrid Technique For Resource Allocation In Computing Systems

Abstract: Abstract Disclosed is a system for dynamic resource allocation in a computing environment, comprising a plurality of nodes, each node configured to execute a set of tasks and having an associated CPU utilization threshold; a memory storing instructions for performing an Ant Colony Optimization (ACO) algorithm and a Bird Swarm Optimization (BSO) algorithm; and a processor configured to execute the stored instructions. The processor is further configured to initialize the ACO and BSO parameters for each of the plurality of nodes, calculate the CPU utilization for each node, compare the calculated CPU utilization against the respective thresholds to determine an overloaded status for each node, select, via the BSO algorithm, the node with the highest CPU utilization that exceeds its threshold as the most overloaded node, identify a task list associated with the most overloaded node for migration, determine, via the ACO algorithm, the most underloaded node within the plurality of nodes, and migrate the identified task list from the most overloaded node to the most underloaded node to balance the load across the computing environment. The processor is further configured to evaluate node fitness after task migration and update the current utilization of CPU for nodes involved in the migration. Fig. 1

Get Free WhatsApp Updates!
Notices, Deadlines & Correspondence

Patent Information

Application #
Filing Date
01 May 2024
Publication Number
20/2024
Publication Type
INA
Invention Field
COMPUTER SCIENCE
Status
Email
Parent Application

Applicants

BANASTHALI VIDYAPITH
BANASTHALI VIDYAPITH, P.O. BANASTHALI, BANASTHALI, RAJASTHAN, INDIA, 304022 JAIPUR

Inventors

1. DR. YOGITA YASHVEER RAGHAV
NEAR UNION BANK, BHONDSI, SOHNA ROAD GURUGRAM, HARYANA, PIN CODE:121102
2. DR. VAIBHAV VYAS
BANASTHALI VIDYAPITH, P.O. BANASTHALI, BANASTHALI, RAJASTHAN, INDIA, 304022 JAIPUR

Claims

1. A system (100) for dynamic resource allocation in a computing environment, the system (100) comprising: a plurality of nodes (102), each node (102) configured to execute a set of tasks and having an associated CPU utilization threshold; a memory (104) storing instructions for performing an Ant Colony Optimization (ACO) algorithm and a Bird Swarm Optimization (BSO) algorithm; and a processor (106) configured to execute the stored instructions, wherein the processor is further configured to: initialize the ACO and BSO parameters for each of the plurality of nodes (102); calculate the CPU utilization for each node (102); compare the calculated CPU utilization against the respective thresholds to determine an overloaded status for each node (102); select, via the BSO algorithm, the node (102) with the highest CPU utilization that exceeds its threshold as the most overloaded node; identify a task list associated with the most overloaded node for migration; determine, via the ACO algorithm, the most underloaded node within the plurality of nodes (102); and migrate the identified task list from the most overloaded node to the most underloaded node to balance the load across the computing environment, wherein the processor (106) is further configured to evaluate node fitness after task migration and update the current utilization of CPU for nodes involved in the migration.

2. The system (100) of claim 1, wherein the processor (106) is further configured to re-initialize the ACO and BSO parameters at predetermined intervals or upon detection of a change in the computing environment.

3. The system (100) of claim 1, wherein the processor (106) is further configured to perform real-time monitoring of CPU utilization of each node (102).

4. The system (100) of claim 1, wherein the memory (104) further stores instructions for executing a failover protocol in case a node (102) fails to execute the set of tasks.

5. The system (100) of claim 1, wherein the processor (106) is further configured to calculate a migration time for each task in the task list prior to performing the migration.

6. The system (100) of claim 1, wherein the memory (104) further stores instructions for a backup operation of the task list prior to migration.

7. The system (100) of claim 1, wherein each node (102) includes a network interface component configured to facilitate the migration of the task list across the computing environment.

8. The system (100) of claim 1, wherein the plurality of nodes (102) comprise a mix of physical and virtual machines.

9. The system (100) of claim 1, wherein the processor (106) is further configured to provide a user interface for manual override of task migration decisions.

10. A method for dynamic resource allocation in a computing environment, the method comprising: utilizing a system (100) with a plurality of nodes (102), a memory (104), and a processor (106); initializing, by the processor (106), Ant Colony Optimization (ACO) and Bird Swarm Optimization (BSO) parameters for each of the nodes (102); calculating, by the processor (106), CPU utilization for each node (102); comparing, by the processor (106), the calculated CPU utilization against respective thresholds to determine an overloaded status for each node (102); selecting, by the processor (106) via the BSO algorithm, the node (102) with the highest CPU utilization that exceeds its threshold as the most overloaded node; identifying, by the processor (106), a task list associated with the most overloaded node for migration; determining, by the processor (106) via the ACO algorithm, the most underloaded node within the plurality of nodes (102); and migrating, by the processor (106), the identified task list from the most overloaded node to the most underloaded node to balance the load across the computing environment. HYBRID TECHNIQUE FOR RESOURCE ALLOCATION IN COMPUTING SYSTEMS Abstract Disclosed is a system for dynamic resource allocation in a computing environment, comprising a plurality of nodes, each node configured to execute a set of tasks and having an associated CPU utilization threshold; a memory storing instructions for performing an Ant Colony Optimization (ACO) algorithm and a Bird Swarm Optimization (BSO) algorithm; and a processor configured to execute the stored instructions. The processor is further configured to initialize the ACO and BSO parameters for each of the plurality of nodes, calculate the CPU utilization for each node, compare the calculated CPU utilization against the respective thresholds to determine an overloaded status for each node, select, via the BSO algorithm, the node with the highest CPU utilization that exceeds its threshold as the most overloaded node, identify a task list associated with the most overloaded node for migration, determine, via the ACO algorithm, the most underloaded node within the plurality of nodes, and migrate the identified task list from the most overloaded node to the most underloaded node to balance the load across the computing environment. The processor is further configured to evaluate node fitness after task migration and update the current utilization of CPU for nodes involved in the migration. Fig. 1 , Claims:Claims :

1. A system (100) for dynamic resource allocation in a computing environment, the system (100) comprising: a plurality of nodes (102), each node (102) configured to execute a set of tasks and having an associated CPU utilization threshold; a memory (104) storing instructions for performing an Ant Colony Optimization (ACO) algorithm and a Bird Swarm Optimization (BSO) algorithm; and a processor (106) configured to execute the stored instructions, wherein the processor is further configured to: initialize the ACO and BSO parameters for each of the plurality of nodes (102); calculate the CPU utilization for each node (102); compare the calculated CPU utilization against the respective thresholds to determine an overloaded status for each node (102); select, via the BSO algorithm, the node (102) with the highest CPU utilization that exceeds its threshold as the most overloaded node; identify a task list associated with the most overloaded node for migration; determine, via the ACO algorithm, the most underloaded node within the plurality of nodes (102); and migrate the identified task list from the most overloaded node to the most underloaded node to balance the load across the computing environment, wherein the processor (106) is further configured to evaluate node fitness after task migration and update the current utilization of CPU for nodes involved in the migration.

2. The system (100) of claim 1, wherein the processor (106) is further configured to re-initialize the ACO and BSO parameters at predetermined intervals or upon detection of a change in the computing environment.

3. The system (100) of claim 1, wherein the processor (106) is further configured to perform real-time monitoring of CPU utilization of each node (102).

4. The system (100) of claim 1, wherein the memory (104) further stores instructions for executing a failover protocol in case a node (102) fails to execute the set of tasks.

5. The system (100) of claim 1, wherein the processor (106) is further configured to calculate a migration time for each task in the task list prior to performing the migration.

6. The system (100) of claim 1, wherein the memory (104) further stores instructions for a backup operation of the task list prior to migration.

7. The system (100) of claim 1, wherein each node (102) includes a network interface component configured to facilitate the migration of the task list across the computing environment.

8. The system (100) of claim 1, wherein the plurality of nodes (102) comprise a mix of physical and virtual machines.

9. The system (100) of claim 1, wherein the processor (106) is further configured to provide a user interface for manual override of task migration decisions.

10. A method for dynamic resource allocation in a computing environment, the method comprising: utilizing a system (100) with a plurality of nodes (102), a memory (104), and a processor (106); initializing, by the processor (106), Ant Colony Optimization (ACO) and Bird Swarm Optimization (BSO) parameters for each of the nodes (102); calculating, by the processor (106), CPU utilization for each node (102); comparing, by the processor (106), the calculated CPU utilization against respective thresholds to determine an overloaded status for each node (102); selecting, by the processor (106) via the BSO algorithm, the node (102) with the highest CPU utilization that exceeds its threshold as the most overloaded node; identifying, by the processor (106), a task list associated with the most overloaded node for migration; determining, by the processor (106) via the ACO algorithm, the most underloaded node within the plurality of nodes (102); and migrating, by the processor (106), the identified task list from the most overloaded node to the most underloaded node to balance the load across the computing environment.

Specification

Description:

HYBRID TECHNIQUE FOR RESOURCE ALLOCATION IN COMPUTING SYSTEMS
Field of the Invention
[0001] The present disclosure generally relates to computing environments. Particularly, the present disclosure relates to dynamic resource allocation in a computing environment.
Background
[0002] The background description includes information that may be useful in understanding the present invention. It is not an admission that any of the information provided herein is prior art or relevant to the presently claimed invention, or that any publication specifically or implicitly referenced is prior art.
[0003] In recent years, cloud computing has emerged as a pivotal technology, enabling businesses and individuals alike to access computing resources and services via the internet. The flexibility, scalability, and cost-effectiveness offered by cloud computing platforms have led to their widespread adoption across various sectors. Central to the efficient operation of these platforms is the management of computing resources to handle incoming traffic and workload demands. Load balancing, a technique crucial in this context, ensures the equitable distribution of workloads across multiple computing resources. By evenly spreading the tasks, load balancing enhances system performance, maintains continuity of services, and supports the distribution of workloads across different geographic regions.
[0004] A significant challenge within cloud computing environments is the optimization of resource allocation to handle fluctuating workload demands effectively. Load balancing algorithms play a vital role in addressing this challenge by enabling efficient resource utilization, ensuring scalability, high availability, and fault tolerance, while also optimizing costs. These algorithms are designed to allocate tasks to servers in a way that maximizes performance and resource utilization, ensuring that no single server is overwhelmed. Despite the availability of various algorithms, achieving an optimal balance that can adapt to rapidly changing conditions without introducing unnecessary complexity remains a challenge. Many existing algorithms suffer from limitations such as high complexity, slow convergence rates, and difficulty in adaptation to system changes. These shortcomings can severely impact the performance and reliability of cloud computing services.
[0005] In response to these challenges, hybrid optimization algorithms have emerged as a promising solution. By combining the strengths of multiple algorithms, these hybrid approaches aim to enhance the robustness and adaptability of load balancing techniques. For instance, the integration of Ant Colony Optimization and Bird Swarm Optimization techniques represents an innovative approach to developing more efficient and effective load balancing algorithms. Such hybrid algorithms leverage the advantages of different optimization methods to achieve faster convergence, improved performance, and greater resilience to changes in the cloud computing environment.
[0006] Despite the progress in developing more advanced load balancing algorithms, there remains a gap in the availability of solutions that comprehensively address all aspects of load balancing in cloud environments. The complexity and variability of workload demands necessitate the development of algorithms that can efficiently distribute tasks across virtual machines while minimizing resource wastage and optimizing performance. The exploration of nature-inspired algorithms has revealed their potential in creating more adaptable and efficient optimization techniques. However, the full capabilities of these algorithms are yet to be realized fully. By integrating diverse algorithms into a cohesive hybrid approach, there is an opportunity to overcome the limitations of individual methods and pave the way for novel optimization solutions that can effectively manage the complexities of load balancing in cloud computing.
[0007] In light of the above discussion, there exists an urgent need for solutions that overcome the limitations associated with conventional load balancing techniques in cloud computing environments. The present study aims to address this need by introducing a hybrid optimization algorithm that combines Ant Colony and Bird Swarm Optimization techniques. This approach seeks to provide an effective, robust, and less complex solution for achieving optimal load balancing, thereby enhancing the performance, scalability, and cost-efficiency of cloud computing services.
Summary
[0008] The following presents a simplified summary of various aspects of this disclosure in order to provide a basic understanding of such aspects. This summary is not an extensive overview of all contemplated aspects, and is intended to neither identify key or critical elements nor delineate the scope of such aspects. Its purpose is to present some concepts of this disclosure in a simplified form as a prelude to the more detailed description that is presented later.
[0009] The following paragraphs provide additional support for the claims of the subject application.
[00010] A system for dynamic resource allocation in a computing environment is described. Said system comprises a plurality of nodes, each node configured to execute a set of tasks and having an associated CPU utilization threshold. A memory stores instructions for performing an Ant Colony Optimization (ACO) algorithm and a Bird Swarm Optimization (BSO) algorithm. A processor is configured to execute the stored instructions, wherein the processor is further configured to initialize the ACO and BSO parameters for each of the plurality of nodes, calculate the CPU utilization for each node, compare the calculated CPU utilization against the respective thresholds to determine an overloaded status for each node, select, via the BSO algorithm, the node with the highest CPU utilization that exceeds its threshold as the most overloaded node, identify a task list associated with the most overloaded node for migration, determine, via the ACO algorithm, the most underloaded node within the plurality of nodes, and migrate the identified task list from the most overloaded node to the most underloaded node to balance the load across the computing environment. The processor is further configured to evaluate node fitness after task migration and update the current utilization of CPU for nodes involved in the migration.
[00011] In an embodiment, the processor is further configured to re-initialize the ACO and BSO parameters at predetermined intervals or upon detection of a change in the computing environment. In an embodiment, the processor is further configured to perform real-time monitoring of CPU utilization of each node. In an embodiment, the memory further stores instructions for executing a failover protocol in case a node fails to execute the set of tasks. In an embodiment, the processor is further configured to calculate a migration time for each task in the task list prior to performing the migration. In an embodiment, the memory further stores instructions for a backup operation of the task list prior to migration. In an embodiment, each node includes a network interface component configured to facilitate the migration of the task list across the computing environment. In an embodiment, the plurality of nodes comprise a mix of physical and virtual machines. In an embodiment, the processor is further configured to provide a user interface for manual override of task migration decisions.
[00012] A method for dynamic resource allocation in a computing environment utilizing a system with a plurality of nodes, a memory, and a processor is delineated. Said method comprises initializing, by the processor, Ant Colony Optimization (ACO) and Bird Swarm Optimization (BSO) parameters for each of the nodes, calculating, by the processor, CPU utilization for each node, comparing, by the processor, the calculated CPU utilization against respective thresholds to determine an overloaded status for each node, selecting, by the processor via the BSO algorithm, the node with the highest CPU utilization that exceeds its threshold as the most overloaded node, identifying, by the processor, a task list associated with the most overloaded node for migration, determining, by the processor via the ACO algorithm, the most underloaded node within the plurality of nodes, and migrating, by the processor, the identified task list from the most overloaded node to the most underloaded node to balance the load across the computing environment.
Brief Description of the Drawings
[00013] The features and advantages of the present disclosure would be more clearly understood from the following description taken in conjunction with the accompanying drawings in which:
[00014] FIG. 1 illustrates a system to dynamic resource allocation within a computing environment, in accordance with the embodiments of the present disclosure.
[00015] FIG. 2 illustrates a method for dynamic resource allocation in a computing environment, in accordance with the embodiments of the present disclosure.
[00016] FIG. 3 illustrates a flow chart for dynamic resource allocation in a computing environment, in accordance with the present disclosure.
[00017] FIG. 4 illustrates a make span of ant colony optimization (ACO), Bird swarm optimization (BSO), and a hybrid of both techniques, in accordance with the embodiments of the present disclosure.
[00018] FIG. 5 (FIG. 5A to FIG. 5B) illustrates a comparison of throughput and resource utilization of ant colony optimization (ACO), Bird swarm optimization (BSO), and a hybrid of both techniques within a computing environment, in accordance with the embodiments of the present disclosure.
Detailed Description
[00019] In the following detailed description of the invention, reference is made to the accompanying drawings that form a part hereof, and in which is shown, by way of illustration, specific embodiments in which the invention may be practiced. In the drawings, like numerals describe substantially similar components throughout the several views. These embodiments are described in sufficient detail to claim those skilled in the art to practice the invention. Other embodiments may be utilized and structural, logical, and electrical changes may be made without departing from the scope of the present invention. The following detailed description is, therefore, not to be taken in a limiting sense, and the scope of the present invention is defined only by the appended claims and equivalents thereof.
[00020] The use of the terms “a” and “an” and “the” and “at least one” and similar referents in the context of describing the invention (especially in the context of the following claims) are to be construed to cover both the singular and the plural, unless otherwise indicated herein or clearly contradicted by context. The use of the term “at least one” followed by a list of one or more items (for example, “at least one of A and B”) is to be construed to mean one item selected from the listed items (A or B) or any combination of two or more of the listed items (A and B), unless otherwise indicated herein or clearly contradicted by context. The terms “comprising,” “having,” “including,” and “containing” are to be construed as open-ended terms (i.e., meaning “including, but not limited to,”) unless otherwise noted. Recitation of ranges of values herein are merely intended to serve as a shorthand method of referring individually to each separate value falling within the range, unless otherwise indicated herein, and each separate value is incorporated into the specification as if it were individually recited herein. All methods described herein can be performed in any suitable order unless otherwise indicated herein or otherwise clearly contradicted by context. The use of any and all examples, or exemplary language (e.g., “such as”) provided herein, is intended merely to better illuminate the invention and does not pose a limitation on the scope of the invention unless otherwise claimed. No language in the specification should be construed as indicating any non-claimed element as essential to the practice of the invention.
[00021] Pursuant to the "Detailed Description" section herein, whenever an element is explicitly associated with a specific numeral for the first time, such association shall be deemed consistent and applicable throughout the entirety of the "Detailed Description" section, unless otherwise expressly stated or contradicted by the context.
[00022] FIG. 1 illustrates a system (100) to dynamic resource allocation within a computing environment, in accordance with the embodiments of the present disclosure. The system (100) aiming to optimize task distribution and manage computational load effectively across multiple nodes (102). Central to this system is the configuration of each node (102), which is specifically designed to execute a predetermined set of tasks while adhering to an associated CPU utilization threshold. These thresholds are crucial in monitoring and maintaining the operational efficiency of the nodes (102), ensuring that each node operates within its optimal performance parameters. The integration of such a configuration facilitates a structured and efficient computational environment where tasks are allocated and executed in a manner that prevents overload, thus enhancing the overall performance and reliability of the system.
[00023] Incorporated within the system (100) is a memory component (104), tasked with the critical function of storing instructions necessary for the execution of two advanced optimization techniques: the Ant Colony Optimization (ACO) technique and the Bird Swarm Optimization (BSO) technique. The strategic inclusion of these techniques signifies the system's commitment to utilizing sophisticated and adaptive methods for resource allocation. By employing these techniques, the system (100) is equipped to dynamically adjust task distribution based on current computational demands, thereby optimizing the use of available resources. The memory (104) serves as a repository for these complex techniques, ensuring that they are readily accessible for execution by the processor (106), thereby facilitating a seamless and efficient resource allocation process within the computing environment.
[00024] The operational core of the system (100) is its processor (106), which is entrusted with the execution of the instructions stored within the memory (104). This execution process begins with the initialization of parameters for the ACO and BSO techniques for each node (102), setting the stage for a comprehensive assessment of the computing environment's current state. Following this initialization, the processor (106) undertakes the task of calculating the CPU utilization for each node (102), comparing these calculations against the respective thresholds to ascertain the operational status of each node. In instances where a node's (102) CPU utilization surpasses its designated threshold, the processor (106), leveraging the BSO technique, identifies this node as the most overloaded within the system. This identification process is critical in pinpointing the exact node (102) requiring intervention, thereby enabling a targeted approach to load balancing. Subsequently, the processor (106) identifies a specific list of tasks associated with the most overloaded node, earmarking these tasks for migration to alleviate the overload condition.
[00025] The processor (106) further utilizes the ACO technique to identify the most underloaded node within the plurality of nodes (102), signifying a strategic shift in task distribution aimed at balancing the computational load across the environment. This identification is pivotal in determining the optimal destination for the migration of tasks from the most overloaded node, ensuring that the transferred load does not result in a similar overload condition in the receiving node. Upon successful migration of the identified tasks, the processor (106) undertakes an evaluation of node fitness, assessing the impact of the task migration on the overall computational balance within the system. This evaluation includes updating the CPU utilization metrics for the nodes involved in the migration, ensuring that the system (100) maintains an up-to-date overview of its operational status. Through this meticulous process of evaluation and adjustment, the system (100) demonstrates a robust capability to dynamically manage and optimize resource allocation, ensuring optimal performance and operational efficiency within the computing environment.
[00026] In an embodiment, the processor (106) within the system (100) is endowed with enhanced capabilities, allowing for the re-initialization of the Ant Colony Optimization (ACO) and Bird Swarm Optimization (BSO) parameters at predetermined intervals or upon the detection of a change within the computing environment. This feature is of paramount importance, as it ensures that the optimization techniques are always tuned to the current state and demands of the environment, thereby maintaining the efficiency and effectiveness of resource allocation. The re-initialization process allows the system (100) to adapt to varying computational loads and environmental changes dynamically, ensuring that the allocation strategies remain optimal. Such adaptability is crucial in environments where computational demands can fluctuate significantly over time, necessitating frequent adjustments to optimization parameters to maintain system performance and prevent node overload. By periodically refreshing the ACO and BSO parameters, or doing so reactively in response to environmental changes, the system (100) demonstrates a proactive approach to resource management, ensuring that the computing environment can efficiently handle varying workloads with minimal disruption.
[00027] In an embodiment, the processor (106) of the system (100) is further configured to perform real-time monitoring of CPU utilization for each node (102). This continuous monitoring is crucial for the timely detection of workload imbalances and potential overload situations within the computing environment. By tracking the CPU utilization in real-time, the processor (106) can promptly identify nodes (102) that are approaching or have exceeded their CPU utilization thresholds, enabling quick corrective actions to be taken. This real-time monitoring capability ensures that the system (100) can maintain an optimal balance of workloads across the nodes (102), enhancing the overall efficiency and reliability of the computing environment. The ability to monitor CPU utilization in real time is a foundational aspect of dynamic resource allocation, as it provides the necessary data to inform the decision-making processes related to task distribution and load balancing.
[00028] In an embodiment, the memory (104) of the system (100) is configured to store instructions for executing a failover protocol in the event that a node (102) fails to execute its set of tasks. The inclusion of a failover protocol is a critical component of ensuring system reliability and continuity of operations. In scenarios where a node (102) becomes unresponsive or is unable to complete its assigned tasks due to hardware or software failures, the failover protocol is activated to mitigate the impact of the failure. This may involve reallocating the tasks of the failed node (102) to other nodes (102) within the system (100) or activating standby nodes to take over the workload. The failover protocol is designed to minimize downtime and prevent data loss, ensuring that the computing environment remains operational despite individual node failures. Such resilience is essential in high-availability computing environments where continuous operation is critical.
[00029] In an embodiment, the processor (106) within the system (100) is additionally configured to calculate a migration time for each task in the task list before performing the migration. This calculation is pivotal, as it enables the system (100) to schedule and execute task migrations in a manner that minimizes disruption to ongoing processes and optimizes the use of computational resources. By estimating the time required to migrate each task, the processor (106) can make informed decisions about when and how to redistribute tasks across the nodes (102), taking into consideration the current workload and the operational requirements of the computing environment. This foresight in planning task migrations contributes to a smoother transition of workloads between nodes (102), ensuring that the performance impact on the system (100) is minimized and that the computational resources are utilized efficiently.
[00030] In an embodiment, the memory (104) of the system (100) is further configured to store instructions for a backup operation of the task list prior to migration. This capability is fundamental to the system's (100) approach to data integrity and loss prevention. By creating a backup of the task list before initiating migration, the system (100) safeguards against the risk of data loss or corruption that could occur during the migration process. This precautionary measure ensures that, in the event of an unexpected failure or interruption during migration, a copy of the task list is preserved and can be restored, maintaining the continuity and integrity of the computational operations. The backup operation exemplifies the system's (100) commitment to reliability and data protection, providing an additional layer of security for the tasks and data managed within the computing environment.
[00031] In an embodiment, each node (102) within the system (100) includes a network interface component, configured to facilitate the migration of the task list across the computing environment. This network

interface component is instrumental in enabling the seamless transfer of tasks between nodes (102), ensuring that task migrations can be conducted efficiently and without undue delay. The capability to migrate tasks across the network is a key aspect of the system's (100) dynamic resource allocation strategy, allowing for the redistribution of workloads in response to changing computational demands and system conditions. By leveraging the network interface component, the system (100) ensures that task migration is conducted in a manner that is both swift and secure, minimizing the potential for data loss or corruption during the transfer process.
[00032] In an embodiment, the plurality of nodes (102) within the system (100) comprise a mix of physical and virtual machines. This hybrid configuration allows the system (100) to leverage the strengths of both physical servers and virtualized environments, providing a flexible and scalable solution for dynamic resource allocation. The inclusion of virtual machines enables the system (100) to dynamically adjust its computational resources in response to fluctuating workloads, offering the ability to rapidly deploy or decommission virtual nodes as needed. Meanwhile, the physical nodes (102) provide a robust and reliable foundation for the system's (100) operations. This blend of physical and virtual machines enhances the system's (100) adaptability and resilience, allowing for efficient resource management and ensuring that computational demands are met with optimal efficiency.
[00033] In an embodiment, the processor (106) of the system (100) is further configured to provide a user interface for manual override of task migration decisions. This feature introduces an element of human oversight into the automated processes of the system (100), allowing system administrators or users to intervene in the task migration process as necessary. The user interface enables users to monitor the system's (100) operations, review automated migration decisions, and manually adjust task allocations based on specific requirements or insights. This capability ensures that, while the system (100) benefits from the efficiency and speed of automated decision-making, there remains the flexibility for human operators to apply their judgment and expertise, tailoring the system's (100) operations to best meet the needs of the computing environment.
[00034] FIG. 2 illustrates a method (200) for dynamic resource allocation in a computing environment, in accordance with the embodiments of the present disclosure. At step (202) the method (200) begins by utilizing a system (100) equipped with a plurality of nodes (102), a memory (104), and a processor (106), designed for dynamic resource allocation in a computing environment. At step (204) the processor (106) initiates the method by initializing Ant Colony Optimization (ACO) and Bird Swarm Optimization (BSO) parameters for each node (102), setting the foundation for efficient resource management. At step (206) the processor (106) calculates the CPU utilization for each node (102), an essential step in assessing the current workload distribution across the computing environment. At step (208) processor (106) then compares the calculated CPU utilization against respective thresholds for each node (102) to determine if any are operating beyond their optimal capacity, indicating an overloaded status. At step (210) upon identifying overloaded nodes, the processor (106) utilizes the BSO technique to select the node (102) with the highest CPU utilization exceeding its threshold, identifying it as the most overloaded node in the system. The step (212) involves the processor (106) identifying a task list associated with the most overloaded node, earmarking these tasks for migration to alleviate the node's workload. At step (214) Utilizing the ACO technique, the processor (106) determines the most underloaded node within the plurality of nodes (102), a crucial step in finding an optimal destination for task reallocation. At step (216) the processor (106) migrating the identified task list from the most overloaded node to the most underloaded node, effectively balancing the load across the computing environment and optimizing overall system performance.
[00035] FIG. 3 illustrates a flow chart for dynamic resource allocation in a computing environment, in accordance with the present disclosure. The process initiates with the assignment of thresholds to each node within the system, followed by the initialization of Ant Colony Optimization (ACO) and Bird Swarm Optimization (BSO) parameters. CPU utilization for each node is calculated and compared against the respective thresholds to ascertain whether any node is overloaded. Should a node exceed its threshold, the most overloaded node is selected using the BSO technique. Concomitantly, the processor identifies a task list from the selected overloaded node for migration. The ACO technique is then employed to select the most underloaded node. For nodes deemed underloaded, the system further refines its search to select a virtual machine (VM) within the underloaded node and assigns the task list. In instances where the VM placement does not proceed, an alternative VM is selected. Subsequent to VM placement, node fitness is assessed, and upon a satisfactory placement, the current utilization of CPU is updated. Additionally, for the most overloaded nodes, the system calculates the migration time for each VM, ensuring optimal task reallocation and minimal disruption to system operations.
[00036] FIG. 4 illustrates a make span of ant colony optimization (ACO), Bird swarm optimization (BSO), and a hybrid of both techniques, in accordance with the embodiments of the present disclosure. The graph plots the number of tasks against the make span, indicating the time taken to complete all tasks using each optimization technique. It is observed that the make span increases linearly for the ACO technique as the number of tasks rises. In contrast, the BSO technique maintains a relatively flat curve, suggesting a lower and stable make span across the task spectrum. The Hybrid technique, which combines the strengths of both ACO and BSO, shows a performance trend line that lies between the pure ACO and BSO curves, indicating that it benefits from the efficiency of BSO while still leveraging the systematic approach of ACO. This hybrid approach thus demonstrates a balance, resulting in a make span that increases at a moderate rate with the number of tasks, signifying an optimized algorithm performance over the other two techniques as the task load scales.
[00037] FIG. 5 (FIG. 5A to FIG. 5B) illustrates a comparison of throughput and resource utilization of ant colony optimization (ACO), Bird swarm optimization (BSO), and a hybrid of both techniques within a computing environment, in accordance with the embodiments of the present disclosure. FIG. 5A depicts that as the number of tasks increases, the throughput (measured as tasks per unit time) for all three algorithms initially rises sharply and then plateaus, indicating that a maximum operational capacity is reached. The BSO optimization exhibits a marginally higher throughput across the range, suggesting a slight performance edge over the ACO and Hybrid algorithms. In FIG. 5B, resource utilization (expressed as a fraction of total available resources) shows a steady, almost linear increase with the number of tasks for all techniques. Here, the Hybrid algorithm demonstrates marginally more efficient resource utilization compared to ACO and BSO, maintaining closer proximity to the ideal full utilization curve. This comparison underscores the effectiveness of the Hybrid algorithm at optimizing resource usage while handling a high number of tasks, potentially offering a balanced solution in terms of maintaining high throughput without compromising on the efficient use of computational resources.
[00038] Example embodiments herein have been described above with reference to block diagrams and flowchart illustrations of methods and apparatuses. It will be understood that each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations, respectively, can be implemented by various means including hardware, software, firmware, and a combination thereof. For example, in one embodiment, each block of the block diagrams and flowchart illustrations, and combinations of blocks in the block diagrams and flowchart illustrations can be implemented by computer program instructions. These computer program instructions may be loaded onto a general purpose computer, special purpose computer, or other programmable data processing apparatus to produce a machine, such that the instructions which execute on the computer or other programmable data processing apparatus create means for implementing the functions specified in the flowchart block or blocks.
[00039] Throughout the present disclosure, the term ‘processing means’ or ‘microprocessor’ or ‘processor’ or ‘processors’ includes, but is not limited to, a general purpose processor (such as, for example, a complex instruction set computing (CISC) microprocessor, a reduced instruction set computing (RISC) microprocessor, a very long instruction word (VLIW) microprocessor, a microprocessor implementing other types of instruction sets, or a microprocessor implementing a combination of types of instruction sets) or a specialized processor (such as, for example, an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), or a network processor).
[00040] The term “non-transitory storage device” or “storage” or “memory,” as used herein relates to a random access memory, read only memory and variants thereof, in which a computer can store data or software for any duration.
[00041] Operations in accordance with a variety of aspects of the disclosure is described above would not have to be performed in the precise order described. Rather, various steps can be handled in reverse order or simultaneously or not at all.
[00042] While several implementations have been described and illustrated herein, a variety of other means and/or structures for performing the function and/or obtaining the results and/or one or more of the advantages described herein may be utilized, and each of such variations and/or modifications is deemed to be within the scope of the implementations described herein. More generally, all parameters, dimensions, materials, and configurations described herein are meant to be exemplary and that the actual parameters, dimensions, materials, and/or configurations will depend upon the specific application or applications for which the teachings is/are used. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific implementations described herein. It is, therefore, to be understood that the foregoing implementations are presented by way of example only and that, within the scope of the appended claims and equivalents thereto, implementations may be practiced otherwise than as specifically described and claimed. Implementations of the present disclosure are directed to each individual feature, system, article, material, kit, and/or method described herein. In addition, any combination of two or more such features, systems, articles, materials, kits, and/or methods, if such features, systems, articles, materials, kits, and/or methods are not mutually inconsistent, is included within the scope of the present disclosure.

Claims
I/We Claim:
1. A system (100) for dynamic resource allocation in a computing environment, the system (100) comprising:
a plurality of nodes (102), each node (102) configured to execute a set of tasks and having an associated CPU utilization threshold;
a memory (104) storing instructions for performing an Ant Colony Optimization (ACO) algorithm and a Bird Swarm Optimization (BSO) algorithm; and
a processor (106) configured to execute the stored instructions, wherein the processor is further configured to:
initialize the ACO and BSO parameters for each of the plurality of nodes (102);
calculate the CPU utilization for each node (102);
compare the calculated CPU utilization against the respective thresholds to determine an overloaded status for each node (102);
select, via the BSO algorithm, the node (102) with the highest CPU utilization that exceeds its threshold as the most overloaded node;
identify a task list associated with the most overloaded node for migration;
determine, via the ACO algorithm, the most underloaded node within the plurality of nodes (102); and
migrate the identified task list from the most overloaded node to the most underloaded node to balance the load across the computing environment, wherein the processor (106) is further configured to evaluate node fitness after task migration and update the current utilization of CPU for nodes involved in the migration.
2. The system (100) of claim 1, wherein the processor (106) is further configured to re-initialize the ACO and BSO parameters at predetermined intervals or upon detection of a change in the computing environment.
3. The system (100) of claim 1, wherein the processor (106) is further configured to perform real-time monitoring of CPU utilization of each node (102).
4. The system (100) of claim 1, wherein the memory (104) further stores instructions for executing a failover protocol in case a node (102) fails to execute the set of tasks.
5. The system (100) of claim 1, wherein the processor (106) is further configured to calculate a migration time for each task in the task list prior to performing the migration.
6. The system (100) of claim 1, wherein the memory (104) further stores instructions for a backup operation of the task list prior to migration.
7. The system (100) of claim 1, wherein each node (102) includes a network interface component configured to facilitate the migration of the task list across the computing environment.
8. The system (100) of claim 1, wherein the plurality of nodes (102) comprise a mix of physical and virtual machines.
9. The system (100) of claim 1, wherein the processor (106) is further configured to provide a user interface for manual override of task migration decisions.
10. A method for dynamic resource allocation in a computing environment, the method comprising:
utilizing a system (100) with a plurality of nodes (102), a memory (104), and a processor (106);
initializing, by the processor (106), Ant Colony Optimization (ACO) and Bird Swarm Optimization (BSO) parameters for each of the nodes (102);
calculating, by the processor (106), CPU utilization for each node (102);
comparing, by the processor (106), the calculated CPU utilization against respective thresholds to determine an overloaded status for each node (102);
selecting, by the processor (106) via the BSO algorithm, the node (102) with the highest CPU utilization that exceeds its threshold as the most overloaded node;
identifying, by the processor (106), a task list associated with the most overloaded node for migration;
determining, by the processor (106) via the ACO algorithm, the most underloaded node within the plurality of nodes (102); and
migrating, by the processor (106), the identified task list from the most overloaded node to the most underloaded node to balance the load across the computing environment.

HYBRID TECHNIQUE FOR RESOURCE ALLOCATION IN COMPUTING SYSTEMS
Abstract
Disclosed is a system for dynamic resource allocation in a computing environment, comprising a plurality of nodes, each node configured to execute a set of tasks and having an associated CPU utilization threshold; a memory storing instructions for performing an Ant Colony Optimization (ACO) algorithm and a Bird Swarm Optimization (BSO) algorithm; and a processor configured to execute the stored instructions. The processor is further configured to initialize the ACO and BSO parameters for each of the plurality of nodes, calculate the CPU utilization for each node, compare the calculated CPU utilization against the respective thresholds to determine an overloaded status for each node, select, via the BSO algorithm, the node with the highest CPU utilization that exceeds its threshold as the most overloaded node, identify a task list associated with the most overloaded node for migration, determine, via the ACO algorithm, the most underloaded node within the plurality of nodes, and migrate the identified task list from the most overloaded node to the most underloaded node to balance the load across the computing environment. The processor is further configured to evaluate node fitness after task migration and update the current utilization of CPU for nodes involved in the migration.
Fig. 1 , Claims:Claims
I/We Claim:
1. A system (100) for dynamic resource allocation in a computing environment, the system (100) comprising:
a plurality of nodes (102), each node (102) configured to execute a set of tasks and having an associated CPU utilization threshold;
a memory (104) storing instructions for performing an Ant Colony Optimization (ACO) algorithm and a Bird Swarm Optimization (BSO) algorithm; and
a processor (106) configured to execute the stored instructions, wherein the processor is further configured to:
initialize the ACO and BSO parameters for each of the plurality of nodes (102);
calculate the CPU utilization for each node (102);
compare the calculated CPU utilization against the respective thresholds to determine an overloaded status for each node (102);
select, via the BSO algorithm, the node (102) with the highest CPU utilization that exceeds its threshold as the most overloaded node;
identify a task list associated with the most overloaded node for migration;
determine, via the ACO algorithm, the most underloaded node within the plurality of nodes (102); and
migrate the identified task list from the most overloaded node to the most underloaded node to balance the load across the computing environment, wherein the processor (106) is further configured to evaluate node fitness after task migration and update the current utilization of CPU for nodes involved in the migration.
2. The system (100) of claim 1, wherein the processor (106) is further configured to re-initialize the ACO and BSO parameters at predetermined intervals or upon detection of a change in the computing environment.
3. The system (100) of claim 1, wherein the processor (106) is further configured to perform real-time monitoring of CPU utilization of each node (102).
4. The system (100) of claim 1, wherein the memory (104) further stores instructions for executing a failover protocol in case a node (102) fails to execute the set of tasks.
5. The system (100) of claim 1, wherein the processor (106) is further configured to calculate a migration time for each task in the task list prior to performing the migration.
6. The system (100) of claim 1, wherein the memory (104) further stores instructions for a backup operation of the task list prior to migration.
7. The system (100) of claim 1, wherein each node (102) includes a network interface component configured to facilitate the migration of the task list across the computing environment.
8. The system (100) of claim 1, wherein the plurality of nodes (102) comprise a mix of physical and virtual machines.
9. The system (100) of claim 1, wherein the processor (106) is further configured to provide a user interface for manual override of task migration decisions.
10. A method for dynamic resource allocation in a computing environment, the method comprising:
utilizing a system (100) with a plurality of nodes (102), a memory (104), and a processor (106);
initializing, by the processor (106), Ant Colony Optimization (ACO) and Bird Swarm Optimization (BSO) parameters for each of the nodes (102);
calculating, by the processor (106), CPU utilization for each node (102);
comparing, by the processor (106), the calculated CPU utilization against respective thresholds to determine an overloaded status for each node (102);
selecting, by the processor (106) via the BSO algorithm, the node (102) with the highest CPU utilization that exceeds its threshold as the most overloaded node;
identifying, by the processor (106), a task list associated with the most overloaded node for migration;
determining, by the processor (106) via the ACO algorithm, the most underloaded node within the plurality of nodes (102); and
migrating, by the processor (106), the identified task list from the most overloaded node to the most underloaded node to balance the load across the computing environment.

Documents

Application Documents

# Name Date
1 202411034770-REQUEST FOR EARLY PUBLICATION(FORM-9) [01-05-2024(online)].pdf 2024-05-01
2 202411034770-POWER OF AUTHORITY [01-05-2024(online)].pdf 2024-05-01
3 202411034770-OTHERS [01-05-2024(online)].pdf 2024-05-01
4 202411034770-FORM-9 [01-05-2024(online)].pdf 2024-05-01
5 202411034770-FORM FOR SMALL ENTITY(FORM-28) [01-05-2024(online)].pdf 2024-05-01
6 202411034770-FORM 1 [01-05-2024(online)].pdf 2024-05-01
7 202411034770-EVIDENCE FOR REGISTRATION UNDER SSI(FORM-28) [01-05-2024(online)].pdf 2024-05-01
8 202411034770-EDUCATIONAL INSTITUTION(S) [01-05-2024(online)].pdf 2024-05-01
9 202411034770-DRAWINGS [01-05-2024(online)].pdf 2024-05-01
10 202411034770-DECLARATION OF INVENTORSHIP (FORM 5) [01-05-2024(online)].pdf 2024-05-01
11 202411034770-COMPLETE SPECIFICATION [01-05-2024(online)].pdf 2024-05-01
12 202411034770-FORM 18 [23-11-2024(online)].pdf 2024-11-23