A network resource module comprising: an interface configured to communicatively interface a resource manager with one or more network nodes in a communication network; and a controller configured to: - receive messages from one or more network nodes, wherein the messages comprise information identifying network node resources associated with the one or more network nodes; - determine a network node type for each network node; - abstract the network node resource information into corresponding one or more Virtual Resource Objects, VROs, by: translating the network node resource information between a first format compatible with the one or more network, nodes and a second format compatible with the resource manager; and generating the VROs to include corresponding generic class definitions describing the network node resources associated with each network node based on the determined network node type; and - publish the VROs in a registry for discovery by a Virtual Network Operator, VNO, creating a virtual infrastructure for a virtual network. an interface configured to communicatively interface a resource manager with one or more network nodes in a communication network; and a controller configured to: - receive messages from one or more network nodes, wherein the messages comprise information identifying network node resources associated with the one or more network nodes; - determine a network node type for each network node; - abstract the network node resource information into corresponding one or more Virtual Resource Objects, VROs, by: translating the network node resource information between a first format compatible with the one or more network, nodes and a second format compatible with the resource manager; and generating the VROs to include corresponding generic class definitions describing the network node resources associated with each network node based on the determined network node type; and - publish the VROs in a registry for discovery by a Virtual Network Operator, VNO, creating a virtual infrastructure for a virtual network. - receive messages from one or more network nodes, wherein the messages comprise information identifying network node resources associated with the one or more network nodes; - determine a network node type for each network node; - abstract the network node resource information into corresponding one or more Virtual Resource Objects, VROs, by: translating the network node resource information between a first format compatible with the one or more network, nodes and a second format compatible with the resource manager; and generating the VROs to include corresponding generic class definitions describing the network node resources associated with each network node based on the determined network node type; and translating the network node resource information between a first format compatible with the one or more network, nodes and a second format compatible with the resource manager; and generating the VROs to include corresponding generic class definitions describing the network node resources associated with each network node based on the determined network node type; and - publish the VROs in a registry for discovery by a Virtual Network Operator, VNO, creating a virtual infrastructure for a virtual network.