guarda, è semplicissimo...
fatto il caso in cui tu usi una tabella "eserciziInSvolgimento" avrai come campi id_esercizio, id_user, timestamp.
quando un utente sceglie un esercizio scrivi nella tabella, quando finisce di risolverlo rimuovi dalla tabella il record corrispondente...
per il garbage collection (l'operazione di pulizia dei records non più utili perchè gli utenti non hanno portato a termine l'esercizio) puoi metterlo prima di ricavare l'elenco degli esercizi disponibili cancellando dalla tabella tutti quei records dove la differenza tra l'ora corrente e l'ora in cui l'esercizio è iniziato è maggiore di N minuti dove N è un numero arbitrario da te deciso...
ciao
ratatuia