Steuerung eines Roboters über unzuverlässige WLAN Verbindungen

Ähnliche Dokumente
Einsatz von Java-fähigen GPRS-Terminals

Mobile Betriebsysteme

FOPT 5: Eigenständige Client-Server-Anwendungen (Programmierung verteilter Anwendungen in Java 1)

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

Java für Embedded Systems

Betriebssysteme für mobile Endgeräte p.1

2 Ein Streifzug durch die JavaME

Linux Terminal mit Ethernet und Java. Eine dynamische Plattform für Automatisierungsapplikationen?

Scalable Vector Graphics-basierte

KVN-Portal. das Onlineportal der KVN. Dokumentation für Microsoft Windows. Version 4.0 vom Kassenärztliche Vereinigung Niedersachsen

Übungen zur Softwaretechnik

Programmierung mobiler Kleingeräte

Sind Ihre Anwendungen auf mobilen Endgeräten sicher? Karsten Sohr Technologie-Zentrum Informatik Universität Bremen

Java in der Welt der Handys. Matthias Hemetsberger Joseph Erlinger Erwin Schwab Rudi Dittrich

Präsentation. homevisu Familie. Peter Beck. Juni p b e Peter Beck 1

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

Diplomanden- und Doktorandenseminar. Implementierung eines Gnutella-Clients für IPv6

Textbasierte Suche mit Hilfe von Anfrageerweiterungen - technische Realisierung und erste Erfahrungen

Objektorientierte Softwareentwicklung SoSe 15

Remote-Administration von eingebetteten Systemen mit einem Java-basierten Add-On-Modell

EX x RS-232 zu Ethernet / IP. Bedienungsanleitung. 6. Anschlüsse. 7. Technische Daten. Seriell 9 Pin D-SUB Stecker (Port 1 und 2) :

Internet, Multimedia und Content Management

Integrating Architecture Apps for the Enterprise

Multiuser Client/Server Systeme

Java Micro Edition. Entwicklung mobiler JavaME-Anwendungen mit CLDC und MIDP. von Klaus D. Schmatz. 2., aktualis. u. erw. Aufl.

VS12 Slide 1. Verteilte Systeme. Vorlesung 12 Sebastian Iwanowski FH Wedel

Netzwerk Technologien in LabVIEW

Realisierung asynchroner Client/Server-Kommunikation im Mobilfunk

Mobile Computing Fallstudie am Beispiel der sd&m AG Vortrag im Seminar Beratungsbetriebslehre am 26. Juni 2003

Securing SOAP e-services

Überblick über Java-Umgebungen auf Embedded-Plattformen

Seminar Moderne Konzepte für weitverteilte Systeme SS 02

Produktfamilie. Thin Clients und Software für Server-based Computing. LinThin UltraLight. LinThin Light. LinThin WEB (TE) LinThin Premium (TE)

Behebung des sog. Heartbleed-Bugs (CVE ) in der Krypto-Bibliothek OpenSSL.

Verteiltes Monitoring. 23. Oktober 2014

Einführung in die OPC-Technik

Seminar: Innovative Netztechnologien

Gefahren aus dem Internet 6 Aktive Angriffe April 2010

4. Network Interfaces Welches verwenden? 5. Anwendung : Laden einer einfachen Internetseite 6. Kapselung von Paketen

Verteidigung Masterarbeit Evaluating the Use of a Web Browser to Unify GUI Development for IDE Plug-ins

App-Entwicklung mit Titanium

Java-Programmierung mit Visual J++ 1.1

Berner Fachhochschule Hochschule für Technik und Informatik HTI. Kapitel 1. Einstieg in Java. Dr. Elham Firouzi

Tipps und Tricks zur Installation von Java-basierten Programmen auf Handys

Systemanforderungen für MuseumPlus und emuseumplus

Einsatz von Applikationsservern. Untersucht am Beispiel des Sybase Enterprise Application Server

The wireless telegraph is not difficult to understand. The ordinary telegraph is like a very long cat.

Java RMI Remote Method Invocation

1. Software-Plattform Android Android. Was ist Android? Managed Code, Angepasste Java Virtual Machine

Leveraging BitTorrent for End Host Measurements

SAUTER novapro Open in seiner Umgebung

