Netzwerke. Ubiquitous Computing (Ubiquitäre Informationstechnologien) Vorlesung im WS 02/03. Bluetooth Inquiry. Netzwerke. Intra-Body Kommunikation

Ähnliche Dokumente
Ubiquitous Computing. (Ubiquitäre Informationstechnologien) Vorlesung im WS 08/09

Ubiquitous Computing. (Ubiquitäre Informationstechnologien) Vorlesung im WS 05/06

Softwareentwicklung in verteilten Umgebungen, Teil 6 Discovery (Coulouris et al., Kapitel 16) Dieter Schmalstieg. Dieter Schmalstieg SVU Discovery

Ubiquitous Computing. (Ubiquitäre Informationstechnologien) Vorlesung im WS06/07

Ubiquitous Computing. (Ubiquitäre Informationstechnologien) Vorlesung im WS 06/07

Multiuser Client/Server Systeme

Wiederholung: Beginn

6 Seminar "Informations- und Kommunikationssysteme" Unterteilung des Vortrags. Das Lookup Service Teil 1. Einführung und Discovery Protocols

Webservices. 1 Einführung 2 Verwendete Standards 3 Web Services mit Java 4 Zusammenfassung. Hauptseminar Internet Dienste

Praktikum aus Softwareentwicklung 2. Web Services. Java Praktikum SS 2010

CORBA-Konzept. Ziele. Common Object Request Broker Architecture CORBA. Plattformunabhängige Kommunikation Transparente Verteilung von Objekten

VS3 Slide 1. Verteilte Systeme. Vorlesung 3 vom Dr. Sebastian Iwanowski FH Wedel

JINI Security & Scalability. JINI Security

Service Discovery in Ad-hoc Netzen

Digitale Sprache und Video im Internet

Client/Server-Systeme

Microsoft.NET und SunONE

SOAP Integrationstechnologie für verteilte Middlewarearchitekturen?

Java RMI Remote Method Invocation

Gliederung. 1. Einleitung (1) 1. Einleitung (3) 1. Einleitung (2)

Eclipse Equinox als Basis für Smart Client Anwendungen. Christian Campo, compeople AG, Java Forum Stuttgart 2007

XML-RPC, SOAP und Web Services. Jörn Clausen

SAP NetWeaver Gateway. 2013

KNX EtherGate Eine universelle Plattform für KNX/IP Interfaces

Einführung. Internet vs. WWW

Java 2, Enterprise Edition Einführung und Überblick

Mobile und Verteilte Datenbanken

Desktop Management Interface und andere Initiativen der DMTF

Web Services. XML, WSDL, SOAP und UDDI Einblicke und Ausblicke J.M.Joller 1

Softwareschnittstellen

3.2 Der CORBA-Standard Common Object Request Broker Architecture

14. Fachtagung Mobilkommunikation Osnabrück

2. Architektur von Kommunikationssystemen

Message Oriented Middleware am Beispiel von XMLBlaster

Netzwerk Technologien in LabVIEW

Kap. 3 Verteilte Objektverwaltung

Multimediatechnik / Video

Verteilte Systeme - 1. Übung

Web Services Monitoring

IPv6 Vorbereitungen auf die neuen IP-Adressen

Inhaltsverzeichnis. Vorwort... Einleitung... Einführung... 1

Konfigurationsanleitung IGMP Multicast - Video Streaming Funkwerk / Bintec. Copyright 5. September 2008 Neo-One Stefan Dahler Version 1.

TCP/IP-Protokollfamilie

G JINI G.2 G.4. 1 Überblick. 1.1 Programmiermodell. 1.1 Programmiermodell (2) Diensteplattform für Java. Hintergrund. JINI Dienst.

Enterprise Applikation Integration und Service-orientierte Architekturen. 09 Simple Object Access Protocol (SOAP)

Java und XML 2. Java und XML

Workflow, Business Process Management, 4.Teil

Microsoft.NET. InfoPoint 8. Juni 2005 Stefan Bühler

Web Services: Inhalt

TCP/UDP. Transport Layer

SOA. Prof. Dr. Eduard Heindl Hochschule Furtwangen Wirtschaftsinformatik

Android VPN. Am Beispiel eines Netzwerktunnels für das Domain Name System (DNS) 1 Andiodine - Android DNS-VPN

Spring Dynamic Modules for OSGi Service Platforms

