Slides - IMPACT - Arizona State University

refereeoppositeΔίκτυα και Επικοινωνίες

30 Οκτ 2013 (πριν από 3 χρόνια και 1 μήνα)

51 εμφανίσεις

CSE494/598 Mobile
Computing Systems and
Applications (Fa2011)

Class 2

Announcements


Assignment 1 due on September 7
th


Group formation (groups of 3)


Check the website for files related to
assignment


Agenda


Survey Review


Mobile and Adaptive Computing


Context Aware Computing


Wireless Communication and Networks


Wireless Sensor Networks


Survey Review

Let’s see what you said…

I am expecting to learn in this
course


Mobile services


Future of mobile computing


Developing mobile applications


Fundamentals of mobile computing


Ubiquitous computing


Context aware computing


Networking issues


Resource efficient implementation


power and memory


Android programming


Embedded software and hardware knowledge


Mobile device protocols


Small screen UI development


Data acquisition and processing in mobile devices


Human computer interaction


My concerns about this course are


What’s more than what I already know


Language
limitations


Too
much workload
(x2)


Too much or too advanced programming
required
and too little learning (x2)


Not adequate
background (x2)


A lot of theory


Too easy for me


Therefore…

my wishes for this course are


Teach me more than what I already know


Be
easy to understand


Count toward my degree requirements


Have reasonable workload


Require not too much
theory


Require little background knowledge


Be practical and application
-
oriented

I learn through the following
methods

Projects

215

Homework

205

Exams

152

Class Discussion

152

Quizzes

148

none=0, limited=1, somewhat=2, a lot=3, extremely=4

I am interested in those mobile
computing domains

Health & Well Being

211

Games & Entertainment

200

Personal Communications & Social
Networking

194

Personal Assistance

181

Professional & Productivity

143

Other (creativity, system technology)

49

none=0, limited=1, somewhat=2, a lot=3, extremely=4

Mobile
(and adaptive)

Computing

What is Mobile Computing


Mobile computing?


Distributed system


Wireless communications


Mobility of communications devices



Difference between mobile computing and
mobile communications?


Ex. “Italian restaurant” through search engine.


Ex. Video streaming over the Internet


Limitations of mobile computing devices: energy,
screen, …


Security or privacy


Middleware layer

Adaptability


The key to Mobile
Computing


The vision of mobile computing


Roam seamlessly with your computing devices while continuing
to perform computing and communication tasks uninterrupted.


Global information services at any time from any location


Mobile users as integrated
consumers
and
producers
of data
and information


Ubiquitous computing where mobile computers become an
integral part of daily activities



Transparency


The ability of a system to hide some characteristics of its
underlying implementation from users


Access transparency


Location transparency: name transparency, user mobility


Failure transparency


Mobile computing: mobility transparency


Constraints of mobile computing environments


Mobile computers can be expected to be more resource
-
poor
than their static counterparts: e.g., battery


Mobile computers are less secure and reliable.


Mobile connectivity can be highly variable in terms of its
performance (bandwidth and latency) and reliability.


Fig 1.1



Application
-
aware adaptation


Application
-
transparent (the system is fully
responsible for adaptation)


Laissez
-
faire (the system provides no support at all)


E.g., bandwidth, battery


Fig 1.2

Mechanisms for Adaptation


What can be adapted?


The functionality and the data


How to adapt?


Client
-
server (CS) model


Adapting functionality


CS model


A server with soft or hard state about the clients


Coda File servers (Saty 1996a)


A few trusted servers act as the permanent safe haven of the data.


A large number of un
-
trusted clients can efficiently and securely
access the data.


Good performance is achieved by using techniques such as caching
and prefetching.


Security of data is ensured by employing end
-
to
-
end authentication
and encrypted transmissions.


Impact of mobility on the CS model: a resource
-
poor mobile
client = thin clients


Adapting data


Fidelity: the degree to which a copy of data presented for use at
the client matches the reference copy at the server.


Video data


frame rate and image quality


Spatial data


minimum feature size


Telemetry data


sampling rate and timeliness


QoS requirements


Information quality


Performance


Agility: the speed and accuracy with which an adaptive
application detects and responds to changes in its computing
environments, e.g., change in resource availability.

Incorporating adaptations in
applications


Detection of changes


software sensors
, e.g. for connectivity, monitor the quality of link


Detection
-
driven behavior


State
-
based approach
, i.e. chose an operating state according
what is sensed.


Employment of compensating mechanisms


Profiling, Caching, Prefetching


Examples:


TCP & congestion control


Detection
: Use of timers/timeouts.
States
: governed by window size


Coda (continued data availability) distributed file system


