1 Introduction continued Introduction continued UPnP is for - - PowerPoint PPT Presentation

1
SMART_READER_LITE
LIVE PREVIEW

1 Introduction continued Introduction continued UPnP is for - - PowerPoint PPT Presentation

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


slide-1
SLIDE 1

1

1

Design and Evaluation of Power Management Support for UPnP Devices

Masters Defense – June 7, 2005 (Tampa, Florida)

Jakob Klamra and Martin Olsson Department of Communication Systems Lund Institute of Technology Lund, SWEDEN

2

Acknowledgments

Thanks to:

  • Dr. Christensen, USF
  • Dr. Nyberg, LTH
  • Dr. Labrador and Dr. Rundus, USF

Bruce Nordman, LBNL Chamara Gunaratne, USF

3

Topics

Introduction Analysis Design Implementation Validation Energy Savings Estimate Conclusions and Future Work

4

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

slide-2
SLIDE 2

2

5

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

6

Introduction continued

SSDP – message exchange Discovery SSDP:discover

  • Answered by HTTP OK

Control Point Service Service Service SSDP:discover HTTP OK SSDP:discover HTTP OK S S D P : d i s c

  • v

e r HTTP OK

7

Introduction continued

SSDP – message exchange (continued) Notification SSDP:alive

  • Sent out periodically

Control Point Service Service Service SSDP:alive SSDP:alive SSDP:alive

8

Introduction continued

UPnP foundation, the stack

UPnP Vendor Specific UPnP Forum Specific UPnP Device Architecture HTTP-MU SSDP HTTP-U SSDP HTTP GENA SOAP GENA UDP TCP IP

Eventing and control use TCP SSDP use UDP Our work is done here

slide-3
SLIDE 3

3

9

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

10 10

Analysis continued

Low power proxy Acts (answers and speaks) for sleeping devices Wakes up sleeping devices when they are needed

Proxy Control Point Service

  • 1. Service in power sleep
  • 4. Service powered up
  • 3. Wake up

SLEEP

  • 2. Request for service

New

11 11

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

12 12

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

slide-4
SLIDE 4

4

13 13

Design continued

Design of invisible proxy

Proxy Control point 4.TCP SYN 5.Wake On Lan

  • 6. Forward

TCP SYN 7.TCP SYN ACK

  • 1. Timeout

start proxy

2.SSDP:discover

ST = Printer

  • 3. (Spoofed) HTTP OK

ST=Printer Service

SLEEP

14 14

Design continued

Invisible proxy FSM

CHECK PROXY CACHE TCP P4 CHECK PROXY CACHE DISCOVERY P3 LISTENING P1 P12 Timeout PROXY DEVICE P2 P23 SSDP:discover P32b S in proxy cache Discovery answer P24 TCP from CP P45 S in proxy cache WOL to S WAIT FOR ALIVE P5 P51a SSDP:alive from S P55 Timeout Forward packet from CP CP = Control point, S = Service, WOL = Wake On Lan

15 15

Design continued

Design of cooperating proxy

Proxy Control point Service 3.SSDP:discover ST = Printer 4.HTTP OK (Spoofed) ST=Printer 5.TCP SYN 1.GENA Powermgmt = SLEEP 2.HTTP OK 6 . W a k e O n L a n 8 . F

  • r

w a r d T C P S Y N 9.TCP SYN ACK

SLEEP

7.GENA Powermgmt = POWER

16 16

Design continued

Cooperating proxy FSM

CHECK PROXY CACHE TCP P4 PROXY DEVICE P2 CHECK PROXY CACHE DISCOVERY P3 P23 SSDP:discover P32a S in proxy cache Discovery answer P24 TCP from CP P45 S in proxy cache WOL to S FORWARD PACKET P5 P51a GENA, Power mgmt=POWER HTTP OK Forward packet from CP LISTENING P1 P12 GENA, Power mgmt=SLEEP HTTP OK P51a GENA Power mgmt=POWER HTTP OK, Forward packet from CP CP = Control point, S = Service, WOL = Wake On Lan

slide-5
SLIDE 5

5

17 17

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

18 18

Implementation continued

Data structure for proxies

Device Cache

All devices on the network UPnP Device UPnP Device UPnP Device UPnP Device

Proxy Cache

All devices proxy is answering for UPnP Device UPnP Device UPnP Device UPnP Device

19 19

Implementation continued

Time for last activity from the device last_activity Location location Server name server All services of the device service Ethernet address eth IP address ip

Description Name

UPnP Device

Service Service Service Service

20 20

Implementation continued

Implementation of invisible proxy

Main thread Proxy cache update Notification Discover devices and build cache Start threads Main loop Sniff packets Process packets Send answer and update caches Check devices in Device Cache Update Proxy Cache Check Proxy Cache If needed send SSDP:alive Main loop Proxy cache update Notification Sniff packets Process packets Send answer and update caches Check devices in Device Cache Update Proxy Cache Check Proxy Cache If needed send SSDP:alive

slide-6
SLIDE 6

6

21 21

Implementation continued

Implementation of cooperating proxy

Main Thread Discover power management services and build cache Start threads Main loop

Cache update Notification

Read event socket Sniff packets Process packets Answer and update caches Check Device cache Update Device cache Check Proxy cache Send SSDP:alive Read and parse incoming events Update Proxy cache Main loop

Cache update Notification

Read event socket Sniff packets Process packets Answer and update caches Check Device cache Update Device cache Check Proxy cache Send SSDP:alive Read and parse incoming events Update Proxy cache

22 22

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

23 23

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

24 24

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

slide-7
SLIDE 7

7

25 25

Energy saving estimation continued

Background, stocks

11.3 11.9 6.3 Laser printers 102 107 54.9 Inkjets 42.4 44.7 17.3 Notebooks Network Connected devices 2008 Devices 2008 Devices 2001 Device 82.8 89.3 67.9 Desktops

(all figures are in million)

26 26

Energy saving estimation continued

Results

3560 20% High estimation 890 5% Low estimation Savings in GWh/year (8 cents/kWh) 285 71 Savings in million dollars per year

27 27

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

28 28

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
slide-8
SLIDE 8

8

29 29

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

30 30

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

31 31

Thank you

Jakob Klamra d00jk@efd.lth.se Martin Olsson d00mol@efd.lth.se

Project homepage: www.csee.usf.edu/~jklamra/upnp