840 likes | 1.02k Views
Design and Implementation of Smartphone-based Systems and Networking. Dong Xuan Department of Computer Science and Engineering The Ohio State University, USA. Outline. Smartphones Basics Mobile Social Networks E-Commerce E-Health Safety Monitoring Future Research Directions. 2.
E N D
Design and Implementation of Smartphone-based Systems and Networking Dong Xuan Department of Computer Science and Engineering The Ohio State University, USA
Outline • Smartphones Basics • Mobile Social Networks • E-Commerce • E-Health • Safety Monitoring • Future Research Directions 2
Smartphone Basics • A smartphone is a mobile phone offering advanced capabilities, often with PC-like functionality • Hardware (Apple iPhone 3GS as an example) • CPU at 600MHz, 256MB of RAM • 16GB or 32GB of flash ROM • Wireless: 3G/2G, WiFi, Bluetooth • Sensors: camera, acceleration, proximity, light • Functionalities • Communication • News & Information • Socializing • Gaming • Schedule Management etc. 3
Smartphone Popularity • Smartphones are popular and will become more popular 4
Smartphone Features • Communication/Sensing/Computation • Inseparable from our human life 6
OurSmartphone Systems • E-SmallTalker [IEEE ICDCS10]: senses information published by Bluetooth to help potential friends find each other (written in Java) • E-Shadow [IEEE ICDCS11]: enables rich local social interactions with local profiles and mobile phone based local social networking tools • P3-Coupon [IEEE Percom11]: automatically distributes electronic coupons based on an probabilistic forwarding algorithm 7
OurSmartphone Systems • Drunk Driving Detection [Per-Health10]: uses smartphone (Google G1) accelerometer and orientation sensor to detect • Stealthy Video Capturer [ACM WiSec09]: secretly senses its environment and records video via smartphone camera and sends it to a third party (Windows Mobile application) Download & Run Video sent by Email Captured Video 8
Exemplary System I:E-SmallTaker • Small Talk • A Naïve Approach • Challenges • System Design • Implementation and Experiments • Remarks 9
Small Talk • People come into contact opportunistically • Face-to-face interaction • Crucial to people's social networking • Immediate non-verbal communication • Helps people get to know each other • Provides the best opportunity to expand social network • Small talk is an important social lubricant • Difficult to identify significant topics • Superficial 10
A Naive Approach of Smartphone-based Small Talk • Store all user’s information, including each user’s full contact list • User report either his own geo-location or a collection of phone IDs in his physical proximity to the server using internet connection or SMS • Server performs profile matching, finds out small talk topics (mutual contact, common interests, etc.) • Results are pushed to or retrieved by users 11
However…… • Require costly data services (phone’s internet connection, SMS) • Require report and store sensitive personal information in 3rd party • Trusted server may not exist • Server is a bottleneck, single point of failure, target of attack 12
E-SmallTalker – A Fully Distributed Approach • No Internet connection required • No trusted 3rd party • No centralized server • Information stored locally on mobile phones • Original personal data never leaves a user’s phone • Communication only happens in physical proximity 13
Two Challenges • How to exchange information without establishing a Bluetooth connection • Available data communication channels on mobile phones • Cellular network (internet, SMS, MMS), Bluetooth, WiFi, IrDA • Bluetooth is a natural choice • Bluetooth connection needs user’s interaction due to security reasons • How to find out common topics while preserving users privacy • No pre-shared secret for strangers • Bluetooth Service Discovery Protocol can only transfer limited service information 14
System Architecture • Context exchange • Context encoding and matching • Context data store • User Interface 15
Context Exchange • Exploit Bluetooth service discovery protocol • No Bluetooth connection needed • Publish encoded contact data (non-service related) as (virtual) service attributes • Limited size and number( e.g. 128 bytes max each attribute) 16
Context Encoding • Example of Alice’s Bloom filter • Alice has multiple contacts, such as Bob, Tom, etc. • Encode contact strings, Firstname.lastname@phone_number, such as “Bob.Johnson@5555555555” and “Tom.Mattix@6141234567” 17
Implementation • J2ME • about 40 java classes, 127Kb jar file • On real phones • Sony Ericsson (W810i), Nokia (5610xm, 6650, N70, N75, N82) 18
Experiments • Settings • 6 phones, n=150, k=7, m=1024 bits, default distance=4m, average of 10 runs • Performance Metrics • Discovery time: the period from the time of starting a search to the time of finding someone with common interest, if there is any • Discovery rate: percentage of successful discoveries among all attempts • Power consumption • Factors • Bluetooth search interval • Number of users • Distance 19
Experiment Results • Minimum, average and maximum discovery time are 13.39, 20.04 and 59.11 seconds respectively • Always success if repeat searching, 90% overall if only search once • Nokia N82 last 29 hours when discovery interval is 60 seconds 20
Related Work • Social network applications on mobile phones • Social Serendipity • Centralized, Bluetooth MAC and profile matching, SMS, strangers • PeopleTones, Hummingbird, Just-for-Us, MobiLuck, P3 Systems, Micro-Blog, and Loopt • Centralized, GPS location matching, Internet, existing friends • Nokia Sensor and PeopleNet • Distributed, profile, Bluetooth / Wifi connection, existing friends • Private matching and set intersection protocols • Homomorphic encryption based • Too much computation and message overhead for mobile phone • Limitations • Require costly data services (phone’s internet connection, SMS) • Require report and store sensitive personal information • Bottleneck, single point of failure, target of attack 21
Remarks • Propose, design, implement and evaluate the E-SmallTalker system which helps strangers initialize a conversation • Leveraged Bluetooth SDP to exchange these topics without establishing a connection • Customized service attributes to publish non-service related information. • Proposed a new iterative commonality discovery protocol based on Bloom filters that encodes topics to fit in SDP attributes to achieve a low false positive rate 22
Exemplary System II:E-Shadow • Concept • Application Scenario • Goals and Challenges • System Design • Implementation and Experiments • Remarks 23
Concept • Motivation • Importance of Face-to-Face Interaction • Prevalence of mobile phones • Distributed mobile phone-based local social networking system • Local profiles • Mobile phone based local social interaction tools
Goals and Challenges • Design Goals • Far-reaching and Unobtrusive • Privacy and Security • Auxiliary Support for Further Interactions • Broad Adoption • Challenges • Lack of Communication Support • Power and Computation Limitation • Non-pervasive Localization Service
Layered Publishing • Spatial Layering • WiFi SSID • at least 40-50 meters, 32 Bytes • Bluetooth Device (BTD) Name • 20 meters, 2k Bytes • Bluetooth Service (BTS) Name • 10 meters, 1k Bytes • Temporal Layering • For people being together long or repeatedly • Erasure Code
Sensor Help Decide Decide User Maual Input Online Data Mining Feedback Valve Generator Filter Information BT Device Database BT Service WiFi E-Shadow Publishing Procedure
Matching E-Shadow with its Owner • Intuitive Approach: Localization • However, imprecision beyond 20-25 meters
Human Direction-driven Localization • Direction more important than distance • Human observation • A new range-free localization technique • RSSI comparison: Less prone to errors • Space partitioning: Tailored for direction decision
Walking Route and Localization • We allow users to walk a distance • Triangular route: A->B->C in (a), for illustration purposes • Semi-octogonal route: A->B->C->D->E in (c), more natural • Take measurements on turning points • Calculate the direction through RSSI comparison and space partitioning
Implementation • Information Publishing Module • Database • Generator • Buffers • Control Valve • Broadcasting Interfaces • Retrieval & Matching Module • Receivers • Localization • Decoding & Storage • Sensing Module • User Interface
Evaluations (1)-Time & Energy • E-Shadow Collection Time • WiFi SSID: 2 seconds • BTD: 12-18 seconds • BTS: 25-35 seconds • E-Shadow Power Consumption • 3 hours in full performance operation • >12 hours in typical situation
Evaluations (2)-Localization 3 Outdoor Experiments: Open field campus 2 Indoor Experiments: Large classroom
Evaluation (3)-Simulations Large-Scale Simulations: Angle deviation CDFs 12 times of exemplary direction decisions
Related Work • Centralized mobile phones applications • Social Serendipity • Centralized, Bluetooth MAC and profile matching, SMS, strangers • Decentralized mobile phone applications • Nokia Sensor • Distributed, profile, Bluetooth / Wifi connection, existing friends • E-Smalltalker • Distributed, no Bluetooth / Wifi connection, strangers • Localization techniques for mobile phones applications • GPS • Virtual Compass • peer-based relative positioning system using Wi-Fi and Bluetooth radios • Limitations • Privacy compromise • Unable to capture the dynamics of surroundings • No mapping between electronic ID and human face • Localization techniques either not pervasive or not accurate for long range 36
Remarks • Propose, design, implement and evaluate the E-Shadow system which lubricates local social interactions • E-Shadow concept • Layered publishing to capture the dynamics of surroundings • Human-assisted matching that works for mapping E-Shadow with its owner in a fairly large distance • Implementing and evaluating E-Shadow on real world mobile phones 37
Exemplary System III:P3-Coupon • Coupon Distribution • A Naïve Approach • Challenges • System Design • Implementation and Experiments • Remarks 38
Electronic Coupon Distribution • Electronic coupons • Similar to paper coupons • Can be stored on mobile phones • Two distribution methods • Downloading from Internet websites • Need to define target group • Limited coverage • Hard to maintain dynamic preferences lists on central databases • Peer to Peer Distribution • No special destination/target group • More coverage • More flexible user-maintained preferences list 39
A Naive Approach of Peer-to-Peer Coupon Distribution • A store periodically broadcast the coupon • Users within broadcast range receive the coupon • User can decide whether to use, forward or discard the coupon • Users forward the coupon to others in physical proximity • Forwarder’s IDs are recorded in a dynamically expanding list • The coupon is used by some user • The store reward all users who have forwarded the coupon 40
However…… • Require manually establishing wireless connections • Cumbersome • Not prompt • Not possible for coupon forwarding among strangers • Require recording the entire forwarding path • Potential privacy leakage • Discourage user’s forwarding incentives 41
Challenge • How to design a prompt coupon distribution mechanism that • Incentivize coupon forwarder appropriately for keeping the coupons circulating • Preserve the privacy of coupon forwarders 42
P3-Coupon – A Probabilistic Coupon Forwarding Approach • Probabilistic sampling on forwarding path • Keep only one forwarder for each coupon: NO privacy leakage • Probabilistically flip ownership at each hop • Accurate approximation of coupon rewards • plenty of chances of interpersonal encounters • Accurate bonus distribution with 50 coupons and 5000 people • Adaptive to different promotion strategies • Flip-once model • Always-flip model • No manual connection establishment • Connectionless information exchange via Bluetooth SDP 43
System Architecture • Store Side • A central server for broadcasting and redeeming coupons • Client side • Coupon forwarding manager, coupon exchange, coupon data store, user interface 44
Probabilistic Forwarding Algorithm • Always-Flip Model • The coupon ownership keeps flipping with certain probability at each hop. • Good at assigning relative bonuses affected by the whole path lengths • E.g. the parent forwarder receives k times the bonus given to children forwarders • The flip probability can be calculated in advance by the store, once k is fixed, using the following formula 45
Probabilistic Forwarding Algorithm • Extension: Flip-Once Model • Once flipped, a coupon’s ownership remain the same in a forwarding path. • Good at assigning absolute bonuses irrelevant of the number of following forwarders • E.g. hop 1 user gets 10%, hop 2 user gets 5%, etc. • The flip probability can be calculated in advance by the store using the following formula 46
Coupon Format • Coupon description • Product description • Discounts • Coupon issuer • Coupon code • Start/end date • Coupon forwarder information • The current owner • Digital signature • Prevent forging fraud coupons 47
Implementation • J2ME • about 17 java classes, 1390Kb jar file • On real phones • Samsung (SGH-i550), Nokia (N82, 6650, N71x) 48
Experiments • Experimental evaluations • Coupon forwarding time • Power consumption • Simulation evaluation • Number of Coupon holders vs. Time • Distribution saturation time vs. Number of Seeds • Coupon ownership distribution for probabilistic sampling • Deviation between theoretical and actual bonus (Always-Flip, Flip-Once) • Factors • Number of coupons • Number of users • Number of initial coupon holders 49
Experiment Results • Average coupon forwarding time is 33.52 seconds • Nokia N82 last 25 hours with P3-Coupon running in background • One coupon could be delivered to 5000 people within 32 hours • Very small deviation between theoretical and actual bonus distribution with 50 coupons circulating among 5000 people 50