Mis à jour le 18/9/2003
par Sacha Krakowiak
Accessible sur http://lig-membres.imag.fr/krakowia/Files/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.
- Compléments au cours par l'approfondissement de
thèmes particuliers, qui peuvent être des techniques en
cours de développement, ou des axes de recherche liés
à des nouveaux domaines.
- Acquisition d'une expérience dans le domaine de la
recherche documentaire (notamment sur l'internet) sur un thème
précis, et sur la présentation synthétique d'un
sujet complexe.
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.
- désignation globale des ressources
- communication
- allocation de la puissance de calcul aux tâches
- administration globale
- sécurité
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 e-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
listing 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.
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.
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
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/