Subject Re: [firebird-support] Re: Controlling the Number of Simultaneous Users
Author Lee Jenkins
Dan Cooperstock wrote:
> --- In
> <>, Lee Jenkins <lee@...> wrote:
> > The problem is that your licensing might be fairly easily
> circumvented through
> > the database, IMO.
> >
> > I had a need to do what you're doing and simply created a TCP
> based "License
> > Manager" that runs as a service (or app depending on OS) on the
> server or master
> > computer. When workstations start the software, the software uses
> encrypted
> > communication to talk with the license manager to say
> basically "hey, can I
> > run?", the license manager says "well, only 4 out of 7 licenses are
> being used
> > so sure!". The used count get incremented. When workstations
> shutdown the
> > software, the software logs into the license manager again to "log
> out" thereby
> > freeing up another license.
> >
> > The license manager also tracks the IP of the workstation that gets
> clearance to
> > run so that if the workstation or license manager were to go down
> for some
> > reason, the license manager would read the IP of the incoming
> request when
> > restarted and determine that the workstation was already allowed to
> run.
> >
> > All in all, works very well and I keep that logic out of the
> database. Of
> > course, a determined hacker/cracker would still be able to
> circumvent the system
> > with some work which I know from experience, but it serves its
> purpose well.
> >
> > --
> > Warm Regards,
> >
> > Lee
> That idea is fairly similar to the idea someone on an ASP
> (Association of Shareware Professionals) forum suggested, which is to
> send out a multicast UDP packet on startup, that other instances of
> my program on the same subnet respond to with "Yes, I'm here". The
> sender counts the responses, and if they exceed the licensed # of
> users (minus one, to allow the sender to run), prevents the sender
> from running.
> This actually seems a bit simpler, because it doesn't need a server
> program, and isn't affected by crashes.

All I can tell you is that we've been using it to control licensing to a POS
application ranging from the average 3-4 workstation install to 40 station
resorts for about 7 years now and it works wonderfully. To license the
software, we either send an base 64 encrypted file or upload it to our FTP where
the license manager can download it and apply it automagically, as it were.

I don't prefer UDP because of its broadcast nature and flooding the network with
unnecessary traffic. For continuous checking we randomly perform a check when a
user logs into the local pos station to enter a sale, clock in/out, etc.

Whichever way you decide, hope it works well for you!

Warm Regards,


"My wife is better at Guitar Hero than I am and it's really irritating."