Authors: Jelena Mirkovi, mirkovic_j@yahoo.com Vlado Ili, otac@eunet.yu Andrija Bonjakovi, andrija@etf.bg.ac.yu Veljko Milutinovi, vm@etf.bg.ac.yu Ubiquitous Computing University of Belgrade 2/53 Preview You will learn about: Past computing trends The major development trend Ubiquitous computing (UC) Facts and myths Hardware (HW) issues Legal & Social issues Projects related to UC Aura Project Coda, Odyssey, Spectra, Prism Mobile Phones Programming - JAVA MIDP Ubiquitous Computing University of Belgrade 3/53 Intro
"Any technology sufficiently advanced is indistinguishable from magic. Arthur C. Clarke Ubiquitous Computing University of Belgrade 4/53 The Essence Of Understanding Computers Computer a job title! Computer science is the only major branch of science that is named after a gadget.[1]. What matters is not technology itself, but its impact on us and vice versa. Ubiquitous Computing University of Belgrade 5/53 The Major Trends in Computing Mainframe (Past) 1:N one computer shared by many people
Personal Computer (Present) 1:1 one computer, one person
N:1 *Internet - Widespread Distributed Computing* Ubiquitous N k :1 Computing many computers shared by each one of us [7] Ubiquitous Computing University of Belgrade 6/53 Phase I - The Mainframe Era Computers were a scarce resource run by experts behind closed doors. Ubiquitous Computing University of Belgrade 7/53 Phase II - The PC Era In 1984 the number of people using PCs surpassed that of people using mainframe computers. PC Era: You have your computer, it contains your stuff, and you interact directly and deeply with it. The PC is most analogous to the automobile. Ubiquitous Computing University of Belgrade 8/53 Transition Phase - The Internet The Internet brings together elements of the mainframe era and the PC era.
Client = PC Server = Mainframe Ubiquitous Computing University of Belgrade 9/53 Phase III - The UC Era The UC era will have lots of computers shared by each one of us. UC is fundamentally characterized by the connection of things in the world with computation. Frequently used related terms: Pervasive computing, Wearable computers, Intelligent environment, Things That Think (T), Wearware, Personal Area Networking (PAN).[3] Ubiquitous Computing University of Belgrade 10/53 UC - Definition Elements that define ubiquitous computing:[4] 1) Ubiquity/Pervasiveness lots of devices 2) Connectedness the devices are networked 3) Context-awareness the system is aware of the context of users 4) Invisibility device effectively becomes invisible Ubiquitous Computing University of Belgrade 11/53 UC How To Understand It UC goal: enhancing computer use by making many computers available throughout the physical environment, but making them effectively invisible to the user. Ubiquity Everywhere Adaptation to environment Intuitive, transparent, natural interfaces Ubiquitous Computing University of Belgrade 12/53 What UC is NOT It is not science fiction (SF), though it relies a great deal on it. It is not impossible. It is not Virtual Reality (VR). It is not a Personal Digital Assistant (PDA). It is not a personal agent (PA). Ubiquitous Computing University of Belgrade 13/53 Early work in Ubiquitous Computing A vision of a future form of computing set forth by Mark Weiser (1991) The computer has ceased to exist as a distinct entity and merged with the normal everyday objects that people use in their daily tasks. The normal physical environment will become equipped with extreamly cheap but powerful devices for computing and networking. The PARCTAB system: "tabs", "pads", and "boards" (forms of inch-, foot-, and yard-sized computers) built at Xerox PARC, 1988-1994.[8] MIT's AI-oriented "Things That Think" program[3] Ubiquitous Computing University of Belgrade 14/53 UC Here And Now Most work now is concentrating on the mobile infrastructure for wireless networking TCP/IP and OSI are unprepared for handling mobility (machine's name, and its network address are variant ).[6] Calm Technology: Calmness is a new challenge that UC brings to computing [7] The Periphery: Calm technology will move easily from the periphery of our attention, to the center, and back. Ubiquitous Computing University of Belgrade 15/53 UC Our Angle
The most powerful things are those that are effectively invisible to the user. Make a computer so embedded and so natural, that we use it without even thinking about it. Important issues: location and size: UC must know where they are (Context-awareness, Legal issues); Hundreds of wireless UCs per person; Size: 1mm to wall size. Ubiquitous Computing University of Belgrade 16/53 UC Hardware Demands Technology required for UC : Cheap, highly advanced VLSI technology (nanotech), Very low-power computers with convenient displays, Low-power, ultra-fast network for interconnection: wireless end-points cellular topology wide-bandwidth range Software systems for UC applications and support. Ubiquitous Computing University of Belgrade 17/53 UC The Prophecy Whenever people learn how to use something sufficiently well, they stop being aware of it. Pushing computers into the background will make people more aware of those on the other end of link. UC will help resolve the problem of info overload. Ubiquitous Computing University of Belgrade 18/53 UC Privacy & Security Who will have the control: the owner or the central authority? How private can one be? Preserving privacy of location. [5] Morris's[2] rule: Build computer systems to have the same privacy safeguards as the real world. Legal issues: Burglar Problem Steganography fingerprinting Social issues: Problem of Restricted Individuality. Secure and reliable services Ubiquitous Computing University of Belgrade 19/53 UC Influence
Social issues: Decreased alienation Health: physical & psychological influence Privacy: power & control Global legality: digital law; equality or not? Business: benefit? transparency or not? Ubiquitous Computing University of Belgrade 20/53 Overview So far you have learned: How to understand computers Trends in human-computer relationship Ubiquitous computing (UC) What it is and what it is not How to understand UC and its significance Where UC was, where it is now, and where it will be in the future We have also discussed: Location and size questions Hardware demands and solutions Security and legal issues Ubiquitous Computing University of Belgrade 21/53 Summary The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it.
Mark Weiser
Ubiquitous Computing University of Belgrade 22/53 References [1] Bruce Sterling speech at the "CRA Conference on Grand Research Challenges in Computer Science and Engineering, Airlie House, Warrenton, Virginia June 23, 2002. [2] Jim Morris of Carnegie-Mellon University [3] MIT: http://www.mit.edu, http://oxygen.lcs.mit.edu/ [4] Mark Burnett, Chris P. Rainsford, Department of Defense, Australia, A Hybrid Evaluation Approach for Ubiquitous Computing Environments [5] Mark Weiser, Some Computer Science Issues in Ubiquitous Computing, July 1993. [6] Mark Weiser, Ubiquitous Computing IEEE Computer "Hot Topics", October 1993. [7] Mark Weiser and John Seely Brown, Xerox PARC The Coming Age of Calm Technology , October 1996. [8] Xerox PARC: http://www.xerox.com Ubicomp: http://www.ubiq.com [9] www.cs.hut.fi/Opinnot/Tik-86.161/2001_files/Merviranta.pdf [10] Computer History: http://www.computersciencelab.com/History.htm Projects Related to UC The Steps Towards the UC Society Ubiquitous Computing University of Belgrade 24/53 Preview You will learn about: Aura Project Mobile Phones Programming Aura Distraction-Free Pervasive Computing Carnegie Mellon University Ubiquitous Computing University of Belgrade 26/53 Auras starting points Project by Carnegie Mellon University, USA[1] User of the Future will be preoccupied with real-world interactions. Human attention will become a scarce resource Computers of the Future require certain level of pervasiveness Ubiquitous Computing University of Belgrade 27/53 Aura
Involves: Wireless communication, Wearable or handheld computers, Smart spaces. Introduces:[3] Proactivity Self-tuning Ubiquitous Computing University of Belgrade 28/53 Aura Architecture
Aura consists of: [3] Coda nomadic file access Odyssey resource monitoring Spectra adaptive remote execution mechanism Prism support for proactivity and self-tuning Ubiquitous Computing University of Belgrade 29/53 Aura WBA Wireless bandwidth advisor (WBA) for: Monitoring (info gathering) Prediction (info producing) Uses: SNMP (Simple Network Management Protocol) AP Segment Service AP Device Service Ubiquitous Computing University of Belgrade 30/53 Aura Coda Uses: [3] Cyber Foraging Surrogate Servers Possible solutions: Aggressive use of Caching (Problem: Cache misses) Data staging[3] Ubiquitous Computing University of Belgrade 31/53 Aura Coda
Data staging: Prefatching for pervasive computing Snapshots Caching trust rather than content Privacy: end-to-end encryption (DES, Triple-DES) Ubiquitous Computing University of Belgrade 32/53 Aura Odyssey
Features: Application-aware Adaptability[2] Shared OS-Application Responsibility Fidelity[2] System Agility Ubiquitous Computing University of Belgrade 33/53 Aura Odyssey Fidelity: Odysseys notion of data quality Degree to which a data used by a mobile client matches the reference copy Adaptability: Laissez-faire adaptation Application-transparent adaptation Application-aware adaptation (Odyssey) Ubiquitous Computing University of Belgrade 34/53 Aura Odyssey
Architecture:[2] Interceptor Viceroy Set of Wardens: Web warden Voice warden Ubiquitous Computing University of Belgrade 35/53 Aura Prism
Auras most important capabilities: Supporting user mobility Protection from variations in resource availability Prism (task layer) high-level support for: Proactivity Self-tuning Ubiquitous Computing University of Belgrade 36/53 Aura Prism
Prisms architecture features: Context observation Environment management infrastructure Task explicit representation Ubiquitous Computing University of Belgrade 37/53 Resources
[1] Project Aura, Carnegie Mellon University, http:// www-2.cs.cmu.edu/~aura [2] Brian Noble, University of Michigan, System Support for Mobile, Adaptive Applications, IEEE Personal Communications, February 2000. [3] David Garlan, Daniel P. Siewiorek, Asim Smailagic, Peter Steenkiste Carnegie Mellon University,Project Aura: Toward Distraction-Free Pervasive Computing, http://computer.org/pervasive
JAVA MIDP - CLDC Mobile Phones Programming Ubiquitous Computing University of Belgrade 39/53 INTRODUCTION Connected Limited Device Configuration (CLDC) - set of core Java APIs closely tied to a Java Virtual Machine (JVM) defines the Java language features and the core Java libraries of the JVM The Mobile Information Device Profile (MIDP) a set of Java APIs that together with the CLDC provides a complete J2ME application runtime environment targeted at mobile information devices, such as cellular phones Ubiquitous Computing University of Belgrade 40/53 Developing Applications with MIDP MIDlet - an J2ME/MIDP platform application
Various sizes of displays, different keyboards, and the "look and feel" of devices Incoming phone call or SMS during the execution of a MIDlet Losing network connection while a MIDlet is running Ubiquitous Computing University of Belgrade 41/53 MIDP USER INTERFACE LEVELS Ubiquitous Computing University of Belgrade 42/53 Nokia Series 30 User Interface A monochrome or color display resolution of 96 x 65 pixels. A two-soft-key concept: left/right soft keys Send key End key scrolling keys Ubiquitous Computing University of Belgrade 43/53 Nokia Series 40 User Interface High-resolution color display and supports four-way scrolling Screen size 128 x 128 pixels and 4096 colors Improved key applications like MMS, picture viewing, Java MIDP, Browser, Calendar, and personalization Ubiquitous Computing University of Belgrade 44/53 Nokia Series 60 User Interface UI style for imaging phones A large color display well- suited to different kinds of applications; display size is 176 x 206 pixels The first product to use Nokia Series 60 UI style is Nokia 7650.
Ubiquitous Computing University of Belgrade 45/53 Nokia Series 80 User Interface A two-hand-operated feature concept platform A color screen and abundant space for different types of applications Ubiquitous Computing University of Belgrade 46/53 Nokia Developer's Suite for J2ME Automated code generation tools, archive builders, and software development tools, including visual MIDP phone emulators. Integrated with either Borland's Jbuilder or Sun Microsystem's Forte for Java Used as a standalone Ubiquitous Computing University of Belgrade 47/53 A SIMPLE EXAMLPE: TIC TAC TOE Phones having MIDlet application for TIC Tac TOE installed Server side application: Servlet for connecting players Game objects for keeping track of games Emulated on Nokia 6310i Nokia Series 30 User Interface Ubiquitous Computing University of Belgrade 48/53 A SIMPLE EXAMLPE: TIC TAC TOE
Ubiquitous Computing University of Belgrade 49/53 Downloading and Installing Java Applications to Nokia Phones
Applications pre-installed at the factory, Downloaded over a serial cable from a PC, Downloaded Over the Air (OTA) by an application such as a WAP browser OTA downloading is expected to be the most important way to download MIDlets to phones For example, Club Nokia will offer downloadable Java applications to Nokia mobile phone users. Ubiquitous Computing University of Belgrade 50/53 OTA Discovery Installation JAD and JAR file attributes Updating Removal MIDlet deployment and lifecycle Ubiquitous Computing University of Belgrade 51/53 Resources http://www.nokia.com http://java.sun.com Ubiquitous Computing University of Belgrade 52/53 Overview You have learned about: Distraction-Free Pervasive Computing - Aura Mobile Phones Programming: JAVA MIDP - CLDC Related projects: Data-centric vision of future computing Portolano Project (Xerox PARC & University of Washington) UC education & entertainment Geney, E, FPS Oxygen Project (MIT) Wearable Computers Endeavour (Berkeley) Future client-centric pervasive approach PSI (HP Labs) CoolTown (HP Labs)
Ubiquitous Computing University of Belgrade 53/53 Summary Our computers should be like our childhood: an invisible foundation that is quickly forgotten, but always with us, and effortlessly used throughout our lives.