O VITP (Vehicular Information Transfer Protocol) é um protocolo de comunicação
da camada de aplicação, projetado para dar suporte ao estabelecimento de serviços sobre a
infra-estrutura de uma VANET.
A estrutura do VITP pode ser usada para prover informações baseadas em posição
geográfica, ou serviços sobre o trânsito, entre outros, retiradas de sensores veiculares
existentes em cada nóda rede. O VITP também se utiliza do sistema de navegação GPS,
fundamental no seu roteamento.
O VITP se destaca pois suas funções tem capacidade de trabalhar on-demand, isto é,
sob demanda de um nó qualquer da rede, a qualquer tempo. Isto inclui consultas do tipo:
1) Condições do trânsito em certas regiões: congestionamento e fluxo de
veículos
2) Alertas para um acidente ou aproximação de ambulâncias
3) Serviços de estrada: Localização e preços de postos de gasolina,
localização e menus de restaurantes próximos da estrada.
Todos estes serviços são acoplados a serviços de GPS para mostrar ao motorista a rota
que deverá ser tomada para alcançar um destino encontrado pelo protocolo VITP.
O VITP, pertencendo à camada de aplicação, foi projetado de forma independente à
camada física utilizada na VANET. A rigor, caso um automóvel encontre-se isolado, sem
conexão pela rede VANET, é possível utilizar o protocolo VITP pela conexão GPRS de um
aparelho celular, por exemplo.
O VITP, da forma como foi proposto, estabelece a sintaxe e a semântica de
mensagens trocadas entre os chamados VITP Peers, que são definidos como componentes de
software, existentes em cada veículo, que rodam o protocolo. Cada VITP Peer tem acesso
aos sensores do automóvel em que se localiza e pode se conectar a outros VITP Peers
próximos através da rede VANET. A idéia é que os VITP Peers são capazes de criar
dinamicamente grupos ad-hoc que coletam as informações necessárias para resolver uma
consulta externa e respondê-la.
O protocolo VITP foi proposto em [13], e neste artigo os autores tomam como pré-
requisito para o funcionamento do protocolo a existência de um computador de bordo, um
sistema de GPS, sensores que recolham dados interessantes para resolver as consultas e
alguma forma de comunicação inter-veicular - inclusive o DSRC é citado como uma
possibilidade perfeitamente aceitável.
Além disso, o VITP também prevê a existência de diversos serviços de estrada, como
postos de gasolina e restaurantes, que podem se conectar as VANETs e trocar mensagens,
cujo roteamento é feito através de protocolos geográficos, que já foram brevemente discutidos
neste trabalho
No VITP, as requisições do usuário final devem ser transformadas em queries
baseadas em localização. Cada uma destas queries deve ser roteada até a localização de
destino pela VANET. Ao alcançar a região de destino, estas queries são recebidas por nós ali
presentes, tanto veículos quanto estabelecimentos fixos de serviços perto da estrada (postos
de gasolina, restaurantes, lojas de conveniência, etc).
Estes nós que se encontram na região de destino devem colaborar em tempo real para
gerar uma resposta, que será enviada de volta à localização de origem.
Além do próprio VITP, definindo a sintaxe e semântica das mensagens, e dos VITP
peers, também é fundamental para o funcionamento do protocolo a existência de um esquema
de codificação geográfica, responsável por organizar e representar simbolicamente segmentos
de estrada e seus sentidos. Este esquema é utilizado em todas as queries geográficas do VITP,
bem como no protocolo de roteamento, que faz uso do sistema de navegação presente no
veículo para transformar os símbolos do esquema em coordenadas GPS.
O grande diferencial do VITP é que os outros métodos de monitoramento de tráfego
são baseados na disseminação contínua de informações dos sensores, enquanto que o VITP
propõe uma recuperação das informações do trânsito baseada em pulls.É necessário enfatizar
que o VITP também mantém suporta a serviços baseados em push, como um mecanismo para
propagar alertas de emergência ou outros sérios distúrbios do trânsito, como o fechamento de
rodovias, etc.
Os conceitos-chave descritos pelos autores que propuseram o VITP são os seguintes:
Pedidos baseados em localização, Servidores Virtuais Ad-hoc, transações VITP e condições
de retorno.
Os pedidos baseados em localização já foram discutidos: todas as pesquisas do VITP
são traduzidas em queries que serão roteadas a uma certa região. Como VANETs tratam de
veículos, assume-se sem perdas que a região é definida por uma rua ou rodovia e seu sentido –
as adjacências eventualmente poderão responder, caso possuam nós na rede.
Os servidores virtuais ad-hoc surgem da inviabilidade de centralizar os servidores de
informação para a rede, dada a extensão das redes de estradas e a natureza dinâmica das
informações relacionadas ao tráfego. A coleta, indexação, atualização contínua e envio
periódico de informações sobre o trânsito requeriria uma infra-estrutura de sensores inviável, o
gerenciamento de uma altíssima quantidade de mensagens pela rede e uma rede capaz
gerenciar de forma centralizada uma enorme quantidade de queries.
A solução proposta no VITP, servidores virtuais ad- hoc (Virtual Ad-hoc Servers –
VAHS), não requer qualquer infra-estrutura além daquela contida nos nós da rede: os VITP
Peers. Em outras palavras, o servidor que processa e gera respostas à. queries VITP é
composto de um conjunto de VITP Peers, podendo estar tanto em veículos quanto em
serviços de estrada (restaurantes, postos de gasolina, etc). O estabelecimento dos nós que
pertenceram a este servidor virtual baseia-se na presença deles na área de interesse e a sua
disponibilidade para participar da resolução da query.
É importante ressaltar que a filosofia dos VITP Peers baseia-se no “melhor esforço
possível”. Não existem garantias ou exceções para tratar mensagens perdidas. Além disso,
também pode ocorrer de um VITP Peer entrar em um VAHS, iniciar o processamento de uma
query e sair da área de interesse antes da conclusão deste processamento. O protocolo foi
projetado para ser o mais simples e leve possível, podendo rodar em computadores e sistemas
embarcados com facilidade e baixo custo.
As transações VITP são uma mera formalização dos estados possíveis em uma query
VITP. Uma transação é dividida em quatro fases: envio da query, computação VAHS, envio
da resposta e entrega da resposta.
Durante a fase de envio da query, uma query Q é enviada, através da VANET e do
protocolo de roteamento geográfico, para o local L de destino. É interessante ressaltar que os
nós intermediários não necessariamente precisam rodar VITP, eles apenas precisam rotear as
mensagens.
Quando a query Q é recebida por um nó qualquer que esteja dentro da região L de
interesse e que esteja disponível para processá-la, entrando na VAHS, a fase de computação
VAHS é iniciada. Durante esta fase, a mensagem é roteada entre os nós pertencentes ao
VAHS. Estes VITP Peers alteram a mensagem para inserir sua resolução parcial e em seguida
à transmitem para os seus vizinhos. A semântica VITP indica como a VANET deverá
transmitir essa mensagem editada (unicast ou broadcast para os vizinhos)
Um pedido VITP é transportado entre os peers do VAHS até que uma condição de
retorno (que serão explicadas mais adiante) seja obedecida. As condições de retorno
determinam o ponto de parada do processamento da query. Quando um peer do VAHS
detecta que a condição de retorno é atendida, uma resposta VITP é gerada e enviada de volta
a região de origem. O transporte desta resposta até a origem corresponde à terceira fase da
transação VITP.
Quando esta resposta chega a área de origem, a quarta fase é iniciada, e a rede
VANET por baixo do VITP faz o broadcast da mensagem até que ela atinga o nó que fez a
query, no início do processo. Existe uma precaução para o caso de o nó que gerou a query
não se encontre mais naquela área quando a resposta é retornada: o VAHS pode especificar
uma região estendida sobre a qual ocorrerá o broadcast da resposta.
As condições de retorno podem ser variadas e são extremamente dependentes do tipo
de query enviada. Por exemplo: Suponha o caso de um motorista querer saber como está o
trânsito em uma determinada rua. Uma das formas de se medir o trânsito é obtendo a
velocidade média dos veículos localizados naquela rua nos últimos minutos. Uma condição de
retorno aplicável neste caso seria o número de veículos dos quais esta informação será obtida.
Por exemplo: “Obter a velocidade média de 25 veículos localizados sobre a ponte Rio-
Niterói”. Esta query rodaria dentro do VAHS até que 25 carros editassem seu conteúdo,
ponto a partir do qual a condição de retorno estaria satisfeito. Na prática, os valores
escolhidos na condição de contorno tem grandes impactos sobre o desempenho do VITP,
como os testes mostrarão. Um mecanismo de time out é utilizado caso a query demore muito a
ser resolvida.
Na referência [13], artigo no qual o VITP é proposto, os autores mostram resultados
de simulações com o VITP. No estudo, foi também usado o simulador NS2, bem como uma
ferramenta própria de geração de tráfego. Entre vários outros parâmetros, os autores optaram
por utilizar conexões sem fio de 11Mbps de banda e alcance de 250m. O roteamento foi feito
através de um método geográfico simples: o pacote é redirecionado ao vizinho mais próximo
do destino. Um nó tenta encaminhar uma mensagem para o seu próximo salto três vezes. Caso
falhe, ele escolhe outro vizinho. Se após três vizinhos o pacote não conseguir ser encaminhado,
este é abandonado e um erro é gerado.
As simulações rodaram queries de inspeção de tráfego: “Como está a média da velocidade
dos carros em uma rua X que está localizada em uma distância D da minha posição atual?” A
variável condição de retorno é chamada de cnt. Seguem os resultados obtidos pelos autores:
Tempo de resposta vs. Distância de Query (D):
Perda de mensagens vs. Distância de Query (D):
Eficiência da Query vs. Cnt para diferentes Distâncias de Query (D):