Systmes dinformation pervasifs - PowerPoint PPT Presentation

1 / 257
About This Presentation
Title:

Systmes dinformation pervasifs

Description:

Auto-apprentissage. Par exemple, ... Naming Service, Trader Service, etc. http://www2.lifl.fr/~merle/corba/cours/ II-2 Middleware ... – PowerPoint PPT presentation

Number of Views:1308
Avg rating:3.0/5.0
Slides: 258
Provided by: liris3
Category:

less

Transcript and Presenter's Notes

Title: Systmes dinformation pervasifs


1
Systèmes dinformation pervasifs
  • Unité denseignement de base
  • Frédérique Laforest

2
Qui 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

3
Plan
  • 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

4
Introduction
5
Système dinformation
  • Objectif
  • Production, collection, traitement,
    enregistrement et diffusion de linformation
  • Composantes
  • Utilisateurs et administrateurs
  • Logiciels
  • Machines et matériels
  • Réseaux

6
Exemple 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

7
Une 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)
9
Les ordinateurs dhier remplissaient les pièces
10
Ceux de demain aussi!!
11
Motivation
  • Aujourdhui, lInternet connecte tous les
    ordinateurs
  • Demain, tout objet sera  intelligent  (smart)
  • Processeurs embarqués
  • Et ils seront tous interconnectés
  • Communication sans fil

12
Linformatique 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

13
Les 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

14
Ces objets sont-ils vraiment smart??
15
Systè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 

16
Systè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 

17
Dé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

18
Vue  système  dun système pervasif
  • Adapté de Saha Mukherjee, 2003

Système pervasif
Système mobile
19
Devoirs 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é

20
Devoir des SI pervasifs
  • Ceux des SI distribués
  • ET
  • Scalabilité
  • Invisibilité
  • Context-awareness
  • Intelligence ( smartness )
  • Pro-action  all the time everywhere 

21
Scalabilité
  • 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

22
Invisibilité
  • 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!

23
Context-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

25
Pro-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é

26
References 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

27
Architecture 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

28
Les 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

29
Les 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

30
Les 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

31
Client-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

32
Client-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 ?

33
Client-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 

34
Client-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

35
Le 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

36
Client-serveur la distribution à "l'ancienne"
37
Client-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

38
Du 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

39
Middleware 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

40
Middleware architecture générale
41
Architectures middleware à objets distribués
42
Architectures 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

43
DCOM (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

44
CORBA (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

46
Serveur middleware de composants de base
47
Serveur middleware de composants intégré
48
Services 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

49
J2EE (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

50
OSGi (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

51
Conclusion 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

52
Systè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
53
Systè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

54
Systè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)

55
Systè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

56
Systè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

57
Grilles 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)

58
Grilles 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

59
Grilles 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

60
Seti_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.

61
Globus 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/

62
Peer-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

63
Architecture 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

64
Challenges 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

65
P2P 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
66
Flooding 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

67
Document 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

68
Taxonomie dapplications P2P
69
BOINC 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/

70
Gnutella
  • 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/

71
Jabber
  • 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

72
JXTA (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

73
Synthè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 
74
Ré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

75
Trois 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

76
Niveau 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
78
Recherches 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

79
Capteurs
  • 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)

80
Ré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...

81
Ré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)

82
The 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
83
SmartDust
  • 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
84
References 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

85
Niveau 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

86
Ré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)

87
Exemples illustratifs
88
Routage
  • 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

89
Cas 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

90
TMTP (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.

91
Exemple DoDWAN (plate-forme de communication pour
réseaux ad hoc dynamiques)
Diapos 11 à 20
92
Niveau 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

93
Dé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

94
Dé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

95
Annuaire 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é

96
Annuaire 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

97
Annuaire 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

98
Annuaire 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

99
Bluetooth 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

100
Dé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

101
Dé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

102
Allia 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)

103
Clusters 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

104
Clusters 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

105
Objets 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

106
Serveur 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

107
Poste 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

108
Ré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

109
Ré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

110
Gestion 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

111
Gestion 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

112
Gestion 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)

113
Gestion de données en environnement pervasif
  • Exemples détaillés ci-après
  • JavAne
  • Gestion de réplicas
  • MoGATU

114
JavAne
  • 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

115
JavAne 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
  • ../

116
JavAne 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)

117
Gestion 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

121
MoGATU
  • 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

122
MoGATU 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

123
MoGATU 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

124
MoGATU 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
Write a Comment
User Comments (0)
About PowerShow.com