Slides

advertisement
Design and Evaluation of Power
Management Support for UPnP Devices
Jakob Klamra and Martin Olsson
Department of Communication Systems
Lund Institute of Technology
Lund, SWEDEN
1
Masters Defense – June 7, 2005 (Tampa, Florida)
Acknowledgments
 Thanks to:
 Dr. Christensen, USF
 Dr. Nyberg, LTH
 Dr. Labrador and Dr. Rundus, USF
 Bruce Nordman, LBNL
 Chamara Gunaratne, USF
2
Topics
 Introduction
 Analysis
 Design
 Implementation
 Validation
 Energy Savings Estimate
 Conclusions and Future Work
3
Introduction
 Problem: increased energy use by IT equipment
 More devices in US households
 IT equipment use 280 kWh/year per US household
• Adds up to $ 2240 million
 Problem: IT equipment always on, even when idle
 Required by some protocols
 Universal Plug and Play (UPnP) has this problem
 Our work solves the problem for UPnP
 Investigate the use of a power management proxy
4
Introduction continued
 UPnP is for automatic device configuration
 Network analogy of Microsoft plug-and-play
 Control points and services
 Discovery, eventing and control
 Standardized by UPnP Forum
 More than 700 vendors, Microsoft, Intel, Nokia
 UPnP uses Simple Service Discovery Protocol
 SSDP is the key issue
5
Introduction continued
 SSDP – message exchange
 Discovery SSDP:discover
• Answered by HTTP OK
Service
SSDP:discover
HTTP OK
Service
Control Point
Service
6
Introduction continued
 SSDP – message exchange (continued)
 Notification SSDP:alive
• Sent out periodically
Service
SSDP:alive
Service
Control Point
Service
7
Introduction continued
 UPnP foundation, the stack
Eventing and control
use TCP
UPnP Vendor Specific
SSDP use UDP
UPnP Forum Specific
Our work is done
here
UPnP Device Architecture
HTTP-MU
HTTP-U
HTTP
SOAP
SSDP
SSDP
GENA
GENA
TCP
UDP
IP
8
Analysis
 Requirements for power management solutions:
 R1 – Enable UPnP devices to enter power sleep
 R2 - Not interfere with existing UPnP functionality
 R3 - Be robust
 R4 - Work for wired and wireless
 R5 - Handle many devices
 R6 - Be possible for us to implement
9
Analysis continued
 Low power proxy
 Acts (answers and speaks) for sleeping devices
 Wakes up sleeping devices when they are needed
4. Service powered up
1. Service in power sleep
SLEEP
2. Request for service
Service
Control Point
10
Proxy
Analysis continued
 Possible solutions to UPnP power management
 Three categories:
 Centralized proxy, no change to devices
• Invisible proxy
 Centralized proxy, minor change to devices
• Cooperating proxy
 No proxy, major change to devices
• Proxying NICs
11
Design
 Selection of the solutions
 All requirements must be fulfilled
 Desirable properties
•
•
•
•
As much power sleep as possible
As little configuration as possible
As little changes to UPnP protocol as possible
…
 Our design decision
 Invisible proxy
 Cooperating proxy
12
Design continued
 Design of invisible proxy
SSDP:discover
Timeout
ST = Printer
TCP SYN
(Spoofed) HTTP OK
ST=Printer
start proxy
Control point
Proxy
SLEEP
Service
13
Design continued
 Invisible proxy FSM
LISTENING P1
P12 Timeout
PROXY DEVICE P2
CHECK PROXY CACHE
DISCOVERY P3
P23 SSDP:discover
P32b S in proxy cache
Discovery answer
CHECK PROXY
CACHE TCP P4
P24 TCP from CP
WAIT FOR ALIVE P5
P45 S in proxy cache
WOL to S
P51a SSDP:alive from S
P55 Timeout
Forward packet from CP
14
CP = Control point, S = Service, WOL = Wake On Lan
Design continued
 Design of cooperating proxy
Proxy
SSDP:discover
ST = Printer
HTTP OK (Spoofed)
ST=Printer
TCP SYN
SLEEP
15
Service
Control point
Design continued
 Cooperating proxy FSM
LISTENING P1
P12 GENA,
Power mgmt=SLEEP
HTTP OK
P51a GENA,
Power mgmt=POWER
HTTP OK
Forward packet from CP
PROXY
DEVICE P2
P23 SSDP:discover
P32a S in proxy cache
Discovery answer
CHECK PROXY
CACHE TCP P4
P24 TCP from CP
FORWARD
PACKET P5
P51a GENA Power mgmt=POWER
HTTP OK, Forward packet from CP
16
CHECK PROXY
CACHE
DISCOVERY P3
P45 S in proxy cache
WOL to S
CP = Control point, S = Service, WOL = Wake On Lan
Implementation
 Development Tools
 Programming environment
