An Approximation Algorithm for Path Computation and Function Placement in SDNs

  • Guy Even
  • Matthias Rost
  • Stefan Schmid
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 9988)


We consider the task of embedding multiple service requests in Software-Defined Networks (SDNs), i.e. computing (combined) mappings of network functions on physical nodes and finding routes to connect the mapped network functions. A single service request may either be fully embedded or be rejected. The objective is to maximize the sum of benefits of the served requests, while the solution must abide node and edge capacities.

We follow the framework suggested by Even et al. [5] for the specification of the network functions and routing of requests via processing-and-routing graphs (PR-graphs): a request is represented as a directed acyclic graph with the nodes representing network functions. Additionally, a unique source and a unique sink node are given for each request, such that any source-sink path represents a feasible chain of network functions to realize the service. This allows for example to choose between different realizations of the same network function. Requests are attributed with a global demand (e.g. specified in terms of bandwidth) and a benefit.

Our main result is a randomized approximation algorithm for path computation and function placement with the following guarantee. Let m denote the number of links in the substrate network, \(\varepsilon \) denote a parameter such that \(0< \varepsilon <1\), and \(\mathsf {opt}^*\) denote the maximum benefit that can be attained by a fractional solution (one in which requests may be partly served and flow may be split along multiple paths). Let \(c_{\min }\) denote the minimum edge capacity, let \(d_{\max }\) denote the maximum demand, and let \(b_{\max }\) denote the maximum benefit of a request. Let \(\varDelta _{\max }\) denote an upper bound on the number of processing stages a request undergoes. If \(c_{\min }/(\varDelta _{\max }\cdot d_{\max })=\varOmega ((\log m)/\varepsilon ^2)\), then with probability at least \(1-\frac{1}{m}-\textit{exp}(-\varOmega (\varepsilon ^2\cdot \mathsf {opt}^*/(b_{\max }\cdot d_{\max })))\), the algorithm computes a \((1-\varepsilon )\)-approximate solution.



This research was supported by the EU project UNIFY FP7-IP-619609 as well as by the German BMBF Software Campus grant 01IS1205. Stefan Schmid is supported by the Aalborg University’s inter-faculty Talent Program.

Supplementary material


  1. 1.
    Abujoda, A., Papadimitriou, P.: MIDAS: middlebox discovery and selection for on-path flow processing. In Proceedings of the COMSNETS Conference (2015)Google Scholar
  2. 2.
    Dietrich, D., Abujoda, A., Papadimitriou, P.: Network service embedding across multiple providers with nestor. In: IFIP Networking Conference (2015)Google Scholar
  3. 3.
    Gember-Jacobson, A., et al.: OpenNF: Enabling innovation in network function control. In: Proceedings of the ACM SIGCOMM (2014)Google Scholar
  4. 4.
    GSNFV ETSI: Network functions virtualisation (NFV); use cases. V1.1.1 (2013)Google Scholar
  5. 5.
    Even, G., Medina, M., Patt-Shamir, B.: Competitive path computation and function placement in SDNs. CoRR, abs/1602.06169 (2016)Google Scholar
  6. 6.
    Even, G., Rost, M., Schmid, S.: An approximation algorithm for path computation and function placement in SDNs. CoRR, abs/1603.09158 (2016)Google Scholar
  7. 7.
    Fischer, A., Botero, J., Beck, M.T., de Meer, H., Hesselbach, X.: Virtual network embedding: a survey. IEEE Commun. Surv. Tutorials 15(4), 1888–1906 (2013)CrossRefGoogle Scholar
  8. 8.
    Kreutz, D., Ramos, F.M.V., Verissimo, P.E., Rothenberg, C.E., Azodolmolky, S., Uhlig, S.: Software-defined networking: a comprehensive survey. Proc. IEEE 103(1), 14–76 (2015)CrossRefGoogle Scholar
  9. 9.
    Lukovszki, T., Schmid, S.: Online admission control and embedding of service chains. In: Scheideler, C. (ed.) Structural Information and Communication Complexity. LNCS, vol. 9439, pp. 104–118. Springer, Heidelberg (2015). doi: 10.1007/978-3-319-25258-2_8 CrossRefGoogle Scholar
  10. 10.
    Mehraghdam, S., Keller, M., Karl, H.: Specifying and placing chains of virtual network functions. In: IEEE 3rd International Conference on Cloud Networking (CloudNet), pp. 7–13. IEEE (2014)Google Scholar
  11. 11.
    Motwani, R., Naor, J.S., Raghavan, P.: Randomized approximation algorithms in combinatorial optimization. In: Approximation Algorithms for NP-Hard Problems, pp. 447–481. PWS Publishing Co. (1996)Google Scholar
  12. 12.
    Skoldstrom, P., et al.: Towards unified programmability of cloud and carrier infrastructure. In: Proceedings of the European Workshop on Software Defined Networking (2014)Google Scholar
  13. 13.
    Hartert, R., et al.: Declarative and expressive approach to control forwarding paths in carrier-grade networks. In: Proceedings of the ACM SIGCOMM (2015)Google Scholar
  14. 14.
    Raghavan, P.: Randomized rounding, discrete ham-sandwich theorems: provably good algorithms for routing and packing problems. In: Report UCB/CSD 87/312. Computer Science Division, University of California Berkeley (1986)Google Scholar
  15. 15.
    Raghavan, P., Tompson, C.D.: Randomized rounding: a technique for provably good algorithms and algorithmic proofs. Combinatorica 7(4), 365–374 (1987)MathSciNetCrossRefzbMATHGoogle Scholar
  16. 16.
    Rost, M., Schmid, S.: Service chain, virtual network embeddings: approximations using randomized rounding. CoRR, abs/1604.02180 (2016)Google Scholar
  17. 17.
    Sahhaf, S., Tavernier, W., Rost, M., Schmid, S., Colle, D., Pickavet, M., Demeester, P.: Network service chaining with optimized network function embedding supporting service decompositions. J. Comput. Net. (COMNET) 93, 492–505 (2015)CrossRefGoogle Scholar
  18. 18.
    Soulé, R., Basu, S., Marandi, P.J., Pedone, F., Kleinberg, R., Sirer, E.G., Foster, N.: Merlin: a language for provisioning network resources. In: Proceedings of the 10th ACM International on Conference on Emerging Networking Experiments and Technologies (CoNEXT), pp. 213–226 (2014)Google Scholar
  19. 19.
    Xia, M., Shirazipour, M., Zhang, Y., Green, H., Takacs, A.: Network function placement for NFV chaining in packet/optical datacenters. J. Lightwave Technol. 33(8), 1565–1570 (2015)CrossRefGoogle Scholar
  20. 20.
    Young, N.E.: Randomized rounding without solving the linear program. In: SODA, vol. 95, pp. 170–178 (1995)Google Scholar

Copyright information

© Springer International Publishing AG 2016

Authors and Affiliations

  1. 1.School of Electrical EngineeringTel Aviv UniversityTel AvivIsrael
  2. 2.Department of Electrical Engineering and Computer ScienceTU BerlinBerlinGermany
  3. 3.Department of Computer ScienceAalborg UniversityAalborgDenmark

Personalised recommendations