Network setup
A Tracking Server takes in camera tracking data, processes it and forwards it to one or more render engines. In a single-machine setup, the Tracking Server is run on the same machine as the engine. The Tracking Server is always run on the machine where the camera is defined. In a multi-machine setup, you can choose between several configurations. You can run define cameras locally on each engine, and run a Tracking Server each engine for redundancy purposes. Alternatively, you can define your cameras centrally and run a single tracking server on the central machine, passing the tracking data to each engine. The disadvantage of a single tracking server is that it is a single point of failure. You also need to choose whether the tracking system should be connected directly to the engine, or through a network. Let's start with running one Tracking Server per engine, where the tracking system is directly connected:
This is the simplest setup, with the fewest sources of problems. Here the Tracking Server must be configured to send tracking to the specific IPs of the engines. It is not possible to reroute tracking from camera 1 to engine 2 without changing the physical cabling.
Let's take a look at running one Tracking Server for several machines. Here both tracking systems are sending to the same IP but on different ports. We can now easily reroute the tracking to the engine we want, but we have introduced a single point of failure (engine 2). The tracking for engine 1 now travels through more network adapters, increasing the chance of packet loss.
Let's take a look at a third option, where all tracking systems and engines are connected to the same network. Here we can utilize the broadcast address to send tracking data from all cameras to all engines. The engines will then be configured to listen to one of the cameras by choosing a port to listen to. This allows us to easily switch which engine uses which tracking, and will also allow us to make a redundant backup engine that can take over for any engine in case of a failure. This method (broadcasting tracking) should only be used on closed networks, because when sending to the broadcast address, all machines on the network will receive the tracking. This could swamp large networks with unnecessary data..
Direct cable connection | Through network | One Tracking Server per engine | One Tracking Server for all engines | |
---|---|---|---|---|
Pros | Simple. Less chance of packet loss | Rerouting | No single point of failure | Easy to reroute |
Cons | No rerouting | More network nodes so a higher chance of packet loss or delay | No rerouting without broadcast | Single point of failure for all tracking data |
Your choice depends on your requirements for rerouting on the fly and your network setup.