Is instancing protection possible? (Yes)Solved

Hi,

We're producing a particular piece of software that does a lot of batch processing of audio files for our clients. Once instance of the software runs on one core, given that our clients often have machines with up to 16 cores. Running 16 instances of the software would allow them to process things faster by utilising their entire machine.

The problem is that we would like them to purchase one licence per instance of the software that they run concurrently. ie if they only have one licence activated then if the try to run a second concurrent version of the software it should not not be allowed.

Is this something that is feasible with LimeLM? I've not been able to find any reference to instance protection?

Yep, this is possible using custom license fields: https://wyday.com/limelm/help/license-features/

For example, create an "integer" type custom license field, like "instances_allowed", then when your app starts see if the X ("instances_allowed") instances exist.

To do this you'll use global mutexes, like described here: https://support.microsoft.com/en-us/help/243953/how-to-limit-32-bit-applications-to-one-instance-in-visual-c

But instead of checking for a single instance (creating a single mutex and stopping after that fails) you'll loop through X mutexes until you either get a lock, or they all fail.

Does that make sense?

This is a good question we'll start writing an article to address this.

Hi Wyatt,

Thanks for the reply, we can see how this instance counter and using mutex would work well for node-locked based licensing. However this wouldn't really work as intended for floating licences where we would like the instance counter to act as pool so that a machine with 16 cores could pull in 16 instances if it wanted to and leave the remainder for other machines to pick up.

Ah, ok, yes, this is coming in TurboFloat 4.1. Right now (4.0) TurboFloat only limits to per-machine-per-session. Meaning each separate machine *or* user session on a machine gets a separate license lease. But they can start multiple instances of your app within a single user session on a machine and those instances will all share the same license lease.

In 4.1 we're adding an option when you create/edit the TurboFloat Server product key to either limit license leases per-user-session (as it is now) or per-instance (lie you want).

We don't have a hard date on this release, but we're working hard to get it out soon.

Thanks again for you reply.

Do you have any sort-of ballpark for when version 4.1 will be available or either as a beta or release?

No, we don't have a release date planned at this point. ASAP.

Thanks. I just sent you an email.

We've added per-instance leases to TF 4.1. Announced here: https://wyday.com/blog/2019/new-floating-license-model-per-instance-leases/