Hi Dan, I don't know what programming language you are using, but here is the logic. I'm sure you can apply it on any language; 1. Create a shared folder with read/write authorization for Everyone on the server. 2. In my apps, every user has their own GUID primary key on the database. 3. Suppose one user has a primary key 0D5FF2C1-9710-47EF-86FE-164E6170EEFD . Each time this user log in to the system, check if there is a text file named 0D5FF2C1-9710-47EF-86FE-164E6170EEFD.TXT in the shared folder on the server. If it doesn't exist, go to step (4). If it exists, try to delete it. If the deletion success, then continue to step (4). If the deletion fail, then other workstation is using this login ID is being used. You might want to show some message and redirect the program flow to the exit routine. 4. Create a text file named 0D5FF2C1-9710-47EF-86FE-164E6170EEFD.TXT on the server and keep it open while the apps is open (don't close the file handle). 5. Upon exit, close the TXT file handle and delete the text file. By locking the handle, as long as the user is login, other client could not delete the file. If the initial client crash somehow, then the lock to the text file would be released by the server OS, thus, other workstation would be able to delete the text file (and login with the user id). Others might have better solution. Yes, this is not a SQL solution. And might not be elegant enough for most programmers/system developer. But it works :) hth, foxyland