Hoarding
(prefetching),
Emulating
(local reads and writes),
Write
-
disconnected
(mixed mode),
Reintegration
(incorporate backlog of
changes to original remote files)

Mobility Characteristics


Location changes


location management
-

cost to locate
is added to communication


Heterogeneity in services


bandwidth restrictions and variability


Dynamic replication of data


data and services follow users


Querying data
-

location
-
based
responses


Security and authentication


System configuration is no longer
static

Mobile Systems


1.
Resource Poor

2.
Less Secure

3.
Poor Connectivity

4.
Less Energy



Dynamic Adaptation

System

Application

QoS

(re) negotitation


Dynamic Adaptation

Adaptivity to mobility:

What is affected?



Operating systems


File systems


Database systems


Programming Languages


Communication architecture and protocols


Hardware and architecture


Real
-
Time, multimedia, QoS


Security


Application requirements and design



Context
-
Aware

Computing

Context awareness:
adaptability


Context awareness


Resource awareness


Adapt

to available resources (connectivity, nearby
devices


Situation awareness


Adapt

to the situation (mode, location, time, event)


Intention awareness (?)


Adapt

to what the user wants to do

Defining Context


Dictionary definition: “the interrelated conditions
in which something exists or occurs”


One definition [Schilit]:


Computing context
: connectivity, communication cost,
bandwidth, nearby resources (printers, displays,
PCs)…


User context
: user profile, location, nearby people,
social situation, activity, mood …


Physical context
: temperature, lighting, noise, traffic
conditions …


also:


Time context

(time of day, week, month, year…)


Context history

can also be useful


Context (cont’d)


Is all this information necessary?



“Context

is

the

set

of

environmental

states

and

settings

that

either

determines

an

application’s

behavior

or

in

which

an

application

event

occurs

and

is

interesting

to

the

user



Active

context
:

influences

the

behavior

of

the

application


Location

in

a

call

forwarding

application


Passive

context
:

context

that

is

relevant

but

not

critical


Active

map

application
:

display

location

name

and

other

people

in

the

room



Is all this information measurable?


Temperature? Location? People around? Social
situation? Mood?

Context
-
Aware computing


How to take advantage of this context information?


Schilit’s classification of CA applications:

1.
Proximate selection
: user interface where nearby objects are
emphasized/made easier to choose

2.
Automatic contextual reconfiguration
: a process of
adding/removing components or changing relationships
between components based on context change

3.
Contextual information and commands
: produce different results
according to the context in which they are issued

4.
Context
-
triggered actions
: rules to specify how the system
should adapt


Are these fundamental/inclusive?

Location
-
Based Services

Requirements


Geocoder (convert street
addresses to latitude /
longitude), Reverse geocoder


Address Helper (many
addresses inaccurate or
incomplete)


Map data


Points of Interest data e.g.
pubs, restaurants, cinemas


Business Directory (doctors,
plumbers etc by location)


Connection to Telco or satellite

Issues


Content providers


Telcos
jealously guarding own domain


Proprietary software e.g.
Windows Live


Price of map data varies
widely, very expensive in some
countries e.g. Australia


Integration into customer’s web
sites (API’s)


Cognitive Routing


routing /
directions using terminology
relevant to user (e.g. resident
c/f tourist)


Mobile social networking meets location
based services


Mobile friend tracking & directory services


Proprietary internal messaging connectable
to any messaging service


Friends become closer than ever because
you know where they are


Location from GPS+map service

LBS + Social Networking:

BuddyFinder App

Mobile Computing Applications


Applications:


Vertical: vehicle dispatching, tracking, point of
sale, information service (yellow pages), Law
enforcement


Horizontal: mail enabled applications, filtered
information provision, collaborative
computing…

Excercise


Name a smartphone app and identify its
adaptability and context awareness


Handling variable resources


Connection, battery


Handling variable context


Location, time

Wireless
Communications

and Networks

Wireless Networks

10 kbps

100 kbps

1Mbps

10Mbps

100Mbps

1 m

10 m

100 m

1 km

10 km

100 km

WPAN

(ZigBee,

Bluetooth)

2G

3G

WLAN

(WiFi)

WMAN

(WiMAX)

Satellite

Wireless Networks


Cellular

-

GSM (Europe+), TDMA & CDMA (US)


FM: 1.2
-
9.6 Kbps; Digital: 9.6
-
14.4 Kbps (ISDN
-
like services)


Cellular Subscribers in the United States:


90,000 in 1984 (<0.1%); 4.4 million in 1990 (2.1%);

13 million in 1994; 120 million in 2000; 187.6 million by 2004 (Cahner
In
-
State Group Report).


Handheld computer market will grow to $1.77 billion by 2002


Public Packet Radio

-

Proprietary


19.2 Kbps (raw), 9.6 Kbps (effective)


Private and Share Mobile Radio


Paging Networks



typically one
-
way communication


low receiving power consumption


Satellites



wide
-
area coverage (GEOS, MEOS, LEOS)


LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink)

