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 |