Computer Science Department
School of Computer Science, Carnegie Mellon University
Collaborating with Executable Content
Mahadev Satyanarayanan, Vasanth Bala*,
To appear in:
Executable content is of growing importance in many domains. How does one share and archive such content at Internet-scale for spatial and temporal collaboration? Spatial collaboration refers to the classic concept of user collaboration: two or more users who are at different Internet locations performing a task using shared context. Temporal collaboration refers to the archiving of context by one user and use of that context by another user, possibly many years or decades later. The term "shared context" has typically meant shared documents or a shared workspace such as a whiteboard. However, executable content forces us to think differently. Just specifying a standardized data format is not sufficient; one has to accurately reproduce computation. We observe that the precise encapsulation of computing state provided by a virtual machine (VM) may help us solve this problem. We can cope with large VM size through a streaming mechanism that demand fetches memory and disk state during execution. Based on our positive initial experience with VMs for archiving execution state, we propose the creation of Olive, an Internet ecosystem of curated VM image collections.