Acessibilidade / Reportar erro

Esquema de controle adaptativo de tráfego de redes baseado em um algoritmo de predição fuzzy

Resumos

Neste trabalho, propomos um esquema de controle adaptativo de fluxos de tráfego de redes de computadores baseado no modelo fuzzy Takagi-Sugeno (TSK). O esquema de controle proposto evita a ocorrência de congestionamento utilizando o modelo fuzzy TSK para prever adaptativamente o tamanho da fila no buffer nos enlaces. Com o objetivo de ajustar dinamicamente os parâmetros do modelo fuzzy TSK, desenvolvemos um algoritmo de treinamento adaptativo para o mesmo. Os parâmetros das partes de premissa e das partes conseqüentes do modelo são atualizados na primeira etapa do algoritmo de treinamento desenvolvido. Já a segunda etapa consiste de um algoritmo de refinamento dos parâmetros do modelo baseado em gradiente descendente. A eficiência do preditor proposto é avaliada com o uso de traços de tráfego reais em comparação a outros preditores. A partir dos parâmetros do modelo fuzzy TSK, deduzimos uma expressão para a taxa da fonte de tráfego de modo a minimizar a variância do tamanho de fila no buffer e que é parte essencial do nosso esquema de controle. O controle de congestionamento proposto é então aplicado em um cenário de rede composto de vários nós alimentados com fluxos de tráfego real. Comparações realizadas com outros métodos de controle de congestionamento demonstram que o controle de congestionamento proposto provê menores taxas de perdas, assim como a manutenção da taxa de ocupação no buffer abaixo do valor desejado.

Controle de Fluxos; Predição Adaptativa; Modelagem Fuzzy; Tráfego de Redes


In this work, we propose an adaptive predictive flow control scheme based on the TSK fuzzy model for congestion control in broadband networks. The proposed control scheme intends to avoid congestion by applying a TSK type model to predict the buffer queue length. For this end, we developed an adaptive training algorithm for the TSK model that was incorporated into the proposed control scheme, achieving low loss rate network performance. Our developed fuzzy predictor consists of a two-step algorithm: an adaptive training stage with covariance resetting and a gradiente-based learning algorithm for refining the previous part of the prediction procedure. An evaluation of the proposed predictor is carried out by using real network traffic traces. As essential part of the proposed congestion control scheme, we derive an analytical expression involving the fuzzy model parameters for the control of the flow rates that minimizes the queueing length variance. Further, a network environment is considered and the congestion control is applied to each node of the analyzed scenery. Simulations are made to compare the performance of the proposed adaptive control algorithm to those of some existing control approaches in literature.

Flow Control; Adaptive Prediction; Fuzzy Modeling; Network Traffic


SISTEMAS INTELIGENTES

Esquema de controle adaptativo de tráfego de redes baseado em um algoritmo de predição fuzzy

Flávio Henrique Teles VieiraI; Lígia Maria Carvalho SousaII; Lee Luan LingII

IEscola de Engenharia Elétrica e de Computação, Universidade Federal de Goiás Av. Universitária, 1488 - Quadra 86 - Bloco A - 74605-010 Setor Leste Universitário - Goiânia - Goiás - Brasil, flavio@eeec.ufg.br

IIDepartamento de Comunicações - DECOM - FEEC - UNICAMP Caixa Postal 6101 CEP 13.083-970 Campinas, SP , Brasil, ligia@decom.fee.unicamp.br, lee@decom.fee.unicamp.br

RESUMO

Neste trabalho, propomos um esquema de controle adaptativo de fluxos de tráfego de redes de computadores baseado no modelo fuzzy Takagi-Sugeno (TSK). O esquema de controle proposto evita a ocorrência de congestionamento utilizando o modelo fuzzy TSK para prever adaptativamente o tamanho da fila no buffer nos enlaces. Com o objetivo de ajustar dinamicamente os parâmetros do modelo fuzzy TSK, desenvolvemos um algoritmo de treinamento adaptativo para o mesmo. Os parâmetros das partes de premissa e das partes conseqüentes do modelo são atualizados na primeira etapa do algoritmo de treinamento desenvolvido. Já a segunda etapa consiste de um algoritmo de refinamento dos parâmetros do modelo baseado em gradiente descendente. A eficiência do preditor proposto é avaliada com o uso de traços de tráfego reais em comparação a outros preditores. A partir dos parâmetros do modelo fuzzy TSK, deduzimos uma expressão para a taxa da fonte de tráfego de modo a minimizar a variância do tamanho de fila no buffer e que é parte essencial do nosso esquema de controle. O controle de congestionamento proposto é então aplicado em um cenário de rede composto de vários nós alimentados com fluxos de tráfego real. Comparações realizadas com outros métodos de controle de congestionamento demonstram que o controle de congestionamento proposto provê menores taxas de perdas, assim como a manutenção da taxa de ocupação no buffer abaixo do valor desejado.

Palavras-chave: Controle de Fluxos, Predição Adaptativa, Modelagem Fuzzy, Tráfego de Redes.

ABSTRACT

In this work, we propose an adaptive predictive flow control scheme based on the TSK fuzzy model for congestion control in broadband networks. The proposed control scheme intends to avoid congestion by applying a TSK type model to predict the buffer queue length. For this end, we developed an adaptive training algorithm for the TSK model that was incorporated into the proposed control scheme, achieving low loss rate network performance. Our developed fuzzy predictor consists of a two-step algorithm: an adaptive training stage with covariance resetting and a gradiente-based learning algorithm for refining the previous part of the prediction procedure. An evaluation of the proposed predictor is carried out by using real network traffic traces. As essential part of the proposed congestion control scheme, we derive an analytical expression involving the fuzzy model parameters for the control of the flow rates that minimizes the queueing length variance. Further, a network environment is considered and the congestion control is applied to each node of the analyzed scenery. Simulations are made to compare the performance of the proposed adaptive control algorithm to those of some existing control approaches in literature.

Keywords: Flow Control, Adaptive Prediction, Fuzzy Modeling, Network Traffic.

1 INTRODUÇÃO

Aplicações que exigem garantias de qualidade de serviço (QoS) têm sido cada vez mais encontradas na Internet, tais como voz sobre IP e vídeo conferência (Ditze and Jahnich,2005; Cherry, 2005; Baldi and Ofek, 2000). Devido ao comportamento imprevisível e de rajadas dos fluxos em redes multimídia, congestionamentos podem ocorrer causando perdas de dados (bytes) e degradação dos parâmetros de QoS (Hatano et al., 2007). Desta forma, se faz necessário um mecanismo de controle de congestionamento eficiente para superar esses problemas e garantir a qualidade de serviço desejada.

Duas estratégias distintas de controle e gerenciamento de congestionamento são comumente encontradas na literatura: recuperação e prevenção (Durresi et al., 2006; Jacobson,1995). A primeira tem como objetivo atuar na rede após a ocorrência de congestionamento para resolver tal problema. A segunda trata de detectar possíveis condições que levem a situações de congestionamentos e de executar procedimentos para impedir suas ocorrências. Esta estratégia de prevenção, que se baseia em antecipar situações de congestionamento, normalmente inclui modelos para análise do comportamento do tráfego, sendo este frequentemente complexo e não-linear (Lee and Fapojuwo, 2005).

A solução adotada neste trabalho está relacionada com a aplicação da modelagem fuzzy visando a predição do comportamento de fila no buffer e o controle da taxa de entrada dos fluxos de tráfego. Neste tipo de abordagem, um fator importante para o sucesso do controle de congestionamento é a aplicação de uma modelagem de tráfego adequada. Quanto mais precisa for a estimação do comportamento dos fluxos da rede, mais apropriado será o serviço oferecido ao usuário. Por outro lado, se o modelo não for capaz de representar precisamente o tráfego real, o desempenho real da rede pode ser subestimado ou superestimado. Assim, um modelo de tráfego eficiente deve capturar fielmente as características do tráfego de redes. Muitos estudos mostram que modelos fuzzy possuem vantagens sobre os modelos lineares em descrever o comportamento não-linear e variante no tempo de processos reais desconhecidos, como é o caso dos fluxos de tráfego de redes (Ouyang et al., 2005; Chen et al., 2000). De fato, a modelagem fuzzy é capaz de representar um sistema complexo não-linear através da combinação de vários modelos locais lineares invariantes no tempo (Chen et al., 2007; Sugeno and Yasukawa, 1993).

