Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe...

38
SeoulTech UCS Lab 2014-2 st Ubiquitous Computing Systems 2014. 09.16 JeongKyu Lee Email: {jungkyu21}@seoultech.ac.kr

Transcript of Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe...

Page 1: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

SeoulTech UCS Lab

2014-2st

Ubiquitous Computing

Systems

2014. 09.16

JeongKyu Lee

Email: {jungkyu21}@seoultech.ac.kr

Page 2: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

목 차

Ubiquitous Computing Systems

1. Introduction

2. Ubicomp Systems Topics and Challenges 2.1 Resource-Constrained Devices

2.2 Volatile Execution Environments

2.3 Heterogenous Execution Environments

2.4 Fluctuating Usage Environments

2.5 Invisible Computing

2.6 Security and Privacy

2.7 Summary

3. Creating Ubicomp Systems

3.1 Why Duild Ubicomp Systems?

3.2 Setting Your Objectives

3.2.1Testing Your Ideas

3.3 Designing “Good” Systems

3.3.1 Computational Knowledge of the Physical World

3.3.2 Seamfulness, Sensibility, and Tolerant Ignorance

3.3.3 User Mental Model and Responsibility

3.3.4 It Is Always Runtime

3.3.5 Handling Transient Connections

3.3.6 The State of the World

3.3.7 Is It Working?

3.4 Summary

2

Page 3: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

3

1.1 Ubiqutious Computing

: Simple and safe anywhere get on necessary information

from a variety of networking.

Definitions

- researcher in the Computer Science Lab at Xerox’s PARC

(Palo Alto Research Center)

- first articulated the idea of ubiquitous computing in 1988

- Medals for all objects inserted into intelligent computing

capabilities

1. Introduction

Page 4: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

4

1.1 Ubiqutious Computing • Ubicomp is a post-desktop model of human computer interaction

in which information processing has been thoroughly integrated into

everyday objects and activities.

• Integrate computers seamlessly into the world

– invisible, everywhere computing.

– Often called pervasive/invisible computing.

• Computers are mostly not invisible, they dominate interaction

with them.

• Ubicomp is about making computers invisible.

1. Introduction

Page 5: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

5

1. Introduction

1.1 Ubiqutious Computing Definitions

Real Environment Virtual Environment

Ubiquitous Computing

Environment

Ubiquitous Computing Virtual Reality

Physical

space

+

Electronic

space

Page 6: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

6

1. Introduction

1.2 Ubiqutious Computing Requirement (5C, 5A)

Communication

Page 7: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

7

1. Introduction

Technology View

• Computers everywhere – embedded into fridges, washing

• machines, door locks, cars, furniture.

• Intelligent environment.

• Mobile portable computing devices

• Wireless communication – seamless mobile/fixed.

User View

• Invisible – implicit interaction with your environment.

• Augmenting human abilities in context of tasks

Ubiquitous

computing

Mobile

computing Intelligent

environment.

Page 8: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

8

1. Introduction

1.3 Ubiqutious Computing Characters

- Mark Weiser (1952~1999)

Characteristics Description

Connected Interconnected in any network all objects are to exchange information.

Invisible/Pervasive Invisible interface.

Calm Technology Personalised service. Intelligent computer provides services to meet the user's own environment.

AnyTime, AnyWhere Overcome the limitations of time and space. Possible to use a computer anywhere in the real world.

Page 9: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

9

1. Introduction

1.3 Ubiqutious Computing Character

Technology Description

Device Technology IT SoC(System on Chip), MEMS, Nano Technology(NT), Battery

Network Technology BcM, IPv6, Wireless, Blue tooth, Grid, etc.

Sensing Technology RFID Technology, Sensor Network

Context awareness Technology

- Users and a user wants to recognize information on the environment type, - Context definition and representation techniques (Semantic Web) - Middleware for the delivery status information

Interaction Technology More convenient computing environment through the

realization of human-centered user interface

Security Technology DRM(Digital Right Management)

AAA(Authentication, Authorization, Accounting) Security Protocol technology

Page 10: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

10

2.1 Resource-Constrained Devices (1/2) • Moore’s law has resulted into highly powerful PCs

– Fast CPUs

– Large memory sizes

– High network bandwidth

• Many UbiComp devices like PDAs, smart-phones, music

players etc have significantly less resources than PCs

• Resource-aware computing

– “An approach to develop technologies where the application is

constantly notified about the consumption of vital resources,

