A service layer entity (SLE 1) on a network, the service layer entity comprising: a non-transitory memory including executable instructions for selecting one or more service nodes to add a new service to a service layer; and a processor operably coupled to the memory, the processor being adapted to: receive, from an application service provider, a request to add the service check a service enablement policy specified by the application service provider and service node selection criteria specified by the application service provider for adding the service to determine whether the service enablement policy and the service node selection criteria specified by the application service provider conflict with a service enablement policy and service node selection criteria of the service layer, wherein a service enablement policy is a set of rules to be followed by all service layer entities during the process of adding a new service, and a service node selection criteria is a set of rules for selecting the service node to add to the new service; collaborate with another service layer entity (SLE 2) to harmonize the service enablement policy and the service node selection criteria specified by the application service provider, and, if there is a service enablement policy and service node selection criteria conflict, resolve the conflict; send a reply to the application service provider confirming a result of the collaboration; determine a service node that meets the harmonized service enablement policy and the service node selection criteria; and send a request to the service node to add the service. a non-transitory memory including executable instructions for selecting one or more service nodes to add a new service to a service layer; and a processor operably coupled to the memory, the processor being adapted to: receive, from an application service provider, a request to add the service check a service enablement policy specified by the application service provider and service node selection criteria specified by the application service provider for adding the service to determine whether the service enablement policy and the service node selection criteria specified by the application service provider conflict with a service enablement policy and service node selection criteria of the service layer, wherein a service enablement policy is a set of rules to be followed by all service layer entities during the process of adding a new service, and a service node selection criteria is a set receive, from an application service provider, a request to add the service check a service enablement policy specified by the application service provider and service node selection criteria specified by the application service provider for adding the service to determine whether the service enablement policy and the service node selection criteria specified by the application service provider conflict with a service enablement policy and service node selection criteria of the service layer, wherein a service enablement policy is a set of rules to be followed by all service layer entities during the process of adding a new service, and a service node selection criteria is a set of rules for selecting the service node to add to the new service; collaborate with another service layer entity (SLE 2) to harmonize the service enablement policy and the service node selection criteria specified by the application service provider, and, if there is a service enablement policy and service node selection criteria conflict, resolve the conflict; send a reply to the application service provider confirming a result of the collaboration; determine a service node that meets the harmonized service enablement policy and the service node selection criteria; and send a request to the service node to add the service. collaborate with another service layer entity (SLE 2) to harmonize the service enablement policy and the service node selection criteria specified by the application service provider, and, if there is a service enablement policy and service node selection criteria conflict, resolve the conflict; send a reply to the application service provider confirming a result of the collaboration; determine a service node that meets the harmonized service enablement policy and the service node selection criteria; and send a request to the service node to add the service.