Die Präsentation wird geladen. Bitte warten

Die Präsentation wird geladen. Bitte warten

AG Kao Betriebssysteme und Verteilte Systeme Institut für Informatik Universität Paderborn Discovery von LBS Seminararbeit von Florian Pepping im Rahmen.

Ähnliche Präsentationen


Präsentation zum Thema: "AG Kao Betriebssysteme und Verteilte Systeme Institut für Informatik Universität Paderborn Discovery von LBS Seminararbeit von Florian Pepping im Rahmen."—  Präsentation transkript:

1 AG Kao Betriebssysteme und Verteilte Systeme Institut für Informatik Universität Paderborn Discovery von LBS Seminararbeit von Florian Pepping im Rahmen der Projektgruppe Location Based Services for Wireless Devices

2 PG LBS: Discovery von LBS Folie 2 Florian Pepping, November Wieso: Service Discovery zusammen mit LBS unserer PG? Service Discovery, was steckt denn dahinter? Weshalb: Anzahl netzfähiger mobiler Endgeräte steigt rasant Netzwerke stellen immer mehr Dienste zur Verfügung User erwartet einfache Nutzung der Dienste - sofort und überall Darum: Service Discovery als leistungsfähiges Konzept für diese Aufgaben Service Discovery als Verbindung Dienst Dienstbenutzer Service Discovery als zentrale Dienstverwaltung / Middleware Motivation

3 PG LBS: Discovery von LBS Folie 3 Florian Pepping, November Agenda Dienst und Service Discovery Protokoll Protokolle Service Location Protocol (SLP) Salutation Universal Description, Discovery and Integration (UDDI) Universal Plug and Play (UPnP) Java Intelligent Network Infrastructure (JINI) Fazit & Bewertung

4 PG LBS: Discovery von LBS Folie 4 Florian Pepping, November Dienst und Service Discovery Protokoll Was ist ein Dienst? (nach [CBL]) abgeschlossene (Programm-) Einheit mit spezieller Aufgabe kann Menge von Funktionen besitzen wird von Dienstanbieter erbracht und von Dienstnutzer verwendet Infrastruktur-, Mobilitäts-, Informations- und Ortungsdienste Wozu Service Discovery Protokolle? (nach [CBL]) Stellen einen Mechanismus für das dynamische Entdecken der verfügbaren Dienste in einem Netz und für das Sammeln der notwendigen Informationen zur Verfügung: Suchen und Browsen des Dienstes Auswahl des richtigen Dienstes Benutzen des Dienstes Dienstvermittler DienstnutzerDienstanbieter : Registrierung 2: Dienstanfrage 3: Antwort 4: Dienstnutzung nach ([MCFS])

5 PG LBS: Discovery von LBS Folie 5 Florian Pepping, November Service Location Protokoll (SLP 1) Service Location Protokoll Standard der Internet Engineering Task Force Definition durch eine Reihe von RFCs Protokoll zum Auffinden von Diensten in einem TCP/IP-Netzwerk Dreistufiges Konzept der SLP Architektur: Benutzeragenten (User Agents): Ausführung des Service Discovery Client bezogen Dienstagenten (Service Agents): Anmeldung der Dienste mit ihren Positionen und Eigenschaften beim Verzeichnisagenten Verzeichnisagenten (Directory Agents): Service-Adressen und -Informationen der Service Agents sammeln Beantworten der Service-Anfragen der User Agents Multicast

6 PG LBS: Discovery von LBS Folie 6 Florian Pepping, November Zwei unterschiedliche Ausführungsmodi 1)Directory Agent verfügbar Sammeln aller Serviceinformationen der Service Agents und User Agents durch Unicast Service Agent gibt Dienst-Infos an Directory Agent (Service Advertisement) User Agents suchen nach Services (Service Requests) Service Location Protokoll (SLP 2) User Agent Directory Agent Service Agent Service Registration Service Ack Service Request Service Reply Service

