• Component

    École Nationale Supérieure d'Électrotechnique d'Électronique d'Informatique d'Hydraulique et des Télécommunications

Objectives

Current computer systems, whether embedded (avionics, automotive) or not (production systems, for example), are distributed, meaning that applications and services are implemented on a network of computers. Distributed programming can be defined as a set of communicating software entities that perform a system function.

The objective of this course is to describe and put into practice (1) the basic concepts of distributed programming according to the client-server model, as well as (2) the principles of distributed algorithms.

Read more

Description

Distributed programming is illustrated using BSD Sockets to implement client-server applications with different communication protocols, datagram (UDP) and connected (TCP). Different server models are presented, from sequential servers in datagram mode to multi-threaded servers in connected mode. The different models are implemented in a design office on a network of Linux machines.

Distributed programming is approached from the perspective of reliable message delivery to a group of processes and the issue of consensus.

A design office invites students to implement a reliable distribution mechanism and use it in a peer-to-peer application.

Read more

Pre-requisites

A good knowledge of algorithms, IP network protocols, C programming, operating system principles, and in particular Linux, is required.

Read more