A method of determining, by a software defined networking, SDN, controller , an optimal service function path, SFP, in which network nodes have been virtualized, the method comprising: obtaining, by a master problem solution unit of the SDN controller , (i) physical map information related to routing within an (S)Gi-LAN and (ii) service request information related to a service flow; performing, by the master problem solution unit of the SDN controller , routing within a (S)Gi-LAN based on the physical map information; generating, by the master problem solution unit of the SDN controller , a virtual map corresponding to each service flow based on the service request information; determining, by a slave problem solution unit of the SDN controller corresponding to each service flow, an optimal SFP corresponding to each service flow through a dynamic programming scheme based on the first virtual map received from the master problem solution unit of the SDN controller , wherein the optimal SFP includes a set of service function chain, SFC, candidates; transmitting, by the slave problem solution unit of the SDN controller corresponding to each service flow, the optimal SFP corresponding to each service flow to the master problem solution unit of the SDN controller ; updating, by the master problem solution unit of the SDN controller , the physical map information based on the optimal SFPs received from the slave problem solution unit of the SDN controller corresponding to each service flow; based on all of SFC requests being not processed due to an insufficient capacity, selecting a competitor of a not-accommodated SFC and switching priority between SFCs so that SFC are accommodated as much as possible. obtaining, by a master problem solution unit of the SDN controller , (i) physical map information related to routing within an (S)Gi-LAN and (ii) service request information related to a service flow; performing, by the master problem solution unit of the SDN controller , routing within a (S)Gi-LAN based on the physical map information; generating, by the master problem solution unit of the SDN controller , a virtual map corresponding to each service flow based on the service request information; determining, by a slave problem solution unit of the SDN controller corresponding to each service flow, an optimal SFP corresponding to each service flow through a dynamic programming scheme based on the first virtual map received from the master problem solution unit of the SDN controller , wherein the optimal SFP includes a set of service function chain, SFC, candidates; transmitting, by the slave problem solution unit of the SDN controller corresponding to each service flow, the optimal SFP corresponding to each service flow to the master problem solution unit of the SDN controller ; updating, by the master problem solution unit of the SDN controller , the physical map information based on the optimal SFPs received from the slave problem solution unit of the SDN controller corresponding to each service flow; based on all of SFC requests being not processed due to an insufficient capacity, selecting a competitor of a not-accommodated SFC and switching priority between SFCs so that SFC are accommodated as much as possible. <EOS>