O Algoritmo CL

As topologias em anel e em estrela são semelhantes de várias maneiras. Consulte o Topologia em anel e Topologia em estrela para ter uma ideia dessas similaridades.
Topologia
em anel simples para comparação com a topologia em estrela simples
Topologia em anel
Topologia
em estrela simples para comparação com a topologia em anel simples
Topologia em estrela
Ambas as topologias são compostas de nós desenhados em um círculo. Para o algoritmo de Layout Circular, a única diferença entre as topologias em anel e em estrela é que a estrela tem um nó especial, chamado centro da estrela, que é desenhado no centro do círculo.
Dependendo do modo de armazenamento em cluster (consulte Modo de Armazenamento em Cluster (CL)), o layout permite especificar a ordem dos nós no círculo (consulte Associação de cluster e ordem dos nós em um cluster (CL)) ou calcula a ordem automaticamente de forma que o número de cruzamentos de links é pequeno.
A topologia de rede pode ser composta de mais de um anel ou estrela. Estes anéis e estrelas podem ser parcialmente interconectados; ou seja, dois ou mais clusters podem ter um nó comum, conforme mostrado na figura Anéis interconectados por nós comuns. Eles também podem ser interconectados por links entre os nós de dois clusters diferentes, conforme mostrado na figura Anéis interconectados por links.
Três
anéis interconectados por nós comuns
Anéis interconectados por nós comuns
Três
anéis interconectados por links
Anéis interconectados por links
O algoritmo de Layout Circular organiza topologias em anel e em estrela de uma maneira que preserva a identidade visual de cada cluster e evita nós e clusters de sobreposição. Consulte os desenhos de amostra em Amostras de CL.
Para entender como o layout é executado nos modos de armazenamento em cluster AUTOMATIC e BY_CLUSTER_IDS, considere um gráfico em que cada nó representa um cluster em anel ou em estrela de uma topologia de rede. Inclua um link entre dois nós sempre que houver uma interconexão entre os clusters correspondentes. O algoritmo de Layout Circular foi projetado para o caso de o gráfico obtido desta maneira ser uma árvore (ou seja, um gráfico sem ciclos). If cycles exist, the layout is performed using a spanning tree of the graph.
Começando pelo cluster raiz (um anel ou uma estrela), os clusters conectados ao cluster raiz são desenhados em um círculo que é concêntrico ao cluster raiz. O raio do círculo é calculado para evitar clusters de sobreposição. Em seguida, o algoritmo organiza os clusters conectados a estes últimos clusters em um círculo maior, e assim por diante. Cada círculo é chamado de um nível.
Para redes que não estão conectadas (ou seja, existem grupos de clusters desconectados no gráfico), existe mais de uma árvore de ampliação. Cada árvore de ampliação é organizada separadamente e posicionada próxima das outras. Isso pode ser visto nos desenho de amostra no Amostras de CL.
No modo de armazenamento em cluster BY_SUBGRAPHS, cada subgráfico (cluster) mantém sua posição inicial. Os subgráficos podem ser posicionados por um algoritmo de layout diferente ou interativamente.
Exemplo de CL
A amostra de código a seguir usa a classe ibm_ilog.graphlayout.circular.CircularLayout. Esta amostra de código mostra como executar um Layout Circular:
dojo.require("ibm_ilog.graphlayout.circular.CircularLayout");

var layout = new ibm_ilog.graphlayout.circular.CircularLayout();
graph.setNodeLayout(layout);
graph.performGraphLayout();