Published on

  • Be the first to comment

  • Be the first to like this

No Downloads
Total views
On SlideShare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • Commercially available sensor boards and “out of the box” ad hoc networking using TinyOS allow the researchers for rapid sensor network deployments.
  • Basic Idea: to use a phone to monitor/control an ad-hoc network of sensor nodes. What is the easiest way to connect a phone to a WSN ensuring short development time and compatibility with existing solutions?
  • slides

    1. 1. Context-Aware Computing CSE494/598 Mobile Health and Social Networking
    2. 2. Context awareness: the essence of adaptability <ul><li>Context awareness </li></ul><ul><ul><li>Resource awareness </li></ul></ul><ul><ul><ul><li>Adapt to available resources (connectivity, nearby devices </li></ul></ul></ul><ul><ul><li>Situation awareness </li></ul></ul><ul><ul><ul><li>Adapt to the situation (mode, location, time, event) </li></ul></ul></ul><ul><ul><li>Intention awareness (?) </li></ul></ul><ul><ul><ul><li>Adapt to what the user wants to do </li></ul></ul></ul><ul><li>Context awareness is found in humans </li></ul><ul><ul><li>We always adapt our behavior and actions according to the context (i.e. situation) </li></ul></ul><ul><ul><li>Pervasive computing devices that ubiquitously accompany humans (such as smartphones) must adapt accordingly </li></ul></ul><ul><ul><ul><li>Or risk being disruptive and annoying </li></ul></ul></ul>
    3. 3. Defining Context <ul><li>One definition [Schilit]: </li></ul><ul><ul><li>Computing context : connectivity, communication cost, bandwidth, nearby resources (printers, displays, PCs)… </li></ul></ul><ul><ul><li>User context : user profile, location, nearby people, social situation, activity, mood … </li></ul></ul><ul><ul><li>Physical context : temperature, lighting, noise, traffic conditions … </li></ul></ul><ul><ul><li>Temporal context (time of day, week, month, year…) </li></ul></ul><ul><ul><li>Context history can also be useful </li></ul></ul><ul><li>Another definition [Abowd & Mynatt] : </li></ul><ul><ul><li>Social context : user identity and human partner identities </li></ul></ul><ul><ul><li>Functional context : what is being done, what needs to be done </li></ul></ul><ul><ul><li>Location context : where it is happening </li></ul></ul><ul><ul><li>Temporal context : when it is happening </li></ul></ul><ul><ul><li>Motivation context : why it is happening (purpose) </li></ul></ul><ul><li>Dictionary definition </li></ul><ul><ul><li>“ the interrelated conditions in which something exists or occurs” </li></ul></ul><ul><li>Definition for pervasive computing </li></ul><ul><ul><li>“ any parameters that the application needs to perform a task without being explicitly given by the user” </li></ul></ul>
    4. 4. Context (cont’d) <ul><li>Other classifications of context: </li></ul><ul><ul><li>Low-level vs High-level context </li></ul></ul><ul><ul><li>Active vs Passive context </li></ul></ul><ul><li>Putting it all together </li></ul><ul><ul><li>Gather low-level context </li></ul></ul><ul><ul><li>Process and generate high-level context </li></ul></ul><ul><ul><li>Separate active from passive context </li></ul></ul><ul><ul><li>adjust </li></ul></ul>social temporal motivational location user Sensor data computing Low-level context Context processing high-level context Context-aware application active context passive context
    5. 5. Context-Aware Application Design <ul><li>How to take advantage of this context information? </li></ul><ul><li>Schilit’s classification of CA applications: </li></ul><ul><ul><li>Proximate selection : </li></ul></ul><ul><ul><ul><li>closely related objects & actions are emphasized/made easier to choose </li></ul></ul></ul><ul><ul><li>Automatic contextual reconfiguration : adding/removing components or changing relationships between components based on context </li></ul></ul><ul><ul><ul><li>Switch to a different operation mode </li></ul></ul></ul><ul><ul><ul><li>Enable or disable functionality </li></ul></ul></ul><ul><ul><ul><li>Context-triggered actions : rules to specify how the system should adapt </li></ul></ul></ul><ul><ul><li>Contextual information and commands : produce different results according to the context in which they are issued </li></ul></ul><ul><ul><ul><li>Narrow-down the output to the user using the context </li></ul></ul></ul><ul><ul><ul><li>Broaden the output to the user using the context </li></ul></ul></ul><ul><li>Is this classification fundamental/inclusive? </li></ul>
    6. 6. Context-Aware functionality: Examples <ul><li>System optimization: </li></ul><ul><ul><li>power-save mode, silent mode etc </li></ul></ul><ul><li>Connection optimization: </li></ul><ul><ul><li>Protocol selection, compression rate etc </li></ul></ul><ul><li>Application Functionality </li></ul><ul><ul><li>… </li></ul></ul><ul><li>Presentation </li></ul><ul><ul><li>Image orientation, locale etc </li></ul></ul>
    7. 7. Location-Based Services <ul><li>Requirements </li></ul><ul><ul><li>Geocoder (convert street addresses to latitude / longitude), Reverse geocoder </li></ul></ul><ul><ul><li>Address Helper (many addresses inaccurate or incomplete) </li></ul></ul><ul><ul><li>Map data </li></ul></ul><ul><li>Data Repository: </li></ul><ul><ul><li>Points of Interest data e.g. pubs, restaurants, cinemas </li></ul></ul><ul><ul><li>Business Directory (doctors, plumbers etc by location) </li></ul></ul><ul><ul><li>Location-based Inventory </li></ul></ul><ul><li>Issues </li></ul><ul><ul><li>Content providers – Telcos jealously guarding own domain </li></ul></ul><ul><ul><li>Proprietary software e.g. Windows Live </li></ul></ul><ul><ul><li>Price of map data varies widely, very expensive in some countries e.g. Australia </li></ul></ul><ul><ul><li>Integration into customer’s web sites (API’s) </li></ul></ul><ul><ul><li>Cognitive Routing – routing / directions using terminology relevant to user (e.g. resident c/f tourist) </li></ul></ul>
    8. 8. LBS + Navigation <ul><li>Basic form of Location-based services </li></ul><ul><ul><li>Map service (Geocoder) </li></ul></ul><ul><ul><li>“ You are here” service </li></ul></ul><ul><ul><li>Route discovery and generation of directions </li></ul></ul><ul><li>Add-ons </li></ul><ul><ul><li>Voice-activated </li></ul></ul><ul><ul><li>Adjust route to traffic and accident conditions </li></ul></ul><ul><ul><li>Integration with calendar and address book </li></ul></ul><ul><ul><ul><li>Notify target partner of arrival </li></ul></ul></ul><ul><li>android.location </li></ul><ul><ul><li>Classes defining Android location-based and related services. </li></ul></ul><ul><li>Interfaces </li></ul><ul><ul><li>LocationListener : Used for receiving notifications from the LocationManager when the location has changed. </li></ul></ul><ul><li>Classes </li></ul><ul><ul><li>Address : represents an Address, i.e, a set of Strings describing a location. </li></ul></ul><ul><ul><li>Geocoder : handles geocoding and reverse geocoding. </li></ul></ul><ul><ul><li>Location : represents a geographic location sensed at a particular time (a &quot;fix&quot;). </li></ul></ul><ul><ul><li>Criteria : indicates the application criteria for selecting a location provider. </li></ul></ul><ul><ul><li>LocationManager : provides access to the system location services. </li></ul></ul><ul><ul><li>LocationProvider : An abstract superclass for location providers. </li></ul></ul>
    9. 9. LBS + Social Networking: BuddyFinder App <ul><li>Mobile social networking meets location based services </li></ul><ul><li>Mobile friend tracking & directory services </li></ul><ul><li>Proprietary internal messaging connectable to any messaging service </li></ul><ul><li>Friends become closer than ever because you know where they are </li></ul><ul><li>Location from GPS+map service </li></ul><ul><ul><li>Extension of LBS+Navigation? </li></ul></ul>
    10. 10. In-class excercise <ul><li>Group up by table </li></ul><ul><li>Name a smartphone app (existing or imaginary) and identify its adaptability and context awareness </li></ul><ul><ul><li>Handling variable resources </li></ul></ul><ul><ul><ul><li>Connection, battery </li></ul></ul></ul><ul><ul><li>Handling variable context </li></ul></ul><ul><ul><ul><li>Location, time </li></ul></ul></ul>
    11. 11. In-class exercise, feedback Table 1 Table 2 Table 3 Table 4 Table 5 Table 6 Application Google maps Secure gateway Hitch-hikers Party Management Mood-based music player Meeting scheduler (calendar and email) Context <ul><li>Your location </li></ul>Security gateway availability <ul><li>Location </li></ul><ul><li>destination </li></ul><ul><li>Location </li></ul><ul><li>Partners </li></ul><ul><li>Neighbor’s mood </li></ul>Situtation Mood Current time, meeting time Adaptivity <ul><li>Center/zoon to your location </li></ul>Pre-authorized access Matching hitch-hikers to drivers Order list Playlist Adjust music and volume Notify of delays
    12. 12. Wireless Communications and Networks
    13. 13. 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
    14. 14. Wireless Networks <ul><li>Cellular - GSM (Europe+), TDMA & CDMA (US) </li></ul><ul><ul><ul><li>FM: 1.2-9.6 Kbps; Digital: 9.6-14.4 Kbps (ISDN-like services) </li></ul></ul></ul><ul><ul><ul><li>Cellular Subscribers in the United States: </li></ul></ul></ul><ul><ul><ul><ul><li>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). </li></ul></ul></ul></ul><ul><ul><ul><ul><li>Handheld computer market will grow to $1.77 billion by 2002 </li></ul></ul></ul></ul><ul><li>Public Packet Radio - Proprietary </li></ul><ul><ul><ul><li>19.2 Kbps (raw), 9.6 Kbps (effective) </li></ul></ul></ul><ul><li>Private and Share Mobile Radio </li></ul><ul><li>Paging Networks – typically one-way communication </li></ul><ul><ul><ul><li>low receiving power consumption </li></ul></ul></ul><ul><li>Satellites – wide-area coverage (GEOS, MEOS, LEOS) </li></ul><ul><ul><ul><li>LEOS: 2.4 Kbps (uplink), 4.8Kbps (downlink) </li></ul></ul></ul>
    15. 15. Wireless Networks (Cont.) <ul><li>Wireless Local Area Networks </li></ul><ul><ul><li>IEEE 802.11 Wireless LAN Standard based systems, e.g., Lucent WaveLan. </li></ul></ul><ul><ul><ul><li>Radio or Infrared frequencies: 1.2 Kbps-15 Mbps </li></ul></ul></ul><ul><li>Wireless Metropolitan Area Networks </li></ul><ul><ul><li>IEEE 802.16 Worldwide Interoperability for Microwave Access (WiMAX) </li></ul></ul><ul><ul><ul><li>Microwave frequencies (2.5-66GHz), broadband (<70MBps), metropolitan coverage (1 to 30 miles) </li></ul></ul></ul><ul><li>Packet Data Networks </li></ul><ul><ul><li>ARDIS </li></ul></ul><ul><ul><li>RAM </li></ul></ul><ul><ul><li>Cellular Digital Packet Data (CDPD) </li></ul></ul><ul><li>Private Networks </li></ul><ul><ul><li>Public safety, UPS. </li></ul></ul>
    16. 16. Wireless Local Area Network <ul><li>Data services: IP packets </li></ul><ul><li>Coverage Area: Offices, buildings, campuses </li></ul><ul><li>Roaming: Within deployed systems </li></ul><ul><li>Internet access: via LAN. </li></ul><ul><li>Type of services: Data at near LAN speed. </li></ul><ul><li>Variant Connectivity </li></ul><ul><ul><li>Low bandwidth and reliability </li></ul></ul><ul><li>Frequent disconnections </li></ul><ul><ul><li>predictable or sudden </li></ul></ul><ul><li>Asymmetric Communication </li></ul><ul><ul><li>Broadcast medium </li></ul></ul><ul><li>Monetarily expensive </li></ul><ul><ul><li>Charges per connection or per message/packet </li></ul></ul><ul><li>Connectivity may be weak, intermittent and expensive </li></ul>
    17. 17. Network support by Android <ul><li> </li></ul><ul><ul><li>Classes that help with network access, beyond the normal* APIs. more... </li></ul></ul><ul><li>Classes </li></ul><ul><ul><li>ConnectivityManager : answers queries about the state of network connectivity. </li></ul></ul><ul><ul><li>DhcpInfo : A simple object for retrieving the results of a DHCP request. </li></ul></ul><ul><ul><li>MailTo : MailTo URL parses a mailto scheme URL and then can be queried for the parsed parameters. </li></ul></ul><ul><ul><li>NetworkInfo : Describes the status of a network interface of a given type </li></ul></ul><ul><ul><li>Proxy : A convenience class for accessing the user and default proxy settings. </li></ul></ul><ul><ul><li>Uri :Immutable URI reference. </li></ul></ul><ul><li> </li></ul><ul><ul><li>Provides classes to manage Wi-Fi functionality on the device. more... </li></ul></ul><ul><li>Classes </li></ul><ul><ul><li>ScanResult : Describes information about a detected access point. </li></ul></ul><ul><ul><li>WifiConfiguration : A class representing a configured Wi-Fi network, including the security configuration. </li></ul></ul><ul><ul><li>WifiConfiguration.Protocol : Recognized security protocols. </li></ul></ul><ul><ul><li>WifiConfiguration.Status : Possible status of a network configuration. </li></ul></ul><ul><ul><li>WifiInfo : Describes the state of any Wifi connection that is active or is in the process of being set up. </li></ul></ul><ul><ul><li>WifiManager : This class provides the primary API for managing all aspects of Wi-Fi connectivity. </li></ul></ul><ul><ul><li>WifiManager.WifiLock : Allows an application to keep the Wi-Fi radio awake. </li></ul></ul>
    18. 18. Network support by Android <ul><li>Other packages </li></ul><ul><ul><li> </li></ul></ul><ul><ul><li> </li></ul></ul><ul><ul><li>org.apache.http </li></ul></ul><ul><li>android.telephony.gsm </li></ul><ul><ul><li>Provides APIs for utilizing GSM-specific telephony features, such as text/data/PDU SMS messages. more... </li></ul></ul><ul><li>Classes </li></ul><ul><ul><li>GsmCellLocation : Represents the cell location on a GSM phone. </li></ul></ul><ul><ul><li>SmsManager : Manages SMS operations such as sending data, text, and pdu SMS messages. </li></ul></ul><ul><ul><li>SmsMessage : A Short Message Service message. </li></ul></ul>
    19. 19. Wireless Sensor Networks
    20. 20. What is a Wireless Sensor Network? <ul><li>Wireless Sensor Node = Sensor + Actuator + ADC + Microprocessor + Powering Unit + Communication Unit (RF Transceiver) </li></ul><ul><li>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 . </li></ul>GPS Sensor Node
    21. 21. Limitations of Wireless Sensors <ul><li>Wireless sensor nodes have many limitations : </li></ul><ul><ul><li>Modest processing power – 8 MHz </li></ul></ul><ul><ul><li>Very little storage – a few hundred kilobits </li></ul></ul><ul><ul><li>Short communication range – consumes a lot of power </li></ul></ul><ul><ul><li>Small form factor – several mm 3 </li></ul></ul><ul><ul><li>Minimal energy – constrains protocols </li></ul></ul><ul><ul><ul><li>Batteries have a finite lifetime </li></ul></ul></ul><ul><ul><ul><li>Passive devices provide little energy </li></ul></ul></ul>
    22. 22. Some Sample Applications <ul><li>Industrial and Commercial Uses </li></ul><ul><ul><li>Inventory Tracking – RFID </li></ul></ul><ul><ul><li>Automated Machinery Monitoring </li></ul></ul><ul><li>Smart Home or Smart Office </li></ul><ul><ul><li>Energy Conservation </li></ul></ul><ul><ul><li>Automated Lighting </li></ul></ul><ul><li>Military Surveillance and Troop Support </li></ul><ul><ul><li>Chemical or Biological Weapons Detection </li></ul></ul><ul><ul><li>Enemy Troop Tracking </li></ul></ul><ul><li>Traffic Management and Monitoring </li></ul>
    23. 23. Sensor-Based Visual Prostheses Retinal Implant Cortical Implant
    24. 24. Typical Sensor Node Features <ul><li>A sensor node has: </li></ul><ul><ul><li>Sensing Material </li></ul></ul><ul><ul><ul><li>Physical – Magnetic, Light, Sound </li></ul></ul></ul><ul><ul><ul><li>Chemical – CO, Chemical Weapons </li></ul></ul></ul><ul><ul><ul><li>Biological – Bacteria, Viruses, Proteins </li></ul></ul></ul><ul><ul><li>Integrated Circuitry (VLSI) </li></ul></ul><ul><ul><ul><li>A-to-D converter from sensor to circuitry </li></ul></ul></ul><ul><ul><li>Packaging for environmental safety </li></ul></ul><ul><ul><li>Power Supply </li></ul></ul><ul><ul><ul><li>Passive – Solar, Vibration </li></ul></ul></ul><ul><ul><ul><li>Active – Battery power, RF Inductance </li></ul></ul></ul>
    25. 25. Traffic Management & Monitoring <ul><li>Future cars could use wireless sensors to: </li></ul><ul><ul><li>Handle Accidents </li></ul></ul><ul><ul><li>Handle Thefts </li></ul></ul><ul><li>Sensors embedded in the roads to: </li></ul><ul><ul><li>Monitor traffic flows </li></ul></ul><ul><ul><li>Provide real-time route updates </li></ul></ul>
    26. 26. Ayus hman *: A Pervasive Healthcare System <ul><li>Project @ IMPACT Lab, Arizona State University </li></ul><ul><li>To provide a dependable, non-intrusive, secure, real-time automated health monitoring. </li></ul><ul><li>Should be scalable and flexible enough to be used in diverse scenarios from home based monitoring to disaster relief, with minimal customization. </li></ul>Vision * Sanskrit for long life <ul><li>To provide a realistic environment (test-bed) for testing communication </li></ul><ul><li>protocols and systems for medical applications.  </li></ul>K. Venkatasubramanian, G. Deng, T. Mukherjee, J. Quintero, V Annamalai and S. K. S. Gupta, &quot;Ayushman: A Wireless Sensor Network Based Health Monitoring Infrastructure and Testbed &quot;, 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
    27. 27. 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 <ul><li>Properties </li></ul><ul><li>Hardware and software based architecture </li></ul><ul><li>Multi-tiered organization </li></ul><ul><li>Real-time, continuous data collection </li></ul><ul><li>Query support (past, current data) </li></ul><ul><li>Remote monitoring capability through the Internet </li></ul><ul><li>Simple alarm generation </li></ul>database Bluetooth
    28. 28. Enabling Technologies Commercially available sensor boards Open source OS with support for ad hoc networking + TOS v.1.x-2.0 Ad-hoc Networking Mica2 TelosB Imote2 Mica2Dot Iris MicaZ
    29. 29. Phone to WSN Interface <ul><li>Design Principles: </li></ul><ul><ul><li>To minimize the changes to the existing WSN architecture (required to maintain backward compatibility with previous apps.) </li></ul></ul><ul><ul><li>To leverage COTS hardware and existing software solutions (to minimize the development time) . </li></ul></ul><ul><li>Issues to address: </li></ul><ul><ul><li>Phone to sensors interface </li></ul></ul><ul><ul><li>Data handling on the cell phone </li></ul></ul>Monitoring and Control Software
    30. 30. 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 <ul><li>Medical Context </li></ul><ul><li>Is an aggregate of 4 base contexts. </li></ul><ul><li>Each physiological event has to be characterized by all 4 base contexts for accurate understanding of patient’s </li></ul><ul><li>health. </li></ul><ul><li>A contextual template can be created for specific physiological events for future reference. </li></ul><ul><li>Challenges </li></ul><ul><li>How to determine the aggregate medical context from the four base contexts? </li></ul><ul><li>How to create a contextual template for a patient? </li></ul>Aggregate Context Base Context
    31. 31. Security in Pervasive Healthcare <ul><li>Context </li></ul><ul><li>Patient data is transmitted wirelessly by low capability sensors </li></ul><ul><ul><li>Patient data is therefore easy to eavesdrop on </li></ul></ul><ul><ul><li>Security schemes utilized may not be strong enough for cryptanalysis </li></ul></ul><ul><li>Patient data is stored in electronic format and is available through the Internet </li></ul><ul><ul><li>Makes it easy to access from around the world and easy to copy </li></ul></ul><ul><ul><li>Data can be moved across administrative boundaries easily bypassing legal issues. </li></ul></ul><ul><li>Electronic health records store more and more sensitive information such as psych reports and HIV status </li></ul><ul><li>Preserving patient’s privacy is a legal requirement (HIPAA) </li></ul><ul><li>Excruciating Factors </li></ul><ul><li>Wireless connectivity is always on </li></ul><ul><li>No clear understanding of: </li></ul><ul><ul><li>Trusted parties </li></ul></ul><ul><ul><li>Security policies for medical environment </li></ul></ul><ul><li>Devices are heterogeneous with limited capabilities </li></ul><ul><li>Traditional schemes too expensive for long term usage </li></ul>
    32. 32. Security Related Issues <ul><li>New Attacks </li></ul><ul><li>Fake emergency warnings . </li></ul><ul><li>Legitimate emergency warnings prevented from being reported in times. </li></ul><ul><li>Unnecessary communication by malicious entity with sensors can cause: </li></ul><ul><ul><ul><li>Battery power depletion </li></ul></ul></ul><ul><ul><ul><li>Tissue heating </li></ul></ul></ul><ul><li>Technology </li></ul><ul><li>Efficient cryptographic primitives </li></ul><ul><ul><li>Cheaper encryption, hash functions </li></ul></ul><ul><li>Better sensor hardware design </li></ul><ul><ul><li>Cheap, tamper-resistant sensor hardware </li></ul></ul><ul><li>Better communication protocol design </li></ul><ul><li>Better techniques for controlling access to patient EHR </li></ul><ul><li>Legislation </li></ul><ul><li>Health Information Privacy and Accountability Act (HIPAA) </li></ul><ul><ul><li>Passed in 1995 </li></ul></ul><ul><ul><li>Provides necessary privacy protection for health data </li></ul></ul><ul><ul><li>Developed in response to public concern over abuse of privacy in health information </li></ul></ul><ul><ul><li>Establishes categories of health information which may be used or disclosed </li></ul></ul><ul><li>Requirements </li></ul><ul><li>Integrity - Ensure that information is accurate, complete, and has not been altered in any way. </li></ul><ul><li>Confidentiality - Ensure that information is only disclosed to those who are authorized to see it. </li></ul><ul><li>Authentication – Ensure correctness of claimed identity. </li></ul><ul><li>Authorization – Ensure permissions granted for actions performed by entity. </li></ul>
    33. 33. Energy Efficiency <ul><li>Need </li></ul><ul><li>Sensors have very small battery source. </li></ul><ul><li>Sensors need to be active for long time durations. </li></ul><ul><li>For implantable sensors, it is not possible to replace battery at short intervals. </li></ul><ul><li>Challenge </li></ul><ul><li>Battery power not increasing at same rate as processing power. </li></ul><ul><li>Small size (hence less energy) of the batteries in sensors. </li></ul>Solutions Solar Energy Better Battery Vibration Body Thermal Power
    34. 34. Challenges and Solution Approaches
    35. 35. Constrained resources: power <ul><li>Current technology </li></ul><ul><ul><li>Battery-powered devices </li></ul></ul><ul><ul><li>1150 mAh (G1), 1400 mAh (iPhone), 1300 mAh (Blackberry) </li></ul></ul><ul><li>Future technology </li></ul><ul><ul><li>Replenishable energy storage </li></ul></ul><ul><li>Until then: </li></ul><ul><ul><li>Power-save modes: wireless, screen etc. </li></ul></ul>
    36. 36. Constrained resources: connectivity <ul><li>Current technologies </li></ul><ul><ul><li>WiFi, WiMAX, Bluetooth, 3G </li></ul></ul><ul><ul><li>Possibly no coverage, intermittent interruptions, limited(?) bandwidth </li></ul></ul><ul><li>Future technology </li></ul><ul><ul><li>Still wireless, interchange between technologies, more availability & bandwidth </li></ul></ul><ul><li>Approaches: </li></ul><ul><ul><li>Disconnections: use of local cache, buffering </li></ul></ul><ul><ul><li>Adaptive encoding and compression </li></ul></ul>
    37. 37. Constrained resources: data consistency <ul><li>Direct effect of connectivity challenge </li></ul><ul><li>Approaches: </li></ul><ul><ul><li>Disallow offline writes, use online-only mode (NFS) </li></ul></ul><ul><ul><ul><li>System may become unresponsive during disconnections </li></ul></ul></ul><ul><ul><li>Distributed/Network file system (Coda, Andrew) </li></ul></ul><ul><ul><ul><li>Requires heavy clients with large cache </li></ul></ul></ul><ul><ul><ul><ul><li>May be too heavy for certain devices </li></ul></ul></ul></ul>
    38. 38. Constrained resources: computation <ul><li>Current technologies </li></ul><ul><ul><li>Blackberry 3G: Intel PXA901 312 MHz, 64 MB flash + 16 MB SDRAM </li></ul></ul><ul><ul><li>iPhone 3G: ARM 1176, 400/620 MHz 128 MB DRAM </li></ul></ul><ul><ul><li>G1: Qualcomm MSM7201A, 528MHz, 192 MB DDR SDRAM + 256 MB Flash </li></ul></ul><ul><li>Future technology </li></ul><ul><ul><li>Limited by wattage and available energy </li></ul></ul><ul><ul><li>Always behind desktop CPUs </li></ul></ul><ul><li>Approaches: </li></ul><ul><ul><li>Lightweight, streamlined O/S and applications </li></ul></ul>
    39. 39. Constrained resources: storage <ul><li>Current technologies </li></ul><ul><ul><li>iPhone 3G: Flash 16GB </li></ul></ul><ul><ul><li>G1: MicroSD (up to 16GB) </li></ul></ul><ul><li>Future technology </li></ul><ul><ul><li>Solid state hard drives </li></ul></ul><ul><li>Approaches: </li></ul><ul><ul><li>Stored data compression, selective data, remote storage </li></ul></ul>
    40. 40. Constrained resources: user interface methods <ul><li>Current technologies </li></ul><ul><ul><li>Display size: ~5ʺ </li></ul></ul><ul><ul><li>Constrained or no keyboard </li></ul></ul><ul><li>Future technologies </li></ul><ul><ul><li>There may be a convergence of input methods (e.g. touch screens, voice recognition) </li></ul></ul><ul><ul><li>presentation will continue to be different (audiovisual capabilities and sizes) </li></ul></ul><ul><li>Solution approaches </li></ul><ul><ul><li>Adjust content to match size of display (e.g. favor close-ups) </li></ul></ul><ul><ul><li>Use assistive methods (e.g. auto-completion, templates) </li></ul></ul>
    41. 41. Groups
    42. 42. Groups <ul><li>Group1 </li></ul><ul><ul><li>Logsdon, Brandon </li></ul></ul><ul><ul><li>Boyd, Jeffrey Michael </li></ul></ul><ul><ul><li>Yao, Robert James Y (?) </li></ul></ul><ul><li>Group 2 </li></ul><ul><ul><li>Olsen, Samuel H </li></ul></ul><ul><ul><li>Perambalam, Sivaguru </li></ul></ul><ul><ul><li>Viswanathan, Lakshmie Narayan </li></ul></ul><ul><li>Group 3 </li></ul><ul><ul><li>Bootz, Bradley Justin </li></ul></ul><ul><ul><li>Douglas, Robert Wayne </li></ul></ul><ul><ul><li>Freed, Natalie Anne </li></ul></ul><ul><li>Group 4 </li></ul><ul><ul><li>Krolikowski, Tomasz </li></ul></ul><ul><ul><li>Randolph, April A </li></ul></ul><ul><ul><li>Gutierrez, Pedro U </li></ul></ul><ul><li>Group 5 </li></ul><ul><ul><li>Chulick, Ryan Owen </li></ul></ul><ul><ul><li>Hursh, Nathaniel P </li></ul></ul><ul><ul><li>Trujillo, Miguel Zeniff </li></ul></ul><ul><li>Group 6 </li></ul><ul><ul><li>Deshpande, Koustubha Achyut </li></ul></ul><ul><ul><li>Neelakandan, Vikram </li></ul></ul><ul><ul><li>Abbasi, Zahra </li></ul></ul><ul><li>Group 7 </li></ul><ul><ul><li>Banerjee, Ayan </li></ul></ul><ul><ul><li>Thangavel, Karthik </li></ul></ul>