Versions Compared

Key

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

Table of Contents

Introduction

Users have a number of options to organize their scheduling clusters.

...

For information how to set up Agent Clusters and Subagent Clusters see JS7 - Management of Agent Clusters

Capabilities

Subagent Clusters offer a number of capabilities:

  • 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.

Unlimited Subagents per Cluster

Any number of Subagents can be added to a cluster.

...

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"];
	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",fontname="Arial",fontsize="10pt"];

    { rank = same; JOC -> Controller -> Director1 }

    Director1 -> Subagent1_1 [lhead=cluster_subagent_1];

    subgraph cluster_subagent_1 {
        label="Subagent Cluster"; fontname="Arial"; fontsize="10pt";
        Subagent1_1 -> Subagent1_2 [label=" round-robin ",fontname="Arial",fontsize="10pt"];
        Subagent1_2 -> Subagent1_3 [label=" round-robin ",fontname="Arial",fontsize="10pt"];
        Subagent1_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.

...

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"];
	Subagent2_1 [shape="rectangle",label="Subagent 1",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"];
	Subagent3_1 [shape="rectangle",label="Subagent 1",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"];

    { rank = same; JOC -> Controller -> Director1 }

    Director1 -> Subagent1_1 [lhead=cluster_subagent_1];
    Director1 -> Subagent2_1 [lhead=cluster_subagent_2];
    Director1 -> 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"];
    }

    subgraph cluster_subagent_2 {
        label="Subagent Cluster 2"; fontname="Arial"; fontsize="10pt";
        Subagent2_1 [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"];
    }
}

Scheduling Modes

Subagents can be added for both fixed-priority and round-robin scheduling modes:

...

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"];
    
	Subagent_active [shape="rectangle",label="Active Subagent",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"];
	Subagent_standby [shape="rectangle",label="Standby Subagent",style="filled",fillcolor="darkolivegreen2",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",fontname="Arial",fontsize="10pt"];

    { rank = same; JOC -> Controller -> Director1 }

    Director1 -> Subagent_active [lhead=cluster_subagent_active_passive];
    Director1 -> Subagent1_1 [lhead=cluster_subagent_round_robin];

    subgraph cluster_subagent_active_passive {
        label="Subagent Cluster: active-passive"; fontname="Arial"; fontsize="10pt";
        Subagent_active -> Subagent_standby [label=" fixed-priority  ",fontname="Arial",fontsize="10pt"];
    }

    subgraph cluster_subagent_round_robin {
        label="Subagent Cluster: active-active"; fontname="Arial"; fontsize="10pt";
        Subagent1_1 -> Subagent1_2 [label=" round-robin ",fontname="Arial",fontsize="10pt"];
        Subagent1_2 -> Subagent1_3 [label=" round-robin ",fontname="Arial",fontsize="10pt"];
        Subagent1_3 -> Subagent1_1;
    }
}

Strategies

Director Agent as Subagent Cluster Member

Users can add the Director Agent to their Subagent Clusters:

  • The Primary and Secondary Director Agents each include a Subagent that can be used to execute jobs.
  • The Director Subagent can be added to any Subagent Clusters.
  • Users can decide not to use the Director Agent for job execution but for orchestration of Subagents only in order to guarantee the highest level of robustness.

Agent Clusters and Subagent Clusters

Users can apply different strategies to manage operational Agent Clusters and functional Subagent Clusters.

...