Tablet PC and Ultra-Mobile PC News, Forums, and Video Reviews  
       
 
 


 

Thursday, May 08, 2008

« The-Gadgeteer.com Lets the Dragon LooseMain  | MobileDemand xTablet T8700 Undergoes Severe Abuse »

Sleeping, Resuming, and Changing WiFi Networks

- Warner Crocker

WifiOver the last several months as I’ve been working in various locations, most of which have WiFi, I’ve noticed some interesting developments. When I change locations, thus changing networks, and I bring a device out of sleep mode there will often be some long delays until things are up and runing. Based on what I’m seeing this has to do with applications that are immediately trying to access the Internet before a connection is made. There are several applications that I have running in the background that upon the computer waking up, jump up and start running like they are late for work in the morning. They quickly try to connect to the Internet to do their thing. Some of these apps include, Google Calendar Sync, Microsoft’s Live Mesh, Eset’s NOD32, Microsoft Outlook, the Vista SideBar, and a few others.

What’s annoying about this is that the devices in question (all running Vista) haven’t yet switched and logged onto the new network when this occurs. Occasionally that happens relatively quickly, sometimes it does not. I sense a bottleneck as these applications are trying to do their thing on the network, before there is a connection. Watching the processors chew up cycles until things have connected lead me to that conclusion. In fact, I’ve taken to turning off some of these applications before I go into sleep mode just to prevent what I perceive as a lag in resuming from sleep when this occurs. It does seem to help, but my evidence is merely anecdotal.

It seems to me, (and I’m no programmer) it would be relatively simple for these applications to detect if there was a connection before trying to log on to the network. Am I wrong here?



Thursday, May 08, 2008 9:15:03 AM (Mountain Daylight Time, UTC-06:00)
I have noticed this too with Outlook as the worst offender. To help, I turn off wifi while coming out of sleep mode. This is easy to do with the external hardware switch for wifi on the X60/x61. I then enable when the system seems stable. I only need to do this when shifting to a new SSID though. If I am coming up in the same, then no need. This seems to help reduce the overall boot time for me.
Thursday, May 08, 2008 9:42:20 AM (Mountain Daylight Time, UTC-06:00)
I've seen this since I started using wifi. First noticed it in iTunes years ago (posted a query about it back on TabletPCBuzz.com), but it's been consistent since then. Resuming from standby, applications that previously detected an Internet connection still seek that connection even if it's been lost. Doesn't drag me down too much since I don't keep things perpetually in sync, but I have occasionally locked out all apps using my ZoneAlarm firewall to keep them from overwhelming the new connection before it is done logging in.
Thursday, May 08, 2008 10:33:40 AM (Mountain Daylight Time, UTC-06:00)
Speaking as a programmer with a background in writing applications with network capability, I can tell you that it's almost unheard of for an application to check for link status before attempting to do its thing. This is true on both Unix-variants and Windows, in my experience. There is, in fact, no easy API call on either platform that I'm aware of that would deliver link status information to a program.
Thursday, May 08, 2008 1:36:58 PM (Mountain Daylight Time, UTC-06:00)
I'm also a programmer, with some network experience but not really getting what is being asked. While detecting a viable link before trying a network activity may be not viable, I wouldn't expect a huge amount of CPU activity while connections were being sought. There is normally some form of handshaking that goes on in any connection, and this has no need to be expensive in CPU terms.
mwtb
Thursday, May 08, 2008 2:42:45 PM (Mountain Daylight Time, UTC-06:00)
No easy API call? What is the NetworkChange class in the .NET Framework? :-)

It has two events. One can be used to receive notifications when the network is available or unavailable. The other receives notifications when the network address changes.

The NetworkChange class is primarily a user friendly wrapper around the network interface classes that talk to the underlying wininet.dll in Windows. So even non-.NET windows developers should be able to implement similar functionality.
Thursday, May 08, 2008 7:14:48 PM (Mountain Daylight Time, UTC-06:00)
mwtb,

I have the same frustrations as Warner. It's not so much that the CPU usage gets high, it's just that these apps keep trying and trying to connect before the wifi adapter and network connections are set, and they refuse to allow the normal boot up process to move on. It takes a long time, not a lot of power.
sbtablet
Thursday, May 08, 2008 7:39:04 PM (Mountain Daylight Time, UTC-06:00)
sbtablet,

Yep, that's the issue.
Friday, May 09, 2008 1:51:39 AM (Mountain Daylight Time, UTC-06:00)
Is it the wifi link? I see this mostly with Outlook -- and it looks like it just wants to touch every single page of memory it owns -- so the pagefile.sys gets hit hard.

Vista actually has some great tools to help you debug this sort of thing. Before you shut down start up the resource monitor. Then you can watch what is going on. The disk info tells me exactly what files on my machine are getting hit the hardest. There is also a network connection set of info -- checking that might give you some more clues as well.

Or start up the advanced diagnositcs, and as soon as you open your laptop back up tell it to start collecting data. When I do that, for example, it tells me that my disk doesn't have the necessary throughput (because it can't serve the page requests fast enough). A SSD might help there.
Friday, May 09, 2008 5:04:00 AM (Mountain Daylight Time, UTC-06:00)
'Welcome to the cloud' :)

When I startup/connect a laptop to the network (be it wireless or wired) I always mumble a few things along the lines of 'stay of my network connection' (mostly for those 'phone home' applications)

There once was a Office update that... no not going to relive that nightmare...

Maybe the network stack should have an option 'allow this application onto the network now' or 'allow after x seconds' if the application is not a well behaved citizen ??

But yes, application programmers should think about how there programs behave in combination with other programs, and required to test/use them on SLOW connections before they are released to users.
-
Comments are closed.


       





Copyright 2008 GottaBeMobile.com
 
     

 
     
 
     
 
     
 
The vision of GottaBeMobile.com is to become the definitive source for mobile computing news, reviews, and commentary, as well as the home for the mobile community to discover and discuss these issues. When you think mobile, think GottaBeMobile.com.

The mobile computing space is one of the fastest growing and fastest changing spaces, and indeed industries worldwide. Within that constantly evolving and face paced world, GBM covers a range of spaces and technologies including Tablet PCs, UMPCs, MIDs, Ultra-portable computers, operating systems, software, natural human interfaces, accessories, mobile connectivity solutions, and other solutions that appeal to the mobile user.
     
Featured Stories
     
 
Latest GBM Shortcut Video Reviews and InkShows

 
News Categories
     
Twitter, Google Tools, etc
News Archive