03 Ubiquitous Computing - University of Groningen
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