Mirra Services, Hibernate slowness, and Mobile Switch to the Rescue!

Several months back I purchased a Mirra Server of the 120 GB variety.  For a home network, or a small company this is a great way to have redundant (onsite) storage that is as up-to-date as your last connection to the network.  You can find a review and description of the Mirra Servers here.  Given the fact that I have some files that I would like backed up on a regular basis (my Microsoft Money files, my Outlook PST file, documents, code, etc.) the Mirra has made it really nice to not even really think about the backups.  It just does it on it’s own, in the background whenever I’m connected to home network, and thus to the Mirra.

One of the things that was bugging me about the Mirra Server client was that probably 80% of the time my Tablet PC is NOT connected to my home network.  As a consultant I’m out on client sites with my tablet, taking notes, doing some coding, etc.  The way that the client code works is that a service (MirraSync) monitors for the presence of the Mirra Server it is related to and once it makes a connection handles the synchronization of the latest files on the machine to copy as backups to the Mirra.  If the service doesn’t see the Mirra it starts polling every 10-15 seconds until it finds it.  Which means, in my case, 80% of the time I’m using the tablet the service is polling for the Mirra.  While this is pretty harmless and takes just a few CPU cycles at a time it bothered me for some reason.   Primarily my gripes was that for some reason the Mirra Watchdog service was causing the machine to “pause” when told to hibernate or suspend.  The machine would just act like it wasn’t told to do anything, then 20 seconds later it would start to hibernate or suspend.  Also, some resources were being taken up on my tablet (which is not the strongest machine in the world) that were doing nothing but trolling for a Mirra, and if I was connected to a client network my machine was making calls out to their network as it attempted to find the Mirra.  I was never actually approached by a client about this, but I just felt funny having my machine constantly sending packets out to the client’s network when it wasn’t needed.

I sent an email to Mirra via their support contact form requesting to know some more information about the two services that are installed as part of the Mirra Server client software (the Mirra Watchdog service and the MirraSync service).  I was pleasantly surprised to get an email back that answered my complete questions and I could tell that the tech on the other side had actually read my request.  Too many times I send out a support case to an online help center and get back a link to an article that doesn’t even have anything to do with my problem, but may contains some obscure reference to the something that was mentioned in my question.  Anyhow, I have no complaints about the level of service I received.

Anyhow, the MirraSync service is actually the work horse.  It is the code that makes the attachment to the Mirra Server, compares files and sends updated files to the Mirra Server for backup.  The Watchdog service was around only to respond to Power change events on the system (such as Hibernate, Suspend, etc).  When the Watchdog service determines that the MirraSync service has died, it spins it back up (which was apparently a problem during returns from Hibernate, etc. on some machines).  The real bit of information I needed was that in no way did you need to have the two services running if you weren’t connected to the network your Mirra was located on. 

So, Mobile Net Switch to the rescue!  I created a script that stopped and started these services based on a command line parameter and then call that script whenever I switch profiles in Mobile Net Switch.  When I use the “home” profile, the services are turned on.  When I use the other profiles they are turned off.  All that was left was to get the Mirra client application (the guy that sits in the SysTray) out of my startup folder and now I can use the Mirra services only when connected to my home computer!

Anyone who has read this entire post I congratulate you on your patience for mere dribble and the fact that I’m easily entertained with answers to trivially minor things that bug me.

UPDATE: You can find information on Mobile Net Switch here: http://www.mobilenetswitch.com/ .  Also, I added my 2 cents on it here: /blog/331