CENTRO FEDERAL DE EDUCAÇÃO TECNOLÓGICA DO PARANÁ
Programa de Pós-Graduação em Engenharia Elétrica e Informática Industrial
DISSERTAÇÃO
apresentada ao CEFET-PR
para obtenção do título de
MESTRE EM CIÊNCIAS
por
ANA CRISTINA BARREIRAS KOCHEM
CONTROLE DE ADMISSÃO DE CHAMADAS, RESERVA DE
RECURSOS E ESCALONAMENTO PARA PROVISÃO DE QOS EM
REDES GPRS
Banca Examinadora:
Presidente e Orientador:
PROFa. DRa. ELIANE LÚCIA BODANESE
CEFET-PR
Examinadores:
PROF. DR. RÔMULO SILVA DE OLIVEIRA
UFSC
PROF. DR. LUIZ NACAMURA JÚNIOR
CEFET-PR
PROFa. DRa. NELCY KEFFER CAMIÑA
PUC-PR
Curitiba, março de 2003.
ANA CRISTINA BARREIRAS KOCHEM
CONTROLE DE ADMISSÃO DE CHAMADAS, RESERVA DE
RECURSOS E ESCALONAMENTO PARA PROVISÃO DE QOS EM
REDES GPRS
Dissertação apresentada ao Programa de PósGraduação em Engenharia Elétrica e Informática
Industrial do Centro Federal de Educação Tecnológica
do Paraná, como requisito parcial para a obtenção do
título de “Mestre em Ciências” -
Área de
Concentração: Telemática.
Orientadora: Profa. Dra. Eliane Lúcia Bodanese.
Curitiba
2003
“Nunca ande pelo caminho traçado, pois ele
conduz somente até onde os outros foram”.
Alexandre Graham Bell
iii
Agradecimentos
Presto os meus sinceros agradecimentos a todas as pessoas que, direta ou indiretamente,
contribuíram para a realização deste trabalho.
Em primeiro lugar agradeço a Deus que permitiu que esse momento chegasse.
A minha eterna gratidão aos meus pais Antônio Kochem e Lúcia C. Barreiras Kochem
que abriram mão de muitas coisas para tornar seus sonhos o meu sonho e que fizeram
sacrifícios para que eu pudesse chegar onde cheguei e ser quem sou.
Agradeço também a minha irmã Vera Lúcia Barreiras Kochem que, mesmo distante, me
apoiou durante os anos de meus estudos.
Ao meu namorado Joelson Tadeu Vendramin, que sempre acreditou no meu potencial,
agradeço por todo o amor, carinho e compreensão.
Agradeço a minha orientadora Professora Eliane Lúcia Bodanese pelo incentivo,
orientação e conselhos concedidos durante o desenvolvimento desse trabalho.
Aos meus amigos do Laboratório de Sistemas Distribuídos (LaSD): Adriano,
Alexandre, Anderson, Cláudio, Dequech, Edson, Emerson, Fábio, Hermes, Ioquir, Karina e
Rômulo; o meu obrigado pela companhia e pela troca de experiências durante todo o nosso
convívio.
Agradeço também ao estagiário Diego Marcel Dallastella pela sua importante
contribuição no desenvolvimento desse trabalho.
Agradeço a CAPES pelo apoio financeiro.
iv
Índice
1 Introdução................................................................................................................................ 1
1.1 Objetivo ........................................................................................................................... 1
1.2 Descrição de trabalhos existentes .................................................................................... 2
1.3 Organização do documento.............................................................................................. 3
2 General Packet Radio Service (GPRS) ................................................................................... 4
2.1 Introdução ........................................................................................................................ 4
2.2 Arquitetura dos sistemas GSM e GPRS........................................................................... 5
2.2.1 Conceito geral do sistema GSM ................................................................................ 5
2.2.2 Arquitetura de uma rede GPRS ................................................................................. 7
2.3 Pilha de Protocolos - Plano de Transmissão GPRS ......................................................... 8
2.4 Interface de rádio GPRS ................................................................................................ 11
2.4.1 Canais lógicos GPRS............................................................................................... 13
2.4.2 Mapeamento de canais lógicos ................................................................................ 14
2.4.3 Esquemas de codificação de canal........................................................................... 14
2.5 Procedimentos de attach e detach GPRS....................................................................... 15
2.6 Ativação de um contexto PDP ....................................................................................... 16
2.7 Estabelecimento de um fluxo de bloco temporário........................................................ 18
2.8 Roteamento de pacotes de dados ................................................................................... 20
2.9 Gerenciamento de mobilidade GPRS ............................................................................ 21
2.10 Conclusão..................................................................................................................... 23
3 Qualidade de Serviço (QoS) em Redes Móveis Sem Fio...................................................... 24
3.1 Introdução ...................................................................................................................... 24
3.2 Requisitos de QoS.......................................................................................................... 25
3.3 QoS em GPRS ............................................................................................................... 27
3.4 Fases de gerenciamento de QoS em GPRS ................................................................... 28
3.4.1 Controle de admissão de chamadas (CAC) ............................................................. 29
3.4.2 Alocação de recursos de rádio ................................................................................. 30
3.4.3 Policiamento ............................................................................................................ 31
3.4.4 Escalonamento......................................................................................................... 31
3.5 Disciplinas de escalonamento de filas ........................................................................... 32
3.5.1 FIFO (First In First Out) ......................................................................................... 34
3.5.2 PQ (Priority Queuing) ............................................................................................. 34
3.5.3 FQ (Fair Queuing) .................................................................................................. 35
3.5.4 WFQ (Weighted Fair Queuing)............................................................................... 35
3.5.5 WRR (Weighted Round Robin) ............................................................................... 36
3.5.6 DRR (Deficit Round Robin) .................................................................................... 36
3.5.7 Disciplinas de escalonamento aplicadas em GPRS................................................. 40
3.6 Conclusão....................................................................................................................... 42
4 Esquema de Provisão de QoS em Redes GPRS .................................................................... 43
4.1 Introdução ...................................................................................................................... 43
4.2 CAC e reserva de recursos............................................................................................. 43
4.2.1 CAC e reserva de recursos aplicados nos elementos de uma rede GPRS ............... 47
4.3 Escalonamento ............................................................................................................... 51
4.3.1 Disciplina MDRR+.................................................................................................. 52
4.4 Conclusão....................................................................................................................... 58
v
5 Modelo de Simulação ............................................................................................................ 59
5.1 Introdução ...................................................................................................................... 59
5.2 Descrição do modelo de simulação................................................................................ 60
5.3 Parâmetros da simulação ............................................................................................... 66
5.4 Conclusão....................................................................................................................... 68
6 Resultados e Análise da Simulação ....................................................................................... 69
6.1 Introdução ...................................................................................................................... 69
6.2 Resultados da simulação do CAC e reserva de recursos ............................................... 70
6.3 Resultados da simulação do escalonador MDRR+ e FIFO ........................................... 78
6.4 Conclusão....................................................................................................................... 83
7 Conclusões............................................................................................................................. 84
7.1 Limitações e sugestões para trabalhos futuros............................................................... 86
Referências Bibliográficas........................................................................................................ 88
vi
Lista de Figuras
Figura 1 – Arquitetura de um sistema GSM............................................................................... 6
Figura 2 – Arquitetura de uma rede GPRS................................................................................. 7
Figura 3 – Pilha de protocolos: plano de transmissão GPRS ..................................................... 8
Figura 4 – Estrutura multiquadros GPRS ................................................................................. 12
Figura 5 – Ativação de um contexto PDP ................................................................................ 18
Figura 6 – Acesso randômico para transferência de pacotes uplink (a) e downlink (b) ........... 19
Figura 7 – Roteamento de pacotes............................................................................................ 20
Figura 8 – Modelo de estados para gerenciamento de mobilidade de uma MS ....................... 22
Figura 9 – Sistema de filas ....................................................................................................... 32
Figura 10 – Pseudocódigo da disciplina de escalonamento DRR ............................................ 37
Figura 11 – Primeiro ciclo de serviço do escalonador.............................................................. 38
Figura 12 – Segundo ciclo de serviço do escalonador.............................................................. 39
Figura 13 – Último ciclo de serviço do escalonador ................................................................ 39
Figura 14 – Pseudocódigo do algoritmo de CAC e reserva de recursos adaptado para GPRS 48
Figura 15 – Função Enqueue() da disciplina de escalonamento MDRR+ ............................... 54
Figura 16 – Configuração dos parâmetros de cada fluxo ......................................................... 55
Figura 17 – Função Dequeue() da disciplina de escalonamento MDRR+ ............................... 56
Figura 18 – Modelo de simulação da rede celular GPRS......................................................... 62
Figura 20 – Taxa de rejeição de pedidos de handoff (Rh)......................................................... 71
Figura 21 – Taxa de rejeição de conexões (Rt)......................................................................... 72
Figura 22 – Utilização da largura de banda na célula α em função de λ ................................. 75
Figura 23 – Utilização da largura de banda em função de maxb para λ = 0,1 .......................... 76
Figura 24 – Utilização da largura de banda em função de maxb para λ = 0,03 ........................ 77
Figura 25 – Throughput no enlace sem fio utilizando a disciplina FIFO................................. 80
Figura 26 – Throughput no enlace sem fio utilizando a disciplina MDRR+ ........................... 81
vii
Lista de Tabelas
Tabela 1 – Canais lógicos GPRS.............................................................................................. 14
Tabela 2 – Requisitos de QoS definidos para um conjunto de aplicações ............................... 25
Tabela 3 – Classes de Atraso GPRS......................................................................................... 27
Tabela 4 – Parâmetros das aplicações utilizados na simulação................................................ 67
Tabela 5 – Conexões geradas nas simulações .......................................................................... 73
Tabela 6 – Conexões admitidas e rejeitadas............................................................................. 74
Tabela 7 – Número de conexões admitidas e rejeitadas em função de maxb ........................... 77
Tabela 8 – Pior caso de três cenários de simulação.................................................................. 79
Tabela 9 – Resultados da Simulação ........................................................................................ 82
viii
Lista de Siglas e Abreviaturas
APN
AuC
BCS
BTS
BSC
BSS
BSSGP
CAC
CBQ
CBR
CS
CSPDN
DLCI
DNS
DRR
EDF
EIR
E-OTD
ETSI
FDMA
FIFO
FQ
FTP
FUNET
GGSN
GPRS
GPS
GSM
GTP
HLR
HTTP
IETF
IMEI
IMSI
IP
ISDN
LLC
MAC
MDRR+
MED
MS
MSC
NAM
NOAH
NC
NS
Access Point Name
Authentication Center
Block Check Sequence
Base Transceiver Station
Base Station Controller
Base Station Subsystem
BSS GPRS Protocol
Call Admission Control
Class-based Queuing
Constant Bit Rate
Coding Scheme
Circuit-Switched Public Data Network
Data Link Connection Identifier
Domain Name Server
Deficit Round Robin
Earliest Deadline First
Equipment Identity Register
Enhanced Observed Time Difference
European Telecommunications Standards Institute
Frequency Division Multiple Access
First In First Out
Fair Queuing
File Transfer Protocol
Finnish University and Research Network
Gateway GPRS Support Node
General Packet Radio Service
Global Positioning System
Global System for Mobile Communications
GPRS Tunneling Protocol
Home Location Register
Hiper Text Transfer Protocol
Internet Engineering Task Force
International Mobile Equipment Identity
International Mobile Subscriber Identity
Internet Protocol
Integrated Services Digital Network
Logical Link Control
Medium Access Control
Modified Deficit Round Robin Plus
Modified Earliest Deadline
Mobile Station
Mobile Switching Center
Network Animator
Non-Adhoc
Network Control
Network Simulator
ix
NSAPI
PACCH
PAGCH
PBCCH
PCCCH
PCU
PCUSN
PDCCH
PDCH
PDN
PDP
PDTCH
PDU
PLL
PLMN
PNCH
PPCH
PQ
PRACH
PSPDN
PSTN
P-TMSI
QoS
RCPQ
RFL
RLC
SAP
SGSN
SIM
SMTP
SNDCP
SPQ
SPS
TBF
TCP
TDMA
TFI
TID
TLLI
TOA
UDP
VLR
WFQ
WRR
Network layer Service Access Point Identifier
Packet Associated Control Channel
Packet Access Grant Channel
Packet Broadcast Control Channel
Packet Common Control Channel
Packet Control Unit
PCU Support Node
Packet Dedicated Control Channel
Packet Data Channel
Packet Data Network
Packet Data Protocol
Packet Data Traffic Channel
Packet Data Unit
Physical Link Layer
Public Land Mobile Network
Packet Notification Channel
Packet Paging Channel
Priority Queuing
Packet Random Access Channel
Packet-Switched Public Data Network
Public Switched Telephone Network
Packet Temporary Mobile Subscriber Identity
Quality of Service
Rate-Controlled Priority Queuing
Radio Frequency Layer
Radio Link Control
Service Access Point
Serving GPRS Support Node
Subscriber Identity Module
Simple Mail Transfer Protocol
Sub-Network Dependent Convergence Protocol
Strict Priority Queuing
Static Priority Scheduling
Temporary Block Flow
Transmission Control Protocol
Time Division Multiple Access
Temporary Flow Identifier
Tunnel Identifier
Temporary Logical Link Identifier
Time of Arrival
User Datagram Protocol
Visited Location Register
Weighted Fair Queuing
Weighted Round Robin
x
Resumo
Espera-se que redes móveis sem fio suportem diferentes aplicações, principalmente
aquelas baseadas em voz, vídeo e dados. Entretanto, aplicações diferem muito em termos de
exigências de qualidade de serviço (QoS – Quality of Service). Um problema fundamental em
suportar diferentes aplicações em redes móveis sem fio é gerenciar a escassa largura de banda.
Esse trabalho propõe um esquema de provisão de QoS em redes GPRS (General Packet
Radio Service) através da combinação de Controle de Admissão de Chamadas (CAC - Call
Admission Control), Reserva de Recursos e Escalonamento. Juntos esses mecanismos podem
fornecer um tratamento diferenciado para o tráfego de vários tipos de mídias. O efeito do
emprego deste esquema no atraso, na variação do atraso e no throughput gerado pelos
diferentes tráfegos é analisado com o simulador NS (Network Simulator). Os resultados
mostram que utilizando CAC, reserva de recursos e escalonamento podemos atender à
diversidade de exigências impostas por um conjunto de aplicações.
xi
Abstract
It is aimed that mobile wireless networks support different applications, specially those
based on voice, video and data. However, applications differ a lot in terms of quality of
service (QoS) requirements. A key problem in supporting different applications across mobile
wireless networks is managing the scarce bandwidth. This work proposes a QoS provisioning
scheme over General Packet Radio Service (GPRS) networks by combining Call Admission
Control (CAC), Resource Reservation and Scheduling. Together these mechanisms can
provide a differentiated treatment to the traffic of various media types. Their effect on the
delay, delay variation and throughput generated by different traffic is analyzed with the
Network Simulator (NS). Results show that using CAC, resource reservation and scheduling
we can meet the diversity of QoS requirements of an applications set.
xii
1 Introdução
Desde as últimas décadas, um crescimento explosivo e um potencial inovador das
tecnologias de comunicações sem fio vem revolucionando o mercado que exige um acesso
cada vez mais rápido e eficiente aos recursos de rádio. A demanda por diferentes tipos de
serviços tem proporcionado um movimento em busca da convergência das redes de
comunicação existentes. O objetivo é integrar de forma eficiente uma variedade de mídias,
tais como voz, vídeo e dados, em uma mesma infra-estrutura de rede.
A comunicação de voz, vídeo e dados em enlaces (links) sem fio, através do uso de
equipamentos móveis, tem sido uma tarefa desafiadora para as operadoras de redes celulares.
O tráfego gerado por essas mídias é altamente diversificado e impõe requisitos únicos de
qualidade, tais como limites de atraso e largura de banda mínima exigida para o seu bom
desempenho na rede. Para suprir tais requisitos, as redes móveis sem fio precisam lidar com
problemas como a mobilidade dos usuários, o gerenciamento do limitado espectro de
freqüências e a alta variabilidade na qualidade dos enlaces sem fio principalmente na presença
de interferências e sob uma alta utilização do meio de comunicação.
De modo a evitar congestionamentos e atender as mais diversas exigências de QoS
(Quality of Service), mecanismos devem ser implementados nos elementos de uma rede para
gerenciar e garantir a qualidade dos serviços oferecidos.
1.1 Objetivo
Embora existam pesquisas relatadas na literatura sobre gerenciamento de QoS em redes
GPRS (General Packet Radio Service), a aplicação de mecanismos eficazes para prover uma
qualidade fim-a-fim para os mais variados tipos de mídias, principalmente voz e vídeo, ainda
continua sendo um desafio. Por esse motivo, o objetivo do presente trabalho é propor um
esquema de gerenciamento de QoS em redes GPRS através da combinação de Controle de
Admissão de Chamadas (CAC - Call Admission Control), Reserva de Recursos e
Escalonamento. Juntos esses mecanismos podem fornecer um tratamento diferenciado para
um conjunto de mídias (voz, vídeo e dados) enquanto atendendo as exigências de QoS
impostas pelos usuários dessas aplicações.
Isso é alcançado diferenciando as aplicações quanto aos requisitos necessários para seu
adequado funcionamento na rede. Tais requisitos são negociados entre a operadora da rede e o
2
usuário móvel GPRS durante a assinatura de um contrato de prestação de serviço. As
aplicações podem possuir diferentes perfis de QoS, impondo exigências específicas quanto,
por exemplo, ao limite de atraso esperado na transferência de seus pacotes, taxa de dados
requerida para a transferência dos pacotes, entre outras.
Para atender as exigências definidas em um perfil de QoS e prover serviços previsíveis,
conexões consideradas sensíveis ao atraso são classificadas como sendo de maior prioridade e
somente são admitidas se a rede for capaz de oferecer os recursos necessários para a aplicação
operar adequadamente. Uma vez que a conexão é aceita, os pacotes pertencentes a diferentes
aplicações são transmitidos na ordem de sua prioridade.
O esquema sendo proposto também limita a taxa de dados de cada aplicação de acordo
com o perfil de QoS negociado, principalmente as aplicações que geram tráfego em “rajada”
como, por exemplo, uma aplicação de transferência de arquivos. Isso proporciona um
comportamento mais regular aos serviços, prevenindo que serviços mal comportados
prejudiquem serviços sensíveis a atrasos.
1.2 Descrição de trabalhos existentes
Várias pesquisas têm sido realizadas com o objetivo de garantir QoS para diferentes
tipos de mídias em redes móveis sem fio. Em [JAYARAM 00], são apresentados esquemas de
QoS com o objetivo de prover um tratamento diferencial e garantir qualidade para fluxos
multimídia aplicados em sistemas sem fio. Tal esquema inclui compactação de largura de
banda, reserva de canal e degradação de chamadas reduzindo a porção da largura de banda
alocada para um fluxo em caso de escassez de recursos de rádio. Com base nos requisitos de
serviço negociados entre um assinante móvel e a rede, em [OLIVEIRA 98] é proposto um
esquema de controle de admissão de chamadas baseado em uma reserva adaptativa de largura
de banda cujo objetivo é prover qualidade para uma variedade de aplicações multimídia
transportadas em redes celulares de alta velocidade.
Dentro da literatura relacionada ao gerenciamento de QoS em redes GPRS é relevante
citar trabalhos como o de Shiao-Li Tsao [TSAO 00], que propõe gerenciar a qualidade de
serviço oferecida em redes GPRS através de duas fases: (1) controle de admissão de
chamadas e reserva dos recursos de rádio; (2) policiamento e escalonamento de pacotes
durante uma transferência de dados. O objetivo do autor é aplicar esses mecanismos de QoS
aos componentes da rede visando atender as exigências de qualidade especificadas em um
3
contrato de prestação de serviço. Em [STUCKMANN 01] é avaliada a melhoria no
desempenho e na capacidade obtida pelas aplicações de e-mail e WWW através do
gerenciamento de QoS em GPRS. Em [SAU 98] e [PANG 99] diferentes disciplinas de
escalonamento de filas são avaliadas com o intuito de atender aos requisitos de atraso
impostos por fontes que geram, por exemplo, serviços de correio eletrônico, transferência de
arquivos e acesso remoto.
1.3 Organização do documento
O presente trabalho encontra-se estruturado em sete capítulos. Esse capítulo descreve as
motivações e os objetivos para o desenvolvimento do trabalho, bem como a descrição de
algumas pesquisas relacionadas. O próximo capítulo introduz a arquitetura e a funcionalidade
do GPRS, um serviço de dados comutado a pacotes projetado para a fase 2+ da rede celular
GSM (Global System for Mobile Communications). O terceiro capítulo apresenta questões
relativas à qualidade de serviço (QoS) em redes móveis sem fio e, mais especificamente, em
uma rede GPRS, descrevendo os requisitos de qualidade de algumas aplicações e
apresentando mecanismos de gerenciamento de QoS, tais como controle de admissão de
chamadas, reserva de recursos, policiamento e escalonamento. O quarto capítulo é dedicado à
apresentação do esquema de provisão de QoS sendo proposto para proporcionar o uso de
diferentes aplicações em redes GPRS enquanto suprindo seus requisitos de desempenho. O
modelo de simulação aplicado para investigar o desempenho do esquema proposto é
apresentado no quinto capítulo. No sexto capítulo são avaliados os resultados obtidos a partir
das simulações. No último capítulo, são apresentadas as conclusões obtidas com o
desenvolvimento do esquema de provisão de QoS em redes GPRS e, no final do capítulo, são
propostas sugestões para o desenvolvimento de trabalhos futuros.
2 General Packet Radio Service (GPRS)
2.1 Introdução
O GPRS (General Packet Radio Service), padronizado pelo ETSI (European
Telecommunications Standards Institute), é um serviço de dados de pacote projetado para a
fase 2+ da rede celular GSM (Global System for Mobile Communications) [BRASCHE 97,
BETTSTETTER 99].
Uma rede GPRS pode ser usada para transportar tráfego IP (Internet Protocol) ou X.25
de/para um terminal GPRS para/de outro terminal GPRS e/ou PDNs (Packet Data Networks)
externas (tais como: Internet, Intranets corporativas/privadas, redes X.25 e outras redes GPRS
controladas por diferentes operadoras de rede).
O padrão GPRS que é baseado na transmissão comutada a pacotes surgiu para tornar
mais eficiente a utilização de recursos de rádio para o transporte de aplicações que geram
tráfego em “rajada” (tráfego assíncrono com taxas de bit bastante variáveis), tais como
aplicações Internet (serviços de páginas e e-mail).
O conceito de “capacidade sob demanda” foi introduzido para possibilitar o uso de
serviços GPRS sem a necessidade de alocar permanentemente os recursos de rádio [CAI 97].
Ao contrário das conexões comutadas a circuito (como nos sistemas GSM), nas quais um
recurso é alocado permanentemente para um usuário durante o período inteiro de sua chamada
(esteja este enviando ou não dados), uma rede comutada a pacotes aloca um recurso somente
quando este for necessário e o libera após a transmissão/recepção dos dados.
Conseqüentemente, uma rede GPRS utiliza mais eficientemente os recursos de rádio escassos,
possibilitando que múltiplos usuários compartilhem um mesmo canal físico.
Operadoras de redes GPRS podem oferecer tempos de acesso mais rápidos, maiores
taxas de dados, diferenciação de usuários móveis baseado em contratos de qualidade de
serviço (QoS – Quality of Service) e aplicar novos métodos de cobrança com base no volume
de dados transmitidos/recebidos por cada usuário, ao invés da duração de uma conexão, o que
pode conduzir a tarifas mais baixas.
5
2.2 Arquitetura dos sistemas GSM e GPRS
2.2.1 Conceito geral do sistema GSM
Para entender a arquitetura do sistema GPRS, primeiramente faz-se necessário
compreender o conceito geral de um sistema GSM.
A área de serviço de uma rede GSM é composta pelos vários países onde uma estação
móvel (MS - Mobile Station) pode ser servida. Dentro de um país, pode haver uma ou mais
PLMN (Public Land Mobile Network). Uma PLMN é uma rede operada ou licenciada por
uma operadora. Cada PLMN, por sua vez, pode ser dividida em diferentes áreas de serviço
controladas por um centro de comutação móvel (MSC - Mobile Switching Center). O MSC é
responsável pela gerência de serviços móveis dentro de sua área de jurisdição e pela
comutação de chamadas entre MSs e entre uma MS e um usuário de uma rede fixa. Para isso
ser possível, o MSC atua como uma interface provendo a interoperabilidade entre um sistema
GSM e outras redes, tais como: PSTN (Public Switched Telephone Network), ISDN
(Integrated Services Digital Network), CSPDN (Circuit-Switched Public Data Network),
PSPDN (Packet-Switched Public Data Network) e PLMN [MEHROTRA 96].
Dentro de uma área de serviço gerenciada por um MSC pode haver várias áreas de
localização (LAs - Location Area). Em uma LA, uma MS pode se mover livremente sem
precisar atualizar seus dados de localização. Por último, uma LA é subdividida em células que
representam a área de cobertura de rádio de uma estação base transceptora (BTS - Base
Transceiver Station). A função de uma BTS é prover e monitorar as interfaces de rádio em
direção as MSs possibilitando que estas sejam capazes de estabelecer/receber chamadas em
uma célula. Duas ou mais BTSs são controladas por um controlador de estação base (BSC Base Station Controller) que é responsável pelo gerenciamento dos recursos de um grupo de
células e pelo controle de handoffs (executado quando uma MS muda de canal físico, por
exemplo, ao se mover para uma nova célula). A BTS e o BSC juntos formam o subsistema de
estação base (BSS - Base Station Subsystem).
A arquitetura do sistema GSM com seus principais componentes e interfaces é ilustrada
na Figura 1. O sistema GSM possui várias bases de dados utilizadas para controlar as
chamadas e gerenciar a rede [BETTSTETTER 99]:
•
AuC (Authentication Center): gera e armazena dados relacionados a segurança, tais
como: chaves, usadas para autenticação e codificação;
6
•
EIR (Equipment Identity Register): armazena dados do equipamento como, por
exemplo, o IMEI (International Mobile Equipment Identity). O IMEI é uma espécie
de número serial, alocado pelo fabricante do equipamento e registrado pela
operadora de rede, que identifica unicamente e internacionalmente um equipamento
móvel;
•
HLR (Home Location Register): armazena os dados permanentes (como o perfil de
serviços) e temporários (como a localização corrente) dos assinantes registrados
com uma operadora de rede;
•
VLR (Visited Location Register): armazena os dados dos usuários que estejam
atualmente em sua área de responsabilidade. Esses dados incluem parte dos dados
permanentes recebidos do HLR. Além disso, o VLR também pode armazenar dados
locais (como uma identidade temporária) para um usuário em roaming, isto é, uma
MS que tenha saído da sua área de serviço domiciliada e esteja estabelecendo uma
chamada em uma nova área associada a um MSC diferente do seu de domicílio.
BSC
MS
EIR
BTS
MS
HLR
BTS
BSC
PSTN
ISDN
CSPDN
PSPDN
PLMN
MSC
MS
Rede Pública
VLR
MS
BTS
AUC
BTS
BSC
Interface Interface
Um
Abis
Interface
A
Figura 1 – Arquitetura de um sistema GSM
Cada assinante registrado com a operadora de rede é unicamente identificado pela sua
IMSI (International Mobile Subscriber Identity). A IMSI é armazenada no cartão SIM
(Subscriber Identity Module) que por sua vez é inserido no equipamento móvel.
As interfaces utilizadas em um sistema GSM são: (1) Interface Um: também conhecida
como interface aérea ou enlace de rádio, que permite a comunicação entre a MS e a BTS; (2)
Interface Abis: utilizada entre a BTS e o BSC; (3) Interface A: utilizada entre o BSC e o
7
MSC; (4) Interface MAP (Mobile Application Part): utilizada entre o MSC e as bases de
dados (AuC, EIR, HLR, VLR).
2.2.2 Arquitetura de uma rede GPRS
A rede GPRS foi construída como uma extensão da rede GSM, sendo que ambas
utilizam a mesma infra-estrutura e compartilham os mesmos recursos de rádio. Porém, de
modo a oferecer um serviço de comutação de pacotes, dois novos elementos foram
adicionados formando a rede backbone GPRS [GSM 03.02]: o SGSN (Serving GPRS Support
Node) e o GGSN (Gateway GPRS Support Node). A Figura 2 ilustra a arquitetura de uma rede
GPRS com seus principais componentes e interfaces.
O SGSN é um roteador responsável pela localização dos assinantes móveis dentro de
sua área de serviço, roteamento de pacotes dentro da PLMN, gerenciamento de mobilidade,
gerenciamento de enlace lógico, segurança, autenticação e cobrança.
O GGSN atua como uma interface lógica para PDNs externas, sendo responsável pelas
seguintes funções: tradução de formatos de dados, protocolos de sinalização e mapeamento de
endereços para permitir comunicação entre diferentes redes, classificação de tráfego
proveniente de PDNs externas, autenticação e cobrança.
PDN
Um
MS
Gf
Abis
BTS
Um
BSC
BTS
Gb
SGSN
Gn
GGSN
Gi
Interface de Sinalização
Abis
MS
Internet
Intranet
X.25
EIR
Gs
VLR
Gr
D
Gc
HLR
Interface de Sinalização e
Transferência de Dados
do Usuário
Figura 2 – Arquitetura de uma rede GPRS
Uma rede GPRS utiliza o mesmo BSS que os serviços de voz GSM, com uma
atualização de software na BTS e no BSC e a instalação de um novo componente de
hardware chamado PCU (Packet Control Unit), geralmente, localizado no PCUSN (PCU
Support Node) [BATES 02]. O PCUSN reside tipicamente entre o BSC e o SGSN sendo o
responsável pela transferência de pacotes entre o BSS e a rede GPRS.
As bases de dados AuC, EIR, HLR e VLR também fazem parte da arquitetura de uma
rede GPRS. O AuC e o EIR são utilizados para controlar a segurança e autenticação dos
8
assinantes móveis, o HLR mantém informações atualizadas de cada assinante registrado na
rede GPRS (tais como: IMSI, informações de localização corrente, perfil de serviços
contratados, endereço do SGSN corrente, um ou mais endereços PDPs (Packet Data
Protocol), permissões de roaming e estado de atividade) e o VLR armazena informações
sobre usuários ativos dentro da sua área de serviço, por exemplo, usuários em roaming.
A entidade MSC é usada em GPRS somente quando ambos os serviços de dados
comutados a pacote e comutados a circuito são suportados. O tráfego de voz é enviado pelo
BSC para o MSC como no sistema GSM, enquanto o tráfego de dados é enviado para o
SGSN, através da PCU, em uma interface Frame Relay.
A BTS é responsável pela modulação, demodulação e transmissão/recepção no enlace
de rádio. O BSC suporta os protocolos GPRS relevantes para a comunicação na interface
aérea, gerencia as chamadas e executa a atribuição de recursos de rádio.
Um novo conjunto de interfaces foi desenvolvido para permitir a comunicação entre os
elementos de uma rede GPRS, entre elas destacam-se: (1) Interface Gb: entre a PCU e o
SGSN, usando Frame Relay; (2) Interface Gr: responsável pela troca de informações entre o
SGSN e o HLR; (3) Interface Gn: utilizada entre o SGSN e o GGSN quando estes estão
localizados na mesma PLMN; (4) Interface Gp: utilizada entre o SGSN e o GGSN caso estes
estejam em PLMNs diferentes. Ambas as interfaces Gn e Gp transmitem dados do usuário e
de sinalização entre o SGSN e o GGSN; (5) Interface Gc: possibilita a troca de informações
entre o GGSN e o HLR; (6) Interface Gf: utilizada entre o SGSN e o EIR; (7) Interface Gs:
utilizada entre o SGSN e o VLR; Interface Gi: utilizada entre o GGSN e PDNs externas.
2.3 Pilha de Protocolos - Plano de Transmissão GPRS
A pilha de protocolos GPRS é ilustrada na Figura 3 [3GPP 03.60].
Aplicação
Camada de
Rede
(IP/X.25)
Camada de
Rede
(IP/X.25)
Relay
SNDCP
LLC
SNDCP
GTP
GTP
LLC
TCP/UDP
TCP/UDP
P
D
Relay
RLC
RLC
BSSGP
BSSGP
IP
IP
MAC
MAC
Frame Relay
Frame Relay
Camada de
Link de Dados
Camada de
Link de Dados
PLL
PLL
RFL
RFL
Camada
Física
Camada
Física
Camada
Física
Camada
Física
MS
BSS
Interface Um
SGSN
Interface Gb
N
GGSN
Interface Gn
Interface Gi
Figura 3 – Pilha de protocolos: plano de transmissão GPRS
9
O plano de transmissão GPRS é utilizado para transferir dados do usuário e de
sinalização entre os diferentes nós físicos que compõem uma rede GPRS.
A camada de aplicação fornece os serviços para os usuários finais. Os seguintes
protocolos, por exemplo, podem fazer parte da camada de aplicação: HTTP (Hiper Text
Transfer Protocol), FTP (File Transfer Protocol), SMTP (Simple Mail Transfer Protocol) e
TELNET.
Um pacote de dados do usuário ou PDU (Packet Data Unit) é recebido da camada de
rede e encapsulado na camada SNDCP (Sub-Network Dependent Convergence Protocol)
[3GPP 04.65].
O protocolo SNDCP é responsável pela multiplexação de várias conexões da camada de
rede em uma única conexão lógica da camada LLC (Logical Link Control), criptografia,
segmentação e compressão/descompressão de dados do usuário e informações de cabeçalho
redundante. Após executar a função de compressão, o SNDCP segmenta a PDU em um ou
mais quadros LLC, dependendo do tamanho máximo definido para um quadro LLC, e os
envia para a camada inferior. O SNDCP suporta a transmissão/recepção de PDUs entre a MS
e o SGSN no modo com reconhecimento (acknowledged) e sem reconhecimento
(unacknowledged). No modo de transferência com reconhecimento, o número máximo de
bytes que o campo de informação de um quadro LLC pode conter é 1520 bytes e a recepção
do(s) quadro(s) LLC é confirmada na camada LLC. No modo sem reconhecimento, o número
máximo de bytes contidos no campo de informação de um quadro LLC é 500 bytes sendo que
nenhuma confirmação é retornada pela camada LLC [BATES 02]. No lado do receptor, o
SNDCP reagrupa os quadros LLC recebidos antes de efetuar a descompressão dos dados.
A comunicação de rádio entre a MS e a rede GPRS abrange as funcionalidades da
camada de enlace de dados e da camada física.
A camada de enlace de dados é dividida em duas sub-camadas: a camada LLC (MSSGSN) e a camada RLC/MAC (Radio Link Control/Medium Access Control) (MS-BSS).
A camada LLC [3GPP 04.64] opera acima da camada RLC fornecendo um enlace
lógico único e altamente confiável entre uma MS em particular e o seu SGSN corrente. Um
DLCI (Data Link Connection Identifier) identifica esse enlace lógico. O DLCI é composto
pelo TLLI (Temporary Logical Link Identifier) e pelo identificador SAP (Service Access
Point). Os SAPs são os pontos onde a camada SNDCP pode acessar os serviços oferecidos
pela camada LLC.
As principais funções da camada LLC incluem: controle de seqüência, controle de
fluxo, criptografia e tratamento de erros (detecção e/ou correção de erros). A camada LLC
10
pode trabalhar no modo de transferência com ou sem reconhecimento. No modo com
reconhecimento,
a
camada
LLC
pode
solicitar
a
retransmissão
dos
quadros
corrompidos/perdidos e não confirmados. Entretanto, no modo sem reconhecimento, nenhuma
recuperação de erro é desempenhada nessa camada.
A camada RLC/MAC [3GPP 04.60] fornece serviços para transferência de dados entre a
MS e o BSS (mais precisamente à PCU) sobre a camada física da interface aérea GPRS.
Quatro níveis de prioridade de rádio e um nível adicional utilizado para mensagens de
sinalização são suportados pela camada RLC/MAC [BILGIC 99]. Quando uma MS desejar
acessar a rede GPRS, ela pode indicar um dos níveis de prioridade, indicando se o acesso é
para transmissão de mensagem de sinalização ou mensagem de dados do usuário. Essa
informação é utilizada pelo BSS para determinar a prioridade de acesso ao meio físico em
caso de congestionamento.
O principal objetivo da camada RLC é fornecer um enlace confiável entre a MS e o
BSS. Na camada RLC do transmissor, cada quadro recebido da camada LLC é segmentado
em um ou mais blocos de dados RLC. Esses blocos são enviados para a camada MAC onde
um cabeçalho MAC e um BCS (Block Check Sequence) são adicionados formando um bloco
RLC/MAC (ou bloco de rádio). Os blocos RLC/MAC possuem um tamanho fixo, dependendo
do esquema de codificação de canal utilizado. Um quadro LLC pode ser espalhado em vários
blocos RLC/MAC e um bloco RLC/MAC pode suportar vários quadros LLC. Na camada
RLC do receptor, os blocos de dados RLC são reagrupados formando novamente um quadro
LLC. A camada RLC também pode operar no modo de transmissão com ou sem
reconhecimento.
A camada MAC opera entre a MS e a BTS e é responsável pelas seguintes funções:
supervisão da carga de uma célula (monitorando e alocando os canais físicos disponíveis),
controle de tentativa de acesso ao meio de transmissão (um ou mais canais físicos)
compartilhado por várias MSs (empregando algoritmos para resolução de conteúdo),
multiplexação de blocos de rádio no meio físico. Além disso, a camada MAC pode ser
responsável por colocar dados em uma fila e escaloná-los quando necessário podendo
priorizar a transmissão de certos dados com base no contrato de QoS negociado entre o
assinante móvel e a rede [BATES 02].
A camada física entre a MS e o BSS é dividida em duas sub-camadas: PLL (Physical
Link Layer) e a RFL (Radio Frequency Layer). A sub-camada PLL fornece um canal físico
entre a MS e o BSS e suas funções incluem: transferência de blocos de rádio no canal físico,
codificação de canal, medidas de nível de qualidade de sinal recebido, medida de avanço de
11
tempo, detecção de congestionamento no meio físico, controle de potência, seleção de célula e
recepção descontínua. A função da camada RFL inclui modulação e demodulação.
O BSSGP (BSS GPRS Protocol) [3GPP 08.18] fornece informações de QoS e
roteamento para facilitar a transferência de dados entre o BSS e o SGSN. Quadros que
chegam na PCU passam pelo BSSGP onde as mensagens de dados do usuário e de sinalização
são separadas em quadros LLC. Uma rede Frame Relay fornece um enlace confiável entre o
BSS e o SGSN.
Para transmitir pacotes IP ou X.25 através da rede backbone GPRS baseada em IP, o
SGSN e o GGSN encapsulam e transmitem esses pacotes utilizando um protocolo
especializado chamado GTP (GPRS Tunneling Protocol) [3GPP 09.60]. Esse protocolo opera
acima do protocolo TCP (Transfer Control Protocol), usado para tráfego de pacotes X.25, ou
do protocolo UDP (User Datagram Protocol), usado para tráfego de pacotes IP.
2.4 Interface de rádio GPRS
O sistema GPRS compartilha a mesma interface de rádio que o sistema de voz GSM.
Ambos podem operar nas faixas de freqüência de 900, 1800 e 1900 MHz. No espectro de 900
MHz, duas bandas de freqüência de 25 MHz cada, separadas por uma banda de guarda de 45
MHz, são reservadas pelo ETSI para ambos os sistemas: 890-915 MHz para uplink
(transmissão da MS para o BSS) e 935-960 MHz para downlink (transmissão da BSS para a
MS).
O recurso de rádio mais escasso em uma rede celular é o espectro de freqüências. De
modo a dividir a largura de banda alocada para um sistema celular e compartilhada entre seus
inúmeros usuários, uma técnica de acesso múltiplo é necessária. O sistema GSM utiliza uma
combinação das técnicas FDMA (Frequency Division Multiple Access) e TDMA (Time
Division Multiple Access) [MEHROTRA 96].
Através do uso da técnica FDMA, cada banda de 25 MHz é dividida em 125 canais de
200 kHz cada. Porém, somente 124 canais podem ser utilizados, pois o canal 0 é utilizado
como banda de guarda para evitar interferências de freqüências mais baixas. Cada um desses
canais de 200kHz é subdividido no tempo, em oito slots de tempo, através da técnica TDMA.
Desta forma, um canal pode ser definido como um meio de comunicação indicado pela sua
freqüência e a posição de seu slot de tempo correspondente dentro de um quadro TDMA.
12
Um slot de tempo TDMA quando utilizado contém um burst de 156,25 bits. Um
período de burst é uma unidade de tempo em um sistema TDMA que dura 0,577
milissegundos (ms). Cada quadro TDMA é composto por oito slots de tempo (oito períodos
de bursts), conseqüentemente, um quadro TDMA ocorre a cada 4,615 ms. A repetição de um
slot de tempo particular em cada quadro TDMA define um canal físico. Um ou mais canais
físicos podem ser alocados (dinamicamente ou estaticamente) para transportar tráfego GPRS.
Esses canais físicos são chamados PDCH (Packet Data Channel) [BATES 02].
Um PDCH é definido em uma estrutura multiquadros, conforme ilustrado na Figura 4
[SAIJA 01]. Uma estrutura multiquadros consiste de um ciclo de 52 quadros TDMA
sucessivos, dividido em 12 blocos (B0-B11) de 4 quadros TDMA consecutivos cada
(totalizando 48 quadros TDMA para alocação de PDCH), 2 quadros TDMA usados para
transmitir informações sobre avanços de tempo e 2 quadros TDMA ociosos. Cada ciclo dura,
aproximadamente, 240 ms (52 x 8 períodos de burst = 52 x 8 x 0,577 ms).
Quadro TDMA = 8 slots de tempo
(4.615 ms)
0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7
tempo
PDCH 0
.
.
.
B0
B1
B2
B3
B4
B5
B6
B7
B8
B9
B10
B11
PDCH 7
B0
B1
B2
B3
B4
B5
B6
B7
B8
B9
B10
B11
bloco
de rádio
Quadro usado para transmitir
informações sobre avanços de tempo
Quadro ocioso
Figura 4 – Estrutura multiquadros GPRS
A unidade de transmissão da camada RLC/MAC é o bloco de rádio. Cada bloco de
rádio é composto por um bloco de dados RLC ou por um bloco de controle RLC/MAC, um
cabeçalho MAC e um BCS. Um bloco de rádio, resultando em 456 bits após a codificação de
canal, é transmitido pela camada física a cada 20 ms, aproximadamente, no mesmo slot de
tempo de 4 quadros TDMA consecutivos.
Um conceito importante em GPRS é a sua capacidade multislot: dependendo do número
de PDCHs disponíveis em uma célula, da capacidade multislot de uma MS [3GPP 05.02] e da
carga do sistema, entre um e oito slots de tempo por quadro TDMA podem ser alocados para
uma única MS possibilitando a transmissão/recepção de pacotes em múltiplos PDCHs,
variando assim a taxa de dados entre uma MS e a rede GPRS. Além disso, alocando um certo
13
número de blocos de um PDCH para cada MS, é possível que até oito MSs compartilhem
simultaneamente o mesmo PDCH.
Ao contrário do sistema GSM, onde uma MS utiliza o mesmo slot de tempo para uplink
e downlink, em GPRS os recursos de rádio downlink e uplink são alocados separadamente,
oferecendo suporte a tráfego de dados assimétrico (como o tráfego Web) [BETTSTETTER
99].
2.4.1 Canais lógicos GPRS
Um canal físico PDCH define o slot de tempo utilizado por diferentes canais lógicos
para transmitir dados do usuário ou de sinalização.
Para integrar toda a funcionalidade de uma rede GPRS comutada a pacotes, os seguintes
canais lógicos são adicionados à interface aérea e listados na Tabela 1 [3GPP 03.64]:
•
PBCCH (Packet Broadcast Control Channel): transmite informações do sistema
para todos os terminais GPRS de uma célula;
•
PCCCH (Packet Common Control Channel): compreendem quatro tipos de subcanais lógicos utilizados para controle comum de sinalização:
-
PPCH (Packet Paging Channel): usado pelo BSS para localizar uma MS
antes de iniciar uma transferência de pacotes downlink;
-
PRACH (Packet Random Access Channel): usado por uma MS para iniciar
uma transferência uplink de dados ou de sinalização, para solicitar recursos
de rádio (um ou mais PDCHs) ou responder a mensagens de paging;
-
PAGCH (Packet Access Grant Channel): usado pelo BSS durante a fase de
estabelecimento de transferência de pacotes para enviar uma mensagem de
atribuição de recursos de rádio para uma MS;
-
PNCH (Packet Notification Channel): usado para enviar uma notificação
para um grupo de MSs antes de uma transferência de pacote multicast;
•
PDTCH (Packet Data Traffic Channel): canal alocado temporariamente para uma
MS ou para um grupo de MSs para transferência de dados;
•
PDCCH (Packet Dedicated Control Channel): compreendem dois tipos de subcanais associados ao controle dos canais de dados:
-
PACCH (Packet Associated Control Channel): sempre alocado em
combinação com um ou mais PDTCH atribuído a uma MS. Ele transmite
14
informações de sinalização relacionadas a uma MS (tais como: informações
de
controle
de
potência
e
reconhecimentos)
e
mensagens
de
atribuição/reatribuição de recursos quando a MS já estiver envolvida em uma
transferência de pacote;
-
PTCCH (Packet Timing Control Channel): transmite informações de avanço
de tempo usadas para sincronização adaptativa de quadro TDMA.
Tabela 1 – Canais lógicos GPRS
GRUPO
NOME
Canais de Controle Broadcast
PBCCH
Downlink
Controle broadcast do sistema
Canais de Controle Comum
PPCH
Downlink
Localização (Paging)
PAGCH
Downlink
Garantia de Acesso
PNCH
Downlink
Notificação Multicast
PRACH
Uplink
Acesso Randômico
PACCH
Downlink e Uplink
Controle Associado
PTCCH
Downlink e Uplink
Controle de Avanço de Tempo
PDTCH
Downlink e Uplink
Tráfego de dados
Canais de Controle Dedicado
Canais de Tráfego
DIREÇÃO
FUNÇÃO
2.4.2 Mapeamento de canais lógicos
Vários canais lógicos GPRS podem ser mapeados no tempo e na freqüência pelo mesmo
canal físico PDCH [3GPP 05.02]. Algumas configurações possíveis para um mapeamento de
canais lógicos em um mesmo PDCH são: (1) PDTCH + PACCH; (2) PCCCH + PDTCH +
PACCH; (3) PBCCH + PCCCH; (4) PBCCH + PCCCH + PDTCH + PACCH.
O mapeamento é efetuado seguindo o conceito “mestre-escravo” [CAI 97]. Através
desse conceito, pelo menos um PDCH atua como um canal mestre, acomodando PCCCHs,
PDTCH e PACCH, os outros 7 PDCHs atuam como escravos sendo usados somente para
transmitir dados do usuário e sinalização dedicada.
2.4.3 Esquemas de codificação de canal
O objetivo da codificação de canal é adicionar bits de redundância à informação original
de modo a detectar e corrigir, se possível, erros ocorridos durante uma transmissão de pacotes
[BATES 02].
15
Uma rede GPRS suporta quatro esquemas de codificação de canal (CS – Coding
Scheme) diferentes [3GPP 03.64] para transmitir blocos de rádio na interface aérea: CS-1, CS2, CS-3 e CS-4, obtendo uma taxa máxima (incluindo cabeçalho e dados) de 9,05, 13,4, 15,6 e
21,4 kbits/s por slot de tempo, respectivamente. Porém, tais esquemas de codificação aceitam
um throughput de dados máximo de 8, 12, 14,4 e 20 kbits/s por slot, respectivamente.
Os PDTCHs podem usar qualquer um dos quatro CSs para transmitir blocos de dados
RLC. Porém, para os blocos de rádio carregando blocos de controle RLC/MAC apenas o CS1 pode ser usado.
Dependendo da qualidade do canal, um CS é escolhido para alcançar uma taxa de dados
mais alta ou um mecanismo mais eficiente de proteção contra erros. Os esquemas CS-3 e CS4 são usados somente quando a relação sinal/interferência no acesso por rádio é alta, isto é,
quando a MS estiver perto do BSS e as condições do canal forem boas, necessitando assim de
uma baixa (CS-3) ou até nenhuma porcentagem de bits de proteção de erro (CS-4).
As redes GSM são capazes de suportar serviços de dados a até 9,6 ou 14,4 kbits/s, uma
vez que estas podem utilizar apenas um canal para a transmissão de dados. Em GPRS, até oito
PDCHs podem ser combinados e usuários podem desfrutar de um throughput de dados teórico
de até 160 kbits/s (CS-4).
2.5 Procedimentos de attach e detach GPRS
Quando uma MS desejar dar início a uma sessão de dados comutada a pacotes, ela
precisa tornar sua presença conhecida, registrando-se com um SGSN da rede. Esse
procedimento é chamado de attach GPRS e ele estabelece um enlace lógico entre a MS e o
SGSN. Os seguintes procedimentos devem ser seguidos para executar um attach em uma rede
GPRS [BATES 02]:
1. A MS envia ao SGSN um pedido de anexação contendo sua identidade (P-TMSI –
Packet Temporary Mobile Subscriber Identity), um NSAPI (Network layer Service
Access Point Identifier) que identifica uma aplicação de rede (como, por exemplo,
um serviço de e-mail) e um identificador da área de roteamento (grupo de células
definido pela operadora da rede) onde ela está localizada;
2. O SGSN verifica, no HLR, se o usuário está autorizado e autenticado para o serviço
em particular;
16
3. Após a autenticação, o SGSN envia uma resposta para a MS contendo um TLLI
específico e temporário que será utilizado pela camada LLC para possibilitar a
comunicação de dados no enlace lógico entre a MS e SGSN;
4. O SGSN mantém uma tabela que contém entradas relacionadas a cada MS
conectada a ele. Quando uma MS se registra com o SGSN, uma nova entrada é
criada na tabela contendo informações que mapeiam a identidade móvel com o
TLLI atribuído a ela e o NSAPI. As entradas da tabela do SGSN são atualizadas
após a ativação de um contexto PDP (seção 2.6).
A desconexão de uma MS da rede GPRS é conhecida por detach GPRS e pode ser
iniciada pela MS ou pela rede. Quando uma MS é desconectada da rede GPRS todos os seus
contextos PDPs ativos são removidos pelo GGSN a pedido do SGSN.
2.6 Ativação de um contexto PDP
Após a MS ter se registrado com um SGSN da sua rede GPRS, ela precisa alocar um ou
mais endereços da camada de rede, chamados de endereços PDP, de modo a enviar/receber
pacotes para/de uma MS residindo em uma PDN externa. Essa operação estabelece uma
associação entre o SGSN com a qual a MS se registrou e o GGSN que mantém o(s)
endereço(s) PDP atribuído(s) a MS, possibilitando a interoperabilidade com PDNs externas.
O registro da associação entre um endereço PDP individual que identifica a aplicação de
um assinante móvel, um SGSN e um GGSN é chamado de contexto PDP. Os seguintes
parâmetros podem ser definidos em um contexto PDP:
•
Endereço PDP (IP ou X.25) e tipo PDP (IPv4, IPv6, X25) atribuído para uma MS;
•
Endereço de um GGSN que serve como ponto de acesso para uma PDN externa;
•
Perfil de QoS: define a QoS esperada por um assinante móvel em termos dos
seguintes atributos (ver descrição detalhada no próximo capítulo): atraso,
confiabilidade, precedência de serviço e throughput.
Uma MS pode possuir vários endereços PDP ativos simultaneamente e estes podem ser
controlados por diferentes GGSNs [BATES 02]. Para cada endereço PDP alocado, um
contexto PDP com um perfil de QoS diferente pode ser criado e uma cópia de cada um desses
contextos ativos é armazenada na MS, no SGSN e no GGSN.
Para estabelecer comunicação com um elemento de uma PDN externa (por exemplo, um
servidor web conectado a Internet), um contexto PDP deve ser ativado. A ativação de um
17
contexto PDP pode ser executada por uma MS ou pela rede (GGSN). Os procedimentos
utilizados para a ativação de um contexto PDP iniciado por uma MS estão ilustrados na
Figura 5 [BATES 02]:
1. Uma MS envia uma mensagem de “Pedido de Ativação de Contexto PDP” para o
SGSN contendo as seguintes informações: um endereço PDP, um tipo PDP, um
APN (Access Point Name) opcional que identifica um GGSN através de um
endereço IP ou um nome lógico, um NSAPI e um perfil de QoS;
2. Para aceitar o perfil de QoS solicitado, o SGSN precisa autenticar a MS e verificar o
contrato de serviço assinado com a operadora de rede em termos dos níveis de QoS;
A qualquer momento, dependendo das condições de carga de uma PLMN GPRS e
dos recursos disponíveis, um perfil de QoS pode ser modificado pelo SGSN;
3. O SGSN envia o APN recebido a um DNS (Domain Name Server) através de um
pedido de busca. O DNS responde ao pedido com uma lista, em ordem de
preferência, dos GGSNs disponíveis para uso. O SGSN seleciona o GGSN
adequado e envia a este uma mensagem de “Pedido de Criação de Contexto PDP”.
Para enviar essa mensagem, um túnel GTP (caminho bi-direcional ponto-a-ponto) é
aberto entre o SGSN e o GGSN, caso este ainda não exista. Esse túnel é identificado
por um TID (Tunnel Identifier);
4. O GGSN responde ao pedido retornando uma mensagem de confirmação “Resposta
de Criação de Contexto PDP” para o SGSN contendo o endereço PDP para a MS e o
perfil de QoS negociado. Além disso, o GGSN atualiza uma das entradas de sua
tabela onde ele mapeia o TID e o endereço IP do SGSN com a MS associada a eles;
5. O SGSN envia uma mensagem para a MS indicando que o contexto PDP solicitado
foi ativado corretamente. Finalmente, o SGSN também atualiza uma entrada de sua
tabela mapeando a identidade móvel com o TID e o endereço IP do GGSN com o
qual ele estabeleceu o túnel.
Quando um pacote destinado a um endereço PDP específico for recebido de uma PDN e
não existir um contexto PDP ativo para esse endereço, o GGSN poderá simplesmente
descartar o pacote ou tentar ativar um contexto PDP com a MS correspondente.
O GGSN, se necessário, pede ao HLR informações de roteamento necessárias para o
endereço PDP. Se o HLR possuir essas informações, ele enviará uma mensagem de
confirmação contendo a IMSI e o endereço IP do SGSN servindo a MS. Caso contrário, o
HLR informará a causa indicando a razão para a resposta negativa. Se uma resposta positiva
for recebida, o GGSN pedirá ao SGSN para enviar uma mensagem a MS (contendo o
18
endereço PDP e o tipo PDP) solicitando a ativação de um contexto PDP. A partir desse
momento, o mesmo procedimento de ativação de contexto PDP ilustrado na Figura 5 é
iniciado pela MS.
BSS
BSC
SGSN
GGSN
BTS
Pedido de Ativação de Contexto PDP (endereço PDP, tipo
PDP, APN, NSAPI, perfil de QoS solicitado)
Funções de Segurança (autenticação)
Aceite da Ativação do Contexto PDP
(endereço PDP, tipo PDP e perfil de
QoS negociado)
Pedido de Criação de Contexto
PDP (endereço PDP, tipo PDP,
APN, NSAPI, perfil de QoS)
Resposta de Criação de Contexto
PDP (endereço PDP, perfil de
QoS negociado)
Figura 5 – Ativação de um contexto PDP
2.7 Estabelecimento de um fluxo de bloco temporário
Quando uma MS tiver pacotes para transmitir ou receber, assumindo que ela já tenha
um contexto PDP ativo com a rede, um segundo contexto de comunicação deve ser aberto no
acesso por rádio através do estabelecimento de um fluxo de bloco temporário (TBF –
Temporary Block Flow) [SAIJA 01]. Um TBF é único para uma dada direção (downlink ou
uplink) sendo utilizado para identificar uma série de blocos RLC/MAC para/de uma MS
específica. Cada TBF possui um TFI (Temporary Flow Identifier) que identifica unicamente
uma transferência de dados completa e distingue TBFs pertencentes a diferentes MSs que
compartilham um mesmo PDCH.
Devido à transferência de dados em uma rede GPRS ser tipicamente caracterizada por
um tráfego intenso de dados intercalados por períodos de tempos ociosos, o TBF e seu TFI
devem ser liberados quando a transmissão/recepção dos pacotes estiver terminada e o seu
recebimento confirmado [BATES 02]. Durante o tempo ocioso a MS não transmite nenhum
pacote, porém, o serviço GPRS ainda pode estar ativo. Assim, quando um novo pacote
precisar ser enviado, um novo TBF deve ser estabelecido. Esse procedimento entre modos
ociosos e modos de transferência de pacotes dura até que o serviço GPRS esteja completo.
Para transmitir pacotes uplink, um TBF é estabelecido seguindo um dos métodos de
acesso randômico: acesso de uma fase e acesso de duas fases (Figura 6(a)).
19
BSS
PRACH
PACCH
PDTCH
PDTCH
Pedido de Canal para Pacote
Atribuição Imediata de Pacote
Pedido de Recurso para Pacote
Atribuição de Recurso para Pacote
Transmissão dos Blocos de Rádio
Reconhecimento Negativo
Retransmissão de blocos com erros
Reconhecimento
(a) Uplink
BSS
PRACH
PAGCH
PACCH
PACCH
PACCH
PACCH
PACCH
PACCH
Pedido de Localização
Pedido de Canal para Pacote
Atribuição Imediata de Pacote
Resposta de Localização
Atribuição de Recurso para Pacote
Transmissão dos Blocos de Rádio
Reconhecimento Negativo
Retransmissão de blocos com erros
Reconhecimento
PPCH
PAGCH
PACCH
PDTCH
PDTCH
(b) Downlink
Acesso Randômico
Localização da MS
Usado somente no acesso randômico de duas fases
Transmissão dos Blocos de Rádio
Figura 6 – Acesso randômico para transferência de pacotes uplink (a) e downlink (b)
Em ambos os métodos de acesso, a MS primeiramente envia uma mensagem de “Pedido
de Canal para Pacote” no PRACH. Cada mensagem desse tipo ocupa um único slot de tempo,
assim, um bloco PRACH pode acomodar até 4 mensagens de pedido de canal.
No caso de um método de uma fase, a mensagem de pedido de canal contém o nível de
prioridade de rádio e o número de blocos solicitados no(s) PDCH(s). O BSS responde ao
pedido enviando a mensagem “Atribuição Imediata de Pacote” no PAGCH contendo a
descrição dos PDCHs uplink reservados para a MS. Caso o BSS não possua PDCHs
disponíveis para atender ao pedido da MS, ele pode escolher colocar os pedidos em uma fila
até que os recursos estejam disponíveis. Nesse caso, o BSS envia uma mensagem notificando
a MS no PCCCH [BATES 02].
No acesso de duas fases, a mensagem “Atribuição Imediata de Pacote” contém apenas
um bloco PACCH alocado para a MS e utilizado por esta para enviar a mensagem “Pedido de
Recurso para Pacote” contendo sua identidade e uma descrição completa dos recursos
solicitados para a transferência de dados. Esse pedido é respondido pelo BSS através da
mensagem “Atribuição de Recurso para Pacote” no PACCH. Nessa mensagem estão
incluídos, entre outros, um TFI único para a MS, o CS utilizado, e a lista do(s) PDCH(s)
uplink alocados para a MS.
Na transferência de pacotes downlink, o BSS inicia a transferência de pacotes enviando
uma mensagem de “Pedido de Localização” no PPCH para localizar a MS destino (ver Figura
6(b)). A MS destino solicita um canal através da mensagem “Pedido de Canal para Pacote” e
o BSS envia a mensagem “Atribuição Imediata de Pacote” reservando os recursos para a MS
responder ao pedido de localização. Após a MS enviar a mensagem “Resposta de
20
Localização”, o BSS envia a mensagem “Atribuição de Recurso para Pacote” contendo a lista
de PDCHs downlink alocados para a MS.
Para cada TBF atribuído a uma MS particular para uma transferência de pacotes
downlink ou uplink, a PCU aloca blocos específicos de canais lógicos em um ou até oito
PDCHs reservados para essa MS. Assim, várias MSs, possuindo diferentes blocos de canais
lógicos, podem compartilhar o mesmo slot de tempo. Se duas ou mais MSs estiverem
compartilhando o mesmo PDCH downlink elas devem escutar todos os blocos de rádio
downlink transmitidos nesse PDCH e comparando o TFI contido nesses blocos com o seu TFI
recebido inicialmente durante o estabelecimento do TBF, a MS sabe para quem o bloco de
rádio é destinado.
Após os blocos de rádio downlink ou uplink serem transmitidos nos slots de tempo
reservados, um pacote de confirmação de recebimento deve ser enviado no PACCH. Quando
os blocos de rádio não são recebidos corretamente, gera-se uma confirmação negativa e os
blocos listados como errados são retransmitidos.
2.8 Roteamento de pacotes de dados
Uma vez que a MS se registrou com o SGSN de sua área de serviço, ativou um contexto
PDP e estabeleceu um TBF ela está pronta para transmitir pacotes de dados.
A Figura 7 mostra um exemplo simples de roteamento de pacotes entre duas MSs em
duas PLMNs GPRS diferentes.
MS
Fonte
MS
Destino
BTS
BSC
BTS
BSC
LAN
GPRS
PLMN 2
GPRS
PLMN 1
SGSN Intra-PLMN
IP backbone
GTP
GGSN
PDN
Internet
Intranet
X.25
Intra-PLMN
IP backbone
GGSN
SGSN
GTP
Figura 7 – Roteamento de pacotes
Cada pacote de dados a ser transmitido é gerado na camada de aplicação da MS fonte e
enviados para a camada de rede. Em cada MS existe uma tabela que armazena informações de
mapeamento da sua identidade móvel com o TLLI e o NSAPI correspondente [BATES 02].
21
A camada SNDCP da MS recebe um pacote de dados original da camada de rede,
contendo como cabeçalho o endereço fonte e o endereço destino. Esse pacote de dados é
encapsulado em um novo cabeçalho, contendo o TLLI e o NSAPI, e enviado para o SGSN da
área de serviço da MS. O SGSN também possui uma tabela que mapeia o TLLI e o NSAPI ao
TID correspondente e ao endereço IP de um GGSN. O pacote recebido pelo SGSN é enviado
para o endereço do GGSN conectado a rede PDN externa.
A comunicação entre o SGSN e o GGSN utiliza uma técnica conhecida como
tunelamento. No processo de tunelamento, o SGSN remove o cabeçalho (TLLI e NSAPI) do
pacote recebido e adiciona um novo cabeçalho GTP contendo o seu endereço IP (endereço
fonte), o endereço IP do GGSN (endereço destino) e o TID. O pacote de dados original é
então transmitido como o campo de carga útil de forma que ele possa ser roteado através da
rede backbone GPRS.
O cabeçalho do pacote recebido do SGSN é removido pelo GGSN e o pacote de dados
original é convertido para o formato PDP apropriado (endereço IP ou X.25), dependendo da
PDN externa. Com base no endereço destino, o pacote é roteado, através de uma PDN, para o
GGSN da PLMN destino. O GGSN ao receber o pacote da PDN, procura em suas tabelas o
endereço IP do SGSN que está servindo a MS destino e o TID correspondente. O GGSN
encapsula o pacote original em um cabeçalho contendo o seu endereço IP, o endereço IP do
SGSN destino e o TID.
Ao receber o pacote enviado através da rede backbone GPRS, o SGSN mapeia o TID e
o endereço GGSN ao TLLI e NSAPI contidos em uma das entradas de sua tabela. Um
cabeçalho contendo o TLLI e o NSAPI é adicionado ao pacote e enviado ao PCUSN. O
PCUSN estabelece um canal de rádio downlink com a MS destino e inicia a transferência do
pacote de dados. A camada SNDCP da MS remove todo o cabeçalho do pacote e apenas o
pacote de dados original contido no campo de carga útil é enviado para a MS destino.
2.9 Gerenciamento de mobilidade GPRS
A função do gerenciamento de mobilidade é manter sempre atualizada a informação
sobre a localização corrente de uma MS (por exemplo, a célula na qual a MS se encontra).
Isso é necessário para evitar que uma mensagem de paging seja enviada para cada pacote a
ser transmitido para uma MS, resultando em um aumento significativo no atraso da entrega do
pacote.
22
Para ilustrar o gerenciamento de mobilidade em GPRS [3GPP 03.60], um modelo de
três estados é ilustrado na Figura 8. Uma MS pode estar em um dos seguintes estados:
•
IDLE: nesse estado uma MS é desconhecida para a rede GPRS, uma vez que
nenhuma mensagem de atualização de localização é transmitida. No estado idle,
uma MS recebe apenas mensagens multicast que podem ser recebidas por qualquer
MS GPRS. Caso uma MS queira se tornar conhecida, ela precisará se conectar a
rede, executando a transição GPRS attach e passando para o estado READY;
•
READY: a partir do momento que uma MS executa um attach e entra no estado
ready ela pode dar início a uma transferência de dados. Nesse estado, um timer é
iniciado para marcar o tempo de ociosidade da MS, isto é, caso uma MS não esteja
enviando ou recebendo PDUs por um longo período de tempo, esse timer irá expirar
e a MS alcançará o estado STANDBY. A MS também poderá retornar ao estado
IDLE caso queira se desconectar da rede, executando a transição GPRS detach. No
estado READY não é necessário o envio de mensagens de paging pois, a cada
mudança para uma nova célula, a MS envia uma mensagem de atualização de
localização para o seu SGSN corrente contendo o identificador da célula na qual
está residindo no momento;
•
STANDBY: nesse estado, o SGSN conhecerá apenas a área de roteamento de cada
MS. Quando um pacote for destinado a uma MS que esteja nesse estado, será
necessário enviar uma mensagem de paging para a área de roteamento na qual essa
MS está localizada. A MS destino responde ao paging retornando a célula na qual
está residindo atualmente. Caso a MS mude para uma nova área de roteamento, essa
mudança de localização será informada ao seu SGSN. A partir desse estado, uma
MS pode atingir o estado IDLE, caso o timer STANDBY expire, ou o estado READY
se PDUs começarem a ser transmitidos ou recebidos.
Timer STANDBY expirou
Timer READY expirou
ou Mudança forçada
para STANDBY
attach
IDLE
READY
detach
STANDBY
Transmissão
de PDU
Figura 8 – Modelo de estados para gerenciamento de mobilidade de uma MS
23
2.10 Conclusão
O serviço GPRS foi introduzido como uma extensão para as redes celulares de segunda
geração existentes, tais como GSM. Aplicando seu princípio de comutação por pacotes para a
transferência de dados de usuários e sinalização, operadoras de redes GPRS podem
proporcionar conectividade entre seus assinantes móveis e outras redes de dados de pacotes
como a Internet.
Como demonstrado de modo impressionante pela Internet, redes comutadas a pacote
otimizam a utilização de recursos escassos e fornecem tempos de acessos mais rápidos. Na
interface aérea de uma rede GPRS, os recursos de rádio e da rede são alocados
temporariamente quando usuários móveis estiverem enviando ou recebendo dados, ao
contrário, por exemplo, de uma rede GSM comutada a circuito onde os recursos são
atribuídos para um usuário por toda a duração de uma conexão. Com isso, a tarifação em uma
rede GPRS pode ser baseada no volume de dados transferidos, proporcionando serviços com
custos relativamente mais baixos.
Por permitir uma alocação de recursos flexível e dinâmica, possibilitando que um ou
mais canais físicos sejam atribuídos para um mesmo usuário móvel durante uma transferência
individual de pacote, uma rede GPRS é capaz de suportar maiores taxas de dados viabilizando
a aplicação de serviços multimídias (vídeo, voz e dados).
Entretanto, aplicações multimídia necessitam de um tratamento diferenciado em termos
da diversidade de parâmetros de QoS exigidos. De modo a garantir tais exigências de QoS,
especificados em um contrato de prestação de serviço para um assinante móvel, mecanismos
de gerenciamento de QoS devem ser aplicados em uma rede GPRS.
No próximo capítulo é apresentado o termo QoS em GPRS, os atributos de QoS que
podem ser especificados em um contrato de serviço e alguns mecanismos propostos por
diferentes autores em busca de um gerenciamento de QoS eficiente para atender às
necessidades de certos serviços.
3 Qualidade de Serviço (QoS) em Redes Móveis Sem Fio
3.1 Introdução
Desde o início da década de 1990 vem se buscando a convergência das redes de
comunicação, isto é, transportar todos os tipos de serviços na mesma infra-estrutura de rede.
Espera-se, por exemplo, que redes móveis sem fio integrem diferentes tipos de mídias como
áudio, vídeo e texto utilizados por seus usuários. Porém, o tráfego gerado por essas mídias é
altamente diversificado e impõe exigências únicas de QoS para o seu desempenho na rede.
QoS é um termo amplo utilizado para descrever a experiência total percebida por um
usuário ou aplicação em uma rede [NORTEL 01].
Atender aos requisitos de desempenho de diferentes aplicações, em termos da
disponibilidade da rede, largura de banda, atraso, variação de atraso e taxas de confiabilidade
na transmissão de dados, é uma das principais metas de pesquisa na área de QoS.
Muitas aplicações são sensíveis a atrasos como, por exemplo, os serviços de voz. Essas
aplicações impõem limites rígidos para o tempo de transferência de pacotes do ponto de
origem ao ponto de destino da rede e a variação no atraso entre os pacotes consecutivos deve
ser compensada.
Outros tipos de aplicações, tais como aplicações de transferência de arquivos,
caracterizadas por fluxos intensos de dados intercalados por períodos de inatividade, não são
sensíveis a atrasos embora exijam uma recepção confiável dos dados transmitidos.
Um problema fundamental em fornecer um nível adequado de qualidade para a correta
operação de diferentes aplicações em redes móveis sem fio é gerenciar a escassa largura de
banda. Devido às características de mobilidade, restrições de energia e alta variabilidade da
qualidade do enlace de comunicação sem fio, a utilização adequada desse recurso de rádio se
torna um desafio para a rede, principalmente em condições de congestionamento.
O nível de QoS percebido pode ser analisado, principalmente, sob o ponto de vista da
camada de aplicação, uma vez que nela se encontra o usuário final responsável pela
negociação dos requisitos de desempenho exigidos por sua aplicação e pela verificação do
cumprimento ou não desses requisitos.
A próxima seção descreverá alguns requisitos de QoS exigidos por um conjunto de
aplicações. Esses requisitos devem ser medidos e monitorados periodicamente para assegurar
que um determinado serviço esteja sendo adequadamente fornecido aos usuários da rede.
25
3.2 Requisitos de QoS
Diferentes requisitos de QoS, tais como disponibilidade da rede, largura de banda,
atraso, variação de atraso e confiabilidade dos dados, podem ser negociados com uma
operadora de rede durante a assinatura de um contrato de prestação de serviço.
A Tabela 2 ilustra os requisitos de QoS definidos para algumas aplicações comumente
aceitos por um usuário final [3GPP 22.105]. Esses requisitos podem variar de aplicação para
aplicação de acordo com as características desejadas para o serviço oferecido pela rede.
Tabela 2 – Requisitos de QoS definidos para um conjunto de aplicações
Taxa de dados
Variação Perda de
Atraso
(kbit/s)
de Atraso dados
fim-a-fim
Acesso Remoto (Telnet)
<1
< 250ms
Zero
Áudio Streaming (Música)
5-128
<10s
<2s
< 1%
Correio Eletrônico (e-mail)
Melhor esforço
Zero
Mensagem de Voz
4-13
< 1s
< 1 ms
< 3%
Transferência de Arquivos (FTP)
< 384
<10s
Zero
Vídeo One-way
20-384
<10s
<2s
< 2%
Aplicação
Aplicações que utilizam o protocolo telnet para acessar remotamente uma máquina, são
sensíveis ao atraso. Usuários do telnet requerem um echoback de caractere quase instantâneo,
pois, com a opção remote echo, um caractere digitado não aparece na tela enquanto o mesmo
não for reconhecido e ecoado pela entidade remota [OPPENHEIMER 01]. Além disso, por ser
sensível a confiabilidade, uma aplicação telnet requer o uso do protocolo TCP para fornecer
um transporte confiável dos caracteres digitados.
A aplicação de áudio streaming é caracterizada por um fluxo de dados unidirecional e
por taxas de transmissão contínuas. Ela requer um certo nível de QoS quanto ao atraso de
inicialização da chegada dos pacotes e a variação de atraso entre o transporte dos pacotes, mas
é tolerante a perdas ocasionais de pacotes.
A aplicação de correio eletrônico (e-mail) é considerada como um serviço de melhor
esforço, chamado “best effort”, no qual sua única preocupação reside em entregar os dados
corretamente para uma outra entidade participante da comunicação, sem impor restrições de
atraso e garantias de throughput.
O tráfego gerado por uma aplicação de mensagem de voz é caracterizado como
contínuo com taxas de dados constantes (CBR – Constant Bit Rate). Essas aplicações são
26
sensíveis a atrasos fim-a-fim e a variação de atraso entre seus pacotes pode tornar o sinal de
áudio incompreensível.
A aplicação de transferência de arquivos é uma mídia de texto caracterizada por um
tráfego em “rajada” claramente influenciado pelo tamanho do arquivo sendo transferido na
rede. O atraso máximo na transferência dos dados e suas variações não constituem um grande
problema para essa aplicação. Porém, serviços livres de erros são exigidos.
As aplicações de vídeo one-way geram um tráfego unidirecional, contínuo e com taxas
de quadros constantes. Para obter uma boa qualidade na apresentação de um vídeo e, caso a
taxa dos quadros de vídeo sofra variações ao longo do tempo (por exemplo, devido ao uso de
técnicas de compactação de dados), os quadros devem ser reproduzidos no destino a uma taxa
constante e em uma determinada seqüência [LUNARDI 01]. O atraso exigido por um usuário
de uma aplicação de vídeo diz respeito ao tempo de inicialização destinado à captura de uma
seqüência de imagens, reprodução e a recepção do primeiro quadro. Um vídeo não impõe um
atraso rígido para esse tempo de inicialização, porém um certo limite deve ser imposto para a
variação máxima de atraso permitida entre os quadros de um determinado fluxo.
Uma vez negociados os requisitos de cada aplicação, os elementos da rede devem ser
capazes de fornecer os recursos necessários ao longo do caminho de comunicação para que a
conexão consiga operar dentro de sua exigência de QoS.
Para fornecer um tratamento diferenciado a cada tráfego gerado em uma rede móvel
sem fio, enquanto atendendo seus requisitos contratados, diferentes mecanismos de QoS
podem ser utilizados, entre os mais comuns destacam-se:
•
Controle de admissão de chamadas (CAC): responsável pela decisão local de
aceitação ou rejeição de pedidos de conexão;
•
Reserva de recursos necessários na rede para assegurar a disponibilidade da
qualidade requerida durante a operação de uma aplicação;
•
Policiamento de pacotes: responsável pelo controle de congestionamento na rede,
evitando que fluxos mal comportados excedam sua porção de largura de banda
negociada;
•
Escalonamento de pacotes: determina a ordem na qual cada fluxo de dados
pertencente a uma aplicação em particular deve ser transmitido.
Uma descrição mais detalhada dos mecanismos de QoS citados acima é apresentada na
próxima seção.
27
3.3 QoS em GPRS
QoS em GPRS é definido como o efeito coletivo dos desempenhos de serviço que
determina o grau de satisfação de um usuário do serviço [KARAGIANNIS 00].
De modo a oferecer qualidade aos serviços de dados e voz dos assinantes móveis, o
ETSI definiu quatro classes de QoS para uma rede GPRS [3GPP 03.60]:
Atraso: determina valores máximos para o tempo de transferência de pacotes fim-afim entre duas entidades. A Tabela 3 apresenta as quatro classes de atraso definidas
para uma rede GPRS. Dois parâmetros de atraso são especificados para tamanhos de
pacotes de 128 e 1024 octetos: o atraso médio e o atraso máximo garantido em 95
por cento de todas as transferências;
Confiabilidade: representa valores máximos aceitos por uma aplicação em termos
da probabilidade de pacotes perdidos, duplicados e entregues fora de seqüência;
Precedência de serviço: define três níveis de prioridade para um serviço: 1
(prioridade alta), 2 (prioridade normal) e 3 (prioridade baixa). Em caso de
congestionamento na rede, serviços com uma prioridade mais alta receberão um
melhor tratamento;
Throughput: especifica a taxa de dados máxima em octetos por segundo e a taxa de
dados média em octetos por hora esperados em uma transferência de pacotes na
rede. Nove classes são definidas para a taxa de dados máxima, variando de 8 kbit/s
até 2048 kbit/s, e dezenove classes definem diferentes taxas de dados média que
variam entre 100 octetos por hora (~0,22 bit/s) e 50 Moctetos por hora (~111 kbit/s).
Tabela 3 – Classes de Atraso GPRS
Classe
Tamanho dos Pacotes
128 octetos
1024 octetos
1
2
3
4
Atraso Médio
Atraso 95%
Atraso Médio
Atraso 95%
< 0,5s
< 1,5s
< 2s
< 7s
< 5s
< 25s
< 15s
< 75s
< 50s
< 250s
< 75s
< 375s
Melhor Esforço Melhor Esforço Melhor Esforço Melhor Esforço
As classes de QoS são negociadas pela MS e a rede GPRS na assinatura de um contrato
ou durante o estabelecimento de uma chamada. Através da combinação dessas classes, vários
perfis de QoS podem ser definidos e cada perfil é armazenado em um contexto PDP diferente.
28
De modo a utilizar mais eficientemente os recursos da rede, os contextos PDPs podem
ser diferenciados com base em um assinante móvel ou em uma aplicação (por exemplo: email e mensagem de voz), tratando-os com respeito às suas exigências reais.
Uma vez negociado um perfil de QoS com uma MS, a rede GPRS deverá prover
recursos adequados para satisfazer as exigências quanto à qualidade de serviço.
3.4 Fases de gerenciamento de QoS em GPRS
Embora o ETSI tenha especificado diferentes classes de QoS, ainda não há nenhuma
especificação técnica disponível que defina mecanismos para gerenciar a qualidade em redes
GPRS. A utilização desses mecanismos é fundamental para evitar o congestionamento e a
degradação de desempenho em uma rede sem fio.
Obviamente, para garantir uma qualidade fim-a-fim aos usuários móveis GPRS, a
qualidade de serviço nas PDNs externas também precisa ser considerada. A arquitetura de
uma rede Internet, por exemplo, foi inicialmente projetada para transportar apenas serviços de
melhor esforço. Porém, esse tipo de serviço não atende aos requisitos das novas aplicações
(principalmente voz e vídeo). No sentido de prover QoS na Internet duas linhas de pesquisa
estão sendo desenvolvidas pelo IETF (Internet Engineering Task Force): os serviços
integrados e os serviços diferenciados [RFC 1633, RFC 2475].
Entretanto, uma vez que a largura de banda na interface aérea é, normalmente, o recurso
mais escasso em uma rede móvel sem fio e a questão de provisão de QoS em redes fixas está
fora do escopo deste trabalho, o esforço quanto ao gerenciamento de QoS em GPRS se
aplicará apenas à interface aérea, assumindo, então, que a Internet seja capaz de suportar
diferentes tipos de mídias enquanto provendo seus requisitos de QoS.
O gerenciamento de QoS em GPRS tem recebido uma atenção especial dos
pesquisadores. Em [TSAO 00] foi proposto um conjunto de mecanismos aplicados em
diferentes elementos de uma rede GPRS de modo a alcançar as exigências de QoS
especificadas em um contrato de serviço. A melhoria no desempenho e na capacidade obtida
através do gerenciamento de QoS em GPRS é avaliada em [STUCKMANN 01].
Segundo [TSAO 00], o gerenciamento de QoS em uma rede GPRS pode ser separado
em duas fases. Na primeira fase ocorre o CAC e a reserva de recursos de rádio. Em GPRS, o
CAC é executado durante a ativação de um contexto PDP, enquanto os recursos são alocados
durante o estabelecimento de um TBF. Uma vez estabelecido um TBF, pode-se dar início a
29
segunda fase do gerenciamento que envolve o policiamento e o escalonamento dos blocos de
rádio no BSS para regular o tráfego e assegurar a qualidade durante uma transferência.
3.4.1 Controle de admissão de chamadas (CAC)
O CAC em GPRS é executado pelos elementos SGSN e GGSN quando for solicitada a
ativação de um contexto PDP [STUCKMANN 01]. Quando uma MS desejar dar início a uma
transferência de dados ela deve alocar um endereço PDP através do envio de uma mensagem
de pedido de ativação de um contexto PDP. Nessa mensagem a MS requisita um perfil de
QoS contendo as classes de serviços (atraso, confiabilidade, precedência de serviço e
throughput) que melhor atendam as exigências de sua aplicação corrente.
Com base na comparação do perfil de QoS solicitado e da disponibilidade de recursos e
carga de uma célula em particular, um algoritmo de CAC é executado para decidir se uma
determinada aplicação pode ou não ser admitida.
No controle de admissão para o tráfego downlink, o SGSN utiliza os parâmetros de
controle de fluxo ajustados pelo BSS, tais como: a quantidade de espaço em buffer para um
dado circuito virtual entre o BSS e o SGSN e a quantidade média de tráfego de dados que o
BSS pode transmitir nesse circuito [BILGIC 99].
O GGSN participa do CAC determinando se ele tem capacidade disponível em sua
interface com o SGSN e com outras redes de dados externas.
Os atributos de throughput médio e máximo, especificados no perfil de QoS, podem ser
analisados para verificar se há largura de banda disponível na interface aérea, uma vez que
esta representa o ponto de “gargalo” da rede.
Com respeito aos recursos de rádio de uma rede sem fio, o objetivo de um controle de
admissão é limitar o número de conexões de tal forma que, uma vez que uma conexão é
admitida, a probabilidade dela encontrar um estado congestionado seja aceitavelmente baixa,
provendo a qualidade de serviço exigida [NAGHSHINEH 95]. Por essa razão, a probabilidade
de bloqueio de uma conexão ativa em uma rede GPRS deve ser utilizada como uma métrica
fundamental de QoS para todos os tipos de fontes de tráfego.
Após as exigências terem sido aceitas, o contexto PDP pode ser ativado e a rede GPRS
deve ser capaz de fornecer os recursos requisitados durante o período de atividade de uma
conexão. Caso contrário, se a rede não for capaz de suprir as exigências solicitadas, um novo
perfil de QoS deverá ser renegociado.
30
Atualmente, grande parte dos algoritmos de CAC propostos na literatura está sendo
aplicada a redes móveis sem fio. Com base nos requisitos de QoS fornecidos pelos usuários
móveis, em [OLIVEIRA 98] é proposto um esquema de CAC e reserva de recursos adaptativa
para garantir a qualidade exigida por diferentes tráfegos multimídia transportados em redes
sem fio de alta velocidade. Para isso os autores classificam um tráfego multimídia em duas
classes distintas: classe de tráfego em tempo real e classe de tráfego não tempo real. Para o
tráfego em tempo real, caracterizado pelas aplicações sensíveis a atrasos, a conexão é aceita
somente se a largura de banda requisitada puder ser reservada na célula onde o pedido é
originado e nas suas células adjacentes. Para o tráfego não tempo real, caracterizado pelos
serviços de melhor esforço, a largura de banda solicitada é alocada apenas na célula corrente.
De modo a oferecer diferentes tipos de mídias aos usuários móveis de uma rede GPRS,
o algoritmo descrito anteriormente é adaptado no presente trabalho para se adequar ao
funcionamento da rede e, juntamente com a funcionalidade de um escalonador, atender aos
requisitos rígidos de QoS (tais como atraso fim-a-fim, variação de atraso e throughput)
impostos por um conjunto de aplicações. Essa adaptação é descrita no próximo capítulo.
3.4.2 Alocação de recursos de rádio
A alocação de recursos de rádio é executada pelo BSS durante o estabelecimento de um
TBF de acordo com o contrato de QoS negociado entre uma MS e a rede GPRS.
Com base na classe de throughput, o BSS pode determinar a porção da largura de banda
que deve ser alocada, dinamicamente ou estaticamente, para uma determinada aplicação de
modo que esta transmita seus pacotes de acordo com a taxa de dados negociada.
Em uma alocação estática (ou fixa), cada canal é atribuído durante o período inteiro de
uma conexão. Conseqüentemente, esse tipo de alocação contribui para o desperdício da
largura de banda total disponível no sistema, quando o canal fica ocioso, isto é, não ocorre
transmissão de dados, durante o intervalo de tempo no qual a porção da largura de banda foi
alocada para a conexão. Por esse motivo, a maioria dos sistemas opta por alocar seus canais
dinamicamente à medida que os mesmos são necessários.
Em [TRIPATHI 00] são propostos dois algoritmos para a alocação de canal fixa e
dinâmica em GPRS. O desempenho desses algoritmos foi analisado através da simulação de
uma rede GPRS downlink e dois modos de operações foram considerados para as MSs:
operação multislot e operação utilizando apenas um único slot de tempo para a recepção dos
dados. Os resultados demonstraram que a alocação de canal dinâmica provê uma melhor
31
eficiência na utilização dos recursos de rádio, principalmente com uma alta taxa de pedido de
canal, devido aos recursos serem liberados imediatamente após sua utilização e serem
distribuídos justamente entre todos os TBFs estabelecidos.
3.4.3 Policiamento
Após a conexão ser aceita e os recursos serem alocados, o policiamento é executado
durante a transmissão de dados para regular o tráfego e assegurar o perfil de QoS negociado.
O policiamento pode ser aplicado no SGSN e no GGSN para policiar os pacotes de
entrada e manter o tráfego abaixo da taxa máxima admitida. Assim, quando um fluxo mal
comportado estiver acima de sua taxa máxima negociada, o comportamento do policiamento
pode incluir um atraso na entrega dos pacotes, o descarte ou alterar o perfil de QoS negociado
com a aplicação. O principal objetivo do policiamento é fornecer justiça entre aplicações
pertencentes a uma mesma classe de atraso e precedência de serviço, além de controlar o
congestionamento em uma determinada célula.
3.4.4 Escalonamento
Muitos dos problemas encontrados em uma rede sem fio estão relacionados com a
alocação de uma quantidade limitada de recursos de rádio para um número cada vez maior de
aplicações. Quando há contenção de recursos, é fundamental que os recursos disponíveis
sejam alocados e escalonados de forma eficiente e justa. Para isso ser possível é necessário o
emprego de sistemas de filas. As filas são utilizadas para armazenar eventos, tais como
chamadas telefônicas ou pacotes, ocorridos em tempos randômicos, organizá-los em
seqüência e servi-los de acordo com uma disciplina de escalonamento de fila.
Em GPRS, uma disciplina de escalonamento de filas é implementada por um
escalonador localizado na unidade de controle de pacotes (PCU) do BSS [SAU 98].
No downlink o escalonamento pode ocorrer na chegada de um bloco de dados RLC na
camada MAC do BSS enquanto no uplink o escalonamento ocorre quando chega um pedido
de recurso, contido em um bloco de controle RLC/MAC, para dar início a uma transferência
de dados. Um cabeçalho MAC é adicionado a esses blocos, formando um bloco de rádio. A
camada MAC do BSS é, então, responsável por escalonar os blocos de rádio pela interface
aérea em ambas as direções, com o objetivo de satisfazer os contratos de serviço de todos os
assinantes móveis.
32
Com base no perfil de QoS contido em um contexto PDP associado a um TBF, o
escalonador toma a decisão de quais blocos de rádio devem ser servidos. Os blocos de rádio
que chegam no BSS podem ser distribuídos em uma ou mais filas distintas de acordo, por
exemplo, com sua classe de precedência de serviço. Dentro das filas, esses blocos são
escalonados seguindo uma disciplina de escalonamento de filas.
O objetivo da próxima seção é introduzir conceitos fundamentais relacionados a um
sistema de filas e descrever algumas disciplinas tradicionais de escalonamento de filas.
3.5 Disciplinas de escalonamento de filas
Um aspecto fundamental para garantir o nível de qualidade exigido por diferentes fluxos
de dados, principalmente àqueles pertencentes a diferentes mídias, é minimizar o
congestionamento ocorrido na maioria das redes de comunicação. Isso se faz necessário, pois
uma rede congestionada reduz o seu throughput, em termos da quantidade de dados livres de
erros que alcançam o destino, aumenta o atraso fim-a-fim na transmissão dos pacotes e, pode
ocasionar perdas de pacotes caso não haja espaço suficiente em uma área de armazenamento
(chamada “buffer” ou “fila”) para manter os pacotes que aguardam para serem transmitidos.
De modo a controlar o tráfego total transportado em uma rede, esta pode ser
representada como um sistema de filas [GIOZZA 86].
Um sistema de filas é composto por clientes (nome genérico usado para designar um
pacote ou um bloco de rádio) e por um ou mais servidores (ou canais de serviços) que
representam o meio de transmissão entre os elementos da rede. Conforme ilustra a Figura 9,
os clientes chegam a um sistema de filas requisitando um certo serviço (como, por exemplo, a
transmissão de pacotes), esperam em uma fila até serem atendidos (caso o serviço não esteja
disponível imediatamente) e eventualmente partem do sistema após receberem o serviço
desejado. É importante lembrar que os clientes podem sair do sistema sem serem atendidos.
FILA
Chegada de
Clientes
n
...
3
2
1
Canal de
Serviço
tempo de espera
n, número de cllientes
esperando pelo serviço
tempo de serviço
Figura 9 – Sistema de filas
Partida de
Clientes
33
A chegada de clientes em um sistema de filas pode ser definido como o número médio
de chegadas de clientes por unidade de tempo (λ) ou pelo intervalo médio de tempo entre as
chegadas dos clientes (1/λ). Para o caso de um sistema com apenas uma fila e um canal de
serviço, a taxa de utilização do canal de serviço (ρ), pode ser calculada por:
ρ = λ.µ
(2.1)
onde:
µ representa o tempo médio de serviço para cada cliente.
Considerando o próximo valor inteiro (absoluto) de ρ, obtido a partir da equação 2.1,
pode-se determinar a intensidade de tráfego, medida em “Erlang”, ou o número mínimo de
canais de serviço necessário para atender um dado fluxo de tráfego [PRADO 99]. Por
exemplo, se em média 30 clientes chegam no sistema por hora (λ = 30) e µ = 0,05, isto é, em
média 20 clientes/hora (1/µ) são atendidos por um canal de serviço, são necessários no
mínimo 2 canais de serviço para atender esse fluxo de tráfego.
No caso de um sistema com uma fila e χ canais de serviço, a expressão 2.1 se torna:
ρ = λ.µ/χ
(2.2)
Segundo Little, em um sistema estável de filas (onde os servidores são sempre capazes
de atender ao fluxo de chegada de clientes), pode-se calcular o número médio de clientes em
uma fila (n) e o número médio de clientes no sistema (s), respectivamente, por [PRADO 99]:
n = λ. Tf
(2.3)
s = λ. Ts
(2.4)
onde:
Tf representa o tempo médio gasto por um cliente esperando um serviço em uma fila;
Ts representa o tempo médio gasto por um cliente no sistema.
De forma geral, um sistema de filas pode ser descrito pela notação de Kendall,
A/B/X/Y/Z [PITTS 00], onde:
A especifica a distribuição do tempo de interchegada de clientes no sistema;
B especifica a distribuição do tempo de serviço para cada cliente;
X especifica o número de servidores que podem atender os clientes simultaneamente;
Y especifica a capacidade máxima do sistema caracterizada pelo número de canais de
serviço e pela capacidade de vagas na fila;
Z especifica a disciplina de escalonamento de fila utilizada para descrever a ordem na
qual os clientes na (s) fila (s) são atendidos pelo (s) servidor (es).
34
Um exemplo de um sistema de filas clássico para modelar situações reais é o M/M/1.
“M” se refere a um processo de Markov (ou Poisson), isto é, o tempo de interchegada de
clientes no sistema e o tempo de serviço são descritos por uma distribuição exponencial
negativa. “1” indica que o sistema possui apenas um servidor. A omissão de Y/Z indica que a
capacidade do sistema é infinita e a disciplina de escalonamento serve os clientes na ordem
em que eles chegam na fila (FIFO - First In First Out).
Diferentes disciplinas de escalonamento podem ser empregadas para gerenciar uma ou
mais filas criadas dentro de um sistema de filas. O objetivo de uma disciplina de
escalonamento é controlar o acesso a uma porção fixa da largura de banda ao selecionar a
ordem na qual os pacotes devem ser transmitidos e se algum pacote deve ser descartado.
Uma disciplina de escalonamento ideal deve ser de fácil implementação, preservar a
justiça no compartilhamento de recursos e permitir que um fluxo mal comportado não degrade
o desempenho de outros fluxos.
A seguir são descritas algumas disciplinas de escalonamento de filas amplamente
discutidas na literatura [SEMERIA 01].
3.5.1 FIFO (First In First Out)
A disciplina de escalonamento mais comumente utilizada e mais simples é a FIFO
(First-In-First-Out). Os eventos contidos em uma fila FIFO são tratados igualmente e
servidos estritamente na mesma ordem em que chegam na fila. Um problema inerente a essa
disciplina é que algumas fontes de tráfego podem gerar pacotes cujos tamanhos podem variar
de poucos bits a milhões de bytes. Essa alta variabilidade no tamanho dos pacotes reduz a
eficácia de uma fila FIFO, pois pacotes pequenos podem ter que esperar por um longo tempo
até que pacotes mais longos sejam transmitidos. Isso pode resultar em um aumento
significativo no atraso e/ou perda de alguns pacotes.
3.5.2 PQ (Priority Queuing)
A disciplina de escalonamento PQ (Priority Queuing) permite que sejam atribuídas
prioridades aos diferentes tráfegos gerados na rede. Após ser classificado pelo sistema de
acordo com sua classe de serviço, um determinado pacote é armazenado em uma fila
correspondente a seu nível de prioridade. As filas são servidas na ordem de suas prioridades
35
sendo que cada uma receberá serviço somente se todas as outras filas de maior prioridade
estiverem vazias. Dentro de cada fila, os pacotes são escalonados seguindo a disciplina FIFO.
A disciplina PQ pode ser configurada para operar de dois modos [SEMERIA 01]:
SPQ (Strict Priority Queuing): assegura que os pacotes pertencentes a uma fila de
alta prioridade sejam sempre servidos antes dos pacotes das filas de mais baixa
prioridade. Porém, uma quantidade excessiva de tráfego de alta prioridade pode
causar a saturação da largura de banda e a perda de pacotes de menor prioridade;
RCPQ (Rate-Controlled Priority Queuing): permite que pacotes de maior prioridade
sejam escalonados antes de pacotes de menor prioridade se, e somente se, a
quantidade de tráfego na fila de alta prioridade permanecer abaixo de um limite
configurado pelo usuário para condicionar o tráfego na rede. Porém, se torna difícil
configurar limites para a porcentagem máxima de largura de banda alocada para
uma determinada fila, quando não se conhece o tamanho dos pacotes, o volume e o
comportamento do tráfego gerado por certas classes de serviço.
3.5.3 FQ (Fair Queuing)
Em 1987, John Nagle [SEMERIA 01] propôs a disciplina de escalonamento FQ (Fair
Queuing). Essa disciplina classifica os pacotes recebidos pela rede em fluxos e para cada
fluxo há uma fila dedicada unicamente a ele. Isolando cada fluxo em sua fila, preveni-se que
um fluxo mal comportado degrade o desempenho de outros fluxos. O escalonador visita as
filas não vazias de modo circular, servindo um pacote de cada fila por vez. O objetivo da FQ é
alocar a mesma quantidade de largura de banda para todos os fluxos: ela não foi projetada
para dar suporte a fluxos com necessidades diferentes de largura de banda.
3.5.4 WFQ (Weighted Fair Queuing)
A disciplina de escalonamento WFQ (Weighted Fair Queuing) suporta fluxos com
diferentes necessidades de largura de banda, atribuindo a cada fila uma porção da largura de
banda. A WFQ também oferece suporte a pacotes com tamanhos variáveis, provendo uma
alocação justa de largura de banda de modo que fluxos com pacotes maiores não aloquem
mais banda que fluxos com pacotes menores.
Dada a taxa de bits da porta de saída, o número de filas ativas, a porção da largura de
banda alocada para cada fila e o tamanho dos pacotes de cada fila, a disciplina WFQ calcula e
36
atribui um número para cada pacote de entrada que representa a ordem na qual os pacotes
devem ser escalonados [SEMERIA 01]. O escalonador seleciona e transmite o pacote que
possuir o menor número dentre todos os pacotes armazenados nas filas existentes no sistema.
A implementação da WFQ exige uma alta carga computacional o que causa impacto na
sua escalabilidade quando for oferecido suporte a um número grande de classes de serviço.
3.5.5 WRR (Weighted Round Robin)
Na disciplina WRR (Weighted Round Robin), também referenciada como CBQ (Classbased Queuing), cada pacote de chegada é classificado em uma classe de serviço (por
exemplo, serviço em tempo real) e atribuído a uma fila dedicada exclusivamente a essa classe.
De modo a evitar saturação da largura de banda, a disciplina WRR assegura que todas
as classes de serviço tenham acesso à pelo menos alguma quantidade da largura de banda total
da rede. Essa disciplina suporta fluxos com diferenças mais significativas quanto às
necessidades de largura de banda. Durante um ciclo de serviço de um escalonador, uma fila
com uma maior largura de banda pode enviar dois ou mais pacotes de uma só vez quando for
visitada ou, se em cada visita for permitido o envio de apenas um pacote por fila, o
escalonador poderá visitar várias vezes essa fila.
A principal limitação da disciplina WRR é que ela somente fornecerá uma porcentagem
justa de largura de banda para cada fila se todos os pacotes em todas as filas forem do mesmo
tamanho ou se o tamanho médio dos pacotes for conhecido a priori [SEMERIA 01].
3.5.6 DRR (Deficit Round Robin)
Em 1995, a disciplina DRR (Deficit Round Robin) foi proposta por Shreedhar e
Varghese [SHREEDHAR 95].
Em uma disciplina DRR, cada fila é configurada com três parâmetros [SEMERIA 01]:
1. Peso[i]: determina a porcentagem de largura de banda alocada para a fila i;
2. ContadorDeficit[i]: especifica o número total de bytes que a fila i pode transmitir
cada vez que for visitada pelo escalonador;
3. Quantum[i]: proporcional ao Peso[i] de uma fila e expresso em bytes. Se
Quantum[i] = 2*Quantum[j], então a fila i receberá uma porcentagem de largura de
banda duas vezes maior do que a fila j, quando ambas as filas estiverem ativas.
37
A Figura 10 ilustra o pseudocódigo do algoritmo DRR proposto em [SHREEDHAR
95].
FOR i=1 to n
ContadorDeficit[i] = 0;
/* Função Enqueue() na chegada de um pacote */
i = índice da fila onde o novo pacote será armazenado
IF (ExisteNaListaAtiva(i) = FALSE) THEN
InsereNaListaAtiva(i);
ContadorDeficit[i] = 0;
IF (não há buffer livre) THEN
LiberaBuffer();
Enqueue(i,p); /* Armazena o pacote p no final da fila i */
/* Função Dequeue() */
WHILE (TRUE) DO
IF (ListaAtiva não vazia) THEN
i = índice da fila armazenada no topo da lista de filas ativas
ContadorDeficit[i] = ContadorDeficit[i] + Quantum[i];
WHILE (ContadorDeficit[i] > 0) AND (Fila[i] não vazia) DO
TamanhoPacote = Tamanho(Topo(Fila[i]));
IF (TamanhoPacote <= ContadorDeficit[i]) THEN
Envia(Dequeue(Fila[i]);
ContadorDeficit[i] = ContadorDeficit[i] – TamanhoPacote
ELSE break;
IF (FilaVazia(Fila[i])) THEN
RemoveDaListaAtiva(i);
ContadorDeficit[i] = 0;
ELSE InsereNaListaAtiva(i);
Figura 10 – Pseudocódigo da disciplina de escalonamento DRR
Inicialmente, a variável ContadorDeficit[i] de todas as n filas são inicializadas com
zero. A função Enqueue() é utilizada para armazenar os pacotes de chegada em suas
respectivas filas e gerenciar a lista de filas ativas. A lista de filas ativas contém os índices das
filas que possuem pelo menos um pacote armazenado, evitando que um escalonador visite
38
filas vazias durante seu ciclo de serviço. Quando um pacote chega a uma fila vazia, o índice
dessa fila é inserido no final da lista de filas ativas através da função InsereNaListaAtiva(i). A
função LiberaBuffer() é chamada caso não haja buffer disponível para armazenar um pacote.
Assim, o pacote no final da fila mais longa, dentre todas as filas ativas, será descartado,
seguindo o esquema de “roubo” de buffer proposto em [McKENNEY 90].
A primeira fila a ser servida durante o ciclo de serviço de um escalonador é aquela que
estiver no topo da lista de filas ativas. Primeiramente, a variável ContadorDeficit[i] é
incrementada pelo valor de Quantum[i], indicando que a função Dequeue() poderá ser
utilizada para transmitir no máximo ContadorDeficit[i] + Quantum[i] bytes de uma fila i.
Se o tamanho do pacote no topo da fila i for maior do que o valor atualizado da variável
ContadorDeficit[i], o escalonador servirá a próxima fila contida na lista de filas ativas. Caso
contrário, o pacote será transmitido e a variável ContadorDeficit[i] será reduzida pelo
tamanho do pacote transmitido. O escalonador continua a transmitir os pacotes da mesma fila
e a reduzir o valor da variável ContadorDeficit[i] pelo tamanho do pacote transmitido até
encontrar um pacote no topo da fila com um tamanho maior do que a variável
ContadorDeficit[i] ou quando a fila ficar vazia.
Se ao final de um ciclo de serviço, a fila i ainda tiver pacotes para transmitir, o índice
dessa fila será movido para o final da lista de filas ativas (InsereNaListaAtiva(i)), caso
contrário, o índice da fila i será removido da lista de filas ativas (RemoveDaListaAtiva(i)) e a
variável ContadorDeficit[i] será reinicializada com zero.
Para exemplificar o funcionamento de uma disciplina DRR, considere o uso de duas
filas. Para a fila 1 são alocados 75 por cento da largura de banda e para a fila 2 são alocados
25 por cento. Para a fila 1 é atribuído um quantum de 900 bytes e para a fila 2 um quantum de
300 bytes. Inicialmente, as variáveis ContadorDeficit[1] e ContadorDeficit[2] recebem o
valor zero. Assumindo que a fila 1 esteja no topo da lista das filas ativas, quando o
escalonador começar o seu ciclo de serviço, a variável ContadorDeficit[1] será incrementada
pelo valor de quantum, fornecendo um valor de 900 bytes (Figura 11).
Ponteiro
75% largura de banda
Fila 1
700
500
25% largura de banda
Fila 2
200
ContadorDeficit[1]
Quantum[1]
900
900
ContadorDeficit[2]
Quantum[2]
0
300
Figura 11 – Primeiro ciclo de serviço do escalonador
39
Devido ao pacote de 500 bytes da fila 1 ser menor do que o valor de ContadorDeficit[1]
(900 bytes), o pacote é transmitido e a variável ContadorDeficit[1] é reduzida pelo tamanho
do pacote transmitido (900 – 500 = 400 bytes). Como o próximo pacote da fila 1 (700 bytes) é
maior do que o novo valor de ContadorDeficit[1] (400 bytes), o pacote de 700 bytes não
poderá ser transmitido e a fila 1 será movida para o final da lista de filas ativas. Os 400 bytes
restantes da fila 1, permanecerão armazenados na variável ContadorDeficit[1] e serão
utilizados no próximo ciclo de serviço quando a fila 1 poderá então enviar pacotes de 400
(déficit do último ciclo de serviço) + 900 (Quantum[1]) bytes.
Então, o escalonador passa a servir a próxima fila contida no topo da lista de filas ativas
(fila 2). O mesmo procedimento é seguido (Figura 12): o valor de Quantum[2] (300 bytes) é
adicionado ao ContadorDeficit[2] permitindo que a fila 2 transmita até 300 bytes durante esse
ciclo de serviço. Como o tamanho do único pacote contido no topo da fila 2 é menor do que o
valor de ContadorDeficit[2], o pacote de 200 bytes é transmitido. A partir desse momento a
fila 2 está vazia, o que causa a sua remoção da lista de filas ativas e a atribuição do valor zero
à variável ContadorDeficit[2]. O ponteiro passa a apontar novamente para a fila 1 (contida no
topo da lista). Antes da disciplina de escalonamento DRR começar a servir a fila 1, a variável
Quantum[1] (900 bytes) é adicionada ao ContadorDeficit[1], totalizando 1300 bytes (900 +
400) (Figura 13). Agora, o pacote de 700 bytes contido no topo da fila 1 poderá ser
transmitido, uma vez que este é menor que o valor armazenado na variável
ContadorDeficit[1]. Uma vez transmitido o pacote, a fila 1 é removida da lista de filas ativas,
pois ela não possui mais pacotes armazenados e ContadorDeficit[1] recebe o valor zero. O
algoritmo da disciplina DRR é finalizado uma vez que não existem mais filas ativas.
Ponteiro
75% largura de banda
Fila 1
700
25% largura de banda
Fila 2
200
ContadorDeficit[1]
Quantum[1]
400
900
ContadorDeficit[2]
Quantum[2]
300
300
Figura 12 – Segundo ciclo de serviço do escalonador
Ponteiro
75% largura de banda
Fila 1
700
ContadorDeficit[1]
Quantum[1]
1300
900
Figura 13 – Último ciclo de serviço do escalonador
40
A disciplina de escalonamento DRR soluciona o problema ocasionado pela disciplina
FIFO e SPQ, evitando a saturação de largura de banda e oferece suporte a fluxos com
necessidades diferentes de largura de banda se comparada com a disciplina FQ que
simplesmente ignora os tamanhos dos pacotes. Além disso, a disciplina DRR exige uma
menor complexidade computacional se comparada com a disciplina WFQ e supera a limitação
da disciplina WRR suportando a distribuição justa de largura de banda entre as filas que
contêm pacotes com tamanhos diferentes [SEMERIA 01].
Segundo [SHREEDHAR 95], a carga computacional de um algoritmo DRR é definida
como a complexidade de tempo máxima no processo de colocar um pacote em uma fila e
retirá-lo para ser escalonado no meio de transmissão. Os autores constataram que a disciplina
DRR requer um processamento de pacotes de apenas Ο(1), ao contrário do que ocorre na
maioria das disciplinas (como, por exemplo, a disciplina EDF - Earliest Deadline First que é
descrita na próxima seção) cuja carga computacional exigida é Ο(log(n)) e n indica o número
de fluxos ativos. Além disso, um algoritmo DRR é simples de ser implementado em hardware
e requer pouca memória enquanto mantém uma justiça quase perfeita em termos da
quantidade de largura de banda exigida pelos fluxos.
Porém, a disciplina DRR não fornece limites de atraso. Um limite de atraso é necessário
para permitir que tráfegos em tempo real, especialmente serviços de voz, tenham um
desempenho previsível e aceitável.
Shreedhar e Varghese [SHREEDHAR 95] propuseram uma modificação ao algoritmo
DRR, chamada DRR+, de modo a fornecer um melhor desempenho aos tráfegos em tempo
real. Para isso os autores criaram duas classes de fluxos: fluxos críticos ao atraso e fluxos de
melhor esforço. Durante a assinatura de um contrato, um fluxo crítico ao atraso negocia uma
taxa de x bytes em um determinado intervalo de tempo T. O algoritmo então policia o tráfego
gerado pelos fluxos de modo a determinar uma possível violação do contrato.
Porém, limites de atrasos fim-a-fim mais rígidos precisam ser fornecidos. Além disso,
algumas aplicações, como um vídeo sob demanda, impõem uma variação mínima de atraso
entre seus quadros.
3.5.7 Disciplinas de escalonamento aplicadas em GPRS
Em [PANG 99] diferentes disciplinas de escalonamento (FIFO, SPS – Static Priority
Scheduling e EDF – Earliest Deadline First) foram avaliadas com o intuito de atender aos
requisitos de atraso exigidos por três aplicações (e-mail, gerenciamento de frotas e www).
41
Esses requisitos foram especificados de acordo com uma das quatro classes de atraso
definidas no perfil de QoS negociado com a rede.
Para cada disciplina avaliada, o autor propôs a criação de n filas e armazenou os pacotes
de chegada em uma fila que melhor atendesse suas exigências de atraso máximo. Para avaliar
a disciplina FIFO, o autor criou duas filas, uma para os serviços de melhor esforço (classe de
atraso 4) e a outra para os serviços mais sensíveis ao atraso (classe de atraso 1, 2 e 3). Na
disciplina SPS, cada classe de atraso possui sua própria fila e uma prioridade é atribuída para
cada fila indicando a ordem na qual elas devem ser servidas pelo escalonador. Na disciplina
EDF, cada pacote de entrada possui um deadline que determina o prazo limite para sua
entrega. Os pacotes são servidos na ordem de seu deadline. Para classificar cada fila, a
disciplina EDF executa pelo menos Ο(log(n)) operações de inserção o que torna sua
implementação difícil. Os resultados demonstraram que apesar das disciplinas SPS e FIFO
serem simples de implementar, a alta variabilidade das taxas de pacotes e a alta utilização do
enlace reduz a eficácia dessas disciplinas. Isso ocorre devido a pacotes pequenos serem
freqüentemente impedidos por pacotes longos, resultando no não atendimento das restrições
de atraso impostas. Ao contrário, a disciplina EDF obtém uma utilização de enlace de até 90%
enquanto atendendo os requisitos de atraso. Porém, a complexidade de desempenho da
disciplina EDF permanece um desafio para os pesquisadores.
Em [SAU 98] o desempenho das disciplinas SPS e MED (Modified Earliest Deadline)
foi comparado quanto a eficiência na utilização dos canais, capacidade do sistema e atraso de
pacotes. Dois tipos de fontes de tráfego foram utilizados na simulação caracterizando de um
modo geral serviços de e-mail, FTP, telnet e navegador web. A disciplina MED foi proposta
como uma modificação da disciplina EDF aplicada somente durante períodos de
congestionamento. Quando um bloco de rádio não é atendido dentro de seu deadline, os
autores consideram a ocorrência de um congestionamento. Nove filas são criadas: uma fila
para armazenar as mensagens de sinalização, quatro filas para cada uma das classes de atraso
GPRS e quatro filas de atraso criadas durante a ocorrência de um congestionamento. Essas
filas de atraso também são criadas para cada classe de atraso GPRS e elas armazenarão os
blocos de rádio cujos deadlines não foram atendidos. O objetivo da utilização das filas de
atraso é assegurar que blocos com baixa tolerância a atrasos não sofram atrasos excessivos.
Os resultados demonstraram que a disciplina MED oferece um desempenho um pouco melhor
que a SPS em condições de baixa tolerância a atrasos e baixa largura de banda.
42
3.6 Conclusão
As redes móveis sem fio estão em constante evolução. O termo QoS em redes móveis
surgiu com o intuito de atender à diversidade de requisitos impostos por diferentes tipos de
mídias (áudio, voz e dados) enquanto tentando minimizar o problema do limitado espectro de
freqüências.
Novos serviços podem ser disponibilizados aos usuários móveis e as redes sem fio
podem vender esses serviços de acordo, por exemplo, com a quantidade de largura de banda
que se deseje contratar.
Os usuários móveis de uma rede GPRS podem contratar diferentes níveis de serviços
dependendo das exigências para o bom desempenho de suas aplicações. Durante a assinatura
de um contrato, diferentes parâmetros podem ser negociados com a rede em termos, por
exemplo, dos limites máximos tolerados para o tempo de transferência dos pacotes e da taxa
de dados exigida para essa transferência.
Para suprir os requisitos contratados, mecanismos de QoS devem ser implementados
nos diferentes elementos da rede. Esses mecanismos podem incluir um controle de admissão
de chamadas, reserva de recursos, policiamento e escalonamento.
Embora haja trabalho relatado na literatura sobre CAC, reserva de recursos e
escalonamento, o fornecimento de QoS fim-a-fim ainda continua sendo uma pesquisa em
aberto, principalmente em redes GPRS.
Como pôde ser visto na seção 3.5.7, diferentes disciplinas de escalonamento foram
aplicadas em GPRS. Para avaliar o desempenho dessas disciplinas foram simuladas fontes de
tráfego que possuem pouca ou até nenhuma restrição de atraso, tais como: e-mail, FTP e
navegador web. Porém, usuários móveis exigirão cada vez mais aplicações com requisitos
mais rígidos de qualidade, principalmente no que diz respeito ao atraso e variações de atraso.
O próximo capítulo descreverá um esquema de QoS que combina um controle de
admissão de chamadas, reserva de recursos e escalonamento. Esse esquema será aplicado em
uma rede GPRS com o objetivo de possibilitar o uso de aplicações com requisitos bem
diversificados de QoS. Um tratamento especial será fornecido às aplicações com uma alta
sensibilidade ao atraso e variação de atraso (por exemplo, aplicações de voz e vídeo) de modo
que seu nível de serviço negociado seja garantido.
4 Esquema de Provisão de QoS em Redes GPRS
4.1 Introdução
Uma das principais metas das redes de comunicação móvel sem fio é integrar uma
ampla variedade de mídias enquanto atendendo seus requisitos de QoS de modo que os
usuários possam obter serviços adequados e previsíveis a partir dos recursos de rádio
disponíveis na rede.
Devido a alta variabilidade na qualidade dos enlaces sem fio, principalmente sob uma
alta contenção de recursos, e a diversidade de exigências de QoS impostas pelas mais variadas
aplicações, mecanismos de gerenciamento de QoS devem ser empregados pelos elementos
que compõem a rede de modo a monitorar a qualidade dos serviços oferecidos.
A maioria das pesquisas na área de gerenciamento de QoS em sistemas celulares
concentra-se no desafio de gerenciar a alocação do espectro de freqüências de modo a evitar
congestionamento no meio de transmissão. Principalmente pelo fato de que no cenário atual
das redes móveis sem fio está cada vez mais evidente a necessidade de integração de diversos
serviços que diferem substancialmente em termos principalmente da largura de banda exigida.
Embora hajam trabalhos relatados na literatura sobre diferentes mecanismos de
gerenciamento de QoS aplicados em redes móveis sem fio, a provisão de QoS fim-a-fim em
redes GPRS ainda continua uma pesquisa em aberto.
O objetivo do presente trabalho é apresentar um esquema de fornecimento de QoS em
uma rede GPRS padrão através da combinação de controle de admissão de chamadas (CAC),
reserva de recursos e escalonamento. Juntos esses mecanismos são capazes de garantir a QoS
negociada durante a assinatura de um contrato de prestação de serviço entre a operadora da
rede e um assinante móvel.
Os mecanismos de provisão de QoS propostos neste trabalho para uma rede GPRS estão
descritos nas próximas seções.
4.2 CAC e reserva de recursos
Para atender à diversidade de exigências de QoS impostas por um conjunto de
aplicações, o presente trabalho faz uso do algoritmo de estabelecimento de conexão proposto
em [OLIVEIRA 98]. Esse algoritmo utiliza informações locais (da célula onde a MS origina o
44
pedido de conexão) e informações remotas (de células adjacentes) para determinar se admite
ou rejeita um determinado tráfego multimídia em redes celulares sem fio de alta velocidade.
Devido às características de mobilidade dos usuários, dados remotos são necessários
para garantir um nível de qualidade aceitável durante o período inteiro de uma conexão. O
objetivo do esquema proposto pelos autores é alocar largura de banda para um determinado
tráfego na célula onde a conexão foi solicitada e reservar recursos nas células vizinhas. Dessa
forma, quando um usuário executar um handoff, isto é, quando ele precisar mudar para uma
nova célula, a largura de banda reservada na célula destino é alocada para suportar a conexão
de handoff.
Os autores distinguem dois tipos de tráfego suportados em redes sem fio: classe I
(tráfego em tempo real) e classe II (tráfego não tempo real). Além disso, devido às conexões
da classe I serem sensíveis a atrasos, elas recebem maior prioridade sobre as conexões da
Classe II que são tratadas como aplicações de melhor esforço.
Quando um usuário solicita uma nova conexão ou um pedido de handoff, ele fornece
sua classe de tráfego, a quantidade de largura de banda desejada, a largura de banda mínima e
necessária para manter a qualidade da conexão aceitável (caso o pedido de conexão pertença a
classe I) e a probabilidade máxima admissível de interrupções de chamadas em andamento
devido a insuficiência de largura de banda.
Quando um pedido de uma nova conexão for recebido, o algoritmo tenta alocar a
quantidade solicitada de largura de banda na célula onde o pedido foi originado. Caso não
haja largura de banda disponível na célula para atender ao pedido, a conexão é rejeitada. Por
outro lado, caso haja largura de banda disponível, o algoritmo executará uma das seguintes
ações, dependendo da classe de tráfego a qual o pedido pertença: (1) Classe I: a conexão é
aceita, a largura de banda desejada é alocada na célula atual e reservada nas células vizinhas.
Caso a reserva não seja bem sucedida, a conexão é rejeitada; (2) Classe II: a conexão é aceita,
a largura de banda desejada é alocada na célula onde o pedido de conexão foi originado e
nenhuma reserva é efetuada nas células vizinhas.
Os pedidos de handoff da classe II sempre são aceitos contanto que haja alguma largura
de banda disponível na célula para onde o usuário está se movendo. Uma vez aceita a
conexão, o algoritmo alocará a largura de banda mínima entre a desejada pela conexão e a
disponível na célula. Essa possível redução na largura de banda alocada para tráfegos da
Classe II resulta em uma menor taxa de dados e, conseqüentemente, um maior atraso na
transmissão dos dados. Porém, essa classe pertence a tráfegos cujo atraso máximo tolerado
pode ser relativamente alto.
45
Por outro lado, pedidos de handoff pertencentes à classe I somente são admitidos se a
quantidade mínima de largura de banda exigida pela conexão for maior ou igual a largura de
banda disponível na célula para onde a MS está mudando (largura de banda não utilizada +
largura de banda reservada para pedidos da Classe I). Caso o pedido de handoff seja aceito, o
algoritmo desempenhará as seguintes funções:
1. Alocação da largura de banda mínima entre a desejada e a disponível na célula
escolhida para handoff;
2. Reserva de largura de banda nas novas células vizinhas. Caso a reserva não seja
possível em qualquer uma das células vizinhas, a conexão é rejeitada;
3. Liberação da largura de banda reservada nas células que não são mais vizinhas da
nova célula para onde o pedido de handoff foi executado.
Como se pode notar, o algoritmo fornece maior prioridade aos pedidos de handoff de
modo a prover uma maior conectividade aos usuários cujas conexões já foram admitidas.
A quantidade de largura de banda reservada é dinamicamente ajustada, refletindo as
condições atuais da rede, para alcançar uma melhor utilização dos recursos de rádio. Isso é
feito medindo a probabilidade na qual ocorrem quedas das conexões de handoff devido à falta
de largura de banda e a quantidade de largura de banda reservada sendo realmente utilizada.
Vários métodos podem ser aplicados para determinar a quantidade de largura de banda a
ser reservada nas células vizinhas. O método mais simples é reservar a largura de banda
desejada por cada conexão igualmente em todas as células vizinhas. Porém, essa reserva
resulta em um uso ineficiente da largura de banda, uma vez que a soma das larguras de banda
desejadas por várias conexões da classe I pode causar uma reserva excessiva de recursos.
Segundo [OLIVEIRA 98] pode-se calcular a quantidade de largura de banda a ser
reservada em uma célula como uma função de todas as larguras de banda solicitadas pelas
conexões da classe I nas células vizinhas ou como uma função do número de conexões da
classe I aceitas nas células vizinhas.
Caso sejam aplicados mecanismos para prever o movimento de um usuário na rede, uma
porção maior da largura de banda pode ser reservada nas células para onde o usuário tem
maior probabilidade de executar um pedido de handoff. Três modelos de reserva de largura de
banda foram investigados pelos autores em [OLIVEIRA 98]:
1. Modelo de reserva uniforme com base na largura de banda solicitada: nesse modelo
o movimento dos usuários não é conhecido e a mesma quantidade de largura de
banda é reservada em todas as células vizinhas. A maior de todas as larguras de
46
banda solicitadas pelas conexões da classe I existentes é utilizada como a quantidade
de largura de banda a ser reservada;
2. Modelo de reserva com base no movimento do usuário e na largura de banda
solicitada: nesse modelo, assume-se que o movimento do usuário é previsível e
quantidades diferentes de largura de banda são reservadas nas células vizinhas. Os
autores assumem que o movimento de um usuário pode ser expresso como uma
probabilidade px na qual o usuário executará um handoff para a célula x. A maior de
todas as larguras de banda solicitadas pelas células vizinhas, the_largest, será
reservada na célula x e uma quantidade menor da largura da banda, the_largest x f,
onde f é um fator de redução, é reservado nas outras células vizinhas. Em
[OLIVEIRA 96], esse fator de redução é considerado como a probabilidade na qual
o usuário se moverá para todas as outras células vizinhas restantes (1 - px);
3. Modelo de reserva com base no movimento do usuário e no número de conexões
existentes: esse modelo é similar ao modelo anterior, porém a quantidade de largura
a ser reservada é calculada como uma função do número de conexões da classe I
existentes. A quantidade a ser reservada é calculada multiplicando a média de todas
as larguras de banda solicitadas pelas conexões da classe I pelo número médio de
conexões das classes I existentes.
Um parâmetro maxb também é utilizado para indicar a porcentagem máxima de largura
de banda que pode ser reservada em uma determinada célula. Caso a largura de banda a ser
reservada exceda o valor indicado em maxb, somente maxb será reservado.
Segundo simulações realizadas pelos autores, o modelo de reserva com base no modelo
de movimento do usuário e na largura de banda solicitada pelas conexões produz uma
pequena probabilidade de queda de handoff enquanto mantém uma boa utilização da largura
de banda se comparada aos outros modelos. Isso ocorre devido à agregação de tráfegos
heterogêneos cujas exigências de largura de banda são bem diversificadas.
A previsão do movimento do usuário permite reservar largura de banda em células
selecionadas, reduzindo o número de pacotes de sinalização trocados entre os BSS. Porém,
um overhead significante será gerado na rede caso o movimento de um usuário precise ser
monitorado em tempo real [OLIVEIRA 98].
47
4.2.1 CAC e reserva de recursos aplicados nos elementos de uma rede GPRS
O algoritmo de estabelecimento de conexões proposto em [OLIVEIRA 98], descrito na
seção anterior, precisou ser adaptado para se adequar ao funcionamento de uma rede GPRS.
Após uma MS ter se registrado com um SGSN da sua área de serviço, ela precisa ativar um
contexto PDP com esse SGSN e com um GGSN que manterá o endereço PDP relativo ao
contexto PDP ativado e atribuído a MS para tornar sua presença conhecida em outras PDNs.
Ao solicitar a ativação de um contexto PDP, a MS envia, entre outras informações
apresentadas no capítulo 2 (seção 2.6), um perfil de QoS. Nesse perfil, a MS indica as classes
de QoS exigidas pela aplicação que ela irá utilizar. Com base nos requisitos de QoS os
elementos SGSN e GGSN determinam se uma conexão deve ou não ser admitida na rede.
No presente trabalho, apenas as classes de precedência de serviço e thoughput médio
são verificadas pelos elementos SGSN e GGSN de modo a controlar a admissão de chamadas
em uma rede GPRS. Essas classes, conforme descritas no capítulo 3 (seção 3.3), indicam três
níveis de prioridades para um serviço (alta, normal e baixa) e a taxa média de dados de uma
determinada aplicação, respectivamente.
O critério para admitir chamadas será diferente para cada tipo de aplicação. Para as
aplicações pertencentes às classes de precedência 1 e 2 (prioridade alta e normal), a admissão
será baseada na disponibilidade de recursos de rádio (um ou mais PDCHs) e na efetiva reserva
destes mesmos recursos nas células adjacentes.
Uma vez negociado o perfil de QoS e admitida à conexão de uma aplicação, a BS da
célula onde a MS reside será responsável por alocar os recursos de rádio necessários para a
MS de acordo com o requisito de largura de banda especificado na classe de throughput
médio negociada com a rede. Isso é necessário para que a aplicação da MS consiga operar
dentro de suas exigências de qualidade negociadas durante o período inteiro de sua conexão.
A Figura 14 ilustra o pseudocódigo do algoritmo que executa o CAC e a reserva de
recursos em uma rede GPRS. Esse algoritmo se baseou no esquema de estabelecimento de
conexões proposto para redes sem fio de alta velocidade [OLIVEIRA 98]. O CAC, conforme
já foi visto, é implementado pelos elementos SGSN e GGSN, enquanto a reserva de recursos é
realizada pelo BSS na camada MAC da rede GPRS.
Quando uma conexão for solicitada, seja esta uma nova conexão ou um pedido de
handoff para uma outra célula, o CAC é executado para verificar se o padrão de tráfego da
aplicação, para o qual um serviço está sendo requisitado, pode ser admitido.
48
As aplicações a serem suportadas em uma rede GPRS são classificadas de acordo com
uma das três classes de precedência de serviço definidas para uma rede GPRS. As aplicações
de áudio e vídeo, por exemplo, por serem intolerantes quanto ao tempo de chegada de um
pacote após seu período de reprodução esperado, pertencem as classes 1 e 2, respectivamente.
IF (Classe_Precedência_Serviço 1 OR Classe_Precedência_Serviço 2) THEN
IF (nova_conexão) THEN
IF (Throughput_Medio ≤ Largura_banda disponível) THEN
Reserva() /* Função para reservar recursos nas células adjacentes */
ELSE /* Não há largura de banda disponível na célula */
Rejeita nova conexão
IF (pedido_handoff) THEN
IF (Throughput_Médio ≤ Largura_banda disponível + reservada) THEN
Reserva() /* Função para reservar recursos nas células adjacentes */
ELSE /* Não há recurso suficiente na célula para atender ao handoff */
Rejeita pedido de handoff
ELSE /* Classe_Precedência_Serviço 3 */
IF (Largura_banda disponível na célula > 0) THEN
Aceita conexão
Estabelece um TBF entre uma MS e o BSS para alocar o mínimo entre {recursos
disponíveis na célula, recursos solicitados} na célula atual
ELSE /* nenhum PDCH disponível na célula */
Rejeita conexão
/* Função Reserva() */
Tenta reservar os recursos nas células adjacentes da célula atual
IF (reserva for bem sucedida OR pedido_handoff) THEN
Aceita conexão
Estabelece um TBF entre uma MS e o BSS para alocar os recursos solicitados (um ou
mais PDCHs) na célula onde a MS reside no momento
ELSE /* não foi possível reservar recursos nas células adjacentes */
Rejeita nova conexão
Figura 14 – Pseudocódigo do algoritmo de CAC e reserva de recursos adaptado para GPRS
49
Duas operações diferentes são executadas pelo algoritmo de CAC: uma para as classes
de precedência de serviço 1 e 2 (tráfego sensível a atrasos) e outra para a classe de
precedência 3 (tráfego pertencente a serviços considerados como de melhor esforço).
Quando for recebido um pedido de conexão de prioridade alta ou normal (classe 1 ou 2),
o algoritmo irá comparar a classe de throughput médio solicitada no pedido com a quantidade
de largura de banda disponível, ou reservada para futuros pedidos de handoff, na célula onde o
pedido é originado. Esse pedido somente será aceito caso a célula onde a MS está residindo
no momento, ou para onde ela está se movendo, puder fornecer os recursos necessários para a
conexão operar dentro de seus requisitos de qualidade. Além disso, caso o pedido seja de uma
nova conexão, o BSS também deverá ser capaz de reservar recursos de rádio nas células
adjacentes seguindo uma política descrita posteriormente. Dessa forma, quando uma MS
mudar para uma nova célula, executando um pedido de handoff, seus recursos já poderão estar
reservados. Porém, ao contrário do algoritmo proposto em [OLIVEIRA 98], caso a reserva
nas células adjacentes não seja possível quando for solicitado um pedido de handoff, este
pedido não será rejeitado. Essa alteração foi realizada para evitar que chamadas em
andamento sejam bloqueadas.
Caso haja largura de banda o suficiente para atender à solicitação de serviço e o BSS
seja capaz de reservar os recursos necessários nas células adjacentes (válido somente para
conexões novas), a conexão é admitida, o que indica que a provedora da rede concorda em
fornecer uma QoS específica, desde que o tráfego da aplicação continue a obedecer ao
contrato assinado. Nesse momento, a comunicação ocorre entre a MS e o BSS para
estabelecer um TBF. Durante esse estabelecimento, ocorre a alocação de recursos de rádio na
célula onde o pedido de conexão foi originado. O BSS é responsável por alocar um ou mais
canais físicos (ou PDCHs) para a MS dependendo do throughput médio negociado e da classe
multislot da MS. Uma classe multislot se refere ao número máximo de slots de tempo
permitidos para uma transferência de pacotes downlink ou uplink [BATES 02].
Os pedidos de conexão pertencentes às classes de precedência de serviço 3 (prioridade
baixa) são sempre aceitos contanto que haja algum recurso disponível na célula atual. Quando
o perfil de QoS é negociado e o contexto PDP é ativado, a conexão é aceita e a largura de
banda disponível na célula, se esta for menor do que a largura de banda solicitada, será
atribuída para a MS durante o estabelecimento de um TBF. Nenhuma reserva nas células
adjacentes é efetuada para as classes 3, pois as aplicações que pertencem a essa classe são
consideradas como aplicações de melhor esforço.
50
A reserva nas células adjacentes é executada cada vez que uma MS solicita uma nova
conexão ou executa um handoff. Porém, ao contrário da reserva de largura de banda
adaptativa proposta em [OLIVEIRA 98], a quantidade de largura de banda reservada na(s)
célula(s) permanece estática. Conseqüentemente, o overhead gerado pelos pacotes de
sinalização trocados entre os BSSs adjacentes é significantemente reduzido.
Para determinar a quantidade de recursos a ser reservada nas células adjacentes da rede
GPRS, é aplicado o modelo de reserva com base no movimento de cada MS e na largura de
banda solicitada, possibilitando que quantidades diferentes de largura de banda sejam
reservadas nas células adjacentes. De modo a estimar a localização geográfica de uma MS, o
ETSI especificou três mecanismos de posicionamento [3GPP 03.71]: TOA (Time of Arrival),
E-OTD (Enhanced Observed Time Difference) e GPS (Global Positioning System). Assumese, então, que empregando um desses mecanismos a rede seja capaz de seguir o movimento da
MS e fornecer informações necessárias para prever a direção mais provável da MS na rede.
Em GPRS, o controle de reseleção de uma célula durante um pedido de handoff pode
ser executado pela rede ou pela própria MS e esse controle é indicado pelo parâmetro de
ordem NC (Network_Control) [BATES 02]. No presente trabalho consideramos que a rede
ordenará que cada MS lhe envie relatórios periódicos de medições sobre as células vizinhas e,
provendo-se da localização da MS, um comando de reseleção de célula será emitido para a
MS (NC2).
Conforme proposto em [OLIVEIRA 96, OLIVEIRA 98], o movimento de cada MS é
expresso como uma probabilidade px na qual a MS executará um handoff para a célula x. A
maior de todas as larguras de banda reservadas na célula x a pedido de suas células adjacentes,
the_largest, será reservada na célula x para qual a MS possui maior probabilidade de executar
um pedido de handoff. Isso fará com que as conexões de handoff pertencentes às classes de
precedência de serviço 1 e 2 compartilhem um pool comum de largura de banda reservada.
Nas células adjacentes restantes, uma porção menor da largura de banda (1 - px) é reservada,
representando a probabilidade na qual a MS se moverá para tais células. Além disso, o
parâmetro maxb, descrito na seção 4.2, é utilizado para limitar a porção de largura de banda
que será reservada em uma determinada célula.
Quando uma nova conexão for finalizada ou um pedido de handoff for executado, os
recursos alocados na célula atual e reservados nas células adjacentes são liberados. Porém, no
último caso, quando for solicitado um handoff, os recursos reservados nas células adjacentes
somente serão liberados caso a célula não seja mais célula adjacente da nova célula para onde
a MS está se movendo.
51
Para determinar a porção da largura de banda que deve ser liberada do pool comum de
recursos reservados em uma determinada célula, deve-se verificar, primeiramente, se existe
uma outra conexão ativa nas células adjacentes pertencente ao mesmo fluxo de tráfego da
conexão que esteja sendo encerrada ou solicitando handoff. Caso exista uma conexão com o
mesmo perfil de QoS contendo os mesmo requisitos, a variável the_largest permanecerá
inalterada, conseqüentemente, nenhum recurso será liberado. Caso contrário, a variável
the_largest passará a conter a maior de todas as larguras de banda negociadas pelas conexões
ativas nas células adjacentes.
Um outro fator que influencia no valor da variável the_largest é a admissão de um
pedido de handoff. Uma vez admitido, um pedido de handoff poderá alocar os recursos
reservados e, quando necessário, utilizar os recursos disponíveis na célula destino. Então, o
mesmo procedimento descrito acima é realizado para determinar se o pool comum de recursos
reservados em uma célula x será alterado ou não. Uma questão precisa ser considerada: a não
disponibilidade de recursos no momento da admissão de um handoff. Nesse caso, apenas os
recursos disponíveis na célula irão compor o novo pool comum de recursos reservados.
Após estabelecer um TBF e alocar os recursos de rádio necessários, a transferência de
pacotes pode ocorrer. O tráfego gerado por cada aplicação é direcionado para o BSS que
encaminhará os pacotes para a MS destino. A partir desse momento, o segundo mecanismo de
provisão de QoS é executado: o escalonamento de pacotes na interface aérea GPRS.
4.3 Escalonamento
Quando uma PDU ou pacote é recebido da camada de rede ele é enviado para a camada
SNDCP responsável pela conversão de cada pacote em um ou mais quadros LLC. Os quadros
LLC são transmitidos entre o SGSN e uma MS através do protocolo LLC. Cada quadro LLC
recebido pela camada RLC é segmentado em blocos de dados ou blocos de controle RLC. Na
camada MAC, um cabeçalho é adicionado ao bloco RLC, formando um bloco RLC/MAC,
também chamado de bloco de rádio.
Com base no perfil de QoS negociado com a rede, durante a criação de um contexto
PDP, o escalonador do BSS toma a decisão de quais blocos de rádio devem ser servidos. Os
blocos de rádio podem ser distribuídos em uma ou mais filas de acordo, por exemplo, com sua
classe de precedência de serviço (prioridade alta, normal ou baixa). Seguindo uma disciplina
52
de escalonamento de filas, os blocos de rádio armazenados em cada fila são transmitidos pela
camada física no mesmo slot de tempo de 4 quadros TDMA consecutivos.
A disciplina de escalonamento DRR, descrita na seção 3.5.6, foi aplicada na camada
MAC de modo a escalonar os blocos de rádio na interface aérea GPRS. A escolha dessa
disciplina se deve ao fato dela oferecer inúmeras vantagens, muitas delas não supridas por
outras disciplinas, como: suporte a fluxos com diferentes exigências de largura de banda,
baixa carga computacional exigida, fácil implementação, pouca memória requerida e
distribuição justa dos recursos entre as filas que contêm pacotes com tamanhos diferentes
[SHREEDHAR 95]. A distribuição adequada dos recursos é fundamental para evitar a
saturação do espectro de freqüências alocada para uma rede móvel sem fio.
Um problema encontrado pela disciplina DRR é que ela não fornece limites rígidos para
o atraso fim-a-fim dos pacotes. Isso é necessário, principalmente quando usuários móveis
demandam aplicações em tempo real.
O conceito da disciplina de escalonamento DRR precisou ser adaptado para suprir as
exigências de QoS impostas por um conjunto de aplicações utilizadas em redes GPRS. O
algoritmo foi adaptado neste trabalho e chamado de MDRR+ (Modified Deficit Round Robin
Plus), o qual combina aspectos da disciplina DRR e DRR+ [SHREEDHAR 95]. Uma vez que
a maior parte dos parâmetros de QoS requeridos pelas aplicações, principalmente aplicações
de voz e vídeo, estão relacionados a limites rígidos de atraso fim-a-fim de pacotes e variação
de atraso entre os pacotes, novos aspectos precisaram ser incorporados à disciplina.
4.3.1 Disciplina MDRR+
Infelizmente, a maioria das redes de comunicação é susceptível a fontes de tráfego mal
comportadas o que pode resultar em pacotes sendo descartados por fontes que geram alto
tráfego de dados.
O objetivo do uso dos conceitos da disciplina DRR em redes GPRS é controlar o
escasso espectro de freqüências e isolar fluxos bem comportados de fluxos mal comportados.
O principal problema está relacionado à injustiça causada por tamanhos de pacotes diferentes
usados pelos diversos fluxos existentes na rede. A idéia por trás do isolamento dos fluxos é
prover a cada fluxo uma porção justa da largura de banda total disponível para o tráfego
GPRS. Isso impede, por exemplo, que um fluxo, pertencente a uma fonte que gera tráfego em
“rajada” não controlado, obtenha uma grande fração da largura de banda, ocupe quase toda a
capacidade de um buffer e, conseqüentemente, degrade a performance de outros fluxos.
53
As seguintes funções são executadas pelo escalonador MDRR+:
Classificação: baseado no número de identificação de cada fluxo (φ) contido no
cabeçalho IP dos blocos de rádio, o escalonador atribui os blocos de rádio a uma fila
dedicada exclusivamente ao fluxo a qual os blocos pertencem;
Policiamento: um fluxo pode aumentar infinitamente sua taxa e fazer com que
outros fluxos bem comportados tenham sua porção de largura de banda reduzida.
Para solucionar esse problema, o escalonador limita a taxa de dados de cada
aplicação de acordo com a classe de throughput médio definida no perfil de QoS
negociado com a rede;
Escalonamento: de acordo com a classe de precedência de serviço (ou nível de
prioridade), negociada para uma aplicação da MS, o escalonador determina quais
blocos de rádio podem ser escalonados na interface aérea. A fila do fluxo de maior
prioridade recebe melhor tratamento dentre as demais.
O pseudocódigo do algoritmo MDRR+ está descrito abaixo.
As filas são numeradas de 1 até n, onde n indica o número máximo de fluxos suportados
na rede GPRS simulada. Algumas variáveis são inicializadas para cada fluxo (φ):
1. Quantum[φ]: durante o estabelecimento de uma conexão para o fluxo φ, o CAC é
executado pelos nós SGSN e GGSN para negociar o valor da classe de throughput
médio solicitada pela MS, de acordo com a classe de precedência de serviço do
fluxo e da largura de banda disponível na célula onde a MS está residindo. Ao
negociar o perfil de QoS com a MS, o valor do throughput médio é armazenado na
variável Quantum[φ] definindo, assim, a porção da largura de banda (em bits por
segundo) reservada e posteriormente alocada para o fluxo φ.
2. Prioridade[φ]: determina a classe de precedência de serviço (prioridade alta, normal
ou baixa) de cada fluxo conforme negociado na ativação de um contexto PDP;
3. ContadorDeficit[φ]: especifica o número máximo de bytes que uma fila φ pode
transmitir quando for visitada por um escalonador. Essa variável é inicializada com
o valor “–1” para indicar que um fluxo está inativo;
4. TempoQuantum[φ]: temporizador que indica quando a variável ContadorDeficit [φ]
deve ser recarregada;
5. TempoInativo[φ]: temporizador utilizado para indicar quando um fluxo está inativo
por um período de tempo maior do que o pré-estabelecido;
54
6. Recarrega[φ]: indica que a variável ContadorDeficit[φ] deve ser recarregada. Essa
variável é inicializada com “0”;
7. NSlotsAloc[φ]: indica o número de slots de tempo que cada fluxo pode alocar (esse
número é calculado dividindo o Quantum[φ] pela taxa de bits dos slots de tempo).
Os temporizados TempoQuantum[φ] e TempoInativo[φ] são inicializados com “0”. O
valor escolhido para o “timeout” desses temporizadores é 217. Isso indica o número de
quadros TDMA (0.004616 s) que um escalonador precisará percorrer para completar um
segundo e expirar. Esses temporizadores são acrescentados à disciplina DRR padrão para
controlar a taxa de dados de cada fluxo por segundo.
A idéia da variável ContadorDeficit[φ] é que se uma fila não for capaz de enviar um
pacote durante um ciclo de serviço do escalonador devido ao tamanho desse pacote ser
grande, o Quantum[φ] restante é adicionado à variável ContadorDeficit[φ] para poder ser
utilizado na próxima vez que a fila for servida. Dessa forma, as filas são compensadas.
Primeiramente, o algoritmo tenta alocar NSlotsAloc[φ] slots de tempo para cada fluxo
de acordo com a classe de throughput negociada com a rede GPRS. Os pacotes pertecentes a
classe de precedência de serviço 3 que não receberam a largura de banda total requerida são
armazenados em buffer conduzindo a um atraso na transmissão.
A seguir estão descritas as funções padrões de um sistema de filas: Enqueue() e
Dequeue(). A função Enqueue(), descrita na Figura 15, é responsável por armazenar os novos
pacotes que chegam no BSS em uma fila dedicada exclusivamente para o fluxo φ desses
pacotes. Primeiramente, o algoritmo checa se uma fila para o fluxo já existe. Se ela existir, o
pacote é armazenado no final da fila. Caso contrário, uma nova fila é criada para o fluxo e os
novos pacotes são inseridos nela.
/* Função Enqueue() */
φ = Fluxo do pacote recebido. φ identifica unicamente um fluxo e é utilizado como
índice de uma fila que armazenará os novos pacotes pertencentes ao fluxo */
IF (Fila[φ] != NULL) THEN /* Se a fila do fluxo φ não estiver vazia */
InserePacote(p) /* Insere o pacote no final da fila[φ] */
ELSE
CriaFila[φ] /* Cria uma fila para o novo fluxo */
InserePacote(p)
Figura 15 – Função Enqueue() da disciplina de escalonamento MDRR+
55
Para se adequar ao funcionamento de uma rede GPRS, os parâmetros de cada fluxo são
configurados no início de cada quadro TDMA (Figura 16). Caso o temporizador
TempoQuantum[φ] expire, a variável Recarrega[φ] recebe o valor “1” para indicar que
ContadorDeficit[φ] deve ser incrementado com o valor do quantum definido para o fluxo.
Então, TempoQuantum[φ] é reinicializado com “0”. Caso contrário, se o TempoQuantum[φ]
ainda não estiver expirado, ele é incrementado em uma unidade.
O próximo teste verifica se o fluxo corrente tem pacotes para transmitir. Caso existam
pacotes a serem transmitidos, esse bloco de código é finalizado. Caso o fluxo esteja sendo
considerado ativo, mas não esteja transmitindo nenhum pacote (ContadorDeficit[φ] != -1
AND Fila[φ] == NULL) por intervalo de tempo igual a um segundo (TempoInativo[φ] ==
217), o fluxo é considerado inativo. Se o tempo inativo ainda não alcançou um segundo, ele é
incrementado em uma unidade.
/* Configuração dos Parâmetros de cada Fluxo φ */
impedido = 0 /* Indica que todos os fluxos podem enviar seus pacotes */
FOR (φ = 1 até n) /* Percorre todos as filas dos n fluxos */
IF (TempoQuantum[φ] == 217) THEN /* Temporizador expirou */
Recarrega[φ] = 1 /* ContadorDeficit[φ] deve ser recarregado */
TempoQuantum[φ] = 0 /* Reinicializa temporizador */
ELSE TempoQuantum[φ] = TempoQuantum [φ] + 1
IF (ContadorDeficit[φ] != -1 AND Fila[φ] == NULL) THEN
IF (TempoInativo[φ] == 217) THEN
ContadorDeficit[φ] = -1 /* Fluxo φ considerado inativo */
ELSE TempoInativo[φ]=TempoInativo + 1
Figura 16 – Configuração dos parâmetros de cada fluxo
A função Dequeue(), descrita na Figura 17, visita cada classe de precedência de serviço
procurando por fluxos ativos dentro dela. Então, o algoritmo verifica se a fila de um
determinado fluxo (φ) não está vazia. Se uma fila tiver pacotes para transmitir, o algoritmo
verificará a prioridade do fluxo contido no pacote armazenado no início da fila a ser servida
pelo escalonador. Caso o pacote pertença a classe de precedência de serviço ativa no
momento, o temporizador TempoInativo[φ] recebe “0”. Se a variável Recarrega[φ] for igual a
56
“1”, a variável ContadorDeficit[φ] é incrementada pelo valor do quantum atribuído ao fluxo e
Recarrega[φ] recebe “0”.
/* Função Dequeue() */
FOR (precedencia = 1 até 3) /* Visita cada classe de precedência de serviço */
FOR (φ = 1 até n) /* Visita cada fluxo dentro da classe de precedência corrente */
1:
IF (Fila[φ] != NULL) THEN /* Se houver pacotes para transmitir */
IF (Prioridade(Head(Fila[φ])) == precedencia) THEN
TempoInativo[φ] = 0 /* Reinicializa temporizador */
IF (Recarrega[φ] == 1) THEN
ContadorDeficit[φ] = ContadorDeficit[φ] + Quantum[φ]
Recarrega[φ] = 0
IF (ContadorDeficit[φ] == -1) THEN /* Fluxo estava inativo */
ContadorDeficit[φ] = Quantum[φ]
TempoQuantum[φ] = 0 /* Reinicializa temporizado
Tam_Pacote = Tamanho(Head(Fila[φ]))
IF (Tam_Pacote <= ContadorDeficit[φ]) THEN
Verifica se há slots disponíveis para transmitir o pacote
IF (slot de tempo disponível) THEN
Transmite o pacote
ContadorDeficit[φ] = ContadorDeficit[φ] – Tam_Pacote
ELSE IF (nem todos os NSlotsAloc[φ] foram alocados) THEN
impedido = 1
IF (há um outro slot de tempo disponível para esse fluxo) THEN
GOTO 1
IF (impedido == 1) THEN
Return
Figura 17 – Função Dequeue() da disciplina de escalonamento MDRR+
Caso o fluxo esteja sendo considerado inativo, a variável ContadorDeficit[φ] é
reinicializada com o valor de Quantum[φ] e o temporizador do quantum é reinicializado com
57
“217”. Então, o pacote do fluxo será transmitido se seu tamanho não exceder o valor contido
em ContadorDeficit[φ] e se houver slot de tempo alocado para este fluxo φ.
Quando o pacote é enviado, a variável ContadorDeficit[φ] é reduzida pelo número de
bytes contido no pacote. Se o fluxo possuir um outro slot de tempo alocado para ele, o
algoritmo é executado novamente para testar se o fluxo tem mais pacotes a serem enviados.
Uma nova variável chamada impedido é adicionada ao algoritmo DRR para controlar a
prioridade dos fluxos na utilização dos slots de tempo disponíveis para o tráfego GPRS. Caso
não haja mais slots de tempo disponíveis e um determinado fluxo não tenha alocado seus
NSlotsAloc[φ], a variável impedido recebe “1” possibilitando que um outro fluxo da mesma
classe de precedência de serviço tente transmitir seus pacotes e impedindo que pacotes de
menor prioridade sejam transmitidos nos próximos quadros TDMA. Quando todos os fluxos
da mesma prioridade tiverem terminado de transmitir seus pacotes e caso a variável impedido
ainda esteja configurada com o valor “1”, a função Dequeue() é finalizada, começando
novamente o ciclo de serviço do escalonador no próximo quadro TDMA a partir da prioridade
mais alta. Caso contrário, se impedido for igual a “0”, o escalonador passará a atender a
próxima classe de precedência de serviço.
Para melhor ilustrar a importância da variável impedido, assume-se que 5 slots de tempo
(ou PDCHs) estejam reservados em uma célula para transportar tráfego GPRS. Cada um
desses PDCHs possui uma taxa de dados de 21,4 kbit/s. Considera-se ainda que o CAC
admita uma aplicação de vídeo de classe de precedência de serviço 2 (prioridade normal) com
um throughput médio de 85,6 kbit/s (Quantum[φ] = 85,6 kbit/s). Então, de modo a suportar
tal fluxo de tráfego será necessário alocar 4 slots de tempo para a aplicação de vídeo
(NSlotsAloc[φ] = 85,6/21,4 kbit/s). Além do vídeo, o CAC admite duas conexões de e-mail de
prioridade baixa e a uma taxa de dados de 4 kbit/s cada uma. Isso é possível, pois a célula
ainda possui uma largura de banda livre de 21,4 kbit/s.
O ciclo do escalonador começará na fila dedicada ao fluxo de vídeo, uma vez que não
há nenhuma fila ativa pertencente a fluxos de prioridade mais alta. Para cada pacote a ser
escalonado, o algoritmo verificará se há um slot de tempo disponível. Levando-se em conta o
pior caso, onde os dois fluxos de e-mail já estejam transmitindo seus pacotes simultaneamente
em dois PDCHs (devido a implementação da camada MAC GPRS sendo utilizada neste
trabalho não possibilitar ainda que um mesmo PDCH seja compartilhado por mais fluxos),
apenas três PDCHs poderão transmitir os pacotes do fluxo de vídeo. Ao tentar transmitir um
quarto pacote, o vídeo não encontrará um quarto PDCH disponível, embora o mesmo tenha
58
direito de acordo com o perfil de QoS negociado com a rede durante o CAC. Para solucionar
esse problema, a variável impedido recebe “1” para impedir que fluxos de prioridade mais
baixa (nesse caso, fluxos das aplicações de e-mail) continuem a transmissão de seus pacotes
nos próximos quadros TDMA.
Isso é possível, pois uma vez alocado um slot específico para um grupo de fragmentos
de um pacote de e-mail, a desalocação deste PDCH, para suprir a demanda de um fluxo mais
prioritário (neste caso, o fluxo de vídeo), demoraria no mínimo um quadro TDMA devido à
forma como a desalocação de PDCHs foi implementada na camada MAC GPRS.
Dessa forma, o escalonador continuará a servir os fluxos da prioridade atual (classe de
precedência 2) e, de acordo com o funcionamento de uma rede GPRS descrito acima, os
PDCHs alocados para os fluxos de e-mail serão liberados, pois esses fluxos estarão ociosos.
4.4 Conclusão
A tendência das redes móveis sem fio existentes é evoluir para redes multi-serviços.
Porém, serviços de voz, vídeo e dados geram tráfegos altamente diversificados e impõem
requisitos únicos de desempenho, em termos de largura de banda, restrições de atrasos e taxas
de confiabilidade.
No desafio de atender aos requisitos de QoS solicitados pelos mais variados tipos de
serviços, surge a necessidade de planejar com antecedência a melhor utilização da largura de
banda disponível na rede celular. A alocação ineficiente dos recursos de rádio pode afetar a
qualidade dos enlaces sem fio, provocando situações de congestionamento na rede.
Diferentes mecanismos de gerenciamento de QoS estão sendo aplicados em redes
móveis sem fio, porém, um esquema para suportar um conjunto de mídias com diferentes
exigências de QoS, ainda continua uma pesquisa em aberto em redes GPRS.
O presente capítulo demonstra um esquema de provisão de QoS que combina um CAC,
reserva de recursos e escalonamento. Esses mecanismos são aplicados nos elementos da rede
GPRS de modo a permitir que os usuários móveis utilizem diferentes aplicações enquanto
mantendo seus requisitos de qualidade durante o período inteiro de uma conexão.
O próximo capítulo descreve o modelo de simulação utilizado para avaliar a eficiência
do esquema de provisão de QoS sendo proposto.
5 Modelo de Simulação
5.1 Introdução
Os capítulos anteriores apresentaram a arquitetura de uma rede GPRS, o funcionamento
da ativação de um contexto PDP e a descrição dos mecanismos que podem ser aplicados nos
elementos da rede para prover um tratamento diferenciado a diferentes tipos de mídias e
suprir os requisitos de QoS expostos por tais mídias. O restante do trabalho se concentra na
investigação dos benefícios da implementação do esquema de provisão de QoS (CAC, reserva
de recursos e escalonamento) sendo proposto.
Dois modelos podem ser aplicados para representar e medir o desempenho de um
sistema em estudo: modelo analítico e modelo de simulação.
Os modelos analíticos se baseiam em fórmulas matemáticas como, por exemplo,
equações de um sistema de filas (visto na seção 3.5) de modo a gerar medidas de desempenho
a partir de parâmetros fornecidos.
Uma vez identificado os cenários que dimensionarão um determinado sistema em
estudo, um modelo de simulação pode ser implementado em software para simular o
comportamento do sistema. Segundo [PRADO 99], uma simulação pode ser definida como
uma técnica para solucionar um problema através da análise de um modelo que descreve o
comportamento do sistema utilizando um computador digital.
Os modelos de simulação são amplamente utilizados em vários ramos da engenharia
para aplicações bastante variadas. Uma vez identificados os cenários do sistema a ser
estudado, uma rede celular, por exemplo, pode ser modelada através de um simulador
baseados em eventos. Através de um simulador é possível efetuar diversas análises sobre o
funcionamento de diversos protocolos e elementos de uma rede. O objetivo de uma simulação
é permitir que um usuário configure topologias e cenários dificilmente implementáveis na
prática de laboratório.
Para analisar o comportamento de uma rede GPRS e posteriormente validar a
otimização proposta para atender requisitos de QoS de diferentes aplicações, o simulador de
rede NS (Network Simulator) [NS-2] foi utilizado. O NS versão 2 é um simulador baseado em
eventos e de domínio público desenvolvido para simular redes de comunicação fixas e
móveis. Sua escolha se deve ao fato da implementação do NS ser um código aberto onde
novos módulos podem ser facilmente adicionados e módulos existentes modificados.
60
O NS é uma ferramenta orientada a objetos, sendo que toda a sua hierarquia de classes é
construída em C++, enquanto a descrição do(s) cenário(s) da simulação é feita em uma
linguagem script OTcl (extensão da linguagem Tcl orientada a objetos). Cada classe em NS é
composta por parâmetros de configuração, variáveis de estado e métodos. Por ser uma
arquitetura aberta, o NS permite ao usuário adicionar novos módulos e funcionalidades a
partir da extensão da hierarquia de classes existentes.
Um cenário de simulação consiste em uma topologia e eventos de escalonamento como,
por exemplo, início e término de uma fonte de tráfego durante a simulação. Um cenário é
construído a partir dos modelos de tráfego gerados na rede, dos elementos (ou nós) da rede e
suas interconexões. Para interconectar os diferentes nós de uma rede, são usados enlaces
configurados com uma certa largura de banda, atraso e disciplina de escalonamento de filas.
Para possibilitar a transferência de pacotes entre os elementos da rede, agentes são anexados
aos elementos. Um agente em NS representa um endpoint onde pacotes da camada de rede
são construídos ou consumidos [NS-2]. Estes agentes podem ser responsáveis por funções de
roteamento, pela transmissão ou recepção de pacotes TCP ou UDP.
As próximas seções descrevem o modelo de simulação desenvolvido em NS para
construir uma rede celular GPRS e aplicar o esquema de provisão de QoS proposto nesse
trabalho. Posteriormente, de modo a avaliar se o modelo apresentado representa de forma
precisa um sistema GPRS real, suposições são feitas sob esse modelo e métricas de
desempenho são empregadas.
5.2 Descrição do modelo de simulação
Para simular o cenário de uma rede GPRS, o código contribuído em [JAIN 01] foi
aplicado. O objetivo desse código é simular a interface aérea GPRS que opera entre uma MS e
o BSS. As camadas que compõem a pilha de protocolos do modelo GPRS contribuído e as
principais funções destas camadas estão descritas a seguir:
•
LLC: responsável pela fragmentação e reagrupamento de PDUs das camadas
superiores. Um mecanismo de controle de fluxo do tipo espera-envia pode ser
implementado, isto é, um novo quadro somente será transmitido se um
reconhecimento do último quadro enviado for recebido. Caso um quadro não seja
recebido dentro de um determinado intervalo de tempo, essa camada retransmitirá o
quadro;
61
•
RLC: responsável pela fragmentação e reagrupamento de quadros LLC. Também
pode implementar um mecanismo de retransmissão de pacotes no caso de perdas;
•
MAC: controla a alocação de slots de tempo disponíveis para o tráfego GPRS
através de pedidos de recursos enviados pelas MSs durante o estabelecimento de um
TBF (seção 2.7) ou quando pacotes destinados a uma MS forem recebidos pelo
BSS. Devido a maioria das aplicações utilizadas em uma rede GPRS serem
caracterizadas por um tráfego em “rajada”, um mecanismo de liberação de recursos
de rádio é implementado nessa camada. Quando não há nenhuma transferência ativa
de pacotes entre uma MS e o BSS, os slots de tempo (ou PDCHs) alocados para essa
MS são liberados de modo que possam ser realocados para uma outra MS caso seja
necessário. Caso uma MS deseje recomeçar uma nova sessão de pacotes, um novo
TBF deve ser estabelecido para solicitar a alocação de novos recursos.
No presente trabalho, as camadas LLC e RLC são implementadas em modo de
fragmentação o que faz com que pacotes recebidos do agente transmissor sejam segmentados
antes de serem enviados para uma camada inferior e então reagrupados na entidade receptora.
Além disso, as camadas LLC e RLC são configuradas para trabalhar no modo de transferência
sem reconhecimento. Dessa forma, a função de retransmissão de PDUs fica sob
responsabilidade das camadas superiores (por exemplo, função do protocolo TCP). O
tamanho dos quadros LLC é configurado com 500 bytes de acordo com o número máximo de
bytes imposto pela rede GPRS para o campo de informação de um quadro da camada LLC
que trabalha sem reconhecimento [BATES 02].
Para simular a utilização do esquema de codificação de canal CS-4 e obter uma taxa
máxima de 21,4 kbit/s, cada quadro recebido da camada LLC é fragmentado em quadros RLC
de 107 bits. Como cada bloco de rádio é transmitido no mesmo slot de tempo de 4 quadros
TDMA consecutivos, 428 bits (4 x 107 bits) são transmitidos pela camada física a cada 20 ms,
aproximadamente, resultando em uma taxa de 21,4 kbit/s (428 bits / 20 ms) por slot de tempo.
De acordo com as características de uma interface de rádio GPRS, cada quadro TDMA
possui 8 slots de tempo. A duração de cada slot de tempo é de, aproximadamente, 577
microssegundos e cada slot TDMA quando utilizado contém até 156,25 bits. Em cada
freqüência (downlink ou uplink), o slot de tempo 0 (PDCH 0) é reservado para a transferência
de pacotes de sinalização e difusão como, por exemplo, durante o estabelecimento de um
TBF, uma MS envia um pacote de sinalização uplink solicitando ao BSS recursos de rádio.
Ao contrário de um BSS, cada MS pode transmitir ou receber pacotes em apenas uma
freqüência de cada vez.
62
De forma geral, os elementos móveis fornecidos em NS são configurados como
elementos “ad-hoc” podendo se comunicar com qualquer outro elemento móvel dentro de seu
alcance. Em um cenário GPRS, cada MS é criada para se comunicar apenas com o BSS
dentro de sua área de serviço, isto é, ela não deve se comunicar com outras MSs. Para
solucionar esse problema, o agente de roteamento NOAH (Non-Adhoc) construído por Jörg
Widmer [WIDMER 00] foi utilizado. Um agente NOAH roteia todos os pacotes enviados
para ou de uma MS através de um BSS, impossibilitando a comunicação entre MSs.
A Figura 18 ilustra o modelo de simulação de uma rede GPRS downlink (do GGSN para
uma MS). Para simular a mobilidade do sistema (taxas de processos de handoff) e reservar
recursos nas células adjacentes, a rede celular implementada é composta por um cluster (ou
grupo) de sete células, sendo que cada célula é capaz de trocar informações com suas células
adjacentes.
O modelo da célula abrange um GGSN, um SGSN, um BSC, uma BTS e conexões
concorrentes para várias MSs. O GGSN é o elemento de origem dos fluxos de tráfego, o
SGSN e o BSS são os elementos intermediários da rede e as MSs são os elementos destino
das conexões. O GGSN e o SGSN são responsáveis pela negociação do perfil de QoS
juntamente com a MS durante a ativação de um contexto PDP. Para isso esses elementos
executam o algoritmo de CAC quando novas conexões ou pedidos de handoff chegarem na
rede. O BSS tem como função alocar recursos de rádio na célula corrente da MS e reservar
recursos nas células adjacentes caso seja necessário.
MS
.
.
.
BSC
BTS
100 Mbit/s
SGSN
100 Mbit/s
BSS
Figura 18 – Modelo de simulação da rede celular GPRS
GGSN
63
Um enlace fixo é estabelecido entre os elementos GGSN, SGSN e BSS. Um enlace sem
fio é estabelecido entre o BSS e as MSs dentro de sua área de serviço. Como a interface aérea
corresponde ao gargalo do sistema, escolheu-se uma largura de banda de 100 Mbit/s entre os
nós fixos (GGSN-SGSN e SGSN-BSC). Os atrasos de propagação nos enlaces fixos não são
considerados. N slots de tempo são reservados para o tráfego GPRS downlink (do GGSN para
a MS em cada BTS). Cada slot de tempo é configurado com uma taxa de dados de 21,4 kbit/s
para representar o uso do esquema de codificação de canal CS-4. Assim, cada célula tem uma
capacidade máxima de largura de banda de (N × 21,4) kbit/s que será compartilhada pelas
suas MSs.
O modelo GPRS contribuído em [JAIN 01] permite apenas a operação com único slot,
isto é, cada MS é capaz de alocar apenas um slot de tempo para iniciar transferência de
pacotes na rede. Esse modelo precisou ser modificado para permitir que mais de uma MS
receba seus pacotes em um mesmo quadro TDMA e, como são transportadas aplicações com
uma taxa de dados maior que 21,4 kbit/s, a camada que controla o acesso à interface aérea
(MAC) foi modificada para suportar uma operação multislot (permitir que uma MS utilize até
oito slots de tempo para uma transferência individual de pacote). Essa implementação é outra
contribuição do trabalho.
Através dessa contribuição, pode-se indicar a qual classe multislot uma determinada MS
pertence. Uma classe multislot de uma MS se refere ao número máximo de slots de tempo que
podem ser utilizados para uma transferência de dados downlink e uplink [BATES 02]. No
presente trabalho, todas as MSs pertencem a classe multislot 8 indicando que 4 slots de tempo
podem ser utilizados para a recepção de pacotes e 1 slot para a transmissão.
Devido ao modo como os elementos MS e BSS são estruturados no software NS a
implementação da plataforma GPRS suporta apenas um BSS e, conseqüentemente, uma
célula. Para simular o funcionamento do algoritmo de CAC sendo executado no cluster de
sete células, foram criados agentes para representar a célula central do cluster sendo
investigada e as suas seis células adjacentes. A função de cada um desses agentes é gerar
consumo de largura de banda nas células onde estão sendo empregados.
Um conjunto idêntico de distribuições é empregado pelos agentes nas sete células do
cluster para determinar o tempo de interchegada de pedidos de conexão, o tipo das conexões
solicitadas, o tipo de fluxo de tráfego que cada conexão gera e a duração de cada conexão.
Essas distribuições serão descritas a seguir.
Conforme visto no capítulo 3 (seção 3.5), a chegada de conexões em um sistema pode
ser definida pelo tempo de interchegada de pedidos de conexões (1/λ) ou como o número
64
médio desses pedidos por unidade de tempo (λ). Para representar diferentes cargas de tráfego
oferecidas em uma determinada célula do sistema, a taxa de chegada de conexões em uma
célula é gerada como uma variável randômica distribuída exponencialmente com média (λ).
As diferentes taxas são utilizadas em um conjunto de cenários gerados na simulação para
obter diferentes resultados e analisar o desempenho do esquema de QoS sendo proposto. A
análise desses resultados é discutida no próximo capítulo.
Tipos de eventos independentes são assumidos para caracterizar pedidos de conexões
novas e pedidos de uma conexão já existente executando um handoff. Para determinar o tipo
de uma conexão (χ) sendo solicitada em um determinado instante de tempo, uma função
matemática disponível no software NS é utilizada para gerar variáveis inteiras e randômicas
uniformemente distribuídas sobre um intervalo [a, b]. Através de uma distribuição uniforme,
qualquer valor inteiro χ compreendido entre o intervalor a e b (a ≤ χ ≤ b) tem a mesma
probabilidade de ocorrer. De modo a representar uma baixa mobilidade no sistema em estudo,
assume-se uma probabilidade de 1/3 para pedidos de handoff e 2/3 para a ocorrência de
pedidos de uma nova conexão. De modo a obter tais probabilidades, algumas considerações
são feitas:
(1) χ é número inteiro uniformemente distribuído sobre o intervalo [1, 3];
(2) Caso os números gerados sejam 1 ou 2, estes representarão um pedido de uma nova
conexão;
(3) A geração do número 3 indicará um handoff sendo solicitado para uma nova célula.
Cada pedido de conexão gerado pertence a um determinado fluxo de tráfego. Para que
todos os fluxos definidos em uma simulação possuam a mesma probabilidade de serem
escolhidos para inicialização, a geração destes fluxos é uniformemente distribuída entre [1, φ]
onde φ indica o número máximo de fluxos de tráfegos escolhidos. A próxima seção descreve
os tipos de fluxos de tráfego existentes na simulação e seus parâmetros tais como: média de
duração, taxa de dados média, tempo de interchegada de pacotes, tamanho médio dos pacotes,
classe de precedência de serviço (prioridade) e classe de throughput médio.
Uma vez conhecido o tipo de conexão solicitada em uma célula corrente α, o fluxo a
qual essa conexão pertence, sua classe de precedência de serviço e sua classe de throughput
médio, o agente responsável pela célula α executa o CAC para determinar se tal conexão pode
ser admitida e a porção da largura de banda que poderá ser consumida na célula α.
Conforme descrito no capítulo anterior, algumas conexões sendo solicitadas em uma
célula α só podem ser admitidas caso o BSS seja capaz de reservar recursos de rádio em todas
65
as células adjacentes à α. Para determinar a quantidade de recursos de rádio a serem
reservados, o esquema proposto se baseia no modelo de movimento de cada MS na rede
GPRS. Assume-se que esse modelo de movimento seja altamente direcional, isto é, considerase que em um eventual pedido de handoff, a probabilidade de uma determinada MS executar
um handoff para uma célula x seja alta (px). Além disso, também se assume que a
probabilidade dessa mesma MS mudar para as outras células adjacentes seja baixa (1- px).
A escolha da célula x, para a qual uma MS poderá executar um handoff, seguirá uma
distribuição uniforme no intervalo [1, 6] representando as seis células adjacentes à uma célula
α. Para representar a probabilidade de uma MS se mover em direção à célula x selecionada
(px), a distribuição normal ou Gaussiana é empregada. A escolha dessa distribuição se deve
ao fato de sua representação gráfica ser semelhante a uma curva em forma de “sino”,
simétrica em torno de uma média µ. Com base em [OLIVEIRA 98], considera-se que o
modelo de movimento das MSs seja altamente direcional e que cada MS executará um
handoff para uma célula x com µ = 80% e desvio-padrão (σ = 1). O desvio-padrão é utilizado
para medir o grau de dispersão dos dados numéricos em torno de µ e seu valor foi escolhido
para obter, aproximadamente, probabilidades px entre 75% e 85%.
Para determinar a quantidade de largura de banda a ser reservada em uma célula x, o
agente dessa célula determina a maior de todas as larguras de banda já reservadas nela através
de solicitações efetuadas pelas suas células adjacentes (the_largest). Nas outras células
adjacentes, uma porção menor da largura de banda (1 - px) é reservada. De modo a limitar o
pool comum de recursos reservados em uma determinada célula adjacente, uma porcentagem
de 15% é escolhida como valor inicial nas simulações para o parâmetro maxb. Dessa forma,
apenas 15% da largura da banda total disponível em uma célula pode ser reservada para
atender futuros pedidos de handoff.
Quando recursos de rádio não são mais necessários, estes precisam ser desalocados. O
mecanismo empregado na desalocação de recursos está descrito no capítulo 4 (seção 4.21).
A seguir são apresentados os modelos de tráfego empregados na simulação e os
parâmetros utilizados para avaliar o esquema de provisão de QoS proposto combinando CAC,
reserva de recursos e escalonamento.
66
5.3 Parâmetros da simulação
De modo a representar a diversidade de mídias que podem ser suportadas em uma rede
GPRS através da aplicação do esquema de provisão de QoS, seis modelos de fonte de tráfego
foram escolhidos. Para caracterizar os três tipos de mídias existentes (áudio, vídeo e texto) as
seguintes aplicações estão sendo simuladas:
1. Acesso remoto (mídia de texto): utiliza o protocolo telnet no nível da camada de
aplicação e o protocolo TCP para uma entrega confiável dos caracteres digitados;
2. Áudio Streaming (mídia de áudio): utiliza o protocolo UDP para obter músicas
rapidamente, uma vez que aplicações de áudio requerem certos limites quando ao
atraso de seus pacotes e são toleráveis a perdas ocasionais;
3. Correio eletrônico (mídia de texto): utiliza o protocolo TCP para transportar e-mails
corretamente entre entidades de comunicação sem impor limites de atraso;
4. Mensagem de voz (mídia de áudio): utiliza o protocolo UDP, pois um limite rígido
de atraso e variação de atraso é mais importante para esse tipo de aplicação do que
uma entrega confiável;
5. Transferência de arquivos (mídia de texto): utiliza o protocolo FTP na camada de
aplicação e o protocolo TCP para fornecer um transporte de dados fim-a-fim;
6. Vídeo one-way: utiliza o protocolo UDP para transmitir os quadros de um vídeo.
A Tabela 4 ilustra os parâmetros utilizados na simulação para gerar os fluxos de tráfego
para as aplicações citadas acima. Esses parâmetros foram escolhidos para melhor suprir os
requisitos de QoS exigidos por cada uma das aplicações, conforme descrito no capítulo 3
(seção 3.2).
As duas primeiras colunas da tabela demonstram as duas classes de QoS negociadas
durante a assinatura de um contrato de prestação de serviço, onde um perfil de QoS é criado
para cada aplicação. De modo a oferecer um melhor tratamento às aplicações mais sensíveis
ao atraso, como as aplicações de acesso remoto e mensagem de voz, uma classe de
precedência de serviço com prioridade alta é negociada com a rede. A classe de throughput
médio é negociada de acordo com a taxa de dados de cada aplicação.
Os valores apresentados para a duração mínima (min) e média de cada conexão
baseiam-se em [OLIVEIRA 98]. Com exceção das conexões pertencentes a aplicações de
correio eletrônico, cuja duração máxima é de 2 minutos (max = 120s), a duração máxima de
cada conexão (max), é determinada pelo tempo de cada simulação (Tsim). Devido a
67
distribuição exponencial ser muito utilizada em simulações e, normalmente, representar a
duração de um serviço [PITTS 00], uma variável randômica distribuída exponencialmente
com média µ e entre os valores min e max determina a duração de uma conexão na rede
GPRS simulada. Caso a duração de uma conexão ultrapasse o tempo de simulação restante
(Tr), a duração da conexão será de (Tr – 10) segundos. Essa “folga” de 10 segundos é
fornecida para evitar a perda de pacotes já transmitidos pelo elemento origem (GGSN) e
esperando em fila para serem escalonados para uma determinada MS destino.
Tabela 4 – Parâmetros das aplicações utilizados na simulação
Aplicação
Acesso
Remoto
Áudio
Streaming
Correio
Eletrônico
(e-mail)
Mensagem de
voz
Transferência
de arquivos
Vídeo
One-way
Classe de
Classe
Precedência de Throughput
de Serviço
Médio
(Prioridade)
Solicitada
1 (alta)
2 (normal)
3 (baixa)
1 (alta)
3 (baixa)
2 (normal)
Duração
média da
conexão (µ)
(min – max)
Taxa de
Tamanho médio
Tempo de
dados
dos
Interchegada
média
pacotes/quadros
de pacotes (s)
(kbit/s)
(bytes)
13
(1,11 kbit/s)
17
(22 kbit/s)
3 minutos
1
0,512
(30 s – max)
(exponencial)
3 minutos
0,08
20 (CBR)
(1 min – max)
(constante)
15
(4,4 kbit/s)
30 segundos
(10 s – 120 s)
16
(11,1 kbit/s)
19
(111 kbit/s)
19
(111 kbit/s)
3 minutos
(1 min – max)
2 minutos
(30 s – max)
6 minutos
(3 min – max)
64
200 (constante)
4
1
(exponencial)
500
(distribuição
Cauchy)
10,7
(CBR)
0,02308
(constante)
31 (constante)
< 110
-
500
64
0,04
(25 quadros
por segundo)
320
A taxa de dados de cada aplicação é escolhida de acordo com a Tabela 2 mostrada no
capítulo 3 (seção 3.2). Isso se faz necessário para demonstrar a aplicabilidade de um conjunto
de mídias em uma rede GPRS enquanto atendendo aos requisitos específicos de QoS em
termos, por exemplo, da largura de banda consumida.
Para gerar tráfegos para as aplicações de acesso remoto e transferência de arquivos são
utilizados os protocolos telnet e FTP já disponíveis no NS para gerar tais aplicações [NS-2].
O modelo FUNET (Finnish University and Research Network) foi usado para gerar o
tráfego de aplicações de correio eletrônico (e-mail). Nesse modelo o tempo de interchegada
de pacotes é gerado de acordo com uma distribuição exponencial e o tamanho de um e-mail é
aproximado pela função da distribuição Cauchy com um tamanho máximo de mensagem de
10 Kbytes [PANG 99].
68
Para gerar um tráfego real para a aplicação de vídeo one-way, foi utilizado um arquivo
trace, adaptado para o simulador NS, que produz quadros H263 do filme “Jurassic Park I”
[FITZEK 01].
De modo a evitar efeitos de perda de pacotes em filas devido à falta de espaço em
buffer, são utilizados buffers downlink com grande capacidade de armazenamento.
5.4 Conclusão
O objetivo do presente capítulo é discutir os aspectos mais importantes envolvidos no
modelo de simulação de uma rede GPRS aplicando o esquema de provisão de QoS sendo
proposto.
Utilizando o modelo de simulação e os parâmetros das fontes de tráfego geradas na
rede, métricas de desempenho do esquema de provisão de QoS proposto (combinando CAC,
reserva de recursos e escalonamento) podem ser obtidas através da simulação. Tais métricas
dependerão do número de conexões existentes na rede e dos requisitos de QoS impostos por
cada aplicação.
As métricas de desempenho obtidas para avaliar o algoritmo de CAC e reserva de
recursos podem incluir a probabilidade de admissão de conexões (novas ou pedidos de
handoff), a probabilidade de queda de conexões ativas devido a pedidos de handoff, a
probabilidade de bloqueio de novas conexões.
Para avaliar o escalonador MDRR+ proposto, este será comparado a um escalonador
FIFO. Com uma política FIFO, os blocos de rádio são transmitidos na interface aérea na
ordem de suas chegadas. Diferentes métricas são utilizadas para avaliar o desempenho dessas
duas disciplinas de escalonamento de filas, tais como: o throughput (porção da largura de
banda) mínimo, médio é máximo utilizado por cada aplicação em uma transferência de
pacotes, o número de pacotes enviados e perdidos em cada fluxo de tráfego, o atraso mínimo,
médio e máximo entre os pacotes de um determinado fluxo de tráfego e suas variações.
Diferentes cenários são construídos para verificar e validar o modelo de simulação
desenvolvido. O próximo capítulo apresenta os resultados das simulações que serão utilizados
para comparar os efeitos do esquema de QoS proposto e de um escalonador FIFO em uma
rede GPRS suportando um conjunto de mídias com diferentes requisitos de desempenho.
6 Resultados e Análise da Simulação
6.1 Introdução
Esse capítulo apresenta os resultados da simulação para avaliar o esquema de QoS
sendo proposto e determinar se o modelo de simulação desenvolvido representa corretamente
uma rede celular GPRS.
Uma vez obtidos e analisados os resultados da simulação, pretende-se demonstrar os
benefícios e a viabilidade dos mecanismos de CAC, reserva de recursos e escalonamento na
provisão de QoS para um conjunto de mídias com diferentes requisitos de desempenho.
De modo a avaliar cada mecanismo proposto, ferramentas gráficas e arquivos de análise
numérica disponível pelo software NS foram utilizados. Animações dos elementos da rede
GPRS empregando os mecanismos de provisão de QoS puderam ser visualizadas através de
uma ferramenta gráfica chamada NAM (Network Animator) [NAM]. Essa ferramenta
apresenta uma ilustração gráfica da topologia de uma rede simulada com os seguintes objetos
de animação: elementos (nós), enlaces entre os elementos, filas, pacotes e agentes. O NAM
possibilita monitorar fluxos de tráfego, analisando sua taxa de dados, a trajetória de cada um
de seus pacotes (de dados ou de sinalização) sendo enviado de um elemento origem até um
elemento destino e a perda de pacotes em filas devido à falta de espaço de armazenamento em
buffer. O comportamento e ocupação das filas onde pacotes são armazenados (ou descartados)
também podem ser visualizados.
Dados para análise numérica de uma simulação são apresentados diretamente durante a
execução de uma simulação ou armazenados em um arquivo chamado trace. Cada arquivo
trace está vinculado a uma simulação sendo responsável por manter registros de operações
executadas em filas (enqueue e dequeue), eventos ocorridos em elementos da rede (por
exemplo, recebimento, envio ou descarte de um pacote), o tempo de simulação (em segundos)
na qual cada evento ou operação ocorre, indicação do tipo, tamanho, número de seqüência,
identificador único, endereço fonte e endereço destino de cada pacote transmitido entre os
elementos da rede. Através desses dados diferentes estatísticas podem ser obtidas para avaliar
o desempenho da rede.
Como principais medidas estatísticas de desempenho utilizadas para verificar os
mecanismos que compõem o esquema de provisão de QoS proposto pode-se citar: a taxa de
admissão e rejeição de conexões, a utilização da largura de banda, o throughput mínimo,
70
médio e máximo gerado por cada fluxo de tráfego, o atraso médio e máximo entre os pacotes
de um determinado fluxo e a variação de atraso.
Nas próximas seções, diferentes cenários são identificados e os resultados obtidos pelas
simulações para avaliar o esquema proposto são apresentados.
6.2 Resultados da simulação do CAC e reserva de recursos
O objetivo dessa seção é apresentar um conjunto de efeitos que um algoritmo de CAC
e reserva de recursos pode causar em uma célula da rede GPRS em função da carga oferecida
ao sistema (λ), tais como:
•
Número de novas conexões admitidas;
•
Número de pedidos de handoff admitidos;
•
Taxa de rejeição de novas conexões (Rn);
•
Taxa de rejeição de pedidos de handoff (Rh);
•
Taxa de rejeição de conexões (Rt);
•
Utilização da largura de banda: porcentagem da largura de banda total sendo
realmente utilizada pelas conexões ativas em uma determinada célula.
No primeiro cenário de simulação utilizado, quatro freqüências com cinco slots de
tempo cada uma são reservadas para o tráfego GPRS downlink sendo que cada célula terá uma
capacidade máxima de largura de banda de 428 kbit/s (4 x 5 x 21,4 kbit/s) que será
compartilhada por todas as conexões admitidas na rede. Como já descrito no capítulo 4 (seção
4.2.1), a quantidade máxima de recursos que podem ser reservados em uma determinada
célula é uma porcentagem maxb da largura de banda total da célula. Portanto, será assumido
um maxb = 15%, o que limita o pool comum de reserva a apenas 15% da largura de banda
total disponível na célula. Diferentes sementes foram utilizadas para gerar os resultados da
simulação.
As Figuras 19, 20 e 21 ilustram as taxas de rejeição de novas conexões, pedidos de
handoff e do total de conexões geradas, respectivamente, em função da taxa de chegada de
chamadas por segundo na célula sendo investigada, isto é, na célula no centro do cluster. O
objetivo é demonstrar que a função do mecanismo de reserva de recursos é priorizar as
conexões já admitidas na rede. Como o objetivo do esquema proposto é reservar largura de
banda em todas as células adjacentes para atender a um futuro pedido de handoff, um Rh
menor é alcançado. Porém, um maior Rn é obtido uma vez que menos recursos estão
71
disponíveis para atender às novas conexões. Por exemplo, com uma carga de 0,03 chamadas/s,
o que indica que a cada 33 segundos chega um pedido de conexão, o esquema proposto mostra
que o Rn máximo atingido foi de, aproximadamente, 6% e o Rh de, aproximadamente, 1,5%.
semente 16
semente 20
semente 35
semente 44
semente 62
Taxa de Rejeição de Novas Conexões
0,48
0,45
0,42
0,39
0,36
0,33
0,30
0,27
0,24
0,21
0,18
0,15
0,12
0,09
0,06
0,03
0,00
0,00
0,01
0,02
0,03
0,04
0,05
0,06
0,07
0,08
0,09
0,10
0,11
Carga do Sistema [chamadas/s]
Figura 19 – Taxa de rejeição de novas conexões (Rn)
Taxa de Rejeição de Pedidos de Handoff
0,13
semente 16
semente 20
semente 35
semente 44
semente 62
0,12
0,11
0,10
0,09
0,08
0,07
0,06
0,05
0,04
0,03
0,02
0,01
0,00
0,00
0,01
0,02
0,03
0,04
0,05
0,06
0,07
0,08
0,09
0,10
Carga do Sistema [chamadas/s]
Figura 20 – Taxa de rejeição de pedidos de handoff (Rh)
0,11
72
0,32
semente 16
semente 20
semente 35
semente 44
semente 62
Taxa de Rejeição de Conexões
0,30
0,28
0,26
0,24
0,22
0,20
0,18
0,16
0,14
0,12
0,10
0,08
0,06
0,04
0,02
0,00
0,00
0,01
0,02
0,03
0,04
0,05
0,06
0,07
0,08
0,09
0,10
0,11
Carga do Sistema [chamadas/s]
Figura 21 – Taxa de rejeição de conexões (Rt)
A discrepância entre os resultados das diferentes sementes ilustrada na Figura 20 se
deve ao fato do número de eventos (pedidos de handoff) não ser suficientemente grande para
gerar um conjunto de variáveis randômicas identicamente distribuídas e independentes que
convergem para a média esperada finita da população. Como ilustra a Figura 19, os resultados
das sementes se aproximam pelo fato do número de eventos ser maior, indicando que a
simulação está correta. As restrições quanto à quantidade de eventos gerados estão
relacionados às deficiências do software NS e da capacidade da máquina sendo utilizados o
que não permitiu tempos longos de simulações (tempo máximo de simulação atingido:
50.000s).
Se a política da operadora da rede GPRS for priorizar pedidos de handoff devido às
novas características dos serviços multimídias oferecidos a seus assinantes móveis e caso seja
tolerável uma maior taxa de rejeição para as novas conexões, o algoritmo de CAC e reserva
de recursos proposto permitirá que a rede trabalhe com uma carga maior de fluxos enquanto
ainda fornecendo uma taxa de rejeição de pedidos de handoff de 2% como pode ser verificado
pelas Figuras 19 e 20.
Os demais resultados obtidos através da simulação podem ser verificados nas Tabelas
5 e 6.
73
Tabela 5 – Conexões geradas nas simulações
Handoffs
Tempo de Tempo de Semente Novas conexões
interchegada simulação
geradas
geradas
de fluxos (s)
(s)
Prioridade
1
2
3
1
2
3
100
50000
85
50000
70
50000
65
50000
50
50000
45
50000
33
50000
25
30000
20
30000
10
20000
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
107
121
126
105
124
130
141
137
129
149
148
166
156
141
162
173
187
178
160
184
221
238
224
212
229
251
262
245
231
251
323
362
321
316
327
268
292
257
248
267
320
358
316
313
322
427
451
424
419
426
107
94
93
94
104
124
115
113
107
123
141
130
132
126
141
155
157
154
150
163
207
208
202
199
219
234
234
220
212
242
319
325
310
302
338
255
252
240
231
263
314
321
303
296
334
428
430
412
412
465
105
132
114
127
100
120
152
140
154
122
138
171
159
175
134
165
192
178
203
150
234
243
226
250
205
252
262
249
281
231
348
347
331
372
319
275
279
269
307
254
343
344
327
366
315
447
477
442
480
424
57
53
52
52
49
66
61
63
62
56
74
66
69
70
67
91
74
81
81
75
111
97
104
110
95
116
106
121
128
112
158
147
178
169
163
123
119
144
140
122
156
145
177
169
160
208
195
222
209
215
60
46
57
53
56
73
55
65
59
62
79
57
72
63
73
89
72
84
73
88
105
104
111
97
113
119
116
130
107
122
169
149
176
146
168
133
124
141
119
140
168
147
176
143
166
226
201
227
200
206
63
53
57
68
66
73
62
68
75
74
81
71
73
86
84
91
82
89
97
104
114
102
125
124
131
124
116
131
134
138
171
158
172
183
173
136
124
139
145
144
169
155
171
183
173
224
206
233
240
224
Total
Total
Percentual
de
novas
de pedidos
handoffs conexões de handoff
180
152
166
173
171
212
178
196
196
192
234
194
214
219
224
271
228
254
251
267
330
303
340
331
339
359
338
382
369
372
498
454
526
498
504
392
367
424
404
406
493
447
524
495
499
658
602
682
649
645
319
347
333
326
328
374
408
390
390
394
427
467
447
442
437
493
536
510
513
497
662
689
652
661
653
737
758
714
724
724
990
1034
962
990
984
798
823
766
786
784
977
1023
946
975
971
1302
1358
1278
1311
1315
36,07
30,46
33,27
34,67
34,27
36,18
30,38
33,45
33,45
32,76
35,40
29,35
32,38
33,13
33,89
35,47
29,84
33,25
32,85
34,95
33,27
30,54
34,27
33,37
34,17
32,76
30,84
34,85
33,76
33,94
33,47
30,51
35,35
33,47
33,87
32,94
30,84
35,63
33,95
34,12
33,54
30,41
35,65
33,67
33,95
33,57
30,71
34,80
33,11
32,91
74
Tabela 6 – Conexões admitidas e rejeitadas
Tempo de Tempo de Semente
interchegada simulação
de fluxos (s)
(s)
100
50000
85
50000
70
50000
65
50000
50
50000
45
50000
33
50000
25
30000
20
30000
10
20000
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
16
20
35
44
62
Handoffs
Novas
conexões
admitidos
admitidas
Prioridade
1
2
3
1
2
3
107
121
126
105
124
130
141
137
129
149
147
166
156
141
162
172
185
177
160
184
219
234
222
212
228
248
258
243
231
248
308
343
312
304
314
236
269
227
229
244
267
305
264
260
264
264
288
258
272
259
107
94
93
94
104
122
115
113
107
123
139
130
132
126
141
154
157
154
150
163
201
204
197
196
216
219
228
212
209
233
286
290
269
269
291
200
182
180
174
193
197
209
187
207
224
134
127
116
141
148
105
132
114
127
100
120
152
140
154
122
138
171
159
175
134
165
192
178
203
150
234
243
226
250
204
250
262
248
280
230
343
343
325
369
313
265
269
250
296
242
318
316
298
338
289
353
354
331
384
337
57
53
52
52
49
66
61
63
62
56
74
66
69
70
67
91
74
81
81
75
111
97
104
110
94
116
106
121
128
111
158
147
178
169
163
123
118
143
138
121
154
140
177
166
158
200
181
208
203
203
60
46
57
53
56
73
55
65
59
62
79
57
72
63
73
89
72
84
73
88
105
104
110
96
113
118
114
128
106
121
165
144
173
139
165
125
120
130
116
130
158
133
156
130
147
172
145
169
160
158
63
53
57
68
66
73
62
68
75
74
81
71
73
86
84
91
82
89
97
104
114
102
125
124
131
124
116
131
134
138
171
157
172
183
172
136
124
138
145
142
168
153
169
182
172
218
202
226
236
217
Novas conexões
rejeitadas
1
2
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
2
1
0
0
2
4
2
0
1
3
4
2
0
3
15
19
9
12
13
32
23
30
19
23
53
53
52
53
58
163
163
166
147
167
0
0
0
0
0
2
0
0
0
0
2
0
0
0
0
1
0
0
0
0
6
4
5
3
3
15
6
8
3
9
33
35
41
33
47
55
70
60
57
70
117
112
116
89
110
294
303
296
271
317
Handoffs
rejeitados
Prioridade
3
1
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
2
0
1
1
1
5
4
6
3
6
10
10
19
11
12
25
28
29
28
26
94
123
111
96
87
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
0
0
1
0
0
0
0
0
0
1
1
2
1
2
5
0
3
2
8
14
14
6
12
2
3
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
1
0
1
2
2
1
1
4
5
3
7
3
8
4
11
3
10
10
14
20
13
19
54
56
58
40
48
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
0
1
0
0
1
0
0
1
0
2
1
2
2
1
1
6
4
7
4
7
75
A Tabela 5 demonstra o número de conexões (novas e pedidos de handoff) geradas
durante as simulações para cada classe de precedência de serviço (prioridade). Diferentes
tempos de interchegada de fluxos foram simulados de modo a refletir níveis diferentes de
carga no sistema para cinco sementes distintas. A mesma tabela ilustra que a geração de
fluxos segue uma distribuição uniforme conforme o esperado e o percentual de pedidos de
handoff é demonstrado de modo a comprovar a distribuição utilizada para obter,
aproximadamente, 33% de pedidos de handoff.
A Tabela 6 demonstra o número de novas conexões e pedidos de handoff admitidos e
rejeitados para diferentes cargas do sistema.
Um outro critério importante para observar o desempenho do CAC juntamente com a
reserva de recursos é analisar a utilização da largura de banda como uma função da carga do
sistema. A Figura 22 ilustra a largura de banda utilizada pelas conexões ativas na célula
central do cluster (α) sendo investigada. Através dessa simulação pode-se observar que
quando λ aumenta, o esquema resulta em uma maior utilização da largura de banda.
λ
λ
λ
λ
Utilização da Largura de Banda (%)
100
90
80
= 0,2
= 0,1
= 0,04
= 0,03
70
60
50
40
30
20
10
0
0
2500
5000
7500
10000
12500
15000
17500
20000
22500
Tempo [s]
Figura 22 – Utilização da largura de banda na célula α em função de λ
Um parâmetro importante que deve ser considerado na avaliação da utilização da
largura de banda em uma célula é o maxb. O valor de maxb determina a quantidade de largura
de banda que pode ser reservada em uma determinada célula para atender futuros pedidos de
handoff. Por esse motivo, maxb pode influenciar na utilização da largura de banda, na taxa de
76
rejeição de novas conexões e pedidos de handoff. De modo a avaliar a influência de maxb
foram simulados novos cenários assumindo quatro valores distintos para o parâmetro maxb e
dois tempos de interchegada de fluxos (λ = 0,1 chamadas/s e λ = 0,03 chamadas/s).
Para uma maior carga do sistema, conforme ilustra a Figura 23, na maior parte da
simulação, pode-se observar que quanto menor o valor de maxb, melhor será a utilização da
largura de banda, uma vez que ele limita o pool comum de recursos reservados em uma
determinada célula. Porém, conforme ilustra a Figura 24, para uma carga do sistema mais
realista de 0,03 chamadas/s (devido à taxa de rejeição de conexões admissíveis pelas
operadoras de redes celulares), os resultados quanto à utilização de largura de banda para os
quatro valores de maxb simulados se assemelham muito.
maxb = 0%
maxb = 5%
maxb = 10%
maxb = 15%
Utilização da Largura de Banda (%)
100
90
80
70
60
50
40
30
20
10
0
0
5000
10000
15000
20000
Tempo [s]
Figura 23 – Utilização da largura de banda em função de maxb para λ = 0,1
77
maxb = 0%
maxb = 5%
maxb = 10%
maxb = 15%
Utilização da Largura de Banda (%)
100
90
80
70
60
50
40
30
20
10
0
0
2500
5000
7500
10000
12500
15000
17500
20000
22500
Tempo [s]
Figura 24 – Utilização da largura de banda em função de maxb para λ = 0,03
A fim de determinar melhor a escolha da quantidade de recursos que podem ser
reservados em uma determinada célula, a Tabela 7 ilustra a influência do parâmetro maxb
sobre o número de novas conexões e pedidos de handoff admitidos e rejeitados em uma célula
α. As conexões pertencentes à classe de precedência de serviço 3 (prioridade baixa) são
incluídas na tabela abaixo para maiores detalhes, porém, vale lembrar que para estas conexões
nenhum mecanismo de reserva é executado.
Tabela 7 – Número de conexões admitidas e rejeitadas em função de maxb
Tempo de
Valor
interchegada de maxb
(s)
(%)
Novas
conexões
Admitidas
Handoffs
admitidos
Novas
conexões
rejeitadas
Prioridade
33 (λ = 0,03)
10 (λ = 0,1)
0
5
10
15
0
5
10
15
1
359
351
347
343
346
257
296
288
2
305
299
296
290
179
123
140
127
3
345
344
345
343
403
389
368
354
1
146
146
146
147
173
172
179
181
Handoffs
rejeitados
Prioridade
2
142
143
142
144
123
144
139
145
3
157
157
157
157
202
201
200
202
1
3
11
15
19
105
194
155
163
2
3
1
20
2
1
26
3
1
29
2
1
35
4
0
251 74 22
307 88 23
290 109 16
303 123 14
2
7
6
7
5
78
57
62
56
3
1
1
1
1
4
5
6
4
78
Como pode ser observado na Tabela 7, para um tempo de interchegada de 33s, quanto
maior o valor de maxb, um número menor de handoffs rejeitados será obtido, porém, em
contrapartida, um número menor de novas conexões será admitido, devido ao algoritmo de
CAC e reserva de recursos priorizar as conexões já admitidas na rede reservando recursos nas
células adjacentes para atender futuros pedidos de handoff. Para uma carga de λ = 0,1, o
mesmo pode ser verificado quanto ao número de pedidos de handoff admitidos e rejeitados,
porém para as conexões de maior prioridade o desempenho de um maxb de 5% foi inferior aos
maxb de 10% e 15% em relação ao número de novas conexões admitidas e rejeitadas.
Os resultados apresentados nessa seção sobre a influência que o valor do parâmetro
maxb pode causar na rede GPRS são apenas resultados preliminares. Fazem-se necessárias
novas investigações para uma escolha adequada da porcentagem máxima de recursos que
podem ser reservados em uma determinada célula.
6.3 Resultados da simulação do escalonador MDRR+ e FIFO
As disciplinas de escalonamento de filas MDRR+ e FIFO foram empregadas na camada
MAC GPRS para determinar a ordem na qual os pacotes recebidos no BSS devem ser
escalonados na interface aérea para uma determinada MS.
A disciplina MDRR+, conforme descrito no capítulo 4 (seção 4.3.1) processa os pacotes
de acordo com a prioridade do fluxo a qual o pacote pertence e sua função principal é prover
uma distribuição “justa” da largura de banda total disponível entre os fluxos de tráfego ativos
na célula. Por outro lado, um escalonador implementando a disciplina FIFO, descrita no
capítulo 3 (seção 3.5.1), transmite os pacotes na ordem em que são recebidos no BSS.
De modo a avaliar e comparar os efeitos dessas disciplinas de escalonamento sob a
provisão de qualidade em redes GPRS, exigida por um conjunto de aplicações, diferentes
cenários de simulações foram utilizados nessa seção.
Inicialmente, três cenários foram simulados para tempos de interchegada de 100s, 50s e
33s. Para os três cenários, a célula α tem uma capacidade máxima de largura de banda de 428
kbit/s reservada para o tráfego GPRS downlink, todas as MSs pertencem a classe multislot 8
(4 slots de tempo para uplink e 1 slot para downlink) e o parâmetro maxb é de 15%. O tipo de
conexão (nova ou pedido de handoff), o fluxo de tráfego de cada conexão e a duração de cada
conexão foram geradas de acordo com as distribuições descritas no modelo de simulação
apresentado no Capítulo 5.
79
A Tabela 8 descreve os resultados do pior caso dos três cenários de simulação. Esses
resultados servirão para demonstrar que o algoritmo proposto atende aos requisitos de QoS
das diferentes aplicações simuladas. Uma vez que a interface aérea corresponde ao ponto de
maior “gargalo” de um sistema móvel sem fio, a provisão de QoS é considerada apenas na
parte móvel da rede. Devido à geração do início e término dos fluxos serem randômicos, a
única desvantagem claramente observada do escalonador FIFO em relação ao escalonador
MDRR+ é que a variação máxima do atraso entre os pacotes de uma aplicação de mensagem
de voz atingiu, aproximadamente, 143 ms, muito superior ao limite máximo admitido (1 ms).
Tabela 8 – Pior caso de três cenários de simulação
Aplicação
Throughput
mínimo - máximo
(kbit/s)
MDRR+
Acesso remoto
Áudio (música)
Correio eletrônico
FTP
Mensagem de voz
Vídeo
FIFO
512-2048
512-2048
19200-20800 19200-20800
4000-8000
4000-20000
80000-84000 80000-84000
10664-10912 9920-11656
50464-77728 50464-77728
Atraso máximo
fim-a-fim (s) dos
pacotes
Variação máxima
do atraso (s) entre
os pacotes
MDRR+
FIFO
MDRR+
FIFO
0,03619
0,082389
19,82401
0,949763
0,014632
0,315735
0,032076
0,078997
0,513930
0,949733
0,267190
0,371600
0,006384
0,003088
5,805700
0,049582
0,000202
0,096857
0,005807
0,003088
0,193832
0,049582
0,143673
0,096857
Um novo cenário de simulação foi criado para demonstrar casos particulares onde o
escalonador MDRR+ proposto será indispensável para a provisão de QoS na rede GPRS.
Nesse cenário, não foi considerado o mecanismo de reserva de recursos e apenas seis slots de
tempo estão disponíveis para o tráfego GPRS downlink sendo que a capacidade da célula é de
128,4 kbit/s (6 x 21,4 kbit/s). Seis fontes de tráfego são modeladas (acesso remoto, áudio
streaming, correio eletrônico, mensagem de voz, transferência de arquivos e vídeo one-way) e
seus parâmetros estão descritos na Tabela 4 (seção 5.3).
As Figuras 25 e 26 ilustram o throughput médio dos fluxos de tráfego na interface aérea
GPRS utilizando o CAC proposto juntamente com as disciplinas de escalonamento de filas
FIFO e MDRR+, respectivamente.
De acordo com a Tabela 9, pode-se verificar que após 10 segundos do início da
simulação o fluxo da aplicação de vídeo é admitido na rede GPRS. Por ser o primeiro fluxo
aceito, este consegue negociar, durante o CAC, uma classe de throughput médio de 111
kbit/s. Porém, devido a classe multislot das MSs, apenas 4 slots de tempo (85,6 kbit/s) são
alocados para a aplicação de vídeo. As aplicações de acesso remoto e correio eletrônico são as
80
próximas aplicações a serem admitidas na rede, aos 20 e 25 segundos de simulação,
respectivamente. Por possuírem pequenas taxas de dados, ambas compartilharão um mesmo
slot de tempo. Aos 25 segundos da simulação, os elementos GGSN e SGSN recebem um
pedido de conexão pertencente à aplicação de transferência de arquivos (FTP). Inicialmente,
essa aplicação tenta negociar uma classe de throughput médio de 111 kbit/s (classe 19).
Entretanto, como há apenas um slot de tempo disponível na célula, no momento do pedido, e
por pertencer a um fluxo de baixa prioridade, a aplicação de FTP é admitida com apenas um
slot de tempo alocado para ela. Com um único slot de tempo negociado, a aplicação de FTP
seria capaz de atingir uma taxa de dados máxima de apenas 21,4 kbit/s.
Infelizmente, a maioria das redes de comunicação é susceptível a fontes de tráfego mal
comportadas o que pode resultar em pacotes de uma determinada aplicação sendo entregues
atrasados ou até mesmo sendo descartados por outras fontes que geram altas taxas de dados.
Conforme ilustra a Figura 25, pode-se verificar que utilizando a disciplina de
escalonamento FIFO um fluxo mal comportado, como o da aplicação de FTP, consegue
“roubar” uma porção arbitrária da largura de banda total disponível na célula podendo
Throughput Enlace Sem Fio [kbit/s]
prejudicar aplicações sensíveis a atrasos conforme veremos mais adiante.
85
80
75
70
65
60
55
50
45
40
35
30
25
20
15
10
5
0
E-mail
FTP
Msg_Voz
Telnet
Música
Video
FTP
Vídeo
Música
E-mail
Msg_Voz
Telnet
0
25
50
75
100
125
150
175
200
225
250
Tempo [s]
Figura 25 – Throughput no enlace sem fio utilizando a disciplina FIFO
Uma solução para esse problema é isolar os efeitos de um mau comportamento.
Dentro dessa perspectiva, o objetivo da disciplina de escalonamento MDRR+ é controlar o
81
uso dos recursos de rádio e isolar fluxos bem comportados de fluxos mal comportados de
modo que um não degrade a performance do outro. A justiça “quase” perfeita na distribuição
da largura de banda disponível em uma determinada célula é claramente ilustrada na Figura
26. A disciplina MDRR+ limita o throughput médio de cada aplicação de acordo com o perfil
de QoS negociado com a rede durante o CAC. Dessa forma, fluxos que geram tráfego em
“rajada”, como os fluxos das aplicações de vídeo e FTP passam a possuir um comportamento
mais regular.
Throughput Enlace Sem Fio [kbit/s]
70
E-mail
FTP
Msg_Voz
Telnet
Música
Video
Vídeo
65
60
55
50
45
40
35
30
25
Música
FTP
20
15
Msg_Voz
10
E-mail
5
Telnet
0
0
25
50
75
100
125
150
175
200
225
250
Tempo [s]
Figura 26 – Throughput no enlace sem fio utilizando a disciplina MDRR+
Para melhor ilustrar os efeitos das disciplinas de escalonamento FIFO e MDRR+ na
interface aérea da rede, a Tabela 9 fornece novos resultados obtidos através do mesmo cenário
de simulação. Para demonstrar a aplicabilidade de um conjunto de mídias em uma rede
GPRS, esses resultados são comparados com os requisitos de QoS de cada aplicação descritos
na Tabela 2 (seção 3.2).
As seguintes medidas de desempenho são avaliadas: throughput mínimo e máximo de
cada fluxo, atraso máximo fim-a-fim na transferência de pacotes de um determinado fluxo e
variação máxima de atraso entre tais pacotes.
Como pode ser verificado, o escalonador FIFO não atende as restrições de atraso
impostas pelas aplicações em tempo real. Por exemplo, a variação máxima de atraso aceitável
pela aplicação de mensagem de voz é de 1 ms. Porém, com a disciplina FIFO essa variação
82
atingiu 415 ms. Já com o escalonador implementando a disciplina MDRR+ proposta no
presente trabalho a variação de atraso entre os pacotes da aplicação de mensagem de voz
permaneceu bem abaixo do limite imposto.
Conforme descrito na Tabela 2, aplicações que utilizam o protocolo telnet para acessos
remotos exigem um atraso fim-a-fim na transferência de seus pacotes menor que 250 ms.
Com o escalonador FIFO esse atraso foi bem superior ao aceitável (~1,39s). Com a disciplina
de escalonamento MDRR+, esse atraso atingiu no máximo 50 ms.
Tabela 9 – Resultados da Simulação
Aplicação
Duração da
conexão
1 minuto
(20s –80s)
90 segundos
(75s – 165s)
25 segundos
(22s – 47s)
45 segundos
(25s – 70s)
Mensagem 2 minutos
(50s – 170s)
de voz
3 minutos
Vídeo
(10s – 190s)
Acesso
remoto
Áudio
(música)
Correio
eletrônico
FTP
Pacotes
Recebidos
MDRR+
FIFO
61
62
1126
1126
38
42
235
693
5201
5201
1305
1305
Throughput
mínimo e
máximo
(kbit/s)
MDRR+
FIFO
512
2.048
19.200
20.800
4.000
4.000
18.400
20.800
10.713
10.763
51.024
81.848
512
8.192
19.520
20.480
4.000
20.000
40.000
84.000
6.200
14.384
39.432
83.913
Atraso máximo
fim-a-fim (s) dos
pacotes
MDRR+
FIFO
Variação máxima
do atraso (s) entre
os pacotes
MDRR+
FIFO
0,050078 1,393830 0,018693 0,889596
0,21464
0,38701
0,053864
0,06078
5,954661 1,440183 1,874630 1,118404
4,208082 1,919670 0,246330 0,096900
0,01772
1,109951
0,00018
0,41544
0,329245 8,804382 0,160291 0,342070
Outras vantagens do esquema para provisão de QoS em GPRS também podem ser
verificadas para os fluxos de menor prioridade como o fluxo da aplicação de vídeo onde se
obteve um atraso máximo fim-a-fim dos quadros bem menor (~0,33s) se comparado ao atraso
utilizando o escalonador FIFO (~8,80s).
Controlando a taxa de dados de cada aplicação e fornecendo prioridades aos fluxos de
tráfego, o escalonador MDRR+ se torna um mecanismo importante no atendimento aos
requisitos de QoS negociados com a rede. Além disso, o escalonador MDRR+ previne a
saturação de largura de banda dos fluxos de tráfego pertencentes às classes de precedência de
serviço 3 (prioridade baixa). Através da variável ContadorDeficit as filas que não
conseguirem transmitir seus pacotes durante um ciclo de serviço do escalonador serão
recompensadas na próxima vez que forem servidas.
83
6.4 Conclusão
O presente capítulo apresentou os resultados obtidos a partir de simulações realizadas
para avaliar o desempenho do esquema de provisão QoS combinando aspectos de controle de
admissão de chamadas, reserva de recursos em células adjacentes para atender a futuros
pedidos de handoff e o escalonamento de pacotes na interface aérea GPRS. O objetivo foi
demonstrar a aplicabilidade de um conjunto de mídias em uma rede GPRS padrão enquanto
atendendo seus requisitos de QoS.
Através dos resultados pôde-se demonstrar que o esquema proposto torna possível o uso
de vários serviços em uma rede GPRS de acordo com seus requisitos de QoS, tais como
limites de atraso fim-a-fim, variação do atraso entre os pacotes, prioridade de acesso ao meio
de comunicação e throughput, o que em muitos casos não seria possível sem um
gerenciamento de QoS. Apesar da demonstração da aplicabilidade de aplicações de voz, vídeo
e dados em uma rede GPRS, novos cenários ainda precisam ser investigados com um
simulador de rede mais potente que permita tempo maiores de simulações.
Um outro aspecto importante a ser considerado no esquema proposto é a previsão do
modelo de movimento de MSs na rede GPRS. A aplicação de um modelo de movimento de
MSs na rede resulta em uma melhor utilização na largura de banda uma vez que uma porção
maior de recursos será reservada apenas na célula para a qual uma MS possuir maior
probabilidade de executar um handoff, o que também reduz a quantidade de pacotes de
sinalização trocados entre os BSSs que controlam cada célula. Entretanto, algum overhead
ainda pode ser causado caso o movimento de uma MS precise ser monitorado em tempo real e
pela troca de pacotes de sinalização entre um agente onde uma MS reside no momento e os
agentes das células adjacentes. Por esse motivo, o impacto causado pelo overhead precisa ser
cuidadosamente avaliado em um ambiente de rede real.
7 Conclusões
Uma grande demanda por diferentes serviços vem proporcionando um movimento em
direção à convergência das redes de comunicação existentes desde a década de 1990. A meta
é prover aos usuários serviços de qualidade previsível a partir de recursos disponíveis.
Um problema fundamental em fornecer um nível adequado de qualidade em redes
móveis sem fio é gerenciar a alocação do escasso espectro de freqüências. Devido à
diversidade de requisitos de desempenho dos serviços, às características de mobilidade dos
usuários e alta variabilidade na qualidade dos enlaces de comunicação sem fio, a provisão de
recursos de modo flexível se tornou um desafio para as operadoras de redes celulares.
O serviço GPRS surgiu como uma extensão para os sistemas celulares de segunda
geração. Seu intuito foi otimizar o uso de recursos de rádio escassos, possibilitando o
compartilhamento de um mesmo canal físico por múltiplos usuários móveis de modo a
oferecer acessos mais rápidos e maiores taxas de dados. Sendo uma tecnologia baseada na
comutação de pacotes, cada recurso é alocado somente quando necessário e liberado logo
após o término de uma transferência de pacotes. Essa característica tornou a rede GPRS apta a
transportar aplicações Internet cujos tráfegos gerados são assíncronos e com altas taxas de
dados.
Durante a assinatura de um contrato de prestação de serviços, usuários móveis de uma
rede GPRS negociam classes de QoS para suas aplicações. Essas classes definem parâmetros
de desempenho, tais como: prioridades, restrições de atraso para transferências de pacotes,
taxas de confiabilidade admissíveis e taxas de transmissão de dados. Após a assinatura de um
contrato, a rede deve ser capaz de oferecer os recursos necessários para as aplicações
operarem corretamente dentro de seus parâmetros negociados.
Para prover uma qualidade fim-a-fim para as aplicações, mecanismos de gerenciamento
de QoS devem ser implementados pelos componentes da rede GPRS. Embora diferentes
classes de QoS tenham sido especificadas, nenhum mecanismo para a provisão de qualidade
de serviços está descrito nas especificações técnicas de uma rede GPRS padrão, até o presente
momento.
Neste contexto, surgiu uma preocupação: a necessidade de gerenciar recursos de rádio
visando ao atendimento dos requisitos de QoS impostos por um conjunto de aplicações.
Dentro dessa perspectiva, a proposta geral desse trabalho consistiu em desenvolver um
esquema de provisão de QoS em redes GPRS através da combinação de um controle de
85
admissão de chamadas (CAC), reserva de recursos e escalonamento de pacotes durante uma
transferência de dados.
Como contribuições do trabalho pode-se citar: o aperfeiçoamento da plataforma GPRS
disponível no software NS através da inclusão de novas características da rede; e a integração
da comunicação de voz, vídeo e dados na rede GPRS enquanto atendendo seus requisitos
específicos de qualidade.
A proposta do esquema é fornecer um tratamento diferenciado a um conjunto de mídias,
através da aplicação de três mecanismos em componentes da rede. Primeiramente, um
algoritmo de CAC determina quais aplicações podem ser admitidas na rede com base em suas
classes de QoS. Em seguida, de modo a garantir qualidade para futuras conexões de handoff,
uma reserva de largura de banda é efetuada nas células vizinhas da célula onde uma conexão é
estabelecida. Finalmente, um escalonador seguindo uma disciplina chamada MDRR+ é
aplicado para determinar a ordem na qual os pacotes devem ser transmitidos e limitar a taxa
de dados de cada aplicação de acordo com a classe de QoS negociada.
Através da simulação de inúmeros cenários de tráfego e serviços sob a plataforma
GPRS, pôde-se avaliar o desempenho do esquema proposto a partir de métricas estatísticas
como: taxa de admissão de conexões, taxa de bloqueio e queda de conexões, largura de banda
consumida, taxa de perda de pacotes, atraso na transferência de dados, etc.
Os resultados da simulação demonstraram que o uso dos três mecanismos para a
provisão de QoS em GPRS se torna um fator diferencial na melhoria da qualidade dos
serviços oferecidos. Através do CAC, conexões serão admitidas somente quando a rede for
capaz de prover os recursos exigidos por tais conexões. A reserva de recursos assegura a
disponibilidade da qualidade exigida por aplicações de alta prioridade durante toda a sua
conexão. O escalonador proporciona um comportamento mais regular aos serviços,
prevenindo que fluxos mal comportados excedam sua porção de largura de banda negociada e
prejudiquem serviços sensíveis a atrasos.
Em linhas gerais pode-se concluir que através do esquema de provisão de QoS proposto,
uma rede GPRS é capaz de suportar um conjunto de aplicações que diferem substancialmente
em termos de exigências de qualidade de serviço, tais como aplicações de acesso remoto,
correio eletrônico, mensagem de voz, música sob demanda, transferência de arquivos e vídeo
streaming.
86
7.1 Limitações e sugestões para trabalhos futuros
As maiores limitações encontradas durante o estudo do esquema de provisão de QoS
proposto foram impostas pelo simulador NS e, conseqüentemente, pela plataforma GPRS
desenvolvida. Essas limitações residem no número limitado de células e na grande quantidade
de memória consumida pela geração de arquivos para análise numérica dos cenários da
simulação o que limitou o tempo das simulações executadas.
Dentro desse contexto, a sugestão principal como trabalho futuro será ampliar a
plataforma de rede GPRS disponível em NS proporcionando um crescimento da rede celular
de modo a incorporar novas células e permitir transparência na mobilidade de usuários na
rede. Isso permitirá um avanço nas investigações atuais e propostas de novos mecanismos de
modo a otimizar o uso dos slots de tempo em cada célula.
Como sugestões futuras para o esquema de provisão de QoS propõe-se uma
renegociação de contrato de prestação de serviço em tempo real. A renegociação de um
contrato seria eficaz para aplicações cuja largura de banda exigida não pôde ser totalmente
alocada no contrato original com a rede. Dessa forma, durante um determinado intervalo de
tempo, caso a rede volte a possuir recursos disponíveis para suprir uma largura de banda ainda
não atendida, de uma conexão já admitida, estes novos recursos poderão ser alocados para tal
conexão.
Em relação ao parâmetro maxb, que limita a quantidade de largura de banda reservada
em uma determinada célula, novas investigações precisam ser realizadas uma vez que os
resultados obtidos no presente trabalho são apenas preliminares. Sugere-se ainda como
trabalho futuro à integração de um mecanismo de reserva de largura de banda adaptativa,
conforme descrito em [OLIVEIRA 98]. Através de uma reserva adaptativa, pode-se otimizar a
utilização da largura de banda de uma determinada célula principalmente quando as condições
da rede mudam com muita freqüência. Uma reserva adaptativa também pode reduzir a
probabilidade de bloqueio de novas conexões e ainda fornecer uma probabilidade aceitável de
pedidos de handoff rejeitados. Isso se torna possível uma vez que o tamanho do pool comum
de recursos reservados é ajustado dinamicamente com base nas condições da rede, reservando
recursos apenas quando for necessário.
Entretanto, apesar da reserva de recursos adaptativa poder ser considerada eficaz na
obtenção de um melhor desempenho da rede, ela resulta em um overhead extra associado com
a avaliação da quantidade de pedidos de handoff sendo rejeitados e do uso da largura de banda
87
reservada em uma determinada célula. Um esquema de reserva não adaptativa não executa tal
processamento, pois nenhuma avaliação métrica é realizada em tempo real. Portanto, o
impacto causado por um overhead precisa ser cuidadosamente avaliado em um ambiente real
de rede.
Uma outra questão que precisa ser considerada futuramente está relacionada à
atualização do tamanho de um pool de reservas pertencentes a uma célula x no caso de um
pedido de handoff alocar toda a quantidade de largura de banda reservada no pool e não
houver mais recursos disponíveis na célula. Caso haja um novo fluxo de tráfego já admitido
na rede e com probabilidade maior de executar um handoff para a célula x, conforme descrito
no final da seção 4.2.1, os restantes dos recursos disponíveis na célula farão parte do novo
pool. Avaliações através de novas simulações devem ser feitas para constatar se esta é a
melhor solução ou se o pool de reserva de recursos deveria ficar vazio. A escolha de uma
dessas soluções está vinculada ao algoritmo visar um melhor atendimento às conexões já
existentes, caso estas executem um handoff para a célula x, ou não extinguir a largura de
banda na célula de modo que esta não consiga admitir novas conexões.
Referências Bibliográficas
[3GPP 03.60] Digital cellular telecommunications system (Phase 2+); General Packet Radio
Service (GPRS); Service description; Stage 2. ETSI TS 101 344 (2001-06). 3GPP TS
03.60, v. 7.7.0, Release 1998.
[3GPP 03.64] Digital cellular telecommunications system (Phase 2+); General Packet Radio
Service (GPRS); Overall description of the GPRS radio interface; Stage 2. ETSI TS 101
350 (2001-04). 3GPP TS 03.64, v. 8.8.0, Release 1999.
[3GPP 03.71] Digital cellular telecommunications system (Phase 2+); Location Services
(LCS); Functional description; Stage 2. ETSI TS 101 724 (2002-09). 3GPP TS 03.71, v.
8.7.0, Release 1999.
[3GPP 04.60] Digital cellular telecommunications system (Phase 2+); General Packet Radio
Service (GPRS); Mobile Station (MS) – Base Station System (BSS) interface; Radio Link
Control/Medium Access Control (RLC/MAC) protocol. ETSI TS 101 349 (2001-06).
3GPP TS 04.60, v. 8.10.0, Release 1999.
[3GPP 04.64] Digital cellular telecommunications system (Phase 2+); General Packet Radio
Service (GPRS); Mobile Station – Serving GPRS Support Node (MS-SGSN); Logical Link
Control (LLC) layer specification. ETSI TS 101 351 (2001-12). 3GPP TS 04.64, v. 8.7.0,
Release 1999.
[3GPP 04.65] Digital cellular telecommunications system (Phase 2+); General Packet Radio
Service (GPRS); Mobile Station (MS) – Serving GPRS Support Node (SGSN); Subnetwork
Dependent Convergence Protocol (SNDCP). ETSI TS 101 297 (2001-09). 3GPP TS
04.65, v. 8.2.0, Release 1999.
[3GPP 05.02] Digital cellular telecommunications system (Phase 2+); Multiplexing and
multiple access on the radio path. ETSI TS 100 908 (2001-04). 3GPP TS 05.02, v. 8.9.0,
Release 1999.
[3GPP 08.18] Digital cellular telecommunications system (Phase 2+); General Packet Radio
Service (GPRS); Base Station System (BSS) – Serving GPRS Support Node (SGSN); BSS
GPRS Protocol (BSSGP). ETSI TS 101 343 (2001-06). 3GPP TS 08.18, v. 8.8.0, Release
1999.
[3GPP 09.60] “Digital cellular telecommunications system (Phase 2+); General Packet
Radio Service (GPRS); GPRS Tunneling Protocol (GTP) across the Gn and Gp
Interface”. ETSI TS 101 347 (2002-06). 3GPP TS 09.60, v. 7.9.0, Release 1998.
[3GPP 22.105] Universal Mobile Telecommunications System (UMTS); Services & service
capabilities. ETSI TS 122 105 (2002-06). 3GPP TS 22.105, v. 5.2.0, Release 5.
[BATES 02] BATES, Regis J. (Bud). GPRS General Packet Radio Service. USA : McGrawHill, 2002.
89
[BETTSTETTER 99] BETTSTETTER, Christian; VÖGEL, Hans-Jörg; EBERSPÄCHER,
Jörg. GSM Phase 2+ General Packet Radio Service GPRS: Architecture, Protocols, and
Air Interface. IEEE Communications Surveys, USA, v. 2, n. 3, p. 2-14, 1999.
[BILGIC 99] BILGIC, Murat; ESSIGMANN, Kurt; HOLMSTROM, Tomas et al. Quality of
Service in General Packet Radio Service. In: IEEE INTERNATIONAL WORKSHOP ON
MOBILE MULTIMEDIA COMMUNICATIONS (6.: Nov. 1999 : San Diego, CA, USA).
Proceedings. USA, 1999. p. 226-231.
[BRASCHE 97] BRASCHE, G.; WALKE, Bernhard. Concepts, Services and Protocols of the
New GSM Phase 2+ General Packet Radio Service. IEEE Communication Magazine, p.
94-104, Aug. 1997.
[CAI 97] CAI, Jian; GOODMAN, David J. General Packet Radio Service in GSM. IEEE
Communication Magazine, p. 122-131, Oct. 1997.
[EBERSPÄCHER 98] EBERSPÄCHER, Jörg; VÖGEL, Hans-Jörg. GSM: Switching,
Services and Protocols. London : John Wiley & Sons, 1998.
[FITZEK 01] FITZEK, Frank H.P.; REISSLEIN, Martin. MPEG-4 and H.263 Video Traces
for Network Performance Evaluation. IEEE NETWORK, v. 15, n. 6, p. 40-54, Nov.-Dec.
2001.
[GIOZZA 86] GIOZZA, William Ferreira; MOURA, José Antão Beltrão; SAUVÉ, Jacques
Philippe et al. Redes Locais de Computadores: Protocolos de Alto Nível e Avaliação de
Desempenho. São Paulo : McGraw-Hill, 1986.
[GSM 03.02] Digital cellular telecommunications system (Phase 2+); Network architecture.
ETSI TS 100 522 (2000-02). GSM 03.02, v. 7.1.0, Release 1998.
[JAIN 01] JAIN, Richa. GPRS Simulations using ns-Network Simulator. India, 2001.
Dissertação (Bachelor of Technology and Master of Technology in Communications and
Signal Processing) – Department of Electrical Engineering, Indian Institute of Technology
Bombai.
[JAYARAM 00] JAYARAM, R.; KAKANI, N. K.; DAS, S.K. et al. A Call Admission and
Control Scheme for Quality-of-Service (QoS) Provisioning in the Next Generation
Wireless Networks. Wireless Networks, v. 6, n.1, p. 17-30, Feb. 2000.
[KARAGIANNIS 00] KARAGIANNIS, Georgios; HEIJENK, Geert. QoS in GPRS. CTIT
Technical Report Series, n. 00-29, ISSN 1381-3625. Dec. 2000.
[LUNARDI 01] LUNARDI, Sediane Carmem. Uma Camada de Suporte à Qualidade de
Serviço para Aplicações Multimídia na Internet. Porto Alegre, 2001. Dissertação
(Mestrado em Ciência da Computação) – Faculdade de Informática, Pontifícia
Universidade Católica do Rio Grande do Sul.
[McKENNEY 90] McKENNEY, Paul E.. Stochastic Fairness Queuing. In: CONFERENCE
OF THE IEEE COMPUTER AND COMMUNICATION SOCIETIES (9. Jun. 1990 : San
Francisco, CA, USA). Proceedings. USA, 1990. v. 2, p. 733-740.
90
[MEHROTRA 96] MEHROTRA, Asha. GSM System Engineering. Mobile Communications
Series. London : Artech House Publishers, 1986.
[NAGHSHINEH 95] NAGHSHINEH, Mahmoud. ACAMPORA, Anthony S. QOS
Provisioning in Micro-Cellular Networks Supporting Multimedia Traffic. In:
CONFERENCE OF THE IEEE COMPUTER AND COMMUNICATION SOCIETIES
(4. Apr. 1995: Boston, MA, USA). Proceedings. USA, 1995. v. 3, p. 1075-1084.
[NAM] The VINT Project. Nam: Network Animator. UC Berkeley. Disponível em:
<http://www.isi.edu/nsnam/nam>. Acesso em: 15 setembro 2001.
[NORTEL 01] NORTEL NETWORKS. Introduction to Quality of Service (QoS) White
Paper,
tech.
report,
Sep.
2001.
p.
1-13.
Disponível
em:
<
http://www.nortelnetworks.com/products/library/collateral/56058.25-09-01.pdf>. Acesso
em: 22 junho 2002.
[NS-2] The VINT Project. The Network Simulator ns-2: Documentation. UC Berkeley.
Disponível em: <http://www.isi.edu/nsnam/ns/ns-documentation.html>. Acesso em: 10
setembro 2001.
[OLIVEIRA 96] OLIVEIRA, C.; KIM, J.B.; SUDA, T. Quality-of-Service Guarantee in
High-Speed Multimedia Wireless Networks. In: IEEE INTERNATIONAL
CONFERENCE ON COMMUNICATIONS (Jun. 1996 : Dallas, TX, USA). Proceedings.
USA, 1996. v. 2, p.728-734, Jun. 1996.
[OLIVEIRA 98] OLIVEIRA, C.; KIM, J.B.; SUDA, T. An Adaptive Bandwidth Reservation
Scheme for High Speed Multimedia Wireless Networks. IEEE Journal on Selected Areas
in Communications, USA, v. 16, p. 858-874, Aug. 1998.
[OPPENHEIMER 01] OPPENHEIMER, Priscilla. Projeto de Redes Top-Down. Rio de
Janeiro : Campus, 1999.
[PANG 99] PANG, Qixiang; BIGLOO, Amir; LEUNG, Vitor C.M. et al. Service Scheduling
for General Packet Radio Service Classes. In: IEEE WIRELESS COMMUNICATIONS
AND NETWORKING CONFERENCE (Sep. 1999 : New Orleans, LA, USA).
Proceedings. Canada, 1999. v. 3, p. 1229-1233.
[PITTS 00] PITTS, J.M.; SCHORMANS, J.A. Introduction to IP and ATM Design and
Performance With Applications Analysis Software. 2. ed. Queen Mary, University of
London, UK : John Wiley & Sons, Ltd, 2000.
[PRADO 99] PRADO, Darci Santos do. Teoria das Filas e da Simulação. Série Pesquisa
Operacional, v. 2. Belo Horizonte, MG : Editora de Desenvolvimento Gerencial, 1999.
[RFC 1633] BRADEN, Robert; CLARK, David; SHENKER, Scott. Integrated Services in the
Internet Architecture: an Overview. IETF RFC 1633, June 1994.
[RFC 2475] BLAKE, S.; BLACK, D.; CARLSON, M. et al. An Architecture for
Differentiated Services. IETF RFC 2475, Dec 1998.
91
[SAIJA 01] SAIJA, Dino; TONIATTI, Tiziana. Performance evaluation of GPRS (Generic
Packet Radio Service) radio access with quality of service provision. In: IST MOBILE
COMMUNICATIONS (Sep. 2001 : Barcelona, Spain). Proceedings. Milan, Italy, 2001.
[SAU 98] SAU, Jonathan; SCHOLEFIELD, Chris. Scheduling and Quality of Service in the
General Packet Radio Service. In: IEEE INTERNATIONAL CONFERENCE ON
UNIVERSAL PERSONAL COMMUNICATIONS (Oct. 1998 : Florence, Italy).
Proceedings. Canada, 1998. v.2, p. 1067-1071.
[SEMERIA 01] SEMERIA, Chuck. Supporting Differentiated Service Classes: Queue
Scheduling Disciplines - White Paper, tech. report, Juniper Networks. Disponível em:
<http://www.juniper.net/techcenter/techpapers/200020.html>. Acesso em: 05 janeiro
2002.
[SHREEDHAR 95] SHREEDHAR, M.; VARGHESE, G. Efficient Fair Queuing using
Deficit Round Robin. In: ACM SIGCOMM’95 (Oct. 1995 : Cambridge, MA, USA).
Proceedings. USA, 1994. v. 25, n. 4, p. 231-242.
[STUCKMANN 01] STUCKMANN, Peter; MÜLLER, Frank. Quality of Service
Management in GPRS Networks. In: IEEE INTERNATIONAL CONFERENCE ON
NETWORKING (Jul. 2001 : Colmar, France). Proceedings. p. 276-285.
[TRIPATHI 00] TRIPATHI, Ashutosh; SIVARAJAN, Kumar N. Resource Allocation in
GPRS Wireless Networks. In: IEEE INTERNATIONAL CONFERENCE ON
PERSONAL WIRELESS COMMUNICATIONS (Dec. 2000 : Hyderabad, India).
Proceedings. India, 2000. p. 388-394.
[TSAO 00] TSAO, Shiao-li. Quality of Service Control over GPRS Data Network. In: IEEE
VEHICULAR TECHNOLOGY CONFERENCE (52. Sept. 2000 : Boston, MA, USA).
Proceedings. Taiwan, 2000. v.3, p. 1001-1007.
[WIDMER 00] WIDMER, Jörg. Network Simulations for A Mobile Network Architecture for
Vehicles. Technical Report TR-00-009, International Computer Science Institute (ICSI),
Disponível
em:
Berkeley,
California,
May
2000.
<http://www.icsi.berkeley.edu/~widmer/mnav/ns-extension/>. Acesso em: 20 novembro
2001.
Download

CAC, Reserva de Recursos e Escalonamento para