and can help the application (or the user) to take a decision

based on available resources now and in the future”

2. Ubicomp Systems Topics and Challenges

Page 11: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

11

2.1 Resource-Constrained Devices (2/2) • Examples

– Media streaming adjusted to available network bandwidth/battery

– Display brightness adjusted to prolong battery life

• Most constrained resources

– Energy

• “One of the main hardware constraints to consider when

building UbiComp systems and applications is power

consumption and/or opportunities for energy harvesting—

including recharging”

– Foraging: Collecting energy from the environment (e.g. kinetic

energy from a walking person)

– Cyber foraging: Offloading resource-heavy tasks (e.g. to

dedicated or shared servers)

2. Ubicomp Systems Topics and Challenges

Page 12: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

12

2.2 Volatile Exrcution Environments (1/2) • Service discovery

– Technology and standards enabling devices to discover each other,

set up connections and start using each other’s services

Example: – When a small portable device enters a “smart space” it

might want to start using its displays, printers, etc

• Existing technologies

– Jini, UPnP

– Bonjour/Multicast DNS (mDNS)

– Bluetooth discovery protocol

• Limitations

– Still, all these technologies fail to enable discovery beyond LANs

– Cumbersome use (e.g. Bluetooth need for PIN number)

2. Ubicomp Systems Topics and Challenges

Page 13: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

13

2.2 Volatile Exrcution Environments (2/2) • UbiComp and Distributed Systems

• Spontaneous changes

– Viewing UbiComp from a Distributed Systems perspective, the most

important challenge is that of spontaneous changes:

• Mobile devices might appear or disappear without warning (because

of physical movement, battery depletion, network error, etc) – Appropriate handling of such spontaneous disconnections us needed

– More volatility factors exist, such as changes to the network topology

• Volatility in Distributed System – “While volatility is a known problem also for traditional distributed

systems, UbiComp differs in that the connectivity changes are

common rather than exceptional, and often of a more basic nature

2. Ubicomp Systems Topics and Challenges

Page 14: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

14

2.3 Heterogeneous Execution Environments (1/2)

• Heterogeneity

– A UbiComp application also involves a wide range of—possibly

heterogeneous—hardware and software:

· Devices and hardware components

· Network technology

· Operating Systems

· Input/Output capabilities

· Resources

· Sensors

2. Ubicomp Systems Topics and Challenges

Page 15: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

15

2.3 Heterogeneous Execution Environments (2/2)

• UbiComp Applications

– Unlike traditional applications, in UbiComp applications do not

reside on one—or two at most—computers but rather span

several devices which need to closely coordinate their

operation in order to make up the application

2. Ubicomp Systems Topics and Challenges

Page 16: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

16

2.4 Fluctuating User Environments (1/2)

• Contemporary Computing

- Users use PCs for information access on a one-to-one relationship

• Ubiquitous Computing

- The same device might be used by several users and a user might

use several devices

- Many-to-many relationship between users and devices

- Doing a task is no longer tied to one device, but rather it is

distributed across several heterogeneous devices

• Challenges

- Technology is overwhelming users with the need to set up and

manage

- Calm technology and invisible computing is the opposite of that

2. Ubicomp Systems Topics and Challenges

Page 17: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

17

2.4 Fluctuating User Environments (2/2) • Changing location of users

– Location-based computing

– Example: Tour guides

• Varying user context

– Context-aware computing

– Includes information about “who” is using the application, “who is

nearby”, ambient environment details, etc

– Example: A smart conference room which adjusts temperature,

lighting and whiteboard contents based on the users present

• Fluctuating user activity

– Activity-based computing

– Example: Smart hospital where personnel need to coordinate their

activities based on the—multiple—patients they are attending to

2. Ubicomp Systems Topics and Challenges

Page 18: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

18

2.5 Invisible Computing (1/2) • One of the core elements of Weiser’s vision of UbiComp

– Example: A smart home that transparently monitors its users so that

It can automatically adjust the heating/ventilation/air conditioning

• The computers are invisible to the users in a double sense

1. The computers are embedded into buildings, furniture, medical

devices, etc—physical invisibility

2. The computers operate in the periphery of the users’ attention and

are hence imperceptible—mental invisibility

• Why is invisibility a major departure from traditional computing?

– Because traditional systems rely heavily on having the users’

attention—explicitly

2. Ubicomp Systems Topics and Challenges

Page 19: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

19

2.5 Invisible Computing (2/2) • Challenge: Invisible Computing

