{'fraction_non_alphanumeric': 0.029152915291529153, 'fraction_numerical': 0.0044004400440044, 'mean_word_length': 5.043189368770764, '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}}
BRADO: scalable streaming through reconfigurable trees

Scalable live streaming delivery to large groups has been a long standing research challenge for the last fifteen years. Peer-to-peer (P2P) has emerged as the leading candidate since its capacity grow with the number of participating users [1]. The scalability of P2P schemes is quantified in two main ways. One is overhead scalability : the growth rate of forwarding tables, control messages and data relayed with respect to the number of users. The second is performance scalability : the throughput and delay achievable for arbitrary group size. In practice, these two types of scalability could be at odds, especially in a dynamic environment. On one extreme, completely unstructured peer-to-peer (P2P) systems have low overhead, but the dynamics of the system can lead to long delays or transient connectivity disruptions as the number of peers grows [2]. On the other, meshstructured networks offer low delays, but they could have high maintenance overhead in the face of user dynamics [3]. In this paper, we propose to build multiple configurable trees approach to balance between overhead scalability and performance scalability in a dynamic environment. In a a live video streaming application, there are three types of system dynamics. At the longest timescale, users join or leave the P2P service. At the medium timescale, users change what they are watching while staying in the system (which we will refer to as content switching in this paper). Finally, at the timescale of round-trip times (RTTs), there are link load dynamics such as queuing delay and packet losses. Many proposed architectures construct delivery trees either over hierarchical structures or unstructured meshes at the timescale of content switching ([4] and references therein).