I'm trying to design a distributed architecture for a video processing system. In this system there are multiple cameras, multiple processing stations (I named them slave nodes) and only one master node. One or more cameras are connected to one slave node and the client (end user) only knows the master's IP address.
My question is how can I make the slaves transparent from the client? For example the client may want to watch a camera's live stream. I want to watch it through the slave which the camera is connected to. Or the client may invoke a query (through the master node) and the result should be collected from multiple slaves.