Introduction and Project Overview

Introduction

In this initial chapter, we will explore several key aspects that set the foundation for the rest of the report. The chapter is divided into three main sections. The first section provides an overview of the Work-Context, Accomplished Work, and Report Structure. This section will give you an insight into the internship experience at IRISA, the tasks accomplished during this period, and how this report is organized to present the information. Following this, we will introduce the NaviDEC Project, offering a brief introduction to the project. Finally, we will touch upon the Project Context and Use Cases, providing a snapshot of the project's operational context and its use cases.

Work-Context

This report presents the work carried out during my five-month internship at IRISA, a renowned research institute, as part of the Master2 program in Cloud and Network Infrastructure at the University of Rennes. The focus of my work was the development of components for a composite service orchestration platform in the maritime domain, a project of significant complexity and innovation. This period provided a unique opportunity to apply and expand my technical skills in a real-world setting.

Accomplished Work

During my internship, I accomplished approximately 12 tasks, each contributing to the development and enhancement of the IRISA platform. My journey began with understanding the existing codebase, developed a comprehensive logging system which laid the foundation for my subsequent work. The tasks ranged from infrastructure automation with Ansible Playbook, Docker container automation, to migrating the framework from Flask to FastAPI. Each task contributed to the project's progress and enriched my technical skills. Significant milestones of my internship included developing an interactive web-based terminal using xterm.js and creating the bandwidth visualization using Apache ECharts from scratch. I also used Sphinx to develop a user guide from scratch and published it on a website using GitLab Pages. The build and deployment process of the user guide was automated using GitLab CI/CD. The culmination of these tasks resulted in a robust platform capable of orchestrating composite services in the maritime domain. This platform is a testament to the hard work and dedication during my internship and is a significant contribution to the NaviDEC project.

Report Structure

This report is structured into three main chapters. The first chapter provides an overview of the project and the context in which it was carried out. The second chapter delves into the enhanced characteristics of the IRISA platform, detailing the various tasks executed and the challenges overcome. The final chapter explores the work organization methodology, providing a comprehensive account of the technical growth experienced during the internship. The report concludes with a reflection on the internship experience and the knowledge gained. Finally, this chapter includes a summary in English and a résumé in French of the work done.

Unveiling the NaviDEC Project

Introduction

This chapter provides an introduction to the NaviDEC Project, a Deep-Edge Computing Platform. We will discuss the project's objectives, partners, and the scope of work for the Proof of Concept at the IRISA Team. Additionally, we will delve into the internship working environment at IRISA and the ERMINE Team's structure and goals. The ultimate aim of the internship is to enhance the Testbed Platform's characteristics. Let's dive in!

NaviDEC Logo

NaviDEC Project Logo.

About NaviDEC

The NaviDEC Project is a Deep-Edge Computing Platform financed by the region of Brittany. It operates as an "IoT and Image Processing" platform, extending Edge Computing to the deepest edge of the network. The primary objective is to enhance efficiency in processing and transmitting data in regions with intermittent connectivity. NaviDEC will undergo testing in maritime scenarios, deployed in both deep-edge (boat) and edge (land) gateways. The system is designed to meet the challenges of environments that require immediate data processing responses.

Project Timeline

The NaviDEC project commenced in November 2021 and is scheduled to continue until April 30, 2024. There is a proposal to extend the project until the end of 2024. This timeline allows for comprehensive research, development, and testing of the project's objectives and goals.

The Ultimate Project Goal

The ultimate goal of the project is to mitigate the risks of boat collisions by utilizing cameras for streaming and employing AI image processing, known as a classifier.

Broad Objectives of the Project

  1. Define a "deep-edge" architecture and its interfaces with standard clouds across various use cases.

  2. Study and develop distributed video processing algorithms spanning the deep edge and edge.

  3. Investigate and develop service placement and orchestration strategies between the deep edge and the edge.

  4. Research and develop a coordinated deep-edge security and anomaly detection system integrated with edge.

  5. Deploy and test a prototype in real-world use cases that involve intensive data processing, particularly in the context of maritime scenarios.

Collaborating Entities

The NaviDEC project involves several partners, each contributing at various levels such as technical, financial, and managerial. These include Université de Rennes, Inria, IRISA, InPixal, Sodira, Céladon, Thalos, Region Bretagne, Rennes Metropole, bpifrance, Images & Réseaux, among others. In the following sections, we will highlight the most significant partners to provide a better understanding of the project context.

  • IRISA/INRIA:

    Develop and integrate the platform on the boat (Deep-Edge) and land (Edge). During my entire internship period, I focused on enhancing this platform, which is the main area of my contribution.

  • Sodira:

    Develops a multi-interface router for boat connectivity.

  • InPixal:

    Handles video and image processing.

  • Celadon:

    Provides the boat equipped with cameras for the final experience.

IRISA
Inria
SODIRA Connect
INPIXAL
CELADON
NaviDEC Project Partners

NaviDEC Project Partners.

IRISA Team's Role in the Proof of Concept

