Grin logo
de en es fr
Shop
GRIN Website
Texte veröffentlichen, Rundum-Service genießen
Zur Shop-Startseite › Informatik - Angewandte Informatik

CollabKit – A Multi-User Multicast Collaboration System based on VNC

Titel: CollabKit – A Multi-User Multicast Collaboration System based on VNC

Diplomarbeit , 2011 , 118 Seiten

Autor:in: Christian Beier (Autor:in)

Informatik - Angewandte Informatik
Leseprobe & Details   Blick ins Buch
Zusammenfassung Leseprobe Details

Computer-supported real-time collaboration systems offer functionality to let two or more users work together at the same time, allowing them to jointly create, modify and exchange electronic documents, use applications, and share information location-independently and in real-time.

For these reasons, such collaboration systems are often used in professional and academic contexts by teams of knowledge workers located in different places. But also when used as computer-supported learning environments – electronic classrooms – these systems prove useful by offering interactive multi-media teaching possibilities
and allowing for location-independent collaborative learning.

Commonly, computer-supported real-time collaboration systems are realised using remote desktop technology or are implemented as web applications. However, none of the examined existing commercial and academic solutions were found to support concurrent multi-user interaction in an application-independent manner. When used in low-throughput shared-medium computer networks such as WLANs or cellular
networks, most of the investigated systems furthermore do not scale well with an increasing number of users, making them unsuitable for multi-user collaboration of a high number of participants in such environments.

For these reasons this work focuses on the design of a collaboration system that supports concurrent multi-user interaction with standard desktop applications and is able to serve a high number of users on low-throughput shared-medium computer networks by making use of multicast data transmission. The developed multi-user multicast collaboration system named CollabKit, realised by integrating and extending existing technologies, was compared against a conventional unicast remote desktop system and found to significantly outperform it when several clients needed to be served. Regarding the functionality requirements and performance metrics defined in this work, CollabKit could achieve the expected results.

This work shows that it is possible to create a computer-supported real-time collaboration system with multi-user and multicast support by integrating existing technologies and extending them with custom implementations where needed: The developed system supports application-independent concurrent operation by multiple users, per-user graphical annotations and window sharing and scales well with an increasing number of users.

Leseprobe


Inhaltsverzeichnis

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

Zielsetzung & Themen

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.

  • Entwurf eines kollaborativen Systems für gleichzeitige Mehrnutzer-Interaktion
  • Implementierung von Multicast-Übertragung zur Verbesserung der Skalierbarkeit
  • Entwicklung von Funktionen für graphische Anmerkungen und Fenster-Sharing
  • Evaluierung der Performance gegenüber konventionellen Unicast-Lösungen

Auszug aus dem Buch

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.

Zusammenfassung der Kapitel

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.

Schlüsselwörter

Echtzeit-Kollaboration, Computer-Supported Cooperative Work, VNC, Remote Desktop, Multicast, Mehrnutzer-Interaktion, MPX, Netzwerkauslastung, Latenz, Durchsatz, Skalierbarkeit, Fenster-Sharing, Flow Control, NACK, Kollaboratives Lernen.

Häufig gestellte Fragen

Worum geht es in dieser Diplomarbeit im Kern?

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.

Welche zentralen Themenbereiche werden abgedeckt?

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.

Was ist das primäre Ziel der Forschungsarbeit?

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.

Welche wissenschaftliche Methode wurde für die Entwicklung verwendet?

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.

Was wird im Hauptteil der Arbeit behandelt?

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.

Welche Keywords charakterisieren die Arbeit am besten?

Die zentralen Schlagworte sind Echtzeit-Kollaboration, VNC, Multicast, Mehrnutzer-Interaktion, MPX, Latenzoptimierung und Skalierbarkeit.

Wie löst CollabKit das Problem der Netzwerkskalierbarkeit?

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.

Warum reicht herkömmliches VNC für die Ziele des Autors nicht aus?

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.

Ende der Leseprobe aus 118 Seiten  - nach oben

Details

Titel
CollabKit – A Multi-User Multicast Collaboration System based on VNC
Hochschule
Humboldt-Universität zu Berlin
Autor
Christian Beier (Autor:in)
Erscheinungsjahr
2011
Seiten
118
Katalognummer
V182165
ISBN (eBook)
9783656055815
Sprache
Deutsch
Schlagworte
remote desktop collaboration multicast vnc multi-user multi-user realtime collaboration
Produktsicherheit
GRIN Publishing GmbH
Arbeit zitieren
Christian Beier (Autor:in), 2011, CollabKit – A Multi-User Multicast Collaboration System based on VNC, München, GRIN Verlag, https://www.grin.com/document/182165
Blick ins Buch
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
  • Wenn Sie diese Meldung sehen, konnt das Bild nicht geladen und dargestellt werden.
Leseprobe aus  118  Seiten
Grin logo
  • Grin.com
  • Versand
  • Kontakt
  • Datenschutz
  • AGB
  • Impressum