How to create a unique identifier in a distributed system