Várias técnicas de controle de congestionamento em redes de computadores têm sido propostas na literatura (Wang et al., 2007; Durresi et al., 2006; Nejad et al., 2006; Karnik and Kumar, 2005). Dentre as propostas de controle de congestionamento utilizando lógica nebulosa, algumas utilizam modelos fuzzy sem adaptação dos parâmetros como em e outras são baseadas em protocolos ou tecnologias de rede específicos (Nejad et al., 2006; Chen et al., 2003). No primeiro caso, muitos dos esquemas não são suficientemente precisos em prever o comportamento variante do tráfego gerado por aplicações em tempo real devido a não adaptação de seus parâmetros (Pitsillides and Lembert, 1997). Por exemplo, em , os autores propõem um algoritmo de controle preditivo das taxas dos fluxos de tráfego. Entretanto, nesta abordagem as funções de pertinência que caracterizam as entradas do preditor nebuloso são fixas, ou seja, tais funções não se ajustam a medida que novas entradas de dados são disponibilizadas. No segundo caso, podemos citar propostas de esquemas de controle que são dedicados aos protocolos de redes ATM (Asynchronus Transfer Mode) (Kharaajoo, 2004; Chen et al., 2003) ou baseados nos mecanismos de controle de congestionamento do protocolo TCP/IP (Transmission Control Protocol/Internet Protocol), como em (Wang et al., 2007; Wang et al., 2006; Basar and Srikant, 2005). Entre as propostas de controle de congestionamento que não dependem de mecanismos específicos de rede, destacamos o método de Realimentação Binária (Chen et al., 1996) e o método de Controle Proporcional (Habib and Saadawi, 1992). Tais métodos podem ser utilizados para controle de aplicações de tempo real e são também eficazes para outros problemas de controle (Karnik and Kumar, 2005; Zhang et al., 2000). Assim, usaremos estes métodos nas análises comparativas deste trabalho.

Neste trabalho, objetivamos estabelecer um estratégia de controle de congestionamento cujos parâmetros sejam atualizados adaptativamente e que possa ser aplicada em diferentes tecnologias de rede. Para isso, propomos um algoritmo de treinamento adaptativo para um preditor fuzzy do tipo Takagi-Sugeno (TSK), o qual é aplicado na modelagem e predição do tamanho da fila no buffer com o intuito de controlar as taxas das fontes em um enlace. O algoritmo de treinamento proposto (ARFARC - Agrupamento Regressivo Fuzzy Adaptativo com Reset da Covariância) consiste de duas partes principais: um procedimento de treinamento adaptativo baseado em um método de agrupamento (clustering) que divide os dados de tráfego em grupos, onde cada grupo é descrito por um modelo fuzzy TSK. Na segunda parte, um algoritmo de aprendizagem baseado na técnica de gradiente descendente é usado para refinar os parâmetros do modelo obtido, melhorando a precisão da modelagem. Por fim, uma taxa ótima de regulação da fonte é calculada através dos parâmetros obtidos na predição.

Na seção 2, descrevemos o sistema onde é aplicado o esquema de controle de congestionamento proposto. Na seção 3, apresentamos o modelo TSK e, em seguida, o algoritmo de treinamento adaptativo proposto. Na seção 4, derivamos uma expressão para a taxa ótima de controle de fluxo em função dos parâmetros do modelo obtido na predição. Na seção 5, o preditor é analisado e comparado a alguns preditores lineares adaptativos existentes na literatura. Na seção 6, o método de controle de congestionamento proposto é comparado com outros esquemas de controle de congestionamento e avaliado segundo algumas medidas de desempenho. Por fim, apresentamos as conclusões obtidas na seção 7.

2 DESCRIÇÃO DO SISTEMA DE CONTROLE DE CONGESTIONAMENTO

Nessa seção, detalhamos o sistema de controle de congestionamento implementado. Este sistema de controle visa prever adaptativamente o comportamento da fila no buffer e, a partir dos parâmetros do modelo de predição de tráfego, controlar a taxa da fonte de tal forma que o tamanho da fila no buffer seja igual ou inferior ao nível de referência desejado.

A estrutura básica do sistema de controle de congestionamento considerado é mostrada na Figura 1, na qual estão identificados todos os elementos do sistema:

• Fluxo de tráfego controlável μ(k);

• Fluxo de tráfego não-controlável ν(k);

• Buffer;

• Atraso de realimentação (round-trip time) d;

• Tamanho da fila no buffer b(k) no instante k;

• Capacidade η do enlace de saída do sistema;

• Nível desejado para o tamanho da fila no buffer bτ;

• Bloco funcional que representa o esquema de controle de congestionamento proposto, o qual atua no tráfego controlável regulando sua taxa.


O intervalo de amostragem do esquema de controle proposto é de T segundos, ou seja, as taxas dos fluxos de tráfego e o tamanho da fila no buffer b(k) se modificam a cada T segundos.

O tráfego que chega ao buffer vem de duas classes distintas. Uma está relacionada ao tráfego controlável μ(k) que adapta sua taxa às condições da rede, chamado de tráfego TBD (Taxa de Bits Disponível). A taxa de transmissão do tráfego TBD é regulada pelo controlador fuzzy adaptativo proposto implementado no switch. A outra classe é a do tráfego não-controlável υ(k), no qual se enquadram os serviços do tipo TBC (Taxa de Bits Constante) e TBV (Taxa de Bits Variável). Essa classe de tráfego é sensível ao atraso e tem maior prioridade de uso do enlace. Deste modo, as fontes controláveis podem usufruir apenas a banda restante não usada pelas fontes não-controláveis.

Os serviços de taxa de bits variável (TBV) e constante (TBC) são apropriados para um grande número de aplicações (Lee and Veciana, 2000; Chen et al., 1996). O serviço TBV, cujos fluxos possuem características de rajadas aleatórias, oferece conexões para aplicações de vídeo e áudio em tempo real e não-real com largura de banda variável. Os pacotes desse tipo de serviço são transmitidos a taxas arbitrárias e entregues com atraso e Taxa de Perda de Bytes (TPB) limitados de acordo com os valores requeridos pela aplicação. O serviço TBC pode ser considerado um caso especial do serviço TBV, onde a taxa de pico é igual a taxa média de serviço. Esses tipos de serviços são usados para aplicações em tempo-real com largura de banda fixa, tais como, em redes chaveadas por circuitos (Exemplo: canal de voz de 64Kbyte/seg). Os pacotes do serviço TBC são gerados em intervalos periódicos regulares e entregues com atrasos estritamente limitados (Assunção and Ghanbari, 2000).

Os serviços de taxa de bits disponível (TBD) são utilizados em uma classe mais estreita de aplicações que podem se adaptar a banda disponível e tolerar atrasos (Imer et al., 2001). Essas conexões TBD em geral compartilham a banda do enlace com os tráfegos de TBV e TBC, quando houver parte não usada. Das características citadas para o tráfego TBD, podemos perceber que esse serviço não é apropriado para aplicações sensíveis a atrasos.

Dado que a fonte TBD ajusta sua taxa de transmissão periodicamente de acordo com a banda disponível no momento, o desempenho da rede será fortemente afetado pela eficiência do mecanismo de ajuste de taxa. Para atingir um nível adequado de eficiência, a fonte é informada das últimas condições da rede, normalmente através de um canal de realimentação com atraso (Boggia et al., 2007). O atraso de realimentação juntamente com o atraso de transmissão direta é chamado de round-trip time (representado pelo atraso d na Figura 1) (Wenshan et al., 2006). Este atraso causa diferenças entre a taxa da fonte TBD e a banda disponível, o que exige a presença de buffers na rede para acomodar o tráfego TBD durante os intervalos de tempo em que a taxa da fonte excede a taxa disponível no enlace.

O esquema de controle de tráfego proposto tem como objetivo levar em consideração o atraso de round-trip d prevendo o comportamento da ocupação do buffer a fim de evitar ocorrência de congestionamento. Para isto, desenvolvemos um algoritmo adaptativo de predição de d passos a frente do tamanho da fila no buffer b(k+d) baseado nas informações passadas e atuais da taxa da fonte controlável μ(s)s<k e do tamanho da fila no buffer b(s)s<k. Além disso, para manter o tamanho da fila no buffer abaixo do nível desejado bτ e minimizar a sua variância, aplicamos a taxa ótima de controle proposta μº(k) para regular a taxa da fonte controlável (Seção 4). Deste modo, é possível confinar a taxa de perda de bytes dentro dos níveis estabelecidos no contrato de tráfego.

Devido aos diversos tipos de serviços e aplicações, tais como, dados, voz e vídeo sendo multiplexados nos nós das redes, a dinâmica da ocupação do buffer é um processo complexo e não-linear. Esta ocupação expressa pelo tamanho de fila no buffer do sistema da Figura 1 pode ser descrita através da equação de Lindley (Jacobson, 1995):

