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
-