Licensing

JS
Last updated 4 months ago

Model Your Data Streams

Licenses are based on the maximum number of data streams to play back at the same time.

If you're planning to purchase KnowThings, you might wonder how do I determine what this maximum number should be for my environment?

We recommend that you first download and install KnowThings without buying a license.

KnowThings has a three-step workflow:

  1. Capture the device interactions

  2. Model the captured traffic

  3. Play back the virtual device

Performing the first two steps can give you an idea of how many data streams to tag in your models.

In the capture step, you perform one of the following tasks:

  • Create a network capture and start the capture process

  • Create and upload a capture file

In the model step, you generate a model of the device interactions. The official term for the model is adaptive virtual device, or AVD.

Once you have an AVD, view the interactions in the AVD. Calling the GET /avds/{avd_id}/data API displays the number of interactions and then the interactions themselves. Each interaction is divided into a request and one or more responses. For example:

"aRequest": {
"source": "/192.168.202.1:55673",
"destination": "/192.168.202.138:63473",
"data": "iam,1c761ced2b5b51929c1661574579102634d2b619\r\n"
},
"responses": [
{
"source": "/192.168.202.138:63473",
"destination": "/192.168.202.1:55673",
"data": "ack\r\n"
},
{
"source": "/192.168.202.138:63473",
"destination": "/192.168.202.1:55673",
"data": "do,status,d0a83a112ba8080d230ddedff3c314a14a04d030\r\n"
}
]

By default, an AVD contains a single data stream. You will almost certainly need to add data streams to accomplish your use case. Examine the underlying data in the interactions. Does it contain unique IDs? For example, the data for a greenhouse environment might have three unique IDs that represent fans, temperature sensors, and humidity sensors. These unique IDs are what you tag as data streams.

Then you can decide how many AVD instances you'll need, and multiply that by the number of tagged data streams.

Let's say that your analysis leads to the following observations:

  • I want to create an AVD with five data streams.

  • I want to run 100 instances of the AVD.

Playing back all the AVD instances at the same time would require 500 concurrent data streams.

Install License

If you receive a new or updated license from KnowThings, add the license file to the top level of the KnowThings installation directory. The file name is KT_License.

Placing the license file in a different directory is supported. However, you'll need to perform a few extra steps:

  1. Open the services.properties file in the top level of the installation directory.

  2. Update the license.file.path property with the new directory.

  3. Save the services.properties file.

If the Licensing service is running, restart it (for example, by running the stopLicensingService.sh script and then the startLicensingService.sh script).

Licensing Service

Your license entitles you to play back a specified number of concurrent data streams. The license has an expiration date.

The Licensing service is responsible for enforcing these values.

When the Licensing service is running, you can view the current values for your license at https://localhost:8005/licenseinfo. If you changed the default port number of the Licensing service, replace 8005 with the new port number. You might receive a security warning the first time you access this URL, because a self-signed certificate is used.

If the Licensing service is not available, or your license has expired, the playback limit is set to 5.

Users of the community edition do not have an expiration date. However, the playback limit is always 5.