• Dev-C++
 Packet handling routines
• NETWIB libraries
 Packet capture and decoding
• Ethereal
 UPnP device toolkit
• Intel software for UPnP technologies
17
Implementation continued
 Data structure for proxies
UPnP Device
Device Cache
All devices on the network
UPnP Device
UPnP Device
UPnP Device
UPnP Device
Proxy Cache
UPnP Device
All devices proxy is answering for
UPnP Device
UPnP Device
18
Implementation continued
UPnP Device
Name
Description
ip
IP address
eth
Ethernet address
service
All services of the
device
server
Server name
Service
Service
Service
Service
19
location
Location
last_activity
Time for last activity
from the device
Implementation continued
 Implementation of invisible proxy
Main thread
Discover devices and build cache
Notification
Start threads
Main loop
Sniff packets
Proxy cache update
Check devices in
Device Cache
Process packets
Update Proxy Cache
Send answer and
update caches
20
Check Proxy Cache
If needed send
SSDP:alive
Implementation continued
 Implementation of cooperating proxy
Main Thread
Read event
socket
Discover power management
services and build cache
Start threads
Main loop
Sniff packets
Cache update
Check
Device
cache
Process packets
Answer and update
caches
21
Update
Device
cache
Notification
Check
Proxy
cache
Send
SSDP:alive
Read and
parse
incoming
events
Update
Proxy
cache
Validation
 Validation – design and implementation must
meet requirements
 Known shortcomings
 TCP forwarding not implemented
 Cannot detect crashed devices
 Test cases
 7 tests for each solution
 3 tests not executed because lack of equipment
22
Validation
continued
 Validation of invisible proxy
 1 test passed
 3 partially failed
• No unexpected behavior
 Validation of cooperating proxy
 2 tests passed
 2 partially failed
• No unexpected behavior
23
Energy saving estimation
 Estimates made for US residential IT equipment
 Estimates made for:
 Stock, power consumption, usage patterns
 Calculations made for:
 Total energy and economic savings in 2008
 Estimates from work by Energy Analysis Program
at Lawrence Berkley National Laboratory
 Bruce Nordman
24
Energy saving estimation continued
 Background, stocks
Device
Devices 2001
Network
Connected
devices 2008
Notebooks
17.3
44.7
42.4
Desktops
67.9
89.3
82.8
Inkjets
54.9
Laser printers
(all figures are in million)
25
Devices
2008
6.3
107
11.9
102
11.3
Energy saving estimation continued
 Results
Savings in
GWh/year
Savings in million
dollars per year
Low estimation
5%
890
71
20%
3560
285
High estimation
(8 cents/kWh)
26
Conclusions and future work
 Conclusions
 Power management in UPnP achieved
• Proved by implementation and validation
 $71 - $285 million saved in American households
using UPnP by 2008
 Contributions
 First to design and implement power management
proxy for UPnP
 Energy savings estimate motivates our work
 Member and contributors to UPnP Forum
UPnP power management
problem solved
27
Conclusions and future work continued
 Shortcomings of the design
 Long response time
• TCP connection between service and control point
not established
 Proxy can crash
• Lost information about sleeping devices
 Proxy not discoverable
 Need to support several medium
• UPnP is media independent
28
Conclusion and future work continued
 Future work
 UPnP power management standard
 Smart NIC
• NIC with proxy capability
• Distributed solution
 Extended proxy functionality
• Automatic configuration of power management
• Routing of services
29
References
 In order of importance:
[20] M. Jeronimo and J. Weast, UPnP Design by Example, Volume 1, April 2003
[26] B. Nordman and A. Meier, Energy Consumption of Home Information
Technology, July 2004
[2] Y. Y. Goland, T. Cai, P. Leach and Y. Gu, Simple Service Discovery
Protocol/1.0 Operating without an Arbiter, draft-cai-ssdp-v1-03.txt, IETF
draft, October 1999
[5] UPnP Forum, http://www.upnp.org/, May 2005
[27] K. Christensen, B. Nordman and A. George, The Next Frontier for
Communications Networks: Power Management, Computer
Communications, Volume 27, Number 18, pages 1758-1770, December 2004
[3] D. Box, G. Kakivaya, A. Layman, S. Thatte and D. Winer, SOAP: Simple
Object Access Protocol, draft-box-http-soap-01.txt, IETF draft, November
1999
[4] J. Cohen, S. Aggarwal and Y. Y. Goland, General Event Notification
Architecture Base: Client to Arbiter, draft-cohen-gena-p-base-01.txt, IETF
draft, September 2000
30
Jakob Klamra
d00jk@efd.lth.se
Thank you
Martin Olsson
d00mol@efd.lth.se
Project homepage:
www.csee.usf.edu/~jklamra/upnp
31
Download