In this diagram, we have two processes: P1 and P2. As each process has an event, it increments its own clock. When a process sends a message, it attaches the current timestamp to the message. As a result, the receiving process has to determine if its timestamp is larger than the incoming timestamp. If it is, the process increments its timestamp and moves on. Otherwise, it increments the incoming timestamp and moves on.