SpatioTemporal Traveler - MPC - UT...

2
SpatioTemporal Traveler Nathaniel Wendt The University of Texas at Austin [email protected] Christine Julien The University of Texas at Austin [email protected] 1. PACO MIDDLEWARE Spatiotemporal context is crucial in modern mobile appli- cations that utilize increasing amounts of context to better predict events and user behaviors, requiring rich records of users’ or devices’ spatiotemporal histories [2, 3, 12]. The in- creasing concerns about contextual data privacy, and specif- ically location privacy [9] motivate onloading [8], or moving storage and processing of data onto the device, to prevent revealing potentially sensitive user information. This demo showcases the PACO (Programming Abstrac- tion for Contextual Onloading) middleware, which is de- signed to support onloading large amounts of contextual data to the mobile devices that generate data; the onload- ing is motivated both by a need to preserve user privacy and by a desire to reduce a constant data connection to contin- uously store spatiotemporal data at some third-party cen- tral service. The PACO middleware maintains a database on-device and exposes an application-facing API that pro- vides flexible query operations that can be performed over a user’s historical spatiotemporal data. Through access pro- files, users can control the lossiness of the queries that are used by other applications and for possible cloud offload. The PACO system model is depicted in Figure 1. In PACO a data point is stored as timestamped loca- tion data and represents some ”observation”(captured as a linked piece of context data) of a given space at a given time. PACO models a data point as having a region of influence which can best be visualized as a heat map with intensity decaying as spatial and temporal distance increases from the point of observation. To realize this view of spatiotemporal data, PACO leverages previous work in spatiotemporal data storage [6, 11]; specifically, PACO uses both a 3-dimensional R-Tree [7] and a k-d Tree [1] to efficiently index its data points. In this demo, the PACO data points represent a tourist’s observations of predefined points of interest. PACO supports queries across ranges of space, time, or the combination of the two. The basic PACO query com- putes the aggregate influence of all points, called the proba- bility of knowledge (PoK), for the spatiotemporal region in Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for third-party components of this work must be honored. For all other uses, contact the owner/author(s). Middleware Posters and Demos ’16 December 12-16 2016, Trento, Italy c 2016 Copyright held by the owner/author(s). ACM ISBN 978-1-4503-4666-5/16/12. DOI: http://dx.doi.org/10.1145/3007592.3007608 Figure 1: PACO system model question. Because mobile device users generate enormous quantities of spatiotemporal data as they move about, on- loading this data without sacrificing the quality of the infor- mation stored is a major challenge. To support lossiness of data storage and querying, PACO borrows ideas from ap- proximate query processing [10] and line segment summaries of trajectories [4, 5]. PACO defines a smart insert, which queries the structure before insertion. Using the PoK, smart insert determines whether a new data point adds sufficient knowledge to the structure given an application-specified threshold. If not, the point is not inserted, reducing the storage burden of the spatiotemporal data. 2. SPATIOTEMPORAL TRAVELER APP SpatioTemporal Traveler is a mobile travel companion ap- plication for Android that leverages the efficient storage and indexing provided by the PACO middleware. SpatioTem- poral Traveler highlights the key motivation of PACO such that data is onloaded to the device and kept private. No cloud or cloudlet services are required to manage or store the data; no data connection is necessary at all to use PACO. SpatioTemporal Traveler collects observation data points by passively monitoring user location at various times as the traveler moves through the city. Users can retrieve views de- picting their coverage of a target area in a given time window by querying PACO as shown in Figure 2(a). The map view in Figure 2(a) allows users to zoom and move the map to ad- just the query’s spatial bounds and to manipulate start and end time sliders to adjust the query’s temporal bounds. The query’s result is a value (shown on the map view) that mea-

