Recently one of my colleagues was speaking with SolidWorks on the topic of Auto Logoff in EPDM and we learned a few things that we didn’t know before about how the process worked that I think are worth passing on.
The standard explanation is that after 30 minutes of “inactivity”, that user can be bumped by another user trying to log into the vault if all licenses are taken. If not all the licenses are taken or if no one attempts to log in, that user will not be bumped.
What we did not know, is that the log off is only temporary. The logged off users name get moved to a database table called “LoggedOutUsers” and once they are in that table, the system temporarily pings the database until a new license is available and the user can be logged into the system.
We have seen in the past that users will go on vacation and leave themselves logged in yet they will show up in logged in list days after they left even though we knew they had been booted. Now that we know the log off is only temporary, that fully explains the situation.
What this means is that users need to understand the importance of logging out. When you are done using EPDM or before you leave the office for extended periods of time, you need to log out of the vault just to make sure you are not taking a license when you don’t need one. This becomes especially important because “inactivity” is “very difficult to determine” according to SolidWorks. Just because you haven’t browsed for files in the vault for 30 minutes, doesn’t necessarily mean the system considers you inactive.
Hopefully this can help clarify the situation for those of you that make use of the auto log off feature. For those of you un-aware this option even existed, it can be turned on from the License node of the EPDM admin tool.
So I spoke with SolidWorks and got some additional clarification on this. When a user is auto logged off and their name gets added to the LoggedOutUsers table in SQL, it is NOT the database that is re-pinging for a license, it’s the client application (the computer they were logged in on). The database is keeping the clients logged out (because theoretically all licenses are in use) but once a license become available, one of those logged out clients might take. This is why restarting the server side services cause problems. If you restart the services, all clients are kicked out and since the logged out users are continually pinging, the will log back in once the server is up again. This is why those licenses get taken.
In order to stop the clients from continually pinging, you need to kill the edmserver.exe process (the client process) on those users machines. There is nothing that can be done from the server side to prevent those clients from pinging.