Université Joseph Fourier

IMA

Année Universitaire 2004-2005

M2 GI Option SRR

Études d'approfondissement

Mis à jour le 16/12/2004 par Didier DONSEZ

Sujets des Etudes d’approfondissement

Les études d'approfondissement visent à faire le point sur des aspects particuliers des systèmes répartis, 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 45 minutes, 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ées (vous pouvez utiliserez le modèle proposé)

L’ensemble des pages et des présentations seront regroupées publiés sur le site Web

Le choix des thèmes et leur répartition se fait au cours de la première séance. 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.

Le sujet et des informations sont sur http://www-adele.imag.fr/~donsez/ujf/easrr0405

Attention, certains sujets ont été déjà traités les années précédentes : tentez de vous distinguer !

 

Les magazines IEEE et ACM sont disponibles à la Médiathèque (papier et électronique) http://www.imag.fr


Calendrier des présentations

Les séances ont lieu les Mardis Après Midi suivants de 15h15-18H30 en F114

 

21/09

Introduction, présentation des thèmes

Choix des présentations

26/10

eCos : un système d’exploitation pour les applications embarquées par Nicolas VIAL

Présentation, Synthèse, Source

02/11

Les méthodes de restriction de l'utilisation du matériel / logiciel par Nicolas CHABANOLES

Présentation, Synthèse

Protocoles de communication en Peer To Peer par Marc CALVISI

Présentation, Synthèse, Source

Géo-positionnement et Systèmes d'information géographique par M’Bène Fall

Présentation, Synthèse

09/11

Réseaux domestiques sur courant porteur par Julien RAVOIRE

Présentation, Synthèse

JSTL (Java Standard Tag Library)par Billel BENJABALLAH

Présentation, Synthèse, Source

Edge Computing  par Yidong ZHU

Présentation, Synthèse

16/11

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

Présentation, Synthèse, Démonstration

Application Multimédia Reparties par Kamal BEYDOUN (reporté au 23/11)

Présentation, Synthèse, Source

Entreprise Media Beans par Thomas LEVEQUE

Présentation, Synthèse

23/11

Bluetooth et Programmation Java par Bruno MACHEREL

Présentation, Synthèse, Source

.NET, C#, .NET Remoting par Sébastien BOULAY

Présentation, Synthèse, Source

Solutions de paiement électronique pour les sites de commerce électronique par Anthonin CHAZALET

Présentation, Synthèse

Sujets


Sécurité des systèmes embarquées

Le raccordement des systèmes embarqués aux réseaux ouverts (WWW) et leur intégration dans les systèmes d’information des entreprises et des organisations introduisent de nouvelles menaces. Après une bref rappel sur la sécurité, vous présenterez les menaces potentielles et les contre-mesures possibles applicables aux systèmes embarqués.

Références


Réseaux domestiques sur courant porteur

Les réseaux sur courant porteur proposent de véhiculer les données sur l’infrastructure (filaire) existant du réseau électrique. Ces réseaux visent deux domaines d’application assez différents : l’accès au Web depuis n’importe point de la maison ou le contrôle des appareillages à distance (domotique).

Après un rappel sur les principes du courant porteur, l’exposé présentera un état des standards et des solutions propriétaires dans les 2 domaines d’applications pour les marchés américains, européens et français.

Références

·        Home-Plug Powerline Alliance (HomePlug) http://www.homeplug.org

·        X10, http://www.x10.org

·        Konnex Association

·        EasyPlug

·        LONWorks


Real-Time Java

Le temps réel est le dernier domaine de l’informatique est couvert par le langage Java. Cet exposé s’attachera à présenter les différences de programmation qu’il existe entre Java et RTJ. Il fera le tour des implémentations existantes et disponibles sur le marché.

Références


Réalité augmentée et Wearable computing

La réalité augmentée permet à l’usager d’ajouter de l’information en « superposition » de ses propres sens. Par exemple, dans une application de guidage dans un véhicule, une voix, des voyants lumineux, … indique au conducteur le moment où il doit changer de direction ! Cette aide à l’usager pourrait bien rapidement être intégrée à l’usager sur la forme d’un ordinateur portable se dissimulant à l’habit. Ces Wearable PC sont aussi des outils très prometteurs pour des métiers nécessitant de se libérer des périphériques d’entrée-sortie : médecin, maintenance, conducteur, …

 

Cet exposé s ‘attachera à présenter le Wearable Computing dans une première partie et à présenter ses applications en réalité augmentée.

Références


eCos : un système d’exploitation pour les applications embarquées

eCos est un système d’exploitation open-source destiné aux systèmes embarqués et aux systèmes contraints par la taille mémoire. Il se présente comme une alternative à Linux et à Windows CE pour ce type de systèmes.

Cet exposé s ‘attachera à présenter l’achitecture d’eCos, les outils de développement (loader RedBoot, …) et la conception de systèmes avec eCos.

Références


