Synchronizing shared abstract types
ACM Transactions on Computer Systems (TOCS)
Epidemic algorithms for replicated database maintenance
PODC '87 Proceedings of the sixth annual ACM Symposium on Principles of distributed computing
A framework for shared applications with a replicated architecture
UIST '93 Proceedings of the 6th annual ACM symposium on User interface software and technology
Design patterns: elements of reusable object-oriented software
Design patterns: elements of reusable object-oriented software
DistView: support for building efficient collaborative applications using replicated objects
CSCW '94 Proceedings of the 1994 ACM conference on Computer supported cooperative work
Building real-time groupware with GroupKit, a groupware toolkit
ACM Transactions on Computer-Human Interaction (TOCHI)
A concurrency control framework for collaborative systems
CSCW '96 Proceedings of the 1996 ACM conference on Computer supported cooperative work
Designing and implementing asynchronous collaborative applications with Bayou
Proceedings of the 10th annual ACM symposium on User interface software and technology
Flexible update propagation for weakly consistent replication
Proceedings of the sixteenth ACM symposium on Operating systems principles
ACM Transactions on Computer Systems (TOCS)
A temporal model for multi-level undo and redo
UIST '00 Proceedings of the 13th annual ACM symposium on User interface software and technology
The IceCube approach to the reconciliation of divergent replicas
Proceedings of the twentieth annual ACM symposium on Principles of distributed computing
Atomic data abstractions in a distributed collaborative editing system
POPL '86 Proceedings of the 13th ACM SIGACT-SIGPLAN symposium on Principles of programming languages
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Pattern-Oriented Software Architecture: Patterns for Concurrent and Networked Objects
Undo as concurrent inverse in group editors
ACM Transactions on Computer-Human Interaction (TOCHI)
About Face 2.0: The Essentials of Interaction Design
About Face 2.0: The Essentials of Interaction Design
Ensuring Content and Intention Consistency in Real-Time Group Editors
ICDCS '04 Proceedings of the 24th International Conference on Distributed Computing Systems (ICDCS'04)
ACM Computing Surveys (CSUR)
Undo for anyone, anywhere, anytime
Proceedings of the 11th workshop on ACM SIGOPS European workshop
Scribe: a large-scale and decentralized application-level multicast infrastructure
IEEE Journal on Selected Areas in Communications
Wooki: a P2P wiki-based collaborative writing tool
WISE'07 Proceedings of the 8th international conference on Web information systems engineering
Hi-index | 0.00 |
To maintain availability and responsiveness, mobile applications sharing data often work on their own copy and transmit local changes to other participants. Existing systems for recording, transmitting and reconciling concurrent changes are usually ad-hoc and specific to particular applications. In contrast, we present Joyce; a general application programming framework for creating highly dynamic mobile, collaborative applications. The framework abstracts application semantics using an action-constraint formal model and provides communication and consistency services based on this model. The framework exposes an interface that allows application programmers to concentrate on core functionality without worrying about these issues. Applications made with the framework can run seamlessly across changing combination of devices, users and synchrony. We discuss the principles behind the framework, its implementation and evaluate its utility by creating a complex, shared application.