CRAWDAD yonsei/lifemap

Citation Author(s):
Yohan
Chon
Yonsei University
Elmurod
Talipov
Yonsei University
Hyojeong
Shin
Yonsei University
Hojung
Cha
Yonsei University
Submitted by:
CRAWDAD Team
Last updated:
Tue, 05/08/2012 - 08:00
DOI:
10.15783/C7RW26
Data Format:
License:
350 Views
Collection:
CRAWDAD
Categories:
Keywords:
0
0 ratings - Please login to submit your rating.

Abstract 

Mobility data collected by LifeMap monitoring system at Yonsei University in Seoul.

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-08

release date : 2012-01-03

date/time of measurement start : 2011-03-08

date/time of measurement end : 2011-11-16

collection 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.

Traceset

yonsei/lifemap/mobility

Mobility 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 Modeling
  • methodology: 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 Traces

  • 2011: 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:

      Format of trace data - The trace contains the following files.

      * README.txt

      The file describes basic information (our affiliation, published paper, etc.)

      and data description.

      * DB_Schema.mwb, DB_Schema.png

      Database schema using MySQL Workbench

      (http://www.mysql.com/downloads/workbench/).

      For each user, the trace contains the file 

      * LifeMap_GS.db

      sqlite Database file exported from Android platform.

      * example_code

      Eclipse project folder for managing dataset.

      #########################################

      How to extract mobility data from dataset

      #########################################

      We recommend using stayTable for extracting mobility traces instead of

      edgeTable.

      We provided the example of Java source code to handle database file. The source

      code 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' -> 'Manage Space' -> '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 means

      2011-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/TelephonyManage...()

      ### 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#EX...

      ## _battery_status

      ### Extra for ACTION_BATTERY_CHANGED: integer containing the current status constant.

      ### see http://developer.android.com/reference/android/os/BatteryManager.html#EX...

      ### 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#EX...

      ## _time_battery

      ### saved date as timestamp

Instructions: 

The files in this directory are a CRAWDAD dataset hosted by IEEE DataPort. 

About CRAWDAD: the Community Resource for Archiving Wireless Data At Dartmouth is a data resource for the research community interested in wireless networks and mobile computing. 

CRAWDAD was founded at Dartmouth College in 2004, led by Tristan Henderson, David Kotz, and Chris McDonald. CRAWDAD datasets are hosted by IEEE DataPort as of November 2022. 

Note: Please use the Data in an ethical and responsible way with the aim of doing no harm to any person or entity for the benefit of society at large. Please respect the privacy of any human subjects whose wireless-network activity is captured by the Data and comply with all applicable laws, including without limitation such applicable laws pertaining to the protection of personal information, security of data, and data breaches. Please do not apply, adapt or develop algorithms for the extraction of the true identity of users and other information of a personal nature, which might constitute personally identifiable information or protected health information under any such applicable laws. Do not publish or otherwise disclose to any other person or entity any information that constitutes personally identifiable information or protected health information under any such applicable laws derived from the Data through manual or automated techniques. 

Please acknowledge the source of the Data in any publications or presentations reporting use of this Data. 

Citation:

Yohan Chon, Elmurod Talipov, Hyojeong Shin, Hojung Cha, yonsei/lifemap, https://doi.org/10.15783/C7RW26 , Date: 20120103

Dataset Files

LOGIN TO ACCESS DATASET FILES
Open Access dataset files are accessible to all logged in  users. Don't have a login?  Create a free IEEE account.  IEEE Membership is not required.

These datasets are part of Community Resource for Archiving Wireless Data (CRAWDAD). CRAWDAD began in 2004 at Dartmouth College as a place to share wireless network data with the research community. Its purpose was to enable access to data from real networks and real mobile users at a time when collecting such data was challenging and expensive. The archive has continued to grow since its inception, and starting in summer 2022 is being housed on IEEE DataPort.

Questions about CRAWDAD? See our CRAWDAD FAQ. Interested in submitting your dataset to the CRAWDAD collection? Get started, by submitting an Open Access Dataset.