7 PG LBS: Discovery von LBS Folie 7 Florian Pepping, November Service Location Protokoll (SLP 3) Zwei unterschiedliche Ausführungsmodi 2)Directory Agent nicht verfügbar User Agents melden sich per Multicast bei allen SLP Multicast-Adressen wird der Dienst eines Service Agent nachgefragt Sendung einer Antwort zum User Agent Service Agents melden sich periodisch bei allen SLP Multicast-Adressen User Agents finden neue Dienste User Agent Service Agent Service Request Service Reply SLP nach: [MC], [SDuJ], [SLP], [SDP], [SLPTW], [TS]

8 PG LBS: Discovery von LBS Folie 8 Florian Pepping, November Salutation (1) Salutation (Anrede, Begrüßung) Von Salutation Consortium entwickelt mehr als 20 Unternehmen beteiligt (z. B. IBM, HP, Xerox, Toshiba,…) Ziel: Kommunikation zwischen den Komponenten Kommunikationstechnologie protokollunabhängig Endgeräteunabhängigkeit Architektur von Salutation Server SM-API Salutation Manager Transport Manager Handy SM-API Salutation Manager Transport Manager Transport Layer Salutation Protocol Transport Layer Salutation Protocol Desktop Salutation Manager Transport Man. Laptop Salutation Application Interface Transport Man. Server

9 PG LBS: Discovery von LBS Folie 9 Florian Pepping, November Salutation (2) Hauptkomponente: Salutation Manager (SLM) Funktionalität eines Service Brokers und Dienstregistrierung Dienste anfragen durch Clients anschließend Anforderung der Dienste beim SLM Aufgaben des Salutation Managers: Service Registry: Salutation Manager verwaltet Registry; Clients können Dienste an- und abmelden Minimalanforderung: Speicherung von Infos über Dienste, die an den SLM angeschlossen sind Optional: Speicherung von Infos über Dienste anderer SLMs Zentrales Verzeichnis für alle Dienste im Netzwerk möglich Service Discovery: SLM findet Dienste, die bei anderen SLMs registriert sind Vergleich von Attributen über Salutation Manager Protocol

10 PG LBS: Discovery von LBS Folie 10 Florian Pepping, November Salutation (3) Aufgaben des Salutation Managers: Service Availability: Client Applikation fordert SLM auf, periodisch Verfügbarkeit der Dienste abzufragen Status-Check zwischen SLM der Client Applikation und SLM des Dienstes Service Session Management Aufbau der Datenleitung zwischen Client und gefundenem Dienst 3 Modi: Native Mode (Native Data in Native Packtes) Emulated Mode (Native Data in Salutation Packets) Salutation Mode Object Locate & Load Salutation kann Doc Storage Service beschreiben Doc Storage kann Page Images, Gerätetreiber, Anwendungsdaten,... enthalten Find-and-Bind Salutation nach: [SDuJ], [Salutation], [SDP], [TS]

11 PG LBS: Discovery von LBS Folie 11 Florian Pepping, November Universal Description, Discovery and Integration (UDDI) Universal Description, Discovery and Integration Verzeichnisdienst für dynamische Webservices Entwicklung von IBM, Ariba, Sun und Microsoft (Konsortium von 300 Firmen) standardisiert das Publizieren und Finden von Infos über Webservices verwaltet und speichert Metadaten über Webservices und ist selbst Webservice öffentliches Register (wie DNS für Business Anwendungen) Eintragen/Abfragen von Daten über SOAP-basierte APIs (nur 40 Operationen) konzipiert für das WWW mit stark heterogenen Strukturen baut auf TCP/IP, XML, SOAP und WSDL Architektur White Pages - Namensregister, sortiert nach Namen - Auflistung der Anbieter mit Detailangaben - Kontaktinformationen (Telefon, Telefax, Mail,…) - textuelle Beschreibung UDDI Yellow Pages - Branchenverzeichnis - Spezifische Suche nach Taxonomien (Ort, Dienstart) - Kategorisierung (Gelbe Seiten) - Verweist auf White Pages Green Pages - Technische Details zu den angebotenen Web Services und zu ihrem Zugang - WSDL-Beschreibungen - Binding Informationen Web-Service UDDI nach: [CBL], [UDDI], [WebS]

