SociableSense: Exploring the Trade- offs of Adaptive Sampling and Computation Offloading for Social Sensing Kiran K. Rachuri, Cecilia Mascolo, Mirco Musolesi, Peter J. Rentfrow Mateusz Grabowski The images come from an original presentation: http://www.sigmobile.org/mobicom/2011/slides/58-socialsense-slides.pptx or they are trademarks or available on reusing licence
Idea How sociable am I? How to measure it quantitatively? How to provide real-time feedback to users about their sociability? How does information about my sociability affect my performance at work?
Smartphone sensing
Smartphone sensing
Applications Microphone - Speaker Recognition Bluetooth - Colocation Detection Accelerometer - Activity Recognition
Challenges Frequency of sensor sampling ● limited energy ● sufficient accuracy Computation performing ● locally on the phone ● remotely in the cloud
Sensor sampling
Sensor sampling SENSING SLEEPING SENSING SLEEPING SENSING SLEEPING SLEEPING SENSING SLEEPING SENSING SLEEPING
Learning based Adaptation ACTION: sensing from a sensor SUCCESS: FAILURE: catched an catched a interesting event missable data
Learning based Adaptation PROBABILITY OF SENSING 0 < a < 1 0. 1 < P < 0.9 SUCCESS: FAILURE: P := P + a(1 - P) P := P - aP
Learning based Adaptation a = 0.5 SUCCESS: FAILURE: P := P + a(1 - P) P := P - aP PROB ACTION EVENT RESULT PROB ADJUSTING 0.5 sleeping missable - - 0.5 sensing unmissable success 0.5 + 0.5 * (1 - 0.5) = 0.75 0.75 sensing missable failure 0.75 - 0.5 * 0.75 = 0.375 0.375 sleeping missable - - 0.375 sleeping unmissable - - 0.375 sensing unmissable success 0.375 + 0.5 * (1 - 0.375) = 0.6875 0.6875 sensing unmissable success 0.6875 + 0.5 * (1 - 0.6875) = 0,84375 ... ... ... ... ...
Computation distribution
Computation distribution Where to perform the computation? Which factors to consider when deciding? How to measure the impact of these factors on the future?
Computation distribution Let's consider: ● energy consumption ● latency ● total data sent over the network and assume that they are pre-calculated and available before-hand!
Computation distribution Let's divide a task into the subtasks: T = [t 1 , t 2 , t 3 , ..., t n ] There are 2 n combinations in which T can be computed. Configuration Subtask 1 Subtask 2 C1 locally locally C2 locally remotely C3 remotely locally C4 remotely remotely
Utility function u C(i) = w energy u e(i) + w latency u l(i) + w data over network u d(i) ● fixed weights w energy + w latency + w data over network = 1 ● utility value for energy, ... : e min - e(i) u e(i) = e min = min {e(i) | i = 1, 2, ..., 2 n } e(i) ● its range is [-1, 0]
Adaptation of weights <rules> Changing weights in time <condition=" battery_left > 80 and data_sent < 50MB "> <weight metric="energy">33.3</weight> <weight metric="latency">33.3</weight> <weight metric="data">33.3</weight> </condition> <condition=" battery_left < 20 "> <weight metric="energy">60</weight> <weight metric="latency">20</weight> <weight metric="data">20</weight> </condition> <condition=" data_sent > 50MB "> <weight metric="energy">20</weight> <weight metric="latency">20</weight> <weight metric="data">60</weight> </condition> <condition=" default "> <weight metric="energy">33.3</weight> <weight metric="latency">33.3</weight> <weight metric="data">33.3</weight> </condition> </rules>
Evaluation ● Microbenchmarks: ○ Sensor Sampling Benchmarks ○ Computation Distribution Benchmarks ● Social psychology study
Experimental datasets ● 231 hours of raw accelerometer sensor data (i.e., X, Y, Z coordinates) ● 241 hours of Bluetooth data (i.e., Bluetooth identifiers) ● 151 hours of microphone data (i.e., audio recordings) ● 10 users carrying a Samsung Galaxy S or Nokia 6210 Navigator phone
Categorization of Events Sensor Unmissable Missable event event Microphone audiable data silence Bluetooth change in the no change number of colocated users Accelerometer movement of a user is user stationary
Sensor sampling: Performance Metrics Accuracy: the percentage of missed events Always the lower the better. Energy consumption: measured using the Nokia Energy Profiler Latency: the delay in detecting change of event sequence from missable to unmissable and vice versa
Variation of the alpha parameter selected "a" parameter: 0.5
Techniques used for the comparison x - sleep time Type Back-off function Advance function Linear k * x x / k Quadratic x 2 sqrt(x) Exponential e x ln(x) + dynamic adaptation technique
Combinations of advance and back-off functions
Computation Distribution: Performance Metrics Lifetime of the phone: the total time until battery gets completely discharged from the fully charged state Average data sent over the network: the average number of bytes sent by the system over the 3G network to process a sensor task Average latency: the average time taken for processing a sensor task
Tasks used in the benchmarks ● activity recognition (1 subtask) ● colocation detection (1 subtask) ● speaker identification (2 subtasks) ○ converting the recorded audio sample to Perceptual Linear Predictive (PLP) coefficients file ○ comparing the extracted coefficients file with the speaker models of all users
Performance of the configurations Conf AR CD SI1 SI2 Con AR CD SI1 SI2 f C1 L L L L C9 R L L L C2 L L L R C10 R L L R C3 L L R L C11 R L R L Weights set w energy w latency w data over network C4 L L R R C12 R L R R S1 1 0 0 C5 L R L L C13 R R L L S2 0 1 0 C6 L R L R C14 R R L R C7 L R R L C15 R R R L S3 0 0 1 C8 L R R R C16 R R R R S4 0.33 0.33 0.33
Sociability measurements
Sociability measurements Network constraint: p ij is the proportion of time i spent with j Two dimensions: ● colocation ● interaction
Network constraint - examples 0.4 B C B C 1.0 0.5 0.4 0.4 A 0.2 0.5 1.0 0.2 0.5 1.0 0.5 A D E 0.2 A (0.5) 2 + (0.5) 2 C 0.69 = 0.5 B (1.0) 2 + (1.0 * 0.5) 2 A 0.83 = 1.25 B 0.83 C (1.0) 2 + (1.0 * 0.5) 2 = 1.25 D 1.13 E 1.32
Social Psychology Study ● two working weeks with 10 users ● 2 phases: 1. SociableSense system disabled 2. feedback mechanism enabled: showing users: sociability, strength of their relations, activity levels and alerts about the users in sociable locations
EmotionSense App
Results and Discussion
Recommend
More recommend