Web- und Gridservices zur Überwindung von Heterogenität. Bearbeiter: Lei Xia

Smartphone Entwicklung mit Android und Java

Evaluation of Java Messaging Middleware as a Platform for Software Agent Communication

Jini-Beispiel. für Übung zu Verteilter System. Yiyu Ma, Liying Wang, Rui Dong, Fang Shen

Multimediatechnik / Video

Mehr als Voice over IP Integrierte Sprach- und SIP. =====!" ==Systems= Wolfgang Mandok T-Systems Nova, Technologiezentrum

... relevante Ports für Streaming bzw. Remote Control!

Autor: Peter Seemann Seminar: Softwarearchitekturen Betreuer: Benedikt Meurer

Themen. Web Services und SOA. Stefan Szalowski Daten- und Online-Kommunikation Web Services

Mobile Application Development

SMS-API. Sloono Schnittstellenbeschreibung. Version 1.2 Stand


Decus IT Symposium 2006

Kerio Control Workshop

IAC-BOX Netzwerkintegration. IAC-BOX Netzwerkintegration IACBOX.COM. Version Deutsch

Spring Dynamic Modules for OSGi Service Platforms

Inhouse-Connectivity Spielt alles mit allem?

ObjectBridge Java Edition

SOAP Simple Object Access Protocol

Technologische Entwicklung von GIS und Internet der letzten Jahre

Aufbau des Internets. Nelson & Bruno Quellen: Netplanet

COMMON OBJECT REQUEST BROKER ARCHITECTURE. Dmytro Pyvovar Otto-von-Guericke Universität Magdeburg

Web Services - zu groß für eingebettete Systeme?

Webservices Ein Vortrag von:

Hauptseminar Internetdienste Prof. F. Schweiggert Sommersemester 2004 Universität Ulm. Web Services. Boto Bako

Java RMI, CORBA und Firewalls

Mistral Lan Router ISDN

Web-Konzepte für das Internet der Dinge Ein Überblick

Grundlagen des Grid Computing

SIRTCP/IP und Telekommunikations netze

Stefan Dahler. 1. Remote ISDN Einwahl. 1.1 Einleitung

7 Assemblies. Anwendungen (.exe) bzw. Anwendungskomponenten (.dll) für.net Portable Execution (PE) Files

Softwareentwicklung mit Enterprise JAVA Beans

Das Bluetooth Handbuch

D r e ISP S P i m K l K as a s s e s n e r n au a m H.Funk, BBS II Leer

Streaming Protokolle Jonas Hartmann

Fujitsu BeanConnect TM V3.0 Software 0 FUJITSU LIMITED 2013

ANNEX A - PROTOCOL IMPLEMENTATION CONFORMANCE STATEMENT (NORMATIVE)

Musterlösung Übungsblatt 1 Netzprogrammierung WS 05/06

Windows Azure für Java Architekten. Holger Sirtl Microsoft Deutschland GmbH

Check Point IPS. Agenda. Check Point & AlgoSec Security-Update 24./25. September «Eine Firewall ohne IPS ist keine Firewall»

IP Adressen & Subnetzmasken

Multicast Security Group Key Management Architecture (MSEC GKMArch)

Entwicklung von Web-Anwendungen auf JAVA EE Basis

Application Layer Gateway

Grundlagen der Rechnernetze. Internetworking

White Paper. Embedded Treiberframework. Einführung

Transkript:

