Description
The recently introduced concept of smart cities aims to
exploit synergies between their social component and technological
advances to improve the quality of life of residents,
while reducing expenditures. An issue of particular concern
in most cities rests on the safety of the residents. We propose
the notion of context aware safety, based on the intuition that
the safety of a place evolves in time and is a function of the
context, e.g., the people present at that location. Quantifying
the safety of a user based on her current context (e.g.,
location, time and neighboring demographic) can be used to
(i) make the user aware of her surroundings, (ii) provide safe
walking directions or (iii) provide context-aware smartphone
authentication protocols (e.g., more complex authentication
protocols in unsafe locations). |
![]() |
In this project, we introduce iSafe, an application to
make users aware of the safety of their surroundings, while
preserving the privacy of involved participants. iSafe relies
on information collected from the geosocial network Yelp
as well as Census data and a historical database of crime
incidents reported in the Miami-Dade county area since
2007. iSafe assigns static safety labels to Census-defined geographic
blocks.
A venue-centric variant of iSafe uses static block safety indexes to compute safety labels for Yelp users (yelpers). A yelper’s safety label is computed as an average over the safety indexes of the blocks containing the venues where the user wrote reviews. We then devise an algorithm, ProfilR, that, for a given venue, privately computes the distribution of the safety labels of the venue's reviewers. ProfilR is private, in the sense that neither the venue, nor the GSN provider (e.g., Yelp) is able to learn a mapping between users and safety labels.
iSafe consists of several components: (i) a web server, (ii)
a browser plugin running in the user’s browser and (iii) a
mobile application. The iSafe, running on mobile devices, can
not only retrieve location-centric safety labels from a central
server but also use snapshot Location Centric Profiles (LCPs) to aggregate the profiles
of co-located users and obtains a real-time image of the
safety of their location.
The iSafe plugin becomes active when the user navigates
to a Yelp venue page. For venue pages, the plugin parses
their HTML files and retrieves their reviews. We employ a
stateful approach, where the server’s DB stores all reviews
of venues previously accessed by users. The initial access to a venue is likely to be slower, requiring the plugin to access multiple
pages of reviews. Given the venue’s set of reviews, the web server
runs ProfilR to determine the distribution of the reviewers’
safety labels and identify the safety level of the venue. The server sends back the safety levels of the venue, which
the plugin displays in the browser.
Whenever a user U runs the iSafe mobile application, the app retrieves the current geolocation. After getting the geolocation, the iSafe app retrieves the
correct census block and also the corresponding safety index. Note that the
small crime dataset and safety profile of the user are being stored inside the mobile
to ensure user privacy. For each visited
location, one record (block,time,block safety index) is being stored in the
SQLite database. To calculate the
safety profile of user U, SP, the iSafe app retrieves all the records from the
history of visited locations and gets the average safety index. This SP is then being used during aggregated safety index calculation when all co-located users participate in a privacy preserving manner to provide their individual SP and gets the aggregated safety index for that location.
|
![]() iSafe plugin functionality for Yelp venue "Top Value Trading Inc" |
![]() ![]() iSafe mobile application (Android Version) |
We have implemented iSafe as a mobile application using Android and also as a browser plugin. We used the Google map API for the first one to facilitate the location based service employed by our approach. We have implemented iSafe as a plugin consisting of two components. First, on the server side,a web server and on the client side,a browser extension running in the user’s browser. We implemented the web server using Apache Tomcat 6.0.35. We implemented the browser extension for the Chrome browser using HTML,CSS and Javascript. We have classified user safety into five safety color labels, ranging from green (the safest) to red (the unsafest). For the aggragated safety index calculation, we implemented a server-client architecture based bluetooth communication protocol such that each device can act as a server and other connected devices act as clients per P2P communication. We use the SQLite version 3.4.0 database for storing history of user's visited locations along with timestamps.