Mobile Computing ECE 692 Special Topics: Mobile Network Systems Design

advertisement
ECE 692 Special Topics:
Mobile Network Systems Design
Mobile Computing
Wei Gao
Spring 2013
New Forms of Computing
 Wireless Computing
 Nomadic Computing
• Distributed
Computing
(Client/Server)
 Mobile Computing
 Ubiquitous Computing
 Pervasive Computing
 Invisible Computing
ECE 692 Mobile Network Systems Design
2
Mobile Computing
 Enabled by the technical advances of
 Wireless technology
 Mobile device development and production
• Laptop, PDAs -> smartphone, tablet
 Mobile software platform
• Symbian, Blackberry -> Android, iOS
 Built up on wireless networking
 Mobile applications
 Mobile data access
 Mobile interaction among users
ECE 692 Mobile Network Systems Design
3
Contents
 Human mobility
 Mobility characterization
 Mobile data access
 Methods for providing data access
 Mobile caching strategies
 Mobile sensing
 Applications: sound, image, health
 Inference of user context
 Issues: generic framework, energy consumption, user incentive
 Mobile social network
 Mobile Facebook, ambience monitoring
 Who is near you: friend vs. stranger
 Mobile software platform: Android
ECE 692 Mobile Network Systems Design
4
Human Mobility
 How human beings move?
 Transition among points of interests
 Mobility characterization
 Predict user mobility in the future
 Forecast disconnection among mobile nodes
 Actively pre-fetch data before network partition
ECE 692 Mobile Network Systems Design
5
Coarse-Grained Characterization
 Mobility observation: association to wireless Access Points
(APs)
 Mobility pattern: transitions among APs
 Rough prediction on node movement in the future
 Model: semi-Markov chain
Characterized node mobility
Node movement
ECE 692 Mobile Network Systems Design
6
Fine-Grained Characterization
 Mobility observation: geographical node movement
 Accurate mobility prediction
 Model: Hidden Markov Model (HMM)
Characterized node mobility
ECE 692 Mobile Network Systems Design
7
Temporal and Spatial Correlation
 A user’s current and previous mobility may be
correlated
 One user’s mobility may be correlated with that of
other users
ECE 692 Mobile Network Systems Design
8
Contents
 Human mobility
 Mobility characterization
 Mobile data access
 Methods for providing data access
 Mobile caching strategies
 Mobile sensing
 Applications: sound, image, health
 Inference of user context
 Issues: generic framework, energy consumption, user incentive
 Mobile social network
 Mobile Facebook, ambience monitoring
 Who is near you: friend vs. stranger
 Mobile software platform: Android
ECE 692 Mobile Network Systems Design
9
Mobile Data Access
 Different from routing
 Data destinations are unknown
 Active data dissemination
 Data source actively push data to
users being interested in the data
Data dissemination
 Publish/Subscribe
 Brokers forward data to users
according to their subscriptions
 Caching
Cooperative caching
ECE 692 Mobile Network Systems Design
10
Caching
 Conjoining push and pull data access strategies
 Data sources push data to the appropriate network
locations for being cached
 Users send queries to caching locations for requesting data
 Challenges
 Where to cache
• Minimize query delay
 What to cache
• Limited local storage at caching nodes
 How many to cache
• Multiple data copies may be needed
ECE 692 Mobile Network Systems Design
11
With End-to-End Connectivity
D q1(d1)
d1 A
G
Incidentally cache
pass-by data
H
E q2(d1)
C
K
d2 B
F q3(d2)
ECE 692 Mobile Network Systems Design
12
Without End-to-End Connectivity
D q1(d1)
d1 A
G
H
d1
E q2(d1)
C
K
d2
d2 B
F q3(d2)
ECE 692 Mobile Network Systems Design
13
Contents
 Human mobility
 Mobility characterization
 Mobile data access
 Methods for providing data access
 Mobile caching strategies
 Mobile sensing
 Applications: sound, image, health
 Inference of user context
 Issues: generic framework, energy consumption, user incentive
 Mobile social network
 Mobile Facebook, ambience monitoring
 Who is near you: friend vs. stranger
 Mobile software platform: Android
ECE 692 Mobile Network Systems Design
14
Mobile Sensing
ECE 692 Mobile Network Systems Design
15
Data Collection
 Mobile system development
 Operate system sensors via APIs provided by mobile OS
 May need to compete with other applications
• Two applications cannot use the same sensor simultaneously
 Running as background service
 Sensors used in literature
 Mobility: accelerometer, compass, GPS
 Sound: environmental noise level, people’s emotion…
 Photo: with location tags
ECE 692 Mobile Network Systems Design
16
Understanding the data
 Local processing and aggregation of data
 Event detection
 Reduce transmission overhead
 Context inference
 Human behaviors: CenceMe
 Environmental conditions: traffic, crowd, weather…
 Health status: ECG/EEG/GSR
 Crowdsourcing
 Borrowed idea from NASA
 Mobile cloud computing
