An Application-Aware Multi-Layer Service Provisioning Algorithm based on Auxiliary Graphs