{'fraction_non_alphanumeric': 0.01939655172413793, 'fraction_numerical': 0.005028735632183908, 'mean_word_length': 5.246636771300448, 'pattern_counts': {'":': 0, '<': 0, '<?xml version=': 0, '>': 0, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
Polygon: a QUIC-based CDN server selection system supporting multiple resource demands

CDN is a critical Internet infrastructure that helps Internet users get contents with a short delay. With the development of CDN application scenarios, CDN requests will involve more than one resource type. Unfortunately, the existing CDN server selection schemes targeting one resource type cannot select the most suitable CDN server by considering different resource types together. In this paper, we propose Polygon, a CDN server selection system supporting multiple resource demands. The keystone of Polygon is the deployment of a set of dispatchers at strategic network locations, which can be accessed via anycast. The dispatchers are responsible for resource status collection, server assignment with resource demands, and forwarding requests to suitable CDN servers. Meanwhile, Polygon adopts the 0-RTT and connection migration features of the QUIC protocol to mitigate the extra delay for connection and forwarding. We conduct real-world experiments on the Google Cloud Platform to demonstrate the advantages of Polygon. The results show that the deployment of the dispatchers enables Polygon to provide a better CDN service with a median job completion time reduction of up to 54.8%. Also, Polygon improves resource utilization efficiency by 13% in terms of bandwidth and by 7% in terms of CPU.