Ubiquitous Computing

download Ubiquitous Computing

If you can't read please download the document

description

The Next Computing Generation. Ubiquitous Computing. Authors:. Jelena Mirković, mirkovic _j @ yahoo.com Vlado Ilić, [email protected] Andrija Bošnjaković, [email protected] Veljko Milutinović, [email protected]. Preview. You will learn about: Past computing trends - PowerPoint PPT Presentation

Transcript of Ubiquitous Computing

  • Ubiquitous Computing The Next Computing GenerationAuthors:Jelena Mirkovi, [email protected] Vlado Ili, [email protected] Andrija Bonjakovi, [email protected] Veljko Milutinovi, [email protected]

  • PreviewYou will learn about:Past computing trendsThe major development trend Ubiquitous computing (UC)Facts and mythsHardware (HW) issuesLegal & Social issuesProjects related to UCAura ProjectCoda, Odyssey, Spectra, Prism Mobile Phones Programming - JAVA MIDP

  • Intro

    "Any technology sufficiently advanced is indistinguishable from magic.Arthur C. Clarke

  • The Essence Of Understanding ComputersComputer 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.

  • 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 Nk:1 Computing many computers shared by each one of us [7]

  • Phase I - The Mainframe Era Computers were a scarce resource run by experts behind closed doors.

  • 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.

  • Transition Phase - The InternetThe Internet brings together elements of the mainframe era and the PC era.Client = PCServer = Mainframe

  • Phase III - The UC EraThe 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]

  • UC - DefinitionElements that define ubiquitous computing:[4]Ubiquity/Pervasiveness lots of devicesConnectedness the devices are networkedContext-awareness the system is aware of the context of usersInvisibility device effectively becomes invisible

  • UC How To Understand ItUC 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

  • 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).

  • 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]

  • UC Here And NowMost work now is concentrating on the mobile infrastructure for wireless networkingTCP/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.

  • 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.

  • UC Hardware DemandsTechnology 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-pointscellular topologywide-bandwidth rangeSoftware systems for UC applications and support.

  • UC The ProphecyWhenever 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.

  • UC Privacy & SecurityWho 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 ProblemSteganographyfingerprintingSocial issues: Problem of Restricted Individuality.Secure and reliable services

  • UC Influence

    Social issues: Decreased alienationHealth: physical & psychological influencePrivacy: power & control Global legality: digital law; equality or not?Business: benefit? transparency or not?

  • OverviewSo far you have learned:How to understand computersTrends in human-computer relationshipUbiquitous computing (UC)What it is and what it is notHow to understand UC and its significanceWhere UC was, where it is now, and where it will be in the futureWe have also discussed:Location and size questionsHardware demands and solutions Security and legal issues

  • SummaryThe most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it. Mark Weiser

  • 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.comUbicomp: 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 UCThe Steps Towards the UC Society

  • Preview You will learn about:Aura ProjectMobile Phones Programming

  • AuraDistraction-Free Pervasive ComputingCarnegie Mellon University

  • Auras starting pointsProject by Carnegie Mellon University, USA[1]User of the Future will be preoccupied with real-world interactions. Human attention will become a scarce resourceComputers of the Future require certain level of pervasiveness

  • Aura

    Involves:Wireless communication,Wearable or handheld computers,Smart spaces.Introduces:[3]ProactivitySelf-tuning

  • Aura Architecture

    Aura consists of: [3]Coda nomadic file accessOdyssey resource monitoring Spectra adaptive remote execution mechanismPrism support for proactivity and self-tuning

  • Aura WBAWireless bandwidth advisor (WBA) for:Monitoring (info gathering)Prediction (info producing)Uses:SNMP (Simple Network Management Protocol)AP Segment ServiceAP Device Service

  • Aura CodaUses: [3]Cyber ForagingSurrogate ServersPossible solutions:Aggressive use of Caching (Problem: Cache misses)Data staging[3]

  • Aura Coda

    Data staging:Prefatching for pervasive computingSnapshots Caching trust rather than contentPrivacy: end-to-end encryption (DES, Triple-DES)

  • Aura Odyssey

    Features:Application-aware Adaptability[2]Shared OS-Application ResponsibilityFidelity[2]System Agility

  • Aura Odyssey Fidelity:Odysseys notion of data qualityDegree to which a data used by a mobile client matches the reference copyAdaptability:Laissez-faire adaptationApplication-transparent adaptationApplication-aware adaptation (Odyssey)

  • Aura Odyssey

    Architecture:[2]InterceptorViceroy Set of Wardens:Web wardenVoice warden

  • Aura Prism

    Auras most important capabilities:Supporting user mobilityProtection from variations in resource availabilityPrism (task layer) high-level support for:ProactivitySelf-tuning

  • Aura Prism

    Prisms architecture features:Context observationEnvironment management infrastructureTask explicit representation

  • 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 - CLDCMobile Phones Programming

  • INTRODUCTIONConnected Limited Device Configuration (CLDC) - set of core Java APIsclosely tied to a Java Virtual Machine (JVM)defines the Java language features and the core Java libraries of the JVMThe Mobile Information Device Profile (MIDP)a set of Java APIs that together with the CLDCprovides a complete J2ME application runtime environment targeted at mobile information devices, such as cellular phones

  • Developing Applications with MIDPMIDlet - an J2ME/MIDP platform application

    Various sizes of displays, different keyboards, and the "look and feel" of devicesIncoming phone call or SMS during the execution of a MIDletLosing network connection while a MIDlet is running

  • MIDP USER INTERFACE LEVELS

  • Nokia Series 30 User InterfaceA monochrome or color display resolution of 96 x 65 pixels. A two-soft-key concept:left/right soft keysSend key End keyscrolling keys

  • Nokia Series 40 User InterfaceHigh-resolution color display and supports four-way scrolling Screen size 128 x 128 pixels and 4096 colorsImproved key applications like MMS, picture viewing, Java MIDP, Browser, Calendar, and personalization

  • Nokia Series 60 User InterfaceUI style for imaging phonesA 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.

  • Nokia Series 80 User InterfaceA two-hand-operated feature concept platformA color screen and abundant space for different types of applications

  • Nokia Developer's Suite for J2MEAutomated code generation tools, archive builders, and software development tools, including visual MIDP phone emulators. Integrated with either Borland's Jbuilderor Sun Microsystem's Forte for JavaUsed as a standalone

  • A SIMPLE EXAMLPE:TIC TAC TOEPhones having MIDlet application for TIC Tac TOE installedServer side application:Servlet for connecting playersGame objects for keeping track of gamesEmulated on Nokia 6310i Nokia Series 30 User Interface

  • A SIMPLE EXAMLPE:TIC TAC TOE

  • 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 phonesFor example, Club Nokia will offer downloadable Java applications to Nokia mobile phone users.

  • OTADiscoveryInstallationJAD and JAR file attributesUpdatingRemovalMIDlet deployment and lifecycle

  • Resourceshttp://www.nokia.comhttp://java.sun.com

  • OverviewYou have learned about:Distraction-Free Pervasive Computing - AuraMobile Phones Programming: JAVA MIDP - CLDCRelated projects:Data-centric vision of future computing Portolano Project (Xerox PARC & University of Washington)UC education & entertainment Geney, E, FPSOxygen Project (MIT)Wearable ComputersEndeavour (Berkeley)Future client-centric pervasive approach PSI (HP Labs)CoolTown (HP Labs)

  • SummaryOur computers should be like our childhood: an invisible foundation that is quickly forgotten,but always with us, and effortlessly used throughout our lives.

    Mark Weiser

    The computer is a gizmo, and it's a great gizmo, but it's not an ultimate gizmo. And gadgets get old. They settle down. They get domesticated. The only ultimate gizmo is a clock. The clock never stops ticking., especially for science fiction The clock has been ticking for the computer, as we know it, for quite a while. A computer is not a metaphysical entity. It's not free of objective reality. Its bits are bits of atoms. A grand challenge is a grand challenge because it's not an actual machine but a sublime concept, a goal, an aspiration. Once it's a machine, it's no longer a challenge, it is hardware.

    In the past fifty years of computation there have been two great trends in this relationship: the mainframe relationship, and the PC relationship. Today the Internet is carrying us through an era of widespread distributed computing towards the relationship of ubiquitous computing, characterized by deeply imbedding computation in the world.

    The first era we call "mainframe", to recall the relationship people had with computers that were mostly run by experts behind closed doors. Anytime a computer is a scarce resource, and must be negotiated and shared with others, our relationship is that of the mainframe era.

    Now we are in the personal computing era, person and machine staring uneasily at each other across the desktop.The second great trend is that of the personal computer. In 1984 the number of people using personal computers surpassed the number of people using shared computers.The personal computer is most analogous to the automobile - a special, relatively expensive item, that while it may "take you where you want to go", requires considerable attention to operate. Some people name their PC - many people curse or complain to their PC. Any computer with which you have a special relationship, or that fully engages or occupies you when you use it, is a personal computer.

    It is client-server computing on a massive scale, with web clients the PCs and web servers the mainframes.

    Some of these computers will be the hundreds we may access in the course of a few minutes of Internet browsing. Others will be imbedded in walls, chairs, clothing, light switches, cars - in everything. All kinds of jargon. . Wireless internet. Peripheral computing. Self-configuring, adaptively coordinated Embedded Nets.. Locator Tags. JINI. Ubiquity/pervasiveness lots of computing devices;Invisibility in many situations the interface between the user and device disappears and the device effectively becomes invisible;Connectedness the devices are networked in some way to other devices and information;Context-awareness the system is aware of the context of users and provides an intelligent bridge between the computational environment and the real world.

    Next comes ubiquitous computing, or the age of calm technology, when technology recedes into the background of our lives. Alan Kay of Apple calls this "Third Paradigm" computing. The social impact of imbedded computers may be analogous to two other technologies that have become ubiquitous. The first is writing, which is found everywhere from clothes labels to billboards. The second is electricity, which surges invisibly through the walls of every home, office, and car. Mark Weiser and John Seely Brown October 5, 1996 Ubiquitous computing names the third wave in computing, just now beginning, whose cross-over point with personal computing will be around 2005-2020. UC will see the creation of thin servers, costing only tens of dollars or less, that put a full Internet server into every household appliance and piece of office equipment. The next generation Internet protocol, IPv6[5], can address more than a thousand devices for every atom on the earth's surface[6]. We will need them all. "Ubiquitous computing" in this context does not just mean computers that can be carried to the beach, jungle or airport. Even the most powerful notebook computer, with access to a worldwide information network, still focuses attention on a single box. By analogy to writing, carrying a super-laptop is like owning just one very important book. Customizing this book, even writing millions of other books, does not begin to capture the real power of literacy. Furthermore, although ubiquitous computers may employ sound and video in addition to text and graphics, that does not make them "multimedia computers."In particular, anthropological studies of work life [Suchman 1985, Lave 1991] teach us that people primarily work in a world of shared situations and unexamined technological skills. However the computer today is isolated and isolating from the overall situation, and fails to get out of the way of the work.In other words, rather than being a tool through which we work, and so which disappears from our awareness, the computer too often remains the focus of attention. The characterization of the future computer as the "intimate computer" [Kay 1991], or "rather like a human assistant" [Tesler 1991] makes this inappropriate attention to the machine itself particularly apparent. World Is Not A Desktop:What is the metaphor for the computer of the future? The intelligent agent? The television (multimedia)? The 3-D graphics world (virtual reality)? The StarTrek ubiquitous voice computer? I think the right answer is "none of the above", because I think all of these concepts share a basic flaw: they make the computer visible.A good tool is an invisible tool. By invisible, I mean that the tool does not intrude on your consciousness; you focus on the task, not the tool. Eyeglasses are a good tool -- you look at the world, not the eyeglasses. Unfortunately, our common metaphors for computer interaction lead us away from the invisible tool, and towards making the tool the center of attention.A computer I need to talk to, give commands to, or have a relationship with (much less be intimate with), is a computer that is too much the center of attention. A computer I need to talk to, give commands to, or have a relationship with (much less be intimate with), is a computer that is too much the center of attention.

    It cannot be mistaken for VR, everThey are not multimedia computersUbiquitous computing is roughly the opposite of virtual realityIt is not a Personal Digital Assistant (PDA) such as Apple's Newton. It is not a personal or intimate computer (IA)with agents doing your bidding. UC vs. VRVirtual reality puts people inside a computer-generated world.Ubiquitous computing forces the computer to live out here in the world with people. Virtual reality is primarily a horse power problemUbiquitous computing is a very difficult integration of human factors, computer science, engineering, and social sciences. Unlike virtual reality, ubiquitous computing endeavers to integrate information displays into the everyday physical world. It considers the nuances of the real world to be wonderful, and aims only to augment them. Diametrically opposed to our vision is the notion of "virtual reality," which attempts to make a world inside the computer. Users don special goggles that project an artificial scene on their eyes; they wear gloves or even body suits that sense their motions and gestures so that they can move about and manipulate virtual objects. Although it may have its purpose in allowing people to explore realms otherwise inaccessible -- the insides of cells, the surfaces of distant planets, the information web of complex databases -- virtual reality is only a map, not a territory.The opposition between the notion of virtual reality and ubiquitous, invisible computing is so strong that some of us use the term "embodied virtuality" to refer to the process of drawing computers out of their electronic shells. UC vs. PDAUnlike PDA's, ubiquitious computing envisions a world of fully connected devices, with cheap wireless networks everywhere Unlike PDA's, it postulates that you need not carry anything with you, since information will be accessable everywhere. UC vs. IAUnlike the intimate agent computer that responds to one's voice and is a personal friend and assistant, ubiquitous computing envisions computation primarily in the background where it may not even be noticed. Whereas the intimate computer does your bidding, the ubiquitous computer leaves you feeling as though you did it yourself. World Is Not a Desktop:Take intelligent agents. The idea, as near as I can tell, is that the ideal computer should be like a human being, only more obedient. Anything so insidiously appealing should immediately give pause. Why should a computer be anything like a human being? Are airplanes like birds, typewriters like pens, alphabets like mouths, cars like horses?Take magic. The idea, as near as I can tell, is to grant wishes: I wish my computer would only show me what I am interested in. Take virtual reality. The idea, as near as I can tell, is that by moving to full-body-sensing and interaction we'll solve the user interface problem by maximally utilizing all of our body's input and output channels. Take voice input. The idea, as near as I can tell, is that if I could just talk to my computer it would finally understand me. The problem is, if I could talk to my computer today, I'd have to talk in C or Fortran or CSH, because that is what they understand. I do think that research on agents, speech recognition, and so on is important; the problem is that they are all in the domain of the conscious interaction.

    The initial incarnation of ubiquitous computing was in the form of "tabs", "pads", and "boards" (form of inch-, foot-, and yard-sized computers) built at Xerox PARC, 1988-1994. The Pad and Tab were funded partially by ARPAThe Pad was a prototype pen computer. It was 9x11x1", had a four 4 hour battery life, and weighed 5 pounds. It used a Motorola 683xx processor with 4 MB ram running a unique real-time operating system. The Tab was a prototype handheld computer. It was 2x3x0.5", had a 2 week battery life on rechargeable batteries, and weighed 7 oz. It used a Phillips 8051 processor with 128k NVRAM, custom resistive touch screen, and a 128x64 mono display and ceiling for LAN connectivity. The PARCTAB system consists of palm-sized mobile computers that can communicate wirelessly through infrared transceivers to workstation-based applications. Extreme portability. The device is designed to be carried or worn at all times, much like a pagerConstant connectivity. The system assumes the palm-top unit is always connected to the network infrastructureLocation reporting. The location of each PARCTAB is always known to system softwareMIT's AI-oriented "Things That Think" program[7], the many mobile and wearable computing programs[8] (many funded by ARPA)

    Work on ubiquitous computing is still at an early phase. Most work now is concentrating on the mobile infrastructure for wireless networking. Because ubiquitous computing envisions hundreds of wireless computers in every office, its need for wireless bandwidth is prodigious. A second challenge of the mobile infrastructure is handling mobility. Networking developed over the past twenty years with the assumption that a machine's name, and its network address, were unvarying. However, once a computer can move from network to network this assumption is false. Existing protocols such as TCP/IP and OSI are unprepared for to handle machine mobility without change. A number of committees and researchers are now working on methods of augmenting or replacing existing protocols to handle mobility. A third challenge of the mobile infrastructure is window systems. Most window systems, such as those for the Macintosh and for DOS, are not able to open remote windows over a network. Even window systems designed for networking, such as X, have built into them assumptions about the mobility of people. The X window system protocol, for instance, makes it very difficult to migrate the window of a running application from one screen to anotherUbiquitous computing will require a new approach to fitting technology to our lives, an approach we call "calm technology". CALM tech:The most potentially interesting, challenging, and profound change implied by the ubiquitous computing era is a focus on calm. If computers are everywhere they better stay out of the way, and that means designing them so that the people being shared by the computers remain serene and in control. Calmness is a new challenge that UC brings to computing. When computers are used behind closed doors by experts, calmness is relevant to only a few. Computers for personal use have focused on the excitement of interaction. But when computers are all around, so that we want to compute while doing something else and have more time to be more fully human

    The Perifery: when driving our attention is centered on the road, the radio, our passenger, but not the noise of the engine. But an unusual noise is noticed immediately, showing that we were attuned to the noise in the periphery, and could come quickly to attend to it. A calm technology will move easily from the periphery of our attention, to the center, and back. This is fundamentally encalming, for two reasons. First, by placing things in the periphery we are able to attune to many more things than we could if everything had to be at the center. Second, by recentering something formerly in the periphery we take control of it.Not all technology need be calm. A calm videogame would get little use; the point is to be excited. We must learn to design for the periphery so that we can most fully command technology without being dominated by it.

    DANGLING STRING - Created by artist Natalie Jeremijenko, the "Dangling String" is an 8 foot piece of plastic spaghetti that hangs from a small electric motor mounted in the ceiling. The motor is electrically connected to a nearby Ethernet cable, so that each bit of information that goes past causes a tiny twitch of the motor. A very busy network causes a madly whirling string with a characteristic noise; a quiet network causes only a small twitch every few seconds.INNER OFFICE WINDOWS - The hallway window extends our periphery by creating a two-way channel for clues about the environment. Whether it is motion of other people down the hall (its time for a lunch; the big meeting is starting), or noticing the same person peeking in for the third time while you are on the phone (they really want to see me; I forgot an appointment), the window connects the person inside to the nearby world.

    We believe that people live through their practices and tacit knowledge so that the most powerful things are those that are effectively invisible in use. Unlike traditional computing systems, the embedded systems will be deployed in far greater numbers and will have to operate 'silently,' that is, outside of our range of perception. We call our work "ubiquitous computing". This is different from PDA's, dynabooks, or information at your fingertips. It is invisible, everywhere computing that does not live on a personal device of any sort, but is in the woodwork everywhere. A less-traveled path I call the "invisible"; its highest ideal is to make a computer so imbedded, so fitting, so natural, that we use it without even thinking about it. (I have also called this notion "Ubiquitous Computing", and have placed its origins in post-modernism.) We have found two issues of crucial importance: location and scale. Little is more basic to human perception than physical juxtaposition, and so ubiquitous computers must know where they are. (Today's computers, in contrast, have no idea of their location and surroundings.) If a computer merely knows what room it is in, it can adapt its behavior in significant ways without requiring even a hint of artificial intelligence. Ubiquitous computers will also come in different sizes, each suited to a particular task.

    Reducing power leads to two new areas of chip design: circuits that will run at low power, and architectures that sacrifice area for power over performance. Ubicomp changes the emphasis in networking in at least four areas: wireless media access, wide-bandwidth range, real-time capabilities for multimedia over standard networks, and packet routing. Earlier wireless work used assumptions of complete autonomy, or a statically configured network, while ubiquitous computing requires a cellular topology, with mobile devices frequently coming on and off line. Three new kinds of hardware devices are: very low power computing, low-power high-bits/cubic-meter communication, and pen devices. But there are still huge, severe issues of power and access and money.Just like the Internet, ultra-wideband is something used for decades by the military. It's spooky stuff. It is used to communicate wirelessly without being detected by opposition forces. Ultra-wideband is low-cost, low-power, high-speed, and best of all, it is the number-one alternative to a whole crowd of normal-wideband, stocks-on-fire, money-losing technologiesPhotonics:Contemporary Photonics Tehnologies contribute ubquitous computer societyQuantum and high-speed photonics, photonic crystals, and guided-wave semiconductor devicesOptical networking and system technologies, photonic routing technologies, functional photonic devices and modules

    Related issues of power, access and money; when U have such a high tech everybody wants to control it, because U can control lives of others.

    The UC will bring information technology beyond the big problems like corporate finance and school homework, to the little annoyances like Where are the car-keys, Can I get a parking place, and Is that shirt I saw last week at Macy's still on the rack? "Who made that dress? Are there any more in the store? What was the name of the designer of that suit I liked last week?" The computing environment knows the suit you looked at for a long time last week because it knows both of your locations, and, it can retroactively find the designer's name even if it did not interest you at the time. Such a disappearance is a fundamental consequence not of technology, but of human psychology. When you look at a street sign, for example, you absorb its information without consciously performing the act of reading.. Computer scientist, economist, and Nobelist Herb Simon calls this phenomenon "compiling"By pushing computers into the background, embodied virtuality will make individuals more aware of the people on the other ends of their computer links. This development carries the potential to reverse the unhealthy centripetal forces that conventional personal computers have introduced into life and the workplace. Even today, people holed up in windowless offices before glowing computer screens may not see their fellows for the better part of each day. Ubiquitous computers, in contrast, reside in the human world and pose no barrier to personal interactions. If anything, the transparent connections that they offer between different locations and times may tend to bring communities closer together.

    Most important, ubiquitous computers will help overcome the problem of information overload. There is more information available at our fingertips during a walk in the woods than in any computer system, yet people find a walk among trees relaxing and computers frustrating. Machines that fit the human environment, instead of forcing humans to enter theirs, will make using a computer as refreshing as taking a walk in the woods.

    Morris's[2] rule: General method for approaching these issues: build computer systems to have the same privacy safeguards as the real world, but no more, so that ethical conventions will apply regardless of setting.Computers built according to Morris's rule would not attempt to be utterly proof against cracker, but they would be impossible to enter without leaving the digital equivalent of fingerprints. Other huge benefits ensue. I no longer need to sweat and struggle to put my possessions into order. My things can never get lost or misplaced. They can't even be stolen from me, because the ubicomp tags are too small to see, and any thief just becomes a kind of large mouse to be tracked down by bored cops and annihilated. It is important to realize that there can never be a purely technological solution to privacy, that social issues must be considered in their own right. In the computer science lab we are trying to construct systems that are privacy enabled, that can give power to the individual.Location:Cellular systems inherently need to know the location of devices and their use in order to properly route information. This problem could be much worse in ubiquitous computing with its more extensive use of cellular wireless. So a key problem with ubiquitous computing is preserving privacy of location. One solution, a central database of location information, means that the privacy controls can be centralized and so perhaps done well -- on the other hand one break-in there reveals all, and centrality is unlikely to scale worldwide. A second source of insecurity is the transmission of the location information to a central site. This site is the obvious place to try to snoop packets, or even to use traffic analysis on source addresses.Our initial designs were all central, initially with unrestricted access, gradually moving towards controls by individual users on who can access information about them. Our preferred design avoids a central repository, but instead stores information about each person at that person's PC or workstation. Programs that need to know a person's location must query the PC, and run whatever gauntlet of security the user has chosen to install there.

    The clock, and the clockwork machine, are the metaphors of the past several hundred years of technology. Invisible technology needs a metaphor that reminds us of the value of invisibility, but does not make it visible. I propose childhood: playful, a building of foundations, constant learning, a bit mysterious and quickly forgotten by adults. Our computers should be like our childhood: an invisible foundation that is quickly forgotten but always with us, and effortlessly used throughout our lives.Mark Weiser, November 7, 1993

    Look around now: how many objects and surfaces do you see with words on them? Computers in the workplace can be as effortless, and ubiquitous, as that. Long-term the PC and workstation will wither because computing access will be everywhere: in the walls, on wrists, and in "scrap computers" (like scrap paper) lying about to be grabbed as needed. This is called "ubiquitous computing", or "ubicomp". Mark Weiser, August 16, 1993

    limited resource of human attention:Human attention refers to a users ability to attend to his or her primary tasks, ignoring system-generated distractions such as poor performance and failures.Aura is specifically intended for pervasive computing environments involving wireless communication, wearable or handheld computers, and smart spaces. Human attention is an especially scarce resource in such environments, because the user is often preoccupied with walking, driving, or other real-world interactions.

    Aura is specifically intended for pervasive computing environments involving wireless communication, wearable or handheld computers, and smart spaces.Aura applies two broad concepts. First, it uses proactivity, which is a system layers ability to anticipate requests from a higher layer. In todays systems, each layer merely reacts to the layer above it. Second, Aura is self-tuning: layers adapt by observing the demands made on them and adjusting their performance and resource usage characteristics accordingly.???key pervasive computing ideas [pogledati rad Starynaryanana iz I3E na koji se pozivaju(1)]It combines knowledge from different system layers, Takes advantage of smart spaces, using the services its environment provides and for location trackingIt exemplifies self-tuning through ability to edit the handheld using speech input rather than a keyboard and mouse. Senses danger by combining this knowledge with the inferred presence of strangers.Uses face recognition for context information gathering

    Coda & OdisseyCoda and Odyssey were created prior to Aura but are being modified substantially to meet pervasive computing demands. Odyssey supports resource monitoring and application-aware adaptation,(2) and Coda provides support for nomadic, disconnectable, and bandwidth-adaptive file access.(3) Spectra is an adaptive remote execution mechanism that uses context to decide how to best execute the remote call. Prism, provides high-level support for proactivity and self-tuning.

    A wireless bandwidth advisorNetwork-aware applications can use reasonable estimates of future available band-width to make informed decisions, such as server selection. To support such applications, the research community has developed several bandwidth advisor services (810) that provide information on network conditions.The components of our bandwidth advisor (for IEEE 802.11 wireless networks) are divided into two categories: monitoring and prediction. Two monitoring components periodically gather information from wire-less access points using SNMP (simple net-work management protocol). The AP Segment Service collects incoming and outgoing traffic rates and related information, such as error and collision rates, while the AP Device Service obtains cell population information by querying each access points bridge table. Recent information is held in memory to provide data needed to satisfy client requests. In addition, all data the monitoring components gather is stored to disk. Prediction components can then operate on this data online or offline.

    Cyber foragingAura uses cyber foraging (1) to amplify the capabilities of a resource-limited mobile client and thus improve user experiences. Compute servers or data-staging servers located near the client provide this amplification. We call such a server a surrogate of the Aura client it is temporarily assisting. We expect a surrogate to have good connectivity to the Internet and wireless LAN connectivity to Aura clients nearby.Solution No1: aggressive use of cachingProblem: Cache misses: Condition for cache misses:First, a resource-poor mobile client might not have a cache large enough to fit all relevant data. Second, the client might experience periods of disconnection during which updates of interest to the user might have occurred. Third, some uncached files might unexpectedly become relevant to a user. For example, the user might receive a cell phone call requiring that he or she access files previously considered unimportant. Because cache misses are unavoidable, our approach is to reduce their performance impact through data staging.Solution No.2: Data stagingData staging applies the well-understood concept of prefetching (5,6) to pervasive computting environments. Our current implementation stages data in relatively coarse-grained snapshots of file system data. Each snapshot corresponds to a volume, which is a predefined partial subtree of the file system name. This name space typically contains a group of related files. Each snap-shot is a consistent read-only view of the file server state at some point in time.The proxy intercepts and redirects file system traffic. If a request is for data contained on the surrogate, the proxy directs the request to it. Otherwise, it forwards the request to the distant file server.The staging manager on the distant Coda server oversees snapshot creation. It contacts the file server to create a snapshot, then encrypts and transmits it to the staging server. The backup creation, encryption, and network transmission are pipelined to reduce latency.Our staging architecture avoids the need to trust surrogates, using an approached characterized as caching trust rather than content.(7)To ensure privacy, we use end-to-end encryption of snapshots. Our current implementation uses the Data Encryption Standard by default; it also supports triple-DES

    Rather than rely on the system to manage resources transparently, applications must themselves adapt to prevailing network characteristics. This article presents an overview of our experience with Odyssey, a platform for adaptive mobile data access. We have developed several applications for Odyssey, including a Web browser, a video player, and a speech recognition system. Odysseys approach to adaptation is to adjust the quality of accessed data to match available resources. For example, when faced with a sharp decrease in bandwidth, a Web browser might ask for more highly compressed images; a video player may reduce frame rate or frame quality of the stream; and a map viewer may filter out small or irrelevant features.We introduce fidelity, Odysseys notion of data quality.We define fidelity as the degree to which a data item used by a mobile client matches the reference copy. Note that lossless compression is not a fidelity-changing operation, as the com-pressed object is indistinguishable from the original.Fidelity is a property of potentially many dimensions. One such dimension, consistency, is shared by every data item regardless of type. For example, suppose a mobile client has cached some data element that has been updated by some other host. If network bandwidth to that host is plentiful, the client might fetch the new version immediately. However, if bandwidth is scarce, the client might choose to defer retrieval, instead working with the stale copy. While the consistency of any data item may be weakened regardless of type, other dimensions of fidelity require knowledge of the items structure. For example, one might degrade video streams in several ways: reduce the frame rate, reduce the quality of individual frames, or reduce the size of individual frames. Any of these operations requires significant knowledge about the videos representation. Likewise, a map might be degraded by omitting features below a certain size, or by showing only elevations and rivers, but not roads. We present Odysseys division of labor between applications and the operating system for making adaptive decisions. In this division, the system provides the mechanisms enabling adaptation, leaving applications free to set adaptive policy.In order to adapt to turbulent environments, a system must react to significant changes as fast as they occur. In other words, an adaptive system must be as agile as possible.videos representation. Likewise, a map might be degraded byApplication-Aware Adaptation: Shared responsibilityWhich entity on the client is responsible for making adaptation decisions: the operating system, or individual applications? Odyssey takes the position that decisions must be made jointly by the two parties. The operating system, as the arbiter of shared resources, is in the best position to determine resource availability. It provides the mechanisms for adaptation and a common point of resource control. However, the application is the only entity that can properly decide how to adapt to a given situation, and must be free to specify adaptive policy. We call this collaborative model of responsibility application-aware adaptation. Why a Collaboration? To see why such a collaboration is required, consider the alternatives. In the first, called laissez-faire adaptation, concur-rent applications compete for resources, but each is solely responsible for its own adaptation. In this model, each application must infer the resource consumption of the others to make the best possible adaptation decisions. However, with-out a common point of resource control, they cannot have accurate knowledge of one another, and will tend to adapt at cross purposes. Correctly accounting for competing applications through a central point of resource control is critical to providing good adaptive behavior. At the other extreme, consider the case where the operating system on the mobile node is wholly responsible for making adaptation decisions for applications; we call this model application-transparent adaptation. In it, the competition for scarce resources is correctly accounted for, but individual applications cannot choose to make their own adaptive decisions.Agility:In order to provide support in the broadest possible set of environments, an adaptive system must be as agile as possible. That is, it must be able to react to true changes in the environment quickly. A system that cannot adapt as fast as changes occur will be forced to lower its expectations to the worst case, or suffer unacceptable performance. We introduce fidelity, Odysseys notion of data quality.We define fidelity as the degree to which a data item used by a mobile client matches the reference copy. Note that lossless compression is not a fidelity-changing operation, as the com-pressed object is indistinguishable from the original.Fidelity is a property of potentially many dimensions. One such dimension, consistency, is shared by every data item regardless of type. For example, suppose a mobile client has cached some data element that has been updated by some other host. If network bandwidth to that host is plentiful, the client might fetch the new version immediately. However, if bandwidth is scarce, the client might choose to defer retrieval, instead working with the stale copy. While the consistency of any data item may be weakened regardless of type, other dimensions of fidelity require knowledge of the items structure. For example, one might degrade video streams in several ways: reduce the frame rate, reduce the quality of individual frames, or reduce the size of individual frames. Any of these operations requires significant knowledge about the videos representation. Likewise, a map might be degraded by omitting features below a certain size, or by showing only elevations and rivers, but not roads. Application-Aware Adaptation: Shared responsibilityWhich entity on the client is responsible for making adaptation decisions: the operating system, or individual applications? Odyssey takes the position that decisions must be made jointly by the two parties. The operating system, as the arbiter of shared resources, is in the best position to determine resource availability. It provides the mechanisms for adaptation and a common point of resource control. However, the application is the only entity that can properly decide how to adapt to a given situation, and must be free to specify adaptive policy. We call this collaborative model of responsibility application-aware adaptation. Why a Collaboration? To see why such a collaboration is required, consider the alternatives. In the first, called laissez-faire adaptation, concur-rent applications compete for resources, but each is solely responsible for its own adaptation. In this model, each application must infer the resource consumption of the others to make the best possible adaptation decisions. However, with-out a common point of resource control, they cannot have accurate knowledge of one another, and will tend to adapt at cross purposes. Correctly accounting for competing applications through a central point of resource control is critical to providing good adaptive behavior. At the other extreme, consider the case where the operating system on the mobile node is wholly responsible for making adaptation decisions for applications; we call this model application-transparent adaptation. In it, the competition for scarce resources is correctly accounted for, but individual applications cannot choose to make their own adaptive decisions.

    Architecture:Odyssey provides access to objects that it manages through the client file system. The interceptor module in the kernel redirects file system operations on these objects to Odyssey proper, which comprises two kinds of components: the viceroy and a set of wardens. The viceroy is responsible for all type-independent tasks on the client. The most important of these is monitoring resource usage and notifying applications of significant changes in resource availability. The viceroy acts as the single point of resource control, enabling support for concurrent applications. Wardens manage all communication between the client and various servers, and offer a menu of fidelities from which applications can pick.

    Capturing user intent: PrismTwo of Auras most important capabilities are supporting user mobility and shielding users from variations in resource availability. Aura attempts to adapt ongoing tasks to accommodate the change, possibly reconfiguring certain services or replacing one service with another. In a major departure from existing systems, Aura introduces a new layer of system abstraction: the task layer. This layer, called Prism, sits above individual applications and services but below the user.Key ingredients of Prisms architecture are: Explicit representations of user tasks as coalitions of abstract services Context observation that lets Prism configure tasks in a way that is appropriate for the environment Environment management infrastructure that assists with resource monitoring and adaptation

    Key ingredients of Prisms architecture are: Explicit representations of user tasks as coalitions of abstract services Context observation that lets Prism configure tasks in a way that is appropriate for the environment Environment management infrastructure that assists with resource monitoring and adaptation

    Core APIs: java.langInput/output features and handling of data streams: java.ioCalendar, date, random number generation, basic data structures: java.utilBasic networking features: javax.microedition.io

    Mobile Information Device Profile (MIDP) is built on top of a CLDC. MIDP is a platform that provides a complete runtime environment for a specific kind of device. It defines APIs for user interface components, input and event handling, persistent storage, networking, and timers, taking into consideration the screen and memorylimitations of mobile devices. User Interface: javax.microedition.lcdui HTTP1: javax.microedition.io.HttpConnection Persistent Storage: javax.microedition.rms Application Lifecycle: javax.microedition.midlet Timers: java.util.Timer & java.util.TimerTask One New Exception Case: java.lang.IllegalStateException

    A Displayable object is an element that can be placed on the display. A Displayable object may have Commands and associated CommandListeners with it. The contents displayed and their interaction with the user are defined by subclasses. High-level APIs contain a basic set of UI components for building mobile applications. Drawing to the display is performed by the device's system software. Thus, applications are automatically using the look and feel of the device the application is running on.Navigation, scrolling, and other primitive interactions with the UI components are performed by the device, not by the applications.Low-level APIs are mainly used applications that require use of interactive graphics and customizable components. The two main classes of low-level user interface are Graphics and Canvas. The Graphics class provides methods to paint lines, rectangles, arcs, text, and images to a Canvas or an Image. In addition to using abstract commands, as do high-level APIs, low-level APIs give developers access to key-press events. Figure 3 gives an example of the usage of low-level user interface APIs.

    Command is the primary mechanism for user interaction, e.g., for changing between Displayables. Command is an abstract entity for UI elements that invoke an action. Commands have application-defined abstract types (BACK, EXIT, STOP, HELP, OK, CANCEL, ITEM, SCREEN) Each Displayable object has a single CommandListener. When the user invokes a Command on a Displayable, its listener is called.

    A typical user will download the applications into a Java-enabled device using a WAP connection. Thus, operators will play a key role, making sure that their subscribers have easy access to downloadable applications by providing WAP bookmarks to Java application portals.

    DiscoveryA person uses a browser on his/her mobile device to browse Web pages on a remote server. The user finds abrowser page containing a link to an interesting MIDP application. The link actually points at a Java ApplicationDescriptor (application_name.jad). The JAD file contains the core attributes of the application. The MIME type ofa JAD descriptor is: text/vnd.sun.j2me.app-descriptor.InstallationWhen the user selects the JAD file while browsing, the browser downloads the descriptor and provides it to theApplication Management Software (AMS). The AMS uses the attributes in the descriptor to check if the terminalis able to run the application. If application downloading can be performed, the AMS uses the URL given in thedescriptor to locate and download the Java Archive (JAR) file from a MIDlet server.Next, the permission to install is requested from the user; the AMS can then install the MIDlet to the terminal.At this point, the AMS may also send a confirmation notification to the server. The server uses this confirmationfor billing and customer-care purposes. After successful installation, the application can be run and executed.JAD and JAR file attributesAt a minimum, the following information must be found in the JAD file: MIDlet-name, MIDlet-vendor, MIDletversion,MIDlet-Jar-Size, and MIDlet-Jar-URL. If the JAR file is located in the same directory as JAD, the URLaddress can be simply the name of the JAR. Other parameters are optional but should be used. MIDlet-name,MIDlet-vendor, and MIDlet-version must match with the manifest.mf file, which is located inside the JAR file.Other attributes may be different in the JAD and JAR manifest, in which case the JAD attribute is used.The manifest must contain information about MicroEdition-Profile, MicroEdition-Configuration, and MIDlet-.In MIDlet- attribute, the is the number of a particular MIDlet in the MIDlet suite. There must be aseparate MIDlet- attribute present for each MIDlet in the MIDlet suite. Below is an example of attributes inthe JAD file and manifest file.Version 1.0UpdatingThe information of the JAD file described above is needed, for example, to calculate the checksum to find out ifthe MIDlet has already been installed or if there is a newer version available. If an older version of the MIDlet isalready installed, notification about updating can be provided.RemovalThe user can remove a MIDlet at any time and free up memory for new MIDlets.