When the lock() method is called in the server, it passes a string back to the client. The client must show the string to the server when unlocking, this it to prove the client owns the lock.
I have a timertask checking to see if any of my lock objects are older than 10seconds, if they are they are removed.
I had 2 text boxes for the search box, origin and destination.
Hope this helps