Bewertung der Einsatzmöglichkeiten von XML Sicherheitslösungen in mobilen Kommunikationsumgebungen. Fabian Pretsch

Marketing Update. Enabler / ENABLER aqua / Maestro II

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

Usability-Test für mobile Java-Anwendungen

Systemvoraussetzungen für ConSol*CM Version Architektur Überblick

Systembeschreibung eurogard ServiceRouter V2 FW-Version 4.0

Benutzeranleitung Web Login (Internetzugang an Öffentlichen Datendosen und in Studentenwohnheimen )

Programmieren II. Timer. Vorlesung 11. Handout S. 1. Martin Schultheiß. Hochschule Darmstadt Sommersemester Timer. Sockets.

Projektseminar Parallele Programmierung

Die Programmiersprache Java. Dr. Wolfgang Süß Thorsten Schlachter

XT - NANO - XXL XT-NANO-XXL

Ab der aktuellen Version kann der Windows Internet Explorer 11 als Browser für das Web-Interface der Server- Konfiguration genutzt werden.

Programmieren I. Prinzipieller Ablauf. Eigenschaften von JAVA. Source-Code Javac Bytecode. Java Virtual Machine (Java, Browser, Appletviewer)

Release Notes. NCP Secure Enterprise HA Server. 1. Neue Leistungsmerkmale und Erweiterungen. 2. Fehlerbehebung und Änderungen

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

8.4 Überblick und Vergleich weiterer ERP-Systeme. G Oracle Applications 11 G PeopleSoft 7 G J.D. Edwards One World G BaanERP

Monitoring von. Sebastian Theiss. Innovationsforum Software Saxony Dresden, 24. April 2009

Projekt MasterMind Systemspezifikation

Internet Based Games. Marcus Böhm

Systemvoraussetzungen sou.matrixx-produkte

Embedded Linux gnublin Board Programmieren Sonstiges. Embedded Linux am Beispiel des Gnublin-Boards

JDO Java Data Objects

pimoto - Ein System zum verteilten passiven Monitoring von Sensornetzen

1. Software-Plattform Android Android. Was ist Android? Bibliotheken, Laufzeitumgebung, Application Framework

Technische Übersicht über den Netzwerklastenausgl eich (Network Load Balancing) Einführung

Sensordaten mit SNMP verteilen

Abschlussvortrag zur Diplomarbeit

Software-basierter Speicherschutz durch spezialisierte Java-VMs auf Mikrocontrollersystemen

Spring Dynamic Modules for OSGi Service Platforms

Produktinformation CANoe.Ethernet

7 Transportprotokolle

Multimediatechnik / Video

Zentral verwalteter Netzwerkboot über Weitverkehrsnetze

1 Hochverfügbarkeit. 1.1 Einführung. 1.2 Network Load Balancing (NLB) Quelle: Microsoft. Hochverfügbarkeit

Existierende Systeme I Bibliotheken & Frameworks

Java Applet Alternativen

EX RS-232 zu Ethernet / IP. Bedienungsanleitung. 7. Anschlüsse. 8. Technische Daten. Seriell 9 Pin D-SUB Stecker

Java RMI, CORBA und Firewalls

Java 2, Enterprise Edition Einführung und Überblick

Virtualisierung in der Automatisierungstechnik

Netzwerk- Konfiguration. für Anfänger

Bernd Blümel. Verschlüsselung. Prof. Dr. Blümel

EX RS-232 zu Ethernet / IP. Din Rail Kit (EX-6099) Bedienungsanleitung. 7. Anschlüsse. 8. Technische Daten

JPC Visualisierung in Java

Java für C++ Programmierer

Anpassung einer freien SSL/TLS Implementierung an die Kertasarie VM

VPN (Virtual Private Network) an der BOKU

Transkript:

Steuerung eines Roboters über unzuverlässige WLAN Verbindungen Andreas Jabs der RWTH Aachen Echtzeitaspekte bei der Koordinierung autonomer Systeme

Überblick Motivation Java Micro Edition Unzuverlässige Netze und Verbindungssicherheit Die Steuerungsplattform Die Robotersteuerung Zusammenfassung 2

