  The virtualization and softwarization of modern computer networks introduces
interesting new opportunities for a more flexible placement of network
functions and middleboxes (firewalls, proxies, traffic optimizers, virtual
switches, etc.). This paper studies approximation algorithms for the
incremental deployment of a minimum number of middleboxes at optimal locations,
such that capacity constraints at the middleboxes and length constraints on the
communication routes are respected. Our main contribution is a new, purely
combinatorial and rigorous proof for the submodularity of the function
maximizing the number of communication requests that can be served by a given
set of middleboxes. Our proof allows us to devise a deterministic approximation
algorithm which uses an augmenting path approach to compute the submodular
function. This algorithm does not require any changes to the locations of
existing middleboxes or the preemption of previously served communication pairs
when additional middleboxes are deployed, previously accepted communication
pairs just can be handed over to another middlebox. It is hence particularly
attractive for incremental deployments.We prove that the achieved
polynomial-time approximation bound is optimal, unless P = NP. This paper also
initiates the study of a weighted problem variant, in which entire groups of
nodes need to communicate via a middlebox (e.g., a multiplexer or a shared
object), possibly at different rates. We present an LP relaxation and
randomized rounding algorithm for this problem, leveraging an interesting
connection to scheduling.