12 PG LBS: Discovery von LBS Folie 12 Florian Pepping, November Universal Plug and Play (UPnP 1) Universal Plug and Play Entwicklung durch UPnP-Forum; gegründet 1999 Über 450 Mitglieder, Microsoft an der Spitze Ziel: Erweiterung der Plug & Play-Idee für den Fall, dass Geräte über TCP/IP miteinander verbunden sind Steuerung über Webbrowser oder UPnP-Applikation UPnP nutzt TCP, IP, UDP, HTTP und XML UPnP-System besteht aus drei Grundkomponenten: den UPnP fähigen Geräten den Diensten den (Benutzer-) Kontrollpunkten (Control Point) einer optionalen zentralen Komponente (SSDP-Proxy)

13 PG LBS: Discovery von LBS Folie 13 Florian Pepping, November Universal Plug and Play (UPnP 2) Service Discovery und Vernetzung in 5 Schritten: 1)Discovery and Advertisement Voraussetzung: gültige IP-Adresse Addressing melden der Existenz des Dienstes im Netz via UDP-Multicast Control Points fragen bei Beitritt verfügbare Dienste ab Basis ist das Secure Service Discovery Protocol (SSDP) Datenaustausch über Discovery-Messages Messages enthalten nur sehr wenig Information (effizient) SSDP-Proxy Service Registrierung [3] Service Antwort [4] Service Antwort [4] Client Server Multicast- Anfrage [1][2] 1)Control Point sendet Dienst-Anfrage über Multicast ins Netz 2)passender Service antwortet über UDP 3)Dienst registiert sich bei der zentralen Kommponente SSDP-Proxy 4)Dienstanfragen durch Proxy beantwortet

14 PG LBS: Discovery von LBS Folie 14 Florian Pepping, November Universal Plug and Play (UPnP 3) Service Discovery und Vernetzung in 5 Schritten: 2)Description Dienstbeschreibung in Form von XML-Dokumenten Download via HTTP von der mitgeteilten URL Inhalt: u. a. Hersteller, Statusvariablen, Dienstangebot, Steuerungs-URLs 3)Control Control Point sendet Controle Messages an Control URL des Dienstes Steuerung der Dienstes über SOAP-Mitteilungen in XML-Format Dienst sendet Ergebniswerte als Antwort 4)Eventing Verhinderung ständiger Statusabfragen von Diensten Dienst gibt Updates der Statusvariablen bekannt Control Point kann Event-Messages bei jeder Statusänderung abonnieren Basis: General Event Notification Architecture von XML (GENA) 5) Presentation Alternative zu Steuerungs- und Statusmeldungen Presentation-URL aus Beschreibung erlaubt Zugriff auf Dienst via Webbrowser ermöglicht erweiterte Steuerung und Beschreibung UPnP nach: [MC], [SDuJ], [SDP], [UPnP]

15 PG LBS: Discovery von LBS Folie 15 Florian Pepping, November Java Intelligent Network Infrastructure Java Intelligent Network Infrastructure (JINI) von SUN definierter Standard (Satz von APIs) für die Kommunikation von Geräten und Diensten untereinander Veröffentlicht im Januar 1999 (aktuell Version 2.0_002) Paradigma: Network Plug & Play, vereinfachte Netzwerknutzung Ziele von JINI Spontane Netzwerkbildung und –auflösung Verwaltung von Diensten und Clients im Netzwerk selbstständige Discovery brauchbarer Dienste Vereinfachung der Netzwerkadministration Mobile Computing (Positionswechsel ohne Anbindungsverlust) Selbstheilung

