Computação Urbana da Teoria à Prática: Fundamentos, Aplicações e Desafios

12/02/2019
by   Diego O. Rodrigues, et al.
0

The growing of cities has resulted in innumerable technical and managerial challenges for public administrators such as energy consumption, pollution, urban mobility and even supervision of private and public spaces in an appropriate way. Urban Computing emerges as a promising paradigm to solve such challenges, through the extraction of knowledge, from a large amount of heterogeneous data existing in urban space. Moreover, Urban Computing correlates urban sensing, data management, and analysis to provide services that have the potential to improve the quality of life of the citizens of large urban centers. Consider this context, this chapter aims to present the fundamentals of Urban Computing and the steps necessary to develop an application in this area. To achieve this goal, the following questions will be investigated, namely: (i) What are the main research problems of Urban Computing?; (ii) What are the technological challenges for the implementation of services in Urban Computing?; (iii) What are the main methodologies used for the development of services in Urban Computing?; and (iv) What are the representative applications in this field?

READ FULL TEXT VIEW PDF

Authors

02/28/2020

Cities as they could be: Artificial Life and Urban Systems

The metaphor of cities as organisms has a long history in urban planning...
12/08/2020

From Data Harvesting to Querying for Making Urban Territories Smart

This chapter provides a summarized, critical and analytical point of vie...
02/25/2021

Urban Building Energy Modeling (UBEM) Tools: A State-of-the-Art Review of bottom-up physics-based approaches

Regulations corroborate the importance of retrofitting existing building...
05/22/2018

What has been Revealed by Urban Grid Data of Shanghai

With the fast-growing economy in the past ten years, cities in China hav...
01/22/2021

Efficient Data Management for Intelligent Urban Mobility Systems

Modern intelligent urban mobility applications are underpinned by large-...
06/30/2021

CityNet: A Multi-city Multi-modal Dataset for Smart City Applications

Data-driven approaches have been applied to many problems in urban compu...
This week in AI

Get the week's most popular data science and artificial intelligence research sent straight to your inbox every Saturday.

1 Introdução

O relatório da ONU, [64], relata que da população mundial atualmente reside em áreas urbanas e a expectativa para 2050 é que esse número alcance . Sabe-se que a rápida urbanização das cidades resulta em inúmeros desafios técnicos e gerenciais para os gestores públicos, tais como consumo de energia, poluição, mobilidade urbana e até mesmo gestão de espaços privados e públicos de forma apropriada [77, 42].

Nesse contexto, a Computação Urbana surge como um paradigma promissor para superar desafios típicos dos grandes centros urbanos, principalmente, por meio da extração de informação de uma grande quantidade de dados heterogêneos existentes nas cidades [77]. Este campo de estudo visa aplicar soluções computacionais para melhorar os problemas enfrentados em grandes cidades. Para isso, a Computação Urbana utiliza diferentes tecnologias de sensoriamento remoto, técnicas de gerenciamento de dados e modelos analíticos, além de métodos de visualização para criar soluções que melhoram a qualidade de vida da população e dos sistemas de gerenciamento dos serviços oferecidos pelas cidades. Uma questão importante é que a Computação Urbana pode auxiliar a entender a natureza dos fenômenos urbanos ou até mesmo prevê-los [77, 56].

De uma maneira geral, pode-se apresentar a Computação Urbana composta por três macro atividades [77, 56]: (i) gerenciamento dos dados urbanos; (ii) análise dos dados urbanos; e (iii) desenvolvimento de serviços e aplicações para cidades inteligentes, conforme exibido na Figura 1. O gerenciamento de dados urbanos consiste no processo de coleta de dados urbanos, no processamento desses dados e na modelagem dos mesmos. A análise dos dados urbanos é realizada por meio da implementação de algoritmos, bem como da interpretação de resultados. E, por fim, tem-se o desenvolvimento de serviços e aplicações a partir do conhecimento obtido.

Figura 1: Visão geral do arcabouço da computação urbana. [Inspirada em [56]].

O minicurso tem como objetivo principal introduzir os fundamentos da Computação Urbana apresentando as ferramentas e os meios necessários para desenvolver uma aplicação nessa área. Os conceitos englobam uma visão geral dos trabalhos existentes, os desafios e as perspectivas futuras na área. A Computação Urbana é um tópico de pesquisa emergente, dessa forma existem problemas em aberto e desafios que não são triviais de serem resolvidos. Dessa forma, este minicurso também possui a finalidade de investigar as seguintes questões, as quais são retificadas por [77]: (i) Quais são os principais problemas de pesquisa da Computação Urbana?; (ii) Quais são os desafios tecnológicos existentes para a implantação de serviços na Computação Urbana?; (iii) Quais são as principais metodologias utilizadas para o desenvolvimento de serviços na computação urbana?; e (iv) Quais são as aplicações representativas neste domínio?

O restante deste minicurso está organizado da seguinte forma. A seção 2 apresenta os fundamentos teóricos e os desafios relacionados à Computação Urbana. A seção 3 apresenta as principais aplicações e serviços que podem ser desenvolvidas com base na Computação Urbana. A seção 4 apresenta diversos tópicos de pesquisas relacionados com a Computação Urbana, os desafios e as questões de pesquisas em aberto. A seção 5 mostra uma perspectiva prática do desenvolvimento de um serviço com base em Computação Urbana. E por fim a seção 6 traz as conclusões a respeito do tema.

2 Computação Urbana

A demanda por aplicações relacionadas a computação urbana está em expansão. Conforme mencionado anteriormente, as Nações Unidas projetam que deverá haver um considerável aumento na população urbana nas próximas décadas [64]. Sendo assim, existe uma grande carência de técnicas que ofereçam uma infraestrutura adequada para as grandes cidades, tais como, serviços de transporte, habitação, água e energia.

Visando uma solução holística para o problema, a computação urbana faz uso de uma grande quantidade de fonte de dados, como de dispositivos da Internet das Coisas (IoT) [70, 43]; dados de redes sociais baseadas em localização (LBSN) [56, 78, 79, 63] e também dados estatísticos sobre cidades e sua população. Neste sentido, surge definição de computação em névoa, que oferece um diferencial importante em relação aos demais paradigmas, pois o processamento da informação está dispersa no espaço urbano, provendo assim uma rápida resposta e também a possibilidade de aplicações relacionadas ao contexto de cada região, como pode ser visto em [44, 41, 40]. Por exemplo, sistemas de vigilância urbana podem receber suporte da névoa, permitindo automatizar tarefas e realizar a tomada de decisões em tempo real conforme a localização e contexto de cada região [10].

De uma forma mais abrangente, a computação urbana busca os aspectos que permeiam os fenômenos urbanos, bem como fornecer estimativas sobre o futuro das cidades. Por este motivo, dentro da ciência da computação esse é um paradigma interdisciplinar, pois faz interseção com áreas que vão desde a de redes de computadores, redes de sensores e redes de veículos, interagindo também com sistemas distribuídos, inteligência artificial e redes sociais [56].

Conforme mencionado anteriormente, uma definição mais específica da computação urbana pode ser alcançada através de três macro atividades, nomeadamente (i) gerenciamento dos dados urbanos; (ii) análise dos dados urbanos; e (iii) desenvolvimento de serviços e aplicações para cidades inteligentes.

A primeira etapa, (i) o gerenciamento dos dados urbanos, diz respeito a coleta e processamento das informações. Esta tem o objetivo de obter amostras de dados a partir de várias fontes de interesse de forma eficiente e contínua. A atividade de amostragem dos dados pode ser realizada a partir de fontes dinâmicas e heterogêneas, já que dados oriundos de apenas uma fonte pode não oferecer completude. Um dos desafios neste sentido é a criação de técnicas para reduzir os ruídos e erros durante a coleta de grandes fluxos de dados, tento em vista que a utilização de diferentes fontes pode resultar em dados conflitantes e/ou duplicados [21].

Existem hoje, diversas fontes de dados publicamente disponíveis na Internet. Estas vão desde fontes com dados estatísticos sobre as cidades até dados das redes de sensoriamento participativo. Outra dificuldade nesta área é a diversidade dos formatos nos quais os dados estão sendo disponibilizados, pois não existe um padrão pré-definido para isto. Portanto, essa etapa também precisa se preocupar com processamento e formatação dos dados recolhidos. Além disto, buscando suprir a carência de dados em cidades que não tem programas de compartilhamento, é possível utilizar dados de redes sociais para obter informações similares aos dados estatísticos oficiais [55, 54].

Outra forma de obtenção de dados é através do sensoriamento participativo. Essas informações podem ser bastante úteis para o estudo de hábitos e rotinas de habitantes das cidades. Em especial, é possível ressaltar a importância destas informações para os ITS (Intelligent Transportation System), uma vez que considerando os aspectos de mobilidade dos veículos e as suas trajetórias diárias, é possível extrair desse cenário diversos padrões de movimentação e também identificar pontos onde esta mobilidade está fluindo ou precisa ser revista. Com essas informações também é possível detalhar características culturais sobre as rotinas dos usuários, seus interesses e os pontos de maior visitação em uma cidade.

A segunda etapa (ii), a análise dos dados urbanos, está posicionada após a coleta dos dados. Nessa etapa ocorre o processamento e a combinação de diferentes tipos de dados com o objetivo de extrair um conjunto de informações. Além disto, os dados brutos provenientes da etapa de sensoriamento requerem um processo de preparação dos dados, antes de prosseguir para a etapa de análise dos dados. Um dos grandes desafios nessa etapa é a elaboração e a implementação de um sistema capaz de analisar as correlações de um grande conjunto de dados, extrair informações e disponibilizá-los em tempo quase real. Assim como na primeira etapa, outro desafio que ainda persiste é em relação às fontes de dados heterogêneas, onde são necessários métodos e ferramentas para realizar a integração de diferente tipos de dados que podem ter sido obtidos das mais diversas fontes.

A terceira etapa (iii), o desenvolvimento de serviços e aplicações para cidades inteligentes, refere-se aos procedimentos adotados para o consumo das informações. Para que esta atividade seja bem-sucedida é necessário o desenvolvimento de modelos descritivos e preditivos a partir das informações adquiridas. Os modelos descritivos podem ser utilizados para identificar relações entre as diversas variáveis coletadas, ou seja, ele serve para descrever o passado e auxiliar na tomada de decisões sobre o futuro. Esse modelo é muito útil para categorizar as informações e também identificar potenciais situações que podem ser ajustadas para prover benefícios aos serviços e/ou seus utilizadores. Uma das desvantagens dos modelos descritivos é que a intuição e a experiência acabam por te um peso excessivo na tomada de decisões.

Devido a computação urbana analisar um grande fluxo de dados, estas características podem levar a resultados tendenciosos que não refletem de forma integral a realidade. Por isto, os modelos preditivos também deverão utilizados. Esses modelos conseguem identificar padrões ocultos e determinas as possíveis consequências resultantes desses padrões. Com este conhecimento em mãos, as decisões tomadas se tornarão mais assertivas. De uma forma geral, os modelos preditivos podem ser desenvolvidos através de métodos de aprendizado de máquinas, supervisionados ou não supervisionados. No primeiro, existe uma fase de treinamento do modelo, ou seja, são utilizados dados de entrada e de saída que descrevem a situação em particular que o método está sendo treinado para identificar. Por outro lado, nos modelos não supervisionados, somente os dados de entrada são introduzidos, sendo que o modelo deverá descobrir a relação entre estes dados para apresentar uma saída.

O conteúdo de computação urbana é bastante abrangente. Neste capítulo vamos nos ater aos aspectos relevantes a este minicurso, a saber: computação em nuvem e névoa (Seção 2.1), gerenciamento e localidade dos dados (Seção 2.2), sensoriamento e aquisição de dados urbanos (Seção 2.3) e por último, aspectos relacionados ao crowdsourcing e crowdsensing (Seção 2.4).

2.1 Computação em Nuvem e Névoa

A computação em Nuvem proporcionou grandes avanços nas formas de utilização das infraestruturas de Internet. Os seus centros de processamento de dados são, de uma maneira geral, amplas instalações em locais selecionados especificamente para esta finalidade, sendo que na sua maioria, encontram-se distribuídos através do globo terrestre. Cada centro de dados consolida um vasto número de equipamentos em um mesmo local físico, que pode oferecer serviços de forma isolada ou se comunicar com outros centros de dados para melhor atender o usuário final. A centralização destes recursos permite realizar uma economia financeira devido a escala de operação, viabilizando reduzir o custo de funcionado associado à sua instalação, manutenção e gerenciamento.

Uma funcionalidade importante da nuvem é a possibilidade de virtualização de equipamentos e serviços. Com isto, é possível prover uma maior elasticidade na alocação de recursos. Por conseguinte, os utilizadores podem requisitar somente a capacidade necessária para a realização das suas operações. Não existe a necessidade de efetuar um aprovisionamento maior do que o necessário, pois sempre é possível solicitar mais recursos caso haja necessidade.

