{'fraction_non_alphanumeric': 0.021600392734413353, 'fraction_numerical': 0.0, 'mean_word_length': 5.348909657320872, '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}}
Branching-Aware Service Function Placement and Routing in Network Function Virtualization

Network Function Virtualization (NFV) is an emerging technology that promises to address issues in traditional middleboxes, providing service flexibility and reduced cost. NFV decouples network functions from the proprietary middlebox hardware, thus allowing the network providers to implement network functions on virtual machines running in standard servers. To deliver an end-to-end service in the NFV environment, Service Function Chain (SFC) is used to define the sequence of actions or Virtual Network Functions (VNFs) that needs to be applied to the data stream of a service delivery demand. Typically, the SFC is regarded as a linear topology that consists of a group of VNFs that the data stream is navigated through. However, our recent exploration on a group of real-life use cases reveals that the data stream can branch out to multiple data streams at certain VNFs (e.g., a load balancer). This branching indicates that the packet flow may be directed to multiple different paths, resulting in a more complex mesh-like service function graph. In this paper, we define the resulting problem as Branching-Aware Service Function Graph embedding and routing (B_SFG). We study how to efficiently accommodate user’s B_SFG requests in the physical network while considering the constraints of function dependency, branching requirements, computing resources of virtual nodes and bandwidth demand of the virtual links. We propose a novel algorithm, B_SFG_CM, which jointly optimizes the processes of node and link mapping of a request. B_SFG_CM employs the proposed techniques of dependency sorting and layering that effectively take into account the node dependency, branching points and the resource status of the physical network. Our experimental results show that the proposed algorithm significantly outperforms the scheme based on the traditional sequential node/link embedding in which the node and link mapping is done sequentially.