From b4f9775b13fddaada3b4cec0d4617a7011276d7a Mon Sep 17 00:00:00 2001 From: glenux Date: Thu, 7 Sep 2006 14:22:54 +0000 Subject: [PATCH] * Added the documentation --- doc/readme.css | 36 ++++++ doc/readme.html | 302 ++++++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 338 insertions(+) create mode 100644 doc/readme.css create mode 100644 doc/readme.html diff --git a/doc/readme.css b/doc/readme.css new file mode 100644 index 0000000..1042ee2 --- /dev/null +++ b/doc/readme.css @@ -0,0 +1,36 @@ +p.code { border: 2px dashed rgb(153, 153, 153); + padding: 5px; + background: rgb(204, 204, 204) none repeat scroll 0% 50%; + -moz-background-clip: initial; + -moz-background-origin: initial; + -moz-background-inline-policy: initial; + font-family: monospace; + } + +div.page { border: 2px dashed rgb(153, 153, 153); + padding: 10px; + top: 10px; + left: 10px; + right: 10px; + bottom: 10px; + margin-right: auto; + margin-left: auto; + background-color: rgb(255, 255, 255); + opacity: 1; + width: 60%; + font-family: Arial,Helvetica,sans-serif; + } + +body { background-color: rgb(51, 51, 51); + } + +span.code { border: 1px dashed rgb(153, 153, 153); + background-color: rgb(204, 204, 204); + font-family: monospace; + } + +dt { font-weight: bold; } + +.code_var { font-weight: bold; font-family: monospace; } + +.code_type { font-family: monospace; font-style: italic; } diff --git a/doc/readme.html b/doc/readme.html new file mode 100644 index 0000000..7ecfeb8 --- /dev/null +++ b/doc/readme.html @@ -0,0 +1,302 @@ + + + + + + + + Programmation Répartie - TP2 + + + + + + + + + +
+

Programmation répartie - TP2

+ +

1. +Description

+ +

Le but de ce TP est de concevoir une implémentation +des protocoles ABCAST et CBCAST. 

+ +

Il possède les +caractéristiques +suivantes :

+ + + +

Cette implémentation utilise trois threads, un +"envoyeur de bas +niveau" (LowSender), +un "recepteur de bas niveau" (LowReceiver) +et un +"recepteur de haut niveau" (HighReceiver).

+ +

1.1. +Auteurs

+ +

Cet exercice a +été entièrement +réalisé par Glenn ROLLAND <glenux@fr.st> +à l'occasion de travaux pratiques du cours de Programmation Répartie +du Master 2 Ingénierie Informatique +- +Systèmes, Réseaux et Internet.

+ +

1.2. Implémentation des protocoles

+ +

J'ai choisi d'écrire un protocole unique Multi-BroadCast Protocol +(MBCP) utilisable aussi bien pour envoyer les datagrammes d'ABCAST que +de CBCAST.

+ +

1.2.1. Structures des datagrammes

+ +Le datagramme MBCP se +décompose de la façon +suivante: +
+------+-----------+---------+
| Type | Timestamp | Message |
+------+-----------+---------+
+ +

Dans ce datagrame:

+ +

Type +est de type unsigned char +et peu prendre les valeurs suivantes: +

+ +
+ +
'A'
+ +
Indique l'utilisation du protocole ABCAST
+ +
'C'
+ +
indique l'utilisation du protocole CBCAST
+ +
une autre valeur
+ +
indique un protocole inconnu
+ +
+ +

Timestamp +peut varier en fonction de Type

+ + + +

Site_index +est de type unsigned short +(16 bits).
+ +Il indique l'index du site emetteur. La numérotation des +index débute à zéro.

+ +

Clock_size +est de type unsigned short +(16 bits).
+ +Ce champ indique la taille de l'horloge (si celle-ci est vectorielle).

+ +

Clock_value +peut varier en fonction de Type.

+ + + +

Message +possède la structure suivante:

+ +
+--------------+--------------+
| Message_size | Message_data |
+--------------+--------------+
+ +

Message_size +est de type unsigned short +(16 bits). Cette valeur indique la taille du message.

+ +

Message_data +est un tableau de valeurs char +(8 bits * Message_size). +Ce champ contient le message (qui peut être une estampille).

+ +
+ +
+ +

2. +Pré-requis

+ +

Cet exercice nécessite:

+ + + +

3. +Se procurer le sources

+ +

Vous +pouvez télécharger la dernière archive +des +sources, ou bien directement leur version la plus récente +sur le dépôt Subversion du projet.

+ +

3.1. L'archive compressée

+ +

Elle est disponible à l'adresse :
+ +http://glenux2.free.fr/pub/projets/Programmation_Repartie/TP2/archives/
+ +

+ +

3.2. Le +dépôt Subversion

+ +

Afin d'obtenir les sources les +plus à jour, vous pouvez utiliser le logiciel de +contrôle de sources Subversion

+ +

$ svn +checkout \
+ +  http://repository.glenux.ath.cx/svn/Cours/M2/Programmation_Repartie/TP2/ +\
+ +  prog-repartie-tp2

+ +

Il n'y a pas de mot de passe, +il suffit donc de presser la touche +"Entrée" pour l'utilisateur "anonymous", si ce dernier vous +est +demandé.

+ +

4. Utiliser le logiciel

+ +

4.1. Compilation

+ +

Si vous avez choisi l'archive, commencez par la +décompressez.

+ +

$ tar -xzvf prog-repartie-tp2.tar.gz

+ +

Rendez vous ensuite dans le +dossier qui vient d'être créé lors de +la décompression.

+ +

$ cd prog-repartie-tp2

+ +

Puis lancez la compilation du logiciel:

+ +

$ ./autogen.sh
+ +$ ./configure
+ +$ make

+ +

4.3. Utilisation

+ +

On supposera que les machines weber, beethoven et mozart font partie +du même groupe, que leur ports respectifs pour la +reception sont 2300, +2330, et 2360.

+ +

4.3.1. ABCAST

+ +

Pour la machine weber, on lancera:

+ +

$ ./dabcast -A -p 2300 -g weber:2300 -g +beethoven:2330 -g mozart:2360 -i 1

+ +

Pour la machine beethoven:

+ +

$ ./dabcast -A -p 2330 -g weber:2300 -g +beethoven:2330 -g mozart:2360 -i 2

+ +

Pour la machine mozart

+ +

$ ./dabcast -A -p 2360 -g weber:2300 -g +beethoven:2330 -g mozart:2360 -i 3

+ +

4.3.2. CBCAST

+ +

On supposera que les machines weber, beethoven et mozart font partie +du même groupe, que leur ports respectifs pour la +reception sont 2300, +2330, et 2360.

+ +

Pour la machine weber, on lancera:

+ +

$ ./dabcast -C -p 2300 -g weber:2300 -g +beethoven:2330 -g mozart:2360 -i 1

+ +

Pour la machine beethoven:

+ +

$ ./dabcast -C -p 2330 -g weber:2300 -g +beethoven:2330 -g mozart:2360 -i 2

+ +

Pour la machine mozart

+ +

$ ./dabcast -C -p 2360 -g weber:2300 -g +beethoven:2330 -g mozart:2360 -i 3

+ +
+ + +