Mis à jour le 18/9/2003 par Sacha Krakowiak

Accessible sur http://sardes.inrialpes.fr/people/krakowia/Enseignement/RICM/EA-03-04.html

RICM-3
Option Réseaux 2003-2004

Études d'approfondissement

Les études d'approfondissement visent à faire le point sur des aspects particuliers des systèmes répartis et réseaux notamment dans des domaines émergents ou en évolution rapide. Les sujets abordés couvrent aussi bien les techniques de base que les nouveaux secteurs d'application.

L'intérêt de cette activité est double.

Le travail se fait par groupes de 2. Il est demandé de présenter un exposé d'environ 1 heure à 1h15, ce qui laisse du temps pour des questions, des compléments et une discussion sur le thème. Chaque groupe prépare une page web synthétisant le travail sur son thème. Il est également demandé de fournir une copie des transparents présentés.

L'ensemble des pages et des présentations seront regroupées sur un site Web

Le choix des thèmes et leur répartition se fait au cours de la première semaine. Au cours de la séance initiale est présenté un ensemble de thèmes possibles, mais tout groupe qui le souhaite peut proposer un nouveau thème de son choix, qui doit être approuvé par l'enseignant responsable.

On trouvera ci-après pour chacun des thèmes une brève présentation et quelques liens initiaux permettant d'amorcer la recherche.

Voir ici quelques indications sur la lecture d'articles scientifiques et techniques.



Calendrier des présentations (changements ponctuels possibles)

Les séances ont lieu jeudi de 9h45 à 11h15 et de 11h30 à 13, en salle F218
 

Date
Sujet
Groupe
18/9/03
Présentation et choix des sujets
 2/10/03
 SAN/NAS
 Charbon-Razafinjatovo
2/10/03
Stéganographie
Minazzoli-Namia
16/10/03
Web Services
Welterlen-Onimus
16/10/03
Peer to Peer
Giraudon-Dubus
6/11/03
 TV Interactive
 De Bortoli-Delerue
6/11/03
 Ubiquitous-Wearable Computing
Terzian-Wu 
20/11/03
Les consoles de jeux
Blin - Chardonnier
20/11/03
 OSGi Hecart - Delavelle
     
     

Thèmes proposés

1. Nouveaux systèmes de stockage de données (SAN/NAS)

2. Systèmes Peer to Peer

3. Coordination, exemple de Jini

4. Réseaux de capteurs et OS pour ces réseaux

5. TV interactive

6. Ubiquitous/ Wearable Computing

7. Jeux interactifs

8. Web Services

9. Stéganographie (Watermarking)

10. Grid Computing

11. Composants OSGi


Systèmes Peer to Peer

Le Peer To Peer (ou P2P ou « égal à égal ») est un nouveau modèle de conception des applications qui se base sur le fait que les terminaux utilisés sur le Web qui sont des PC. Ceux ci sont de plus en plus souvent connectés en permanence sur Internet grâce aux forfaits illimités des opérateurs ADSL et câble. Ces PC disposent de ressources (stockage, CPU)qui peuvent être donc rendues disponibles à d'autres terminaux. Les plus célèbres exemples sont celui du SETI qui sous la forme d'un économiseur d'écran faire participer votre PC à l'analyse de signaux extra-terrestres et Napster qui permettait le partage illégale de fichiers de morceaux de musique entre 30 millions d'utilisateurs. D'autres types d'applications existent. L'objectif du projet JXTA est d'offrir une plate-forme libre et ouverte d'applications P2P.

Vous vous attacherez à présenter brièvement les concepts et notions du P2P en présentant les avantages et les inconvénients de ce modèle. Vous présenterez ensuite l'architecture, les protocoles et les messages de 2 principales plateformes : Gnutella et JXTA

http://www.openp2p.com/
http://www.gnutella.org
http://conferences.oreilly.com/p2p/
http://wwws.sun.com/software/jxta/


Systèmes multimédia répartis


Une part croissante de l'information disponible sur les réseaux est sous forme multimédia, c'est-à-dire comporte des séquences audio ou vidéo, dont la bonne reproduction fait intervenir le temps. Les systèmes et applications qui gèrent des flots multimédia sont donc soumis à des contraintes de qualité de service ( Quality of Service, QoS) qui expriment les conditions sous lesquelles la qualité de leur restitution est acceptable. La qualité de service est obtenue par le contrôle des ressources globales (réseaux, organes de traitement et de stockage, etc.).
Un autre aspect est le développement de présentations incluant des flots multimédia. Dans ce domaine, le World Wide Web Consortium (W3C ) a développé un standard, SMIL (Synchronized Multimedia Integration Language).

Références générales :

G. Blair, J.-B. Stefani, Open Distributed Processing and Multimedia , Addison-Wesley, 1998

Cheng, C.K. (1998). A survey of media servers . Hong Kong University CSIS, November,
http://www.csis.hku.hk/~ckcheng/papers/video.ps

