DOI: 10.21227/bn6r-a112
title: CRAWDAD yonsei/lifemap

description: We deployed our mobility monitoring system, called LifeMap, to collect fine-grained mobility data from commercial mobile phones over two months in Seoul, Korea. The dataset contains location information (latitude and longitude) with accuracy (error bound), Wi-Fi fingerprints (MAC address and signal strength of surrounding Wi-Fi APs), user-defined types of places (workplace, cafeteria, etc.). Our system continuously collected this information every 2 to 5 minutes for everyday location monitoring.last modified : 2012-05-08release date : 2012-01-03date/time of measurement start : 2011-03-08date/time of measurement end : 2011-11-16collection environment : The data was collected in Seoul, Korea from 8 graduate students of Yonsei University. In the collected data traces, there are 651 meaningful places, 9681 nodes on 1717 paths, and 52510 WiFi APs.network configuration : We implemented SmartDC on the Android SDK 2.1 running on commercial mobile phones equipped with GPS, GSM/CDMA, and Wi-Fi. The application LifeMap provides a user interface for SmartDC; it is available in Android Market.data collection methodology : We collected real traces from 8 graduate students over four weeks using HTC Hero, HTC Desire, and Samsung Galaxy S smartphones. SmartDC was running as a background service to automatically collect the user's mobility and to trace sensor usage time. Participants installed SmartDC on their primary phones. To collect the ground truth, the participants explicitly labeled the place names and kept a diary of places they had visited with the entrance and departure times.sanitization : We removed personal information such as user names and users' MAC addresses. User-labelled place names are anonymized with one letter of alphabet (A, B, C, and so on) and number (from 001 to 999). We anonymized MAC addresses of APs by changing the second and the fifth parts of the MAC address into randomized characters (e.g., 00:00:00:00:00:00 is changed into 00:xx:00:00:xx:00). The uniqueness of APs is maintained: the same address indicates the same AP.limitation : The users spent some of their time in regions without Wi-Fi coverage.Tracesetyonsei/lifemap/mobilityMobility data collected by LifeMap monitoring system at Yonsei University in Seoul.description: We deployed our mobility monitoring system, called LifeMap, to collect fine-grained mobility data from commercial mobile phones over two months in Seoul, Korea. The dataset contains location information (latitude and longitude) with accuracy (error bound), Wi-Fi fingerprints (MAC address and signal strength of surrounding Wi-Fi APs), user-defined types of places (workplace, cafeteria, etc.). Our system continuously collected this information every 2 to 5 minutes for everyday location monitoring.measurement purpose: User Mobility Characterization, Energy-efficient Wireless Network, Human Behavior Modelingmethodology: The first level of sensing uses GSM to obtain the Location Area Code (LAC) to detect exceptions within the predicted sensing schedule. The first level continuously monitors the LAC with minor energy consumption, since a mobile phone basically updates the LAC for voice communication. The system does not activate the second level until the next sensing time, if the observed LAC follows a predicted sequence-pattern. Otherwise, if the first level detects an exception, the system immediately uses the second level to collect a new pattern of individual mobility. For example, if a user normally goes to the office on weekday mornings, SmartDC only turns on Wi-Fi near the entrance of the office if the expected LAC is observed. If a user goes on a business trip, the system uses the mobility learner when it detects a new pattern of LAC. The second level uses Wi-Fi scanning to recognize a change of places and revisited places. The basic operation is that if a user is stationary, the signal fingerprints of surrounding Wi-Fi APs are relatively similar to each other. We use a scan window to perform multiple scans to tolerate noisy signals. The system generates meaningful places when it detects the stationary state. When a user revisits a place, the system aggregates mobility data and reuses physical location information without activating additional sensors. The second level also uses wireless communication to obtain coarse location from the WPS provided by Android. The third level activates GPS to acquire fine location, if the system fails to get accurate location in the second level. The time interval used for data collection is set to two minutes. The Wi-Fi scanning intervals and window size are 10 seconds and 30 seconds respectively, and the similarity threshold of the Wi-Fi vector is set to 0.7. The accuracy threshold for the WPS is set to 500 meters. The GPS is activated for 30 seconds for single positioning, which is common in GPS usage. To reduce computation overheads in adaptive duty cycling, we (1) converted the float value to an integer value with 10-3 precision, (2) used discrete time intervals in minutes, and (3) scaled down the energy budget, dividing it by the energy consumption of Wi-Fi scanning, which is the minimum cost in our scheme. We set the energy budget E and the sensing cost c as follows: The maximum energy budget is (1,400 mA×3.7 V34.5 mW)×3,600 s=18.5 kJ, which is the available battery capacity excluding the energy cost of idle state. If the battery level and energy constraints are 30% and 10%, the allowed energy budget is 18.5 kJ×0.3×0.1=555 J. The level 2 sensing cost is the energy consumption of Wi-Fi scanning: 114.5 mW×30 s=3.5 J. The level 3 sensing consumes 3.5 J+440.8 mW×30 s=16.7 J: the energy of level-2 sensing and reading GPS for 30 seconds.sanitization: We removed personal information such as user names and users' MAC addresses. User-labelled place names are anonymized with one letter of alphabet (A, B, C, and so on) and number (from 001 to 999). We anonymized MAC addresses of APs by changing the second and the fifth parts of the MAC address into randomized characters (e.g., 00:00:00:00:00:00 is changed into 00:xx:00:00:xx:00). The uniqueness of APs is maintained: the same address indicates the same AP.yonsei/lifemap/mobility Traces2011: Mobility data collected by LifeMap monitoring system at Yonsei University in Seoul.configuration: The Wi-Fi scanning intervals and window size are 10 seconds and 30 seconds respectively, and the similarity threshold of the Wi-Fi vector is set to 0.7. The accuracy threshold for the WPS is set to 500 meters. The GPS is activated for 30 seconds for single positioning, which is common in GPS usage.format:The trace contains the following files.* README.txtThe file describes basic information (our affiliation, published paper, etc.)and data description.* DB_Schema.mwb, DB_Schema.pngDatabase schema using MySQL Workbench(http://www.mysql.com/downloads/workbench/).For each user, the trace contains the file * LifeMap_GS.dbsqlite Database file exported from Android platform. * example_codeEclipse project folder for managing dataset.#########################################How to extract mobility data from dataset#########################################We recommend using stayTable for extracting mobility traces instead ofedgeTable.We provided the example of Java source code to handle database file. The sourcecode can be imported as project in Eclipse.See showMobilityTrace() in LifeMapDatabase.java.To run example code in Eclipse,1. Copy our dataset and sqlite-jdbc-xxx.jar (http://code.google.com/p/sqlite-jdbc/)into project paths.2. Run Eclipse and import project.3. Set sqlite-jdbc-xxx.jar to library of projects.4. Run Java application in Main.java.####################################################How to import database file into Android application####################################################1. Copy database file into your Android device.2. download and install 'LifeMap' application from Android market(https://market.android.com/details?id=com.mobed.lifemap).3. Click sensond tab, and open 'Menu' -&gt; 'Manage Space' -&gt; 'Load Database.'4. Type the path of database file name (e.g., /sdcard/data/LifeMap_GS1.db).5. Restart 'LifeMap' application.######################Desription of data set######################------------------------------------------------------------------------| User + Sex + Age + Number of Place + Periods + Start Date + End Date |------------------------------------------------------------------------| GS1 + Male + 20s + 92 + 134 + 2011.3.8 + 2011.7.19 || GS2 + Male + 20s + 163 + 198 + 2011.5.2 + 2011.11.15 || GS3 + Male + 20s + + 297 + 2010.11.17 + 2011.8.14 || GS4 + Female + 20s + 209 + 183 + 2011.5.7 + 2011.11.15 || GS7 + Male + 20s + 289 + 132 + 2011.3.10 + 2011.7.19 || GS8 + Male + 30s + 345 + 250 + 2011.3.10 + 2011.11.14 || GS9 + Male + 30s + 198 + 193 + 2011.3.26 + 2011.10.4 || GS10 + Male + 20s + 87 + 58 + 2011.9.30 + 2011.11.16 || GS12 + Male + 20s + 376 + 366 + 2010.11.14 + 2011.11.14 |--------------------------------------------------------##########################Description of data values##########################The timestamp is stored as yyyyMMddHHmmssEEE, e.g., 20110509030752TUE means2011-05-09 03:07:52 Tuesday.# table name## column name### comments# locationTable## _latitude, _longitude, _latitude_gps, _longitude_gps, _latitude_wifi,## _longitude_wifi### latitude and longitude on Earth with 10^(-6) precision.### e.g., data value (123456789) means latitude or longtitude (123.456789) as### degree value.### _gps indicates data from GPS, _wifi indicates data from WPS,### _latitude/_longitude is the better one out of GPS or WPS data.### 0 = UNKNOWN_LOCATION## _accuracy, _accuracy_gps, _accuracy_wifi### error bound of location provided by Android in meters.### 1 = user manually changed location information### 100000 = UNKNOWN_ACCURACY## _activity### 1 = STATIONAY### 2 = MOVE## _place_name### user-labelled place name. The data value is anonymized with one letter of### alphabet (e.g., A, B, C, and so on) and number (e.g., from 001 to 999).## _time_location### latest saved date as timestamp# apTable## _bssid### anonymized MAC address.### The uniqueness is maintained (i.e., same MAC addresses indicates same APs### in entire dataset).## _signal### average value of recieved signal strength## _signal_deviation### deviation of recieved signal strengths## _time_ap### latest saved date as timestamp# cellTable## _cell_type### data from android.telephony.TelephonyManger.getPhoneType()### see http://developer.android.com/reference/android/telephony/TelephonyManager.html#getPhoneType()### 0 = PHONE_TYPE_NONE### 1 = PHONE_TYPE_GSM### 2 = PHONE_TYPE_CDMA### 3 = PHONE_TYPE_SIP## _connect_time### connection duration as milliseconds.### the data is under-estimated since the system collected it in short burst.## _time_cell### latest saved date as timestamp# stayTable## _stay_time### stay duration as milliseconds## _stay_start_time### start time (arrival time) of stay behavior as timestamp## _time_stay### end time (departure time) of stay behavior as timestamp# batteryTable## _battery_level### Extra for ACTION_BATTERY_CHANGED: integer field containing the current battery level, from 0 to EXTRA_SCALE.### see http://developer.android.com/reference/android/os/BatteryManager.html#EXTRA_LEVEL## _battery_status### Extra for ACTION_BATTERY_CHANGED: integer containing the current status constant.### see http://developer.android.com/reference/android/os/BatteryManager.html#EXTRA_STATUS### 1=BATTERY_STATUS_UNKNOWN, 2=BATTERY_STATUS_CHARGING, 3=BATTERY_STATUS_DISCHARGING, 4=BATTERY_STATUS_NOT_CHARGING, 5=BATTERY_STATUS_FULL## _battery_voltage### Extra for ACTION_BATTERY_CHANGED: integer containing the current battery voltage level.### see http://developer.android.com/reference/android/os/BatteryManager.html#EXTRA_VOLTAGE## _time_battery### saved date as timestamp