ECE 692 Mobile Network Systems Design
17
Concerns
 Generic framework
 Universal system APIs
 Building blocks for heterogeneous applications
 Energy consumption
 All your sensors must remain working
 Requirement of battery lifetime: 1 day
 Idea: temporal and spatial correlation of sensed data
 User incentives
 Why should I provide the data?
 Server-centric: Payments provided by server
 User-centric: it won’t cost you too much!
ECE 692 Mobile Network Systems Design
18
Contents
 Human mobility
 Mobility characterization
 Mobile data access
 Methods for providing data access
 Mobile caching strategies
 Mobile sensing
 Applications: sound, image, health
 Inference of user context
 Issues: generic framework, energy consumption, user incentive
 Mobile social network
 Mobile Facebook, ambience monitoring
 Who is near you: friend vs. stranger
 Mobile software platform: Android
ECE 692 Mobile Network Systems Design
19
Mobile Social Network
 Online social network on smartphones
 Facebook, Twitter, etc
 Location-based service: check-in
 Proximity-based interaction
 Who is near you?
 The familiar stranger project:
• http://www.paulos.net/research/intel/familiarstranger/index.htm
• You may have seen this people before!
ECE 692 Mobile Network Systems Design
20
Sociology Concept
 Community
 Human groups based on their social relations
 Small-world: six degree of separation
 Centrality
 Someone is more popular than others
 Communication hubs to connect other people
ECE 692 Mobile Network Systems Design
21
Information Sharing
ECE 692 Mobile Network Systems Design
22
Contents
 Human mobility
 Mobility characterization
 Mobile data access
 Methods for providing data access
 Mobile caching strategies
 Mobile sensing
 Applications: sound, image, health
 Inference of user context
 Issues: generic framework, energy consumption, user incentive
 Mobile social network
 Mobile Facebook, ambience monitoring
 Who is near you: friend vs. stranger
 Mobile software platform: Android
ECE 692 Mobile Network Systems Design
23
Mobile Software Platform - Android
 The first open-source OS for smartphone
 Android is a software stack for mobile devices that
includes an operating system, middleware, and key
applications.
 http://developer.android.com/guide/basics/what-is-
android.html
 Android Software Development Kit (SDK)
 http://developer.android.com/sdk/index.html
 Provides the tools and APIs to begin developing applications on the
Android platform using Java.
 Includes a debugger, libraries, a handset emulator,
documentation, sample code, and tutorials
ECE 692 Mobile Network Systems Design
24
History
 Android versions
Improved performance, VM
support, and sensing APIs
New UI framework, graphics
and multi-core support
4G support, WiFi p2p
connections
ECE 692 Mobile Network Systems Design
25
Android System Architecture
Middleware
ECE 692 Mobile Network Systems Design
26
Android Middleware
 Software above the OS
 Provides services to (user) software applications beyond
those available from the OS
 Advantages of middleware
 Separate less important functionalities out from OS kernel
• “micro”-kernel
 Easier for developers to perform communication and I/O
• Better APIs
 Android Runtime
 Davlik Virtual Machine: optimized for mobile devices
 Each application in Android runs as a separate instance of
Davlik virtual machine
 Robust, reliable, and secure
• Each application runs as a separate process
ECE 692 Mobile Network Systems Design
27
Android Application Components
 Activity: visual user interface
 Activities work together to form a cohesive user interface
 Service: runs in the background for an indefinite
period of time
 Comparable to Windows services
 Content provider
 Makes a specific set of the application's data available to
other applications
 Broadcast receivers:
 System-wide event notification
ECE 692 Mobile Network Systems Design
28
Manifest XML file
 Applications must declare their components in a
manifest file
 Before Android can start an application component, it
must learn that the component exists.
 AndroidManifest.xml for each application
 Declares the application's components
 Names any libraries the application needs to be linked
against
 Identifies any permissions the application expects to be
granted
ECE 692 Mobile Network Systems Design
29
The Manifest XML File of HelloWorld
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.example.helloandroid"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="10"
android:targetSdkVersion="15" />
The platform
version used
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
android:name=".MainActivity"
Being indicated as
android:label="@string/title_activity_main" >
application entry
<intent-filter>
<action android:name="android.intent.action.MAIN" />
of
Type
action
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
Other action types: CALL, SYNC, BATTERY_LOW,etc
</application>
</manifest>
http://developer.android.com/guide/components
/intents-filters.html
ECE 692 Mobile Network Systems Design
30
Mobile System Security
 Mobile phones are becoming targets for attackers
 Mobile worms/malware
 Stealing users’ sensitive information
• Contacts, personal documents, back accounts…
 Key solution:
• Functional isolation
• Principle of least privilege
• Android: Davlik VM does the job!
 How to track/detect/identify mobile malware??
ECE 692 Mobile Network Systems Design
31
Download