• Significant research effort towards invisible computing

• Autonomic computing

– Systems that are capable of self-management

– Example: Mainly, cluster-based server architectures

• Proactive computing

– Anticipate failures and prepare for exception handling

– Example: Offload a mobile agent when a device’s battery is running

out or proactively download resources before leaving network coverage

• Graceful degradation

– Computers should not depend on volatile resources (such as

networking) and be prepared to operate also when some are

unavailable

2. Ubicomp Systems Topics and Challenges

Page 20: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

20

2.6 Security

• Interactions will be cross multiple organisational boundaries

specification, analysis and integration for heterogeneous OS, databases, firewalls, routers.

• Everything worth hacking gets hacked.

• Need for secure ‘out of the box’ set up that can identify friend or foe level of trust.

• Small communicators, with confidential data, are easily lost or stolen – biometric authentication.

• Necessary security technology exists.

2. Ubicomp Systems Topics and Challenges

Page 21: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

21

2.6 Privacy

• Location service tracks movement to within metres.

• Clearly indicate you are being sensed or recorded + user control

to stop recording or control distribution of information.

• You are now predictable System can co-relate location, context and behaviour patterns

• Do you want employer, colleagues or insurance company to know you carry a medical monitor?

• Tension between authentication and anonymity – business want to authenticate you for financial transactions and to provide ‘personalized’ service web sites.

• Constant spam of context dependent advertising

2. Ubicomp Systems Topics and Challenges

Page 22: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

22

※ Ubiquitous/Pervasive Computing

• Focus usually on technical challenges

• Other challenges: design challenges, human-computer

interaction, real-time deployment, etc.

• Builds on previous work in the areas of

- Distributed Systems

- Mobile Computing

2. Ubicomp Systems Topics and Challenges

Page 23: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

23

※ Challenges

• What are some of the challenges in UbiComp systems research?

– How to design hardware and Operating Systems for sensors and

embedded devices?

– How to allow devices to find one another and use the services of

each other?

– How to support resource impoverished devices that run on

batteries?

– How to enable seamless mobility and collaboration in smart spaces

such as smart rooms and hospitals?

• Overlap with other systems research questions

– But unique set of challenges in UbiComp systems

2. Ubicomp Systems Topics and Challenges

Page 24: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

24

※ Nanotechnology (1/2)

• The trend toward miniaturization of computer components down to

an atomic scale is known as nanotechnology

2. Ubicomp Systems Topics and Challenges

Page 25: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

25

※ Nanotechnology (2/2)

• Mobile data technology

– GSM, GPRS, UMTS, CDMA, WAP, Imode

• Wireless data technology

– Bluetooth, 802.11b

• Internet data technology

– IP over optical, Broadband

• Content services

– Web & WAP

• Applications

– Multimedia, Internet messaging

2. Ubicomp Systems Topics and Challenges

Page 26: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

26

3.1 Why Bulid Ubicomp Systems? • Prototyping future systems to explore ubiquity in practice

• Empirical exploration of user reactions to ubicomp

• Gathering datasets to tackle computational problems relating to

ubicomp

• Creating ubicomp experiences for public engagement or

performance

• Creating research test beds to agglomerate activity and stimulate

further research

• To explore a hypothesis concerning ubicomp more

naturalistically

• To test the limits of computational technologies in a ubicomp

setting

• Addressing the perceived needs of a problem domain or

pressing societal issue

3. Creating Ubicomp Systems

Page 27: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

27

3.2 Setting Your Objectives

3.2.1 Testing Your Ideas • Low-fidelity prototypes, which can be simple scenarios that can be

discussed, paper prototypes, or even models of devices or graphical

story boards of proposed interactions—anything that can add

richness to the discussion of the system with potential users.

• Video prototypes, although considerably requiring more effort to

create, can communicate the concepts in the system quite effectively

and act as a useful reference for explaining the system later on.

• Rapid prototypes of user interfaces using prototyping toolkits (see

Section 2.6) can afford a more realistic synthesis of the intended

user experience.

• “Wizard of Oz” prototypes of parts of the system may allow the final

behavior of the system to be emulated and thus experienced by

others.

3. Creating Ubicomp Systems

Page 28: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

28

3.3 Designing “Good” Systems

3.3.1 Computational Knowledge of the Physical Word • From a systems design perspective, it is far from clear what the

interfaces and internals of a ubicomp system should be,

necessitating an experimental approach.

