Building Media-Rich Cloud Services from Network-Attached I/O
26 September 2016
We present the architecture and implementation of a system, called Cygnet, that makes it simple to implement media-rich, interactive cloud services. In Cygnet all I/O devices are first-class network-accessible entities that can be bound or unbound to a running service at any time and that are perceived by the service in the same way as a traditional PC perceives its local I/O devices. This property makes service construction much resemble the assembly of a local computer. The property holds even for software that directly interacts with the display, such as full-screen games and windowing systems. The system implementation is entirely based on containers instead of virtual machines --- a design that revealed some nonintuitive performance implications, namely: in several instances the container outperformed the native host performance. We explain this phenomenon in the discussion of the results.