Une étude de cas bien documentée : Tiger

Bolosky, W., Barrera, J., Draves, R., Fitzgerald, R., Gibson, G., Jones, M., Levi, S., Myhrvold, N. and Rashid,
R. (1996). The Tiger video fileserver, 6th NOSSDAV Conference , Zushi, Japan, April.
http://www.research.microsoft.com/~bolosky/tiger/tiger.html


Ubiquitous Computing

Un nombre croissant d'équipements de la vie courante intègrent des processeurs, et ceux-ci sont de plus en plus souvent connectés à des réseaux. Cette interconnexion généralisée n'en est qu'à ses débuts et commence à être utilisée pour des tâches diverses.

Un aspect spécifique est celui des communications. Le développement des ordinateurs portables et de diverses formes de processeurs mobiles (PDAs, etc) conjugué à celui des communications sans fils (Bluetooth, etc) donne lieu à une nouvelle forme de communication où des liens se créent de manière temporaire et non prévue à l'avance entre différentes entités communicantes. Un exemple en est un groupe de personnes participant à une réunion, dont les PDAs se connectent entre eux pendant la durée de la réunion sans que cela ait été organisé à l'avance. Un autre exemple est celui de processeurs embarqués dans des véhicules qui peuvent communiquer lorsqu'ils se trouvent à proximité. Les problèmes sont notamment ceux de l'organisation du réseau, de l'identification des participants, de la gestion des aspects dynamiques, de la sécurité, etc.

Plusieurs projets de recherche développent des installations prototypes pour explorer les nouveaux problèmes de cette interconnexion généralisée, par exemple :

Cooltown (HP Labs)
Endeavour (Berkeley)
Infosphere (OGI/GeorgiaTech)
Invisible Computing (CMU)
Oxygen (MIT)
Portolano (U. Washington/Xerox PARC)

Voir aussi la page de Mark Weiser (+), fondateur de ce domaine, et en particulier l'article " The Computer for the Twenty-First Century ", Scientific American, sept. 1991


Réseaux de capteurs

Diverses applications utilisent des capteurs (détecteurs de grandeurs physiques comme température, pression , lumière, ets...) dont les indications sont transmises et intégrées dans un but d'observation et de contrôle. La miniaturisation des processeurs permet d'envisager d'associer un processeur à chaque capteur individuel et de créer ainsi des réseaux de capteurs dans lesquelles une grande partie du programme d el'application sera distribuée. La communication utilisar les techniques des réseaux ad hoc.

Outre les communications proprement dites, diivers problèmes intéressants se posent : développement de systèmes d'exploitation spécialisés pour les capteurs, organisation d'une application. Ce domaine, créé assez récemment, fait l'objet d'une importante activité.

Deux exemples peuvent servir de point d'entrée.,
projet SCADDS : http://www.isi.edu/scadds/
projet WEBS : http://webs.cs.berkeley.edu/


Grid Computing

Un nombre croissant d'applications requiert une puissance de traitement qui dépasse celle des plus puissantes machines actuelles. Pour traiter de telles applications, une approche suivie depuis quelques années vis à combiner la puissance de traitement et de stockage d'un grand nombre d'installations interconnectées. Ce schéma peut s'appliquer à plusieurs niveaux (interconnexion de réseaux). Cette approche est désignée sous le nom de Grid Computing (grilles de calcul) ou Metacomputing

Les problèmes à résoudre sont la gestion globale des ressources, ce qui implique d'examiner divers aspects.

