Modelle und Speicherungsstrukturen für Kontextinformationen

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

description

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 - PowerPoint PPT Presentation

Transcript of Modelle und Speicherungsstrukturen für Kontextinformationen

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

primarily

rarely usage for selection 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!