Presentation Transcript
A Survey of Platforms for Mobile Networks Research :A Survey of Platforms for Mobile Networks Research Earl Oliver
University of Waterloo
Mobile Computing and Communications Review
Introduction :Introduction Smartphones are becoming a more prevalent technology in today’s society
In 2007
Sales rose 60%
115 Million devices
By 2010:
Smartphone sales expected to surpass that of laptops
Introduction :Introduction Challenges of programming for a mobile platform
Power constraints
Low-power CPU’s
Limited RAM / Limited persistent storage
Slow I/O
Other Characteristics to consider
Inherently mobile
Operate over wireless channels
Always connected to the Internet and Cellular Network
Introduction :Introduction Analyze 5 major phone platforms
Android (Linux-based)
BlackBerry
iPhone
Symbian
Windows Mobile
Characteristics
Security
Openness
Code portability
Robustness
Requirements :Requirements Network Scanning
Recognize what networks are in the area
Characteristics of Network
Wifi
Cell towers
Bluetooth
Programmatic vs. User vs. System activation
Interface Selection
Choose interface
Based on monetary / power costs / performance costs
Requirements :Requirements Bluetooth I/O
Short range / Lower power consumption
Ideal for device to device communication
Interface control
Programmatically adapt to power profile
Background Processing
Run applications in the background
Important for data collection
Energy monitoring
Power saving control
Low-level memory management
<64 MB RAM in some deployments
Requirements :Requirements Persistent storage
File I/O
Deal with limited storage space on mobile device
Location Sensing
Location aware program
Others
How comprehensive is the API?
Android :Android One of several Linux-based platforms
Maemo, Openmoko, Qtopia, LiMo
Most widespread
Features
Programmatic scanning for Wifi
Persistent Wifi connection
Comprehensive memory and thread statistics
Run-time memory tracing
Location sensing
Android :Android Features, continued
Power considerations
Applications can query battery
Manipulate power profile
Background processing
“Service” model
Persistent storage
Sharing of information between programs
Will be maintained by ‘community’
Android :Android API not comprehensive enough
No support for programmatic control of network interface connections
Bluetooth not supported in initial release*
Processes are shut down by the OS
In times of low memory
Bad for process critical to research
BlackBerry :BlackBerry Open platform
Java programming / JRE
Robust, reliable development platform
Rich library
Falls short of research needs
No programmatic control
Wifi scanning
Cell towers
Only get information about current connection
BlackBerry :BlackBerry Bluetooth support
Needs device pairing
Background processing
Energy monitoring facilities
More refined than those on Android
Comprehensive API
Querying
Programmatically change state
Scheduling tasks
BlackBerry :BlackBerry Memory management
Apps can query level of Flash memory and RAM
Can interact with memory management capacities of underlying virtual machine
Memory intensive apps can receive warnings from VM
Storage
Persistent storage is enough for research needs
MicroSD
Can’t connect to external memory source
iPhone :iPhone Severely limited out of the box
Applications are limited
No initializing WiFi scan
Can’t retrieve information on cell towers
Can’t programmatically connect to interface
Prohibition of bandwidth intensive applications
No background applications
iPhone :iPhone Provides good persistent storage model
SQLite database
Location sensing
iPhone :iPhone Jail Breaking phone
Install GNU / BSD subsystems
Has capabilities of standard UNIX system
Features unlocked
Cell tower / WiFi scanning
Networking through BSD sockets
Still limitations
No programmatic control of network interfaces
No Bluetooth I/O
iPhone :iPhone Memory management
Virtual memory with paging
Low memory conditions are not critical
Adverse effect on battery life
Power management
Aggressive model
Background processes halted on screen off
Must override for research purposes
iPhone :iPhone Final caveats
Jail Breaking isn’t foolproof
Probably will take several attempts
May be restricted with future versions
Symbian :Symbian Popular
46.6% of global smartphone market
Wide range of programming languages supported
Symbian C++
Java
PERL
Python
Can programmatically access information about WiFi, but not cell towers
Little programmatic control over interfaces
Symbian :Symbian Other features
Bluetooth
Needs pairing
Location sensing
Embedded relational database
Virtual memory system
Power management
Nokia Energy Profiler
Monitors power usage
Offers JRE
Java “Mobile Information Device Profile”
Portable, but not functional
Windows Mobile :Windows Mobile Satisfied all requirements
Networking
Scan for WiFi / Bluetooth / Cellular
Establish connections
Enable and disable interfaces
Determine location
Memory management
Virtual memory
However on devices with <64 MB Flash
Bluetooth doesn’t require pairing
Security issue
Windows Mobile :Windows Mobile Features, continued
Standard file I/O
Integral database engine
Maintain persistent state in system registry
Similar to windows registry
Power management
Apps allowed to register for changes to the battery status
Apps notified when the power profile changes
However, not all features of platform are implemented on every device
Up to device manufacturers (OEMs)
Adaptation Kit for Windows Mobile
Conclusion :Conclusion There is no ‘right’ platform for research
Each platform has its strengths and weaknesses
Android
Rich (and growing) set of API’s
No Bluetooth
BlackBerry
Most robust
Easy development
Stable
Lacks features
Iphone
Needs to be Jailbroken
No developers tools
Conclusion :Conclusion Symbian
Nice developers tools
Very difficult to design / program for
Windows Mobile
Supports all the required features, but not on all phones
Choose a platform based on individual / project needs