A dynamic programming approach for scheduling locks in sequence