Choreography-Defined Networks: a New Method for Programmable Networking
Fabrizio Montesi
Professor & Head of Section (AI, Cybersecurity, and Programming Languages) | Programming Tech for a Better ?? | Author of Choreographic Programming & Introduction to Choreographies | ERC Grantee | Microservice Innovator
(For references, please see the bottom of this article.)
A Choreography-Defined Network (CDN) is a software-defined network whose behaviour is programmed by means of choreographic programming. We have recently introduced this idea in [Giallorenzo et al. 2024] (preprint), a research paper to appear at the 22nd International Conference on Service-Oriented Computing written together with Saverio Giallorenzo , Jacopo Mauro , Andrea Melis , Marco Peressotti , and Marco Prandini . It is a collaboration between our Department of Mathematics and Computer Science (IMADA), University of Southern Denmark (SDU) and the University of Bologna (Alma Mater Studiorum – Università di Bologna) .
CDN targets in particular the coordination of Virtual Network Functions (VNFs). By leveraging choreographic programming, CDNs offer a distributed and parallel programming model that eliminates centralised orchestration bottlenecks. The method aims at simplifying the creation of efficient and scalable virtual network architectures, enabling better utilisation of cloud and edge computing in SDNs.
CDN is the first application to the realm of networking of the choreographic programming method. For an introduction to the theoretical foundations of choreographic programming, see the book Introduction to Choreographies [Montesi 2023].
Motivation
Programming VNFs such that they coordinate well with each other is challenging, because developers can introduce errors such as incompatible communication behaviours, message type mismatches, and unnecessary waiting times. Therefore, traditional SDN and network function virtualisation frameworks rely on centralised orchestration to define the control and data flow across network functions. However, this presents an important drawback: all coordination becomes centralised on the orchestrator(s), thereby increasing latency and communication overhead.
The challenge lies in creating a programming model that helps with correctness while enabling distributed, parallel execution of network functions.
What is a Choreography-Defined Network?
CDN leverages choreographic programming to program decentralised network function coordination by writing a unified choreography. This choreography is then compiled into distributed programs that coordinate with each other in a decentralised way.
Having a unified choreography means that all interactions are still specified in a single program, retaining much of the programming simplicity of orchestration, but we now obtain a full distributed implementation without a central bottleneck.
The CDN method is the first application to the realm of networking of choreographic presented in the recent book Introduction to Choreographies [Montesi 2023].
How it Works
The Choreography-Defined Network approach consists of the following steps:
The next picture illustrates the development workflow based on CDN applied to a security case study, from [Giallorenzo et al. 2024]. A choreography of 4 virtual network functions written in the choreographic programming language Choral [Giallorenzo et al. 2024b] is automatically compiled into 4 different programs, which are then containerised and deployed.
领英推荐
Advantages
CDNs aim at bringing the advantages of choreographic programming to software-defined networks. These advantages include the following.
Open Challenges
At the time of this writing, the following challenges about CDNs are open.
Read More
For more information on CDNs, see the paper [Giallorenzo et al. 2024] (preprint). The paper uses the Choral programming language [Giallorenzo et al. 2024b] to showcase the approach through a security case study for SDNs.
For information on the choreographic method, choreographic languages, and choreographic programming, see Introduction to Choreographies [Montesi 2023].
References
[Giallorenzo et al. 2024] Giallorenzo, S., Mauro, J., Melis, A., Montesi, F., Peressotti, M., Prandini, M. [2024], 'Choreography-Defined Networks: a Case Study on DoS Mitigation', Proc. ICSOC 2024 (to appear). Preprint
[Giallorenzo et al. 2024b] Giallorenzo, S., Montesi, F., Peressotti, M. [2024], 'Choral: Object-oriented Choreographic Programming', ACM Trans. Program. Lang. Syst. 46(1): 1:1-1:59. https://doi.org/10.1145/3632398
[Montesi 2023] Montesi, F. [2023], 'Introduction to Choreographies', Cambridge University Press. https://doi.org/10.1017/9781108981491
Acknowledgements
Partially supported by Villum Fonden and co-funded by the European Union (ERC, CHORDS, 101124225). Views and opinions expressed are however those of the authors only and do not necessarily reflect those of the European Union or the European Research Council. Neither the European Union nor the granting authority can be held responsible for them.
CISSP | Principal - Cybersecurity Practice
3 个月Love this! Thanks for sharing!