Follow with Edit this page on Go back to the Bliki index
By Fabrizio Montesi.
Created on 2024-11-18.
Last updated on 2024-11-19.
See also: Introduction to Choreographies
A Choreography-Defined Network (CDN) is a software-defined network whose behaviour is programmed by means of choreographic programming. This method, introduced Giallorenzo et al. [2024], 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.
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.
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 Choreography-Defined Network approach consists of the following steps:
CDNs aim at bringing the advantages of choreographic programming to software-defined networks. These advantages include the following.
At the time of this writing, the following challenges about CDNs are open.
For more information on CDNs, see the paper by [Giallorenzo et al. 2024]. 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].
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. Pre-print
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, F. [2023], 'Introduction to Choreographies', Cambridge University Press. https://doi.org/10.1017/9781108981491