Back

STK has as much control as a kid in a candy store

“Greed has no boundaries” – Aristotle
“STK is greedy - give it boundaries” – Nancy

Set children loose in a candy store with no rules or controls and what’s to stop them from grabbing one of everything that they can find?  STK is the same way with licenses . . . though admittedly, licenses aren’t as tasty!

With no network license usage rules in place, then by default, each STK session launched will gobble up one of every available license from the server on a first session launched, first session served basis, whether or not those licenses are actually needed.  But, before you decide to drive into the office with the dawning of the sun, hoping to launch STK and grab those sought-after license seats before someone else beats you to them, read on!

There are several options available for a Systems Administrator to more tightly control who can, or cannot, pull which licenses from the server.  The method we will explore today is called the Network Options File.

Let’s say you have purchased quantity ten (10) networked seats each of Pro, SatPro, and Analysis Workbench, but only quantity five (5) each of Coverage and Comm, and you want to ensure that at least two (2) of those Coverage and Comm seats are always available for users working on a specific project.

With no license rules or controls in place, the first five (5) people to launch STK will pull not only Pro, SatPro, and Analysis Workbench, but also those coveted Coverage and Comm seats, leaving only Pro, SatPro, and Analysis Workbench for STK sessions #6-10.

To direct that license behavior differently, a Systems Administrator can use a standard text editor to create a simple text file, known as a Network Options File.  In this Options file, statements such as EXCLUDE (deny), INCLUDE (allow), or RESERVE (set aside a specific quantity) ensure certain licenses are pulled only by specific people or groups of people.

Reacting to the license needs as stated above, a Systems Administrator could craft a Network Options File that defines two specific groups:  those who can have Coverage and Comm (MINE_MINE_MINE), and then everyone else (OTHERS).  Next, relevant users are added to each group by either login or computer name, separated by commas.  In the Options file example below, we EXCLUDE Coverage and Comm from all users who are not members of the MINE_MINE_MINE group:

  ##########################################
  GROUPCASEINSENSITIVE ON 

  GROUP MINE_MINE_MINE User 1 User 2 . . . . .  
  GROUP OTHERS User 3 User 4 . . . . .

  EXCLUDE Comm GROUP OTHERS
  EXCLUDE Coverage GROUP OTHERS

  ##########################################

Be careful though, as Options file statements can sometimes yield unexpected results.  Consider that EXCLUDE and INCLUDE are all-or-nothing; in this case, literally meaning that all available Comm and Coverage licenses are always excluded from your STK session unless you are a member of group MINE_MINE_MINE, even if no one in group MINE_MINE_MINE is using them at the moment.  Since we really wanted to ensure that two (2) of those Coverage and Comm seats are available for this specific project, not all five (5), then you could RESERVE those two (2) license seats instead, since RESERVEs are quantity-specific:

  ##########################################
  GROUPCASEINSENSITIVE ON 

  GROUP MINE_MINE_MINE User 1 User 2 . . . . .  
  GROUP OTHERS User 3 User 4 . . . . .

  RESERVE 2  Comm GROUP MINE_MINE_MINE
  RESERVE 2  Coverage GROUP MINE_MINE_MINE

  ##########################################

Of course there are rules for setting up these rules, so keep in mind the following:

  • The Options file must be named STKD.opt.
  • The Options file must live in the same directory on the server that holds the actual STK licenses.
  • Define users, or groups to which users belong, using the login name or the computer name.
  • Separate users within groups with a space, not a comma.
  • Group and user names cannot contain spaces.
  • Any user who is not in an INCLUDE statement is not allowed to use that feature.
  • EXCLUDE excludes a user from the list of who is allowed to use the feature.
  • EXCLUDE supersedes INCLUDE in cases of conflict.
  • RESERVE reserves a feature for a specific user, and is quantity-specific.

Also, know that the feature names in the Options file come from the INCREMENT names in your server license file, and must match those names exactly:

INCREMENT Comm STKD 11.3 31-jul-2018 20 6A01C143B157 \
              VENDOR_STRING=desc=Network(31-Jul-

INCREMENT Coverage STKD 11.3 31-jul-2018 20 43C870FB7CD7 \
              VENDOR_STRING=desc=Network(31-Jul-

Finally, remember that users and project needs come and go.  For this reason, your Options file should be reviewed and adjusted periodically.

For additional information reference:

FlexNet Publisher 2016 (11.14.0) License Administration Guide – Chapter 13
STK Virtual Training – Install Logistics (Slides 51-53, or approximately 42:30 of recording)
Author

Systems Tool Kit (STK)

Modeling and simulation software for digital mission engineering and systems analysis.