Protocoles de communication en 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 principalement l’architecture, les protocoles et les messages des 2 principales plateformes : Gnutella et JXTA

Références :


Bluetooth et programmation Java

Bluetooth est une pile protocolaire pour constituer des réseaux personnels sans fil (Wireless PAN : Personal Area Network). Après une présentation de Bluetooth et de ses applications, vous présenterez le JSR-82 qui définit l’API Java pour développer des applications utilisant Bluetooth pour dialoguer. Deux dongles BT USB vous seront remis pour expérimenter les SDK d’AveLink et de JavaBluetooth.org pour présenter une démonstration. Le binôme choisissant ce sujet devra faire la démonstration avec ses propres machines

Références :

·        BlueTooth, http://www.bluetooth.com

·        http://www.jcp.org/en/jsr/detail?id=82

·        http://today.java.net/pub/a/today/2004/07/27/bluetooth.html

·        http://www.avelink.com/Bluetooth/Products/JSR-82/index.htm

·        http://www.javabluetooth.org/ et http://sourceforge.net/projects/javabluetooth


Sensor-based Services (Applications et 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 utilise les techniques des réseaux ad hoc.

Outre les communications proprement dites, divers problèmes intéressants se posent : développement de systèmes d'exploitation spécialisés pour les capteurs, de serveurs de gestion de base de données pour conserver les mesures et effectuer des traitements, organisation d'une application.

Ce domaine, créé assez récemment, fait l'objet d'une importante activité.

Références :

·        Snoonian, D, Smart buildings, Spectrum, IEEE, Volume: 40,   Issue: 8,   Year: Aug. 2003, Page(s): 18- 23, http://ieeexplore.ieee.org/iel5/6/27450/01222043.pdf?isNumber=27450&prod=JNL&arnumber=1222043&arSt=+18&ared=+23&arAuthor=+Snoonian%2C+D.

·        Philippe Bonnet, Johannes Gehrke, Praveen Seshadri, Towards Sensor Database Systems. Mobile Data Management, Second International Conference, MDM 2001, Hong Kong, China, January 8-10, 2001, Proceedings. Lecture Notes in Computer Science 1987 Springer 2001, ISBN 3-540-41454-1 pp 3-14, http://www.diku.dk/users/bonnet/papers/mdm01bonnet.ps

·        Projet Manatee, http://www.distlab.dk/manatee

·        projet SCADDS : http://www.isi.edu/scadds/

·        projet WEBS : http://webs.cs.berkeley.edu/


Géo-positionnement et Systèmes d'information géographique

L’informatique est de plus en plus embarquée dans les systèmes nomades (téléphones, appareils photo, assistants personnels, véhicules, …) et offre des applications à ses usager qui dépendent souvent du lieu dans lequel ces derniers se trouvent. Ces applications requièrent la position de l’usager (ou son terminal) et des systèmes d’information géographiques qui mettent en corrélation la position avec des informations plus factuelles.

Cet exposé présentera en première partie les technologies alternatives, actuelles et émergentes de positionnement (GPS, GSM, GlossNaz, Galliléo, Egnos …) indoor et outdoor, les protocoles et formats de récupération d’information de positionnement, en deuxième parties les applications géo-positionnement (cartographie  logistique, militaire, réalité augmenté, tracabilité, …) et les retombées économiques.

Vous insisterez sur le système européen Galliléo qui est en tout début de déploiement.

Références :

·         “Location Aware Devices”, IEEE Computer, Août 2001

·         Rashmi Bajaj, Samantha Lalinda Ranaweera, Dharma P. Agrawal, GPS: Location-Tracking Technology, IEEE Computer, April 2002 (Vol. 35, No. 4)

·         Jay Warrior, Eric McHenry & Kenneth McGee, They Know Where You Are, IEEE Spectrum, Juillet 2003, http://www.spectrum.ieee.org/WEBONLY/publicfeature/jul03/e911.html


Les méthodes de restriction de l'utilisation du matériel / logiciel

Les problèmes de licence de logiciel sont bien connus. Il s'agit de restreindre l'utilisation d'un logiciel à un nombre ou à un ensemble donné de machine. La gamme des solutions proposées est vaste, chaque solution présentant ses propres avantage et inconvénients (compromis lourdeur de mise en oeuvre ; degré de protection attendu). Cependant un autre problème se pose aujourd'hui, qui est celui de la restriction de l'usage qui peut être fait d'un matériel donné. Par exemple, les consoles de jeux sont désormais suffisamment puissante pour concurrencer les ordinateurs, mais les fabricants ont tout intérêt à ce que ces deux marchés restent séparés !

Il est attendu un exposé (mais pas un catalogue) des différentes techniques et applications disponibles. Des exemples pris dans l'actualité peuvent illustrer chaque point.


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, ...)

Références :

·         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/