Wireless Networks (Cont.)


Wireless Local Area Networks


IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent
WaveLan.


Radio or Infrared frequencies: 1.2 Kbps
-
15 Mbps


Wireless Metropolitan Area Networks


IEEE 802.16 Worldwide Interoperability for Microwave Access
(WiMAX)


Microwave frequencies (2.5
-
66GHz), broadband (<70MBps), metropolitan
coverage (1 to 30 miles)


Packet Data Networks


ARDIS


RAM


Cellular Digital Packet Data (CDPD)


Private Networks


Public safety, UPS.

Wireless Local Area Network


Data services: IP packets


Coverage Area: Offices,
buildings, campuses


Roaming: Within
deployed systems


Internet access: via LAN.


Type of services: Data at
near LAN speed.


Variant Connectivity


Low bandwidth and
reliability


Frequent disconnections


predictable or sudden


Asymmetric
Communication


Broadcast medium


Monetarily expensive


Charges per connection or
per message/packet


Connectivity may be weak, intermittent and expensive


Portability Characteristics


Battery power restrictions


transmit/receive, disk
spinning, display, CPUs,
memory consume power


Battery lifetime will see very
small increase


need energy efficient
hardware (CPUs, memory)
and system software


planned disconnections
-

doze
mode



Power consumption vs.
resource utilization



Resource constraints


Mobile computers are
resource poor


Reduce program size


interpret script languages
(Mobile Java?)


Computation and
communication load cannot be
distributed equally


Small screen sizes




Asymmetry between static and
mobile computers

Wireless Sensor
Networking: Applications
and Challenges

Based on Slides by Prof. Loren Schwiebert, CS, Wayne State
University



What is a Wireless Sensor
Network?


Wireless Sensor Node

=
Sensor + Actuator + ADC +
Microprocessor + Powering
Unit + Communication Unit
(RF Transceiver)


An
ad hoc network

of
self
-
powered

and
self
-
configuring

sensor nodes for
collectively
sensing

environmental data
and
performing data
aggregation and actuation

functions
reliably, efficiently,
and accurately
.

GPS Sensor Node

Limitations of Wireless Sensors


Wireless sensor nodes have
many
limitations
:


Modest processing

power


8 MHz


Very
little storage



a few hundred kilobits


Short
communication

range


consumes a lot
of power


Small form factor


several mm
3


Minimal energy



constrains protocols


Batteries have a finite lifetime


Passive devices provide little energy

Some Sample Applications


Industrial

and
Commercial

Uses


Inventory Tracking


RFID


Automated Machinery Monitoring


Smart Home

or Smart Office


Energy Conservation


Automated Lighting


Military

Surveillance and Troop Support


Chemical or Biological Weapons Detection


Enemy Troop Tracking


Traffic

Management and Monitoring

Retinal Implant

Cortical Implant

Sensor
-
Based Visual Prostheses

Typical Sensor Node Features


A sensor node has:


Sensing Material


Physical



Magnetic, Light, Sound


Chemical



CO, Chemical Weapons


Biological



Bacteria, Viruses, Proteins


Integrated Circuitry (VLSI)


A
-
to
-
D converter from sensor to circuitry


Packaging for environmental safety



Power Supply


Passive



Solar, Vibration


Active



Battery power, RF Inductance

Traffic Management &
Monitoring


Future cars could use
wireless sensors to:


Handle Accidents


Handle Thefts


Sensors embedded
in the roads to:


Monitor traffic flows


Provide real
-
time
route updates

Ayus
hman
*: A Pervasive Healthcare System


Project @ IMPACT Lab,
Arizona State University



To provide a dependable,
non
-
intrusive, secure, real
-
time automated health
monitoring.



Should be scalable and
flexible enough to be used
in diverse scenarios from
home based monitoring to
disaster relief, with minimal
customization.

Vision

* Sanskrit for long life


To provide a realistic environment (test
-
bed) for testing communication


protocols and systems for medical applications.


K
.

Venkatasubramanian,

G
.

Deng,

T
.

Mukherjee,

J
.

Quintero,

V

Annamalai

and

S
.

K
.

S
.

Gupta,

"Ayushman
:

A

Wireless

Sensor

Network

Based

Health

Monitoring

Infrastructure

and


Testbed
",

In

Proc
.

of

IEEE

DCOSS

June

2005


Environmental

Sensors (Temperature etc)

Medical Sensors

(EKG, BP) controlled

By Mica2 motes

Body Based


Intelligence

Home/Ward Based

