Distributed locking
To demonstrate the idea of distributed locking, let us relate it to something that programmers use commonly to share it among your project team. Consider Team Foundation Server (TFS) or SVN (Apache Subversion), which we commonly use to manage the team's program code. If you don't get what we are talking about, please refer to http://en.wikipedia.org/wiki/Apache_Subversion. In both these pieces of software, any number of permitted team members can read a code and download the latest code to his/her local machine and start editing. After editing the program, one programmer synchronizes his/her program with the SVN repository. What this means is that all other programmers are making changes to the obsolete program. So, if any other programmer tries to commit his/her code, SVN issues a warning and will not permit the user to do so.
As far as DynamoDB is concerned, why do we need distributed locking? It's because, once we start using the DynamoDB table, everything is fine...