Single and Multi-domain Adaptive Allocation Algorithms for VNF Forwarding Graph Embedding