Microsoft Creates Leech-While-You-Sleep BitTorrent Hardware Drew Wilson | April 27, 2009 It could be a private BitTorrent user’s dream come true. Imagine your overall ratio being at 0.98 right before you put your computer into sleep mode and waking up the next morning to discover your ratio is now at 1.25 after bringing your computer back out of sleep mode. That’s exactly the kind of thing that will be possible with Microsoft’s new ‘Somniloquy’ Note: This is an article I wrote that was published elsewhere first. It has been republished here for archival purposes In a research paper (PDF), Microsoft says, “we present a system, called Somniloquy, that supports continuous operation of many network-facing applications, even while a PC is asleep. Somniloquy provides functionality that is not present in existing wake-up systems. In particular, it allows a PC to sleep while continuing to run some applications, such as BitTorrent and large web downloads, in the background. In existing systems, these applications would stop when the PC sleeps.” PCs are left on for a variety of reasons, including ensuring remote access to local files, maintaining the reachability of users via incoming email, instant messaging (IM) or voice-over-IP (VoIP) clients, file sharing and content distribution, and so on. Unfortunately, these are all incompatible with current powersaving schemes such as S3 and S4, in which the PC does not respond to remote network events. Existing solutions for sleep-mode responsiveness such as Wake-On-LAN (WoL)  have not proven successful “in the wild” for a number of reasons, such as the need to modify application servers or configure network hardware. […] Our system can also be extended to support other applications. We have evaluated Somniloquy in various settings, and in our testbed (Section 5) a PC in Somniloquy mode consumes 11x to 24x less power than a PC in idle state. For commonly occurring scenarios this translates to energy savings of 60% to 80%. We accomplish these goals by augmenting the PC’s network interface hardware with an always-on, low power embedded CPU, as shown in Figure 1. This secondary processor has a relatively small amount of memory and flash storage 2 which consumes much less power than if it were sharing the larger disk and memory of the host processor. It runs an embedded operating system with a full TCP/IP networking stack, such as embedded Linux or Windows CE. The flash storage is used as a temporary buffer to store data before the data is transferred in a larger chunk to the PC. A larger flash on the secondary processor allows the PC to sleep longer. This architecture has a couple of useful properties. First, it does not require any changes to the host operating system, and second, it can be incrementally deployed on existing Of course, the only limitation to this is the fact that the amount of what you can do while in sleep mode is limited to what you can stuff onto the SD card – like how many files you can store on the card while uploading it through BitTorrent. While the implications of such a device could be great for BitTorrent, VoIP and instant messaging users, one might also note that it could help other projects like Folding@Home since it relies on unused computer cycles to do research work – something that might be allowed to happen while the computer is in sleep mode with such hardware installed. [Hat tip P2P-Blog] Drew Wilson on Twitter: @icecube85 and Google+.