Netzwerke Ubiquitous Computing (Ubiquitäre Informationstechnologien) Vorlesung im WS 02/03 Michael Beigl Universität Karlsruhe Institut für Telematik Telecooperation Office www.teco.uni-karlsruhe.de Einleitung Kabelgebundene Netzwerke Peripheriebusse für Multimedia Hausbussysteme zu Steuerung PowerLinie für Datenübertragung Kabellose Netzwerke IrDA Bluetooth Aktuelle Forschung Kontextnetze Body-, Oberflächen-Netzwerke 8-2 Bluetooth Inquiry Master Inquiry Page Connection Slave addr paging response FHS: time&id Slave Inquiry Scan Page Scan Connection Master läd Slaves ein: 32 hopping Sequenzen, je 10 ms Wechsel der Sequenz alle 1,28 Sekunden Slave Inquiry: hören auf 1 Frequenz Theoretisches Maximum des Ablaufs: ca 30 Sek. Aber: Einladung (Inquiry) auf Goodwill von Master 8-3 Netzwerke Einleitung Kabelgebundene Netzwerke Peripheriebusse für Multimedia Hausbussysteme zu Steuerung PowerLinie für Datenübertragung Kabellose Netzwerke IrDA Bluetooth Aktuelle Forschung Kontextnetze Body-, Oberflächen-Netzwerke 8-4 Intra-Body Kommunikation Intra-Body Kommunikation Zimmerman s Personal Area Network Tom Zimmerman, MIT MediaLab 1996 (jetzt Watson/IBM) Übertragung von Daten durch den menschlichen Körper Visitenkarte beim Händeschütteln übertragen Kleine Ströme, hohe Spannungen (~15V) Welle bewegt sich am Körper entlang, Körper ist Masse Vorteile berührungskontrollierte Verbindung energieeffizient Kopplung virtuelle/reale Welt Anwendungen Datenaufnahme durch Berührung Verbindung zwischen Mensch und Werkzeug bei mobiler Arbeit Historie der Interaktion mit Dingen z.b. automatisches lückenloses Protokoll für Laborexperimente: (automatische) Reproduzierbarkeit Personalisierung von Geräten sobald sie in die Hand genommen werden z.b. Shared Appliances in Arbeitsgruppen U.Washington: 56kbit Quelle: Portalano-Projekt University of Washington 8-5 8-6 1

Networked Surfaces Networked Surfaces Oberflächen als Übertragunsgmedium Projekt an der University of Cambridge z.b. Schreibtischoberfläche zur Vernetzung darauf abgestellter Geräte Kabeleliminierung PC + Peripherie Synchronisation mitgebrachter mobiler Geräte Stromversorgung abgestelleter Geräte Physikalische Verbindung Aufbau der Oberfläche aus Kacheln Runde Kontaktfläche als universelle Schnittstelle am Gerät Wahl der Geometrie sichert erforderliche Anzahl von Pins Surface Manager (keeps track of objects, allocates resources, controls tiles) To other networks F U N C T I O N B U S S E S T I L E C O N T R O L B U S Tile Controller Tile Controller Data Traffic Handshaking Object Object Controller e.g. Palm Pilot Computer Keyboard Mobile phone etc Quelle: F. Hoffmann, J. Scott LCE Group, U of Cambridge http://www-lce.eng.cam.ac.uk/ 8-7 8-8 Networked Surfaces Aufbau der Vorlesung Power for Tile Controllers Function Busses Tile Control Bus PCI Interface to PC acting as Surface Manager Surface Pads Tile Controller Object Pads Object Controller 1 2 3 4 Grundlagen Geräte Vernetzung Netzwerke Middleware Kontext 7 Anwendungen reale Welt 6 Interaktion 5 6 7 Geräte Kontext Information Interaktion Anwendungen 2 4 (vorverarbeitete) Information 5 3 Vernetzung digitale Welt 8-9 8-10 Vernetzung: höhere Schichten Einführung: Ubicomp-Netze Netze für Ubiquitous Computing Diversifikation von Endgeräten: mobil, eingebettet, spezialisiert Mobilität: mobile Nutzer, mobile Geräte Allgegenwart: überall, insbesondere auch im Heimbereich Spontaneität: ad hoc Vernetzung von Geräten Konvergenz: Daten, Audio/Video, Steuerung Entwicklungstrends Nutzung alter Infrastrukturen und Schaffung neuer trad. LANs, Funk-LANs, Plug&Play-Busse, Bluetooth, IrDA, Phoneline, Powerline,... Extrem heterogene Umgebungen: Geräte und Netze hohes Maß an Dynamik: Hot&Plug Play, mobile Netze, kurzlebige Verbindungen 8-11 8-12 2

