Somniloquy: Maintaining Network Connectivity While Your Computer Sleeps - Agarwal, Yuvraj; Hodges, Steve; Scott, James; Chandra, Ranveer; Bahl, Victor; Gupta, Rajesh (Microsoft Research, 2008)
Reducing the energy consumption of computers is becoming increasingly important with rising energy costs and environmental concerns. It is doubly important for mobile devices, whose battery lifetime is always an issue. Sleep states such as S3 (suspend) save energy but make it impossible to communicate directly with a device across a network. Therefore, many people do not use S3 and instead leave their computers plugged in and active. Somniloquy enables devices to be configured so that they may be awoken from S3 based on specified network traffic, such as remote-desktop sessions and file-transfer requests. With Somniloquy, remote servers, the network, and even applications running on a device do not have to be modified or specially configured. We present a prototype implementation of Somniloquy using a USB peripheral, which is therefore easily retrofitted to existing computers. Our prototype achieves a ten-fold increase in battery lifetime compared to an idle computer not in S3, while only adding 4-7s of latency to respond to application layer events. Our system allows computers to appear always on when they are in fact talking in their sleep.