Safe Step: A Real-time GPS Tracking and Analysis System for Criminal Activities using Ankle Bracelets

With overburdened and still-growing prisons, the move towards home incarceration is becoming increasingly popular as a less-expensive alternative, but ineffective management of the tracking system carries the risk that such individuals can commit new offenses.  Criminal justice systems use an ankle bracelet or similar device to transmit an offender's geo-located coordinates.  Our Safe Step system makes use of several Microsoft technologies, and particularly StreamInsight, to perform real-time analysis on location data streamed out of tracking devices, providing alerts when such data indicates movement patterns indicative of prohibited behavior.  The notable achievement in this project is that students of the University of Washington, Bothell, established a connection between academic, industry, and government by using existing
industrial technologies from Microsoft to serve another company,, that is building software and hardware solutions for the government.


From a system point of view, geographical areas are divided into restricted zones and confinement zones, based on the type of geographical limitation imposed on the offender.  A confinement zone is an area that the offender is not allowed to leave, and restricted zones are areas the offender is not allowed to enter.  The role of a tracking system is not to physically proscribe activity, so when an offender violates the boundary of a zone, an alert is generated and sent to monitoring personnel.


Safe Step adds a new level of analysis to the preceding model by determining undesirable behavior of the offenders and generating alerts based on such behavior.  In this way, the project serves to plant a seed for the behavior mining of criminal activity, and the prediction and prevention of proscribed activities before they occur.  Our system generates proximity alerts if two offenders approach closely, or if an offender moves close to the boundary of any zone.  Such proximity alerts can give law enforcement personnel advance notice of impending infringements.  Because the processing occurs on the data stream in real time, post-factual analysis of past history logs, while they can be performed, are not needed to generate alerts.


A multi-tier system architecture is employed.  Geo-traces are collected by SafeStep’s multi-threaded input adapters, or the TraceListeners, which push incoming GPS readings to the system’s query processor. The system’s query processor sends its output to an Alert Viewer, an IIS web application interface on the supervising agencies’ side using various web protocols.  Any popular map API can be used to represent locations and areas, such as Bing Maps.  The system query processor is built using Microsoft StreamInsight, a real time data stream management system. SafeStep leverages StreamInsight’s capabilities to execute a set of spatiotemporal continuous queries against the incoming stream. For example, a geographic intersection query is accomplished via a join query in LINQ.  Data streams and the resulting alerts are logged in a SQL Server Spatial database, where offender locations are represented as points, and restricted zones as polygons.  Lists of restricted or containment zones are maintained as tables in the database. The system was developed using Microsoft StreamInsight, a data stream management system (DSMS) integrating Microsoft SQL Server Spatial Library residing on an IIS Server to perform spatial operations.


Next steps would be to extend the capabilities of Safe Step to support more complex analytical queries with UI visualization and to implement a tree spatial index structure of restricted locations to enhance the search.  A module to develop queries input into the query processor would also greatly expand the flexibility of the system.


A demo scenario was developed using Safe Step, known as the Geospatial Criminal Tracker, that demonstrates the use of the location-based and the offender-based proximity alerts.  This video is hosted on YouTube at:


Comments (0)

Skip to main content