{'fraction_non_alphanumeric': 0.022245762711864406, 'fraction_numerical': 0.004766949152542373, 'mean_word_length': 5.11326860841424, '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}}
Cost-based placement of vDPI functions in NFV infrastructures

Network Functions Virtualization (NFV) is transforming how networks are architected and network services delivered. The network is more flexible and adaptable, it can scale with traffic demands. To manage video traffic in the network, or get protection from cyber-attacks, Deep Packet Inspection is increasingly deployed at specific locations in the network. The virtual Deep Packet Inspection (vDPI) engines can be dynamically deployed as software on commodity servers within emerging NFV infrastructures. For a network operator, deploying a set of vDPIs over the network is a matter of finding the appropriate placement that meets the traffic management or cyber-security targets (such as the number of inspected flows) and operational cost constraints (license fees, network efficiency or power consumption). In this work, we formulate the vDPI placement problem as a cost minimization problem. The cost captures the different objectives the operator is pursuing. A placement of vDPIs on the network nodes realizes a trade-off between these possibly conflicting goals. We cast the problem as a multi-commodity flow problem and solve it as an Integer Linear Program (ILP). We then devise a centrality-based greedy algorithm and assess its validity by comparing it with the ILP optimal solution on a real data set (GEANT network with 22 nodes and real traffic matrix). We further analyze the scalability of the heuristic by applying it to larger random networks of up to 100 nodes. The results show the network structure and the costs strongly influence time performance. They also show that after a size limit (between 40 to 80 nodes in our case), the execution time increases exponentially due to combinatorial issues. Finally, they demonstrate that the heuristic well approximate the optimal on smaller problem instances.