Behandlung von Netzwerk- und Sicherheitsaspekten in einem Werkzeug zur verteilten Paarprogrammierung

Ähnliche Dokumente
Behandlung von Netzwerk- und Sicherheitsaspekten in einem Werkzeug zur verteilten Paarprogrammierung

Verteilte Paarprogrammierung mit Eclipse

Titel, Vorname, Name Abteilung, Fachbereich oder Institut. Schnellerer Sitzungsstart in Saros

Entwicklung eines Server- Prototypen für Saros

Client-Server mit Socket und API von Berkeley

Verteidigung der Diplomarbeit 3D-Netzwerk-Visualisierung

Netzwerkprogrammierung unter Linux und UNIX

Kurzanleitung Eclipse

Fernwartung mit IPX/S Geräten Konfiguration mit Fritz!Box 7270

Abschlussvortrag Bachelorarbeit: Evaluation der Mechanismen zum Darstellen der Workspace Awareness

Einleitung Protokoll Implementierung Fazit. Kryptochat. Ein verschlüsseltes Chat-System basierend auf XMPP und OpenPGP. S. Gaiser D. Pfister L.

Fundamentale Ideen der Informatik PH Weingarten Sommersemester 2014 Paul Libbrecht CC-BY. Vorlesung 1: ProgrammAblauf

Mobility Trace Generator Ein erster

STUN/TURN Server Topologien. Best Practice

Verbesserung einer XMPP-Bibliothek für den Einsatz in verteilter Paarprogrammierung

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

Entwicklungswerkzeuge

Results in time. FLEXIBLER UND KOSTENGÜNSTIGER BETRIEB VON SAP SYSTEMEN. Beratung. Support. Ganzheitliche Lösungen.

Proxmox VE - mit OpenSource Virtualisierung leicht gemacht

.NET Networking 1. Proseminar Objektorientiertes Programmieren mit.net und C# Matthias Jaros. Institut für Informatik Software & Systems Engineering

Empirische Softwaretechnik

Systemanforderungen NMS Software (Network Management System)

Angewandte Mathematik + Informatik dual studieren

Empirische Strategien

Projektarbeit Java. 4-Gewinnt. Berner Fachhochschule. 2004, Labor für Technische Informatik

Wahlalgorithmen auf beliebigen Netzstrukturen. Verteilte Algorithmen (VA), WS 2003/04 43

ComXline 1516: Parameter und Einstellungen Hilfe zur Inbetriebnahme

Advanced Business Intelligence. Advanced Networking. Artificial Intelligence. Campus Offenburg Badstraße 24, 77652

UDP User Datagramm Protokoll

Implementierung einer universellen WLAN-Router-Lösung für die Filialvernetzung

Alternative Architekturkonzepte

Daniel Schalberger, SySS GmbH 1. Typische Schwachstellen im Online-Handel, Prävention. Dipl. Inform. Daniel Schalberger, Syss GmbH

Continuous Database Integration mit Flyway

Studienarbeit. Mohammad Athar Januar Verantw. Betreuer : Prof. Dr. Walter F. Tichy Betr. Mitarbeiter : Dipl.-Inform. Marc Schanne

Übung: Verwendung von Java-Threads

Kurzanweisung der Jovision IP Kamera

LEITFADEN NTF 5.0 für Windows

Studienprojekt HP-MOM

Results in time. DIE MEHRWERTE DES SAP SOLUTION MANAGER 7.2. Beratung. Support. Ganzheitliche Lösungen.

Google Wave - Konzeption und Vergleich zu bisherigen Kollaborationslösungen Miriam Ney Seminarvortrag Beiträge zum Software Engineering Institut für

Soziale Netzwerke. Prof. Dr. Walter Dettling

Qualitative Untersuchung von Orientierungsphasen während der Paarprogrammierung

Praktikum Rechnernetze Aufgabe 3: Messung mit dem Protokollanalyzer

Christoph Fischer Jörg Schneider DFKI Intelligente Netze. Real Time Workload Monitoring for WLAN

Verbesserung und Pflege der Dokumentation der DPP-Software Saros

Berühmte Informatiker

IT-Servicequalität im Lebenszyklus

OSGi: Anwendungsszenarien, Auswahlkriterien und Ausblick

WorldSDS Installationsanleitung. Inhaltsverzeichnis

Dokumentation EGVP-Übertmittlungsfehler bei Server-Engpässen Vorgehensweise Seite 1 von 5

Abschlussvortrag Masterarbeit: Operationalizing Architecture in an agile Software Projec

Messung von Services und Prozessen: IT-Servicequalität im Lebenszyklus

Verteilte Systeme - Java Networking (Sockets) -

Locky & Co Prävention aktueller Gefahren

Einführung in Subversion

Übung Multimediasysteme. Delay types. Dirk Henrici, Bernd Reuther

