Multi-Grid Load Balancing via Peer-to-Peer Protocols
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Traditional grid computing systems face inefficiencies due to their monolithic architecture, which can lead to bottlenecks and single points of failure, and lack effective load balancing across distributed resources, resulting in suboptimal job processing and resource utilization.
Innovation Solution
Implementing an autonomic grid computing mechanism that utilizes peer-to-peer platform protocols, such as JXTA, to create a multi-grid network where job submitters can dynamically discover and distribute jobs across multiple grids based on load balancing criteria, including pending jobs and processing capabilities, thereby optimizing resource utilization and fault tolerance.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Device complexity
If a monolithic grid architecture is used, then system simplicity is maintained, but load balancing capability deteriorates and bottlenecks occur
Solution Approach 1:
The patent divides the monolithic grid into multiple independent grid cells, each with its own master node and compute nodes. This segmentation enables distributed load balancing across cells while maintaining simplicity within each cell. The load balancer operates at the grid cell level, distributing jobs across multiple cells to avoid bottlenecks in a single monolithic structure.
2Device complexity
If a monolithic grid architecture is used, then system simplicity is maintained, but fault tolerance deteriorates due to single point of failure
Solution Approach 1:
By segmenting the grid into multiple independent cells, the patent eliminates the single point of failure characteristic of monolithic architectures. If one cell experiences failure, other cells continue to operate independently. Each cell has its own master node that can fail without affecting the entire grid system.
Solution Approach 2:
The patent implements local quality by allowing each grid cell to have independent failure characteristics and recovery mechanisms. The load balancer can detect failures at the cell level and redirect jobs to healthy cells, ensuring continuous operation even when individual cells fail.
3Ease of operation
If manual configuration is used for grid resources, then system control is maintained, but scalability deteriorates
Solution Approach 1:
The patent implements self-service through automatic resource discovery and registration. Compute nodes automatically register themselves with the load balancer when joined to the grid, and the load balancer automatically monitors resource availability and distributes jobs without manual intervention. This enables scalability while maintaining operational control through automated policies.
Solution Approach 2:
The load balancer continuously monitors the status of compute nodes and grid cells, using this feedback to dynamically adjust job distribution. This feedback mechanism enables the system to scale automatically by detecting available resources and assigning jobs accordingly, without requiring manual reconfiguration.
4Reliability
If jobs are distributed across multiple grids, then fault tolerance is improved, but system complexity increases
Solution Approach 1:
The patent introduces a load balancer as an intermediary component that manages the complexity of distributing jobs across multiple grid cells. The load balancer handles failover logic, resource allocation, and communication coordination, shielding users from the underlying multi-grid complexity while enabling improved fault tolerance.
Data Source
AI summary
A load-balancing mechanism for grids in a multi-grid network. Using embodiments, one or more job submitters may distribute jobs to grids in a multi-grid network according to the load of the grids, thus spreading the load of jobs to be processed among the grids and helping to insure that jobs are handled in a timely fashion. In one embodiment, a job submitter may use peer-to-peer platform protocols to obtain load information about the grids, and then use the information about the grids to select one of the grids to perform a particular job according to the load of the grids. Determining the load on the grids may be based on information acquired from the grids including one or more of, but not limited to, how many jobs are pending in a grid's job queue and estimated time for completing the jobs in the grid's job queue.


