Duplicate Grouping Information

Several fields can be added to Raw report output to help correlate checkouts related by duplicate grouping: handle, shared_handle, and shared_group. All of these fields are identifiers that are re-used by a vendor daemon, and are not, therefore, unique.

All license checkouts are assigned a handle. If a checkout shares a license with a previous checkout, as a result of duplicate grouping, the later checkout is assigned a shared handle that matches the previous checkout’s handle.

All license checkouts are assigned a shared group identifier, in addition to a handle. All checkouts that share the same license have the same shared group identifier.

A shared handle is meaningful on a checkout, not necessarily on both a checkout and its associated checkin. For example, consider an application license that has duplicate grouping based on host.

If user A starts the application on host A and checks out a license, that checkout has a handle and a shared group identifier.
When user B starts the application on the same host, user B’s application instance shares a license with user A’s application instance. User B’s checkout has its own handle, a shared handle that matches user A’s checkout handle, and the same shared group as user A’s checkout.
If user C starts the application on host A and checks out a license after user A has checked in his license, but while user B still has his license checked out, user C’s application instance shares a license with user B’s application instance. User C’s checkout has its own handle, a shared handle that matches user B’s handle, and the same shared group as user B’s checkout.

Note that the checkouts of user A and user C each overlap with the checkout of user B and are all, therefore, part of the same legitimate shared group. Therefore, be careful filtering out usage when examining duplicate grouping information—you might filter out a checkout that links the usage of legitimate shared groups and the filtered data might incorrectly indicate a re-used shared group handle rather than a legitimate shared group.

 

Time 1

User A checks out license on Host A

A: handle 1
A: shared group 100

Time 2

User B checks out license on Host A

B: handle 2
B: shared handle 1
B: shared group 100

Time 3

User A checks in license on Host A

 

Time 4

User C checks out license on Host A

C: handle 3
C: shared handle 2
C: shared group 100