A convergência das redes de computadores com a nuvem auxiliou na resolução de diversos problemas, como por exemplo, provendo uma maior escalabilidade e disponibilidade, bem como aumentando a compatibilidade entre sistemas. Porém, ao mesmo tempo, introduziu novos desafios provenientes do distanciamento entre a produção e processamento dos dados, levando a uma sobrecarga do núcleo da rede e uma maior latência de comunicação [13].

Pelo fato de prover um serviço ubíquo, os seus usuários estão dispersos no mundo todo, por conseguinte, muitos destes se encontram geograficamente distantes dos provedores da nuvem. Esta característica pode não ter grande impacto para o usuário convencional, que utiliza apenas os recursos mais simples disponíveis, como por exemplo, armazenamento de arquivos, redes sociais e navegação na Internet. Por outro lado, isto pode representar um grande desafio para dispositivos restritos, que possuem pouca capacidade de memória, processamento e comunicação, características estas de uma considerável parte dos dispositivos pertencentes a IoT (Internet of Things) que são amplamente usados em cidades urbanas e inteligentes.

Dependendo da aplicação, mesmo em dispositivos de maior capacidade, esta distância pode se tornar um impedimento para atingir plenamente os requisitos dos serviços disponibilizados, como por exemplo, em previsão de congestionamento e gerenciamento de energia. Desta forma, é necessário trazer ao menos uma parcela do poder computacional mais próximo dos usuários e/ou serviços. Por isto, a computação em névoa vem ganhando força [8]. A proposta básica deste paradigma é trazer a elasticidade de recursos da nuvem para perto dos usuários/objetos/serviços.

A utilização conjunta dos paradigmas de nuvem e névoa pode ser organizada em uma arquitetura de camadas, conforme definido pelo consórcio Openfog [20] e ilustrado na Figura 2. Um dos modelos aceitos hoje em dia é formado por três camadas, que são: a camada ciber-física, camada da névoa e a camada da nuvem. A camada inferior é composta pelos dispositivos físicos, sejam eles móveis ou estáticos. Com o aumento do poder computacional destes equipamentos e o aprimoramento das tecnologias de comunicação, estes são capazes de executar processamentos relativamente complexos com uma boa performance [62].

Estes aparelhos, como por exemplo smartphones, smartwatches, consoles de jogos, óculos inteligentes, entre outros, em conjunto com os demais servidores e equipamentos, da borda da rede, localizados próximos aos usuários, podem ser utilizados para aliviar o ambiente da nuvem e ainda prover menor latência na comunicação.

Figura 2: Arquitetura de computação urbana com múltiplas camadas de névoa e nuvem

A camada intermediária (névoa), é composta por múltiplos níveis, com o objetivo de fornecer uma maior flexibilidade na composição da sua infraestrutura. Sendo assim, com o estabelecimento desta hierarquia de níveis é possível oferecer um equilíbrio em algumas das características mais desejáveis, como a capacidade computacional, tempo de acesso e responsabilidade organizacional. De uma forma geral, os níveis mais próximos da borda da rede tendem a possuir uma menor responsabilidade organizacional na infraestrutura e, portanto, uma menor cobertura geográfica. Por outro lado, níveis mais próximos da nuvem possuem uma maior cobertura geográfica e capacidade computacional, mas tendem a apresentar tempos de acesso mais elevados. A camada superior é composta pelos servidores de nuvem, os quais podem estar localizados em nuvens públicas, privadas, ou uma combinação de ambas.

É válido mencionar que um dos maiores desafios em uma rede centrada na computação em névoa é como alcançar o melhor desempenho possível considerando o poder de processamento e comunicação de cada equipamento, em conjunto com o processamento e comunicação oferecidos pela névoa. Isto deve-se ao fato de que são esperados dispositivos com características heterogêneas nestas redes. A computação em névoa precisa levar em consideração a heterogeneidade tanto das tecnologias de rede como dos dispositivos, permitindo que estes coexistam e operem em conjunto para prover níveis satisfatórios de qualidade. Por isto, um amplo conjunto de parâmetros devem ser contemplados, como por exemplo, dispositivos móveis com capacidade de bateria limitadas, diferentes formas e capacidades de comunicação e também distintas capacidades de processamento [7].

Neste sentido, um aspecto importante é a Qualidade de Experiência (QoE) dos usuários finais. Este conjunto de métricas busca definir de uma forma quantitativa a aceitação de um serviço/aplicação, considerando desde a origem das informações até como elas são apresentadas na sua forma final [26, 25]. Por isto, para uma solução ser considerada adequada para a computação em névoa, esta também deve levar em consideração a expectativa de QoE dos usuários finais e o seu impacto no sistema como um todo.

Além de desafogar o ambiente de nuvem e oferecer comunicação de baixa latência, a computação em névoa também pode prover serviços cientes de sua geolocalização. Tendo em vista que o processamento das informações será realizado na borda da rede, ou seja, em uma localização geográfica muito próxima ao usuário, diversos detalhes sobre a rede de acesso podem ser utilizadas, como a qualidade de sinal da borda até o usuário e também a carga atual da célula em que o usuário se encontra. Todas estas informações podem se apresentar como um grande diferencial para a maioria das aplicações de computação urbana.

2.2 Gerenciamento e Localidade dos dados

Conforme mencionado anteriormente, a produção e consumo de dados está atingindo números recordes e continua com ritmos de crescimento sem precedentes. Como resultado desta tendência, o gerenciamento e localidade dos dados vêm ganhando muita atenção ultimamente. De uma forma simplificada, estes conceitos se referem à capacidade de organizar e manter processos relacionados a aquisição, processamento, distribuição e armazenamento de dados, bem como a proteção e validação de informações. Esses conceitos foram pesquisados no passado em diferentes contextos, como por exemplo, em clusters computacionais e também nas áreas de computação paralela e distribuída. No entanto, até recentemente estes princípios ainda não haviam sido aplicados em centro de dados geograficamente distribuídos, como os presentes na computação em nuvem e névoa [69, 23, 22].

O gerenciamento de dados faz alusão ao planejamento e implantação de uma série de políticas e procedimentos para realizar a gestão completa, precisa e integral do ciclo de vida dos dados. De uma forma geral, esta atividade pode ser dividida em duas estratégias distintas, as quais definem (i) o posicionamento e (ii) a forma de acesso [48]. A estratégia de posicionamento busca especificar onde estas informações serão armazenadas e como serão disseminadas. Esse procedimento, por exemplo, é responsável por determinar quantas cópias dos dados devem ser realizadas e também quais são os melhores locais/dispositivos para armazenar essas informações. A segunda estratégia define como deverão ser tratadas pelo sistema as operações de leitura e escrita. Para esta finalidade, é necessário considerar conjuntamente os procedimentos que deverão manter a consistência dos dados entre cópias distribuídas. Outra responsabilidade é também a de definir as formas de acesso as informações replicadas.

Assim como o gerenciamento de dados, o conceito de localidade é igualmente importante. Este pode ser definido como a habilidade de mover ou alocar a capacidade computacional necessária para o processamento de informações nos locais próximos de onde estão sendo criados e/ou adquiridos estes dados [72]. Desta forma, é possível evitar a transferência indiscriminada de uma grande quantidade de dados brutos diretamente até recursos computacionais centralizados, como por exemplo, servidores da nuvem. Esta estratégia baseia-se no fato de que movendo e executando os aplicativos computacionais para próximo dos dados sobre os quais eles operam é possível realizar uma computação mais eficiente e ainda prover a economia de recursos de rede. Com esta estrutura, consequentemente, elimina-se a necessidade de transmitir grandes quantidades de dados não processados até o aplicativo/serviço. É importante ressaltar que está estratégia é válida para serviços que necessitam de uma grande quantidade de dados para operar ou, os quais precisam fornecer uma resposta ultrarrápida as solicitações dos usuários. Por este motivo, os fundamentos da localidade de dados se encaixam com uma das principais premissas da computação em névoa, que é ter um sistema descentralizado com recursos próximos aos usuários finais [68].

Nesta perspectiva, pesquisas confirmam que o armazenamento de dados nas bordas da rede, utilizando a computação em névoa, pode melhorar o tempo de resposta e reduzir o tráfego de rede [11]. Além das questões de desempenho, a localidade dos dados pode aprimorar mecanismos relacionados à segurança e privacidade das informações [4]. Operando localmente, é possível ter um conhecimento preciso da estrutura da rede e implementar mais facilmente recursos de autenticação e autorização. Outra vantagem de ter os dados próximos de onde estes serão processados é o aperfeiçoamento das questões de privacidade [65], pois as informações não precisam ser transferidas através da rede, ou seja, existe um maior controle de acesso sobre as mesmas.

Outra vantagem da localidade dos dados é a possibilidade de fazer o descarregamento de operações, tais como processamento ou armazenamento. Mesmo com o avanço nas tecnologias móveis, em algumas situações ainda é vantajoso transferir o processamento do próprio dispositivo para a borda da rede visando uma economia de bateria e a redução no tempo de processamento [47]. A computação em névoa auxilia nesta atividade provendo camadas de recursos entre os usuários e a nuvem [73, 53]. É importante ressaltar que com a dispersão dos recursos através de toda a hierarquia de rede, são necessários novos mecanismos de gerenciamento de recursos, bem como métodos de migração para garantir que as aplicações e dados descarregados estão sempre o mais próximo possível dos usuários [61].

Na computação em nuvem, a migração de máquinas virtuais, serviços e dados pode ser utilizada para realizar o balanceamento de carga de centro de dados e também para consolidar estas operações em uma quantidade menor de servidores. De mesma forma, na computação em névoa, a migração destes serviços/aplicações pode ser utilizada para replicar e/ou mover tanto dados como poder de computação para próximo dos usuários que necessitam ou poderão necessitar em um futuro iminente. Através da computação urbana, por exemplo, pode ser identificado os principais locais onde os usuários costumam realizar acessos e consumir informações. Tendo em vista que estes padrões de comportamento da mobilidade humana podem ser previsto de uma forma consistente [58], é possível carregar antecipadamente os dados e serviços nesses locais, reduzindo consideravelmente o tempo de acesso aos mesmos [6].

2.3 Sensoriamento e aquisição de dados urbanos

A extração de conhecimento a partir dos dados consiste, basicamente, na modelagem e análise dos dados definindo uma semântica para a tomada de decisão para um determinado serviço [3], por exemplo, a definição de rotas mais rápidas e seguras. A aquisição e processamento de dados tem sido um dos grandes desafios em Computação Urbana, pois os dados são heterogêneos, provem de diversas fontes, possuem diferentes formatos (tabelas, mapas, grafos, etc) e são de diferentes tipos (dados sobre o tráfego, qualidade do ar, dados sociais e dados geográficos, etc). De acordo com a Figura 1 as etapas necessárias para o tratamento dos dados até que eles estejam disponíveis para a aplicação são a coleta dos dados, processamento, armazenamento e modelagem. Estas etapas são detalhadas a seguir.

A coleta de dados é a primeira etapa a ser realizada. De acordo com [56], os dados usados nessa área são provenientes de quatro fontes:

  • Dados de sensores: atualmente, as redes de sensores são muito utilizados para coleta de dados em ambientes urbanos. Elas fornecem dados que são obtidos através da instalação de sensores dedicados a aplicações específicas, por exemplo, sensores para monitoramento da qualidade do ar em diversos pontos da cidade ou sensores para o monitoramento de níveis de ruídos. Atualmente, é muito comum o uso de veículos conectados e dispositivos móveis para a obtenção de dados. Nesse caso, deve-se considerar o custo existente para a construção das redes de sensoriamento e que os veículos devem estar previamente equipados.

  • Dados da infraestrutura disponível nas cidades: atualmente as cidades estão construindo infraestruturas para diversos propósitos, por exemplo a rede de telefonia celular, redes sem fio ou ainda sistemas de transporte público. Muitas vezes, essa infraestrutura também pode ser utilizada para coletar dados.

  • Dados estatísticos: são dados referentes a estudos estatísticos sobre uma população, tais como dados demográficos, econômicos e sociais relativos a um momento determinado ou em certos períodos. O trabalho de [15] implementa uma ferramenta para sugestão de rotas usando, além de dados sobre a condição de tráfego, dados relacionados a crimes na cidade de São Paulo. Os dados foram obtidos do banco de dados oficial do departamento de policia. Vale ressaltar, que muitas vezes não existe a disponibilidade desses dados e quando disponíveis eles possuem diversos formatos ou são incompletos. Assim, deve existir um mecanismo para obtenção e tratamento desses dados antes de sua utilização.

  • Dados de redes sociais: no ambiente de computação urbana os dados das mídias sociais, tais como Twitter, Instagram, Waze e Foursquare são usados para modelar a mobilidade das pessoas nas áreas urbanas e são usados em diversas aplicações, tais como na identificação de problemas no trânsito causados por acidentes, protestos, desastres, etc [55, 38, 51, 46]. Esses dados possuem diversos formatos, tais como textos, fotos e vídeos. Aqui está incluído, o sensoriamento participativo, que é o processo pelo qual indivíduos e comunidades usam celulares e serviços de nuvem para compartilhar voluntariamente informações [18]. Vale destacar que a obtenção desse tipo de dado pode ser mais fácil do que os três anteriores, dada a grande quantidade desses dados disponíveis na WEB. Esses dados podem ser obtidos por meio de APIs disponibilizadas pelas ferramentas; através de Web crawler, que são programas que analisam páginas Web em busca de dados relevantes; ou desenvolvendo aplicações em plataformas já existentes, por exemplo, algumas ferramentas, como Facebook e Instagram, permitem a criação de aplicativos dentro de suas plataformas.

