The Core Technologies Blog

Professional Software for Windows Services / 24×7 Operation


Service Protector 9.5 Helps You Bulletproof Your Network Services

Service Protector 9.5: Network Connection Sanity Check

Service Protector 9.5 out!

As usual, we focused on improving the software to help your Windows Services achieve 100% uptime — even in the face of failures. Here are the highlights:

Advanced safeguards for your network-aware Windows Services

Are you responsible for a service that communicates over the network?

Or are you running a TCP/IP server that accepts connections from other devices?

What happens if your service cannot communicate with its clients?

If the result is catastrophe, then you should deploy our new “check network connections” sanity check, to automatically restart your service if it experiences a networking failure.

How the “check network connections” sanity check works

The new sanity check periodically scans your service for network connections, much like Microsoft’s TCPView utility does. And if it doesn’t find any network connections, Service Protector stops and restarts your service — to give it the opportunity to reestablish connectivity.

Moreover, Service Protector can alert you by email whenever the network check fails. The message will include details of what went wrong, like this:

You'll get an email alert when the check fails

How to activate the “check network connections” sanity check

It’s very easy to activate the new sanity check. Indeed, you should be up and running in a couple minutes (or less).

Here are the steps to set it up:

  1. Edit your entry in Service Protector.

  2. Go to the Monitor tab, check the Whenever it fails a periodic sanity check box and click the Set button:

    Set the sanity check
  3. In the Add Sanity Check window, choose Check that your service has active network connections from the list and click Next to continue:

    Choose check network connections
  4. Next, refine what the sanity check should investigate. For example, if your service must always be listening for requests from clients, check the Fail if there are no listening/server connections box:

    Set sanity check options
  5. Click Next to continue.

    At this point, you get to decide how often Service Protector must check your service. Every 5 minutes works for us but you should tune the settings for your unique situation:

    Set the sanity check frequency
  6. Finally, after clicking Next to move on, Service Protector will show a summary of your new sanity check. Confirm the details and click Add to record it:

    Set the sanity check frequency

And that’s it. With the new watchdog in place, Service protector will interrogate your service every few minutes (as directed) and promptly restart it if there are no network connections.

At the end of the day, your customers will thank you for providing a more stable service. But even better, no one will interrupt you at home to ask you to recycle buggy software. 🙂

Get full support for monitoring “Automatic (Delayed Start)” services

Service Protector is pretty aggressive about ensuring that your service is always running. For example, whenever Service Protector finds that your service is idle, it restarts it within a few seconds.

However, in it’s zeal to ensure 100% uptime, Service Protector went too far in one scenario.

Consider a Windows Service with startup type set to “Automatic (Delayed Start)”. Instead of starting it immediately at boot, Windows will launch the service 1-2 minutes after boot. And that brief delay may be a desirable because it increases the likelihood that all the critical infrastructure (e.g. networking and security) will be in place before the service starts.

Unfortunately, earlier versions of Service Protector didn’t respect the “Automatic (Delayed Start)” option. As soon as it saw that the service wasn’t running, Service Protector would start it. In essence, the service would start running a few seconds after boot — before supporting modules were ready. Oops.

Service Protector 9.5 fixes the problem. Now when babysitting a delayed service, Service Protector will give Windows a chance to launch the service before it starts monitoring it.

Bu rest assured — if your delayed service fails to start (or terminates after launch), Service Protector will detect it and promptly take action. That’s because the new relaxations around delayed services only apply in the first few minutes of the boot process.

Other fixes & improvements

  • Revamped the code to improve efficiency when checking the status of a service. The changes are very technical and we won’t get into them here, but the result is a 10-25% speedup in some of our tests.

  • To better serve our customers, we improved internal logging throughout the program. The extra messages give us much better insight into what’s going on when we’re troubleshooting mysterious operating system and permissions issues.

  • Windows shutdown can be frenzied, with components being notified and often exiting in random sequence. Service Protector 9.5 does a better job at shutdown, to eliminate unnecessary restarts and emails as the operating system closes.

As usual, please review the release notes for the full list of features, fixes and improvements included in Service Protector version 9.5.

Upgrading to Service Protector 9.5

If you purchased Service Protector version 8 (after November 2021), you can upgrade to version 9.5 for free. Simply download and install over your existing installation to preserve your existing services and all settings. That way, your registration code will continue to work.

If you bought Service Protector 7 or earlier (before November 2021), you will need to upgrade to use version 9.5.

Please buy upgrades here — at a 50% discount.

See the complete upgrade policy for more details.

Enjoy!

Posted in Service Protector | Tagged , , , , , , | Leave a comment

Leave a Reply

Your email address will not be published. Required fields are marked *