Slashdot Mirror


Microsoft's Sleep Proxy Lowers PC Energy Use

alphadogg writes "Microsoft researchers have slashed desktop energy use with a sleep proxy system that maintains a PC's network presence even when it is turned off or put into standby mode. Microsoft has deployed the sleep proxy system to more than 50 active users in the Building 99 research facility in Redmond, Wash., according to the Microsoft Research Web site and a paper that will be presented at the Usenix technical conference in Boston later this month. ... Sleep proxies allow machines to be turned off while keeping them connected to the network, waking the machines when a user or IT administrator attempts to access them remotely."

30 of 163 comments (clear)

  1. Wake on Lan? by hedwards · · Score: 5, Insightful

    This is something new? Isn't this basically just wake on lan with an external box? Meaning that rather than having a part of the computer powered on in case the packet to wake up comes through, they're doing it with an external box. I'm a bit curious as to why this justifies any particular coverage.

    1. Re:Wake on Lan? by Stupendoussteve · · Score: 4, Informative

      I guess they're claiming it's smart wake on lan. WoL requres sending a specific packet to the machine. Most people don't know to do this (an admin should, but otherwise...) and the network resources will be unavailable in the meantime. This system keeps the resources available and wakes the computer if they are actually needed. It does not rely on someone being smart enough to wake up the system themselves.

      Macs have the option to Wake on Demand which requires the use of an Airport base station but seems to follow the same basic concept.

    2. Re:Wake on Lan? by jridley · · Score: 4, Insightful

      It probably is, but for instance I can't use WOL because it requires a packet that can't propagate through a router. I've thought in the past about setting up a machine on my subnet that I could poke via HTTP or whatever and make it send the wake packet to my PC, and anyone else could use it too. But since I'm probably the only person on my floor of the building that gives a crap about power consumption, it'd be silly to set up a 2nd machine running 24/7 so that I could turn mine off a few hours a day.

    3. Re:Wake on Lan? by Cley+Faye · · Score: 4, Informative

      It probably is, but for instance I can't use WOL because it requires a packet that can't propagate through a router.

      There is the possibility of having a smart router that allow WOL packets; some of them have a "act as a WOL proxy" option built-in, for examples.

    4. Re:Wake on Lan? by LordKronos · · Score: 2, Informative

      For my home network, I've got it setup so that my web server (which I can access remotely) has a php web page which I can use to send a wake-on-lan signal to my desktop PC. It also opens up the remote desktop port on my router to my current IP.

    5. Re:Wake on Lan? by cmacb · · Score: 4, Funny

      You mean they copied Apple?

      Huh. First time for everything.

    6. Re:Wake on Lan? by Anonymous Coward · · Score: 2, Informative

      Wake on LAN is a local protocol because it has to be sent as a broadcast packet if the router doesn't know the MAC address of the target network card. If you can configure static ARP table entries, you can combine that with port forwarding and use unicast WoL even over the internet. Besides, many home routers have WoL functionality. The problem with plain WoL is that it isn't built into the protocols, it doesn't maintain the presence of the server on the network and it doesn't keep the connection state on the server.

    7. Re:Wake on Lan? by Rockoon · · Score: 5, Informative

      So, basically it's a wake on lan, but that which works everytime some moron is doing a portscan or ssh-breakin attempt on your system? Why would such a system even have a off mode?

      ..so basically, no its not like wake on demand.

      "SleepNotifier alerts SleepServer just before the client goes to sleep, and SleepServer ensures that all incoming traffic meant for the client comes to the proxy instead," Microsoft writes in another article titled "Trying to cure PC insomnia." "The proxy server's role is to monitor traffic and respond accordingly. For some requests, it responds on behalf of the client so the client can continue sleeping, and others it ignores. Some traffic, such as a user access request, causes the SleepServer proxy to awaken the client and present the user with apparently seamless remote access."

      So basically we have a system that uses Wake On Lan to wake the remote machine automatically for user requests, but also avoids waking it for stupid shit like pings.

      This is, in effect, what other researchers are trying to solve in a decent manner. Wake On Lan requires the waker to know a thing or two about the sleeping system (for example, that its sleeping) and simple frontend devices that have solved this in the past wake the system for everything and are also permanent proxies (proxying even when the system ISNT sleeping, for example)

      --
      "His name was James Damore."
    8. Re:Wake on Lan? by caluml · · Score: 2, Insightful

      it'd be silly to set up a 2nd machine running 24/7 so that I could turn mine off a few hours a day.

      Get an HP Thin Client, or similar. Leave that running, it'd draw 8 watts, I think. Then you could SSH to it, and send the WOL packet to your big, beefy 400W PSU box.

    9. Re:Wake on Lan? by v1 · · Score: 4, Interesting

      Macs have the option to Wake on Demand [apple.com] which requires the use of an Airport base station but seems to follow the same basic concept.

      Macs actually implement the Wake On LAN standard feature. (sometimes referred to as WOMP, or Wake On Magic Packet) This relies on the computer's ethernet hardware remaining awake while the computer sleeps, and any computer on the LAN can send a special UDP packet containing its ethernet MAC (Machine Address Code, unrelated to MACintosh) to trigger the computer to wake up. The only Apple-specific part of this feature is that Apple extended it to wireless use, keeping wifi hardware also active and listening for the magic packet so computers could be woke up wirelessly. Come to think of it thought, WOMP over wireless does require an Airport base station and Mac ethernet adapters - Apple extended the WOMP specs (in an open way) but I think are the only ones presently implementing it?

      Looks like Microsoft yet again attempts to take credit for "inventing" something that we've all been using for years. This time it wasn't even ripped off from Apple, it's been in use on all manner of PCs for some time now. This is just MS's first specific support in their OS?

      I see a comment immediately below, "it'd be silly to set up a 2nd machine running 24/7 so that I could turn mine off a few hours a day"..... Actually, that's exactly how you wake up machines on different networks such as waking up a work machine from home. Unless your server is asleep too I don't see this being an issue? Remote into it, use it to WOMP your workstation, and then connect to it? Even if you don't have a server, surely keeping one machine awake to provide access to many other machines (easily tens to hundreds) is hardly a hardship.

      --
      I work for the Department of Redundancy Department.
    10. Re:Wake on Lan? by Anonymous Coward · · Score: 2, Insightful

      It's Media Access Control. When you attempt to sound smart, at least know the acronyms you're clarifying.

    11. Re:Wake on Lan? by Anonymous Coward · · Score: 2, Informative

      Looks like Microsoft yet again attempts to take credit for "inventing" something that we've all been using for years.

      If the Apple people here could calm down a bit and actually read the paper (at least RTFA), they would see that...

      a) Actually MS is claiming no such thing, quite the opposite, they are actively acknowledging that others are working on sleep proxy research, and explaining what they have done different. This is published research, not marketing or fanboyism.

      b) This is not just Wake on Lan. It's a smart automation of sleep/wake-on-lan functionality designed for enterprise network use. Waking hosts automatically (not by manual WOL command) if needed, but not unecessary. In a complex enterprise network environment with constant traffic complexity.

      A short quote from the article:

      "The proxy server's role is to monitor traffic and respond accordingly. For some requests, it responds on behalf of the client so the client can continue sleeping, and others it ignores. Some traffic, such as a user access request, causes the SleepServer proxy to awaken the client and present the user with apparently seamless remote access."

    12. Re:Wake on Lan? by rinoid · · Score: 2, Informative

      This is the way it works on OSX ... The machine appears available as a network resource yet remains asleep until yo attempt to utilize one of its hosted network services, afterwhich it wakes up. Does not wake for ping.

  2. This is news? by bushing · · Score: 4, Informative

    This sounds awfully familiar... http://en.wikipedia.org/wiki/Sleep_Proxy_Service

  3. Re:Give them a break by XMode · · Score: 5, Interesting

    Reinventing something that's been available for years is not 'coming up with good technologies'.

    Now what they SHOULD have done is just cache the MAC of the PC in AD along with the rest of the object (It might already be there as part of the auth stuff) and then mod the remote access client to try and ping first, no reply? Send a Wake on Lan packet.

  4. Misleading Headline by John+Hasler · · Score: 4, Funny

    I was expecting a sleep proxy for me so that I could stay up all night while the proxy wasted time sleeping.

    --
    Warning: this article may contain humor, sarcasm, parody, and perhaps even irony. Read at your own risk.
  5. Re:Give them a break by Rockoon · · Score: 2, Funny

    hey thats great.. Its as simple as modding every single remote access application that currently exists and will ever exist.. such as firefox.. thats so simple... you are brilliant.

    --
    "His name was James Damore."
  6. Re:So they broke it, and made it theirs. by Rockoon · · Score: 2, Insightful

    Syndrome identified:

    Any feature even remotely similar, but found on Apple products, means that Macs have been doing it 'for some time now' even if what the Mac is doing is just the crap built into the bios of every motherboard made for the last decade, and doesnt solve any of the real problems that this new solution is solving.

    --
    "His name was James Damore."
  7. great for botnets by e**(i+pi)-1 · · Score: 4, Interesting

    Swell, botnets can even operate with computers which had been turned off.

  8. Re:So they broke it, and made it theirs. by Anonymous Coward · · Score: 2, Informative

    Another syndrome identified:

    replying without knowing the full story. Or even thinking about it.

    Wake-on-lan is indeed nothing new, but Apple did it differently. They combined it with Multicast DNS (Bonjour) and placed it in the ROUTER. This means that it's the router that traps a request for your computer, and send a WOL first. There's no 'wakeup' button to press anywhere, it work automatically. Your PC might support WOL too, but are you using it ? How do you wake it up ?

    And by the way, Apple also implemented if for wireless devices (WMM) where WOL doesn't work.

    Unfortunately, since Apple is not making any routers that you can use in your companies network, it only work on a home network if you have an Apple Airport Express or Extreme. Or if you have a Mac on the same subnet that is using Internet Sharing. So it doesn't work in a company where the biggest savings might be done.

  9. Re:MS invented here JUST LIKE THEY ALWAYS DO by 0100010001010011 · · Score: 5, Informative

    It's also OpenSource: Note: see mDNSResponder source code at www.macosforge.org, which includes a full implementation of the DNS-SD/mDNS Sleep Proxy Service, available under the Apache 2.0 Open Source license. AND written up as a specification http://tools.ietf.org/html/draft-cheshire-dnsext-multicastdns-11

    Meaning if Linux or *BSD wanted to they too could also have it too. In fact, I'm really hoping that they do because I'd love to not have to send a WOL to my HTPC or Server when I want it to download something. I can just have my sheevaplug wget an address and have it wake itself.

  10. Re:So they broke it, and made it theirs. by Alan+Shutko · · Score: 3, Informative

    Actually, in this case, Macs have been doing it since Snow Leopard was released, with Airport base stations. The base station will act as a proxy for any Bonjour-advertised service. If the Mac is asleep, the Airport will continue to advertise the bonjour offers. If another machine tries to connect to one of those services, the router will see it and will send the WOL packet to the mac.

    So this does satisfy the basic need. It looks like the MS solution goes a bit further to making it work in an enterprise environment. With Apple's Wake On Demand, you need to be using Apple router, while with MS's you can use anything. It also looks like it could span routers, which Apple's can't do (with the exception of Back to My Mac with MobileMe). MS's paper does mention Apple's sleep proxy in its section on prior work, though it doesn't go into details on the differences.

  11. Re:Give them a break by Rockoon · · Score: 2, Insightful

    So every user has to install a driver? Even Joe Plumber trying to access your invoice history web server?

    You just dont seem to get it.

    --
    "His name was James Damore."
  12. Re:My Macs have been able to do this for some time by camperdave · · Score: 4, Funny

    Interesting. Could we have a link, please?

    Yes, as soon as the machine wakes up.

    --
    When our name is on the back of your car, we're behind you all the way!
  13. Turn in your geek card by sconeu · · Score: 2, Insightful

    MAC stands for Media Access Control.

    "Machine Address Code" my ass...

    --
    General Relativity: Space-time tells matter where to go; Matter tells space-time what shape to be.
  14. Re:MS invented here JUST LIKE THEY ALWAYS DO by kjart · · Score: 2, Informative

    It's a good thing you're here to call out bullshit on Slashdot! I mean, Microsoft contending it invented all this in such a _cowardly_ way...oh wait, FTFA:

    Microsoft's research group isn’t the first to work on a sleep proxy – or even the only one presenting sleep proxy research at Usenix – but Microsoft contends that most previous work has evaluated sleep proxies only in small testbeds or simulations.

    Phew, so Microsoft Research is presenting a research paper on this subject. Crisis averted.

  15. Re:MS invented here JUST LIKE THEY ALWAYS DO by badboy_tw2002 · · Score: 3, Funny

    Hey buddy, you and your "facts" can go fuck yourselves. I came into this discussion for some microsoft I mean M$ hate and I'll be damned if I'm going to let a few sensible facts and reasoned posts get in my way. Someone make a chairs joke, stat! Also, can we somehow work 640K into this? Lets see...640K seconds of sleep should be enough for anyone...umm....640K computers will only allow themselves...hmm...wait, I'll get it..

  16. Linux or *BSD by 200_success · · Score: 5, Informative

    It's also OpenSource [...] Meaning if Linux or *BSD wanted to they too could also have it too.

    They could, if it weren't patented.

    1. Re:Linux or *BSD by 0100010001010011 · · Score: 2, Informative

      It's an Apache 2.0 license probably just for that reason:
      http://www.opscode.com/blog/2009/08/11/why-we-chose-the-apache-license/

      While the 3-Clause BSD license allows you to do pretty much anything you want with the code in question, it provides no direct language around these areas. The Apache License, on the other hand, does. It makes very clear that individual contributors grant copyright license to anyone who receives the code, that their contribution is free from patent encumbrances (and if it is not, that they license that patent to anyone who receives the code,) and that use of Trademarks extends only as far as is necessary to use the product. It also includes a patent termination clause, should a lawsuit arise.

      So, if you use Apple's mDNS code, you're in the clear. If you try and reinvent something, (like microsoft is doing) are in violation in Apple's patents you're in trouble.

  17. Re:Wake on Lan wakes too often, leads to insomnia by louarnkoz · · Score: 4, Insightful

    If you read the fine article, you will see that they acknowledge wake on lan and other similar work. They are addressing a practical problem in large networks. Classic implementations of Wake-on-Lan wake the computer when another computer sends it a packet. This looks fine in theory, "my computer wakes up when it has something to do," but it does not work well in practice, in a large network.

    In any network of a certain size, there is a lot of noise, scans, keep alive traffic. That traffic causes packets to be received frequently, maybe a couple times per minutes. When a computer awakes, it takes some time to put it back to sleep, maybe a minute. Given enough background traffic, the computer never goes to sleep.

    The solution is some form of filter, to only wake up the computer if the incoming data packet is "important." For that, you need a proxy. And the proxy needs a lot of tuning. If it does not wake up on "important" traffic, the users are pissed. If it wakes up too often for trivial pings, the energy bill increases. What they claim here is that after a year of trial, they have validated a particular tuning that works well. Seems interesting indeed.