Post on 05-Apr-2015
Modelle und Speicherungsstrukturen für
Kontextinformationen
Seminar „Mobile und Kontextbewusste Datenbanktechnologien und
-anwendungen“
Ansgar Lamersdorf
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
Agenda
Motivation Kontextmodelle Indexstrukturen Anwendung: Nexus
•Motivation
Kontext-bewusste Anwendungen
Ort als Kontext
•Kontextmodelle
•Indexstrukturen
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
Beispiel
Beispiel einer mobilen kontextbewussten Anwendung: Tourist Guide Angezeigte Informationen variieren nach Kontext (hier: Ort)
Das 1670 erbaute Hauptschloss wurde errichtet von…
Die im Jahre 1720 angebaute Kirche galt zunächst…
•Motivation
Kontext-bewusste Anwendungen
Ort als Kontext
•Kontextmodelle
•Indexstrukturen
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
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‘?
•Motivation
Kontext-bewusste Anwendungen
Ort als Kontext
•Kontextmodelle
•Indexstrukturen
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
Notwendige Elemente kontextbewusster Anwendungen Kontextmodell
Welche Eigenschaften des Kontexts (Ortes) werden gespeichert? – Welche Abfragen sind möglich?
SpeicherungsstrukturenWie 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
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Gebäude 36
1. Stock 2. Stock 3. Stock 4. Stock
Raum 36/330
Raum 36/332
Gebäude 32 Gebäude 48
TU KL
•Motivation
•Kontextmodelle
Geometrisch vs. Hierarchisch
Semantic Spaces
Hu&Lee
Aura
•Indexstrukturen
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
Geometrisch vs. Hierarchisch
Geometrisch Hierarchisch
+ einfache geometrische Berechnungen möglich
+ Enthaltens- und Nachbarschaftsbeziehungen sehr schnell berechenbar
+ leichte Integration verschiedener Datenquellen
+ Geringe Datenmengen
+ einfache Attribute - Viele Berechnungen (z.B. Entfernung) nicht möglich
- Sehr schnell große Datenmengen
- Verschiedene Modelle nur schwer integrierbar
Auch Mischformen zwischen beiden Modellen möglich
•Motivation
•Kontextmodelle
Geometrisch vs. Hierarchisch
Semantic Spaces
Hu&Lee
Aura
•Indexstrukturen
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
Semantic Spaces Realisiert als Datenbankschema
Space
PK ID
Name Typ
Atom
PK,FK1 ID
Name
Containment
Presence
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
•Motivation
•Kontextmodelle
Geometrisch vs. Hierarchisch
Semantic Spaces
Hu&Lee
Aura
•Indexstrukturen
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
Hu&Lee Kontextmodell
Beispiel:
i
ec b j
d a
g
f h
Corridor 1
Corridor 2
4203
4204
4202
4201
lift
toilet
a
b
c
d
e
f g
h
i
j
Corridor 0
Entlang der Exit-Hierarchie werden zusätzlich Entfernungen gespeichert Entfernungen zwischen zwei beliebigen Exits
berechenbar Kürzester Weg kann herausgefunden werden
•Motivation
•Kontextmodelle
Geometrisch vs. Hierarchisch
Semantic Spaces
Hu&Lee
Aura
•Indexstrukturen
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
Aura-Kontexmodell TU KL
Geb 32 Geb 48 Geb 36
1. Stock 2. Stock 3. Stock
Shape Extension Origin Rotation
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)
•Motivation
•Kontextmodelle
Geometrisch vs. Hierarchisch
Semantic Spaces
Hu&Lee
Aura
•Indexstrukturen
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
Z-Verfahren Bitweise Verschränkung: Abwechselnd Bits der
einzelnen Koordinaten Beispiel: (10010,11101) → (1101011001)
0 1 2 3 4 5 6 7
0 0 1 4 5 16 17 20 21
1 2 3 6 7 18 19 22 23
2 8 9 12 13 24 25 28 29
3 10 11 14 15 26 27 30 31
4 32 33 36 37 48 49 52 53
5 34 35 38 39 50 51 54 55
6 40 41 44 45 56 57 60 61
7 42 43 46 47 58 59 62 63
Analog dreidimensionale Koordinaten Problem: Benachbarte Koordinaten oft keine benachbarten
Zahlen Bereichssuche aufwändig
•Motivation
•Kontextmodelle
•Indexstrukturen
UB-Tree
Quad-Tree
R-Tree
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
12
3 41 432
•Motivation
•Kontextmodelle
•Indexstrukturen
UB-Tree
Quad-Tree
R-Tree
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
Quad-Tree
Einfügen, Suchen: Rekursives Absteigen im Baum Balancierung notwendig, um logarithmische
Zugriffe sicherzustellen Drei Dimensionen: Oct-Tree
A
C
D
BF
E
D F
A
B E C•Motivation
•Kontextmodelle
•Indexstrukturen
UB-Tree
Quad-Tree
R-Tree
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
R-Tree Beispiel:
23 2421
G1
13 1411
G2 G3 G4
12
22
R1
R2
R3
R4 R5
R6 R7
R8 R9
R1 R3R2
R4 R5
21 22
23 24
R6 R7
G1 G2
G3 G4
R8 R9
11 12
13 14
•Motivation
•Kontextmodelle
•Indexstrukturen
UB-Tree
Quad-Tree
R-Tree
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
Vergleich der verschiedenen Strukuren
Mächtigkeit
Komplexität der Zugriffe
UB-Tree Nach
Umrechnung sehr schnelle Operationen
Nur Punktsuche effizient möglich
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
•Motivation
•Kontextmodelle
•Indexstrukturen
UB-Tree
Quad-Tree
R-Tree
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
Modelle und Speicherstruk-
turen für Kontext-
informationen
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
application
tier
federation tier
service tier
register
Application A Application A
Nexus Node Area Service Register
Context Server
Context Server Context
Server
query notification
notification query
•Motivation
•Kontextmodelle
•Indexstrukturen
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
Klassifikation von Kontextdaten
Viele Arten von Kontextdaten unterstützt Klassifizierung nach
Update Rate Zugriffshäufigkeit
low high update frequency
prim
arily
rarely
usa
ge for se
lectio
n Temperature
Position of a person
Name of a person
Identifier
Position of a room
Number of a room
Color
Unterschiedliche Kontext Server nach Klasse Sensoren Datenbanken
Indexstrukturen
Kontextserver als Wrapper Festgelegtes XML-
Austauschformat
•Motivation
•Kontextmodelle
•Indexstrukturen
•Nexus
Seminar: Mobile und Kontextbewusste Datenbanktechnologien und -anwendungen
Modelle und Speicherstruk-
turen für Kontext-
informationen
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!