Transcript of SpatioTemporal Traveler - MPC - UT...

  • SpatioTemporal Traveler

    Nathaniel WendtThe University of Texas at [email protected]

    Christine JulienThe University of Texas at Austin

    [email protected]

    1. PACO MIDDLEWARESpatiotemporal context is crucial in modern mobile appli-

    cations that utilize increasing amounts of context to betterpredict events and user behaviors, requiring rich records ofusers’ or devices’ spatiotemporal histories [2, 3, 12]. The in-creasing concerns about contextual data privacy, and specif-ically location privacy [9] motivate onloading [8], or movingstorage and processing of data onto the device, to preventrevealing potentially sensitive user information.

    This demo showcases the PACO (Programming Abstrac-tion for Contextual Onloading) middleware, which is de-signed to support onloading large amounts of contextualdata to the mobile devices that generate data; the onload-ing is motivated both by a need to preserve user privacy andby a desire to reduce a constant data connection to contin-uously store spatiotemporal data at some third-party cen-tral service. The PACO middleware maintains a databaseon-device and exposes an application-facing API that pro-vides flexible query operations that can be performed over auser’s historical spatiotemporal data. Through access pro-files, users can control the lossiness of the queries that areused by other applications and for possible cloud offload.The PACO system model is depicted in Figure 1.

    In PACO a data point is stored as timestamped loca-tion data and represents some ”observation” (captured as alinked piece of context data) of a given space at a given time.PACO models a data point as having a region of influencewhich can best be visualized as a heat map with intensitydecaying as spatial and temporal distance increases from thepoint of observation. To realize this view of spatiotemporaldata, PACO leverages previous work in spatiotemporal datastorage [6, 11]; specifically, PACO uses both a 3-dimensionalR-Tree [7] and a k-d Tree [1] to efficiently index its datapoints. In this demo, the PACO data points represent atourist’s observations of predefined points of interest.

    PACO supports queries across ranges of space, time, orthe combination of the two. The basic PACO query com-putes the aggregate influence of all points, called the proba-bility of knowledge (PoK), for the spatiotemporal region in

    Permission to make digital or hard copies of part or all of this work for personal orclassroom use is granted without fee provided that copies are not made or distributedfor profit or commercial advantage and that copies bear this notice and the full citationon the first page. Copyrights for third-party components of this work must be honored.For all other uses, contact the owner/author(s).

    Middleware Posters and Demos ’16 December 12-16 2016, Trento, Italyc© 2016 Copyright held by the owner/author(s).

    ACM ISBN 978-1-4503-4666-5/16/12.

    DOI: http://dx.doi.org/10.1145/3007592.3007608

    Figure 1: PACO system model

    question. Because mobile device users generate enormousquantities of spatiotemporal data as they move about, on-loading this data without sacrificing the quality of the infor-mation stored is a major challenge. To support lossiness ofdata storage and querying, PACO borrows ideas from ap-proximate query processing [10] and line segment summariesof trajectories [4, 5]. PACO defines a smart insert, whichqueries the structure before insertion. Using the PoK, smartinsert determines whether a new data point adds sufficientknowledge to the structure given an application-specifiedthreshold. If not, the point is not inserted, reducing thestorage burden of the spatiotemporal data.

    2. SPATIOTEMPORAL TRAVELER APPSpatioTemporal Traveler is a mobile travel companion ap-

    plication for Android that leverages the efficient storage andindexing provided by the PACO middleware. SpatioTem-poral Traveler highlights the key motivation of PACO suchthat data is onloaded to the device and kept private. Nocloud or cloudlet services are required to manage or store thedata; no data connection is necessary at all to use PACO.SpatioTemporal Traveler collects observation data points bypassively monitoring user location at various times as thetraveler moves through the city. Users can retrieve views de-picting their coverage of a target area in a given time windowby querying PACO as shown in Figure 2(a). The map viewin Figure 2(a) allows users to zoom and move the map to ad-just the query’s spatial bounds and to manipulate start andend time sliders to adjust the query’s temporal bounds. Thequery’s result is a value (shown on the map view) that mea-

  • sures the user’s PoK of the targeted spatiotemporal region;higher percentages indicate a greater knowledge of the givenregion. In Spatiotemporal Traveler, regions contain touristicpoints of interest; in this case, the PoK gives a probabilityof whether a point of interest has been previously toured ornot.

    Figure 2: (a) Spatiotemporal query, (b) new place pin,(c) place view)

    A tourist can also drop pins (Figure 2(b)) indicating theirown places of interest (e.g., Piazza Duomo, Muse, or MonteBondone). SpatioTemporal Traveler creates a spatiotempo-ral region around the pin and saves a spatiotemporal queryreferencing this region. The User names each pin and cansnap or upload a picture that represents the place of interest.In the place view (Figure 2(c)), a user can view high levelsummaries (e.g., ”Expert Explorer” or ”Newbie”) of the cov-erage of created places of interest. Figure 3 shows a visualdepiction of PACO ’s data store that demonstrates a queryPoK results for three places of interest and the correspondingapplication’s places view with human-friendly summaries.

    Figure 3: Places shown on structure visualization

    3. VISUALIZATIONIn addition to showcasing the Spatiotemporal Traveler

    application (and making it available for conference partic-ipants), the PACO demo includes a browser-based visual-ization (Figure 4) that shows the region of influence of thestored data points and showcases the trade-offs made bythe smart insert algorithm. The visualization shows threemaps with varying smart insert thresholds. Heat maps aredisplayed as overlays, depicting the regions of influence ineach case. Lower thresholds limit the structure’s size whileattempting to maintain a high accuracy. The visualizationalso includes a slider that demonstrates the passing of timeso the evolution of the structure can be observed.

    Figure 4: PACO with varying smart insert values

    Lastly, the visualization also includes an R-Tree displaymode that draws the R-Tree node boundaries directly onthe map view.

    Ultimately, SpatioTemporal Traveler highlights the flexi-bility of the PACO middleware in storing lossy indexes ofspatiotemporal data that can be onloaded on mobile deviceswhile providing a useful query interface for performing cov-erage queries over historical data.

    4. REFERENCES[1] J. Bentley. Multidimensional binary search trees used

    for associative searching. Comm. of the ACM,18(9):509–517, 1975.

    [2] J. Biagioni et al. EasyTracker: Automatic transittracking, mapping, and arrival time prediction usingsmartphones. In Proc. of SenSys, 2011.

    [3] U. Blanke et al. Capturing crowd dynamics at largescale events using participatory gps-localization. InProc. of ISSNIP, 2014. (to appear).

    [4] H. Cao, O. Wolfson, and G. Trajcevski.Spatio-temporal data reduction with deterministicerror bounds. VLDB J., 15(3):211–228, 2006.

    [5] P. Cudre-Mauroux, E. Wu, and S. Madden. TrajStore:An adaptive storage system for very large trajectorydata sets. In Proc. of ICDE, pages 109–120, 2010.

    [6] M. Erwig et al. Spatio-temporal data types: Anapproach to modeling and querying moving objects indatabases. GeoInformatica, 3(3):269–296, 1999.

    [7] A. Guttman. R-trees: A dynamic index structure forspatial searching. In Proc. of SIGMOD, 1984.

    [8] S. Han and M. Philipose. The case for onloadingcontinuous high-datarate perception to the phone. InProc. of HotOS, 2013.

    [9] N. Sadeh et al. Understanding and capturing people’sprivacy policies in a mobile social networkingapplication. Personal and Ubiquitous Computing J.,13(9):401–412, 2009.

    [10] J. Sun et al. Querying about the past, the present,and the future in spatio-temporal databases. In Proc.of ICDE, 2004.

    [11] A. Tansel. Temporal databases. In Wiley Encyclopediaof Computer Science and Engg., pages 1–7. 2008.

    [12] T. Yan et al. Fast app launching for mobile devicesusing predictive user context. In Proc. of MobiSys,pages 113–126, 2012.