Vous êtes sur la page 1sur 75

UNIVERSIDADE ESTADUAL DO CEAR

THIAGO QUEIROZ DE OLIVEIRA

MELHORANDO A ESCOLHA DO SERVIDOR DE


RPLICA EM REDE CDN USANDO LGICA FUZZY

FORTALEZA - CEAR

2012
THIAGO QUEIROZ DE OLIVEIRA

MELHORANDO A ESCOLHA DO SERVIDOR DE RPLICA EM REDE CDN


USANDO LGICA FUZZY

Dissertao apresentada no Curso de Mestrado


Acadmico em Cincias da Computao da
Universidade Estadual do Cear, como requi-
sito parcial para obteno do grau de Mestre em
Cincias da Computao.

Orientador: Prof. Dr. Marcial Porto Fernn-


dez

FORTALEZA - CEAR

2012
A000z Oliveira, Thiago Queiroz.
Melhorando a escolha do servidor de rplica em rede CDN
usando Lgica Fuzzy / Thiago Queiroz de Oliveira. Fortaleza,
2012.
74 p.;il.
Orientador: Prof. Dr. Prof. Dr. Marcial Porto Fernndez
Monografia (Mestrado Acadmico em Cincias da Compu-
tao) - Universidade Estadual do Cear, Centro de Cincias e
Tecnologia.
1. CDN 2. Balanceamento de Carga 3. NS-2 4. Algoritmos
Adaptativos 5. Lgica Fuzzy I. Universidade Estadual do Cear,
Centro de Cincias e Tecnologia.

CDD:000.0
THIAGO QUEIROZ DE OLIVEIRA

MELHORANDO A ESCOLHA DO SERVIDOR DE RPLICA EM REDE CDN


USANDO LGICA FUZZY

Dissertao apresentada no Curso de Mestrado


Acadmico em Cincias da Computao da
Universidade Estadual do Cear, como requi-
sito parcial para obteno do grau de Mestre em
Cincias da Computao.

Aprovada em: __/__/____

BANCA EXAMINADORA

Prof. Dr. Marcial Porto Fernndez


Universidade Estadual do Cear UECE
Orientador

Prof. Dr. Gustavo Augusto Lima de Campos


Universidade Estadual do Cear UECE

Prof. Dr. Paulo Andr da Silva Gonalves


Universidade Federal de Pernambuco UFPE
AGRADECIMENTOS

Agradeo primeiramente a DEUS, pela ddiva da vida, e pela espectativa de realizar


mais um sonho.
minha esposa e ao meu filho, por serem minha maior motivao para encarar os
desafios, e pela felicidade que me proporcionam. Aos meus familiares, de forma geral, pelo
apoio e incentivo.
Agradeo tambm aos grandes professores que me ajudaram nessa jornada. Em espe-
cial, professor Marcial, pelos ensinamentos, orientaes e por compartilhar dvidas e espectati-
vas. Aos Professores Celestino, Andr Cardoso e Gustavo Campos, pelo apoio, incentivo e pela
contribuio no aprendizado.
Aos amigos de faculdade Alisson Barbosa, Srgio Vieira, Tiago Carneiro, Silas Santi-
ago pela amizade ao longo desse perodo.
O nico lugar onde o sucesso vem
antes do trabalho no dicionrio.
Albert Einstein
RESUMO

CDN (Content Delivery Network) um grande sistema distribudo de servidores implantados


em vrios centros de dados na Internet, tendo como principal objetivo atender com alta dispo-
nibilidade e desempenho as requisies dos usurios. Dessa forma, h a reduo do risco de
falha do sistema caso um ou mais servidores falhem, pode-se prover balanceamento de carga
entre servidores, evitando gargalos na rede e, com isso, garantir uma maior performance e QoE
(Quality of Experience) para o usurio. Este trabalho traz uma anlise das redes CDN bem
como sua evoluo e diferentes arquiteturas. Uma das questes crticas envolvendo redes CDN
o algoritmo de escolha do servidor de rplica, pois esse algoritmo influencia diretamente o
desempenho e escalabilidade da rede. Vrios algoritmos esto disponveis na literatura. Neste
trabalho, proposto um algoritmo para escolha do servidor de rplica, utilizando lgica fuzzy.
Este modelo comparado com outros modelos propostos na literatura por meio de simulao.

Palavras-Chave: CDN. Balanceamento de Carga. NS-2. Algoritmos Adaptativos. Lgica


Fuzzy.
ABSTRACT

CDN (Content Delivery Network) is a large distributed system of servers deployed in multiple
data centers on the Internet. Its main goal is to service requests from users with high availability
and performance. Thus, reduces the risk of system failure if one or more servers fail, besides,
can provide load balancing between servers, avoiding network bottlenecks and, therefore, en-
suring greater performance and QoE (Quality of Experience) to the user. This paper presents an
analysis of CDN networks, their evolution and existent architectures. One of the critical issues
involving CDN networks is the choices algorithm of the replica server, because this directly
influences the performance and scalability of the network. Several algorithms are available in
literature. In this work, a algorithm for choosing the replica server for serving a request is
proposed. This model is compared with other models proposed in the literature by simulation.

Keywords: CDN. Load Balacing. NS-2. Adaptive Algorithms. Fuzzy Logic.


LISTA DE FIGURAS

Figura 1 Exemplo CDN (PALLIS; VAKALI, 2006). . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

Figura 2 Arquitetura em Camadas de um CDN (BUYYA et al., 2006). . . . . . . . . . . . . . . 23

Figura 3 Mecanismos de roteamento de requisio (BUYYA et al., 2006). . . . . . . . . . . 26

Figura 4 Funes de pertinncia para a varivel fila . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33

Figura 5 Funes de pertinncia para a varivel tempo de servio . . . . . . . . . . . . . . . . . . 34

Figura 6 Funes de pertinncia para a varivel tempo de resposta . . . . . . . . . . . . . . . . . 34

Figura 7 Funes de pertinncia para a funo de sada . . . . . . . . . . . . . . . . . . . . . . . . . . . 35

Figura 8 Diagrama Sequncia Balanceamento de Carga (CECE et al., 2010). . . . . . . . . 39

Figura 9 Topologia Claranet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Figura 10 Topologia GridNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Figura 11 Topologia RNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40

Figura 12 Tamanho das filas dos Servidores - GridNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Figura 13 Tamanho das filas dos Servidores - ClaraNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Figura 14 Tamanho das filas dos Servidores - RNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Figura 15 Resultados Tempo Mdio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49

Figura 16 Resultados Tempo Mximo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50


Figura 17 Resultados Tempo Mdio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

Figura 18 Resultados Desvio Padro . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

Figura 19 Grfico representando conjuntos clssicos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

Figura 20 Grfico representando os conjuntos fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Figura 21 Grfico representando dois conjuntos fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

Figura 22 Grfico representando interseo de dois conjuntos fuzzy . . . . . . . . . . . . . . . . . 62

Figura 23 Grfico representando unio de dois conjuntos fuzzy . . . . . . . . . . . . . . . . . . . . . . 62

Figura 24 Grfico representando complemento de um conjunto fuzzy . . . . . . . . . . . . . . . . 62

Figura 25 Sistema de inferncia fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Figura 26 Funes de pertinncia para a varivel peso . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

Figura 27 Funes de pertinncia para a varivel altura . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Figura 28 Funes de pertinncia de sada para exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

Figura 29 Inferncia para a regra 5 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Figura 30 Resultado inferncia para o exemplo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67


LISTA DE TABELAS

Tabela 1 Regras fuzzy para escolha do servidor de rplica . . . . . . . . . . . . . . . . . . . . . . . . . 36

Tabela 2 Caractersticas Trfego GridNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42

Tabela 3 Caractersticas Trfego ClaraNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Tabela 4 Caractersticas Trfego RNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43

Tabela 5 Parmetros Simulao GridNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

Tabela 6 Resumo Resultados Simulao - GridNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45

Tabela 7 Parmetros Simulao ClaraNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46

Tabela 8 Resumo Resultados Simulao - ClaraNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47

Tabela 9 Parmetros Simulao RNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Tabela 10 Resumo Resultados Simulao - RNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48

Tabela 11 Exemplo de tabela de pertinncia para os conjuntos clssicos. . . . . . . . . . . . . . 60

Tabela 12 Exemplo de tabela de pertinncia para os conjuntos fuzzy. . . . . . . . . . . . . . . . . 60

Tabela 13 Exemplo regras fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Tabela 14 Coordenadas dos ns da rede Claranet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

Tabela 15 Enlaces dos ns da rede Claranet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Tabela 16 Coordenadas dos ns da rede GridNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70


Tabela 17 Enlaces dos ns da rede GridNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

Tabela 18 Coordenadas dos ns da rede RNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

Tabela 19 Enlaces dos ns da rede RNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 73


LISTA DE SIGLAS

AS Autonomous System

CARP Cache Array Routing Protocols

CDN Content Delivery Network

DNS Domain Name System

FTP File Transfer Protocol

HTTP Hypertext Transfer Protocol

ICP Internet Cache Protocol

IETF Internet Engineering Task Force

IP Internet Protocol

NS-2 Network Simulator 2

OTcl Object-oriented Tool Command Language

P2P Peer to Peer

QoE Quality of Experience

QoS Quality of Service

RFC Request for Comment

RNP Rede Nacional de Ensino e Pesquisa

RTT Round Trip Time

Tcl Tool Command Language

TCP Transmission Control Protocol

UDP User Datagram Protocol

URL Uniform Resource Locator

VoD Video-On-Demand
SUMRIO

1 INTRODUO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.1 Contexto e Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 15
1.2 Objetivos e contribuies . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
1.3 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
1.4 Estrutura do trabalho . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2 FUNDAMENTAO TERICA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1 Content Delivery Networks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20
2.1.1 Surgimento das Redes CDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 21
2.1.2 Arquitetura de um CDN . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.1.3 Roteamento de Requisio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.1.3.1 Algoritmos de Roteamento de Requisio . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.3.2 Algoritmos Adaptativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 24
2.1.3.3 Algoritmos No-Adaptativos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.1.4 Mecanismos de Roteamento de Requisio . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.1.5 Principais Desafios . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.2 Lgica Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
2.3 Trabalhos Relacionados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30
3 PROPOSTA DE UM ALGORITMO PARA ESCOLHA DE SERVIDOR DE RE-
PLICA USANDO LGICA FUZZY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
3.1 Lgica Fuzzy para Escolha do Servidor de Rplica em Redes CDN . . . . . . . . . . . . . . 32
3.1.1 Fuzzificao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 33
3.1.2 Processo de Inferncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
3.1.3 Defuzificao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
4 ESTUDO DE CASO: CENRIOS E EXPERIMENTOS . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.1 Implementao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
4.2 Topologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39
4.3 Detalhes dos Experimentos Realizados . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 41
4.4 Modelo de Trfego . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.4.1 Modelo de Trfego na rede GridNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
4.4.2 Modelo de Trfego na rede Claranet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
4.4.3 Modelo de Trfego na rede RNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 43
5 ANLISE DOS RESULTADOS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.1 Topologia 1 - GridNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44
5.2 Topologia 2 - ClaraNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
5.3 Topologia 3 - RNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 47
5.4 Resumo Simulaes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 48
6 CONCLUSO E TRABALHOS FUTUROS . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52
BIBLIOGRAFIA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 53
APNDICE . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
APNDICE A -- LGICA FUZZY . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 59
A.1 Operadores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
A.2 Relaes Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
A.2.1 Composio Max-Min . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 63
A.2.2 Composio Max-Produto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
A.3 Sistema de inferncia Fuzzy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
A.3.1 Fuzzificao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64
A.3.2 Inferncia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
A.3.3 Deffuzificao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 68
APNDICE B -- TOPOLOGIAS UTILIZADAS NAS SIMULAES . . . . . . . . . . . . . . . 69
B.1 Topologia Claranet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
B.2 Topologia GridNet . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
B.3 Topologia RNP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69
APNDICE C -- DECLARAO DE REVISO DE TEXTO . . . . . . . . . . . . . . . . . . . . . . . 74
15

1 INTRODUO

1.1 Contexto e Motivao

CDN (Content Delivery Network), tambm conhecido como Rede de Entrega de Con-
tedo, um grande sistema distribudo de servidores implantados em vrios centros de dados
na Internet, tendo como principal objetivo atender com alta disponibilidade e desempenho s
requisies dos usurios (PALLIS; VAKALI, 2006). CDNs provem performance ao oferecer
servios rpidos, confiveis e com alta disponibilidade por meio da distribuio de contedo
para servidores de rplica (VAKALI; PALLIS, 2003).

O termo CDN sugiu nos anos 90 com a inteno de prover desempenho a servios web,
escalabilidade, performance, replicao e balanceamento de carga (PALLIS; VAKALI, 2006).
Isso porque websites que possuem grande volume de acessos, tais como sites de comrcio
eletrnico, podem apresentar gargalos e lentides quando utilizando um nico servidor.

Pesquisas mostraram que, se o tempo de resposta para uma requisio web supera 8s,
aproximadamente 30% dos usurios abandonam a requisio (DAVISON, 2001). O incremento
do tempo de resposta est diretamente relacionado perda de performance, congestionamentos
e grande nmero de usurios acessando a pgina web (GALLETTA, 2002).

A replicao desses sites em diferentes localizaes uma forma de tentar balancear a


carga, evitar gargalos, eliminar o ponto nico de falha, garantir tempos de resposta menores e
uma maior escalabilidade.

Uma abordagem comum redirecionar o usurio para o servidor mais prximo a ele,
pois, dessa forma, minimiza a largura de banda utilizada e, dependendo da carga e do tipo do
servidor mais prximo, obtem-se tempo de resposta menor (CHEN et al., 2005).

Na Figura 1, tem-se um exemplo de rede CDN, onde h vrios servidores de rplica


em diferentes localidades. Nesse exemplo, os usurios sempre se conectam aos servidores de
rplica do prprio pas.

Um provedor CDN se concentra na construo e gerenciamento de uma infraestrutura


de rede para fornecer os seguintes servios e funcionalidades:

armazenamento e gerenciamento de contedo;

