record_locking uses a variation on the AJAX/Web 2.0 method of asynchronous Javascript Web page updating to maintain the record lock on the server. Opening a record for editing launches a background Javascript process in the user's browser that checks the status of the record lock every 10 seconds. Each status check updates the lock timestamp, confirming that the user is still connected and actively editing the record. Locks are normally released when the user saves the record or navigates to a different screen. If the user fails to properly close/release the record (abandons the record or his browser crashes), locks go stale if not updated for 5 minutes. The next status request or attempt to lock the record will delete or overwrite any stale lock.
More...