Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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
templateGraphvizSubgraphs
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
templateGraphvizSubgraphs
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
templateGraphvizSubgraphs
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:

...