Agent-Based CDN Selection Using Upper Confidence Bound
Find Innovative SolutionsGenerate Solutions
Solution Overview
Problem
Existing video delivery systems using content delivery networks (CDNs) face challenges in optimally assigning CDNs due to reliance on historical data, which can lead to underutilization of CDNs with potential for good quality of service (QoS) performance, especially when there are few historical observations, and require time-consuming retraining of machine learning models to adapt to changing conditions.
Innovation Solution
Implementing an agent-based system that uses an upper confidence bound (UCB) to predict QoS performance, balancing exploitation and exploration, allowing real-time updates based on feedback from content delivery, and selecting CDNs with the highest predicted performance scores.
Engineering Contradictions & Design Principles
Engineering Contradiction Analysis
1Reliability
If random selection or historical data-based selection is used to assign content delivery networks, then the system is simple to operate, but the quality of service performance is suboptimal and CDNs with potential for good performance are underutilized
Solution Approach 1:
The patent changes the parameter of CDN selection from random or historical data-based to agent-based prediction using upper confidence bound. The agent dynamically adjusts selection criteria based on real-time QoS metrics, transforming the selection mechanism to achieve better service quality without requiring complex machine learning model retraining
Solution Approach 2:
The system implements feedback loops where agents continuously monitor QoS metrics from CDN performance and use this feedback to update their predictions and selections. This real-time feedback mechanism allows the system to adapt to changing conditions and prevent underutilization of high-performing CDNs
2Measurement precision
If machine learning models are used to predict QoS performance, then prediction accuracy may improve, but the system requires time-consuming retraining to adapt to changing conditions
Solution Approach 1:
The agent-based system performs self-updates using real-time QoS feedback without requiring external retraining. Each agent autonomously adjusts its predictions based on observed CDN performance, eliminating the need for time-consuming offline model retraining while maintaining accurate QoS predictions
Solution Approach 2:
The system transitions from static machine learning models to dynamic agents that continuously adapt their predictions in real-time. The agents' parameters and predictions evolve dynamically based on incoming QoS data, allowing the system to respond immediately to changing network conditions without retraining delays
3Productivity
If CDNs are selected based on limited historical observations, then the selection process is fast, but CDNs with potential for good QoS are underutilized due to insufficient data
Solution Approach 1:
The agent performs preliminary exploration of CDN performance by making predictions and selections even with limited historical data. Rather than waiting for sufficient historical observations, the agent proactively tests and learns from CDN performance, preventing underutilization of potentially high-performing CDNs
Solution Approach 2:
The system changes the selection parameter from data-volume-dependent to agent-based prediction. The agent uses upper confidence bound algorithms to make informed selections with limited data, balancing exploration of under-tested CDNs with exploitation of known high-performers, thus maintaining both selection speed and reliable utilization
Data Source
Figure 1
Figure 2
Figure 3
AI summary
In some embodiments, a method determines an input value for a request for content and retrieves a plurality of states for a plurality of content delivery networks. The state includes a component that is based on variance. A plurality of scores for a plurality of content delivery networks is generated based on the input value and the plurality of states. A score for a content delivery network is generated using a parameter value for the component and the input value. The method selects a content delivery network from the plurality of content delivery networks based on the score for the content delivery network and outputs information for the selected content delivery network to cause the selected content delivery network to service the request to deliver the content.