Client-Side Web Server Load Balancing via Browser JavaScript
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Cloud data centers face limitations in scalability and adaptability due to restricted infrastructure components and network bandwidth, making it challenging to handle peak loads and provide optimal user experiences for high-traffic web applications.
Innovation Solution
A novel web server farm architecture that combines storage hosts for static content, clusters of virtual machines for dynamic content, and dedicated application engines for load monitoring, allowing client-side load balancing by presenting load information to browsers for optimal server selection, thereby overcoming network bandwidth limitations and enhancing scalability and adaptability.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If traditional enterprise infrastructure is used with hardware load balancers or IP address assignment, then load balancing capability is improved, but infrastructure flexibility and cloud-native adaptability deteriorate
Solution Approach 1:
The patent replaces traditional mechanical hardware load balancers and fixed IP assignment mechanisms with a software-based client-side load balancing system. The browser-based load balancer uses JavaScript to dynamically select web servers, eliminating the need for hardware load balancers and enabling full cloud-native adaptability while maintaining reliable load distribution.
Solution Approach 2:
The patent changes the fundamental parameters of load balancing from static hardware-based configurations to dynamic software-based selections. By using JavaScript in browsers to make load balancing decisions, the system can adapt to changing cloud infrastructure conditions in real-time, improving both reliability and adaptability simultaneously.
2Device complexity
If cloud data center infrastructure is used with limited components, then cost and simplicity are improved, but scalability and performance for peak loads deteriorate
Solution Approach 1:
The patent segments the load balancing function from the traditional infrastructure layer and places it in the client browser. This segmentation allows the cloud infrastructure to remain simple and cost-effective while the browser-based load balancer handles peak loads by distributing traffic across multiple web servers using JavaScript-based decision-making.
Solution Approach 2:
The client browser performs self-service load balancing by executing JavaScript code that automatically selects optimal web servers based on real-time conditions. This eliminates the need for complex centralized load management systems while enabling the infrastructure to scale effectively during peak loads through distributed decision-making across multiple clients.
3Reliability
If cloud infrastructure security features are enabled, then security is improved, but networking capability and performance optimization deteriorate
Solution Approach 1:
The patent substitutes traditional network-layer security and performance management mechanisms with application-layer JavaScript-based solutions in browsers. This allows cloud infrastructure to maintain strong security features while performance optimization is achieved through intelligent client-side load balancing that selects optimal servers based on real-time conditions without requiring network-layer manipulation.
Data Source
Figure 1
Figure 2
Figure 3
AI summary
A novel web server farm architecture is provided that combines various cloud components and innovatively maximizes their strengths to achieve a scalable, adaptable, load balanced computing architecture. In one embodiment, this architecture includes a storage host for static content hosting, a cluster of virtual machines (operating as web servers) for dynamic content hosting, and a dedicated application engine for monitoring the load of the virtual machines. A browser or end-application user of a web application is first routed to a static anchor page hosted on the storage host. The browser is subsequently presented with a list of virtual machines and data corresponding to their respective current loads. To access dynamic content, the browser is able to select from the virtual machines based in large part on the reported current loads of the virtual machines. Once a virtual machine is selected, the browser may communicate directly with the selected web server.