Choreography-Defined Networks: a New Method for Programmable Networking

Choreography-Defined Networks: a New Method for Programmable Networking

(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:

  1. Define a Choreography. Developers define the desired interactions and data exchanges across network functions as a choreography.
  2. Compile to Executables. The choreography is automatically compiled into decentralised local programs.
  3. Deploy in Containers. The local programs are containerized for deployment in modern cloud-native environments.

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.

  1. Distributed Execution. Network functions communicate directly without relying on a central orchestrator, reducing communication overhead.
  2. Parallelism. CDNs facilitate the parallel execution of independent network functions, enhancing efficiency and throughput.
  3. Correctness by Design. Choreographic programming prevents logical bugs that can cause deadlocks and message mismatches.
  4. Security. Choreographies enable simpler reasoning about decentralised code, which can aid checking for security.

Open Challenges

At the time of this writing, the following challenges about CDNs are open.

  1. Failure Handling. The APIs for dealing with failures in choreographic programming are still quite low-level, and programming recovery from complex transactions can still be challenging. More research in the pragmatics of distributed transactions in choreographies is needed.
  2. Knowledge of Choice. In order to guarantee correctness, choreography compilers might ask the programmer to add some extra communications for control. See also: knowledge of choice.

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.

Balakrishna Subramoney

CISSP | Principal - Cybersecurity Practice

3 个月

Love this! Thanks for sharing!

要查看或添加评论,请登录

Fabrizio Montesi的更多文章

社区洞察

其他会员也浏览了