# Why does Network Render require separate Master and Client roles?

As far as I understand it, this is how the Network Render addon works:

• The Client is the computer with the file to render. It connects to the master, which sends out the file and sends back the rendered images.
• The Slaves are the computers with the processing power. They connect to the master, receive and render the file, and send back the rendered images.
• The Master functions as a server. It listens for jobs and slaves, and passes images and files back and forth between clients and slaves.

It seems that the master is merely acting as a middleman. Another way to do it would be like this:

• The Master is the computer with the file to render. It listens for slaves, sends them the file, and receives the rendered images.
• The Slaves are the computers with the processing power. They connect to the master, receive and render the file, and send back the rendered images.

The second solution can be accomplished by running two copies of Blender one the same machine, with one copy as a master and one copy as a client. However, this is somewhat unintuitive, and seems to serve no purpose – it's merely adding an extra link in the network chain, albeit to localhost.

Why is the system designed as it is? Is there anything preventing it from simply using two modes? Are there any advantages to the three-mode system?

• Aug 12 '13 at 10:04