03 Ubiquitous Computing - University of Groningen

10
Marco Aiello Master a.y. 2017/18 Smart Cities and Internet of Things: Ubiquitous Computing 2 Trends 3 Evolution 1988 Mark Weiser Xerox PARC coined the term Alan Kay calls it the “Third Paradigm” of computing 4 Mark Weiser “The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it” 1955-1999

Transcript of 03 Ubiquitous Computing - University of Groningen

Marco Aiello

Master

a.y. 2017/18

Smart Cities and Internet of Things: Ubiquitous Computing

!2

Trends

!3

Evolution

1988 Mark Weiser Xerox PARC coined the term Alan Kay calls it the “Third Paradigm” of computing

!4

Mark Weiser

“The most profound technologies are those that disappear. They weave themselves into the fabric of everyday life until they are indistinguishable from it”

1955-1999

!5

1998Mark Weiser

Inspired by the social scientists, philosophers, and anthropologists at PARC, we have been trying to take a radical look at what computing and networking ought to be like. 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. This is a challenge that affects all of computer science. Our preliminary approach: Activate the world. Provide hundreds of wireless computing devices per person per office, of all scales (from 1" displays to wall sized). This has required new work in operating systems, user interfaces, networks, wireless, displays, and many other areas. 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.

For thirty years most interface design, and most computer design, has been headed down the path of the "dramatic" machine. Its highest ideal is to make a computer so exciting, so wonderful, so interesting, that we never want to be without it. 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.) I believe that in the next twenty years the second path will come to dominate. But this will not be easy; very little of our current systems infrastructure will survive. We have been building versions of the infrastructure-to-come at PARC for the past four years, in the form of inch-, foot-, and yard-sized computers we call Tabs, Pads, and Boards. Our prototypes have sometimes succeeded, but more often failed to be invisible. From what we have learned, we are now explorting some new directions for ubicomp, including the famous "dangling string" display.

• Post-PC era

• Pervasive Computing (IBM)

• Ubiquitous Computing (Weiser)

• Ambient Intelligence (EU FP)

• Disappearing/invisible/calm computing

• Mixed-mode systems

• Tangible bits

• Internet of things (IoT)

!6

Related names

Mühlhäuser, M., & Gurevych, I. (2008). Introduction to Ubiquitous Computing. In M. Mühlhäuser, & I. Gurevych (Eds.), Handbook of Research on Ubiquitous Computing Technology for Real Time Enterprises (pp. 1-20). doi:10.4018/978-1-59904-832-1.ch001

• Devices attached to humans

• carried

• worn

• implanted

• Devices encountered

• smart items

• smart environments

!7

Nodes

Wearable computing

A declination of ubiquitous computing.

Steve Mann

Mobile and Ubiquitous Computing

From Chapter 19

A room responding to a user wearing an active badge

2. Infrared sensor detects userユs ID

Hello Roy 1. User enters room wearing active badge

Userユs ID3. Display responds

to user

Infrared

Volatile Systems

Volatility types: failures of devices and communication links changes in the communication qualities (e.g., bandwidth) dynamic associations, i.e., logical communication relations between software components resident on devices

At the networking level, often referred to as spontaneous

Not a defining property, but rather a common characteristic

!11

Device Model

Limited Energy: computation, access to memory, wireless communication contribute to energy consumption which is limited.

Resource Constraints: in terms of memory size, processing speed and communication qualities.

Sensors and actuators: measuring and changing physical parameters, respectively.

!12

What are examples of devices w.r.t. to this model?

Volatile connectivity

Disconnection is common Multi-hop wireless routing Ad hoc routing is often common practice Handover among base station needs to be handled

Varying bandwidth Varying latency

!13

Spontaneous interoperation

Components change routinely the set of components they communicate with Components may be unknown at design time

Association: the logical relationship over a period of time among two components (not necessarily symmetric)

Interoperation: the interaction inside an association

!14

Some examples

Pre-configured Spontaneous

Service-driven: email client and server

Human-driven: web browser and web servers

Data-driven: P2P file-sharing applications

Physically-driven: mobile and ubiquitous systems

Association

Network bootstrapping, e.g: DHCP server and DNS IPv6 has a serverless address assignment protocol Apple Rendezvous

Association problem: how to interact with the pervasive system once in the network? with which of the potentially millions of devices interoperate?

Boundary principle: necessity of System boundaries, i.e., system defined criteria that scope but do not necessarily constrain association

!16

Discovery services

To address the boundary principle, one may make use of discovery services (e.g., Jini)

Directory services essential to discovery: i. query result evaluated at run-time ii.there may be no infrastructure for a directory service iii.registered services may spontaneously disappear iv.protocols to interact with the service are sensitive to

bandwidth and power consumption

Not only service discovery, but also device discovery

!17

Service discovery in Jini

Printing service

serviceLookup

serviceLookup

Printing service

admin

admin

admin, finance

finance

Client

Client

Corporate infoservice

2. Here I am: .....4. Use printing service

Network

3. Request ‘printing’

1. ‘finance’ lookup service

The interface to a discovery service

Methods for service de/registration Explanation

lease := register(address, attributes) Register the service at the given address with the given attributes; a lease is returned

refresh(lease) Refresh the lease returned at registration

deregister(lease) Remove the service record registered under the given lease

Method invoked to look up a service

serviceSet := query(attributeSpecification)

Return a set of registered services whose attributes match the given specification

Discovery service issues

Low-effort, appropriate association

Service description and query language

