TaKo: Providing transparent collaboration on single-user applications
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.
transparency collaboration interception peer-to-peer aop event-based