  Network protocols have historically been developed on an ad-hoc basis, and
cloud computing is no exception. A fundamental management protocol, not yet
standardized, that cloud providers need to run to support wide-area virtual
network services is the virtual network (VN) embedding protocol. In this paper,
we use decomposition theory to provide a unifying architecture for the VN
embedding problem. We show how our architecture subsumes existing solutions,
and how it can be used by cloud providers to design a distributed VN embedding
protocol that adapts to different scenarios, by merely instantiating different
decomposition policies. We analyze key representative tradeoffs via simulation,
and with our VN embedding testbed that uses a Linux system architecture to
reserve virtual node and link capacities. In contrast with existing VN
embedding solutions, we found that partitioning a VN request not only increases
the signaling overhead, but may decrease cloud providers' revenue.
