Systems & Infrastructures. Through the Ubicomp Paradigm. email@example.com - @jhincapie Juan David Hincapié Ramos. Paradigm – What to observe? The kind of questions? How to ask? How to evaluate?. Thomas Kuhn – The Structure of Scientific Revolutions. Desktop Paradigm. Fixed Configuration - PowerPoint PPT Presentation
Systems & Infrastructures
Systems & InfrastructuresThrough the Ubicomp Paradigm
firstname.lastname@example.org - @jhincapieJuan David Hincapi RamosThis presentation was created for a lecture in the PhD course Foundations and Current Trends in Ubiquitous Computing held at ITU during spring 2010.
In todays lecture, we are going to study Ubiquitous Computing systems. And at the end, we will reflect on how this systems are actually infrastructures for users, and what new challenges emerge from the user-infrastructures relation.
Before we embark in discussing Ubicomp systems, I would like us to see Ubicomp not as a new kind of applications, rather, as a new paradigm within which to develop science. A paradigm is like a spider net, the tighter the net (smaller holes) the more things it can capture. In a paradigm shift, both old and new information is captured, and the old information is analized in completely different ways. The new paradigm goes through an acceptance/defense process within the scientific community, and is always better than previous ones. It explains what the old ones do, and even more things. Its not just a replacement.
Thomas Kuhn The Structure of Scientific RevolutionsParadigm What to observe? The kind of questions?How to ask? How to evaluate?An exemplary paradigm shift occurred when we abandoned geocentrism the theory that the earth is the center of the universe and that all other objects go around it, and adopted heliocentrism the theory where the sun is the center of the universe. With the new theory, we continued seeing the same kind of things (oceans, mountains, trees, animals, etc), but we now interpretated things differently and could explain things with new knowledge (seasons).
A paradigm tells us whats to be observed, and what kind of questions frame those observations. The paradigm has an implicit method of inquire (how to ask?) and how methods to validate findings (how to evaluate?).2Desktop Paradigm
Fixed Configuration Personal WIMPIn computer science the up-to-now prevalent paradigm has been that of the desktop computer.
The computer has a more or less fixed configuration in terms of location, network, and periphericals. Its mostly for single-person usage (or family but at any cost one person at the time). And subscribe to well stablished interaction techniques like WIMP.3
In Ubiquitous Computing, computation moves off the desktop into our everyday places and activities, and it can take the form of interactive floors, location systems, interactive tables, and distributed public displays among others.
In terms of paradigm change, the world is still the world, desktop computers are still on the desktop, sensors are still sensors, cameras still just capture images. However, whats important is the way we now look at all those devices and how we use them to create new applications. We can now explain and design for the desktop, and also for the street, for the park, for the intelligent home, etc.
4[Computation ] is invisible, everywhere computing that does not live on a personal device of any sort, but is in the woodwork everywhere.Mark Weiser http://www.ubiq.com/hypertext/weiser/UbiHome.htmlHeterogeneous DevicesUser/Non-User InteractionMany-To-Many UseInvisibleThis new paradigm was first enviosned by Weiser, by saying computation would be the woodwork everywhere.
The new paradigm brought about new research questions. If computation is everywhere as woodwork, then: - How to handle heterogeneous devices? - How to support users interactions with the systems? And systems that are not for the user to interact with (sensors)? - How to enable many-users to many-devices interactions? - and the ever sought invisibility, what does it mean to have invisible systems?
This are some of the questions that we now ask ourselves as ubiquitous computing researchers.
TopicsCreatingImplementingEvaluatingThis talk tries to shed light in the details on the new paradigm, and follows Chapter 2 in the book Ubiquitous Computing Fundamentals edited by John Krumm.
The outline of this in relation with systems is: first, what are the topics and challenges that emerge when working in a Ubiquitous Computing world. Second, we will look at some practical considerations when creating Ubiquitous Computing systems. Third, well look into different options for implementation. And finally, we will discuss what to look at when we are evaluating them.
At the end, well see a few points on how ubicomp systems relate to other research fields.6
TopicsResource-Constrained DevicesEnergy ConsumptionResource-AwareHarvestingNetworkingThe technological advacement according to Moores law has increased computing power and memory in desktop and server computer. More importantly, it has allowed us to create plenty of small devices. These devices however count with limited resources and many constrains particularly in memory, computing power and networking. This constrains are due to energy consumption, which is affected by short batteries life and inneficient energy harvesting mechanisms.
The challenge here is the optimization in the use of the limited resources, so that the energy consumption is reduced and battery life can be extended. To address this challenge, researchers are following three lines:1- Resource Aware Computing, which consists on middelware-level notifications on the usage of resources, and the adaptation of the applications to the availability of resources. For example, after being notified of reduced baterry, sensor network nodes could decide to decrease the sampling rate.
2- Resource Harvesting: This line seeks to harvest energy, computing power, and memory. Power foraging includes both capturing energy from the environment, to direct input (RFID) or recharging of batteries (kinetic/movement energy). Cyber foraging deals with unloading processing of tasks to more resourceful devices. Finally, memory harvesting uses file servers to store captured information.
3- Networking is the most energy intensive service. Researchers try to optimize network usage while throughtput and reliability, by implementing caching, agregating of data, and averaging.7
Volatile Execution EnvironmentsTopicsService DiscoveryReconfigurationThe ubicity of devices serving different purposes and their high mobility have created highly volatile environments.
Volatility here refers to dynamic configurations. For example, in the smart room, a device might use the local printer, unload some of the pictures it has taken, authenticate the user to a public display, etc. Here, users, devices, OSs, hardware, software, is frequently changing.
There are two main challenges:1- Service Discovery and Device Pairing: Which is enabling devices to work together, and have mechanisms to handle disconnection.2- Reconfiguration: Reconfiguration entails the systems should accomodate to changing conditions in the execution environment. For instance changing the routing of messages, due to proximity or low battery in one device.
These two problems are not unique to Ubicomp, they have been previously studied in distributed systems and sensor networks. However, the degree of volatility in Ubicomp is much higher, and they are not exceptional situations, but rather the norm. 8
Heterogeneous Execution EnvironmentsTopicsUbicomp applications spam across multiple devices and platforms. So the challenge is not only compiling and executing applications in the different platforms, but rather to account for this differences when designing applications. This entails procuring for compatibility.
This challenge is partly due to the fact that Ubicomp is a rather new field. And there is still a void of standard protocols or de-facto standards, in almost any kind of service.
A Ubicomp challenge, therefore, is to build base technologies that handle the heterogeneity and standarize the interaction with specialized services/hardware. 9Fluctuating Usage EnvironmentsTopicsLocationContextActivities
This topic refers to the changing situations that ubicomp applications are designed for. Now that the computer leaves the desktop and meets th real worl, computers are not longer limted to information storage and processing. Devices are designed to have multiple users, work on previously explore settings like hospitals or open fields, and account for different places and physical surroundings.
There are three main challenges that have been studied in this field, namely, how to handle fluctuations in context of use, location, and activities.
1- Context-aware computing: relevent information and services based on knowledge about what, where, who, why, when, the user are currently engaged in.
The next two cases can be seen as specializations of context-aware computing
2- Location-based computing: relevant information and services based on knowledge about the location of the users. Examples (museum guides, tourist guides, GPS navigation)
3- Activity-based computing: The handling of many, concurrent and collaborative, users activities and tasks.10
Invisible ComputingTopicsAutonomic ComputingContingency ManagementGraceful DegradationHandling and achieving invisibility is at the core of Ubicomp, and this invisibility can be given in two ways:
First, by embedding computing in everyday objects, so that they are invisible to the human eye. Second, the computers operate in the pheriphery of the users attention, so users are not aware of them. The devices are mentally invisible.
One of the approaches to deal with invisibility is autonomic computing. Imagine moving a computer from a room to another (cables, network, etc). With autonomic computing, the aim is self-management: having the devices pro-actively adapt