for the following few questions, example schedules using snapshot isolation are provided. commit-req is used by a transaction when it is ready to commit -- the concurrency control system then checks to see if there are any conflicts that require the transaction to abort and restart, or if the transaction can be allowed to commit.