Content-Based Ethernet Switching for Web Server Load Balancing
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Web-scale systems face bottlenecks in handling and processing web-server requests due to limitations in managing high user demands, where traditional disk access speed and CPU processing are not the primary issues, but rather the ability to efficiently route and distribute content requests across multiple servers.
Innovation Solution
A content-based Ethernet switching method and software application that uses a 60-bit hash value to determine the content type and route requests to the appropriate server within a server farm, leveraging VLAN tag switching and MAC table look-ups for dynamic load balancing and content relocation, allowing for efficient distribution of content across multiple servers.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Productivity
If traditional web-server architectures are used to handle high user demands, then the system can service a large amount of users, but the system encounters bottlenecks in handling and processing web-server requests due to limitations in managing high user demands
Solution Approach 1:
The patent segments the request handling function by introducing a dedicated content switching layer that separates content type determination from server processing. The content switch receives incoming requests, determines content types using hash functions, and routes requests to appropriate servers based on content type, thereby segmenting the bottleneck from the processing capacity.
Solution Approach 2:
The patent introduces a content switch as an intermediary component between clients and servers. This intermediary performs content type determination and request routing based on 60-bit hash values, acting as a mediator that offloads the computational burden of request handling from the servers themselves, thereby improving overall request handling capacity without proportionally increasing server complexity.
2Reliability
If content requests are routed to multiple servers, then the scalability and availability of the system is enhanced, but the ability to efficiently route and distribute content requests across multiple servers becomes the new bottleneck
Solution Approach 1:
The patent applies preliminary action by pre-computing and storing 60-bit hash values for different content types in the content switch. When a request arrives, the switch performs a quick hash comparison to determine the content type and route the request, rather than performing complex routing decisions at request time. This preliminary preparation of routing information significantly improves request routing efficiency while maintaining enhanced scalability and availability.
Solution Approach 2:
The patent changes the routing parameter from complex content analysis to simplified 60-bit hash value comparison. By transforming the routing decision parameter into a compact, easily comparable hash value, the system can efficiently route requests across multiple servers while maintaining high availability and scalability.
3Productivity
If content requests are processed by multiple servers, then the system throughput is improved, but the latency in determining content type and routing requests increases
Solution Approach 1:
The patent uses copying by replicating the 60-bit hash value comparison capability across multiple content switches and servers. Each switch and server maintains local hash tables for content type determination, eliminating the need for centralized content type analysis. This copying of routing intelligence to distributed locations reduces latency while maintaining high throughput by enabling parallel request processing.
Data Source
AI summary
The embodiments described herein provide a method, program and computing network for processing a content request received via a computing network. The method comprises the steps of receiving an incoming request for content from a remote computing device, determining the content type requested by the incoming request and delivering the request to one of a plurality of servers according to the determined content request type.


