Descrição do problema Imitando o simulador Dynamic Content Distribution for Mobile Enterprise Network Igor Giusti da Silva Fábio Gomes dos Santos UFF - IC - Instituto de Computação 16 de dezembro de 2009 Igor Giusti da Silva, Fábio Gomes dos Santos Dynamic Content Distribution for Mobile Enterprise Network Descrição do problema Imitando o simulador Sumário 1 Descrição do problema 2 Imitando o simulador Igor Giusti da Silva, Fábio Gomes dos Santos Dynamic Content Distribution for Mobile Enterprise Network Descrição do problema Imitando o simulador Estrutura utilizada Na simulação dividimos os 500.000 usuários nos grupos A,B,C,D com 5%, 60%, 30% e 5% respectivamente. Para representar os grupos usamos um vetor de tamanho 4, onde cada elemento aponta um vetor de usuários. O vetor de usuários tem tamanho dependente da porcentagem de usuários destinada a um determinado grupo. Cada elemento do vetor de usuários possui um lista de conexões, onde são armazenados informações de timestamp, duração da chamada, conteúdo requisitado e servidor utilzado. Ao final da geração das informações de requisição, estas serão armazenadas em arquivos texto. Igor Giusti da Silva, Fábio Gomes dos Santos Dynamic Content Distribution for Mobile Enterprise Network Descrição do problema Imitando o simulador Cálculo dos valores de cada conexão A seguir analizaremos cada informação referente a conexão feita por um usuário: Igor Giusti da Silva, Fábio Gomes dos Santos Dynamic Content Distribution for Mobile Enterprise Network Descrição do problema Imitando o simulador Cálculo dos valores de cada conexão Timestamp: Marca o tempo entre chamadas feitas pelo usuário. Essa informação segue uma distribuição de Poisson e tem médias de 14, 7, 18, 18 para os grupos A, B,C, D respectivamente. poisson(λ) begin u ← random stop ← e −λ k←1 repeat u ← u × random) k ← k + 1; until u 6 stop ; return k − 1 end Igor Giusti da Silva, Fábio Gomes dos Santos Dynamic Content Distribution for Mobile Enterprise Network Descrição do problema Imitando o simulador Cálculo dos valores de cada conexão Duração: Informa quanto tempo o usuário ficou conectado ao servidor. De forma indireta informa quantas requisições foram feitas nesse perı́odo, já que sabemos que a taxa de requisições de um usuário é 1 requisição/segundo. Essa informação segue uma distribuição exponencial com média de 60 segundos. exponential(λ) begin u ← random return −λ · loge u end Igor Giusti da Silva, Fábio Gomes dos Santos Dynamic Content Distribution for Mobile Enterprise Network Descrição do problema Imitando o simulador Cálculo dos valores de cada conexão Conteúdo requisitado: Informa qual conteúdo foi requisitado pelo usuário. Essa informação segue uma distribuição zipf-like com parâmetro α = 0.84. Igor Giusti da Silva, Fábio Gomes dos Santos Dynamic Content Distribution for Mobile Enterprise Network Descrição do problema Imitando o simulador Cálculo dos valores de cada conexão Servidor utilizado: Informa a qual servidor o usuário se conectou. Em nossa simulação usamos duas abordagens: Com mobilidade: Utilizamos uma função que gera número de servidores aleatórios com limites diferentes para cada grupo. Sem mobilidade: Nessa abordagem simplesmente distribuimos os usuários de cada grupo entre os 16 servidores usados na simulação. Igor Giusti da Silva, Fábio Gomes dos Santos Dynamic Content Distribution for Mobile Enterprise Network Descrição do problema Imitando o simulador Cálculo dos valores de cada conexão Função de mobilidade: geraServidorAleatorio(group, server )// begin ← 0 end ← 0 switch group do case 0 begin ← 0 end ← nSERVERS − 1 case 1 if server < 0 then begin ← 0 end ← nSERVERS − 1 end begin ← server end ← server end Igor Giusti da Silva, Fábio Gomes dos Santos Dynamic Content Distribution for Mobile Enterprise Network Descrição do problema Imitando o simulador Função de mobilidade(Continuação): switch group do case 2 if server < 0 then begin ← 0 end ← nSERVERS − 1 end begin ← server − 2 if begin < 0 then begin ← nSERVERS − 1 end end ← (server + 2) mod nSERVERS case 3 iServer ← random(0, nSERVERS − 1) if (iServer ÷ 2) 6= 0 then iServer ← iServer + 1 end return iServer end return random(begin, end) Igor Giusti da Silva, Fábio Gomes dos Santos Dynamic Content Distribution for Mobile Enterprise Network