Power-save is Bad for Running Servers on Mobile Devices
UPDATE: With new OS (with skype and everything!) the slow ssh server functionality has disappeared.
Some time ago we installed an ssh server on Nokia N800. It was quite a surprise how long tie it took to establish an ssh session from laptop to N800. Some google searches revealed that the problem lies in the power-save properties of the device. When not used for some time the wireless goes into power-save mode and it takes some time to get the network up and running. The issue does not really exists when you are browsing the net with the gadget since the network interface is kept in ready state when user input is given. However, if no user input is given and the network goes into sleep, the server applications are not terribly rapid on responding on the connections. In the following we measure response time by looking on how the N800 responds to pings.

The figure shows how the first ping is always slower than the consecutive ones. We started series of 10 pings (each with one second intervall) after one minute was elapsed from last series. This results in from network interfaces power-save properties. Once the network is woken and under constant communication the working is much faster. We plotted the average of ten runs with the standard deviation which shows that in addition to slowness the response for one ping is more un-predictable.
Well, this gives just a small example on one device. Still, it illustrates nicely how the mobile devices have their own particularities which should be taken into account when applications are developed.
August 23rd, 2007 at 9:04 pm
Did you do any tests how long a delay there needs to be before the network interface power save starts?
August 31st, 2007 at 5:13 am
This was not yet tested, we will continue with the tests in the future, one interesting observation will be also to see if pings are started very frequently in the beginning, will we face packet loss. However, this will take some time. The was also an interesting talk about using HIP implementation on Nokia N700 at SIGCOMM workshop http://www.sigcomm.org/sigcomm2007/mobiarch/ .