Phrase/Word-pair for a variant of master-slave relationship
We are designing an electrical system in which the two primary sub-systems work in a manner such that the first one controls the power for the second one (and handles some primary tasks), and the second sub-system is then responsible for more advanced tasks.
Now, there is a common terminology that is used in similar systems: master-slave
architecture or relationship. However, in a master-slave relationship, the master
not only has the "control", it also has more "power" and do the more advanced tasks. In our case, the first system has "control", but is not "powerful" enough to do advanced tasks. That is, in our case, the first system is more of a "gatekeeper" rather than a "master".
What would be a proper terminology for such systems or relationships?
The question, while being asked for a specific case, is general and is asking about such relationships in general, and not necessarily engineering systems.
PS:
In case someone points out, I'm asking this here and not some Engineering forum, because we need a new term for it, which does not formally exist in engineering circles.
Solution 1:
Client-Agent would fit the general pattern of what you describe.
The client gives requests and commands, and perhaps handles basic tasks that they're capable of.
The agent acts, that is, carries out more complex tasks when requests come from the client.
The metaphor is strong. Clients commonly hire agents who work for them in law and real estate. The power of choice resides with the client, but the power of expertise and (in more complex cases) the ability to act rests with the agent.
Solution 2:
We have a compute cluster similar to that; most nodes do the actual work, but a few must be set aside to distribute the workload. We have a redundant set of coordinators or dispatchers, and they assign tasks to workers. (Developers are calling them coordinators, and system admins called them dispatchers.)
I've also seen supervisor/worker used in this context.
If you're formalizing based on functionality, it might be worth considering what monitoring functionality, scheduling methods, or reporting tasks would differentiate between a coordinator, a dispatcher, and a supervisor. The words are used interchangeably here and now, but in practice there are a variety of management methods for different workloads.
Solution 3:
It appears like you need a substitute for slave
. A slave does not have authority to take decisions, nor he has the ability. Closest I can think of is master-disciple
or mentor-disciple
. Disciple has freedom and could be smarter than master.
Solution 4:
Director-Executive
might work here, to use the parlance from corporate governance. The directors decide what is to be done and the executives organise how it is to be done, and the actual doing of the job.
Strategic-Tactical
is another pair that might work, if you are looking for adjectives rather than nouns.
Solution 5:
You can use primary / secondary.
A similar situation occurs in distributed computing, such as database replication. MongoDB, for instance, uses this terminology. In this case, the primary receives all new writes (new information), but reading can be done from any other. Since the primary needs to be available to do writes, the secondary would handle more advanced queries.
It seems that terminology has precedence in electrical systems, which may or may not communicate something different. I'd avoid this answer if it causes confusion. But if it is the same idea, then it's a known answer.
https://docs.mongodb.com/manual/core/replica-set-elections/