16 PG LBS: Discovery von LBS Folie 16 Florian Pepping, November Java Intelligent Network Infrastructure Architektur Logische Schicht (Middleware) über die einzelnen JVMs Kommunikation über Netzwerk (RMI oder proprietäres Protokoll) Applikationen setzen auf JINI auf Architektur bestehend aus drei Teilen 1)Infrastruktur (Verwaltung / Verteilung) 2)Programmiermodell (Diensterstellung) 3)Services Prozessor Betriebssystem Java 2 Plattform JVM, RMI, Netzwerk, Sicherheit, Serialisierung JINI Infrastruktur: Discovery, Join, Lookup Prog.-Modell: Events, Transaktionen, Leasing JINI Services Druckdienste Kartendienste ÖPNV Prozessor Betriebssystem Java 2 Plattform JVM, RMI, Netzwerk, Sicherheit, Serialisierung JINI Infrastruktur: Discovery, Join, Lookup Prog.-Modell: Events, Transaktionen, Leasing JINI Services Druckdienste Kartendienste ÖPNV Netzwerk Service-Protokoll Discovery, Join, Lookup Java-RMI

17 PG LBS: Discovery von LBS Folie 17 Florian Pepping, November Java Intelligent Network Infrastructure Zentrale Konzepte Lookup und Discovery besteht aus drei Protokollteilen: Lookup-Service findet und löst Dienste auf, registriert sie identifiziert Dienste über Typ-Match-Regeln oder Attribute Kontaktvermittlung zwischen Dienstanbieter und -nutzer Leasing erzielen Dynamik und automatische Konfiguration des Netzwerkes Zugriff auf Dienst nur gültig für bestimmte Zeitperiode (Lease erneuern) Remote-Events verteilte Events, basierend auf Java-Bean Events Abonnement von Events wird unterstützt als Dienst implementiert Discovery (Client und Server) Join (Server) Lookup (Client) Corba/JINI

18 PG LBS: Discovery von LBS Folie 18 Florian Pepping, November Java Intelligent Network Infrastructure Ablauf Web-ServerLookup-ServiceDruck-Service 1 Discovery 3 Registrierung LS-Service-Proxy 2 8 Use-Service Lookup Discovery Druck-Service-Proxy 7 JINI nach: [JAOS], [JINI], [JINI 01], [JINISun], [SDuJ], [SDP]

19 PG LBS: Discovery von LBS Folie 19 Florian Pepping, November schwaches Sicherheitskonzept keine bzw. schlechte Interoperatibilität beschränkte Funktionalität, nur für TCP/IP Spezifikation enthält keine Sicherheitsaspekte vor allem auf Vermittlung von Hardware ausgerichtet nur für TCP/IP-Netzwerke Spezifikation enthält keine Sicherheitsaspekte keine attributbasierte Suche von Diensten keine Interoperabilität setzt JVM auf jedem Endgerät voraus nur für TCP/IP-Netzwerke (im Standard) ressourcenhungrig (CPU, Speicher) unübersichtliche, komplizierte API von JINI Service Discovery Protokolle Vor- und Nachteile Service Location Protokoll einfache Implementierung geeignet auch für beschränkte HW flexibel und skalierbar Salutation netzwerkunabhängig Kollaboration von SM untereinander unabhängig von Programmiersprache Universal Plug & Play XML für Protokollstandardisierung aufbauend auf Protokollen niedriger Netzwerkebene (effizient) mit XML gute Dienstbeschreibung möglich JINI großer Funktionsumfang plattformunabhängig/objektorientiert Sicherheitskonzept (Policy/Sandbox) Mobile-Code Feature

20 PG LBS: Discovery von LBS Folie 20 Florian Pepping, November Fazit & Bewertung Anforderungen/Möglichkeiten unserer PG Service Discovery im Rahmen der PG zentrale Komponente problemlos verfügbar, eher Routingprobleme keine Bandbreitenprobleme, da über WLAN Endgeräte genügend leistungsfähig (Laptop, PDA) genaue Dienstspezifikation und Dienstsuche über Attribute wichtig Plattformunabhängigkeit und Mobile-Code erforderlich Ist Sicherheitskonzept notwendig? Klärung erforderlich Mögliche Systemarchitektur - Client wählt im Browser - Splash-Screen mit Dienstangebot und Softwareinstallationsaufforderung Zentrale Komponente DienstClient regelm. Dienststatus abfragen Dienst registrieren Client registrieren Software installieren best. Dienst anfordern Dienstadresse mitteilen Interaktion Dienst / Client

