In modern cloud and edge computing environments, services are typically provided as Virtual Machines (VMs). More recently, containers have been gaining momentum as a lightweight form of VMs. Container migration is used for several reasons, one of which being to maintain proximity between edge computing services and mobile users. When migrating containers, however, it is important to consider that they typically have ongoing communications with other endpoints, e.g., users' applications. Moreover, in case of connection-oriented protocols, communicating endpoints share a state (i.e., the connection), which needs to be migrated as well. Connection-oriented protocols like TCP were not designed having connection migration in mind, thus their connections cannot survive a change of IP address or port number. On the other hand, the QUIC protocol provides a mechanism for client-side connection migration, i.e., when a client device changes IP address (e.g., after a wireless handover), QUIC transparently migrates ongoing connections to the new address. Nonetheless, server-side connection migration in QUIC is not yet implemented nor investigated. In this paper, we extend QUIC to support server-side connection migration when a container is migrated between hosts. More specifically, we design two different strategies to achieve this purpose. Besides, we describe a proof-of-concept implementation based on aioquic, a Python open-source implementation of QUIC. We also verify that our implementation does not break QUIC specification nor undermines aioquic interoperability. Finally, we evaluate our solution by testing both the considered strategies using different container migration techniques and against a no-migration scenario.

Extending the QUIC protocol to support live container migration at the edge

Virdis A.;Puliafito C.;Mingozzi E.
2021-01-01

Abstract

In modern cloud and edge computing environments, services are typically provided as Virtual Machines (VMs). More recently, containers have been gaining momentum as a lightweight form of VMs. Container migration is used for several reasons, one of which being to maintain proximity between edge computing services and mobile users. When migrating containers, however, it is important to consider that they typically have ongoing communications with other endpoints, e.g., users' applications. Moreover, in case of connection-oriented protocols, communicating endpoints share a state (i.e., the connection), which needs to be migrated as well. Connection-oriented protocols like TCP were not designed having connection migration in mind, thus their connections cannot survive a change of IP address or port number. On the other hand, the QUIC protocol provides a mechanism for client-side connection migration, i.e., when a client device changes IP address (e.g., after a wireless handover), QUIC transparently migrates ongoing connections to the new address. Nonetheless, server-side connection migration in QUIC is not yet implemented nor investigated. In this paper, we extend QUIC to support server-side connection migration when a container is migrated between hosts. More specifically, we design two different strategies to achieve this purpose. Besides, we describe a proof-of-concept implementation based on aioquic, a Python open-source implementation of QUIC. We also verify that our implementation does not break QUIC specification nor undermines aioquic interoperability. Finally, we evaluate our solution by testing both the considered strategies using different container migration techniques and against a no-migration scenario.
2021
978-1-6654-2263-5
File in questo prodotto:
Non ci sono file associati a questo prodotto.

I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.

Utilizza questo identificativo per citare o creare un link a questo documento: https://hdl.handle.net/11568/1120934
 Attenzione

Attenzione! I dati visualizzati non sono stati sottoposti a validazione da parte dell'ateneo

Citazioni
  • ???jsp.display-item.citation.pmc??? ND
  • Scopus 7
  • ???jsp.display-item.citation.isi??? 6
social impact