Data Communications Part 7: Software Handshaking