onde Bmax é a capacidade máxima do buffer.

Foi demonstrado que o modelo fuzzy TSK é capaz de descrever com eficiência o comportamento de processos reais com características não-lineares, como é o caso do sistema descrito pela equação (1) (Ouyang et al., 2005; Takagi and Sugeno, 1985). Além disso, sabe-se que sistemas de controle baseados em lógica fuzzy para aplicações em tempo real podem ser implementados utilizando por exemplo, processadores DSP (Digital Signal Processing) (Iliev et al., 2000) e circuitos programáveis FPGA (Field Programmable Gate Array) (Juang et al., 2004; Surmann et al., 2006). Estas implementações, incluindo as relacionadas com o modelo TSK, atingem alta velocidade de operação, podendo ser utilizadas em aplicações com restrições de tempo no intervalo entre algumas centenas de nanossegundos a alguns microssegundos. A nossa proposta consiste de um modelo TSK cujo algoritmo de treinamento é adaptativo. Assim, é possível implementar o esquema de controle fuzzy apresentado neste trabalho e empregá-lo no controle de aplicações em tempo real nas redes atuais cujo round trip time é da ordem de algumas centenas de milissegundos (Aikat et al., 2003).

Na próxima seção propomos um preditor fuzzy adaptativo para o tamanho da fila no buffer d passos à frente b(k+d), que explora as propriedades não-lineares e as incertezas da dinâmica do tamanho da fila no buffer.

3 ALGORITMO DE PREDIÇÃO FUZZY TSK ADAPTATIVO

Nesta seção, desenvolvemos o algoritmo de treinamento adaptativo para o preditor fuzzy do tipo TSK da ocupação do buffer. Denominado de algoritmo de Agrupamento Regressivo Fuzzy Adaptativo com Reset da Covariância (ARFARC), o algoritmo de treinamento proposto neste trabalho identifica simultaneamente os agrupamentos (clusters) nos dados e os parâmetros das partes conseqüentes das regras fuzzy.

3.1 Modelo Fuzzy TSK Aplicado à Predição do Tamanho de Fila no Buffer

Algumas técnicas para modelagem de regras nebulosas têm sido propostas na literatura e muitas delas definem seus subespaços fuzzy baseado no treinamento com os dados de entrada (Chen et al., 2000; Sugeno and Yasukawa, 1993; Takagi and Sugeno, 1985). O modelo fuzzy TSK é um exemplo de tais técnicas, o qual interpola localmente relações de entrada-saída lineares através de funções de pertinência, resultando em sistemas não-lineares.

Seja um conjunto de N observações {((1),y(1)),((2),y(2)),...,((N),y(N))} com (k) ∈ e y(k) ∈ , onde N é o número de dados de treinamento, (k)=[x1(k),x2(k),...,xn(k)] é o k-ésimo vetor de entrada e y(k) é a saída desejada para a entrada (k), com 1 < k < N. Supondo que essas observações sejam relacionadas por uma função desconhecida y(k)=f(x1(k),x2(k),...,xn(k)), com 1 < k < N, deseja-se construir uma função que possa representar essa relação entrada-saída ƒ, através do modelo fuzzy TSK. No nosso caso, os vetores de entrada consistem dos valores passados e atuais do tamanho da fila no buffer e do processo de tráfego controlável e a saída consiste de uma estimativa do tamanho da fila no buffer d passos a frente, isto é,

O modelo TSK aplicado à predição do tamanho da fila no buffer consiste de regras Se-Então que tem a seguinte forma:

para i = 1, 2, ...C, onde C é o número total de regras, p + 1 é o número de amostras de entrada referentes aos valores atuais e passados do tamanho da fila no buffer, q + 1 é o número de amostras de entradas relacionadas aos valores atuais e passados do processo de tráfego controlável, n = p + q + 2 é o número de entradas total, é o conjunto nebuloso da i-ésima regra para o j-ésimo elemento do k-ésimo vetor de entrada , sendo o conjunto de parâmetros ajustáveis das partes antecedentes com 1 < j < n, e é o conjunto de parâmetros das partes consequentes para o instante k. A saída do modelo nebuloso TSK é dada por (Takagi and Sugeno, 1985):

onde bi(k + d) é a saída da i-ésima regra, é o grau de ativação da i-ésima regra, o qual é obtido pelo mínimo das funções de pertinência de todas as variáveis nebulosas.

A especificação completa do modelo fuzzy TSK representado pela equação (4) consiste na identi cação dos parâmetros das partes antecedentes (isto é, ) e das parte conseqüentes (isto é, ). Para isto, introduzimos na próxima seção o algoritmo de agrupamento ARFARC que leva em consideração o erro de regressão e a distribuição espacial dos dados, analisando a distância de cada vetor de entrada ao centro de cada grupo. Na primeira parte do algoritmo, uma inicialização aproximada do modelo TSK é estabelecida. E na segunda parte, um algoritmo de re namento baseado no gradiente descendente (Haykin, 2001) é utilizado para efetuar um ajuste no do modelo inicial obtido na primeira parte, otimizando a sua precisão. As simulações realizadas mostram que o algoritmo de treinamento adaptativo ARFARC permite uma rápida convergência e resultados bastante expressivos.

3.2 Algoritmo ARFARC - Parte 1

O algoritmo de agrupamento ARFARC proposto leva em conta a distribuição espacial dos dados através da análise d a distância entre os dados de entrada e os centros dos agrupamentos. Além disso, no algoritmo proposto ARFARC considera-se o erro de regressão, ou seja, a diferença entre a saída desejada e a saída obtida pelo modelo TSK.

Nesta seção, desenvolvemos a primeira parte do algoritmo de agrupamento proposto ARFARC que identi ca simultaneamente os parâmetros das partes antecedentes () e das parte consequentes (). Estabelecemos a seguinte função custo J para o algoritmo ARFARC:

com

onde uik é o grau de ativação da i-ésima regra para o k-ésimo padrão de treinamento (vetor de entrada ), C é o número de regras nebulosas e N é o número de dados de treinamento. Em (6), rik é o erro entre a k-ésima saída desejada do sistema modelado e a saída da i-ésima regra com a k-ésima entrada, isto é,

para i = 1, 2, ..., C e k = 1, 2, ..., N. Na mesma equação (6), dik é a distância entre a k-ésima entrada e o centro do i-ésimo grupo (cluster) denotado como βi, isto é,

Para minimizar a função custo J em (6), aplicamos o método de multiplicadores de Lagrange (Bortolossi, 2002), resultando em uma função de Lagrange dada por:

onde λk são multiplicadores de Lagrange e k = 1, 2, ..., N.

A minimização da função custo J implica na imposição das seguintes condições:

Note que a derivada parcial em (11) pode ser obtida através da equação (8) da seguinte forma:

Substituindo (14) na equação (11) temos:

onde é obtido derivando a equação (8).

Para o k-ésimo padrão de treinamento, com k = 1, 2, ..., N, de nimos uma matriz X(k) ∈ cuja (j + 1)-ésima coluna é o vetor xj. A primeira coluna de X(k) é um vetor unitário. São também definidos Y ∈ como um vetor onde o k-ésimo elemento é o valor de y(k) e Qi(k) ∈ uma matriz diagonal cujo k-ésimo elemento da diagonal é dado por . Assim sendo, a equação (15) escrita na forma matricial é dada por:

Denotaremos por Pi(k), a matriz de covariância de X(k) e Qi(k), dada por:

Assim, o vetor de parâmetros das partes conseqüentes da i-ésima regra para o k-ésimo padrão de treinamento é dado por:

Para evitar a inversão matricial do termo (XT (k)Qi(k)X(k)) em (17) no cálculo da matriz de covariância, propomos um algoritmo recursivo de estimação do vetor de parâmetros das partes consequentes . Detalhamos o desenvolvimento matemático para obtenção das equações do algoritmo recursivo no Apêndice AApêndice A, onde mostramos que a equação (18) pode ser calculada recursivamente por:

onde Pi(k + 1) é dado por:

em que x(k + 1) é a (k + 1)-ésima linha da matriz X(k) e w(k + 1) é o (k + 1)-ésimo elemento diagonal da matriz Qi(k + 1).

Através de simulações, constatamos que o método recursivo proposto de estimação dos parâmetros das partes conseqüentes apresenta um alta taxa de convergência inicial nas simulações; contudo o ganho do algoritmo é reduzido pois a matriz de covariância P diminui rapidamente dentro de poucas iterações. Para evitar isso, a matriz P é inicializada a cada 10 iterações de modo que o ganho não é reduzido e alta convergência também é obtida.

