490 likes | 655 Views
The principles and concepts behind Smartphones. Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources
E N D
Embedded and pervasive computing platform Does not run general-purpose programs have conventional interface Persistent and ubiquitous device – must be pervasive Mobile Computing platform Operates on the go Adapts to available resources Wireless sensor platform It contains an array of sensors Context-aware EmbeddedComputingPlatform MobileComputing Platform WirelessSensor Platform Today’s talk:The triple nature of a smartphone
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)
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 Application QoS (re) negotitation System Dynamic Adaptation Mobility Characteristics
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 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 historycan 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: • Proximate selection: user interface where nearby objects are emphasized/made easier to choose • Automatic contextual reconfiguration: a process of adding/removing components or changing relationships between components based on context change • Contextual information and commands: produce different results according to the context in which they are issued • Context-triggered actions: rules to specify how the system should adapt • Are these fundamental/inclusive?
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) Location-Based Services
LBS + Social Networking:BuddyFinder App • 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
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 Networks 2G 3G Satellite 100 km WMAN (WiMAX) 10 km 1 km 100 m WLAN (WiFi) 10 m WPAN (ZigBee,Bluetooth) 1 m 10 kbps 100 kbps 1Mbps 10Mbps 100Mbps
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.
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 Wireless Local Area Network • Connectivity may be weak, intermittent and expensive
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 Portability Characteristics
Wireless Sensor Networking: Applications and Challenges Based on Slides by Prof. Loren Schwiebert, CS, Wayne State University
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. What is a Wireless Sensor Network? 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 mm3 • 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
Sensor-Based Visual Prostheses Retinal Implant Cortical Implant
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
Ayushman*: A Pervasive Healthcare System * Sanskrit for long life Environmental Sensors (Temperature etc) • 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. Internet Stargate Gateway External Gateway Central Server Medical Sensors (EKG, BP) controlled By Mica2 motes Medical Professional Home/Ward Based Intelligence Body Based Intelligence Medical Facility Based Intelligence Vision • 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
Ayushman: Current Setup database RS232 Base Station Oximeter 802.11 ZigBee Central Server Blood Pressure Environmental Data (accelerometer, Temperature, humidity, Light) Bluetooth Internet Body Area Network • 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 Remote Clients
Enabling Technologies Iris TOS v.1.x-2.0 MicaZ Imote2 Mica2Dot Ad-hoc Networking TelosB Mica2 + 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 • 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. Physiological (EKG, Perspiration, Heart Rate) Context Processor Spatial (Home, Gym, Office, Hospital, Park) Knowledge Aggregate Context Temporal (Morning, Evening, Night) Sensor Network • Challenges • How to determine the aggregate medical context from the four base contexts? • How to create a contextual template for a patient? Environmental (Humidity, Temp) 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 limitedcapabilities Traditional schemes too expensive for long term usage
Security Related Issues New Attacks Fake emergency warnings. Legitimate emergency warningsprevented from being reported in times. Unnecessary communication by malicious entity with sensors can cause: Battery power depletion Tissue heating Technology • Efficientcryptographic primitives • Cheaper encryption, hash functions • Better sensorhardware 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 Better Battery Solar Energy 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
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