Understanding Connection Topologies
When connecting remote musicians together over the Internet, there are two common ways to wire-up multiple sites: the client-server (hub and spoke) method and the peer-to-peer (p2p) method. Let’s explore the differences between these.
The Client Server Model (hub and spoke)
In the Client-Server Model, every performer’s computer sends a single copy of their audio input to a central server. The server mixes all the audio streams together and sends a single copy of the mix back to every performer’s computer, which plays it to their audio output. You can visualize this method as a hub and spoke pattern:
- Requires configuration and management of a central (hub) server
- Adds latency through an additional stage in the audio path (the hub server)
The processing and bandwidth requirements for each performer in the client-server model remain constant and low regardless of the number of performers. However, the server’s processing and bandwidth requirements will grow proportionally with the number of performers. Servers are designed for this, so it's not a problem because they can easily be scaled to handle up to handle hundreds of simultaneous performer connections. This makes the client-server pattern most suitable for use with groups that are larger than a handful of performers.
The Peer-to-Peer Model (p2p)
In the peer-to-peer (or p2p) method, each performer’s computer sends a copy of their audio input directly to every other performer. Each performer’s computer mixes all the incoming audio streams together and plays the result to their audio output. You can visualize this as a mesh pattern:
- Does not require a central server
- Achieves the lowest latency
- High processing requirements for each performer’s computer
- High upload and download bandwidth requirements for each performer’s home Internet connection
- Requires changes in many of the performers' home Internet firewalls to forward ports to their computer
The processing and bandwidth requirements for each performer’s computer are directly proportional to the number of connected performers. Today's laptops and home Internet connections tend to max out beyond a dozen or so performers. This method is not viable for larger groups.
Click here to learn more about JackTrip.