O grau de ativação da i-ésima regra para o k-ésimo padrão de treinamento, uik, pode ser obtido através da segunda condição necessária para minimizar a função custo J, de nida pela equação (12), ou seja:

O parâmetro λk pode ser obtido substituindo a equação (21) na equação (7) obtendo:

Substituindo o parâmetro λk da equação (22) na equação (21) obtém-se a seguinte equação para o grau de ativação da i-ésima regra para o k-ésimo padrão de treinamento uik:

A terceira condição, representada pela equação (13), pode ser simpli cada uma vez que a derivada parcial nesta equação é dada em função da distância entre a k-ésima saída desejada do sistema e a saída da i-ésima regra com a k-ésima entrada (equação (9)). Assim, temos:

Substituindo (24) em (13), obtém-se a seguinte equação para o centro do i-ésimo cluster βi:

Em resumo, para cada padrão de treinamento (, y(k)), a saída do modelo TSK será calculada pela equação (5) e os parâmetros rik, dik, uik, βi e serão atualizados, respectivamente, pelas equações (8), (9), (23), (25) e (19), caracterizando assim um algoritmo de treinamento adaptativo. Vale também ressaltar que, a atualização do vetor de parâmetros conseqüentes (k) é recursiva, ou seja, utiliza-se a amostra anterior para se calcular a amostra atual.

Nessa primeira parte do algoritmo de agrupamento proposto ARFARC, os parâmetros das partes antecedentes também são obtidos. Funções gaussianas são utilizadas como funções de pertinência das partes premissas (antecedentes); assim, temos que . Para cálculo das funções de pertinência, devemos portanto obter os culo das funções de parâmetros e . Tais parâmetros correspondem, respectivamente, a média e o desvio padrão da j-ésima função de pertinência da i-ésima regra nebulosa, onde 1 < j < n e 1 < i < C. Assim, temos as seguintes equações para o cálculo dos parâmetros e :

3.3 Algoritmo ARFARC - Parte 2 (Algoritmo de Refinamento)

Na segunda parte do algoritmo de agrupamento ARFARC, os parâmetros das partes antecedentes ((k)) e conseqüentes ( e ) são ajustados por um algoritmo de re namento baseado em um procedimento de aprendizagem supervisionado de modo a aumentar a precisão da modelagem. O algoritmo de aprendizagem supervisionado considerado é o gradiente descendente (Haykin, 2001). Este algoritmo assume como função custo ER a seguinte equação:

onde é a saída desejada e é a saída do modelo nebuloso TSK.

Uma vez que a saída do modelo TSK é calculada por meio das equações (4) e (5), então, para o k-ésimo padrão de treinamento, os parâmetros das partes antecedentes e conseqüentes serão atualizados pelas Equações I (29) e II (30), respectivamente, detalhadas abaixo.

Equação I (Ajuste dos Parâmetros de Premissa)

A partir da minimização da função custo ER (equação (28)), é possível mostrar que os parâmetros das partes de premissa do modelo nebuloso com l = 1 e 2, podem ser ajustados precisamente através da equação abaixo:

onde η é uma taxa de de aprendizagem, y(k) é a saída desejada, é a saída do modelo nebuloso TSK e yi(k) é a saída da i-ésima regra do modelo TSK.

Seja o vetor de parâmetros wi(k) dado por e j* o índice j que define a minimização em wi(k), isto é, . Então, quando j = j* e l = 1, o termo da equação (29) pode ser calculado da seguinte forma:

E para l = 2, temos:

Quando jj* , tem-se que , o que significa que nenhum ajuste será feito para esses casos.

Equação II (Ajuste dos Parâmetros Conseqüentes)

Os parâmetros das partes conseqüentes do modelo nebuloso podem ser ajustados aplicando o algoritmo de gradiente descendente, resultando na seguinte equação de atualização:

onde ς é outra taxa de aprendizagem, y(k) é a saída desejada e é a saída do modelo nebuloso TSK.

4 CÁLCULO DA TAXA ÓTIMA DE CONTROLE DE FLUXOS

Nesta seção, como parte do esquema de controle de congestionamento adaptativo proposto, apresentamos uma expressão para o cálculo da taxa ótima de controle para regular a taxa μ(k) da fonte controlável a partir da minimização da função custo J abaixo:

onde λ é o fator de ponderação e E[.] denota a esperança matemática. Na equação (31), a função custo J leva em consideração o erro de ajuste do tamanho da fila no buffer, isto é, considera a diferença entre o valor do tamanho da fila no buffer d passos à frente e o nível desejado para o tamanho da fila no buffer bτ . Os erros de modelagem (imprecisão do modelo), mesmo sendo pequenos, podem causar oscilações no tamanho de fila do buffer b(k) de tal forma a ultrapassar o nível de referência bτ. Devido a este fato, introduzimos na equação (31) o parâmetro de projeto λ para limitar o valor de μ2(k), evitando situações como essa.

A taxa de controle ótima é dada em função do valor do tamanho da fila no buffer d passos à frente. Uma estimativa do tamanho da fila b(k) no buffer d passos à frente é fornecida pela saída do preditor fuzzy proposto quando aplicado à predição de amostras deste processo pela seguinte equação:

onde

e

Assim sendo, podemos enunciar a seguinte proposição relacionada à taxa ótima de controle.

Proposição 1. A taxa ótima de controle μº que pode ser utilizada para regular a taxa da fonte controlável e que minimiza a função custo J (31) é dada pela seguinte equação:

onde

Prova: A prova se encontra no Apêndice BApêndice B do tamanho da fila no Sendo a estimativa do tamanho da fila no buffer dada pelo preditor nebuloso proposto equivalente ao valor esperado para o tamanho da fila no buffer d passos à frente b(k + d), podemos escrever a função custo (31) da seguinte forma: .

Segundo a equação proposta (35), a taxa ótima de controle de fluxo μº(k) é obtida em função do vetor de entrada , do vetor de parâmetros conseqüentes (k) e do nível desejado do tamanho da fila no buffer bτ. Ou seja, o cálculo dessa taxa ótima utiliza os parâmetros obtidos do modelo fuzzy preditivo proposto e o nível desejado para o tamanho da fila no buffer.

5 AVALIAÇÃO DO PREDITOR NEBULOSO PROPOSTO

Nessa seção, serão realizadas avaliações comparativas entre o desempenho do preditor nebuloso proposto e o desempenho de outros preditores, quando aplicados a traços de tráfego reais. Inicialmente, apresentamos as medidas de desempenho de predição utilizadas.

5.1 Medidas de Desempenho de Predição

Para avaliarmos o desempenho do preditor proposto, adotamos a medida de erro de predição do tipo Erro Quadrático Médio (EQM).

Erro Quadrático Médio - EQM: Seja o valor predito da amostra de um processo Y em um determinado instante e yi o valor desejado para esta amostra. O erro quadrático médio (EQM) é dado pelo valor médio dos desvios do valor predito em relação ao seu valor desejado yi, ou seja,

onde N é o número de amostras observadas.

O erro quadrático médio é uma medida de erro absoluto, portanto é bastante in uenciado pela amplitude do sinal predito. Para evitar esse problema, são adotadas medidas de erro relativas, conhecidas como erros quadráticos médios normalizados (EQMN). No nosso trabalho, duas medidas de erro relativas são empregadas: o EQM normalizado em relação à variância da série predita, e o EQM normalizado em relação ao erro quadrático médio do preditor ótimo para o processo passeio aleatório ( random walk) (Papoulis, 2002).

Erro Quadrático Médio Normalizado 1 - EQMN1: Seja a variância do processo Y , dada por , onde é a média do processo Y . O erro quadrático médio do tipo 1 é dado por:

Analisando a equação (37), o EQMN1 pode ser interpretado como a razão entre os EQM's de dois preditores, onde, no numerador, o valor predito é dado por , enquanto no denominador o valor predito é dado pela média do processo μ. Logo, se um preditor apresenta um valor de EQMN1 igual ou inferior a 1, podemos concluir que esse preditor apresenta desempenho igual ou superior a um preditor que apenas estime o valor futuro como a média do processo.

Erro Quadrático Médio Normalizado 2 - EQMN2: Considerando o preditor simplificado descrito por:

Ou seja, o valor predito é igual ao valor da amostra imediatamente anterior. Para o processo passeio aleatório (random walk), esse é o preditor ótimo no sentido do erro quadrático médio (Papoulis, 2002).

Seja o valor predito da amostra yi do processo Y , estimado através do preditor descrito pela equação (38). O erro quadrático médio do tipo 2 será dado por:

