Research Article

O2: A Network Protocol for Music Systems

Figure 3

Discovery protocol. After receiving an O2 process’s IP address and port number, a peer establishes a TCP connection and the peers exchange service names and UDP ports (for messages sent via UDP), after which processes can exchange O2 messages. There is a chance in a fully symmetrical protocol that each process can connect to the other simultaneously. To avoid this, the TCP Connect is only issued from the process with the lower IP:port combination, breaking the symmetry.