TCP/IP Keep-Alive

Tips & Tricks

Data Innovations’ (DI’s) Instrument Manager (IM) offers connectivity that enables integration with virtually any instrument, LIS, or EMR/EHR regardless of vendor or discipline. This is done through a channel between devices called Connections. Connections can be setup using transmission control protocol (TCP) or directly via a serial port and is a way to identify which device is involved in the messaging.

When a TCP connection is established, it remains active until it is explicitly closed.  Sometimes, if there is no communication for an extended period, it can be a challenge to determine if the connection is still valid or if one of the devices has dropped. This scenario is where TCP/IP Keep-Alive can be used to ensure that a connection remains established, even when no data is being transmitted.

What is TCP/IP Keep-Alive?

Keep-Alive messages are small, periodic empty packets sent over an idle connection that help to maintain the connection and detect
potential issues, such as unresponsive devices or broken connections. If the other device is connected and active, it responds with an acknowledgment packet. This exchange helps to maintain the connection and ensures both devices
are still reachable.

If a device does not receive a response to its Keep-Alive packet after a specified number of retries, it assumes the connection is no
longer valid and terminates it. This enables the device to detect broken connections and free up resources that were allocated to the idle connection.

Keep-Alive messages are optional in TCP and not enabled by default.

DI has determined that we will discontinue accepting driver changes to add TCP/IP Keep-Alive to individual drivers. These requests will no
longer receive approval. If you have previously received approval, we appreciate your understanding on this change of direction.

The reason for the change in approach to these requests are the following:

  • This is a network-based problem at the site where the connection is being severed. As this is a common occurrence for many DI customer sites, we suggest adjusting registry settings so that connections are not terminated. The registry changes do not require coding of the application and have proven successful for sites who have made them. This information has been made available with customers during support encounters. 
  • Providing a programmatic change for each driver introduces risk and variation between drivers that can create unexpected outcomes in driver functionality.
  • Lastly, DI is working to enhance IM (IM 2023 MR2 v9.00.20) to have the Keep-Alive feature in the core software, rather than having it in the drivers.

In the time between now and your upgrade to IM, we are encouraging customers to work with their site’s Information Technology (IT) or network team(s) on how to perform the modifications in the Windows registry or firewall to maintain that communication as the preferred method of addressing this network “Keep-Alive” issue.

By doing this, customers will be able to enable the keep-alive feature and ensure that the connection remains open for all connections from IM and would not require each driver to be enhanced to maintain that connection uptime.

CAUTION

Frequent Keep-Alive Causing Connection Issues:
DI has experienced site wide connection issues wherein the root cause was found to be Keep-Alive settings set to very low values. The frequent reconnections caused issues on the connected instrument/LIS that continued to worsen over time. In the worst cases, the Keep-Alive was set for one minute. The Keep-Alive setting is meant to address disconnects for connections that are sometimes idle for extended periods (multiple hours). DI advises a close collaboration with a site’s IT team to find the optimal value however try to aim to a setting of 15 minutes or greater to avoid this potential connection issue.

Additional Considerations

While pursuing Keep-Alive for a system, it is good to keep in mind what else may interfere or block TCP Keep-Alive packets from working. Here are a few components that might affect TCP Keep-Alive:

Virtual Private Network (VPN) Servers:
Although it is atypical that VPN servers block Keep-Alive packets, there may be a VPN configuration or protocol that could cause Keep-Alive packets to be inhibited. Examination of security policies, timeouts or other network-related issues should be pursued with the site’s IT team to maintain proper handling of Keep-Alive packets.

Network Address Translation (NAT) Devices:
If the NAT translation table entry for a specific connection expires or is removed, that could impact Keep-Alive packets. When the NAT device no longer has an active entry for a connection, it may not forward Keep-Alive packets correctly, causing the connection to be dropped. A site’s IT team will be able to review the NAT device’s timeout values and make sure they are configured to allow for Keep-Alive packets.

Firewalls:
Firewalls can block Keep-Alive packets, sometimes by applying strict security policies, by enforcing specific timeout values, or due to packet inspection. A site’s IT team should configure the firewall to allow these packets to pass through and ensure that timeout values are set to maintain active connections.

In summary, Connections are IM’s way to offer connectivity to external devices. One of the mechanisms is via TCP, which can be inadvertently closed by external devices or network components and impact the connection’s ability to process messages between IM and the device. A global server modification can be made by a site’s local IT team to enable TCP Keep-Alive to correct these disconnects. DI used to offer Keep-Alive on a per driver basis and has discontinued this as a solution. DI encourages close collaboration within a site to maintain the connection up-time.

More Tips & Tricks Articles

Tips & Tricks

TCP/IP Keep-Alive

Data Innovations’ (DI’s) Instrument Manager (IM) offers connectivity that enables integration with virtually any instrument, LIS, or EMR/EHR regardless of...

Instrument Manager, Tips & Tricks

Following Driver Updates in My DI Community

Overview

Data Innovations (DI) provides ways to stay up to date on the latest driver updates.The first way is right through...

Instrument Manager, Tips & Tricks

Net Gateway Startup Issues (Error 5023)

Overview

When IRIS and Instrument Manager (IM) are starting after a server shuts down or restarts, the .NET gateway is not...

Tips & Tricks

How to Install Instrument Manager™ Core Software

NOTE These instructions apply for Data Innovations’ North American customers. If this is your first time installing IM, please contact Data...

Tips & Tricks

How to help Data Innovations help you when requesting Support

Data Innovations' Tips & Tricks are intended to promote the effective and productive use of Instrument Manager. Fortunately, Instrument Manager...

Tips & Tricks

Evaluation Rules for Clinical Ranges Precaution

When building an Autoverification Rule Set it's common to include evaluation rules for Clinical Ranges. These rules typically set test...

Tips & Tricks

Instrument Manager System Preventative Maintenance (volume 1)

Instrument Manager is a robust software application with a proven track record of operational stability. However, as with any software...

Tips & Tricks

Instrument Manager System Preventative Maintenance (volume 2)

This month's Tips & Tricks is the second installation of Preventative Maintenance recommendations intended to help you maintain a stable...

Ready to learn more?