Analisando a equação acima, temos que um EQMN2 próximo de 1 nos indica um preditor com desempenho próximo ao de um preditor que estima o valor futuro como o valor da amostra imediatamente anterior.

5.2 Análise do Erro Quadrático Médio de Predição

O desempenho do preditor proposto é analisado através de simulações com traços TCP/IP (Transmission Control Protocol/Internet Protocol) que correspondem ao registro do trá fego de pacotes IP transmitidos entre a Digital Equipment Corporation1 1 http://ita.ee.lbl.gov/html/contrib/DEC-PKT.html e o resto do mundo (dec-pkt-1.tcp, dec-pkt-2.tcp e dec-pkt-3.tcp). Outro traço utilizado (OctInt) referese a amostras de tráfego LAN Ethernet disponibilizadas pela Bellcore2 2 http://ita.ee.lbl.gov/html/contrib/BC.html . Este traço de tráfego (OctInt) corresponde a fluxos de bytes trafegados internamente na rede local da Bell-core. Utilizamos também nas simulações traços de tráfego (ex. traço 10-7-S-1) capturados em um servidor da rede da Petrobrás através de um analisador de dados da Acterna modelo DA350, com a resolução (time stamp) de 32 microsegundos (Perlingeiro and Ling, 2005). Todos os traços de tráfego utilizados representam volume de tráfego em bytes por unidade de tempo.

A escolha desses traços de tráfego, TCP/IP e LAN Ethernet, justi ca-se por terem sido empregados em outros trabalhos relacionados à controle de congestionamento e predição (Barreto and Lemos, 2001; Vieira and Lee, 2003; Bianchi et al., 2004; Dangy et al., 2003; Banerjee et al., 2000), portanto, servem bem ao propósito de comparação. A Figura 2 exibe as respostas do preditor de tráfego proposto a um passo para o traço de tráfego TCP/IP dec-pkt-1 na escala de tempo de agregação de 512ms, e também para o traço de tráfego da Petrobrás 10-7-S-1, na escala de 100ms.


Com relação a escolha do número de amostras passadas do tráfego, ou seja, a ordem do preditor, sabe-se que ao se utilizar poucas amostras tem-se um menor tempo de processamento das informações, em contrapartida, esse pequeno número de amostras utilizado pode comprometer o desempenho de predição. Neste trabalho foi escolhido n = 6 como a ordem do preditor pois veri camos que deste modo se obtém um bom equilíbrio entre tempo de processamento e desempenho de predição. Mais especi camente, constatamos que o erro quadrático médio para o preditor proposto diminui de forma insigni cativa com o aumento da ordem do preditor acima de n = 6.

Outro fator importante para o desempenho do algoritmo de predição é a escolha das taxas de aprendizagem. As taxas de aprendizagem do algoritmo de re namento foram estipuladas de tal forma a obter melhores resultados possíveis. Assim, os valores encontrados foram η = 0.62 e ς = 0.72.

Dentre os preditores lineares adaptativos existentes na literatura, os algoritmos LMS (Least Mean Square) (Toreyin et al., 2006) e RLS (Recursive Least Square)(Chong et al., 1995) merecem atenção. O primeiro, o ltro linear adaptativo LMS, pertence à família de algoritmos de gradiente estocástico, que não requer medições das funções de correla ção, nem inversão da matriz de autocorrelação. Enquanto o ltro linear RLS, é visto como um caso especial do ltro de Kalman (Haykin, 2001). Os ltros LMS e RLS são bastante empregados na predição de séries temporais (Adas, 1998; Toreyin et al., 2006; Chong et al., 1995). Para o preditor RLS, xou-se um fator de esquecimento igual λ = 0.99. E para o caso do LMS, foi utilizado uma taxa de aprendizagem de η = 0.03. A ordem para os preditores comparados foi a mesma utilizada para o preditor proposto, ou seja, n = 6.

As Tabelas 1 e 2 mostram as medidas de desempenho obtidas utilizando o preditor nebuloso proposto assim como para os algoritmos LMS e RLS. A Figura 3 compara as medidas de desempenho de predição (EQM, EQMN1, EQMN2) entre o preditor proposto e os outros preditores utilizados como comparação. Pode-se veri car que o preditor proposto apresentou os menores EQM, EQMN1 e EQMN2, ou seja, o melhor desempenho entre os preditores analisados. Com o uso de poucas amostras iniciais, o erro quadrático do preditor proposto decai e se mantém próximo a zero. Na mesma gura, percebe-se que os outros preditores analisados requerem um maior intervalo de tempo para atingir resultados similares. Desse modo, pode-se concluir que a aplicação do modelo fuzzy adaptativo na predição de tráfego conduz a ganhos expressivos de desempenho. É conveniente frisar que o preditor proposto possui características adaptativas, ou seja, o ajuste do parâmetro do modelo é realizado a cada nova amostra de tráfego, não sendo necessário o uso de todas as amostras. Essa característica permite que o preditor proposto seja usado em aplicações de tempo real, mantendo o desempenho de predição desejado.


5.3 Desempenho do Algoritmo de Gradiente Descendente aplicado ao Modelo Fuzzy

Aplica-se na segunda etapa do treinamento do preditor fuzzy proposto um algoritmo de re namento baseado no gradiente descendente como ajuste no dos parâmetros do modelo inicial obtido. A Figura 4 mostra as medidas de desempenho da predição (EQMN1 e EQMN2) para o traço de tráfego decpkt-1 onde pode-se observar as melhorias no desempenho de predição. De fato, as medidas de erro utilizadas apresentam seus valores reduzidos após a aplicação do algoritmo, conforme se pode observar também pela Tabela 3.


6 AVALIAÇÃO DO ESQUEMA DE CONTROLE DE CONGESTIONAMENTO PROPOSTO

O esquema de controle de congestionamento proposto é constituído de um módulo de predição adaptativa de tráfego representado pelo algoritmo de predição proposto e um módulo relativo ao cálculo da taxa ótima para os fluxos. Os parâmetros obtidos na predição do tamanho de fila no buffer são usados para calcular a taxa da fonte de tal forma que o tamanho da fila no buffer se aproxime do nível desejado e a sua variância se torne mínima. O esquema de controle de fluxos proposto é inserido no bloco "Controle de Fluxo Nebuloso Preditivo Adaptativo" da Figura 1.

Nessa seção, avaliamos o esquema de controle de congestionamento proposto e o comparamos a outros métodos de controle de congestionamento. Inicialmente, apresentamos os métodos de controle e as medidas de desempenho utilizados na comparação. Em seguida, validamos o esquema de controle de congestionamento proposto através de simulações. Para validação do esquema de controle proposto considerouse um cenário de rede composto por 3 nós e 5 fontes de tráfego utilizando os traços dec-pkt-2 e dec-pkt-3 na escala de 512ms.

Os métodos utilizados na comparação de desempenho do esquema de controle de congestionamento proposto são: método de Realimentação Binária (Ramakrishnan and Jain, 1990) e método de Controle Proporcional (Habib and Saadawi, 1992). Tais métodos foram escolhidos por serem bastante utilizados na literatura (Karnik and Kumar, 2005; Zhang et al., 2000) e por possuírem características semelhantes ao método proposto, isto é, esses métodos analisam o comportamento do tamanho da fila no buffer e estimam uma nova taxa para as fontes controláveis a partir de condições pré-estabelecidas, sendo também independentes de protocolos especí cos de rede. Além disso, assim como no esquema de controle proposto, nestes métodos de controle um valor limitante para o tamanho da fila no buffer pode ser estabelecido.

Realimentação Binária (Binary Feedback) - Nesse método de controle de congestionamento, a taxa da fonte de tráfego é controlada através do monitoramento do tamanho da fila no buffer (Chen et al., 1996; Karnik and Kumar, 2005). Dois limiares são con gurados: Tl e Th. Quando o tamanho da fila no buffer excede Th, o congestionamento é detectado e a taxa da fonte é reduzida por um fator de 0.98. Por outro lado, quando o tamanho da fila no buffer se torna menor do que Tl, considera-se que não há mais congestionamento e a taxa da fonte é incrementada por um fator correspondente a 1% da capacidade do enlace de saída do nó. Caso contrário, a taxa da fonte permanece inalterada.

Nas simulações, os dois limiares Tl e Th são configurados como 0.95bτ e 1.05bτ, respectivamente, onde bτ é o nível desejado para o tamanho da fila no buffer.

