Multicast routing in datagram internetworks and extended LANs
ACM Transactions on Computer Systems (TOCS)
Multicast routing for multimedia communication
IEEE/ACM Transactions on Networking (TON)
Multicast tree generation in networks with asymmetric links
IEEE/ACM Transactions on Networking (TON)
Operational transformation in real-time group editors: issues, algorithms, and achievements
CSCW '98 Proceedings of the 1998 ACM conference on Computer supported cooperative work
Bayeux: an architecture for scalable and fault-tolerant wide-area data dissemination
NOSSDAV '01 Proceedings of the 11th international workshop on Network and operating systems support for digital audio and video
Complexity and Approximation: Combinatorial Optimization Problems and Their Approximability Properties
Introduction to Algorithms
Concurrent Operations in a Distributed and Mobile Collaborative Environment
ICDE '98 Proceedings of the Fourteenth International Conference on Data Engineering
Borg: a hybrid protocol for scalable application-level multicast in peer-to-peer networks
NOSSDAV '03 Proceedings of the 13th international workshop on Network and operating systems support for digital audio and video
Application Layer Multicast For Efficient Peer-to-Peer Applications
WIAPP '03 Proceedings of the The Third IEEE Workshop on Internet Applications
Leveraging single-user applications for multi-user collaboration: the coword approach
CSCW '04 Proceedings of the 2004 ACM conference on Computer supported cooperative work
Multicriteria Optimization
Data consistency for P2P collaborative editing
CSCW '06 Proceedings of the 2006 20th anniversary conference on Computer supported cooperative work
Transparent adaptation of single-user applications for multi-user real-time collaboration
ACM Transactions on Computer-Human Interaction (TOCHI)
Overcast: reliable multicasting with on overlay network
OSDI'00 Proceedings of the 4th conference on Symposium on Operating System Design & Implementation - Volume 4
CoMaya: incorporating advanced collaboration capabilities into 3d digital media design tools
Proceedings of the 2008 ACM conference on Computer supported cooperative work
UniWiki: A Collaborative P2P System for Distributed Wiki Applications
WETICE '09 Proceedings of the 2009 18th IEEE International Workshops on Enabling Technologies: Infrastructures for Collaborative Enterprises
The complexity of minimizing certain cost metrics for k-source spanning trees
Discrete Applied Mathematics
A case for end system multicast
IEEE Journal on Selected Areas in Communications
Scribe: a large-scale and decentralized application-level multicast infrastructure
IEEE Journal on Selected Areas in Communications
Hi-index | 0.00 |
Current real-time collaborative application implementations use dedicated infrastructure to carry out all communication and synchronization activities. Specifically, they require all end nodes to communicate directly with and through the central server. In this paper, we investigate scenarios in which the most resource intensive functionality of continuous communication among collaborators to disseminate changes is decentralized, utilizing the end users themselves as relays. We observe that communication characteristics of real-time collaboration makes use of existing multicast mechanisms unsuitable. As collaborative editing sessions are typically long and repeated, it is possible to gather and leverage node behavior (their instabilities and frequency of sending updates) and communication links (latencies and average costs). Several criteria to determine the quality of a multicast tree can be identified: cost, latency and instability. In this paper, we analyze the complexity of the problem of finding optimal communication topologies, and propose approximate algorithms to optimize the same. We also consider the multiobjective problem in which we search for a topology that provides good trade-off between these sometimes conflicting measures. Validation of our proposed algorithms on numerous graphs shows that it is important to consider the multiobjective problem, as optimal solutions for one performance measure can be far from optimal for the other metrics. Finally, we briefly present an implementation of a communication library that uses the proposed algorithms to periodically adjust the dissemination tree.