Diplomarbeit, 2011
118 Seiten
1 Introduction
1.1 Problem Statement
1.2 Approach
1.3 Structure of this Work
2 Real-Time Collaboration Use Cases and Requirements
2.1 Use Cases
2.1.1 Presentations
2.1.2 Electronic Teaching
2.1.3 Professional Collaboration
2.2 Requirements Analysis
2.2.1 Non-Functional Requirements
2.2.2 Functional Requirements
2.2.3 Summary
3 State of the Art
3.1 Basic Principles regarding Real-Time Collaboration Systems
3.1.1 Classification
3.1.2 Common Technical Realisation
3.2 Survey of Existing Real-Time Collaboration Systems
3.2.1 Based on the X Window System
3.2.2 Based on VNC
3.2.3 Based on RDP
3.2.4 Others
3.3 Conclusion – Motivation for CollabKit
4 Design of a Multi-User Multicast Collaboration System
4.1 CollabKit Needed Functionality
4.2 Multi-User Support
4.2.1 Concurrent Multi-User Operation
4.2.2 Multi-User Graphical Annotations
4.2.3 Cross-Platform Client Application
4.2.4 Client-to-Server Window Sharing
4.3 Multicast Transmission of Image Data
4.3.1 Delivery of Multicast Group Address to Clients
4.3.2 Different VNC Pixel-Formats and Encodings
4.3.3 Accumulation of Update Requests
4.3.4 Datagrams Instead of Byte Streams
4.3.5 Multicast Flow Control
4.3.6 Introduction of New Message Types
4.3.7 Overall Resulting Design
5 CollabKit Implementation
5.1 Multi-User Functionality
5.1.1 VNC Server MPX Extension
5.1.2 Annotation Tool MPX Extension
5.1.3 Client Application
5.1.4 Client-to-Server Window Sharing
5.2 Multicast Extension of VNC
5.2.1 Declaration of Message Types
5.2.2 Implementation of Session Setup
5.2.3 Implementation of Message Handling
5.2.4 Implementation of the NACK mechanism
5.2.5 Implementation of Multicast Flow Control
5.2.6 Use with LibVNCServer
6 CollabKit Evaluation
6.1 Evaluation of Multi-User Functionality
6.1.1 Concurrent Multi-User View and Control
6.1.2 Multi-User Graphical Annotations
6.1.3 Cross-Platform Client
6.1.4 Client-to-Server Window Sharing
6.2 Evaluation of the MulticastVNC Extension
6.2.1 Throughput Properties
6.2.2 Latency Properties
6.2.3 Effectiveness of Multicast Flow Control
7 Summary and Future Prospects
Die Arbeit verfolgt das Ziel, ein computergestütztes Echtzeit-Kollaborationssystem zu entwickeln, das eine vollständig gleichzeitige Interaktion mehrerer Nutzer ermöglicht und durch den Einsatz von Multicast-Datenübertragung auch in Netzwerken mit geringer Bandbreite effizient skaliert. Im Fokus steht dabei die Überwindung der Einschränkungen bestehender Remote-Desktop-Technologien im Hinblick auf Mehrnutzer-Unterstützung und Netzwerkauslastung.
1.1 Problem Statement
The first area in which common computer-supported real-time collaboration systems are limited though is support of fully concurrent multi-user interaction:
On the one hand, there is one class of collaboration systems that does support fully concurrent user interaction, but such systems are confined to one or a few built-in applications specifically designed for that system with multi-user support in mind. They do not allow users to interact with unmodified standard desktop applications.
On the other hand, the second class of computer-supported real-time collaboration systems does allow participants to use any kind of desktop application, but they only support user interaction in a turn-taking mode. Only one user at a time can be in control of the shared desktop, there is only sequential but no concurrent interaction.
1 Introduction: Einführung in die Thematik der Echtzeit-Kollaboration und Definition der zentralen Problemstellungen, insbesondere hinsichtlich der mangelnden Mehrnutzer-Interaktion und Skalierbarkeit.
2 Real-Time Collaboration Use Cases and Requirements: Analyse verschiedener Anwendungsszenarien und Ableitung von funktionalen und nicht-funktionalen Anforderungen an ein Kollaborationssystem.
3 State of the Art: Umfassende Untersuchung bestehender Technologien und Lösungen für Remote-Desktop und Kollaboration, um den Bedarf für eine Neuentwicklung zu begründen.
4 Design of a Multi-User Multicast Collaboration System: Beschreibung des systemarchitektonischen Entwurfs, der die Mängel bestehender Lösungen durch MPX-Integration und ein eigenes Multicast-Protokoll adressiert.
5 CollabKit Implementation: Dokumentation der technischen Umsetzung von CollabKit, inklusive der Erweiterungen für VNC, der MPX-Integration und des Multicast-Flow-Control-Mechanismus.
6 CollabKit Evaluation: Detaillierte Auswertung der erreichten Performance-Ziele hinsichtlich Durchsatz, Latenz und der Wirksamkeit der implementierten Flusssteuerung unter realen Testbedingungen.
7 Summary and Future Prospects: Zusammenfassung der Ergebnisse der Diplomarbeit und Ausblick auf mögliche zukünftige Verbesserungen und Forschungsansätze.
Echtzeit-Kollaboration, Computer-Supported Cooperative Work, VNC, Remote Desktop, Multicast, Mehrnutzer-Interaktion, MPX, Netzwerkauslastung, Latenz, Durchsatz, Skalierbarkeit, Fenster-Sharing, Flow Control, NACK, Kollaboratives Lernen.
Die Arbeit befasst sich mit der Entwicklung eines Echtzeit-Kollaborationssystems, das es ermöglicht, dass mehrere Nutzer gleichzeitig mit Standard-Desktop-Anwendungen arbeiten können, ohne dass sie sich bei der Steuerung abwechseln müssen.
Die Arbeit behandelt die Anforderungen an kollaborative Systeme, eine detaillierte Analyse des Stands der Technik bei Remote-Desktop-Technologien (wie VNC, X11, RDP) sowie den Entwurf und die Implementierung einer eigenen Lösung namens CollabKit.
Das Hauptziel ist die Realisierung eines Systems, das eine „vollständig konkurrierende“ Mehrnutzer-Interaktion unterstützt und durch den Einsatz von Multicast-Übertragung auch in Netzwerken mit geringer Bandbreite (z.B. WLAN) eine gute Performance aufweist.
Es wurde ein deduktiver Ansatz gewählt: Aus Anforderungsszenarien wurden funktionale Anforderungen abgeleitet, bestehende Lösungen evaluiert (State-of-the-Art), ein neues Design entworfen und dieses anschließend in einer realen Testumgebung mit dedizierten Metriken (Durchsatz, Latenz, Paketverlust) evaluiert.
Im Hauptteil liegt der Fokus auf dem Design der Multi-User-Unterstützung (durch Integration von Multi-Pointer X, MPX) und der Implementierung eines Multicast-VNC-Protokolls mit einem zuverlässigen Fehlerbehandlungsmechanismus (NACK) und einer effektiven Flusssteuerung.
Die zentralen Schlagworte sind Echtzeit-Kollaboration, VNC, Multicast, Mehrnutzer-Interaktion, MPX, Latenzoptimierung und Skalierbarkeit.
Anstatt jeden Client einzeln im Unicast-Verfahren zu bedienen, nutzt CollabKit Multicast-Datenübertragung. Dadurch wird der gleiche Datenstrom nur einmal an eine Gruppe von Clients gesendet, was die Last auf dem Netzwerk und dem Server bei steigender Nutzerzahl signifikant reduziert.
Herkömmliches VNC ist primär für die Ein-Nutzer-Steuerung (Turn-Taking) konzipiert und nutzt Unicast, was bei vielen Teilnehmern zu hohen Latenzen und Netzwerküberlastungen führt. Zudem bietet es keine Unterstützung für konkurrierende Eingaben mehrerer Nutzer.
Der GRIN Verlag hat sich seit 1998 auf die Veröffentlichung akademischer eBooks und Bücher spezialisiert. Der GRIN Verlag steht damit als erstes Unternehmen für User Generated Quality Content. Die Verlagsseiten GRIN.com, Hausarbeiten.de und Diplomarbeiten24 bieten für Hochschullehrer, Absolventen und Studenten die ideale Plattform, wissenschaftliche Texte wie Hausarbeiten, Referate, Bachelorarbeiten, Masterarbeiten, Diplomarbeiten, Dissertationen und wissenschaftliche Aufsätze einem breiten Publikum zu präsentieren.
Kostenfreie Veröffentlichung: Hausarbeit, Bachelorarbeit, Diplomarbeit, Dissertation, Masterarbeit, Interpretation oder Referat jetzt veröffentlichen!