Controle de Congestionamento Proporcional (Proportional Congestion Control) - Esse método de controle de congestionamento monitora o tamanho da fila no buffer e usa esse valor para regular a taxa da fonte controlável através de uma variável de controle c(k) (Habib and Saadawi, 1992).

Seja bτ o valor de referência de controle do tamanho da fila no buffer em um enlace. O sinal de controle da taxa de tráfego c(k) é gerado através do seguinte algoritmo de controle de congestionamento:

onde 0.998 pode ser visto como um limiar inferior e 1.002 como um limiar superior para o sinal de controle. O sinal de controle da taxa c(k) é inversamente proporcional a ocupação do buffer quando 0.998bτ < b(k) < 1.002bτ. Quando b(k) é maior do que bτ, o sinal de controle c(k) é enviado para fonte para que esta diminua sua taxa. A situação inversa também ocorre, ou seja, quando b(k) é menor do que bτ, o sinal de controle c(k) é enviado para que a fonte aumente sua taxa. Sendo μ(k) a taxa da fonte controlável no instante k, então a taxa da fonte para o instante seguinte será dada por μ(k + 1) = c(k)μ(k).

Outros métodos de controle de congestionamento podem ser encontrados na literatura mas que são especí cos para deter-minados protocolos e mecanismos de redes, como é o caso do RED (Random Early Detection) e de suas variantes (Gevros et al., 2001; Basar and Srikant, 2005; Wang et al., 2007) e algoritmos baseados em gerência de la para redes TCP/IP (Wang et al., 2006). O RED por exemplo se baseia especi camente nos mecanismos de controle de congestionamento do protocolo TCP/IP. Por outro lado, para se implementar o esquema de controle de fluxos proposto em redes atuais, é necessário apenas que a rede tenha mecanismos de realimentação (canal de retorno) para controlar a taxa das fontes controláveis, algo comum em várias tecnologias de rede (Wenshan et al., 2006; Boggia et al., 2007; Karnik and Kumar, 2005). Portanto, devido as suas características, o esquema proposto pode ser aplicado a vários tipos de redes e poderá ser absorvido por várias tecnologias (protocolos) futuras de redes de comunicações.

6.1 Medidas de Desempenho Utilizadas para Avaliação do Controle de Fluxos

A avaliação do desempenho do esquema de controle de congestionamento proposto se baseia nas seguintes medidas de desempenho: TPB (Taxa de Perda de Bytes), Utilização do enlace e a Vazão da Taxa Controlável.

A TPB é a razão entre o número de bytes perdidos e o número total de bytes transmitidos durante o período de transmissão de dados. Ou seja,

A utilização do enlace é a proporção da capacidade do enlace que é utilizada na transmissão dos fluxos de tráfego. É dada pela seguinte equação:

A vazão do tráfego controlável é a quantidade de dados [bytes], oriundo das fontes controláveis, que são transmitidos com sucesso em um determinado período de tempo.

6.2 Controle de Fluxos de Rede - Traços de Tráfego dec-pkt-2 e dec-pkt-3

6.2.1 Cenário de Simulação

O desempenho do esquema de controle proposto é avaliado através de simulações em um cenário de rede composto por 3 nós e vários fluxos de tráfego de entrada (Figura 5). As Fontes 1 e 3 são fontes de tráfego não-controlável, ou seja, de maior prioridade. As Fontes 2, 4 e 5 são fontes de tráfego controlável, isto é, que devem adaptar a sua taxa de acordo com a capacidade disponível no enlace correspondente.


Como fluxos de tráfego de entrada, são considerados os traços TCP/IP dec-pkt-2 e dec-pkt-3 em uma escala de agregação de 512ms. As especi cações detalhadas dos componentes do cenário da Figura 5 são descritas a seguir:

Fonte 1: Tráfego não-controlável dec-pkt-2 (amostras 501-2501).

Fonte 2: Tráfego controlável dec-pkt-3 (amostras 501-2501).

Nó 1: Capacidade do Enlace: 210Kbytes/s, d = 1 intervalo de tempo (512ms).

Fonte 3: Tráfego não-controlável dec-pkt-2 (amostras 3001-5001).

Fonte 4: Tráfego controlável dec-pkt-3 (amostras 1-2001).

Destino 1: Saída do Tráfego da Fonte 1.

Nó 2: Capacidade do Enlace: 200 Kbytes/s, d = 2 intervalos de tempo (2 × 512ms).

Fonte 5: Tráfego Controlável dec-pkt-3 (amostras 3001-5001).

Nó 3: Capacidade do Enlace: 200Kbytes/s, d = 1 intervalo de tempo (512ms).

Destinos 2, 3, 4 e 5: Saída do Tráfego das Fontes 2, 3, 4 e 5 respectivamente.

6.2.2 Desempenho do Esquema de Controle de Congestionamento Proposto

Para a simulação do esquema de controle de congestionamento proposto neste cenário, estipulamos uma con guração para a rede considerada de tal forma a obtermos um ambiente com perdas. O tamanho do buffer dos roteadores é fixado em Bmax = 1.5 × 106 bytes e o nível desejado para o tamanho da fila no buffer é estabelecido como bτ = 30%Bmax, ou seja, bτ = 4.5 × 105 bytes. O parâmetro λ do cálculo da taxa ótima de controle de fluxo é xado inicialmente em 1 e o algoritmo de controle é implementado em cada nó do cenário considerado.

Verificamos que as intensidades das taxas dos fluxos controlável e não-controlável em média possuem a mesma ordem de grandeza, com exceção do nó 3 onde a média da taxa nãocontrolável ultrapassa ligeiramente a média da taxa contro lável. Na Figura 6, é mostrado o comportamento da fila no buffer nos nós 1, 2 e 3 antes e depois da aplicação do esquema de controle de congestionamento. Como se pode observar, a fila no buffer se tornou mais comportada e abaixo do nível desejado bτ, exceto para o nó 3, no qual o tamanho da fila no buffer em um breve instante ultrapassa o nível desejado. Nota-se que em nenhum instante o tamanho da fila no buffer, após o controle, se tornou maior do que o tamanho do buffer Bmax, logo a taxa de perda de bytes (TPB) é igual a 0% para todos os nós.


A Figura 7 apresenta uma comparação da taxa da fonte controlável antes e depois da aplicação do controle de congestionamento proposto. Através da Figura 7, é possível observar que a taxa controlável foi reduzida e algumas vezes até mesmo levada a um valor nulo. Como foi já dito anteriormente, a fonte controlável usa a banda que está disponível, ou seja, a taxa de tal fonte é igual a taxa correspondente a banda que não está sendo usada pelas fontes prioritárias. Logo, é possível que em determinados instantes, o tráfego dessas fontes controláveis seja todo vetado em favor das fontes não-controláveis.


Comparamos o desempenho do esquema de controle de congestionamento proposto com os dos métodos de Realimentação Binária e o método de Controle Proporcional. A Figura 8 mostra o tamanho da fila no buffer, onde em cada gura referente a cada nó da rede, apresenta-se respectivamente o método de Realimentação Binária, o método de Controle Proporcional e o método proposto. Através da Figura 8, pode-se observar que o método proposto obtém um processo de fila no buffer bem mais comportado e abaixo do nível desejado.


No nó 1, os tamanhos da fila no buffer obtidos com a aplicação dos dois métodos de comparação são limitados ao tamanho do buffer Bmax = 1.5 × 106 bytes, o que provoca a ocorrência de perdas no buffer. Essas perdas acontecem pois os métodos comparados respondem, aumentando ou diminuindo sua taxa, de acordo com o tamanho da fila no buffer. Como se pode perceber, o tamanho da fila no nó 1 (Figura 6.a) é inicialmente nulo e assim permanece até as 200 primeiras amostras. Assim, como mostra a Figura 9, os métodos comparados, que aumentam a taxa quando o tamanho da fila no buffer está pequeno, incrementam a taxa controlável e só começam a diminuí-la quando o tamanho da fila chega a um valor razoável (aproximadamente no instante 400). As perdas no buffer ocorrem devido à lentidão desses algoritmos em diminuir a taxa das fontes controláveis e, consequentemente, o tamanho da fila no buffer. Essa lentidão ocorre principalmente no método de Controle Proporcional, conforme se pode observar na Figura 9, e tal método é o que obteve maiores perdas. Esse comportamento não ocorre com o método proposto, como podemos ver pela Figura 7 onde a taxa é controlada dinamicamente e assim não ocorrem perdas, ou seja, temos TPB igual a 0%. Na Tabela 4, os resultados de desempenho obtidos são apresentados, onde podemos observar que nos métodos de comparação, a variância da fila no buffer aumentou, o que não ocorre com o método proposto. Entretanto, a utilização do enlace diminuiu um pouco após a aplicação do método proposto, fato este explicado pelo adequado desempenho do algoritmo em controlar a taxa controlável, eliminando as perdas em consequência de um pequeno decremento na utilização do enlace.


