UDDI Proxy Load Balancing and Failover
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web service servers face overload issues, leading to potential failure and service denial, as existing load balancing and failover solutions are either expensive or inefficient in managing the complexity of multiple users and server loads.
Innovation Solution
Implementing a UDDI proxy system that performs load balancing and failover by selecting suitable web services and servers using distributed scheduling algorithms, determining real addresses for connections, and managing server loads within UDDI repositories to ensure continuous service availability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If more powerful servers are used to handle web service requests, then the server capacity and handling capability are improved, but the cost increases disproportionably
Solution Approach 1:
The system segments the server pool into multiple servers running the same web service, where each server handles a portion of the total load. The UDDI repository is divided into public information (accessible to all) and private information (server-specific details), allowing load distribution without requiring each server to be individually powerful.
Solution Approach 2:
Multiple servers are made universal by running the same web service on each, allowing any server to handle any request. The UDDI repository structure provides universal access patterns where clients interact through a standardized interface regardless of which specific server handles the request.
2Productivity
If load balancing is implemented using distributed scheduling algorithms, then the load distribution efficiency is improved, but the system complexity increases
Solution Approach 1:
The system performs preliminary action by pre-organizing server information in the UDDI repository with public and private distinctions. Load balancing algorithms can operate on this pre-structured data without requiring complex real-time coordination, reducing runtime complexity.
Solution Approach 2:
The UDDI repository acts as an intermediary between clients and servers, abstracting the complexity of load balancing. Clients interact with the UDDI repository using simple public interfaces, while the repository handles the complex tasks of server selection, load distribution, and failover management.
3Productivity
If multiple servers are used to run the same web service, then the load capacity is improved, but the difficulty of managing server loads and failovers increases
Solution Approach 1:
The UDDI repository implements local quality by storing server-specific private information (such as endpoint addresses and load characteristics) alongside universal public information. This allows the system to manage heterogeneous server characteristics while maintaining a unified interface, simplifying multi-server management.
Solution Approach 2:
The system uses feedback mechanisms where servers report their load status and availability to the UDDI repository, which then adjusts load distribution dynamically. This automated feedback loop reduces manual management overhead while maintaining optimal load capacity across multiple servers.
4Ease of operation
If static load balancing algorithms are used, then the allocation simplicity is improved, but the adaptability to current server load conditions deteriorates
Solution Approach 1:
The system implements dynamics by allowing load balancing algorithms to adapt based on current server conditions stored in the UDDI repository. While maintaining simple allocation mechanisms, the system dynamically adjusts server selection based on real-time load information, availability status, and performance metrics.
Data Source
AI summary
A method for connecting to a web service includes selecting a web service, selecting a server among one or more servers capable of running the selected web service, determining a real address for the selected web service running on the selected server and connecting to the selected web service running on the selected server using the determined real address.


