Background Information for Use Cases

The following is information to keep in mind when reading the information in this section.

Vendor Dictionary Data

Many of the following use cases use vendor dictionary data to define conditions for license allocation.

The vendor dictionary enables the software producer to send custom data in a capability request (in addition to the FlexNet Embedded–specific data) to the license server and vice-versa. Basically, the vendor dictionary provides a means to send information back and forth between the client and server for any producer-defined purposes, as needed; FlexNet Embedded does not interpret this data.

Vendor dictionary data is stored as key–value pairs. The key name is always a string, while a value can be a string or a 32-bit integer value. (In certain cases, the value can also be an array of a string and/or 32-bit integer.) Keys are unique in a dictionary and hence allow direct access to the value associated with them.

A common theme across the use cases in this appendix is that feature counts are shared between business units called Sales and Engineering. These business units would be identified by "business-unit" : ["engineering", "sales" ] entries in the vendor dictionary.

For information about whether the vendor dictionary supports arrays and the data that might be available, contact your software producer.

Tip:For an example that demonstrates a vendor dictionary condition that uses an array, see Use Case: Making Feature Counts Available to Multiple Business Units.

Default Behavior If No Conditions Are Met

When a feature request does not meet any of the conditions in the model definition, an on any() condition is expected that either denies or allows access to a license pool. If no such on any() condition is provided, the default is that the feature will be served from the default license pool (if features are available). This behavior is equivalent to the following code:

on any() {

use "default"

accept

}

The examples in this section generally do not explicitly show this final on any() condition.