No nó 2, todos os métodos obtiveram resultados sem perdas, porém, o método proposto foi o que melhor conseguiu reduzir o tamanho da fila no buffer obtendo média e variância menores, conforme pode ser visto na Tabela 5. Nesse nó, a utilização do enlace após a aplicação do método proposto pouco foi reduzida, enquanto que nos métodos de comparação a utilização não modificou.

E por fim, no nó 3, apenas o método de Realimentação Binária resultou em um buffer com perdas, fato já explicado anteriormente. Mais uma vez, uma menor variância do processo de fila no buffer foi obtida utilizando o método proposto. Os resultados são apresentados na Tabela 6.

Através das Tabelas 4, 5 e 6, pode-se notar que a média e a variância do tamanho da fila no buffer diminuem consideravelmente em todos os nós do cenário considerado após a aplicação do método proposto. Além disso, o TPB é reduzido a zero. Assim, o esquema de controle proposto oferece melhorias de desempenho em termos de taxa de perdas e do comportamento da fila no buffer. De fato, observou-se um comportamento de fila no buffer mais bem comportado com a aplicação do esquema de controle proposto uma vez que foram obtidas médias e a variâncias menores para a taxa de ocupação do buffer. A utilização do enlace, após aplicação do controle proposto, no entanto, é ligeiramente reduzida em todos os nós (em no máximo 11, 89% no caso do Nó 1) devido a habilidade do esquema de controle em limitar a taxa da fonte controlável em favor da fonte não-controlável.

Conforme mencionado na seção 2, é possível implementar modelos fuzzy (e consequentemente o esquema de controle proposto neste trabalho) diretamente em DSPs ou FPGAs. Assim, não trataremos neste artigo de questões relacionadas ao custo computacional dos esquemas de controle visto que os mesmos podem ser implementados em hardware para aplicações em tempo real.

7 CONCLUSÕES

No presente trabalho introduzimos um novo esquema de controle não-linear de fluxos de tráfego. Para tal, desenvolvem os um algoritmo de treinamento adaptativo para um modelo preditivo fuzzy do tipo TSK. A estratégia do controle de congestionamento proposto consiste em prever o comportamento do sistema, mais especi camente, o tamanho da fila no buffer, e em seguida, com os parâmetros obtidos na predição, controlar a taxa da fonte controlável de tal forma que a variância do tamanho da fila seja mínima possível. Na primeira etapa do processo de predição, com a aplicação de um algoritmo de treinamento com reset da matriz de covariância, os agrupamentos (clusters) fuzzy e os parâmetros do modelo nebuloso são obtidos de uma forma adaptativa. Na segunda etapa, um algoritmo de re namento baseado no algoritmo de gradiente descendente é usado, obtendo predições precisas de tráfego de redes.

Análises comparativas entre o preditor fuzzy TSK proposto e outros preditores adaptativos mostraram que a aplicação da lógica fuzzy na modelagem de fluxos de tráfego proporcionou ganhos de desempenho de predição e resultados expressivos com relação a medidas de erro analisadas (EQM, EQMN1 e EQMN2).

Em seguida, avaliamos o esquema de controle de congestionamento proposto em um cenário de rede com traços de tráfego real. Os resultados das simulações mostraram que o método proposto apresentou, entre os métodos de controle analisados, melhores resultados de desempenho, tais como, taxa de perda de byte nula e uma menor variância do tamanho da fila no buffer em função de um pequeno decremento da utilização do enlace.

Verificou-se que a aplicação do esquema de controle proposto garante que o processo de fila no buffer não ultrapasse o valor estipulado. Com isso, é possível se obter ao mesmo tempo um retardo máximo e taxa de perda nula para os fluxos, ou seja, se garante alguns parâmetros de qualidade de serviço aos fluxos de tráfego. Várias aplicações em redes atuais podem se beneficiar desses resultados, como tráfego de vídeo, voz sobre IP, etc (Hong et al., 2001; Baldi and Ofek, 2000). En m, o algoritmo de controle preditivo adaptativo baseado no modelo fuzzy proposto é uma ferramenta promissora em situações reais para controle adaptativo dos fluxos de tráfego com garantia de QoS.

8 APÊNDICES

O vetor de parâmetros das partes consequentes da i-ésima regra para o k-ésimo padrão de treinamento é dado por:

Logo, o vetor dos parâmetros consequentes para o (k + 1)-ésimo padrão de treinamento é:

Note que o vetor (k + 1) pode ser escrito como:

ou

Sabe-se que, da equação (43), . Então, substituindo este resultado em (46), temos que:

Como Pi(k) = (XT (k)Qi(k)X(k))-1, então a matriz de covariância Pi(k + 1) é dada por:

Substituindo na equação (48) temos:

Finalmente, substituindo (49) em (47), pode-se calcular recursivamente o vetor dos parâmetros conseqüentes pela seguinte equação:

O vetor (k + 1) é calculado utilizando Pi(k + 1), o qual é dado pela equação (49). Entretanto, conforme citado ante-riormente, a inversão matricial de Pi(k) adiciona um custo computacional muito alto. Para solucionar esse problema, aplicamos o teorema da inversão matricial (Haykin, 2001). Dessa forma, a equação (49) correspondente ao cálculo da matriz de covariância Pi(k + 1) que pode ser reescrita como:

onde x(k + 1) é a (k + 1)-ésima linha da matriz X(k) e w(k + 1) é o (k + 1)-ésimo elemento da matriz diagonal Qi(k + 1).

A taxa de controle de tráfego ótima pode ser obtida através da minimização da função custo J(k + d). Para isso, diferenciamos a equação (52) com respeito a μ(k) e obtemos a seguinte igualdade:

O termo em (53) corresponde a derivada da equação (32) em relação a μ(k), o que resulta em:

A equação (53) pode ser resolvida com base nas equações do preditor proposto. Assim, substituindo as equações (54) e (32) na equação (53), obtém-se:

Note que bi(k + d) é dado pela equação (34). Isolando o termo , a equação (34) pode ser reescrita como:

Substituindo (56) em (55), e isolando o termo μ(k), obtemos a taxa ótima de controle para regular a taxa da fonte controlável, dada por:

onde

Artigo submetido em 25/05/2007

1a. Revisão em 17/11/2007

2a. Revisão em 24/02/2008

3a. Revisão em 15/06/2008

