MgsNameMatch: Match Prefixes of Computer Names

IT Asset Management (Cloud)

This algorithm compares the leading characters of the host name of each inventory beacon with the first characters of the name of the target inventory device on which the algorithm is running. Those inventory beacons whose names match according to this check are prioritized above those whose names do not match, while retaining the relative order of existing priorities.

The name of the inventory device on which the algorithm is running is determined by the MachineName preference (see MachineName).

MgsNameMatch may be useful in situations where computers’ names have a prefix determined according to their location or site. It is common to use this algorithm in conjunction with another algorithm, such as:
This combination selects all inventory beacons that have at least five matching characters in their names, and then randomizes access (to achieve load balancing).
MgsNameMatch (int matchLength, int limit, boolean discardForeign)
  • matchLength is the number of characters to compare in the target inventory device and inventory beacon host names.
  • limit is an optional integer setting the maximum number of inventory beacons to which priorities will be assigned by this algorithm.
  • discardForeign is an optional boolean represented by the case-insensitive strings true or false. The default is false.
    • If false or omitted, the algorithm assigns a lower priority to inventory beacons that are not matched by the algorithm than to all those that are matched.
    • If true, the algorithm sets the priorities of any unmatched inventory beacons to the string literal invalid. The launcher component and the upload component will not use such inventory beacons for transfers.

Example of MgsNameMatch algorithm results

For a target inventory device with MachineName Bost0014.

Host name of inventory beacon match-Length discardForeign Incoming priority Resulting priority


5 true 5 invalid


4 don't care 3


ChicagS03 4 false 2 4
BostonS06 4 don't care 1


BostonS04 4 don't care 4 3
In the above example:
  • In the first row, the matchLength is set so high that the name matching fails on the fifth character. Since discardForeign is true, the priority after a failure must be set to invalid, and this inventory beacon will be ignored. (In the remaining rows, the matchLength is corrected to 4.)
  • All the remaining Boston inventory beacons pass the matching test, so their priorities are maintained in the same relative order.
  • The Chicago inventory beacon fails the match. Since discardForeign is false, it remains in the list, but its priority is set lower than all matching inventory beacons.

IT Asset Management (Cloud)