1 / 33

Modelle und Speicherungsstrukturen für Kontextinformationen

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

dewei
Télécharger la présentation

Modelle und Speicherungsstrukturen für Kontextinformationen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Modelle und Speicherungsstrukturen für Kontextinformationen Seminar „Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen“ Ansgar Lamersdorf

  2. Agenda • Motivation • Kontextmodelle • Indexstrukturen • Anwendung: Nexus • Motivation • Kontext-bewusste Anwendungen • Ort als Kontext • Kontextmodelle • Indexstrukturen • Nexus Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen

  3. 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

  4. 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

  5. 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

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

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

  8. 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

  9. 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

  10. 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

  11. 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

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

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

  14. 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

  15. 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

  16. 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

  17. 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

  18. 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

  19. 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

  20. 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

  21. 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

  22. 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

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

  24. 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

  25. 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

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

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

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

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

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

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

  32. 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

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

More Related