170 likes | 243 Views
Challenges of Mobile Computing [Forman & Zahorjan, 1994]. Wireless Communication Disconnection Low Bandwidth High bandwidth variability Heterogenous network Security. Mobility Address migration Location-dependent information Migrating locality Portability
E N D
Challenges of Mobile Computing[Forman & Zahorjan, 1994] • Wireless Communication • Disconnection • Low Bandwidth • High bandwidth variability • Heterogenous network • Security
Mobility • Address migration • Location-dependent information • Migrating locality • Portability • Power consumption (see Table 1) • Form factor • Small user interface and storage capacity • Risks to data and physical damage
Xerox PARCTAB A first attempt at a thin handheld client for ubiquitous computing – office environment
Ubiquitous Computing Philosophy • Demand less of our attention than current computers • Advantages of an intelligently orchestrated and highly connected system. • Context-aware features • User’s current location • Identities of user and nearby people • Identities and status of nearby resources • Physical parameters (time, temperature, …)
PARCTAB Design Goals • Small, light and aesthetically pleasing • Reliable wireless connectivity • Tracking mechanism to know its location (resolution of a room) • Run on batteries for atleast one day without recharging • Allow casual interaction (even with one hand) • Display graphics & text, touch-screen • Reasonable cost of hardware and network
Hardware (1995!) • 12 MHz, 8-bit Intel 87C524 Microcontroller (with low power modes) • 128 KB memory • 2.4in*1.8in LCD (128*64 monochrome pixels) • Buttons + Touch-screen • 215g in weight (battery is 70g) • Consumes 27mA at 5V (normal) and 30uA (low power mode) – needs only around 1 charge per week (around 400 minutes)
Communication • Space and power constraints – Infrared (IR) • 9600/19200 baud • IR signals are contained by walls • One transceiver per room (cell) • Transceiver is connected to RS-232 port of a workstation in the room (which is on a LAN)
Transceiver • Coverage around 20ft radius • Performs transmission, receiving, coding, decoding, buffering, protocol checks. • Transmission: 2 dozen IR emitters placed at 15 degree intervals • Reception: 2 detectors provide 360 degree coverage
Transmission Control • Time division multiplexing of medium • CSMA protocol to provide access to IR channel with exponential backoff when busy. • Ack needed bit in Type forcing explicit acknowledgements 2 1 1 4 4 3-247 Type Len. Dest. Src. Payload CS
User Interface • Buttons + Touch-screen • Keyboard entry + Unistrokes • Display can only show 8 lines of 21 characters • Elision and incremental searches
Software Architecture Video Tab1 Agent RS232 Shell Tab1 IR Gateway Shell Tab2 Agent Tab4 Locate Shell Gateway IR Tab3 Agent Tab3 Vote Calendar Tab4 Agent Tab2 IR Gateway Shell Transceiver Mail Ethernet
Tabs resemble dumb terminals • Execute simple local functions in response to remote procedure calls (RPCs) • There is one tab agent for each tab that maintains current info. (eg location) • Request from application comes to agent, which forwards to appropriate gateway, which then sends it to transceiver on RS-232 to be broadcast using IR • Events from tab are sent to the appropriate agent in the reverse direction
Simple tab functions (displaytext, displaybitmap, generatetones, wakeup, etc) • Generates beacon events every 30 secs for location • Gateway uses a name service to locate tab agent • Appends a return address and location id to the agent • A centralized location service keeps track of each tab’s location that is updated by tab agent
Example Applications • Information access • Weather forecast, dictionary, thesaurus, file browser, WWW, Diary (of day’s activities) • Communication • Mail, locator, pager • Media applications • Computer supported collaboration • Group pointing, voting, … • Remote Control
The InfoPad Mutimedia Terminal • For wireless information access and display of multimedia data • Again a very thin client – does only wireless communication and I/O processing • It is like a switch between the backend and the I/O devices
Wireless Network Interface (FPGA) Speech Codec Display Video Decomp Keyboard, Pointer Processor ARM60 10MHz 512K RAM, 128K ROM Other I/O InfoPad Hardware