Rapid Processing of Third-Party Inventory

FlexNet Manager Suite 2023 R1 (On-Premises)

The batch scheduler provides some useful specializations for handling third-party inventory imports from disconnected inventory beacons (those that are not co-located on your central application server, or batch server in a multi-server implementation). The purpose of these specializations is to make third-party inventory results available in the web interface as promptly as possible.

Third-party inventory processing overview:

  1. An inventory beacon collects inventory from a third-party tool (such as Microsoft Endpoint Configuration Manager (previously Microsoft SCCM) or IBM's ILMT).
  2. The inventory data package is saved with an XML manifest that identifies the connection used for the inventory import (both by the name you defined for the connection, and by a GUID tying the connection to the particular inventory beacon).
  3. From a free-standing inventory beacon, the inventory package is immediately uploaded to a web service on the central application server (or the batch server in a large implementation with separate servers).
  4. The web service queues an InventoryImportReaders message to the batch scheduler. (Details of task messages are included in Batch Scheduler Command Line.)
  5. The reader task is scheduled as soon as constraints and current tasks allow, resulting in the third-party inventory reaching the internal staging tables.
    Note: If the third-party inventory collection is configured on an inventory beacon that is co-located on your central application server (or, in a large multi-server implementation, on your inventory server), the third-party inventory collection is scheduled by a Microsoft scheduled task on the server and saved directly to the staging tables. This is automatically followed by the staging of any FlexNet inventory, and then the remaining step follows.
  6. After the success of that task, by default the batch scheduler queues an InventoryImportWriters message so that the data is also transferred into the operational tables in the compliance database.
    This chaining of the writer task is controlled by another specialized option on the command line of the batch scheduler:
    -p "ChainWritersMessage=true"
    The value of this Boolean is derived from a per-tenant setting in the database, called PackageUploadTriggersWriters (stored in the ComplianceTenantSetting table).
    Tip: The same setting may be used in a single-tenant on-premises implementation.
    Its effect when true is to cause the batch scheduler to queue tasks for the compliance writers immediately on the success of the import readers task. These not only transfer the inventory to the operational tables in the compliance database, but also complete a new calculation of license consumption (reconciliation) based on this latest data. Therefore the inventory, and its impact on licensing, are available as quickly as possible in the web interface of FlexNet Manager Suite.
    Tip: In some cases where you import a large data set, the impact of an immediate import and reconciliation may be undesirable. You may turn off this feature (so that you rely only on the scheduled overnight import and reconciliation) by setting PackageUploadTriggersWriters to false. There is no user interface for editing the preferences saved in the ComplianceTenantSetting table (this table is used both for multi-tenant and single-tenant implementations); but a database administrator may make the following change in Microsoft SQL Server Management Studio:
       UPDATE ComplianceTenantSetting
    SET SettingValue = '0'
    FROM dbo.ComplianceTenantSetting
    INNER JOIN dbo.SettingName ON 
        ComplianceTenantSetting.SettingNameID = SettingName.SettingNameID
    WHERE SettingName.Name = 'PackageUploadTriggersWriters'
    Further details of the ComplianceTenantSetting and SettingName tables are available in FlexNet Manager Suite Schema Reference.

While you can chain the writers for all inventory sources, it doesn't have the same impact when used in the case of inventory collected by FlexNet inventory agent. This is because the individual .ndi files have over time been uploaded into the internal inventory database, and there is no equivalent "instant trigger" to cause this data source to be 'immediately' written into the compliance database (really, 'immediately' has no useful meaning when .ndi files continue to be uploaded to the inventory database at relatively random times).

In contrast, for third-party inventory, the specialized process described above means that third-party inventory is available in the web interface of FlexNet Manager Suite as promptly as possible after it is collected by an inventory beacon.

FlexNet Manager Suite (On-Premises)

2023 R1