Power management in Universal Plug and Play networks

Project description

 

         Universal Plug and Play is a protocol made to auto configure devices such as mobile phones, DVD players, stereos and computers over a network. When configured, all devices can join an Universal Plug and Play (UPnP) network and through it be controlled by each other, share information and interact. The benefits of UPnP are that the network has no central parts; it is a so called “peer to peer network” i.e. the devices in the network can communicate directly with each other instead of sending the information via a central server. UPnP is also platform and media independent which means that almost any device can join a network and the network can be connected trough various medium (e.g. phone lines, power cables, Ethernet). Since UPnP networks have no central parts, each new device that connects to the network must inform all other devices of what kind of services the device can offer and where it is located. To do this, every new device will send this information to every other device already connected to the network. All other devices will then answer the new device with the same information so that the new device can get a complete view of the network.

UPnP is a standard under development. The organization responsible for the standard is the UPnP forum that consists of more than 700 vendors, including big companies such as Intel, Microsoft, Nokia, Ericsson and ABB. The standard is already in use and can be found in e.g. Windows XP.

         The objective of this thesis is to solve the power management problem that UPnP creates: When a new device is informing the rest of the network, all other devices must be turned on both to be able to get information about the new device and to inform the new device about themselves. If a device should be in power save mode, it will never be discovered by the new connecting device. Therefore all devices connected to an UPnP network must be fully powered on at all times, which consumes a lot of energy and have both environmental and economic impact on the UPnP user.

         To solve this problem two important tools must be used: Wake up and proxying.

Wake up: when a device has entered power save mode it does not communicate with any other devices on the network. A device in power save mode is however not fully shut down. Therefore it is possible for another device in the network to force the sleeping device to wake up.

Proxying: When a device enters sleep mode, it can turn over its responsibilities to another device. The other device will take care of all the information destined for the sleeping device and answer in its place. When the sleeping device is woken up again, the device that was proxying can put it up to date with the latest events on the network.

To solve the problem of power management, a combination of these two methods will be used.

         The aim of this project is to suggest a solution to the power management problem in UPnP and make a proof of concept by writing a simple program to solve the task. We will investigate what causes the problem and decide how and in which part of the network we can implement a solution using wake up and proxying. Our solution will hopefully help to develop the UPnP standard by adding vital functions to make the standard more usable. We hope to make it possible to use power save mode in all UPnP networks and save a lot of energy which will give both environmental and economical benefits. The possibility of using power save mode will also increase the lifetime for mobile, battery-driven devices. We also hope that our solution will be applicable to similar peer-to-peer networks. If these functions are implemented from the start in future protocols, a lot of money and energy can be saved.

This thesis will be a part of the Green TCP/IP project at University of South Florida, which aims to reduce electricity consumption of desktop computers and other devices that connect to the Internet.