Einführung: Ubicomp-Netze Typische Szenarien und Herausforderungen über Mobiltelefone im Haus bedienen heterogene Geräte und Netze (mobil/heim) kohärente Sicht auf Dienste im Heim Kamera sucht Drucker in fremder Umgebung wie kann ein geeigneter Drucker gefunden werden? wie unterhält man sich mit einem fremden Gerät? Hausregelung Heizung sucht Thermostat und Bewegungsmelder Wichtigste Herausforderung: Komplexität verbergen vor allem vor dem Anwender keine manuelle Installation / Konfiguration (ad-hoc) Abstraktionen für die Anwendungsentwicklung Middleware Middleware Was ist Middleware? der Slash in Client/Server Komponenten für Entwicklung und Einsatz verteilter Systeme angesiedelt zwischen Netzwerktechnologie(n) und Anwendung Wofür? Abstraktion von Netzwerkprogrammierung Interoperabilität: Zwischenschicht über unterschiedlichen Geräteund Netzwerkplattformen Komponenten für allgemeine Aufgaben in verteilten Systemen: z.b. Name, Security,... 8-13 8-14 Middleware Middleware Anwendung Anwendung Anwendung Dienst Plattform (BS, Netz) Dienst Dienst Plattform (BS, Netz) Dienst APIs Middleware Platform Interface RPC: Remote Procedure Call (80er Jahre) Prozedurales Paradigma entfernter Prozeduraufruf analog zu lokalem Aufruf Code für die Kommunikation wird automatisch erzeugt Objekt-orientierte Middleware (90er Jahre) Objekt-orientierte Programmierung Kommunikation mit entfernten Objekten über automatisch erzeugte lokale Proxies (z.b. stubs in CORBA) Vermittlungsdienste (z.b. Object Broker) Java Remote Method Invocation Java s Middleware für Methodenaufrufe von Objekten, die in verschiedenen VM ablaufen 8-15 8-16 Middleware für Ubicomp Integration heterogener Geräte Gateways für kohärenten Zugang zu heterogenen Umgebungen Paradigma: dynamischer Verbund von Geräten ohne zentrale Komponente; spontane Bildung verteilter Systeme Gateways Bündelung von Diensten über Gateways Residential Gateways: Verbindung zwischen Heimnetz und Außenwelt (= Internet) bietet Geräten im Haus Zugriff auf Internet-Dienste bietet externen Dienstanbietern kohärenten Zugang zu Geräten/Infrastruktur im Haus (z.b. für Fernwartung, Sicherheitsüberwachung,...) Administration durch Gateway Operator Standardisierung: Open Gateway Initiative (OSGi) Vernetzung: höhere Schichten 8-17 8-18 3

Kom.Grund Kommunikationsparadigmen Ablauf einer Kommunikation Initiierung: Auswahl der Kommunikationspartner Wie Auswahl Durchführung: Austausch von Kommunikation Grund Kommunikation Beendung Auswahl ID Dienst Kontext Info HTTP IrOBEX Dienst Jetsend Kontext Jini, UPnP, HAVi RAUM Kom.Grund Kommunikationsparadigmen Ablauf einer Kommunikation Initiierung: Auswahl der Kommunikationspartner Wie Auswahl Durchführung: Austausch von Kommunikation Grund Kommunikation Beendung Auswahl ID Dienst Kontext Info HTTP IrOBEX Dienst Jetsend Kontext Jini, UPnP, HAVi RAUM 8-19 8-20 Paradigma Federation: Beispiel Everything is a Geräte ebenso wie Software vgl. Objekt-orientierung: everything is an object s werden durch Interfaces definiert, über die sie ihre Funktionalität zur Verfügung stellen s werden beschrieben durch Typ und Attribute s können sich zu Systemen verbünden ( federation ) Beispiele für s Kamera, Drucker, Fax, Scanner, Speicher, Rechenleistung Türöffner, Beleuchtung, Alarmanlage, Stromzähler,... Rechtschreibprüfung, Formatkonvertierung,... Online Banking, Aktienhandel,... Hotelführer, Stadtplan,... Photo-Mail Camera (client) Photo Speicher Netz Digitaler Bilderrahmen Druck 8-21 8-22 Paradigma Netzwerk-zentrisch the network is the computer Netzwerk = Hardware und Softwareinfrastruktur für Dienste Sichtweise: Netzwerk, an das Geräte angeschlossen sind (statt Geräte, die vernetzt werden ) Netzwerk existiert immer, Geräte/Dienste sind transient Komponenten und Kommunikationsbeziehungen kommen und gehen Spontane Vernetzung s finden sich in der offenen Netzwerkumgebung zu zeitweiligen Verbundsystemen zusammen müssen sich dazu nicht a priori kennen typisches Szenario: Client wacht auf und fragt nach Diensten in der lokalen Umgebung Paradigma Spontane Vernetzung von s wie werden s aufeinander aufmerksam? wie können bestimmte s in einer fremden Umgebung gefunden werden? wie verständigen sich s, wenn sie sich gefunden haben? Infrastruktur für Discovery Registry : Verzeichnis/Vermittlung von s Protokolle zum Registrieren und zum Anfragen von s Protokolle für Client-Zugriff auf, und für die Nutzung von s durch Clients z.b. Sun s Jini aufbauend auf Java/RMI, Microsoft s UPnP (Universal Plug & Play) z.b. HAVi (Home Audio/Video interoperability) aufbauend auf IEEE.1394 für Home Entertainment Dienste 8-23 8-24 4

