Abstract-Network virtualisation is a promising technique for dealing with the resistance of the Internet to architectural changes. This is achieved by enabling a novel business model in which infrastructure management is decoupled from service provision. One of the main challenges in network virtualisation is efficient sharing of physical network resources by the different virtual networks. This work contributes to efficient resource sharing in network virtualisation by dividing the resource management problem into three sub-problems: virtual network embedding (VNE), dynamic resource allocation (DRA), and virtual network survivability (VNS); and then proposing a solution for each one of them. Specifically, we propose a path generation-based approach for VNE, machine learning-based selfmanagement approaches for DRA, and a multi-entity negotiation algorithm for VNS. Through simulations, all our proposals are compared with related approaches, showing improvements in resource utilisation efficiency, which would directly result into better profitability for physical resource owners.