Universität Karlsruhe Effektive und effiziente Dienstsuche und -nutzung in Ad-hoc-Netzen Birgitta König-Ries, Michael Klein, Philipp Obreiter Universität Karlsruhe (TH) Institut für Programmstrukturen und Datenorganisation http://www.ipd.uni-karlsruhe.de/DIANE 1/28 Unser Szenario Mehr über SQL? Anna Offizielle SQL Folien 1-2-4 Zusammenfassung über 2PC Übungsblatt zu UML 2/28 Übungsblatt zu SQL Lösung zum SQL-Übungsblatt Arbeiten zu Ad-hoc-Netzen Application Transport Nur wenige Arbeiten auf den höheren Ebenen: Wie können Dienste effektiv gefunden werden? Wie können Dienste effizient genutzt werden? Vielzahl von Arbeiten auf der technischen Ebene: Wie kann zuverlässige Nachrichtenübertragung erreicht werden? TCP Tahoe, TCP Reno, TCP SACK, etc. IP Network Data Link MAC 3/28 Wie werden Nachrichten von A nach B geroutet? AODV, LAR, DSR, ZRP, STAR, etc. Wie werden Adressen Geräten zugeordnet? IP, Mobile IP Wie wird auf das physikalische Medium zugegriffen? 802.11, CSMA, MACA, FSCS-CSMA, TDMA, etc. Fragestellungen bei DIANE Dienstbeschreibung Übungsblatt zu SQL • semantisch • maschinell auswertbar Dienstfindung • dynamisch • dezentral • effizient Dienstintegration • transparente Kombination von Diensten Motivation • Kompensation für Knoten 4/28 SQL + = SQL Stand der Forschung: Dienstbeschreibung und Dienstfindung Technologien & Architekturen SLP, Jini, Corba Trading Service, SSDP, UDDI, SDP, SDL, JXTA Search Architektur oft nicht geeignet für Ad-hoc-Netzwerke semantisches Matchen sehr beschränkt Semantische Beschreibung Semantic Web, Ontologien RDF(S), DAML-S nicht architekturgebunden noch keine Verfahren für das Matchen noch keine Plattformen, Werkzeuge, … 5/28 Stand der Forschung: Dienstfindung Ansätze auf der Netzwerkschicht Routingverfahren tabellengesteuert (DSDV,…) bedarfsgesteuert (AODV, DSR,…) lokationsgesteuert (Terminode,…) inhaltsgesteuert (SIENA,…) nicht direkt verwendbar 6/28 Geschichtete Dienstontologie Schritt 1: Schichte Ontologien, um domänenspezifische, aber dennoch stets gleich strukturierte Dienstbeschreibungsschablonen zu erhalten. I. Obere Dienstontologie "Wie ist eine Dienstbeschreibung allgemein aufgebaut?" Dienst Eingabe Ausgabe Dokument II. Ontologien für Dienstkategorien "Was sind typische Ein-/Ausgaben für einen Dienst dieser Kategorie?" z.B. Informationsdienst, Einkaufsdienst, Problemlösedienst etc. Dokument Informationsdienst Autor Titel Inhalt Rel. Modell Rel. Algebra Datenbanken SQL SELECT 7/28 UPDATE III. Domänenontologien "Mit welchem Vokabular können die Objekte beschrieben werden?" z.B. Schuhe, Autos, Datenbanken, etc. Dienstbeschreibungsinstanz Schritt 2: Instanziiere eine konkrete Dienstbeschreibung aus der entstandenen Schablone. Dienstontologie Dienst xyz 8/28 abc Dienstbeschreibungsinstanz in RDF oder DAML Folgt der Dienstontologie Aber flexibel: Lässt unbekannte Werte weg und fügt zusätzliche Attribute hinzu Verwendet standardisiertes Vokabular (LOM, DC) Dienstsuche Grundproblem ähnlich wie beim Routen, aber auf logischer Ebene Lösungsansatz: Logische Gruppierung von ähnlichen Diensten Dienstringe Dienstcluster 9/28 Dienstringe Gruppiere Geräte, die ähnliche Dienste anbieten, zu einem Ring Ähnlichkeit kann anhand der Dienstbeschreibung ermittelt werden Offizielle Folien zu SQL Übungsblatt zu SQL SQL Übungsblatt zu SQL Offizielle Folien zu SQL Beispiele zu GROUP_BY Beispiele zu GROUP_BY 10/28 Ein ausgezeichneter Knoten dient als Zugangspunkt zum Ring (SAP) Hierarchie von Dienstringen Übungsblatt zu SQL? Übungsblatt zu SQL relationale Algebra Papier zur Projektion SQL Normalisierung Rel. Modell 11/28 Multi-Layer Clusters Grundidee: Clustere Geräte, die logisch und physikalisch benachbart sind Gruppiere Cluster zu Clustern höherer Ordnung 12/28 Semantische Nähe database isSubTopicOf relational model object oriented model isSubTopicOf SQL rel. algebra OQL isDescribedBy Zwei Dienste/Cluster sind semantisch ähnlich, gdw. sie zum selben Term in der Ontologie gehören 13/28 Physikalische Nähe Gerät a Nachbar_von Gerät b gdw. b in a's Funkreichweite ist b a Cluster A ist Nachbar_von Cluster B gdw. es ein Gerät m1 in A und ein Gerät m2 in B gibt, so dass m1 Nachbar_von m2 ( Gatewayknoten) A m1 14/28 B m2 Clustering (1) Schritt 1: Bilde ein Cluster auf Ebene 1 aus Geräten, die a) semantisch ähnlich (=durch den selben ontologischen Term beschrieben) b) und benachbart sind (=verbundener Erreichbarkeitsgraph) insert.doc projection.pdf select.doc sql2.ppt update.doc division.doc sql1.ppt sql3.ppt 15/28 relAlgebra1.ppt selection.pdf Clustering (2) Schritt i Bilde ein Cluster auf Ebene i aus Clustern der Ebene (i-1), die a) semantisch ähnlich sind (= zum gleichen Oberbegriff in der Ontologie gehören) b) benachbart sind Relational Model SQL SQL Rel. Algebra 16/28 Dienstfindung Wir hätten gerne: Funktion Device findService(Service s) die nach Geräten sucht, die Dienst s anbieten von jedem Gerät aufgerufen werden kann jeden beliebigen Dienst s finden kann lokal implementierbar ist Wir haben: sehr einfache Funktionen auf den Geräten: 1. überprüfe, ob Dienstanfrage s erfüllt werden kann 2. sende Nachricht an erreichbares Gerät Clusterung von Geräten Grundidee: Schichtenarchitektur 17/28 Benutzersicht Lücke Systemsicht Beispiel Ontologie findService( ? 18/28 ) Beispiel 19/28 Ontologie findService( ) findService( ) Beispiel Ontologie findService( Mögliche Verbreitungsverfahren: • Fluten • zyklisch • direkt 20/28 ) Beispiel Ontologie findService( sendMessage( 21/28 ) ) Beispiel Ontologie findService( sendMessage( 22/28 ) ) Beispiel Ontologie findService( 23/28 ) sendMessage( ) findService( ) Beispiel Ontologie findService( 24/28 ) sendMessage( ) findService( ) findService( ) sendMessage( ) Beispiel Ontologie findService( sendMessage( 25/28 ) ) Beispiel 26/28 Ontologie Zusammenfassung Fokus: Dienstnutzung in Ad-hoc-Netzen Bisher beschäftigt mit: Dienstbeschreibung Geschichtete Ontologie Dienstsuche Ringe, Cluster In nächster Zeit: Weiterentwicklung der Verfahren Evaluierung der Verfahren durch Simulation Auch noch auf dem Programm: Motivation zur Diensterbringung Kombination von Diensten 27/28 Vielen Dank! Vielen Dank für Ihre Aufmerksamkeit! Nähere Informationen gibt es auf unserer Projektseite: http://www.ipd.uni-karlsruhe.de/DIANE Gibt es noch Fragen? 28/28