Systems Support for Ubiquitous Computing: A Case Study of Two Implementations of Labscape

Labscape, a ubiquitous computing environment for cell biologists, was implemented twice: once using only standard tools for distributed systems (TCP sockets and shared file systems) and once using one.world, a runtime system designed specifically to support ubiquitous applications. We analyze Labscape in terms of the system properties that are required to provide a fluid user experience. Though the two implementations are functionally and architecturally similar, we found a significant difference in the degree to which they each exhibited the required properties. The fact that one.world was not designed specifically with Labscape in mind yet was found to support the application's requirements well suggests that ubiquitous applications have many aspects in common, and can benefit from a system support layer for coping with dynamic environments. We present, in detail, the concepts embodied in one.world that we have found to be most important for Labscape, and how some of these concepts might be extended.