Server object IDs

The BigFix server generates unique IDs for the objects that it creates: Fixlets, tasks, baselines, properties, analysis, actions, roles, custom sites, computer groups, management rights, subscriptions.

These IDs are stored as 32-bit fields into the Platform database, such as:
  • ActionID
  • FixletID
  • ID
  • ContentID
  • RoleID

The ID is displayed in the Console, Web Reports and WebUI interfaces and is used by the REST APIs and tools like AdminTool and PropertyIDMapper.

Before the current implementation, the maximum number of available object IDs per server was 16.777.215, and consequently the maximum number of available DSA servers was 256.

To avoid reaching the object ID limit when creating Fixlets, tasks, baselines and so on, the bits used for the object ID have been rearranged as follows:

|_x__|___y__|____________z____________|

where:
  • x= 3 bits, 2 of which to be used for the counter (the first bit is used for agent internal processing)
  • y= server id (5 bits instead of the previous 8)
  • z= initial 24 bits for the counter (unchanged)

In this way, the number of available object IDs was increased to 1.627.389.951 and consequently the number of available DSA servers was decreased to 32.

This solution has the advantage of keeping the 32-bit object ID so to avoid any backward compatibility issue.