{'fraction_non_alphanumeric': 0.02052980132450331, 'fraction_numerical': 0.0, 'mean_word_length': 5.4297872340425535, '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': 1, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
SDN-based container management scheme with flexibly addresses allocation capability

The rapid development of container-based virtualization provides an alternative to virtual machine technology used in cloud environment. However, we notice that the shortcoming in networking of this technology, such as complexity in communication between containers in different hosts and the waste of network addresses when directly allocating public IP addresses to containers, limits its availability on complicated scenarios. In order to solve these problems, we propose a solution named SDN-based NGroups Management Scheme (SNMS). In our solution, containers are organized into different NGroups, and public network addresses are allocated to NGroups too. Containers in the same NGroup can communicate with each other using “localhost” as target, and clients outside of an NGroup can fetch services using this NGroup's address. We adopt SDN technology to route traffic in order to accomplish these objectives. In this paper, we present detailed design for the solution and build a prototype based on our design. By using our prototype, container's position has nothing to do with service providing, and public network addresses are greatly saved because containers inside an NGroup share the same network configuration to the outside world. In the meantime, the performance of creating containers and HTTP downloading in our prototype is not bad than, in some case even better than, those in existing solutions nowadays.