Versions Compared

Key

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

...

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 1"; 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;
    }
}

...

  • A single or a few Agent Clusters can be used that each holds a larger number of Subagent Clusters.
    • Each Subagent Cluster selects a number of Subagents.
    • The same Subagents can occur in any number of Subagent Clusters.
    • The same Subagents cannot occur in more than one Agent Cluster.
    • This scenario can be applied for load sharing between server nodes that act for a number of clustered applications.
  • A larger number of Agent Clusters can be used that hold a single or a small number of Subagent Clusters.
    • Agent Clusters are autonomous and are not related to each other. 
    • Each Agent Cluster is assigned an individual Director Agent that is optionally clustered.
    • This scenario is preferably applied in a situation when communication between a Director Agent and Subagents should be limited to a few servers, for example for use of Agent Clusters in separate network zones.


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 1\nDirector Agent|<f1> Integrated\nSubagent",style="filled",fillcolor="darkorange1",fontname="Arial",fontsize="10pt"];
    node [shape="record"];
    Director2 [label="<f0> Agent Cluster 2\nDirector Agent|<f1> Integrated\nSubagent",style="filled",fillcolor="darkorange1",fontname="Arial",fontsize="10pt"];
    
	Subagent1a_1 [shape="rectangle",label="Subagent 3",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"];
	Subagent1a_2 [shape="rectangle",label="Subagent 4",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"];
	Subagent1a_3 [shape="rectangle",label="Subagent 5",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"];

	Subagent2a_1 [shape="rectangle",label="Subagent 1",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"];
	Subagent2a_2 [shape="rectangle",label="Subagent 2",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"];

	Subagent2b_1 [shape="rectangle",label="Subagent 6",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"];
	Subagent2b_2 [shape="rectangle",label="Subagent 7",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"];
	Subagent2b_3 [shape="rectangle",label="Subagent 8",style="filled",fillcolor="darkolivegreen2",fontname="Arial",fontsize="10pt"];

    { rankdir = LR; rank = same; JOC -> Controller -> Director1; Controller -> Director2; }

    Director1 -> Subagent1a_1 [lhead=cluster_subagent_1a];
    Director2 -> Subagent2a_1 [lhead=cluster_subagent_2a];
    Director2 -> Subagent2b_2 [lhead=cluster_subagent_2b];

    subgraph cluster_subagent_1a {
        label="Subagent Cluster 1"; fontname="Arial"; fontsize="10pt";
        Subagent1a_1 -> Subagent1a_2 [label=" round-robin ",fontname="Arial",fontsize="10pt"];
        Subagent1a_2 -> Subagent1a_3 [label=" round-robin ",fontname="Arial",fontsize="10pt"];
        Subagent1a_3 -> Subagent1a_1;
    }
    subgraph cluster_subagent_2a {
        label="Subagent Cluster 2a"; fontname="Arial"; fontsize="10pt";
        Subagent2a_1 -> Subagent2a_2 [label=" fixed-priority  ",fontname="Arial",fontsize="10pt"];
    }

    subgraph cluster_subagent_2b {
        label="Subagent Cluster 2b"; fontname="Arial"; fontsize="10pt";
        Subagent2b_1 -> Subagent2b_2 [label=" round-robin ",fontname="Arial",fontsize="10pt"];
        Subagent2b_2 -> Subagent2b_3 [label=" round-robin ",fontname="Arial",fontsize="10pt"];
        Subagent2b_3 -> Subagent2b_1;
    }
}