Dessa forma, existem diversas maneiras para coletar dados no ambiente de computação urbana, nesse minicurso serão usados dados de redes sociais para exemplificar o desenvolvimento de uma aplicação no ambiente de computação urbana.

Uma vez que esses dados são coletados, deve-se utilizar técnicas de processamento e armazenamento, já que essa etapa envolve a manipulação de um grande volume de dados. Em alguns casos, os dados coletados são suficientes para revelar um padrão interessante, não sendo necessário um processamento complexo desses dados. No entanto, na maioria das vezes esses dados são provenientes de diversas fontes e possuem formatos diferentes, dessa forma são necessários técnicas específicas para formatação desses dados. Por exemplo, no problema de geração de rotas em ambientes urbanos podemos considerar as informações de trânsito disponibilizadas pela infraestrutura da cidade e informações a respeito de áreas de perigo. Dependendo da aplicação, será necessário a comparação dos dados atuais com tendências passadas, de modo que o armazenamento e o gerenciamento robusto e de longo prazo desses dados são um requisito central. De uma forma geral, nessa etapa são desenvolvidos scripts para a formatação e organização dos dados. A organização dos dados nos leva a entender melhor esses dados e definir quais os modelos e análise são apropriados para serem aplicados [56]. Na Seção 5 será mostrado um exemplo prático do processamento de um tipo de dados específico.

O armazenamento envolve sistemas de arquivo e ferramentas para processamento distribuído de grandes volumes de dados e deve ser: escalável, distribuído, seguro, tolerante a falhas e consistente. No caso da computação em névoa, os dados são movidos para o melhor lugar para processamento, isto é, mais perto do limite da rede. Portanto é uma arquitetura de computação descentralizada onde dados, cálculos, comunicações, armazenamentos, medições, aplicações e gerenciamentos são distribuídos entre a fonte de dados e a nuvem. Dessa forma, tem-se uma redução de dados que necessitam ser transportados para análise, processamento ou armazenamento e maior velocidade no acesso aos dados pelo usuário final.

Algumas técnicas são utilizadas para modelagem dos dados. Os dados aqui possuem propriedades tanto espaciais, como temporais. Por exemplo, a localização de estabelecimentos é um dado espacial; dados meteorológicos, vídeos de vigilância e consumo de energia são dados temporais. Já os dados como como fluxos de tráfego e mobilidade humana possuem propriedades espaço-temporais simultaneamente [77]. Nessa etapa os dados devem ser organizados em alguma estrutura que incorpora simultaneamente o dado e as informações espaço-temporais para suportar uma análise de dados eficiente. Além disso, um sistema de computação urbana geralmente precisa aproveitar uma variedade de dados heterogêneos e responder rapidamente às consultas dos usuários, por exemplo, as condições de tráfego em uma determinada área. Levando em conta as propriedades espaço-temporais desses dados, temos que encontrar modelos que consigam capturar a dinâmica dos dados. Em computação urbana, é comum a utilização de grafos para representar a propriedade espacial. Por exemplo, em uma rede veicular mapeada como um grafo, cada veículo representa um nó do grafo e as ligações são estabelecidas com o nó se dois veículos conseguem se comunicar. O conteúdo desses dados pode variar muito ao longo do tempo, assim um modelo baseado em grafos estáticos não é suficiente para capturar essa dinamicidade, dessa forma a teoria de Redes Complexas tem sido utilizada para representar diversos problemas nesse contexto. Essa teoria provê modelos (redes de mundo pequeno, redes livres de escala) e métricas (p.e., centralidade de nós, coeficiente de agrupamento) que auxiliam no entendimento da dinâmica do problema [35, 33].

A seguir pode ser realizada a análise de dados para se identificar anomalias, tais como os locais onde a mobilidade das pessoas difere significativamente de seus padrões de origem. Dessa forma, vamos caracterizar os dados coletados, a fim de entender suas limitações e sua utilidade. Geralmente essa etapa é composta pelas etapas de extração e análise da informação obtida a partir dos dados brutos e validação de resultados. A extração de conhecimento pode explorar diferentes abordagens, dependendo do problema que estamos tentando resolver. Um procedimento típico realizado é a investigação preliminar dos dados para entender suas propriedades, auxiliando na escolha de técnicas de análise.

As técnicas de visualização, como histogramas e diagramas de dispersão, medidas estatísticas, como média e desvio padrão de um conjunto de valores, são métodos comuns usados para explorar propriedades de dados nesta investigação preliminar [56].

Algumas tecnologias e ferramentas devem ser utilizadas nessa etapa para a análise dos dados. Técnicas como, algoritmos de agrupamento, regressões, modelos probabilísticos e análise de sentimento são muito utilizadas nesse contexto. Em relação as ferramentas para análise, as linguagens Python, Matlab/Octave e R são robustas, eficientes e de fácil compreensão para o desenvolvimento dos algoritmos.

2.4 Crowdsourcing e Crowdsensing

Conforme mencionado anteriormente, uma das principais funções da computação urbana é referente ao processo de aquisição, integração e análise de grande volume de dados. Na sua essência, estes dados costumam ser heterogêneos, ou seja, não seguem nenhum padrão definido, e gerados por fontes em diferentes espaços urbanos. Além das tecnologias, modelos analíticos e métodos aplicados na Computação Urbana, dois importantes paradigmas podem ser também aplicados: crowdsourcing e crowdsensing. A seguir uma breve explicação de cada um deles.

Crowdsensing móvel é um paradigma que utiliza o conceito de computação ubíqua no sensoriamento do ambiente, além de compartilhar os dados sensoriados [67, 1, 2]. Na primeira camada da arquitetura da Figura 3 apresenta um exemplo de crowdsensing, onde diferentes dispositivos são utilizados para extrair coletar dados brutos. Além disso, por meio da agregação de tais dados, pode-se criar uma consciência local que pode auxiliar aplicações de larga escala, por exemplo, monitoramento da poluição do ar e alerta de congestionamento de tráfego veicular. Sabe-se que nas Vehicle Social Networks - VSNs, os veículos são equipados com tecnologias de computação e de comunicação sem fio juntamente com sensores inteligentes, assim possibilitando o surgimento do paradigma de vehicle crowdsensing - VCS [1]. Tal paradigma possibilita o monitoramento de fenômenos dinâmicos e em grande escala. A motivação do uso do crowdsensing móvel está no fato de que os participantes possam mapear fenômenos de interesse comum. Por exemplo, os participantes de uma VSNs podem conjuntamente monitorar as condições do tráfego veicular, e também, aprimorar a mobilidade urbana por meio do compartilhamento dos dados sensoriados. Ao fazer isso, aplicações de VSNs podem agregar os dados locais sensoriados e gerar conhecimento sobre as condições de tráfego em tempo real, e tal conhecimento auxiliará o gerenciamento da mobilidade urbana. Outro exemplo [27] é o monitoramento da exposição à poluição em ambiente urbano.

O crowdsourcing é um paradigma de cooperação, no qual um grande grupo de usuários (sendo que cada usuário resolve pequenas sub-tarefas de um trabalho maior) trata de problemas complexos que podem ser resolvidos, por meio da participação de muitos usuários, de maneira eficiente, por exemplo, gerenciamento inteligente de tráfego veicular [1]). Na camada do meio da arquitetura da Figura 3 apresenta um exemplo de crowdsourcing, onde diferentes tecnologias são empregadas para extrair conhecimento dos dados sensoriados. Outra ideia muito aplicada é a utilização de sensores móveis no contexto de crowdsourcing, denominado de Mobile Crowdsourcing (MCS). O MCS difere das redes de sensores tradicionais, pois estes envolvem pessoas em movimento que estão processando dados ao seu redor de diferentes locais. Neste caso, as pessoas não estão apenas transportando sensores integrados aos seus dispositivos móveis (smartphones), mas também são capazes de fornecer informações manualmente, como fotos e vídeos. As vantagens do MCS em relação a outros tipos de redes de sensores incluem: (i) alta capacidade de computação dos dispositivos móveis para pré-processamento de dados; (ii) conectividade com nuvem ou névoa; e (iii) usuários podem fornecer informações do ambiente que não são coletadas pelos sensores. Com isso surgem sistemas que identificam anomalias urbanas baseado em crowdsourcing. Tais sistemas permitem a comunicação pervasiva e em tempo real das anomalias que ocorrem na cidade (por exemplo, ruído, uso ilegal de instalações públicas, mau funcionamento da infraestrutura urbana).

Figura 3: Uma arquitetura ilustrativa de crowdsourcing e Crowdsensing.

Vale salientar que vários sistemas e aplicativos de crowdsourcing e crowdsensing desenvolvidos no paradigma da Computação Urbana são dedicados a permitir que os cidadãos colaborem na melhoria da qualidade de vida no ambiente urbano.

3 Aplicações

Esta seção apresenta algumas das principais aplicações e serviços no contexto de computa-ção urbana em diferentes domínios. O objetivo é mostrar que a integração e análise de dados obtidos de diferentes fontes em espaços urbanos têm um papel importante em prol do desenvolvimento das cidades inteligentes. Com isso, a Seção 3.1 apresenta os sistemas de transportes inteligentes. A Seção 3.2 discute aplicações e serviços sociais baseadas em localização. Por fim, a Seção 3.3 apresenta as aplicações no contexto de segurança pública.

3.1 Sistemas de Transportes Inteligentes

O setor de transporte é um dos principais propulsores para desenvolvimento econômico de uma nação. Tanto cidadãos quanto empresas dependem desse setor no dia a dia. Por exemplo, as empresas dependem dos meios de transporte para obter os insumos, além de distribuir seus produtos até os consumidores. Já os cidadãos necessitam de tais meios para o deslocamento diário da casa para o trabalho e vice-versa.

