  We present a generic and flexible architecture to realize CloudNets: virtual
networks connecting cloud resources with resource guarantees. Our architecture
is federated and supports different (and maybe even competing) economical
roles, by providing explicit negotiation and provisioning interfaces.
Contract-based interactions and a resource description language that allows for
aggregation and abstraction, preserve the different roles' autonomy without
sacrificing flexibility. Moreover, since our CloudNet architecture is plugin
based, essentially all cloud operating systems (e.g., OpenStack) or link
technologies (e.g., VLANs, OpenFlow, VPLS) can be used within the framework.
  This paper describes two roles in more detail: The Physical Infrastructure
Providers (PIP) which own the substrate network and resources, and the Virtual
Network Providers (VNP) which can act as resource and CloudNet brokers and
resellers. Both roles are fully implemented in our wide-area prototype that
spans remote sites and resources.
