330 likes | 488 Views
Modelle und Speicherungsstrukturen für Kontextinformationen. Seminar „Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen“. Ansgar Lamersdorf. Agenda. Motivation Kontextmodelle Indexstrukturen Anwendung: Nexus. Motivation Kontext-bewusste Anwendungen
E N D
Modelle und Speicherungsstrukturen für Kontextinformationen Seminar „Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen“ Ansgar Lamersdorf
Agenda • Motivation • Kontextmodelle • Indexstrukturen • Anwendung: Nexus • Motivation • Kontext-bewusste Anwendungen • Ort als Kontext • Kontextmodelle • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Motivation • Eigenschaften kontextbewusster Anwendungen: • Kontext registrieren (Sensoren) • Kontextdaten speichern • Kontextdaten abrufen • Auf Kontext reagieren • Verhalten abhängig von aktuellen und gespeicherten Kontextinformationen • Aktuelle Kontextdaten müssen mit gespeicherten Daten verglichen werden können • Objekte werden abhängig von Kontextdaten gesucht • Motivation • Kontext-bewusste Anwendungen • Ort als Kontext • Kontextmodelle • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Das 1670 erbaute Hauptschloss wurde errichtet von… Die im Jahre 1720 angebaute Kirche galt zunächst… Beispiel • Beispiel einer mobilen kontextbewussten Anwendung: Tourist Guide • Angezeigte Informationen variieren nach Kontext (hier: Ort) • Motivation • Kontext-bewusste Anwendungen • Ort als Kontext • Kontextmodelle • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Anforderungen an kontextbewusste Anwendungen • Kontextdaten • Speichern • Erkennen • Abrufen • Vergleichen • ... • Verknüpfung von Objekten mit Kontextdaten • Objekt an Kontext speichern • Objekte nach ihrem Kontext suchen • Kontextbeziehungen zwischen Objekten erkennen • Motivation • Kontext-bewusste Anwendungen • Ort als Kontext • Kontextmodelle • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Arten von Kontextdaten • Viele verschiedene Informationen können als Kontextdaten relevant sein • Ort • Zeit • Temperatur • Helligkeit • Interessen des Nutzers • Zustand des Nutzers (Hunger, Müdigkeit…) • … • Unterschiedliche Datentypen • Dimensionalität • Komplexität • Änderungsrate • … • Hier: Fokussierung auf Ort als Kontext • Motivation • Kontext-bewusste Anwendungen • Ort als Kontext • Kontextmodelle • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Ort als Kontext • Gründe für Festlegung auf Ort: • Am weitesten verbreitete Art von Kontextdaten • Besonders wichtig bei mobilen Systemen • Gut zu modellierendes Merkmal (etwa im Vergleich zu ‚Interessen‘) • Mehrdimensionale Daten (2 oder 3), erfordern spezielle Zugriffsarten • Motivation • Kontext-bewusste Anwendungen • Ort als Kontext • Kontextmodelle • Indexstrukturen • Nexus • Wdh: Verknüpfung von Objekten mit Kontextdaten • Objekt an Kontext speichern • Objekte nach ihrem Kontext suchen • Kontextbeziehungen zwischen Objekten erkennen • Konkret: Objekte mit Ort als Kontext • Speichere Objekt ‚Drucker‘ in Raum 220 • Welche Objekte liegen an den Koordinaten 200/300/50? • Welche Objekte vom Typ ‚Drucker‘ befinden sich in 20 m Entfernung von Objekt ‚Hans‘? • Was ist die Entfernung zwischen ‚Hans‘ und ‚Heinz‘? Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Notwendige Elemente kontextbewusster Anwendungen • Kontextmodell • Welche Eigenschaften des Kontexts (Ortes) werden gespeichert? – Welche Abfragen sind möglich? • Speicherungsstrukturen • Wie kann der Kontext (Ort) effizient gespeichert werden? • Wie kann schnell (logarithmisch) nach dem Kontext gesucht werden? • Motivation • Kontext-bewusste Anwendungen • Ort als Kontext • Kontextmodelle • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Kontextmodelle • Legen fest, welche Eigenschaften des Kontexts betrachtet werden können • Zu speichernde Attribute • Informationen, die später verwendet werden können • Bestimmen wie Kontextdaten gespeichert und abgerufen werden können • Verknüpfungen von Daten mit Objekten • Verknüpfungen von Daten untereinander • Räumliche Modelle legen fest • Über welche Attribute wird der Ort gespeichert? • Wie präzise wird der Ort gespeichert? • Wie wird ein Objekt einem Ort zugeordnet? • Zwei grundsätzliche Arten von Kontextmodellen • Geometrisch • Hierarchisch (symbolisch, topologisch) • Motivation • Kontextmodelle • Geometrisch vs. Hierarchisch • Semantic Spaces • Hu&Lee • Aura • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Geometrische Modelle • Beispiel: Geographische Koordinaten (z.B. GPS) • Längengrad • Breitengrad • Höhe über NN • Ort eindeutig durch (2 / 3) Koordinaten beschrieben • Einfache geometrische Berechnungen • Beziehungen zwischen Orten (z.B. Pythagoras für Entfernung) • Umrechnungen zwischen verschiedenen Systemen • Motivation • Kontextmodelle • Geometrisch vs. Hierarchisch • Semantic Spaces • Hu&Lee • Aura • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Hierarchische Modelle • Beispiel Adresse • Land – Postleitzahl – Stadt – Straße – Nummer • Hierarchische Anordnung von Räumen • Jedes Objekt in einem Raum • gleichzeitig in allen übergeordneten Räumen • Unterschiedliche Arten: • Jedes Objekt in nur einem direkt übergeordneten Raum • Baum • Objekte können in mehreren direkt übergeordneten Räumen liegen • Gerichteter Azyklischer Graph • Beziehungen zwischen Objekten durch gemeinsame übergeordnete Räume TU KL • Motivation • Kontextmodelle • Geometrisch vs. Hierarchisch • Semantic Spaces • Hu&Lee • Aura • Indexstrukturen • Nexus Gebäude 32 Gebäude 36 Gebäude 48 1. Stock 2. Stock 3. Stock 4. Stock Raum 36/330 Raum 36/332 Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Geometrisch vs. Hierarchisch • Motivation • Kontextmodelle • Geometrisch vs. Hierarchisch • Semantic Spaces • Hu&Lee • Aura • Indexstrukturen • Nexus • Auch Mischformen zwischen beiden Modellen möglich Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Semantic Spaces • Beispiel für ein hierarchisches Kontextmodell • Barry Brumitt & Steven Shafer (Microsoft Research) • Zwei Arten von Orten: • Space • Ausdehnung • Kann weitere Orte enthalten • Typ (z.B. Zimmer, Gebäude) • Atom • Ohne weitere Ausdehnung • Nicht weiter unterteilbar • Ort eines einzelnen Objektes (Person, Gegenstand…) • Beziehungen zwischen Orten: • Containment: Space x Space • Raum ist in anderem Raum vollständig enthalten (keine Überlappung) • Presence: Atom x Space • Objekt liegt in Raum • Ort kann mehreren Orten direkt untergeordnet sein • Keine baumartige Hierarchie • Motivation • Kontextmodelle • Geometrisch vs. Hierarchisch • Semantic Spaces • Hu&Lee • Aura • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Semantic Spaces • Realisiert als Datenbankschema • Motivation • Kontextmodelle • Geometrisch vs. Hierarchisch • Semantic Spaces • Hu&Lee • Aura • Indexstrukturen • Nexus • Ort beweglicher Objekte einfach feststellbar • Computer, an dem Person eingeloggt ist • Netzwerkknoten, mit dem PDA verbunden ist • Schnelle Suche nach nächstliegenden Objekten (z.B. Drucker) • Objekte im selben Space • Rekursiv in übergeordneten Spaces • Aber: Wenig Informationen • Aussagen über Lage von Objekten im Space • Entfernungsangaben Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Semantic Spaces • Darstellung im Editor (zur Administration) • Angelehnt an Windows Explorer • Problem: Baum-darstellung, obwohl keine Baumstruktur • Motivation • Kontextmodelle • Geometrisch vs. Hierarchisch • Semantic Spaces • Hu&Lee • Aura • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Hybride Kontextmodelle • Hybride Modelle: Vorteile beider Typen • Hierarchisch: einfach und schnell • Geometrisch: genaue Berechungen • Hierarchische Anordnung • Koordinaten oder Entfernungsangaben • Beispiel: zwei hybride Modelle • Anreicherung eines hierarchischen Modells mit Entfernungen • Hierarchische Koordinatensysteme • Motivation • Kontextmodelle • Geometrisch vs. Hierarchisch • Semantic Spaces • Hu&Lee • Aura • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Hu&Lee Kontextmodell • Reichert hierarchisches Kontextmodell mit Entfernungsangaben an • Grundelemente • Ort • Exit • Zwischen zwei Orten • Aus dem Modell heraus • Beispiel: • Orte: Zimmer, Flur • Exit: Tür zwischen Zimmer und Flur • Hierarchie zwischen Exits: • Exits aus dem Modell heraus • Untergeordnete Exits sind • Weiter entfernt vom „Haupt-Ausgang“ • durch nur einen Ort erreichbar • Orts-Hierarchie analog • Motivation • Kontextmodelle • Geometrisch vs. Hierarchisch • Semantic Spaces • Hu&Lee • Aura • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
c b e j f h d a g Hu&Lee Kontextmodell • Beispiel: • Motivation • Kontextmodelle • Geometrisch vs. Hierarchisch • Semantic Spaces • Hu&Lee • Aura • Indexstrukturen • Nexus i • Entlang der Exit-Hierarchie werden zusätzlich Entfernungen gespeichert • Entfernungen zwischen zwei beliebigen Exits berechenbar • Kürzester Weg kann herausgefunden werden Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Aura-Kontexmodell • Aura-Projekt an der Carnegie Mellon University • Ordnet verschiedene Koordinatensysteme hierarchisch untereinander an • Grundelemente • Raum (z.B. Zimmer) • Gebiet (z.B. W-LAN Empfangsbereich) • Punkt • Jeder Raum verfügt über eigenes Koordinatensystem • Ursprung und Drehung des Koordinatensystems in Koordinaten des übergeordneten Raumes • Koordinatensysteme ineinander überführbar • Entfernungen zwischen beliebigen Punkten berechenbar • Motivation • Kontextmodelle • Geometrisch vs. Hierarchisch • Semantic Spaces • Hu&Lee • Aura • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Aura-Kontexmodell • Motivation • Kontextmodelle • Geometrisch vs. Hierarchisch • Semantic Spaces • Hu&Lee • Aura • Indexstrukturen • Nexus • Identifikation von Elementen durch Aura Location Identifier (ALI) • Raum: „ali://TU-KL/36/3/330“ • Punkt: „ali://TUi-KL/36/3/330#(1,4,5)“ • Gebiet: „ali://TU-KL/36/3/330#{(0,0),(1,0),(2,3)-(2,3)}“ • Verschiedene Operationen auf ALIs definiert (hierarchisch & geometrisch) Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Indexstrukturen • Bieten schnellen (≈logarithmischen) Zugriff auf Objekte über Kontextinformationen • Räumliche Zugriffe: • Welche Objekte liegen am Ort XY? • Welche Objekte liegen in 50 m Entfernung von Z? • Spezielle Zugriffspfade notwendig • B(*)-Bäume nicht anwendbar, da mehrdimensional (Koordinaten) • Vor allem wichtig für geometrische Modelle, bei hierarchischen Modellen oft nicht nötig • Herkömmliche Strukturen (Semantic Spaces) • Eigene Zugriffspfade (ALI) • Motivation • Kontextmodelle • Indexstrukturen • UB-Tree • Quad-Tree • R-Tree • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
UB-Tree • Grundprinzip: • Mehrdimensionale Koordinaten werden auf eindimensionale umgerechnet • Eindimensionale Koordinaten werden mit B*-Baum indiziert • Umrechnung der Koordinaten mit Z-Verfahren • Bitweise Verschränkung der einzelnen Koordinaten zu einer einzigen Zahl • Suchen, Einfügen, Löschen genau wie in Datenbanken mit B*-Bäumen • Motivation • Kontextmodelle • Indexstrukturen • UB-Tree • Quad-Tree • R-Tree • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Z-Verfahren • Bitweise Verschränkung: Abwechselnd Bits der einzelnen Koordinaten • Beispiel: (10010,11101) → (1101011001) • Motivation • Kontextmodelle • Indexstrukturen • UB-Tree • Quad-Tree • R-Tree • Nexus • Analog dreidimensionale Koordinaten • Problem: Benachbarte Koordinaten oft keine benachbarten Zahlen • Bereichssuche aufwändig Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
2 1 3 4 Quad-Tree • Grundprinzip: • Abwandlung binärer Suchbäume • Zwei Dimensionen statt einer • Binärer Suchbaum: • Jeder Knoten hat maximal 2 Kinder • Links alle kleineren Werte, rechts alle größeren • Quad-Tree: • Jeder Knoten hat maximal 4 Kinder • Nordosten, Nordwesten, Südwesten, Südosten • Motivation • Kontextmodelle • Indexstrukturen • UB-Tree • Quad-Tree • R-Tree • Nexus 1 2 3 4 Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
A F B E D B E C A C Quad-Tree • Motivation • Kontextmodelle • Indexstrukturen • UB-Tree • Quad-Tree • R-Tree • Nexus D F • Einfügen, Suchen: Rekursives Absteigen im Baum • Balancierung notwendig, um logarithmische Zugriffe sicherzustellen • Drei Dimensionen: Oct-Tree Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
R-Tree • Grundprinzip: • B*-Baum mit Rechtecken statt Zahlenbereichen • Nicht nur Punkte sondern auch ausgedehnte Objekte • Aufbau: • Objekte in Blättern • Minimal umschließendes Rechteck • Übergeordnete Knoten: alle untergeordneten Rechtecke umschließend • Rechtecke können sich überlappen • Motivation • Kontextmodelle • Indexstrukturen • UB-Tree • Quad-Tree • R-Tree • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
R1 R4 R5 21 22 23 24 R2 R6 R7 G1 G2 G3 G4 11 12 13 14 R3 R8 R9 R1 R2 R3 R4 R5 R8 R9 R6 R7 23 24 G3 G4 13 14 21 22 G1 G2 11 12 R-Tree • Beispiel: • Motivation • Kontextmodelle • Indexstrukturen • UB-Tree • Quad-Tree • R-Tree • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
R-Tree • Suchen logarithmisch • Rekursiv in den Rechtecken, die den gesuchten Bereich überschneiden • Suche in mehreren Unterbäumen (Überlappung) • Einfügen und Löschen aufwändig • Einfügen: Übergeordnete Rechtecke vergrößern • Löschen: Übergeordnete Rechtecke verkleinern • Knoten entsprechend Füllgraden angepasste werden (wie B*-Baum) • Erweiterung auf drei Dimensionen möglich • Quader statt Rechtecke • Motivation • Kontextmodelle • Indexstrukturen • UB-Tree • Quad-Tree • R-Tree • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Vergleich der verschiedenen Strukuren • UB-Tree • Nach Umrechnung sehr schnelle Operationen • Nur Punktsuche effizient möglich • Motivation • Kontextmodelle • Indexstrukturen • UB-Tree • Quad-Tree • R-Tree • Nexus Mächtigkeit Komplexität der Zugriffe • Quad-Tree • Tiefere Bäume • Einfügen und Löschen komplexer durch Balancieren • Auch begrenzt effiziente Bereichssuche • R-Tree • Ausgedehnte Objekte • Bereichssuche • Suchen z.T. in mehreren Zweigen • Einfügen, Löschen sehr komplex Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Anwendung eines Kontextmodells • Nexus-Projekt • Sonderforschungsbereich Universität Stuttgart • Ziel: gemeinsames Weltmodell für ortsbasierte Anwendungen • Allgemeines offenes Kontextmodell • Lokale Modelle einzelner Anwendungen können integriert werden • Gemeinsames XML-Schema • Geometrisches Kontextmodell • Objekte durch Koordinaten gespeichert • „Augmented World Model“: Modell erweitert durch virtuelle Objekte (z.B. Litfasssäule) • Motivation • Kontextmodelle • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Architektur von Nexus • Daten verteilt auf verschiedenen Kontext Servern • Föderationsschicht • Registriert Kontext Server und integriert Daten • Leitet Anfragen an zuständige Server weiter • Konsistenz der Daten • Motivation • Kontextmodelle • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Klassifikation von Kontextdaten • Viele Arten von Kontextdaten unterstützt • Klassifizierung nach • Update Rate • Zugriffshäufigkeit • Motivation • Kontextmodelle • Indexstrukturen • Nexus • Unterschiedliche Kontext Server nach Klasse • Sensoren • Datenbanken • Indexstrukturen • Kontextserver als Wrapper • Festgelegtes XML-Austauschformat Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Zusammenfassung • Kontextmodelle • Legen fest, welche Attribute gespeichert werden • Hierarchische vs. Geometrische • Hybride Modelle • Indexstrukturen • UB-Tree, Quad-Tree, R-Tree • Mächtigkeit vs. Komplexität • Anwendung: Nexus • Integration verschiedener Modelle • Klassifikation von Kontextdaten • Motivation • Kontextmodelle • Indexstrukturen • Nexus Vielen Dank! Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen