Sounds very much like a solution currently use, where the schedule is on the DB and I use quartz to trigger each instance to read the DB and lock the schedule every minute.
Unfortunately doesn't work for those apps that don't have persistence associated with their account. For that use case I am yet to come up with a solution.
Cheers,
Chris