Neste capítulo, a criação de árvores de distribuição multicast é modelada como um pro- blema de roteamento em grafos, tendo como foco as funções-objetivo e restrições mais utilizadas. Na Seção 3.1, as definições básicas são apresentadas para auxiliar na modela- gem matemática do problema. Na Seção 3.2, os principais trabalhos da literatura sobre o roteamento multicast com apenas um grupo são apresentados. Em seguida, na Seção 3.3, o problema é abordado considerando a versão multiobjetivo com apenas um grupo. Na Seção 3.4, os trabalhos sobre o problema de roteamento multicast com múltiplos grupos são apresentados. Por fim, os demais trabalhos relacionados são apresentados na Seção 3.5.
3.1
Roteamento Multicast
Neste seção, são apresentados os principais elementos para representação do problema de roteamento em grafos e as diferentes abordagens utilizadas na representação do mesmo considerando árvores de distribuição baseadas em fonte.
3.1.1
Definição do problema
O roteamento de pacotes de dados via multicast reúne todos os elementos que permitem aplicação de algoritmos de otimização. Assim sendo, o problema pode ser estudado como um problema de roteamento em grafos. Considerando que os algoritmos de roteamento devem configurar uma árvore de distribuição, então é possível lançar mão de técnicas presentes na teoria dos grafos (OLIVEIRA; PARDALOS, 2005).
As árvores de distribuição podem ser facilmente modeladas como um problema de otimização em grafos, considerando que a fonte e os clientes do serviço são definidos como vértices do grafo. Além disso, os elementos intermediários do processo de comunicação (por exemplo, roteadores) também são definidos como vértices. Os links usados na comu- nicação entre os elementos dos sistema multicast podem ser definidos como arestas. Logo, a rede onde a árvore de distribuição é configurada pode ser representada como um grafo. No restante do texto, os termos arestas e links denotaram uma ligação entre um par de vértices.
3.1.2
Representação em Grafos
Neste seção, a termologia básica e mais geral utilizada no restante do texto para revisar os modelos, descrever novos modelos e algoritmos será definida. As definições sobre grafos
são as seguintes:
• G = (V, E) - grafo que representa uma rede;
• V - representa o conjunto de vértices do grafo G;
• E - representa o conjunto de arestas do grafo G;
• c(i,j) - representa o custo da aresta (i, j);
• b(i,j) - representa o capacidade de tráfego da aresta (i, j).
As informações ilustradas na lista acima são suficientes para definir a estrutura básica de uma topologia de rede. Informações adicionais e específicas de modelo/algoritmo serão definidas no momento que for mais apropriado para entendimento. A fim de representar as informações dos grupos multicast, a lista seguir define os principais elementos:
• W - representa o conjunto de grupos;
• wk ∈ W - representa o k-ésimo grupo;
• Sk - representa o conjunto de vértices fontes do k-ésimo grupo;
• Dk - representa o conjunto de vértices clientes do k-ésimo grupo;
• tk - representa demanda de tráfego associada a k-ésima árvore;
• Tk - representa a k-ésima árvore.
A lista definida acima apresenta os principais elementos para definição de mode- los/algoritmos considerando informações do multicast. Observe-se, que um grupo multi- cast pode ser representado como: wk= {Sk, Dk, tk}.
Conforme será detalhado adiante, a cardinalidade dos conjuntos W e Sk determinam
a característica do problema abordado.
3.1.3
Generalizações do Problema de Roteamento Multicast
O problema de roteamento multicast tem sido abordado sob diferentes perspectivas de modelagem. Originalmente, o problema foi abordado considerando apenas um grupo e a configuração de uma árvore de distribuição cujo objetivo foi otimizar o custo da solução (KOMPELLA; PASQUALE; POLYZOS, 1993; WAXMAN, 1988). No entanto, rapidamente, diferentes abordagens surgiram adicionando novas demandas aos modelos inicialmente propostos.
Na lista a seguir são ilustradas, resumidamente, algumas abordagens diretamente re- lacionadas a este trabalho:
3.2. Problema de Roteamento Multicast Mono-Sessão
• Roteamento Multicast Mono-Sessão(|W | = 1 e |Sk| = 1) - apenas um grupo
precisa estabelecer a comunicação com a fonte que distribui a informação. Assim sendo, apenas uma árvore de distribuição é configurada. O problema é abordado com apenas uma função-objetivo.
• Roteamento Multicast Mono-Sessão Multiobjetivo(|W | = 1 e |Sk| = 1) -
apenas um grupo será configurado, mas o problema é abordado com mais de uma função-objetivo (ROY; BANERJEE; DAS, 2002).
• Roteamento Multicast Multissessão(|W | > 1 e |Sk| = 1) - há mais de um
grupo e, portanto, há necessidade de mais de uma árvore de distribuição (CHEN; GUNLUK; YENER, 2000; ZHENG; CHO; XIA, 2015).
• Roteamento Multicast Multissessão Multi-Fonte(|W | > 1 e |Sk| > 1) - há
mais de um grupo e cada grupo pode ser atendido por uma ou mais fontes (CHEN et al., 2013).
A configuração de uma árvore de distribuição conectando o vértice fonte aos vértices clientes pode ser visto como uma generalização do problema da árvore de Steiner. O problema da árvore de Steiner consiste em conectar um conjunto de vértices denomina- dos terminais através de uma árvore que tenha custo mínimo (HWANG; RICHARDS; WINTER, 1992).
Assim sendo, pode-se considerar que o conjunto de vértices formados pela união do vértice fonte com os vértices clientes seja interpretado como um conjunto de vértices terminais. Esta interpretação permite assumir que o problema de roteamento multicast é uma generalização do problema da árvore de Steiner (OLIVEIRA; PARDALOS, 2005).
O problema da árvore de Steiner é um problema NP-Difícil (GAREY; JOHNSON, 1979). Logo, pode-se considerar que o problema de roteamento multicast é também NP-Difícil (OLIVEIRA; PARDALOS, 2005). As demais abordagens para o problema do roteamento multicast considerando mais de um grupo são também considerados NP- Difícil, em Chen et al. (2013) uma prova de tal afirmação é apresentada.
3.2
Problema de Roteamento Multicast Mono-Sessão
Esta versão do problema de roteamento multicast em grafos é a mais simples e amplamente estudada. Isso se deve ao fato de haver necessidade de configurar apenas uma árvore de distribuição. Além disso, apenas uma fonte é utilizada para atender aos membros do grupo.
3.2.1
Abordagens Mono-Fonte
Noronha e Tobagi (1994) apresentam um modelo de programação inteira geral para o problema de roteamento multicast. Esta formulação considera que cada aresta possui custo e delay. O modelo considera a otimização de uma função-objetivo que alia o valor de custo e delay da árvore construída. A função-objetivo utiliza uma ponderação dos valores de custo e delay end-to-end (delay acumulado ao longo do caminho fonte/cliente), que deve ser minimizado. Além disso, o modelo considera a possibilidade de otimização de mais de uma árvore. O limite de capacidade das arestas é tratado como restrição.
Em (WANG; SHI; LI, 2009), o problema de roteamento multicast é abordado consi- derando duas restrições relacionadas a delay end-to-end. A primeira restrição considera o delay end-to-end ao longo de um caminho entre fonte e vértice de destino (cliente). O caminho com maior delay end-to-end entre todos os caminhos que ligam o vértice fonte a cada um dos membros do grupo deve estar abaixo de um limite dado. A segunda restrição é denominada delay variation que consiste na diferença entre o delay end-to-end má- ximo e o delay end-to-end mínimo entre os caminhos da fonte para cada um dos membros do grupo. O valor obtido deve estar abaixo de um limite dado.
Wang et al. (2011) abordam o problema de roteamento multicast considerando quatro restrições. A restrição de delay end-to-end do caminho da fonte para um membro do grupo. Além dessa restrição, considera-se a perda de pacote em uma aresta. Esta restrição considera o produtório da perda de pacotes ao longo do caminho entre fonte e membro de um grupo. Para isso, cada aresta possui uma taxa de perda de pacotes. Outra restrição utilizada tem relação com a existência de gargalo na rede - congestionamento, que deve ser minimizado. Considera-se a aresta mais utilizada entre todos os caminhos de fonte para cada membro do grupo. Por fim, há também a consideração do jitter1
avaliado em função do delay de um caminho específico e do delay médio entre todos os caminhos da fonte para cada membro do grupo.
Sun et al. (2008) abordam o problema considerando otimização do custo e múltiplas restrições. As restrições utilizadas são delay end-to-end e congestionamento. Além disso, define-se uma restrição relacionada a utilização das arestas - denominada de utilização de banda. Esta restrição é definida como resultado da soma do tráfego já existente na rede e uma demanda de tráfego, que é dividida pela capacidade das arestas. As três restrições são definidas com valores limites que devem ser respeitados para garantir a viabilidade da solução.
Em geral, uma ampla maioria dos trabalhos abordam o problema de roteamento mul- ticast Mono-Sessão considerando a otimização do custo sujeito a restrição de delay end- to-end. Por vezes, consideram-se outras restrições como mencionado anteriormente. Uma boa revisão é apresentada em (XU, 2011) e vários modelos são avaliados em (XU; QU,
3.3. Problema de Roteamento