distribuio de contedo entre os servidores de rplica;

gerenciamento de cache;

entrega de contedo esttico, dinmico e streaming;


16

Figura 1: Exemplo CDN (PALLIS; VAKALI, 2006).

solues de backup e monitoramento;

balanceamento de carga.

Para fornecer tais servios e funcionalidades, um provedor CDN precisa de alguns


elementos para compr sua infraestrutura, so eles:

Infraestrutura de entrega de contedo: consiste em um conjunto de servidores de borda,


tambm denominados servidores de rplica ou substitutos, responsveis por entregar c-
pias do contedo aos usurios;

Mecanismo de redirecionamento de requisio: responsvel por redirecionar o cliente


para o servidor de rplica mais apropriado;

Infraestrutura de distribuio de contedo: responsvel por distribuir o contedo do servi-


dor de origem para os servidores de rplica e manter os servidores de rplica atualizados;

Infraestrutura de contabilidade: armazena informaes relativas a utilizao dos servido-


res CDN.

Algumas questes so crticas na construo de um CDN (WANG; SHARMAN; RA-


MESH, 2008), so elas:

Quantos servidores de rplica utilizar e onde os mesmos devem estar localizados;

Qual contudo deve ser replicado e em quais servidores deve ser replicado;

Qual estratgia deve ser utilizada para manter o contedo dos servidores de rplica atua-
lizado;
17

Como deve ser escolhido o servidor de rplica;

Qual mecanismo deve ser utilizado para redirecionar o cliente para o servidor de rplica.

Todas essas questes citadas anteriormente so importantssimas para garantir a qua-


lidade do servio. Alm disso, essas questes impactam diretamente no custo do CDN e sua
manuteno, elevando ou reduzindo o preo do servio a ser oferecido (VAKALI; PALLIS,
2003).

Como citado anteriormente, uma das questes crticas relativas ao CDN diz respeito a
qual servidor de rplica deve ser utilizado. O servidor mais apropriado nem sempre o que est
mais prximo do cliente ou o mais rpido, pois ele pode, por exemplo, est congestionado ou
ter pouca largura de banda disponvel. Ao invs disso, um conjunto de parmetros poderiam ser
levados em considerao nesse processo de escolha, tais como: distncia, velocidade, largura
de banda disponvel e carga do servidor.

Este trabalho prope um algoritmo para escolha do servidor de rplica utilizando lgica
fuzzy. Esse algoritmo utiliza os seguintes parmetros no processo de tomada de deciso:

Tamanho da fila: tamanho da fila de atendimento do servidor de rplica.

Tempo de servio: tempo necessrio para atendimento de uma requisio para uma dada
URL no servidor de rplica.

Tempo de resposta: tempo de resposta do servidor de rplica (RTT).

Apesar do grande apelo comercial existente em redes CDN, poucas propostas de al-
goritmos de escolha do servidor de rplica esto disponveis na literatura. Uma das razes a
carncia de ferramentas ou simuladores que permitam avaliar esse tipo de rede (CECE et al.,
2010), outro motivo o custo necessrio em infra-estrutura para testar esses algoritmos em
redes reais.

1.2 Objetivos e contribuies

Este trabalho prope um algoritmo para escolha do servidor de rplica em redes CDN
utilizando lgica fuzzy. O algoritmo proposto utiliza trs parmetros que so representados
pelas seguintes vriaveis lingusticas: carga atual do servidor, tempo de servio e tempo de
resposta dos servidores de rplica.

A utilizao da lgica fuzzy facilita a modelagem do sistema, pois no necessrio fa-


zer uma modelagem matemtica do problema. Alm disso, nos experimentos foi constatado que
18

a lgica fuzzy permite encontrar uma boa soluo com um tempo de resposta aceitvel. Atravs
das simulaes foi provado que o algoritmo proposto reduziu o tempo de resposta mnimo e
mdio para a obteno de uma requisio em relao aos modelos tradicionais, garantindo a
viabilidade da proposta.

Esse tipo de algoritmo, tambm conhecido como algoritmo de roteamento de requisi-


o, pode ser dividido em duas categorias: algoritmos adaptativos e algoritmos no adaptativos
(PATHAN; BUYYA, 2008).

Nos algoritmos adaptativos, a escolha do servidor de rplica feita baseada no estado


atual do mesmo. Para isso, necessrio monitorar a carga sobre os servidores e congestiona-
mento na rede. Como o estado da rede e dos servidores podem variar bastante, esses algoritmos
acabam por consumir muita largura de banda.

Nos algoritmos no adaptativos, a escolha do servidor de rplica pode ser feita utili-
zando heursticas. Tais solues so menos complexas, consomem menos largura de banda,
porm no so to eficientes quanto os algoritmos adaptativos.

Portanto, o algoritmo proposto se enquadra na categoria dos algoritmos adaptativos,


pois h troca de informaes de status entre os servidores. CHEN; LIAO (2010) utiliza lgica
fuzzy para escolha do servidor de rplica em uma rede CDN. No entanto, nos experimentos s
foi levado em considerao a largura de banda dos servidores e foi avaliado apenas a taxa de
descarte de pacotes em casos de congestionamentos.

O algoritmo proposto comparado atravs de simulaes com outros algoritmos dis-


ponveis na literatura.

1.3 Metodologia

Os testes foram feitos no simulador ns-2 (Network Simulator - verso 2.33) (MC-
CANNE et al., 1997), utilizando o mdulo para CDN (CECE et al., 2010). Os arquivos de
configurao do cenrio e testes no ns-2 foram gerados a partir da linguagem de script OTcl.
(MEENEGHAN; DELANEY, 2004). Foram utilizadas trs topologias de redes reais obtidas
atravs do gerador de topologias topology-zoo (KNIGHT et al., 2011).

Foram utilizados dois algoritmos de redirecionamento no-adaptativos, que so: round-


robin e aleatrio. Tambm foram utilizados dois algoritmos de redirecionamento adaptativos,
so eles: least-loaded(DAHLIN, 2000a) e o algoritmo proposto. As mtricas utilizadas para
efeito de avaliao dos testes foram: tempos mnimo, mximo e mdio para atendimento de
uma requisio, grau de desbalanceamento da rede, nmero de requisies atendidas no inter-
valo de tempo e tamanho da fila dos servidores durante a simulao.
19

1.4 Estrutura do trabalho

Este trabalho est organizado da seguinte forma. O Captulo 2 apresenta a fundamenta-


o terica sobre os temas principais a serem trabalhados. No Captulo 3, o algoritmo proposto
apresentado, tendo como base a fundamentao terica. O Captulo 4 apresenta detalhes dos
cenrios e experimentos realizados para validao da proposta. No Captulo 5, realizada a an-
lise dos resultados obtidos durante as simulaes. Por fim, no Captulo 6, tem-se a concluso e
a indicao de possveis trabalhos futuros.
20

2 FUNDAMENTAO TERICA

Este captulo aborda os principais temas que so utilizados para o desenvolvimento do


trabalho. Primeiramente, apresenta-se a teoria sobre CDN, em seguida, um pouco sobre lgica
fuzzy apresentada.

2.1 Content Delivery Networks

Uma rede CDN composta por uma coleo de elementos de rede organizados para
entrega de contedo a usurios finais (DOUGLIS; KAASHOEK, 2001). Uma rede CDN pode
assumir vrias formas e topologias, podendo ser centralizada, hierarquizada, infraestruturada
com controle administrativo e descentralizada (VERMA, 2002). As funcionalidades tpicas de
uma rede CDN so:

Redirecionamento de requisio: redireciona a requisio para o servidor de rplica mais


apropriado, podendo, por exemplo, utilizar a localizao geogrfica do cliente.

Servio de distribuio para servidores rplica: distribui contedo para os servidores de


rplica, atualizando-os sempre que necessrio. Pode ser realizado de maneira esttica sob
o controle de um administrador, ou dinmica, dependendo da demanda da aplicao em
um determinado momento.

Servio de negociao de contedo: procura o servidor que atenda as necessidades de


cada usurio ou grupo de usurios.

Servios de gerenciamento: gerenciamento dos servidores e monitoramento da utilizao


dos mesmos.

Uma rede CDN oferece melhor desempenho por meio de caching de contedo ou
replicao sobre servidores espalhados estrategicamente, afim de lidar com o repentino pico de
solicitaes de contedo web, que denominado flash crowd (ARLITT; JIN, 2000) ou SlashDot
effect (ADLER, 1999). Uma estratgia comumente adotada redirecionar a requisio para o
servidor mais prximo do cliente.

Os trs principais componentes de uma arquitetura CDN so: provedor de contedo,


provedor de CDN e usurio final. O provedor de contedo quem delega os objetos web a
serem distribudos. O servidor de origem quem possui esses objetos a serem distribudos. O
provedor CDN a organizao que disponibiliza a infraestrutura para o provedor de contedo,
afim de fornecer contedo de maneira rpida e confivel para os usurios. Os usurios so quem
acessa os contedos por meio da infraestrutura CDN.
21

2.1.1 Surgimento das Redes CDN

Eventualmente, os servidores web podem se tornar sobrecarregados com o intenso e


repentino trfego e o website pode se tornar temporariamente indisponvel. Tal efeito pode
causar uma frustao no usurio, pois os usurios da Internet no esto dispostos a esperar
muito tempo para ter uma resposta satisfatria de um servidor (ADLER, 1999). Isso faz com
que as empresas estejam cada vez mais preocupadas com a qualidade de servio oferecida ao
usurio e seu nvel de satisfao.

Nos ltimos anos, tem-se observado uma grande evoluo nas tecnologias que visam
melhorar a entrega e provisionamento de servios web. As tecnologias que visam melhorar
a entrega de contedo, juntamente com a infraestrutura de rede criam um novo tipo de rede
denominado rede de contedo (DAY et al., 2003).

Redes de contedo utilizam vrias tcnicas para melhorar o desempenho dos servido-
res web. Uma abordagem simples seria melhorar o hardware do servidor, adicionando mais
ncleos de processamento, mais memria e capacidade de armazenamento. Essa soluo no
flexvel, pois o sistema estar limitado as capacidades oferecidas pelo servidor, podendo apre-
sentar congestionamentos na rede nas proximidades do mesmo, alm de possuir um ponto nico
de falha (HOFMANN; BEAUMONT, 2005).

Servidores cache podem ser implantados perto dos usurios e, estes servidores, por
meio de polticas e mecanismos gerenciadores de cache, podem manter seu contedo sempre
atualizado. Os usurios, por sua vez, podem enviar suas requisies diretamente para um servi-
dor de cache ao invs de envi-las ao servidor de origem. Um provedor tambm pode implantar
diferentes nveis de cache em diferentes servidores, podendo incrementar o desempenho, dis-
tribuir o trfego e, com isso, utilizar menos largura de banda, tal soluo denominada cache
hierrquico (BARTOLINI; CASALICCHIO; TUCCI, 2004) (RABINOVICH; SPATSCHECK,
2003). Essa soluo tem a desvantagem de aumentar a complexidade para gerenciar os servi-
dores cache, o que pode demandar utilizao de muitos recursos como largura de banda.

Uma soluo mais escalvel e mais simples de gerenciar a criao de um server farm
(HOFMANN; BEAUMONT, 2005). Um server farm composto por vrios servidores web,
onde, atravs de um switch de camadas 4-7, as requisies so redirecionadas para diferentes
servidores. Um server farm pode utilizar servidor ao invs do switch, conforme explicado na
RFC 3040 (COOPER; MELVE; TOMLINSON, 2001), sendo uma abordagem mais flexvel e
escalvel, pois o redirecionamento no se torna uma funo exclusiva do switch, podendo ser
realizado por qualquer servidor. Como o server farm est associado a um switch que atende
todas as requisies e redireciona para o servidor apropriado, promovendo o balanceamento de
carga, h o risco de congestionamento nas proximidades do switch.

Para resolver essas limitaes surgiu, na dcada de 90, outro tipo de rede de contedo
22

denominado CDN (Content Distribution Network ou Content Delivery Network) (PATHAN;


BUYYA, 2008). Com o surgimento de CDN, as grandes empresas deixaram de investir em
infraestrutura cara para manter seus websites e passaram a contratar os provedores CDN, que
garantiam confiabilidade e escalabilidade para os websites (PATHAN; BUYYA, 2008).

Uma rede CDN oferece melhor desempenho por meio de caching de contedo ou
servidores replicados espalhados na web estrategicamente, a fim de lidar com o repentino pico
de solicitaes de contedo na web, que frequentemente denominado como flash crowd ou
SlashDot effect.

O provedor de CDN comercial mais conhecido atualmente o Akamai (SU et al., 2006)
que surgiu a partir de pesquisas desenvolvidas no MIT (Massachusetts Institute of Technology)
com o intuito de solucionar o problema de flash crowd.

Atualmente o Akamai possui mais de 20.000 servidores ao longo de 1000 redes e


espalhados por 71 pases (NYGREN; SITARAMAN; SUN, 2010). Com a grande demanda por
provedores CDN, vrias outras empresas se especializaram no fornecimento desse servio que
passou a ser um grande gerador de receitas.

A primeira gerao de CDNs tinha como principal foco atender websites estticos
ou dinmicos (PALLIS; VAKALI, 2006) (LAZAR; TERRILL, 2001). Na gerao de CDNs
seguinte, o foco passou a ser Video-On-Demand (VoD) e streams de adio e vdeo.

Com o surgimento de vrias empresas provedoras de CDN, comearam a surgir vrios


protocolos proprietrios, incompatibilizando as diferentes solues existentes. A partir disso,
o IETF (Internet Engineering Task Force) passou a tentar padronizar a comunicao e funcio-
namento desses servidores, atravs de protocolos descritos em RFCs (Request for Comment),
como, por exemplo, RFC 3040 (COOPER; MELVE; TOMLINSON, 2001), RFC 3838 (BATU-
NER et al., 2004) e RFC 3885 (BARBIR et al., 2004).

Outros rgos como o BSF (BroadBand Services Forum) e o Internet Streaming Me-
dia Alliance tomaram iniciativas para desenvolver padres para entrega de contedo esttico,
dinmico e streams de adio e vdeo.

