Usage Management Concepts

Software and devices that incorporate usage-based licensing make use of the same features and capability requests and responses as other FlexNet Embedded software and devices. This section discusses the use of features and capability requests and responses in the context of FlexNet Usage Management.

Features

The smallest unit for which usage can be captured is a feature. You define the feature or features that make up your products in FlexNet Operations, and your usage-capture code sends information about these features. In addition, feature-clipping code checks for the availability of certain features to determine a product’s functionality.

During execution, your capped-usage or feature-clipping code uses FlexNet Embedded functions that attempt to acquire a license. The FlexNet Embedded libraries validate such conditions as the feature not having expired. If the license acquisition succeeds, your code would then enable the corresponding capability.

Capability Requests and Responses

When your usage-capture code communicates with FlexNet Operations, the communications involve capability requests and capability responses. A capability request is generated by the client (either a client reporting usage or requesting features that it will acquire). The request data contains some combination of a host identifier, one or more desired features, and other optional data to pass to FlexNet Operations.

The hosted server instance then processes the request, reading the various identifiers, desired features, and custom data. If FlexNet Operations determines that the client requires a response, it generates a capability response. The response data contains current license rights available for the client. The capability response is then conveyed back to the client, which processes the response, after which the features in the response can be queried for the sake of detecting if a quota has been exceeded or for feature clipping (programmatically restricting access to features based on the capability response).

Your usage-capture code specifies one or more desired features, which represent features whose usage is being reported or features desired for the sake of feature clipping, in the capability request.

Your code also specifies an operation in the capability request, which indicates whether it is simply reporting feature usage, or whether a response is expected. The “report” operation is used in uncapped-usage scenarios, when no response is needed; and the “request” operation is used in capped-usage and feature-clipping scenarios, where a response is needed. The request operation can also be used in untrusted environments to report uncapped usage to force a confirmation response from the server, ensuring that the usage has been reported. (There is also an “undo” operation, which enables recent information to be undone, in case of error or canceled usage.)

Hosted Servers

Your usage-capture clients send usage data to a FlexNet Embedded license server referred to in this guide as a hosted server. The hosted server can be a local license server or a license server instance in FlexNet Cloud Licensing Service that captures the metered usage data your usage-capture clients send.

See Also