View
105
Download
0
Category
Preview:
Citation preview
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs1
Systèmes d’information pervasifs
Unité d’enseignement de base
Frédérique Laforest
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs2
Qui suis-je?
• Frédérique Laforest – frederique.laforest@insa-lyon.fr
– http://liris.cnrs.fr/frederique.laforest
• Maître de conférences INSA de Lyon
• Recherche au LIRIS– axe systèmes d’informations communicants,
• équipe Systèmes d’information 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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs3
Plan
• Introduction
• Architectures des systèmes d’information distribués et pervasifs
• Trois niveaux de recherche en systèmes pervasifs– matériel et système
– réseau
– système d’information• 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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs4
Introduction
I-Introduction
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs5
I-Introduction
Système d’information
• Objectif– Production, collection, traitement, enregistrement et
diffusion de l’information
• Composantes – Utilisateurs et administrateurs
– Logiciels
– Machines et matériels
– Réseaux
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs6
I-Introduction
Exemple de système d’information
• 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 à l’hôpital (radiologie, chimiothérapie…), terminal patient, terminaux des acteurs de santé mobiles ou fixes
– Réseaux• Liaison réseau privé de l’hôpital, association de suivi, domicile…
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs7
I-Introduction
Une nouvelle vision de l’informatique
• Environnement informatique– Avant : environnement virtuel dans lequel nous entrons
pour effectuer une tâche et dont nous sortons à la fin de la tâche
– Aujourd’hui : espace physique amélioré de gestion de l’information
• Application– Avant : logiciel pour exploiter un matériel
– Aujourd’hui : moyen pour l’utilisateur d’effectuer une tâche
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs8
© F. Mattern
I-Introduction
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs9
Les ordinateurs d’hier remplissaient les pièces
© F. Mattern
I-Introduction
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs10
Ceux de demain aussi!!
© F. Mattern
I-Introduction
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs11
I-Introduction
Motivation
• Aujourd’hui, l’Internet connecte tous les ordinateurs
• Demain, tout objet sera « intelligent » (smart)– Processeurs embarqués
• Et ils seront tous interconnectés– Communication sans fil
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs12
• Tout objet du monde réel sera enrichi de capacités de traitement de l’information
• Processeurs embarqués– Dans chaque objet quotidien
– Petit, bon marché, léger
• Communications sans fil– Réseaux spontanés
• Capteurs
I-Introduction
L’informatique embarquée pour la coopération
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs13
I-Introduction
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs14
Ces objets sont-ils vraiment smart??
© F. Mattern
I-Introduction
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs15
I-Introduction
Systèmes d’information 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 »
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs16
I-Introduction
Systèmes d’information 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 d’environnements
– Pervasive computing environment = « one saturated with computing and communication capability, yet so gracefully integrated with users that it becomes ‘a technology that disappears’ »
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs17
I-Introduction
Définitions
• Ubiquitaire– Accessible de n’importe où
• Mobile– Qui intègre les terminaux mobiles
• Context-aware– Qui prend en compte le contexte d’exécution
• Pervasif– Qui associe ubiquité, mobilité et context-awareness
• Ambiant– Qui est intégré dans les objets quotidiens
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs18
Systèmedistribué
Gestion dela mobilité
Gestion del’ubiquitéSystème mobile
Système pervasif
Gestion ducontexte
I-Introduction
Vue « système » d’un système pervasif
• Adapté de [Saha & Mukherjee, 2003]
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs19
© S. Frénot
I-Introduction
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é
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs20
I-Introduction
Devoir des SI pervasifs
• Ceux des SI distribués
• ET
• Scalabilité• Invisibilité• Context-awareness• Intelligence (« smartness »)• Pro-action « all the time everywhere »
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs21
I-Introduction
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 cœur est indépendant du volume, des utilisateurs et des appareils
• Utiliser des techniques d’adaptation pour pouvoir répondre à chaque cas
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs22
I-Introduction
Invisibilité
• Nécessiter un minimum d’intervention humaine• S’adapter seul aux changements• Auto-apprentissage
• Par exemple, – reconfiguration dynamique des caractéristiques réseau
d’un appareil
– Accès aux ressources d’un « espace » en fonction de l’appartenance à la zone géographique de cet espace. Sortie de l’espace = définition des limites de l’espace!
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs23
I-Introduction
Context-awareness
• Perception de l’environnement pour interagir plus « naturellement » avec l’utilisateur
• Capteurs de l’environnement physique• Matériels auto-descriptifs• Description des personnes• Méta-données sur les applications
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs24
I-Introduction
« Smartness »
• Smart = intelligent, à l’esprit vif, malin, débrouillard
• Percevoir le contexte d’exécution ne suffit pas• Il faut utiliser efficacement les informations du
contexte– Exemple : maison intelligente
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs25
I-Introduction
Pro-action
• Suggérer, proposer des actions correctives à l’utilisateur 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 l’invisibilité!• 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 l’invisibilité
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs26
References bibliographiques Introduction
• M. Weiser « The computer for the twenty-first century », Scientific American, sept 1991:94-104
• M. Satyanarayanan « Pervasive computing : Visions and challenges », IEEE Personal Communications, aug. 2001:10-17
• D. Saha & A. Mukherjee « Pervasive computing : a paradigm for the 21st century », IEEE Computer journal, march 2003:25-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
I-Introduction
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs27
Architecture des systèmes d’information distribués et pervasifs
1- ancêtres
2- middleware
3- systèmes mobiles
4- grilles de calcul
5- peer-to-peerNos remerciements à Stéphane Frénotpour ses précieux transparents!
II-Architecture
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs28
II-1 Ancêtres
Les ancêtres : le PC
• A démocratisé l’informatique• A permis une croissance gigantesque en matière de
composants matériels• A permis le développement des interfaces utilisateurs
graphiques
• N’a pas fourni le potentiel attendu en matière de traitement de l’information
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs29
II-1 Ancêtres
Les ancêtres : le Web
• Pionnier d’infrastructure de communication et d’information ubiquitaire
• A l’origine, n’a pas été pensé comme une infrastructure pour systèmes distribués
• A créé une culture qui a permis d’imaginer les systèmes pervasifs
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs30
© S. Frénot
II-1 Ancêtres
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs31
II-1 Ancêtres
IHM
T DIHM
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs32
IHM
T D
© S. Frénot
II-1 Ancêtres
Client-serveur de traitement
– Le poste de travail héberge l’ensemble de la gestion d’interface 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 ?
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs33
IHM
T DT
© S. Frénot
II-1 Ancêtres
Client-serveur 3 niveaux (3-tier)
– Le poste de travail héberge la gestion de l’interface homme-machine et une partie des traitements,
– Le serveur d’applications gère l’autre partie des traitements
– Le serveur de données gère les accès aux données
• Architecture dénommée « traitements coopératifs »
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs34
IHM-D
T DIHM-
P
© S. Frénot
II-1 Ancêtres
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 l’interface homme-machine
– Le serveur d’applications gère les traitements
– Le serveur de données gère les accès aux données
• Architecture de collaboration
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs35
© S. Frénot
II-1 Ancêtres
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs36
BDde copie
Client Proxy
App
App Service A
Service B
BDPrincipale
© S. Frénot
II-1 Ancêtres
Exemple : application Web
Mozilla + Squid + Apache + PHP/Perl/Python + MySQL (Architecture « LAMP »)
Client-serveur : la distribution à "l'ancienne"
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs37
© S. Frénot
II-1 Ancêtres
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs38
© S. Frénot
II-2 Middleware
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs39
II-2 Middleware
Middleware : architectures
• Environnements et plates-formes d’exécution pour développer des services métiers
• Architecture middleware à objets distribués– Services d’infrastructure
• Serveur middleware de composants de base– Services standardisés d’infrastructure
• Serveur middleware de composants intégrés– Infrastructure de gestion des composants
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs40
Middleware : architecture générale
Application 1
Application 2Middleware :
Code non applicatif
Services métier :Code applicatif
Composants, services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs41
Architectures middleware à objets distribués
Application 1
Application 2
MiddleWare
Services Métiers
Services d'infrastructure
Exemples : DCOM, CORBA© S. Frénot
II-2 Middleware
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs42
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 d’infrastructure
• Transparence de la localisation, de l’hétérogénéité (langages, OS, machine), de la couche transport réseau
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs43
II-2 Middleware
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs44
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/
II-2 Middleware
IIOP
Impléms : Orbix, Visibroker, JBroker, Voyager ORB, etc.
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs45
.NET (Microsoft)
– Plateforme de développement, de déploiement, d’exé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
II-2 Middleware
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs46
Serveur middleware de composants de base
Application 1
Application 2
Services Métiers
Services standards d'infrastructure
jdbc
jts
version
cycle vie
Exemple : OrbixWeb© S. Frénot
II-2 Middleware
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs47
Serveur middleware de composants intégré
Application 1
Application 2
container
jdbc jts version cycle vie
Composants Métiers
infrastructure
Logique métier
Services d'infrastructure de base
Gestion automatisée
Exemples : Tomcat (J2EE), Felix (OSGi)© S. Frénot
II-2 Middleware
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs48
© S. Frénot
II-2 Middleware
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs49
II-2 Middleware
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 d’applications : JBoss, JRun, JOnAS, Weblogic, Websphere, Java System Application Server, etc. http://java.sun.com/j2ee/compatibility.html
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs50
II-2 Middleware
OSGi (OSGi Alliance)
• Open Services Gateway Initiative (anciennement)– Plateforme de développement, de déploiement,
d’exécution
– API Java : bundle• Environnement d’exécution (JVM), Modules, Gestion du cycle de
vie, Service d’annuaire
• Différents niveaux d’exé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…
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs51
• 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é
II-2 Middleware
• Suivi continuel du middleware en plus de l’appli
Conclusion Middleware
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs52
II-3 Mobiles
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 d’accè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
Adobe Acrobat 7.0 Document
Diapos 1 à 10
http://adapt.asr.cnrs.fr/reunions/20061003/slides/guidec.pdf
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs53
II-3 Mobiles
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é d’une connexion réseau
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs54
II-3 Mobiles
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 d’applications adaptatives (proxies, gestion adaptative des ressources système)
– Calcul et gestion de la localisation– Systèmes d’information
• Wap et imode (C/S et téléchargement)
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs55
II-3 Mobiles
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs56
II-3 Mobiles
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs57
II-4 Grilles
Grilles de calcul
• Système distribué qui permet le partage, la sélection et l’agré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 France=5000 CPU hétérogènes sur 9 sites)
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs58
II-4 Grilles
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs59
II-4 Grilles
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 nœuds à part entière de la grille.
pour en savoir plus : cours de recherche Grilles de données
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs60
II-4 Grilles
Seti@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 d’autres applications : Genome@Home, distributed.net (cryptage), etc.
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs61
II-4 Grilles
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 d’autres middlewares : JXTA, Legion, etc.
http://www.gridcomputing.com/
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs62
II-4 P2P
Peer-to-peer
• Peer = « partenaire »– “…an entity with capabilities similar to other entities in the system.”
• Les applications sont réparties sur l’ensemble 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)
• D’autres sont consommateurs (clients)
– Peer-to-peer • Chaque élément est à la fois client et serveur
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs63
Architecture peer-to-peer
• Les ressources d’un peer sont similaires à celles des autres participants
• Les peers communiquent directement les uns avec les autres et partagent des ressources
II-4 P2P
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs64
II-4 P2P
Challenges Peer to Peer
• Découverte de peers et gestion de groupes• Localisation et positionnement des ressources• Temps de recherche d’une ressource• Etat de chaque noeud• Utilisation de la bande passante• Sécurité, fiabilité• Tolérance aux fautes
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs65
Bob Alice
JaneJudy
II-4 P2P
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs66
Bob
Alice
Jane
Judy
Carl
II-4 P2P
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs67
001 012
212
305
332
212 ?
212 ?
II-4 P2P
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs68
Systèmes P2P
Calcul distribuéBOINC
Partage de fichiersGnutella
CollaborationJabber
Plates-formesJXTA
II-4 P2P
Taxonomie d’applications P2P
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs69
II-4 P2P
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@home, climateprediction.net…
– chaque projet a un ou n serveurs
– chaque volontaire installe un client, et s’abonne à 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/
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs70
II-4 P2P
Gnutella
• Partage de fichiers en P2P– Installation d’un 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 d’une ressource par son nom– en local
– demandée à un noeud connu
– s’il ne la connaît pas, le nœud la propage à 4 « alliés »
– etc… jusqu’à 7 hops max.
– le nœud qui a la ressource la retourne à l’appelant et fait désormais partie des nœuds connus par l’appelant
– http://www.gnutella.com/
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs71
II-4 P2P
Jabber
• Face émergée de l’iceberg– 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
d’information 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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs72
II-4 P2P
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
– s’organisent en groupes
– communiquent entre eux de façon sécurisée
– annoncent et découvrent des services
– se supervisent– http://www.jxta.org
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs73
II-Architecture
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 user’s behalf and keeps users immersed in the pervasive computing space »
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs74
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 2003:25-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
II Architecture
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs75
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 d’information
4- synthèse : relations entre les niveaux
III-Niveaux
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs76
III-1 Matériel et système
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 d’exploitation
– Les logiciels (voir niveau système d’information)
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs77
Évolution des capacités matérielles
© T. Starner, 2002
III-1 Matériel et système
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs78
(Kymissis98 ISWC “Parasitic Power Harvesting in Shoes”)
III-1 Matériel et système
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs79
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)
III-1 Matériel et système
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs80
III-1 Matériel et système
Réseaux de capteurs sans fil
• Collaboration d’un grand nombre de nœuds dans un réseau dense– chaque nœud a des capacités de traitement local et des
capacités de communication
• Exemples de domaines d’application– militaire : gestion des forces armées, surveillance de champs de
bataille, reconnaissance de terrain, ciblage, évaluation des dommages, détection et reconnaissance d’attaques 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...
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs81
Réseaux de capteurs sans fil (2)
• Caractérisation, différenciation vs réseau ad hoc– nombre de nœuds 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)
III-1 Matériel et système
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs82
III-1 Matériel et système
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 d’utilisation :
– 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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs83
III-1 Matériel et système
SmartDust
• Micro-machines avec réseau sans fil et capteur (température, lumière...) .
• S’organisent automatiquement en réseau lorsque proches les unes des autres
• TinyOS : système d’exploitation 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/SmartDust/
Prototype de 2001
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs84
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
III-1 Matériel et système
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs85
III-2 Réseau
Niveau réseau (survol)
• Organisation des nœuds du réseau– Réseaux ad hoc mobiles
• Routage– Routage proactif
– Routage réactif
• Multicast dans des réseaux mobiles
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs86
III-2 Réseau
Réseaux ad hoc mobiles
• Pour former rapidement et simplement des liaisons entre appareils mobiles sans l’intermédiaire de structures fixes– Gestion du réseau répartie
– Réseaux dynamiques (un nœud peut le rejoindre ou le quitter à tout moment) sans erreurs ou dysfonctionnements
• Nœud entrant = broadcast sur son rayon d’action• Communication avec un autre nœud
– Si dans le rayon d’action, comm directe (single-hop)
– Sinon, routage (multi-hop)
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs87
Broadcast àl’entrée dans
le réseau
Communication multi-hop
Communication single-hop
III-2 Réseau
Exemples illustratifs
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs88
III-2 Réseau
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs89
III-2 Réseau
Cas du multicast
• Pour atteindre plusieurs cibles en même temps– Exemple : téléconférence à plus de 2
• Pb : pas de routeurs => les nœuds sont routeurs
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs90
III-2 RéseauTMTP (tree-based multicast transport protocol)
– Découpage topologique du réseau en domaines• Un nœud par domaine se déclare gestionnaire de domaine (il crée
le domaine – et le détruit lorsqu’il quitte le réseau)
• Les nœuds 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 d’un message : dans un arbre dont la racine est l’émetteur, les nœuds internes sont des gestionnaires de domaine, les feuilles sont des membres des domaines.
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs91
Exemple DoDWAN (plate-forme de communication pour réseaux ad hoc dynamiques)
Adobe Acrobat 7.0 Document
Diapos 11 à 20
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs92
III-3 SI
Niveau système d’information
• De très nombreuses recherches en cours
• Sur des domaines très divers
• Synthèse difficile
• => survol de certains points
• => approfondissement d’autres
• Plan de cette partie:– découverte de services
– gestion de données
– context-awareness
– adaptation des données, des interfaces utilisateurs et des services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs93
III-3-1 Découverte de services
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 l’on 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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs94
III-3-1 Découverte de services
Découverte par annuaires de services
• Ensemble organisé de descriptions de services disponibles
• Certaines machines du réseau fournissent un service d’annuaire
• Exemples– SLP
– Jini
– Salutation
– Bluetooth SDP
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs95
III-3-1 Découverte de servicesAnnuaire de services SLP (Service
Location Protocol)
• Service Agent– Représentant d’un 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 d’un service
– Émet une requête multicast avec URI du service recherché
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs96
III-3-1 Découverte de services
Annuaire de services Jini
• Jini– Promu par Sun, technologie Java
• Arrivée d’un nœud fournisseur de services– Le nœud broadcast son identité et son groupe
– L’annuaire Jini lui répond avec une interface RMI
– Le nœud envoie sur cette interface la déclaration de ses services
– L’annuaire enregistre les services du nœud avec une durée de vie, ainsi qu’un proxy d’accès pour chaque service
– Le nœud doit renouveler la déclaration de ses services avant la fin de durée de vie
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs97
III-3-1 Découverte de services
Annuaire de services Jini
• Accéder à un service– Le nœud demandeur envoie une demande en multicast
– Les annuaires recevant la demande répondent le cas échéant en fournissant la localisation et le proxy d’accès
– Le nœud demandeur accède au service par l’intermédiaire du proxy
– Les informations sur le service peuvent être mises en cache dans le nœud demandeur pour un accès ultérieur
• Technique de recherche par lookup– Les nœuds possédant l’information sont connus
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs98
III-3-1 Découverte de services
Annuaire de services Salutation
• Annuaire plus réparti que Jini– Chaque nœud contient un agent annuaire qui enregistre un
sous-ensemble des services disponibles
– Ajout d’un service• inscription dans l’agent annuaire local
• Et inscription dans les agents annuaires des nœuds voisins
– Recherche d’un service• Recherche d’abord auprès de l’agent local
• Puis recherche par broadcast le cas échéant
• Technique de recherche par découverte– Les nœuds possédant l’information ne sont pas connus
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs99
III-3-1 Découverte de services
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 d’un service par UUID
– navigation dans l’ensemble des services d’un serveur via la liste des UUID offerts
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs100
III-3-1 Découverte de services
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 d’un nouveau nœud • 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 qu’il fournit (OPTIONS).
• Les réceptionnaires répondent au nouveau nœud pour qu’il ait connaissance de leur existence
– http://www.upnp.org
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs101
III-3-1 Découverte de services
Découverte par routage sémantique
• Choisir « intelligemment » les nœuds qui permettent d ’atteindre le service requis.
• Encore du domaine de la recherche
• Deux exemples– Allia
– Clusters multi-couche
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs102
III-3-1 Découverte de services
Allia : Alliance-based service discovery
• Chaque peer – fournit un annuaire des services locaux– annonce les services qu’il fournit à ses voisins (multicast)– sélectionne parmi les annonces reçues celles qu’il gère
dans son cache (avec une politique personnelle)• les peers dont des services sont mis en cache font partie de
l’alliance du peer gérant le cache• un peer retire de son alliance tout peer qui « disparaît »
• Recherche d’un 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 l’y autorise)
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs103
III-3-1 Découverte de services
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs104
III-3-1 Découverte de services
Clusters niveau 1Clusters niveau 2
Clusters multi-couche
– deux peers sont dans le même cluster feuille (niveau 1) s’ils appartiennent au même terme et s’ils sont en liaison directe
– cluster niveau 2 : même terme de niveau 2 et géographiquement « atteignables »
• atteignables : 2 nœuds des 2 clusters sont en relation directe– 3 hop max entre 2 nœuds du même cluster de niveau 2
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs105
III-3-1 Découverte de services
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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs106
III-3-1 Découverte de services
Serveur de localisation d’objets mobiles
• Un serveur stocke les couples objet/localisation• Chaque objet informe lui-même le serveur de sa
migration
• Un client ayant besoin d’un accès à un objet mobile– demande la localisation au serveur
– accède ensuite directement à l’objet
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs107
Poste restante pour objets mobiles
• Un intermédiaire fixe sert de poste restante• L’objet mobile interroge régulièrement
l’intermédiaire pour prendre les messages
• Un client qui veut accéder à l’objet envoie un message à l’intermédiaire fixe– communication asynchrone
III-3-1 Découverte de services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs108
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
III-3-1 Découverte de services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs109
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
III-3-1 Découverte de services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs110
III-3-2 Gestion de donnéesGestion 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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs111
III-3-2 Gestion de donnéesGestion de données en environnement
pervasif
• Context-awareness– Analyser des flux de données provenant de capteurs temps
réel
– Passer d’une information brute d’environnement à une donnée de contexte qui a du sens pour l’application : 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
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs112
III-3-2 Gestion de donnéesGestion 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 l’utilisateur 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)
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs113
III-3-2 Gestion de donnéesGestion de données en environnement
pervasif
• Exemples détaillés ci-après– JavAne
– Gestion de réplicas
– MoGATU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs114
III-3-2 Gestion de données
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 qu’il connaît
– Naviguer de site en site• Des agents mobiles qui interrogent la base de chaque site
• Basé sur JavAct : plate-forme de gestion d’agents mobiles adaptables
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs115
III-3-2 Gestion de donnéesJavAne – code simplifié d’un agent
chercheurpublic class SearchBehavior extends JavAneBehavior implements Searcher,
javact.util.StandAlone {
public SearchBehavior(client, clientInfo, energy, queryStamp, Params) {
...}
public void run() {
if (energy <= 0) {suicide();return;}
// 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;
} ../…
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs116
III-3-2 Gestion de donnéesJavAne – code simplifié d’un agent
chercheurif (energy > 0) {// Random moving (if it remains energy)
String[] places = getPlaces(myPlace());
String nextPlace = places[random.nextInt(places.length)];
go(nextPlace);
} else suicide();
// Collection of meta-information
String[] placesInfos = getPlacesInfos(myPlace());
send(new JAMaddPlacesInfos(placesInfos), clientInfo);
}
}
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs117
III-3-2 Gestion de données
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 d’une politique qui leur est propre
– le client s’adresse au fournisseur qui redirige vers le cache le plus adéquat
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs118
III-3-2 Gestion de données(Dé)placement de réplicas en
environnement pervasif
• basé sur la théorie des small worlds (groupes d’intérêt)– un réplica doit se rapprocher des small worlds qui
s ’intéressent à lui
• A chaque demande d’une donnée, les réplicas se déplacent vers le foyer de demande
SW1 SW2
RR
SW1 SW2R R
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs119
III-3-2 Gestion de données(Dé)placement de réplicas en
environnement pervasif
• Apparition d’un nouveau groupe d’inté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 d’intérêt
• Disparition du groupe d’intérêt– déplacement ou suppression du réplica
SW1 SW2R
SW3
SW1 SW2R
R
SW3
RDuplication autorisée Duplication interdite
R
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs120
III-3-2 Gestion de données(Dé)placement de réplicas en
environnement pervasif
• Le (dé)placement ne se fait qu’avec une connaissance partielle du réseau– chaque peer ne connaît que les nœuds les plus proches!
– Notion de vecteur d’attraction d’un 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 d’attraction dépasse la distance entre le proxy
hébergeant le réplica et le nœud contenant le proxy destination
– Destruction du réplica quand le vecteur d’attraction reste nul pendant une durée seuil
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs121
III-3-2 Gestion de données
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 d’entité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 d’un profil
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs122
III-3-2 Gestion de données
MoGATU – information provider
• Gère et fournit une interface d’accès à une sous-partie locale des données
• Décrit son service à l’aide d’une ontologie• Communique uniquement avec l’information
manager local, qui « route » les messages entre ce provider et les autres peers
• Se déclare régulièrement auprès de l’information manager local, qui lui-même transmet la déclaration aux peers de l’entourage
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs123
III-3-2 Gestion de données
MoGATU – information consumer
• Utilisateurs finaux ou autres agents• S’enregistrent auprès de l’information manager local
(pas d’annonce aux peers de l’entourage)• Envoie ses requêtes à l’information manager local • L’information manager transmet la demande aux
information providers locaux ou distants correspondants, et récupère les réponses
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs124
III-3-2 Gestion de données
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 d’informations– Informations sur providers et consumers locaux
• Durée de vie, services, restrictions sur les requêtes
– Informations sur peers de l’entourage• Id, services fournis, types d’informations fournies (leurs annonces)
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs125
III-3-2 Gestion de données
MoGATU – information manager
– Profil utilisateur• Préférences et besoins
– Cache • réponses aux requêtes passées fournies par les peers de
l’entourage
• Choix de mettre en cache en fonction du profil utilisateur et des capacités du peer
– 4 niveaux d’information manager selon capacité• 1 : aucun cache
• 2 : cache les annonces distantes
• 3 : cache les annonces et les réponses aux requêtes passées
• 4 : cache annonces et réponses et les rend accessibles aux autres peers
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs126
III-3-2 Gestion de données
Généralisation aux caches en général
• Systèmes distribués de proxy-caches– ensemble de services interposées entre le « client » et le
« fournisseur » d ’un service effectuant un travail à la place du fournisseur ou à la place du client
– adaptation de contenu,
– délestage des serveurs,
– optimisation de la sécurité,
– traductions inter-protocoles,
– stockage de copies de données (réplicas)…
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs127
Références bibliographiques Gestion de données
• M. Franklin « Challenges in ubiquitous data management », Informatics : 10 years back, 10 years ahead. LNCS 2000, R. Wilhelm (ed.), Springer Verlag, 2001
• JPArcangeli & al. Development of flexible peer-to-peer information systems using adaptable mobile agents, DEXA 04 Workshop GLOBe (Grid an dPeer-to-peer computing impacts on large scale heterogeneous distributed database systems)
• DEA de J. Gossa, encadré par JMPierson et LBrunie, LIRIS, 2004
• F. Perish et al. On data management in pervasive computing environments IEEE transactions on knowledge and data engineering, vol 16 n°5 may 2004
• Mehul A. Shah, Samuel Madden, Michael J. Franklin, Joseph M. Hellerstein. Java Support for Data-Intensive Systems: Experiences Building the Telegraph Dataflow System, SIGMOD Record,Vol 30 nb 4 dec 2001:103-114
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs128
III-3-3 Context-awareness
Context-awareness
• M. Weiser– «The most profound technologies are those that disappear»
• Informatique context-aware– Prise en compte de l’environnement dans lequel se trouve l’utilisateur
– Capture et accès automatique
– Délivrer l’information pertinente• Quand?
• Où?
• Comment?
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs129
III-3-3 Context-awareness
Définition du contexte
• [Salber,Dey,Abowd 99]
• « Environmental information or context covers information that is part of an application’s operating environment and that can be sensed by the application. This typically includes the location, identity, activity and state of people, groups and objects. »
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs130
Définition du contexte
• [Winograd 01]
• “Something is context because of the way it is used in interpretation, not due to its inherent properties. The voltage on the power lines is a context if there is some action by the user and/or computer whose interpretation is dependant on it, but otherwise is just part of the environment."
III-3-3 Context-awareness
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs131
III-3-3 Context-awareness
Définition du contexte
• Ce qui est intéressant– Le concepteur de l’application décide quelles informations
contextuelles sont intéressantes• Dépend de l’application
• Le contexte – est souvent constitué d’un ensemble d’informations
implicites auxquelles l’application n’a pas accès
– rend les applications plus « smart »
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs132
Contenu du contexte
• Classiquement, 4 axes– Utilisateur
• Profil et préférences, localisation…
– Terminaux et matériels• Taille de l’écran, résolution, couleurs, mémoire, API…
– Réseau• Bande passante, connectivité, Qos
– Méta-données de l’application• Codage, langue, versions
• De plus en plus souvent un 5ème
– Activité• Tâche en cours
III-3-3 Context-awareness
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs133
Modélisation du contexte
• Très souvent dépendante de l’application, encore peu de travaux « génériques » sur cette modélisation
• 3 approches principales– Couples attribut/valeur
– Extension de CC/PP
– Modélisation par ontologies• Très en vogue – de très nombreux travaux en cours
III-3-3 Context-awareness
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs134
Modélisation du contexte par attribut/valeur
• Contexte = paires (attribut, valeur)– userName=flaforest
– userLocation = courseRoom
• Les paires sont indépendantes
+ Facilité d’implantation
- Cohérence de l’ensemble
- Sémantiquement pauvre
III-3-3 Context-awareness
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs135
Modélisation du contexte avec CC/PP
• Composite Capabilities / Preferences Profile (W3C)– description des terminaux et des préférences utilisateur
– Document RDF pour décrire les attributs
– Modéliser le contexte = faire des extensions
+ standard
- extensions =>
complexité, lecture ardue
III-3-3 Context-awareness
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs136
Exemple de document XML CC/PP
<?xml version="1.0"?>
<!-- Checked by SiRPAC 1.16, 18-Jan-2001 -->
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:ccpp="http://www.w3.org/2000/07/04-ccpp#">
<rdf:Description rdf:about="HWDefault">
<rdf:type rdf:resource="HardwarePlatform" />
<display>320x200</display>
<memory>16Mb</memory>
</rdf:Description>
</rdf:RDF>
III-3-3 Context-awareness
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs137
Modélisation du contexte par ontologies
• Une ontologie est un ensemble structuré de concepts. Les concepts sont organisés dans un graphe dont les relations peuvent être :– des relations sémantiques
– des relations de composition et d'héritage (au sens objet)
• Intérêt des ontologies pour modéliser le contexte– Utilisables dans des environnements d’envergure
– Sémantiquement riches
III-3-3 Context-awareness
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs138
Modélisation du contexte par ontologies
• Exemple CoOL [Strang & al. 03]<instance xmlns=http://demo.heywow.com/schema/coolxmlns:a=http://demo.heywow.com/schema/aspectsxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"><contextInformation><entity system="urn:phonenumber">+49-179-1234567</entity><characterizedBy><aspect name="GaussKruegerCoordinate"><observedState
xsi:type="a:o2GaussKruegerType">367032533074</observedState><units>10m</units></aspect><certaintyOfObserver>90</certaintyOfObserver></characterizedBy></contextInformation></instance>
III-3-3 Context-awareness
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs139
Modélisation du contexte par ontologies
Exemple Gco [Chaari et al. 06]
• Descripteurs de contexte génériques / de base– User context, device context, network context, activity context,
service context, location context and resource context
• Descripteurs de contextes spécifiques à l’application
Basic context
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs140
…Suite Gco• Context element=(Subject, Predicate, Value, Time,
Certainty)– Subject = propriétaire de l’élément de contexte
– Predicate = propriété
– Value = valeur de l’élément
– Time = date du relevé de la valeur
– Certainty = confiance dans la valeur
Exemple : (VideoService, runsOn, PDA-01, 20061013, 0.8)
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs141
…suite Gco
• Exemple de graphe de contexte Gco
• Contexte de base: les éléments reliés à la racine
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs142
Synthèse des modélisations de contextes
+-++Ontologies
-++Extension de
CC/PP
-+-Paires Attribut /
valeur
Gestion des conflits
Facilité d'implantation
Expressivité et richesse
sémantique
III-3-3 Context-awareness
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs143
III-3-3 Context-awareness
Application context-aware
• « Context-aware applications sense context information and modify their behavior accordingly without explicit user intervention »
• 3 types de comportement– Afficher le contexte
– Automatiquement exécuter ou adapter des services
– Enregistrer et « indexer » l’information de contexte pour la retrouver au besoin
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs144
III-3-3 Context-awareness
Afficher le contexte
• Exemples– Tableau des entrées et sorties du personnel
– Cartes de localisation
– Écrans d’état (météo, activité…)
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs145
III-3-3 Context-awareness
Exécuter / adapter des services
• Sélectionner et exécuter le service pertinent parmi un ensemble de services
• Modifier le comportement d’un service ou son exécution
• Exemple : imprimer sur l’imprimante la plus proche, afficher de la documentation…
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs146
III-3-3 Context-awareness
Enregistrer et « indexer » le contexte
• Utiliser le contexte dans le cas de recherches fondées sur le contexte
• Exemples– Forget-me-not
– Assistant de conférence
– Guides touristiques
– Historique (revoir des informations « cochées » lors de la réunion, lors de la visite)
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs147
III-3-3 Context-awarenessConception d’une application context-
aware
• Sans support
– Spécifications
– Acquisition et représentation
– Diffusion
– Réception et stockage
– Action
• Avec support
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs148
III-3-3 Context-awareness
Conception sans support
• Spécifications– Quel contexte utiliser
– Quels comportements
• Acquisition et représentation– Installer les capteurs utiles
– Créer ou apprendre les API des capteurs
– Créer les modules d’acquisition des données de capteurs ou les modules de transmission des modifications de valeurs des capteurs
– Stocker le contexte
– Interpréter / abstraire le contexte
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs149
III-3-3 Context-awareness
Conception sans support
• Diffusion– Mécanisme de transport de l’information des capteurs vers les services
– Capteurs sources d’information nombreux et hétérogènes
– Distribution à des services nombreux et hétérogènes
• Réception et stockage– Requêtes ou notifications?
– Stocker tout le contexte? Durée de vie du contexte?
– Interprétation des données brutes
• Action– Combiner le contexte reçu avec les anciennes valeurs
– Effectuer une action en fonction des résultats de l’analyse
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs150
III-3-3 Context-awareness
Exemple de conception sans support
• Visite guidée mobile• Application
– Afficher la liste des démos non vues
– Surligner les démos pertinentes
– Afficher une carte centrée sur la localisation de l’utilisateur
– Afficher de l’information sur la démo la plus proche
– Application mono-utilisateur
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs151
III-3-3 Context-awareness
Visite guidée mobile
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs152
III-3-3 Context-awareness
Visite guidée mobile
• Spécifications– Contexte
• Liste des démos faites
• Localisation de l’utilisateur
• Orientation de l’utilisateur
– Comportement de l’application• Cf. transparent précédent
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs153
III-3-3 Context-awareness
Visite guidée mobile
• Acquisition– Capteurs
• Orientation : compas électronique
• Localisation : badge actif
• Liste des démos : badge actif + application
– API • à construire pour orientation et liste de démos
• À apprendre pour badge actif
– Stockage des données dans un fichier local
– Interprétation de la localisation pour savoir si près d’une démo
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs154
III-3-3 Context-awareness
Visite guidée mobile
• Diffusion– Seul le badge actif est sans fil
– Écrire la couche transport (RPC par exemple) pour acquérir les données
• Réception– Notification des changements
– Interprétation pour recevoir la liste des démos
– Ensemble de capteurs fini
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs155
III-3-3 Context-awareness
Visite guidée mobile
• Action– Modification d’orientation
• Modification de la carte
– Modification de la localisation• Modification de la carte
• Mise à jour de la liste des démos non vues
• Surligner les démos pertinentes
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs156
III-3-3 Context-awarenessConception d’une application context-
aware
• Sans support vs. avec support• Nécessité d’un support pour:
– Spécifications : Spécifier le contexte nécessaire
– Découverte : localiser les composants qui peuvent acquérir du contexte et agir en fonction du contexte
– Séparation des problèmes : séparer l’acquisition du contexte de son utilisation
– Stockage : importance des historiques de contexte
– Interprétation : pour des informations de plus haut niveau
– Communications transparentes
– Disponibilité permanente du contexte
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs157
III-3-3 Context-awareness
Briques de base de la plate-forme de Dey
• Context Widgets– Par analogie avec les widgets des interfaces graphiques
• Encapsulation, abstraction
– But• Acquérir et abstraire les données des capteurs
• Séparer les problématiques
• Stockage
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs158
Context widgetsIII-3-3 Context-awareness
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs159
III-3-3 Context-awareness
Interpretors
• Les données des capteurs sont rarement fournies au bon niveau d’abstraction
• Convertissent ou interprètent le contexte pour obtenir une information de plus haut niveau
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs160
III-3-3 Context-awareness
Agrégators
• Rassemble des données de contexte pour les rendre pertinentes pour certaines entités
• Simplifie la conception de l’application
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs161
III-3-3 Context-awareness
Services
• Effectue les traitements sur les données de contexte
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs162
III-3-3 Context-awareness
Discoverer
• Répertorie l’ensemble des composants de gestion du contexte
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs163
III-3-3 Context-awareness
Synthèse de la plate-forme de Dey
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs164
III-3-3 Context-awareness
Autres challenges en context-awareness
• Killer application– Besoin de quelque chose pour orienter les recherches
– Besoin de quelque chose de concret à mettre entre les mains des futurs utilisateurs
• Taxonomie– Quel contexte est important?
– Comment représenter le contexte?
– Standards pour partager les composants entre groupes de recherche
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs165
III-3-3 Context-awareness
Autres challenges en context-awareness
• Connaissances sur le monde réel– Comment le monde fonctionne
• Protection de la personne– Capture et collecte d’informations sur les gens, les lieux,
les terminaux
– Réponses sociales et technologiques à apporter
• Qualité de service : méta données– Cohérence, Confiance, Fréquence…
• « Smartness »– Quand le système doit-il décider, quand l’utilisateur doit-il
décider?
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs166
III-3-3 Context-awareness
Autres challenges en context-awareness
• Ambiguité– Limitations des capteurs : vue réduite de la réalité
– Comment réagir à une mauvaise interprétation automatique
• Modèle de l’environnement– Relations entre les localisations : granularité de la
distance, hiérarchie de composition (batiment/piece…)
– Relations entre les gens : famille, collègues
– Relations entre les équipements?
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs167
Références bibliographiques Context awareness
• M. Weiser « The computer for the twenty-first century », Scientific American, sept 1991:94-104
• A.K. Dey « Building context-aware applications », presentation at Dagstuhl summer school, august 2003
• D. Salber, A.K.Dey, G.D. Abowd « The context Toolkit : aiding the development of context-enabled applications » ACM CHI 99
• Strang & al. « Service interopérability on context level in ubiquitous computing environments » Int conf. On Advances in infrastructure for electronic business, education, science, medicine and mobile technologies on the internet, L’Aquila, Italy, jan. 2003
• T. Chaari, D. Ejigu, F. Laforest and V.-M. Scuturici «Modeling and Using Context in Adapting Applications to Pervasive Environments.» IEEE Int. Conf. Pervasive
Services, Lyon, France, June 2006 • T. Winograd, “Architectures for Context,” Human-Computer Interaction, Vol. 16,
No. 2, 3 & 4, Pages 401-419, 2001.
III-3-3 Context-awareness
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs168
III-3-4 Adaptation
Adaptation
• Principes génériques d’adaptation– Statique
– Dynamique
• 3 domaines principaux– Adaptation des interfaces utilisateurs
– Adaptation du contenu
– Adaptation des services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs169
III-3-4-2 Principes d’adaptation
Adaptation statique
• Préparer plusieurs versions d’une ressource avant son exploitation
• En fonctionnement, adaptation = choix de la version correspondant au contexte
• Beaucoup utilisée dans les débuts des applications multi-terminaux– Version existante pour terminaux standards
– Nouvelles versions pour autres terminaux
• + simplicité et efficacité de fonctionnement• - pb d’échelle, lourdeur de prise en compte d’une
nouvelle version
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs170
III-3-4-2 Principes d’adaptationRéférences de projets d’adaptation
statique• Eric D. Larson, Wireless Java Application Saves Women's Cancer Center
$500,000 per Year, J2ME case studies, september 2002. http://wireless.java.sun.com/midp/casestudies/wcc/
• V. Massé, « La société MobilePlanet Europe fournit des terminaux mobiles à la Brigade des Sapeurs Pompiers de Paris (BSPP) pour l’équipement de ses véhicules d’intervention », Mobile Planet, juin 2002. http://www.mobileplanet.fr/m_includes/press_release/2002_brigade.asp
• S. Benjaminsen, A. Djora « JetRek: How organisational identities slowed down speedy requisitions », BSA medical sociology conference, september 2002, York. http://ww.sv.ntnu.no/iss/Aksel.Tjora/publications/ Siri-york02-09.pdf
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs171
III-3-4-2 Principes d’adaptation
Adaptation dynamique
• Transformations sur la ressource en cours de fonctionnement
• Exemples – CSS : transformations à la volée de la forme d’un
document XML=>HTML
– transformation de format de données
• + gain de temps pour prendre en compte une nouvelle version
• - complexité de l’outil (choix d’un « chemin d’adaptation » + adaptation)
• - temps de réponse
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs172
III-3-4-2 Principes d’adaptationRéférences de projets d’adaptation
dynamique
• TeraCom “Soluphone santé” 2002. http://www.soluphone.com/SoluSante.pdf
• T. Lemlouma, N. Layaïda, « A Framework for Media Resource Manipulation in an Adaptation and Negotiation Architecture », OPERA project, under submission, INRIA Rhône-Alpes, august 2001
• G. Menkhaus « Adaptive User Interface Generation in a Mobile Computing Environment », PhD Thesis, Salzburg University, 2002.
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs173
III-3-4-3 Domaines d’adaptation
Trois domaines principaux d’adaptation
• Adaptation des interfaces utilisateurs
• Adaptation du contenu
• Adaptation des services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs174
III-3-4-3a Adaptation des IU
Adaptation des interfaces utilisateur
• Approches cognitives– Modèles utilisateur/tâche/dialogue
– Généralement instrumentés par des plates-formes de génération automatique ou semi-automatique
• Approches d’ingénierie– Outils de conception et développement des IHM
– Question : passer d’une problématique de visualisation/mise à jour à une solution concrète (code)
– Généralement basé sur des modèles• À la XML : UIML, AUIML, SunML, XIML, Plastic ML,
USIXML, XUL, XAML…
• À la UML : UMLi
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs175
III-3-4-3a Adaptation des IU
Modèle UMLi
• [Pinheiro da Silva et Paton, 2000 ] • Extension de UML: aspect interaction• Diagrammes complexes et fastidieux
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs176
Objets graphiques
III-3-4-3a Adaptation des IU
Exemple UMLi
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs177
III-3-4-3a Adaptation des IU
Modèle UiML
• [Abrams, Phanouriou 1999 ]
• Spécification de la présentation– Avec des balises à la XML
– Dépendante de la plate-forme cible
– Long et fastidieux!
– Exemple<?xml version="1.0"?> <!DOCTYPE uiml PUBLIC "-//UIT//DTD UIML 2.0 Draft//EN"
"http://uiml.org/dtds/UIML20.dtd">
<uiml> <head>
<meta name="Description"content="Use of templates for CreditCard entry form"/>
<meta name="Author" content="Constantinos Phanouriou"/>
<meta name="Email" content="uiml-editor@uiml.org"/>
</head>
<peers>
…/…
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs178
III-3-4-3a Adaptation des IU
Exemple UiML: pour chaque plate-forme, un ensemble de composants d’affichage
<presentation name="WML">
<component name="Dialog" maps-to="wml:card"/>
<component name="TextField" maps-to="wml:input"/>
<component name="Button" maps-to="wml:DO type='ACCEPT'"/>
<component name="InputEvent" maps-to="wml:event type='onenterforward'"/>
</presentation>
<presentation name="VoiceXML">
<component name="Dialog" maps-to="vxml:form"/>
<component name="TextField" maps-to="vxml:prompt"/>
<!-- Button does not have a rendering in Voice -->
<component name="Button" maps-to="E;/>
<component name="InputEvent" maps-to="vxml:filled"/>
</presentation>
<presentation name="Java-AWT">
<component name="Dialog" maps-to="java.awt.Dialog"/>
<component name="TextField" maps-to="java.awt.TextField"/>
<component name="Button" maps-to="java.awt.Button"/>
<component name="InputEvent“ maps-to="java.awt.event.ActionEvent"/>
</presentation>
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs179
III-3-4-3a Adaptation des IU
Exemple UiML: pour chaque plate-forme, une logique de fonctionnement
<logic name="HTTP">
<component name="CreditApp">
<method name="SendCredit"
maps-to="http://<server>:port/cgi-bin/acceptCredit.pl?">
<param name="cnum"/>
</method>
</component>
</logic>
<logic name="Java">
<component name="CreditApp" maps-to="myBiz.creditApp.class">
<method name="SendCredit" maps-to="acceptCredit">
<param name="cnum"/>
</method>
</component>
</logic>
</peers>
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs180
III-3-4-3a Adaptation des IU
Exemple UiML: structure de l’interface utilisateur, utilisation de template réutilisable
<template name="CreditCard">
<part name="CreditContainer" class="CreditDialog">
<style> <proprety name="title">Credit Card Entry Form</property> </style>
<part name="CreditNum" class="number"/>
<part name="AcceptNum" class="Accept">
<style> <proprety name="content">Accept</property> </style>
</part>
</part>
</template>
<interface>
<structure>
<part name="ECommerceApp"> <!-- UI description -->
<part name="MyCredit" source="#CreditCard"/>
</part>
</structure>
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs181
III-3-4-3a Adaptation des IU
Exemple UiML: rendu de l’IU et comportement
<style><property name="rendering" part-class="MyCredit.CreditDialog"> Dialog </property>
<property name="rendering" part-class="MyCredit.number"> TextField </property>
<property name="rendering" part-class="MyCredit.Accept"> Button </property>
<property name="rendering" event-name="InputEvent"> InputEvent </property>
<property name="rendering" method-name="SendCredit"> SendCredit </property>
</style>
<behavior>
<rule>
<condition> <event name="InputEvent" part-name="MyCredit.AcceptNum"/> </condition>
<action>
<method name="SendCredit">
<param name="cnum"><property name="content" part-name="MyCredit.CreditNum"/> </param>
</method>
</action>
</rule>
</behavior>
</interface>
</uiml>
Définis dans présentation
Définis dans structure et template
Défini dans logic
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs182
III-3-4-3a Adaptation des IU
Plates-formes de génération de code d’IU
• Fondées sur plus ou moins de modèles, parmi:– Domaine : description des services de l’application,
modèle de BD…
– Tâches : graphes d’activités
– Utilisateur : préférences
– Dialogue : partie interactive de l’interface
– Présentation : partie visuelle de l’interface
• Une génération plus ou moins automatique du code• Des modèles inter-reliés, long, complexes et
fastidieux… il est souvent plus rapide de coder soi-même l’interface!
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs183
Le projet SEFAGI
• [Chaari 2004]• Cadre applicatif
– projet Système d’Information COMmunicant pour la santé
– Adaptation des interfaces utilisateurs au terminal
• Interface graphique du Projet SICOM– Une partie générique
– Des parties spécifiques• dédiées à une pathologie
• dédiées à un type d’utilisateurs
==>Nombre de fenêtres différentes élevé
==> Temps de développement important
III-3-4-3a Adaptation des IU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs184
Objectifs
• Génération automatique des fenêtres spécifiques– pour des terminaux de types divers
• PC (J2SE)
• Terminaux très légers (MIDP- CLDC)
• Terminaux légers (CDC)
• Génération automatique et complète des :– Affichages et leurs inter-relations
– Interactions avec les traitements
– Et de l’environnement d’exécution sur les terminaux
III-3-4-3a Adaptation des IU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs185
Architecture logiqueIII-3-4-3a Adaptation des IU
Platform i Description
Abstract Window
Description
Generic Layer
Specific Layer
Windows Codes
Platform description
DTD
Window description
DTD
Execution environments
generator
Windows generator
SEFAGI generator
Execution Environment
Codes
Execution Environment
Codes
Execution Environment
Codes
Windows Codes
Windows Codes
Platform i Description
Platform i Description
Abstract Window
Description
Abstract Window
Description
Conforms to
Conforms to
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs186
Environnement d ’exécution sur PCIII-3-4-3a Adaptation des IU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs187
Description des fenêtres à générer
• fenêtre = liste de panneaux
• panneau =– Une représentation graphique
dépendant du type de terminal
– Des services associés (getData / setData)
• Types de panneaux– 6 pour l’instant, extensible
– Chaque type de panneau correspond à une classe dans une bibliothèque de composants graphiques
III-3-4-3a Adaptation des IU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs188
Panneau de type texte
• Grande zone texte (commentaires ,texte multiligne)
Panneau de type graphique
• Présentation de courbes 2D ou de graphiques bâtonnet
Panneaux tableau, texte, graphique
Panneau de type tableau
• Saisie et consultation des données
• Une case = un widget de base (zone de saisie, liste énumérée, cases à cocher…)
• Contraintes associées à chaque case
PC standard
PC de poche
III-3-4-3a Adaptation des IU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs189
Panneau de type image, vidéo et commande
• Panneaux image ou vidéo
– Liste des images/vidéos
– Image/vidéo sélectionnée
– Texte descriptif associé
• Panneau commande
– Boutons pour lancer l’appel des services associés aux panneaux de la fenêtre
PC standard
PC de poche
PC standard
PC de poche
III-3-4-3a Adaptation des IU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs190
Assistant de SEFAGIIII-3-4-3a Adaptation des IU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs191
Structure XML de
description abstraite
des fenêtres(aucune
référence aux plates-
formes cibles)
III-3-4-3a Adaptation des IU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs192
Environnement de génération
• Interface principale permettant de– Choisir une description abstraite de fenêtre
– Générer pour un type de terminal donné le code source de la fenêtre correspondante et de son gestionnaire d’évènements
– Compiler le code source généré
III-3-4-3a Adaptation des IU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs193
Diagramme de classes de l'environnement de génération
Méthodes d’initialisation
Entête
Méthodes de traitements
Constructeur
Attributs
Définition de classe
Structure d’une fenêtre java
Gestionnaire d ’événements
Définitions des événements
Appel des méthodes
III-3-4-3a Adaptation des IU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs194
III-3-4-3a Adaptation des IU
Menu de navigation
Exemple complet sur PC et mobile
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs195
Architecture technique de SEFAGI
Interface graphique envoyée au
terminal
Code source adapté
Adaptation des interfaces
Générateur d’interfaces
Système de gestion de données
Modèle générique d’affichage
(Description des fenêtres en XML)
Règles de transformations à la génération
Serveur de données
Serveur d’adaptation
Serveur d’interfaces
Environnement d’exécution des interfaces graphiques
Terminal
Service WEB
Adaptation des données
Transformations de contenu
Serveur de traitements
Assistant Graphique
Annuaire de services
Serveurs d’application
III-3-4-3a Adaptation des IU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs196
Synthèse : types d’adaptation dans Sefagi
• Au cours de la génération (statiques)– Transformations de l’affichage (présentation)
• Correspondance entre les composants du modèle et ceux des cibles
– Transformations de disposition (présentation)• Disposition des composants dans les panneaux et des panneaux sur l’écran
– Transformations de navigation (présentation)• Facilités de navigation pour l’utilisateur
• Au cours de l’exécution (dynamiques)– Transformations de cohérence (données)
• Groupage ou dissociation de données, Gestion des points de reprise
– Transformations de contenu (données)• Modification ou substitution d’une ressource par une autre
– Transformations de transmission (traitements)• Protocole de transmission standard• Typage standard des données
III-3-4-3a Adaptation des IU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs197
Conclusion SEFAGI
• Simplicité– Avoir des interfaces graphiques spécifiques sans toucher à
la programmation
– Un fichier XML par fenêtre très court par rapport aux autres modèles existants
• Évolutivité– Enrichissement de la liste des panneaux
• Portabilité– Entièrement développée en JAVA
III-3-4-3a Adaptation des IU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs198
III-3-4-3a Adaptation des IURéférences bibliographiques Adaptation
des IU• P. Pinheiro da Silva and N. W. Paton. UMLi: The Unifed Modeling Language for Interactive
Applications. In Proceedings of UML2000, volume 1939 of LNCS, pages 117-132, York, UK, October 2000. Springer
• M. Abrams, C. Phanouriou, “UIML: an XML language for building device independent user interfaces”, XML’99, Philadelphia, December 1999
• T. Chaari, F. Laforest, A. Flory Génération automatique d’interfaces graphiques pour la saisie et la consultation de données : Application au domaine médical. Int. Conf. on Sciences of Electronic, Technology of Information and Telecommunications SETIT 2004, Sousse, Tunisie, 15-20 mars 2004
• T. Chaari, F. Laforest Génération et adaptation automatiques des interfaces utilisateurs pour des environnements multi-terminaux Le projet SEFAGI : Simple Environment For Adaptable Graphical Interfaces Revue Ingénierie des systèmes d’Information, n° spécial systèmes d’information pervasifs,volume 9 - n°2/2004:11-38
• P. Sukaviriya, J. Foley, T. Griffith: A Second Generation User Interface Design Environment. In: S. Ashlund, et.al. (eds.): Bridges between Worlds. Proceedings InterCHI'93 (Amsterdam, April 1993). New York: ACM Press, 1993, 375-382.
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs199
Références bibliographiques Adaptation des IU
• C. Märtin: Software Life Cycle Automation for Interactive Applications: The AME Design Environment. In: J. Vanderdonckt (ed.): Computer-Aided Design of User Interfaces. Namur: Namur University Press, 1996, 57-74.
• H. Balzert, F. Hofmann, V. Kruschinski, C. Niemann: The Janus Application Development Environment Generating More than the User Interface. In: J. Vanderdonckt (ed.): Computer-Aided Design of User Interfaces. Namur: Namur University Press, 1996, 183-205.
• F. Bodart, A.-M. Hennebert, J.-M. Leheureux, I. Provot, B. Sacre, J. Vanderdonckt: Towards a Systematic Building of Software Architectures: the TRIDENT Methodological Guide. In P. Palanque, R. Bastide (eds.): Design, Specification and Verification of Interactive Systems. Wien: Springer, 1995, 262-278.
• C. Janssen, A. Weisbecker, J. Ziegler: Generating User Interfaces from Data Models and Dialogue Net Specifications. In: S. Ashlund, et.al. (eds.): Bridges between Worlds. Proceedings InterCHI'93 (Amsterdam, April 1993). New York: ACM Press, 1993, 418-423.
• Guido Menkhaus, Wolfgang Pree: User interface tailoring for multi-platform service access. IUI 2002: 208-209
III-3-4-3a Adaptation des IU
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs200
III-3-4-3a Adaptation des IURéférences bibliographiques Adaptation
des IU• T. Elwert, E. Schlungbaum: Modelling and Generation of Graphical User Interfaces in the
TADEUS Approach. In: P. Palanque, R. Bastide (eds.): Designing, Specification, and Verification of Interactive Systems. Wien: Springer, 1995, 193-208.
• P. Johnson: Human-Computer Interaction. London: McGraw-Hill, 1992.
• A. Puerta: The Mecano Project: Comprehensive and Integrated Support for Model-Based Interface Development. In: J. Vanderdonckt (ed.): Computer-Aided Design of User Interfaces. Namur: Namur University Press, 1996, 19-36.
• A. Puerta: Issues in Automatic Generation of User Interfaces in Model- Based Systems. In: J. Vanderdonckt (ed.): Computer-Aided Design of User Interfaces. Namur: Namur University Press, 1996, 323-325.
• F. Lonczewski, S. Schreiber: The FUSE-System: An Integrated User Interface Design Environment. In: J. Vanderdonckt (ed.): Computer-Aided Design of User Interfaces. Namur: Namur University Press, 1996, 37-56.
• P. Szekely, P. Sukaviriya, P. Castells, J. Muthukumarasamy, E. Salcher: Declarative interface models for user interface construction tools: the MASTERMIND approach. In: L. Bass, C. Unger (eds.): Engineering for Human-Computer Interaction. Proceedings of the IFIP TC2/WG2.7 working conference on engineering for humancomputer interaction (Yellowstone Park, August 1995). London: Chapman & Hall, 1996, 120-150.
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs201
III-3-4-3b Adaptation du contenu
Adaptation du contenu
• Adaptation des données : modifier une donnée pour– Qu’elle soit exploitable par le terminal cible– Qu’elle soit conforme aux règles de protection des
données– …
• Adaptation dynamique (à la demande) ou statique (plusieurs versions stockées)
• Localisation de l’adaptation– sur le client : ne convient pas aux terminaux légers– sur le serveur : si tient la charge– Sur un proxy entre le client et le serveur– Distribué
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs202
III-3-4-3b Adaptation du contenuAdaptation selon le type de la donnée
source
• Source texte– Conversion de format (html -> txt, doc -> pdf…)
– Résumé
– Traduction
– Compression/décompression
– Synthèse vocale
• Source image– Conversion de format (jpeg -> png)
– Modification de résolution, nombre de couleurs…
– Compression / décompression (e.g. sémantique jpeg ou brute zip)
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs203
III-3-4-3b Adaptation du contenuAdaptation selon le type de la donnée
source
• Source sonore– Conversion de format
– Synthèse textuelle et reconnaissance vocale
– Compression / décompression (e.g. sémantique MP3 ou brute zip)
• Source vidéo– Conversion de format (résolution, nb images/sec)
– Décomposition / recomposition spatiale (zoom…)
– Compression / décompression (e.g. sémantique MPEG4 ou brute zip)
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs204
III-3-4-3b Adaptation du contenu
Opérateurs pour l’adaptation de contenu
• Codage– transcodage de média (réduction nb couleurs)
– transformation de modalité (texte -> audio)
– compression (jpeg)
• Format (Wav->MP3)• Structure (HTML ->WML)• Remplacement (image par texte descriptif)• Sélection (sélection d’images moins volumineuses)• Intégration (données multi-serveurs)
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs205
III-3-4-3b Adaptation du contenu
Adaptation de contenu - RTP Mixer
• [Mory et al 2004]• Adaptation dynamique par un proxy avec cache
– transparente à l’application : effectuée par un intermédiaire durant le transport des données
– utilisation d’un profil CC/PP
– 2 services d’adaptation• redimensionnement automatique et recadrage d’images
• traitement de vidéos : conversion de format, distillation
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs206
III-3-4-3b Adaptation du contenu
Adaptation de contenu - DCAF
• Distributed Content Adaptation Framework • [Berhe 2006]
Content Servers
User
Adaptation Services
Local Proxies
Content Proxies
Adaptation Services Registry
Context Profile
Repository
InternetInternet
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs207
Adaptation de contenu - DCAF
• Description des services d’adaptation– Services d’adaptation = services Web
– WSDL insuffisant• Pas de coût, sémantique, temps d’exécution…
– Utilisation d’une ontologie
III-3-4-3b Adaptation du contenu
Adaptation System
Context Profile(e.g format, size, network)
Adaptation Services Ontology
Content Metadata & Data (e.g. format, size) Adapted Data
Collects
Processes Delivers
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs208
III-3-4-3b Adaptation du contenu
Adaptation de contenu - DCAF
Local
Proxy
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs209
III-3-4-3b Adaptation du contenu
Adaptation de contenu - DCAF
• AD : décision d’adaptation– Calcule le type et le nombre d’adaptations nécessaires
– Résultat : transformation prescript
A R C F Z
Image (JPEG, Color) Image (GIF, BW)
Resizing Format-ConversionColor Reduction
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs210
Adaptation de contenu - DCAF
• AP : planification d’adaptation : Algo MAGG– Sélectionne les services d’adaptation appropriés pour
implanter le transformation prescript
• Notion de graphe de services d’adaptation– MAGG = choix du chemin optimal dans le graphe
– Notre exemple: choisir l’implantation pour chaque étape• R={R1, R2}
• C={C1, C2, C3}
• F={F1, F2, F3}
III-3-4-3b Adaptation du contenu
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs211
Adaptation de contenu - DCAF
• Graphe de services A
R1 R2
JPEG JPEG
C1 C2C3
BMP JPEG JPEG
F1 F2
Z
GIF GIF
JPEG JPEGBMP
Fn
JPEG F3
GIF
TIF
III-3-4-3b Adaptation du contenu
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs212
Adaptation de contenu - DCAF
• MAGG A
R1 R2
JPEG JPEG
C1 C2C3
BMP JPEG JPEG
F1 F2
Z
GIF GIF
JPEG JPEGBMP
Fn
JPEG F3
GIF
TIF
III-3-4-3b Adaptation du contenu
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs213
Références bibliographiques Adaptation contenu
• E. Mory et al. Adaptation de contenu multimédia aux terminaux mobiles. RTSI - ISI n° spécial systèmes d ’information pervasifs n°9, 2004, Hermès: 39-60
• G. Behre “Accès et adaptation de contenus multimédia pour les systèmes pervasifs" Thèse de doctorat soutenue de 25 septembre 2006, LIRIS, INSA de Lyon
• G. Behre, L. Brunie, J.M. Pierson "Content adaptation in distributed multimedia systems" Journal of Digital Information Management, special issue on Distributed Data Management. Volume 3, No 2, June 2005
III-3-4-3b Adaptation du contenu
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs214
III-3-4-3c Adaptation des services
Adaptation des services
• Les systèmes à services adaptables ont généralement trois parties [Cremene 04]– partie modifiable : le service adaptable
– partie monitoring : évaluation en continu du service et de son contexte
– partie contrôle : définit les ordres de reconfiguration en fonction d’une logique qui lui est propre
• Deux techniques d’adaptation habituelles– Adaptation par entités externes (exemple SECAS)
– Adaptation par réflexivité (exemple Dynamic TAO)
– Adaptation mixte (exemple AeDEN)
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs215
III-3-4-3c Adaptation des services
SECAS
• [Chaari 2006]• Encapsuler une application existante avec une
couche d’adaptation– sans modification de l’application d’origine
• Pour pouvoir intégrer toute applications existante
– à l’aide de services web
• Adaptation en fonction du contexte1. des services
2. des contenus
3. de l’interface utilisateur
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs216
III-3-4-3c Adaptation des services
SECAS : architecture
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs217
SECAS : graphe de dépendances entre entités
• Nœuds = entités adaptables – Service, avec ses données et son interface utilisateur
d’entrée/sortie
• Liens = dépendances d’appel
III-3-4-3c Adaptation des services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs218
Adaptation des entités
• Adaptation des arcs et des services– Règles d’adaptation
• Adaptation du contenu transitant vers l’utilisateur– Avec les principes définis par [Behre 2006]
• Adaptation de la présentation du contenu– Avec les principes définis par [Chaari 2004]
III-3-4-3c Adaptation des services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs219
SECAS : règles d’adaptation
• <Conditions, Actions>– Conditions : sur les valeurs du contexte et les caractéristiques des
services
– Actions : opérateurs d’adaptation à appliquer sur le graphe
• Evaluées– À la connexion de l’utilisateur
– À chaque modification de la situation contextuelle
• Appliquées sur le graphe– Par un adaptateur instancié pour chaque nœud concerné
– Par l’adaptation manager pour les arcs du graphe
=> un graphe pour chaque session en cours, qui évolue avec le contexte
III-3-4-3c Adaptation des services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs220
SECAS : opérateurs d’adaptation
Operateurs sur la sortie des services
(modifications des transitions du graphe)• projectOutput: projection (retire des colonnes du
vecteur de données)• selectOutput: sélection (retire des lignes du vecteur
de données)• joinOutput: effectue une jointure entre plusieurs
vecteurs de données• addOutput: ajoute des lignes à la sortie du service
III-3-4-3c Adaptation des services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs221
SECAS : opérateurs d’adaptation
Opérateurs sur les instances d’un service(modifications des nœuds du graphe)• selectVersion: sélectionne une version• addVersion: ajoute une version
Opérateurs globaux sur le modèle fonctionnel de l’application
• lockService: retire le chemin d’accès au service• addService: ajoute un service en feuille • insertService: ajoute un service comme nœud interne
III-3-4-3c Adaptation des services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs222
SECAS : adaptation par les DP strategy+proxy
• Un adapter applique les règles d’adaptation – DP Strategy
– DP ProxyApplication data
Application data
BsnService_1aBsnService_1bBsnService_1c
Context dataAdapter_1
Adapter_2
Adapter_3
BsnService_2aBsnService_2bBsnService_2c
BsnService_3aBsnService_3b
III-3-4-3c Adaptation des services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs223
III-3-4-3c Adaptation des services
Adaptation dans les systèmes réflexifs
• Réflexivité– Capacité d'un système à se représenter, s'observer et agir
sur lui-même (reflet dans un miroir)
– niveau méta décrivant les composants du système
• Introspection – donne la possibilité au système de connaître son état
interne (analyse psychologique)
• Intercession– permet au système d'adapter son fonctionnement en
modifiant son propre comportement
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs224
III-3-4-3c Adaptation des services
Adaptation dans les systèmes réflexifs
• Sujets d'adaptation– entités : méthodes, objets, composants
– liaisons entre entités de base ou entre entités de base et entités méta
– ensembles d'entités
• Moment d'adaptation– compilation : génération de code en fonction des méta-
entités
– chargement : altération du code compilé lors de son chargement ou modification de l’ensemble d’entités
– exécution : accès dynamique au niveau méta, par l'intermédiaire de proxies, ou par le support d'exécution
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs225
III-3-4-3c Adaptation des services
RAM : système réflexif
• [Bouraqadi et al 01] Reflexion for Adaptable Mobility
• Mobilité du code = aspect non fonctionnel, donc au niveau méta
• cluster = unité de mobilité de code, comportant– un ensemble d’objets applicatifs
– une méta façade fournissant l’accès aux objets de description des politiques du cluster (migration, file d’attente de messages…)
– références instanciées : références locales ou distantes à d’autres clusters (gérées par la méta-façade)
– table de références : répertorie tous les objets instanciés, assure l’unicité des références au sein du cluster
• Pour une mobilité forte du code
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs226
III-3-4-3c Adaptation des services
DynamicTAO : middleware réflexif
• [Kon et al. 2000] ORB réflexif se basant sur CORBA
• ensemble de Component Configurators– chaque composant contient un Domain Configurator qui
maintient des références entre le middleware et les composants dont il dépend (Servant Configurators)
– le middleware contient un TAO Configurator qui maintient les stratégies du middleware (concurrence, scheduling…)
• contient des points d’interception qui permettent de dériver les appels faits par les composants vers les implantations des stratégies
• les implantations des stratégies peuvent être changées dynamiquement (chargement dynamique d’implantations)
• pour la reconfiguration dynamique de composants
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs227
III-3-4-3c Adaptation des servicesDream : Dynamic REflective Asynchronous Middleware
• [Leclerc et al. 2005] « component-based framework for constructing, statically or dynamically, resource-aware, configurable message-oriented middleware (MOM) ».
• Extension du modèle à composant Fractal, basé Java– Assemblage et reconfiguration dynamique de composants
• Composants primitifs
• Composants composite : composition de composants
– Interfaces de gestion pour chaque composant• BindingControler : gestion des dépendances entre composants
• ContentControler: ajout, retrait de composants
• LifeCycleControler : démarrage, arrêt des composants.
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs228
Comportement d’exécution Stratégie d’adaptation
Système d’adaptation
Application
Environnement
Agit sur
Changements dansles besoins
Spécialise selon les besoins au lancement
Prend en compteles caractéristiques
Détecte lesvariations
III-3-4-3c Adaptation des services
AeDEN - Adaptation d’entités logicielles
• [Le Mouel 2003]
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs229
III-3-4-3c Adaptation des services
AeDEN - entité
• Entité = unité logicielle de conception– abstraite et spécialisable
– Une fonctionnalité <=> une entité
– un service <=> une entité spécialisée
• 3 aspects– AInteraction (communication avec les autres entités)
– AImplementation (métier : traitements attendus)
– AState (état courant interne de la partie métier)
• A chaque aspect correspond un ensemble d’implantations possibles
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs230
III-3-4-3c Adaptation des services
AeDEN - entité
• Entité abstraite + spécialisations possibles
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs231
III-3-4-3c Adaptation des services
AeDEN - entité adaptative
• Entité + entité d’adaptation – adaptations par introspection puis intercession
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs232
III-3-4-3c Adaptation des services
AeDEN - introspection et intercession
• Chaque entité et chaque entité adaptative implante les méthodes suivantes– getInteraction(), setInteraction()
– getImplementation(), setImplementation()
– getState(), setState()
• Chaque entité adaptative implante les méthodes– getFunctionalInteraction(), setFunctionalInteraction()
– getFunctionalImplementation(), setFunctionalImplementation()
– getFunctionalState(), setFunctionalState()
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs233
III-3-4-3c Adaptation des services
AeDEN - exemple d’adaptation
Adaptation d’implantation
class ImplementationAdaptation extends StateAdaptation { // Adaptation d'implantation
// protected EntityAdapter entityAdapter; // héritage de la déclaration de variable
...
// public AState stateTransformation(AState st, String[] args); // héritage de la déclaration de méthode
...
public AImplementation implementationTransformation(AImplementation im, AState st, String[] args) {
AImplementation tim; // transformed implementation
...
// Création d'une nouvelle instance d'implantation
tim = new Implementation(im, st);
// Ici, modifications de l'implantation tim
// Puis on prévient, par exemple, les entités ayant des dépendances fonctionnelles
...
return(tim);
}
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs234
III-3-4-3c Adaptation des services
AeDEN - exemple d’adaptation
public Event applyAdaptation(String[] args) { // méthode d'application de l'adaptation
AState cfs; // current functional state
AState tfs; // transformed functional state
AImplementation cfi; // current functional implementation
AImplementation tfi; // transformed functional implementation
...
// récupèration des éléments de la structure de l'entité fonctionnelle
cfs = entityAdapter.getFunctionalState();
cfi = entityAdapter.getFunctionalImplementation();
...
// transformations de ces éléments
tfs = stateTransformation(cfs, args);
tfi = implementationTransformation(cfi, tfs, args); // on reprend l ’état transformé
...
return(entityAdapter.setFunctionalImplementation(tfi));
}
...
}
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs235
III-3-4-3c Adaptation des services
AeDEN - entité adaptative et réactive
• Entité adaptation + entité de réaction liée à un service de notification
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs236
Entité fonctionnelle (In, Im, St)Im : algo de compression GIF
Entité fonctionnelle (It, Im’, St’’)Im’ : algo compression JPEG
St’’ : taux qualité 50%
Entité fonctionnelle (It, Im’, St’)Im’ : algo compression JPEG
St’ : taux qualité 75%
Bande passante <X
adaptation d’implantation GIF->JPEG75%
Bande passante <Y
adaptation d’implantationJPEG75%->JPEG50%
Bande passante >Y
adaptation d’implantation JPEG50%->JPEG75%
Bande passante >X
adaptation d’implantationJPEG75%->GIF
III-3-4-3c Adaptation des services
AeDEN - exemple de stratégie
• Stratégie d’adaptation pour un service de transmissions d’images compressées
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs237
Références bibliographiques Adaptation services
• M. Cremene et al. « Adaptation dynamique de services », Decor ’2004, Grenoble, octobre 2004, pp 53-64
• SECAS : Modeling and Using Context in Adapting Applications to Pervasive Environments . T Chaari, E Dejene, F. Laforest, V. Scuturici. ICPS'06 : IEEE International Conference on Pervasive Services 2006 26-29 June 2006, Lyon 2006
• RAM : N.M.N. Bouraqadi-Saadani et al. « A reflexive infrastructure for coarse grained strong mobility and its tool-based implementation. » Int. Workshop on experiences with reflexive systems. Sept. 2001
• DynamicTAO : F. Kon et al. « Monitoring, security and dynamic configuration with the dynamicTAO reflective ORB » Middleware 2000
• AeDEN : F. Le Mouël « Environnement adaptatif d’exécution distribuée d’applications dans un contexte mobile » mémoire de thèse de doctorat en informatique, Université Rennes I, 1er décembre 2003
• M. Leclercq, V. Quma, J.-B. Stefani, DREAM: A Component Framework for Constructing Resource-Aware, Configurable Middleware, IEEE distributed systems online, vol. 6, no. 9, September 2005
III-3-4-3c Adaptation des services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs238
III-3-4-4 Conclusion adaptation
Conclusion sur l’adaptabilité
• Des besoins généraux [Le Mouel 2003]– généricité : utilisation par plusieurs types d’applications
– modularité : découpage et découplage
– prise en compte du contexte
– évolutivité : intégrer de nouvelles technologies et de nouvelles fonctionnalités
– dynamicité : réaction aux changements sans arrêt du système
– efficacité : performance et stabilité
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs239
III-4 Synthèse
Synthèse : relations entre les niveaux
• 3 niveaux de recherche : matériel et système, réseaux, système d’information
• Pour une adaptation complète et cohérente,– Associer des informations provenant des trois niveaux
– Utiliser des techniques d’adaptation « traversant » les niveaux
=>une communication inter-niveaux des informations de contexte et des services d’adaptation de chaque niveau
=> L’utilisation d’un découpage en niveaux est-elle toujours intéressante ou apporte-t-elle plus de problèmes qu’elle n’en résout?
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs240
Exemples de projets
La maison de l’an 2000 de Pierre Sarda
Aura
Oxygen
Sentient computing
Portolano
Endeavour
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs241
La maison de l’an 2000
• Pierre Sarda, 1979, TF1
• http://ina.fr/archivespourtous/index.php?vue=notice&from=fulltext&full=pierre+sarda&num_notice=1&total_notices=4
NB : le lien change régulièrement… aller sur le site de l’INA et faire une recherche sur P. Sarda
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs242
AURA Distraction-free Ubiquitous Computing
• M. Satyanarayanan, Carnegie Mellon University– Aura's goal is to provide each user with an invisible halo
of computing and information services that persists regardless of location. Meeting this goal will require effort at every level: from the hardware and network layers, through the operating system and middleware, to the user interface and applications.
– Project Aura will design, implement, deploy, and evaluate a large-scale system demonstrating the concept of a “personal information aura” that spans wearable, handheld, desktop and infrastructure computers.
• http://www-2.cs.cmu.edu/~aura
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs243
Users
Physical Devices
OS/Network
Services
Tasks
HCI/Agents/Speech
Research Examples
Task-driven computingRapid service configuration
Energy-aware adaptationMulti-fidelity computationNomadic data access
Intelligent networkingPower/bw-aware devices Wearable computers
Aura - Mots-clés
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs244
Aura - Démo
• M. Satyanarayanan“Research Challenges in Project Aura” Keynote address at the Ninth IEEE International Symposium on High Performance Distributed Computing, Pittsburgh, PA, August 2000
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs245
Oxygen
• MIT
– http://www.oxygen.lcs.mit.edu/
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs246
Visitorguide
Multilingualspeech
Softwareproxy
Intelligent MeetingRoom - collaboration
Oxygen - quelques démos
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs247
Sentient Computing project
• AT&T Laboratories Cambridge – http://www.cl.cam.ac.uk/research/dtg/research/wiki/
SentientComputing
– Sentient Computing : using sensors and resource status data to maintain a model of the world which is shared between users and applications
• Bats– small (8cm long) devices, with a unique id, an ultrasound
transmitter and a radio transceiver, 2 buttons and a beeper
– located by a central controller, and the world model stores the correspondence between bats and their owners, applying algorithms to the bat location data to determine the location of the person or object which owns it.
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs248
Sentient Computing project
• Objets CORBA– données de localisation et d’état des ressources
– tout objet du monde réel (personnes, ordinateurs, téléphones..)
• Chaque objet fournit état + API de l’objet réel• Les objets gèrent eux-mêmes les transactions, les
sessions, la distribution des événements...
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs249
Sentient - Applications
• A browser allows a user to see what's going on anywhere in the building
• Phone someone by pointing at his representation on the 3D model
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs250
Sentient - Applications
• Follow-Me : simply teleport my desktop to another PC using my bat, and then teleport away when I'm finished.
• Smart Posters : create a `button' anywhere in the environment. a button canbe a small space anywhere in a building .To press the button, the user just puts the bat on the label and clicks a button on the bat.
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs251
Portolano
• http://portolano.cs.washington.edu– an infrastructure based on mobile agents that interact with
applications and users. Data-centric routing automatically migrates data among applications on the user’s behalf. Data thus becomes “smart,” and serves as an interaction mechanism within the environment.
• User Interfaces, new interaction modes• Network Infrastructure• Distributed Services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs252
Portolano - Mots-clés
• Connecting the physical world to the world-wide information fabric– instrument the environment: sensors, locators, actuators
– universal plug-and-play at all levels: devices to services
– optimize for power: computation partitioning, communications optimization
– intermittent communication: new networking strategies
• Get computers out of the way– don’t interfere with user’s tasks
– diverse task-specific devices with optimized form-factors
– wide range of input/output modalities
• Robust, trustworthy services– high-productivity software development
– self-organizing, active middleware, maintenance, monitoring
– higher-level, meaningful services
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs253
Endeavour
• The Endeavour Expedition: Charting the Fluid Information Utility
• specification, design, and prototype implementation of a planet-scale, self-organizing, and adaptive Information Utility.
• ability of processing, storage, and data management functionality to arbitrarily and automatically distribute itself among Information Devices and along paths through scalable computing platforms integrated with the network infrastructure, compose itself from pre-existing hardware and software components, satisfy its needs for services while advertising the services it can provide to others, while negotiating interfaces with service providers while adapting its own interfaces to meet "contractual" interfaces with components it services.
– http://endeavour.cs.berkeley.edu/
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs254
Conclusion
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs255
Conclusion
• Trois niveaux de recherche très actifs– Évolution rapide des matériels et systèmes : RFID, capteurs
– Déploiement de réseaux : IPv6, réseaux ad hoc
– Systèmes d’information : middleware adaptatifs contenu et services
Efforts de standardisation
• Approches transversales pour ces trois niveauxEffort en terme de cadre de conception et de développement
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs256
Perspectives
• Autres domaines intéressés par les systèmes pervasifs– Interactions homme-machine (interactions multimodales
entre autres)
– Agents logiciels (pro-action)
– Intelligence artificielle (décision et prévision)
• L’informatique pervasive va avoir un grand impact sur notre vie de tous les jours et sur la société– Conséquence économiques, sociales et culturelles?
F. Laforest, master Informatique de Lyon M2R spécialité TIWe - Systèmes d'information pervasifs257
Perspectives
• Améliorations– Context-awareness et adaptabilité
– Architectures P2P, grilles dynamiques
• Lacunes– Outils de test – simulation – validation
– Pro-action
Recommended