Internet-Kartographie

Versionskontrolle mit Subversion

Windows 2003 Server paedml Windows 2.5 für schulische Netzwerke. Patch 2 für die Schulkonsole 2.5 der paedml Windows

ProAccess SPACE 3.0. Für weitere Informationen wenden Sie sich bitte an Ihren SALTO Partner oder:

Container als Immutable Infrastructure. John M. Hutchison

MOBILE ENTERPRISE APPLICATION PLATFORM (MEAP)

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]

Kontrollverfahren für mobile Echtzeitkommunikation

Das Studium im Fach Informatik

Hacking-Lab Online Hack&Learn 9. December 2008

StuPO vom 6. Februar 2013 StuPO vom 18. März 2015 Bereits abgelegte Modulprüfungen Wird Wird angerechnet in

57. DFN-Betriebstagung Überblick WLAN Technologien

Konsistenzproblematik bei der Cloud-Datenspeicherung

Verteilte Systeme - 1. Übung

Überblick über die Entstehung Funktionsweise Anwendungen. The Freenet Project. Anonymes Netzwerk basierend auf dem Kleine-Welt-Phänomen

(Thema) Optimierung von künstlichen neuronalen Netzen zur Ausfallvorhersage mit Sensordaten. Masterarbeit

Internet-Technologien (CS262): Einführungsveranstaltung

Modul: Kommunikationsnetze 1 [6 Credits]

Inhalt. Einführung RFC-Funktionsbausteine in ABAP Funktionsbausteine zum Lesen Aufruf per srfc 108

Evaluation eines kooperativen Entwicklungswerkzeuges zur Unterstützung von Projektteams am Beispiel von IBM Rational Team Concert.

Compass E-Lab Remote Security Lab 19. November Hacking-Lab Glärnischstrasse 7 Postfach 1671 CH-8640 Rapperswil

Implementation of a Framework Component for Processing Tasks within Threads on the Application Level

ProAccess SPACE 2.0. Für weitere Informationen wenden Sie sich bitte an Ihren SALTO Partner oder:

Versionierung und Bugtracking mit Git(Hub)

Lösungen für Bufferbloat

IP-Gateway. Internet-Partner der Wirtschaft. Der Wachschutz für Ihr

Live Online Training der Bremer Akademie für berufliche Weiterbildung. Hinweise für den Verbindungaufbau zu den Systemen der Bremer Akademie

Versionskontrollsysteme

Was traut die magellan der Cloud zu?

Netzwerk Technologien in LabVIEW

Georg Hinkel 1, Thomas Goldschmidt 2

Softwarepraktikum Sommersemester 2006

WLAN & Sicherheit IEEE

Stufe IV. EDI-Software und Übertragungswege. Klaus Kaufmann, GS1 Germany, Juli 2016

Vorstellung. Collaborative CAD/CAE Integration (C3I)

Analyse von Awareness-Bedarf bei verteiltem Requirements Engineering

VirtualPrivate Network(VPN)

Python VS Perl. Storage Monitoring per API statt SNMP. Björn Müller Marcel Denia. comnet GmbH

Spring IDE. Christian Dupuis - Spring 2.0 Release Party

Die Entwicklung des Open-Source. Source-Tools. zum Datenbankabgleich von Karsten Panier. Inhalt

Stabilisierung von J2EE-Anwendungen durch APM

Das PlanetLab eine Übersicht

ZAPP-Installation unter Windows-7. Lösung Smart Metering

für den erfolgreichen Messe-Einsatz von Geeignete Geräte Vorbereitungen vor der Messe Internetverbindung auf dem Messestand

Transkript:

Behandlung von Netzwerk- und Sicherheitsaspekten in einem Werkzeug zur verteilten Paarprogrammierung Institut Mathematik und Informatik - 14. Mai 2009

Agenda Einführung Einleitung Netzwerk Sicherheit Hauptteil Vorstellung der Arbeitspakete Zeitplan Ende

Softwaretechnische Betrachtung Paarprogrammierung Side-by-Side-Programmierung zwei Entwickler ein Rechner Vorteile: höhere Disziplin, Wissenstransfer, weniger Defekte,.. zwei Entwickler zwei Rechner mit Möglichkeit auf PP zu wechseln Vorteile: weniger Overhead als PP 1 1 Nawrocki et al, Software Process Improvement, volume 3792 of Lecture Notes in Computer Science, pages 28 38. Springer, 2005.

Saros Software die Paarprogrammierung und Side-by-Side-Programmierung in Eclipse unterstützt Modi in einer Sitzung: exklusive Driver Rolle (klassische PP) mehrere Driver gleichzeitig (side-by-side) Verfolger Modus - unterstützt beide Varianten unterstützt mehr als zwei Teilnehmer einfache Installation per update site entwickelt als OpenSource real eingesetzt in der Firma Teles (www.teles.de)