21 PG LBS: Discovery von LBS Folie 21 Florian Pepping, November Fazit & Bewertung Möglichkeiten für unsere Projektgruppe: Vorschlag 1: Java Intelligent Network Infrastructure Plattformunabhängigkeit ist gegeben gute Kompatibilität mit anderen Anforderungen (z. B. Java-Applets) zahlreiche erweiterte Funktionalitäten (z. B. Transaktionen) Restriktionen wie leistungsschwache Endgeräte, geringe Bandbreite und die benötigten JVMs kommen im Projekt nicht zum Tragen javabasiertes Sicherheitskonzept Vorschlag 2: Universal Plug & Play setzt auf vorhandene, etablierte Technologien auf (HTTP, XML, TCP, IP) gute Dienstbeschreibung mit Hilfe von XML möglich bietet erweiterten Funktionsumfang (Eventing, Presentation) Konzept ohne zentrale Komponente kein Sicherheitskonzept vorhanden Übersicht

22 PG LBS: Discovery von LBS Folie 22 Florian Pepping, November Fragen & Diskussion Vielen Dank für Ihre Aufmerksamkeit. Bitte jetzt um Fragen und Diskussion

23 PG LBS: Discovery von LBS Folie 23 Florian Pepping, November Quellenangaben [CBL]:Computer-Base Lexikon[SDuJ]:C. Hanin & B. Penz ComputerBase Medien Gbr, 2004Service Discovery und Jini ang. Informatik, SS 2002 [JAOS]:Jini Architectural Overview[SLP]:Homepage der OpenSLP-Gruppe Sun Microsystems, 1999http://www.openslp.orghttp://www.openslp.org [JINI]:Homepage der JINI-Gruppe[SLPTW]:Charles Perkins Technical Whitepaper, Sun [JINI 01]:Scott Oaks & Henry Wong:[UDDI]:Homepage der UDDI-Gruppe JINI in a Nutshell, Deutsche Ausgabehttp://www.uddi.orghttp://www.uddi.org OReilly Verlag Köln, 1. Auflage 2001 [JINISun]:Homepage von Jini bei SUN[UPnP]:Homepage des UPnP Forums [MC]:Developing Ad-Hoc Component[TS]:Tine Schneider: Systems for Mobile ComputingBasistechnologien für spontane Hauptseminar Prof. Dr. BroyVernetzung, Seminar SS 2001 TU München, WS 2000 / 2001Eberhard-Karls-Uni-Tübingen [MCFS]:Antonino Leanza:[SDP]:Mirco Tegler: Fachseminar Mobile ComputingService Discovery Protokolle Juni 2000Seminar technische Informatik, Januar 03 [Salutation]:Homepage Salutation Consortium [WebS]:Ralf Heese: für webservicebasierten Zugriff auf standortbez. Informationen Diplomarbeit Humboldt Universität Berlin

24 PG LBS: Discovery von LBS Folie 24 Florian Pepping, November Background Backgroundfolien mit zusätzlichen Informationen

25 PG LBS: Discovery von LBS Folie 25 Florian Pepping, November Background Übersicht über die Protokolle ProtokollSLPSalutationUPnPJini Entwickler / Organisation IETF Salutation Consortium MicrosoftSun Entstehungsjahr StatusIn EntwicklungIm Gebrauch Übergang Marktreife Übergang Marktreife Lizenz / Spezifikation Open Source Open Source / kontrolliert Open Source / kontrolliert ProgrammierspracheUnabhängig Java NetzwerktransportTCP/IPUnabhängigTCP/IPUnabhängig Dienst-BeschreibungString Java Interface Server-Registrierung Authenticated Multicast nur lokal Multicast / Unicast Multicast mit TCP-Callback Code-Mobilitätnein Java-RMI SicherheitsmodellneinJa Java-basiert HW / SW - Anforderungen TCP / IPkeine TCP / IP, HTTP, XML Java, JVM JRE 1.2 > Interoperation mit anderen SDPs neinjaneinja