Vernetzung: höhere Schichten Jini Infrastruktur Hauptkomponenten Lookup (LUS): Registry für s Protokolle basierend auf TCP/UDP/IP Discovery & Join, Lookup von s Proxy Objekte als lokale Vertreter für s Lookup Verzeichnis ähnlich RMI Registry Aufgabe: Helpdesk für s/clients Registrierung von s, die angeboten werden Verteilung von Diensten an anfragende Clients 8-25 8-26 Jini Lookup Discovery: Finden eines LUS Client lookup Lookup Jini Federation use register 8-27 Finden eines Lookup s... ohne a priori Kenntnis des Netzwerks Provider sucht LUS um anzumelden (register) Client sucht LUS um einen anzufragen (look up) Discovery Protokoll Multicast-Anfrage an bekannten Port Lookup lauscht auf entsprechendem Port und antwortet mit Proxy Objekt (interface Registrar) Proxy Objekt wird in die anfragenden geladen Kommunikation mit LUS dann über den Proxy weitere Discovery-Protokolle Unicast: kann LUS direkt ansprechen, wenn er die IP- Adresse schon kennt Multicast Announcement: LUS meldet sich per Multicast, z.b. nach Ausfall 8-28 Join: Registrieren eines s Join Protokoll Provider hat einen Proxy des LUS für die Kommunikation empfangen Provider registriert über den Proxy seinen : register() Provider übergibt dabei dem LUS den eigenen Proxy Attribute, die den Dienst beschreiben (z.b. 600 dpi, version 21.1,...) tritt mit dem Join in den Jini-Verbund ein Provider kann nun über den LUS gefunden und von anderen s genutzt werden Lookup: Suchen von s Lookup Protokoll Client sucht bestimmten kennt LUS und verfügt über Proxy für die Kommunikation (via Discovery Protokoll) sendet Anfrage an LUS in Form eines Template ID, Typ, Attribute LUS antwortet mit keinem/einem/mehreren passenden s ggf. Auswahl im Client Client erhält vom LUS Proxy des vermittelten s Client nutzt Proxy für direkte Kommunikation mit dem Provider beliebiges Protokoll Proxy: Gateway zu -Funktionalität beim Provider Proxy kann aber auch (Teil der) -Funktionalität implementieren, d.h. Ausführung beim Client 8-29 8-30 5

Lookup: Matching Paradigma Template ID (Registration Number): kann angegeben werden, falls Dienst bereits bekannt ist (durch frühere Nutzung) Typ: definiert durch die Schnittstelle Attribute (sog. Entries), die den beschreiben Spontane Vernetzung von s: Jini Konzepte wie werden s aufeinander aufmerksam? Jini: Lookup s als Vermittlungsstelle, Registrierung von s über Discovery & Join wie können bestimmte s in einer fremden Umgebung gefunden werden? Discovery von Lookup-s als Verteiler in fremder Umgebung Lookup anhand von Templates, insbesondere auch anhand beschreibender Attribute wie verständigen sich s, wenn sie sich gefunden haben? Proxy wird in den anfragenden Client geladen beliebiges Protokoll, kein spezifisches Aushandslungsverfahren Matching Übereinstimmung via Attribute: Mehrwert gegenüber traditionellem Naming : -Auswahl über beschreibende Merkmale aber nur exaktes Übereinstimmung, kein größer als, keine Query-Sprache z.b. Anfrage an 600dpi Drucker stimmt nicht mit registriertem 1200dpi Drucker überein 8-31 8-32 HP Jetsend+sept01 Vernetzung: höhere Schichten neinführung nkommunikationsparadigmen njini Infrastruktur njetsend Ad hoc Kommunikation nobex Object Exchange Protokoll nhavi AV Kontrolle nupnp Plug&Play Hewlett-Packard Company will not be initiating any new projects or project extensions relating solely to HP Jetsend beyond those currently in development at HP. HP will continue to protect HP Jetsend intellectual property. 8-33 8-34 JetSend Ad hoc Kommunikation JetSend Ad hoc Kommunikation Spontane Vernetzung von s wie verständigen sich s, wenn sie sich gefunden haben? JetSend Protokoll Geräte- und gerätetypunabhängig Im Protokoll und in den Geräten befinden sich keine Informationen über andere Geräte/Typen Beispiel: JetSend-Kamera kann Information mit beliebigem JetSend-Drucker austauschen ohne den Druckertyp zu kennen Aushandlung der Informationsbeschreibung Geräte verhandeln über unterstützte Codierungen mit dem Ziel, den größten gemeinsamen Nenner zu finden Hauptkonzepte Surface: Gegenstand des Informationsaustauschs Surface Interaction: das Protokoll für Informationsaustausch E-Material: Austauschformat für Surface Interaction JetSend (HP, 1997* 2001+) Universelles Kommunikationsprotokoll für Informationsgeräte beliebige Geräte: Drucker, Kamera, Scanner, Projektor,... Aushandlung von Formaten zum Austausch von Information Punkt-zu-Punkt geht von direkter logischer Verbindung zw. Geräten aus Abstraktion vom Netzwerk (Medium, Verbindung, Transport) 8-35 8-36 6

