1 studienarbeit entwurf und implementierung eines upnp-browsers stefan budde betreuer: bernhard...

14
1 Studienarbeit Studienarbeit Entwurf und Entwurf und Implementierung eines Implementierung eines UPnP-Browsers UPnP-Browsers Stefan Budde Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann Betreuer: Bernhard Thurm, Verena Kahmann

Upload: sonje-stockhausen

Post on 05-Apr-2015

122 views

Category:

Documents


6 download

TRANSCRIPT

Page 1: 1 Studienarbeit Entwurf und Implementierung eines UPnP-Browsers Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann

1

StudienarbeitStudienarbeit

Entwurf und Implementierung eines Entwurf und Implementierung eines

UPnP-BrowsersUPnP-Browsers

Stefan BuddeStefan Budde

Betreuer: Bernhard Thurm, Verena KahmannBetreuer: Bernhard Thurm, Verena Kahmann

Page 2: 1 Studienarbeit Entwurf und Implementierung eines UPnP-Browsers Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann

2

ÜbersichtÜbersicht

Kurze Einführung in UPnPKurze Einführung in UPnP

Siemens UPnP ImplementierungSiemens UPnP Implementierung

Aufgabe und resultierende ProblemeAufgabe und resultierende Probleme

Implementierung des BrowsersImplementierung des Browsers

Page 3: 1 Studienarbeit Entwurf und Implementierung eines UPnP-Browsers Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann

3

Was ist UPnP?Was ist UPnP?

UPnP = “Universal Plug and Play”UPnP = “Universal Plug and Play” Spezifikation zur Service-Erkennung und Service-Spezifikation zur Service-Erkennung und Service-

Nutzung in einem NetzwerkNutzung in einem Netzwerk betriebssystem- und implementierungsunabhängigbetriebssystem- und implementierungsunabhängig basiert auf Standard-Protokollen basiert auf Standard-Protokollen funktioniert in Ad-hoc- und stationären funktioniert in Ad-hoc- und stationären

NetzwerkenNetzwerken

Page 4: 1 Studienarbeit Entwurf und Implementierung eines UPnP-Browsers Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann

4

UPnP ArchitekturUPnP Architektur Client / Server – Architektur:Client / Server – Architektur:

Server (Devices)

Clients (Control Points)

Page 5: 1 Studienarbeit Entwurf und Implementierung eines UPnP-Browsers Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann

5

Wie funktioniert UPnP?Wie funktioniert UPnP?

Adressierung

Erkennung

Beschreibung

Benachrichtigung Steuerung Präsentation

Page 6: 1 Studienarbeit Entwurf und Implementierung eines UPnP-Browsers Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann

6

Siemens UPnP StackSiemens UPnP Stack

Java - ImplementierungJava - Implementierung

com.siemens.upnp

com.siemens.upnp.controlpoint

com.siemens.upnp.devicehost

Aufteilung in 3 Gruppen bzw. PackagesAufteilung in 3 Gruppen bzw. Packages

Page 7: 1 Studienarbeit Entwurf und Implementierung eines UPnP-Browsers Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann

7

UPnP SucheUPnP Suche

Per SSDP, Multicast UDPPer SSDP, Multicast UDP

M-SEARCH * HTTP/1.1HOST: 239.255.255.250:1900MAN: "ssdp:discover"MX: seconds to delay responseST: search target

Kaum Einschränkungen der Suchergebnisse!Kaum Einschränkungen der Suchergebnisse!

Alle Geräte (ssdp:all) Nach upnp:rootdevice Bestimmter Device-Typ Nach Device UUID Bestimmter Service-Typ

Beispiele für Anwendungen: Beispiele für Anwendungen:

–NetzwerkkameradienstNetzwerkkameradienst

–BilderdienstBilderdienst

–Gebäude/LampenGebäude/Lampen

Page 8: 1 Studienarbeit Entwurf und Implementierung eines UPnP-Browsers Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann

8

Aufgaben des ServiceBrowsersAufgaben des ServiceBrowsers

Erweiterung der UPnP-SuchmöglichkeitenErweiterung der UPnP-Suchmöglichkeiten– Attributensuche und FilterungAttributensuche und Filterung

Probleme?Probleme?

– AktualitätsproblemAktualitätsproblem

Steuerung der gefundenen ServicesSteuerung der gefundenen Services

Page 9: 1 Studienarbeit Entwurf und Implementierung eines UPnP-Browsers Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann

9

Erster LösungsansatzErster Lösungsansatz

NotifizierungsmechanismusNotifizierungsmechanismus– Fortlaufende Information über Änderungen der Fortlaufende Information über Änderungen der

ZustandsvariablenZustandsvariablen– Anmeldung auf ÄnderungenAnmeldung auf Änderungen

Nachteile: Nachteile: – Nur bei Variablen mit BenachrichtigungNur bei Variablen mit Benachrichtigung– SkalierbarkeitSkalierbarkeit

Page 10: 1 Studienarbeit Entwurf und Implementierung eines UPnP-Browsers Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann

10

Zweiter LösungsansatzZweiter Lösungsansatz

Polling-VerfahrenPolling-Verfahren– Service-Beschreibung nach Service-Beschreibung nach relatedStateVariablerelatedStateVariable durchsuchen durchsuchen

– SOAP-Aktion beim Filterprozess, um den SOAP-Aktion beim Filterprozess, um den aktuellen Wert abzufragenaktuellen Wert abzufragen

NachteileNachteile– Passende SOAP-Aktion u.U. nicht ermittelbar Passende SOAP-Aktion u.U. nicht ermittelbar – SkalierbarkeitSkalierbarkeit

Page 11: 1 Studienarbeit Entwurf und Implementierung eines UPnP-Browsers Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann

11

ImplementierungImplementierung Filter: Laden und Speichern möglichFilter: Laden und Speichern möglich

Aufbau eines FiltersAufbau eines Filters

– Service-Typ-spezifischService-Typ-spezifisch

– Filterbedingungen implizit “UND”-verknüpftFilterbedingungen implizit “UND”-verknüpft

Aufbau der FilterbedingungenAufbau der Filterbedingungen

<Zustandsvariable> <Operator> <Text>

„Location“ EQUALS „Room 10“

Page 12: 1 Studienarbeit Entwurf und Implementierung eines UPnP-Browsers Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann

12

FilterungsprozessFilterungsprozessService-Typ gleich?

Enthält der Service die Zustandsvariable?

Filterbedingung wahr?

Noch Filterbedingungen vorhanden?

Filterbedingungen erfüllt! Filterbedingungen nicht erfüllt!

„Location“ EQUALS „Room 10“

Page 13: 1 Studienarbeit Entwurf und Implementierung eines UPnP-Browsers Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann

13

ScreenshotScreenshot

Page 14: 1 Studienarbeit Entwurf und Implementierung eines UPnP-Browsers Stefan Budde Betreuer: Bernhard Thurm, Verena Kahmann

14

ZusammenfassungZusammenfassung

Implementierung des ersten Implementierung des ersten LösungsansatzesLösungsansatzes

Attributensuche möglichAttributensuche möglich TestergebnisseTestergebnisse Fragen?Fragen?