Intelligence

External Gateway

Central Server

Medical Facility Based


Intelligence

Medical

Professional

Internet

Stargate

Gateway

Ayus
hman
: Current Setup

Internet

Environmental

Data (accelerometer,

Temperature, humidity,

Light)

Blood Pressure

Oximeter

ZigBee

802.11

Remote Clients

Central Server

Base

Station

Body Area Network

RS232

Properties


Hardware and software based architecture


Multi
-
tiered organization


Real
-
time, continuous data collection


Query support (past, current data)


Remote monitoring capability through the Internet


Simple alarm generation

database

Enabling Technologies

Mica2

TelosB

Imote2

Mica2Dot

Iris

MicaZ

Commercially available sensor
boards

Open source OS with support for ad
hoc networking

+

Phone to WSN Interface


Design Principles:


To minimize the changes to the existing WSN
architecture
(required to maintain backward
compatibility with previous apps.)



To leverage COTS hardware and existing
software solutions
(to minimize the
development time)
.



Issues to address:


Phone to sensors interface



Data handling on the cell phone

Monitoring and
Control Software

Context Generation

Physiological

(EKG, Perspiration,

Heart Rate)

Environmental

(Humidity, Temp)


Spatial

(Home, Gym, Office,

Hospital, Park)


Temporal

(Morning, Evening,

Night)


Sensor Network

Knowledge


Context

Processor

Medical Context



Is an aggregate of 4 base contexts.



Each physiological event has to be
characterized by all 4 base contexts for
accurate understanding of patient’s


health.



A
contextual template

can be created for
specific physiological events for future
reference.



Challenges



How to determine the
aggregate medical context
from the four
base

contexts?



How to create a contextual
template for a patient?

Aggregate

Context

Base Context

Security in Pervasive Healthcare

Context


Patient data is transmitted wirelessly by low capability sensors


Patient data is therefore easy to eavesdrop on


Security schemes utilized may not be strong enough for cryptanalysis




Patient data is stored in electronic format and is available through the Internet


Makes it easy to access from around the world and easy to copy


Data can be moved across administrative boundaries easily bypassing legal issues.



Electronic health records store more and more sensitive information such as psych reports and HIV status



Preserving patient’s privacy is a
legal requirement

(HIPAA)


Excruciating Factors



Wireless connectivity is
always on



No clear understanding of:


Trusted parties


Security policies for medical environment



Devices are heterogeneous with
limited

capabilities



Traditional schemes
too expensive

for long term usage

Security Related Issues

New Attacks


Fake emergency warnings
.


Legitimate

emergency
warnings

prevented

from being reported in times.


Unnecessary communication

by
malicious entity with sensors can cause:


Battery power depletion


Tissue heating

Technology


Efficient

cryptographic

primitives


Cheaper encryption, hash functions


Better sensor

hardware

design


Cheap, tamper
-
resistant sensor
hardware


Better

communication
protocol

design


Better techniques for
controlling
access

to patient
EHR

Legislation


Health Information Privacy and
Accountability Act (HIPAA)


Passed in 1995


Provides necessary privacy protection for
health data


Developed in response to public concern
over abuse of privacy in health
information


Establishes categories of health
information which may be used or
disclosed

Requirements


Integrity

-

Ensure that information is accurate,
complete, and has not been altered in any way.


Confidentiality

-

Ensure that information is only
disclosed to those who are authorized to see it.


Authentication



Ensure correctness of claimed
identity.


Authorization



Ensure permissions granted for
actions performed by entity.

Energy Efficiency

Need


Sensors have very small
battery source.


Sensors need to be active for
long time durations.


For implantable sensors, it is
not possible to replace battery
at short intervals.


Challenge


Battery power not increasing at
same rate as processing
power.


Small size (hence less energy)
of the batteries in sensors.

Solutions

Solar Energy

Better Battery

Vibration

Body Thermal Power

End of class


Follow
-
up question in on
-
line discussion


Next
class


Topic: Pervasive Location
-
based services


Review material:
Chapters 2 & 4 of the
textbook

Assignment 1: Health
Monitoring App in Android


Extra Slides

Mobile Computing Applications:

Vertical Applications


Serve a narrow, niche application domain




Services dispatch (taxi, fire, police, trucking)




Sales tracking (point of sale, market trends)




Mail and package tracking (courier, postal)


Relatively easy to implement due to


restrictions and assumptions




homogeneous MUs




limited numbers of users


Mobile Computing Applications:

Horizontal Applications


Broad, domain
-
independent applications serving
a mass
-
market




Electronic Mail and News




Yellow Pages Directory Services




Multimedia Merchant Catalogs




Digital Libraries




Location
-
based Information Filtering


Driving force of mobile computing research