26 PG LBS: Discovery von LBS Folie 26 Florian Pepping, November Background Broadcast, Multicast, Unicast Broadcast Rundruf ins Netz mit Versand von Paketen an alle Teilnehmer Verwendung, wenn Empfängeradresse unbekannt jeder Empfänger muss über Verarbeitung entscheiden ein Broadcast wird von Routern nicht weitergeleitet Multicast Punkt-zu-Gruppe Übertragung (Mehrpunktverbindung) gleichzeitiger Versand von Nachrichten an mehrere Teilnehmer oder geschlossene Teilnehmergruppe Pakete werden an Router/Switch kopiert und dann weitergeleitet Unicast Punkt-zu-Punkt Verbindung ohne Zwischenvermittlung Pakete werden von Routern/Switches weitergeleitet nach [CBL]

27 PG LBS: Discovery von LBS Folie 27 Florian Pepping, November Background Unterschiede JINI – Corba Corba beruht auf dem Client-Server-Paradigma. Fokus liegt mehr auf verteilten Objekten als auf verteilten Diensten vermittelt Methodenaufruf, wenn Server aktuell erreichbar setzt eng gekoppeltes, homogenes System voraus; arbeit in heterogenem System nur mit hohem Aufwand möglich sprachunabhängig JINI beruht auf dem Dienst-Paradigma. Clients beschreiben den Dienst, den sie benötigen bietet Ausweichmöglichkeiten, wenn Dienst nicht erreichbar informiert, wenn Dienst wieder bzw. neu verfügbar (Eventing) unterstützt proaktive Fehlererkennung (Leasing) bietet weitere Dienste wie Transaktionsmechanismen usw.

28 PG LBS: Discovery von LBS Folie 28 Florian Pepping, November Background Service Desription in SLP Service Description Setzt sich zusammen aus Service URL Service Scheme (Menge von Schlüssel-Wert-Paaren) Service Requests wird Query hinzugefügt (formuliert als boolsches Prädikat) Beispiel Service Schema eines Netzwerkdruckers: service:printer://lj4050.tum.de:1020/queue1 scopes = profs, pg-lbs, administrator printer-name = lj4050 printer-model= HP LJ4050 N printer-location = Room 409 color-supported = false pages-per-minute = 9 sides-supported = one-sided, two-sided Beispielprädikat: (&(q 6))

29 PG LBS: Discovery von LBS Folie 29 Florian Pepping, November Universal Description, Discovery and Integration (UDDI) Grundlegende Architektur von UDDI Service Anbieter Service Nutzer Service Verzeichnis Binden (Kommunikation über SOAP-Nachrichten) PublizierenFinden WSDL UDDI Kommunikation über SOAP Universal Description, Discovery and Integration als öffentliches Verzeichnis

30 PG LBS: Discovery von LBS Folie 30 Florian Pepping, November Background Definition Web-Service Definition Web-Service Ein Web-Service (Web Dienst) ist eine Software, die auf einem Server bereitgestellt wird, eine bestimmte Funktionalität als Blackbox zur Verfügung stellt, über gängige Internet-Protokolle unter Benutzung von SOAP zugreifbar ist und über eine mit WSDL beschriebene Schnittstelle verfügt. Eigenschaften von Web-Services implementieren keine neuen Systeme Fassade für bestehende Systeme, um auf diese einfach zuzugreifen nutzen gängige Internet-Protokolle wie HTTP(S), SMTP und FTP verwenden XML-Standards SOAP und WSDL unabhängig von Programmiersprachen und Betriebssystemen zwei Erscheinungsformen: entfernte Prozeduraufrufe (synchron) oder Messaging (asynchron)


Herunterladen ppt "AG Kao Betriebssysteme und Verteilte Systeme Institut für Informatik Universität Paderborn Discovery von LBS Seminararbeit von Florian Pepping im Rahmen."

Ähnliche Präsentationen


Google-Anzeigen