A demanda por provedores CDN era to grande, que em 2004, havia mais de 3000
empresas oferecendo o servio e movimentando mais de 20 milhes de dlares ao ms. Um
relatrio detalhado sobre as perspectivas de crescimento do setor, oportunidades de mercado e
estratgias pode ser encontrado em (CARLSSON, 2009)

2.1.2 Arquitetura de um CDN

A arquitetura de um CDN pode ser vista por meio de uma diviso em trs camadas,
conforme a Figura 2, so elas: basic fabric, communication and connectivity e camada CDN
23

(PATHAN; BUYYA, 2008).

Em basic fabric esto os recursos de infraestrutura necessrios para a formao do


CDN, tais como os clusters, servidores de cache, servidores de arquivos, infraestrutura de rede.

A camada de comunicao e conectividade prov os protocolos de Internet tais como


TCP,UDP e FTP. Alm de protocolos especficos do CDN como ICP (Internet Cache Proto-
col) (WESSELS; CLAFFY, 1997), CARP (Cache Array Routing Protocols) (VALLOPPILLIL;
ROSS, 1998) e protocolos de distribuio de contedo. Esta camada tambm permite a criao
de uma rede overlay especfica para o CDN.

A camada CDN onde reside as funcionalidades especficas do CDN. Podendo ser


subdividida em trs camadas: servios CDN, tipos de CDN e tipos de contedo CDN. Nessa
camada esto as funcionalidades primordiais do CDN como seleo do servidor de rplica,
redirecionamento de requisio, gerenciamento de contedo e balanceamento de carga.

Figura 2: Arquitetura em Camadas de um CDN (BUYYA et al., 2006).

2.1.3 Roteamento de Requisio

O roteamento de requisio responsvel por realizar o roteamento de clientes para


o servidor de rplica apropriado. Uma soluo redirecionar a requisio para o servidor de
24

rplica mais prximo. No entanto, nem sempre o servidor de rplica mais prximo o melhor
para atender uma requisio (CHEN et al., 2005). O ideal levar em considerao outras
variveis para realizar o roteamento como proximidade da rede, latncia do cliente, distncia e
carga do servidor de rplica.

O roteamento de requisio pode ser classificado em dois tipos: roteamento de requi-


sio na camada de transporte e roteamento de requisio na camada de aplicao (CAIN et al.,
2003). No roteamento de requisio realizado na camada de transporte, um switch de camada 4
realiza a inspeo do pacote da requisio e decide para qual servidor redirecionar essa requi-
sio. No roteamento de camada de aplicao, quem realiza a tarefa de escolher o servidor de
rplica a prpria aplicao.

O roteamento de requisio pode ser dividido em duas partes: algoritmo de roteamento


de requisio, que utilizado para determinar qual o melhor servidor de rplica para atender
uma requisio e o mecanismo de roteamento de requisio que responsvel por realizar o
redirecionamento do cliente para o servidor apropriado (SIVASUBRAMANIAN et al., 2004).

2.1.3.1 Algoritmos de Roteamento de Requisio

Os algoritmos de roteamento de requisio so divididos em algoritmos adaptativos e


algoritmos no-adaptativos. Os algoritmos adaptativos consideram o estado atual dos servidores
de rplica para definir o servidor a ser utilizado. Os algoritmos no-adaptativos no levam em
considerao o estado dos servidores, o que significa que no introduzido overhead de troca
de informaes de status entre servidores.

2.1.3.2 Algoritmos Adaptativos

PIERRE; STEEN (2006) utiliza um algoritmo de roteamento adaptativo que seleciona


o servidor de rplica mais prximo do cliente em termos de proximidade de rede. Para isso,
utiliza como mtrica a distncia baseada no nmero de AS Path Length proposta em (MCMA-
NUS, 1999). Esse algoritmo no garante uma boa soluo por levar em considerao apenas
uma mtrica.

Em ZISAPEL; PELESS (2001) monitorado o nmero de clientes e a largura de banda


utilizada para cada servidor. Utiliza algumas mtricas especficas do Windows NT (CUSTER,
1992), acessadas por meio da MIB (Management Information Base) (WALDBUSSER et al.,
1996).

Em Cisco Distributed Director (DELGADILLO, 1999) podem ser utilizados as seguin-


tes mtricas: distncia entre AS, distncia dentro de um AS e a latncia. A essas mtricas so
definidos pesos no processo de escolha. Como tais mtricas no consideram a carga atual do
25

servidor, esse processo de escolha pode no levar a uma boa soluo.

Em BAI et al., (2009) proposto um mecanismo de balanceamento baseado em Distri-


buted Binning Strategy (RATNASAMY et al., 2002) que constri a topologia da rede com base
no RTT que medido atravs do comando ping para os demais ns. Alm do RTT, utilizado
como mtrica a carga dos servidores.

Em Two Random Choices (MITZENMACHER, 1996) dois servidores so escolhidos


aleatoriamente e a requisio redirecionada para o de menor carga entre eles. Uma variao
desse algoritmo o Next-Neighbor Load Sharing (CHEN et al., 2005) no qual escolhido
aleatoriamente somente um servidor, a requisio redirecionada para o servidor de menor
carga entre o escolhido e o vizinho.

2.1.3.3 Algoritmos No-Adaptativos

Um dos mais antigos algoritmos no-adaptativos o round-robin (XU; HUANG, 2009).


Cada requisio atendida por um servidor diferente, respeitando uma ordem cclica. Quando
os servidores tem capacidades semelhantes, esto no mesmo local, compartilham a mesma rede
e as requisies geram carga de trabalho similares, esse algoritmo apresenta um bom desem-
penho. No entanto, quando pelo menos uma das condies anteriores no satisfeita, esse
algoritmo no conduz melhor soluo.

Um outro algoritmo clssico o aleatrio (MOTWANI; RAGHAVAN, 2010). Como


o prprio nome sugere, sempre ir escolher o servidor de forma aleatria, sendo apropriado
quando, em geral, a carga de trabalho bem inferior a capacidade do sistema. Devido ao seu
carter estocstico, no possvel prever o seu desempenho.

Em Radar (RABINOVICH; AGGARWAL, 1999), os servidores so ordenados de


acordo com as capacidades de cada servidor. Essa informao, juntamente com a distncia so
utilizadas no balanceamento de carga. Como esse mtodo no leva em considerao possveis
congestionamentos na rede, pode no apresentar boa soluo.

Em Cisco Distributed Director (DELGADILLO, 1999), define-se o percentual de aten-


dimento de cada servidor. Dessa forma, para o servidor que tem um percentual de atendimento
maior ser destinado mais requisies. Alm disso, permite que seja definido um ranking de
preferncias de servidores. O administrador pode definir esse ranking baseado em critrios
como, por exemplo, confiabilidade dos servidores.

Em (HUFFAKER et al., 2002) foi realizado um estudo que constatou que a correlao
entre a distncia geogrfica e a latncia da rede superior a 75%. A partir disso, pode-se desen-
volver um algoritmo que redirecione o cliente para o servidor mais prximo de sua localizao
geogrfica.
26

Em KARGER et al., (1999), proposto um algoritmo no-adaptativo que calcula a


funo hash baseada na URL do contedo. Essa funo utilizada para rotear requisies
de clientes para um anel lgico, que consiste de servidores rplica. Considera-se que o n
com ID diretamente superior ao valor hash da URL contm aquele contedo. Variaes desse
algoritmo so utilizadas em intra-cluster caching (NI; TSANG, 2005) e sistemas P2P (Peer to
Peer) (BALAKRISHNAN et al., 2003).

2.1.4 Mecanismos de Roteamento de Requisio

Mecanismos de roteamento de requisio so responsveis por redirecionar o cliente


para o servidor de rplica escolhido pelo algoritmo de roteamento. Eles podem ser classificados
em seis tipos como ilustra a Figura 3, so eles: balanceamento de carga global, roteamento de
requisio baseado em DNS, redirecionamento HTTP, reescrita de URL, anycasting e CDN-
P2P.

Figura 3: Mecanismos de roteamento de requisio (BUYYA et al., 2006).

No balanceamento de carga global ns de servio so constitudos de um servidor web


que funciona como um switch com vrios servidores espalhados geograficamente. Este servidor
pode trabalhar atravs da "conscincia global"dos outros ns ou DNS inteligente autoritrio
(HOFMANN; BEAUMONT, 2005).

Dessa forma, cada n de servio est ciente da localizao e estado dos outros servi-
dores. Os switches agem, portanto, como um servidor DNS inteligente, redirecionando a requi-
sio para diferentes servidores de rplica, dependendo do domnio. Essa abordagem facilita a
localizao do melhor servidor de rplica. No entanto, pode demandar muita largura de banda
27

para troca de informaes de status entre os servidores. Alm de requerer um administrador


para configurar os servidores e seus domnios.

No roteamento de requisio baseado em DNS (BARTOLINI; CASALICCHIO; TUCCI,


2004) um nome de domnio ou URL tem vrios endereos de servidores associados. O servidor
DNS ento retorna vrios endereos para uma mesma URL e o cliente DNS escolhe um des-
ses servidores. Uma forma de decidir para qual servidor redirecionar enviar requisies para
todos servidores e verificar quem tem o tempo de resposta menor. Outra possibilidade seria
coletar informaes histricas de acesso a esses servidores. A performance dessa soluo j foi
examinada em vrios estudos (MAO et al., 2002).

A vantagem dessa abordagem a transparncia, visto que no preciso alterar nada


no servidor de origem e nos servidores replicados, sendo essa soluo bastante popular devido
simplicidade e transparncia para os servidores. A principal desvantagem dessa tcnica que
ela incrementa a latncia na rede devido ao aumento no tempo de lookup DNS, representando
um possvel gargalo. Alguns provedores tentam minimizar esse problema dividindo o DNS em
dois nveis (baixo nvel e alto nvel) para distribuio de carga (KRISHNAMURTHY; WILLS;
ZHANG, 2001).

O redirecionamento HTTP (VAKALI; PALLIS, 2003) se utiliza do header do proto-


colo HTTP para enviar informaes sobre servidores substitutos. O protocolo HTTP permite
que um servidor web responda uma requisio para um cliente com uma mensagem especial
que diz para o cliente reenviar a requisio para outro servidor. Atravs desse mecanismo
possvel construir um servidor web especial para atender requisies de clientes, escolher o
servidor de rplica e redirecionar os clientes atravs do protocolo HTTP.

A principal vantagem dessa abordagem a flexibilidade e simplicidade. A desvanta-


gem a falta de transparncia e a carga extra para enviar uma requisio a um servidor, obter
seu retorno e reenviar a requisio ao servidor rplica selecionado. Alm disso, esse mtodo,
assim como as tcnicas baseadas em DNS apresenta um gargalo no servidor que responsvel
pelo atendimento das solicitaes.

A reescrita de URL (VAKALI; PALLIS, 2003) comum em servidores CDN que pro-
veem no o contedo completo de um site, mas apenas parte dele como vdeos, imagens, ban-
ners. Dessa forma, o servidor responde uma requisio com parte do contedo e redireciona o
cliente para obter outras partes do contedo em outros servidores. Esse mecanismo pode ser
pr-ativo ou reativo. Na reescrita pr-ativa, as URLs para objetos do site so definidas antes do
contedo ser carregado no servidor de origem, enquanto que na reescrita reativa as URLs so
definidas quando a requisio chega ao servidor.

A principal vantagem dessa tcnica que, para uma determinada requisio, o servidor
pode retornar URLs de diferentes servidores. A desvantagem a possvel demora para montar
28

essa URL dinamicamente, alm de que pode acontecer, de um servidor que contm parte do
contedo responder rapidamente enquanto os demais servidores demorarem para atender a re-
quisio, demorando a carregar por inteiro a pgina solicitada pelo usurio. Alm disso, mais
complexo gerenciar partes do contedo em diferentes servidores web.

Anycasting (PENG, 2004) pode ser dividido em dois tipos: IP Anycasting e Anycas-
ting em nvel de aplicao. Em IP Anycasting (PARTRIDGE; MENDEZ; MILLIKEN, 1993),
assume-se que o mesmo endereo IP atribudo a um conjunto de hosts. Assim, diferentes
roteadores tem diferentes caminhos para diferentes hosts com o mesmo endereo IP. Uma des-
vantagem dessa abordagem o fato de que algumas partes do endereo IP so utilizadas para
endereos anycast.

Em FEI et al. (1998), proposto anycasting em nvel de aplicao. O servio consiste


de um conjunto de resolvers anycast que apresenta o domnio de nomes anycast para endereos
IP. Os clientes interagem com os resolvedores anycasting atravs de querys, o resolver processa
a query e replica a resposta. Uma vantagem desse modelo em relao ao IP anycasting a
maior flexibilidade. Uma desvantagem o requerimento de mudanas nos clientes e servidores
para submeter e responder as querys, respectivamente.

O ltimo mecanismo de roteamento de requisio baseado em P2P (BUYYA et al.,


2006), onde ns pertencentes rede podem ser utilizados tanto como cliente, ao solicitar uma
requisio, quanto como servidor, ao prover os recursos obtidos para outros clientes. CDNs ba-
seado em P2P so mais tolerantes a falhas, no entanto, como, em geral, os peers que participam
da rede possuem um hardware inferior servidores dedicados, tal rede pode ser penalizada com
um delay em relao utilizao de servidores dedicados, alm da instabilidade decorrente do
dinamismo das redes P2P.

2.1.5 Principais Desafios

Se o tempo de resposta para resgatar uma pgina web supera 8s, aproximadamente
30% dos usurios abandonam a requisio (KPSELL, 2006). O incremento do tempo de
resposta est diretamente relacionado perda de desempenho, congestionamentos e grande
nmeros de usurios acessando a pgina web (GALLETTA, 2002).

CDNs proveem desempenho ao oferecer servios rpidos, confiveis e com alta dis-
ponibilidade por meio da distribuio de contedo para servidores de rplica localizados nas
proximidades dos usurios (VAKALI; PALLIS, 2003).