JetSend Ad hoc Kommunikation JetSend Ad hoc Kommunikation Surface Oberfläche : darstellungsnahe Information, z.b. Bilder, Dokumente, Statusmeldungen bestehen aus Beschreibung und Inhalt Surface Interaction Austausch von Surfaces zwischen Geräten Original-Surface wird als Expression ( Ausdruck ) bezeichnet ein empfangendes Gerät erhält eine Impression ( Eindruck ) Aushandlung von Inhalts-Codierungen beim Erzeugen einer Impression wird nur die Beschreibung gesendet, die eine Liste alternativer Codierungen enthält der Empfänger wählt anhand der Beschreibung eine geeignete Codierung, in der der Inhalt angefordert wird Surface Interaction Messages SurfaceRequestMsg Anforderung einer Surface (identifiziert durch einen Namen) SurfaceMsg Erzeugen einer Impression, Senden der Beschreibung ContentRequestMsg / ContentReplyMsg Übertragung des Inhalts DescriptionRequestMsg / DescriptionReplyMsg Übertragung weiterer Beschreibungen SurfaceChangeMsg Benachrichtigung über Änderungen einer Surface SurfaceReleaseMsg Verbindung zwischen Expression und Impression aufheben 8-37 8-38 JetSend Ad hoc Kommunikation E-Material Format für Surface Messages definiert Format, in dem Information (Beschreibung und Inhalt) zwischen Geräten ausgetauscht wird aber nicht wie Geräte diese Information verarb./speichern Beschreibung von Codierungsalternativen Tabelle mit Attribut-Wert-Paaren jede Codierung wird mit Standardattributen assoziiert einige Attribute können Alternativen beinhalten Hierarchische Beschreibung ermöglicht geschachtelte Auswahl aus Alternativen Weltbild notwendig Beispiel: JetSend E-Material Level Attribute Value vencoding vimage vimage vsize (576000,756000) vimage vopacity 255 vimage vcolorspace vsrgb vgray vimage.vsrgb vpixeldepth 24 vimage.vsrgb.24 vresolution (150,150) vimage.vsrgb.24.(150,150) vpixels (1200,1575) vimage.vsrgb.24.(150,150) vcompression vjpeg vimage.vgray vpixeldepth 1 vimage.vgray.1 vresolution (300,300) vimage.vgray.1.(300,300) vpixels (2400,3150) vimage.vgray.1.(300,300) vcompression vrle Alternativen abhängig von Auswahl Level: Ebene, auf die sich Attribut-Wert-Paar beziehen 8-39 8-40 JetSend Architektur JetSend Zusammenfassung Informationsaustausch garantiert alle JetSend-Geräte unterstützen zumindest eine Default-Codierung ihrer Geräteklasse (Image, Video, Audio,...) Interoperabilität Peer-to-Peer Informationsaustausch zwischen Geräten ohne vorherige Kenntnis voneinander Modularität Separate Entwicklung von Systemkomponenten (Hi-fi Modell) Protokoll und Gerätefunktionalität sind getrennt Protokoll definiert Rohr durch das Information fließt Protokoll beeinflußt Funktionalität nicht 8-41 8-42 7

