{"id":12165,"date":"2023-11-09T14:35:29","date_gmt":"2023-11-09T22:35:29","guid":{"rendered":"https:\/\/www.coretechnologies.com\/blog\/?p=12165"},"modified":"2023-11-09T14:35:29","modified_gmt":"2023-11-09T22:35:29","slug":"version-9-5","status":"publish","type":"post","link":"https:\/\/www.coretechnologies.com\/blog\/service-protector\/version-9-5\/","title":{"rendered":"Service Protector 9.5 Helps You Bulletproof Your Network Services"},"content":{"rendered":"<div align=\"center\"><img loading=\"lazy\" decoding=\"async\" class=\"no-lazy-load\" style=\"margin-bottom:20px;\" src=\"\/blog\/images\/new-release-450x164.webp\" title=\"Service Protector 9.5: Network Connection Sanity Check\" alt=\"Service Protector 9.5: Network Connection Sanity Check\" border=\"0\" width=\"450\" height=\"164\"><\/div>\n<p><a href=\"\/products\/ServiceProtector\/\">Service Protector<\/a> 9.5 out!<\/p>\n<p>As usual, we focused on improving the software to help your Windows Services achieve 100% uptime &mdash; even in the face of failures. Here are the highlights:<\/p>\n<h2 class=\"blog-caption\">Advanced safeguards for your network-aware Windows Services<\/h2>\n<p>Are you responsible for a service that communicates over the network?<\/p>\n<p>Or are you running a TCP\/IP server that accepts connections from other devices?<\/p>\n<p>What happens if your service cannot communicate with its clients?<\/p>\n<p>If the result is catastrophe, then you should deploy our new &#8220;check network connections&#8221; sanity check, to automatically restart your service if it experiences a networking failure.<\/p>\n<h3 class=\"blog-caption\">How the &#8220;check network connections&#8221; sanity check works<\/h3>\n<p>The new sanity check periodically scans your service for network connections, much like <a href=\"https:\/\/learn.microsoft.com\/en-us\/sysinternals\/downloads\/tcpview\" target=\"_blank\" rel=\"noopener\">Microsoft&#8217;s TCPView utility<\/a> does. And if it doesn&#8217;t find any network connections, Service Protector stops and restarts your service &mdash; to give it the opportunity to reestablish connectivity.<\/p>\n<p>Moreover, Service Protector can alert you by email whenever the network check fails. The message will include details of what went wrong, like this:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/service-protector-network-sanity-check-failed-alert.png\" class=\"zoomPopup\" title=\"You'll get an email alert when the check fails\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/service-protector-network-sanity-check-failed-alert.png\" title=\"You'll get an email alert when the check fails (click to enlarge)\" alt=\"You'll get an email alert when the check fails\" border=\"0\" \/><\/a><\/div>\n<h3 class=\"blog-caption\">How to activate the &#8220;check network connections&#8221; sanity check<\/h3>\n<p>It&#8217;s very easy to activate the new sanity check. Indeed, you should be up and running in a couple minutes (or less).<\/p>\n<p>Here are the steps to set it up:<\/p>\n<ol style=\"margin-bottom:24px\">\n<li>\n<p>Edit your entry in Service Protector.<\/p>\n<\/li>\n<li>\n<p>Go to the <b>Monitor<\/b> tab, check the <b>Whenever it fails a periodic sanity check<\/b> box and click the <b>Set<\/b> button:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/service-protector-set-sanity-check.png\" class=\"zoomPopup\" title=\"Set the sanity check\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/service-protector-set-sanity-check.png\" title=\"Set the sanity check (click to enlarge)\" alt=\"Set the sanity check\" border=\"0\" \/><\/a><\/div>\n<\/li>\n<li>\n<p>In the <b>Add Sanity Check<\/b> window, choose <b>Check that your service has active network connections<\/b> from the list and click <b>Next<\/b> to continue:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/service-protector-choose-check-network-connections.png\" class=\"zoomPopup\" title=\"Choose check network connections\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/service-protector-choose-check-network-connections.png\" title=\"Choose check network connections (click to enlarge)\" alt=\"Choose check network connections\" border=\"0\" \/><\/a><\/div>\n<\/li>\n<li>\n<p>Next, refine what the sanity check should investigate. For example, if your service must always be listening for requests from clients, check the <b>Fail if there are no listening\/server connections<\/b> box:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/service-protector-check-network-connections-options.png\" class=\"zoomPopup\" title=\"Set sanity check options\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/service-protector-check-network-connections-options.png\" title=\"Set sanity check options (click to enlarge)\" alt=\"Set sanity check options\" border=\"0\" \/><\/a><\/div>\n<\/li>\n<li>\n<p>Click <b>Next<\/b> to continue.<\/p>\n<p>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:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/service-protector-set-sanity-check-frequency.png\" class=\"zoomPopup\" title=\"Set the sanity check frequency\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/service-protector-set-sanity-check-frequency.png\" title=\"Set the sanity check frequency (click to enlarge)\" alt=\"Set the sanity check frequency\" border=\"0\" \/><\/a><\/div>\n<\/li>\n<li>\n<p>Finally, after clicking <b>Next<\/b> to move on, Service Protector will show a summary of your new sanity check. Confirm the details and click <b>Add<\/b> to record it:<\/p>\n<div align=\"center\"><a href=\"\/blog\/images\/service-protector-sanity-check-summary.png\" class=\"zoomPopup\" title=\"Set the sanity check frequency\" target=\"_blank\" rel=\"noopener\"><img decoding=\"async\" class=\"image-padding\" src=\"\/blog\/images\/service-protector-sanity-check-summary.png\" title=\"Set the sanity check frequency (click to enlarge)\" alt=\"Set the sanity check frequency\" border=\"0\" \/><\/a><\/div>\n<\/li>\n<\/ol>\n<p>And that&#8217;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. <\/p>\n<p>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. \ud83d\ude42<\/p>\n<h2 class=\"blog-caption\">Get full support for monitoring &#8220;Automatic (Delayed Start)&#8221; services<\/h2>\n<p>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.<\/p>\n<p>However, in it&#8217;s zeal to ensure 100% uptime, Service Protector went too far in one scenario.<\/p>\n<p>Consider a Windows Service with startup type set to &#8220;Automatic (Delayed Start)&#8221;. 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.<\/p>\n<p>Unfortunately, earlier versions of Service Protector didn&#8217;t respect the &#8220;Automatic (Delayed Start)&#8221; option. As soon as it saw that the service wasn&#8217;t running, Service Protector would start it. In essence, the service would start running a few seconds after boot &mdash; before supporting modules were ready. Oops.<\/p>\n<p>Service Protector 9.5 fixes the problem. Now when babysitting a delayed service, <b>Service Protector will give Windows a chance to launch the service before it starts monitoring it<\/b>.<\/p>\n<p>Bu rest assured &mdash; if your delayed service fails to start (or terminates after launch), Service Protector will detect it and promptly take action. That&#8217;s because the new relaxations around delayed services only apply in the first few minutes of the boot process.<\/p>\n<h2 class=\"blog-caption\">Other fixes &amp; improvements<\/b><\/h2>\n<ul>\n<li>\n<p>Revamped the code to improve efficiency when checking the status of a service. The changes are very technical and we won&#8217;t get into them here, but the result is a 10-25% speedup in some of our tests.<\/p>\n<\/li>\n<li>\n<p>To better serve our customers, we improved internal logging throughout the program. The extra messages give us much better insight into what&#8217;s going on when we&#8217;re troubleshooting mysterious operating system and permissions issues.<\/p>\n<\/li>\n<li>\n<p><a href=\"https:\/\/learn.microsoft.com\/en-us\/windows\/win32\/shutdown\/shutting-down\" target=\"_blank\" rel=\"noopener\">Windows shutdown<\/a> 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.<\/p>\n<\/li>\n<\/ul>\n<p style=\"padding-top:10px\">\nAs usual, please review the <a href=\"\/products\/ServiceProtector\/VersionHistory.html\">release notes<\/a> for the full list of features, fixes and improvements included in Service Protector version 9.5.<\/p>\n<h2 class=\"blog-caption\">Upgrading to Service Protector 9.5<\/h2>\n<p>If you purchased Service Protector <b>version 8 (after November 2021), you can upgrade to version 9.5 for free<\/b>. 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.<\/p>\n<p>If you bought Service Protector <b>7 or earlier (before November 2021), you will need to upgrade to use version 9.5<\/b>.<\/p>\n<p>Please <a href=\"\/products\/ServiceProtector\/#buy-upgrade\">buy upgrades here &mdash; at a 50% discount<\/a>.<\/p>\n<p>See the complete <a href=\"\/products\/ServiceProtector\/FAQ.html#Upgrade\">upgrade policy<\/a> for more details.<\/p>\n<p style=\"padding-top:10px\">Enjoy!<\/a><\/p>\n<div align=\"center\">\n<div class=\"cta-button-1\">\n<table role=\"presentation\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" align=\"left\">\n<tbody>\n<tr>\n<td align=\"center\"><a href=\"\/blog\/tag\/service-protector-tag\/\" title=\"More articles about Service Protector\"><span><nobr>Read more about Service Protector&#8230;<\/nobr><\/span><\/a><\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<\/div>\n<\/div>\n<!-- relpost-thumb-wrapper --><div class=\"relpost-thumb-wrapper\"><!-- filter-class --><div class=\"relpost-thumb-container\"><style>.relpost-block-single-image, .relpost-post-image { margin-bottom: 10px; }<\/style><h3>You may also like...<\/h3><div style=\"clear: both\"><\/div><div style=\"clear: both\"><\/div><!-- relpost-block-container --><div class=\"relpost-block-container relpost-block-column-layout\" style=\"--relposth-columns: 3;--relposth-columns_t: 2; --relposth-columns_m: 2\"><a href=\"https:\/\/www.coretechnologies.com\/blog\/service-protector\/version-9-released\/\"class=\"relpost-block-single\" ><div class=\"relpost-custom-block-single\"><img decoding=\"async\" loading=\"lazy\" class=\"relpost-block-single-image\" alt=\"Service Protector 9.0: Easily Import Many Windows Services\"  src=\"https:\/\/www.coretechnologies.com\/blog\/wp-content\/uploads\/new-release-150x150-1.webp\" style=\"aspect-ratio:1\/1\" style=\"aspect-ratio:1\/1\"><\/img><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 12px;  color: #333333;\"><h2 class=\"relpost_card_title\">Service Protector 9.0: Easily Import Many Windows Services<\/h2><\/div><\/div><\/a><a href=\"https:\/\/www.coretechnologies.com\/blog\/service-protector\/version-7-released\/\"class=\"relpost-block-single\" ><div class=\"relpost-custom-block-single\"><img decoding=\"async\" loading=\"lazy\" class=\"relpost-block-single-image\" alt=\"Service Protector 7.0: Informative Email Alerts, Sanity Check Options and More\"  src=\"https:\/\/www.coretechnologies.com\/blog\/wp-content\/uploads\/new-version-2-150x150-1.png\" style=\"aspect-ratio:1\/1\" style=\"aspect-ratio:1\/1\"><\/img><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 12px;  color: #333333;\"><h2 class=\"relpost_card_title\">Service Protector 7.0: Informative Email Alerts, Sanity Check Options and More<\/h2><\/div><\/div><\/a><a href=\"https:\/\/www.coretechnologies.com\/blog\/alwaysup\/version-15-5-released\/\"class=\"relpost-block-single\" ><div class=\"relpost-custom-block-single\"><img decoding=\"async\" loading=\"lazy\" class=\"relpost-block-single-image\" alt=\"AlwaysUp 15.5: Advanced Support for PowerShell, OneDrive, and more\"  src=\"https:\/\/www.coretechnologies.com\/blog\/wp-content\/uploads\/new-update-150x150-2.webp\" style=\"aspect-ratio:1\/1\" style=\"aspect-ratio:1\/1\"><\/img><div class=\"relpost-block-single-text\"  style=\"height: 75px;font-family: Arial;  font-size: 12px;  color: #333333;\"><h2 class=\"relpost_card_title\">AlwaysUp 15.5: Advanced Support for PowerShell, OneDrive, and more<\/h2><\/div><\/div><\/a><\/div><!-- close relpost-block-container --><div style=\"clear: both\"><\/div><\/div><!-- close filter class --><\/div><!-- close relpost-thumb-wrapper -->","protected":false},"excerpt":{"rendered":"<p>Service Protector 9.5 out! As usual, we focused on improving the software to help your Windows Services achieve 100% uptime &mdash; even in the face of failures. Here are the highlights: Advanced safeguards for your network-aware Windows Services Are you &hellip; <a href=\"https:\/\/www.coretechnologies.com\/blog\/service-protector\/version-9-5\/\">Continue reading <span class=\"meta-nav\">&rarr;<\/span><\/a><\/p>\n","protected":false},"author":1,"featured_media":12172,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[10],"tags":[37,333,109,116,138,147,334],"class_list":["post-12165","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-service-protector","tag-automatic-delayed","tag-network-connections-sanity-check","tag-new-release","tag-performance","tag-sanity-check","tag-service-protector-tag","tag-tcpview"],"_links":{"self":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/12165","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/comments?post=12165"}],"version-history":[{"count":22,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/12165\/revisions"}],"predecessor-version":[{"id":12227,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/posts\/12165\/revisions\/12227"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/media\/12172"}],"wp:attachment":[{"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/media?parent=12165"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/categories?post=12165"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.coretechnologies.com\/blog\/wp-json\/wp\/v2\/tags?post=12165"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}