Modelo Referencial MAPE-K com Uso de …endler/courses/Mobile/Monografias/...proposta, descrevendo...
Transcript of Modelo Referencial MAPE-K com Uso de …endler/courses/Mobile/Monografias/...proposta, descrevendo...
Modelo Referencial MAPE-K com Uso deAprendizagem Estatística
André de Souza Moreira
Pontifícia Universidade Católica do Rio de Janeiro, RJ, Brasil
1 Introdução
Ao longo dos anos, sistemas de software cresceram em complexidade e passaram a ser cada
vez mais utilizados em ambientes dinâmicos, portanto sem conhecimento prévio da configuração do
meio de forma exata. No contexto dos sistemas ULS (Ultra-Large-Scale) [1], há uma necessidade
crescente de fazê-los mais versáteis, flexíveis, resilientes, tolerantes à falha, robusto, disponíveis,
configuráveis, entre outros. Estes tópicos motivaram o estudo de sistemas autônomos.
O termo “computação autônoma” foi primeiramente introduzido pela IBM [4]. Apesar disso,
projetos anteriores à este trabalho já exploravam os mesmos objetivos destes campo de pesquisa. Tais
sistemas apresentam a característica de mutabilidade ao passo que o ambiente também apresenta
mudanças, podendo assim cumprir com a tarefa ao qual o sistema foi designado. É desejável que esta
adaptação ocorra em tempo de execução e com a menor necessidade, ou se possível nenhuma, de
interferência humana no processo.
Visando atingir tais objetivos, a IBM publicou em [2] um modelo para desenvolvimento de
sistemas autônomos, conhecido como MAPE-K. Este modelo engloba as fases de Monitoramento,
Análise, Planejamento, Execução; tais etapas compartilham uma base de conhecimento na qual é
fundamental para a tomada de decisões. Este modelo foi utilizado pela comunidade científica para a
elaboração ou refinamento de sistemas autônomos em diversos contexto. Contudo, as pesquisas já
elaboradas que utilizam o modelo MAPE-K concentram-se esforços somente nas fases de
Monitoramento e Análise, deixando em aberto diversas questões das outras etapas, em especial da fase
de Planejamento, visto que a fase de Execução é bem específica ao contexto em que o sistema vai ser
empregado.
Portanto, este trabalho propõe uma abordagem de sistema autônomo baseada no modelo
MAPE-K, na qual são empregados técnicas de aprendizagem de máquina para servir de suporte à esta
fase. Em especial, a contribuição deste trabalho reside na utilização de lógica fuzzy na fase de Análise,
permitindo assim que o sistema obtenha melhores resultados quando eventos inesperados são gerados
ou até mesmo em casos onde existam ambiguidades nas ontologias que regem o comportamento do
sistema.
Outra contribuição consiste na utilização de regressores na fase de Planejamento. Dessa
forma, é possível antecipar com mais precisão quais serão as consequências de uma dada ação e,
assim, pode-se refinar e escolher com mais precisão a(s) ação(ões) à ser(em) aplicada(s) ao sistema.
Por último, é apresentado uma modelagem de um cenário de servidores web utilizando o modelo de
computação autônoma proposto.
As próximas seções estão organizadas da seguinte forma: No Capítulo 2 são apresentados
duas propostas de extensão do modelo de computação autônoma com utilização do MAPE-K. No
Capítulo 3 é feita uma breve apresentação de tópicos teóricos que servirão como base para o
desenvolvimento da metodologia proposta neste trabalho. Já o Capítulo 4 apresenta a metodologia
proposta, descrevendo cada uma das etapas do modelo MAPE-K e a respectiva utilização de técnicas
de aprendizagem de máquina neste modelo. Em seguida, no Capítulo 5, é apresentado um caso de uso
do modelo proposto em um cenário de um servidor web. Por fim, no Capítulo 6, são feitas as
considerações finais deste trabalho.
2 Trabalhos Relacionados
Dentre os trabalhos de computação autônoma que utilizam o modelo MAPE-K como base,
vale destacar dois trabalhos que propõe uma extensão desse modelo para melhor se adequar às
necessidades do sistema. Em [5] é feita uma discussão acerca da modelagem de um projeto, o
MODELPLEX [6], de computação autônoma com base no modelo MAPE-K. Contudo, tal trabalho dá
ênfase apenas nas fases de Monitoramento e Análise e o mesmo deixa claro que este ainda é um
trabalho parcial, que fora escritor conforme o projeto MODELPLEX está em fase de desenvolvimento.
Neste trabalhos, os autores fazem uso da plataforma IBM WebSphere® Business Events como uma
engine de regras, visto que ela pode atuar como CEP (Complex Event Processing) na fase de
monitoramento. Além disso, este trabalho foca mais na modelagem UML de um sistema já existente de
forma a utilizar o MAPE-K como modelo de sistema autônomo.
Em [7] é apresentada uma abordagem para análise de tempo de execução e gerenciamento
automático de sistemas baseado em conhecimento, no caso o MAPE-K. Assim como o trabalho
anterior, este trabalho estende a fase de monitoramento utilizando CEP. O autor defende que a
complexidade de reasonings combinados em ontologias OWL1 é um problema NP-Completo, o que
torna inviável para o gerenciamento de tempo de execução. Dessa forma, os eventos gerados no
sistema são classificados em baixa frequência e alta frequência, onde para cada um há um tratamento
1 Web Ontology Language
diferente.
No caso de dados de baixa frequência, os dados são adicionados diretamente na ontologia e
assim o reasoning é disparado. Já para os dados de alta frequência, os eventos são utilizados como
entrada para a engine de CEP (Figura 1). Por fim, o autor demonstra a solução apresentada aplicada em
um exemplo de sistema de controle de tráfego aéreo.
Portanto, os dois trabalhos seguem na mesma linha de introduzir uma engine de CEP para
auxiliar na fase de monitoramento do modelo MAPE-K. Esta abordagem é valorosa, em especial
quando utilizada em sistemas com eventos complexos e de alta frequência. Contudo, tais pesquisas não
concentram-se em explorar os problemas e solução envolvidos na fase de planejamento. Portanto, essa
ausência indica uma necessidade no estudo não só da fase de planejamento, mas bem como o seu papel
de acordo com os resultados produzidos pela etapa de monitoramento.
3 Fundamentação Teórica
1. Modelo MAPE-K
O MAPE-K consiste em um modelo de computação autônoma desenvolvido pela IBM [2].
Esse modelo é composto pelas fases de monitoramento, análise, planejamento e execução; em
conjunto com uma base de conhecimento (Figura 2).
Figura 1: Fluxo de dados entre os componentes de um sistema de gerenciamento
Abaixo, seguem as atribuições de cada uma das etapas do modelo MAPE-K:
Monitoramento
• Responsável por coletar detalhes do elemento gerenciado. Ex: métricas, configurações, entre
outros. Nesta fase são realizados observações a fim de identificar inconformidades que
indiquem a necessidade de ser feita uma análise.
Análise
• Realiza análise de dados complexos e reasoning nos sintomas fornecidos pela etapa de
monitoramento. Se for necessários realizar mudanças, uma requisição de mudanças é enviada
para a etapa de planejamento.
Planejamento
• Estrutura as ações necessárias para que os objetivos do sistema sejam atingidos. Esta etapa cria
ou seleciona um procedimento para a realização de uma mudança desejada no elemento
gerenciado.
Execução
• Altera o comportamento do elemento gerenciado. Para tal, faz uso dos atuadores, utilizando
como base as ações recomendadas pela etapa de planejamento.
Base de Conhecimento
• Dados compartilhados entre as fases de monitoramento, análise, planejamento e execução. As
informações contidas nessa base são dos mais variados tipos, desde configurações , métricas,
logs, entre outros. Essa base de conhecimento pode e deve ser constantemente atualizada
durante a vida do sistema.
Figura 2: Fases do modelo de Referência para computação autônoma da IBM.
O elemento autônomo consiste de um recurso gerenciado e de um gestor autônomo com o
feedback loop do MAPE-K. O recurso gerenciado representa qualquer software ou hardware no qual é
dado um comportamento autônomo através do acoplamento com um gestor autônomo. Portanto, o
elemento gerenciado pode ser desde um servidor web à um comente de software específico de uma
aplicação (exemplo: um otimizador de consultas de banco de dados), entre outros.
O elemento gerenciado deve dispor tanto sensores e atuadores para que este possa ser
gerenciado. Sensores são utilizados para a coleta de informação acerca do elemento gerenciado. Em
um servidor web, por exemplo, um sensor poderia estar relacionado com o tempo de resposta para um
cliente ou então a utilização de recursos, tais quais a Memória, HD, entre outros. Já os atuadores são os
responsáveis por realizar mudanças no elemento gerenciado.
2. Lógica Fuzzy
A lógica fuzzy é o conhecimento baseado na teoria dos conjuntos fuzzy. Nesta lógica, o
raciocínio exato corresponde a um caso limite do raciocínio aproximado, sendo interpretado como um
processo de composição de relações nebulosas. Segundo Earl [3], o que diferencia a lógica fuzzy da
lógica booleana é a capacidade desta de se aproximar do mundo real, onde não existe somente
respostas concretas. A lógica fuzzy da espaço ao meio termo apresentando ainda a possibilidade de
mensurar o grau de aproximação da solução exata e assim inferir algo que seja necessário. Esses
algoritmos são amplamente utilizados atualmente em diversas áreas como: robótica, automação de
linhas de produção, simulações financeiras entre outras.
Quando um determinado problema apresenta um grande grau de incerteza é necessário que
para solução deste se utilize um modelo matemático que contemple essa especificidade e não
desconsidere aspectos que possam ser ignorados na aplicação de lógicas tradicionais. Como afirma
Earl [3], para esses casos a lógica fuzzy é amplamente recomendada pois apresenta um modelo capaz
de combinar a imprecisão associada aos eventos naturais e o poder computacional das máquinas
produzindo assim sistemas de respostas inteligentes.
Nos sistemas lógicos binários, os predicados são exatos, enquanto que na lógica fuzzy os
predicados não são precisos (ex. : alto, baixo, quente, frio). Nos sistemas lógicos tradicionais, o
operador mais utilizado é a negação, já na lógica fuzzy uma variedade de operadores de predicados são
possíveis (ex. : muito, mais ou menos, pouco).
Para expressar conceitos é muito comum o uso de elementos qualitativos ao invés de valores
quantitativos. Elementos típicos incluem "mais ou menos", "alto", "não muitos", "médio", etc. Estas
ideias são capturadas pela definição de variável linguística. O sistema lógico fuzzy consiste em três
operações básicas:
Na primeira etapa, Fuzzificação, o problema é analisado e os dados de entrada são
transformados em variáveis linguísticas. Uma variável linguística tem por característica assumir
valores dentro de um conjunto de termos linguísticos, ou seja, palavras ou frases. Assim, ao invés de
assumir instâncias numéricas, uma variável linguística assume instâncias linguísticas. Por exemplo,
uma variável linguística Temperatura poderá assumir como valor um dos membros do conjunto {baixa,
média, alta}. Para se atribuir um significado aos termos linguísticos, associa-se cada um destes a um
conjunto fuzzy definido sobre um universo de discurso comum, conforme a figura abaixo:
A forma mais comum de expressar o conhecimento é por meio de regras do tipo condição-
ação. Regras do tipo se-então são frequentemente chamadas de declarações condicionais fuzzy ou
simplesmente regras fuzzy.
Após a fuzzificação, é o momento em que serão criadas as regras ou proposições através da
associação das variáveis já criadas. Nesta etapa, as proposições são geradas do relacionamento entre as
variáveis do modelo e a região Fuzzy. Esta fase do sistema lógico fuzzy pode ser dividido em dois
componentes: agregação e composição. A agregação corresponde à parcela “se” da regra, tal parcela
define a validade de uma regra para o caso estudado. Já a composição corresponde à parcela “então”,
Figura 3: Sistema lógico fuzzy
Figura 4 Variável Linguística Temperatura
tal parcela define o resultado obtido após feita a inferência.
Por fim, a desfuzzificação é a etapa em que os valores fuzzy são convertidos em números reais
tendo assim um conjunto de saída matematicamente definido. Existem algumas diferentes técnicas de
desfuzzificação presentes nas literaturas: centróide, First-of-Maxima, Middle-of-Maxima, Critério
Máximo.
3. Regressores
Modelos de regressão são modelos matemáticos que possibilitam relacionar o comportamento
entre variáveis aleatórias. Dado que a função seja do tipo f(X) = aX + b, X é a variável independente e
y = f(X) é a variável dependente. O modelo de regressão é chamado de multivariado quando envolve
uma relação causal com mais de duas variáveis, ou seja, quando o comportamento de y é dependente
de duas ou mais variável independe X1, X2, …, Xn.
O relacionamento entre as duas variáveis poderá ser do tipo linear ou não linear. No primeiro,
o relacionamento é representado por uma equação da linha ou hiper plano, enquanto que no
relacionamento não linear, esta representação é feita através de funções mais complexas, entre elas:
exponencial, geométrica, entre outros.
Os regressores são muito importantes na predição de fatos futuros de acordo com observações
feitas no passado. Assim, pode-se estimar a população de um local nos próximos anos de acordo com a
taxa de crescimento populacional observada nos anos anteriores.
Ao se plotar num gráfico cartesiano os pares de informação referente a cada observação
obtemos uma “nuvem” de pontos definidos pelas coordenadas x e y de cada ponto. Essa nuvem, por
sua vez, definirá um eixo ou direção que caracterizará o padrão de relacionamento entre X e Y. A
relação entre as variáveis é chamada de direta (ou positiva) quando os valores de Y aumentarem em
decorrência da elevação dos valores de X . Já a relação inversa (ou negativa) ocorre quando os valores
de Y variam de forma inversa aos valores de X. A figura abaixo demonstra a a relação entre duas
variáveis: peso e altura.
Ainda utilizando como base a Figura 5, os pontos plotados no diagrama representam
observações feitas sobre as duas variáveis. Assim, deseja-se encontrar a função (neste caso, uma reta)
que melhor descreve o comportamento entre as duas variáveis. Um método bastante simples e
amplamente utilizado consiste no Mínimos Quadrados, o qual considera os desvios dos Yi de seu
valor esperado:
ξi = Yi – (β0 + β1 Xi )
O método dos mínimos quadrados considera a soma dos n desvios quadrados, denotado por Q:
Q=∑i=1
n
[Y i−β0−β1 X i ]2
Portanto, para a obtenção da melhor y=f(x) que descreve a relação entre as duas variáveis X e
Y, busca-se os valores de β0 e β1 que minimizem o valor de Q.
4 Metodologia Proposta
Na computação autônoma, visa-se a construção de sistemas que sejam capazes de adaptar-se à
diversas situações, a fim de que sua funcionalidade seja preservada e o objetivo final seja atingido.
Neste contexto, outros fatores são de grande importância, tais como a Quality of Service (QoS) e
Service Level Agreements (SLAs). Assim, é importante que os indicadores baseados em SLI (Service
Level Indicators) sejam alcançados, tais como tolerância à falhas e tempo máximo para entrega de um
serviço.
Esses indicadores podem ser avaliados através da utilização de ontologias. A ontologia
possibilita definir a semântica dos dados, derivar novos conhecimentos a partir de fatos e operadores
lógicos, assim pode-se empregar um reasoner visando a validação das regras criadas. Contudo, a
utilização de ontologias para análise em tempo de execução tem se mostrado eficiente em sistemas
pequenos [8][9], o que nem sempre é o caso, visto que cada vez mais os sistemas são maiores e mais
complexos.
Figura 5: Diagrama de dispersão das variáveis altura (X) e peso (Y).
O primeiro problema reside no fato de que é bastante comum a combinação de ontologias em
sistemas grandes e complexos. No entanto, o reasoning em ontologias complexas consiste em um
problema NP-completo [10]. Assim, torna-se inviável a utilização dessa abordagem, uma vez que é de
grande importância para computação autônoma que o gerenciamento dos indicadores seja realizado em
tempo real. Visando superar este problema, alguns trabalhos [5][7] propuseram a divisão dos eventos
do sistema em duas categorias: alta frequência e baixa frequência. Os eventos de baixa frequência,
aqueles que ocorrem em menor quantidade, são validados pelos modelos de ontologias. Por outro lado,
os eventos de alta frequência são direcionados para uma engine CEP (Complex Event Processing).
Desta forma, este trabalho propõe utilizar-se deste mesmo mecanismo para a fase de Análise
do MAPE-K, pois além de processar esses eventos em tempo real, a engine de CEP traz consigo a
vantagem de fácil adaptação no modelo MAPE-K, visto que as fases de monitoramento e análise são
inerentes de uma engine CEP.
O segundo problema consiste na dificuldade de criação de modelos de ontologias que sejam
capazes de descrever todos os possíveis cenários ao qual o sistema será submetido. Visto que deseja-se
que o sistema mude conforme ocorram mudanças no cenário onde o sistema atua, é necessário que
regras sejam modeladas para cada um dos possíveis cenários. Prever e modelar todos estes cenários
configura-se em uma extensa tarefa que requer atenção, pois requer que o maior número de casos
possíveis sejam previstos e, além disso, que regras sejam definidas a fim de reger o comportamento do
sistema em cada um desses casos.
Além disso, nem sempre é fácil estabelecer comportamentos precisos e ao mesmo tempo
genérico, exemplo: dado que necessita-se criar uma regra para evitar sobrecarga do disco rígido, qual a
taxa de transferência a ser considerada como alta? Sabe-se que a taxa de transferência dos discos SSD
é superior que a taxa dos discos SATA, que por sua vez é maior que dispositivos flash portáteis.
Portanto, esta é uma fase crítica, pois a ausência de regras ou até mesmo ambiguidades entre elas
podem gerar ações errôneas que resultam em agravamentos do cenário adverso.
Portanto, além dos modelos ontológicos e engine CEP, o emprego de reasonings baseados em
lógica fuzzy resolve os problemas listados no parágrafo anterior. A utilização de variáveis categóricas
para a descrição do modelo traz diversas vantagens, tal como a utilização de um modelo genérico,
onde basta utilizar-se de novas observações para que este seja portado para outro ambiente. Utilizando
o mesmo exemplo dos discos rígidos, a variável “taxa de transferência” com a propriedade “alta” pode
ser utilizada em qualquer um dos contextos, necessitando apenas a fuzzificação do modelo com as
observações da taxa de transferência de cada um dos discos. A capacidade de adaptar-se a diferentes
contextos também é importante quando os cenários onde o sistema atua mudam ao longo do tempo:
por exemplo, a taxa de transferência do disco novo é superior quando comparado à um disco já
utilizado por mais tempo. Por fim, é mais natural para o ser humano definir regras utilizando dados
categóricos do que dados brutos.
Logo, a fase de Análise consiste em agregar as informações processadas tanto pelos modelos
ontológicos, engine de CEP e modelos fuzzy (Error: Reference source not found). Essa agregação é
então utilizada como entrada para a fase de Planejamento. Tal agregação enriquece a análise dos dados
obtidos, já que dependendo do sistema, a fase de monitoramento adquire dados dos mais diversos
tipos, onde a validação de alguns deles é mais apropriada utilizando a representação de classes,
propriedades e relacionamentos, sendo assim mais factível para ontologias; enquanto que a análise de
dados numéricos é mais factível quando utilizado modelos matemáticos.
Uma vez que a fase de Planejamento é responsável por estruturar quais ações devem ser
tomadas a fim de que o sistema produza os resultados esperados, é de grande importância também
adotar modelos baseados em experiência para guiar quais são as melhores ações a serem tomadas em
um dado cenário, bem como a organização dessas ações. Portanto, um modelo baseado em regressão
cumpre tal requisito, apresentando a mesma característica de mutabilidade também observada nos
modelos fuzzy. Dessa forma, conforme o recurso gerenciado for mudando ao longo do tempo, o
modelo adapta-se à essa nova condição, sem a necessidade de intervenção humana.
Na Figura 7 é possível ver detalhadamente os processos envolvidos na etapa de Planejamento.
A entrada dessa fase é oriunda da fase de análise e esta entrada será utilizada para obter as melhores
ações (x) a serem realizadas para que os indicadores desejáveis sejam alcançados. Esse conjunto de
ações x será a entrada da etapa de execução. Uma vez que tais ações foram adotadas, observa-se os
resultados produzidos no sistema. De posse tanto do resultado esperado e do resultado observado, a
Figura 6: Fluxograma das ações realizadas na etapa de Análise do modelo MAPE-K.
experiência, chamada de F(x), é introduzida na base de conhecimento e o regressor adapta-se em
seguida à experiência produzida.
Outra vantagem dos regressores consiste na rápida predição das consequências futuras de um
conjunto de ações, uma vez que basta aplicar a função F(x). Portanto, a utilização de regressores não
irá penalizar o desempenho de sistemas em tempo real. Por último, uma grande vantagem
proporcionada pelos regressores está na previsibilidade das consequências das ações. Portanto, além de
ser possível fazer melhores escolhas de ações, a previsibilidade permite que o sistema antecipe
situações futuras decorrentes de ações do presente, podendo assim já atuar de antemão, antes mesmo
da consequência acontecer. Isso é de grande utilidade quando não existe um conjunto de ações
adequadas que possa ser executado em uma única etapa.
Dessa forma, o grande diferencial da abordagem proposta reside na introdução de mutabilidade
e adaptação nas fases de Análise e Planejamento. Este trabalho defende a ideia de que para gerenciar
um recurso que seja mutável à diferentes cenários, bem como mudanças temporais, é necessário que o
próprio modelo que descreva tais ações também seja mutável de acordo com o cenário.
5 Caso de Uso
Esta seção descreve brevemente um caso de uso da abordagem proposta para o gerenciamento
de um servidor web hipotético para o serviço de streaming. Dessa forma, o caso de uso a ser
apresentado consiste na avaliação do QoS do servidor web baseado na latência da conexão. Diversos
eventos em um servidor web podem interferir diretamente na qualidade da transmissão dos dados, mas
iremos simplificar para fins didáticos.
O referido servidor requer a autenticação do usuário para liberar o acesso ao canal de
streaming. Essa autenticação é requerida apenas uma vez, visto que a transmissão de dados é realizada
sob uma conexão persistente. O primeiro aspecto a ser monitorado consiste nas tentativas de
autenticação dos usuários, a fim de minimizar a ocorrências de DDoS (Distributed Denial-of-Service)
Figura 7: Ações executadas na fase de Planejamento com base no modelo MAPE-K
e, consequentemente, manter a qualidade da transmissão. Como a autenticação não é um evento
demasiadamente frequente sob condições normais, tais eventos podem ser processados utilizando as
ontologias definidas no sistema. Sabe-se que em caso de ataque DDoS, este evento terá frequência alta,
porém espera-se que o mesmo não venha ocorrer, pois o objetivo do sistema consiste em justamente
antecipar tais situações a fim de evitá-las. Um modelo simples que rege o processo de autenticação de
usuário a fim de evitar ataques DDoS, consiste na identificação de usuários que, a partir do mesmo
endereço IP, fazem diversas tentativas de autenticação sem sucesso. Caso este evento seja identificado,
a etapa de Planejamento é então diretamente acionada.
A taxa de pacotes perdidos consiste em outro indicativo de queda da qualidade do sinal. Dado
que este evento tende a ser mais frequente, uma vez que há maior fluxo de pacotes trafegando pela
rede do que usuários tentando autenticar-se, este evento será processado pela engine de CEP. Uma
regra simples para nossos objetivos consiste na observação da quantidade de pacotes perdidos para
uma quantidade de usuários diferentes. Exemplo: se os últimos x usuários tiveram ao menos y pacotes
perdidos.
Por fim, como resultado do processo de fuzzificação e das experiências anteriores em outros
servidores, obtém-se o seguinte modelo fuzzy composto por duas variáveis (Figura 8): probabilidade
de ataque DDoS (por exemplo a métrica apresentada em [11] ) e razão de pacotes perdidos por
usuários. Assim, tenta-se inferir a probabilidade da latência estar alta devido à falta de recursos.
A base de conhecimento do modelo fuzzy é composta por três regras:
• Se a probabilidade de ataque DDoS é alta e a taxa de pacotes perdidos é baixa, então latência é
Figura 8: Etapa de fuzzificação para a avaliação da qualidade do sinal de um servidor web hipotético
média.
• Se a probabilidade de ataque DDoS é baixa e a taxa de pacotes perdidos é alta, então latência é
alta.
• Se a probabilidade de ataque DDoS é baixa e a taxa de pacotes perdidos é baixa, então latência
é baixa.
• Depois da etapa de desfuzzificação, caso a probabilidade da latência esteja maior que um
limiar, a etapa de Planejamento é então requisitada.
Dessa forma, vale destacar que até então há dois principais casos considerados que resultam
no aumento da latência: ataque DdoS e falta de recurso para atender a demanda. No primeiro caso, a
simples e direta negação/bloqueio dos usuários identificados é adotada na fase de Planejamento. Já o
segundo caso será contornado através da utilização de uma fila de prioridade. Assim, em um dado
momento, somente uma parcela de usuários será atendida.
Supondo que o serviço é disponibilizado para usuários comum e premium, onde esse último é
formado pelo grupo de pessoas assinantes do serviço, um regressor é estabelecido para modelar o
impacto nas finanças da empresa devido à negação do serviço. Vale frisar que apesar dos usuários
comuns não pagarem pelo serviço, o sistema exibe propagandas para este grupo, sendo assim também
fonte de renda de forma indireta.
O regressor utilizado é uma função multivariada do tipo y = f(X,Z) (Figura 9), onde y é a
probabilidade da decisão estar impactando negativamente as finanças por ter negado o serviço para X e
Z usuários premium e comuns, respectivamente.
Portanto, visa-se utilizar o modelo de regressão para priorizar certos usuários, diminuindo
assim a latência por falta de recursos computacionais, de tal forma que o impacto financeiro pela
configuração adotada seja o menor possível. Uma vez que sabe-se a priori quantos usuários ficaram na
fila de espera pelo recurso, é possível prever o impacto futuro que a decisão ocasionará no sistema.
Assim, podemos já de antemão priorizar alguns dos usuários que estão na fila, para que o mesmo
esteja sejam os próximos a utilizarem o recurso assim que disponível. Ao final de um ciclo de
pagamento, pode-se introduzir a experiência produzida na base de conhecimento. Dessa forma, o
regressor utilizado irá absorver tal experiência e esta servirá como base para decisões futuras.
6 Conclusão
É inegável a importância da computação autônoma nos sistemas atuais, especialmente à
medida que esses sistemas tornam-se complexos e desempenham atividades críticas. Portanto, o
modelo MAPE-K tem sido fundamental para nortear a modelagem desses sistemas.
Contudo, para que tais sistemas atuem de forma autônoma conforme as mudanças que
ocorrem no ambiente, diversos sistemas autônomos têm feito uso de ontologias para modelar as
diferentes configurações possíveis em que o sistema poderá ser submetido. Por outro lado, nem sempre
é possível prever todos os cenários ao qual o sistema estará sujeito. Neste caso, a ação a ser executada
pelo sistema será indefinida, devido a ausência de regras que definam o comportamento esperando
diante de tal situação. Dessa forma, o sistema poderá atuar de forma indesejada, tal atuação pode levar
à mudanças que não surtem efeito ou que , no pior caso, acabam agravando o cenário adverso.
A contribuição deste trabalho consiste na utilização de modelos matemáticos para a resolução
Figura 9: Regressor não linear multivariado descrevendo o impacto financeiro oriundo da negação deserviço para grupo de usuários
desses cenários, utilizando como base o modelo de computação autônoma MAPE-K. A lógica fuzzy,
que é caracterizada pela adoção de incerteza, passa a ser empregada na fase de Análise do modelo
MAPE-K para a resolução de eventos onde não existem representação na ontologia, podendo também
atuar em caso onde, para um dado evento, existam regras ambíguas. Outra proposta deste trabalho
consiste no emprego de regressores na fase de Planejamento do modelo MAPE-K, sendo possível
prever o resultado de ações que serão realizadas no sistema, possibilitando o refinamento e a obtenção
de melhores predições sobre como executar uma alteração para que os objetivos do sistema sejam
alcançados.
Defende-se, assim, que a o fator central da computação autônoma está na construção de regras
que definem os mais diversos cenários em que o sistema irá atuar. Porém, tais cenários são, em sua
grande maioria, dinâmicos; sendo assim necessária a intervenção humana para adequação ou criação
de novas regras. Contudo, tal intervenção traz mais custos, mais chances de introduzir erros no
processo e caso a readequação das regras não aconteça em tempo hábil, novos problemas poderão
surgir e os já existentes poderão se agravar. Logo, a utilização de técnicas de aprendizagem de
máquina apresenta-se como uma alternativa à estes problemas, uma vez que tais modelos são flexíveis
com as experiências produzidas ao longo do tempo.
7 Referências
[1]
Northrop, L., Feiler, P., Gabriel, R.P., Goodenough, J., Linger, R., Longstaff, T.,
Kazman, R., Klein, M., Schmidt, D., Sullivan, K., Wallnau, K.: Ultra-Large-Scale
Systems - The Software Challenge of the Future. Tech. rep., Software Engineering
Institute, Carnegie Mellon (June 2006)
[2] IBM. 2003. An architectural blueprint for autonomic computing. Tech. rep., IBM.
[3]COX, Earl. The fuzzy systems handbook: a practitioner’s guide to building, using, and
maintaining fuzzy systems . New York: AP Professional, 1994.
[4]Horn, P. 2001. Autonomic Computing: IBM’s perspective on the state of Information
Technology. IBM Research.
[5]Pickering, Brian, et al. "Model-driven management of complex systems."Technical
Report COMP COMP-005-2008 Lancaster University (2008): 117.
[6]Model-based systems management state of the art, MODELPLEX deliverable D5.1.a,
MODELPLEX project, 2007.
[7] Meyer, Folker, et al. "An approach for knowledge-based IT management of air traffic
control systems." Network and Service Management (CNSM), 2013 9th International
Conference on. IEEE, 2013.
[8]
J. E. L. De Vergara, A. Guerrero, V. A. Villagr a, and J. Berrocal, “Ontology-Based Network Management: Study Cases and Lessons Learned,” Journal of Network and
Systems Management, vol. 17, no. 3, pp. 234–254, September 2009.
[9]
V. A. Villagr and J. E. L. D. Vergara, “Ontologybased policy refinement using swrl
rules for management information definitions,” in OWL. In: Proc. 17th IFIP/IEEE
International Workshop on Distributed Systems, Operations and Management, 2006,
pp. 227–232.
[10]
B. Motik, B. C. Grau, I. Horrocks, Z. W. A. Fokoue, and C. Lutz. (2012) Owl 2 web
ontology language profiles (second edition). [Online]. Available:
http://www.w3.org/TR/owl2-profiles/
[11]
Li, K., Zhou, W., Li, P., Hai, J., & Liu, J. (2009, October). Distinguishing DDoS
attacks from flash crowds using probability metrics. In Network and System Security,
2009. NSS'09. Third International Conference on (pp. 9-17). IEEE.