Container Service Migration Tutorial

This wiki page contains tutorials for container migration for edge cloud applications using ORBIT and COSMOS testbed. The following citation can be used for this work.

Maheshwari, Sumit, Shalini Choudhury, Ivan Seskar, and Dipankar Raychaudhuri. "Traffic-aware dynamic container migration for real-time support in mobile edge clouds." In 2018 IEEE International Conference on Advanced Networks and Telecommunications Systems (ANTS), pp. 1-6. IEEE, 2018.

Wiki Author:

  • Sumit Maheshwari, WINLAB, Rutgers University: sumitm[at]

Last updated: May 2020


Containers run as the userspace processes over the Kernel and have better bandwidth and CPU performance as compared to VMs. The shared resource dynamic container migration approach, therefore, can be used to address deteriorating application QoS, arising from the processing latency (system load) and/or the network latency (user mobility).

This tutorial demonstrates how to accomplish service migrations using containers.


In order to access the testbed, create a reservation, and have it approved by the reservation service. Access to the resources is granted after the reservation is confirmed.

Resources required

Three nodes are required to run this experiment.


The following topology is used in this experiment. The container is migrated from the source to the destination. The node information and the results can be collected from the console.


Set Up

Before you can access the testbed, you need to make a reservation and get it approved. After receiving the reservation's confirmation (approval) email:

  • Login into reserved domain: ssh -X (the -X option is for enabling the X11 tunneing)
  • Load the most updated container migration image (conmig.ndz released) on at least two nodes (this process can take about a few minutes so please be patient): omf load -i conmig5.ndz -t srv1-lg1,srv2-lg1
  • Turn on the node: omf tell -a on -t system:topo:images
  • Ping to the nodes to check their status: ping srv1-lg1 and ping srv2-lg1
  • Login into the nodes: ssh -X root@srv1-lg1 and ssh -X root@srv2-lg1. The files required for this experiment are already loaded in the image. You can also download the full code used in the ShareOn paper from the GitHub repository.
  • On the console, create a directory called migration and download the simplified Migration Script in it: wget --no-check-certificate.


  • On the console, under the migration directrory, run chmod +x *.sh to set permissions.
  • Run the migration script as ./ to observe container packing and migration.

  • This experiment runs a license plate recognition application for the images loaded on the node.
  • Ssh to the nodes to check the application outputs.
Last modified 2 years ago Last modified on Oct 21, 2021, 1:57:04 AM

Attachments (4)

Download all attachments as: .zip

Note: See TracWiki for help on using the wiki.