{'fraction_non_alphanumeric': 0.025903614457831327, 'fraction_numerical': 0.0030120481927710845, 'mean_word_length': 4.828070175438596, '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}}
Multicast routing tree for sequenced packet transmission in software-defined networks

Multicast denotes an idea of sending data to numbers of receivers from one source in one transmission. It has been widely applied in group communication (e.g., media streaming, multi-point video conferencing). Multicast routing tree (MRT) is usually built to keep the right paths to transmit data, where data copies are created in parent nodes and then forwarded to child nodes. However, constructing an MRT is usually difficult for a given network topology; finding an optimal multicast routing tree with the minimal cost is a proven NP-complete problem. Moreover, multicast applications usually run in local or small networks due to the limitations in flexibility, scalability, and security. In this paper, we solve a sequenced packet transmission problem of building MRT in Software-Defined Networking (SDN). In sequenced packet transmission, nodes only send the next packet when the previous packet is received by the node on the other side of link. We found this scenario in a popular open source network simulator ns-3 when looking into the runtime behavior of OpenFlow switches simulated by ns-3. We also found this problem is not limited to the ns-3 scenario. We prove that a routing path with less path cost does not correspond to less time cost when it is used to transmit multiple packets sequentially. We extend Dijkstra's shortest path algorithm with our new cost models. We construct the MRT as a sequenced packet shortest-path tree (SPSPT). Simulation results show that our SPSPT can save at least 10% of the multicast time for sequenced packet transmission.