The IRISA team's specific focus aligns with Objective 3 from the Broad Objectives of the NaviDEC Project. This objective is to investigate and develop service placement and orchestration strategies between the deep edge and the edge. Each partner has a stake in the project, and at IRISA, we have a defined scope of work. Our focus is on the Proof of Concept team.

The project at IRISA is progressing through three phases:

  1. Phase One: Proof of Concept:

This phase involved designing the IRISA platform in the lab. This phase has already been completed by a previous colleague and the responsibilities have since been handed over to me. I am now carrying forward the work that was initiated in this phase.

  1. Phase Two: Enhancing Platform Characteristics:

This is the current phase and the scope of my internship. In this phase, I am responsible for carrying out all the work, which includes refining and enhancing the features of the platform. This has recently been completed. The tasks accomplished during this phase will be detailed in the upcoming chapter.

  1. Phase Three: Integration:

This phase is dedicated to integrating the work accomplished in phases one and two with our related partners, applying it to real-world test fields. This phase will start following the completion of the internship period, and I will be responsible for executing this work. The aim is to ensure that the outcomes of the project are robust, reliable, and ready for deployment in real-world settings.

Concept of the Testbed Platform

The Testbed Platform is designed for the automated placement of service resources components, allowing them to move between different clusters. Specifically, in the context of NaviDEC project, the movement occurs between the Deep Edge (located on boat) and Edge (located on land) Computing Network, and it's based on the current bandwidth strength.

The idea revolves around two clusters. The first cluster hosts resource services like streaming and classifier deployment pods with its services and called the Deep Edge , which is located on the boat.

The placement of the classifier is bandwidth-dependent. When the bandwidth is strong, the classifier is automatically relocated from the first cluster on boat to the second cluster on land. Conversely, when the bandwidth is low, it is relocated back to the first cluster on boat. This dynamic relocation ensures optimal performance based on the current network conditions. Designing a Platform for Automated Service Execution Placement bridging the Deep Edge (boat) and Edge (land) Computing Network.

A classifier is used to process video streaming images and identify other boats using artificial intelligence. This AI is designed to identify other boats in the vicinity. The purpose of this system is to detect and prevent potential accidents. If the system identifies a boat that is too close to the ship, it triggers an alarm. This alarm serves as an early warning system, allowing the crew to take necessary actions to avoid any possible collisions at sea.

The computing power on the boat (Deep Edge) is limited because it uses an IoT platform. But on land (Edge), the CPU has more power for image processing. So, when the bandwidth is strong, we move the classifier to land to take advantage of this extra power. But when the bandwidth is weak, it moves it back to the boat. This way, we always get the best performance possible.

The Internship: Objectives and Expectations

The primary objective of the internship is to refine and enhance the features of the Testbed Platform. This improvement will pave the way for the next phase of the project, which involves integrating with related partners. This integration will be conducted in real-world scenarios using physical appliances, providing a practical and hands-on experience. This approach ensures that the project outcomes are robust, reliable, and ready for deployment in real-world settings.

Internship Working Environment at IRISA

Internship Organizational Structure Overview

My internship is being conducted at the IRISA laboratory at INRIA, University of Rennes, specifically within the ERMINE Team. Below are brief overviews of IRISA, the ERMINE Team, and the team structure.

IRISA: Advancing Computer Science and Innovation

IRISA, which stands for the Institute for Research in Computer Science and Random Systems, is a joint research unit. IRISA is today one of the largest French research laboratory (more than 916 people) in the field of computer science and information technologies. Structured into seven scientific departments, the laboratory is a research center of excellence with scientific priorities such as bioinformatics, systems security, new software architectures, virtual reality, big data analysis and artificial intelligence.

Located in Rennes, Lannion and Vannes, IRISA is at the heart of a rich regional ecosystem for research and innovation and is positioned as the reference in France with an internationally recognized expertise through numerous European contracts and international scientific collaborations.

Focused on the future of computer science and necessarily internationally oriented, IRISA is at the very heart of the digital transition of society and of innovation at the service of cybersecurity, health, environment and ecology, transport, robotics, energy, culture and artificial intelligence.

IRISA is a joint-venture resulting from the collaboration between nine institutions, in alphabetical order: CentraleSupélec, CNRS, ENS Rennes, IMT Atlantique, Inria, INSA Rennes, Inserm, Université Bretagne Sud, Université de Rennes. From this collaboration is born a force that comes from women and men who give the best of themselves for fundamental and applied research, education, exchanges with other disciplines, transfer of know-how and technology, and scientific mediation.

ERMINE: Advancing Network Management and Economics

ERMINE Stands for mEasuRing and ManagIng Network operation and Economic. Networks are omnipresent and increasingly complex, and require an efficient management of their operations. The team designs and analyzes procedures and policies for efficiently managing network operations, but also works on the required measurement and monitoring of performance metrics. Our specific and original management activity focuses on network economics, regulation, and automated decision making. In terms of needed measurement, we make use of standard modeling and performance analysis techniques, but also carry out direct measurements to be analyzed statistically. A cross-cutting research axe for both management and measuring is artificial intelligence. Our activity is a trade-off between methodological/mathematical developments and practical implementations.

Industrial contacts