Vernetzung: höhere Schichten HAVi Eigenschaften HAVi Ein Medium für Kontrolle und Daten Verbindungslose Kommunikation Geräte = Objekte, Methoden = Funktionen, RFC über Pakete IAVs (Intermediate AV devices) (native implementierung) FAVs (Full AV devices): Java Runtime BAV (Base Audio/Video Devices): nur bytecode upload LAVs (Legacy AV devices): Aufrufe müssen von FAV umgesetzt werden Device Control Module (DCM) and Functional Component Module (FCM) austauschbar, da in Java Java AWT 1.1 und spezielle Klassen, UI Programmierung (Havlets) 8-43 8-44 HAVi FCM Vernetzung: höhere Schichten Functional component Modules (FCM) Vordefinition von APIs zu FCM in HAVi Spezifikation FCMs setzen abstrakte Info in gerätespezifische Info/Kommando um Von dort wird das Kommando an Hardware weitergesendet. FCM Beispiele: Tuner FCM: Setzten und Erhalten von Kanälen, Auswahl von Attributen (Musiksender...) VCR FCM: PLAY, REC, REW..., Uhrzeit setzen 8-45 8-46 (Ir)OBEX: IrDA Object Exchange (Ir)OBEX Beliebige Dinge austauschen Protokoll für den Austausch, das Abfragen, die Anforderung von Objekten und den damit verbundenen Diensten Dienste primär Datenübertragungsdienste Spezifikation besteht aus zwei Teilen: Beschreibung der Objekte Kommunikationsprotokoll Weitere Anwendungen Einfaches Protokoll, deshalb: SyncML Darauf aufsetzende Standard-Sync für PDA, Mobiltelefone Palm, Ericsson, IBM, Psion, Motorola Default Obex-Anwendung OBEX IrDA, Bluetooth... 8-47 Ablauf Kommunikation Geräte bieten Dienste in Form von Objekten an Client erfragt einen Dienst (request) und erhält vom Server eine Antwort (response) Sitzungsorientiertes Protokoll Bsp: Client erfragt, ob er eine vcard ablegen darf Paket: Opcode len Objekte Objektmodell definiert Objektbezeichner und Objekte Modell besteht aus einer Liste Tupeln der Form <Bezeichner&Format><Objekt> Tupel sind einfach zu parsen Byte -Kodierung statt Text-Kodierung orientiert sich an leistungsschwachen Geräten 8-48 8

OBEX Vereinfachter Ablauf einer Sitzung Success Connect Put(Name= michael.vcf,type= text/x-vcard ) Success Put(Body= Name=Michael Beigl... ) Success Put(End of Body) Success Disconnect Success 8-49 Vernetzung: höhere Schichten 8-50 Universal Plug and Play (UPnP) Charakteristik Netz zur Ad-hoc Vernetzung von Geräten wie PNP Geräte Eingesetzt derzeit vor allem für NAT Traversal in Firewalls/DSL Basiert auf IP, benötigt DHCP, XML, HTTP Device Device Control Point Control Point Aufbau von Kommunikation in 4 Schritten Adressierung, Discovery, Description, (Control, Eventing, Presentation) 8-51 UPnP Schritte Adressierung DHCP oder Auto IP Discovery von Geräten SSDP (Simple Discovery Protocol): Meldung der Anwesenheit (Announce) oder über vorheriges Search LAN Broadcasts oder direktes Ansprechen eines Verzeichnisdienstes (Proxy) HTTP/XML basierte verbindungslose Kommunikation z.b. als UDP Melden der eigenen Fähigkeiten durch ANNOUNCE-Kommando, enthält zudem URL zu XML Beschreibungsdatei Abfrage durch OPTIONS Kommando Zudem: Broadcast-DNS Abfrage, DHCP Erweiterung 8-52 UPnP Schritte II Universal Plug and Play (UPnP) Description Beschreibung des Gerätes im XML Format Vor allem ID, URL, Hersteller... Control Simple Object Access Protocol (SOAP) Beschreibung Dienste/Aktionen und Parameter in XML Format RPC über HTTP Event IETF Draft General Event Notification Architecture (GENA) Subscribe / Unsubscribe von Meldungen 8-53 8-54 9

8-55 10