This module deals with computer systems in a network context. Networks supply means of communication, sharing and interaction for computer applications and have thus introduced major changes in the design of computer systems and software. We will do a brief overview of the theme before presenting different models such as message transfer, objects distributed and UNIX IPCs.
After presenting these models in class they will experimented in laboratory practice and computer applications designed to function on such networks will be developed.
The module is made up of two parts
Part 1 : A common core : short – 6hours
Introduction
- short history
- the « rationale » of distributed systems for sharing resources
- targeted applications
- some reminders about networks
- the importance of the network and its impact on applications: topology, meshing, behavioural properties of the network, etc…
- interaction models
- short-comings and breakdowns
- the stakes and imperatives middleware and basic service architecture
Inter Process Communication
- Revision of synchronisation and process
- synchronisation by message
- representation of interaction between process by MSCs
- connected and non-connected modes
- UNIX IPCs : sockets, RPC, TLI, POSIX…
Part2 : Paradigms and models
Models of programming of distributed applications
Our objective is to show that distributed systems propose original approaches to solve problems and especially different levels of abstraction…
We shall particularly look at :
- paradigms based on message, sharing, peer-to-peer, cooperation, etc…
- classes of application targeted by these models
The client server model
Key point : to show all the advantages of a services based organisation and architecture
- le model et its organisation
- the sub-jacent protocols
- software architecture and services
- thedifferent models
- with or without state mode
The paradigm of passage by message :
key point : to show the simplicity but also the dangers of this much used paradigm. A series of lab experiments around PVM (or MPI)will allow students to practise the themes studied in classand to experiment interblockages, problems of termanaison, problems of naming, etc… Among the themes tackled in this section we find:
- message passing
- data coding using XDR, ASN1 considering heterogeneity
- coding parameters for complex data : marshalling, serialization
- designation de correspondent : direct or communication or through an intermediary (mailbox, channel).
- 1 to 1 communication , diffusion et notions of group communication
- One system : PVM or MPI and experiments.