·         Greg P. Schulz, « Resilient Storage Networks - Designing Flexible Scalable Data Infrastructures », Digital Press Books (Elsevier), ISBN 1-55558-311-3, 443 pages


JSTL (Java Standard Tag Library)

JSTL (Java Standard Tag Library) offre un mécanisme d’extension d’éléments de scripting aux JSP (Java Server Pages) de la spécification J2EE. Ce mécanisme offre une programmation très modulaires des applications Web.

Après un brève rappel des JSP, cet exposé présentera les principes et la programmation de JSTL. Enfin il s’attachera à présenter une démonstration technique (rapide) de la programmation des JSTL (par exemple sur la base du sujet ECOM pour l’accès aux EJB).

Références :


Le développement MVC pour les applications Web : JSF (Java Server Face) et Struts

Le modèle MVC (Modèle Vue Controleur) est un patron de conception classique pour la construction d’interface graphique (GUI). Les frameworks JSF et Struts permettent d’appliquer le modèle MVC à la conception des applications Web. Struts est basé entre autre sur les Servlets, sur XML, les JSP et les TagLibs.

Cet exposé présentera le modèle de programmation proposé par JSF et par Struts. Enfin il s’attachera à présenter une démonstration technique de la programmation de JSF (par exemple sur la base du sujet ECOM

Références



Applications multimédia réparties

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).

L’exposé attendu équilibrera un exposé sur les protocoles de transport RTP et RSTP, les serveurs de fichiers vidéo et le langage SMIL. Une démonstration sera présentée.

Références :

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

·         Darwin

·         VideoLan

·         RTP

·         RTSP

·         SMIL

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


Enterprise Media Beans

Les EMB (Enterprise Media Beans) est une spécification très récente de J2EE qui introduit la représentation et la manipulation d’objets multimédia (image, sons, vidéo) dans la conception d’applications J2EE (Servlet/JSP/JTSL/JSF + Enterprise Beans).

Cet exposé présentera le modèle de programmation des EMB et fera le point sur les serveurs J2EE du marché supportant les EMB. Une petite démonstration sera présente à partir de l’implementation de référence d’IBM.

Références :

http://www.jcp.org/aboutJava/communityprocess/review/jsr086/

http://oss.software.ibm.com/developerworks/downloads/detail.php?group_id=130&what=pack&id=190

http://www.alphaworks.ibm.com/tech/emb


Edge Computing

Le « Edge Computing » est un nouveau modèle d’architecture d’infrastructure d’entreprises basé sur le rapprochement des ressources de calcul vers les utilisateurs finaux. Habituellement les requêtes sont prises en charge par des serveurs applicatif. Ceux-ci doivent être à même de répondre à des millions de ces requêtes. L’approche « Edge Computing » définit une hiérarchique de serveurs avec l’utilisation de nombreux serveurs frontières (« edge servers ») de faible coût aux points d’entrée Internet de l’entreprise et ses serveurs applicatif.

L’intérêt de cette approche est qu’elle permet de décharger les serveurs applicatifs et d’assurer le passage à l’échelle en multipliant les serveurs frontières. Cette approche peut s’appliquer de manière générique à des nombreux contextes applicatifs (e-Commerce, management, domotique, supervision industrielle, …).

Dans le contexte d’infrastructures orientées vers le B2C, le B2B, et le EAI, ces serveurs frontières sont le plus souvent des serveurs de cache de documents de natures variées. Ces documents peuvent être des documents multimédia de grandes tailles, des pages web dynamiques, index de moteurs de recherche (multimédia). Dans le cas des pages web dynamiques (http://www.esi.org), les serveurs frontières analysent les requêtes des usagers et retournent des documents en assemblant des fragments statiques et des fragments dynamiques qui sont demandés aux serveurs applicatifs. Les fragments dynamiques sont le plus souvent gérés dans des « caches » par chaque serveur frontière jusqu’à une date d’expiration ou par invalidation du serveur applicatif.

L’exposé s’attachera à présenter en première partie, les motivations et les acteurs du Edge Computing puis en deuxième partie, la programmation d’applications au moyen des ESI.

Références :


.NET et C#

MicroSoft a dévoilé .NET courant 2001 son nouvel environnement de développement à composant qui succède à DCOM. Cet environnement s’accompagne du nouveau langage C# qui emprunte beaucoup de concepts à Java et a C++.

Cet exposé s’attachera à présenter dans une première partie le langage C# (en le comparant à Java et C++ et à d’autres langages de programmation) et à présenter l’environnement .NET (ses fonctionnalités et son architecture). Comme MicroSoft a annoncé vouloir mettre le langage C# dans la communauté Open Source, vous conclurez sur les implantations libres en cours de ce langage et de l’environnement .NET. Une démonstration de développement pourra être présenté.

Références :


Solutions de paiement électronique pour les sites de commerce électronique

Cette présentation traitera des solutions de paiement électroniques pour les sites de commerce électronique (e-Carte Bleue, PayPal, ...)

Références :