Title: Component-based Computing implications for Application Architectures
1Component-based Computing implications for
Application Architectures
- Julie A. McCann
- Imperial College, Department of Computing
- London UK
- jamm_at_doc.ic.ac.uk
- www.doc.ic.ac.uk/jamm
2Getting to the 3rd Wave
- What is the future of computing?
- pervasive computing?
- What is the fundamental requirements of such
systems? - How are we getting there?
- Go!
- Hypatia
- Go! Hypatia Jeffs ADLs ANS!
3Phase I
To the 3rd wave.
4Ubiquitous Computing?
- Mobile Computing ! Ubi
- Nano Computing ! Ubi
- What is it then?
- Involves many disciplines.
- Inspired by the social scientists, philosophers,
and anthropologists - paradigm shift?
- currently we expect the user to find ways to use
the computer - however we currently do not emphasise how the
computer can find its own way to serve the user - focus on HCI
- focus on security, privacy --gt big brother?
5(No Transcript)
6pervasive computing
- What is pervasive computing
- Current technology
- Mobile computing
- Context adaptation
- Intelligent environment
- Adaptive architecture
- Security, privacy and management
Thanks to M. Sloman for slides
7What is Pervasive Computing?
- Technology View
- Computers everywhere embedded into fridges,
washing machines, door locks, cars, furniture,
people - ? 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 mobile computing intelligent
environment
Thanks to M. Sloman for slides
8Mobility
- Mobile computing
- Computing communication on the move
- Mostly voice based or embedded?
- Nomadic computing
- Intermittent connectivity
- Usual environment available
- Mobile agents
- Mobile code and data
Thanks to M. Sloman for slides
9Contents
- What is pervasive computing
- Current technology
- Current near term gadgets
- Wearable computing
- Mobile computing
- Context adaptation
- Intelligent environment
- Adaptive architecture
- Security, privacy and management
Thanks to M. Sloman for slides
10Current Technology
Thanks to M. Sloman for slides
11Current Technology 2
Thanks to M. Sloman for slides
12Wearable Computers
Watch phone
Watch camera
Thanks to M. Sloman for slides
13Wearable I/O
Thanks to M. Sloman for slides
14Designer Gear
Thanks to M. Sloman for slides
15Wearable or luggable?
See http//wearables.www.media.mit.edu/projects/w
earables/mithril/index.html
Thanks to M. Sloman for slides
16The Whisperer
- Convert audio signals to vibrations sent via
finger - Send commands by tapping fingers in various
rhythms
Thanks to M. Sloman for slides
17Usability
- Common user interface for workstation and mobile
device applications - Adaptive information display
- Replicate characteristics of paper-based
notebooks for annotatablity, robustness,
universality - Flexible voice based input-output
- Voice recognition text to speech conversion
- Gesture recognition
- WAP phone is not a useable computing device!!
- Remove human from loop intelligent agents?
Thanks to M. Sloman for slides
18Brainwaves!
Thanks to M. Sloman for slides
19Contents
- What is pervasive computing
- Current technology
- Mobile computing
- Issues
- Wireless communication
- Ad-hoc networking
- Context adaptation
- Intelligent environment
- Adaptive architecture
- Security, privacy and management
Thanks to M. Sloman for slides
20Mobile Computing Vision
- Universal connectivity anywhere, anytime
- Accommodate heterogeneity of networks and
communicators - Ubiquitous intelligent environment embedded
computers everywhere - Easy user interaction
- Context independent access to services context
dependent information
21Mobility Issues
- How to integrate mobile communicators into
complex information infrastructures? - What effect will they have on work and leisure?
- Privacy
- How to develop and manage adaptable,
context-aware software systems? - What support is needed within the network?
Thanks to M. Sloman for slides
22Wireless Communication
- GSM phone 9.6 Kbps
- Wireless LAN IEEE 802.11b 200 m range 2.4 Ghz
band 11 Mbps - Bluetooth 10 m range 2.4 Ghz band 1 data (700
kbps) 3 voice channels - UMTS 3G mobile114 kbps (vehicle), 384 Kbps
(pedestrian), 2 Mbps (stationary) - HIPERLAN IEEE 802.11a5 Ghz band currently 20
Mbps eventually 54 Mbps - HomeRF derived from DECT10Mbps
- InfraRed direct line of sight 4Mbs
Thanks to M. Sloman for slides
23Wireless Problems
- Too many similar standards
- Shortage of spectrum Use low power multiple
base stations with intelligent antenna. - Overlapping spectrum usage can cause
interferenceeg Bluetooth and IEEE 802.11 - Unregulated bands lead to chaos
- Health risks?
Thanks to M. Sloman for slides
24Ad-hoc networking
- Networking with no fixed infrastructure
- Use other devices as routers
- But, security concerns and usage of scarce
battery power for relaying possibly more suited
to sensor than user networks - See http//tonnant.itd.nrl.navy.mil/manet/manet_ho
me.html
Thanks to M. Sloman for slides
25Ad-hoc Network Applications
- Military battlefield
- Disaster teams
- Autonomous robots eg searching buildings, mapping
toxic spills - Meetings exchange visiting cards and
information - Car trains on motorways 100 KmPH, 2m
apartautomatic steering and braking
Thanks to M. Sloman for slides
26Ad-hoc Collaborative Working
- Support for cooperative working
- Group management protocols
- Public and private groups
- Service discovery
- Dynamic adaptation to other device interfaces
Thanks to M. Sloman for slides
27Integration of Mobile Systems
- Not stand alone devices.
- Need to interact with complex legacy information
systems eg large databases merging updates,
displaying tables etc. - Systems development
- Requirements specification for adaptable systems
- Component composition to meet global QoS,
security, reliability performance requirements. - Mobility models
- Behaviour specification and analysis
- Modelling context aware systems
- Interaction paradigms
- Event-based not object invocation or RPC
Thanks to M. Sloman for slides
28Contents
- What is pervasive computing
- Current technology
- Mobile computing
- Context adaptation
- Intelligent environment
- Adaptive architecure
- Security, privacy and management
Thanks to M. Sloman for slides
29Context Awareness
- Context defined by
- Current location Need location detection eg GPS
or base stationIndoors radio beacon, IR - User activityWalking, driving a car, running for
a bus how to detect this? - Ambient environmentIn theatre, alone, in
meetingLocal resources or services available - Device capabilitiesScreen, input, processing
power, battery life . - Current QoS availability particularly for radio
links
Thanks to M. Sloman for slides
30Context Adaptation
Server
- What Compression, filtering, device-specific
transformations, information selection .. - Where Server, proxy or client?
- Proxy ? client and server do not change
- See Armando Fox work at Stanford
- http//gunpowder.stanford.edu/fox/research.html
Proxy
Thanks to M. Sloman for slides
31User Selection
- Ultimately, users know best
- proxy transforms as best as it can, but gives
users a way to force proxy to deliver original
content - here, a simple client-side UI enhancement is
coupled with proxy-side refinement intelligence
refined content from Proxy
transformed content from Proxy
local UI interaction
From presentation by Armando Fox, Stanford
Thanks to M. Sloman for slides
32Map Adaptation
Rich dynamic data, Structured data metadata
User context based selection,Activity deadlines
- Elements river, road, motorway, buildings
- Variants scale, feature detail, date
- Dynamic data road conditions, weather
Thanks to M. Sloman for slides
33Adapting Vector Maps
- Maps can be
- Split into features and presented in part
- Encoded at different scales different feature
detail - Selective adaptation can consider content being
degraded - See http//www.doc.ic.ac.uk/dc/
Thanks to M. Sloman for slides
34Mobile MedicineHealthcare Everywhere
- Applications
- Automated monitoring
- Implanted devices
- Smart clothing
- Swallow/inject intelligent sensors and actuators
- Accident and emergency support
- Patient record access and integration
- Benefits
- High ?lower risk monitoring
- Mobility for chronically ill
- Greater out-of-hospital patient management
- Mass data analysis
Thanks to M. Sloman for slides
35Contents
- What is pervasive computing
- Current technology
- Mobile computing
- Context adaptation
- Intelligent environment
- Adaptive architecture
- Security, privacy and management
Thanks to M. Sloman for slides
36Smart Dust
- Autonomous sensing and communication in a cubic
millimeter dust motes - Sensors for temperature, humidity, light, motion
.With bidirectional radio or laser battery - Costs soon lt 1
- Typical Applications
- Defense related battlefield sensors, motion
detectors etc. - Inventry control on boxes which communicate with
crates, trucks, plane etc to tell you where they
are - Product quality monitoring vibration, humidity,
overheating - Car component monitoring
- See http//robotics.eecs.berkeley.edu/pister/Smar
tDust/
Thanks to M. Sloman for slides
37Smart Dust Technology
Passive laser reflector
Sensor
Near future
Current state 1999
Thanks to M. Sloman for slides
38Future Smart Dust
- Intelligent paper with integrated radio ?
replace current displays - Smart paint monitors vibrations and detect
intruders or changes colour to react to
temperature, lighting etc. - Intelligent glass can filter sunlight, become
opaque ? no need for curtains - Smart garments or injectable sensors for people
monitoring - Download design and printable motes for lt 1c
motewww.media.mit.edu/nanomedia - Printable batterieshttp//www.usatoday.com/life/c
yber/tech/review/2001-02-12-batteries.htm
Thanks to M. Sloman for slides
39Pervasive Computer Problems
- What means of communication?
- Radio spectrum shortage
- Light based very directional
- Batteries would be impractical power source for
100K processors per person. Solar cells are not
suitable for all environments. - Solar cells capacitors or rechargeable
batteries? - Power not speed is the key issue for future
processor designs.
Thanks to M. Sloman for slides
40Scaling factors
- gt 100K computers per person
- Self organising and self configuring
- Coherent behaviour from vast numbers of
unreliable sensors, actuators and comms. devices - Need new techniques for interaction based on
biological organisms - Exponential Growth?
94,023 billions per mm2
By 2100
425,352,958,651, 200,000,000,000,000,000,000,000B
illions of computers
Thanks to M. Sloman for slides
41Intelligent Environment - 1
- Fridge and cupboards tracks consumption and
reorder your groceries - Your car computer reminds you to pick up your
order on the way home when you are near the
supermarket.
Thanks to M. Sloman for slides
42Intelligent Environment - 2
- Lights, air conditioning, TV automatically switch
on and off when you enter or leave rooms - Sit on your favourite chair and TV switches on to
the program you usually watch at this time of the
day - Use communicator/pda for phone, remote control,
keys payments, passport, health records,
authenticator. - Route input from virtual keyboard to nearest
suitable display. - Automatic detection of new items to control and
physical layout in a room or office, using
computer vision.
Thanks to M. Sloman for slides
43Vision Based Interaction
Presence Is anyone there? Location Where are
they? Identity Who are they? Activity What are
they doing?
Head tracking Gaze tracking Lip reading Face
recognition Facial expression
Hand tracking Hand gestures Arm gestures
From http//research.microsoft.com/easyliving/
Thanks to M. Sloman for slides
44Contents
- What is pervasive computing
- Current technology
- Mobile computing
- Intelligent environment
- Adaptive architecture
- Security, privacy and management
Thanks to M. Sloman for slides
45Adaptive Application Architecure
Remote Application Servers
Sensors
Local Network Intermediate Servers
Clients
Thanks to M. Sloman for slides
46Policy
Rule governing choices in behaviour of the system
- Derived from trust relationships, enterprise
goals and Service level agreements - Need to specify and modify policies without
coding into automated agents - Policies are persistent
- But can be dynamically modified
- ?Change system behaviour without modifying
implementation not new functionality
Thanks to M. Sloman for slides
47Policy Based Adaptive Systems
- Authorisation policiesDerived from trust
relationships to define what resources or
services clients can access, what proxylets or
code can be loaded into servers, or what code
loaded into the client can do. - Obligation PoliciesEvent-condition-action rules
to trigger when to perform actions, what alarms
to generate etc - Ponder declarative object-oriented languagefor
specifying policies.See http//www-dse.doc.ic.ac.
uk/Research/policies/
Thanks to M. Sloman for slides
48Example Authorisation Policy
inst auth facilities subject guests target
gym pool action enter when time.between
(0900, 2100)
Thanks to M. Sloman for slides
49Obligation Policy
- Defines what actions a subject must do
- Subject based ? subject interprets policy and
performs actions on targets - Event triggered obligation
- Actions can be remote invocations or local
scripts - Can specify sequencing or concurrency of actions
Thanks to M. Sloman for slides
50Example Obligation Policy
- inst oblig heartmonitor
- subject s medicAgent
- on heartanomaly (symptom)
- action s.display (messages symptom)
-gt send(alarm, symptom) - target cardiacCentre
Thanks to M. Sloman for slides
51Roles
- Group of policies with a common subject
- Defines rights (authorisations) and duties
(obligation) - Position in organisation nurse, surgeon
- Mobile visitor roles in hotel or shopping mall
policies which apply to mobile user in an
environment - Paramedic attending an accident
Thanks to M. Sloman for slides
52Contents
- What is pervasive computing
- Current technology
- Mobile computing
- Context adaptation
- Intelligent environment
- Adaptive architecture
- Security, privacy and management
Thanks to M. Sloman for slides
53Security
- Interactions cross multiple organisational
boundaries - Specification, analysis and integration for
heterogeneous OS, databases, firewalls, routers - Lessons from history
- Cell phones, IR garage doors, CATV decoders
- Everything worth hacking gets hacked
- Need for secure out of the box set up
- Identify friend or foe ? level of trust
- Small communicators, with confidential data, are
easily lost or stolen biometric authentication - Necessary security technology exists
Thanks to M. Sloman for slides
54Privacy
- Location service tracks movement to within
metres(cf mobile phones but pay-as-you-go can be
anonymous). - 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 cf web sites - Constant spam of context dependent advertising
Thanks to M. Sloman for slides
55Management the nightmare!
- Huge, complex systems
- Billions of processors
- Multiple organisations
- Managing physical world, controlling sensors,
actuators - Humans will be in the way
- Errors propagate to bring down complete regions
- 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?
Thanks to M. Sloman for slides
56Management Solutions
Policy
- 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 - Remove human from the loop
Thanks to M. Sloman for slides
57(No Transcript)
58Conclusions
- Universal PDA/communicator
- Explosion in embedded sensors/actuators
- Context-aware intelligent environment
- Privacy will be a major issue
- Out of the box security
- Adaptive self-management is needed biological
paradigms?
Thanks to M. Sloman for slides
59Phase II
What needs to change?
60Ubicomp requires
- Adaptive, lightweight, flexible systems
- Like plugging in a light-bulb
- elegantly be able to cope with one device
disappearing and new (perhaps upgrades) devices
entering the resource pool. - change its characteristics to do many differing
tasks on demand. - reconfiguring dynamically, self-aware and aware
of fellow components. - overhead needs to be lightweight and perform well
for such technologies to succeed - no systems management (self management)
- Adaptive ?
- Biological ?
61Componentisation
- Componentisation
- Breaks down system into components
- Components are plugged-unplugged with (little or
no) warning - Component managers make decisions to change
components to effect adaptability (using
feedback/monitoring) - Only components required are loaded -gt
lightweightness - 24X7 potential, graceful upgrade of system where
we update component at a time. - Requirements
- Components can be self-aware and autonomous,
likewise system is self-aware - Component architecture description model
(provides component management intelligence) - For performance reasons we need components to
build the whole system (i.e. not just the
middleware e.g. Corba)
62Adaptivity
- Examples of adaptivity
- Seti/consume model small devices sharing
resources on demand (using up free
processing/bandwidth) - Robustness- component beginning to fail (hw/sw),
manager brings up others to take its place - Performance network bandwidth getting tight,
change data encryption, change route to user. Etc
etc - We are looking at component language description,
adaptivity and fine grained (i.e. OS level)
componentisation.
63Phase III
Proofs of concept
64A Solution?
- support improved performance, configurability,
flexibility, dynamism, software eng. - should be decomposed and support relatively small
components - Kendra looked at adaptivity
- performance problems -gt course grained components
- low protection overheads should enable fine
-grained protection without sacrificing
performance - Components highly adaptive/flexible systems
- fine-grained componentization
- paging waste --gt 1/2 n P bytes lost to
fragmentation - n number of domains, P page size(bytes)
- segmentation
- language independent
65Go! A Novel Operating System
- protection model (software-based instruction set
reduction) using code scanning - code sections scanned before the OS loads them to
ensure no privileged instructions are contained. - Components invoke services via an ORB
(privileged) - component management
- loads segment registers to effect a context
switch - uses thread migration rather than asynchronous
messaging
66Go!
Client component call
Server component return
67Go! Results
- GTE is Go!s proof of concept
- good results for other temporal and spatial
comparisons
68Patia Adaptive Management System for Distributed
Webservers
69Objectives
- Build adaptive framework to support
high-performance distributed webservers - Distribution mechanisms
- Data placement
- Request scheduling
70PATIA
Web presentations can consist of many varying
media and technologies often running concurrently.
71Distributed Web Servers
- Client based distribution
- Request routed to particular server by client
(requires apriority knowledge of set-up. - DNS based distribution
- Resolve URL to IP address (stamped with TTL) sent
to client - Cached with client and name servers on route
- caching of information by name servers means any
server changes cant be reflected (lowers
adaptivity) - short TTL doesnt work as most servers discard
low TTLs
72Distributed Web Servers (cont)
- Dispatcher based distribution
- Network component of web server selects node
- Operates at lower level in protocol stack
(advertises single virtual-IP address) - Typically use round-robin to select server
(replicated servers) - Server based distribution
- Uses DNS to select server node
- Server then does redirection if necessary
(overcoming the TTL problem) - Poorer performance currently measured for this
technique
73Other Distributed Web Servers
- Content based dispatcher distribution
- Webserver node chosen depends on the TYPE of
request sent by client - Caching dispatcher distribution
- Dispatcher is a cache
- DNS/Dispatcher-Server based distribution
- Cluster DNS selects dispatcher (based on
proximity to client) - Dispatcher select webserver node
- Webserver node can carry out redirects to other
nodes
74(No Transcript)
75(No Transcript)
76(No Transcript)
77Constraint ltrule_conditionalgt ltrule_selectiongt
ltrule_ conditional gt if
ltboolean_expressiongt then
ltaction_sequencegt
else lt action
_sequencegt
end_rule ltboolean_expressiongt ltresourcegt
ltstandard_boolean_expressiongt lt action _sequencegt
lt action gt "" lt action gt lt action gt
ltinstructiongt "(" ltparameter_sequencegt
")" ltparameter_sequencegt ltparametergt ","
ltparametergt ltinstructiongt BEST, SWITCH
etc.... ltresourcegt PROC_UTIL or BANDWIDTH
etc... ltstandard_boolean_expressiongt AND, OR,
NOT, lt, gt, etc.... rule_selection case
resource of set_expr "" lt action _
sequence gt else lt action _ sequence gt
end case_rule Figure 3 BNF format for
Adaptivity Rules in Patia
78(No Transcript)
79Fire
Gawesh and Linxues lab
80ANS ubiquitous computing management
- mimics an ANS (the Autonomic Nervous System) of
living creatures. - However, we are unaware of the workings of the
organic ANS because it functions in an
involuntary, reflexive manner. E.g. heart beats
faster. - What is particular about the organic ANS is that
it is - flexible,
- constantly in operation
- happens in the background without our
interference or knowledge of its mechanism. - This is exactly what is needed to support the
application of the intelligent home and medical
applications where constant technical support is
impossible.
81ANS cont.
- Essentially the organic ANS is our bodys
resource manager - likewise the Ubicomp ANS Manager becomes the a
replacement operating system or virtual machine - provides the systems ability configure and
reconfigure itself under differing conditions and
ever-changing environments. Further, such a
system should provide the intelligence to
optimise its operation through constant
monitoring and tuning to achieve its goal. - we require the architecture to be composed from
lightweight components that co-operate. - The expected benefits from the research are a
clear and quantifiable set of requirements and
more importantly, technological solutions to the
problem of running the highly complex systems
needed for ubiquitous computing with little or no
user intervention for system management and
maintenance - We believe that solving this problem is key to
realizing the ubiquitous computing vision. CALM
82Open questions
- beginning to observe that our system behaves in a
similar fashion to that of biological systems. - with finer-grained systems there are lots of
(tuning) variables, many feedback loops to drive
the adaptivity etc. - These questions show how exciting the area of
ubiquitous computing is and will continue to be, - and how it will continue to encompass many
diverse computing (and non computing)
disciplines.
83References
- CACM May 2000 vol43, no 5
- Intelligent Environment
- http//www.media.mit.edu/
- http//cooltown.hp.com/
- http//portolano.cs.washington.edu/
- http//www.firstmonday.dk/issues/issue4_9/odlyzko/
- Wearable Computers
- http//www.redwoodhouse.com/wearable/
- http//iswc.gatech.edu/archives.htm
- Wireless communications
- http//www.wirelessdevnet.com/
- Mobile computing
- http//computer.org/dsonline/
- http//www.mobileinfo.com
- http//www.comp.lancs.ac.uk/computing/research/mpg
/most/