An Architecture for Dynamic Provisioning of Virtual Networks