Title: Systmes dinformation pervasifs
1Systèmes dinformation pervasifs
- Unité denseignement de base
- Frédérique Laforest
2Qui suis-je?
- Frédérique Laforest
- frederique.laforest_at_insa-lyon.fr
- http//liris.cnrs.fr/frederique.laforest
- Maître de conférences INSA de Lyon
- Recherche au LIRIS
- axe systèmes dinformations communicants,
- équipe Systèmes dinformation pervasifs
- Mots-clés
- Systèmes pervasifs
- Adaptation et context-awareness
- Interfaces utilisateurs
- Enseignement au département Télécommunications
- modélisation objet, java, web, bases de données,
systèmes pervasifs
3Plan
- Introduction
- Architectures des systèmes dinformation
distribués et pervasifs - Trois niveaux de recherche en systèmes pervasifs
- matériel et système
- réseau
- système dinformation
- découverte de services
- gestion de données
- context-awareness
- adaptation des données, des interfaces
utilisateurs et des services - Exemples de projets pervasifs
- Conclusion
4Introduction
5Système dinformation
- Objectif
- Production, collection, traitement,
enregistrement et diffusion de linformation - Composantes
- Utilisateurs et administrateurs
- Logiciels
- Machines et matériels
- Réseaux
6Exemple de système dinformation
- Suivi de patients hospitalisés à domicile
- Utilisateurs et administrateurs
- patients, médecins de ville, infirmières,
praticiens hospitaliers, pharmacien, association
de suivi - Logiciels
- dossier patient électronique, workflow,
rendez-vous, imagerie, mailing, saisie de données
au domicile, télésurveillance - Machines et matériels
- matériel médical chez le patient (dialyseur,
thermomètre électronique), matériel à lhôpital
(radiologie, chimiothérapie), terminal patient,
terminaux des acteurs de santé mobiles ou fixes - Réseaux
- Liaison réseau privé de lhôpital, association de
suivi, domicile
7Une nouvelle vision de linformatique
- Environnement informatique
- Avant environnement virtuel dans lequel nous
entrons pour effectuer une tâche et dont nous
sortons à la fin de la tâche - Aujourdhui espace physique amélioré de gestion
de linformation - Application
- Avant logiciel pour exploiter un matériel
- Aujourdhui moyen pour lutilisateur
deffectuer une tâche
8(No Transcript)
9Les ordinateurs dhier remplissaient les pièces
10Ceux de demain aussi!!
11Motivation
- Aujourdhui, lInternet connecte tous les
ordinateurs - Demain, tout objet sera intelligent (smart)
- Processeurs embarqués
- Et ils seront tous interconnectés
- Communication sans fil
12Linformatique embarquée pour la coopération
- Tout objet du monde réel sera enrichi de
capacités de traitement de linformation - Processeurs embarqués
- Dans chaque objet quotidien
- Petit, bon marché, léger
- Communications sans fil
- Réseaux spontanés
- Capteurs
13Les objets intelligents
- Peuvent se souvenir des événements importants
- Mémoire
- Présentent un comportement dépendant du contexte
- Capteurs
- Ils sont interactifs
- Communiquent avec leur environnement
- En réseau avec les autres objets intelligents
14Ces objets sont-ils vraiment smart??
15Systèmes dinformation pervasifs la genèse
- Calm technology
- Mark Weiser, 1991
- A new way of thinking about computers in the
world, one that takes into account the natural
human environment and allows the computers
themselves to vanish in the background - The most profound technologies are those that
disappear. They weave themselves into the fabric
of everyday life until they are indistinguishable
from it
16Systèmes dinformation pervasifs la référence
- M. Satyanarayanan, 2001
- Étape suivante, après systèmes distribués et
systèmes mobiles - 4 challenges
- Utilisation effective des espaces intelligents
(smart spaces) - Invisibilité
- Scalabilité
- Transparence des inégalités denvironnements
- Pervasive computing environment one saturated
with computing and communication capability, yet
so gracefully integrated with users that it
becomes a technology that disappears
17Définitions
- Ubiquitaire
- Accessible de nimporte où
- Mobile
- Qui intègre les terminaux mobiles
- Context-aware
- Qui prend en compte le contexte dexécution
- Pervasif
- Qui associe ubiquité, mobilité et
context-awareness - Ambiant
- Qui est intégré dans les objets quotidiens
18Vue système dun système pervasif
- Adapté de Saha Mukherjee, 2003
Système pervasif
Système mobile
19Devoirs des SI distribués
- Persistance des données
- Échange de données entre applications hétérogènes
- Répartition des données sur des sites distants
- Gestion de la cohérence permanente des données
- Interopérabilité des plates-formes
- Portabilité des applications
- Gestion des accès concurrents
- Intégration des systèmes legacy
- Ouverture
- Sécurité
20Devoir des SI pervasifs
- Ceux des SI distribués
- ET
- Scalabilité
- Invisibilité
- Context-awareness
- Intelligence ( smartness )
- Pro-action all the time everywhere
21Scalabilité
- Passage à léchelle
- Gérer des volumes de plus en plus grands de
- utilisateurs
- applications
- appareils connectés
- Développer des applications dont le cur est
indépendant du volume, des utilisateurs et des
appareils - Utiliser des techniques dadaptation pour pouvoir
répondre à chaque cas
22Invisibilité
- Nécessiter un minimum dintervention humaine
- Sadapter seul aux changements
- Auto-apprentissage
- Par exemple,
- reconfiguration dynamique des caractéristiques
réseau dun appareil - Accès aux ressources dun espace en fonction
de lappartenance à la zone géographique de cet
espace. Sortie de lespace définition des
limites de lespace!
23Context-awareness
- Perception de lenvironnement pour interagir plus
naturellement avec lutilisateur - Capteurs de lenvironnement physique
- Matériels auto-descriptifs
- Description des personnes
- Méta-données sur les applications
24 Smartness
- Smart intelligent, à lesprit vif, malin,
débrouillard - Percevoir le contexte dexécution ne suffit pas
- Il faut utiliser efficacement les informations du
contexte - Exemple maison intelligente
25Pro-action
- Suggérer, proposer des actions correctives à
lutilisateur en fonction du contexte présent ou
prédit - Par exemple se déplacer de 100 mètres pour
atteindre un réseau plus performant et ainsi
accomplir une tâche dans un temps correct - Attention à balancer avec linvisibilité!
- Sous-entend de savoir
- Prévoir un événement, une situation,
- Évaluer une situation courante ou possible,
- Comparer deux situations et juger de la meilleure
- Que ça vaut le coup de transgresser
linvisibilité
26References bibliographiques Introduction
- M. Weiser The computer for the twenty-first
century , Scientific American, sept 199194-104 - M. Satyanarayanan Pervasive computing Visions
and challenges , IEEE Personal Communications,
aug. 200110-17 - D. Saha A. Mukherjee Pervasive computing a
paradigm for the 21st century , IEEE Computer
journal, march 200325-31 - F. Mattern. Ubiquitous Pervasive Computing A
Technology-driven Motivation , Summer school on
ubiquitous and pervasive computing, 2002 - S. Frénot Cours Middleware , Dpt
Télécommunications, INSA de Lyon, 2004
27Architecture des systèmes dinformation
distribués et pervasifs
- 1- ancêtres
- 2- middleware
- 3- systèmes mobiles
- 4- grilles de calcul
- 5- peer-to-peer
28Les ancêtres le PC
- A démocratisé linformatique
- A permis une croissance gigantesque en matière de
composants matériels - A permis le développement des interfaces
utilisateurs graphiques - Na pas fourni le potentiel attendu en matière de
traitement de linformation
29Les ancêtres le Web
- Pionnier dinfrastructure de communication et
dinformation ubiquitaire - A lorigine, na pas été pensé comme une
infrastructure pour systèmes distribués - A créé une culture qui a permis dimaginer les
systèmes pervasifs
30Les ancêtres le Client/Serveur
- C/S de présentation
- Client gestion de la présentation
- Serveur réalisation de l'ensemble des
traitements - C/S de traitement
- C Gestion de la présentation traitements
applicatifs - S Gestion de l'accès aux BD
- C/S multi-tiers
- C Gestion de la présentation
- Serveur applicatif Connaissance des traitements
métiers - Serveur de données gestion des accès aux BD
31Client-serveur de présentation
- Déporter l'affichage sur un réseau
- telnet
- Xwindows
- NTTerminal Serveur
- Le développement est presque centralisé
- Architecture dénommée client léger
- Avantages
- Déploiement facile
- Maintenance facile
- Client à faibles ressources
- Inconvénients
- Goulot détranglement serveur
- Sous-exploitation du client
32Client-serveur de traitement
- Le poste de travail héberge lensemble de la
gestion dinterface homme-machine et le
traitement, - Le serveur est un serveur de base de données
- Architecture dénommée client obèse
- Avantage Mise en uvre efficace pour un nombre
réduit de clients - Inconvénients
- Coûts de déploiement ?
- Coûts de MAJ ?
- Accès concurrents ?
- Hétérogénéité sur BD ?
33Client-serveur 3 niveaux (3-tier)
- Le poste de travail héberge la gestion
de linterface homme-machine et une partie des
traitements, - Le serveur dapplications gère lautre partie des
traitements - Le serveur de données gère les accès aux données
- Architecture dénommée traitements coopératifs
34Client-serveur 4 ou n niveaux (4-tier, n-tier)
- Le poste de travail héberge un navigateur
standard, - Le serveur (HTTP) gère la partie présentation de
linterface homme-machine - Le serveur dapplications gère les traitements
- Le serveur de données gère les accès aux données
- Architecture de collaboration
35Le Client / Serveur
- Avantages
- Première infrastructure informatique pour un
travail coopératif - Centralisation des traitements au niveau du
serveur - Pas de duplication des données (état global
observable, gestion plus simple de la cohérence
et de l'intégrité des données) - Maîtrise globale des processus
- Inconvénients
- Relation directe C/S
- Pas de transparence sur la localisation
- Augmentation de l'hétérogénéité
- Modèle rigide !
- Ni portable ni inter-opérable
36Client-serveur la distribution à "l'ancienne"
37Client-serveur la distribution à "l'ancienne"
- Elle nécessite des compétences humaines précises
- Systèmes propriétaires
- Gestion de transactions
- Définition de queues de messages
- Réplication et Synchronisation de BD
- Gestion des pannes
- Sécurité des communications
- Développement de clients
- Elle pose des problèmes techniques
- Nécessite de nombreux serveurs pour l'équilibrage
de charge - Nécessite une programmation complexe pour pouvoir
évoluer
38Du C/S au middleware explicite
- C/S
- Le client et le serveur sont développés en
collaboration - Objet distant
- Client et serveur sont liés par une interface
- La couche réseau est masquée au client et au
serveur - Notion de code applicatif/code non applicatif
39Middleware architectures
- Environnements et plates-formes dexécution pour
développer des services métiers - Architecture middleware à objets distribués
- Services dinfrastructure
- Serveur middleware de composants de base
- Services standardisés dinfrastructure
- Serveur middleware de composants intégrés
- Infrastructure de gestion des composants
40Middleware architecture générale
41Architectures middleware à objets distribués
42Architectures middleware à objets distribués
- Services métier
- objets distribués sur différents serveurs
- API des objets conforme à un standard
- Rôle du middleware
- Services dinfrastructure
- Transparence de la localisation, de
lhétérogénéité (langages, OS, machine), de la
couche transport réseau
43DCOM (Microsoft)
- Distributed Component Object Model
- Spécifications des interfaces au niveau binaire
- Indépendance / Langage de programmation
Assembleur, C, C, Pascal, Visual Basic, Visual
J - Interfaces et composants ont un identifiant
unique GUID (Globally Unique Identifier) - Interface non modifiable, à refaire
- RPC (Remote Procedure Call)
- Multithread
- Appels synchrones, asynchrones, concurrence,
interblocage - Sécurisé
- Droits utilisateurs
- Durée de vie des objets
- Références sur un objet
44CORBA (OMG)
- Common Object Request Broker Architecture
- IDL (Interface Definition Language)
- Indépendance / Langage de programmation. Mappé
sur C, C, Java, COBOL, Smalltalk, Ada, Lisp,
Python et IDLscript. - ORB (Object Request Broker)
- Bus de communication
- IIOP (Internet Interoperable Protocol)
- Naming Service, Trader Service, etc.
- http//www2.lifl.fr/merle/corba/cours/
IIOP
Impléms Orbix, Visibroker, JBroker, Voyager
ORB, etc.
45.NET (Microsoft)
- Plateforme de développement, de déploiement,
dexécution - API .NET Framework
- Assembly, WebServices
- Indépendance / Langage beaucoup !
- Common Language Infrastructure (CLI)
- Common Intermediate Language (CIL) Microsoft
Intermediate Language (MSIL) - Common Language Runtime (CLR)
- SOAP (HTTP, XML/RPC), DCOM
- Active Server Pages (ASP.NET), ActiveX Data
Objects (ADO) - Impléms MS .net, Mono, DotGNU
46Serveur middleware de composants de base
47Serveur middleware de composants intégré
48Services du container d'objets métiers
- Services internes
- Gestion de la charge du serveur
- (cycle de vie, accès client, passivation...)
- Service de nommage
- Gestion des accès aux objets métiers
- Services externes
- Gestion du mapping sur BD relationnelle
- Gestion des transactions
- Gestion des échanges de messages
49J2EE (Sun)
- Java 2 Platform, Enterprise Edition
- Multi-tier, multi-architecture plateforme
- API Java
- Composants et conteneurs Enterprise Java Beans
(EJB) (javax.ejb.), Servlets (javax.servlet),
WebServices - Publications JavaServer Pages (JSP)
(javax.servlet.jsp), Java Naming and Directory
Interface (JNDI) (javax.naming) - Base de données et transactions Java Database
Connectivity (JDBC) (java.sql, javax.sql), Java
Transaction API (JTA) (java.transaction.), etc. - RMI (Remote Method Invocation), RPC, CORBA
- Nombreux serveurs dapplications JBoss, JRun,
JOnAS, Weblogic, Websphere, Java System
Application Server, etc. http//java.sun.com/j2ee/
compatibility.html
50OSGi (OSGi Alliance)
- Open Services Gateway Initiative (anciennement)
- Plateforme de développement, de déploiement,
dexécution - API Java bundle
- Environnement dexécution (JVM), Modules, Gestion
du cycle de vie, Service dannuaire - Différents niveaux dexécution
- Services standardisés
- Niveau système Log Service, Configuration Admin
Service, Device Access Service, User Admin
Service, IO Connector Service, etc. - Niveau protocole HTTP Service, UPnP Service,
Jini Service, etc. - Impléms oscar, Knopflerfish, felix
51Conclusion Middleware
- Avantages
- Interopérabilité
- API de développement
- Implantation de services standardisés
- Transparence, extensibilité
- Modifications au niveau middleware sans
modification de l application - Inconvénients
- Performance
- Un niveau de redirection en plus
- Difficile à évaluer
- Maintenance
- Sécurité
- Suivi continuel du middleware en plus de lappli
52Systèmes mobiles
- Début des années 90
- Essor des ordinateurs portables et des réseaux
sans fil - Assistant personnel (Personal Digital Assistant)
(Palm, Pocket PC), ordinateur de poche (Handheld
Computer) (Psion), ordinateur portable (Notebook,
Laptops) - Réseau à point daccès (GSM, GPRS, WiFi
802.11a/b/g/n), réseau non centralisé, ad hoc
(MANET Mobile Ad-hoc Networks), (IRDa,
Bluetooth) - Mobilité ?
- non permanence du terminal portable ou de la
connexion réseau
Diapos 1 à 10
http//adapt.asr.cnrs.fr/reunions/20061003/slides/
guidec.pdf
53Systèmes mobiles
- Avantages
- Everything, every time, everywhere
- Services, données tout le temps disponibles avec
soi - Inconvénients
- Contraintes physiques
- Variations impromptues de la qualité du réseau
- Déconnexions
- Faibles confiance et robustesse des éléments
mobiles - Limitations des ressources locales (poids, taille
écran) - Autonomie (batterie)
- Contraintes environnementales
- Disponibilité dune connexion réseau
54Systèmes mobiles
- Résultats actuels ? Domaine de
recherche actif ? Systèmes pervasifs - Techniques déconomie dénergie (gestion de
mémoire, rapidité processeur en fonction de
lénergie disponible) - Accès aux informations (opérations déconnectées,
contrôle de la cohérence des données) - Support dapplications adaptatives (proxies,
gestion adaptative des ressources système) - Calcul et gestion de la localisation
- Systèmes dinformation
- Wap et imode (C/S et téléchargement)
55Systèmes mobiles précurseurs Coda
- Système de fichier
- Hoarding (fortement connecté)
- Chargement
- Préchargement
- Emulating (déconnecté)
- Travail en local
- Historique
- Write disconnected (faiblement connecté)
- Chargement
- Réintégration
56Systèmes mobiles précurseurs Odyssey
- Accès données depuis mobile
- Politiques de négociation qualité/données selon
les ressources - Fidélité / données originales
- Agilité / capacité à changer
57Grilles de calcul
- Système distribué qui permet le partage, la
sélection et lagrégation de ressources
géographiquement distribuées pour la résolution
de problèmes à grande échelle - Système distribué ensemble de machines (eg.
Grid5000 en France5000 CPU hétérogènes sur 9
sites)
58Grilles de calcul
- Avantages
- Passage à léchelle
- Résolution de problèmes complexes (en terme de
calcul, comme le décryptage de clef à X-bits,
etc.) - Mise à profit de toutes les ressources selon
disponibilité - Ordinateurs PC, clusters, (éléments mobiles)
- Logiciels
- Données et bases de données
- Matériels spécifiques
- Tolérance aux fautes
59Grilles de calcul
- Inconvénients
- Logiciels, middlewares, systèmes, standards en
plein évolution - Interactions difficiles entre systèmes de grille
différents - Applications statiques
- Précompilées pour un système de grille donné
- Non-interactives
- Grille pervasive grille intégrant des terminaux
mobiles et donc toutes les problématiques des
systèmes pervasifs. - Les terminaux mobiles pouvant être vus comme de
simples clients ou comme des nuds à part entière
de la grille. - pour en savoir plus cours de recherche Grilles
de données
60Seti_at_Home Search for Extraterrestrial
Intelligence
- University of California at Berkeley
- Application de traitement de données
radiotéléscopiques - 40G / jour
- Recherche de fluctuations des signaux
- Client
- Économiseur décran pré compilé pour système
donné - http//setiathome.ssl.berkeley.edu/
- Voir aussi dautres applications Genome_at_Home,
distributed.net (cryptage), etc.
61Globus toolkit
- The Globus Alliance
- Middleware pour la grille
- Basic Grid Services Implementation
- Web Grid Services Core (Java et C/C)
- API de développement
- http//www.globus.org
- Voir aussi dautres middlewares JXTA, Legion,
etc. - http//www.gridcomputing.com/
62Peer-to-peer
- Peer partenaire
- an entity with capabilities similar to other
entities in the system. - Les applications sont réparties sur lensemble
des peers - Pas de machine maître , pas de serveur central
- Client/serveur vs. Peer-to-peer
- Client / Serveur
- Certains éléments sont fournisseurs de services
(serveurs) - Dautres sont consommateurs (clients)
- Peer-to-peer
- Chaque élément est à la fois client et serveur
63Architecture peer-to-peer
- Les ressources dun peer sont similaires à celles
des autres participants - Les peers communiquent directement les uns avec
les autres et partagent des ressources
64Challenges Peer to Peer
- Découverte de peers et gestion de groupes
- Localisation et positionnement des ressources
- Temps de recherche dune ressource
- Etat de chaque noeud
- Utilisation de la bande passante
- Sécurité, fiabilité
- Tolérance aux fautes
65P2P Centralisé, pseudo-P2P
- Passage obligé par un point central
- Intérêts
- Recherche efficace
- Bande passante utile faible
- Inconvénients
- point central pro-blématique
- Convient à faible échelle seulement
Judy
66Flooding P2P
- Une demande est envoyée dans toutes les
directions - Intérêts
- Pas de point central
- Inconvénients
- Recherches lentes
- Utilisation intensive de la bande passante
67Document Routing P2P
- Le peer demandeur prévoit le routage pour
atteindre le peer cible - il a donc une connaissance de la topologie du
réseau - Intérêts
- Bande passante utile faible
- Inconvénients
- Tolérance aux fautes limitée redondance
68Taxonomie dapplications P2P
69BOINC grille ou pseudo-P2P??
- Berkeley Open Infrastructure for Network
Computing - plate-forme logicielle pour le calcul distribué
utilisant les ressources matérielles de
volontaires - pour des applications dont la tâche peut être
décomposée en étapes indépendantes, et dont le
temps de calcul local reste important par
rapport au transfert des données locales sur
Internet - exemples SETI_at_home, climateprediction.net
- chaque projet a un ou n serveurs
- chaque volontaire installe un client, et sabonne
à 1 ou n projets. Il définit les ressources
associées à chaque projet - de nombreuses problématiques similaires aux
réseaux mobiles inclusion/exclusion de
volontaires, déconnexions, faible puissance des
clients - http//boinc.berkeley.edu/
70Gnutella
- Partage de fichiers en P2P
- Installation dun logiciel dit client qui
sert à la fois de serveur et de client. - Choix de la partie du disque local qui sera
partagée sur le réseau - Recherche dune ressource par son nom
- en local
- demandée à un noeud connu
- sil ne la connaît pas, le nud la propage à 4
alliés - etc jusquà 7 hops max.
- le nud qui a la ressource la retourne à
lappelant et fait désormais partie des nuds
connus par lappelant - http//www.gnutella.com/
71Jabber
- Face émergée de liceberg
- alternative Linux de messagerie instantanée comme
ICQ - Face immergée protocoles de streaming fondés
sur XML - permet à 2 entités sur Internet déchanger des
messages et toute sorte dinformation structurée
en temps presque réel. - Standard (Internet Engineering Task Force IETF)
- Décentralisé toute machine peut être serveur
et/ou client - Sécurisé avec SASL et TLS
- Ouvert, extensible grâce à XML
- Flexible outils de collaboration, syndication
de contenu, partage de fichiers, gestion de
systèmes à distance - http//www.jabber.com
72JXTA (juxtapose)
- Ensemble de protocoles permettant à tout type de
terminal de participer à un réseau P2P - fournit aussi une implantation ouverte
- JXTA standardise la façon dont les peers
- se découvrent les uns les autres
- sorganisent en groupes
- communiquent entre eux de façon sécurisée
- annoncent et découvrent des services
- se supervisent
- http//www.jxta.org
73Synthèse framework de système pervasif
- 4 clés dispositifs, réseau, middleware,
applications
Saha Mukherjee 2003 pervasive computing
framework. Middleware mediates interactions with
the networking kernel on the users behalf and
keeps users immersed in the pervasive computing
space
74Références bibliographiques architecture
- S. Frénot Cours Middleware , Dpt
Télécommunications, INSA de Lyon, 2004 - G. Gardarin et O. Gardarin le client-serveur ,
Eyrolles, 1996 - E. Aarts S. Marzano The new everyday. Views
on ambiant intelligence . Koninklijke Philips
Electronics N.V., 010 publishers, Rotterdam - D. Saha A. Mukherjee. Pervasive computing a
paradigm for the 21st century IEEE Computer
journal, march 200325-31 - B. Yang H. Garcia-Molina Comparing Hybrid
Peer-to-peer systems 27th VLDB Conference,
Roma, Italy, 2001 - L. B. Mummert, M. Ebling et M. Satyanaranan
Exploiting Weak Connectivity for Mobile File
Access , Proceedings of the 15th ACM Symposium
on Operating System Principles (SOSP'95), p.
143155, Copper Mountain Resort, Colorado, USA,
décembre 1995 - B. Noble, M. Satyanaranan , J. E. Tilton, J.
Flinn et K. R. Walker, Agile Application-Aware
Adaptation for Mobility , Proceedings of the
16th ACM Symposium on Operating Systems
Principles (SOSP'16), Saint-Malo, France, octobre
1997
75Trois niveaux de recherche en systèmes pervasifs
- 1- niveau matériel et système (survol)
- 2- niveau réseau (survol)
- 3- niveau système dinformation
- 4- synthèse relations entre les niveaux
76Niveau matériel et système (survol)
- Limitations des ressources disponibles sur les
terminaux légers - Critères primordiaux poids et taille des
terminaux - Contraintes sur tous les composants matériels
- Le plus limitant lénergie (batteries)
- Juste après gestion de la chaleur
- Ces contraintes ont des répercussions sur
- Le système dexploitation
- Les logiciels (voir niveau système dinformation)
77Évolution des capacités matérielles
78Recherches au niveau matériel et système
- Exemples pour la gestion de lénergie
- Adaptation dépendante de lénergie
- Ordonnancement du processeur à vitesse variable
- Gestion mémoire dépendante de lénergie
- Energies alternatives
79Capteurs
- Les technologies de capteurs existent depuis
longtemps, mais - Capteurs sans intelligence ni stockage
- Capteurs avec transmission filaire locale des
données brutes capturées - Travaux actuels
- Capteurs intelligents processeurs intégrés pour
le traitement local des données produites - Capteurs communicants intégration de composants
de communication RF ou autre - réseaux de capteurs sans fil (wireless sensor
networks)
80Réseaux de capteurs sans fil
- Collaboration dun grand nombre de nuds dans un
réseau dense - chaque nud a des capacités de traitement local
et des capacités de communication - Exemples de domaines dapplication
- militaire gestion des forces armées,
surveillance de champs de bataille,
reconnaissance de terrain, ciblage, évaluation
des dommages, détection et reconnaissance
dattaques chimiques, biologiques... - environnement détection de feux de forêts,
cartographie de biodiversité, détection de crues,
impact des pesticides - santé telemonitoring, localisation...
- autres domotique , musées interactifs, vols de
voitures...
81Réseaux de capteurs sans fil (2)
- Caractérisation, différenciation vs réseau ad hoc
- nombre de nuds bien plus grand que dans un
réseau ad hoc classique - déploiement dense
- capteurs peu fiables
- fréquents changements dans la topologie du réseau
- On parle de capteurs agiles (à déplacements
discrets) - communications broadcast (vs. point à point)
- goulot détranglement énergie consommée
(vs.QoS)
82The MediaCup project
- Une tasse de café augmentée de capacités de
capture (température, mouvement), traitement et
communication, et avec un ID - réseau IrDA
- exemple dutilisation
- la smartDoorPlate indique les personnes présentes
- la HotClock indique la température et sonne si le
café est trop chaud - http//mediacup.teco.edu
mediaCup
smartDoorPlate
hotClock
83SmartDust
- Micro-machines avec réseau sans fil et capteur
(température, lumière...) . - Sorganisent automatiquement en réseau lorsque
proches les unes des autres - TinyOS système dexploitation open-source conçu
pour les réseaux de capteurs sans fil - Une société commercialise le produit depuis 2002
- http//robotics.eecs.berkeley.edu/pister/SmartDu
st/
Prototype de 2001
84References bibliographiques matériel et système
- G.J. Pottie. Wireless Sensor Networks ITW 1998,
Killamey, Ireland, june 98. p 139-140 - S. Meyer A. Rakotonirainy. A survey of research
on context-aware homes. Workshop on Wearable,
inisible, context-aware, ambiant, pervasive and
ubiquitous computing. Feb 2003, Adelaide,
Australia. 10 p. - D. Estrin, L. Girod, G. Pottie, M. Srivastava.
Instrumenting the world with wireless sensor
networks. Int. Conf. Acoustics, speech and signal
processing. May 2001. - Autonomous Networks Research Group. A Wireless
Sensor Networks Bibliography http//ceng.usc.edu/
anrg/SensorNetBib.html - T. Starner Power and heat in ubiquitous
computing , Summer school on ubiquitous and
pervasive computing, 2002 - I.F. Akyildiz et al. Wireless sensor networks a
survey. Computer networks 38 (2002) 393-422 - http//nanotechn-now.com/smartdust.htm
85Niveau réseau (survol)
- Organisation des nuds du réseau
- Réseaux ad hoc mobiles
- Routage
- Routage proactif
- Routage réactif
- Multicast dans des réseaux mobiles
86Réseaux ad hoc mobiles
- Pour former rapidement et simplement des liaisons
entre appareils mobiles sans lintermédiaire de
structures fixes - Gestion du réseau répartie
- Réseaux dynamiques (un nud peut le rejoindre ou
le quitter à tout moment) sans erreurs ou
dysfonctionnements - Nud entrant broadcast sur son rayon daction
- Communication avec un autre nud
- Si dans le rayon daction, comm directe
(single-hop) - Sinon, routage (multi-hop)
87Exemples illustratifs
88Routage
- Routage proactif
- Apprend continuellement la cartographie du réseau
en échangeant des informations sur la topologie - Gourmand en bande passante
- Routage réactif
- Route calculée sur besoin par inondation de
requêtes de chemins choix de la route optimale
parmi les réponses obtenues - Cache contenant les routes les plus récentes
- Pb si réseau chargé
- Routage hybride
- proactif en local et réactif à distance
89Cas du multicast
- Pour atteindre plusieurs cibles en même temps
- Exemple téléconférence à plus de 2
- Pb pas de routeurs les nuds sont routeurs
90TMTP (tree-based multicast transport protocol)
- Découpage topologique du réseau en domaines
- Un nud par domaine se déclare gestionnaire de
domaine (il crée le domaine et le détruit
lorsquil quitte le réseau) - Les nuds les plus proches intègrent son domaine
(par broadcast) - Léchange de données inter-domaines se fait via
les gestionnaires de domaine - Dissémination dun message dans un arbre dont
la racine est lémetteur, les nuds internes sont
des gestionnaires de domaine, les feuilles sont
des membres des domaines.
91Exemple DoDWAN (plate-forme de communication pour
réseaux ad hoc dynamiques)
Diapos 11 à 20
92Niveau système dinformation
- De très nombreuses recherches en cours
- Sur des domaines très divers
- Synthèse difficile
- survol de certains points
- approfondissement dautres
- Plan de cette partie
- découverte de services
- gestion de données
- context-awareness
- adaptation des données, des interfaces
utilisateurs et des services
93Découverte de services
- Un échange de données sous-entend de connaître la
localisation des services fournissant les données - Les questions
- Comment faire connaître les services que lon
propose? - Comment trouver un service dont on a besoin?
- Doit-on répartir ou centraliser la connaissances
sur les services? - Approches
- Annuaires de services
- Inondation
- Routage sémantique
94Découverte par annuaires de services
- Ensemble organisé de descriptions de services
disponibles - Certaines machines du réseau fournissent un
service dannuaire - Exemples
- SLP
- Jini
- Salutation
- Bluetooth SDP
95Annuaire de services SLP (Service Location
Protocol)
- Service Agent
- Représentant dun service
- Directory Agent
- Enregistre les SA dans un annuaire LDAP
- Publicité multicast pour se faire connaître des
UA et des SA - Intermédiaire entre SA et UA pour la découverte
- User Agent
- Représentant du client pour la découverte dun
service - Émet une requête multicast avec URI du service
recherché
96Annuaire de services Jini
- Jini
- Promu par Sun, technologie Java
- Arrivée dun nud fournisseur de services
- Le nud broadcast son identité et son groupe
- Lannuaire Jini lui répond avec une interface RMI
- Le nud envoie sur cette interface la déclaration
de ses services - Lannuaire enregistre les services du nud avec
une durée de vie, ainsi quun proxy daccès pour
chaque service - Le nud doit renouveler la déclaration de ses
services avant la fin de durée de vie
97Annuaire de services Jini
- Accéder à un service
- Le nud demandeur envoie une demande en multicast
- Les annuaires recevant la demande répondent le
cas échéant en fournissant la localisation et le
proxy daccès - Le nud demandeur accède au service par
lintermédiaire du proxy - Les informations sur le service peuvent être
mises en cache dans le nud demandeur pour un
accès ultérieur - Technique de recherche par lookup
- Les nuds possédant linformation sont connus
98Annuaire de services Salutation
- Annuaire plus réparti que Jini
- Chaque nud contient un agent annuaire qui
enregistre un sous-ensemble des services
disponibles - Ajout dun service
- inscription dans lagent annuaire local
- Et inscription dans les agents annuaires des
nuds voisins - Recherche dun service
- Recherche dabord auprès de lagent local
- Puis recherche par broadcast le cas échéant
- Technique de recherche par découverte
- Les nuds possédant linformation ne sont pas
connus
99Bluetooth service discovery protocol
- Permet à un système Bluetooth de découvrir les
services de son environnement - fournisseur de service sdp server
- chaque service est décrit par un service record
(liste de description des attributs du service) - les services sont regroupés en classes, une
classe a un attribut identifiant universel (UUID) - 2 modes
- recherche dun service par UUID
- navigation dans lensemble des services dun
serveur via la liste des UUID offerts
100Découverte par inondation
- Chaque noeud enregistre sa liste de services
disponibles - Exemple uPnP (consortium industriel)
- ajout de noeuds avec zero configuration,
communication, découverte automatique de services - Arrivée dun nouveau nud
- Il demande une adresse IP (DHCP par exemple)
- Il envoie par multicast un message XML
fournissant la déclaration de son arrivée
(ANNOUNCE) et la description des services quil
fournit (OPTIONS). - Les réceptionnaires répondent au nouveau nud
pour quil ait connaissance de leur existence - http//www.upnp.org
101Découverte par routage sémantique
- Choisir intelligemment les nuds qui
permettent d atteindre le service requis. - Encore du domaine de la recherche
- Deux exemples
- Allia
- Clusters multi-couche
102Allia Alliance-based service discovery
- Chaque peer
- fournit un annuaire des services locaux
- annonce les services quil fournit à ses voisins
(multicast) - sélectionne parmi les annonces reçues celles
quil gère dans son cache (avec une politique
personnelle) - les peers dont des services sont mis en cache
font partie de lalliance du peer gérant le cache - un peer retire de son alliance tout peer qui
disparaît - Recherche dun service
- dans son annuaire local, puis dans son cache
- puis demande à ses voisins (le voisin cherche en
local ou transmet la demande si sa politique
personnelle ly autorise)
103Clusters multi-couche
- Regroupement des peers en fonction de la
proximité - géographique en liaison directe (single hop)
- sémantique fournissent des services similaires
- fondée sur une ontologie arborescente de termes
104Clusters multi-couche
- deux peers sont dans le même cluster feuille
(niveau 1) sils appartiennent au même terme et
sils sont en liaison directe - cluster niveau 2 même terme de niveau 2 et
géographiquement atteignables - atteignables 2 nuds des 2 clusters sont en
relation directe - 3 hop max entre 2 nuds du même cluster de niveau
2
105Objets mobiles
- Les objets se déplacent durant le fonctionnement
- e.g. équilibrage de charge serveur ou réseau
- Comment les atteindre? 3 façons
- serveur de localisation
- poste restante
- répéteurs
106Serveur de localisation dobjets mobiles
- Un serveur stocke les couples objet/localisation
- Chaque objet informe lui-même le serveur de sa
migration - Un client ayant besoin dun accès à un objet
mobile - demande la localisation au serveur
- accède ensuite directement à lobjet
107Poste restante pour objets mobiles
- Un intermédiaire fixe sert de poste restante
- Lobjet mobile interroge régulièrement
lintermédiaire pour prendre les messages - Un client qui veut accéder à lobjet envoie un
message à lintermédiaire fixe - communication asynchrone
108Répéteurs pour objets mobiles
- Un objet quittant un site laisse derrière lui un
répéteur connaissant la localisation suivante - Le répéteur fait suivre les messages jusquà la
position suivante - Un client envoie sa demande à la dernière
localisation connue, le répéteur transmet le cas
échéant. - Plusieurs migrations une chaîne de répéteurs
109Références bibliographiques Découverte
- O. Ratsimor, et al. Allia Alliance-based
Service Discovery for Ad-Hoc Environments, ACM
Mobile Commerce Workshop, Sept 2002 - M. Klein, B. König-Ries Multi-Layer Clusters in
Ad-hoc Networks - An Approach to Service
Discovery. In Proc. International Workshop on
Peer-to-Peer Computing, Pisa, Italy, 2002. - R. Yavatkar, J. Griffioen reliable
dissemination for large-scale wide area
information systems. Department of computer
science University of Kentucky, 2001 - E. Beau et al. Synthèse bibliographique gestion
de données en milieu pervasif, Dept Informatique
INSA Lyon, octobre 2003 - Upnp, Jini and Salutation - a look at some
popular coordination frameworks for future
networked devices California Software Labs, 2002 - B. Siverajan et al. a service discovery model
for wireless and mobile terminals in IPv6
Tempere University of technology (Finland), 2003 - C. Lee, S. Helal, Protocols for Service
Discovery in Dynamic and Mobile Networks
International Journal of Computer Research, v.11,
n.1, 2002
110Gestion de données en environnement pervasif
- Franklin 2001 Challenges pervasifs et besoins
induits - Adaptabilité et interaction utilisateur
- Interaction temps-réel avec les données distantes
- Flexibilité
- Mobilité
- Délivrer et recevoir des données pendant le
déplacement - Tolérer les déconnexions sans interrompre le
service - Préparation des données qui seront utiles
prédiction des besoins - Location-awareness
- Sélectionner les données en fonction de la
localisation - Structures de données spécifiques à la
localisation
111Gestion de données en environnement pervasif
- Context-awareness
- Analyser des flux de données provenant de
capteurs temps réel - Passer dune information brute denvironnement à
une donnée de contexte qui a du sens pour
lapplication interpréter les analyses - Collaboration
- Gestion de groupes de personnes dynamiques / ad
hoc - Gestion de synchronisation et cohérence
- Actions collaboratives de création, accès,
modification de données partagées par le groupe
112Gestion de données en environnement pervasif
- Exemples de projets
- Projet Data Recharging Franklin 2001
- Data charge (plug on the net) ? battery charge
- Plus on est connecté, plus on reçoit de données
- Exploiter le profil de lutilisateur pour
délivrer automatiquement des mises à jour de
données et nouvelles données pertinentes - Profil utilisateur description des données
pertinentes priorités - Projet Telegraph Shah 2001
- Architecture adaptative de traitement de flux de
données dans des environnements très dynamiques - Le plan de traitement du flux est dynamique
(adaptation aux fluctuations telles que énergie
et bande passante)
113Gestion de données en environnement pervasif
- Exemples détaillés ci-après
- JavAne
- Gestion de réplicas
- MoGATU
114JavAne
- Agents mobiles pour le partage et la recherche de
documents en environnement peer-to-peer - Rôle serveur
- Publier, gérer et partager des documents
- Rôle client
- Rechercher et récupérer des documents
- Stocker des informations sur les serveurs quil
connaît - Naviguer de site en site
- Des agents mobiles qui interrogent la base de
chaque site - Basé sur JavAct plate-forme de gestion dagents
mobiles adaptables
115JavAne code simplifié dun agent chercheur
- public class SearchBehavior extends
JavAneBehavior implements Searcher,
javact.util.StandAlone - public SearchBehavior(client, clientInfo, energy,
queryStamp, Params) - ...
- public void run()
- if (energy
- // Has the current place been already visited ?
- if (! markedPlace(myPlace(), queryStamp,
client)) energy - E_VISITED - else // Database interrogation and sending of
results to the client - localResults LocalDB.fileSelect(Params)
- if (localResults ! null
localResults.length 0) - send(new JAMprocessResults(place,
localResults), client) - energy - E_FOUND
- else energy - E_NOT_FOUND
- ../
116JavAne code simplifié dun agent chercheur
- if (energy 0) // Random moving (if it remains
energy) - String places getPlaces(myPlace())
- String nextPlace placesrandom.nextInt(place
s.length) - go(nextPlace)
- else suicide()
- // Collection of meta-information
- String placesInfos getPlacesInfos(myPlace())
- send(new JAMaddPlacesInfos(placesInfos),
clientInfo) -
-
117Gestion de caches sur le web
- Proxy-caches collaboratifs
- une donnée est dupliquée sur le proxy qui la
demande - gourmand et non optimisé
- Content Delivery Network
- gestion de données avec distribution à très
grande échelle - architecture fixe tentaculaire très coûteuse
- Push-caching
- les serveurs poussent les réplicas vers les
proxy de leur choix en fonction dune politique
qui leur est propre - le client sadresse au fournisseur qui redirige
vers le cache le plus adéquat
118(Dé)placement de réplicas en environnement
pervasif
- basé sur la théorie des small worlds (groupes
dintérêt) - un réplica doit se rapprocher des small worlds
qui s intéressent à lui - A chaque demande dune donnée, les réplicas se
déplacent vers le foyer de demande
R
R
SW1
SW2
119(Dé)placement de réplicas en environnement
pervasif
- Apparition dun nouveau groupe dintérêt
- si autorisé, duplication du réplica et
déplacement du nouveau réplica vers le nouveau
groupe - sinon, déplacement des réplicas existants jusquà
équilibre entre les 2 groupes dintérêt - Disparition du groupe dintérêt
- déplacement ou suppression du réplica
R
R
R
R
SW1
SW2
SW1
SW2
SW3
SW3
Duplication interdite
Duplication autorisée
R
120(Dé)placement de réplicas en environnement
pervasif
- Le (dé)placement ne se fait quavec une
connaissance partielle du réseau - chaque peer ne connaît que les nuds les plus
proches! - Notion de vecteur dattraction dun réplica sur
chaque lien sortant du cache sur lequel il est
hébergé - augmenté à chaque demande provenant de ce lien
- Diminué avec le temps
- Déplacement effectif ou duplication
- lorsque le vecteur dattraction dépasse la
distance entre le proxy hébergeant le réplica et
le nud contenant le proxy destination - Destruction du réplica quand le vecteur
dattraction reste nul pendant une durée seuil
121MoGATU
- Plate-forme de gestion de données en P2P pur
- une couche de gestion des données
- une couche de communication
- Sur chaque peer, 3 types dentités
- Information provider source de données
- Information consumer entités qui interrogent et
mettent à jour les données - Information manager informations sur les peers
voisins, intermédiaire entre provider et
consumer, gestion de cache en fonction dun profil
122MoGATU information provider
- Gère et fournit une interface daccès à une
sous-partie locale des données - Décrit son service à laide dune ontologie
- Communique uniquement avec linformation manager
local, qui route les messages entre ce
provider et les autres peers - Se déclare régulièrement auprès de linformation
manager local, qui lui-même transmet la
déclaration aux peers de lentourage
123MoGATU information consumer
- Utilisateurs finaux ou autres agents
- Senregistrent auprès de linformation manager
local (pas dannonce aux peers de lentourage) - Envoie ses requêtes à linformation manager local
- Linformation manager transmet la demande aux
information providers locaux ou distants
correspondants, et récupère les réponses
124MoGATU information manager
- Communication réseau
- Analyse des messages
- Découverte et routage des messages en multi-hop
- Requêtes proactives sur les autres peers
- Broadcast
- des annonces des providers (locaux et/ou voisins)
- des requêtes des consumers locaux
- Maintenance dinformations
- Informations sur providers et consumers locaux
-