Aceito sob recomendação do Editor Associado Prof. Ivan Nunes Da Silva

  • Adas, A. M. (1998). Using adaptive linear prediction to support real-time VBR video under RCBR, IEEE/ACM Trans. Net. 6(5): 635-645.
  • Aikat, J., Kaur, J., Smith, F. D. and Jeffay, K. (2003). Variability in TCP round-trip times, 3rd ACM SIGCOMM Conference on Internet Measurement, Miami Beach, FL, USA, pp. 279 - 284.
  • Assunção, P. A. and Ghanbari, M. (2000). Buffer analysis and control in CBR video transcoding, IEEE Transactions on Circuits and Systems for Video Technology, 10(1): 83-92.
  • Baldi, M. and Ofek, Y. (2000). End-to-end delay analysis of videoconferencing over packet-switched networks, IEEE/ACM Transactions on Networking 8(4): 479 - 492.
  • Banerjee, G., Rosenberry, R. and Sidhu, D. (2000). Performance Analysis of IP Switching and Tag Switching , Lecture Notes in Computer Science - LNCS 1815/2000: 752-762.
  • Barreto, P. S. and Lemos, R. P. (2001). ATM Traf c Prediction Using Arti cial Neural Networks and Wave-let Transforms , Lecture Notes in Computer Science LNCS 2094/2001
  • Basar, S. L. and Srikant, T. R. (2005). Exponential-RED: a stabilizing AQM scheme for low- and high-speed TCP protocols, IEEE/ACM Transactions on Networking 13(5): 1068- 1081.
  • Bianchi, G. R., Vieira, F. H. T. and Lee, L. L. (2004). A Novel Network Traf c Predictor Based on Multifractal Caracteristic, IEEE Globecom, Dallas, Texas, EUA.
  • Boggia, G., Camarda, P., Grieco, L. A. and Mascolo, S. (2007). Feedback-based control for providing real-time services with the 802.11e MAC, IEEE/ACM Transactions on Networking 15(2): 323-333.
  • Bortolossi, H. J. (2002). Cálculo Diferencial a Várias Variáveis - Uma Introduçao A Teoria de Otimizaçao , Loyola.
  • Chen, B., Liu, X. and Tong, S. (2007). Adaptive Fuzzy Output Tracking Control of MIMO Nonlinear Uncertain Systems, IEEE Transactions on Fuzzy Systems 15(2): 287 - 300.
  • Chen, B. S., Peng, S. C. and Wang, K. C. (2000). Traf c Modeling, Prediction and Congestion Control for High-Speed Networks: A Fuzzy AR Approach, IEEE Transactions on Fuzzy Systems 8(5): 491-508.
  • Chen, B.-S., Yang, Y. S., Lee, B.-K. and Lee, T.-H. (2003). Fuzzy adaptive predictive ow control of ATM network traf c, IEEE Transactions on Fuzzy Systems 11(4): 568-581.
  • Chen, T. M., Liu, S. S. and Salamam, V. K. (1996). The Available Bit Rate Service for Data in ATM Networks, IEEE Communications Magazine 34(5): 56-58, 63-71.
  • Cherry, S. (2005). Seven myths about voice over IP, IEEE Spectrum 42(3): 52-57.
  • Chong, S., Li, S. Q. and Ghosh, J. (1995). Predictive dynamic bandwidth allocation for ef cient transport of real-time VBR video over ATM, IEEE Journal on Selected Areas in Communications 13(1): 12-23.
  • Dangy, T. D., Molnár, S. and Maricza, I. (2003). Queueing Performance Estimation for General Multifractal Trafic, Internartional Journal of Communication Systems 16: 117-136.
  • Ditze, M. and Jahnich, I. (2005). Towards end-to-end QoS in service oriented architectures, IEEE International Conference on Industrial Informatics INDIN '05, pp. 92 - 97.
  • Durresi, A., Sridharan, M. and Jain, R. (2006). Congestion control using adaptive multilevel early congestion notification, International Journal of High performance Computing and Networking 4(5).
  • Gevros, P., Crowcroft, J., Kirstein, P. and Bhatti, S. (2001). Congestion Control Mechanisms and the Best Effort Service Model, IEEE Network 15: 16-26.
  • Habib, I. W. and Saadawi, T. N. (1992). Access Flow Control Algorithms in Broadband Networks, Military Communications Conference 1: 252-256.
  • Hatano, T., Shigeno, H. and Okada, K. (2007). TCP-friendly Congestion Control for HighSpeed Network, IEEE International Symposium on Applications and the Internet (SAINT), pp. 10-14.
  • Haykin, S. (2001). Adaptive Filter Theory, 4 edn, Prentice Hall.
  • Hong, D. P., Albuquerque, C., C.Oliveira and Suda, T. (2001). Evaluating the impact of emerging streaming media applications on TCP/IP performance, IEEE Communications Magazine 39(4): 76-82.
  • Hu, R. Q. and Petr, D. W. (2000). A Predictive Self-tuning Fuzzy-logic Feedback Rate Controller, IEEE/ACM Transactions on Networking 8(6): 697-709.
  • Iliev, B., Kalaykov, B. and R.Tero (2000). DSP-Based Fast Fuzzy Logic Controllers, http://focus.ti.com/pdfs/univ/04-Control.pdf
  • Imer, O. C., Compans, S., Basar, T. and Srikant, R. (2001). Available bit rate congestion control in ATM networks: developing explicit rate control algorithms, IEEE Control Systems Magazine 21(1): 38-56.
  • Jacobson, V. (1995). Congestion Avoidance and Control, ACM SIGCOMM Computer Communication Review 25: 157-187.
  • Juang, C.-F., Chen, J.-S. and Huang, H.-J. (2004). Temperature control by hardware implemented recurrent fuzzy controller, IEEE International Conference on Fuzzy Systems, Budapeste, Hungria, pp. 795 - 799.
  • Karnik, A. and Kumar, A. (2005). Performance of TCP congestion control with explicit rate feedback, Networking, IEEE/ACM Transactions on 13(1): 108-120.
  • Kharaajoo, M. J. (2004). A Novel High Performance Fuzzy Controller Applied to Traf c Control of ATM Networks, Vol. 3066, Springer Berlin / Heidelberg, pp. 327-333.
  • Lee, I. W. C. and Fapojuwo, A. O. (2005). Stochastic processes for computer network trafic modeling, Computer Communications 29: 1-23.
  • Lee, T.-J. and Veciana, G. D. (2000). Model and performance evaluation for multiservice network link supporting ABR and CBR services, IEEE Communications Letters 4(11): 375 - 377.
  • Nejad, H. V., Yaghmaee, M. H. and Tabatabaee, H. (2006). Fuzzy TCP: Optimizing TCP Congestion Control, Asia-Pacific Conference on Communications (APCC '06)., pp. 1- 5.
  • Ouyang, C.-S., Lee, W.-J. and Lee, S.-J. (2005). A TSK-type neurofuzzy network approach to system modeling problems, IEEE Transactions on Systems, Man and Cybernetics, Part B 35(4): 751-767.
  • Papoulis, A. (2002). Probability, Random Variables and Stochastic Processes, fourth edn, McGraw-Hill, New York.
  • Perlingeiro, F. R. and Ling, L. L. (2005). Estudo de estimação de banda efetiva para tráfego auto-similar com varância infinita, Simpósio Brasileiro de Telecomunicações, Campinas, pp. 326-331.
  • Pitsillides, A. and Lembert, J. (1997). Adaptive congestion control in ATM based network: quality of service and high utilization, Computer Communications 20: 1239- 1258.
  • Ramakrishnan, K. K. and Jain, R. (1990). A binary feedback scheme for congestion avoidance in computer networks, ACM Transactions on Computer Systems 8(2): 158 - 181.
  • Sugeno, M. and Yasukawa, T. (1993). A Fuzzy-Logic-Based Approach to Qualitative Modeling, IEEE Trans. Fuzzy Systems 1: 7-31.
  • Surmann, H., Ungering, A. and Goser, K. (2006). Optimized fuzzy controller architecture for eld programmable gate arrays, Lecture Notes in Computer Science.
  • Takagi, T. and Sugeno, M. (1985). Fuzzy Identification of Systems and Its Applications to Modeling and Control, IEEE Trans. Syst. Man and Cybernetics SMC-15: 116- 132.
  • Toreyin, B. U., Trocan, M. and Cetin, A. E. (2006). LMS based adaptive prediction for scalable video coding, ICASSP, Toulouse, France.
  • Vieira, F. H. T. and Lee, L. L. (2003). Alocação Dinâmica de Taxa de Transmissão em Redes de Pacotes Utilizando Redes Neurais Recorrentes Treinadas com Algoritmos em Tempo Real, IEEE Latin America 1
  • Wang, C., Liu, J., Sohraby, K. and Hou, Y. (2007). LRED: A Robust and Responsive AQM Algorithm Using Packet Loss Ratio Measurement, Parallel and Distributed Systems, IEEE Transactions on 18(1): 29-43.
  • Wang, F., Yang, H., Qiao, Z. and Wang, X. (2006). Adaptive AQM Scheme of Internet Congestion Control Systems, The Sixth World Congress on Intelligent Control and Automation WCICA 2006., pp. 4475 - 4478.
  • Wenshan, H., P.Liu, G. and Rees, D. (2006). Design and implementation of networked predictive control systems based on round trip time delay measurement, American Control Conference
  • Zhang, H., Yang, M., Yang, O. W. and Mouftah, H. (2000). Design of proportional congestion control for high-speed network swith variable delays, IEEE International Conference on Communications ICC, New Orleans, LA, USA, pp. 1435 - 1439.

Apêndice A

Apêndice B

do tamanho da fila no

Sendo a estimativa do tamanho da fila no buffer dada pelo preditor nebuloso proposto equivalente ao valor esperado para o tamanho da fila no buffer d passos à frente b(k + d), podemos escrever a função custo (31) da seguinte forma:

  • 1
  • 2
  • Datas de Publicação

    • Publicação nesta coleção
      29 Out 2008
    • Data do Fascículo
      Set 2008

    Histórico

    • Aceito
      15 Jun 2008
    • Recebido
      25 Maio 2007
    Sociedade Brasileira de Automática Secretaria da SBA, FEEC - Unicamp, BLOCO B - LE51, Av. Albert Einstein, 400, Cidade Universitária Zeferino Vaz, Distrito de Barão Geraldo, 13083-852 - Campinas - SP - Brasil, Tel.: (55 19) 3521 3824, Fax: (55 19) 3521 3866 - Campinas - SP - Brazil
    E-mail: revista_sba@fee.unicamp.br