Saros Software die Paarprogrammierung und Side-by-Side-Programmierung in Eclipse unterstützt Modi in einer Sitzung: exklusive Driver Rolle (klassische PP) mehrere Driver gleichzeitig (side-by-side) Verfolger Modus - unterstützt beide Varianten unterstützt mehr als zwei Teilnehmer einfache Installation per update site entwickelt als OpenSource real eingesetzt in der Firma Teles (www.teles.de)

Saros Screenshot

Motivation Interesse an IT-Sicherheit Programmierung Software Engineering Netzen Diese Software habe ich im Studium gesucht!

Motivation Interesse an IT-Sicherheit Programmierung Software Engineering Netzen Diese Software habe ich im Studium gesucht!

Netzwerk Verfügbarkeit Authentifizierung Verlässlichkeit

Sicherheit Bedrohungen Network items Fälschbarkeit von Aktivitäten, Identitäten,...?

Arbeitspakete AP1 Awareness über Netzlast, Verbindungsstatus, Latenz, Queuefüllstand AP2 Geschwindigkeit der Dateisynchronisation optimieren AP3 find matching project AP4 übertragen von Nachrichten via P2P AP5 Cancelation und Progress-Support von Dateiübertragungen AP6 Jingle-Übertragung (P2P) durch FW und NAT AP7 Smack-API-Liaison (Community Arbeit) AP8 Test und Optimierung von Saros in Netzen mit hoher Latenz AP9 Testsuite für die Netzkomponente entwickeln

AP1 - Awareness Netzlast? Verbindungsstatus (Jingle-TCP/Jingle-UDP/IBB/Fehler) Latenz Jingle-TCP: messen per RTT von TCP Jingle-UDP: benutzt RUDP kein RTT verfügbar selbst messen IBB: messen der Beantwortung von XMPP Nachrichten Queuefüllstand (insbesondere im ActivitySequencer.activities und ActivityQueue.queuedActivities) Umfrage nach einer Sitzung für die Diplomarbeit möglich

AP1 - Awareness Netzlast? Verbindungsstatus (Jingle-TCP/Jingle-UDP/IBB/Fehler) Latenz Jingle-TCP: messen per RTT von TCP Jingle-UDP: benutzt RUDP kein RTT verfügbar selbst messen IBB: messen der Beantwortung von XMPP Nachrichten Queuefüllstand (insbesondere im ActivitySequencer.activities und ActivityQueue.queuedActivities) Umfrage nach einer Sitzung für die Diplomarbeit möglich

AP2 - Dateisynchronisation Ziel: rsync schnell Wozu? Dateiabgleich nach Annahme der Einladung in eine Sitzung. aktuell: Diff + Zip Wie? rsync Algorithmus 2 ist bekannt, könnte selbst implementiert werden Jarsync 3, ist eine Java Implementierung und wird nicht mehr aktiv entwickelt Notwendigkeit fraglich, lösbar durch Einsatz einer Versionsverwwaltung abwägen: Ertrag Au f wand 2 PHD thesis und Techreport von Andrew Tridgell (rsync Autor) 3 Version 0.3 http://jarsync.sourceforge.net/

AP2 - Dateisynchronisation Ziel: rsync schnell Wozu? Dateiabgleich nach Annahme der Einladung in eine Sitzung. aktuell: Diff + Zip Wie? rsync Algorithmus 2 ist bekannt, könnte selbst implementiert werden Jarsync 3, ist eine Java Implementierung und wird nicht mehr aktiv entwickelt Notwendigkeit fraglich, lösbar durch Einsatz einer Versionsverwwaltung abwägen: Ertrag Au f wand 2 PHD thesis und Techreport von Andrew Tridgell (rsync Autor) 3 Version 0.3 http://jarsync.sourceforge.net/

AP3 - find matching project Diff und Bewertung als notwendig hinreichend (?): gleicher Projekt-Name gleiche Pakethierarchie... Diff über alle Dateien aller lokalen Projekte (~aktuell) Ziel: eine schlauere Heuristik als bisher Idee: Abbruch von der Vergleiche von Projekten bei hoher Gleichheit abwägen: Ertrag Au f wand

AP4 - Nachrichtenübertragung via P2P Implementierung weitestgehend vorhanden noch zu leisten: mehr paralleles senden und empfangen Priorisierung Blockierungsfreiheit Durchsicht-Richtigkeit Zustände: CONNECTED CONNECTING DISCONNECTED DISCONNECTING ERROR Richtige Handlungen im jeweiligen Zustand und Übergang? Durchsicht-Sicherheit Authentizität (wie prüfe ich mein gegenüber?) Unverfälschbarkeit von Aktivitäten wie Dateioperationen Verfügbarkeit

