Software Framework for Managing Heterogeneity in Mobile Collaborative Systems
Heterogeneity in mobile computing devices and application scenarios complicates the development of collaborative software systems. Heterogeneity includes disparate computing and communication capabilities, differences in users’ needs and interests, and semantic conflicts across different domains and representations. In this paper, we describe a software framework that supports mobile collaboration by managing several aspects of heterogeneity. Adopting graph as a common data structure for the application state representation enables us to develop a generic solution for handling the heterogeneities. The effect external forces, such as resource constraints and diverging user interests, can be quantified and controlled as relational and attribute heterogeneity of state graphs. When mapping the distributed replicas of the application state, the external forces inflict a loss of graph information, resulting in many-to-one correspondences of graph elements. A key requirement for meaningful collaboration is maintaining a consistent shared state across the collaborating sites. Our framework makes the best of maximizing the state consistency, while accommodating the external force constraints, primarily the efficient use of scarce system resources. Furthermore, we describe the mobility aspects of our framework, mainly its extension to peer-to-peer scenarios and situations of intermittent connectivity. We describe an implementation of our framework applied to the interoperation of shared graphics editors across multiple platforms, where users are able to share 2D and 3D virtual environments represented as XML documents. We also present performance results, namely resource efficiency and latency, which demonstrate its feasibility for mobile scenarios.