FlexNet Manager Suite 2021 R1 (On-Premises)

Command line | Registry

SendTCPKeepAlive determines whether the uploader (both in the Windows-based FlexNet inventory agent and in FlexNet Beacon) sends keep-alive TCP (socket level) packets to the destination server at 3-minute intervals. This behavior is helpful where you have large files (10MB or larger) that take several minutes to resolve into the inventory database in the central application server (or inventory server, in a larger, multi-server implementation). This may happen, for example, with large .ndi inventory files, large Active Directory imports, or the like. When this is the case and there are no keep-alive packets sent, the intermediate network infrastructure may decide that the connection is idle, and terminate it. As a result, even though the inventory/import is resolved and processed entirely normally, the disconnection means that the inventory beacon cannot be notified of the success. It then follows normal protocol for a failed upload, saving the source file locally on the inventory beacon, and re-trying the upload. The result is additional load on the network and on the central application server as the repeated, unchanged uploads are unnecessarily resolved.
Tip: When the Windows-based FlexNet inventory agent is uploading to a stand-alone inventory beacon, keep-alive TCP packets are less likely to be needed, since the inventory beacon quickly saves the uploaded file, ready for a repeated upload to the next destination in the hierarchy. Lengthy delays are unlikely. However, if your inventory beacon is co-installed on [one of] your central application server[s], it does not normally save files, but automatically hands the files off to the resolvers for loading directly into the appropriate database (which is where the delays may occur). Therefore, if you have instances of FlexNet inventory agent uploading to an inventory beacon that is co-located on your application server, it is strongly recommended that you leave the default true value for SendTCPKeepAlive.
These problems are avoided when the uploader sends keep-alive packets on the connection, and can therefore receive notification of the successful resolving of the import. For this reason, the default behavior is for the uploader to send socket-level keep-alive packets.
Tip: Remember that the FlexNet inventory agent makes a single attempt to upload immediately after collecting inventory. In that context, if this setting is false so that a large upload cannot be flagged as successfully completed, the repeated uploads happen in the catch-up period when the uploader is triggered separately (typically after hours). However, the SendTCPKeepAlive setting is used by code common to the uploader and to the tracker (inventory component), so that the behavior is identical for all uploads. Therefore when SendTCPKeepAlive is true (the default), the original upload by the tracker is more likely to succeed, regardless of inventory file size.
The uploader may terminate the connection under either of these scenarios:
  • Connection failure: If the destination server does not respond to a keep-alive packet within 10 seconds, the keep-alive request is repeated 10 times at 10 second intervals. If there is still no response, the uploader closes the connection and logs an upload failure. (For a separate and overriding case of network failure, see NetworkTimeout.)
  • All files of this type resolved: If the destination server sends the uploader a success message that the last uploaded file (say, an .ndi inventory file) has been resolved, the uploader takes either of two paths:
    • If it has further files of the same type (in this example, more .ndi files) awaiting upload, it resets the keep-alive timer and tries to reuse the same connection to upload the next file of the same type. (At this point, the MaxKeepAliveLifetime or MaxKeepAliveRequests settings may refuse reuse of the same connection, and a new connection is requested.)
    • When there are no more files of the same type awaiting upload, the uploader terminates the connection. If there are additional files of different types awaiting upload, it requests a new connection for each file type (such as .disco files, Active Directory imports, log files, and the like).

This preference is ignored on UNIX-like platforms.


Values / range

Boolean (True/False)

Default value


Example values


Command line


Uploader component (ndupload)


-o SendTCPKeepAlive=false


Installed by

Installer, or manual configuration

Computer preference



FlexNet Manager Suite (On-Premises)

2021 R1