#
Feature Set Mapping
#
Introduction
The core aspect of any chargeback/Pay-Per-Use system revolves around normalizing the data to enable comparison between usage and purchasing information.
For certain applications, there is no one-to-one match between the licenses (features) used and the application. Often, several applications can share a license, making it difficult to pinpoint which application used it.
Feature set mapping maps the licenses back to applications (feature sets), primarily considering cost. It aims to identify the cheapest possible combination of feature sets that include all features checked out at any given time.
This is applicable for all data types with featureset classification.
Apply the configurations shown in the Open iT server.
#
Feature Set Mapping Guide
The feature set configuration consists of the DEFAULT, GROUP, and UNMAPPED blocks.
DEFAULT
rules:
ignore used_licenses < 1
count used_licenses
general:
used_licenses=%count%
licenses=%totalcount%
feature_version=all
GROUP "ANSYS Startup Program - Structural and Fluids Bundle"
@count=99999
@cost=6
general:
featureset="ANSYS Startup Program - Structural and Fluids Bundle"
elements:
feature="anshpc_pack"
feature="cfd_base"
feature="cfd_solve_level1"
feature="cfd_solve_level2"
GROUP "ANSYS CFD Pro"
@count=99999
@cost=4
general:
featureset="ANSYS CFD Pro"
elements:
feature="cfd_base"
feature="cfd_solve_level1"
UNMAPPED
general:
featureset=unmapped
used_licenses=1
licenses=1
#
DEFAULT
Use the DEFAULT block to set common attributes, rules, and general assignments. There should be only one DEFAULT block in a featureset.map
file and it should be identical to all such files:
DEFAULT
rules:
ignore used_licenses < 1
count used_licenses
general:
used_licenses=%count%
licenses=%totalcount%
feature_version=all
As you noticed, the DEFAULT block consists of two sections: rules and general.
Specify the rules as methods with additional details.
DEFAULT
rules:
ignore used_licenses < 1
count used_licenses
general:
used_licenses=%count%
licenses=%totalcount%
feature_version=all
The general sub-block lists a set of assignments of values to record fields. There should be only one assignment of value per line, following the format <name>=<value>
.
DEFAULT
rules:
ignore used_licenses < 1
count used_licenses
general:
used_licenses=%count%
licenses=%totalcount%
feature_version=all
The record fields are indexed by the following names:
A value can either be a fixed value or a variable. Variable names must be enclosed in %
.
Optionally, you can add the configuration-override sub-block under DEFAULT to override the method
used to generate feature sets.
DEFAULT
rules:
ignore used_licenses < 1
count used_licenses
general:
used_licenses=%count%
licenses=%totalcount%
feature_version=all
configuration-override:
method=complete
By default, the method used is defined in the filter's XML configuration file. Specifying a method in the featureset.map
file overrides the default configuration.
By default, method is set to expensive-first.
The expensive-first method comes with a configurable find-largest algorithm that fills up all the groups at the same (high) cost, then picks the one containing the most features. The result is better but can take more time to complete. This is inactive by default.
To enable this functionality, add expensive-first.find-largest=true
under configuration-override:
DEFAULT
rules:
ignore used_licenses < 1
count used_licenses
general:
used_licenses=%count%
licenses=%totalcount%
feature_version=all
configuration-override:
expensive-first.find-largest=true
Here are some reminders when using configuration-override:
- Since
method=expensive-first
is the default, there's no need to specify an override for this method. - The
expensive-first.find-largest
entry applies only whenmethod=expensive-first
, so there is no point in overriding it when any other method is used. - For the above reasons, it's typically unnecessary to specify both entries in a feature set map file. You can either specify a different
method
or usefind-largest
with the defaultmethod=expensive-first
.
#
GROUP
GROUP blocks are the definition of each feature set.
GROUP "ANSYS Startup Program - Structural and Fluids Bundle"
@count=99999
@cost=6
general:
featureset="ANSYS Startup Program - Structural and Fluids Bundle"
elements:
feature="anshpc_pack"
feature="cfd_base"
feature="cfd_solve_level1"
feature="cfd_solve_level2"
This is where you define the attributes, such as the count
, cost
, and validity of the feature set; general details, such as the featureset name; and the elements that lists the individual features, vendor licenses, etc..
Values defined in the DEFAULT block can be overridden by those specified in individual GROUPs.
Attributes are values defined by a keyword (attribute name), and each keyword is preceded by @
.
GROUP "ANSYS Startup Program - Structural and Fluids Bundle"
@count=99999
@cost=6
general:
featureset="ANSYS Startup Program - Structural and Fluids Bundle"
elements:
feature="anshpc_pack"
feature="cfd_base"
feature="cfd_solve_level1"
feature="cfd_solve_level2"
Similar to the DEFAULT block, the general sub-block allows you to list general details about the feature set. Refer to the GROUP: General Assignments table below for the available record fields.
GROUP "ANSYS Startup Program - Structural and Fluids Bundle"
@count=99999
@cost=6
general:
featureset="ANSYS Startup Program - Structural and Fluids Bundle"
elements:
feature="anshpc_pack"
feature="cfd_base"
feature="cfd_solve_level1"
feature="cfd_solve_level2"
The elements sub-block lists the record indices where the value must match to be eligible for the group.
GROUP "ANSYS Startup Program - Structural and Fluids Bundle"
@count=99999
@cost=6
general:
featureset="ANSYS Startup Program - Structural and Fluids Bundle"
elements:
feature="anshpc_pack"
feature="cfd_base"
feature="cfd_solve_level1"
feature="cfd_solve_level2"
Each line defines a unique value set where all values must match. If a record matches any line, then it is eligible.
elements:
feature="Concentric Circles" feature_version=3.14
feature=Squares
product=Geometry
With the example above, if a record's feature name is Concentric Circles and its version is 3.14, or its feature name is Squares, or its vendor license name is Geometry, then it is eligible for this group.
#
UNMAPPED
Any feature eligible for a feature set but is not actually assigned to a set will be assigned to the UNMAPPED set.
UNMAPPED
general:
featureset=unmapped
used_licenses=1
licenses=1
#
Configuring Feature Set Mapping
Open
featureset.map
in the Configuration directory, which is by default inC:\Program Files\OpeniT\Core\Configuration
.Notice that it contains instructions on how to edit the file.
Modify the mapping file. Refer to the
Feature Set Mapping Guide above.Values containing spaces and/or tabs must be enclosed in double quotes
"
.Empty lines are allowed — any line beginning with
#
as the first non-white character is considered a comment.Save the changes.
Open
featureset.map
in the etc directory, which is by default in/var/opt/openit/etc
.Notice that it contains instructions on how to edit the file.
Modify the mapping file. Refer to the
Feature Set Mapping Guide above.Values containing spaces and/or tabs must be enclosed in double quotes
"
.Empty lines are allowed — any line beginning with
#
as the first non-white character is considered a comment.Save the changes.
Licpoll2
- (45) Total License Use v2.0
- (46) Individual License Use v2.0
- (47) Host License Use v2.0
- (49) Host User License Use
- (71) Usergroup License Use v2.0
- (72) Hostgroup License Use v2.0
- (93) OLAP Raw Hourly
- (94) OLAP User Concurrency
- (95) Usergroup License Use v3.0
- (102) OLAP Total Use
- (124) License Model User Concurrency
- (125) License Model Total Use
FlexLog2
- (50) Host User License Use Logfile
- (51) Total License Use Logfile
- (75) License Logfile Events
- (76) Total Queued Logfile
- (77) Individual Queued Logfile
- (83) Host License Use Logfile
- (84) Individual License Use Logfile
- (85) Usergroup License Use Logfile
- (86) Hostgroup License Use Logfile
Licenseevents
- (89) Total License Use Licenseevents
- (90) Individual License Use Licenseevents
- (91) Usergroup License Use Licenseevents
- (108) Host License Use Licenseevents
- (109) Hostgroup License Use Licenseevents
Licenseevents2
#
Next Steps?
Proceed with data regeneration after configuring all the necessary mapping files to apply the changes in the real-time and historical reports.
For real-time reports:
Generating License Status Data
For historical reports: