TaKo: Providing transparent collaboration on single-user applications

  • Authors:
  • Rubén Mondéjar;Pedro García-López;Enrique Fernández-Casado;Carles Pairot

  • Affiliations:
  • Department of Computer Engineering and Mathematics, Universitat Rovira i Virgili, Spain;Department of Computer Engineering and Mathematics, Universitat Rovira i Virgili, Spain;Department of Computer Engineering and Mathematics, Universitat Rovira i Virgili, Spain;Department of Computer Engineering and Mathematics, Universitat Rovira i Virgili, Spain

  • Venue:
  • Computer Languages, Systems and Structures
  • Year:
  • 2012

Quantified Score

Hi-index 0.00

Visualization

Abstract

The conversion of legacy single-user applications into collaborative multi-user tools is a recurrent topic in groupware scenarios. Many recent literature works have tried to achieve transparent collaboration, which consists of enabling collaborative features without modifying the original application source code. In this paper, we define the available whitebox and blackbox models of transparent collaboration. Each of them differs on which degree the developer must have of the target application inner knowledge, in order to convert it into a multi-user tool. Moreover, we propose and define a novel blackbox model and its implementation (TaKo). Our proposal achieves complete transparency by intercepting user interface libraries and input events. This is the first blackbox solution constructed on top of interception technologies (Aspect Oriented Programming) and, unlike previous approaches, it provides support to both AWT and Swing applications. Our solution solves five important problems: simultaneous work, management of replicated resources (random number generators), collaborative services binding, detailed group awareness information, late joining, and unanticipated sharing support. We are also researching a prospective work on wide-area collaboration scenarios by using a peer-to-peer event substrate. Finally, this work provides validation of TaKo with several Swing-based and AWT-based tools, demonstrating that it is generic and imposes very low overhead.