O projeto de uma rede CDN bastante complexo (DAY et al., 2003) (SIVASUBRA-
MANIAN et al., 2004). Para a construo de uma rede CDN, algumas questes estratgias
devem ser definidas (WANG; SHARMAN; RAMESH, 2008), so elas:
29

Quantos servidores de rplica utilizar e onde os mesmos devem estar localizados (LI et
al., 1999) (QIU; PADMANABHAN; VOELKER, 2001);

Qual contedo deve ser replicado e em quais servidores deve ser replicado (KANGASHARJU;
ROBERTS; ROSS, 2002);

Qual estratgia deve ser utilizada para manter o contedo dos servidores de rplica con-
sistente. Pode-se utilizar as seguintes estratgias: time-based consistency, value-based
consistency e order-based consistency (DEOLASEE et al., 2001). A forma de atualiza-
o pode ser: pull-based, push-based e hbrida (DEOLASEE et al., 2001);

Como deve ser escolhido o servidor de rplica e qual mecanismo deve ser utilizado para
redirecionar o cliente para o servidor de rplica. Um algoritmo de roteamento de requi-
sio pode ser adaptativo ou no-adaptativo. Alm disso, pode ser transparente ou no
transparente (CARDELLINI; COLAJANNI; YU, 2003).

Para avaliar o desempenho de uma rede CDN, alguns tipos de mtricas podem ser
utilizadas (SIVASUBRAMANIAN et al., 2004):

Mtricas temporais: esto associados com o tempo que o cliente espera para ter a requi-
sio atendida (OLSHEFSKI; NIEH; AGRAWAL, 2004) (HARCHOL-BALTER et al.,
2003);

Mtricas espaciais: podem ser a distncia geogrfica, distncia estimada pelo RTT ou
nmero de saltos (HUFFAKER et al., 2002);

Mtricas de utilizao da rede: esto associadas aos recursos consumidos da rede. Podem
ser internos, quando a comunicao entre os servidores para manuteno da rede e
atualizao dos servidores e externos quando associado com a comunicao entre clientes
e servidores (SIVASUBRAMANIAN et al., 2004);

Mtricas financeiras: associadas com o custo dos servidores e sua manuteno;

Mtricas de consistncia: esto associadas com a consistncia do contedo acessado pelos


usurios.

Este trabalho prope um algoritmo adaptativo para escolha do servidor de rplica a ser
utilizado. Para efeito de avaliao, so consideradas as seguintes mtricas temporais: tempos
mnimo, mdio e mximo para obteno de uma requisio.
30

2.2 Lgica Fuzzy

O conceito de conjunto fuzzy surgiu em 1965, quando Lotfi A. Zadeh observou que os
recursos tecnolgicos disponveis eram incapazes de solucionar problemas de natureza indus-
trial, pois os recursos tecnolgicos na poca estavam enraizados na lgica booleana, admitindo,
portanto, somente os valores 0 e 1 (ZADEH, 1965).

A lgica fuzzy, tambm conhecida como lgica difusa ou lgica nebulosa, diferente-
mente da lgica clssica ou booleana, capaz de atribuir valores intermedirios entre verdadeiro
e falso.

Trabalhar em uma lgica que permite classificar dados ou informaes subjetivas, im-
precisas e ambguas, abre muitas possibilidades de desenvolver solues para problemas que a
lgica clssica no capaz de resolver.

A partir da publicao de Zadeh, vrias aplicaes surgiram utilizando lgica fuzzy


em diversos campos, como refinarias, estaes de tratamento de gua e sistema de operao
automtica de trens.

Em 1984, surge a Sociedade Internacional de Sistemas Fuzzy constituda de pesqui-


sadores dos mais diversos pases que estavam entusiasmados pelas possibilidades prticas de
aplicaes. Nesse perodo, os sistemas fuzzy foram amplamente ignorados pelos Estados Uni-
dos, pois foram associados a inteligncia artificial, uma cincia que na poca no possua grande
credibilidade. Por outro lado, foi amplamente utilizada no Japo e em pases asiticos.

Maiores informaes sobre lgica fuzzy podem ser visualizadas no Apndice A.

2.3 Trabalhos Relacionados

Em ANDREWS et al. (2002), um algoritmo adaptativo baseado na latncia entre


cliente-servidor proposto. Nesse modelo, tanto a latncia de acesso do cliente e a latncia dos
servidores so medidas, ento a requisio redirecionada para o servidor com menor latncia
para o cliente. Tal algoritmo apesar de encontrar uma boa soluo complexo, pois depende
de uma base de dados central para armazenar essas medies, o que afeta a escalabilidade do
sistema.

Em DAHLIN (2000a) proposto um algoritmo denominado Least-Loaded que redi-


reciona a requisio para o servidor de menor carga. Ele tende a saturar o servidor de menor
carga at que uma nova mensagem de status dos servidores seja trocada na rede.

Akamai (NYGREN; SITARAMAN; SUN, 2010) utiliza um complexo algoritmo adap-


tativo. Ele leva em considerao a carga dos servidores de rplica, a confiabilidade dos servi-
31

dores, largura de banda disponvel em cada servidor de rplica, entre outros. No entanto, esse
algoritmo propriedade da Akamai e os detalhes da tecnologia no foram revelados.

CHEN; LIAO (2010) utiliza lgica fuzzy para escolha do servidor de rplica em uma
rede CDN. No entanto, nos experimentos s foi levado em considerao a largura de banda
dos servidores. Alm disso, somente foi avaliada a taxa de perdas de pacotes decorrentes da
sobrecarga dos servidores.

Em WANG; SHARMAN; RAMESH (2008), proposto um framework para uma rede


CDN. Esse framework bastante abrangente, visto que cobre desde onde devem estar locali-
zados geograficamente os servidores de rplica a serem utilizados, os dados que devero ser
replicados baseado nos perfis de acesso em diferentes regies geogrficas. Para a escolha do
servidor de rplica, sugerido utilizar redes neurais com aprendizagem supervisionada.

Em MANFREDI; OLIVIERO; ROMANO (2012a), proposto um algoritmo adapta-


tivo baseado em um modelo matemtico. Nesse algoritmo, levada em considerao a taxa
de chegada de requisies e a variao das chegadas de requisio em um intervalo de tempo.
Esses parmetros so utilizados no processo de tomada de deciso, onde o ltimo intervalo de
tempo avaliado tem peso x, enquanto a mdia de todo perodo tem peso y, sendo que x maior
que y. Atravs dos resultados foi provado que este algoritmo possui bom desempenho em rela-
o a outros algoritmos existentes. No entanto, o modelo matemtico complexo e no muito
flexvel em situaes de flash crowd.
32

3 PROPOSTA DE UM ALGORITMO PARA ESCOLHA DE SERVIDOR DE


REPLICA USANDO LGICA FUZZY

Conforme mencionado, existem dois tipos de algoritmos para escolha do servidor de


rplica em redes CDN. Os algoritmos no-adaptativos escolhem o servidor de rplica sem levar
em considerao o status atual do mesmo. Esse mecanismo permite que se tenha uma escolha
rpida, porm nem sempre eficiente. Por outro lado, os algoritmos adaptativos levam em
considerao o status dos servidores de rplica. Esse mecanismo permite uma escolha eficiente,
porm demanda largura de banda para troca de mensagens entre servidores e acabam inserindo
overhead no processo de escolha.

3.1 Lgica Fuzzy para Escolha do Servidor de Rplica em Redes CDN

Este trabalho prope um algoritmo adaptativo para escolha do servidor de rplica que
utiliza lgica fuzzy no processo de tomada de deciso. Para isso, so considerados como entrada
as seguintes variveis lingusticas:

Tamanho da fila: tamanho da fila de atendimento do servidor de rplica;

Tempo de servio: tempo necessrio para atendimento de uma requisio para uma dada
URL no servidor de rplica;

Tempo de resposta: tempo de resposta do servidor de rplica (RTT).

Como esses parmetros possuem intervalo aberto direita, ou seja, os valores teorica-
mente podem variar de 0 at infinito, necessrio realizar a normalizao dos dados em cada
processo de tomada de deciso. Em PASSOS; GOLDSCHMIDT (2005), so descritos diversos
tipos de normalizao. Segundo esses autores, a normalizao linear consiste em considerar
os valores mnimo e mximo de cada atributo no ajuste da escala, mapeando esse atributo no
intervalo fechado de zero at 1. A equao que define a normalizao linear descrita como:

Xi Xmin
Xn =
Xmax Xmin

Onde:

Xn = valor normalizado

Xi = valor do atributo a ser normalizado

Xmin = valor mnimo do atributo a ser normalizado

Xmax = valor mximo do atributo a ser normalizado


33

Todo servidor possui uma lista de servidores vizinhos. Os servidores trocam infor-
maes de status periodicamente com seus vizinhos. A partir dessa informaes, um servidor
quando recebe uma requisio, realiza a normalizao dos status dos vizinhos e atravs do
mecanismo de inferncia fuzzy, que ser descrito nas prximas sees, decide qual servidor
atender requisio.

3.1.1 Fuzzificao

Nessa etapa realizado o mapeamento dos valores das variveis de entrada, geral-
mente numricos e precisos, para os conjuntos fuzzy. Para isso, so utilizadas as funes de
pertinncia.

As funes de pertinncia para os parmetros de entrada so todas triangulares e pos-


suem as mesmas caractersticas em relao aos intervalos das funes.

A varivel tamanho da fila tem trs valores lingusticos associados, so eles: fila pe-
quena, fila mdia e fila grande. A Figura 4 mostra graficamente essas funes de pertinncia. O
conjunto domnio para as variveis de entrada variam de MIN at MAX, onde:

MIN: valor mnimo do domnio, que no caso, como normalizado tem valor 0.

MAX: valor mximo do domnio, que aps a normalizao tem valor 1.

= MAX MIN.

Figura 4: Funes de pertinncia para a varivel fila

A varivel tempo de servio tambm tem trs funes de pertinncia associadas: tempo
de servio baixo, tempo de servio mdio e tempo de servio alto. A Figura 5 mostra grafica-
mente essas funes de pertinncia.

O tempo de resposta tambm possui trs funes de pertinncia (Baixo, Mdio e Alto),
34

Figura 5: Funes de pertinncia para a varivel tempo de servio

conforme a Figura 6.

Figura 6: Funes de pertinncia para a varivel tempo de resposta

A varivel de sada composta de cinco funes de pertinncia utilizando funes


triangulares (Muito Bom, Bom, Normal, Ruim, Muito Ruim), conforme a Figura 7.

3.1.2 Processo de Inferncia

A definio das regras de inferncia de um controlador fuzzy nem sempre uma tarefa
simples, pois pode produzir resultados incoerentes. Para evitar a criao de regras deste tipo,
utiliza-se o algoritmo de Wang-Mendel (WANG; MENDEL, 1992), que a partir do comporta-
mento desejado cria regras coerentes.

O algoritmo de Wang-Mendel prov um mtodo para a criao de regras fuzzy com-


posto por cinco fases:
35

Figura 7: Funes de pertinncia para a funo de sada

Diviso dos dados de entrada e sada em conjuntos fuzzy;

Gerao das regras fuzzy a partir dos dados desejados;

Definio de um grau para cada regra gerada, para eliminar regras conflitantes;

Composio da base de conhecimento;

Definio do mapeamento do espao de entrada para o espao de sada, usando defuzifi-


cao.

Os quatro primeiros passos so responsveis pela gerao da base de conhecimento e


compem a chamada etapa de treinamento e so utilizados para criao das regras de inferncia.
O quinto passo realiza, a partir da base de conhecimento gerada, o valor dos dados de sada para
as possveis entradas, por meio da defuzificao.

As regras de inferncias obtidas so dadas na Tabela 1.

3.1.3 Defuzificao

Na fase de defuzificao, onde deve-se calcular um valor quantitativo a partir de um


valor nebuloso, utiliza-se o mtodo centro de rea.

O Algoritmo 1 sintetiza o funcionamento do controlador fuzzy para o processo de to-


mada de deciso. O algoritmo tem como entrada uma requisio para uma dada URL e como
sada o servidor escolhido para atender a requisio solicitada. Na linha 3, obtm-se a lista
dos servidores que possuem a URL. A partir disso, entre as linhas 4 e 13, calcula o valor fuzzy
para cada servidor, utilizando como parmetros a fila do servidor, tempo de servio e tempo de
resposta.
36

Tabela 1: Regras fuzzy para escolha do servidor de rplica


Regra Tamanho Fila Tempo de Servio Tempo de Resposta(RTT) Concluso
1 Pequena Baixo Baixo Muito Boa
2 Pequena Baixo Mdio Muito Boa
3 Pequena Baixo Alto Muito Boa
4 Pequena Mdio Baixo Boa
5 Pequena Mdio Mdio Boa
6 Pequena Mdio Alto Boa
7 Pequena Alto Baixo Boa
8 Pequena Alto Mdio Normal
9 Pequena Alto Alto Normal
10 Mdia Baixo Baixo Boa
11 Mdia Baixo Mdio Boa
12 Mdia Baixo Alto Boa
13 Mdia Mdio Baixo Normal
14 Mdia Mdio Mdio Normal
15 Mdia Mdio Alto Normal
16 Mdia Alto Baixo Ruim
17 Mdia Alto Mdio Ruim
18 Mdia Alto Alto Ruim
19 Grande Baixo Baixo Normal
20 Grande Baixo Mdio Normal
21 Grande Baixo Alto Ruim
22 Grande Mdio Baixo Ruim
23 Grande Mdio Mdio Ruim
24 Grande Mdio Alto Ruim
25 Grande Alto Baixo Muito Ruim
26 Grande Alto Mdio Muito Ruim
27 Grande Alto Alto Muito Ruim

Para isso, os valores dos parmetros so mapeados para os conjuntos fuzzy de acordo
com suas respectivas funes de pertinncia descritas anteriormente. Aps essa etapa, as regras
de inferncia da Tabela 1 so aplicadas, resultando no conjunto fuzzy da Figura 7. Por fim,
realizada a defuzificao que retorna um valor quantitativo utilizando o mtodo centro de rea.

O algoritmo retorna o servidor cujo valor fuzzy retornado seja o menor.


37

