Requêtes Continues orientées Servicesdans les Systèmes Pervasifs
Yann Gripay , Frédérique Laforest , Jean-Marc Petit
Laboratoire d’InfoRmatique en Image et Systèmes d’informationLIRIS UMR 5205 CNRS – INSA de Lyon / Université Claude Bernard Lyon 1 /
Université Lumière Lyon 2 / Ecole Centrale de LyonINSA de Lyon, Bâtiment Blaise Pascal
7, avenue Jean Capelle – 69621 Villeurbanne cedexhttp://liris.cnrs.fr
25 Octobre 2007
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Systèmes Pervasifs
Vue unifiée d’un Environnement hétérogène• Ordinateurs de Bureau• Serveurs• Terminaux mobiles• Capteurs• Actionneurs
Difficultés de concevoir des Applications pervasives
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 2 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Contexte et Objectifs
Abstraction des Couches SystèmesVision centrée Données• Représentation homogène
• Données relationnelles• Flux de Données• Ensembles de Services
• Langage déclaratif (à la SQL)• Requêtes continues orientées Service• Optimisation
Simplification de la Conception d’Applications pervasives
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 3 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Scenario
Surveillance d’un Entrepôt• Détection des Températures anormales• Alertes avec Photos des Zones
Environnement• Base de Données administrative• Capteurs de Température• Caméras de Surveillance
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 4 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Plan
1 Introduction
2 Données & Requêtes
3 Traitement des Requêtes
4 Conclusion
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 5 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Plan
1 Introduction
2 Données & Requêtes
3 Traitement des Requêtes
4 Conclusion
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 6 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Tables dynamiques
Représentation homogène• Données relationnelles• Flux de Données
Dynamicité• Flux d’Insertion/Suppression datés• Relation instantanée [J. Widom et al., Projet STREAM]• Conversion Relation ⇔ Flux
Exemple pour le Scenario• Table Responsable( Zone, Nom ) comme Relation• Table Capteur( Zone, Température ) comme Flux
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 7 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Requêtes continues
Langage CQL [J. Widom et al., Projet STREAM]
SELECT Capteur.Zone, AVG(Capteur.Température)FROM Capteur [60s]
GROUP BY Capteur.ZoneHAVING AVG(Capteur.Température) < 18.0
Table CapteurDate Température Zone@16 17.5 A@25 18.5 B@25 16.0 C. . . . . . . . .
Table Résultat @25Date Zone Température@16 A 17.5@25 C 16.0
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 8 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Requêtes continues
SELECT Capteur.Zone, AVG(Capteur.Température)FROM Capteur [60s]
GROUP BY Capteur.ZoneHAVING AVG(Capteur.Température) < 18.0
Table CapteurDate Température Zone@16 17.5 A@25 18.5 B@25 16.0 C@27 19.5 A@27 15.0 D@29 17.0 B. . . . . . . . .
Table Résultat @30Date Zone Température@29 B 17.75@25 C 16.0@27 D 15.0
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 8 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Tables dynamiques étendues
Intégration des Services• Attributs de type “Référence à un Service”• Attributs virtuels• Binding Patterns
• [Florescu et al., SIGMOD’99]• [Goldman, Widom, SIGMOD’00]
Exemple pour le Scenario• Interface iCaméra
• évaluerCoût( localisation ) : réel• prendrePhoto( localisation ) : image
• Table Caméra( Service, Cible, Coût, Photo )• iCaméra(Service) : évaluerCoût( Cible )⇒ ( Coût )• iCaméra(Service) : prendrePhoto( Cible )⇒ ( Photo )
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 9 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Requêtes continues orientées Services
SELECT Caméra.Service, Caméra.Cible,Caméra.Coût, Caméra.Photo
FROM CaméraWHERE Caméra.Cible = "A"
Table CaméraDate Service@10 Caméra2@10 Caméra3@23 Caméra9
Table Résultat @25Date Service Cible Coût Photo@10 Caméra2 A 0.5 img1.jpg@10 Caméra3 A 1.5 img2.jpg@23 Caméra9 A 0.9 img3.jpg
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 10 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Requête simple pour le Scénario
SELECT ISTREAM Capteur.Zone, Capteur.Température,Caméra.Photo
FROM Capteur [now], CaméraWHERE Caméra.Cible = Capteur.Zone
AND Capteur.Température < 18.0
Date Service@10 Caméra2@10 Caméra3@23 Caméra9Date Temp. Zone@16 17.5 A@25 18.5 B@25 16.0 C. . . . . . . . .
Table Résultat @25Date Zone Temp. Photo@10 A 17.5 img1.jpg@10 A 17.5 img2.jpg@25 C 16.0 img3.jpg@25 C 16.0 img4.jpg@25 C 16.0 img5.jpg. . . . . . . . . . . .
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 11 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Requête optimisée pour le Scénario
SELECT ISTREAM Capteur.Zone, MIN(Température),Optimum.Photo
FROM Capteur [now], CaméraWHERE Caméra.Cible = Capteur.Zone
AND Capteur.Température < 18.0GROUP BY Capteur.ZoneCOLLAPSE Caméra.Photo
INTO OptimumUSING Caméra.Coût ASC
Extraction du Tupleoptimal par Groupe
Table Résultat @25Date Zone Temp. Photo@10 A 17.5 img1.jpg@25 C 16.0 img2.jpg. . . . . . . . . . . .
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 12 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Développement d’Applications pervasives
Vue homogène de l’Environnement sous forme de Tables• Relation Responsable( Zone, Nom )• Flux Capteur( Température, Zone )• Relation étendue Caméra( Service, Cible, Coût, Photo )
Complexité de l’Environnement masquéeApplications pervasives• Requêtes continues orientées Services• Gestion du Résultat des Requêtes
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 13 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Plan
1 Introduction
2 Données & Requêtes
3 Traitement des Requêtes
4 Conclusion
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 14 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Exemple de Plan d’Exécution
SELECT ISTREAM Capteur.Zone,MIN(Température),Optimum.Photo
FROM Capteur [now], CaméraWHERE Caméra.Cible = Capteur.Zone
AND Capteur.Température < 18.0GROUP BY Capteur.ZoneCOLLAPSE Caméra.Photo
INTO OptimumUSING Caméra.Coût ASC
Table "Capteur"
Fenêtre [now]
Table "Caméra"
Invocation: évaluerCoût()
Aggregation (COLLAPSE)
Invocation: prendrePhoto()
IStream
Binding: évaluerCoût()
Binding: prendrePhoto()
Jointure (produit Cartésien)
Sélection: Température < 18.0
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 15 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Architecture
System Interface
QueryPlan Manager
Data SocketManager
Table Manager
StorageManager
Syst
em
Com
mand
Use
rC
om
mand
Data
I/O S
erv
ice C
alls
System Catalog
Service Manager
Query
System
Comm
and
TableCommand
ServiceCommand
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 16 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Implémentation
Prototype “SoCQ Processor”• C++ sous Linux / Interface en Java• Flux d’Eléments par Socket TCP/IP• Services sous forme de Scripts• Implémentation des différents
Opérateurs de RequêteExpérimentations• Requêtes simples• Requêtes optimisées
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 17 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Plan
1 Introduction
2 Données & Requêtes
3 Traitement des Requêtes
4 Conclusion
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 18 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Conclusion
Contributions• Représentation homogène des Sources de Données
• Tables relationnelles• Flux de Données• Ensembles de Services
• Requêtes continues orientées Services• Langage déclaratif• Optimisation & Exécution
Perspectives• Vérification de la Cohérence des Requêtes• Optimisation des Requêtes• Développement du Prototype• Gestion d’Evènements
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 19 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Positionnement
Requêtes continues• Projet STREAM [J. Widom et al., Université de Stanford ]• TelegraphCQ [S. Chandrasekaran et al., CIDR 2003]• . . .
Bases de Données de Capteurs• [P. Bonnet, P. Seshadri, ICDE’00]
Requêtes orientées Action• [W. Xue, Q. Luo, CIDR 2005]
Binding Patterns• [D. Florescu et al., SIGMOD’99]• [R. Goldman, J. Widom, SIGMOD’00]
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 20 / 21
Introduction Données & Requêtes Traitement des Requêtes Conclusion
Merci de votre Attention !
Yann Gripay – http://liris.cnrs.fr/yann.gripay SoCQs – BDA 2007 21 / 21