Page History
...
Users have a number of options to organize their Subagent Clusters.scheduling clusters.
- Agent Cluster: The operational layer of a Director Agent and a number of Subagents acting as an Agent Cluster.
- Subagent Clusters: The functional layer that groups a number of Subagents to different Subagent Clusters
This includes to use a smaller number of operational Agent Clusters with a higher number of Subagent Clusters and vice versa.
For information how to set up Agent Clusters and Subagent Clusters see JS7 - Management of Agent Clusters
...
- A Subagent can be a member of any number of Subagent Clusters.
- A Subagent Cluster can include a single Subagent and it can include any number of Subagents.
- A Subagent Cluster defines fixed-priority or round-robin scheduling mode to switch between Subagents.
One Subagent Cluster per Subagent
When adding a Subagent JOC Cockpit can be instructed to add a Subagent Cluster that holds the single Subagent.
Unlimited Subagents per Cluster
Any number of Subagents can be added to a cluster.
- Adding more Subagents to a round-robin cluster allows unlimited horizonal scaling.
- Some might consider it paranoid to add a larger number of Subagents to a fixed-priority cluster, however, users are free to create a chain of Subagents that can replace each other.
- This allows to assign a job an individual Subagent should the job be executed with this Subagent only.
- The name of the Subagent Cluster corresponds to the Subagent ID.
Graphviz | ||
---|---|---|
| ||
digraph { compound=true; rankdir=LR; JOC [shape="rectangle",label="JOC Cockpit",style="filled",fillcolor="lightskyblue",fontname="Arial",fontsize="10pt"] Controller [shape="rectangle",label="Controller\nStandalone / Cluster",style="filled",fillcolor="lightskyblue",fontname="Arial",fontsize="10pt"] node [shape="record"]; Director1 [label="<f0> Agent Cluster\nDirector Agent|<f1> Integrated\nSubagent ",style="filled",fillcolor="darkorange1",fontname="Arial",fontsize="10pt"]; Subagent1_1 [shape="rectangle",label="Subagent 1",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; Subagent2Subagent1_12 [shape="rectangle",label="Subagent 12",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; Subagent3Subagent1_13 [shape="rectangle",label="Subagent 13",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; { rank = same; JOC -> Controller -> Director1 } Director1 -> Subagent1_1 [lhead=cluster_subagent_1]; Director1 -> Subagent2_1 [lhead=subgraph cluster_subagent_2]; 1 { Director1 -> Subagent3_1 [lhead=cluster_subagent_3]; subgraph cluster_subagent_1 { label="label="Subagent Cluster 1"; fontname="Arial"; fontsize="10pt"; Subagent1_1 -> Subagent1_2 [label=" Subagent 1\n standalone round-robin ",fontname="Arial",fontsize="10pt"]; } subgraph cluster_subagentSubagent1_2 { -> Subagent1_3 [label="Subagent Clusterround-robin 2"; ,fontname="Arial"; ,fontsize="10pt"]; Subagent2Subagent1_3 -> Subagent1_1; } } |
One Subagent Cluster per Subagent
When adding a Subagent JOC Cockpit can be instructed to add a Subagent Cluster that holds the single Subagent.
- This allows to assign a job an individual Subagent should the job be executed with this Subagent only.
- The name of the Subagent Cluster corresponds to the Subagent ID.
Graphviz | ||
---|---|---|
| ||
digraph { compound=true; rankdir=LR; JOC [shape="rectangle",label="JOC Cockpit",style="filled",fillcolor="lightskyblue1 [label=" Subagent 2\n standalone ",fontname="Arial",fontsize="10pt"]; } subgraph cluster_subagent_3 { label="Subagent Cluster 3"; fontname="Arial"; fontsize="10pt"; Subagent3_1 [label=" Subagent 3\n standalone ",fontname="Arial",fontsize="10pt"]; } } |
Unlimited Subagents per Cluster
Any number of Subagents can be added to a cluster.
- Adding more Subagents to a round-robin cluster allows unlimited horizonal scaling.
- Some might consider it paranoid to add a larger number of Subagents to a fixed-priority cluster, however, users are free to create a chain of Subagents that can replace each other.
Graphviz | ||
---|---|---|
| ||
digraph { compound=true; rankdir=LR; JOCController [shape="rectangle",label="Controller\nStandalone / Cluster",style="filled",fillcolor="lightskyblue",fontname="Arial",fontsize="10pt"] node [shape="record"]; Director1 [label="<f0> Agent Cluster\nDirector Agent|<f1> Integrated\nSubagent ",style="filled",fillcolor="darkorange1",fontname="Arial",fontsize="10pt"]; Subagent1_1 [shape="rectangle",label="Subagent 1",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; Subagent2_1 [shape="rectangle",label="JOCSubagent Cockpit1",style="filled",fillcolor="lightskybluedarkolivegreen2",fontname="Arial",fontsize="10pt"] Controller ; Subagent3_1 [shape="rectangle",label="Controller\nStandalone / ClusterSubagent 1",style="filled",fillcolor="lightskybluedarkolivegreen2",fontname="Arial",fontsize="10pt"]; { rank = same; JOC -> Controller -> Director1 } Director1 -> Subagent1_1 node [shape="record"[lhead=cluster_subagent_1]; Director1 -> Subagent2_1 [lhead=cluster_subagent_2]; Director1 [label="<f0> Agent Cluster\nDirector Agent|<f1> Integrated\nSubagent",style="filled",fillcolor="darkorange1",fontname="Arial",fontsize="10pt"]; Subagent1_1 [shape="rectangle",label="Subagent 1",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; Subagent1_2 [shape="rectangle",label="Subagent 2",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"]; Subagent1_3 [shape="rectangle",label="Subagent 3",style="filled",fillcolor="darkolivegreen2-> Subagent3_1 [lhead=cluster_subagent_3]; subgraph cluster_subagent_1 { label="Subagent Cluster 1"; fontname="Arial"; fontsize="10pt"; Subagent1_1 [label=" Subagent 1\n standalone ",fontname="Arial",fontsize="10pt"]; { rank = same; JOC -> Controller -> Director1 } Director1 -> Subagent1_1 [lhead=cluster_subagent_1]; subgraph cluster_subagent_12 { label="Subagent Cluster 2"; fontname="Arial"; fontsize="10pt"; Subagent2_1 [label=" Subagent 2\n standalone ",fontname="Arial",fontsize="10pt"]; } Subagent1_1 -> Subagent1_2 [subgraph cluster_subagent_3 { label="Subagent round-robinCluster 3",; fontname="Arial",; fontsize="10pt"]; Subagent1_2 -> Subagent1_3Subagent3_1 [label=" round-robin Subagent 3\n standalone ",fontname="Arial",fontsize="10pt"]; Subagent1_3 -> Subagent1_1; } } |
Scheduling Modes
Subagents can be added for both fixed-priority and round-robin scheduling modes:
...