Context specific service discovery

Directory implementation

Service volatility

!20

Discovery models

Server model publish-subscribe pattern publish-find-invoke pattern

Serverless model push: services multicasted regularly pull: services multicast requests when needed

!21

Physical association

Human direct input Guided input through sensing

e.g., information on TV screen in hotel room

Device localization for association e.g., via GPS e.g., via triangulation with base stations

Direct association Address sensing (IrDA) Physical Stimulus (digitally modulated laser) Physical correlation (Two button protocol or the shake in one hand protocol Holmquist et al. 2001)

!22

Interoperation

Once associated, devices need to interoperate

Two roads:

allow heterogeneity and reconcile at-run time

force syntax and semantics of interactions

!23

semantic web

Unix pipesHTTP get and post

Data-oriented interoperation

Data accessed via a fixed service interface

Event systems: events have fixed interface and there is an infrastructure to manage them

Tuple spaces: components use a fixed generic interface for structured data (tuples) from a space

!24

<“The leaning tower”, “image/jpeg”, <data>> <*, “image/jpeg”, *>

Asynchronous vs Synchronous short lived vs long lived

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000

Event Notifications

�Roles: �Observer, object of interest, event, notification, subscriber,

publisher �Delivery semantics: �Maybe, e.g., via IP multicast �At-least-once, via request-reply multicast �Other options

�Observer �Forwarding �Filtering of notifications �Patterns of events �Notification mailboxes

�Jini implements an event notification mechanism

Instructor’s Guide for Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 © Addison-Wesley Publishers 2000

Architecture for distributed event notification

subscriberobserverobject of interest

Event service

object of interest

object of interest observer

subscriber

subscriber

3.

1.

2. notification

notification

notification

notification

Sensing and Context awareness

The context of an entity is an aspect of its physical circumstances of relevance to its behavior.

Context can be determined by sensors: location, velocity, orientation ambient conditions, e.g., temperature, light, sound, etc. presence

An important aspect is the error model of the sensors. Think of the SLAM problem in robotics (self localization and mapping)

!27

Sensing architectures

Challenges:

integration of idiosyncratic sensors

abstracting from sensor data

data fusion

volatility of context

!28

The IdentityPresence widget class of the

Attributes (accessible by polling) Explanation

Location Location the widget is monitoring

Identity ID of the last user sensedTimestamp Time of the last arrival

Callbacks

PersonArrives(location, identity,timestamp) Triggered when a user arrives

PersonLeaves(location, identity,timestamp) Triggered when a user leaves

A PersonFinder widget constructed using

IdentityPresenceRoom A IdentityPresenceRoom B

PersonFinder

Floor pressure (generators) Video (generator)Face recognition

Footstep recognition(interpreter)

(interpreter)

Widgets

Wireless sensor networks

a system made of many low-cost devices with sensing, computing and networking capabilities it builds an ad-hoc network routing is also ad-hoc there might be a root node (with higher capabilities)

The problem is with the communication, an ordinary processor can execute 3 million of instructions with the energy needed to transmit 1Kbit of data over a 100m radio link

!31

Some location-sensing technologies

Type Mechanism Limitations Accuracy Type of location data PrivacyGPS Multilateration

from satelliteradio sources

Outdoorsonly (satellitevisibility)

1–10m Absolute geographiccoordinates (latitude,longitude, altitude)

Yes

Radiobeaconing

Broadcasts fromwireless basestations (GSM,802.11, Bluetooth)

Areas withwirelesscoverage

10m–1km Proximity to knownentity (usually semantic)

Yes

Active Bat Multilaterationfrom radio andultrasound

Ceiling

sensors

10cm Relative (room)coordinates.

Bat identitydisclosed

Ultra WideBand

Multilaterationfrom reception ofradio pulses

Receiver installations

15cm Relative (room)coordinates

Tag identitydisclosed

Activebadge

Infrared sensing Sunlight orfluorescentlight

Room size Proximity to knownentity (usually semantic)

Badgeidentitydisclosed

Automaticidentificationtag

RFID, Near FieldCommunication,visual tag (e.g.barcode)

Readerinstallations

1cm–10m Proximity to knownentity (usually semantic)

Tag identitydisclosed

Easy Living Vision,triangulation

Camerainstallations

Variable Relative (room)coordinates

No

mounted

Locating an active bat within a room

3. Ultrasound receivers

2. Active bat

1. Base station sends timing signal to ultrasound receivers and radio signal to bat simultaneously

emits ultrasound signal on receipt of radio signal

report times of flight of

ultrasound pulse

4. Base station computes distances to ultrasound receivers from times of flight, and thus position of bat

Security and privacy

Security: confidentiality, integrity and availability in addition, privacy

Hardware issues: hardware more easily stolen and tampered insufficient computing resources for asymmetric public-key cryptography which nodes should share the same key? (a key per node can be unfeasible) Sleep deprivation torture attack (energy consumption in order to make an denial of server attack)

!34

Some approaches to secure spontaneous

Use a side channel with certain physical properties

e.g.: physical contact infrared audio laser barcode and camera

Base access control on the physical location!35

Secure device association using physical contact

1. Fresh secret key K exchanged by physical contact 2. Devices communicate using secure channel

W

constructed over W using K

K

Privacy protection

Difficult problem as identifiers are tied to location, activity, time -> user

Use pseudonyms Use a privacy proxy that masks actual users (but becomes a single point of vulnerability) Mixing can help against traffic analysis (only possible if there are enough users)

!37