AP4 - Nachrichtenübertragung via P2P Implementierung weitestgehend vorhanden noch zu leisten: mehr paralleles senden und empfangen Priorisierung Blockierungsfreiheit Durchsicht-Richtigkeit Zustände: CONNECTED CONNECTING DISCONNECTED DISCONNECTING ERROR Richtige Handlungen im jeweiligen Zustand und Übergang? Durchsicht-Sicherheit Authentizität (wie prüfe ich mein gegenüber?) Unverfälschbarkeit von Aktivitäten wie Dateioperationen Verfügbarkeit

AP4 - Nachrichtenübertragung via P2P Implementierung weitestgehend vorhanden noch zu leisten: mehr paralleles senden und empfangen Priorisierung Blockierungsfreiheit Durchsicht-Richtigkeit Zustände: CONNECTED CONNECTING DISCONNECTED DISCONNECTING ERROR Richtige Handlungen im jeweiligen Zustand und Übergang? Durchsicht-Sicherheit Authentizität (wie prüfe ich mein gegenüber?) Unverfälschbarkeit von Aktivitäten wie Dateioperationen Verfügbarkeit

AP5 - Cancelation- und Progress-Support von Dateiübertragungen bisher: kein Abbruch der Verbindung durch cancel() I/O Cancelation via TProgressMonitor 4 1 t r y { / / genauer i n den Coderules im Wiki 2 while (! progress. iscanceled ( ) ) { 3 t r y { stream. read ( ) ; } 4 catch { IOException {.. } } 5 } f i n a l l y { stream. close ( ) ; } 4 Pattern aus Concurrent Programming in Java von Doug Lea

AP6 - Jingle-Übertragung (P2P) durch FW und NAT Anwendungsfälle 1 Entwickler hinter NAT Router 2 Entwickler hinter einer Firewall (wie hier im MiLan) Smack Jingle unterstützt NAT traversal per STUN oder ICE bisher werden folgende Wege durch ein NAT erkannt: die zweite Netzverbindung (eth0/eth1) Netzwerkschnittstellen wie VMware Anwendungsfälle könnten in der Diplomarbeit untersucht werden

AP6 - Jingle-Übertragung (P2P) durch FW und NAT Anwendungsfälle 1 Entwickler hinter NAT Router 2 Entwickler hinter einer Firewall (wie hier im MiLan) Smack Jingle unterstützt NAT traversal per STUN oder ICE bisher werden folgende Wege durch ein NAT erkannt: die zweite Netzverbindung (eth0/eth1) Netzwerkschnittstellen wie VMware Anwendungsfälle könnten in der Diplomarbeit untersucht werden

AP7 - Smack-API-Liaison (Community Arbeit) Ziel: Beseitigung von Fehlern genutzter Bibliotheken Smack-API - schwieriger Zugang E-Mails wurden nicht beantwortet diverse Foreneinträge von 2008 unbeantwortet und ungelöst Verhalten bei Einreichung von Patches ist bisher unbekannt Relevanz: hoch limewire (RUDP-Implementerung) einfacher Patch ist seit 3-4 Wochen unbeantwortet Relevanz: niedrig Smack forken wäre wahrscheinlich eine Diplomarbeit für sich

AP7 - Smack-API-Liaison (Community Arbeit) Ziel: Beseitigung von Fehlern genutzter Bibliotheken Smack-API - schwieriger Zugang E-Mails wurden nicht beantwortet diverse Foreneinträge von 2008 unbeantwortet und ungelöst Verhalten bei Einreichung von Patches ist bisher unbekannt Relevanz: hoch limewire (RUDP-Implementerung) einfacher Patch ist seit 3-4 Wochen unbeantwortet Relevanz: niedrig Smack forken wäre wahrscheinlich eine Diplomarbeit für sich

AP8 - Test und Optimierung von Saros in Netzen mit hoher Latenz Simulation notwendig einfache Variante: Latenz durch Wartezeit in send() Umfrage über Usability in Netzen mit hoher Latenz möglich

AP9 - Testsuite für die Netzkomponente entwickeln als Test für AP6 (FW/NAT) notwendig

AP - Review wahrscheinlich ist nicht alles zeitlich schaffbar, daher Priorisierung notwendig 1 AP1 - Awareness Umfrage: Ausreichend? Was fehlt? Was ist hilfreich für eine DPP Sitzung? 2 AP4 - P2P Nachrichtenübertragung 3 AP5 - Cancelation und Progress 4 AP6 - P2P durch FW und NAT (bedingt AP9 Testsuite) Case Study 5 AP8 - Optimierung für Netze mit hoher Latenz Umfrage: benutzbar bei hohen Latenzen? 6 AP2 - Dateisynchronisation 7 AP3 - find matching project außer Konkurrenz: AP7 - Community Arbeit Braucht jemand hier eine X-Thema?

Roadmap

Anregungen oder Fragen?

Danke!