Com os avanços das tecnologias de comunicação sem fio e da computação móvel permitiram o surgimento dos sistemas de transporte inteligentes (ITS). Tais sistemas têm como objetivo principal melhorar a mobilidade urbana, além de aumentar a segurança no trânsito. Aplicações desenvolvidas para ITS, geralmente, visam auxiliar os condutores e os passageiros durante seus deslocamentos, com intuito de reduzir acidentes (aplicação de segurança) e melhorar o gerenciamento de tráfego veicular (aplicação de eficiência de tráfego[32, 31]. Além dessas, há outro tipo, aplicação de entretenimento e conforto, como o próprio nome sugere, esta tem o objetivo de tornar a viagem mais prazerosa e tranquila. Para mais detalhes de cada aplicação mencionada anteriormente, consulte [12].

Outra aplicação de ITS é o transporte multimodal (TM), foco do estudo de caso deste minicurso (apresentado na Seção 1.5). A Figura 4 apresenta um exemplo ilustrativo de TM, no qual utiliza diversas modalidades de transporte (por exemplo: táxi, ônibus, trem ou metrô) para transportar cargas ou passageiros entre os pontos de origem e de destino [81, 60]. Por consequência, o TM oferece um serviço que permite o transporte mais eficiente, confiável, flexível e sustentável. Sabe-se que, muitos cidadãos dos grandes centros urbanos necessitam utilizar diferentes tipos de transporte público multimodal nos seus deslocamentos diários. Logo, encontrar o caminho com menor custo, entre dois pontos, levando em consideração mais de um modo de transporte é o principal desafio do Problema de Transporte Multimodal.

Figura 4: Um exemplo ilustrativo de transporte multimodal.

Alguns trabalhos da literatura lidam com esse tipo de problema. Por exemplo, no trabalho de [17], foi aplicado um algoritmo exato para a seleção dos caminhos. Para isto, duas variáveis conflitantes, custo e tempo, são aplicadas na solução. O algoritmo proposto foi inspirado no “Algoritmo de Pulso” [5], ou seja, envia um pulso na rede e mensura o caminho realizado por ele, em relação aos pesos dos arcos até ao destino. Utilizando as mesmas variáveis conflitantes, no trabalho de [52] foi aplicado um algoritmo de caminho mínimo e a solução é classificada por meio do conceito da não dominância de uma das variáveis.

No trabalho de [24], os autores propõem um algoritmo “orientado ao alvo”. Tal algoritmo aplica a busca pela proximidade dos nós em relação ao destino, ou seja, nessa etapa constrói-se o caminho virtual. O cálculo da proximidade é feito a partir da distância Euclidiana entre os pontos de origem e de destino. Além disso, durante o cálculo é aplicado o conceito de desigualdade triangular para priorizar a escolha dos nós localizados mais próximo do destino. Outra abordagem concebida pelos autores [16] é combinar duas meta-heurísticas (Algoritmos Genético e de Busca Local), com intuito de simular o Algoritmo Memético [30]. Tal algoritmo, faz uma analogia à memória humana, nas quais são memorizadas/armazenadas as informações mais importantes do processo, para que no final seja possível recuperar tais informações.

3.2 Aplicações sociais baseadas em localização

Atualmente existem diferentes tipos de redes sociais na Internet com diversos propósitos. Nesta seção, nosso foco são as redes sociais baseadas em localização (LBSN), um tipo especial de rede social em que informações geo-localizadas representam um papel fundamental no sistema. O estudo de LBSNs é interessante, pois elas geram um tipo específico de dados digitais que oferecem resoluções geográficas e temporais sem precedentes. Com isso, os dados provenientes desses sistemas podem ser úteis para entender diversos fenômenos urbanos em larga escala e com um custo, potencialmente, mais baixo [56]. O Foursquare, Waze e Instagram são exemplos clássicos de LBSNs, no entanto existem vários outros exemplos um pouco menos conhecidos, como o Untappd111https://untappd.com. que é uma rede especializada cervejas.

De acordo com [78] uma rede social baseada em localização consiste em uma nova estrutura social composta por indivíduos ligados pela interdependência derivada de suas localizações físicas, bem como o seu conteúdo (como fotos, vídeos e textos) geo-localizados. Essa interdependência existe, se por exemplo, os indivíduos têm históricos semelhantes de localização e interesses em comum (i.e., comportamentos e atividades).

As LBSNs contam com dados geográficos coletados em tempo real de forma voluntária e com o auxílio de dispositivos móveis dos indivíduos. Esse é um dos fatores que favorecem a alta escalabilidade dessas redes [57]. Esses dados podem ser úteis para prover, por exemplo, entretenimento e informações de tipos variados (e.g., para tomar melhores decisões no trânsito).

Uma etapa importante para o desenvolvimento de diversas aplicações é a estimativa de semelhança entre usuários utilizando os dados provenientes de LBSNs, nesse caso, é importante descrever o comportamento e interesses dos usuários. Existem várias maneiras para estimar a semelhança entre usuários. De uma forma geral, uma boa estimativa de semelhança depende da disponibilidade de boas informações descritivas, tais como informações de visitas e popularidade de locais, bem como a granularidade geoespacial das informações [77]. O comportamento e interesses de um indivíduo podem ser descritos, por exemplo, pelo seu histórico de check-ins222ato de disponibilizar a sua localização atual para amigos na rede. na cidade. Assim, pessoas que compartilham informações semelhantes de localização tendem a ter interesses e comportamentos comuns, a partir dessas informações pode-se detectar comunidades. Essa informação é útil, por exemplo, na realização de propagandas direcionadas, ou ainda criar sistemas de recomendação para diversos tipos de conteúdo.

Figura 5: Um exemplo ilustrativo de recomendação de locais fornecida pelo Foursquare.

Um recomendador de lugares é um exemplo específico de aplicação de recomendação que consiste em encontrar e recomendar os locais mais interessantes em uma cidade. Vários fatores precisam ser levados em consideração para oferecer uma boa recomendação de locais. O nível de interesse de um local não depende exclusivamente do número de pessoas que visitaram o mesmo. Por exemplo, o local mais frequentemente visitado em uma cidade pode ser uma estação rodoviária ou aeroporto, mas esse tipo de local tende a não ser uma localização interessante de ser recomendada, por exemplo, a um turista que está visitando uma cidade. Com isso, além da popularidade, é importante levar em conta a semântica dos locais, que pode ser obtida com a descrição disponível nas LBSNs, bem como o perfil dos indivíduos que frequentam o local, que poderia ser obtido, por exemplo, através das semelhanças entre usuários. A Figura 5 mostra um exemplo ilustrativo de recomendação de locais fornecida pelo Foursquare. Esse recomendador utiliza, além de outras informações, a opinião dos usuários que já visitaram previamente os estabelecimentos, bem como a popularidade do local e tendências que ocorrem na área estudada [29].

Explorando também os dados do Foursquare, Mueller et al. [34] propuseram uma metodologia para caracterizar as preferências de gênero por locais em diferentes regiões e em diferentes granularidades espaciais. Tradicionalmente, os dados utilizados para apoiar esses estudos são obtidos manualmente, muitas vezes por meio de pesquisas com voluntários. Os resultados desse estudo sugerem que a metodologia proposta pode ser uma ferramenta promissora para apoiar estudos sobre preferências de gênero por locais ao redor do mundo, sendo mais rápida e barata que os métodos tradicionais. Isso ilustra que os mesmos dados de LBSNs podem ser usados para diferentes propósitos.

A Figura 6 exemplifica o resultado da metodologia proposta, mostrando que ela pode ajudar a identificar as preferências de gênero para locais com granularidades mais finas, por exemplo, considerando todos os locais individualmente para São Paulo. A metodologia proposta identificou 21 locais onde a diferença de popularidade entre gêneros é estatisticamente significativa. Um exemplo é uma universidade privada (que pediu explicitamente para ser anonimizada), que é mais popular entre usuários do sexo feminino. Isso pode ser explicado pela presença maior de mulheres nos cursos específicos localizados no campus (ou seja, saúde, artes, pedagogia e produção de mídia) no Brasil. Um porta-voz da universidade anônima confirmou, por e-mail, que a maioria pessoas matriculadas no campus são mulheres. Outro exemplo é o Museu de Arte da Fundação Bienal Ibirapuera, que também é significativamente mais popular entre mulheres. Este resultado foi confirmado por dados oficiais [34].

Figura 6: Popularidade (normalizada) de locais individuais dentro de cada grupo de gênero em São Paulo, considerando todos os valores de todas as subcategorias. [Imagem de [34]].

Ao explorar as preferências de gênero por diferenças de locais, os proprietários de empresas poderiam obter informações valiosas sobre seus clientes. Além disso, as recomendações de locais podem se tornar mais conscientes culturalmente, já que homens e mulheres podem ter preferências diferentes em regiões com culturas distintas. Podemos citar ainda que estudos sociológicos sobre preferências de gênero por locais poderiam ser feitos em menos tempo, com tamanhos amostrais maiores e em regiões com granularidades espaciais arbitrárias [34].

Para mais detalhes da utilidade de redes sociais baseadas em localização para área de computação urbana consulte [56]. Nesse trabalho os autores discutem conceitos fundamentais da computação urbana utilizando dados do LBSN e apresentam um levantamento de estudos recentes de computação urbana que utilizam dados do LBSN.

3.3 Aplicações e serviços em segurança pública

Segurança pública é exemplo de aplicação (ou serviço) desenvolvido no contexto da computação urbana. Sabe-se que alguns eventos observados em grandes centros urbanos, por exemplo, acidentes, congestionamentos, inundações e ataques terroristas, representam ameaças que deturpam a ordem das cidades, bem como apresentam riscos à segurança pública. Além disso, em tais centros, há uma ampla disponibilidade de diferentes tipos de dados que podem ser utilizados pela aplicação. Tanto para lidar corretamente com as ameaças mencionadas anteriormente, quanto para detectar uma ameaça ou até mesmo prevê-las [39, 66, 1].

Além da segurança pública, outra aplicação de grande importância dentro da computação urbana é a detecção de anomalias. Uma das anomalias comumente observada em áreas urbanas é de tráfego, particularmente congestionamento. Tal anomalia pode ser causada por diversos fatores, por exemplo, acidentes, protestos, construção e desastres naturais. Assim a detecção ou prevenção de tais anomalias podem ajudar na gestão de tráfego. Algumas soluções podem ser encontradas em trabalhos relacionados que lidam com a detecção de tal anomalia [14, 39, 66, 1]. Dentre as soluções mencionadas anteriormente, apenas os trabalhos de [14] e [1] propõem eliminar (ou amenizar) a anomalia de forma reativa. Em outras palavras, uma vez identificada a anomalia de tráfego veicular, cada solução aplica uma estratégia de re-roteamento dos veículos que estão deslocando em direção ao congestionamento. A principal diferença entre as duas soluções é que no trabalho de [1] a etapa do cálculo da rota alternativa é realizada de forma colaborativa. Isto é, tal cálculo é realizado com base nas rotas escolhidas pela vizinhança, além do mais os veículos mais próximos do local do congestionamento têm a prioridade na escolha de uma rota alternativa, veja a Figura 7.

Figura 7: Nesse exemplo ilustrativo o veículo mais próximo do congestionamento escolhe primeiro uma rota alternativa e a repassa para a sua vizinhança. O segundo mais próximo utiliza tal rota para calcular a sua e assim por diante. [1] - modificado.

Outra aplicação importante dentro de segurança pública é o de detecção de desastre naturais e evacuação. Sabe-se que o grande terremoto que atingiu o leste do Japão333https://www.livescience.com/39110-japan-2011-earthquake-tsunami-facts.html e o acidente nuclear de Fukushima444https://www.britannica.com/event/Fukushima-accident (também no Japão) causaram grandes movimentos populacionais e evacuações na região afetada. Logo, compreender e prever tais movimentos e eventos naturais são fundamentais para o planejamento de ajuda humanitária, gestão de desastres e reconstrução social de longo prazo [77].

Seguindo essa ideia, no trabalho de [59] foi construído um grande banco de dados contendo registros de mobilidade humana coletado do GPS dos smartphones. Tal banco possui as mobilidades de mais 1,6 milhões de pessoas que foram realizadas entre os dias de 1º de agosto de 2010 a 31 de julho de 2011. Após o tratamento dos dados foi aplicado um modelo probabilístico que encontrou padrões de comportamentos de evacuação de curto e longo-prazo da população após o desastre. Por meio desse modelo foi possível inferir a mobilidade de evacuação da população de outras cidades japonesas. Em outro trabalho, os autores [71] propuseram um arcabouço para estimar com eficiência os pontos críticos de evacuação após grandes desastres naturais em região urbana usando dados de localização coletados dos smartphones.

4 Desafios e Oportunidades

Nesta seção serão apresentados os principais desafios enfrentados pela evolução da computação urbana e exploração de novas aplicações para este cenário, destacando oportunidades de pesquisa que podem surgir a partir das ideias apresentadas.

4.1 Aquisição e Análise dos Dados

Sob o ponto de vista da aquisição dos dados em ambientes urbanos, diversos desafios podem ser enumerados. Como primeiro deles, a grande variedade dos diferentes modelos de dispositivos. Muitos são os dispositivos e sensores instalados em uma cidade, provenientes de serviços governamentais ou mesmo privados, que geram dados para diferentes propósitos. Além disso, diversos outros aplicativos de smartphones são usados por usuários para acessar serviços e coletar dados diariamente. Assim, a integração desses dados provenientes de diferentes plataformas com o objetivo de prover novos serviços para os usuários torna-se um grande desafio.

Outro aspecto importante na aquisição dos dados está nas diferenças estruturais presentes nos dados coletados. Questões relativas a granularidade, escalas, precisão dos dados podem dificultar todo o processo de análise e interpretação dos mesmos. Além disso, todo o processo de coleta pode apresentar anomalias e até mesmo algumas falhas, o que pode provocar lacunas no monitoramento realizado. Em situações como essas, o emprego de técnicas estatísticas e modelos matemáticos são fortemente necessários para remover as diferenças entre os dados de forma a obter uma base de dados mais coesa e confiável [9].

O aspecto localidade é outro problema na análise de dados em áreas urbanas. Devido às características de conectividade, concentração de pessoais e de estabelecimentos comerciais, lugares mais populares tendem a ser mais monitorados. Por exemplo, o aplicativo Instagram555http://www.instagram.com torna-se uma grande fonte de dados acerca do padrão de visitação turística de uma cidade. Entretanto, quando se necessita analisar o padrão de toda a cidade, áreas mais periféricas, afastadas do centro normalmente possuem poucos registros de dados coletados. Nesta circunstância, a correlação de dados de diferentes fontes se torna muito necessária no estudo destas regiões.

Neste mesmo contexto, o armazenamento dos dados também se torna um grande desafio. Alguns dispositivos eletrônicos, devido a suas peculiaridades, apresentam pouca memória, o que demanda o uso de técnicas de compressão e organização dos dados de forma a garantir um melhor gerenciamento de todas as variáveis monitoradas. Assim, algoritmos específicos para trabalhar com os dados coletados e suas diferenças, são essenciais nestes cenários restritivos. Em outra direção, a fusão de dados, a filtragem e agregação podem ser uma boa estratégia para reduzir a quantidade de dados armazenados e facilitar a análise e indexação dos mesmos [76].

Levando em consideração os dados pessoais, a privacidade passar a ser uma grande barreira para sua coleta e análise. Em muitos cenários, a identificação do dado é um fator restritivo para coleta, impedindo que o usuário permita o acesso e o compartilhamento desses dados. Dessa forma, os serviços que fazem uso de dados pessoais devem criar mecanismos para garantir segurança aos seus usuários, incentivando o seu uso. Em outra abordagem, na literatura pode-se encontrar muitos trabalhos que apresentam discussões sobre privacidade e segurança de dados em ambientes urbanos, que apresentam técnicas de anonimização dos dados evitando essa identificação [28]. Em contrapartida, novos projetos de leis são propostos pelo governo no intuito de suprir essa lacuna, dando maior proteção aos usuários.

Tendo em vista a análise dos dados urbanos, as diferentes características presentes nas cidades podem dificultar o processo de modelagem e análise dos dados. Cidades apresentam características peculiares, dentre elas pode-se citar: relevo, clima, ocupação do solo, padrões de mobilidade, etc. E a modelagem destes dados se torna uma tarefa não trivial. Em geral, modelos são criados a partir de padrões, e a variação destes padrões tende a inviabilizar a aplicação de um mesmo modelo para representar comportamentos de diferentes ambientes urbanos [57]. Assim, novas oportunidades de estudos e definições de modelos que se melhor adéquem a essa diversidade de características se torna essencial no cenário da computação urbana.

4.2 Desenvolvimento de aplicações

Como pode ser observado na Seção 3, existem diversas aplicações relacionadas ao âmbito de Computação Urbana. Nada obstante, vários desafios são adicionados devido as exigências de qualidade impostas por cada classe de aplicação, em vista disso será listado os principais desafios relacionado aos tipos abordados na Seção.

Dentro do contexto de Sistemas de ITSs, existem os desafios relacionados a maneira eficiente em que estes sistemas irão atuar, visando garantir a segurança dos usuários. A arquitetura dos ITSs possui diversos componentes que garantem a comunicação entre os dispositivos, podendo adotar várias tecnologias, tais como DSRC, Wi-Fi, LTE, Visible Light Communication, satélite [75]. Portanto, pode-se considerar um desafio projetar as comunicações apropriadas neste cenário heterogêneo de tecnologias.

Dados coletados de sistemas de transporte costumava ser dados não pessoais, como dados de fluxo de tráfego e localização de veículos, porém dados pessoais podem ser necessários durante o processamento de algumas aplicações. Nesse contexto, a privacidade é uma das tarefas mais desafiadoras dentro das aplicações de ITS [80]. Os departamentos de transporte devem regulamentar rigorosamente a definição de dados pessoais utilizados nas aplicações, além de fortalecer o gerenciamento da segurança de dados e aplicar algoritmos para melhorar o nível de segurança dos dados coletados.

Os ITS ainda precisam lidar com a dinâmica das cidades, vários dados estão disponíveis para analisar o comportamento das cidades. Dessa forma, a redução de congestionamentos, poluição sonora e ambiental, além de proporcionar uma locomoção mais segura e eficiente são os principais objetivos desse tipo de sistema [12]. Os dados de mobilidade ajudam a assimilar a rotina das pessoas e assim fornecer aplicações que otimizam os meios de transporte.

Outra preocupação recorrente, está relacionada a coleta dos dados, uma vez que os veículos são equipados com uma grande quantidade de sensores. Estes sensores coletam dados que são utilizados para a tomada de decisão dos sistemas de controle de direção. Assim, o principal desafio é extrair as informações desses sensores e obter um conhecimento a partir desses dados, além de relacionar as informações obtidas com dados externos aos veículos.

A predição de tráfego é um dos desafios que influencia no comportamento das aplicações, os motoristas podem solicitar informações sobre a condição das estradas, com o objetivo de evitar possíveis congestionamentos e acidentes. A predição do trafego pode ser realizada com uma cooperação entre veículos, criando uma Vehicular Fog Computing (VFC), responsável por sensoriamento, processamento e compartilhamento de informações [37].

Além de que existem aplicações gerando uma grande quantidade de dados, encontra-se a necessidade de realizar o offloading de maneira eficiente. Uma VFC pode prover esse tipo de serviço buscando reduzir a latência e o custo de disseminação de uma determinada aplicação [74]. Um mecanismo de offloading preditivo pode ser projetado, ao estimar o consumo de tempo, para decidir se o envio direto ou o encaminhamento de retransmissão preditiva é adequado para comunicações veiculares. Já no caso de aplicações sociais baseadas em localização a quantidade e a confiabilidade dos dados inseridos pelos usuários são os principais pontos que devem ser examinados. Os dados disponíveis para as aplicações podem representar apenas uma parte dos hábitos dos usuários e a disponibilidade desses dados pode ser afetada por fatores externos, como condições climáticas.

Além disso, não se pode apenas assumir que os dados inseridos pelos usuários estão totalmente corretos, algumas informações podem ser geradas deliberadamente pelos usuários, o que pode introduzir uma inconsistência no que é aferido. Um exemplo disso pode acontecer quando um determinado usuário realiza um check-in falso em um restaurante por estar na moda, o que influenciaria no sistema de recomendação ou popularidade de um determinado local. É importante destacar a etapa de coleta desses dados, uma das dificuldades está no desenvolvimento de ferramentas para coletas, levando em consideração a eficiência, uma vez que se trata de uma grande quantidade de dados provenientes de fontes distintas. Esse mecanismo deve lidar ainda com questões de restrição de privacidade envolvendo os usuários. Além de garantir que os dados coletados sejam verdadeiros[50].

Outra dificuldade encontrada nesta área está relacionada as múltiplas fontes de dados urbanos, em aplicações desse tipo é necessário extrair informações de diversas fontes, com dados distintos (Por exemplo, vídeos, imagens e textos). Os algoritmos devem lidar com uma grande quantidade de dados gerados por vários tipos de LBSN, dessa forma, se faz necessário saber como integrar essas fontes heterogêneas de dados, como agregar ou até mesmo desenvolver algoritmos para filtrar tais dados.

A localização desempenha um papel importante nas aplicações citadas, sendo um dos seus principais problemas a ser resolvidos: Como prover dados de posicionamento a qualquer momento e lugar de uma forma mais acurada e confiável? No cenário da computação urbana, a natureza do deslocamento em alta velocidade dos veículos causa mudanças rápidas e constantes na topologia das redes veiculares, o que provoca a disseminação de informações desatualizadas, esse é outro ponto que deve ser levado em consideração quando são propostas aplicações neste sentido.

Aplicações críticas, como as associadas a veículos autônomos, podem exigir dados de localização com baixas taxas de erro. Erros de localização em GPS estão em torno de 10 a 30 metros[36], o que cria a necessidade de aplicar técnicas para reduzir esses erros, como Map Matching e Dead Reckoning. Entretanto, ainda é um desafio pertinente prover serviços de localização com uma alta acurácia e em todos os cenários, como tuneis por exemplo[19].

Por fim, nos casos das aplicações relacionadas a segurança urbana, existe a necessidade de levar em consideração os dados disponíveis para propor as rotas mais seguras para os usuários. A maioria dos sistemas propostos foca apenas no menor caminho possível, podendo levar os veículos a lugares perigosos. Nesse contexto é necessário unir os dados de diferentes fontes para achar a melhor rota que combine segurança e tempo.

Outro desafio trata como fazer o cálculo de rotas seguras e eficientes sem adicionar um tempo maior de processamento e evitar congestionamentos. Esse fator depende do número de entidades que serão roteadas (carros, motos, ônibus, etc), o que pode aumentar o tempo necessário para processar todas as informações coletadas e sugerir as melhores rotas[14].

Existem outros desafios relacionados a aplicações específicas e podem ser citados como o processamento em tempo real de grandes quantidades de dados, interação com usuários ou um grupo de usuários, a interação com o ambiente em que estas aplicações estão inseridas, além de uma falta de testbeds, o que torna difícil compreender o real comportamento e desafios das aplicações [49].

5 Um Estudo de Caso: Computação Urbana na Prática

A fim de aumentar a familiaridade da audiência com o arcabouço de computação urbana, apresentamos um estudo de caso que explora a utilização de dados urbanos disponíveis em plataformas online publicamente para identificar fluxos de mobilidade nas cidades, com o intuito de oferecer opções de rotas multimodais para os cidadãos. Para isso, utilizamos como cenário a cidade de São Paulo, SP, motivado por diversos fatores, tais como problemas recorrentes de congestionamento que afeta diariamente a vida dos pessoas que moram ou visitam São Paulo e a necessidade das pessoas em percorrer grandes distâncias para deslocarem-se entre suas casas e trabalhos (ou escolas, lugares de lazer, etc), além de haver uma grande quantidade de dados disponíveis que são cruciais para aplicação.

Esta seção está organizada como se segue. A Subseção 5.1 apresenta o arcabouço utilizado para identificação de fluxos de mobilidade em São Paulo. Baseado nos fluxos identificados, a Subseção 5.2 descreve o passo chave da aplicação, o algoritmo de sugestão de rotas multimodais, que além das rotas multimodais também calcula rotas “tradicionais”, i.e., que consideram apenas transporte público ou apenas veículo privado como meio de transporte, para possibilitar a realização de uma análise comparativa entre as rotas sugeridas. Como o custo financeiro para percorrer uma rota com um veículo privado pode variar de acordo com o tipo de veículo, simplificamos ao considerar que é utilizado o serviço de transporte da empresa Uber Technologies Inc., assim, os resultados apresentados utilizam a palavra “Uber” para indicar que o meio de transporte considerado é o veículo privado. Também é apresentado um algoritmo para geração de visualização das rotas sugeridas em mapas 2D interativos. A Subseção 5.3 demonstra a vantagem em se utilizar as rotas multimodais em comparação as rotas tradicionais ao conseguir um bom equilíbrio em relação as métricas de custo financeiro (preço), tempo de viagem estimado (duração) e distância percorrida a pé. Todos os materiais, algoritmos, ferramentas e tutoriais para instalação e execução da aplicação pode ser acessado no Github666https://github.com/diegopso/hybrid-urban-routing-tutorial-sbrc.

5.1 Identificação de Fluxos Urbanos

Como já supracitado, há várias maneiras para extração da mobilidade das pessoas nas cidades (i.e., os fluxos urbanos) a partir de dados urbanos. Entre elas, temos o SMAFramework [46], um arcabouço para análise de dados de mobilidade urbana que disponibiliza um algoritmo que permite o agrupamento de viagens urbanas em fluxos de mobilidade e classifica esses fluxos em tendências e secundários. O SMAFramework utiliza o algoritmo HDBSCAN para identificar zonas funcionais nos inícios e finais de viagens da base de dados, utilizadas para computação e classificação de fluxos entre as zonas funcionais. Aqui, o SMAFramework é utilizado como uma “caixa preta” para identificação dos principais fluxos, onde é detalhado o processo para aquisição e processamento da instância de entrada para o algoritmo e a utilização da saída gerada (os fluxos urbanos), mas o funcionamento do SMAFramework é explicado em alto nível. É recomendado que o leitor explore não apenas o SMAFramework, mas também outras abordagens que efetuem a identificação de fluxos urbanos (ou desenvolva sua própria solução), os quais podem ser facilmente adequados para serem utilizados em conjunto com essa aplicação.

5.1.1 Aquisição de dados

O primeiro passo é coletar uma grande quantidade de dados urbanos que possibilitem a identificação da mobilidade urbana. Como visto anteriormente, as redes sociais baseada em localização (LBSNs) são uma rica fonte de dados geográficos compartilhados pelos usuários em tempo real. Por isso, é utilizado o Twitter como fonte de dados, que é uma grande LBSN e oferece aos usuários o serviço de microblogging online, onde eles podem compartilhar mensagens curtas (máximo de 280 caracteres) conhecidas como tweets. Por meio da API do Twitter é possível coletar tweets de áreas de interesse, onde parte desse conjunto de tweets é geo-localizado. Como a maioria das APIs, a API do twitter também impõem aos seus utilizadores uma série de restrições777https://developer.twitter.com/en/docs/basics/rate-limiting.html que devem ser consideradas durante o processo de aquisição de tweets.

Um objeto tweet 888https://developer.twitter.com/en/docs/tweets/data-dictionary/overview/tweet-object.html coletado por meio da API (renderizado em JSON), é composto por uma longa lista de atributos como o do tweet, o conteúdo da mensagem (), informações sobre o usuário (), o tempo em que o tweet foi criado em mili-segundos (, onde o fuso horário é UTC), as coordenadas do local se o tweet é geolocalizado (), entre outros. Em geral, o tamanho de um tweet renderizado é cerca de 5KB, mas como são coletados centenas de milhares de tweets, a quantidade de espaço para armazenamento pode facilmente extrapolar as dezenas e até centenas de GB. Por isso, o conjunto de dados de tweets geo-localizados disponibilizado para o minicurso (chamado de geotagged_tweets_sp.csv), contém apenas os atributos requeridos pelo SMAFramework, a saber: um id aleatório para o usuário (), as coordenadas (latitude – – e longitude – ) e o tempo de criação do tweet (), o que reduz drasticamente a quantidade de espaço requerida (de 3,3GB para 44MB).

5.1.2 Relacionamento e Filtro de Dados

De posse do dataset geotagged_tweets_sp.csv, o próximo passo consiste em relacionar os tweets existentes em fluxos urbanos. Para isso, o primeiro passo é agrupar os tweets de acordo com o atributo , onde cada grupo é composto por tweets compartilhados por um mesmo usuário. Então, para cada grupo são criados links entre os tweets, indicando uma sequência temporal entre os tweets. Por exemplo, suponha que o usuário cujo tenha compartilhado 10 tweets ao longo de um dia, denotado por . Assim, um link entre dois tweets, por exemplo, , onde , indica que o tweet foi compartilhado subsequente ao tweet , sendo os tweets e contíguos nessa sequência temporal.

Note que ao criar tais links, algumas dessas conexões podem não ser interessantes para nossa aplicação. Por exemplo, conexões entre dois tweets que foram compartilhados em dias diferentes potencialmente não indica um fluxo válido, uma vez que o usuário pode ter se deslocado para diferentes áreas na janela temporal entre os dois tweets, não implicando em fluxo direto entre as localizações em que os tweets foram compartilhados. Para evitar esse tipo de ruído e alguns outros, foram definidos e utilizados filtros, como apresenta a Tabela 1. Essa tabela também mostra para cada passo, a descrição e a quantidade de dados restantes no conjunto de dados, sendo que para o passo Inicial (linha 1), a quantidade é igual o número total de tweets e, para as demais linhas, a quantidade é referente ao total de conexões.

Passo Descrição Quantidade
Inicial
Todos os tweets analisados,
ainda não agrupados
690139
Conexão de tweets
Tweets conectados em
sequências temporais
588760
Filtros Seleção de fluxos diários
Filtro de conexões com datas
inicial e final distintas
94411
Restrição de distância mínima
Filtro de conexões com distância
percorrida menor que 100m
40612
Restrição de duração mínima
Filtro de conexões com duração
menor que 1 segundo
40567
Restrição de velocidade
Filtro de conexões com velocidade menor
que 2 Km/h e maior que 100 Km/h
15675
Tabela 1: Passos para seleção de fluxos válidos.

Feito isso, a instância de entrada para o algoritmo do SMAFramework está pronta. A partir de todos os fluxos identificados, o SMAFramework determina os principais fluxos de mobilidade, como mostra a Figura 8. Ao todo, foram identificados 12 fluxos de mobilidade urbana em São Paulo, SP, a partir dos tweets analisados. Como podemos observar, a maioria desses fluxos estão concentrados em quatro regiões, que são os bairros: Jardim Itatinga, Olímpico em São Caetano do Sul, Jardim das Perdizes e Aclimação. Por isso, somente os fluxos entre esses bairros serão considerados para os próximos passos da aplicação (um total de 7 fluxos). Alternativamente, todos os fluxos identificados, além dos 12 resultantes do SMAFramework, poderiam ser avaliados individualmente, contudo, tal análise demandaria muitos recursos computacionais e quantidade de tempo.

Figura 8: Principais fluxos identificados.

5.2 Rotas Multimodais

Para percorrer um dado fluxo, podemos considerar três opções de meio de transporte diferentes, são eles: a pé, transporte público (i.e., metrô e ônibus) e veículo privado (nesse caso, Uber). Assim, para cada fluxo de viagem, são calculadas rotas e gerados mapas considerando os seguintes tipos de mobilidade: prioritariamente com transporte público (rotas de cor vermelha), onde alguns trechos da rota possivelmente são realizados a pé (rotas em verde) devido a transição entre as estações; utilizando o serviço de Uber; e as rotas multimodais, onde as três opções de meio de transporte podem ser combinadas de diferentes maneiras. Aqui, apresentamos duas combinações possíveis de rotas multimodais, uma sendo prioritariamente com o transporte público, denotada por “Híbrida 1”, e a outra sendo prioritariamente com o Uber, denotada por “Híbrida 2”. No entanto, é importante ressaltar que os algoritmos desenvolvidos calculam e geram diversas opções de rotas multimodais. Além disso, como a maioria dos fluxos identificados são demasiadamente longos para serem percorridos totalmente a pé, esse meio de transporte é apenas considerado em conjunto com outros meios de transporte.

5.2.1 Cálculo de Rotas

Dado os pontos de origem e destino de algum fluxo, o Algoritmo 1 descreve os principais passos para calcular diversas opções de rotas multimodais. Inicialmente, o algoritmo inicializa as seguintes variáveis (linhas 1–4): que armazena uma rota entre a origem e o destino, considerando o meio de transporte como sendo via veículo privado (carro), e é utilizada para determinar as condições de tráfego no trajeto. Note que várias opções de rota podem ser utilizadas como ponto de partida para avaliar outros trajetos com mesma origem e destino. Aqui, essa rota foi determinada por meio da TomTom Routing API999https://developer.tomtom.com; as listas e , que vão armazenar os pontos para transição de meios de transporte; A lista que irá armazenar todas as opções de rotas multimodais. É importante ressaltar que o início e o fim da rota também foram adicionados como candidatados à transição (linhas 5–6), isso é feito para obter-se também as rotas tradicionais como opções.

Feito isso, o algoritmo percorre todos as instruções na rota original, i.e., as orientações fornecidas aos motoristas para chegar ao seu destino, com o intuito de identificar os trechos congestionados na rota e adicionar seus inícios e finais às listas de pontos de transição (laço das linhas 7–12). Uma vez identificados os pontos de transição, o algoritmo realiza as combinações candidatas de início e fim – – para compor diferentes rotas multimodais com o apoio das APIs de cálculo de rotas do Google Directions, TomTom Routing e Uber. A API do Google Directions foi usada para avaliar as possíveis rotas, ou trechos, que utilizam transporte público; essa API considera todas as opções de transporte público existente, como metrô, ônibus, tram, etc. A API TomTom Routing é utilizada para calcular a rota referência para selecionar os pontos de transição; ela foi escolhida pois junto a rota traz informações sobre o congestionamento das vias. Por fim, a API do Uber foi utilizada para estimar o valor e o tempo de espera das rotas que utilizam esse meio de transporte. Todas as opções são concatenadas a lista de opções da rota a fim de serem retornadas como saída do algoritmo (laço das linhas 13–18).

Entrada : Origem e destino de um fluxo .
Saída : Lista com as opções de rotas multimodais.
1
2
3
4
5
6
7 foreach do
8       if then
9            
10            
11            
12       end if
13      
14 end foreach
15 foreach do
16       foreach do
17            
18            
19       end foreach
20      
21 end foreach
Algoritmo 1 Encontrar opções de rotas multimodais.

5.2.2 Visualização de Rotas

Com as opções de rotas calculadas para todos os fluxos estudados, falta gerar os mapas com as rotas sugeridas. O algoritmo 2 mostra os principais passos para geração de mapas 2D interativos. Inicialmente, o algoritmo inicializa o mapa (linha 1), que será gerado como saída com a rota sugerida (informada como entrada do algoritmo). Cada trecho da rota (chamado de step) calculado pelo algoritmo 1, possuí uma série de informações, tais como a origem, o destino, o tempo de viagem e, os mais importantes para geração da visualização, a overview polyline e o modo de transporte. De acordo com o Google Maps101010https://developers.google.com/maps/documentation/directions/intro, a overview polyline é uma representação codificada de um caminho aproximado da rota sugerida e, ao ser decodificada111111https://developers.google.com/maps/documentation/utilities/polylinealgorithm, é possível obter uma sequência de pontos (coordenadas) que formam a rota referente ao step. Assim, o algoritmo primeiro decodifica a overview polyline e armazena em uma lista de coordenadas (linha 3). Então, esta lista de coordenadas é plotada no mapa, onde a cor da linha que representa este caminho é definida de acordo com o meio de transporte e a largura da linha pode ser definida por um valor inteiro (linha 4). Ao final, todos os trechos da rota são plotados no mapa, compondo a rota total com a coloração indicando o meio de transporte em cada trecho. Como resultado, são apresentados a seguir os mapas com as quatro opções de rotas para cada fluxo.

entrada.
saída : Mapa com a rota sugerida.
// Inicializa o mapa, de acordo com o cenário (neste caso, São Paulo).
1 ;
2 foreach do
       // Decodifica a
3       ;
       // Adiciona o caminho ao mapa, onde a cor é definida pelo meio de transporte.
4       ;
5      
6 end foreach
Algoritmo 2 Visualização de rotas.
(a) Transporte público.
(b) Uber.
(c) Híbrida 1.
(d) Híbrida 2.
Figura 9: Fluxo 1 – Do bairro Jardim Itatinga para o bairro Olímpico, São Caetano do Sul.
(a) Transporte público.
(b) Uber.
(c) Híbrida 1.
(d) Híbrida 2.
Figura 10: Fluxo 2 – Do bairro Olímpico, São Caetano do Sul, para o bairro Jardim Itatinga.
(a) Transporte público.
(b) Uber.
(c) Híbrida 1.
(d) Híbrida 2.
Figura 11: Fluxo 3 – Do bairro Jardim Itatinga para o bairro Jardim das Perdizes.
(a) Transporte público.
(b) Uber.
(c) Híbrida 1.
(d) Híbrida 2.
Figura 12: Fluxo 4 – Do bairro Olímpico, São Caetano do Sul, para o bairro Jardim das Perdizes.
(a) Transporte público.
(b) Uber.
(c) Híbrida 1.
(d) Híbrida 2.
Figura 13: Fluxo 5 – Do bairro Jardim das Perdizes para o bairro Olímpico, São Caetano do Sul.
(a) Transporte público.
(b) Uber.
(c) Híbrida 1.
(d) Híbrida 2.
Figura 14: Fluxo 6 – Do bairro Jardim das Perdizes para o bairro Aclimação.
(a) Transporte público.
(b) Uber.
(c) Híbrida 1.
(d) Híbrida 2.
Figura 15: Fluxo 7 – Do bairro Aclimação para o bairro Jardim das Perdizes.

5.3 Análise Comparativa das Rotas

Considerando as métricas de distância (total e percorrida a pé), preço, tempo estimado de viagem e tempo de espera, realizamos uma análise comparativa das rotas estudadas. Inicialmente, a Figura 16 mostra os valores obtidos para essas métricas considerando as rotas apresentadas nas Figuras 915. Com relação a distância (Figura 16(a)), os valores obtidos pelas rotas multimodais Híbrida 1 e Híbrida 2 são muito semelhantes as rotas Transporte Público e Uber, respectivamente, para todos os fluxos. Este resultado era esperado, uma vez que ambas as rotas multimodais são compostas em sua maioria por um desses dois tipos de meio de transporte. Diferentemente, as outras três métricas apresentam variações significativas na maioria dos fluxos quando são utilizadas rotas multimodais em relação as rotas tradicionais. Por exemplo, o tempo estimado de viagem (Figura 16(b)) das rotas Híbrida 2 aumentam consideravelmente em relação as rotas Uber para os fluxos 1, 2, 3, 6 e 7, refletindo o impacto em também ser utilizado o transporte público em conjunto com o Uber, ainda que o modo de transporte Uber seja majoritário nas rotas Híbrida 2. Similarmente, o tempo estimado de viagem das rotas Híbrida 1 diminuem significativamente para os fluxos 1 e 3 em relação as rotas Transporte Público, e, apesar de manter-se similar para os demais fluxos, note que é reduzida a distância percorrida a pé em todos os fluxos quando comparado esses dois tipos de rota. Em relação ao preço (Figura 16(c)) e ao tempo de espera (Figura 16(d)), é possível observar um relacionamento inverso entre essas métricas, i.e., quanto maior o preço a ser pago, menor é o tempo de espera e vice-versa. É importante ressaltar que foi considerado que o transporte público tem preço R$ 4,30, que é referente a taxa cobrada por trecho na cidade de São Paulo, podendo ser diferente para outros municípios. É possível observar que houveram duas exceções a esse relacionamento, os fluxos 2 e 3, onde a rota Híbrida 1 tem o preço e tempo de espera inferior ao da rota Híbrida 2 em ambos os fluxos. Situações como essa se deve ao momento em que os valores para as métricas foram calculados, onde pode haver uma boa sincronia entre os serviços sem requerer que o usuário aguarde muito entre um meio de transporte e outro. Para evitar casos pontuais como esse, pode-se realizar um experimento empírico, executando o algoritmo 1 em momentos distintos do dia (e.g., manhã, tarde e noite) ao longo de vários dias (e.g., um mês). Assim, é possível obter valores médios para as métricas sem que eventos esporádicos tenham impactos significativos nesses valores.

(a) Distância.
(b) Tempo estimado de viagem.
(c) Preço.
(d) Tempo de espera.
Figura 16: Fluxo 3 – Do bairro Jardim Itatinga para o bairro Jardim das Perdizes.
(a) Preço
(b) Tempo estimado de viagem.
(c) Tempo de espera.
(d) Distância.
(e) Distância percorrida a pé.
Figura 17: Desempenho médio das rotas multimodais e tradicionais, considerando os fluxos de 1 à 7.

Também é avaliado o impacto médio do uso de rotas multimodais (Híbrida 1 e 2) em comparação com as rotas tradicionais (Transporte Público e Uber) em todos os fluxos estudados, como mostra a Figura 17. Como podemos observar, com exceção ao preço, as rotas multimodais são mais viáveis do que as rotas com Transporte Público em todas as demais métricas, onde as principais vantagens são a redução do tempo de viagem médio (cerca de 23 minutos menor) e a redução da distância percorrida a pé. Apesar das rotas com Uber ter a clara vantagem de não ser necessário realizar deslocamentos a pé e, ainda, ter baixo tempos de espera e de viagem quando comparado com as demais, o preço pode ser um fator crucial na escolha de muitos usuários, tornando esse tipo de rota inviável já que, na média, são cerca de 2 vezes mais caras que as rotas multimodais. Desta forma, pode-se concluir que as rotas multimodais sugeridas pela aplicação alcançam um bom desempenho, sendo mais uma opção para o usuário.

O trabalho Hybrid Context-Aware Multimodal Routing [45] realiza experimentos similares aos realizados aqui, onde o cenário utilizado é a cidade de Nova Iorque, NY, EUA, e propõem uma função de otimização para calcular a experiência do usuário de acordo com as mesmas métricas apresentadas nesta seção, com o intuito de apoiar no processo de tomada de decisão. Aqui, optamos em apresentar e analisar dois exemplos de rotas multimodais além das rotas tradicionais. Contudo, o único critério para seleção das rotas multimodais foi a composição delas, sendo os dois extremos possíveis (i.e., uma sendo a maior parte com o meio de transporte Uber e a outra com Transporte Público), mas nenhuma das métricas foi utilizada individualmente (e.g., a rota multimodal de menor preço ou tempo de viagem) ou em conjunto (e.g., a rota de menor preço e com menor distância percorrida a pé) para seleção dessas rotas. Caso o leitor tenha a intenção de selecionar as “melhores” rotas multimodais para serem comparadas com as rotas tradicionais, métodos de otimização multiobjetivos devem ser explorados e incorporados à aplicação.

6 Conclusão

Devido ao expressivo volume de dados gerados pelos espaços urbanos, bem como nos avanços da tecnologia da informação, estamos diante de uma oportunidade sem precedentes para estudo da Computação Urbana. Diante disso, este minicurso introduziu os fundamentos da Computação Urbana e apresentou os meios necessários para desenvolver uma aplicação nessa área. Para isso, explorou os conceitos que englobam uma visão geral dos trabalhos existentes, os desafios e as perspectivas futuras nessa área em questão. Isso foi útil para apresentar as tendências e ferramentas tipicamente empregadas para o desenvolvimento das aplicações com base na Computação Urbana.

Referências

  • [1] A. T. Akabane, R. Immich, E. R. Madeira, and L. A. Villas (2018) IMOB: an intelligent urban mobility management system based on vehicular social networks. In 2018 IEEE Vehicular Networking Conference (VNC), pp. 1–8. Cited by: §2.4, §2.4, Figura 7, §3.3, §3.3.
  • [2] A. T. Akabane, R. Immich, R. W. Pazzi, E. R. Madeira, and L. A. Villas (2018) TRUSTed: a distributed system for information management and knowledge distribution in vanets. In 2018 IEEE Symposium on Computers and Communications (ISCC), pp. 1–6. Cited by: §2.4.
  • [3] P. Barnaghi, W. Wang, C. Henson, and K. Taylor (2012-01) Semantics for the internet of things: early progress and back to the future. Int. J. Semant. Web Inf. Syst. 8 (1), pp. 1–21. External Links: ISSN 1552-6283, Document, Link Cited by: §2.3.
  • [4] P. Bellavista and A. Zanni (2017) Feasibility of fog computing deployment based on docker containerization over raspberrypi. In Proceedings of the 18th International Conference on Distributed Computing and Networking, ICDCN ’17, New York, NY, USA, pp. 16:1–16:10. External Links: Document, ISBN 978-1-4503-4839-3 Cited by: §2.2.
  • [5] S. M. Birari and S. Iyer (2005) Mitigating the reader collision problem in rfid networks with mobile readers. In 2005 13th IEEE International Conference on Networks Jointly held with the 2005 IEEE 7th Malaysia International Conf on Communic, Vol. 1, pp. 6–pp. Cited by: §3.1.
  • [6] L. F. Bittencourt, M. M. Lopes, I. Petri, and O. F. Rana (2015-11) Towards virtual machine migration in fog computing. In 2015 10th International Conference on P2P, Parallel, Grid, Cloud and Internet Computing (3PGCIC), pp. 1–8. Cited by: §2.2.
  • [7] L. Bittencourt, R. Immich, R. Sakellariou, N. Fonseca, E. Madeira, M. Curado, L. Villas, L. da Silva, C. Lee, and O. Rana (2018) The internet of things, fog and cloud continuum: integration and challenges. Internet of Things. External Links: ISSN 2542-6605, Document, Link Cited by: §2.1.
  • [8] C. C. Byers (2017) Architectural imperatives for fog computing: use cases, requirements, and architectural techniques for fog-enabled iot networks. IEEE Communications Magazine 55 (8), pp. 14–20. External Links: ISSN 0163-6804, Document Cited by: §2.1.
  • [9] C. Celes, F. A. Silva, A. Boukerche, R. M. d. C. Andrade, and A. A. F. Loureiro (2017-12) Improving vanet simulation with calibrated vehicular mobility traces. IEEE Transactions on Mobile Computing 16 (12), pp. 3376–3389. External Links: Document, ISSN 1536-1233 Cited by: §4.1.
  • [10] N. Chen, Y. Chen, Y. You, H. Ling, P. Liang, and R. Zimmermann (2016) Dynamic urban surveillance video stream processing using fog computing. In 2016 IEEE second international conference on multimedia big data (BigMM), pp. 105–112. Cited by: §2.
  • [11] B. Confais, A. Lebre, and B. Parrein (2017) Performance analysis of object store systems in a fog and edge computing infrastructure. In Transactions on Large-Scale Data- and Knowledge-Centered Systems XXXIII, pp. 40–79. External Links: ISBN 978-3-662-55696-2 Cited by: §2.2.
  • [12] F. Cunha, G. Maia, C. Celes, D. Guidoni, F. de Souza, H. Ramos, and L. Villas (2017) Sistemas de transporte inteligentes: conceitos, aplicações desafios. Livro de Minicursos do Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos (SBRC’17). Cited by: §3.1, §4.2.
  • [13] M. Curado, H. Madeira, P. R. da Cunha, B. Cabral, D. P. Abreu, J. Barata, L. Roque, and R. Immich (2018) Internet of things. In Cyber Resilience of Systems and Networks, pp. 381–401. External Links: ISBN 978-3-319-77492-3, Document, Link Cited by: §2.1.
  • [14] A. M. De Souza, C. A. Brennand, R. S. Yokoyama, E. A. Donato, E. R. Madeira, and L. A. Villas (2017) Traffic management systems: a classification, review, challenges, and future perspectives. International Journal of Distributed Sensor Networks 13 (4), pp. 1550147716683612. Cited by: §3.3, §4.2.
  • [15] A. M. de Souza, L. L. C. Pedrosa, L. C. Botega, and L. Villas (2018-06) Itssafe: An Intelligent Transportation System for Improving Safety and Traffic Efficiency. In 2018 IEEE 87th Vehicular Technology Conference (VTC Spring), pp. 1–7. External Links: Document, ISBN 978-1-5386-6355-4, Link Cited by: 3rd item.
  • [16] O. Dib, M. Manier, and A. Caminada (2015) Memetic algorithm for computing shortest paths in multimodal transportation networks. Transportation Research Procedia 10, pp. 745–755. Cited by: §3.1.
  • [17] D. Duque, L. Lozano, and A. L. Medaglia (2015) An exact method for the biobjective shortest path problem for large-scale road networks. European Journal of Operational Research 242 (3), pp. 788–797. Cited by: §3.1.
  • [18] D. Estrin, K. M. Chandy, R. M. Young, L. Smarr, A. Odlyzko, D. Clark, V. Reding, T. Ishida, S. Sharma, V. G. Cerf, U. HÃlzle, L. A. Barroso, G. Mulligan, A. Hooke, and C. Elliott (2010-01) Participatory sensing: applications and architecture [internet predictions]. IEEE Internet Computing 14 (1), pp. 12–42. External Links: ISSN 1089-7801, Document Cited by: 4th item.
  • [19] K. Golestan, F. Sattar, F. Karray, M. Kamel, and S. Seifzadeh (2015) Localization in vehicular ad hoc networks using data fusion and v2v communication. Computer Communications 71, pp. 61–72. Cited by: §4.2.
  • [20] O. C. A. W. Group et al. (2017) OpenFog reference architecture for fog computing. OPFRA001 20817, pp. 162. Cited by: §2.1.
  • [21] C. Guo, C. S. Jensen, and B. Yang (2014) Towards total traffic awareness. SIGMOD Record 43 (3), pp. 18–23. Cited by: §2.
  • [22] B. Heintz, A. Chandra, R. K. Sitaraman, and J. Weissman (2016-07) End-to-end optimization for geo-distributed mapreduce. IEEE Transactions on Cloud Computing 4 (3), pp. 293–306. External Links: ISSN 2168-7161 Cited by: §2.2.
  • [23] C. Hung, L. Golubchik, and M. Yu (2015) Scheduling jobs across geo-distributed datacenters. In Proceedings of the Sixth ACM Symposium on Cloud Computing, SoCC ’15, New York, NY, USA, pp. 111–124. External Links: Document, ISBN 978-1-4503-3651-2 Cited by: §2.2.
  • [24] A. Idri, M. Oukarfi, A. Boulmakoul, K. Zeitouni, and A. Masri (2017) A new time-dependent shortest path algorithm for multimodal transportation network. Procedia Computer Science 109, pp. 692–697. Cited by: §3.1.
  • [25] R. Immich, E. Cerqueira, and M. Curado (2015-04) Adaptive qoe-driven video transmission over vehicular ad-hoc networks. In 2015 IEEE Conference on Computer Communications Workshops (INFOCOM WKSHPS), Vol. , pp. 227–232. External Links: Document, ISSN Cited by: §2.1.
  • [26] R. Immich, E. Cerqueira, and M. Curado (2018-02-21) Efficient high-resolution video delivery over vanets. Wireless Networks. External Links: ISSN 1572-8196, Document, Link Cited by: §2.1.
  • [27] V. Issarny, G. Bouloukakis, N. Georgantas, F. Sailhan, and G. Texier (2018) When service-oriented computing meets the iot: a use case in the context of urban mobile crowdsensing. In European Conference on Service-Oriented and Cloud Computing, pp. 1–16. Cited by: §2.4.
  • [28] S. Ji, P. Mittal, and R. Beyah (2017-Secondquarter) Graph data anonymization, de-anonymization attacks, and de-anonymizability quantification: a survey. IEEE Communications Surveys Tutorials 19 (2), pp. 1305–1326. External Links: Document, ISSN 1553-877X Cited by: §4.1.
  • [29] S. Kim (2015) How foursquare and other apps guess what you want to eat. Eater.com. Note: https://goo.gl/icFBrH Cited by: §3.2.
  • [30] N. Krasnogor and J. Smith (2005) A tutorial for competent memetic algorithms: model, taxonomy, and design issues.

    IEEE Transactions on Evolutionary Computation

    9 (5), pp. 474–488.
    Cited by: §3.1.
  • [31] R. Meneguette, G. Fillho, L. Bittencourt, J. Ueyama, and L. Villas (2016) A solution for detection and control for congested roads using vehicular networks. IEEE Latin America Transactions 14 (4), pp. 1849–1855. Cited by: §3.1.
  • [32] R. I. Meneguette, P. Geraldo Filho, D. L. Guidoni, G. Pessin, L. A. Villas, and J. Ueyama (2016) Increasing intelligence in inter-vehicle communications to reduce traffic congestions: experiments in urban and highway environments. PLoS one 11 (8), pp. e0159110. Cited by: §3.1.
  • [33] D. L.L. Moura, R. S. Cabral, T. Sales, and A. L.L. Aquino (2018)

    An evolutionary algorithm for roadside unit deployment with betweenness centrality preprocessing

    .
    Future Generation Computer Systems 88, pp. 776 – 784. External Links: ISSN 0167-739X, Document, Link Cited by: §2.3.
  • [34] W. Mueller, T. H. Silva, J. M. Almeida, and A. A. Loureiro (2017) Gender matters! analyzing global cultural gender preferences for venues using social sensing.

    EPJ Data Science

    6 (1), pp. 5.
    External Links: ISSN 2193-1127, Document, Link Cited by: Figura 6, §3.2, §3.2, §3.2.
  • [35] D. Naboulsi and M. Fiore (2013) On the instantaneous topology of a large-scale urban vehicular network: the cologne case. In Proceedings of the fourteenth ACM international symposium on Mobile ad hoc networking and computing, pp. 167–176. Cited by: §2.3.
  • [36] P. Nascimento, B. Kimura, D. Guidoni, and L. Villas (2018) An integrated dead reckoning with cooperative positioning solution to assist gps nlos using vehicular communications. Sensors 18 (9), pp. 2895. Cited by: §4.2.
  • [37] Z. Ning, J. Huang, and X. Wang (2019) Vehicular fog computing: enabling real-time traffic management for smart cities. IEEE Wireless Communications 26 (1), pp. 87–93. Cited by: §4.2.
  • [38] A. I. J. T. Ribeiro, T. H. Silva, F. Duarte-Figueiredo, and A. A.F. Loureiro (2014) Studying traffic conditions by analyzing foursquare and instagram data. In Proceedings of the 11th ACM Symposium on Performance Evaluation of Wireless Ad Hoc, Sensor, & Ubiquitous Networks, PE-WASUN ’14, New York, NY, USA, pp. 17–24. External Links: Document, ISBN 978-1-4503-3025-1, Link Cited by: 4th item.
  • [39] M. Riveiro, M. Lebram, and M. Elmer (2017) Anomaly detection for road traffic: a visual analytics framework. IEEE Transactions on Intelligent Transportation Systems 18 (8), pp. 2260–2270. Cited by: §3.3, §3.3.
  • [40] G. P. Rocha Filho, J. R. T. Neto, A. Valejo, R. I. Meneguette, L. A. Villas, and J. Ueyama (2018) Um sistema de controle neuro-fog para infraestruturas residenciais via objetos inteligentes. In Anais do XXXVI Simpósio Brasileiro de Redes de Computadores e Sistemas Distribuídos, Cited by: §2.
  • [41] G. P. Rocha Filho, J. Ueyama, L. Villas, and A. P. S. Seraphini (2013-05) NodePM: um sistema de monitoramento remoto do consumo de energia eletrica via redes de sensores sem fio. In Simposio Brasileiro de Redes de Computadores e Sistemas Distribuidos (SBRC), sociedade Brasileira de Computacao (SBC) (Ed.), Vol. 31, pp. 17–30. Cited by: §2.
  • [42] G. P. Rocha Filho, L. A. Villas, H. Freitas, A. Valejo, D. L. Guidoni, and J. Ueyama (2018) ResiDI: towards a smarter smart home system for decision-making using wireless sensors and actuators. Computer Networks 135, pp. 54 – 69. External Links: ISSN 1389-1286, Document, Link Cited by: §1.
  • [43] G. P. Rocha Filho, L. A. Villas, V. P. Gonçalves, G. Pessin, A. A.F. Loureiro, and J. Ueyama (2019) Energy-efficient smart home systems: infrastructure and decision-making process. Internet of Things 5, pp. 153 – 167. External Links: ISSN 2542-6605, Document, Link Cited by: §2.
  • [44] G. P. Rocha Filho, L. Yukio Mano, A. Demetrius Baria Valejo, L. Aparecido Villas, and J. Ueyama (2018-01) A low-cost smart home automation to enhance decision-making based on fog computing and computational intelligence. IEEE Latin America Transactions 16 (1), pp. 186–191. External Links: Document, ISSN 1548-0992 Cited by: §2.
  • [45] D. O. Rodrigues, J. T. Fernandes, M. Curado, and L. A. Villas (2018-11) Hybrid context-aware multimodal routing. In 2018 21st International Conference on Intelligent Transportation Systems (ITSC), pp. 2250–2255. External Links: Document, ISSN 2153-0017 Cited by: §5.3.
  • [46] D. O. Rodrigues, A. Boukerche, T. H. Silva, A. A.F. Loureiro, and L. A. Villas (2018) Combining taxi and social media data to explore urban mobility issues. Computer Communications 132, pp. 111 – 125. External Links: ISSN 0140-3664, Document, Link Cited by: 4th item, §5.1.
  • [47] E. S. Gama, R. Immich, and L. F. Bittencourt (2018-12) Towards a multi-tier fog/cloud architecture for video streaming. In 2018 IEEE/ACM International Conference on Utility and Cloud Computing Companion (UCC Companion), pp. 13–14. External Links: Document Cited by: §2.2.
  • [48] S. Sakr, A. Liu, D. M. Batista, and M. Alomari (2011-Third) A survey of large scale data management approaches in cloud environments. IEEE Communications Surveys Tutorials 13 (3), pp. 311–336. External Links: ISSN 1553-877X Cited by: §2.2.
  • [49] E. F. Z. Santana, A. P. Chaves, M. A. Gerosa, F. Kon, and D. S. Milojicic (2018) Software platforms for smart cities: concepts, requirements, challenges, and a unified reference architecture. ACM Computing Surveys (CSUR) 50 (6), pp. 78. Cited by: §4.2.
  • [50] F. A. Santos, T. H. Silva, T. Braun, A. A. Loureiro, and L. A. Villas (2017) Towards a sustainable people-centric sensing. In 2017 IEEE International Conference on Communications (ICC), pp. 1–6. Cited by: §4.2.
  • [51] F. A. Santos, T. H. Silva, A. A. F. Loureiro, and L. A. Villas (2018) Uncovering the Perception of Urban Outdoor Areas Expressed in Social Media. In Proc. of IEEE ACM International Conference on Web Intelligence (WI), Santiago, Chile. Cited by: 4th item.
  • [52] A. Sedeno-Noda and A. Raith (2015) A dijkstra-like method computing all extreme supported non-dominated solutions of the biobjective shortest path problem. Computers & Operations Research 57, pp. 83–94. Cited by: §3.1.
  • [53] W. Shi, J. Cao, Q. Zhang, Y. Li, and L. Xu (2016)

    Edge computing: vision and challenges

    .
    IEEE Internet of Things Journal 3 (5), pp. 637–646. Cited by: §2.2.
  • [54] T. H. Silva, P. O. S. Vaz de Melo, J. M. Almeida, J. Salles, and A. A. F. Loureiro (2014-12) Revealing the city that we cannot see. ACM Trans. Internet Technol. 14 (4), pp. 26:1–26:23. External Links: ISSN 1533-5399, Document Cited by: §2.
  • [55] T. H. Silva, P. O. S. Vaz de Melo, A. Viana, J. M. Almeida, J. Salles, and A. A. F. Loureiro (2013-11) Traffic Condition is more than Colored Lines on a Map: Characterization of Waze Alerts. In Proc. of the International Conference on Social Informatics (SocInfo’13), Kyoto, Japan. Cited by: 4th item, §2.
  • [56] T. Silva, A. Viana, F. Benevenuto, L. Villas, J. Salles, A. Loureiro, and D. Quercia (2018) Urban Computing Leveraging Location-Based Social Network Data: a Survey. ACM Computing Surveys. External Links: Document, Link Cited by: Figura 1, §1, §1, §2.3, §2.3, §2.3, §2, §2, §3.2, §3.2.
  • [57] Silva (2016) Users in the urban sensing process: challenges and research opportunities. In Pervasive Computing: Next Generation Platforms for Intelligent Data Collection, pp. 45–95. External Links: ISBN 9780128036631 Cited by: §3.2, §4.1.
  • [58] C. Song, Z. Qu, N. Blumm, and A. Barabási (2010) Limits of predictability in human mobility. Science 327 (5968), pp. 1018–1021. Cited by: §2.2.
  • [59] X. Song, Q. Zhang, Y. Sekimoto, T. Horanont, S. Ueyama, and R. Shibasaki (2013) Modeling and probabilistic reasoning of population evacuation during large-scale disaster. In Proceedings of the 19th ACM SIGKDD international conference on Knowledge discovery and data mining, pp. 1231–1239. Cited by: §3.3.
  • [60] M. SteadieSeifi, N. P. Dellaert, W. Nuijten, T. Van Woensel, and R. Raoufi (2014) Multimodal freight transportation planning: a literature review. European journal of operational research 233 (1), pp. 1–15. Cited by: §3.1.
  • [61] T. Taleb, A. Ksentini, and P. Frangoudis (2017) Follow-me cloud: when cloud services follow mobile users. IEEE Transactions on Cloud Computing, pp. 1–1. External Links: ISSN 2168-7161 Cited by: §2.2.
  • [62] T. Taleb, S. Dutta, A. Ksentini, M. Iqbal, and H. Flinck (2017-03) Mobile edge computing potential in making cities smarter. Comm. Mag. 55 (3), pp. 38–43. External Links: ISSN 0163-6804, Document, Link Cited by: §2.1.
  • [63] D. Traynor and K. Curran (2012) Location-based social networks. From Government to E-Governance: Public Administration in the Digital Age, pp. 243. Cited by: §2.
  • [64] D. o. E. United Nations and S. Affairs (2018) World urbanization prospects: the 2018 revision, highlights. United Nations. External Links: ISBN 978-92-1-151517-6 Cited by: §1, §2.
  • [65] L. M. Vaquero and L. Rodero-Merino (2014-10) Finding your way in the fog: towards a comprehensive definition of fog computing. SIGCOMM Comput. Commun. Rev. 44 (5), pp. 27–32. External Links: ISSN 0146-4833, Document Cited by: §2.2.
  • [66] H. Wang, H. Wen, F. Yi, H. Zhu, and L. Sun (2017) Road traffic anomaly detection via collaborative path inference from gps snippets. Sensors 17 (3), pp. 550. Cited by: §3.3, §3.3.
  • [67] X. Wang, Z. Ning, X. Hu, E. C. Ngai, L. Wang, B. Hu, and R. Y. Kwok (2018) A city-wide real-time traffic management system: enabling crowdsensing in social internet of vehicles. IEEE Communications Magazine 56 (9), pp. 19–25. Cited by: §2.4.
  • [68] Z. Wen, R. Yang, P. Garraghan, T. Lin, J. Xu, and M. Rovatsos (2017-03) Fog orchestration for internet of things services. IEEE Internet Computing 21 (2), pp. 16–24. External Links: ISSN 1089-7801 Cited by: §2.2.
  • [69] H. Xu and B. Li (2013-04) Joint request mapping and response routing for geo-distributed cloud services. In 2013 Proceedings IEEE INFOCOM, pp. 854–862. External Links: ISSN 0743-166X Cited by: §2.2.
  • [70] L. D. Xu, W. He, and S. Li (2014-11) Internet of things in industries: a survey. IEEE Transactions on Industrial Informatics 10 (4), pp. 2233–2243. External Links: ISSN 1551-3203 Cited by: §2.
  • [71] T. Yabe, K. Tsubouchi, A. Sudo, and Y. Sekimoto (2016) A framework for evacuation hotspot detection after large scale disasters using location data from smartphones: case study of kumamoto earthquake. In Proceedings of the 24th ACM SIGSPATIAL International Conference on Advances in Geographic Information Systems, pp. 44. Cited by: §3.3.
  • [72] C. Yang, Q. Huang, Z. Li, K. Liu, and F. Hu (2017) Big data and cloud computing: innovation opportunities and challenges. International Journal of Digital Earth 10 (1), pp. 13–53. External Links: Document, https://doi.org/10.1080/17538947.2016.1239771 Cited by: §2.2.
  • [73] S. Yi, Z. Hao, Z. Qin, and Q. Li (2015) Fog computing: platform and applications. In 2015 Third IEEE Workshop on Hot Topics in Web Systems and Technologies (HotWeb), pp. 73–78. Cited by: §2.2.
  • [74] K. Zhang, Y. Mao, S. Leng, Y. He, and Y. Zhang (2017) Mobile-edge computing for vehicular networks: a promising network paradigm with predictive off-loading. IEEE Vehicular Technology Magazine 12 (2), pp. 36–44. Cited by: §4.2.
  • [75] K. Zheng, Q. Zheng, P. Chatzimisios, W. Xiang, and Y. Zhou (2015) Heterogeneous vehicular networking: a survey on architecture, challenges, and solutions. IEEE communications surveys & tutorials 17 (4), pp. 2377–2396. Cited by: §4.2.
  • [76] Y. Zheng (2015-03) Methodologies for cross-domain data fusion: an overview. IEEE Transactions on Big Data 1 (1), pp. 16–34. External Links: Document, ISSN 2332-7790 Cited by: §4.1.
  • [77] Y. Zheng, L. Capra, O. Wolfson, and H. Yang (2014) Urban computing: concepts, methodologies, and applications. ACM Transactions on Intelligent Systems and Technology (TIST) 5 (3), pp. 38. Cited by: §1, §1, §1, §1, §2.3, §3.2, §3.3.
  • [78] Y. Zheng (2011) Location-based social networks: users. In Computing with Spatial Trajectories, pp. 243–276. External Links: ISBN 978-1-4614-1629-6, Document, Link Cited by: §2, §3.2.
  • [79] Y. Zheng (2012) Tutorial on Location-Based Social Networks. In Proc. of WWW’12, Lyon, France. Cited by: §2.
  • [80] L. Zhu, F. R. Yu, Y. Wang, B. Ning, and T. Tang (2018) Big data analytics in intelligent transportation systems: a survey. IEEE Transactions on Intelligent Transportation Systems 20 (1), pp. 1–16. Cited by: §4.2.
  • [81] K. G. Zografos and K. N. Androutsopoulos (2008) Algorithms for itinerary planning in multimodal transportation networks. IEEE Transactions on Intelligent Transportation Systems 9 (1), pp. 175–184. Cited by: §3.1.