Page 1 of 1

Very basic license question

Posted: Thu Mar 10, 2005 12:14 pm
by PilotBaha
When I open a designer and director at the same time on my client, does that get considered as two users or one user? We have issues with too many people logging into DS in one servers and the answer to this question will shed some light to our admins.

Posted: Thu Mar 10, 2005 12:58 pm
by kduke
No it should not count. The auth code is loaded on the client. Some clients could have an old auth code and complain because you did not load the new auth code on that client.

Re: Very basic license question

Posted: Thu Mar 10, 2005 3:03 pm
by sachinkc
Baha,
We were having similar problem at one of our client site. It was counting it as two users (designer and director) even when they were having same auth code. We had v7.1. I think they had to increase the licenses, and tell people not to open too many modules. But I'm not sure if that was a bug or that's how Ascential designed it - Sachin
PilotBaha wrote:When I open a designer and director at the same time on my client, does that get considered as two users or one user? We have issues with too many people logging into DS in one servers and the answer to this question will shed some light to our admins.

Posted: Thu Mar 10, 2005 3:08 pm
by chulett
My understanding is that it should be counting all connections (up to a certain point) coming from a single IP address as one 'concurrent' user.

There's a Ray Wurlod post here somewhere where he addresses this.

Posted: Thu Mar 10, 2005 4:15 pm
by kduke
Unless you have a really old version of DataStage then Craig is correct.

We still need a full Wurlod.

Posted: Thu Mar 10, 2005 7:56 pm
by chulett
:lol: Click on the laughing man to go to the post I was thinking of.

More detailed response

Posted: Thu Mar 10, 2005 8:25 pm
by ray.wurlod
The following applies with effect from version 6.0.

DataStage server is licensed per CPU. This is outside the scope of the question.

DataStage clients are licensed for a maximum number of users; this means a maximum number of connected client machines.

When a DataStage client connects, a number of things occurs. These include the following.
  • A shared lock is taken on a non-existent record in the UV.ACCOUNT table (hashed file). The ID of that record is projectname.&!DS.ADMIN!& and it serves to signal to the administrative utilities that require exclusive access that there is one or more connected clients.

    A record is created in the DS_LICENSE table (hashed file) and an exclusive (RU) lock taken on it. The ID of the record is made up of the Windows ID for the client machine, the hostname of that machine, and the process ID on the DataStage server machine of the dsapi_slave process associated with the connected client.
Within the record in DS_LICENSE are the client licence serial number, number of users, expiry date, Windows ID of the client machine and the dsapi_slave process ID. This record and the two locks are removed when the client disconnects cleanly, and can be cleaned up for defunct processes by the DataStage deadlock daemon or the dslictool executable.

For example, if there is a client that has a Manager and a Designer open, there will be two records in DS_LICENSE, one for each client. They will have the same client Windows ID, and therefore will only consume one licence.

The first connected client establishes the limit. I recently had a client upgrade from five users to 10 but, before all developers' PCs could have their licences upgraded, one early bird logged in with the old, five-user licence. Five became the limit until the number of connected users fell to zero, after which the next connection established a new limit.

Note that there are other mechanisms for enforcing licensing; what I have described above are the visible aspects. Actual licence management occurs in the disk shared memory segment. If you really want to see it, use the command analyze.shm -x (but there's nothing you can do to affect (thwart?) it). If it's any consolation, I can't break it either - the internal structure of the shared memory segment can not be determined without access to source code, and indeed is different on different platforms.

Using this mechanism, one connected machine can theoretically have as many clients open as required. In practice, though I've not encountered it, there may be a limit. For example, UniVerse uses a similar (but different) "device licensing" mechanism; you get a maximum of ten connections from one client machine, the eleventh costs another licence seat. As does the twelfth, and so on.

Looking forward, all this will change. The new user interface (code name Sorcerer), which goes into beta in June 2005, uses active services, so no doubt the licensing algorithms will all change. We will have to await the next major release (code name Hawk) to see exactly how they've done it.

The short answer to the original question is that you can have any number of open DataStage clients on one machine, and they still count as one connection to the DataStage server.

Of course, if you're connecting to more than one DataStage server (for example with Version Control), then you are consuming a licence on each.

Posted: Thu Mar 10, 2005 8:27 pm
by chulett
kduke wrote:We still need a full Wurlod.
Ask and Ye Shall Receive.

Posted: Thu Mar 10, 2005 9:53 pm
by kduke
Amen brother.

Posted: Fri Mar 11, 2005 12:30 pm
by PilotBaha
Ray,
thanks for taking the time and replying back to my original question with a very detailed explanation. I don't know what we would do without you :)

The reason I asked the question is we have about 10-14 developers (some off shore, some on) working for diffferent project groups. We all use the same box for DS development.

Everyhting was started on the wrong foot because they though the PROD machine would require more resources than the DEV machine at the start of the project.

One of the problems we are facing is not being able to logon to the server in busy times. Our DS admin takes a look at the server and sees 13-15 users logged in, which he believes should be fine since we have license for 20 users.

Having that many users logged in and the number being less than 20 made us to believe that the number of users must be calculates by the number of clients you have on the machine (Director + Desginer = 2 users). Apparently that 's not the case from your explanation, if I got it right..

Posted: Fri Mar 11, 2005 12:56 pm
by Sainath.Srinivasan
When you log into DataStage, it makes a registry entry. If you log in as a non-admin user in your Client machine, you landup making one new entry for each client application which will be interpretted as different user entries.

Hence you need to log in as an admin user for the first time and then onwards work as regular user.

Posted: Sat Mar 12, 2005 10:37 pm
by ray.wurlod
Get your DS Admin to look at the licences (the dslictool utility) to see whether there are any defunct processes holding licence seats. Also check the DS_LICENSE table records to see what DataStage believes your developer user count is.