Network Routing System for Measured Client Experience
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Internet content providers face challenges in directing users to the most suitable data center based on network performance characteristics, leading to inconsistent user experiences due to variations in speed, reliability, and workload across multiple data centers.
Innovation Solution
A system that measures network performance characteristics from multiple content servers and directs clients to a target content server based on these metrics, using intermediate routing systems and administrative servers to optimize user experience by selecting the server with the best performance for subsequent requests, and also routes other related clients to the same target server.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If a user is directed to one of multiple data centers without performance measurement, then the routing process is simple, but the user experience is inconsistent due to variations in network performance and server workload
Solution Approach 1:
The system performs preliminary network performance measurements by directing test requests to multiple data centers before the actual content request. These measurements include network latency, server response time, and workload assessment. Based on these pre-measured performance characteristics, the routing system determines the optimal data center for the user's request, ensuring consistent user experience without adding complexity to the actual content delivery process
Solution Approach 2:
The routing system automatically measures network performance characteristics and selects optimal data centers without requiring manual intervention or complex configuration. The system self-adjusts routing decisions based on real-time performance measurements, enabling reliable user experience consistency through automated performance-based routing
2Productivity
If network performance characteristics are measured from multiple content servers, then the target server selection is optimized, but the measurement and reporting process becomes more complex
Solution Approach 1:
The system introduces an intermediary routing component that manages performance measurements to multiple content servers. This intermediary receives test requests, measures network performance characteristics including latency and server response times, and consolidates the results to determine the optimal target server. The intermediary abstracts the measurement complexity from the content delivery process while enabling optimized server selection based on real-time performance data
Solution Approach 2:
The system performs measurements to multiple content servers beyond what would be minimally necessary, measuring network performance characteristics to at least two different data centers to ensure optimal selection. This excessive measurement approach ensures that the system has sufficient data to make informed routing decisions, improving content delivery efficiency by selecting the best-performing server even though it requires measuring more servers than the absolute minimum
Data Source
AI summary
Routing network traffic on a computer network is described. In one embodiment, a method is presented which includes transmitting instructions to a client, the instructions executable by the client to request content from two or more content servers, measure two or more network performance characteristics associated with the two or more different content servers, and issue a report to an administrative server. The report may include a first network performance characteristic and a second network performance characteristic. The method may further include selecting a target content server from one of two or more content servers based on comparison of the two or more network performance characteristics; and transmitting routing instructions to an intermediate routing system, the routing instructions executable by the intermediate routing system to direct subsequent content requests transmitted by the client to the target content server.