Ces problèmes sont ceux des installatons classiques, mais ils sont rendus complexes par la grande taille (nombre d'éléments, étendue géographique) et l'hétérogénéité. Plusieurs projets de recherche, dont certains ont abouti à des prototypes opérationnels, abordent ces problèmes.

Un bon point d'entrée sur les principaux problèmes et les projets actuels dans le domaine du Grid Computing est en :

http://dsonline.computer.org/gc/index.html


Nouveaux systèmes de stockage de données (SAN/NAS)

On voit se développer actuellement de nouveaux systèmes de stockage de données, qui combinent les progrès des disques magnétiques et ceux des réseaux. Ces systèmes sont désignés par les noms de NAS (Network Attached Storage) et SAN (Storage Area Networks). Ils font suite à la génération des RAID (Redundant Array of Inexpensive Disks), qui utilisent déjà un accès parallèle et fournissent une bonne résistance aux défaillances.

NAS : On utilise le réseau local (sur IP) pour accéder aux supports de stockage
SAN : L'ensemble des supports de stockage est organisé en un réseau autonome

On explorera les nouveaux développements de ces techniques (performances, comparaison, utilisation, ...)

Point d'entrée :

http://solutions.journaldunet.com/0110/011029_faqstockage.shtml

Sur les aspects "recherche" dans ce domaine, voir la page de Garth Gibson (CMU)
http://www-2.cs.cmu.edu/~garth/


Coordination, exemple de Jini

La coordination est l'ensemble des techniques qui permet à un ensemble d'activités de coopérer à une tâche commune.
On s'intéresse ici à des systèmes faiblement couplés : la coordination ne doit pas introduire de contraintes et doit permettre à chaque activité d'évoluer indépendamment. On utilise donc plutôt une communication de type asynchrone.

Diverses techniques sont utilisées pour la coordination. Elles peuvent se diviser en deux classes : communication par messages ou par événements, communication à travers un espace partagé.

On s'intéressera ici à la deuxième classe de techniques. Un exemple de mise en oeuvre est la plate-forme Jini, définie par Sun Microsystems, qui s'inspire du modèle de Linda (mémoire de tuples partagés).

Points d'entrée :

Pour la communication par événements : http://dsonline.computer.org/middleware/projects_MOM.html

Pour Jini : http://www.jini.org/


Télévision interactive

La plupart des pays occidentaux vont abandonner la transmission analogique des canaux de télévision pour migrer vers la transmission numérique de ceux-ci. La télévision interactive qui couplé la télévision et l?informatique sera probablement un des portails les plus utilisées pour accéder au WWW et aux applications de commerce électronique (le T-Commerce).
Après un rappel sur les enjeux, vous présenterez les aspects réseaux de la télévision interactive (ADSL, Satellite, Câble, Faisceaux Terrestres, ?) puis les principales plates-formes technologiques et solutions de iTV comme Sun JavaTV, Thales TAK, OpenTV, Canal Plus Technologies, WebTV, MicroSoft, Tivo, ?

Références :
Gerard O'Driscoll, The essential guide to Digital Set-Top Boxes and Interactive TV, (Prentice Hall,1999)
Barry Smith et Paul Cotter, Personalized TV linsting service, (Communications of the ACM, août 2000)
Digital Video Broadcasting (DVB): Multimedia Home Platform (MHP) specification 1.0, ETSI TS 101 812

Les consoles de jeux : plate-formes de développement

L'aspect ludique des nouvelles consoles de jeux (fixe et nomade) ne doit pas faire oublier à l'informaticien que ces machines sont potentiellement des concurrents très sérieux des PC pour l'accès à l'Internet dans le domaine de la maison (Home Area Network).
Dans cet exposé, vous vous attacherez à présenter l'architecture matérielle des machines du marché (Sony PS2, Sega DreamCast, MS Xcube, Nintendo GameCube, Nintendo GameBoy Advance) ainsi que celle de leurs successeurs, les systèmes d'exploitation, les moyens de communication de base (navigateurs, mailer, ?) et les environnements de développement d'applications.

Références : http://directory.google.com/Top/Games/Video_Games/Console_Platforms/

La Stéganographie (Watermarking)

La techniques de Stéganographie (ou de tatouage) consiste en l'insertion d'informations "cachées" (non immédiatement visibles sans un effort très important d'analyse) au sein d'un document. Elles permettent de «tatouer» un document, de manière à y adjoindre l'identité de son propriétaire par exemple. L'insertion doit être invisible et incluse dans le matériel lui même, sans en déformer la perception. Le document lui même peut être du son, un film ou une image.
Le développement des moyens de communication et du partage d'informations rend particulièrement critique ce besoin de marquage. Il est attendu une présentation des moyens de marquage disponibles, mais aussi un exposé des applications pratiques qui sont envisagées, voire déjà utilisées.

Point d'entrée : Hors série Pour la Science juillet/octobre 2002.
http://www-rocq.inria.fr/codes/Watermarking/
http://www-ima.enst.fr/~maitre/enst-ens.html
http://www.petitcolas.net/fabien/steganography/

Web Services

Les Web Services désignent un ensemble de techniques destinées à développer des applications réparties sur des infrastructures hétérogènes, en intégrant des développements nouveaux et des applications existantes, et en utilisant comme infrastructure de base les techniques et protocoles du World Wide Web (HTTP, HTML), complétés par un ensemble de protocoles d'intégration et de communication (SOAP, WSDL) et de découverte de services (UDDI) normalisés par le W3C.
On examinera les caractéristiques et la mise en oeuvre de ces techniques, en donnant des exemples d'utilisation.
Point d'entrée : page du W3C
http://www.w3.org/2002/ws/

Composants OSGi

OSGi est un consortium créé en 1999 pour établir des spécifications pour une infrastructure de communication et de développement de services modulaires sur des réseaux, en visant essentiellement le domaine des services pour les réseaux mobiles (voitures, trains), la domotique, etc. Au-dessus de cette infrastructure on peut développer des environnements à base de composants permettant de créer et de composer des services. Le critère de modularité et d'extensibilité est particulièrement important.

Examiner les spécifications de base, et surtout leur usage pour le développement de services (cf les exemples fournis, et d'autres éventuellement à découvrir).

Consortium OSGi
http://www.osgi.org

Des implémentations en logiciel libre autour du standard OSGi :
http://jeffree.objectweb.org/
http://www-adele.imag.fr/BEANOME/