Algoritmo 1: Escolha do servidor de rplica utilizando lgica fuzzy


1 smin NULL;
2 servidor NULL;
Entrada: Uma requisio R para uma dada URL
3 ns nmero de servidores que possuem a URL;
4 para i = 1, . . . , ns faa
5 fi tamanho fila do servidor de rplica i;
6 tsi tempo de servio do servidor i para a URL ;
7 tri tempo de resposta do servidor i (RTT) ;
8 s Calcula valor fuzzy( fi ,tsi ,tri );
9 se (s < smin ) ou (smin = NULL) ento
10 smin s;
11 servidor i;
12 fim
13 fim
Sada: O servidor mais apropriado, servidor
38

4 ESTUDO DE CASO: CENRIOS E EXPERIMENTOS

Este captulo apresenta o cenrio em que os experimentos foram realizados, algumas


consideraes a respeito da implementao, descrio dos testes realizados e anlise dos resul-
tados obtidos.

4.1 Implementao

O simulador utilizado nos experimentos foi o ns-2 (Network Simulator) verso 2.33
(BERKELEY; ISI, 1998). O ns-2 um simulador de cdigo-fonte aberto desenvolvido em
C++, sendo amplamente utilizado no meio acadmico (ISSARIYAKUL; HOSSAIN, 2011). Foi
utilizado o mdulo CDN desenvolvido exclusivamente para esse ambiente de simulao (CECE
et al., 2010).

O desenvolvimento do mdulo CDN para ns-2 foi motivado pelo fato de que apesar de
as redes CDN terem se desenvolvido bastante nos ltimos anos, principalmente no mbito co-
mercial, poucas ferramentas esto disponveis para desenvolvimento de solues e simulaes
para esse tipo de rede (CECE et al., 2010). Nessa seo, sero listadas as principais caracters-
ticas do mdulo CDN para ns-2 e alguns detalhes de implementao.

O roteamento de requisio utilizado realizado na camada de aplicao, onde o ser-


vidor pode decidir se atende uma requisio ou redireciona a mesma para outro servidor de
rplica. O mecanismo de redirecionamento de requisio do tipo HTTP. Foram implementa-
das trs mensagens HTTP:

GET: utilizado pelos clientes para realizar uma requisio para um servidor;

CONTENT: resposta de um servidor para um cliente contendo o contedo requisitado


pelo cliente;

REDIRECT: mensagem utilizada pelo servidor para o cliente, indicando que o cliente
deve solicitar a requisio para outro servidor. Nessa mensagem indicado o servidor de
rplica que dever atender a requisio.

O cliente envia a requisio para o servidor mais prximo que contenha o contedo
requisitado. O mecanismo de escolha do servidor de rplica e redirecionamento descentrali-
zado, ou seja, todo servidor ao receber uma requisio executa o algoritmo ilustrado no captulo
anterior para verificar se atende ou redireciona a requisio. Caso um servidor receba uma requi-
sio redirecionada por outro servidor, ele obrigatoriamente atender a requisio, no havendo
redirecionamento mltiplos de requisies entre os servidores.
39

Todo servidor tem um tempo de servio associado, que corresponde ao tempo de pro-
cessamento necessrio para atender uma dada requisio. Toda requisio recebida inserida
em uma fila, onde, posteriormente, ser decidido se a requisio ser atendida ou redirecio-
nada. O modelo de fila pode ser do tipo D/D/1 ou M/M/1 para distribuio determinstica ou
exponencial, respectivamente.

Todo servidor mantm uma lista de vizinhos como em uma rede P2P. Os servidores
trocam informaes de status periodicamente com seus vizinhos, em intervalos de tempo de-
finidos por meio de configurao. Essas informaes so utilizadas no processo de escolha
do servidor para atender uma dada requisio. O diagrama de sequncia da Figura 8 ilustra a
iterao entre servidores e clientes, de forma a prover o balanceamento de carga.

Figura 8: Diagrama Sequncia Balanceamento de Carga (CECE et al., 2010).

4.2 Topologias

Para a realizao dos testes, foram utilizadas trs topologias de redes reais, obtidas
atravs do topology-zoo (KNIGHT et al., 2011). Todos os testes so realizados nesses trs
cenrios. As Figuras 9, 10 e 11 apresentam a disposio dos ns em cada uma dessas redes.

A rede Claranet1 , Figura 9, uma rede que cobre alguns pases do continente Europeu.
A rede GridNet2 (MOORE, 1980), Figura 10, uma rede com poucos ns, porm esses ns
so bastante conectados, assemelhando-se a uma rede mesh e fica localizada nos EUA. Por
fim, a RNP3 (Rede Nacional de Ensino e Pesquisa) (HENNING, 1993), Figura 11, uma rede
utilizada no Brasil e que cobre quase toda sua extenso territorial. O Apndice B exibe de forma
1 Rede Claranet : http://noc.eu.clara.net/network.jpg, acessado em 10/05/2012.
2 Rede GridNet : http://www.nthelp.com/images/gridnet.jpg, acessado em 10/05/2012.
3 Backbone RNP : http://www.rnp.br/backbone, acessado em 10/05/2012.
40

Figura 9: Topologia Claranet

Figura 10: Topologia GridNet

Figura 11: Topologia RNP


41

mais detalhada cada uma dessas topologias, com informaes de suas coordenadas geogrficas
e largura de banda dos enlaces.

O topology-zoo informa as coordenadas dos ns e a velocidade dos enlaces entre eles.


No entanto, no informa o comprimento de cada enlace. Para o clculo da distncia entre os ns
foi utilizado a distncia geodsica. A distncia geodsica utilizada para determinar a distncia
entre pontos geogrficos. Para isso, levado em considerao o formato de circunferncia da
superfcie terrestre (LIMA; PHILIPS; CORDINI, 2002). A frmula para este clculo dada
pela seguinte equao:

dist(A, B) = Rarccos(sen(Lat.A)sen(Lat.B)+cos(Lat.A)cos(Lat.B)cos(Long.ALong.B))

Onde:

R = representa o raio da terra. Utiliza-se aproximadamente 6367,43km.

Lat.A = Latitude do ponto A.

Lat.B = Latitude do ponto B.

Long.A = Longitude do ponto A.

Long.B = Longitude do ponto B.

A distncia entre os ns importante, pois a partir dela possvel calcular o atraso de


propagao entre dois ns. O atraso de propagao, juntamente com o atraso de transmisso,
processamento e fila so utilizados para o clculo do RTT. O atraso de propagao dado pela
Frmula 4.1.

d
a prop = (4.1)
s

Onde d a distncia entre os ns e s a velocidade do enlace de transmisso, variando


de 2.108 m/s
at 3.108 m/s, dependendo do meio utilizado (KUROSE; ROSS, 2006).

4.3 Detalhes dos Experimentos Realizados

Nos experimentos, o nmero de clientes o mesmo nmero de servidores e varia


conforme a topologia. Os clientes enviam a requisio original sempre para o servidor mais
prximo, essa gerao de requisies obedece a um processo de poisson com taxa de chegada
i . Cada servidor tem uma taxa de atendimento i .
42

Todos experimentos foram realizados em um cenrio de saturao da rede, onde:

i = i (4.2)
1in 1in

Ou seja, o somatrio das requisies que chegam ao sistema igual ao total de requi-
sies que o sistema pode atender. No entanto, alguns servidores podem receber requisies
em uma taxa maior do que sua capacidade de atendimento, ficando sobrecarregados, enquanto
outros podem estar sendo sub-utilizados. Em cada experimento, uma tabela mostra a taxa de
chegada e atendimento de cada servidor.

O tempo que os servidores levam para trocar informaes de status 1s. O trfego
gerado para os servidores do tipo CBR, o pacote enviado do tipo HTTP e o tempo de
simulao para todos experimentos de 300s.

O algoritmo proposto foi comparado com outros trs algoritmos disponveis na lite-
ratura, so eles: round-robin, aleatrio e least-loaded. Os dois primeiros so considerados
algoritmos no-adaptativos e o ltimo classificado como algoritmo adaptativo. O round-robin
sempre escolhe um servidor diferente a cada tomada de deciso, de forma circular. O aleatrio
utiliza um processo estocstico na tomada de deciso e, por fim, o least-loaded sempre escolhe
o servidor que possui menor fila.

4.4 Modelo de Trfego

Essa seo descreve o modelo de trfego utilizado em cada uma das topologias.

4.4.1 Modelo de Trfego na rede GridNet

A rede GridNet uma rede composta por nove servidores, localizados na regio sul
dos EUA. Nos experimentos foram utilizados nove clientes para gerao de trfego para os
servidores, sendo um cliente para cada servidor. A Tabela 2 mostra as caractersticas de cada
servidor.

Tabela 2: Caractersticas Trfego GridNet


1 2 3 4 5 6 7 8 9
i [req/s] 12 10 7 10 13 11 11 14 17
i [req/s] 12 13 14 17 10 11 11 7 10

Na Tabela 2, i representa a taxa de chegada de requisies ao servidor i e i a taxa


de atendimento de requisies do servidor i. Segundo (MANFREDI; OLIVIERO; ROMANO,
43

2012b), esse padro de trfego descrito na Tabela 2 representa de forma simplificada uma rede
CDN real.

4.4.2 Modelo de Trfego na rede Claranet

A rede ClaraNet uma rede composta por quinze servidores, cobrindo parte do conti-
nente europeu. A Tabela 3 mostra as taxas de chegadas e atendimento em cada servidor.

Tabela 3: Caractersticas Trfego ClaraNet


1 2 3 4 5 6 7 8 9 10 11 12 13 14 15
i [req/s] 12 10 7 10 13 11 11 14 17 11 10 13 7 12 10
i [req/s] 12 13 14 17 10 11 11 7 10 11 7 10 11 14 10

4.4.3 Modelo de Trfego na rede RNP

A rede RNP uma rede composta por vinte e sete servidores, interligando parte do
territrio brasileiro. A Tabela 4 mostra a caracterstica do trfego utilizado na simulao.

Tabela 4: Caractersticas Trfego RNP


1 2 3 4 5 6 7 8 9 10 11 12 13 14
i [req/s] 12 10 7 10 13 11 11 14 17 11 10 13 7 12
i [req/s] 12 13 14 17 10 11 11 7 10 11 7 10 11 14

15 16 17 18 19 20 21 22 23 24 25 26 27
i [req/s] 10 12 10 7 10 13 11 11 14 10 11 10 13
i [req/s] 12 13 14 17 10 11 11 7 10 11 7 10 11

Nos trs modelos anteriores, o efeito de flash-crowd tambm foi simulado, elevando
a taxa de chegada do servidor 7, 7 , at 200 requisies/segundo, entre os instantes de tempo
t0 = 200s e t1 = 250s e, consequentemente, passando de uma situao de saturao da rede para
uma de super-saturao da rede no intervalo mencionado.
44

5 ANLISE DOS RESULTADOS

Este captulo apresenta os resultados dos experimentos realizados. Para efeito de ava-
lizao, foram utilizadas principalmente mtricas temporais. As mtricas utilizadas so: tempo
mnimo de atendimento de uma requisio, tempo mximo, tempo mdio no sistema, tamanho
das filas de requisio por servidor, grau de desbalanceamento da rede e nmero de requisies
atendidas durante a simulao. O grau de desbalanceamento da rede o somatrio do desvio
padro do tamanho das filas de todos os servidores durante a simulao, sendo calculado a cada
20s, portanto, quanto menor o valor do grau de desbalanceamento melhor.

As sees seguintes apresentam os resultados de forma isolada em cada uma das trs
topologias. Por fim, na ltima seo, uma anlise geral dos resultados obtidos realizada.

5.1 Topologia 1 - GridNet

Tabela 5: Parmetros Simulao GridNet


Parmetro Valor
Tempo atualizao servidores 1s
Topologia GridNet
Tipo de Trfego HTTP
Tempo Simulao 300s
Link entre Servidores 45Mbps
Link entre Cliente e Servidores 45Mbps
Destino Inicial Requisio Servidor mais prximo

Os parmetros da simulao so apresentados na Tabela 5. A Tabela 6 apresenta o


resumo dos resultados obtidos na simulao dos quatro algoritmos. Como se pode visualizar, o
algoritmo proposto apresentou menor tempo de resposta para uma requisio, os demais algorit-
mos tiveram resultado bastante semelhante. Em relao ao tempo mdio, o algoritmo proposto
tambm obteve o menor tempo mdio, sendo que os algoritmos no adaptativos apresentaram
os piores resultados.

Por outro lado, o algoritmo fuzzy apresentou o pior tempo mximo para obteno de
uma requisio, sendo que para essa mtrica, os algoritmos adaptativos obtiveram os piores
resultados. Apesar de possuir o menor e o maior tempo para obteno de uma requisio, o
algoritmo baseado em fuzzy possui o menor desvio padro.

Quanto ao grau de desbalanceamento, o algoritmo least-loaded, que leva exlusiva-


mente o tamanho das filas dos servidores, foi quem apresentou o pior resultado, tendo o maior
valor. Os algoritmos no-adaptativos apresentaram melhor resultado para essa mtrica. Em
relao ao nmero de requisies atendidas durante a simulao, o algoritmo proposto apresen-
45

tou o melhor resultado, sendo que, para essa topologia de rede, os valores obtidos foram bem
prximos.

Tabela 6: Resumo Resultados Simulao - GridNet


T. Min T. Max. T. Mdio Desvio Padro Grau Desb. Req. Atendidas
FUZZY 1.950 286.120 67.279 35.924 847.630 2662
LL 6.000 284.350 67.645 38.112 965.067 2646
RAND 6.000 279.260 72.273 38.333 318.561 2646
RR 6.010 280.430 69.375 38.963 742.634 2622

