Lecture slides for Topic 2 and 3
Lecture slides for Topic 2 and 3
(CoSc 6304)
2. Infrastructures and middleware
of pervasive computing
Wireless Technologies - Overview
Wireless technologies represent a rapidly emerging area
providing pervasive/ubiquitous access to the network.
Bluetooth
Low-cost, short-range wireless links between mobile PCs,
mobile phones, and other portable handheld devices (to
avoid annoying wires)
Connection between cell phone and headset
Point to point (serial wire replacement)
Point to multipoint (ad-hoc networking)
Wireless Technologies - Overview
WLAN (WiFi)
Wireless Local Area Networks (WLAN) are implemented as an
extension to wired LANs
They are based on the IEEE 802.11 standard
New protocols such as Wireless Application Protocol (WAP)
are introduced
New languages such as WML (Wireless Markup Language) have
been developed
Requires Access Point
An access point/base station connects to a LAN by means of
Ethernet cable
Usually installed in the ceiling
Wireless Technologies - Overview
WLAN (WiFi) – cont.
Access points receive, buffer, and transmit data between
the WLAN and the wired network infrastructure.
A single access point supports on average of twenty users
at a time
Has a coverage varying from 20 meters in areas with
obstacles (walls, stairways, elevators) and up to 100 meters
in areas with clear line of sight.
A building may require several access points to provide
complete coverage and allow users to roam seamlessly
between access points.
Wireless Client Adapter - A wireless adapter connects
users via an access point to the rest of the LAN.
Wireless Technologies - Overview
WLAN (WiFi) – Standards
WiFi standard exists as IEEE 802.11a/b/g/n
The number "11" indicates the IEEE working group assigned to 802 standards, and
the a/b/g/n refers to a special task group within this body, known as TGa, TGb,
TGg and TGn.
The 802.11n is a newer standard of WiFi LAN. It operates on the 2.4 gigahertz
(GHz) band, like 802.11b and 802.11g. This frequency does not require line-of-
sight availability like 802.11a, which works in the regulated 5 GHz band.
802.11n uses MIMO (multiple-input multiple-output) technology and incorporate
OFDM (orthogonal frequency-division multiplexing) that splits signal frequencies
up into several modulated channels for increased throughput.
Applications need to
Become autonomous
Place greater reliance on knowledge of context reducing
interactions with users.
Cope with highly dynamic environments in which resources,
such as network connectivity and software services,
frequently vary over time.
Pervasive Infrastructure Requirements
Components that place requirements on both the supporting
infrastructure and the manner in which software components
and user interfaces are constructed include
Devices
Software components
Users
User interfaces
Pervasive Infrastructure Requirements
Device related requirements that must be addressed
by pervasive computing infrastructure include:
Heterogeneity and Mobility
Heterogeneity
Devices in a pervasive computing environment include sensors
and actuators; embedded devices in objects such as watches
and vehicles; home and office appliances such as videos and
telephones; mobile devices such as PDAs, cell phones and
notebooks; desktop machines, etc.
Heterogeneous devices will be required to interact seamlessly,
despite wide differences in hardware and software capabilities.
Requires an infrastructure that maintains knowledge of device
characteristics and manages the integration of devices into a
coherent system that enables arbitrary device interactions.
Pervasive Infrastructure Requirements
Device related requirements …
Mobility
Mobility introduces problems such as the maintenance of
connections as devices move between areas of differing
network connectivity, and the handling of network
disconnections.
While protocols for wireless networking handle some of
the problems of mobility, such as routing and handovers,
some problems cannot be solved at the network level, as
they require knowledge of application semantics.
It should be the role of the computing infrastructure to
cooperate with applications in order to perform tasks
related to device mobility.
Pervasive Infrastructure Requirements
Context awareness
Adaptation
Mobility and distribution
Interoperability
Development and deployment
Component discovery services
Scalability
Pervasive Infrastructure Requirements
Software related requirements …
Context awareness
Invisibility of applications will be accomplished in part by reducing
input from users and replacing it with knowledge of context.
Context-aware software components will exploit information such as
the activities in which the user is engaged, proximity to other devices
and services, location, time of day and weather conditions, etc.
Knowledge of context will also be required to enable adaptation to
changing environmental conditions, such as changing bandwidth and
devices, which can be brought about by mobility.
The infrastructure for pervasive computing should support context
awareness by facilitating the gathering of information from sources
such as sensors and resource monitors; performing interpretation and
dissemination of contextual information in a scalable and timely
fashion; and providing models for programming context-aware
applications.
Pervasive Infrastructure Requirements
Software related requirements …
Adaptation
Adaptation is required in order to overcome the dynamic
nature of pervasive computing. Mobility of users, devices
and software components can occur, leading to changes in
the physical and virtual environments of these entities.
It should be the role of the infrastructure for pervasive
computing to facilitate adaptation, which may involve
adapting individual software components and/or
reconfiguring bindings of components by adding,
removing or substituting components.
Pervasive Infrastructure Requirements
Software related requirements …
Interoperability
The infrastructure for pervasive computing must support
diverse types of software component.
The infrastructure is required to integrate software
components to successfully interact and cooperate to achieve
common tasks.
Applications are formed dynamically from available software
components. This will require dynamic interoperability at the
component level.
Components will need to be capable of dynamically acquiring
knowledge of each other’s interfaces and behaviour, in order
to learn how to interact with previously unknown
components.
Pervasive Infrastructure Requirements
Software related requirements …
Scalability
One of the features of pervasive computing is the
increasing ubiquity of devices and software. Thus,
the infrastructure, the interactions between
components, and the software services provided in
the pervasive computing environment must all be
scalable.
A powerful software platform on which scalable,
fault-tolerant and distributed components can be
built is essential.
Pervasive Infrastructure Requirements
Universal Interface
Users in pervasive computing environments will demand
ubiquitous access to their computing applications, which will
create a requirement for universally available user interfaces.
Adaptation
Device heterogeneity introduces a further requirement for user
interfaces that are highly adaptable.
Usability
User interfaces for pervasive computing must be carefully
designed with several factors like ergonomics and novelty in
mind.
RFIDs, Sensors and Sensor Network
Active tags
Have own energy source
Passive Tags
Have no own energy source
Powered by electromagnetic field generated
by reader
RFIDs, Sensors and Sensor Network
Common Applications
Military applications
Command, control, communications, computing
Intelligence, surveillance
Targeting system
Health care
Monitoring/Tracking patients
Assist disabled persons
Commercial applications
Managing inventory
Monitoring product quality
Monitoring disaster area
RFIDs, Sensors and Sensor Network
Common Applications…
Agriculture and environment
Air/Water/Noise/Light monitoring
Soil/weather/plant monitoring
Food/animal monitoring
Industrial
Process control
Equipment monitoring
Asset tracking
Personnel safety
Batch identification
Automatic clocking in marathon and other races
Automatic luggage sorting
Automatic inventory
RFIDs, Sensors and Sensor Network
Data
Calibration and Calibration and Data Calibration
Treatment Treatment Rules Context –Aware
Service
(Interpretation
Data Mining Prediction Rules and Action)
Prediction Context
(Decision Tree) (PMML Format)
room name
Architecture of our learning and prediction model
RFIDs, Sensors and Sensor Network
Learning Phase …
Ascenseur
B501225A PRISMA
PRISMA PRISMA
L.Frécon PRISMA
M.MATAR Salle réunion
TP PC3 TP PC2 TP 5IF2 TP PC1 TP PC0 Salle TD secretariat étudiants
202 204 208 J.FAVREL
210 212
214 216 218 220 222 224
206
N
305 307 309 311 313 315 317 319 321 323
301 325
Benel
Servin Ouamer
Suela Bohé Hunor Dejene
30
ap 1
k ,i
2 n
, ap ,..., ap , roomk ,i
k ,i k ,i i 1, 2,....
Room 00:06:5A:40:0D:C6 00:06:5A:40:0D:D7 00:06:5A:10:0D:C6 00:06:5A:10:0D:D7
501.317 -60 -60 -60 -57
501.317 -60 -60 -60 -57
501.317 -68 -63 -59 -65
501.319 -60 -62 -64 -100
501.319 -57 -57 -60 -100
501.319 -57 -66 -57 -100
Simple
prediction model
using two APs
and three rooms.
©2005
EATON
Corporation
Server Responsibilities:
- Receiving commands requesting
a service
-Processing service requests and
executing the requested service
-Sending response with results of
the requested service
Peer-to-peer computing
Client/Server - drawbacks
Peer-to-peer …
Reading Assignment:
Read about: Napster, Chord, Gnutella and Kazaa
Note their differences
Peer-to-peer computing
Peer-to-peer …
Centralized P2P
The network has a central
index that all peers contact
(like DNS / directory service)
Advantages: Minimize
network traffic, search whole
Query
network quickly Response
Peer-to-peer …
Peer-to-peer …
d
«salle d’attente»
lle
«salle d’attente» .toInperform
order to
ta
Context Data Transfer
Ins
Discovery? perform and
reasoning reasoning and suggest
to suggest actions to
PDA-Alem some action to Alem,
its owner Alem PDA-Alem Response+ Peer21
needs some semantics on the
concept “salle d’attente”.
C Pl Co
Pla oCA at CA
tfo
rm fo
rm
d
lle
ta
C tfo
le
Pl
Ins
oC rm
a
al
A
st
Discovery?
Discovery? d
In
le
al
Discovery? Discovery? In
st
Discovery?
Rendezvous Rendezvous Peer22
(Router)
CoCA Peers (Router)
Peer1 Peer2
C
(Example from own work) C
Pla oCA
Pla oCA
tfo
rm
d
Self-organize into peer
lle
tfo
ta
rm
d
Ins
lle
groups
ta
Ins
JXTA
Protocol
Stack
3. Context-Aware Computing
Context-Aware Computing
Context-awareness in a pervasive environment?
“A Traditional Office”
“A Pervasive Office”
Person engaged in a
Crowded with varieties
regular duty
of ubiquitous devices
(Person Busy)
surrounding the person
(Person Super Busy)
“Problem”
Devices that are meant to improve “Solution”
user’s working and living condition my Context-aware services that make
users less aware of the gadgets but
interfere with regular duties to the
benefits from their existence
extent that they become destructive (Person Productive, happy …)
(Person Frustrated)
Context-Aware Computing
What is context-awareness?
Domain Relation
hasOwner
Layer isA isA isA
(entity &
isA
attribute type
Lecture Student Professor Phone
attends relationships)
InverseOf
InstanceOf InstanceOf InstanceOf InstanceOf
owns Axiomatic
Geography Bob Alice SPhone095 relation
attends hasProfessor hasOwner
(by inverse axiom)
hasMemory
hasAccuracy
The EHRAM model Metadata
85% (own work) 1024 relation
Context-Aware Computing
Context Modeling: RDF/OWL
Me type Person
RDF Graph
Me PersonalTitle Dr
Me mailBox [email protected]
Http:/www.w3.org/people/
EM/contact#Person Dr Me fullName EricMiller
Http:/www.w3.org/1999/02/ Http:/www.w3.org/2000/10/sw
22-RDF-syntax-ns#type ap/pim/contact#personalTitle
Http:/www.w3.org/peo
ple/EM/contact#me
Http:/www.w3.org/2000/10/ Http:/www.w3.org/2000/10/sw
swap/pim/contact#mailBox ap/pim/contact#fullName
1. <?xml version="1.0"?>
2. <rdf:RDF
3. xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
4. xmlns:xsd="http://www.w3.org/2001/XMLSchema#"
5. xmlns:rdfs="http://www.w3.org/2000/01/rdf-schema#"
6. xmlns:owl="http://www.w3.org/2002/07/owl#"
7. xmlns:assert="http://www.owl-ontologies.com/assert.owl#"
8. xml:base="http://www.cocasp.fr/forumf.owl">
9. <owl:Ontology rdf:about=" ">
10. <owl:imports rdf:resource="file:ForumFinder_Nodata.owl"/> //Ontology
11. </owl:Ontology>
12. <owl:Ontology rdf:about="">
13. <owl:imports rdf:resource="file:ForumContext1.owl"/> //Static (defined) context
14. </owl:Ontology>
15. <owl:Ontology rdf:about="">
16. <owl:imports rdf:resource="file:ForumContext2.owl"/> //Dynamic (sensed) context
17. </owl:Ontology>
18. </rdf:RDF>
Context-Aware Computing
Context Reasoning: Putting them together using - JENA
1. import com.hp.hpl.jena.rdf.model.* ;
2. import com.hp.hpl.jena.ontology.*;
3. import com.hp.hpl.jena.reasoner.rulesys.* ;
4. import com.hp.hpl.jena.util.*;
5. public class ……..
6. public InfModel getCompleteModel(){
7. GenericRuleReasoner reasoner = new
GenericRuleReasoner((List)Rule.rulesFromURL("file:ForumRules.rules"));
8. OntModel omodel =
ModelFactory.createOntologyModel(OntModelSpec.OWL_MEM_
9. MICRO_RULE_INF,
ModelLoader.loadModel("file:ForumOntology.owl"));
10. InfModel cocaModel=ModelFactory.createInfModel(reasoner,omodel);
11. return cocaModel;
12. }
13. ……
Context-Aware Computing
Context Reasoning: The SPARQL query