Acknowledgments � Thanks to: Design and Evaluation of Power � Dr. Christensen, USF Management Support for UPnP Devices � Dr. Nyberg, LTH � Dr. Labrador and Dr. Rundus, USF Jakob Klamra and Martin Olsson Department of Communication Systems � Bruce Nordman, LBNL Lund Institute of Technology Lund, SWEDEN � Chamara Gunaratne, USF 1 Masters Defense – June 7, 2005 (Tampa, Florida) 2 Topics Introduction � Introduction � Problem: increased energy use by IT equipment � More devices in US households � Analysis � IT equipment use 280 kWh/year per US household • Adds up to $ 2240 million � Design � Problem: IT equipment always on, even when idle � Required by some protocols � Implementation � Universal Plug and Play (UPnP) has this problem � Validation � Our work solves the problem for UPnP � Investigate the use of a power management proxy � Energy Savings Estimate � Conclusions and Future Work 3 4 1
Introduction continued Introduction continued � UPnP is for automatic device configuration � SSDP – message exchange � Discovery SSDP:discover � Network analogy of Microsoft plug-and-play � Control points and services • Answered by HTTP OK � Discovery, eventing and control SSDP:discover � Standardized by UPnP Forum � More than 700 vendors, Microsoft, Intel, Nokia HTTP OK Service SSDP:discover HTTP OK Service S S D P : d Control Point i � UPnP uses Simple Service Discovery Protocol s c o v e r HTTP OK � SSDP is the key issue Service 5 6 Introduction continued Introduction continued � SSDP – message exchange (continued) � UPnP foundation, the stack Eventing and control � Notification SSDP:alive use TCP • Sent out periodically UPnP Vendor Specific SSDP use UDP Our work is UPnP Forum Specific done here SSDP:alive Service UPnP Device Architecture SOAP HTTP-MU HTTP-U HTTP SSDP:alive Service SSDP SSDP GENA GENA Control Point SSDP:alive UDP TCP IP Service 7 8 2
Analysis Analysis continued New � Requirements for power management solutions: � Low power proxy � Acts (answers and speaks) for sleeping devices � R1 – Enable UPnP devices to enter power sleep � Wakes up sleeping devices when they are needed � R2 - Not interfere with existing UPnP functionality � R3 - Be robust 4. Service powered up SLEEP 1. Service in power sleep � R4 - Work for wired and wireless 2. Request for service 3. Wake up Service Control Point � R5 - Handle many devices � R6 - Be possible for us to implement Proxy 9 10 10 Analysis continued Design � Possible solutions to UPnP power management � Selection of the solutions � All requirements must be fulfilled � Three categories: � Desirable properties � Centralized proxy, no change to devices • As much power sleep as possible • As little configuration as possible • Invisible proxy • As little changes to UPnP protocol as possible • … � Centralized proxy, minor change to devices • Cooperating proxy � Our design decision � Invisible proxy � No proxy, major change to devices � Cooperating proxy • Proxying NICs 11 11 12 12 3
Design continued Design continued � Invisible proxy FSM � Design of invisible proxy 2.SSDP:discover CHECK PROXY CACHE LISTENING P1 ST = Printer PROXY DEVICE P2 DISCOVERY P3 1. Timeout 4.TCP SYN P12 Timeout P23 SSDP:discover 3. (Spoofed) HTTP OK ST=Printer P32b S in proxy cache start proxy Discovery answer 5.Wake On Lan 7.TCP SYN Control point Proxy CHECK PROXY 6. Forward TCP SYN CACHE TCP P4 ACK P24 TCP from CP WAIT FOR ALIVE P5 P45 S in proxy cache SLEEP WOL to S P51a SSDP:alive from S P55 Timeout Service Forward packet from CP 13 13 14 14 CP = Control point, S = Service, WOL = Wake On Lan Design continued Design continued � Cooperating proxy FSM � Design of cooperating proxy CHECK PROXY Control point CACHE Proxy 3.SSDP:discover PROXY DISCOVERY P3 LISTENING P1 DEVICE P2 ST = Printer 4.HTTP OK (Spoofed) P23 SSDP:discover P12 GENA, ST=Printer Power mgmt=SLEEP 5.TCP SYN HTTP OK P32a S in proxy cache 9.TCP SYN ACK Discovery answer 1.GENA Powermgmt = SLEEP 2.HTTP OK 6 7.GENA Powermgmt = POWER CHECK PROXY . W a 8 P51a GENA, CACHE TCP P4 k . F e o Power mgmt=POWER r O w n P24 TCP from CP a r d L HTTP OK a T n C Forward packet from CP P FORWARD S Y PACKET P5 N SLEEP P45 S in proxy cache P51a GENA Power mgmt=POWER WOL to S HTTP OK, Forward packet from CP Service 15 15 16 16 CP = Control point, S = Service, WOL = Wake On Lan 4
Implementation Implementation continued � Development Tools � Data structure for proxies UPnP Device � Programming environment UPnP Device Device Cache • Dev-C++ UPnP Device All devices on the network � Packet handling routines UPnP Device • NETWIB libraries � Packet capture and decoding UPnP Device • Ethereal Proxy Cache UPnP Device � UPnP device toolkit All devices proxy is answering for UPnP Device • Intel software for UPnP technologies UPnP Device 17 17 18 18 Implementation continued Implementation continued � Implementation of invisible proxy UPnP Device Service Main thread Name Description ip IP address Discover devices and build cache Service Notification Notification eth Ethernet address Start threads service All services of the Proxy cache update Proxy cache update Service Check Proxy Cache Check Proxy Cache Main loop Main loop device Check devices in Check devices in server Server name Sniff packets Sniff packets Device Cache Device Cache If needed send If needed send Service SSDP:alive SSDP:alive Process packets Process packets location Location Update Proxy Cache Update Proxy Cache Send answer and Send answer and last_activity Time for last activity update caches update caches from the device 19 19 20 20 5
Implementation continued Validation � Implementation of cooperating proxy � Validation – design and implementation must meet requirements Main Thread Read event Read event socket � Known shortcomings socket Discover power management services and build cache � TCP forwarding not implemented � Cannot detect crashed devices Read and Read and Start threads parse parse incoming incoming Cache update Cache update � Test cases Notification Notification Main loop Main loop events events � 7 tests for each solution Check Check Check Check Sniff packets Sniff packets � 3 tests not executed because lack of equipment Update Update Device Device Proxy Proxy Proxy Proxy cache cache cache cache cache cache Process packets Process packets Update Update Send Send Answer and update Answer and update Device Device SSDP:alive SSDP:alive caches caches cache cache 21 21 22 22 Validation continued Energy saving estimation � Validation of invisible proxy � Estimates made for US residential IT equipment � 1 test passed � 3 partially failed � Estimates made for: � Stock, power consumption, usage patterns • No unexpected behavior � Calculations made for: � Validation of cooperating proxy � Total energy and economic savings in 2008 � 2 tests passed � 2 partially failed � Estimates from work by Energy Analysis Program • No unexpected behavior at Lawrence Berkley National Laboratory � Bruce Nordman 23 23 24 24 6
Energy saving estimation continued Energy saving estimation continued � Background, stocks � Results Devices Network Device Devices 2001 2008 Connected Savings in Savings in million devices 2008 GWh/year dollars per year Notebooks 17.3 44.7 42.4 Low estimation 5% Desktops 67.9 89.3 82.8 890 71 Inkjets 54.9 107 102 High estimation 20% 3560 285 Laser printers 6.3 11.9 11.3 (8 cents/kWh) (all figures are in million) 25 25 26 26 Conclusions and future work Conclusions and future work continued � Conclusions � Shortcomings of the design � Power management in UPnP achieved � Long response time • Proved by implementation and validation � $71 - $285 million saved in American households • TCP connection between service and control point using UPnP by 2008 not established � Proxy can crash � Contributions • Lost information about sleeping devices � First to design and implement power management proxy for UPnP � Proxy not discoverable � Energy savings estimate motivates our work � Member and contributors to UPnP Forum � Need to support several medium • UPnP is media independent UPnP power management problem solved 27 27 28 28 7
Recommend
More recommend