1 Introduction
Traditionally, network functions such as firewalls, unified threat management, and deep packet inspection are implemented in dedicated hardware appliances. NFV offers a paradigm enabling network functions to be decoupled from hardware and executed as software-based virtualized appliances in virtual machines (VMs), which are hosted on off-the-shelf physical machines (PMs) in datacenters. Thus, NFV offers great flexibility in realizing network services, such as network resilience, service assurance, test/diagnostics and security surveillance. Inspired by the great advantages of NFV, various design of programmable middleboxes has been proposed recently [1], [2], [3]. Combining with the software-defined networking (SDN) [4], NFV significantly simplifies the management of network services [5], [6], [7], [8].