Skip to main content

SPORC: Group Collaboration using Untrusted Cloud Resources

Author(s): Feldman, Ariel J; Zeller, William P; Freedman, Michael J; Felten, Edward W

To refer to this page use:
Abstract: Cloud-based services are an attractive deployment model for user-facing applications like word processing and calendaring. Unlike desktop applications, cloud services allow multiple users to edit shared state concurrently and in real-time, while being scalable, highly available, and globally accessible. Unfortunately, these benefits come at the cost of fully trusting cloud providers with potentially sensitive and important data. To overcome this strict tradeoff, we present SPORC, a generic framework for building a wide variety of collaborative applications with untrusted servers. In SPORC, a server observes only encrypted data and cannot deviate from correct execution without being detected. SPORC allows concurrent, low-latency editing of shared state, permits disconnected operation, and supports dynamic access control even in the presence of concurrency. We demonstrate SPORC’s flexibility through two prototype applications: a causally-consistent key-value store and a browser-based collaborative text editor. Conceptually, SPORC illustrates the complementary benefits of operational transformation (OT) and fork* consistency. The former allows SPORC clients to execute concurrent operations without locking and to resolve any resulting conflicts automatically. The latter prevents a misbehaving server from equivocating about the order of operations unless it is willing to fork clients into disjoint sets. Notably, unlike previous systems, SPORC can automatically recover from such malicious forks by leveraging OT’s conflict resolution mechanism.
Publication Date: 2010
Citation: Feldman, Ariel J., William P. Zeller, Michael J. Freedman, and Edward W. Felten. "SPORC: Group Collaboration using Untrusted Cloud Resources." In 9th USENIX Symposium on Operating Systems Design and Implementation (2010).
Type of Material: Conference Article
Journal/Proceeding Title: 9th USENIX Symposium on Operating Systems Design and Implementation
Version: Final published version. This is an open access article.

Items in OAR@Princeton are protected by copyright, with all rights reserved, unless otherwise indicated.