A Figura 12 apresenta a evoluo do tamanho das filas dos servidores durante a simu-
lao. Pode-se observar que o crescimento das filas bem acentuado, isso ocorre devido ao
cenrio de saturao dos servidores, onde o nmero de requisies que chega aos servidores
igual ao nmero de requisies que os servidores podem atender. Dessa forma, com o passar
do tempo comea a haver congestionamentos da rede e s filas crescem de forma mais acentu-
ada. Pode-se observar que a partir do instante de tempo 200s, todos as topologias tiveram um
acrscimo acentuado no tamanho das filas, isso ocorreu devido ao efeito de flash-crowd que foi
criado entre os instantes de tempo 200s e 250s. Mesmo aps a normalizao na taxa de requi-
sies, o tamanho das filas dos servidores foi crescente, devido aos congestionamentos da rede.
Essas caractersticas descritas nesse pargrafo ocorreram na simulao das trs topologias.

Figura 12: Tamanho das filas dos Servidores - GridNet


46

Ainda em relao a Figura 12, pode-se observar que o tamanho das filas dos servidores
dos algoritmos no-adaptativos mais uniforme, ou seja, so mais prximas do tamanho de fila
mdio. No entanto, nos algoritmos adaptativos, h amplitude das linhas do grfico maior, ou
seja, h servidores com filas bastante pequenas e outros com filas grandes, fazendo com que,
consequentemente, sejam obtidos os menores tempos de resposta, mas, por outro lado, tambm
os maiores tempos de resposta e os maiores graus de desbalanceamento da rede, assim como
foi mostrado na Tabela 6.

5.2 Topologia 2 - ClaraNet

Tabela 7: Parmetros Simulao ClaraNet


Parmetro Valor
Tempo atualizao servidores 1s
Topologia ClaraNet
Tipo de Trfego HTTP
Tempo Simulao 300s
Link entre Servidores 45Mbps
Link entre Cliente e Servidores 45Mbps
Destino Inicial Requisio Servidor mais prximo

Os parmetros da simulao so apresentados na Tabela 7. A Tabela 8 apresenta o


resumo dos resultados obtidos na simulao para essa topologia. Novamente, o algoritmo pro-
posto possuiu menor tempo mnimo para obteno de uma requisio. Em relao ao tempo
mdio, o algoritmo fuzzy tambm possui o melhor resultado. Alm disso, possui o menor des-
vio padro, caraterizando-se assim como uma soluo que no apresenta grandes variaes no
tempo de resposta.

Assim como na simulao da topologia anterior, o algoritmo fuzzy teve o maior tempo
de resposta. Quanto ao desbalanceamento, o algoritmo proposto teve o pior grau de desba-
lanceamento e o algoritmo LL teve o melhor resultado, como era esperado, pois o LL leva
em considerao exclusivamente o tamanho da fila dos servidores no processo de tomada de
deciso. Por outro lado, a proposta principal do fuzzy no otimizar o balanceamento entre
servidores, e sim reduzir o tempo de resposta para atendimento de uma requisio.

Em relao ao nmero de requisies atendidas durante a simulao, os algoritmos


adaptativos obtiveram os melhores resultados e o algoritmo fuzzy apresentou o melhor resultado.

A Figura 13 exibe a evoluo das filas dos servidores durante a simulao para os
quatro algoritmos. Como se pode notar, o algoritmo fuzzy possui a maior variao no tamanho
das filas, explicando o fato de possuir o menor e o maior tempo para atendimento de uma
requisio. Novamente os algoritmos no-adaptativos obtiveram a menor variao no tamanho
da fila dos servidores. Isso se deve ao fato de os algoritmos adaptativos no tentarem distribuir
47

Tabela 8: Resumo Resultados Simulao - ClaraNet


T. Min T. Max. T. Mdio Desvio Padro Grau Desb. Req. Atendidas
FUZZY 1.000 296.500 68.701 33.032 959.891 4418
LL 6.000 284.350 71.894 36.597 723.965 4410
RAND 5.200 284.000 69.025 38.624 858.591 4392
RR 6.000 289.900 68.913 38.744 856.094 4392

as requisies de forma igualitria entre os servidores, e sim encontrar o mais apropriado para
atender uma requisio em um dado intervalo de tempo.

Figura 13: Tamanho das filas dos Servidores - ClaraNet

5.3 Topologia 3 - RNP

Os parmetros da simulao so apresentados na Tabela 9. A Tabela 10 apresenta o


resumo dos resultados obtidos para essa topologia. O algoritmo proposto possui o melhor tempo
para obteno de uma requisio. Assim como nas topologias anteriores, possui o menor tempo
mdio e menor desvio padro. Novamente os algoritmos adaptativos obtiveram menor tempo
mdio para obteno de requisies, justificando a carga extra para monitorar a rede.

Em relao ao nmero de requisies atendidas, essa topologia foi a nica onde o


algoritmo fuzzy no apresentou o melhor resultado. A justificativa para isso se deve ao fato de
48

os ns nessa topologia terem geralmente apenas um ou dois vizinhos diretos, dessa forma, para
esse tipo de topologia, o overhead existente para a tomada de deciso no algoritmo fuzzy no se
torna vivel.

Tabela 9: Parmetros Simulao RNP


Parmetro Valor
Tempo atualizao servidores 1s
Topologia RNP
Tipo de Trfego HTTP
Tempo Simulao 300s
Link entre Servidores Ver Tabela 19
Link entre Cliente e Servidores 10Gbps
Destino Inicial Requisio Servidor mais prximo

Tabela 10: Resumo Resultados Simulao - RNP


T. Min T. Max. T. Mdio Desvio Padro Grau Desb. Req. Atendidas
FUZZY 1.000 293.000 71.813 36.467 607.591 7911
LL 6.000 284.350 71.894 36.597 597.342 7938
RAND 4.700 293.680 73.501 37.409 564.198 7889
RR 6.000 291.710 72.842 37.577 577.328 7899

A Figura 14 mostra o tamanho das filas dos servidores durante a simulao. Essa topo-
logia foi a que apresentou a menor variao em relao ao tempo mdio obtido nas requisies,
como se pode visualizar na Tabela 10, onde os dados esto mais uniformes. Os algoritmos adap-
tativos novamente possuram os servidores com maiores filas durante a simulao, explicando
o fato de terem obtido os maiores tempos para obteno de uma requisio e o maior grau de
desbalanceamento, como pode ser visualizado na Tabela 10.

5.4 Resumo Simulaes

As figuras 15, 17, 16 e 18 mostram graficamente os resultados dos tempos de resposta


para os quatro algoritmos avaliados nas trs topologias utilizadas. Apesar de no ter tanta
preciso na diferenciao dos valores, esses grficos permitem que se tenha uma avaliao de
cada mtrica de maneira isolada.

Da Figura 15 pode-se concluir que o menor tempo mnimo foi obtido no algoritmo
fuzzy. Os outros algoritmos tiveram resultados similares, sendo que o aleatrio foi um pouco
superior nas topologias ClaraNet e RNP. Em contrapartida, de acordo com a Figura 16, o algo-
ritmo fuzzy apresentou o pior tempo mximo nas trs topologias testadas.

Na Figura 17, observa-se que os algoritmos adaptativos apresentam melhores resul-


tados para o tempo mdio na rede GridNet e RNP. Nas trs topologias, o algoritmo proposto
49

Figura 14: Tamanho das filas dos Servidores - RNP

Figura 15: Resultados Tempo Mdio


50

Figura 16: Resultados Tempo Mximo

apresentou o melhor resultado. A Figura 18 mostra que os algoritmos adaptativos apresentam


o menor desvio padro nas trs topologias, com destaque para o algoritmo fuzzy que apresen-
tou o menor desvio padro em todos testes. Esse bom resultado do desvio padro, aliado aos
bons resultados do tempo mnimo e tempo mdio para obteno de uma requisio viabiliza a
implantao do algoritmo proposto em redes CDN.

Figura 17: Resultados Tempo Mdio


51

Figura 18: Resultados Desvio Padro


52

6 CONCLUSO E TRABALHOS FUTUROS

Neste trabalho, foi proposto e desenvolvido um algoritmo para escolha do servidor


de rplica em redes CDN utilizando lgica fuzzy. A lgica fuzzy vivel para esse ambiente
por simplificar o processo de modelagem do sistema, dispensando modelos matemticos mais
complexos, alm de deixar o sistema mais prximo do pensamento humano.

Atravs de simulaes e comparaes com outros algoritmos de escolha do servidor


de rplica, pode-se notar que o algoritmo proposto apresentou bons resultados em relao a
outras tcnicas disponveis na literatura. Os principais benefcios do algoritmo proposto foram
o menor tempo de resposta para obteno das requisies e o menor tempo mdio em todas
as trs topologias testadas. Alm disso, o algoritmo proposto apresentou, nessas topologias,
o menor desvio padro, caracterizando-se, assim, como uma soluo estvel para esse tipo de
rede e de vivel implementao.

Como trabalhos futuros, pode-se analisar outras mtricas para inserir no algoritmo
proposto, como, por exemplo, quantidade de largura de banda disponvel no enlace. Tambm
pode-se testar algoritmos baseados em mquina de aprendizado para escolha do servidor de r-
plica em redes CDN, como redes neurais, redes bayesianas ou SVM (Support Vector Machine).
53

BIBLIOGRAFIA

ADLER, S. The slashdot effect: an analysis of three internet publications. Linux Gazette, v. 38,
p. 2, 1999.

ANDREWS, M. et al. Clustering and server selection using passive monitoring. In: IEEE. IN-
FOCOM 2002. Twenty-First Annual Joint Conference of the IEEE Computer and Communica-
tions Societies. Proceedings. IEEE. [S.l.], 2002. v. 3, p. 17171725.

ARLITT, M.; JIN, T. A workload characterization study of the 1998 world cup web site.
Network, IEEE, IEEE, v. 14, n. 3, p. 3037, 2000.

BAI, Y. et al. An efficient load balancing technology in cdn. In: IEEE. Fuzzy Systems and
Knowledge Discovery, 2009. FSKD09. Sixth International Conference on. [S.l.], 2009. v. 7, p.
510514.

BALAKRISHNAN, H. et al. Looking up data in p2p systems. Communications of the ACM,


ACM, v. 46, n. 2, p. 4348, 2003.

BARBIR, A. et al. An architecture for open pluggable edge services (opes). Internet Enginee-
ring Task Force RFC, v. 3835, 2004.

BARTOLINI, N.; CASALICCHIO, E.; TUCCI, S. A walk through content delivery networks.
Performance Tools and Applications to Networked Systems, Springer, p. 125, 2004.

BATUNER, O. et al. Policy, authorization, and enforcement requirements of the open pluggable
edge services (opes). Policy, 2004.

BERKELEY, UC; ISI, USC. The network simulator ns-2. Part of the VIN T project. Available
from http://www. isi. edu/nsnam/ns, 1998.

BUYYA, R. et al. A case for peering of content delivery networks. Distributed Systems Online,
IEEE, IEEE, v. 7, n. 10, p. 33, 2006.

CAIN, B. et al. Known content network (cn) request-routing mechanisms. 2003.

CARDELLINI, V.; COLAJANNI, M.; YU, P.S. Request redirection algorithms for distributed
web systems. Parallel and Distributed Systems, IEEE Transactions on, IEEE, v. 14, n. 4, p.
355368, 2003.

CARLSSON, J. Services over ip: Delivering new value through next-generation networks. An-
nual review of communications, v. 59, p. 379387, 2009.

CECE, F. et al. An extended ns-2 for validation of load balancing algorithms in content delivery
networks. In: ICST (INSTITUTE FOR COMPUTER SCIENCES, SOCIAL-INFORMATICS
AND TELECOMMUNICATIONS ENGINEERING). Proceedings of the 3rd International
ICST Conference on Simulation Tools and Techniques. [S.l.], 2010. p. 32.

CHEN, C.M. et al. Scalable request routing with next-neighbor load sharing in multi-server en-
vironments. In: IEEE. Advanced Information Networking and Applications, 2005. AINA 2005.
19th International Conference on. [S.l.], 2005. v. 1, p. 441446.
54

CHEN, J.B.; LIAO, S.J. A fuzzy-based decision approach for supporting multimedia content
request routing in cdn. In: IEEE. Parallel and Distributed Processing with Applications (ISPA),
2010 International Symposium on. [S.l.], 2010. p. 4651.

COOPER, I.; MELVE, I.; TOMLINSON, G. Internet web replication and caching taxonomy.
2001.

CUSTER, H. Inside windows NT. [S.l.]: Microcomputer Applications, 1992.

DAHLIN, M. Interpreting stale load information. Parallel and Distributed Systems, IEEE Tran-
sactions on, IEEE, v. 11, n. 10, p. 10331047, 2000.

DAHLIN, M. Interpreting stale load information. Parallel and Distributed Systems, IEEE Tran-
sactions on, IEEE, v. 11, n. 10, p. 10331047, 2000.

DAVISON, B.D. A web caching primer. Internet Computing, IEEE, IEEE, v. 5, n. 4, p. 3845,
2001.

DAY, M. et al. A model for content internetworking (cdi). Work in Progress, 2003.

DELGADILLO, K. Cisco distributeddirector. Cisco White Paper, 1999.

DEOLASEE, P. et al. Adaptive push-pull: disseminating dynamic web data. In: ACM. Procee-
dings of the 10th international conference on World Wide Web. [S.l.], 2001. p. 265274.

DOUGLIS, F.; KAASHOEK, M.F. Guest editors introduction: Scalable internet services. IEEE
Internet Computing, IEEE Computer Society, p. 3637, 2001.

FEI, Z.M. et al. A novel server selection technique for improving the response time of a re-
plicated service. In: IEEE. INFOCOM98. Seventeenth Annual Joint Conference of the IEEE
Computer and Communications Societies. Proceedings. IEEE. [S.l.], 1998. v. 2, p. 783791.

GALLETTA, D.F. Web site delays: How tolerant are users? Tese (Doutorado) Citeseer,
2002.

GOMIDE, F.; GUDWIN, R.R.; TANSCHEIT, R. Conceitos fundamentais da teoria de conjuntos


fuzzy, lgica fuzzy e aplicaes. In: Proceedings of 6th International Fuzzy Systems Association
World Congress-IFSA95, Tutorials. [S.l.: s.n.], 1995. p. 138.

HARCHOL-BALTER, M. et al. Size-based scheduling to improve web performance. ACM


Transactions on Computer Systems (TOCS), ACM, v. 21, n. 2, p. 207233, 2003.