Motivation Ziele: Datenauslesen und Steuerung von eingebetteten und mobilen Systemen Definition von weichen Echtzeitbedingungen für die Steuerung Zugriff auf komplexe Steuerungen von einem PDA oder ähnlichem Gerät aus Bedingungen: Möglichkeit der Autorisierung von Nutzern Kein Kontrollverlust über gesteuertes System Kontrolle der Verbindungsqualität Lauffähig auf Systemen mit geringen Ressourcen Hohe Portabilität 3

Java 2 Micro Edition Java 2 Micro Edition - Neuimplementierung der Java Virtual Machine für ressourcenbeschränkte Systeme - Auslassung von Funktionen zu Gunsten einer straffen Strukturierung und effizienter Implementierung - Modularität - Implementierung der Virtual Machine in Soft- und Hardware erhältlich Leistungsfähigkeit gering, dafür hohe Portierbarkeit und geringere Entwicklungskosten, Applets in Browser einbettbar Hardwarezugriff über native Routinen bei reduzierter Portierbarkeit Echtzeitfähigkeit nicht gegeben, speziell nicht für verteilte Systeme 4

J2ME Überblick PC ~70 MB Mobiltelefon ~200KB MIDP PDA 1-2 MB PP (mit RMI) PBP FP J2SE CLDC CDC 5

Unzuverlässige Netze Zuverlässigkeit impliziert meist hohen Preis Viele Systeme besitzen günstige, aber unzuverlässige Netzanbindungen. (Ethernet, WLAN, Bluetooth) Betriebssysteme oft nicht echtzeitfähig Unzuverlässigkeit hinsichtlich: - Übertragungszeit (ping) - Paketverlust - Reihenfolge der Nachrichten - Bandbreite Mobile Geräte verfügen nur über unzuverlässige Netzanbindungen 6

Die Steuerungsplattform Funktionalität: Datenübermittlung auf Push- und Pull-Basis Befehlsübermittlung Verbindungskontrolle Pull-Modell (Anfrage) Server sendet Daten auf Anforderung von Clients, geeignet für seltene Aufgaben wie Datensammlungen Push-Modell (Abonnement) Server sendet Daten unaufgefordert an abonnierte Clients, Antwort der Clients optional Push-Modell ermöglicht bessere Kontrolle des Servers über Netzwerkverkehr, besseres Zeitverhalten bei periodischen Aufgaben 7

Kommunikationsmodell Daten Steuert Periode, Priorität DataServer InstructionServer PingGenerator pull push pull push DataClient InstructionClient PingTarget Befehle 8

Datenübermittlung Abstraktionsschicht verbirgt das verwendete Protokoll und die Sockets TCP- und UDP-Sockets werden durch Java unterstützt, andere bedürfen nativer Bibliotheken Datenquellen implementieren nur eine Schnittstelle mit der Methode Object getclientdata(); Verwendung einer oder mehrerer getrennter Verbindungen für einzelne Datendienste möglich Verbindungskontrolle nutzt getrennte Verbindung, um Prioritätsinversion zu vermeiden 9

Prinzip: Verbindungskontrolle Server fordert Antwort auf ein Signal innerhalb einer Frist Antwortzeit bestimmt durch - Netzverbindung - Rechenlast auf Server - Rechenlast auf Client Kategorisierung der Clients in Klassen hinsichtlich Antwortzeit, Abweisen von ungenügend angebundenen Clients Zur Steuerung autorisierter Client erhält höchste Priorität 10

Die Robotersteuerung Roboterdaten Endogene Datenquellen ( Lage, Geschwindigkeit, ) Exogene Datenquellen ( Sonarwerte, Kamerabild ) Steuerung Verwaltungsebene (login) Bewegungssteuerungsebene Verbindungskontrolle Messung der Verbindungsqualität Verwaltung der Daten- und Steuerverbindungen 11

Die erstellte Plattform ermöglicht Zusammenfassung Auslesen und Steuern von eingebetteten und mobilen Systemen Kontrolle der Verbindungsqualität, adaptive Anpassung der Übertragungsrate Lauffähigkeit auf allen Java Plattformen ab CDC aufwärts Steuerung als Applet in Webseiten einbettbar Ausblick Unterstützung von CLDC (Mobiltelefone etc.) Erzeugung und Verwaltung von Gruppen von Datenquellen 12