How to do distributed locking

Original article is at How to do distributed locking