HENNING, P.C. Internet@ rnp. br: um novo recurso de acesso informao. Cincia da Infor-
mao, v. 22, n. 1, 1993.

HOFMANN, M.; BEAUMONT, L.R. Content networking: architecture, protocols, and prac-
tice. [S.l.]: Morgan Kaufmann Pub, 2005.

HUFFAKER, B. et al. Distance metrics in the internet. In: Proc. of IEEE International Tele-
communications Symposium (ITS). [S.l.: s.n.], 2002.

ISSARIYAKUL, T.; HOSSAIN, E. Introduction to network simulator NS2. [S.l.]: Springer


Verlag, 2011.
55

KANGASHARJU, J.; ROBERTS, J.; ROSS, K.W. Object replication strategies in content dis-
tribution networks. Computer Communications, Elsevier, v. 25, n. 4, p. 376383, 2002.

KARGER, D. et al. Web caching with consistent hashing. Computer Networks, Elsevier, v. 31,
n. 11, p. 12031213, 1999.

KNIGHT, S. et al. The internet topology zoo. Selected Areas in Communications, IEEE Journal
on, IEEE, v. 29, n. 9, p. 17651775, 2011.

KOHAGURA, T. Lgica fuzzy e suas aplicaes. Departamento de Computao, 2007.

KPSELL, S. Low latency anonymous communicationhow long are users willing to wait?
Emerging Trends in Information and Communication Security, Springer, p. 221237, 2006.

KRISHNAMURTHY, B.; WILLS, C.; ZHANG, Y. On the use and performance of content
distribution networks. In: ACM. Proceedings of the 1st ACM SIGCOMM Workshop on Internet
Measurement. [S.l.], 2001. p. 169182.

KUROSE, J.; ROSS, K. Redes de computadores e a internet. So Paulo: Person, 2006.

LAZAR, I.; TERRILL, W. Exploring content delivery networking. IT Professional, IEEE, v. 3,


n. 4, p. 4749, 2001.

LI, B. et al. On the optimal placement of web proxies in the internet. In: IEEE. INFOCOM99.
Eighteenth Annual Joint Conference of the IEEE Computer and Communications Societies.
Proceedings. IEEE. [S.l.], 1999. v. 3, p. 12821290.

LIMA, O.P.; PHILIPS, J.; CORDINI, J. Localizao geodsica da linha de preamar mdia de
1831lmp/1831, com vistas demarcao dos terrenos de marinha e seus acrescidos. In: XXI
Congresso Brasileiro de Cartografia, Belo HorizonteMG. [S.l.: s.n.], 2002. v. 29.

LINDEN, R. Algoritmos Genticos: uma importante ferramenta da Inteligncia Computacio-


nal. [S.l.]: Brasport, 2006.

MANFREDI, S.; OLIVIERO, F.; ROMANO, S.P. A distributed control law for load balancing
in content delivery networks. 2012.

MANFREDI, S.; OLIVIERO, F.; ROMANO, S.P. A distributed control law for load balancing
in content delivery networks. 2012.

MAO, Z.M. et al. A precise and efficient evaluation of the proximity between web clients and
their local dns servers. In: USENIX Annual Technical Conference. [S.l.: s.n.], 2002. p. 229242.

MCCANNE, S. et al. Network simulator ns-2. 1997.

MCMANUS, P.R. A passive system for server selection within mirrored resource environments
using as path length heuristics. AppliedTheory Communications, New York, 1999.

MEENEGHAN, P.; DELANEY, D. An introduction to ns, nam and otcl scripting. National
University of Ireland, 2004.

MITZENMACHER, M.D. The power of two choices in randomized load balancing. Tese (Dou-
torado) Citeseer, 1996.
56

MOORE, RT. Gridnet. Interim Report National Bureau of Standards, Washington, DC. Inst. for
Computer Sciences and Technology., v. 1, 1980.

MOTWANI, R.; RAGHAVAN, P. Randomized algorithms. [S.l.]: Chapman & Hall/CRC, 2010.

NAUCK, D.; KLAWONN, F.; KRUSE, R. Foundations of neuro-fuzzy systems. [S.l.]: John
Wiley & Sons, Inc., 1997.

NI, J.; TSANG, D.H.K. Large-scale cooperative caching and application-level multicast in mul-
timedia content delivery networks. Communications Magazine, IEEE, IEEE, v. 43, n. 5, p. 98
105, 2005.

NYGREN, E.; SITARAMAN, R.K.; SUN, J. The akamai network: A platform for high-
performance internet applications. ACM SIGOPS Operating Systems Review, ACM, v. 44, n. 3,
p. 219, 2010.

OLSHEFSKI, D.; NIEH, J.; AGRAWAL, D. Using certes to infer client response time at the
web server. ACM Transactions on Computer Systems (TOCS), ACM, v. 22, n. 1, p. 4993, 2004.

PALLIS, G.; VAKALI, A. Insight and perspectives for content delivery networks. Communica-
tions of the ACM, ACM, v. 49, n. 1, p. 101106, 2006.

PARTRIDGE, C.; MENDEZ, T.; MILLIKEN, W. Host anycasting service. [S.l.], 1993.

PASSOS, E.; GOLDSCHMIDT, R. Data Mining: um guia prtico. [S.l.]: Rio de janeiro: Else-
vier, 2005.

PATHAN, M.; BUYYA, R. A taxonomy of cdns. Content delivery networks, Springer, p. 3377,
2008.

PENG, G. Cdn: Content distribution network. Arxiv preprint cs/0411069, 2004.

PIERRE, G.; STEEN, M. Van. Globule: a collaborative content delivery network. Communica-
tions Magazine, IEEE, IEEE, v. 44, n. 8, p. 127133, 2006.

QIU, L.; PADMANABHAN, V.N.; VOELKER, G.M. On the placement of web server replicas.
In: IEEE. INFOCOM 2001. Twentieth Annual Joint Conference of the IEEE Computer and
Communications Societies. Proceedings. IEEE. [S.l.], 2001. v. 3, p. 15871596.

RABINOVICH, M.; AGGARWAL, A. Radar: A scalable architecture for a global web hosting
service. Computer Networks, Elsevier, v. 31, n. 11, p. 15451561, 1999.

RABINOVICH, M.; SPATSCHECK, O. Web caching and replication. SIGMOD Record, v. 32,
n. 4, p. 107, 2003.

RATNASAMY, S. et al. Topologically-aware overlay construction and server selection. In:


IEEE. INFOCOM 2002. Twenty-First Annual Joint Conference of the IEEE Computer and Com-
munications Societies. Proceedings. IEEE. [S.l.], 2002. v. 3, p. 11901199.

SIVASUBRAMANIAN, S. et al. Replication for web hosting systems. ACM Computing Surveys
(CSUR), ACM, v. 36, n. 3, p. 291334, 2004.

SU, A.J. et al. Drafting behind akamai (travelocity-based detouring). In: ACM. ACM SIG-
COMM Computer Communication Review. [S.l.], 2006. v. 36, n. 4, p. 435446.
57

TANSCHEIT, R. Sistemas fuzzy. PUC-Rio. Seo, v. 3, 2004.

VAKALI, A.; PALLIS, G. Content delivery networks: Status and trends. Internet Computing,
IEEE, IEEE, v. 7, n. 6, p. 6874, 2003.

VALLOPPILLIL, V.; ROSS, K.W. Cache array routing protocol v1. 1998.

VERMA, D.C. Content distribution networks. [S.l.]: Wiley Online Library, 2002.

WALDBUSSER, S. et al. Structure of management information for version 2 of the simple


network management protocol (snmpv2). Structure, 1996.

WANG, J.; SHARMAN, R.; RAMESH, R. Shared content management in replicated web sys-
tems: A design framework using problem decomposition, controlled simulation, and feedback
learning. Systems, Man, and Cybernetics, Part C: Applications and Reviews, IEEE Transactions
on, IEEE, v. 38, n. 1, p. 110124, 2008.

WANG, L.X.; MENDEL, J.M. Generating fuzzy rules by learning from examples. Systems,
Man and Cybernetics, IEEE Transactions on, IEEE, v. 22, n. 6, p. 14141427, 1992.

WESSELS, D.; CLAFFY, K. Application of internet cache protocol (icp), version 2. 1997.

XU, Z.; HUANG, R. Performance study of load balancing algorithms in distributed web server
systems. CS213 Parallel and Distributed Processing Project Report, 2009.

ZADEH, L.A. Fuzzy sets. Information and control, Elsevier, v. 8, n. 3, p. 338353, 1965.

ZISAPEL, R.; PELESS, A. Load balancing. [S.l.]: Google Patents, jun. 19 2001. US Patent
6,249,801.
APNDICE
59

APNDICE A -- LGICA FUZZY

A lgica fuzzy uma extenso da lgica booleana que admite valores entre 0 e 1, sendo
possvel avaliar conceitos no quantificveis e imprecisos. Por exemplo, enquanto na lgica
booleana a avaliao de uma temperatura poderia ser entre quente, no-quente, equivalendo aos
valores 0 e 1, na lgica fuzzy, essa avaliao poderia envolver outros estados (muito quente,
quente, morno, mdio, frio, muito frio).

Na teoria clssica dos conjuntos, a funo de pertinncia de um elemento em relao


a um conjunto bem definida. Por exemplo, dado um conjunto A, os elementos pertencem ou
no pertence quele conjunto, sendo expresso da seguinte maneira:


1 se e somente se x A
fA (x) = (A.1)
0 se e somente se x
/A

Zadeh props uma caracterizao mais ampla, generalizando a funo caracterstica


de modo que ela pudesse assumir um nmero infinito de valores no intervalo [0,1]. Um con-
junto fuzzy A em um universo X definido por uma funo de pertinncia A (x) : X [0, 1]
(TANSCHEIT, 2004).

Um conjunto fuzzy A contendo uma coleo de objetos X dado por:

A = ((A (x)/x)|x X) (A.2)

Onde A (x) a funo de pertinncia e diz quanto x compatvel com A. Sendo


que um elemento pode pertencer a mais de um conjunto, com diferentes graus de pertinncia
(GOMIDE; GUDWIN; TANSCHEIT, 1995).

As funes de pertinncia podem ter diferentes formas dependendo do conceito que


se deseja representar, sendo que as mais comuns so as triangulares, trapezoidais e gaussianas
(KOHAGURA, 2007).

As Tabelas 11 e 12 mostram trs funes de pertinncia para estatura (baixo, mdio e


alto), utilizando conjuntos clssicos e fuzzy, respectivamente.

As Figuras 19 e 20 mostram os grficos correspondentes para os conjuntos das Tabelas


11 e 12, respectivamente.

Na figura 20, pode-se obsevar que a funo de pertinncia baixo tem valor 1 at 1, 50m,
60

Tabela 11: Exemplo de tabela de pertinncia para os conjuntos clssicos.


Baixo Mdio Alto
1,50m 1 0 0
1,60m 1 0 0
1,70m 0 1 0
1,80m 0 1 0
1,90m 0 0 1
2,00m 0 0 1

Tabela 12: Exemplo de tabela de pertinncia para os conjuntos fuzzy.


Baixo Mdio Alto
1,50m 1 0 0
1,60m 0,6 0,3 0
1,70m 0,1 1 0
1,80m 0 0,3 0,5
1,90m 0 0 1
2,00m 0 0 1

sendo a nica presente nesse intevalo. Isso quer dizer que, nesse intervalo, a altura definitiva-
mente baixa.

medida que a altura aumenta e se aproxima de 1, 70m, observa-se que a funo


de pertinncia mdia comea a incrementar e a funo de pertinncia baixa comear a decre-
mentar, indicando que a altura vai deixando de ser predominantemente baixa para se tornar
definivamente mdia.

possvel observar tambm que h alturas onde somente uma funo de pertinncia
tem valor diferente de zero e h alturas que possuem mais de uma funo de pertinncia asso-
ciada.

Figura 19: Grfico representando conjuntos clssicos


61

Figura 20: Grfico representando os conjuntos fuzzy

A.1 Operadores

Assim como na lgica clssica, alguns operadores so definidos para a lgica fuzzy,
aqui so apresentados os principais. Para exemplificar, sero utilizados os conjuntos Baixo e
Mdio, conforme a Figura 21.

Figura 21: Grfico representando dois conjuntos fuzzy

A interseo de dois conjuntos fuzzy um conjunto fuzzy cuja pertinncia a mnima


dos dois conjuntos, sendo representado por:

AB (x) = A (x) B (x) x X

A interseo dos conjuntos da Figura 21 dada na Figura 22.

A unio de dois conjuntos fuzzy um conjunto fuzzy cuja pertinncia a mxima dos
dois conjuntos, sendo representado por:

AB (x) = A (x) B (x) x X

A unio dos conjuntos da Figura 21 dada na Figura 23.

O complemento de um conjunto fuzzy um conjunto fuzzy cuja pertinncia a subtra-


62

Figura 22: Grfico representando interseo de dois conjuntos fuzzy

Figura 23: Grfico representando unio de dois conjuntos fuzzy

o de 1 pela pertinncia do conjunto, da seguinte maneira:

A0 (x) = 1 A (x) x X

O complemento do conjunto baixo da Figura 21 dado na Figura 24.

Figura 24: Grfico representando complemento de um conjunto fuzzy

Um conjunto fuzzy A em X vazio se sua pertinncia igual a zero para todo x:

A = se e somente se A (x) = 0 x X

Dois conjuntos fuzzy so iguais se suas pertinncias forem iguais para todo x:
63

A = B se e somente se A (x) = B (x) x X

Um conjunto fuzzy A subconjunto de B se sua pertinncia for menor ou igual de B


para todo x:

A B se e somente se A (x) B (x) x X

A.2 Relaes Fuzzy

As relaes fuzzy expressam o grau de associao entre elementos de dois ou mais


conjuntos fuzzy. Elas so utilizadas para realizar a inferncia em um sistema fuzzy. Supondo
uma relao do tipo XxY e outra do tipo Y xZ, a composio de relaes permite formar uma
nova relao do tipo XxZ. As composies mais comuns so max-min e max-produto.