The team has historical relations with industrial partners on diverse areas in networking, including ALSTOM (on rare event simulation), Orange (on network economics, AI, wireless networks, network management), Nokia (on network economics, AI), Technicolor (on AI). It has also contacts with regulatory bodies on neutrality issues and the development of tools to monitor a satisfying behavior of actors of the Internet. We also have contacts with regulatory bodies.

As of 2022, the team is holding contracts with Nokia (Cifre and ADR; on several applications of Data Analysis and Machine Learning to networking), Exfo (Cifre; on reliable probes placement) and CISCO (Cifre; on localisation indoor, FTM5). The objective is to carry out common research on an integrated framework for 5G, programmable networks, IoT and clouds that aims at statically and dynamically managing and optimizing the 5G infrastructure using, in particular, Machine Learning techniques.

Team Members

Number of Persons:

At the ERMINE Team, there are currently approximately 20 individuals. This includes permanent researchers, emeritus members, research engineers, PhD students, and a team assistant.

Team leader:

  • Mr. Bruno Tuffin

Internship supervisors:

  • Mme Soraya Ait Chellouche

    1. Yassine Hadjadj-Aoul

    1. Guillaume LE GALL

Academic supervisor:

    1. César Viho

Project Context and Use Cases

Illustration: NaviDEC Work Context

Below, an illustrative figure demonstrate the scenarios described above:

An illustrative representation of the NaviDEC work context, showcasing a boat equipped with cameras for streaming and an onboard AI image processor (classifier). The system captures and processes images, highlighting nearby boats on the output screen and triggering alarms at a specified distance to prevent potential collisions.

NaviDEC Work Context

Display of NaviDEC Work Context.

IRISA Platform Architecture Overview

This section explores how the IRISA lab's Proof of Concept team demonstrates the platform's architecture. To set up the platform, one can connect to a remote Ubuntu v20 operating system from a laptop via an SSH terminal. Using Containernet for network emulation, two Docker containers and a RabbitMQ container for messaging are created. These containers, named "boat" and "land," represent the deep-edge and edge locations, respectively. Each container is equipped with Docker, a Minikube cluster, and Nginx for traffic handling.

Inside each Minikube cluster, the NaviDEC REST API is deployed, which governs the following behaviors:

  1. Clients communicate with the REST API through HTTP requests.

  2. The REST API translates these requests into kubectl API requests.

  3. Responses are generated based on the outputs of the kubectl commands.

  4. The master boat Minikube cluster communicates with the other master land Minikube cluster via HTTP for requests.

To manage this platform, four separate terminals are required:

  1. The first terminal runs the NaviDEC REST API from the first Docker container in the master boat Minikube cluster.

  2. The second terminal runs the NaviDEC REST API from the second Docker container in the master land Minikube cluster.

  3. The third terminal operates the Meta orchestrator:

    • It is responsible for listing live clusters.

    • It makes decisions based on boat cluster prompts. For instance, when bandwidth improves, it provides the destination cluster's IP, enabling the boat cluster to move the classifier to cluster 2.

    • Communication between clusters and the Meta orchestrator is facilitated through RabbitMQ RPC.

  4. The fourth terminal acts as a remote client, sending deployment and service requests to the boat cluster.

Principles of Operation for the IRISA Platform

Here are the key principles of operation for the IRISA Platform:

  1. The client sends requests to the NaviDEC REST API in the master boat for the deployment and service deployment of streaming and classifier from the host 1 terminal.

  2. The NaviDEC REST API in the master boat cluster interacts with the Kubernetes API, deploying streaming and classifier pods and services, figure 6.

  3. When the boat cluster bandwidth improves, it requests the Meta orchestrator for the destination cluster to move the classifier. The Meta orchestrator provides the Edge cluster's IP address.

  4. The boat cluster requests the Edge cluster to deploy the classifier resources. Once ready, the classifier is removed from the boat cluster, figure 7.

  5. Conversely, when boat cluster bandwidth drops, the classifier is redeployed, and the Edge classifier is deleted.

  6. Streaming always remains on the boat cluster.

  7. Nginx on each cluster tailors streaming and classifier configurations based on its deployment location.

IRISA Platform Architecture

IRISA platform is operating at a low bandwidth speed, streaming and classifier resources remain on boat.

IRISA Platform Architecture

IRISA platform is operating at a good bandwidth speed, only classifier resource are relocated to the Edge

Conclusion: Exploring the IRISA Platform Architecture

As we conclude our exploration of the IRISA platform architecture, we acknowledge its pivotal role in the project timeline. Born out of Phase One as a Proof of Concept, the IRISA platform sets the stage for the next phases of this innovative project. The initial design and setup, successfully carried out by a dedicated team member, provide a strong foundation for the current phase.

The complexities of the IRISA platform serve as a testament to the technical acumen involved and a bridge between theory and practice. By understanding its architecture, we gain insights into its workings, preparing us for the enhancements and refinements in Phase Two.

As we transition into the next chapter, we'll delve into my internship work during Phase Two. We'll detail the tasks executed, challenges overcome, and features enhanced, providing a comprehensive understanding of the platform's evolution. This narrative aligns with the project goal of advancing the platform, bringing us closer to the ultimate integration phase.