1. What can be reliably sensed

2. What can be reliably known?

3. What can be reliably inferred?

3. Creating Ubicomp Systems

Page 29: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

29

3.3 Designing “Good” Systems

3.3.2 Seamfulness, Sensibility, and Tolerant Ignorance

• Pessimistic: Only show information that is known to be correct

• Optimistic: Show everything as if it were correct

• Cautious: Explicitly present uncertainty

• Opportunistic: Exploit uncertainty (cf. Gaver et al., 2003)

3. Creating Ubicomp Systems

Page 30: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

30

3.3 Designing “Good” Systems

3.3.3 User Mental Model and Responsibility • The frequency or inconvenience of potential user involvement

• The severity or undesirability of the consequences if the system gets

it wrong

• The reliability of detecting the appropriate moment and appropriate

action

• The acceptability to the user of automating the behavior

3. Creating Ubicomp Systems

Page 31: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

31

3.3 Designing “Good” Systems

3.3.4 It Is Always Runtime 1. Systems requiring a carefully contrived startup order are likely to fail.

2. If the availability of elements may be sporadic, your system should be

able to gracefully handle disconnection and reconnection or rebinding

to alternate services.

3. Assume that individual components may fail or be temporarily isolated

(which is especially true of so"ware elements on mobile devices)

and design your system accordingly so that state can be recovered.

4. Decide proactively how to handle data when an element is

disconnected: are the data kept (e.g., bu#ered) until reconnection,

and if so, how much will you bu#er before discarding. What strategy

will you choose to decide which data to keep or discard (oldest, f

reshest, resample, etc.)?

5. Consider including version information in protocols used in systems

designed to run longitudinally to at least identify version mismatches.

3. Creating Ubicomp Systems

Page 32: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

32

3.3 Designing “Good” Systems

3.3.5 Handling Transient Connections - Network connections (or the lack or failure thereof) can have profound

effects on the performance of ubicomp systems and, crucially, the

end user experience

3.3.6 Handling Transient Connections

- Transient connections and component failures have an impact on how

consistent the state of your overall system will be. It is important to

design in strategies for recovering from both of these cases. Parts of

your system may be replicable or sufficiently available to use well-

known techniques to mask such failures and achieve some degree of

fault tolerance. However, in many ubicomp systems, software

components are often intimately linked to specialist or personal

hardware, or may be placed in unique locations, which makes

traditional techniques involving redundant replication or fail-over

inappropriate.

3. Creating Ubicomp Systems

Page 33: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

33

3.3 Designing “Good” Systems

3.3.7 Is It Working?

• Use of conventional mechanisms such as log files and network packet

tracing to passively monitor running components

• Including status protocol messages that can be intercepted (often as

periodic heartbeat messages)

• Adding status displays including use of hardware such as LED blink

sequences, audible and visual feedback

• Including diagnostic interfaces such as embedded web servers that

can be interrogated

• Enabling remote access to components such as remote shells, etc.

• Externalizing of state or communications by using a middleware

such as a publish-subscribe event channel, Tuple Space, Message

Oriented Middleware, etc.

3. Creating Ubicomp Systems

Page 34: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

34

※ Management

• Huge, complex systems

- Billions of processors - Multiple organisations - Managing physical world, controlling sensors, actuators

• Hacker and virus paradise

• System propagates false information about individuals or

organisation.

• Complexity of s/w installation on a workstation or server – how do you cope with billions?

3. Creating Ubicomp Systems

Page 35: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

35

※ Proposed Management Solution • Intelligent agents, mobile agents, policy.

• QoS Management Fat pipes and large storage can convert media streams to short traffic bursts in core network but still needed for wireless links.

• Adaptive self-management is the only answer Partitioned domains of responsibility Genetic algorithms may be suitable for long-term strategy but need more deterministic solutions for short term decision making

3. Creating Ubicomp Systems

Page 36: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

Reference

36

• John Krumm Ubiquitous Computing Fundamentals • Weiser, Gold and Brown The origins of ubiquitous computing research at PARC in the late 1980s IBM Systems Journal, VOL 38, NO 4, 1999 http://www.itee.uq.edu.au/~comp4501/weiser.pdf

Page 37: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

37

Q & A

Page 38: Ubiquitous Computing Systems · 2014-09-22 · 3 1.1 Ubiqutious Computing : Simple and safe anywhere get on necessary information from a variety of networking. Definitions - researcher

38

Thank you