A.2.1 Composio Max-Min

Essa forma de composio utiliza o mximo () e o mnimo (). Sendo as relaes


R1(x,y) e R2(y,z), deseja-se encontrar R3(x,z) por meio da composio max-min. Essa relao
expressa da seguinte forma:

fR (x, z) = fPQ (x, z) = {(x, z), max[min( fP (x, y), fQ (y, z))]} (A.3)

Esta relao bastante semelhante multiplicao de matrizes na qual a soma re-


presentada por () e a multiplicao por (), sendo R1 e R2 a representao das funes de
pertinncia abaixo:


1 0, 4 0 0, 8 0, 9 1
R1 = 0, 5 0, 7 0, 9 e R2 = 0, 6 0, 3 0, 8

0, 2 1 0, 4 0, 1 0, 2 0, 4

Fazendo a primeira linha de R1 com a primeira coluna de R2, tem-se o seguinte cl-
culo:
= [1 0, 8] [0, 4 0, 6] [0 0, 1] = 0, 8 0, 4 0 = 0, 8
64

Fazendo as demais linhas, obtm-se a seguinte matriz R3:



0, 8 0, 9 1
R3 = 0, 6 0, 5 0, 8

0, 6 0, 3 0, 8

A.2.2 Composio Max-Produto

Utiliza o mximo () e a multiplicao. Essa relao expressa da seguinte maneira:

fR (x, z) = fPQ (x, z) = {(x, z), max[( fP (x, y) fQ (y, z))]} (A.4)

Utilizando os mesmo conjuntos R1 e R2 definidos anteriormente, fazendo a primeira


linha de R1 com a primeira linha de R2:

= [1x0, 8] [0, 4x0, 6]x[0 0, 1] = 0, 8 0, 24 0 = 0, 8

Ao final do processo, obtm-se a seguinte matriz R3:


0, 8 0, 9 1
R3 = 0, 42 0, 45 0, 56

0, 6 0, 3 0, 8

A.3 Sistema de inferncia Fuzzy

O sistema de inferncia fuzzy composto de trs etapas, conforme exibido na Figura


25, so elas: fuzzificao, inferncia e defuzzificao.

A.3.1 Fuzzificao

Essa etapa realiza um mapeamento dos dados de entrada, geralmente nmericos e pre-
cisos, para os conjuntos fuzzy. Para isso, so utilizadas as funes de pertinncia para verificar
o quanto esse dado pertence a uma determinada classificao.

Para facilitar o entendimento, utiliza-se um exemplo extrado de KOHAGURA (2007),


onde, dado o peso e altura de uma pessoa, deseja-se saber o quanto a pessoa deve engordar ou
emagrecer para atingir o peso ideal. No exemplo, considera-se uma pessoa de peso 55kg e
altura 1.75m. As Figuras 26 e 27 exibem as funes de pertinncia para as variveis peso e
65

Figura 25: Sistema de inferncia fuzzy

altura, respectivamente, e o resultado das pertinncia dessas funes para a pessoa do exemplo.

Figura 26: Funes de pertinncia para a varivel peso

Aps calcular a pertinncia para o exemplo, obtm-se trs valores fuzzy. Peso "leve"com
pertinncia 0.5, peso "mdio"com pertinncia 0.25 e altura "mediano"com pertinncia 0.75. Es-
ses valores so o resultado da fase de fuzzificao que sero tratados na prxima fase.

A.3.2 Inferncia

A fase de inferncia onde realizada a tomada de deciso. Para isso, so utilizadas


regras do tipo "se-ento"previamente definidas. No exemplo, utiliza-se as regras de inferncia
dadas na Tabela 13. Essas regras so do tipo: Se condio1 e condio2 ento concluso.

A Figura 28 exibe as funes de pertinncia de sada para o exemplo dado.

De acordo com a sada da fase de fuzzificao, onde h valores diferentes de zero para
as funes de pertinncia peso leve com 0.5, peso mdio com pertinncia 0.25 e altura mediano
com pertinncia 0.75, ento so escolhidas as regras de nmero 2 e 5.
66

Figura 27: Funes de pertinncia para a varivel altura

Figura 28: Funes de pertinncia de sada para exemplo


67

Tabela 13: Exemplo regras fuzzy


Nmero Regra Peso Altura Concluso
1 leve baixo normal
2 leve mediano magro
3 leve alto palito
4 mdio baixo gordo
5 mdio mediano normal
6 mdio alto magro
7 pesado baixo elefante
8 pesado mediano gordo
9 pesado alto normal

Como o "E"em lgica fuzzy representado como mnimo, ento para a regra 2, onde a
primeira condio tem valor 0.5 e a segunda tem condio 0.75, o resultado 0.5. Para a regra
nmero 5, tem-se como entrada a primeira condio com valor 0.25 e a segunda condio com
valor 0.75, resultando no valor 0.25.

A Figura 29 mostra o processo simplificado de inferncia para a regra 5. Utilizando o


mtodo de inferncia Mamdami min, obtm como resultado da inferncia o grfico da Figura
30.

Figura 29: Inferncia para a regra 5

Figura 30: Resultado inferncia para o exemplo


68

A.3.3 Deffuzificao

a fase inversa da fuzzificao. Ao invs de transformar um valor quantitativo em


nebuloso, transforma o dado nebuloso encontrado na fase anterior em um dado quantitativo.

Para essa fase, h vrios mtodos de clculo disponveis na literatura, sendo os mais
empregados o mtodo do centride, centro da soma e mdia dos mximos.

No caso do exemplo, aplicando-se o mtodo do centride aos dados da Figura 30,


obtm-se o valor aproximado 6, indicando, nesse exemplo, que a pessoa deveria engordar 6kg.

Um aspecto importante a definio dos conjuntos fuzzy correspondentes s variveis


de entrada e s de sada, pois a qualidade das respostas encontradas atravs do sistema de
inferncia fuzzy est diretamente relacionado definio desses conjuntos. Pode-se realizar
de forma manual a definio das funes de pertinncia dos conjuntos de entrada e sada. No
entanto, a combinao de sistemas de inferncias fuzzy com alguma tcnica de mquina de
aprendizado ou alguma heurstica pode produzir resultados mais satisfatrios.

A integrao entre sistemas de inferncia fuzzy com redes neurais, originando os sis-
temas neuro-fuzzy, ou com algoritmos genticos tem se mostrado adequada para o ajuste das
funes de pertinncia e at mesmo para criao da base de regras (NAUCK; KLAWONN;
KRUSE, 1997) (LINDEN, 2006).
69

APNDICE B -- TOPOLOGIAS UTILIZADAS NAS SIMULAES

Nesse apndice so mostrados em maiores detalhes as topologias utilizadas nos ex-


perimentos. As sesses seguintes mostram atravs de tabelas as coordenadas geogrficas e
velocidades dos enlaces para as trs redes utilizadas. Lembrando que todos enlaces so bidire-
cionais.

B.1 Topologia Claranet

As Tabelas 14 e 15 mostram a localizao dos ns junto com as coordenadas geogrfi-


cas e os enlaces, respectivamente, para a rede Claranet.

Tabela 14: Coordenadas dos ns da rede Claranet


Pas Localizao Longitude Latitude
Portugal Faro -7.93333 37.01667
Espanha Madrid -3.70256 40.4165
Portugal Porto -8.61667 41.15
Portugal Lisboa -9.13333 38.71667
Espanha Barcelona 2.15899 41.38879
Reino Unido Manchester -2.23743 53.48095
Reino Unido New York -0.14008 53.07897
Holanda Amsterdam 4.88969 52.37403
Holanda Eindhoven 5.47778 51.44083
Alemanha Berlin 13.41053 52.52437
Alemanha Frankfurt 8.68333 50.11667
Alemanha Munique 11.57549 48.13743
Frana Paris 2.3488 48.85341
Frana Rennes -1.68333 48.08333
Reino Unido Londres -0.12574 51.50853

B.2 Topologia GridNet

As Tabelas 16 e 17 mostram a localizao dos ns junto com as coordenadas geogrfi-


cas e os enlaces com suas respectivas largura de banda, respectivamente, para a rede GridNet.

B.3 Topologia RNP

As Tabelas 18 e 19 mostram a localizao dos ns junto com as coordenadas geogrfi-


cas e os enlaces, respectivamente, para a rede RNP.
70

Tabela 15: Enlaces dos ns da rede Claranet


Origem Destino Dist. Geodsica
Faro Lisboa 229.73 km
Madrid Lisboa 632.56 km
Madrid Barcelona 660.85 km
Porto Lisboa 273.51 km
Lisboa Londres 1735.11 km
Barcelona Paris 829.88 km
Manchester Londres 321.35 km
New York Londres 174.68 km
Amsterdam Eindhoven 122.32 km
Amsterdam Frankfurt 490.08 km
Amsterdam Londres 566.07 km
Berlin Frankfurt 587.78 km
Berlin Munique 518.24 km
Frankfurt Munique 387.85 km
Frankfurt Paris 718.29 km
Frankfurt Londres 991.86 km
Paris Rennes 456.58 km
Paris Londres 403.63 km

Tabela 16: Coordenadas dos ns da rede GridNet


Nome Longitude Latitude
Houston -95.36327 29.76328
San Francisco -122.41942 37.77493
Los Angeles -118.24368 34.05223
New York -74.00597 40.71427
Newark -74.17237 40.73566
Washington, DC -77.03637 38.89511
Atlanta -84.38798 33.749
Dallas -96.80667 32.78306
Miami -80.19366 25.77427
71

Tabela 17: Enlaces dos ns da rede GridNet


Origem Destino Velocidade Link Dist. Geodsica
Houston Miami 45 Mbps 1686.31 km
Houston Los Angeles 45 Mbps 2546.93 km
Houston New York 45 Mbps 2367.27 km
Houston Dallas 45 Mbps 164.38 km
San Francisco Los Angeles 45 Mbps 509.15 km
San Francisco Newark 45 Mbps 5364.67 km
San Francisco Washington, DC 45 Mbps 5047.58 km
San Francisco Atlanta 45 Mbps 4228.75 km
San Francisco Dallas 45 Mbps 2852.36 km
Los Angeles New York 45 Mbps 4912.34 km
Los Angeles Miami 45 Mbps 4223.47 km
New York Miami 45 Mbps 776.40 km
New York Newark 45 Mbps 18.51 km
Newark Washington, DC 45 Mbps 322.55 km
Newark Atlanta 45 Mbps 1143.33 km
Newark Dallas 45 Mbps 2512.37 km
Washington, DC Atlanta 45 Mbps 822.08 km
Washington, DC Dallas 45 Mbps 2196.12 km
Atlanta Dallas 45 Mbps 1381.23 km
Atlanta Miami 45 Mbps 480.34 km
72

Tabela 18: Coordenadas dos ns da rede RNP


Nome Localizao Longitude Latitude
POP-PE Recife -34.88111 -8.05389
POP-AL Macei -35.73528 -9.66583
POP-PB Campina Grande -35.88111 -7.23056
POP-DF Braslia -47.92972 -15.77972
POP-MG Belo Horizonte -43.93778 -19.92083
POP-SE Aracaju -37.07167 -10.91111
POP-BA Salvador -38.51083 -12.97111
POP-ES Vitria -40.33778 -20.31944
POP-RJ Rio de Janeiro -43.2075 -22.90278
POP-AM Manaus -60.025 -3.10194
POP-GO Goinia -49.25389 -16.67861
POP-MT Cuiab -56.09667 -15.59611
POP-PR Curitiba -49.27306 -25.42778
POP-RS Porto Alegre -51.23 -30.03306
POP-SC Florianopolis -48.54917 -27.59667
POP-SP Sao Paulo -46.63611 -23.5475
POP-RO Porto Velho -63.90389 -8.76194
POP-AC Rio Branco -67.81 -9.97472
POP-TO Palmas -48.36028 -10.21278
POP-MS Campo Grande -54.64639 -20.44278
POP-PI Teresina -42.80194 -5.08917
POP-RN Natal -35.20944 -5.795
POP-RR Boa Vista -60.67333 2.81972
POP-AP Macap -51.06639 0.03889
POP-PA Belm -48.50444 -1.45583
POP-MA Sao Lus -44.30278 -2.52972
POP-CE Fortaleza -38.54306 -3.71722
73

Tabela 19: Enlaces dos ns da rede RNP


Origem Destino Velocidade Link Dist. Geodsica
POP-PE POP-PB 10Gbps 133.96 km
POP-PE POP-PI 3Gbps 917.50 km
POP-AL POP-SE 10Gbps 185.79 km
POP-DF POP-RJ 10Gbps 763.26 km
POP-DF POP-RR 20Mbps 1848.49 km
POP-DF POP-AP 20Mbps 1192.07 km
POP-DF POP-AM 200Mbps 1574.38 km
POP-DF POP-MG 10Gbps 547.32 km
POP-MG POP-SP 10Gbps 412.97 km
POP-MG POP-CE 10Gbps 1478.79 km
POP-MG POP-BA 10Gbps 837.47 km
POP-SE POP-BA 10Gbps 241.66 km
POP-BA POP-ES 10Gbps 663.00 km
POP-ES POP-RJ 10Gbps 384.40 km
POP-RJ POP-SP 10Gbps 384.71 km
POP-GO POP-TO 3Gbps 483.79 km
POP-GO POP-MT 3Gbps 764.56 km
POP-MT POP-RO 3Gbps 946.65 km
POP-MT POP-MS 3Gbps 346.10 km
POP-PR POP-SP 10Gbps 324.99 km
POP-PR POP-MS 3Gbps 688.02 km
POP-PR POP-RS 10Gbps 393.14 km
POP-RS POP-SC 10Gbps 345.48 km
POP-SC POP-SP 10Gbps 370.76 km
POP-RO POP-AC 3Gbps 437.92 km
POP-PI POP-PA 3Gbps 694.12 km
POP-RN POP-CE 10Gbps 414.28 km
POP-PA POP-MA 3Gbps 474.52 km
POP-MA POP-CE 3Gbps 648.22 km
74

APNDICE C -- DECLARAO DE REVISO DE TEXTO

Vous aimerez peut-être aussi